
IOT-Tree Server是个开源物联网软件,可以作为组态软件成为自动化系统的上位软件。她提供了各种设备接入、数据组织管理、数据分享使用、消息流控制逻辑和人机交互多个方面的功能。当然,你也可以仅仅使用这个软件作为数据采集终端或边缘计算的软件。
这是IOT-Tree Server相关的系列文章,你可以参考其他文章更多了解IOT-Tree能给你带来的好处:
使用IOT-Tree Server通过MC协议连接三菱Q系列PLC
使用IOT-Tree Server连接西门子PLC S7-300/1200/1500
使用IOT-Tree Server通过PPI(RS485)连接西门子PLC S7-200
系列文章还包含IOT-Tree完成一个具体项目的过程,非常详细,如下:
本文介绍的是使用IOT-Tree Server通过FINS协议连接三菱Q系列PLC的具体过程。此项目和上面文章《使用IOT-Tree Server通过MC协议连接三菱Q系列PLC》类似,也是我们的实际项目,用户需要采集目标设备数据,然后通过MQTT协议发送到用户的云端系统即可。
1 设备和环境准备
1.1 欧姆龙PLC通信对接准备
欧姆龙CP2E-N系列PLC支持以太网接口,直接支持FINS/TCP以太网通信协议。
在欧姆龙PLC编程软件CX Programmer项目中,双击"设置",在弹出窗口中找到"内置以太网"页。设置或查看此PLC的IP地址(本案例为192.168.1.5),并且FINS协议使用了缺省端口9600。如下图:

1.2 IOT-Tree运行环境准备
我项目中运行IOT-Tree实例的设备是个嵌入式ARM Linux边缘计算小模块,长的这样:

有如下参数,可以直接支持IOT-Tree的运行:
|------|--------------------------------|
| 整机尺寸 | 157*125*28mm |
| CPU | 瑞芯微RK3506J,3*Cortex-A7@1.2GHz |
| 内存 | 512M |
| 存储 | 8GB |
| 串口 | 2 路RS485 |
| 以太网 | 2 路10/100Mbps |
| 电源 | 9V~36V 宽压直流 |
| 工作温度 | -40℃~85℃ |
现场只需要安装到标准导轨上,配合24V直流电源和网络连接,就完成了硬件环境部署。其中边缘设备一个网口接用户本地以太网络(IP地址:192.168.0.12)------支持对外互联网连接,另一个网口接PLC运行环境交换机中(IP地址:192.168.1.51)。两个网口使用不同网段安全隔离,整体很简单。
2 IOT-Tree接入欧姆龙PLC数据配置过程
访问边缘设备管理地址http://192.168.0.12:9090,输入管理员用户密码之后,进入管理主界面。在本地项目区块中,新增项目标题为:"欧姆龙PLC接入CP2E-N"。如下图:

点击此项目,进入项目管理主界面,接下来我们就可以开始具体的配置过程。

2.1 配置接入
因为FINS协议在PLC端是个Tcp Server,所以IOT-Tree项目中的接入应该使用Tcp Client。点击左上角接入菜单,选择"Tcp客户端",在弹出窗口中填写如下内容,特别注意主机和端口是PLC的IP地址和FINS支持端口9600。如下:

点击确定之后,就完成了接入配置:

2.2 配置通道和设备
接着,我们在中间浏览树根节点,鼠标右键选择"新增通道"。在弹出的窗口填写如下内容,其中驱动点击选择"Omron FINS Ethernet TCP"。

确定之后就完成了通道节点的添加。然后鼠标左键点击接入ormoncc的连接端子到这个通道ch的连接端子上方,然后松开左键,建立接入到这个通道的关联:

接着我们在这个通道下面添加PLC设备:鼠标右键点击ch这个通道,选择"新增设备"。在弹出窗口填写如下内容
名称=plc1
标题=PLC1
Model=CJ2

完成之后我们就可以在通道下面看到这个设备节点了

接下来,根据FINS协议的要求,我们还需要修改一些参数。点击选中设备PLC1,打开右边属性页中,修改如下几个参数,他们分别对应运行IOT-Tree设备IP地址和PLCIP地址的最后一位:
源节点数=51
目标节点数=5

点击右上角"应用按钮"进行保存,才完成了通信及设备参数配置。然后,就可以在这个设备节点下添加需要采集的数据标签了。
2.3 配置采集的数据标签
点击选中plc1设备节点,在右边标签[标签]列表中就可以添加需要采集的数据了。
点击"新增标签"按钮,弹出如下标签编辑窗口。

标签填写说明:
标签名称必须符合变量名称规范;地址区域填写的地址格式和欧姆龙PLC要求的规范一致。如果不确定地址和数据类型是否合理,可以点击"自动检查地址按钮"。IOT-Tree会根据当前填写的地址内容进行有效性判断和规范格式,并自动设置数据类型。当然,你还可以点击帮助查看支持的欧姆龙PLC地址格式和范围。
下面则是点击帮助按钮弹出的地址格式和范围说明文档:

确定之后,我们就添加了这个状态标签:

如果你采集的数据点不多,那么直接在设备PLC设备节点下配置全部标签(采集点)就行了。但是,如果需要采集的数据点很多,建议在这个设备节点下添加标签组子节点进行分类,然后在不同的标签组下面分别添加标签即可,整个过程基本鼠标右键使用里面的菜单项即可完成,在此不做详细展开了。配置标签和标签组最终效果如下:

补充说明:你也可以使用导入标签的方式一次添加多个标签。或者如果你已经做过类似机器配置,其他IOT-Tree项目与此类同。那么可以从另外项目导出标签列表文本,在此项目中使用"导入标签"快速导入。
3 IOT-Tree使用消息流MQTT节点向云端发送数据
本部分内容请参考我之前文章:使用IOT-Tree消息流MQTT模块节点实现监测数据推送功能
这篇文章详细说明了在IOT-Tree消息流中如何通过MQTT模块节点使用不同策略把项目数据发送到云端,并且同时接收云端指令进行后续处理。而本案例只需要定时把采集的数据打包推送即可,因此就不展开重复说明了。
4 其他说明
设备在现场运行,通电之后这个项目必须自动启动。你需要在管理主界面项目列表中,设置此项目自动启动:
