ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:37.06KB ,
资源ID:3788643      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3788643.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(串口及通讯协议.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

串口及通讯协议.docx

1、串口及通讯协议串口及通讯协议1.1概述新一代UFT系列产品本身带有隔离的RS485接口,可以同时支持多种常用的通讯协议,包括MODBUS协议、M-BUS、FUJI扩展协议、并兼容国内其它厂家协议。MODBUS协议是常规的工控常用协议。MODBUS的两种格式RTU和ASCII都能支持。M-BUS是国际上常用热表计量协议,使用该协议在M63菜单中选择“MODBUS ASCII”选项。天泽FUJI扩展协议是在日本FIJI超声波流量计协议的基础上扩展实现的,能够兼容FUJI超声波流量计协议,以及第7版超声波流量计协议。兼容协议可以兼容水表协议以及国内其他厂家协议,为了方便用户把UFT系列产品接入用户按

2、照国际其它厂家通讯协议而开发的数据采集系统中,目前可以支持12种兼容通讯协议。使用兼容通讯协议,用户需要在M63中,选择:MODBUS ASCII选项后再选择协议中的任意一种即可。UFT系列产品还能够起到简易RTU设备的作用,可使用电流环及OCT输出控制步进式或模拟式电磁阀的开度,OCT输出可控制其它设备的上下电,其1路模拟输入可用来输入压力、温度等信号。位于M63窗口外的设置选项设置为“MODBUS-RTU ONLY”时,用来支持MODBUS-RTU协议,当此选项设置为“MODBUS ASCII、Meter-BUS、天泽FUJI扩展协议及汇中流量计水表兼容协议。不同的汇中流量计水表兼容协议的

3、选择则也使用M63进行选择,在选择了“MODBUS-RTU”、“MODBUS-ASCII”之后进行选择。 M62菜单用于设置串口参数,能够支持的波特率有19200、14400、9600、4800、2400、1200、600、300共8种,停止位1比特或2比特、校验位也可以选择。 使用各种组态软件自带的标准MODBUS驱动,程序可以方便的把UFT连接到数据采集中。通过使用MODBUS-PROFTBUS转换器,也可以方便的把UFT连接到PROFIBUS总线中。使用RS485则可以接入RS-485总线,也可以使用本公司生产的GSM短信息模块板,通过短信息传输流量/热量测量数据。该模块板可以多机组网,

4、还可以使用普通手机(移动电话)查看流量计的工作状态和测量数据。在网络环境中使用时,除标识地址码的编程需使用串口或并口操作键盘外,其它各个量的操作均可在上位机上进行。数据的传输采用命令应答方式即上位机发出命令流量计作出相应的回答。流量数据采集可以使用本公司研制开发的通用/专用流量/热量数据监控系统,该系统基于UFT流量计的特点,充分利用了流量计特色的软硬件设计,具有投资少,系统简单明快、运行可靠等特点。为了通讯调试的方便,新版UFT设有一个模拟运行状态,在此状态下流量计不需要接入管道,即可模拟工作,用于调试,参看下一节的问答。1.2关于通讯方面问题的问答(1) 问:为什么我就连接不上流量计,它不

5、做任何反应?答:A. 检查串口参数是否匹配;位于M63窗口的协议选择是否正确B检查物理连线是否接好D位于M46窗口的地址是否设置正确C把流量计重新上电,应该能接收到字符“AT”,否则A和B步存在问题D检查命令是否正确。在使用扩展协议时命令后面要紧跟者一个回车符号(2) 问:为什么MODBUS读出的量值乱七八糟的,和显示值完全不一致?答:一般来说如果MODBUS协议能够读出数据就表明协议本身没有问题了。乱七八糟的数据是因为存在如下错误:A数据格式错误, B.寄存器地址有误,导致数据发生了位移而产生错误。比如REAL4这种实型变量(IEEE754格式的单精度浮点数),按照字和字节共有4种不同的排列

6、方式,UFT使用的是最常规的一种,即低word和高byte在前格式。您可以修改您的软件的数据存放格式解决这个问题。如果使用通用的组态软件,则组态软件一般具有一个选择格式的方法。(3) 问:我的系统要求每次1小时只发出一次命令然后要求同时收到多个变量,应该使用哪个协议?答:一条MODBUS命令可以一次读出很多变量。如果MODBUS-RTU不能解决问题,可以使用使用“&”连接符号连接起来的扩展协议。还可以使用简易兼容协议,或者Meter-BUS协议。(4) 问:为什么通过协议读出的量值和流量计显示的不一致? 答:A. 确认变量地址是否就是您要求的那个变量?因为流量计内部的变量太多,是否混淆了? 注

7、意在读取数据时,REG 0001在命令字符串中表示为0000,而不是0001。0001在命令字符串中表示读出REG 0002的内容。 B对于累积量只能显示7位10进制数字,而通过MODBUS协议可以读出8位10进制数字。这种情况下,读出来的数值的后7位是一样的。(5) 问:我的系统不能支持长整数以及实型变量格式,应该怎么办?答:需要采用数值转换方式,或查找新驱动程序解决。(6) 问:MODBUS有测试程序吗?答:有!推荐使用MODSCAN这个软件,可以在网上搜到。这个程序很是方便,有助于方便检查读出的数据,理解各种类型数据的含义。(7) 问:流量计是否具有模拟运行状态以方便测试,怎样设置?答:

8、有!在M11窗口中输入0值即启动模拟运行状态。模拟运行状态下总是设置流速为1.2345678m/s,瞬时流量等于0,并且显示“R”状态。如果要求瞬时流量为设定值,则可以通过在M44窗口中输入一个负的设定值实现。例如在M44窗口中输入-3600立方米/秒。瞬时流量就会显示为3600立方米/秒。这时所有累积器也会做相应的累积。因此就得到了变化的累积量输出。使用这个功能,能在不接传感器的条件下,特别方便与联网软件的调试以及流量计功能的测试。 (8)问:使用C时,浮点数存放顺序是怎样的?答:例如3F 9E 06 51四个字节为1.2345678的IEEE754格式单精度浮点形式,在MODBUS数据流中

9、的顺序是06 51 3F 9E,1号地址数据流应该是01 03 04 06 51 3F 9E 3B 32 (十六进制数字),在X86计算机中使用C语言时,按照内存从低到高存放顺序51 06 9E 3F。再例如读取净累积寄存器REG25,REG26两个寄存器命令如下:01 03 00 18 00 02 44 0C (十六进制数字)返回数据应该为(设净累积器=802609,其4字节16进制表示为00 0C 3F 31)01 03 04 3F 31 00 0C A7 ED (十六进制数字,A7 ED为校验和)1.3 MODBUS协议MODBUS协议的两种格式都能支持。通过在菜单窗口M63中,选择使用

10、MODBUS-RTU还是MODBUS-ASCII格式。默认状态下支持MODBUS-ASCII格式。UFT型系列超声波流量计/热量计只能支持MODBUS功能代码03和06以及16三种功能代码,分别是读寄存器和写单一寄存器以及数据块写入功能。例如在RTU方式下读取1号设备的流速,即读寄存器5,6共2个寄存器命令如下01 03 00 00 04 02 85 CA (十六进制数字)设备号 功能 起始寄存器 寄存器数目 效验和其中85 CA是16进制数值,是按照CRC-16 (BISYNCH,多项式是x16 + x15 + x2 + 1屏蔽字为0A001H)循环冗余算法得到的。请参考MODBUS有关资料

11、了解进一步的算法。返回的数据应该为(设定状态为模拟运行状态,流速=1.2345678m/s):01 03 04 06 51 3F 9E 3B 32 (十六进制数字)设备号 功能 数据字节数 数据=1.234567 效验和其中3F 9E 06 51四个字节即为1.2345678的IEEE754格式单精度浮点形式。再举例:读净累积流量REG25,REG26两个寄存器命令如下:01 03 00 18 00 02 44 0C (十六进制数字)返回数据应该为(设净累积器=802609,其4字节16进制表示为00 0C 3F 31)01 03 04 3F 31 00 0C A7 ED(十六进制数字,A7

12、ED为效验和)当净累积=0时,返回数据为 01 03 04 00 00 00 00 FA 33 (其中FA 33 为效验和)请注意上面例子中数据存放的顺序,对于使用C语言解释数值时,可以使用指针直接把所需的数据放入相应的变量地址中即可。一般常用的存放顺序为低字节在前。例如上面的1.23456m/s例子中,3F 9E 06 51数据的存放顺序为51 06 9E 3F .在 ASCII方式下读取1号设备的从寄存器1开始的10个寄存器的命令如下:01030000000AF2(回车换行) 返回数据为:0103280000000000000000000000000000000000000000D4其中“

13、:”是ASCII方式下的引导符,“F2” 是双字节效验和。求法是把除“:”及行尾的回车换行以外的所有字符顺序进行单字节加法,不计进位,然后求补码得到的。例如上面的命令中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,这个软件

14、可以在互联网上搜索到。当出现问题时,如果能够接受到效验和正确的数据包则说明通讯本身是不存在问题的。在默认状态下通信的设置速率一般是9600、无效验、8数据位、1个停止位。1.3.1 MODBUS寄存器地址表(注意与水表协议的不同之处)寄存器寄存器个数变量名称数据类型说明0001-00022瞬时流量REAL4单位:立方米/小时0003-00042瞬时热流量REAL4单位:GJ/小时0005-00062流体速度REAL4单位:米/秒0007-00082测量流体声速REAL4单位:米/秒0009-00102正累积流量LONG所有使用长整数的流量累积器,其计量单位受M32(即REG1438)控制001

15、1-00122正累积流量小数部分REAL4REAL4是标准IEEE-754格式单精度浮点数。该格式数据一般也称为FLOAT格式LONG是低字在前带符号长整数0013-00142负累积流量LONG0015-00162负累积流量小数部分REAL40017-00182正累积热量LONG0019-00202正累积热量小数部分REAL40021-00222负累积热量LONG0023-00242负累积热量小数部分REAL40025-00262净累积流量LONG0027-00282净累积流量小数部分REAL40029-00302净累积热量LONG0031-00322净累积热量小数部分REAL40033-00

16、342温度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仪

17、表日期时间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进水

18、电阻数REAL4单位欧姆0079-00802回水电阻数REAL4单位欧姆0081-00822超声波总传播时间REAL4单位微秒0083-00842超声波传播时间时差REAL4单位纳秒0085-00862超声波上游传播时间REAL4单位微秒0087-00882超声波下游传播时间REAL4单位微秒0089-00902当前电流环输出电流值REAL4单位毫安0092 1工作步骤和信号质量INTEGER高字节表示信号调整步骤底字节表示信号质量,数值范围0-9,数值大表示信号好00931上游信号强度 INTEGER数值范围0-409500941下游信号强度INTEGER数值范围0-409500961操作界

19、面语言类型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-01

20、202净累积热量(浮点形式)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今天累积流量LONG0

21、139-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-018

22、82自动储存总时间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今天最

23、大瞬时流量INTEGER 单位: m3/h03172当月最大瞬时流量INTEGER 单位: m3/h14371当前瞬时流量计量单位INTEGER取值0-31见注514381当前累积热量计量单位INTEGER取值0-7见注114391当前累积流量倍乘因子INTEGERn取值0-7, 见注解114401当前累积热量倍乘因子INTEGERn取值0-10,见注解114411当前热量计量单位INTEGER取值03。0=GJ , 1=Kcal2=KWh, 3=BTU14421仪表通讯地址号码INTEGER14911仪表类型INTEGERBIT0=0表示是流量计BIT0=1表示是热能表BIT3=1表示热能表

24、装在进水口BIT3=0表示热能表装在出水口14512用户标尺因子REAL415212厂家标尺因子REAL4不可改写15292设备电子序列号码BCD本设备电子序列号码请注意高位在前注:(1)内部累积量使用了长整数和小数组合的方式。一般使用时,只读整数部分即可,小数部分可以忽略。累积量的大小和 累积单位及倍乘因子有关系,它们之间的确切关系是,设累积整数部分N(对正累积而言是寄存器0009,0010中数值,32比特带符号长整数),累积的小数部分为Nf(对正累积而言是寄存器0011、0012中内容,4字节浮点数),而累积流量倍乘因子为n(寄存器1439)则正累积流量=(N+Nf ) 10n-3 (单位

25、在累积流量单位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)请注意上表格中的很多数据对于非热量计来说是无效的,在单独使用流量计时

26、,可以忽略无关项。这些无关项主要是为了使我们的产品的通讯协议统一,便于用户使用。(4)错误代码是16比特位其含义如下 Bit0 没有收到信号错误 Bit1 信号太低错误 Bit2 信号差错误 Bit3 管道空错误 Bit4 电路硬件错误 Bit5 正在调整电路增益 Bit6 频率输出超量程错误 Bit7 电流环输出电流过量程错误(一般情形下需要设置最大量程) Bit8 内部数据寄存器效验错误 Bit9 主振频率或者时钟频率存在错误 Bit10 参数区存在效验和错误 Bit11 程序存储器数据效验和错误 Bit12 温度测量电路可能存在错误 Bit13 保留? Bit14 内部计时器溢出错误 B

27、it15 模拟输入电路存在错误 注意如果对于流量计,使用此代码时请先注意屏蔽掉那些与热量测量有关的位,因为那些位的状态不是确定的。(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英

28、制石油桶/秒29英制石油桶/分30英制石油桶/小时31英制石油桶/天1.3.2 年月日累积数据MODBUS地址表(1) 日累积数据每日累积数据采用32个字节大小的数据块循环队储存,共有512个数据块,当前的数据块指针地址在寄存器0162中,其数值范围为0511。当前指针指向“昨天”的数据,当前指针减1则指向“前天”的数据。数据指针等于0时再减1则指向数据块511。设0162中数为1,则昨天的累积数据在寄存器10257-10272中,前天的数据在10241-10256中,大前天的数据在18417-18432中。注意:在组态软件中,对于浮点数据等变量的读出在前面需要添加“4”,这样可能在这类软件中填写寄存器地址时,10241这个寄存器应该写成“410241”。地址表如下数据块号寄存器地址寄存器个数变量名称数据类型说明n/a01621月累积数据指针Integer数值范围0-1270102411状态字节和日BCD低字节中是状态,高字

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1