8路4-20MA0-5V转RS485-232模拟量采集模块、MODBUS通信4-20MA0-10V模拟量采集器,数据采集卡

it2023-03-02  87

 8路4-20mA转RS-485/232,数据采集模块 IBF128

产品特点:

● 八路模拟信号采集,隔离转换 RS-485/232输出

● 采用12位AD转换器,测量精度优于0.1%

● 通过RS-485/232接口可以程控校准模块精度

● 信号输入 / 输出之间隔离耐压1000VDC

● 宽电源供电范围:8 ~ 32VDC

● 可靠性高,编程方便,易于应用

● 标准DIN35导轨安装,方便集中布线

● 用户可编程设置模块地址、波特率等                                                       

● 支持Modbus RTU 通讯协议,自动识别协议

● 工业阻燃外壳,RS485端口浪涌防护

●  AD转换速率可以编程设定

典型应用:

● 信号测量、监测和控制

●  RS-485远程I/O,数据采集

● 智能楼宇控制、安防工程等应用系统

●  RS-232/485总线工业自动化控制系统                        图1  IBF128 模块外观图

● 工业现场信号隔离及长线传输

● 设备运行监测

● 传感器信号的测量  

● 工业现场数据的获取与记录

● 医疗、工控产品开发

●  4-20mA或0-5V信号采集

 

产品概述:

IBF128产品实现传感器和主机之间的信号采集,用来检测模拟信号。IBF128系列产品可应用在 RS-232/485总线工业自动化控制系统,4-20mA / 0-5V信号测量、监测以及工业现场信号隔离及长线传输等等。

产品包括电源隔离,信号隔离、线性化,A/D转换和RS-485串行通信。每个串口最多可接255只 IBF128系列模块,通讯方式采用ASCII码通讯协议或MODBUS RTU通讯协议,波特率可由代码设置,能与其他厂家的控制模块挂在同一RS-485总线上,便于计算机编程。

IBF128系列产品是基于单片机的智能监测和控制系统,所有的用户设定的校准值,地址,波特率,数据格式,校验和状态等配置信息都储存在非易失性存储器EEPROM里。

IBF128系列产品按工业标准设计、制造,信号输入 / 输出之间隔离,可承受1000VDC隔离电压,抗干扰能力强,可靠性高。工作温度范围- 45℃~+85℃。

 

功能简介:

IBF128 信号隔离采集模块,可以用来测量八路电压或电流信号。

模拟信号输入

12位采集精度,8路模拟信号输入。产品出厂前所有信号输入范围已全部校准。在使用时,用户也可以很方便的自行编程校准。具体电流或电压输入量程请看产品选型。

通讯协议

通讯接口: 1路标准的RS-485通讯接口或1路标准的RS-232通讯接口,订货选型时注明。

通讯协议:支持两种协议,命令集定义的字符协议和MODBUS  RTU通讯协议。模块自动识别通讯协议,能实现与多种品牌的PLC、RTU或计算机监控系统进行网络通讯。

数据格式:10位。1位起始位,8位数据位,1位停止位。

通讯地址(0~255)和波特率(2400、4800、9600、19200、38400、57600 、115200bps)均可设定;通讯网络最长距离可达1200米,通过双绞屏蔽电缆连接。

通讯接口高抗干扰设计,±15KV ESD保护,通信响应时间小于100mS。       

抗干扰

可根据需要设置校验和。模块内部有瞬态抑制二极管,可以有效抑制各种浪涌脉冲,保护模块,内部的数字滤波,也可以很好的抑制来自电网的工频干扰。

 

产品选型:

IBF128 - U(A)□  -  □

输入电压或电流信号值                           通讯接口

U1:0-5V           A1:0-1mA                  485: 输出为RS-485接口  

   U2:0-10V          A2:0-10mA                 232: 输出为RS-232接口

        A3:0-20mA            

  U4:0-2.5V          A4:4-20mA                         

   U5:0-±5V          A5:0-±1mA                         

   U6:0-±10V         A6:0-±10mA                         

                       A7:0-±20mA

   U8:用户自定义     A8:用户自定义

         

 

选型举例1: 型号:IBF128-A4-485   表示8路4-20mA信号输入,输出为RS-485接口

选型举例2: 型号:IBF128-U1-232   表示8路0-5V信号输入,输出为RS-232接口

选型举例3: 型号:IBF128-U2-485   表示8路0-10V信号输入,输出为RS-485接口

IBF128字符协议命令集:

模块的出厂初始设置,如下所示:

地址代码为01

波特率9600 bps

禁止校验和

如果使用 RS-485网络,必须分配一个独一无二的地址代码,地址代码取值为16进制数在00和FF之间,由于新模块的地址代码都是一样的,他们的地址将会和其他模块矛盾,所以当你组建系统时,你必须重新配置每一个IBF128模块地址。可以在接好IBF128模块电源线和RS485通讯线后,通过配置命令来修改IBF128模块的地址。波特率,校验和状态也需要根据用户的要求而调整。而在修改波特率,校验和状态之前,必须让模块先进入缺省状态,否则无法修改。

让模块进入缺省状态的方法:

IBF128模块边上都有一个INIT的开关,在模块的侧面位置。将INIT开关拨到INIT位置,再接通电源,此时模块进入缺省状态。在这个状态时,模块的配置如下:

地址代码为00

波特率9600 bps

禁止校验和

这时,可以通过配置命令来修改IBF128模块的波特率,校验和状态等参数。在不确定某个模块的具体配置时,也可以将INIT开关拨到INIT位置,使模块进入缺省状态,再对模块进行重新配置。

注: 正常使用时请将INIT开关拨到NORMAL位置。

 

    字符协议命令由一系列字符组成,如首码、地址ID,变量、可选校验和字节。

命令格式:(Leading Code)(Addr)(Command)[data][checksum]

(Leading code) 首码是命令中的第一个字母。所有命令都需要一个命令首码,如%,$,#,@,...等。        1- 字符

(Addr)      模块的地址代码, 如果下面没有指定,取值范围从 00FF (十六进制)                2- 字符

(Command) 显示的是命令代码或变量值。                                                    变量长度

[data]      一些输出命令需要的数据。                                                      变量长度

[checksum] 括号中的Checksum(校验和)显示的是可选参数,只有在启用校验和时,才需要此选项。 2- 字符

当启用校验和(checksum)时,就需要[Checksum]。它占2-字符。命令和应答都必须附加校验和特性。校验和用来检查所有输入命令,来帮助你发现主机到模块命令错误和模块到主机响应的错误。校验和字符放置在命令或响应字符之后,回车符之前。

计算方法:两个字符,十六进制数,为之前所发所有字符的ASCII码数值之和,然后与十六进制数0xFF相与所得。

 

应用举例:禁止校验和(checksum)

       用户命令    $002

       模块应答    !00020600 (cr)

 启用校验和(checksum)

用户命令    $002B6

       模块应答    !00020600 A9 (cr)

       ‘$’ = 0x24   ‘0’ = 0x30   ‘2’ = 0x32

  B6=(0x24+0x30+0x30+0x32) AND 0xFF

       ‘!’ = 0x21   ‘0’ = 0x30   ‘2’ = 0x32   ‘6’ = 0x36

  A9=(0x21+0x30+0x30+0x30+0x32+0x30+0x36+0x30+0x30) AND 0xFF

命令的应答

应答信息取决于各种各样的命令。应答也由几个字符组成,包括首代码,变量和结束标识符。应答信号的首代码有两种, ‘!’ ‘>’表示有效的命令而‘?’ 则代表无效。通过检查应答信息,可以监测命令是否有效

注意:1、在一些情况下,许多命令用相同的命令格式。要确保你用的地址在一个命令中是正确的,假如你用错误的地址,而这个地址代表着另一个模块,那么命令会在另一个模块生效,因此产生错误。

2、必须用大写字母输入命令。

 

 

1、读测量数据命令

说    明:从模块中读回所有通道模拟输入端的测量数据。

命令格式:#01

参数说明:#     分界符。十六进制为23H

          01  模块地址,取值范围 00FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H31H   

应答格式:>(data)(cr)     命令有效。

          ?AA(cr)       命令无效或非法操作。

参数说明:>     分界符。十六进制为3EH

          (data) 代表读回的数据。数据格式可以是工程单位,FSR的百分比,16进制补码。详细说明见命令集第2条。十六进制为每个字符的ASCII码。

          (cr)   结束符,上位机回车键,十六进制为0DH。

其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。

如果某个通道已经被关闭,那么读出的数据显示为空格字符。

如果你使用的串口通讯软件输入不了回车键字符,请切换到十六进制格式进行通讯。

应用举例:  用户命令(字符格式)      #01

                    (十六进制格式)  233031

            模块应答(字符格式)      >+12.000+16.000+16.000+16.000+16.000+16.000+16.000+18.168 (cr)

十六进制格式):3E2B31322E3030302B31362E3030302B31362E3030302B31362E303030

2B31362E3030302B31362E3030302B31362E3030302B31382E3136380D

说    明:在地址01H模块上输入是(数据格式是工程单位):

通道0:+12.000mA   通道1:+16.000mA  通道2:+16.000mA   通道3:+16.000mA  

通道4:+16.000mA   通道5:+16.000mA  通道6:+16.000mA   通道7:+18.168mA

 

 

输入#01后点击发送命令。

在接收到的数据行就会有显示>+00.000+00.000+00.000+00.000+00.000+00.000+00.000+00.000

 

2、读通道N模拟输入模块数据命令

说    明:从模块中读回通道N的模拟输入数据。

命令格式:#010

参数说明:#     分界符。

          01   模块地址,取值范围 00FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H31H

          0     通道代号 07十六进制为30H~ 37H    

应答格式:>(data)(cr)     命令有效。

          ?AA(cr)       命令无效或非法操作或通道被关闭。

参数说明:>     分界符。

          (data) 代表读回的通道N的数据。数据格式可以是工程单位,FSR的百分比,16进制补码,或者ohms。详细说明见命令集第3条。

          (cr)   结束符,上位机回车键(0DH)。

其他说明:假如语法错误或通讯错误或地址不存在,模块不响应。         

应用举例:  用户命令(字符格式)      #010

                    (十六进制格式)  23303130

            模块应答(字符格式)      >+18.000 (cr)

十六进制格式):3E2B31382E3030300D

说    明:在地址01H模块上通道0的输入是(数据格式是工程单位):+18.000mA

 

3、配置IBF128模块命令

说    明:对一个IBF128模块设置地址,输入范围,波特率,校验和状态。配置信息储存在非易失性存储器EEPROM里。

命令格式:%AANNTTCCFF

参数说明:%    分界符。

AA   模块地址,取值范围 00FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H31H

          NN   代表新的模块16进制地址,数值NN的范围从00到FF。转换成十六进制为每个字符的ASCII码。如地址18换成十六进制为31H38H

          TT   用16进制代表类型编码。 IBF128产品必须设置为00。

CC   用16进制代表波特率编码。 

波特率代码

波特率

04

2400 baud

05

4800 baud

06

9600 baud

07

19200 baud

08

38400 baud

09

57600 baud

0A

115200 baud

 

 

 

 

 

 

                                     

            

表2  波特率代码

           FF    用16进制的8位代表校验和。注意从bits0 到bits5不用必须设置为零。

Bit7

Bit 6

Bit 5

Bit 4

Bit 3

Bit2

Bit 1

Bit 0

 

         

          表3   校验和代码

                  Bit7:保留位,必须设置为零                                  

                  Bit6:校验和状态,为0:禁止; 为1:允许

                  Bit5-bit0:不用,必须设置为零。           

应答格式:!AA(cr)  命令有效。

          ?AA(cr)  命令无效或非法操作,或在改变波特率或校验和前,没有将INIT开关拨到INIT位置。

参数说明:!     分界符,表示命令有效。

          ?     分界符,表示命令无效。

          AA   代表输入模块地址

          (cr)   结束符,上位机回车键,十六进制为0DH。

其他说明:假如你第一次配置模块,AA=01H,NN等于新的地址。假如重新配置模块改变地址、输入范围。AA等于当前已配置的地址,NN等于当前的或新的地址。假如要重新配置模块改变波特率或校验和状态,则必须将INIT开关拨到INIT位置,使模块进入缺省状态,此时模块地址为00H,即 AA=00H,NN等于当前的或新的地址。

假如格式错误或通讯错误或地址不存在,模块不响应。                            

应用举例:  用户命令    %0111000600

            模块应答    !11(cr)

说    明:%    分界符。

          01    表示你想配置的IBF128模块原始地址为01H。

          11    表示新的模块16进制地址为11H。

          00    类型代码,IBF128产品必须设置为00。

          06    表示波特率9600 baud。

00    表示禁止校验和。

 

4、读配置状态命令

说    明: 对指定一个IBF128模块读配置。

命令格式:$012          

参数说明:$     分界符。  

          01   模块地址,取值范围 00FF(十六进制)

          2     表示读配置状态命令  

          (cr)   结束符,上位机回车键,十六进制为0DH。

应答格式:!AATTCCFF(cr)    命令有效。

          ?AA(cr)            命令无效或非法操作。

参数说明:!     分界符。

          AA   代表输入模块地址。

          TT   代表类型编码。

          CC   代表波特率编码。见表2

          FF    见表3

          (cr)   结束符,上位机回车键,十六进制为0DH。

其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。

应用举例:  用户命令    $012

            模块应答    !300F0600(cr)

说    明:!     分界符。

          301    表示IBF128模块地址为01H 。       

          00    表示输入类型代码。

          06    表示波特率9600 baud。

00    表示禁止校验和。

 

5、设置IBF128模块量程命令

说    明:对一个IBF128模块小数点,量程,通道状态进行设置。配置信息储存在非易失性存储器EEPROM里。

命令格式:$AA0DNNNNNABCD

参数说明:$   分界符。

AA   模块地址,取值范围 00FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H31H

0    设置模拟量量程命令

D   数据小数点位置,取值范围15。表示小数点前面有几个数字,例如3表示000.00

          NNNNN   表示数据量程,取值范围从00000到99999(十进制)。例如10000表示量程为10000

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

A

B

 

IN7

IN6

IN5

IN4

IN3

IN2

IN1

IN0

Bit7

Bit 6

Bit 5

Bit 4

Bit 3

Bit2

Bit 1

Bit 0

C

D

         ABCD 四个16进制数,

第一个数和第二个数都为0

第三个数代表7~4通道

第四个数代表3~0通道

位值为 0:禁止通道

位值为 1启用通道

 

应答格式:!AA(cr)  命令有效。

          ?AA(cr)  命令无效或非法操作。                           

应用举例:  用户命令    $01022000000FF

            模块应答    !01(cr)

说    明:$    分界符。

          01   模块地址

02     表示小数点前有2个数。

          20000    表示量程为20000

          00FF    表示所以通道都打开。

 

6、读量程命令

说    明: 对IBF128模块读量程。

命令格式:$AA1          

应答格式:!AAFDNNNNNABCD (cr)    命令有效。

          ?AA(cr)            命令无效或非法操作。

参数说明:$   分界符。

AA   模块地址,取值范围 00FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H31H

1    读模拟量量程命令

D   数据小数点位置,取值范围 15。表示小数点前面有几个数字,例如3表示000.00

          NNNNN   表示数据量程,取值范围从00000到99999(十进制)。例如10000表示量程为10000

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

A

B

 

IN7

IN6

IN5

IN4

IN3

IN2

IN1

IN0

Bit7

Bit 6

Bit 5

Bit 4

Bit 3

Bit2

Bit 1

Bit 0

C

D

         ABCD 四个16进制数,

第一个数和第二个数都为0

第三个数代表7~4通道

第四个数代表3~0通道

位值为 0:禁止通道

位值为 1启用通道

 

 

          (cr)   结束符,上位机回车键,十六进制为0DH。

其他说明:假如格式错误或通讯错误,模块不响应。

应用举例:  用户命令    $011

            模块应答    !01015000000FF (cr)

说    明:!    分界符。

          01   模块地址        

01     表示小数点前有1个数。

          50000    表示量程为50000

          00FF    表示所有通道都打开。

 

7、设置模块AD转换速率

说明:设置模块的AD转换速率。其中,通道转换速率=AD转换速率/开启的通道数量。采样速率越慢,采集的数据就越准确。用户可根据需要自行调节。出厂默认的转换速率是10SPS。

      注:修改转换速率后请重新校准模块,否则测量的数据会有偏差。也可以在订货的时候注明转换速率,我们在产品出厂时按您要求的转换速率重新校准。

命令格式:$AA3R

参数说明:$     分界符。

          AA   模块地址,取值范围 00FF(十六进制)

          3    表示设置转换速率命令   

          R    转换速率代号,可为0~3

代号R

0

1

2

3

 

 

 

 

 

 

转换速率

2.5 SPS

5 SPS

10 SPS

20 SPS

 

 

 

 

 

 

   

应答格式:!AA(cr)   命令有效。

?AA(cr)   命令无效或非法操作

参数说明:!     分界符,表示命令有效。

          ?     分界符,表示命令无效。

          AA   代表输入模块地址。                

          (cr)   结束符,上位机回车键,十六进制为0DH。

其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。        

应用举例1: 用户命令    $0032

            模块应答    !00 (cr)

说    明: 设置AD转换速率为10SPS。

应用举例2: 用户命令    $0033

            模块应答    !00 (cr)

说    明:设置AD转换速率为20SPS。

 

8、读模块AD转换速率

说明:读模块的AD转换速率。其中,通道转换速率=AD转换速率/开启的通道数量。采样速率越慢,采集的数据就越准确。

命令格式:$AA4

参数说明:$     分界符。

          AA   模块地址,取值范围 00FF(十六进制)

          4    表示读转换速率命令        

响应语法:!AAR(cr)   命令有效。

?AA(cr)   命令无效或非法操作

参数说明:!     分界符,表示命令有效。

          ?     分界符,表示命令无效。

          AA   代表输入模块地址。

R    转换速率代号,可为0~3

代号R

0

1

2

3

 

 

 

 

 

 

转换速率

2.5 SPS

5 SPS

10 SPS

20 SPS

 

 

 

 

 

 

          (cr)   结束符,上位机回车键(0DH)。

其他说明:假如语法错误或通讯错误或地址不存在,模块不响应。        

应用举例1: 用户命令    $004

            模块应答    !002 (cr)

说    明:当前AD转换速率为10SPS。

应用举例2: 用户命令    $004

            模块应答    !003 (cr)

说    明:当前AD转换速率为20SPS。

 

9、设置以上字符命令设置的所有参数恢复出厂设置。

说    明:设置模块用以上字符命令设置的参数恢复为出厂设置。

命令格式:$AA900   设置参数恢复出厂设置。

参数说明:AA   模块地址,取值范围 00FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H31H

应答格式:! AA(cr)     表示设置成功,模块会自动重启。

应用举例:  用户命令(字符格式)      $01900  

            模块应答(字符格式)      ! 01(cr)

说    明:参数恢复出厂设置。

 

Modbus RTU 通讯协议:

模块的出厂初始设置,如下所示:

Modbus地址为01

波特率9600 bps

 

让模块进入缺省状态的方法:

IBF128模块边上都有一个INIT的开关,在模块的侧面位置。将INIT开关拨到INIT位置,再接通电源,此时模块进入缺省状态。在这个状态时,模块暂时恢复为默认的状态:地址为01,波特率为9600。在不确定某个模块的具体配置时,用户可以查询地址和波特率的寄存器40201-40202,得到模块的实际地址和波特率,也可以跟据需要修改地址和波特率。

注: 正常使用时请将INIT开关拨到NORMAL位置。

支持Modbus RTU通讯协议功能码03(读保持寄存器)和功能码06(写单个寄存器),命令格式按照标准Modbus RTU通讯协议。

 

支持功能码03和06的寄存器如下:

地址4X(PLC)

地址(PC,DCS)

数据内容

属性

数据说明

40001

0000

IN0输入的模拟量

只读

有符号整数,

通道IN0~IN7数据,

数据为2的补码方式

0x0000-0x7FFF表示正数

0x8000-0xFFFF表示负数

如果用不到负数,读取到大于0x7FFF的数据都换算成0即可。

40002

0001

IN1输入的模拟量

只读

40003

0002

IN2输入的模拟量

只读

40004

0003

IN3输入的模拟量

只读

40005

0004

IN4输入的模拟量

只读

40006

0005

IN5输入的模拟量

只读

40007

0006

IN6输入的模拟量

只读

40008

0007

IN7输入的模拟量

只读

40021

0020

4-20mA专用IN0

只读

无符号整数,

通道IN0~IN7数据,

4mA=0x0000,20mA=0x7FFF

40022

0021

4-20mA专用IN1

只读

40023

0022

4-20mA专用IN2

只读

40024

0023

4-20mA专用IN3

只读

40025

0024

4-20mA专用IN4

只读

40026

0025

4-20mA专用IN5

只读

40027

0026

4-20mA专用IN6

只读

40028

0027

4-20mA专用IN7

只读

 

 

 

 

 

40061

0060

IN0输入的模拟量

只读

有符号整数,

通道IN0~IN7数据,

量程由40161~40168寄存器定义

可以用于模拟量和实际数据的换算

40062

0061

IN1输入的模拟量

只读

40063

0062

IN2输入的模拟量

只读

40064

0063

IN3输入的模拟量

只读

40065

0064

IN4输入的模拟量

只读

40066

0065

IN5输入的模拟量

只读

40067

0066

IN6输入的模拟量

只读

40068

0067

IN7输入的模拟量

只读

40081

0080

IN0自定义4-20mA

只读

无符号整数,通道IN0~IN7数据,

量程由40181~40188寄存器定义。

数据小于4mA时显示为0,数据为20mA时显示为设定值。中间按比例显示。

可以用于模拟量和实际数据的换算

40082

0081

IN1自定义4-20mA

只读

40083

0082

IN2自定义4-20mA

只读

40084

0083

IN3自定义4-20mA

只读

40085

0084

IN4自定义4-20mA

只读

40086

0085

IN5自定义4-20mA

只读

40087

0086

IN6自定义4-20mA

只读

40088

0087

IN7自定义4-20mA

只读

 

 

 

 

 

40101

0100

通道0校准

读/写

产品出厂时已经校准,用户无需校准即可直接使用,如果确实需要重新校准,请查看校准章节,按步骤执行。

40102

0101

通道1校准

读/写

40103

0102

通道2校准

读/写

40104

0103

通道3校准

读/写

40105

0104

通道4校准

读/写

40106

0105

通道5校准

读/写

40107

0106

通道6校准

读/写

40108

0107

通道7校准

读/写

地址4X(PLC)

地址(PC,DCS)

数据内容

属性

数据说明

40160

0159

通道0 ~ 7量程

整数,0x0001-0x7FFF,如果所有通道的量程是一样的,可以设置此寄存器,设置完成后会一次性修改40161 ~ 40168寄存器为当前寄存器同样的值。

40161

0160

通道0量程

读/写

整数,0x0001-0x7FFF,修改后40061~40068寄存器的数据按这个量程换算

40162

0161

通道1量程

读/写

40163

0162

通道2量程

读/写

40164

0163

通道3量程

读/写

40165

0164

通道4量程

读/写

40166

0165

通道5量程

读/写

40167

0166

通道6量程

读/写

40168

0167

通道7量程

读/写

 

 

 

 

 

40180

0179

自定义4-20mA

通道0 ~ 7量程

整数,0x0001-0x7FFF,如果所有通道的量程是一样的,可以设置此寄存器,设置完成后会一次性修改40181 ~ 40187寄存器为当前寄存器同样的值。

40181 ~ 40188

0180 ~ 0187

自定义4-20mA

通道0 ~ 7量程

读/写

整数,0x0001-0x7FFF,修改后40081~40088寄存器的数据按这个量程换算

 

 

 

 

 

40200

0199

参数恢复出厂设置

读/写

设置为FF00,则模块所有寄存器的参数恢复为出厂设置,完成后模块自动重启

40201

0200

模块地址

读/写

整数,重启后生效,范围0x0000-0x00FF

40202

0201

波特率

读/写

整数,重启后生效,范围0x0004-0x000A

0x0004 = 2400 bps,0x0005 = 4800 bps

0x0006 = 9600 bps,0x0007 = 19200 bps

0x0008 = 38400 bps,0x0009 = 57600 bps

0x000A = 115200bps

 

 

 

 

 

40204

0203

转换速率

读/写

整数,范围0x0000-0x0003,

出厂默认为2,修改后请重新校准模块。

0x0000 = 2.5 SPS,0x0001 = 5 SPS,

0x0002 = 10 SPS, 0x0003 = 20 SPS

40211

0210

模块名称

只读

高位:0x01  低位:0x28

40221

0220

通道状态

读/写

高位:0x00低位:通道状态 (0xFF)

 

 

 

 

 

 

 

 

通讯举例1:假如模块地址为01,以16进制发送:010300000001840A ,即可取得寄存器40001的数据。

01

03

00

00

00

01

84

0A

模块地址

读保持寄存器

寄存器地址高位

寄存器地址低位

寄存器数量高位

寄存器数量低位

CRC校验低位

CRC校验高位

 

假如模块回复:010302199973BE即读到的数据为0x1999,假如量程为A4:4-20mA或者A3:0-20mA,

换算0x1999*20mA/0x7FFF= 4mA。即表明现在输入的电流为4mA。

01

03

02

19

99

73

BE

模块地址

读保持寄存器

数据的字节数

数据高位

数据低位

CRC校验低位

CRC校验高位

 

通讯举例2:量程为A4: 4-20mA时,也可以读取4-20mA专用寄存器的数据,寄存器地址40021~40022,4mA对应0x0000,20mA对应0x7FFF。举例如下

假如模块地址为01,以16进制发送:010300140001C401 ,即可取得寄存器40021的数据。

01

03

00

14

00

01

C4

01

模块地址

读保持寄存器

寄存器地址高位

寄存器地址低位

寄存器数量高位

寄存器数量低位

CRC校验低位

CRC校验高位

 

假如模块回复:010302199973BE即读到的数据为0x1999,量程为4-20mA,换算0x1999*16mA/0x7FFF= 3.2mA,再加上零点的4mA,即表明现在输入的电流为7.2mA。

01

03

02

19

99

73

BE

模块地址

读保持寄存器

数据的字节数

数据高位

数据低位

CRC校验低位

CRC校验高位

 

 

MODBUS协议 量程与数据高16位的对应关系

输入范围

正满量程

负满量程

A1:0-1mA

A2:0-10mA

A3:0-20mA

A4:4-20mA

A5:0-±1mA

A6:0-±10mA

A7:0-±20mA

A8:用户自定义

U1:0-5V

U2:0-10V

U4:0-2.5V

U5:0-±5V

U6:0-±10V

U8:用户自定义

0x7FFF

0x0000

0x8000

A4:4-20mA

寄存器40021~40028

4-20mA专用寄存器的量程对应关系

0x7FFF

(20mA)

0x0000

(4mA)

0x0000

 

 

校准模块:

产品出厂时已经校准,用户无需校准即可直接使用。

使用过程中,你也可以运用产品的校准功能来重新校准模块。在校准时,模块需要输入合适的信号,不同的输入范围需要不同的输入信号。

 

为了提高校准精度,建议使用以下设备来校准:

1、一个输出稳定,噪声很低的直流电压/电流信号源

2、一个5位半或更高精度的电压/电流测量仪表监测输入信号的准确性

校准过程

按照模块的输入范围在需要校准的通道接上对应的输入信号。    其中IBF128模块零点在输入0时校准,满度在输入满度的100%时校准。例如4-20mA输入时,校准零点时         输入0mA,校准满度时输入20mA.。0-5V输入时,校准零点时输入0V,校准满度时输入5V。 IBF128模块需要校准的通道输入零点信号,通常为0mA0V待信号稳定后,Modbus协议修改寄存器40101(通道0)为0xFF00,模块就会进行零点校准。(校准其他          通道请修改对应的通道寄存器数据为0xFF00)IBF128模块需要校准的通道输入满度的100%的电流或电压信号。待信号稳定后,Modbus协议修改寄存器40101(通道0)为0xFFFF,模块就会进行满度校准。(校准其他          通道请修改对应的通道寄存器数据为0xFFFF)

6. 校准完成

最新回复(0)