- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
modbus协议modbus协议精选
深入理解Modbus基于串口的Modbus软件开发----------------------八股--------------------一、开发背景:2、GAT垃圾项目的DCS要通过Modbus与PLC进行通讯,我们的DCS仅进行过简单的测试。要连鬼子的炉排PLC,还需进行更正式的测试,秦SUN为了体现ABB的软件水平,特决定自己写一个ABoBo公司的MB测试软件。1、已经有好多个测试软件了,但是没有开源。如modbusscan 7.0(ModScan32.exe),Modbus Poll version, 4.3.1, Modbustester.exe,ModLink,ModbusSimulator2、协议比较老了,但是很管用。----------------------八股------------------------------------------N步走--------------------第一步:图书馆借N本VC串口编程的书第二步:上网下N个源代码第三步:上网下个虚拟串口的程序。(/cn/sn/download.htm)第四步:学习Modbus协议
主从方式,主站初始化传输。从站根据主设备查询提供的数据作出反应。
主站查询格式:站(或广播)地址、功能代码、要发送的数据、错误检测域。
从站回应格式:确认要行动的域、返回的数据、错误检测域。如果在消息接收过程中发生错误,或从站不能执行其命令,从站将建立错误消息并把它作为回应发送出去。
从站地址是0...247,0为广播地址
ASCII模式
: 地址 功能代码 数据数量 数据1 ... 数据n LRC高字节 LRC低字节 回车 换行 代码系统:
十六进制,ASCII字符0...9,A...F
消息中的每个ASCII字符都是一个十六进制字符组成
每个字节的位:
1个起始位
7个数据位,最小的有效位先发送
1个奇偶校验位,无校验则无
1个停止位(有校验时),2个Bit(无校验时)
错误检测域
LRC(纵向冗长检测)
使用ASCII模式,消息以冒号(:)字符(ASCII码 3AH)开始,以回车换行符结束(ASCII码 0DH,0AH)。
其它域可以使用的传输字符是十六进制的0...9,A...F。网络上的设备不断侦测“:”字符,当有一个冒号接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。
消息中字符间发送的时间间隔最长不能超过1秒,否则接收的设备将认为传输错误。
RTU模式
地址 功能代码 数据数量 数据1 ... 数据n CRC低字节 CRC高字节 ? ? 代码系统:
8位二进制,十六进制数0...9,A...F
消息中的每个8位域都是一个两个十六进制字符组成
每个字节的位:
1个起始位
8个数据位,最小的有效位先发送
1个奇偶校验位,无校验则无
1个停止位(有校验时),2个Bit(无校验时)
错误检测域
CRC(循环冗长检测)
深入理解ModBus功能码
Modbus主要功能码功能码 名称 注释 01 Read Coil Status (线圈状态0x)(读PLC的开出状态)??????? bit 读位??? ,与5对应, 可读可写DO 02 Read Input Status (输入状态1x) (读PLC的开入状态)?????? bit 读位,只读DI 03 Read Holding Register (保持寄存器4x HR) (读模出状态) 读整形、状态字、浮点型、字符型,与16对应 04 Read Input Register (输入寄存器3x AR) (读PLC模入状态) 读整形、状态字、浮点型 只读AI 05 Write Single Coil (强制单路开出,给PLC写数据) 写单个位? 可读可写DO 06 Write Single Register (强制单路模出,给PLC写数据) 写单个整形、状态字、浮点型、字符型,写HR4x的地址区 15 Write Multiple Coil (强制多路开出,给PLC写数据) 写多个位 16(0x10H) Write Multiple Register (强制多路模出,给PLC写数据) 写多个整形、状态字、浮点型、字符型 15和16可能是用于一次写一串数据的,不允许单个写。如时间的世纪、年、月、日、时、分、秒要一次写下去
设备和Modbus 地址范围对应表 设备地址 Modbus地址 描述 功能 R/W 1...10000* address - 1 Coils (outputs) 0 Read/Write 10001...20000* address - 10001 Discrete Inputs 01 R
您可能关注的文档
- 2013教育工作计划精选.doc
- 2013河工民建安全管理制度、措施、安全管理责任制、职责精选.doc
- 2013建会计继续教育培训答案(完整版)精选.doc
- 2013版员工手册2013版员工手册精选.doc
- 2013电大职业技能实训平台市场营销学答案(齐全版)精选.doc
- 2013电子信息工程技术教学标准 修改版精选.doc
- 2013管理文秘》复习范围整理精选.doc
- 2013级建造师《建设工程项目管理》模拟题C精选.doc
- 2013猎头常用网站(完整版)精选.doc
- 2013考政治必考题:调整经济结构,促进产业优化升级精选.doc
- 中国行业标准 GM/T 0126-2023HTML密码应用置标语法.pdf
- 《JJF 2121-2024恒转速源校准规范》.pdf
- 餐饮服务中20条处理要点.docx
- 《GM/T 0011-2023可信计算 可信密码支撑平台功能与接口规范》.pdf
- 《JJF 2134-2024旋转流变仪校准规范》.pdf
- JJF 2121-2024恒转速源校准规范.pdf
- 计量规程规范 JJF 2121-2024恒转速源校准规范.pdf
- 《JJF 2118-2024压力式六氟化硫气体密度控制器校验仪校准规范》.pdf
- JJF 2134-2024旋转流变仪校准规范.pdf
- 计量规程规范 JJF 2134-2024旋转流变仪校准规范.pdf
文档评论(0)