产品概述:
IPO D/A系列产品实现主机RS-485/232接口信号隔离转换成标准模拟信号,用以控制远程设备。IPO系列产品可应用在 RS-232/RS-485总线工业自动化控制系统,4-20mA,0-5V,0-10V等标准信号输出,用来控制工业现场的执行设备,控制设备以及显示仪表等等。产品包括电源隔离,信号隔离、线性化,D/A转换和RS-485串行通信。每个串口最多可接256只 IPO系列模块,通讯方式采用ASCII码通讯协议或MODBUS RTU通讯协议,其指令集兼容于ADAM模块,波特率可由代码设置,能与其他厂家的控制模块挂在同一RS-485总线上,便于计算机编程。IPO D/A系列产品是基于单片机的智能监测和控制系统,所有的用户设定的校准值,地址,波特率,数据格式,校验和状态等配置信息都储存在非易失性存储器EEPROM里。IPO D/A 系列产品按工业标准设计、制造,信号输出 / 通讯接口之间隔离,可承受3000VDC隔离电压,抗干扰能力强,可靠性高。工作温度范围- 45℃~+80℃。
IPO通用参数:
(typical @ +25℃,Vs为24VDC)
输出类型: 电流输出/电压输出
精 度: 0.2%
输出失调: 电流输出±0.5uA/℃ ,电压输出±0.1mV/℃
温度漂移: ±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、38400bps)可软件选择
地址(0~255)可软件选择
通讯响应时间:100ms
工作电源: +8~32VDC宽供电范围,内部有防反接和过压保护电路
功率消耗: 小于1.5W
工作温度: -45~+80℃
工作湿度: 10~90% (无凝露)
存储温度: - 45~+80℃
存储湿度: 10~95% (无凝露)
隔离耐压: 通讯接口/输出:3KVDC,1分钟,漏电流 1mA
其中通讯接口和电源共地。
耐冲击电压: 3KVAC,1.2/50us(峰值)
外形尺寸: 106x79x25mm
产品特点:
--低成本、小体积模块化设计
--RS-485/232接口,隔离转换成标准模拟信号输出
--模拟信号输出优于0.2%
--可以程控校准模块输出
--信号输出/通讯接口之间隔离耐压3000VDC
--宽电源供电范围:8~32VDC
--可靠性高,编程方便,易于安装和布线
--用户可编程设置模块地址、波特率等
--可设置成主机来读取IPO产品数据实现远程采集
--支持Modbus RTU 通讯协议
典型应用:
--标准模拟信号输出
--智能楼宇控制、安防工程等应用系统
--RS-232/485总线工业自动化控制系统
--工业现场控制信号隔离及长线传输
--设备运行调试与控制
--传感器信号的远程传输及信号还原
--工业现场执行器数据给定
--医疗、工控产品开发
--4-20mA信号输出
IPO D/A功能简介:
IPO D/A信号隔离转换模块,可以用来输出一路电压或电流信号,也可以用来输出两路可以共地的电流或电压信号。
1、 模拟信号输出12位输出,产品出厂前所有信号输出范围已全部校准。在使用时,用户也可以很方便的自行编程校准。具体电流或电压输出量程请看产品选型,输出两路信号时两路输出选型必须相同。
2、 通讯协议
通讯接口: 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、 抗干扰
可根据需要设置校验和。模块内部有瞬态抑制二极管,可以有效抑制各种浪涌脉冲,保护模块,内部的数字滤波,也可以很好的抑制来自电网的工频干扰。
初始化IPO模块:
所有的IPO模块,如果使用 RS-485网络,必须分配一个的地址代码,地址代码取值为16进制数在00和FF之间。但是,所有全新的IPO模块都使用一个工厂的初始设置,如下所示:
地址代码为01
波特率9600 bps
禁止校验和
由于新模块的地址代码都是一样的,他们的地址将会和其他模块矛盾,所以当你组建系统时,你必须重新配置每一个模拟量输出模块地址。可以在接好IPO模块电源线和RS485通讯线后,通过配置命令来修改IPO模块的地址。波特率,校验和状态,通讯协议也需要根据用户的要求而调整。而在修改波特率,校验和状态,通讯协议之前,必须让模块先进入缺省状态,否则无法修改。
让模块进入缺省状态的方法:
IPO模块都有一个特殊的标为INIT的管脚。将INIT管脚短路接到地线(GND管脚)后,再接通电源,此时模块进入缺省状态。在这个状态时,模块的配置如下:
地址代码为00
波特率9600 bps
禁止校验和
这时,可以通过配置命令来修改IPO模块的波特率,校验和状态等参数,通过设置模块的通讯协议命令来选择通讯协议。在不确定某个模块的具体配置时,也可以通过安装配置跳线,使模块进入缺省状态,再对模块进行重新配置。如果用户需要将模块设置为MODBUS RTU通讯协议,请看MODBUS通讯协议章节的有关说明。
IPO字符协议命令集:
命令由一系列字符组成,如首码、地址ID,变量、可选校验和字节和一个用以显示命令结束符(cr)。主机除了带通配符地址“**”的同步的命令之外,只指挥一个IPO模块。
命令格式:(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、设定通道N的模拟量输出值命令
说 明:以当前配置的数据格式,设定模拟量输出模块通道N模拟输出值。
命令格式:#AAN(data)(cr)
参数说明:# 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H和31H。
N 通道代号 0或1。换成十六进制为30H或31H。
(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 模块地址,取值范围 00~FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H和31H。
S 表示要设置上电或复位后的模拟量输出值。
N 通道代号 0或1。换成十六进制为30H或31H。
(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 模块地址,取值范围 00~FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H和31H。
NN 代表新的模块16进制地址,数值NN的范围从00到FF。
TT 用16进制代表类型编码。 IPO产品必须设置为00。
CC 用16进制代表波特率编码。
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 类型代码,IPO产品必须设置为00。
06 表示波特率9600 baud。
00 表示数据格式为工程单位,禁止校验和。
4、读配置状态命令
说 明: 对指定一个模拟量输出模块读配置。
命令格式:$AA2(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
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 模块地址,取值范围 00~FF(十六进制)。
1 表示偏移校准命令。
N 通道代号 0~1
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:! AA (cr) 命令有效。
?AA(cr) 命令无效或非法操作。
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
AA 代表模块地址
(cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:产品出厂时已经校准,用户无需校准即可直接使用。
当对一个模拟量输出模块校准时,先校准偏移命令后,再校准增益。
在校准时,模拟量输出模块需在要校准的通道上连上万用表监测输出信号,通过命令集条命令来设置模拟量输出,调节到万用表里显示的输出信号为零点值,然后输入校准偏移命令,具体校准方法请看校准模块章节。
假如语法错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $0110(cr)
模块应答 !01(cr)
说 明:对地址01H模块的通道0进行偏移校准。
6、增益校准命令
说明:校准模块通道N的输出值满度增益。
命令格式:$AA0N(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
0 表示增益校准命令。
N 通道代号 0~1
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:!AA(cr) 命令有效。
?AA(cr) 命令无效或非法操作。
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
AA 代表模块地址
( (cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:产品出厂时已经校准,用户无需校准即可直接使用。
当对一个模拟量输出模块校准时,先校准偏移后,再校准增益。
在校准时,模拟量输出模块需在要校准的通道上连上万用表监测输出信号,通过命令集条命令来设置模拟量输出,调节到万用表里显示的输出信号为满度值,然后输入校准增益命令,具体校准方法请看校准模块章节。
假如语法错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $0100(cr)
模块应答 !01(cr)
说 明:对地址01H模块的通道0进行增益校准。
8、读模块名称命令
说明:对指定一个模拟量输出模块读模块名称。
命令格式:$AAM(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
M 表示读模块名称命令
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:!AA(ModuleName)(cr) 命令有效。
?AA(cr) 命令无效或非法操作
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
AA 代表输出模块地址。
(ModuleName) 模块名称可以为IPO、IPO或WJ71等等,代表你使用的模块型号
(cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:假如语法错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $08M(cr)
模块应答 !08IPO (cr)
说 明:在地址08H模块为IPO。
9、通道N的模拟量输出值回读命令
说 明:模拟量输出模块通道N模拟输出值回读,上电输出值回读。
命令格式:$AADN(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
D 表示模拟量输出值回读命令。
N 通道代号 0或1
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:!AA(data)(cr) 命令有效。
?AA(cr) 命令无效或非法操作。
参数说明:! 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
(data) 代表回读到的通道N输出的模拟量数据。数据格式可以是工程单位,FSR的百分比,16进制补码。详细说明见命令集第3条。
+ (cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:假如语法错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $01D0 (cr)
模块应答 !01+12.000 (cr)
说 明:地址01H模块上通道0的当前的输出值是 +12.000mA(数据格式是工程单位)。
9、设置通讯协议命令
说明:设置模块的通讯协议为命令集定义的字符协议或者Modbus RTU协议。
命令格式:$AAPV(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
P 表示设置通讯协议命令
V 协议代号,可为0或1,换成十六进制为30H或31H。
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)
表4 输出范围和数据格式
应用举例:
1、输出范围为A4: 4~20mA,设置输出为4 mA,命令如下:
工程单位 用户命令 #010+04.000(cr)
满刻度的百分比 用户命令 #010+020.00(cr)
16进制的补码 用户命令 #010333(cr)
2、输出范围为U1: 0~5V,设置输出为3V,命令如下:
工程单位 用户命令 #010+3.0000(cr)
满刻度的百分比 用户命令 #010+060.00(cr)
16进制的补码 用户命令 #010999(cr)
校准模块:
产品出厂时已经校准,用户无需校准即可直接使用。
使用过程中,你也可以运用产品的校准功能来重新校准模块。在校准时,模块需要使用一个高万用表来监测模块的输出。
为了提高校准,建议使用以下设备来校准:
1、一个5位半或更高的电压/电流测量仪表监测输出信号的准确性
0
校准过程
1. 选择要校准的输出通道,按照模块的输出范围接上对应的电压或电流测量仪表。
2. 设置模拟量输出模块需要校准的通道输出零点信号,通常为0mA、4mA或0V等。通过命令集条命令来设置模拟量输出,调节到测量仪表里显示的输出信号为零点值。
3. 待信号稳定后,向模拟量输出模块发送 偏移校准 $AA1N 命令(N代表当前正在校准的通道代号,0或1)。
4. 设置模拟量输出模块需要校准的通道输出满度信号。通过命令集条命令来设置模拟量输出,调节到测量仪表里显示的输出信号为满度值。
5. 待信号稳定后,向模拟量输出模块发送增益校准 $AA0N 命令(N代表当前正在校准的通道代号,0或1)。
6. 校准完成
Modbus RTU 通讯协议:
模块出厂默认协议为字符通讯协议,如果需要将模块设置为Modbus RTU通讯协议,请按以下步骤设置:
1、 将INIT引脚(第3脚)和GND引脚(第6脚)短接。
2、 正确连接电源线和通讯接口线。
3、 接通电源,模块自动进入缺省状态,通讯地址为00,波特率为9600。
4、 等待1分钟,模块初始化。
5、 发送命令$00P1(cr),检查应答,如果为!00 (cr)则设置成功。
6、 关闭电源,断开INIT引脚和GND引脚之间的连接。
7、 模块已经成功设置为Modbus RTU通讯协议方式。
模块支持的Modbus功能码有03和06。Modbus数据内容与输出的对应关系请参看表4,与字符协议的数据格式为16进制的补码时相同。