版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Copyright 2010 Rockwell Automation, Inc. All rights reserved.(Confidential For Internal Use Only)Allen-Bradley Micro800TM 可编程控制器可编程控制器Micro830/830 Modbus 技术培训技术培训Jan-23,2013(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 协议概述协议概述 Modbus是Modico
2、n公司在上世纪70年代为Modicon PLC开发的一款通信协议。 该协议使用简单,多年来被很多第三方设备供应商采用。 属于半双工的主/从协议。 由主站启动通信(称为的“查询”),从站根据主站的要求作出响应。 从站地址范围:1 247 “0”地址用于广播 主站没有地址 不使用ACK或NAK应答机制 数据传送只是由主站发起查询,从站响应来完成 Modbus 接收者根据“静音”时间间隔来判断数据包是否传送完毕。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserv
3、ed.Modbus 串行传输模式串行传输模式 Modbus ASCII 编码系统: 十六进制的ASCII码09、AF (每个ASCII码只包含一个十六进制字符) 每个字包括: 1 个开始位、7个数据位、可选的校验位、12个停止位 错误校验: 纵向冗余校验 (LRC) 间隔:半个字符 容易实现 (LRC vs. CRC) ,间隔较短 Modbus RTU 编码系统: 8位二进制码表示的十六进制09、AF (8位数据中包含二个十六进制数) 每个字包括: 1 个开始位、8个数据位、可选的校验位、12个停止位 错误校验: 循环冗余校验 (CRC-16) 间隔:3.5个字符 更高效 (包含的数据位较多)
4、,容错能力强 (CRC 校验)(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.间隔时间很重要间隔时间很重要 一个Modbus RTU 的信息帧期望在一个连续的数据流中被传输。如果在数据传输完成前出现一个时间大于预设的间隔时间的“静音”,那么接收者将丢弃不完整的数据,并且预期下一个字是下一个数据的地址信息,这将导致信息传输失败。 同理,如果下一个信息与上一个信息间隔小于预设的间隔,那么接收者会认为该信息是上一个信息的延续,这将导致校验出错。(Conf
5、idential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.间隔时间很重要间隔时间很重要 因此,Modbus的健壮性并不比过去的会出现虚假字符的无线电网络强,也不比延时不确定的多通道的卫星网络强。 许多使用 Modbus 的人 (包括我们在内) ,都会遇到因为间隔时间设置不当而带来的麻烦。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights res
6、erved.Modbus 信息帧信息帧 ASCII 数据帧:开头 地址 功能码 数据 LRC校验 结尾:(3A) 2个字符 2个字符 n个字符 2个字符 CRLF(0D0A) RTU数据帧:开头 地址 功能码 数据 CRC校验 结尾T1-T2-T3-T4 8位 8位 n x 8位 16位 T1-T2-T3-T4(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 信息帧信息帧 (从站) 地址 一个byte,有效值1247,0用于广播 功能代
7、码 一个byte,有效值1255 告诉从站需要干什么 数据 包含从站与功能码相应的动作所必须使用的附加信息,如:起始地址、数据长度等 某些功能码不需要附加数据 (因此,Modbus RTU包最小长度是4个byte)(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 信息帧信息帧 响应 从站响应时,在地址区发回自己的地址 从站响应时,发回原先的功能码,作为接收正确的响应 如果有错误,则从站响应时,会将原功能码的最高位置位 如果有错误,则从站
8、响应时,会将错误代码放在数据区 典型的错误响应 01 非法功能: 出现从站不支持的功能码 02 非法数据地址:出现无效的数据地址 03 非法数据数值: 出现无效的数据数值(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 功能格式功能格式 Modicon 处理器有4个主要数据存储区 (数据表) :线圈 (输出位 读/写): 00001-09999, 010000-065536输入 (输入位 只读): 10001-19999, 100000
9、-165536输入寄存器 (16位字 -只读): 30001-39999, 310000-365536保存寄存器 (16位字 - 读/写): 40001-49999, 410000-465536 注意:每组的数据范围都从“1”开始 然而,所有的Modbus信息帧中的数据地址偏移量是“0”! 第一个出现的数据,其地址是“0”。例如: 线圈1 在Modbus的地址是“0000” 线圈127 在Modbus的地址是十六进制“007E” (十进制126) 保存寄存器40001在Modbus的地址是“0000”, ( 4XXXX 或 4XXXXX 隐性地与功能码相对应)(Confidential For
10、 Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 功能格式功能格式 这给文档描述带来混淆。你会发现如下针对保持寄存器的描述,例如: 保持寄存器0 (从0开始的编址方式) 保持寄存器1 (从1开始的编址方式) 保持寄存器40001 (5位地址格式) ,或 400001 (6位地址格式) 数据长度 当读写多个数据时,表示数据长度的字会出现在数据和校验区之间。(Confidential For Internal Use Only) Copyright 2010 Rockwel
11、l Automation, Inc. All rights reserved.Modbus 功能代码功能代码功能代码 名称地址范围 (5 位 6 位)01读线圈状态00001-09999, 000001-06553602读输入状态10001-19999, 100001-16553603读保持寄存器40001-49999, 400001-46553604读输入寄存器30001-39999, 300001-36553605强制(写) 单个线圈00001-09999, 000001-06553606预置(写) 单个寄存器40001-49999, 400001-46553615强制(写) 多个线圈00
12、001-09999, 000001-06553616预置(写) 多个寄存器40001-49999, 400001-465536(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Micro830/850 串口设置串口设置 内置的串口设置方法与Plug-in 串口模块(2080-SERIALISOL) 的设置方法相同 (注意:高级设置时,窗口需要展开):(Confidential For Internal Use Only) Copyright 2010
13、 Rockwell Automation, Inc. All rights reserved.Micro830/850 串口设置串口设置 CCW Release 2的通信驱动有4个可选:ASCII、CIP Serial (缺省值)、Modbus RTU、Shutdown: 可选比特率:1200, 2400, 9600, 19200, 38400(缺省值) , 校验类型可选:None (缺省值)、Odd、Even.(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights res
14、erved.串口串口Modbus RTU 的设定的设定 Unit Address: 0 (缺省值), 1247 ,是Modbus RTU 从站地址。 注意:“0”地址用于广播,不用于Modbus RTU 从站地址。Modbus RTU 主站没有地址,可以设为“0”。 Modbus Role有三种可选: Modbus RTU Master (缺省值)、 Modbus RTU Slave、 Modbus RTU Auto (既可作主站,也可作从站)(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc
15、. All rights reserved.串口串口Modbus RTU 高级设定高级设定 Media: RS232 (缺省值) 无握手 RS232 RTS/CTS 使用 RTS/CTS 握手 RS485 内置串口,需要1763-NC01 电缆连接 RTS Pre-Delay/Post-Delay: 0ms (缺省值), 0-999,999,999ms 在传输前和传输后,RTS被置位的最短提前和滞后时间 (只有当介质设为 RS232 RTS/CTS 时). Data Bits: 固定8位 Stop Bits: 1 (缺省)或 2(Confidential For Internal Use On
16、ly) Copyright 2010 Rockwell Automation, Inc. All rights reserved.串口串口Modbus RTU 高级设置高级设置 Response Timer: 200ms (缺省值), 0-999,999,999ms Modbus RTU 主站等待从站响应的最长时间,该时间对所有的 MSG_MODBUS 指令有效。如果在此时间内没有响应,则指令出现超时故障 (故障代码是55) 。 注意:对于一个硬接线的Modbus 网络,该时间可以减少到 200ms(对应9600波特率),100ms(对应19,200波特率),50ms(对应38,400波特率)
17、,以减少无响应节点的等待时间。 Broadcast Pause:200ms (缺省值), 0-999,999,999ms Modbus RTU 主站发完前一个广播后到下一个广播前的最短时间间隔(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.串口串口Modbus RTU 高级设置高级设置 Inter-Char Timeout:0ms (缺省值), 0-999,999,999ms Modbus RTU 协议根据传输过程中“静音”时间是否超过“Inter
18、-Char Timeout”的值来判断一个数据包是否已完全被接收。数字0意味着Modbus的该值为3.5个字符的时间间隔。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.串口诊断串口诊断 在Release 2,CCW 仍不能显示串口诊断计数。 当任何一个串口无论是发送数据还是接收数据,控制器的通信指示灯COMM都会闪烁 (因此,在多串口情况下,无法判断哪个串口正在收发数据)。COMM LED指示灯闪烁最短时间是 250 毫秒。(Confidenti
19、al For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 从站从站 Mapping 设置设置 为了响应Modbus 主站的读写命令,PLC的变量必须映射到 Modbus 地址中 双击Variable Name下方的单元格,打开变量选择窗口:(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 从站从站 Mappi
20、ng 设置设置 选择变量,点击 OK,然后输入合适的Modbus地址,(从1开始,有5位的和6位的二种格式) : 0 xxxx 或 0 xxxxx,输出/线圈 (最高到 09999 或 065536) 1xxxx 或 1xxxxx,输入/触点 (最高到 19999 或 165536) 3xxxx 或 3xxxxx,输入/只读寄存器 (最高到 39999 或 365536) 4xxxx 或 4xxxxx,保持/读写寄存器 (最高到 49999 或 465536)(Confidential For Internal Use Only) Copyright 2010 Rockwell Automat
21、ion, Inc. All rights reserved.Modbus 从站从站 Mapping 设置设置 CCW 会根据数据类型,自动填写已经Mapping的地址数量(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 从站从站 Mapping 设置设置 重要提示!强烈推荐:连续使用Modbus地址,中间不要留无用的地址。因为大多数Modbus 主站设备(如PVC屏)为了提高效率,会对连续的数据块进行读写。例如,如果你只让PVC显示Mo
22、dbus 寄存器40001 和40009的值,那么,PVC会使用一条读指令将4000140009的值一次性全部读入,而不会分二次读。如果40002-40008 的值没有被Map,则指令会出现02错误代码(非法数据地址)。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 从站从站 Mapping 设置设置 重要提示! (接上页)你可以在Modbus主站里设置块读写的长度。对PVC来说,在控制器设置栏里,可以设置该参数,缺省值是32。 (C
23、onfidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 从站从站 Mapping 设置设置 限制:Modbus mapping 表中,最多只能有200条有些数据类型:TIME、DATE、STRING,不能map任何数据类型的数组都不能map(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus
24、主站主站 Message 指令指令 为了使用Modbus message 指令, 先将一个block拖放到梯形图中,然后选择 MSG_MODBUS(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 黄色三角形警告,提示必须为指令块的输入端指定所需数据类型的常数或变量。输出端则不是必须的。(Confidential For Internal Use Only) Copyright 2010 Rockwel
25、l Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 IN MSG_MODBUS 指令由IN的上升沿触发,一旦触发,指令将一直执行,不管IN后来是否为真,直到执行完成。 Cancel 将Cancel置为真是唯一终止MSG_MODBUS执行的方法。通常你可以让该引脚常 FALSE,以确保指令正常执行。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Mes
26、sage 指令指令 LocalCfg 用于设置本地(主站),其数据类型是MODBUSLOCPARA,结构如下: LocalCfg.Channel LocalCfg.TriggerType LocalCfg.Cmd LocalCfg.ElementCnt(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 创建一个类型为MODBUSLOCPARA的本地变量,并将其指定给MSG指令的LocalCfg 输入。你
27、可以为其设置初始值(如下图),也可以通过变量和逻辑程序来赋值。 MyLocalCfg.Channel=5 (通道号:左起第一个插槽) MyLocalCfg.TriggerType=0 (触发类型:非连续型) MyLocalCfg.Cmd=3 (命令:读保持寄存器) MyLocalCfg.ElementCnt=4 (数据长度:4 个字)(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 TargetCfg
28、 用于设置远端(从站),其数据类型是 MODBUSTARPARA,数据结构如下: TargetCfg.Addr TargetCfg.Node(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 创建一个类型为MODBUSTARPARA的本地变量,并将其指定给MSG指令的TargetCfg 输入。你可以为其设置初始值(如下图),也可以通过变量来赋值。 MyTargetCfg.Addr=8449 MyTarg
29、etCfg.Node=100(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 LocalAddr 用于数据缓存,其数据类型是MODBUSLOCADDR,该类型是一个由125个WORD组成的数组。对读命令而言,LocalAddr 用来储存从从站读来的数据(最多125个WORD)。对写命令而言,LocalAddr 存放需要写入从站的数据(最多123个WORD)。创建一个类型为MODBUSLOCADDR的本
30、地变量,并将其指定给MSG指令的LocalAddr 输入。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 现在,MSG_MODBUS 指令已经设置成功:通过插在左边第一个插槽的2080-SERIALISOL plug-in 串口模块,用非连续触发的方式,读取从站的48449-48452保持寄存器,数据存放在MyReadData1MyData4,从站地址为100。 当MSG指令成功执行完成后,输出Q
31、将置为TRUE (MSG_MODBUS_1.Q=1). 如果MSG指令执行不成功,则输出Q 保持FALSE,输出 Error 置为TRUE (MSG_MODBUS_1.Error=1),同时输出 ErrorID 给出十进制的错误代码。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 在连续型触发模式下(MyLocalCfg.TriggerType=1), 输出Q 和ERROR 保持false,ERRO
32、RID 为 0 每个串口(48 点的控制器可支持5个plug-in串口模块,以及一个内置的串口) 拥有自己独立的数据收发缓冲区。(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Modbus 主站主站 Message 指令指令 MSG_MODBUS 成功执行完毕: MSG_MODBUS 执行出错:(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc.
33、All rights reserved.Modbus 主站主站 Message 指令指令 故障码及说明(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Message 指令编程示例指令编程示例基本的 MSG 梯形图逻辑:1. 非连续型 每个IN的上升沿触发一次 当MSG指令被触发时,其输出端 Q 和 Error 将被复位(Confidential For Internal Use Only) Copyright 2010 Rockwell Automation, Inc. All rights reserved.Message 指令编程示例指令编程示例基本的 MSG 梯形图逻辑:2. 连续型 MSG 尽可能快 只要输入IN为TRUE,Message 指令一旦执行完成后,无论是否成功,都会立即再一次触发,而且不会输出 Q 和Error(Confidential For Internal Use Only) Copyright 2010 Rockwell Automa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病低血糖定义
- 小麦白粉病盆栽试验
- 高层建筑物业管理
- 苏锡常镇四市3月一模语文讲评课件
- 会计信息系统实训-供应链篇(用友U8 V10.1)(第2版) 课件 单元1 会计信息系统认知
- 甲状腺肿瘤的术后护理
- 正邦猪场管理员述职
- 初中名词所有格归类
- 《“数学思考”复习》教案
- 2024-2025学年高一【数学(人教A版)】三角函数的图象变换-教学设计
- 2023年MBA工商管理硕士考试综合模拟练习题及答案
- 离网光伏发电系统方案
- 展厅机器人方案
- 2024年永州职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 炮塔铣床作业指导书
- 10kv线路施工工艺
- 2024年吉林长春天然气集团有限公司招聘笔试参考题库含答案解析
- 天津高中22安置考试英语试题
- 2024年度政府招商引资培训课程
- 阿-斯综合症课件
- 后交通动脉瘤护理查房课件
评论
0/150
提交评论