
最新RS485仪表通讯协议.doc
34页目录1.引言 11.1 仪表通讯及命令 11.2 仪表基本构成与通讯命令的关系 22.接线 32.1 RS232接口的仪表与计算机的接线 32.2 RS485接口的仪表与计算机的接线 42.3 关于JR485转换器 43.通讯接口要素 54.仪表的版本号 65.校验核 76.一般仪表命令集详解 86.0 关于命令集 86.1 读版本号命令 106.2 读主测量值命令 106.3 读其它测量值命令 116.4 读模拟量输出值及开关量输入输出状态命令 126.5输出模拟量命令 136.6输出开关量命令 146.7 读仪表参数符号命令 156.8 读仪表参数命令 166.9 设置仪表参数命令 167.巡检仪通讯命令集 187.0 关于命令集 187.1 读测量值命令 197.2 读报警状态命令 207.3 读参数命令 217.4 设置参数命令 227.5 参数地址表 238.测试软件 258.0 关于测试软件 258.1 DOS环境测试 258.2 Windows 环境下测试 269.故障诊断及应用笔记 299.1 故障诊断流程图 299.2 应用笔记 30附录1 通讯中使用的ASCⅡ码表 31附录2 XS系列仪表通讯协议的解释与补充 32目录 ·i·1.引言1.1 仪表通讯及命令仪表能连接到所有的计算机并与之通讯,采用RS232或RS485传输标准。
仪表与计算机之间的往来通讯都以ASCⅡ码实现,意味着计算机能以任何高级语言编程仪表的命令集由数条指令组成,完成计算机从仪表读取测量值、报警状态、控制值、参数值,向仪表输出模拟量、数字量,以及对仪表的参数设置与通过仪表面板设置参数一样,通过计算机对仪表的参数设置被存入EEPROM存贮器,在掉电情况下也能保存这些参数为避免通讯冲突,所有的操作均受计算机控制当仪表不进行发送时,都处于侦听方式计算机按规定地址向某一仪表发出一个命令,然后等待一段时间,等候仪表回答如果没收到回答,则超时中止,将控制转回计算机由于仪表的特性不同,我们将仪表的通讯命令集分为3类:第1类:一般仪表包括除巡检仪和无纸记录仪外的全部仪表命令详解见第6章第2类:巡检仪表命令详解见第7章第3类:无纸记录仪通讯规程见《无纸记录仪用户手册》引言 ·1·1.2 仪表基本构成与通讯命令的关系仪表的基本功能单元包括模拟量输入、输出;开关量输入、输出;参数存储器;带记录功能的仪表还包括数据记录单元,所有的这些单元都能通过不同的命令与计算机进行数据传送,计算机也能通过控制权转移的方法,直接操作仪表的模拟量输出和开关量输出,由于仪表内部有独立的输出缓冲区和计算机控制输出缓冲区,因而可实现控制的无扰动的切换。
通讯命令与仪表的关系示意图2.接线~ 仪表与计算机接线时,必须在断电条件下进行否则有可能损坏仪表及计算机接口2.1 RS232接口的仪表与计算机的接线1. 当仪表以RS232接口为端子连接时2. 当仪表以RS232接口为9芯接口连接时接线 ·3·2.2 RS485接口的仪表与计算机的接线当计算机仅有RS232接口时,需要RS232/RS485转换器,以便将RS232信号转换成正确的RS485协议转换器分非隔离(型号C485),隔离(型号JR485)两种隔离的转换器可防止静电、连线出错等损坏计算机串口1. 当仪表以RS485接口为端子连接时2. 当仪表以RS485接口为9芯接口连接时& 图中Rt为终端电阻一般用120W2.3 关于JR485转换器JR485转换器是RS485和RS232两种通讯接口之间的转换器,由于仪表以19200bps高速率与计算机通讯,所以要求485转换器响应速度较快我们建议用户使用JR485型号的转换器,如选用其他型号的485转换器可能会出现485转换器响应速度慢而引起的数据传输错误接线 ·5·3.通讯接口要素格 式 数据格式为10位:1位起始位,8位数据位,无奇偶校验位,1位停止位。
波特率 可选范围为2400bps、4800bps、9600bps、19200bps出厂设定为9600bps通过仪表的 参数设置当修改波特率时,必须将相连的所有仪表及计算机修改成同一波特率~ 修改波特率后,仪表必须断电后重新上电,才能按新设置的波特率工作这意味着可以通过计算机对网络中的仪表逐一修改波特率地 址 可选范围为00~99十进制,出厂设定为01通过仪表 参数设置必须将相连的所有仪表设置为不同的地址延 迟 (定界符为#的命令)的回答延迟不大于500μs,保证高效率的数据传送仪表对其它命令的回答延迟不大于200ms4.仪表的版本号通过#AA99¿ 命令可读出仪表的版本号版本号由11个字符构成 □□ □□□□□□ □ □ □ 年 型号 类型 参数位数 0:标准产品 1:定制非标产品年 — 1999版为 992002版为 02型号 — 给出仪表具体名称例:“单输入通道数显仪表”表示为“XST” “双输入通道数显仪表”表示为“XSD-2”类型 — 0 一般仪表1 巡检类仪表2 无纸记录仪参数位数 -仪表参数位数4~5位仪表的版本号 ·7·5.校验核功 能 校验核帮助检测从计算机至仪表的命令错误和检测从仪表至计算机的回答错误。
校验核功能在命令和回答字符串外加2个字符,不影响传送速率设 置 是否使用校验核不需要对仪表进行设置,仪表自动判断计算机发出的命令中是否含有校验核如果命令中含有校验核,则仪表回答时自动外加2个字符的校验核这意味着计算机可以有针对性地对网络中的某些仪表,或某些命令采用校验核格 式 校验核范围从00~FFH,用2位40H~4FH的ASCⅡ码表示,在命令或回答的结束符“¿”前发送如果计算机发出的命令中的校验核不正确,仪表将没有回答计 算 命令的校验核等于所有命令ASCⅡ码值的和超过范围时保留余数回答的校验核等于所有回答ASCⅡ码值的和再加上本仪表地址的ASCⅡ码值超过范围时保留余数例 本例说明校验核的计算方法命令:#0102NF¿回答:=+123.5A@C¿命令字符串的校验核按如下计算: 校验核=23H+30H+31H+30H+32H=E6H#,0,1,0,2的ASCⅡ码分别为23H,30H,31H,30H,32H这些ASCⅡ码的和为E6H,用二位40~4FH的ASCⅡ码表示为4EH,46H,即N、F回答字符串的校验核按如下计算(假设仪表地址Add=01):校验核=3DH+2BH+31H+32H+33H+2EH+35H+41H+30H+31H=203H=,+,1,2,3,·,5,A的ASCⅡ码分别为3DH, 2BH,31H,32H,33H ,2EH,35H,41H这些ASCⅡ码的和再加上仪表地址的ASCⅡ码30H,31H为203H,余数为03H,用二位40~4FH的ASCⅡ码表示为40H,43H,即@、C。
回答字符串中的A表示报警状态,在以后会有详细说明校验核 ·7·6.一般仪表命令集详解6.0 关于命令集u 命令由下述各部份组成:(定界符)(地址)(内容)(常数)(数据)(校验核)(结束符)定界符 每个命令必须以定界符开始有6种有效的定界符:#、$、%、&、’ 和 ”地 址 紧跟着定界符后面的是两位指定目标仪表的地址用“AA”表示内 容 用于指定仪表内部的数据地址或参数地址用“BB”表示常 数 用于指定命令常数用“DD”表示数 据 仅输出命令和设置参数命令有数据内容用“data”表示校验核 可选择附上二字符的校验核用“CC”表示结束符 每个命令必须用回车符(¿)0DH结束u 命令集有10条命令:1,读版本号:#AA99CC¿2,读主测量值:#AACC¿3,读其它测量值:#AABBCC¿4,读模拟量输出值及开关量输入输出状态:#AABBDDCC¿5,输出主模拟量:&AA(data)CC¿6,输出其它模拟量:&AABB(data)CC¿7,输出开关量:&AABBDDCC¿8,读仪表参数符号:’AABBCC¿9,读仪表参数:$AABBCC¿10,设置仪表参数:%AABB(data)CC¿说明 1 上述命令中的CC表示可选择的二字符的校验核。
使用方法在“校验核”部分已有说明,在本章下面的说明中不再重复说明 2 各种类型的仪表适用的命令有所不同,详见附录u 关于仪表回答回答定界符有3类:=、! 、> 以 # 作定界符的命令,回答以 = 做定界符以 ’ 和 $ 、% 作定界符的命令,回答以 ! 做定界符以 & 作定界符的命令,回答以 > 做定界符在下列情况下仪表对命令不回答未收到有效定界符或结束符仪表地址不符波特率不符校验核不符在下列情况下仪表回答 ? AA命令长度不符命令中的数据格式错操作仪表硬件不支持的功能读取或设置仪表未规定的参数当 、 参数为OFF时执行输出指令6.1 读版本号命令说明 本命令读回指定仪表的版本号命令 #AA99¿# 为定界符AA(范围00~99)表示指定仪表二位十进制地址99 表示读仪表版本号回答 = (data) ¿= 为定界符data 请见“4.仪表的版本号”¿ (0DH)为结束符例 命令:#0199¿回答:=02XSD-2 040¿本命令读取地址为01的仪表的版本号回答表明版本为2002版,类型为双输入数显仪,一般仪表,参数位数4位,标准产品6.2 读主测量值命令说明 本命令读回指定仪表的主测量值及报警状态。
命令 #AA¿#为定界符AA(范围00~99)表示指定仪表二位十进制地址回答 = (data)¿= 为定界符data为第1测量值及仪表的报警状态对于主测量值为4~8位数字显示的仪表,测量值由“+”或“-”, “. ”小数点,4~8位工程量值,报警状态共7~11个字符组成 报警状态值的范围40~4FH,其低4位D0~D3分别表示第1到第4报警点的状态1”表示处于报警状态0100D3D2D1D040 ~ F¿ (0DH)为结束符例1 命令:#01¿回答:=+123.5A¿本命令读取地址为01的单输入通道数显仪的测量值回答表明测量值为+123.5,第1报警点处于报警状态例2 命令:#02¿回答:=+01237643.B¿本命令读取地址为02的计数器的计数值回答表明计数值为+1237643,第2报警点处于报警状态6.3 读其它测量值命令说明 本命令读回指定仪表除主测量值外的其它测量值命令 #AABB¿# 为定界符AA(范围00~99)表示指定仪表二位十进制地址BB 的范围00~07规定详见附录中相应种类仪表回答 = 。
