欢迎来到天天文库
浏览记录
ID:49492404
大小:223.00 KB
页数:13页
时间:2020-03-02
《仪表通信协议.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、南京朝阳仪表产品驱动格式XMT3000/4000驱动格式2XMT3001,XMT4001指令格式7脉冲仪表10XMD2000系列通讯协议12XMT3000/4000驱动格式XMT4000参数及指令XMT4000另外有60个参数(30个时间及30个温度),其参数代号从1AH到55H,第1段温度为1AH,第一段时间为1BH,依此排列,程序段号参数Step为00H,无SV参数。代号56H为当前运行时间,只许读,不能写。我们将代号、代码,以及读写属性列如下表:代号代码读写(R/W)备注stepOOHR/W当前运行段号HIAL01HLoAL02HdHAL03HdLAL04HdF
2、05HCtrL06HM5007HP08HT09HCtlOAH•SnOBHdiPOCHdiLODHdiHOEHA1POFHSc10HoPl11HoPL12HoPH13HCF14HbAud15HRAddr16HR/WdL17H••Run18H••Loc19H••PV无R每次都返回SV无R每次都返回输出值(outvalue)无R每次都返回报警值尢R每次都返回C011AHR/W表示第段温度T011BH••表示第一段时间C021CH••T021DH•••••••C3054HR/W表示第三十段温度T3055HR/W表示第三十段时间Time56HR运行的时间特别备注:在XMT400
3、0屮SV值每次都有返冋,并且为只读的。XMT4000数据返冋格式和XMT3000是相同的。其它参数和XMT3000是一样的(除了SV)。XMT3000数据格式代号代码读写(R/W)备注SVOOHR/W当前运行段号HIAI,()1HLoAL02HdHAL03HdLAL04HdF05HCtrL06HM5007HPOSHT09HCtlOAH•SnOBHdiPOCHdiLODHdiHOEHA1POFHSc10HoPl11HoPL12HoPH13HCF14HbAud15HRAddr16HR/WdL17H••Run18H••Loc19H••读指令地址(基础值+仪表地址)地址(基础
4、值+仪表地址)固定格式参数代号1为地址02为参数代号读指令0X80+10X80+10X520X02返冋数据含义测量值PV设定值SV输出值MV报警状态参数返冋值字节8位LowHighLowHighLowHighLowHigh(1)读指令地址代号+52H+参数代号8CH8CH52HOCH(共四个字节)返回格式:CCH09H(测量值)C4H09H(给定仃)20H(输出值)00H(报警值)02H0H(参数返冋值)举例如下:如果向地址为1的仪表指令应该是:80H+180H+152HOCH也就是81H81H52HOCH共四个字节总结如下:向地址为N的仪表指令那么为80II+N80
5、II+N5211OCII,其屮5211是不变的OCH为参数代号.返回值说明(共八个字节)低字节在前,高字节在后:CCH09H(测量值PV)C4H09H(给定SV)20H(输出值)00H(报警值)02H0H(参数返冋值,)写指令地址(基础值+仪表地址)地址(基础值+仪表地址)固定格式参数代号打入值低字节写入值低字节1为地址02为参数代号写指令0X80+10X80+10X430X020X80X00地址指令+43H+参数代号+写入值的低字节+写入值的高字节仪表返冋:测量值PV、给定值SV、输出值MV+报警状态、被写入的参数值写:82H82H43H02H2CII01H返:CC
6、H09HC4H09H20HOOH2CH01H(PV)(SV)(MV)(WZ)(参数值)举例如下:如果向地址为1的仪表写指令应该是:80II+18011+143H02H2CII0111总结如下:向地址为N的仪表指令那么为80H+N80H+N43H02H2CH01H,其中43H是不变的.注:写入和输岀均是低字节在前,高字节在后。下面是用VC#代码的表示:⑴//通讯口控件设置this.serialPortl・PortName="COMI";this.serialPortl.BaudRate=4800;this.serialPortl.StopBits二System.10.P
7、orts.StopBits.Two;this.serialPort1.DataBits二8;this・serialPortl・0pen();⑵读数据if(this.serialPortl.IsOpen二二true){//定义四个变量分别用于存放:测量值(Pv),设定值(Sv),输出值(out),报警值(alarm),参数返回值(returndata)doublePv,Sv,Out,Alarm,returndata=0.0;byte[]commandByte二newbyte[4];//发指令数组commandByte[0]=Convert.ToByte
此文档下载收益归作者所有