搬家第23天-Citect V7.4通过OPC连接Kepware模拟器,同时连unity模拟器
现场有一台计算机,目前通过MBE连接现场支持modbus tcp的仪表,想同时连接kepware,kepware作为OPC Server,citect作为OPC Client。节前试了一阵子,编译的时候错误很多。放松一段时间后,今天办公室加班的时候用unity模拟器和kepware模拟器测试了一下,居然成功了。需要赶紧记录下配置的过程,免得忘记了。
说句题外话,kepware似乎不支持连接plc的模拟器,好在kepware自己也有模拟器,这两方面今天发现的。
unity使用上一个博客的unity程序,先下载到unity的模拟器中。新建一个citect项目。
1. 在citect工程编辑器菜单“服务器”-“集群”中新建一个集群,配置如下:
2. 在citect工程编辑器菜单“服务器”-“网络地址”中新建一个地址,配置如下:
127.0.0.1表示是本机。
3. 在citect工程编辑器菜单“服务器”-“I/O服务器”,新建一个IO服务器,配置如下:
4.在citect工程编辑器菜单“通信”-“快速向导”,打开对话框,配置如下
因为后面还有OPC通讯的IO设备,为了区分,将这个设备定义成MBE_Dev,表示Modbus TCP通讯的设备
虽然连接的是模拟器,这里还是选择外部IO设备
因为unity模拟器中硬件为昆腾,通讯为modbus tcp,这里也这么选
这里的IP地址是PLC的IP地址,因为是模拟器,这里写127.0.0.1,无论是实际PLC还是模拟器,端口都是502
默认设置,不做修改
5.在citect工程编辑器菜单“通信”,分别打开“通讯板”、“端口”、“I/O设备”,可以看到向导里面的设置都在这里了。
这些设置保持不变
6. 在citect工程编辑器菜单“标签”-“变量标签”中新建一个标签,用于unity模拟器中变量通讯,配置如下
7. 在citect图形编辑器中新建一个页面main,插入一个数据显示控件,绑定变量realvalue1,保存,编译,运行,可以看到unity模拟器变量数据采集过来了。
接下来是citect连接kepware模拟器。
8. 运行kepware软件,新建一个channel(通道)。
设备类型选择simulator(模拟器)
9. 在channel1下新建一个device(设备)
10.新建一个tag(标签)
保存一下kepware模拟器设置。打开kepware组件opc quick client,新建一个server
因为kepware也是在本机,所以就在local machine中选择OPC 服务器,可以看到kepware作为OPC Server的名字是KEPware.KEPServerEx.V4。
新建一个Group(组)
在右侧添加item
图中Item ID中ID的写法就是在citect中opc标签地址的写法,这点需要注意。可以从browsing中浏览添加到OPC Server的变量,那个绿色的勾点击一下,可以让opc client中这个变量类型和opc server中保持一致。确定后就能在这个opc client中看到有数据变化了。这个数就是kepware模拟器模拟了现场设备发生变化。
------------恢复内容开始------------
现场有一台计算机,目前通过MBE连接现场支持modbus tcp的仪表,想同时连接kepware,kepware作为OPC Server,citect作为OPC Client。节前试了一阵子,编译的时候错误很多。放松一段时间后,今天办公室加班的时候用unity模拟器和kepware模拟器测试了一下,居然成功了。需要赶紧记录下配置的过程,免得忘记了。
说句题外话,kepware似乎不支持连接plc的模拟器,好在kepware自己也有模拟器,这两方面今天发现的。
unity使用上一个博客的unity程序,先下载到unity的模拟器中。新建一个citect项目。
1. 在citect工程编辑器菜单“服务器”-“集群”中新建一个集群,配置如下:
2. 在citect工程编辑器菜单“服务器”-“网络地址”中新建一个地址,配置如下:
127.0.0.1表示是本机。
3. 在citect工程编辑器菜单“服务器”-“I/O服务器”,新建一个IO服务器,配置如下:
4.在citect工程编辑器菜单“通信”-“快速向导”,打开对话框,配置如下
因为后面还有OPC通讯的IO设备,为了区分,将这个设备定义成MBE_Dev,表示Modbus TCP通讯的设备
虽然连接的是模拟器,这里还是选择外部IO设备
因为unity模拟器中硬件为昆腾,通讯为modbus tcp,这里也这么选
这里的IP地址是PLC的IP地址,因为是模拟器,这里写127.0.0.1,无论是实际PLC还是模拟器,端口都是502
默认设置,不做修改
5.在citect工程编辑器菜单“通信”,分别打开“通讯板”、“端口”、“I/O设备”,可以看到向导里面的设置都在这里了。
这些设置保持不变
6. 在citect工程编辑器菜单“标签”-“变量标签”中新建一个标签,用于unity模拟器中变量通讯,配置如下
7. 在citect图形编辑器中新建一个页面main,插入一个数据显示控件,绑定变量realvalue1,保存,编译,运行,可以看到unity模拟器变量数据采集过来了。
接下来是citect连接kepware模拟器。
8. 运行kepware软件,新建一个channel(通道)。
设备类型选择simulator(模拟器)
9. 在channel1下新建一个device(设备)
10.新建一个tag(标签)
保存一下kepware模拟器设置。打开kepware组件opc quick client,新建一个server
因为kepware也是在本机,所以就在local machine中选择OPC 服务器,可以看到kepware作为OPC Server的名字是KEPware.KEPServerEx.V4。
新建一个Group(组)
在右侧添加item
图中Item ID中ID的写法就是在citect中opc标签地址的写法,这点需要注意。可以从browsing中浏览添加到OPC Server的变量,那个绿色的勾点击一下,可以让opc client中这个变量类型和opc server中保持一致。确定后就能在这个opc client中看到有数据变化了。这个数就是kepware模拟器模拟了现场设备发生变化。
11. 在citect工程编辑器的菜单“通讯”-“快速向导”新建一个I/Oserver
IOserver保持不变,和前面MBE通讯的设备使用同样的IO服务器
I/O设备为了理解,名字设定为OPC_Dev
需要注意的是IO设备协议需要修改成OPC。在citect工程编辑器的菜单通信-I/O设备对话框中修改,其他不变。
在citect的工程编辑器菜单“标签”-“变量标签”中新建一个变量
地址就是前面在opc quick client中介绍的Item ID
在citect图形编辑器中新建一个数据显示控件,绑定变量realsim1。保存、编译、运行,就可以看到与kepware模拟器连接成功了。
------------恢复内容结束------------