JZGKCHINA
工控技术分享平台
尊重原创 勿抄袭
勿私放其他平台
从Logix5000编程软件15版本(实测20版本及以上)以后,对于CompactLogix和Controllogix系列的PLC,支持了使用PLC程序编写出来的ModbusTCP协议通讯,目前来看,支持该通讯的协议的产品和版本主要有:
上一篇: Logix5000使用ModbusTCP通讯之master(含例程下载)
上篇文章里面说到,在Logix5000里面,不仅可以添加程序使其能够实现ModbusTCP协议的Master(Client)功能,还可以作为Slave(Server)为其他第三方设备提供数据。本文主要介绍如果配置程序使其作为Slave(Server)。
关于例程下载地址的获取,
请关注“剑指工控“微信公众号后,
添加管理员,
加入剑指工控微信群后获取。
与上篇文章用到的工具类似,我们需要使用Modscan软件作为ModbusTCP的Master(Client),1769-L30ERM PLC作为ModbusTCP的Slave(Server)。同样与master例程一样,我们推荐Slave例程的使用环境为Logix5000 20版本以上,并且PLC的Firmware版本与前文表格内兼容。使用Rockwel官网提供的例程,将其在线导入(import)到现有的程序里面,只对相应的标签进行配置即可。
小笔记
开 整
Slave
将例程导出为.L5X格式的可导入文件
打开ModbusTCP_Slave_R102.ACD例程,选中Task(任务),右键,选择ExportProgram
在弹出框选择任意位置保存导出的文件,默认文件名保存即可。
导入例程
打开已经在使用的程序,将程序在线或者离线,如果离线,导入并修改完成后,需要重新下载PLC程序,这会导致PLC暂时停机。本文以在线不停机方式导入并配置该功能。
打开现有程序的MainTask,并且右键,选择importProgram
在弹出框内选择刚才导出的文件,等待导入完成。
导入完成后提示需要创建一些变量,默认所有选项,点击OK
随后会弹出框提示在线导入时程序的变量是否立刻下载到PLC内,选择默认即可
导入完成后,会在Controller Tags里面看到自动生成的标签。
配置标签
例程导入后需要配置一些标签值才能使能该例程并且允许外部ModbusTCP设备访问到。
配置完这些参数,ModbusTCP Slave功能就可以使用了,我们可以用modscan软件来连接这个PLC。
在MBTU_MB_4xxx数组下面的地址区模拟一些数值
配置完后,因为我们是在线导入并修改的程序,所有程序目前处于挂起状态,需要载入到PLC内
打开modscan软件,建立连接。
至此,
Logix5000内使用ModbusTCP通讯配置完毕。
上篇问题解答:
在Logix5000内使用ModbusTCP例程实现通讯时,因为所有标签都是以数组形式创建,数据类型固定,保持寄存器默认为INT类型,对应为Modbus协议里面的WORD类型。所以,在例程内并不能直接传输FLOAT类型的数据,如果确实需要传输,一般将FLOAT类型数据乘以100或1000转为整型,读取或写入到目标设备后,在除以100或1000将整型转换为FLOAT类型。
解答