为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

江苏美科仪表-RS485-串口及modbus通讯协议

2021-11-03 2页 pdf 363KB 2阅读

用户头像 个人认证

水处理技术-朱工

暂无简介

举报
江苏美科仪表-RS485-串口及modbus通讯协议串口及通讯协议§1.1概述新一代TUF-2000系列产品本身带有隔离的RS485接口,可以同时支持多种常用的通讯协议,包括MODBUS、M-BUS、扩展协议、并兼容汇中公司产品通讯协议。MODBUS协议是常规的工控协议,TUF-2000系列产品支持RTU和ASCII两种格式。M-BUS是国际上常用热表计量协议,使用该协议在M63菜单中选择“MODBUSASCII”选项。扩展协议是在日本FIJI超声波流量计协议的基础上扩展实现的,能够兼容FUJI超声波流量计协议。兼容协议可以兼容水表协议以及汇中公司产品通讯协议,为方便用户把TU...
江苏美科仪表-RS485-串口及modbus通讯协议
串口及通讯协议§1.1概述新一代TUF-2000系列产品本身带有隔离的RS485接口,可以同时支持多种常用的通讯协议,包括MODBUS、M-BUS、扩展协议、并兼容汇中公司产品通讯协议。MODBUS协议是常规的工控协议,TUF-2000系列产品支持RTU和ASCII两种格式。M-BUS是国际上常用热表计量协议,使用该协议在M63菜单中选择“MODBUSASCII”选项。扩展协议是在日本FIJI超声波流量计协议的基础上扩展实现的,能够兼容FUJI超声波流量计协议。兼容协议可以兼容水表协议以及汇中公司产品通讯协议,为方便用户把TUF-2000系列产品接入用户按照国内其它厂家通讯协议而开发的数据采集系统中,目前可以支持12种兼容通讯协议。使用兼容通讯协议,用户需要在M63中选择“MODBUSASCII”选项后再选择协议中的一种即可。TUF-2000系列产品还能够起到简易RTU设备的作用,可使用电流环及OCT输出控制步进式或模拟式电磁阀的开度,OCT输出可控制其他设备的上下电,其1路模拟输入可用来输入压力、温度等信号。位于M63窗口处的设置选项设置为“MODBUS-RTUONLY”时,用来支持MODBUS-RTU协议。当此选项设置为“MODBUSASCII+原协议”时,用来支持MODBUSASCII、Meter-BUS、扩展协议以及汇中流量计水表兼容协议。不同的汇中流量计水表兼容协议的选择则也使用M63进行选择。在选择了“MODBUS-RTU”,“MODBUS-ASCII”之后进行选择。M62菜单用于设置串行口参数。能够支持的波特率有19200,14400,9600,4800,2400,1200,600,300共8种,停止位1比特或2比特。校验位也可以选择。使用各种组态软件自带的MODBUS驱动程序可以方便地把TUF-2000连接到数据采集中。通过使用MODBUS-PROFIBUS转换器,也可以方便地把TUF-2000连接到PROFIBUS总线中。使用RS485则可以接入RS-485总线。也可以使用本公司生产的GSM短信息模块板,通过短信息传输流量/热量测量数据。该模块板可以多机组网,还可以使用普通手机(移动电话)查看流量计的工作状态和测量数据。在网络环境中使用时,除标识地址码的编程需使用串口或并口操作键盘外,其他各个量的操作均可在上位机上进行,数据的传输采用命令应答方式,即上位机发出命令,流量计做出相应的回答。流量数据采集可以使用本公司研制开发的通用/专用流量/热量数据监控系统,该系统基于TUF-2000流量计的特点,充分利用了流量计特色的软硬件设计,具有投资少、系统简单明快、运行可靠等特点。目前还已经有了多家第三方厂商的专门支持TUF-2000系列流量计的数据采集软件供用户选用,其中有些小的软件是免费的,特别方便小用户的组网使用。为了通讯调试的方便,新版TUF-2000设有一个模拟运行状态。在此状态下,流量计不需要接入管道,即可模拟工作,用于调试,参看下一节的问答。§1.2关于通讯方面问题的问答(1)问:为什么连接不上流量计?,接上后它不做任何反应?答:A.检查串口参数是否匹配;位于M63窗口的协议选择是否正确B.检查物理连线是否接好D.位于M46窗口的地址是否设置正确C.把流量计重新上电,应该能接收到字符“AT”,否则A和B步存在问题D.检查命令是否正确。在使用扩展协议时命令后面要紧跟者一个回车符号(2)问:为什么MODBUS读出的量值乱七八糟的,和显示值完全不一致?答:一般来说如果MODBUS协议能够读出数据就表明协议本身没有问题了。乱七八糟的数据是因为存在如下错误:A.数据格式错误;B.寄存器地址有误,导致数据发生了位移而产生错误。比如REAL4这种实型变量(IEEE754格式的单精度浮点数),按照字和字节共有4种不同的排列方式,TUF-2000使用的是最常规的一种,即低word和高byte在前格式。您可以修改您的软件的数据存放格式解决这个问题。如果使用通用的组态软件,则组态软件一般具有一个选择格式的方法。(3)问:我的系统要求每次1小时只发出一次命令然后要求同时收到多个变量,应该使用那个协议?答:一条MODBUS命令可以一次读出很多变量。如果MODBUS-RTU不能解决问题,可以使用使用“&”连接符号连接起来的扩展协议。还可以使用简易兼容协议,或者Meter-BUS协议。(4)问:为什么通过协议读出的量值和流量计显示的不一致?答:A.确认变量地址是否就是您要求的那个变量?因为流量计内部的变量太多,是否混淆了?注意在读取数据时,REG0001在命令字符串中表示为0000,而不是0001。0001在命令字符串中表示读出REG0002的。B.对于累积量只能显示7位10进制数字,而通过MODBUS协议可以读出8位10进制数字。这种情况下,读出来的数值的后7位是一样的。(5)问:我的系统不能支持长整数以及实型变量格式,应该怎么办?答:需要采用数值转换方式,或查找新驱动程序解决。(6)问:MODBUS有测试程序吗?答:有!推荐使用MODSCAN这个软件,可以在网上搜到。这个程序很是方便,有助于方便检查读出的数据,理解各种类型数据的含义。(7)问:流量计是否具有模拟运行状态以方便测试,怎样设置?答:有!在M11窗口中输入0值即启动模拟运行状态。模拟运行状态下总是设置流速为1.2345678m/s,瞬时流量等于0,并且显示“R”状态。如果要求瞬时流量为设定值,则可以通过在M44窗口中输入一个负的设定值实现。例如在M44窗口中输入-3600立方米/秒。瞬时流量就会显示为3600立方米/秒。这时所有累积器也会做相应的累积。因此就得到了变化的累积量输出。使用这个功能,能在不接传感器的条件下,特别方便与联网软件的调试以及流量计功能的测试。(8)问:使用C时,浮点数存放顺序是怎样的?答:例如3F9E0651四个字节为1.2345678的IEEE754格式单精度浮点形式。在MODBUS数据流中的顺序是06513F9E,1号地址数据流应该是01030406513F9E3B32(十六进制数字)。在X86计算机中使用C语言时,按照内存从低到高存放顺序51069E3F。再例如读取净累积寄存器REG25,REG26两个寄存器命令如下:010300180002440C(十六进制数字)返回数据应该为(设净累积器=802609,其4字节16进制表示为000C3F31)0103043F31000CA7ED(十六进制数字,A7ED为效验和)§1.3MODBUS协议MODBUS协议的两种格式都能支持。通过在菜单窗口M63中,选择使用MODBUS-RTU还是MODBUS-ASCII格式。默认状态下支持MODBUS-ASCII格式。TUF-2000型系列超声波流量计/热能表只能支持MODBUS功能代码03和06以及16三种功能代码,分别是读寄存器和写单一寄存器以及数据块写入功能。例如在RTU方式下读取1号设备的流速,即读寄存器5,6共2个寄存器,命令如下:01030004000285CA(十六进制数字)设备号功能起始寄存器寄存器数目效验和其中85CA是16进制数值,是按照CRC-16(BISYNCH,多项式是x16+x15+x2+1屏蔽字为0A001H)循环冗余算法得到的。请参考MODBUS有关资料了解进一步的算法。返回的数据应该为(设定状态为模拟运行状态,流速=1.2345678m/s):01030406513F9E3B32(十六进制数字)设备号功能数据字节数数据=1.234567效验和其中3F9E0651四个字节即为1.2345678的IEEE754格式单精度浮点形式。再举例,读净累积流量,REG25,REG26两个寄存器命令如下:010300180002440C(十六进制数字)返回数据应该为(设净累积器=802609,其4字节16进制表示为000C3F31)0103043F31000CA7ED(十六进制数字,A7ED为效验和)当净累计=0时,返回数据为01030400000000FA33其中FA33为效验和。请注意上面例子中数据存放的顺序。对于使用C语言解释数值时,可以使用指针直接把所需的数据放入相应的变量地址中即可,一般常用的存放顺序为低字节在前,例如上面的1.23456m/s例子中,3F9E0651数据的存放顺序为51069E3F。在ASCII方式下读取1号设备的从寄存器1开始的10个寄存器的命令如下:01030000000AF2(回车换行)返回数据为:0103280000000000000000000000000000000000000000D4其中“:”是ASCII方式下的引导符,“F2”和“D4”是双字节效验和。求法是把除“:”及行尾的回车换行以外的所有字符顺序进行单字节加法,不计进位,然后求补码得到的。例如上面的命令中01h+03h+00h+00h+00h+0Ah=0Eh,其补码=0-0Eh=F2。而返回数据的效验和等于1+3+28h=2Ch,其补码=0-2Ch=D4h。在MODBUS-RTU状态下,每次最多能够读出125个寄存器。而在MODBUS-ASCII状态下每次只能读出61个寄存器。如果多于这些数目,流量计就会返回出错信息。有关MODBUS协议细节请参考有关资料。在调试MODBUS协议时,推荐使用一种免费调试软件MODSCAN,这个软件可以在互联网上搜索到。当出现问题时,如果能够接受到效验和正确的数据包则说明通讯本身是不存在问题的。在默认状态下通信的设置速率一般是9600、无效验、8数据位、1个停止位。§1.3.1MODBUS寄存器地址表(注意与水表协议的不同之处)寄存器寄存器变量名称数据类型说明个数0001-00022瞬时流量REAL4单位:立方米/小时0003-00042瞬时热流量REAL4单位:GJ/小时0005-00062流体速度REAL4单位:米/秒0007-00082测量流体声速REAL4单位:米/秒0009-00102正累积流量LONG所有使用长整数的流量累积器,其计量单位受M32(即REG1438)控制0011-00122正累积流量小数部分REAL4REAL4是标准IEEE-754格式单精度浮点数。该格式数据一般也称为FLOAT格式0013-00142负累积流量LONGLONG是低字在前带符号长整数0015-00162负累积流量小数部分REAL40017-00182正累积热量LONG所有使用长整数的热量累积器,其计量单位受M84(即REG1441)控制0019-00202正累积热量小数部分REAL40021-00222负累积热量LONG0023-00242负累积热量小数部分REAL40025-00262净累积流量LONG0027-00282净累积流量小数部分REAL40029-00302净累积热量LONG0031-00322净累积热量小数部分REAL40033-00342温度1/供水温度REAL4单位:℃0035-00362温度2/回水温度REAL4单位:℃0037-00382模拟输入AI3量REAL4转换后无量钢数据0039-00402模拟输入AI4量REAL4转换后无量钢数据0041-00422模拟输入AI5量REAL4转换后无量钢数据0043-00442模拟输入AI3电流值REAL4单位:毫安0045-00462模拟输入AI4电流值REAL4单位:毫安0047-00482模拟输入AI5电流值REAL4单位:毫安0049-00502系统设置密码BCD可写。00H表示取消密码设置00511硬件设置密码BCD可写。“A55Ah”表示打开0053-00553仪表日期时间BCD可写。6字节BCD数分别表示秒分时日月年,低位在前00561自动储存数据日小时BCD可写。2个字节表示定时储存数据开始的时间和天,例如0312H表示每月3日12时储存数据。0012H表示每日12时储存数据。00591输入键值(可模拟键盘)INTEGER可写。参看说明书键值表00601使显示器显示x号菜单INTEGER可写。00611输入背光点亮时间INTEGER可写。单位秒00621蜂鸣器剩余鸣响次数INTEGER可写。最大255次00621OCT剩余脉冲数目INTEGER可写。最大6553600721仪表工作错误代码BIT16比特位分别表示含义见备注40077-00782供水电阻数REAL4单位欧姆0079-00802回水电阻数REAL4单位欧姆0081-00822超声波总传播时间REAL4单位微妙0083-00842超声波传播时间时差REAL4单位纳秒0085-00862超声波上游传播时间REAL4单位微妙0087-00882超声波下游传播时间REAL4单位微妙0089-00902当前电流环输出电流值REAL4单位毫安00921工作步骤和信号质量INTEGER高字节表示信号调整步骤底字节表示信号质量,数值范围0-9,数值大表示信号好00931上游信号强度INTEGER数值范围0-409500941下游信号强度INTEGER数值范围0-409500961操作界面语言类型INTEGER0表示中文,1表示英文0097-00982超声波信号传输比REAL4正常范围100+-3%0099-01002当前雷诺数REAL40101-01022当前雷诺修正系数REAL40103-01042工作定时器时间LONG无符号,单位秒0105-01062总工作时间LONG无符号,单位秒0105-01062总上电次数LONG无符号0113-01142净累积流量(浮点形式)REAL4单位为立方米,7位有效数字0115-01162正累积流量(浮点形式)REAL4单位为立方米,7位有效数字0117-01182负累积流量(浮点形式)REAL4单位为立方米,7位有效数字0119-01202净累积热量(浮点形式)REAL4单位为GJ,7位有效数字0121-01222正累积热量(浮点形式)REAL4单位为GJ,7位有效数字0123-01242负累积热量(浮点形式)REAL4单位为GJ,7位有效数字0125-01262今天累积流量(浮点形式)REAL4单位为立方米,7位有效数字0127-01282本月累积流量(浮点形式)REAL4单位为立方米,7位有效数字0129-01302手动累积器流量LONG0131-01322手动累积器小数部分REAL40133-01342批量控制器累积流量LONG0135-01362批量控制器小数部分REAL40137-01382今天累积流量LONG0139-01402今天累积流量小数部分REAL40141-01422本月累积流量LONG0143-01442本月累积流量小数部分REAL40145-01462今年累积流量LONG0147-01482今年累积流量小数部分REAL401581当前显示所在菜单INTEGER0165-01662故障运行时间LONG单位:秒0173-01742当前频率输出值REAL4单位:Hz0175-01762当前电流环输出值REAL4单位:mA0181-01822当前温差REAL4单位:℃0183-01842本次上电所补加的流量REAL4单位:立方米0185-01862频率系数REAL4应该小于0.10187-01882自动储存总时间LONG储存时间由寄存器0056确定0189-01902自动储存正累积流量REAL4储存时间由寄存器0056确定0191-01922自动储存瞬时流量REAL4储存时间由寄存器0056确定0221-02222管道内经REAL4单位毫米0229-02302上游传播延迟REAL4单位微秒0231-02322下游传播延迟REAL4单位微秒0233-02342估算总传播时间REAL4单位微秒0257-028832显示器缓冲区BCD可读出02891显示器缓冲区存储指针INTEGER03112今天已工作时间LONG无符号,单位秒03132本月已工作时间LONG无符号,单位秒03152今天最大瞬时流量INTEGER单位:m3/h03172当月最大瞬时流量INTEGER单位:m3/h14371当前瞬时流量计量单位INTEGER取值0-31见注514381当前累积流量计量单位INTEGER取值0-7见注114391当前累积流量倍乘因子INTEGERn取值0-7,见注解114401当前累积热量倍乘因子INTEGERn取值0-10,见注解114411当前热能测量单位INTEGER取值0~3。0=GJ,1=Kcal2=KWh,3=BTU14421仪表通讯地址号码INTEGER14911仪表类型INTEGERBIT0=0表示是流量计BIT0=1表示是热能表BIT3=1表示热能表装在供水口BIT3=0表示热能表装在回水口14512用户标尺因子REAL415212厂家标尺因子REAL4不可改写15292设备电子序列号码BCD本设备电子序列号码请注意高位在前注:(1)内部累积量使用了长整数和小数组合的方式。一般使用时,只读整数部分即可,小数部分可以忽略。累积量的大小和累积单位及倍乘因子有关系,它们之间的确切关系是,设累积整数部分N(对正累积而言是寄存器0009,0010中数值,32比特带符号长整数),累积的小数部分为Nf(对正累积而言是寄存器0011、0012中内容,4字节浮点数),而累积流量倍乘因子为n(寄存器1439)则正累积流量=(N+Nf)×10n-3(单位在累积流量单位1438寄存器中确定)。寄存器1438中取值0-7含义如下0立方米(m3)1公升(L)2美制加仑(GAL)3英制加仑(IGL)4美制兆加仑(MGL)5立方英尺(CF)6美制石油桶[42](OB)7英制石油桶(IB)累积热量=(N+Nf)×10n-4其中:对于净热量,N值在寄存器0029,0030中对于净热量,Nf值在寄存器0031,0032中n值在寄存器1440中确定,累积热量单位在寄存器1441中确定。(2)其他变量不再给出,如果您有需求可咨询我公司(3)请注意上中的很多数据对于非热能表来说是无效的,在单独使用流量计时,可以忽略无关项。这些无关项主要是为了使我们的产品的通讯协议统一,便于用户使用。(4)错误代码是16比特位其含义如下Bit0没有收到信号错误Bit1信号太低错误Bit2信号差错误Bit3管道空错误Bit4电路硬件错误Bit5正在调整电路增益Bit6频率输出超量程错误Bit7电流环输出电流过量程错误(一般情形下需要设置最大量程)Bit8内部数据寄存器效验错误Bit9主振频率或者时钟频率存在错误Bit10参数区存在效验和错误Bit11程序存储器数据效验和错误Bit12温度测量电路可能存在错误Bit13保留??Bit14内部计时器溢出错误Bit15模拟输入电路存在错误注意如果对于流量计,使用此代码时请先注意屏蔽掉那些与热量测量有关的位,因为那些位的状态不是确定的。(5)瞬时流量单位代码如下0立方米/秒1立方米/分2立方米/小时3立方米/天4公升/秒5公升/分6公升/小时7公升/天8美制加仑/秒9美制加仑/分10美制加仑/小时11美制加仑/天12英制加仑/秒13英制加仑/分14英制加仑/小时15英制加仑/天16美制兆加仑/秒17美制兆加仑/分18美制兆加仑/小时19美制兆加仑/天20立方英尺/秒21立方英尺/分22立方英尺/小时23立方英尺/天24美制石油桶/秒25美制石油桶/分26美制石油桶/小时27美制石油桶/天28英制石油桶/秒29英制石油桶/分30英制石油桶/小时31英制石油桶/天§1.3.2年月日累积数据MODBUS地址表(1)日累积数据(注意与其它版本流量计的地址是不同的)每日累积数据采用32个字节大小的数据块循环队储存,共有512个数据块,当前的数据块指针地址在寄存器0162中,其数值范围为0~511。当前指针指向“昨天”的数据,当前指针减1则指向“前天”的数据。数据指针等于0时再减1则指向数据块511。设0162中数为1,则昨天的累积数据在寄存器10257-10272中,前天的数据在10241-10256中,大前天的数据在18417-18432中。注意:在组态软件中,对于浮点数据等变量的读出在前面需要添加“4”,这样可能在这类软件中填写寄存器地址时,10241这个寄存器应该写成“410241”。地址表如下数据寄存器地址寄存变量名称数据类型说明块号器个数n/a01621日累积数据指针Integer数值范围0-127102411状态字节和日BCD低字节中是状态,高字节是日102421月和年BCD低字节中是月,高字节为年010243-102442总工作时间LONG用于检查全天工作时间10245-102462全天净累积流量REAL4当天的总量10247-102482净累积热流量值REAL423:59:59秒时刻累积器值10249-102502正累积器值LONG23:59:59秒时刻累积器值10251-102522负累积器值LONG23:59:59秒时刻累积器值10253-102542热量正累积器值LONG23:59:59秒时刻累积器值10255-102562热量负累积器值LONG23:59:59秒时刻累积器值102571状态字节和日BCD低字节中是状态,高字节是日102581月和年BCD低字节中是月,高字节为年110259-102602总工作时间LONG用于检查全天工作时间10261-102622全天净累积流量REAL4当天的总量10263-102642净累积热流量值REAL423:59:59秒时刻累积器值10265-102662正累积器值LONG23:59:59秒时刻累积器值10267-102682负累积器值LONG23:59:59秒时刻累积器值10269-102702热量正累积器值LONG23:59:59秒时刻累积器值10271-102722热量负累积器值LONG23:59:59秒时刻累积器值。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。51118417-1843216第511块数据块注:1.状态字节的含义请见状态字含义说明。2.如果读出的数据全是0FFH,表明此寄存器为空。(2)月累积数据(注意与其它版本流量计的地址是不同的)月累积数据具有和日累积数据相同的结构,请参考日累积数据说明。特别的是日期字节总是取0值,且只有128个数据块。地址表如下数据寄存器地址寄存器变量名称数据类型说明块号个数n/a01631月累积数据指针Integer数值范围0-12781931状态字节BCD低字节是状态,高字节=081941月和年BCD低字节中是月,高字节为年08195-81962总工作时间LONG用于检查全月工作时间8197-81982全月净累积流量REAL4当月的总量8199-82002净累积热流量值REAL4本月最后一秒时刻累积器值8201-82022正累积器值LONG本月最后一秒时刻累积器值8203-82042负累积器值LONG本月最后一秒时刻累积器值8205-82062热量正累积器值LONG本月最后一秒时刻累积器值8207-82082热量负累积器值LONG本月最后一秒时刻累积器值82091状态字节BCD低字节是状态82101月和年BCD低字节中是月,高字节为年18211-82122总工作时间LONG用于检查全月工作时间8213-82142全月净累积流量REAL4当月的总量8215-82162净累积热流量值REAL4本月最后一秒时刻累积器值8217-82182正累积器值LONG本月最后一秒时刻累积器值8219-82202负累积器值LONG本月最后一秒时刻累积器值8221-82222热量正累积器值LONG本月最后一秒时刻累积器值8223-82242热量负累积器值LONG本月最后一秒时刻累积器值。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12710225-1024016第127块数据块注:1.状态字节的含义请见状态字含义说明。2.如果读出的数据全是0FFH,表明此寄存器为空(3)年累积数据是从月累数据中导出来的。§1.3.3上断电数据MODBUS地址表断电时,TDS16流量计会纪录断电时刻时间和流量计当时工作状态字以及所有的累积器值,每个数据块有128个字节组成,共有32个数据块,可循环记录前32次断电。系统使用这些数据使流量计恢复到断电前的工作状态,用户可使用这些数据来检查上电断电数据也是采用队列环结构存储,请注意当前数据所在位置和指针有关,并且和日月年累积数据不同的是指针减1才指向上此断电数据,参见日累积部分说明,上断电数据的MODBUS地址表如下(注意与其它版本流量计的地址是不同的)数据寄存器地址寄存器变量名称数据类型说明块号个数n/a01641上断电数据指针Integer数值范围0-3161451上电秒和分钟BCD低字节中是秒,高字节为分61461上电小时和天BCD低字节中是小时,高字节为天061471上电月和年BCD低字节中是月,高字节为年61481上电状态字BITB13标志已补加,其他位参见状态字说明61491断电秒和分钟BCD低字节中是秒,高字节为分61501断电小时和天BCD低字节为小时高字节61511断电月和年BCD低字节中是月,高字节为年61521断电状态字BIT参见状态字说明61531当前窗口号码Integer低字节中为断电时主窗口号码,高字节为本地LCD菜单号码61541上电次数Integer6155-61562流量计工作总时间LONG单位为秒6157-61582正累积流量LONG单位取决于M32,M336159-61602正累积流量小数REAL4单位取决于M32,M336161-61622负累积流量值LONG单位取决于M32,M336163-61642负累积流量小数REAL4单位取决于M32,M336165-61662热量正累积LONG单位取决于M32,M336167-61682热量正累积小数REAL4单位取决于M32,M336169-61702热量负累积值LONG单位取决于M32,M336171-61722热量负累积小数REAL4单位取决于M32,M336173-61742净累积流量LONG单位取决于M32,M336175-61762净累积流量小数REAL4单位取决于M32,M336177-61782热量净累积LONG单位取决于M32,M336179-61802热量净累积小数REAL4单位取决于M32,M336181-61822日累积流量LONG单位取决于M32,M336183-61842日累积流量小数REAL4单位取决于M32,M336185-61862月累积流量LONG单位取决于M32,M336187-61882月累积流量小数REAL4单位取决于M32,M336189-61902年累积流量LONG单位取决于M32,M336191-61922年累积流量小数REAL4单位取决于M32,M336193-61942断电时瞬时流量REAL4单位:立方米/秒6195-61962故障运行时间LONG单位秒6197-61982日工作总时间LONG单位秒6199-62002月工作总时间LONG单位秒6201-62022M47密码BCD6203-62042断电期间时长LONG单位秒6205-62062上次上电时瞬时流量REAL4单位:立方米/秒6207-62082上次断电应补加累积流量REAL4单位:立方米16209-627264第2块数据块26273-733664第3块数据块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。318129-819264第32块数据块§1.4扩展通讯协议TUF-2000新版超声波流量计还可以使用扩展协议。下表中,那些红色的命令为新添加的协议。在这个协议中,所传输的数据都是ASCII码,便于调试及查看。在只能发送一次命令需要多种数据的系统中应用时,可以使用‘&’符号把多个基本命令连接起来形成一个可以一次发送的复合命令。请参考参考后面的‘&’符号部分说明。命令命令意义数据格式DQD(cr)注0返回每天瞬时流量±d.ddddddE±dd(cr)注1DQH(cr)返回每小时瞬时流量±d.ddddddE±dd(cr)DQM(cr)返回每分瞬时流量±d.ddddddE±dd(cr)DQS(cr)返回每秒瞬时流量±d.ddddddE±dd(cr)DV(cr)返回瞬时流速±d.ddddddE±dd(cr)DI+(cr)返回正累积量±dddddddE±d(cr)注2DI-(cr)返回负累积量±dddddddE±d(cr)DIN(cr)返回净累积量±dddddddE±d(cr)DIE(cr)返回热量累积量±dddddddE±d(cr)DIE+(cr)返回正热量累积量±dddddddE±d(cr)DIE-(cr)返回负热量累积量±dddddddE±d(cr)DIT(cr)返回今天净累积流量±dddddddE±d(cr)DIM(cr)返回本月净累积流量±dddddddE±d(cr)DIY(cr)返回今年净累积流量±dddddddE±d(cr)DID(cr)返回仪器标识码(地址码)ddddd(cr)5位长E(cr)返回每秒瞬时热流量±d.ddddddE±dd(cr)DL(cr)返回信号强度UP:dd.d,DN:dd.d,Q=dd(cr)DS(cr)返回模拟输出AO的百分比值±d.ddddddE±dd(cr)DC(cr)返回当前错误代码注3DA(cr)OCT或RELAY报警号TR:s,RL:s(cr)注4DT(cr)当前日期及时间yy-mm-dd,hh:mm:ss(cr)Time@TDS1=(cr)设定日时间yy-mm-dd,hh:mm:ssM@(cr)发往TDS-100模拟键值@M@(cr)注5LCD(cr)返回当前LCD显示器显示内容LOCK0(cr)开锁(新加指令)与原密码无关LOCK1(cr)上锁(新加指令)MENUXX(cr)显示直接跳到窗口XXLANGUAGEX(cr)选择界面语言X=0英语,1简体中文2意大利,如果有的话3朝鲜语,如果有的话4法语,如果有的话5德语,如果有的话6西班牙语,如果存在BAUDRATEX(cr)改变波特率(数据位=8,无效验,停X=0~7,分别对应19200,14400,止位=1)9600,4800,2400,1200,600,300C1(cr)OCT吸合C0(cr)OCT断开R1(cr)继电器RELAY吸合R0(cr)继电器RELAY断开FOdddd(cr)使频率输出以n值输出Fdddd(cr)(lf)Aoa(cr)使电流环输出电流值aAOa(cr)(lf)注6BA1(cr)返回温度T1的电阻值±d.ddddddE±dd(cr)(lf)BA2(cr)返回温度T2的电阻值±d.ddddddE±dd(cr)(lf)BA3(cr)返回AI3的电流数(0~20mA)±d.ddddddE±dd(cr)(lf)BA4(cr)返回AI4的电流数(0~20mA)±d.ddddddE±dd(cr)(lf)BA5(cr)返回AI5的电流数(0~20mA)±d.ddddddE±dd(cr)(lf)AI1(cr)返回温度输入T1值(温度)±d.ddddddE±dd(cr)(lf)AI2(cr)返回温度输入T2值(温度)±d.ddddddE±dd(cr)(lf)AI3(cr)返回模拟输入AI3值(温度压力等)±d.ddddddE±dd(cr)(lf)AI4(cr)返回模拟输入AI4值(温度压力等)±d.ddddddE±dd(cr)(lf)AI5(cr)返回模拟输入AI5值(温度压力等)±d.ddddddE±dd(cr)(lf)ESN(cr)返回电子序列号dddddddt(cr)(lf)注7UINFO=用户数据(cr)输入用户显示信息显示在[M][0][.]用户显示窗口内容会保留不变,命令之后紧接40字节用户数据直到断电。N单字节地址组网命令前缀注8W数字串地址组网命令前缀注8P带校验回传命令前缀&命令“加”功能符号,多个基本命令形成所加字符长度不超过253字节一个复合命令,一次传送RING(cr)(lf)调制解调器请求握手命令ATA(CR)(lf)OK(cr)调制解调器应答信号无输出,流量计请求握手信号AT(CR)(LF)GA(cr)GSM短信息通信专用命令A注9注9GB(cr)GSM短信息通信专用命令B注9注9GC(cr)GSM短信息通信专用命令C注9注:0.(cr)表示回车,其ASCII码值为0DH。(lf)表示换行,其ASCII码值为0AH。1.d表示0~9数字,0值表示为+0.000000E+002.d表示0~9数字,ddddddd是整数,“E”前面整数部分其中无小数点。3.1~6个字母表示的机器状态,字符含义见错误代码一节,例如“R”,“IH”4.s表示ON/OFF/UD其中之一例如“TR:ON,RL:ON”表示OCT和继电器处于吸合状态例如“TR:UD,RL:UD”表示OCT和继电器没有使用5.@表示键值,例如30H,表示“0”键,例如命令“M4”相当按键“4”6.a表示电流值,取值范围0~20,例如AO2.34567,AO0.27.dddddddd八位表示机器的电子序列号码,t表示机器类型8.如果数据网中同时有多台新版TUF-2000流量计则基本命令不能单独使用,必须加N或W前缀后方可使用,否则会造成多台流量计同时应答,导致系统混乱。9.用GSM模块配接流量计可实现利用手机短信息查看流量计流量参数的功能。具体内容请来电查询。§1.4.1功能前缀和功能符号(1)P前缀字符P可以加在每一个基本命令前,表示回传的数据带有CRC校验。校验和的求法是二进制加法得到的。例如:命令DI+(CR)(相应二进制数据为44H,49H,2BH,0DH)回传的数据为+1234567E+0m3(CR)(相应二进制数据为2BH,31H,32H,33H,34H,35H,36H,37H,45H,2BH,30H,6DH,33H,20H,0DH,0AH)则命令PDI+(CR)回传的数据为+1234567E+0m3!F7(CR),“!”表示其前是求和的字符,其后两个字节的校验和(2BH+31H+32H+33H+34H+35H+36H+37H+45H+2BH+30H+6DH+33H+20H=(2)F7H)注意“!”前可以没有数据,也可能存在空格符号。(2)N前缀N命令的用法是N+单字节地址码+基本命令。例如欲访问第88号流量计的瞬时流速,可发命令‘NXDV’(CR),其中X的十进制码值为88。建议用户使用W命令。(3)W前缀W前缀的用法是W+数字串地址码+基本命令,数字串取值范围0~65535除去13(0DH回车),10(0AH换行),42(2AH*),38(26H&)。如欲访问第12345号流量计的瞬时流速,可发命令W12345DV(CR),对应二进制码为57H,31H,32H,33H,34H,35H,44H,56H,0DH。(4)‘&’功能符号‘&’功能可以实现多个基本命令相加的功能,只要保证所有基本命令相加以后形成的总字符长度不超过250个字符即可。所形成的‘超级’命令能够一次传送至流量计,流量计则同时作出应答。P前缀P也可以加在基本命令之前。例如要求同时发回第4321号流量计的1.瞬时流量2.瞬时流速3.正累计量4.热量累计量5.AI1模拟输入电流数值6.AI2模拟输入数值,并且带校验,发送命令如下:W4321PDQD&PDV&PDI+&PDIE&PBA1&PAI2(CR)一次同时回传的数据可能如下+0.000000E+00m3/d!AC(CR)+0.000000E+00m/s!88(CR)+1234567E+0m3!F7(CR)+0.000000E+0GJ!DA(CR)+7.838879E+00mA!59+3.911033E+01!8E(CR)再例如,要求从串行口修改管道外直径为123.456毫米,然后回传显示器内容,可发送如下指令:MENU11&M1&M2&M3&M:&M4&M5&M6&M=&LCD(CR)§1.5兼容通讯协议兼容通讯协议是为了方便用户把TUF-2000接入用户按照汇中通讯协议而开发的数据采集系统中。新开发项目请不要使用这些协议,因为我们将来新开发仪表很可能不能够支持这些协议。新TUF-2000目前可以支持8种汇中的通讯协议。为了使用汇中的通讯协议,用户需要在M63中,选择“MODBUSASCII”选项后再选择下面协议的一种即可。0.CRL-G;LL=113字节1.SCL-61D(D<50mm);LL=13字节,累积量缩小1000倍2.SCL-61D(D≧50mm);LL=13字节,累积量缩小10倍,(出厂默认选项)3.SCL-64.SCL-7x(D<50mm);LL=13字节,累积量缩小10倍5.SCL-7x(D≧50mm);LL=13字节,累积量缩小10倍6.CRL-G-DL(D<50mm);LL=13字节,累积量缩小1000倍7.CRL-G-DL(D≧50mm);LL=13字节,累积量缩小10倍8.CRL-H;LL=33字节,累积量缩小1000倍9.CRL-HL;LL=33字节,带负累计热量,累积量缩小1000倍10.CRL-G-D(D<50mm);LL=33字节,累积量缩小1000倍11.CRL-G-D(D≧50mm);LL=33字节,累积量缩小10倍12.SCL-61DT(D<50mm);带温度LL=17字节,累积量缩小1000倍13.SCL-61DT(D≧50mm);带温度LL=17字节,累积量缩小10倍14.SCL-71x(D<50mm);LL=13字节,累积量缩小10倍15.SCL-73x(D≧50mm);LL=13字节,累积量不缩小,也不扩大上面的协议中的D表示管道的直径。如果用户是新开发工程建议选用MOSBUS协议。其它详细细节请参考汇中有关资料。下面只给出一种SCL-61D(D≧50mm)的说明。这种协议本公司生产的电池供电型水表只兼容这一种协议,因此新版流量计把这种协议作为出厂默认选项。§1.5.1SCL-61D(D≧50mm)兼容协议接口:RS485波特率:默认9600,使用M62菜单可选择共8种不同的速率校验位:无(NONE),偶(EVEN),奇(ODD)数据位:8停止位:1,2在以下说明中:XXh表示当前仪表通讯地址(也称为网络地址),数值范围00h-FFh。YYh表示仪表新的通讯地址,数值范围00h-FFh。ZZh校验和,是所有数据字节的字节累加和(注意是二进制累加和,不包括控制及命令字节),不计超出FFh的进位部分。h表示此数值为16进制数命令格式(1)读取水表数据(4A命令)主机命令:2AhXXh4Ah仪表回答26hXXh4AhLL(BCD码)ZZh其中LL(BCD码)的内容如下表位置内容字节数说明1~4瞬时流量4缩小1000倍为实际数值,单位为m3/h5~8正累计流量4缩小10倍为实际数值,单位为m39~12累计运行时间4单位:小时13诊断信息代码1见诊断信息表格(2)读取定时存储数据(49命令)主机命令:2AhXXh49h仪表回答26hXXh49hLL(BCD码)ZZh该命令同(1)4A命令读取水表数据,唯一区别是该命令读出的数据是上一个定时时刻存储的数据,而(1)4A命令读取水表数据读出的是当前水表数据。(3)更改通讯地址(4B命令)主机命令:2AhXXh4BhYYh仪表响应26hXXh4BhYYh如果选取XXh=YYh,应用此命令可以循环检测通信线路是否正常,还可以扫描网络中存在的仪表数目,可以实现网络的自动配置注:一般地,主机端需要确认仪表是否设置了正确的通讯地址。如果不检测的话,在误码率较高的网络中,请慎用此4B命令,因为如果主机发送的YYh如果发生了错误,就会发生“丢失”下位机,或者造成两台仪表具有同一通讯号码而发生冲突现象。(4)更改(设定)定时数据记忆时间(4C命令)主机命令:2AhXXh4ChDDhHHh仪表回答:26hXXh4ChDDhHHhMMhZZh其中DDh表示某天,HHh表示某小时,MM表示某分钟,BCD码格式DD取值为某月的一天,例如2Ah86h4Ch12h15h表示设定86号仪表在每月的12号15时记忆(存储)当时的瞬时流量、累计流量、工作时间和状态代码,此储存数据便于用49命令读出。如果DD=0则表示每天的HHh时刻进行储存记忆操作。(5)广播校时(4D命令)主机命令:2AhAAh4DhssmmhhDDMMYY仪表不作回答其中ssmmhhDDMMYY表示BCD码格式的时间日期数值,分别是秒分时天月年。诊断信息代码为00h时表示正常02h时表示管道空错误或者是仪表不正常工作05h时表示数据存储时错误,硬件故障,需要维修(6)扩充的读取水表命令(50命令,平顶山水资源监控用命令)主机命令:2AhXXh50h(*xxP)仪表回答26hXXh50hLL(BCD码)ZZh其中LL(BCD码)的内容如下表位置内容字节说明数1~4瞬时流速4紧凑BCD码,缩小1000倍为实际数值,单位为m/h5~8瞬时流量4紧凑BCD码,缩小1000倍为实际数值,单位为m3/h9~12正累积流量4紧凑BCD码表示的数值部分,单位为m313~16负累积流量4紧凑BCD码表示的数值部分,单位为m317累积流量乘积系数值1数值范围N=0~60,1,2,3,4,5,6分别对应单位1,0.1,0.01,0.001,0.0001,0.00001,0.000001立方米。18~21累计运行时间4紧凑BCD码,单位:小时22诊断信息代码1见诊断信息表格例如9~12字节数据为12h,34h,56h,78h,而第17字节数值=2时,则实际的正累积量值是12345678X0.01=123456.78立方米例如接收的字符串为26H,01H,50H,00H,00H,00H,90H,00H,00H,00H,65H,78H,56H,34H,12H,12H,34H,56H,80H,03H,00H,00H,12H,34H,00H,zz则表示的水表数值如下瞬时流速=00000.090m/s瞬时流量=00000.065m3/h正累积量=78563412x10-3=78563.412m3负累积量=12345680x10-3=12345.680m3总工作时间=00001234小时水表工作状态=00表示正常。注意:对于替换升级换代使用的用户需要注意如下几点(1)新版TUF-2000系列产品更多强调用户可编程更改,所以在协议中,并没有固定波特率以及校验位的定义,用户需要自己查验,采用合适的波特率。(2)新版TUF-2000系列超声波流量计通信时,对时刻的要求低,可以任何时候采集数据。采集数据的时间间隔并没有特殊的要求。(3)新版TUF-2000系列超声波流量计出厂设置波特率一般为9600,无校验位。如果需要替换同类仪表,需要更改串行口参数。用户可以在订货时提出此要求,由厂家在出厂时设置好。用户也可以自行更改。更改的方法请参考设置一章(4)新版TUF-2000系列超声波流量计的通信地址(通信号码)。在显示菜单M46中可以查阅,也可以使用按键进行更改。出厂时此地址码一般地址设为01用户需要自己修改为合适地址。§1.6键值编码键值编码用于使用联机时,在上位机模拟按键用途。例如通过串行口输入指令“M1”,即相当于在TUF-2000型超声波流量计键盘上按键1,这样可达到在上位机完全实现键盘操作的所用功能。所有键盘编码如右表所示。键值码键值码键值码键值码按键ASCII码按键ASCII码(十六进制)(十进制)(十六进制)(十进制)030H480838H568131H491939H579232H502.3AH58:333H513◄3BH59;434H524MENU3CH60<535H535ENT3DH61=636H546▲/+3EH62>737H557▼/-3FH63?编程举例1.VB发出查询每秒瞬时流量的语句MSCOMM1.INPUT=”dqs”+vbcrlf;2.用VB发出命令,要求同时发回第4321号流量计的1.瞬时流量2.瞬时流速3.正累计量4.热量累计量5.AI1模拟输入电流数值6.AI2模拟输入数值并且带校验。发送命令如下:MSCOMM1.INPUT=“W4321PDQD&PDV&PDI+&PDIE&PBA1&PAI2”+VBCRLF;3.用VB发出修改设置管道外直径(位于M11窗口)等于345mm的命令MSCOMM1.INPUT=”M<”+VBCRLF+”M1”+VBCRLF+”M1”+VBCRLF+”M3”+VBCRLF+”M4”+VBCRLF+”M5”+VBCRLF+”M=”+VBCRLF上式中“M<”表示MENU键,“M=”表示ENT键,“M1”表示“1”
/
本文档为【江苏美科仪表-RS485-串口及modbus通讯协议】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索