1、1一产品特点DUT 系列数据采集模块将 温 度 传 感 器 ( 热 电 阻 、 热 电 偶 等 ) 的输 出 信 号 或 电 流 、 电 压 等 信 号 直 接 转 换 成 数 字 量 , 通 过 RS-485 总 线 及标 准 通 信 协 议 将 数 据 传 送 给 计 算 机 , 还 可 以 通 过 标 准 异 步 并 行 接 口 传送 给 PLC 或 嵌 入 式 系 统 中 。 在 模 块 内 由 89C52 单 片 机 管 理 模 块 自 动 工作 , 通道转换、ADC 启动、采集数据、参比端补偿(热电偶) 、引线电阻补偿(热电阻) 、数字校零、非线性校正和数据处理等,主机发送读取数据
2、命令,模块输出已经线性化了的温度的数字量。通讯协议兼容台湾研华 ADAM4000 系列 松下 PLC 的通讯协议及MODBUS 协议,可以与大多数组态软件直接连接,不需要额外的驱动程序。本产品主 要 用 于 各 种 现 场 的 数 据 采 集 和 控 制 系 统 。 产 品 特 点如 下 :1、 89C52 单片机为核心,集成电路全部采用 CMOS 器件;2、 隔离 DCDC 变换器和隔离 RS485 输出,以及隔离标准异步并行输出接口,全浮空电路设计;3、 采用三线制热电阻测量电路,自动补偿引线电阻;4、 模块内置测温元件,软件完成热电偶参比端温度补偿;5、 无电位计设计,软件校准零点和满度
3、,保证各个通道的精度和一致性;6、 采用数字校零技术消除运放的失调和漂移;27、 软件选择各种类型传感器,通用性强;8、 输入加有完善的保护电路,误加几十伏高压不会损坏;9、 电源监视电路和看门狗电路,保证恶劣环境下可靠运行。二、技术指标1、 传感器:PT100/Cu50/Cu100,各种热电偶,电流、电压2、 路 数:8 路(热电偶:7 路+1 路环境温度)3、 范 围:温度传感器全范围,050mV,05V,420mA4、 分辨率:0.1,300 码/mV,2000 码/V,500 码/mA5、 电路精度:0.2, 2 字6、 转换时间:有滤波:2.16S/8 通道;(并口时间设置为 10
4、mS 读完 8 个通道时间为 2160=640 为有信号+1520 为无信号; 20 mS 读完 8 个通道时间为 2160=1280 为有信号+880 为无信号; 30 mS 读完 8 个通道时间为 2160=1920 为有信号+240 为无信号;无滤波:0.72S/8 通道;(并口时间设置为10 mS 读完 8 个通道时间为 720=640 为有信号+80 为无信号20 mS 读完 8 个通道时间为 6400=1280 为有信号+5120 为无信号40 mS 读完 8 个通道时间为 6400=2560 为有信号+3840 为无信号60 mS 读完 8 个通道时间为 6400=3840 为有
5、信号+2560 为无信号37、 输 出:隔离 RS485,隔离异步并行接口8、 电源电压:930V9、 功 耗:(data)(CR) 读数据 读通道 N 的值#AA(CR) (data)(CR) 读数据 读取 8 个通道数据$AA2(CR) !AATTCCFF(CR) 读配置 取波特率$AA3(CR) !AASS(CR) 读传感器 模块传感器$AA6(CR) !AAFF(CR) 通道状态 恒为 FF$AAM(CR) !AA4017(CR) 模块名 为 4017$AAF(CR) !AAD1.0(CR) 软件版本 为 D1.0说明:研华协议兼容研华 ADAM4017 命令集,但与ADAM4017
6、的差别是:无奇偶校验,自动识别累加和。命令详述:(1) %AANN名称: 修改模块地址语法: %AANN(CR)%为定界符AA(范围 00FFH)表示要修改模块的两位十六进制地址15NN 将模块修改为新的十六进制地址,地址范围 00FFH(CR)为结束符,即回车(0DH)回答: 如果命令有效:!AA(CR)!定界符,表示收到有效命令AA(范围 00FF)新的输入模块的两位十六进制地址(CR)为结束符,即回车(0DH)注:在通讯命令中,如果模块检测到语法错、通讯错或指定的地址不存在,则没有回答。(2) #AAN名称:读模块中通道 N 的数值说明:本命令从模块(地址为 AAH)8 个通道中的一个读
7、回数据语法:#AAN(CR)#为定界符AA(范围 00FF)表示模块的两位十六进制地址N 为将要读出的通道号,N 值为 07(CR)为结束符,即回车(0DH)回答:(data)(CR)为定界符(data)是通道号为 N 的测量数据值,该数据以 “+”或“- ”开头,后面跟 4 位十进制整数和一位小数(温度 0.1分辨率输出) ,或以“+”或“- ”开头后面跟 6 位十进制整数(电压、电流和0.01分辨率温度输出) 。传感器开路输出-0999.9 或-00999916(CR)为结束符,即回车(0DH)例、命令:#430(CR)回答:+0408.6(CR)本命令请求从地址为 43H 的模块读回通道
8、 0 的温度值。模块应答通道 0 的温度值为+408.6 。(3) #AA名称:读模块中 8 个通道的数值说明:本命令从模块(地址为 AAH)读回 8 个通道的数据语法:#AA(CR)#为定界符AA(范围 00FF)表示模块的两位十六进制地址(CR)为结束符,即回车(0DH)回答:(data)(CR)为定界符(data)是 8 个通道当前的测量数据值。每个通道的数据格式与#AAN 命令中对(data) 的说明相同(CR)为结束符,即回车(0DH)例、命令:#43(CR)回答:+0408.6+0408.6+0408.6+0408.6+0408.6+0408.6+0408.6+0408.6(CR)
9、本命令请求从地址为 43H 的模块读回 8 个通道的温度值。模块应答 8 个通道的温度值均为+408.6。17(4) $AA2名称:读模块的配置状态说明:本命令从地址 AA 的模块读回配置数据语法:$AA2(CR)$为定界符AA(范围 00FF)表示要查询模块的两位十六进制地址2 为读配置状态命令(CR)为结束符,即回车(0DH)回答:如果命令有效:!AATTCCFF(CR)!为定界符AA(范围 00FF)表示输入模块的两位十六进制地址TT 类型码,本模块返回值为 0BHCC 表示波特率代码,如表 4 所示表 4 研华协议通讯波特率码表代码 波特率 代码 波特率03 1200 06 96000
10、4 2400 07 1920005 4800 08 38400FF 数据格式,本模块返回 80H例、命令:$432(CR)回答:!430B0680(CR)18地址为 43H(字符 C),波特率为 9600bps。(5) $AA3名称:读 DUT 模块传感器类型说明:本命令从地址 AA 的模块读回传感器类型码语法:$AA3(CR)$为定界符AA(范围 00FF)表示要查询模块的两位十六进制地址3 为读传感器类型码命令(CR)为结束符,即回车(0DH)回答:如果命令有效:!AASS(CR)!为定界符AA(范围 00FF)表示模块的两位十六进制地址SS 用十六进制码表示的传感器类型码,参见表 1例、
11、命令:$433(CR)回答:!430D(CR)滤波方式,PT100 传感器温度采集模块。(6) $AA6名称:读通道状态说明:本命令从地址 AA 的模块读回 8 个通道状态语法:$AA6(CR)$为定界符AA(范围 00FF)表示要查询模块的两位十六进制地址196 为读通道状态命令(CR)为结束符,即回车(0DH)回答:如果命令有效:!AAVV(CR)!为定界符AA(范围 00FF)表示输入模块的两位十六进制地址VV 为 8 位二进制值,分别表示 8 个通道状态,“0”表示通道禁止,“1”表示通道允许,本模块返回 FFH(7) $AAF名称:读防火墙软件版本号说明:本命令从地址 AA 的模块读
12、防火墙版本号语法:$AAF(CR)$为定界符AA(范围 00FF)表示要查询模块的两位十六进制地址F 为读防火墙版本号命令(CR)为结束符,即回车(0DH)回答:如果命令有效:!AAD1.0(CR)防火墙软件版本被设为 1.0(8) $AAM名称:读模块名称说明:本命令从地址 AA 的模块读模块名语法:$AAF(CR)$为定界符20AA(范围 00FF)表示要查询模块的两位十六进制地址M 为读模块名命令(CR)为结束符,即回车(0DH)回答:如果命令有效:!AA4017(CR)本模块名定为 4017,命令完全兼容 ADAM40172、测试、修改地址程序 DUTADAMDUT-4000 系列温度
13、、电流、电压采集模块支持研华协议时,命令完全兼容研华 ADAM4017,软件 DUTADAM.EXE 用以测试模块和修改地址。也可由 ADAM.EXE 或 ADAM304.EXE 测试和修改模块地址。出厂时模块各个通道的零点和满度已经校准好,足以保证测量精度要求,用户无需再校准。3、GENIE 软件使用研华的组态软件 GENIE 可直接读取模块数据,使用方法和ADAM4017 完全相同。温度数据含一个小数位,单位为;电流和电压数据为码数,标度变换可以由驱动程序完成。传感器悬空输出值为-999.9 。DUT 模块自动识别检验和,在 GENIE 软件中可根据需要设置。另外,组态王等一些组态软件也支
14、持这种通讯协议,用户可参阅相应组态软件手册进行配置。21(五)MODBUS 协议MODBUS 最初是为了加强 PC 机对某些 PLC 相互信息交互而设计的,随后为众多 PLC 厂家所接受,并成为一种通用的通讯标准。MODBUS 工作的基本过程是一系列周而复始的呼叫应答,呼叫为主方设备(通常是 PC 机)发出,指向挂在总线某处具有确定地址的从方设备(例如 DUT-4000 系列模块) ,从方则以应答方式确认收到呼叫并返回主方所要的数据。1、ASCII 方式呼叫与应答的信息用 16 进制的字符 09、AF 表示,每两个ASCII 字符组成一个信息字节,字符冒号 表示待传递信息的起始处,字符 (回车
15、) 、(换行)表示此信息传送结束。MODBUS 中的 ASCII 码方式多用于实时性要求不高的场合。2、RTU 方式呼叫与应答均用二进制字节的数值表达,总线上传送的信息时间性要求十分严格。因 RTU 方式所有内容均可能为信息,因此无法用特殊字符表示数据块的起始和结束。信息起始和结束的定位靠预先定义的无传输字节时间宽度来辨别,通常取传输 3.5 个字节所需要的时间。显然,该宽度与通讯波特率有关。当总线上呈现 3.5 个字节周期或更长的静止期后,出现的第一个字节即为另一个信息的起始点,该字节总是针对某一从方设备的地址信息。一串信息内容字节过后再次出现 3.5 个字节周期宽度,表示此串信息结束。22
16、3、DUT-4000 系列 MODBUS 协议的数据(1)字符格式:数据为一个起始位、8 个数据位、一个停止位、无奇偶校验位。(2)波特率:波特率如表 2 所示,由波特率控制字选择。默认值为 03H,即9600 波特。波特率控制字可由设置程序 DUTSET 改变。4、ASCII 数据格式:(1)命令格式:呼叫 :AAFFSSSSNNNNLL应答 :AAFFXXHHHHLL其中: : 为起始符AA 从方设备地址FF 功能号,DUT-4000 系列为 04H 或 03HSSSS 起始通道NNNN 通道数XX 数据字节长度D0 D1 D2 D3 D4 D5 D6 D7数据位 停止位起始位一帧数据23
17、HHHH 数据字节LL 校验和回车换行(2)MODBUS 读取 DUT-4000 系列的命令MODBUS 协议读取模块数据的功能号是 04H 或 03H,两个功能作用相同。主机呼叫::080400000008说明: 模块地址 08H,功能码 04H,起始通道 0,读取 8 个通道数据,SUM 为一个字节的累加和转换成的两位 16 进制数 ASCII(除“:”外,所有二进制字节和的相反数) 。 起始通道可以是 07,超出这个范围命令无效;通道数为 18,超出范围无效;起始通道号+ 通道数小于 8,超过范围命令无效。 功能码也可以是 03H,即以下命令串也具有相同功能。:080300000008模
18、块应答::0804100FF60FF60FF60FF60FF60FF60FF60FF6地址 08H,功能码 04H,16 字节数据,对应 8 个通道数据,每个通道为 16 位二进制有符号补码,表示乘 10 的温度值或电流、电24压的码数,根据命令返回值可以少于 16 个字节,例子中每个通道的温度值都为 408.6(0FF6H=4086) ,SUM 为累加和。如果读取命令功能码是 03H,则返回的码也是 03H,其他相同。5、RTU 格式 起始通道可以是 07,超出这个范围命令无效;通道数为 18,超出范围无效;起始通道号+通道数小于 8,超过范围命令无效。 功能码也可以是 03H。RTU 应答
19、:地址 功能 字节数 通道 0 通道 1 通道 2 通道 3通道 4 通道 5 通道 6 通道 7 CRC 校验地址 08H,功能码 04H,返回 16 字节数据,对应 8 个通道,16个字节数据,每个通道的数据是 16 位二进制有符号数补码,本例数值都为 4086(0FF6H) 。如果读取命令中的功能码为 03H,则返回串中的功能码也是03H。6、MODBUS 协议校验ASCII 方式校验采用累加和校验方式,即将从机地址开始到串结束的所有数值相加得到一个字节的和的相反数,转换成十六进制25形式,附加在串后。RTU 方式采用 CRC-16 校验,校验多项式为(X 16+X15+X2+1) 。由
20、于低位先发送,所以校验多项式的二进制为 1010000000000001 (A001H)。 (参见 MODBUS 协议手册)(六)通过串行口采集数据1、模块与上位机连接模块与计算机通过串行口连接如图 6 所示。计算机的串行口 1或串行口 2 通过 RS232 到 RS485 转换器(可以选用 ADAM4520)转换成为 RS485 标准,各个采集模块以 RS485 总线形式和计算机相连。ADAM4520 的 DATA+和 DUT 模块的 T+相连,DATA-与 T-相连。+24V 电源也对应连接。一般一个系统可直接连接 32 个模块,超过 32 个需要加中继器。2、数据采集在工作状态下,主机仅
21、从 DUT 模块中读取数据。即主机发送读数据命令串,模块返回当前数据。模块响应时间一般小于计算机 COM1RS232RS485toADAM4520电源模块 0124V模块 02 模块 NN图 6 采集模块连接图2670mS(9600 波特时) 。若超过 70mS 没有响应,可以重发。连续三次没有响应,进行错误告警。随产品提供各种语言数据采集源程序,这些程序也可以访问我们的网页 http:/ 得到。七、隔离异步并行接口输出时序及应用模块内有一波特率控制字除用以选择串行通讯波特率和奇偶校验外,还控制 DUT-4000 的并行接口的输出时序。其中,D7=0 串行通讯无校验方式;D7=1 串行通讯奇校
22、验方式。D6=0 并行接口无条件输出,每 2.16 秒(不滤波 0.72S)输出 8 个通道数据;D6=1 并行接口请求输出,IN+和 IN-为 ON 请求输出一次数据。D5=0 并行接口半字节输出,每次输出 4 位二进制数;D5=1 并行接口字节输出,每次输出 8 位二进制数。D3D0 选择串行通讯波特率。1、无条件半字节输出时序当模块内波特率控制字的 D6=0、D5=0 选择并行无条件半字节输出,接口时序如图 7 和图 8 所示,选通脉冲 STB 可以是上升沿选通或下降沿选通,由板上的 DIP 开关 S4 选择。S4=OFF,上升沿选通(默认状态) ;S4=ON,下降沿选通。数据由 D3D
23、0 输出,每个半字节(4 位二进制)输出时间为 20mS(默认) ,选通脉冲 STB 高D7 D6 D5 D4 D3 D2 D1 D0校验 请求 字节 未用 选择波特率27电平和低电平时间各为 10mS。每个通道数据分 4 次输出,依次由低到高。数据为两个字节二进制补码,表示温度乘 10 的数据。每次连续输出 8 个通道共 16 个字节,输出时间为 640mS。模块在滤波工作方式下每 2.16S 转换完 8 个通道数据,然后按上述时序输出。不滤波方式下 0.72S 输出一次数据。并行接口的输出时间可以由设置程序设置,参见 DUTSET 说明。2、无条件字节输出时序当模块内波特率控制字的 D6=
24、0、D5=1 选择并行无条件字节输出,接口时序如图 9 和图 10 所示。选通脉冲 STB 可以是上升沿选通或下降沿选通,由板上的 DIP 开关 S4 选择。S4=OFF,上升沿选C0L1 C0L2 C0H1 C0H2 C7H1 C7H2640mS10mS 10mS图 7 无条件半字节输出上升沿选通时序ONOFFONOFFD3D0STBC0L1 C0L2 C0H1 C0H2 C7H1 C7H2640mS10mS 10mS图 8 无条件半字节输出下降沿选通时序ONOFFONOFFD3D0STB28通(默认状态) ;S4=ON,下降沿选通。数据由 D7D0 输出,每个字节输出时间为 20mS(默认
25、) ,选通脉冲 STB 高电平和低电平时间各为 10mS。每个通道数据为两个字节二进制补码表示的有符号数,表示温度乘 10 的数据,先输出低位,然后输出高位。每次连续输出8 个通道共 16 个字节,输出时间为 320mS。滤波工作方式下模块每2.16S 转换完 8 个通道数据,然后按上述时序输出。不滤波方式下0.72S 输出一次数据。并行接口的输出时间可以由设置程序设置,参见 DUTSET 说明。3、请求半字节输出时序当模块内波特率控制字的 D6=1、D5=0 选择并行请求半字节输出,接口时序如图 11 所示,请求信号 IN(IN+与 IN-)由 OFF 到C0L C0H C1L C1H C7
26、L C7H320mS10mS 10mS图 9 无条件字节输出上升沿选通时序ONOFFONOFFD7D0STBC0L C0H C1L C1H C7L C7H320mS10mS 10mS图 10 无条件字节输出下降沿选通时序ONOFFONOFFD7D0STB29ON 引起请求输出。选通脉冲 STB 可以是上升沿选通或下降沿选通,由板上的 DIP 开关 S4 选择。S4=OFF,上升沿选通(默认状态) ;S4=ON,下降沿选通。数据由 D3D0 输出,每半个字节输出时间为20mS(默认) ,选通脉冲 STB 高电平和低电平时间各为 10mS。每个通道数据分 4 次输出,依次由低到高。数据为两个字节二
27、进制补码表示的有符号数,表示温度乘 10 的数据。每次连续输出 8 个通道共 16 个字节,输出时间为 640mS。并行接口的输出时间可以由设置程序设置,参见 DUTSET 说明。4、请求字节输出时序当模块内波特率控制字的 D6=1、D5=1 选择并行请求字节输出,接口时序如图 12 所示,请求信号 IN(IN+与 IN-)由 OFF 到 ON 引C0L C0H C1L C1H C7L C7H10mS 10mS图 12 请求字节输出上升沿选通时序ONOFFONOFFD7D0STBONOFFIN320mSC0L1 C0L2 C0H1 C0H2 C7H1 C7H2640mS10mS 10mS图 1
28、1 请求半字节输出上升沿选通时序ONOFFONOFFD3D0STBONOFFIN30起请求输出,选通脉冲 STB 可以是上升沿选通或下降沿选通,由板上的 DIP 开关 S4 选择。S4=OFF ,上升沿选通(默认状态) ;S4=ON,下降沿选通。数据由 D7D0 输出,每个字节输出时间为20mS,选通脉冲 STB 高电平和低电平时间各为 10mS。每个通道数据为两个字节二进制补码表示的有符号数,表示温度乘 10 的数据,先输出低位,然后输出高位。每次连续输出 8 个通道共 16 个字节,输出时间为 320mS。并行接口的输出时间可以由设置程序设置,参见 DUTSET 说明。5、模块与松下 PL
29、C(FP1-C40 )连接采集数据DUT-4000 系列采集模块以半字节无条件数据传送方式与 PLC(松下 FP1-C40)硬件连接如图 13 所示,D0D3 连接到 PLC 的 X8X11,STB 接PLC 的 X7,X7 应能引起中断,电源直接取 PLC 的 24V 接到模块的 V+和 V-。编 程 使 PLC 的 X7 每 次 的上 升 沿 ( 或 下 降 沿 ) 引 起 中 断 ,在 中 断 程 序 中 读 入 X11X8 的 数 据 , 根 据 读 入 的 次 数 和 通 道 计 数 , 将数 据 存 入 对 应 通 道 寄 存 器 的 低 半 字 节 到 高 字 节 , 直 到 读 入 8 通 道 32次 数 据 , 图 14 为 FP1 的 数 据 采 集 程 序 梯 形 图 , 程 序 运 行 前 将 系 统 寄存 器 NO.403 的 X7 设 为 中 断 输 入 。 PLC 内 数 据 为 二 进 制 有 符 号 数 补+24GNDCOMCOMX7X8X9XAXBFP1 (C40) DUT-4000V+V-STBD0D1D2D3图 13 DUT-4000 模块与松下 PLC 连接图