海创物联网一站式解决方案:三菱PLC点位状态采集控制与数据可视化
本文将以三菱FX5U型号的PLC作为采集控制对象,使用海创微联采集控制系统对PLC的点位进行采集和控制,然后将采集到的数据上传到海创物联网平台,海创物联网平台将数据实时可视化。
文章分为3部分:
-
三菱PLC编程软件GX Works3的使用:PLC的连接,IP地址的修改,端口的分配,主程序的编写,转换、下载和点位的监控。
-
海创微联采集控制系统的使用:控件的部署,采集和控制节点的使用。
-
海创物联网平台的使用:产品和设备的创建,数据可视化。
想了解产品更多内容和获取产品软件请加下方微信,接下来进入正题。
官网介绍 : 海创物联网 www.gkiiot.com
一、GX Works3
首先简单说明一下GX Works3的使用,GX Works3是三菱PLC的编程软件之一,用于编写梯形图和修改PLC参数等。
首先打开GX Works3,左上角新建一个工程,选择FX5U型号。
创建完成后如下所示,左边是项目树(导航),中间用于编写梯形图。
1. 连接PLC
点击在线,当前连接目标,因为是通过交换机,所以选择其他连接方式。
注:如果是新的PLC首次连接,选择直接连接CPU,然后将电脑IP修改为和PLC同一个网段,PLC和电脑用网线直连通讯,然后修改PLC的IP,重启PLC之后就可以通过交换机以太网通讯了。
双击CPU模块,选择经由集线器连接,然后点击搜索,软件会自动搜索同网段的PLC并显示在下方,双击选择PLC,确定。
点击通信测试提示连接成功。
2. 修改IP地址和配置端口
在左侧的项目树中,选择参数,FX5UCPU,模块参数,双击以太网端口。
在基本设置中的自节点设置中填写将修改的IP地址,通信数据代码选择二进制或是ASCII都行,然后下拉到对象设备连接配置设置,双击详细设置。
在右侧以太网设备中拉出一个MELSOFT,MELSOFT为GX Works3软件的连接端口,然后再拉出一个SLMP,SLMP用于配置TCP端口,一个SLMP可以分配一个端口,最多可下拉7个,分配完成后点击反映设置并关闭。
最后查看一下应用设置安全性中是否是允许连接和响应搜索,点击应用,地址和端口分配结束,将配置写入PLC,修改地址下载完成后需要重启一下PLC,再次连接就是修改后的IP了。
3. 梯形图
编写
GX Works3中输入为X,输出为Y,中间寄存器为M。X和M可读可写,Y可读,因此要控制输出点Y的通断,只能通过M或其它可写入点间接控制Y,如下图,用M0-M3分别控制Y0-Y3。
转换、下载
写好程序后需要先进行转换,然后下载到PLC当中。
点位监控
下载后在梯形图左上角,将写入改成监视读取,就能实时查看到点位的状态。这里我将M2写入1了,所以Y2为闭合状态。
二、海创微联采集控制系统
使用海创微联采集控制系统对三菱PLC进行采集和控制。
从左边的控制引擎和采集引擎中分别拖出MC控件。
按下图配置,上面是写入的控制引擎,下面是读取的采集引擎。
MC-Write的配置如下,地址和端口是前面配置的PLC地址和端口,通讯模式就是之前配置地址时的通讯数据代码如果是二进制就选Binary,ASCII就选ASCII。
添加4个采集量,分别为M0-M3,类型为布尔,值就是写入的值(0或者1)。
MC-Read的配置大致相同,读取M0-M3 4个点的状态。
配置完成后,在MC-Write节点中将M0和M2的值改成1,然后点击部署。
点击写入定时器,调试界面显示写入成功,然后点击读取定时器,显示M0和M1的值为1。
回到GX Works3的监视界面,可以看到M0和M2闭合。
再试一次,M0-M3写入0101,部署,点击写入和读取定时器,查看GX Works3的监视界面。
成功对PLC进行读取和写入了,文章末尾附上快速复用码,导入便可快速部署。
三、海创物联网平台
海创物联网平台能够与海创微联采集控制系统进行联动,将采集到的数据可视化。
1. 产品和设备的创建
登录海创物联网平台,依次点击设备管理-产品-创建产品。
然后在该产品下创建一个设备,操作顺序如下图。
2. 采集量的定义
回头查看刚刚创建的产品,在功能定义中,自定义功能中添加采集量。
注:标识符一定要和采集引擎中的标识符一致,功能名称无所谓。
查看创建的设备,能看到3个唯一标识,产品标识(ProductKey)、设备标识(DeviceKey)、设备密钥(DeviceSecret)。
3. 可视化
回到海创微联采集控制系统,在物联网云平台中拖出海创IOT,输入3个唯一标识,点击部署。
海创IOT显示连接成功,往M0-M3写入1001,读取数据,调试界面显示如下。
GX Works3监控界面如下,M0和M3闭合,M1和M2断开。
回到海创物联网平台,在设备的运行状态中可以实时显示M0-M3的状态了。
四、附录
快速复用码
[{"id":"f22c4bf3.887b18","type":"iot-mc-out","z":"9b0c0b25.9802e8","name":"","server":"fb580947.4e8288","columns":[{"Key":"M0","Lable":"M0","Area":"M","Address":"0","Number":"1","ValueType":"Boolean","Val":"0"},{"Key":"M1","Lable":"M1","Area":"M","Address":"1","Number":"1","ValueType":"Boolean","Val":"0"},{"Key":"M2","Lable":"M2","Area":"M","Address":"2","Number":"1","ValueType":"Boolean","Val":"0"},{"Key":"M3","Lable":"M3","Area":"M","Address":"3","Number":"1","ValueType":"Boolean","Val":"0"}],"x":475,"y":200,"wires":[["33470084.d9d6c"]]},{"id":"836dfd14.b0084","type":"inject","z":"9b0c0b25.9802e8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":335,"y":200,"wires":[["f22c4bf3.887b18"]]},{"id":"33470084.d9d6c","type":"debug","z":"9b0c0b25.9802e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":635,"y":200,"wires":[]},{"id":"a9e15233.ee0e2","type":"iot-mc","z":"9b0c0b25.9802e8","name":"","server":"fb580947.4e8288","columns":[{"Key":"M0","Lable":"M0","Area":"M","Address":"0","Number":"1","ValueType":"Boolean","Arithmetic":""},{"Key":"M1","Lable":"M1","Area":"M","Address":"1","Number":"1","ValueType":"Boolean","Arithmetic":""},{"Key":"M2","Lable":"M2","Area":"M","Address":"2","Number":"1","ValueType":"Boolean","Arithmetic":""},{"Key":"M3","Lable":"M3","Area":"M","Address":"3","Number":"1","ValueType":"Boolean","Arithmetic":""}],"x":475,"y":320,"wires":[["14f97126.ac457f"]]},{"id":"2ff8ff6b.8dc84","type":"inject","z":"9b0c0b25.9802e8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":335,"y":320,"wires":[["a9e15233.ee0e2"]]},{"id":"14f97126.ac457f","type":"debug","z":"9b0c0b25.9802e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":635,"y":320,"wires":[]},{"id":"fb580947.4e8288","type":"iot-mc-client","z":"","name":"","communicate":"TCP","host":"192.168.7.200","post":"9601","baudrate":"9600","databits":"8","stopbits":"1","parity":"None","expand":{"Modules":"Binary"},"showActivity":false}]
本篇文章由一文多发平台ArtiPub自动发布