Codesys平台的plc控制器连接Modbus-RTU设备时,如何给多个寄存器的索引赋值
本文详细说明了在Codesys平台的PLC控制器中,通过Modbus-RTU协议为多寄存器索引赋值的操作流程,包括定义DUT联合类型、配置Modbus从站通道、拆分高低字节映射变量等步骤,并强调需确保数据类型和范围正确以避免通信报错。
一、功能及注意事项
(1)功能说明:此文档对Codesys平台的plc控制器连接Modbus-RTU设备时,如何给多个寄存器的索引赋值做了简要说明。
(2)注意事项:映射变量时一定要给正确的数据类型和数据范围,否则Modbus从站通信会报错。
二、操作步骤
(1)打开codesys软件,连上plc控制器。

图2.1
(2)右击Application,点击添加对象,点击DUT。

图2.2
(3)添加一个联合

图2.3
(4)进入DUT,创建一个uWord的数据类型。

图2.4
(5)进入Modbus从站,选择Modbus从站通道,添加通道,访问类型选择写多个寄存器,然后填写Modbus寄存器地址0x043B,这是一个占2个寄存器的索引,索引对应的值的类型是无符号整型。

图2.5
(6)进入主程序PLC_RPG,新建两个变量,一个DUT类型的变量DUT_vel,-个我们用来赋值的变量vel,如图2.6所示,将vel的值根据高低字节拆分成两个分别赋给DUT_vel.uWord[1]和DUT_vel.uWord[0]。

图2.6
(7)进入Modbus从站,选择I/0映射界面,如图2.7所示,将创建好的两个变量映射到Channel0[0]和Channel0[1]中。并将下方总是更新变量,切换成启用2。

图2.7
(8)编译完成后,登陆并运行程序。

图2.8
(9)进入主函数界面,如图2.9所示,给vel写值300000。

图2.9
(10)如图2.10,我们可以看到给占2个寄存器的索引写值成功。

图2.10
以上即是今天分享的全部内容,如果您有任何问题请及时联系我们。
˜ 本文章全部内容或部分内容禁止擅自转载、拷贝。













