xmt808系列人工智能调节器的通讯接口协议,具备16位的求和校验码,通讯可靠,支持1200,2400,4800,9600,19200等多种波特率,并且将上位机访问一台仪表的平均时间缩短到0.1秒以下,仪表允许在一个rs485通讯接口上连接多达101台仪表(为保证通讯可靠,仪表数量大于64台时需要加一个rs485中继器)。
一、接口规格
xmt808系列仪表使用异步串行通讯接口,接口电平符合rs485标准中的规定。数据格式为1个起始位,8位数据,无校验位,1个或2个停止位。通讯传输数据的波特率可调为1200-19200bit/s(波特率为19200时需配界高速光耦的通讯模块)。xmt808仪表采用多机通讯协议,采用rs485的通讯接口,则可将1-101台的仪表同时连接在一个通讯接口上。
rs485通讯接口通讯距离长达1km以上,只需两根线就能使多台xmt808仪表与计算机进行通讯。使用普通个人计算机pc能作上位机。
按rs485接口的规定,rs485通讯接口可在一条通讯线路上连接zui多32台仪表或计算机。需要联接更多的仪表时需要中继器,由于xmt808仪表通讯接口模块采用75lbc184芯片,zui多可连接100台xmt808仪表在一条通讯线路上,这种芯片具备一定的防雷和防静电功能,且无需中继器即可连接约60台仪表。
xmt808仪表的rs485通讯接口采用光电隔离技术将通讯接口与仪表的其他部分线路隔离,当通讯线路上的某台仪表损坏或故障时,并不会对其它仪表产生影响。同样当仪表的通讯部分损坏或主机发生故障时,仪表仍能正常进行测量及控制,并可通过仪表键盘对仪表进行操作。16位校验码不仅保证数据可靠性,并保证在通讯异常,比如网络上有地址相同的仪表或其他公司产生时,仪表和计算机仍能分别正常工作,不会产生数据混乱的问题,因此采用xmt808仪表组成的集散型控制系统具有较高工作可靠性。
由于采用普通计算机作上位机,其软件资源丰富,发展速度极快。新的xmt808上位机软件广泛采用windows作为操作环境,不仅操作直观方便,而且功能强大。
二、通讯指令
xmt808仪表采用16进制数据格式来表示各种指令代码及数据。xmt808仪表软件通讯指令经过优化设计,只有两条:一条为读指令,一条为写指令。两条指令使得上位机软件编写容易,且能完整地对仪表进行操作。
地址代号:为了在一个通讯接口连接多台xmt808仪表,需要给每台xmt808仪表编一个互不相同的代号。xmt808有效的地址为0-100。所以一条通讯线路上zui多可连接101台xmt808仪表。仪表的地址代号由参数addr决定。
仪表内部采用数据表示参数及测量值等,数据zui大范围为:-2999~+32767。因此采用
-32768~-7160之间的数值来表示地址代号,来降低因数据与地址重复造成冲突的可能性。xmt808仪表通讯协议规定,地址代号为两个字节,其数值范围(16进制)是80h-bfh,两个字节必需相同,数值为“仪表地址+80h”。例如,仪表参数addr=10(16进制数为0ah,oa+80h=8ah),则该仪表的地址表示为:8ah 8ah
参数代号:仪表的参数用1个8位二进制数(一个字节,写为16进制数)的参数代号来表示。它在指令中表示要读/写的参数名。
xmt808仪表可读/写的参数代号表:
参数代号 符号说明 参数代号 符号说明
00h sv给定值 01h alm1上限报警
02h alm2下限报警 03h hy-1正偏差报警
04h hy-2负偏差报警 05h hy回差
06h at控制方式 07h i保持参数
08h p速率参数 09h d滞后参数
0ah t控制周期 0bh sn输入规格
0ch dp小数点位置 0dh p-sl下限显示值
0eh p-sh上限显示值 0fh pb传感器修正
10h op-a输出方式 11h outl输出下限
12h outh输出上限 13h al-p报警输出定义
14h cool功能选择 15h baud波特率
16h addr通讯地址 17h filt数字滤波
18h a-m运行参数 19h lock参数修改级别
说明:1、如果向仪表读取参数代号在表格中参数以外,则仪表不会返回任何数据。
2、xmt-808系列1ah为手动输出值mv。当参数run=0,可通过写该参数来调节手动输出值。
读/写指令分别如下:
读:地址代号+52h(82)+要读参数的代号+0+0+crc校验码
写:地址代号+43h(67)+要写参数的代号+写入数低字节+写入数高字节+crc校验码
读指令的crc校验码为:要读参数的代号*256+82+addr
addr是仪表地址参数值,范围是0-100(注意不要加上80h)。crc为以上数做二进制,16位整数加法后得到的余数(溢出部分不处理),余数为2个字节,其低字节在前,高字节在后。
写指令的crc校验码规则为:要写的参数代号*256+67+要写的参数值+addr。
要写的参数值用16位二进制整数表示。
无论是读还是写,仪表都返回以下数据:
测量值pv+给定值sv+输出值mv及报警状态+所读/写参数值
其中pv、sv及所读参数值均为整数格式,各占2个字节,mv占一个字节,数值范围0-220,报警状态占一个字节,crc校验码占2个字节,共10个字节。
crc校验码为pv+sv+(报警状态*256+mv)+参数值+addr,按整数加法相加后得到的余数。
每2个8位数据代表一个16位整数,低位字节在前,高位字节在后,各温度值采用补码表示,热电偶或热电阻输入时其单位都是0.1℃,1-5v或0-5v等线性输入时,单位都是线性zui小单位。因为传递的是16位二进制数,所以无法表示小数点,要求用户在上位机处理。
上位机每向仪表发一个指令,仪表返回一个数据。编写上位机软件时,注意每条有效指令,仪表在0-0.2秒内作出应答,而上位机也必须等仪表返回数据后,才能发新的指令。否则将引起错误。如果仪表超过zui大响应时间仍没应答,则原因可能无效指令、通讯线路故障,仪表没有开机,通讯地址不合等,此时上位机应重发指令。
注意事项:
从通讯口向仪表写数据时,每个存储单元(包括给定值)的写入次数是有限的,xmt仪表提供至少10万次的写入次数,如果写入次数超出要求,仪表存储单元可能损坏。
