对XK3190-C602的Modbus RTU 协议的使用详解
更新时间:2024-04-12 05:44:01 阅读量: 综合文库 文档下载
对XK3190-C602的Modbus RTU协议使用详解
摘要:本文介绍的XK3190-C602仪表的主要功能之一Modbus RTU协议,介绍了C602仪表如何与上位机软件通讯以及如何正确地设置参数使系统达到最佳的性能。
关键词:Modbus RTU、串行链路、参数设置、远控、
1 前言
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在我国,Modbus已经成为国家标准GB/T19582-2008。 Modbus具有以下几个特点:
(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。
(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。
上海耀华称重系统在最近推出的控制仪表XK3190-C602和XK3190-CS6(以下简称C602和CS6)都已内建了标准的Modbus RTU传输格式的标准协议,经测试可与众多厂家的组态软件适配,如亚控科技的组态王软件,北京三维力控的Forcecontrol,维纶通科技的EB8000组态系列,昆仑通泰的MCGSE组态软件,都有成功的应用范例。本文主要是详解C602和CS6内建Modbus RTU的功能特点和使用注意事项。
2 C602和CS6内建Modbus RTU的功能和特点
由于C602和CS6内建Modbus RTU的功能和特点基本相同,因此本文以C602为主进行详细介绍。撰写本文时默认阅读者已对C602仪表的功能和应用有基本了解,因此对下文所涉及仪表的具体应用和功能不再做详细叙述,有兴趣的读者可以从我司网站下载C602仪表使用说明书查阅:
修改C602仪表为Modbus RTU协议的相关参数介绍如下:
仪表通讯地址(1~26) [ ***] 当多台仪表通过RS422/485总采用Modbus协议时地[Addr ] 线同上位机通讯时,可用通讯址范围为1~247 地址区别各台仪表。 通讯波特率 采用Modbus协议时占[ AB] A-通讯口(1),B-通讯口(2) 用的是通讯口(2),[bAud ] A,B 0 1 2 3 因此上位机波特率应4 5 bps 600 1200 2400 4800 当与通讯口(2)的波A,B 4 5 6 — 特率一致。 bps 9600 19.2k 57.6k — 若该参数通讯口(2)设置为3 ,且仪表主0 1 2 连续发 连续发 用作打印板上的JP4跳至AD码 重量 口 RS485一端,则C602的Modbus协议支持4B-通讯口(2) 线制RS422模式,若0 1 2 [ ABC] JP4在RS232一端,则指令应答连续发送RS485模[t Mode ] 支持RS232模式。 方式 方式 式 若该参数通讯口(2)设置为4,且仪表主板3 4 — 上的JP4跳至RS4854线制2线制一端,则C602的— Modbus Modbus Modbus协议支持2线C-通讯口(2)模式 制RS485模式 (0:C602模式,1:C601模式)
上位机的通讯参数设置:地址位对应,波特率对应,串口号对应,8位数据位,默认偶校验,1位停止位。
通讯方式 A-通讯口(1) 6
物理层的连线示意图:
C602仪表的通讯接口介绍:
连接线拓扑示意图:
物理层连线步骤:
C 2.3 通讯口(2)Modbus总线方式
2.1设置
通讯口(2)选择模式3(【SET 1】参数6B =3)为4线制RS485或RS232模式Modbus,选择模式4为2线制RS485模式Modbus。 2.2 数据格式 a) 传输模式为RTU。
b) Modbus方式地址范围为1-247。
注意:在设定设备地址的过程中,保证不存在有相同地址的两个设备非常重要。如果发生重复,整个串行总线工作将不正常, 而主节点将无法与总线上所有存在的节点通信。 c) 接收报文最大长度:47字节(包括地址和CRC) d) 发送报文最大长度:253字节(不包括地址和CRC)
e) C602面板的通讯指示灯可指示2个通讯口的工作状态。为了观察Modbus的工作状态,
可关闭通讯口1,该指示灯将指示Modbus接口的工作状态。 2.3 Modbus功能
C602实现的Modbus功能见下表,其中有阴影的部分未实现:
表2-1 C602实现的Modbus功能
数 据 访 问 读离散量输入 读线圈 写单个线圈 写多个线圈 读输入存储器 读保持寄存器 码 02 01 05 15 04 03 功能码 子码 6 6 00-18,20 14 13,14 13 十六进制 02 01 05 0F 04 03 06 10 17 16 18 14 15 07 08 0B 0C 11 2B 2B 2B 章节注1 7.2 7.1 7.5 7.11 7.4 7.3 7.6 7.12 7.17 7.16 7.18 7.14 7.15 7.7 7.8 7.9 7.10 7.13 7.21 7.19 7.20 比物理离散特量输入 访内部比特问 或 物理线圈 16输入存储比器 特内部存储访器或 问 物理输出存储器 写单个寄存器 06 注2 写多个寄存器 16 注2、注3 读/写多个寄存器 屏蔽写寄存器 读FIFO队列 23 22 24 20 21 07 08注6 文件记录访问 读文件记录 写文件记录 注4 诊断 读异常状态 诊断 获得事件计数器 获得事件记录 报告从站ID 读设备标识码 11 12 17 43 43 43 封装接口 封装接口传输 CANopen通用引用 注1:指在GB/T 19582.1-2008中的章节号。 注2:运行及远控状态不允许写寄存器。
注3:写多个寄存器时,如果在命令指定长度内有无效寄存器地址,则只写在此之前的寄存器,忽略以后的数据,返回的写入长度为有效数据的长度。如果写入数据超过该数据的上下限,则忽略该数据。这样规定,是为了提高系统容错性能。
注4:写文件功能,仅能写文件2:设备标识中的设备说明字串。
注6:仅实现00,01,02,10,11,12子功能,01子功能,参数为0xff00将使仪表复位(通过看门狗动作)。
2.4 C602的Modbus地址分配
表 2-2 离散量输入(只读,R)
地址 0 1 2 3 4 5 6 7 8~15 16~23 24~31 32~39 40~47 表2-3 线圈(读写,R/W)
地址 8~15 16~23 24~31 32~39 40~47 200 201 202 203 204 205 206 207 208 209 210 仪表O0~O7 第1扩展模块O0~O7 第2扩展模块O0~O7 第3扩展模块O0~O7 第4扩展模块O0~O7 启动 注2、注3、注6 置零 注2、注4、注6 除皮 注2、注4 远控 注2、注4 变量 1:输出有效 注1 1:输出有效 注1 1:输出有效 注1 1:输出有效 注1 1:输出有效 注1 启动设备工作程序 置零 1:除皮;0:显示毛重,不保留原皮重 1:进入远控;0:退出远控 说明 运行 停止 通讯 称重 稳定 零位 净重 远控 仪表I0~I7 第1扩展模块I0~I7 第2扩展模块I0~I7 第3扩展模块I0~I7 第4扩展模块I0~I7 变量 说明 00:暂停状态;01:运行状态;10:停止状态;11:预停状态 1:通讯口工作中 1:显示的是当前称重值 1:稳定状态 1:处于零位 1:净重状态 1:处于远控状态 1:输入有效 1:输入有效 1:输入有效 1:输入有效 1:输入有效 停止 注2、注3、注6,注7 停止设备工作程序或返回称重状态 加料 注2、注3、注4、注6 定量秤从加料程序步开始运行,到等待允放信号程序步停止 放料 注2、注3、注4、注6 定量秤从放料程序步开始运行,到放料完成停止 暂停 注2、注3 累计 注2、注4、注6 打印 注2、注4、注6 打印累计量 注2、注4、注6 1:暂停设备运行程序;0:恢复运行 记录当前重量 打印当前重量 打印累计次数,累计重量等数据 211 212 213 214 打印工作参数 注2、注4、 注6 打印标定参数 注2、注4、 注6 保存工作参数 注2、注4,将当前组工作参数及仪表设置参数注5、注6 写入EEPROM 保存标定参数 注2、注4,将标定参数写入EEPROM 注5、注6 注1:仅远控状态有效
注2:只能用写单个线圈指令操作 注3:远控状态不执行 注4:运行状态不执行
注5:响应时间可能延长到数百毫秒 注6:写1、写0效果相同
注7:停止命令与仪表【停止】键的功能不完全一致。停止命令将立即停止设备工作程序,进入停止状态。
表2-4 输入寄存器(只读,R)
地址 0 2 4 6 8 10 12 20 22 24 26 28 29 30 31 32 33 变量 净重(32位有符号整数)注2 毛重(32位有符号整数)注2 皮重(32位有符号整数) 注2 净重(浮点数) 注2 毛重(浮点数) 注2 皮重(浮点数) 注2 当前零点(浮点数) 标率(浮点数) 最大秤量(浮点数) 非线性修正值(浮点数) 分度值(16位整数) 小数位(16位整数) 初始置零范围(16位整数) 零点跟踪速度(16位整数)(暂未用) 零点跟踪范围(16位整数) 说明 零点AD码(浮点数) 置零范围(16位整数) 34 35 36 37 38 39 滤波算法(16位整数) AD转换速度(16位整数) 稳定判断限值(16位整数) 重量单位(16位整数) 标定参数逻辑量(16位整数) 滤波强度(16位整数) Bit0:零点<-20e报警, 0-禁止,1-允许 Bit1:开机置零,0-禁止,1-允许 Bit2:密码功能,0-禁止,1-允许 注1:32位整数或32位的浮点数,传输的格式为最高、次高、次低、最低。
注2:32位整数不包括小数点,小数位均作为整数处理,已圆整到仪表的显示分度值。浮点数为内部表示。浮点数未圆整到仪表的显示分度值。
表2-5 保持寄存器(读写,R/W)
地址 0 2 4 6 8 10 12 14 16 20 22 24 26 28 29 30 31 变量 净重(32位有符号整数) 注2 毛重(32位有符号整数) 注2 皮重(32位有符号整数) 注2 净重(浮点数) 注2 毛重(浮点数) 注2 皮重(浮点数) 注2 当前零点(浮点数) 注2 累计重量(浮点数) 注2 R R R/W R R R/W R R 说明 累计次数(16位整数) 注2 零点AD码(浮点数) 标率(浮点数) 最大秤量(浮点数) 非线性修正值(浮点数) 分度值(16位整数) 小数位(16位整数) 初始置零范围(16位整数) 置零范围(16位整数) 注1 注1 注1 注1 注1 注1 注1 注1 32 33 34 35 36 37 38 39 100 102 103 104 105 零点跟踪速度(16位整数)(暂未用) 零点跟踪范围(16位整数) 滤波算法(16位整数) AD转换速度(16位整数) 滤波强度(16位整数) 稳定判断限值(16位整数) 重量单位(16位整数) 标定参数逻辑量(16位整数) 模拟输出满量程对应的重量(浮点数) 模拟量零点AD码(16位整数) 模拟量满度AD码(16位整数) 串口1波特率(16位整数) 串口2波特率(16位整数) 注3 串口1工作模式(16位整数) 串口2工作模式(16位整数)注3 仪表通讯地址(16位整数) 打印机类型(16位整数) 辅助显示内容(16位整数) 注1 注1 注1 注1 注1 注1 注1 Bit1:1:允许开机置零 注1 106 107 (0-连续发送重量AD码,1-连续发送重量,2-打印机) (0-应答方式,1-连续方式,2-RS485方式,3-全双工的Modbus方式,4-半双工的Modbus方式) (1-247) (0-累计次数,1-累计重量,2-日期,3-时间,4-程序步/时间,5-定量值,6-锁定重量值) Bit0 允许打印 Bit1 允许通讯1 Bit2 允许通讯2 Bit3 打印前导零 Bit4 模拟量允许 Bit5 模拟量定义(0-净重,1-毛重) 108 109 110 111 112 显示亮度(16位整数) 工作参数设置(16位整数) 注3 Bit6 自动打印 Bit7 打印语言(0-英文,1-中文) Bit8 1=微打反向打印 113 工作参数设置(16位整数) Bit0 微打反向打印 Bit1 按C601格式通讯 Bit2 外接键盘 114 115 116 200 202 204 206 208 210 212 214 216 300 301 302 303 304 305 306 307 308 400 数据存储(16位整数) 0-不存储,1-存重量,2-存重量和时间 大屏幕设置(16位整数) O0端子定义 当前组工作参数 P0, (浮点数) P1, (浮点数) P2, (浮点数) P3, (浮点数) P4, (浮点数) P5, (浮点数) P6, (浮点数) P7, (浮点数) P8, (浮点数) T0, (16位整数) T1, (16位整数) T2, (16位整数) T3, (16位整数) T4, (16位整数) T5, (16位整数) T6, (16位整数) T7, (16位整数) 选项(16位整数) 0-大屏幕关,1-当前显示重量,2-辅助显示器显示重量 0-零位指示,1-无斗秤夹袋, 2-有斗秤夹袋 定量秤 零区 料1定量 分选秤 零区 通道1上限 料1快加提前量 通道2上限 料1慢加提前量 通道3上限 料1允差 通道4上限 料2定量/上料 —— 重量 料2快加提前量 —— /最小剩余重量 料2慢加提前量 修正系数 料2允差 —— 参考表6-1和表7-1 低位对应字节1,高位对应字节2 Bit0:自动除皮,0-禁止,1-允许 Bit1:提前量修正,0-不修正,1-修正 Bit2:超差处理 Bit3:欠料点补 Bit4:分选秤模式,0-非峰值保持, 循环次数(16位整数)
1-峰值保持
401 工作模式(16位整数) (0-定量加法秤,1-定量减法秤,2-自控分选秤,3-外控分选秤,4-连续分选模式) 配方号(16位整数) 参数范围:0~4 402 注1:标定开关打开才能写入
注2:32位整数或32位的浮点数,传输的格式为最高、次高、次低、最低。整数型已圆整到仪表的显示分度值,浮点数未圆整到仪表的显示分度值。 注3:修改此寄存器可能会终止Modbus通讯。
2.5 异常码定义
Bit0:0:主时钟为内部RC振荡器;1:为外部石英晶体振荡器 Bit1:0:AD工作正常; 1:AD工作异常 Bit2:0:EEPROM正常;1:EEPROM异常 2.6 ID内容
仪表型号(“XK3190-C602 Ver2.xx ”,20个字符)和设备说明字串,后者由用户写入,长度32字节。 2.7设备标识符
只响应“读设备ID码 02”
一致性等级:02
厂商名称:“Shanghai Yaohua Weighing System Com.Ltd.,”, 产品代码:“XK3190-C602”, 主次版本号:“Ver2.xx ”,
厂商网址:“http://www.yaohua.com.cn” 产品名称:“Weighing Indicator” 型号名称:“XK3190-C602”,
用户应用名称:由用户写入,32字节,同ID内容设备说明字串。 2.8 文件定义及记录编号
文件1为存储的称重记录,记录号为要读取称重记录的起始序号。记录长度表示要读取的称重记录数量。每次读取只能有1个子请求,故请求命令的数据长度只能等于7。自动存储类型为1时可读出的最大记录数量为8064,每个记录的长度为3,共6字节,前2字节为16位二进制整数的称重记录序号,后4字节为32位浮点数表示的重量。自动存储类型为2时可读出的最大记录数量为4032,每个记录的长度为5,共10字节,前2字节为16位整数
的称重记录序号,后4字节为32位二进制整数表示的自2000年1月1日0时0分0秒起的秒数,最后4字节为32位浮点数表示的重量。每次读取的长度最多为240字节。读记录号0返回的是本次开机的最后一次称重记录。其记录号也是称重记录的最后1个记录的记录号。如果返回的重量为0,表示本次开机后尚未有新的称重记录。
文件2为设备说明字串,长度6~32字节,不足32字节部分建议用空格填充,否则仍保
留原来的内容。文件2只有记录1。
常用测试代码举例:
以下测试用代码范例都是默认仪表编址为1,标定为3位小数位,分度值1,称重传感器加载1KG砝码,所有命令采用16进制数据格式显示。
例如:读净重 01 03 00 00 00 02 C4 0B ,依次解释如下:“01”是仪表编址,“03”是Modbus 读保持寄存器命令字,“00 00”是C602仪表的净重(32位有符号整数)寄存器地址,“00 02”是读保持寄存器个数,由于所读内容是32位有符号整数,所以是2个寄存器。“C4 0B”是CRC校验位。
假设仪表上位机发出:01 03 00 00 00 02 C4 0B指令,则仪表应答:01 03 04 00 00 03 E8 FA 8D,依次解释如下:“01”是仪表编址,“03”是Modbus 读保持寄存器命令字,“04”是返回的字节个数,“00 00 03 E8”是返回的净重示值,转换为十进制就是1000,需要注意的是,这里我们读取的是有符号整数,所以C602返回的是整数值,若需要小数位,可读取浮点数对应的寄存器地址。“FA 8D” 是CRC校验位。
写浮点数举例:假设我们要向C602保持寄存器的工作参数P0写浮点数123.456,则命令为:01 10 00 C8 00 02 04 42 F6 E9 79 84 61, 依次解释如下:“01”是仪表编址,“10”是Modbus 写多个保持寄存器命令字,“00 C8”是C602仪表的工作参数P0 (32位浮点数)寄存器地址,“00 02”是写保持寄存器个数,“04”是写入的字节数,“42 F6 E9 79”是浮点数123.456的十六进制格式, “84 61”是CRC校验位。
正在阅读:
对XK3190-C602的Modbus RTU 协议的使用详解04-12
感恩家长家长会主持词04-25
人教版一年级数学下册期末总复习试题全集06-26
2012年全国各省市高考试卷—有机化学05-26
政务APP宣传推广服务项目方案04-07
包饺子比赛作文500字07-03
优美语段摘抄中学生11-20
- 高一物理牛顿运动定律全套学习学案
- 水处理一级反渗透加还原剂亚硫酸氢钠后为什么ORP会升高
- 毕业设计(论文)-正文董家口 - 图文
- 荣盛酒店经营管理公司录用通知及入职承诺书II
- 第二讲 大学英语四级快速阅读技巧
- 质量管理体系文件(2015年委托第三方医药物流配送企业专用版本)
- 214071收款办法
- 苏轼对《文选》选文的评价
- 《诊断学基础B》1-8作业
- 广东省东莞市高一数学下学期期末教学质量检查试题
- 海南电网公司VIS推广应用管理办法
- 红星照耀中国习题
- 苏教版小学语文六年级上册期末复习资料之生字词整理
- 局域网组建与应用—王向东
- 税务稽查内部管理文书样式
- 环保社会实践调查表
- 九年级思品第一单元复习
- 2016年全国注册咨询工程师继续教育公路路线设计规范试卷
- 毕业设计-青岛港董家口港区防波堤设计
- 撞背锻炼方法与益处
- 详解
- 协议
- 使用
- Modbus
- 3190
- 602
- RTU
- XK
- 计算机组成原理试卷及答案 - (2) - 图文
- 2011年计算机等级考试三级网络技术笔试考点总结
- 试论王安石变法与张居正改革成效不同之原因
- 急跌之后隐藏的反弹机会
- 微机控制技术复习题(部分参考答案) - 图文
- 《钢筋混凝土结构》自测试题(一)
- 小学六年级语文复习毕业冲刺 2
- 化学史作业
- 三笔
- 湖南省浏阳一中、攸县一中高二上学期12月联考试题 英语 Word版含
- 卫生室传染病及突发公共卫生事件报告和处理考核标准
- 青塘镇中学年轻教师专业化发展现状调查报告
- 外墙保温材料调研报告及可行性研究方案
- 4G无线网小基站规划指导意见(2014年版)(暂行稿)
- 中级计算机图像制作员Photoshop复习资料(第二版)
- 配置data guard物理备库
- 江苏省2015届高三人教版历史二轮复习学案:第4讲 古代希腊、罗马
- 28054数学基础历年真题
- 贵州本土画家及贵州书画市场常见画家资料整理
- 第六讲 反比例函数