文档库 最新最全的文档下载
当前位置:文档库 › 智能IO模块 模拟量输出模块【MODBUS协议】如何读取指令格式?

智能IO模块 模拟量输出模块【MODBUS协议】如何读取指令格式?

IPAM4404读取和控制输出值

一次读取所有4个通道当前的输出值

发送指令:01 03 00 60 00 04 44 17

其中01为模块地址;

03为读取保持型寄存器的功能码;

00 60 为读取的通道的起始寄存器地址;

00 04 为读取的通道数量,04表示所有4个通道;

44 17 为CRC校验码,高位在前。

模块返回:01 03 08 00 56 00 98 01 25 03 56 12 F7

其中01为模块地址;

03为读取保持型寄存器的功能码;

08为返回数据的字节数;

00 56 00 98 01 25 03 56为4个输出通道当前的输出值,每个通道占用两个字节,高位在前,例如:00 56为AO0的输出值,0098为AO1的输出值,以此类推。

00 56代表的输出电流电压值的换算方法:

将00 56转换为十进制转换后为00 86,

把两个字节变为一个字00*256+86 = 86

出厂默认输出0~10v电压,把86转换为电压86/4095*10 = 0.210 v

设置的量程和数值的对应关系:

输出量程对应数值

0~10V 0~4095

0~20MA 0~4095

4~20MA 819~4095

12 F7为CRC校验码

控制当个通道的输出值:

发送指令:01 06 00 60 00 56 09 EA

其中01为模块地址;

06 为写入保持型寄存器的功能码;

00 60 为写入的通道的起始寄存器地址,60表示AO0的寄存器地址;

00 56 为需要写入的数值,00 56代表需要输出电压0.210V。设定需要输出的电压电流值为VO,输出量程为FS(输出量程可配置为0~10v,0~20ma和4~20ma),则需要写入的数值的公式:

写入的数值= VO/FS * 4095

09 EA 为CRC校验码,高位在前。

模块返回:01 06 00 60 00 56 09 EA

模块返回的数据和写入的数据相同表示模块写入成功,如果不同则代表写入失败。

一次写多个通道的输出值

发送指令:01 10 00 60 00 04 08 00 56 00 98 01 25 03 56 B1 DA

其中01为模块地址;

10为同时写多个通道的功能码;

00 60 为需要写入的通道的起始地址(及写入的这些通道的第一个通道的寄存器地址);00 04 为需要写入的通道的数量(这里表示写所有4个通道);

08 为需要写入的字节数(每个通道2个字节,这里是通道数的两倍);

00 56 00 98 01 25 03 56 写入通道的数值,每个通道两个字节,高位在前,从左往右分别是AO0~AO3的数值,数值换算电压的方式见上面控制当个通道值。

B1 DA 为CRC检验码。

模块返回:01 10 00 60 00 04 C1 D4

其中01为模块地址;

10为写入多个通道的功能码;

00 60为写入的起始地址;

00 04为写入的通道数量;

C1 D4为CRC校验码。

相关文档
相关文档 最新文档