跳转到主要内容
NiMotion

Codesys平台的plc控制器连接Modbus-RTU设备时,如何给多个寄存器的索引赋值

本文详细说明了在Codesys平台的PLC控制器中,通过Modbus-RTU协议为多寄存器索引赋值的操作流程,包括定义DUT联合类型、配置Modbus从站通道、拆分高低字节映射变量等步骤,并强调需确保数据类型和范围正确以避免通信报错。

LMS_LiRui2025-09-249 次浏览

一、功能及注意事项

(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


以上即是今天分享的全部内容,如果您有任何问题请及时联系我们。

˜ 本文章全部内容或部分内容禁止擅自转载、拷贝。

分享到:

相关案例

了解相关场景中的实际应用方案。

相关文章

技术指南、应用笔记等内容助您深入了解。

准备好开始您的自动化项目了吗?

与我们的工程师沟通,24 小时内获取定制化运动控制解决方案。

典型响应时间:24 小时