处理器 指令集 运算器 内存 缓存 逻辑门
主页 寄存器 正文

Modbus协议4号指令:输入寄存器读取详解

modbus协议的4号指令是什么?

功能代码04 :输入寄存器读取(模拟输入)

Modbus功能码

modbus寄存器分为四种类型,如表1 .1 :表1 .1 注册表分类存在8 个函数代码,通常在modbus中使用,可以将其分为两类:位操作和单词操作,如表2 .1 :表2 .1 表2 .1 公共函数状态的代码。
一个寄存器或多个注册寄存器。
假设从地址为01 H,读取护套寄存器的初始地址为001 7 H,并且读取了3 8 个寄存器。
指令显示在表3 .1 中:表3 .1 读取线圈注册说明:每个线圈的状态对应于数据的每个部分,1 表示为中,0表示。
如果所需线圈的数量不是8 的倍数,则将0添加到最后一个字节的高点。
表3 .2 .1 阅读螺旋状态的返回结果。
如果字节的第一个CDH对应于001 E中的线圈001 7 H的状态,而对二进制的转换为1 1 001 1 01 ,其中BIT0对应于001 7 H和BIT7 对应于001 E,则表3 .2 .2 :表3 .2 .2 :表3 .2 .2 与状态的COIL到COIL的最后一个状态是COIL的COIL COIL COIL。
线圈线圈线圈凉爽。
003 CH, and the conversion to binary is 0001 1 01 1 , where bit0 corresponds to 003 7 H, bit5 corresponds to 003 CH, and the reminders two bits are filled with 0, as shown in table 3 .2 .3 : Table 3 .2 .3 the status functions 02 H of Code 003 H to 003 H to Reads the status of discrete input registers in the modbus slave, which can be a single register, or multiple consecus寄存器。
假设从地址为01 H,离散读取寄存器的初始地址为00C4 H,并且读取了2 2 个寄存器。
指令显示在表4 .1 中:表4 .1 读取离散输入寄存器指令:每个离散输入登记的状态对应于每个数据位,1 表示为0和0表示。
如果所需线圈的数量不是8 的倍数,则将0添加到最后一个字节的高点。
表4 .2 .1 返回谨慎输入日志的结果。
第一个ACH字节对应于00CBH寄存器的00C4 H状态,二进制转换为1 01 01 1 00,其中BIT0对应于00C4 H,BIT7 对应于00CBB,如表4 .2 .2 :表4 .2 :表4 .2 00D4 H,00d9 h,00d9 h,转换为00d4 h 001 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 0 Bit0 corresponds to 00d4 h, bit5 corresponds to 00d9 h, and the remaining two parts are filled with 0, as shown in Table 4 .2 .3 : Table 4 .2 .3 Code of Status Status 00D4 H per 00d9 h reads registered region data which may be registered in时尚,可以在时尚中注册,可以注册。
时髦。
单寄存器或多个连续寄存器。
假设从地址为01 H,阅读保存寄存器的起始地址为006 BH,并且读取了3 个寄存器。
指令显示在表5 .1 中:表5 .1 阅读保留注册说明:每个保留注册的长度为2 个字节。
保持寄存器之间,低地址寄存器首先要传输,并且高地址寄存器以后发送。
在单个寄存器中,较高的字节数据首先传输和较低字节数据。
表5 .2 .1 阅读注册表的返回保持。
04 h功能代码将数据输入到Modbus从属中的寄存器中。
它可以是一个寄存器,也可以是多个连续记录。
假设从地址为01 H,阅读保存寄存器的起始地址为0008 H,并且读取了两个寄存器。
指令显示在表6 .1 中:表6 .1 读取输入注册说明:每个输入注册的长度为2 个字节。
在条目记录中,低地址寄存器首先要发送,然后将高地址寄存器发送。
在单个输入寄存器中,首先要传输高字节数据,并且后来传输了低字节数据。
表6 .2 .1 读取输入注册表返回输出功能的代码。
05 H编写单个螺旋寄存器。
FF00H需要线圈在该州,0000H要求线圈在外部。
假设从属地址为01 H,并且线圈寄存器地址为00ACH,表7 .1 显示了在状态下进行的说明:表7 .1 输入单个螺旋指令:如果写作成功,请返回发送的指令,即,01 05 001 4 c1 b。
06 h功能代码编写单个保留寄存器。
假设从属地址为01 H,保存寄存器地址为0001 H,数据位为0003 H,指令如表8 .1 :表8 .1 写下单个保留寄存器指令:如果写作成功,请返回已发送的指令,即。
01 06 0001 0003 9 8 0B。
0FH功能代码编写多个线圈寄存器。
如果相应的数据位为1 ,则表示线圈条件已打开;如果相应的数据位为0,则表示线圈条件已关闭。
在线圈寄存器中,首先要传输低地址寄存器,然后将高地址寄存器发送。
在单个螺旋寄存器中,首先要传输高字节数据,然后将低字节数据传输。
如果书面线圈寄存器的数量不是8 的倍数,则将0添加到最后一个弯曲的顶部。
假设从属地址为01 H,线圈寄存器的开学地址为001 3 H,编写了1 0个寄存器。
指令示于表9 .1 .1 :表9 .1 .1 编写多个某些特定的注册说明,其中CDH对应于001 3 H到001 AH的001 3 H的,而01 H则对应于001 B,最多对应于001 CH的,并且此时间不用填充,此时此时间不用。
9 .1 如果成功编写了001 3 H至001 CH注册表的,则返回书面寄存器的数量,如表9 .2 :表9 .2 所示,编写1 0H -Coil寄存器寄存器返回功能代码编写多个保留记录,其中每个注册的长度为两个字节。
假设从地址为01 H,固定寄存器的开始是0001 H,写了两个寄存器。
指令显示在表1 0.1 中:表1 0.1 编写多个注册说明。
如果写作成功,则返回寄存器的数量,如表1 0.2 :表1 0.2 编写许多保留寄存器以返回返回结果。

ModBus通信规约的支持的MODBUS功能码

作业代码02 H:阅读交换机的条目(阅读真实维度和虚拟信号的迹象)。
作业代码03 H:阅读保留记录的记录(阅读事件记录等)作业代码04 H:阅读输入记录(从远程度中读取测量值)代码05 H:读取一个点的驱逐出境(从远处返回,单方面控制,关闭遥控器)。
作业代码06 H:写一个单词以保持(固定,选择远程控制和实施操作)作业代码1 0H:键入多个1 6 个数字单词(记忆区域)(通信毒物)。

MODBUS协议中的功能代码都有哪些?都有什么作用。

Modbus协议包含一系列功能代码,以执行不同的阅读和记录活动。
这些功能代码以01 至1 6 的小数的形式表示。
功能代码02 用于读取输入寄存器的状态并检查输入设备的状态。
功能代码03 和04 对应于寄存器的特定值和读取输入寄存器。
通过使用功能05 ,用户可以编写单个线圈注册状态;功能代码06 允许用户更新单个寄存器。
对于需要同时编写许多线圈寄存器的情况,可以使用功能代码1 5 完成。
功能代码1 6 支持更新许多同时注册的寄存器。
在Modbus通信中,这些功能代码的选择和使用对于部署自动控制系统很重要。
例如,当您需要监视设备的转换状态时,功能代码01 或02 可用于读取相关寄存器的状态信息。
如果您需要控制特定开关的状态,则可以使用功能代码05 或06 来编写。
此外,功能代码1 5 和1 6 为需要更多开关或寄存器的情况提供了更方便的解决方案。
值得注意的是,尽管这些功能代码提供了强大的控制,但用户仍然需要根据实际应用中的特定需求适当选择功能代码。
例如,在执行大型注册表的阅读和记录活动时,功能代码1 5 和1 6 可以显着提高效率,减少接触次数,从而提高系统的响应速度和稳定性。
在Modbus网络中,准确的理解和应用这些功能代码对于确保有效且可靠的通信至关重要。
通过灵活使用这些功能代码,用户可以实现准确的控制并监视设备的状态,从而提高自动化系统效率的效率。

热门资讯
电脑虚拟内存设置与调节教程
苹果笔记本电脑A1502配置详解及型号对比
手机运存:12GBvs16GB,性能与存储差异解析
8GB内存仅5.9GB可用?解决内存不足与优化技巧一览
笔记本8G内存是否足够?
微信内存清理指南:轻松释放手机空间
4Gvs8G运行内存:手机性能大揭秘
8G与16G内存条混用可行吗?