
IOT-Tree Server是个开源物联网软件,可以作为组态软件成为自动化系统的上位软件。她提供了各种设备接入、数据组织管理、数据分享使用、消息流控制逻辑和人机交互多个方面的功能。当然,你也可以仅仅使用这个软件作为数据采集终端或边缘计算的软件。
这是IOT-Tree Server相关的系列文章,你可以参考其他文章更多了解IOT-Tree能给你带来的好处:
使用IOT-Tree Server连接西门子PLC S7-300/1200/1500
使用IOT-Tree Server通过PPI(RS485)连接西门子PLC S7-200
系列文章还包含IOT-Tree完成一个具体项目的过程,非常详细,如下:
本文介绍的是使用IOT-Tree Server通过MC协议连接三菱Q系列PLC的具体过程。这也是本人使用此软件完成一台大型机器对接并获取数据的基本过程。这台机器使用三菱的PLC,cpu型号为Q03UDECPU,扩展模块一大堆。用户要求对接这台机器,定时获取相关的数据并打包成json格式发送到云端------云端提供了MQTT接入,我只需要把数据推送给接口任务就完成了。
整个过程除了配置相关数据点费点时间之外,其他工作就很轻松了。
本文章使用的是简单例子把整个过程给你介绍的明明白白的,希望你能受益。
1 设备和环境准备
1.1 PLC通信对接准备
三菱Q03UDECPU PLC有个以太网接口,直接支持三菱MC以太网通信协议。但需要PLC设置IP地址,并且针对IOT-Tree的访问打开MC协议相关端口。
在三菱PLC编程软件GX Works项目中,双击"参数/PLC参数",在弹出窗口中找到"内置以太网设置"页。如下图:

然后点击IP地址设置区域右边的"打开设置"按钮,可以看到一个打开端口设置表格,选择其中一行,设置如下:
协议=TCP
打开方式=MC协议
本站端口号=22222

其中端口号你可以设置其他值。这代表了PLC使用TCP 22222端口,对外提供了MC协议的通信接口。把设置写入到PLC之后,就完成了PLC的准备。当然,你也需要记录下PLC的IP地址(本例子地址为192.168.1.101)。
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.11)------支持对外互联网连接,另一个网口接PLC运行环境交换机中(IP地址:192.168.1.201)。两个网口使用不同网段安全隔离,整体很简单。
2 IOT-Tree接入三菱PLC数据配置过程
访问边缘设备管理地址http://192.168.0.11:9090,输入管理员用户密码之后,进入管理主界面。在本地项目区块中,新增项目标题为:"三菱PLC对接"。如下图:

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

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

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

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

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

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

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

接下来,就可以在这个设备节点下添加需要采集的数据标签了。
2.3 配置采集的数据标签
点击选中q03ude节点,在右边标签[标签]列表中就可以添加需要采集的数据了。
点击"新增标签"按钮,弹出如下标签编辑窗口。

标签填写说明:
标签名称必须符合变量名称规范;地址区域填写的地址格式和三菱PLC要求的规范一致。如果不确定地址和数据类型是否合理,可以点击"自动检查地址按钮"。IOT-Tree会根据当前填写的地址内容进行有效性判断和规范格式,并自动设置数据类型。当然,你还可以点击帮助查看支持的三菱PLC地址格式和范围。
确定之后,我们就添加了这个总运行模式标签:

如果你采集的数据点不多,那么直接在设备PLC设备节点下配置全部标签(采集点)就行了。但是,如果需要采集的数据点很多,建议在这个设备节点下添加标签组子节点进行分类,然后在不同的标签组下面添加标签即可,请参考其他IOT-Tree文章,在此不做详细展开了。配置标签和标签组最终效果如下:

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