Micro830中文modbus教程.ppt
《Micro830中文modbus教程.ppt》由会员分享,可在线阅读,更多相关《Micro830中文modbus教程.ppt(44页珍藏版)》请在三一办公上搜索。
1、Allen-Bradley Micro800TM 可编程控制器Micro830/830 Modbus 技术培训Jan-23,2013,Modbus 协议概述,Modbus是Modicon公司在上世纪70年代为Modicon PLC开发的一款通信协议。该协议使用简单,多年来被很多第三方设备供应商采用。属于半双工的主/从协议。由主站启动通信(称为的“查询”),从站根据主站的要求作出响应。从站地址范围:1 247“0”地址用于广播主站没有地址不使用ACK或NAK应答机制 数据传送只是由主站发起查询,从站响应来完成Modbus 接收者根据“静音”时间间隔来判断数据包是否传送完毕。,Modbus 串行传
2、输模式,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个字符更高效(包含的数据位较多),容错能力强(CRC 校验),间隔时间很重要,一个Modbus RTU 的信息帧期望在一
3、个连续的数据流中被传输。如果在数据传输完成前出现一个时间大于预设的间隔时间的“静音”,那么接收者将丢弃不完整的数据,并且预期下一个字是下一个数据的地址信息,这将导致信息传输失败。同理,如果下一个信息与上一个信息间隔小于预设的间隔,那么接收者会认为该信息是上一个信息的延续,这将导致校验出错。,间隔时间很重要,因此,Modbus的健壮性并不比过去的会出现虚假字符的无线电网络强,也不比延时不确定的多通道的卫星网络强。许多使用 Modbus 的人(包括我们在内),都会遇到因为间隔时间设置不当而带来的麻烦。,Modbus 信息帧,ASCII 数据帧:开头 地址 功能码 数据 LRC校验 结尾:(3A)2
4、个字符 2个字符 n个字符 2个字符 CRLF(0D0A)RTU数据帧:开头 地址 功能码 数据 CRC校验 结尾T1-T2-T3-T4 8位 8位 n x 8位 16位 T1-T2-T3-T4,Modbus 信息帧,(从站)地址一个byte,有效值1247,0用于广播功能代码一个byte,有效值1255告诉从站需要干什么数据包含从站与功能码相应的动作所必须使用的附加信息,如:起始地址、数据长度等某些功能码不需要附加数据(因此,Modbus RTU包最小长度是4个byte),Modbus 信息帧,响应从站响应时,在地址区发回自己的地址从站响应时,发回原先的功能码,作为接收正确的响应如果有错误,
5、则从站响应时,会将原功能码的最高位置位如果有错误,则从站响应时,会将错误代码放在数据区典型的错误响应01 非法功能:出现从站不支持的功能码02 非法数据地址:出现无效的数据地址03 非法数据数值:出现无效的数据数值,Modbus 功能格式,Modicon 处理器有4个主要数据存储区(数据表):线圈(输出位 读/写):00001-09999,010000-065536输入(输入位 只读):10001-19999,100000-165536输入寄存器(16位字-只读):30001-39999,310000-365536保存寄存器(16位字-读/写):40001-49999,410000-46553
6、6注意:每组的数据范围都从“1”开始然而,所有的Modbus信息帧中的数据地址偏移量是“0”!第一个出现的数据,其地址是“0”。例如:线圈1 在Modbus的地址是“0000”线圈127 在Modbus的地址是十六进制“007E”(十进制126)保存寄存器40001在Modbus的地址是“0000”,(4XXXX 或 4XXXXX 隐性地与功能码相对应),Modbus 功能格式,这给文档描述带来混淆。你会发现如下针对保持寄存器的描述,例如:保持寄存器0(从0开始的编址方式)保持寄存器1(从1开始的编址方式)保持寄存器40001(5位地址格式),或 400001(6位地址格式)数据长度当读写多个
7、数据时,表示数据长度的字会出现在数据和校验区之间。,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强制(写)多个线圈00001-09999,000001-06553616预
8、置(写)多个寄存器40001-49999,400001-465536,Micro830/850 串口设置,内置的串口设置方法与Plug-in 串口模块(2080-SERIALISOL)的设置方法相同(注意:高级设置时,窗口需要展开):,Micro830/850 串口设置,CCW Release 2的通信驱动有4个可选:ASCII、CIP Serial(缺省值)、Modbus RTU、Shutdown:可选比特率:1200,2400,9600,19200,38400(缺省值),校验类型可选:None(缺省值)、Odd、Even.,串口Modbus RTU 的设定,Unit Address:0(缺
9、省值),1247,是Modbus RTU 从站地址。注意:“0”地址用于广播,不用于Modbus RTU 从站地址。Modbus RTU 主站没有地址,可以设为“0”。Modbus Role有三种可选:Modbus RTU Master(缺省值)、Modbus RTU Slave、Modbus RTU Auto(既可作主站,也可作从站),串口Modbus RTU 高级设定,Media:RS232(缺省值)无握手RS232 RTS/CTS 使用 RTS/CTS 握手RS485 内置串口,需要1763-NC01 电缆连接RTS Pre-Delay/Post-Delay:0ms(缺省值),0-999
10、,999,999ms在传输前和传输后,RTS被置位的最短提前和滞后时间(只有当介质设为 RS232 RTS/CTS 时).Data Bits:固定8位Stop Bits:1(缺省)或 2,串口Modbus RTU 高级设置,Response Timer:200ms(缺省值),0-999,999,999msModbus RTU 主站等待从站响应的最长时间,该时间对所有的 MSG_MODBUS 指令有效。如果在此时间内没有响应,则指令出现超时故障(故障代码是55)。注意:对于一个硬接线的Modbus 网络,该时间可以减少到 200ms(对应9600波特率),100ms(对应19,200波特率),5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Micro830 中文 modbus 教程

链接地址:https://www.31ppt.com/p-5439937.html