模拟信号4-20ma转rs-485/232,数据采集a/d转换模块
产品特点:
● 模拟信号采集,隔离转换 rs-485/232输出
● 用户可编程设置模块地址、波特率等
● 可靠性高,编程方便,易于应用
● 低成本、小体积模块化设计
● 信号输入 / 输出之间隔离耐压3000vdc
● 宽电源供电范围:8 ~ 32vdc
● 标准din35导轨安装,方便集中布线
● 通过rs-485/232接口可以程控校准模块精度
● 支持modbus rtu 通讯协议
● 采用12位ad转换器,测量精度优于0.1%
典型应用:
● 信号测量、监测和控制
● 设备运行监测
● rs-232/485总线工业自动化控制系统
● 工业现场数据的获取与记录
● 工业现场信号隔离及长线传输
● 传感器信号的测量
● rs-485远程i/o,数据采集
● 医疗、工控产品开发
● 智能楼宇控制、安防工程等应用系统
● 4-20ma或0-5v信号采集
产品概述:
产品实现传感器和主机之间的信号采集,用来检测模拟信号。irt系列产品可应用在 rs-232/485总线工业自动化控制系统,4-20ma / 0-5v信号测量、监测和控制,0-75mv,0-100mv等小信号的测量以及工业现场信号隔离及长线传输等等。
产品包括电源隔离,信号隔离、线性化,a/d转换和rs-485串行通信。每个串口多可接255只模块,通讯方式采用ascii码通讯协议或modbus rtu通讯协议,其指令集兼容于adam模块,波特率可由代码设置,能与其他厂家的控制模块挂在同一rs-485总线上,便于计算机编程。
irt系列产品是基于单片机的智能监测和控制系统,所有的用户设定的校准值,地址,波特率,数据格式,校验和状态等配置信息都储存在非易失性存储器eeprom里。
产品按工业标准设计、制造,信号输入 / 输出之间隔离,可承受3000vdc隔离电压,抗干扰能力强,可靠性高。工作温度范围- 45℃~+85℃。
功能简介:
信号隔离采集模块,可以用来测量一路电压或电流信号,
12位采集精度,产品出厂前所有信号输入范围已全部校准。在使用时,用户也可以很方便的自行编程校准。
具体电流或电压输入量程请看产品选型。
通讯接口: 1路标准的rs-485通讯接口或1路标准的rs-232通讯接口,订货选型时注明。
通讯协议:支持两种协议,命令集定义的字符协议和modbus rtu通讯协议。可通过编程设定使用那种通讯协议,能实现与多种品牌的plc、rtu或计算机监控系统进行网络通讯。
数据格式:10位。1位起始位,8位数据位,1位停止位。
通讯地址(0~255)和波特率(2400、4800、9600、19200、38400bps)均可设定;通讯网络长距离可达1200米,通过双绞屏蔽电缆连接。
通讯接口高抗干扰设计,±15kv esd保护,通信响应时间小于100ms。
3、 抗干扰
可根据需要设置校验和。模块内部有瞬态抑制二极管,可以有效抑制各种浪涌脉冲,保护模块,内部的数字滤波,也可以很好的抑制来自电网的工频干扰。
产品选型:
irt - u(a)□ – □
输入电压或电流信号值 通讯接口
u1:0-5v a1:0-1ma 485: 输出为rs-485接口
u2:0-10v a2:0-10ma 232: 输出为rs-232接口
u3:0-75mv a3:0-20ma
u4:0-2.5v a4:4-20ma
u5:0-±5v a5:0-±1ma
u6:0-±10v a6:0-±10ma
u7:0-±100mv a7:0-±20ma
u8:用户自定义 a8:用户自定义
选型举例1: 型号:irt a4-485 表示4-20ma信号输入,输出为rs-485接口
选型举例2: 型号:irt u1-232 表示0-5v信号输入,输出为rs-232接口
通用参数:
(typical @ +25℃,vs为24vdc)
输入类型: 电流输入 / 电压输入
耐冲击电压: 3kvac, 1.2/50us(峰值)
常模抑制(nmr): 60 db (1kω source imbalance @ 50/60 hz)
输入端保护: 过压保护,过流保护
精 度: 0.1%
温度漂移: ±30 ppm/℃ (±50 ppm/℃, 大)
共模抑制(cmr): 120 db(1kω source imbalance @ 50/60 hz)
输入电阻: 50ω (4-20ma/0-20ma/0-±20ma电流输入)
100ω (0-10ma/0-±10ma电流输入)
1kω (0-1ma/0-±1ma电流输入)
大于1mω(电压输入)
带 宽: -3 db 10 hz
转换速率: 10 sps
通讯响应时间:100 ms 大
工作电源: +8 ~ 32vdc宽供电范围,内部有防反接和过压保护电路
存储温度: - 45 ~ +80℃
通 讯: 协议 rs-485 或 rs-232 标准字符协议 和 modbus rtu通讯协议
波特率(2400、4800、9600、19200、38400bps)可软件选择
地址(0~255)可软件选择
存储湿度: 10 ~ 95% (无凝露)
工作湿度: 10 ~ 90% (无凝露)
功率消耗: 小于1w
工作温度: - 45 ~ +80℃
隔离耐压: 输入 / 输出 之间: 3kvdc,1分钟,漏电流 1ma
其中输出和电源共地。
外形尺寸: 106.7 mm x 79 mm x 25mm
引脚定义:
引脚 | 名 称 | 描 述 | 引脚 | 名 称 | 描 述 |
1 | pw+ | 电源正端 | 7 | in+ | 模拟信号输入正端 |
2 | gnd | 电源负端 | 8 | in- | 模拟信号输入负端 |
3 | init | 初始状态设置 | 9 | nc | 空脚 |
4 | d+ | rs-485信号正端 | 10 | nc | 空脚 |
5 | d- | rs-485信号负端 | 11 | nc | 空脚 |
6 | gnd | 电源负端,数字信号输出地 | 12 | nc | 空脚 |
初始化模块:
所有的模块,如果使用 rs-485网络,必须分配一个独一无二的地址代码,地址代码取值为16进制数在00和ff之间。但是,所有全新的模块都使用一个工厂的初始设置,如下所示:
地址代码为01
波特率9600 bps
禁止校验和
由于新模块的地址代码都是一样的,他们的地址将会和其他模块矛盾,所以当你组建系统时,你必须重新配置每一个模块地址。可以在接好模块电源线和rs485通讯线后,通过配置命令来修改模块的地址。波特率,校验和状态,通讯协议也需要根据用户的要求而调整。而在修改波特率,校验和状态,通讯协议之前,必须让模块入缺省状态,否则无法修改。
让模块进入缺省状态的方法:
模块都有一个特殊的标为init的管脚。将init管脚短路接到地线(gnd管脚)后,再接通电源,此时模块进入缺省状态。在这个状态时,模块的配置如下:
地址代码为00
波特率9600 bps
禁止校验和
这时,可以通过配置命令来修改模块的波特率,校验和状态等参数,通过设置模块的通讯协议命令来选择通讯协议。在不确定某个模块的具体配置时,也可以通过安装配置跳线,使模块进入缺省状态,再对模块进行重新配置。如果用户需要将模块设置为modbus rtu通讯协议,请看modbus通讯协议章节的有关说明。
字符协议命令集:
命令由一系列字符组成,如首码、地址id,变量、可选校验和字节和一个用以显示命令结束符(cr)。主机除了带通配符地址“**”的同步的命令之外,一次只指挥一个模块。
命令格式:(leading code)(addr)(command)[data][checksum](cr)
(leading code) 首码是命令中的个字母。所有命令都需要一个命令首码,如%,$,#,@,...等。 1- 字符
(addr) 模块的地址代码, 如果下面没有指定,取值范围从 00~ff (十六进制)。 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、读测量数据命令
说 明:以当前配置的数据格式,从模块中读回模拟输入端的测量数据。
命令格式:#aa(cr)
参数说明:# 分界符。十六进制为23h
aa 模块地址,取值范围 00~ff(十六进制)。出厂地址为01,转换成十六进制为每个字符的ascii码。如地址01换成十六进制为30h和31h。
(cr) 结束符,上位机回车键,十六进制为0dh。
应答格式:>(data)(cr) 命令有效。
?aa(cr) 命令无效或非法操作。
参数说明:> 分界符。十六进制为3eh
(data) 代表读回的数据。数据格式可以是工程单位,fsr的百分比,16进制补码。详细说明见命令集第2条。十六进制为每个字符的ascii码。
(cr) 结束符,上位机回车键,十六进制为0dh。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。如果你使用的串口通讯软件输入不了回车键字符,请切换到十六进制格式进行通讯。
应用举例: 用户命令(字符格式) #01(cr)
模块应答(字符格式) >+16.000 (cr)
(十六进制格式) 3e2b31362e3030300d
说 明:在地址01h模块上输入是(数据格式是工程单位):+16.000ma
2、配置模块命令
说 明:对一个模块设置地址,输入范围,波特率,数据格式,校验和状态。配置信息储存在非易失性存储器eeprom里。
命令格式:%aannttccff(cr)
参数说明:% 分界符。
aa 模块地址,取值范围 00~ff(十六进制)。
nn 代表新的模块16进制地址,数值nn的范围从00到ff。
tt 用16进制代表类型编码。 产品必须设置为00。
cc 用16进制代表波特率编码。
波特率代码 | 波特率 |
04 | 2400 baud |
05 | 4800 baud |
06 | 9600 baud |
07 | 19200 baud |
08 | 38400 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)
(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 类型代码,产品必须设置为00。
06 表示波特率9600 baud。
00 表示数据格式为工程单位,禁止校验和。
3、读配置状态命令
说 明: 对指定一个模块读配置。
命令格式:$aa2(cr)
参数说明:$ 分界符。
aa 模块地址,取值范围 00~ff(十六进制)。
2 表示读配置状态命令
(cr) 结束符,上位机回车键,十六进制为0dh。
应答格式:!aattccff(cr) 命令有效。
?aa(cr) 命令无效或非法操作。
参数说明:! 分界符。
aa 代表输入模块地址。
tt 代表类型编码。
cc 代表波特率编码。见表2
ff 见表3
(cr) 结束符,上位机回车键,十六进制为0dh。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $302(cr)
模块应答 !300f0600(cr)
说 明:! 分界符。
30 表示模块地址为30h 。
00 表示输入类型代码。
06 表示波特率9600 baud。
00 表示数据格式为工程单位,禁止校验和。
4、偏移校准命令
说 明:校准一个输入模块的偏移。
命令格式:$aa1(cr)
参数说明:$ 分界符。
aa 模块地址,取值范围 00~ff(十六进制)。
1 表示偏移校准命令。
(cr) 结束符,上位机回车键,十六进制为0dh。
应答格式:! aa (cr) 命令有效。
?aa(cr) 命令无效或非法操作。
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
aa 代表输入模块地址
(cr) 结束符,上位机回车键,十六进制为0dh。
其他说明:产品出厂时已经校准,用户无需校准即可直接使用。
当对一个模块校准时,先校准偏移命令后,再校准增益。
在校准时,模块需在要输入端连上合适的输入信号。不同的输入范围需要不同的输入电压或电流。具体校准方法请看校准模块章节。
假如格式错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $231(cr)
模块应答 !23(cr)
说 明:对地址23h模块进行偏移校准。
5、增益校准命令
说明:校准一个输入模块的增益。
命令格式:$aa0(cr)
参数说明:$ 分界符。
aa 模块地址,取值范围 00~ff(十六进制)。
0 表示增益校准命令。
(cr) 结束符,上位机回车键,十六进制为0dh。
应答格式:!aa(cr) 命令有效。
?aa(cr) 命令无效或非法操作。
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
aa 代表输入模块地址
(cr) 结束符,上位机回车键,十六进制为0dh。
其他说明:产品出厂时已经校准,用户无需校准即可直接使用。
当对一个模块校准时,先校准偏移后,再校准增益。
在校准时,模块需在输入端连上合适的输入信号。不同的输入范围需要不同的输入电压或电流。具体校准方法请看校准模块章节。
假如格式错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $230(cr)
模块应答 !23(cr)
说 明:对地址23h模块进行增益校准。
6、读模块名称命令
说明:对指定一个模块读模块名称。
命令格式:$aam(cr)
参数说明:$ 分界符。
aa 模块地址,取值范围 00~ff(十六进制)。
m 表示读模块名称命令
(cr) 结束符,上位机回车键,十六进制为0dh。
应答格式:!aa(modulename)(cr) 命令有效。
?aa(cr) 命令无效或非法操作
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
aa 代表输入模块地址。
(modulename) 模块名称wj21
(cr) 结束符,上位机回车键,十六进制为0dh。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $08m(cr)
模块应答 !08wj21 (cr)
说 明:在地址08h模块为wj21。
7、设置通讯协议命令
说明:设置模块的通讯协议为命令集定义的字符协议或者modbus rtu协议。
命令格式:$aapv(cr)
参数说明:$ 分界符。
aa 模块地址,取值范围 00~ff(十六进制)。
p 表示设置通讯协议命令
v 协议代号,可为0或1
0:命令集定义的字符协议
1:modbus rtu协议
(cr) 结束符,上位机回车键,十六进制为0dh。
应答格式:!aa(cr) 命令有效。
?aa(cr) 命令无效或非法操作
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
aa 代表输入模块地址。
(cr) 结束符,上位机回车键,十六进制为0dh。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。
设置通讯协议命令必须在缺省状态下才会有效。
应用举例1: 用户命令 $00p1(cr)
模块应答 !00 (cr)
说 明: 设置通讯协议为modbus rtu协议。
应用举例2: 用户命令 $00p0(cr)
模块应答 !00 (cr)
说 明: 设置通讯协议为命令集定义的字符协议。
输入范围和数据格式:
模块使用了3种数据格式: 00:工程单位(engineering units)
01:满刻度的百分比(% of fsr)
10:16进制的补码(twos complement)
输入范围 | 数据格式 | 正满量程 | 零 | 负满量程 | 显示的分辨率 |
a1:0-1ma a5:0-±1ma | 工程单位 | +1.0000 | ±0.0000 | -1.0000 | 0.1ua |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
a2:0-10ma a6:0-±10ma | 工程单位 | +10.000 | ±00.000 | -10.000 | 1ua |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
a3:0-20ma a4:4-20ma a7:0-±20ma | 工程单位 | +20.000 | ±00.000 | -20.000 | 1ua |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
u1:0-5v u5:0-±5v | 工程单位 | +5.0000 | ±0.0000 | -5.0000 | 100uv |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
u2:0-10v u6:0-±10v | 工程单位 | +10.000 | ±00.000 | -10.000 | 1mv |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
u3:0-75mv | 工程单位 | +75.000 | ±00.000 | -75.000 | 1uv |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
u4:0-2.5v | 工程单位 | +2.5000 | ±0.0000 | -2.5000 | 100uv |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
u7:0-100mv | 工程单位 | +100.00 | ±000.00 | -100.00 | 10uv |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb | |
a8:用户自定义 u8:用户自定义 | 工程单位 | +100.00 | ±000.00 | -100.00 | 0.01% |
满刻度的百分比 | +100.00 | ±000.00 | -100.00 | 0.01% | |
16进制的补码 | 7fffff | 000000 | 800000 | 1lsb |
表4 输入范围和数据格式
应用举例:
1、输入范围为a4: 4~20ma,输入为4 ma时:
用户命令 #01(cr)
工程单位 模块应答 >+04.000(cr)
满刻度的百分比 模块应答 >+020.00(cr)
16进制的补码 模块应答 >199999(cr)
2、输入范围为u1: 0~5v,输入为3v时:
用户命令 #01(cr)
工程单位 模块应答 >+3.0000(cr)
满刻度的百分比 模块应答 >+060.00(cr)
16进制的补码 模块应答 >4ccccc(cr)
校准模块:
产品出厂时已经校准,用户无需校准即可直接使用。
使用过程中,你也可以运用产品的校准功能来重新校准模块。在校准时,模块需要输入合适的信号,不同的输入范围需要不同的输入信号。
为了提高校准精度,建议使用以下设备来校准:
1、一个输出稳定,噪声很低的直流电压/电流信号源
2、一个5位半或更高精度的电压/电流测量仪表监测输入信号的准确性
校准过程
1. 按照模块的输入范围接上对应的输入信号。
其中模块零点在输入0时校准,满度在输入满度的120%时校准。例如4-20ma输入时,校准零点时 输入0ma,校准满度时输入24ma.。0-5v输入时,校准零点时输入0v,校准满度时输入6v。
2. 给模块输入零点信号,通常为0ma或0v。
3. 待信号稳定后,向模块发送 偏移校准 $aa1命令。
4. 给模块输入满度的120%的电流或电压信号。
5. 待信号稳定后,向模块发送增益校准 $aa0命令。
6. 校准完成
modbus rtu 通讯协议:
模块出厂默认协议为字符通讯协议,如果需要将模块设置为modbus rtu通讯协议,请按以下步骤设置:
1、 将init引脚(第8脚)和gnd引脚(第7脚)短接。
2、 正确连接电源线和通讯接口线。
3、 接通电源,模块自动进入缺省状态,通讯地址为00,波特率为9600。
4、 等待1分钟,模块初始化。
5、 发送命令$00p1(cr),检查应答,如果为!00 (cr)则设置成功。
6、 关闭电源,断开init引脚和gnd引脚之间的连接。
7、 模块已经成功设置为modbus rtu通讯协议方式。
寄存器说明:
地址4x(plc) | 地址(pc,dcs) | 数据内容 | 属性 | 数据说明 |
40001 | 0001 | 输入的模拟量 | 只读 | 测量到的数据 |
40211 | 0211 | 模块名称 | 只读 | 高位:0x00 低位:0x21 |