RS485-232数字转模拟量输出模块(4-20MA/0-5V/0-10V)24位高精度模拟量输出模块

RS232/RS485信号转8路模拟信号  隔离D/A转换器

产品特点

● 低成本、小体积模块化设计

●  RS-485/232接口,隔离转换成8路标准模拟信号输出

● 模拟信号输出精度优于 0.2%

● 可以程控校准模块输出精度

● 信号输出 / 通讯接口之间隔离耐压3000VDC

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

● 可靠性高,编程方便,易于安装和布线

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

● 可设置成主机来读取IBF33产品数据实现远程采集             

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

RS485-232数字转模拟量输出模块(4-20MA/0-5V/0-10V)24位高精度模拟量输出模块

典型应用:                                                 

●  0-10V标准模拟信号输出

● 智能楼宇控制、安防工程等应用系统                               1    产品外观图

●  RS-232/485总线工业自动化控制系统                 

● 灯光控制,LED智能调光控制

● 设备运行调试与控制

● 传感器信号的远程传输及信号还原

● 工业现场执行器数据给定                                   

● 医疗、工控产品开发

●  4-20mA信号输出

 

产品概述:

IBF33系列产品实现主机RS-485/232接口信号隔离转换成标准模拟信号,用以控制远程设备。IBF33系列产品可应用在 RS-232/RS-485总线工业自动化控制系统,4-20mA,0-5V,0-10V等标准信号输出,用来控制工业现场的执行设备,控制设备以及显示仪表等等。

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

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

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

IBF33通用参数:

(typical @ +25℃,Vs为24VDC)

输出类型:  电流输出 / 电压输出

精    度:  0.2%

输出失调:  电流输出 ±0.5 uA/℃  ,电压输出 ±0.1 mV/℃

温度漂移:  ±20 ppm/℃ (±30 ppm/℃, 最大)

输出带载能力:电流输出    350Ω (4-20mA/0-20mA/0-±20mA电流输出)             

              电压输出    10mA(0-5V/0-10V/0-±5V电压输出)

通    讯:   协议  RS-485 或 RS-232   标准字符协议 和 MODBUS RTU通讯协议

             波特率(2400、4800、9600、19200、38400、57600、115200bps)可软件选择

地址(0~255)可软件选择

通讯响应时间:100 ms 最大

工作电源:    +8 ~ 32VDC宽供电范围,内部有防反接和过压保护电路              

功率消耗:    小于1.5W

工作温度:    - 45 ~ +80℃         

工作湿度:   10 ~ 90% (无凝露)

存储温度:   - 45 ~ +80℃              

存储湿度:   10 ~ 95% (无凝露)                                     

隔离耐压:   通讯接口 / 输出  之间:  3KVDC,1分钟,漏电流 1mA

             其中通讯接口和电源共地。8路模拟量共地输出。

耐冲击电压: 3KVAC, 1.2/50us(峰值)

外形尺寸:   106.7 mm  x  79 mm  x  25mm

 

IBF33字符协议命令集:

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

地址代码为01

波特率9600 bps

禁止校验和

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

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

IBF33模块都有一个特殊的标为INIT的管脚。将INIT管脚短路接到地线(GND1管脚)后,再接通电源,此时模块进入缺省状态。在这个状态时,模块的配置如下:

地址代码为00

波特率9600 bps

禁止校验和

这时,可以通过配置命令来修改IBF33模块的波特率,校验和状态等参数。在不确定某个模块的具体配置时,也可以将INIT管脚短路接到地线(GND1管脚),再接通电源,使模块进入缺省状态,再对模块进行重新配置。

 

    字符协议命令由一系列字符组成,如首码、地址ID,变量、可选校验和字节和一个用以显示命令结束符(cr)。主机除了带通配符地址“**”的同步的命令之外,一次只指挥一个IBF33模块。

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

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

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

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

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

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

(cr)        识别用的一个控制代码符,(cr)作为回车结束符,它的值为0x0D                      1- 字符

 

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

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

 

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

       用户命令    $002(cr)

       模块应答    !00020600 (cr)

 启用校验和(checksum)

用户命令    $002B6 (cr)

       模块应答    !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、设定通道N的模拟量输出值命令

说    明:以当前配置的数据格式,设定模拟量输出模块通道N模拟输出值。

命令格式:#AAN(data)(cr)

参数说明:#     分界符。

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

          N     通道代号 0~7换成十六进制为30H~37H。如果要同时设置所有通道,通道号用A代替。

          (data) 代表要设置的通道N输出的模拟量数据。数据格式可以是工程单位,FSR的百分比,16进制补码。详细说明见命令集第3条。

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

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

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

参数说明:>     分界符。         

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

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

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

                    十六进制格式)  233031302B31362E3030300D

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

十六进制格式)  3E0D

说    明:设定地址01H模块上 通道0的输出值是 +16.000mA(数据格式是工程单位)。

2、设定通道N的上电或复位后的模拟量输出值命令

说    明:以当前配置的数据格式,设定模拟量输出模块通道N上电模拟输出值。

命令格式:#AASN(data)(cr)

参数说明:#     分界符。

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

          S     表示要设置上电或复位后的模拟量输出值。

          N     通道代号 0~7换成十六进制为30H~37H。如果要同时设置所有通道,通道号用A代替。

          (data) 代表要设置的通道N上电后输出的模拟量数据。数据格式可以是工程单位,FSR的百分比,16进制补码。详细说明见命令集第3条。

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

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

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

参数说明:>     分界符。         

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

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

应用举例:  用户命令    #01S0+04.000(cr)

            模块应答    >(cr)

说    明:设定地址01H模块上 通道0的上电输出值是 +04.000mA(数据格式是工程单位)。

3、配置模拟量输出模块命令

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

命令格式:%AANNTTCCFF(cr)

参数说明:%    分界符。

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

          NN   代表新的模块16进制地址,数值NN的范围从00到FF。

          TT   用16进制代表类型编码。 IBF33产品必须设置为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位代表数据格式,校验和。注意从bits2 到bits5不用必须设置为零。

 

Bit7

Bit 6

Bit 5

Bit 4

Bit 3

Bit2

Bit 1

Bit 0

         

          表3   数据格式,校验和代码

 

                  Bit7保留位,必须设置为零                                   

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

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

                  Bit1-bit0数据格式位。

                            00:工程单位(Engineering Units)

                            01:满刻度的百分比(% of FSR)

                            10:16进制的补码(Twos complement)

                            11:欧姆(ohms)(仅热电阻产品可设置)

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

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

          ?AA(cr)  命令无效或非法操作,或在改变波特率或校验和前,没有安装配置跳线。

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

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

          AA   代表模块地址

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

其他说明:假如你第一次配置模块,AA=00、 NN等于新的地址。假如重新配置模块改变地址、输出范围、数据格式,AA等于当前已配置的地址,NN等于当前的或新的地址。假如要重新配置模块改变波特率或校验和状态,则必须安装配置跳线,使模块进入缺省状态,此时模块地址为00H,即 AA=00H,NN等于当前的或新的地址。

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

应用举例:  用户命令    %0011000600(cr)

            模块应答    !11(cr)

说    明:%    分界符。

          00    表示你想配置的模拟量输出模块原始地址为00H。

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

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

          06    表示波特率9600 baud。

00    表示数据格式为工程单位,禁止校验和。

4、读配置状态命令

说    明: 对指定一个模拟量输出模块读配置。

命令格式:$AA2(cr)          

参数说明:$     分界符。  

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

          2     表示读配置状态命令  

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

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

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

参数说明:!     分界符。

          AA   代表模块地址。

          TT   代表类型编码。

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

          FF    见表4

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

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

应用举例:  用户命令    $302(cr)

            模块应答    !300F0600(cr)

说    明:!     分界符。

          30    表示模拟量输出模块地址为30H 。       

          00    表示输出类型代码。

          06    表示波特率9600 baud。

00    表示数据格式为工程单位,禁止校验和。

 5、偏移校准命令

说    明:校准模块通道N的输出值零点偏移。

命令格式:$AA1N(cr)

参数说明:$     分界符。

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

  1. 表示偏移校准命令。

N     通道代号 07

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

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

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

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

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

          AA   代表模块地址

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

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

当对一个模拟量输出模块校准时,先校准偏移命令后,再校准增益。         

在校准时,模拟量输出模块需在要校准的通道上连上万用表监测输出信号,通过命令集第一条命令来设置模拟量输出,调节到万用表里显示的输出信号为零点值,然后输入校准偏移命令,具体校准方法请看校准模块章节。

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

应用举例:  用户命令    $0110(cr)

            模块应答    !01(cr)

说    明:对地址01H模块的通道0进行偏移校准。

6、增益校准命令

说明:校准模块通道N的输出值满度增益。

命令格式:$AA0N(cr)

参数说明:$     分界符。

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

  1. 表示增益校准命令。

N     通道代号 07

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

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

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

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

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

          AA   代表模块地址

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

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

当对一个模拟量输出模块校准时,先校准偏移后,再校准增益。

在校准时,模拟量输出模块需在要校准的通道上连上万用表监测输出信号,通过命令集第一条命令来设置模拟量输出,调节到万用表里显示的输出信号为满度值,然后输入校准增益命令,具体校准方法请看校准模块章节。

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

应用举例:  用户命令    $0100(cr)

            模块应答    !01(cr)

说    明:对地址01H模块的通道0进行增益校准。

7、读模块名称命令

说明:对指定一个模拟量输出模块读模块名称。

命令格式:$AAM(cr)

参数说明:$     分界符。

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

          M    表示读模块名称命令  

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

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

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

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

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

          AA   代表输出模块地址。

          (ModuleName) 模块名称可以为IBF21、IBF33或IBF71等等,代表你使用的模块型号         

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

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

应用举例:  用户命令    $08M(cr)

            模块应答    !08IBF33 (cr)

说    明:在地址08H模块为IBF33

8、通道N的模拟量输出值回读命令

说    明:模拟量输出模块通道N模拟输出值回读,上电输出值回读。如果没有输入过设置命令,则回复错误。

命令格式:$AADN(cr)

参数说明:$     分界符。

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

          D     表示模拟量输出值回读命令。

          N     通道代号 0~7

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

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

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

参数说明:!     分界符。

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

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

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

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

应用举例:  用户命令    $01D0 (cr)

            模块应答    !01+12.000 (cr)

说    明:地址01H模块上通道0的当前的输出值是 +12.000mA(数据格式是工程单位)。