Logix5000控制器ModbusRTU主从通信OK要点 - 图文(3)

2020-02-21 00:23

寄存器和输入寄存器,如下图所示:

Mod_Data_Coils0数据表为线圈数据,适用于功能码1、5和15。 Mod_Data_Contacts1数据表为离散输入数据,适用于功能码2。

Mod_Data_HoldReg4数据表为保持寄存器数据,适用于功能码3、6和16。 Mod_Data_InpReg3数据表为输入寄存器数据,适用于功能码4。

当Modbus主站从某些从站读取到位或字类型的数据时,它们被放置到了哪里?怎么让这些数据像我们希望的那样在分类数据表中放置?当Modbus主站要向某些从站写入位或字类型的数据时,它们应该被放置到哪里?如何准确地将数据写入到从站的正确位置?

在这里要提到命令中的两个标签:Mod_Commands[x].AddressOffsetinMaster和Mod_Commands[0].StartingAddress。前一个表示在主站数据表的地址偏移,后一个表示相应从站的起始地址。两个标签都是以字为单位进行操作的。

实例1:读取5个离散输入状态(功能码2)

情况一:

Mod_Commands[x].AddressOffsetinMaster=0 Mod_Commands[0].StartingAddress=0 命令设置如下:

主站读取的离散量状态放置位置图,如下: 在这种情况下,

从站数据没

有任何偏置,主站数据表的数据也没有偏移。

情况二:

Mod_Commands[x].AddressOffsetinMaster=2 Mod_Commands[0].StartingAddress=0 命令设置如下:

主站读取的离散量状态放置位置图,如下:

在这种情况下,从站数据没有任何偏置,主站数据表的数据偏移2个字。

情况三:

Mod_Commands[x].AddressOffsetinMaster=0 Mod_Commands[0].StartingAddress=3 命令设置如下:

主站读取的离散量状态放置位置图,如下:

在这种情况下,从站数据偏置3位,主站数据表的数据偏移3位。

情况三:

Mod_Commands[x].AddressOffsetinMaster=2 Mod_Commands[0].StartingAddress=3 命令设置如下:

主站读取的离散量状态放置位置图,如下:

在这种情况下,从站数据偏置3位,主站数据表的数据偏移2个字3位。

实例2:向从站写5个保持寄存器(功能码16)

情况一:

Mod_Commands[x].AddressOffsetinMaster=0 Mod_Commands[0].StartingAddress=0 命令设置如下:

主站向从站写保持寄存器数据位置如下:

在这种情况下,从站保持寄存器不偏移,主站保持寄存器数据表也不偏移。

情况二:

Mod_Commands[x].AddressOffsetinMaster=2 Mod_Commands[0].StartingAddress=0 命令设置如下:

主站向从站写保持寄存器数据位置如下:

在这种情况下,从站保持寄存器不偏移,主站保持寄存器数据表偏移2个字。

情况三:

Mod_Commands[x].AddressOffsetinMaster=0 Mod_Commands[0].StartingAddress=3 命令设置如下:

主站向从站写保持寄存器数据位置如下:

在这种情况下,从站保持寄存器偏移3个字,主站保持寄存器数据表偏移3个字。

情况四:

Mod_Commands[x].AddressOffsetinMaster=2 Mod_Commands[0].StartingAddress=3 命令设置如下:

主站向从站写保持寄存器数据位置如下:

在这种情况下,从站保持寄存器偏移3个字,主站保持寄存器数据表偏移5


Logix5000控制器ModbusRTU主从通信OK要点 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:临床检验危急值一览表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: