提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
上位机跟三菱PLC通讯通常比较简单的方法是使用三菱官方MX component控件,通过控件封装好的方法直接读写数据。
今天介绍另一种方法,不需要安装任何插件只需要一根网线加PLC端简单设置就可以进行通讯读写数据。
一、了解SLMP协议?
SLMP是用于以太网搭载模块或外部设备(个人计算机或显示器等)使用以太网对SLMP对应设备进行访问的协议。
具体看手册(主要看SLMP报文的内容跟指令),直接在GXWORK3里面帮助找就能找到(没安装帮助的去官网找)。。
二、使用步骤
1.PLC端设置
如图所示,PLC端需要设置一下IP,通讯数据代码格式二进制还是ASCLL(上位机程序上不同)这里选择二进制(看手册说是快一点),协议设备选SLMP,注意端口号就行了(上位机程序需要用到)。
2.代码编写
1:建立SOCKET连接。
2:看三菱SLMP通信手册,发报文。
这里具体的报文解释不贴了,手册里都有。
3:代码解析报文
将报文指令全部分类出来
其中这个监视定时器我有点没看明白,上面说建议使用下表中的设置范围(01H-28H),下面又说指定为无限等待,有懂得兄弟回复一下。
4:测试
先测试一下批量读取0104
读取M0到M2,发送报文是500000FFFF03000C00000001040100000000900300(记得转一下16进制发送)
对照手册没问题
再看下返回报文D0 00 00 FF FF 03 00 04 00 00 00 00 00
对照手册看下也没问题,MO-M2都是OFF
在线监控下PLC也没错
然后从PLC端设置M0-M2都ON,再测试一下
发送报文一样就不看了,看下返回报文
返回报文D0 00 00 FF FF 03 00 04 00 00 00 11 10
结果OK
总结
以上就是使用SLMP协议读写三菱FX5UPLC的全部过程,第一次写排版跟语言稍微有点混乱,见谅!。