- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MODBUS协议的上位机与PLC及智能仪表之间的通信实现方法
基于MODBUS协议的上位机与PLC及智能仪表之间的通信实现方法CALL MBUS_SLA VE, M0.2, MB2五、上位机通讯软件的设计方案:1 初始化为加快开发速度,上位机通讯软件的编程可以用法MSCOMM控件,用控件对通讯软件进展设定需要用法的串口地址、波特率、校验方式、数据缓冲区等初始化操作.2 指令字发送MODBUS规定完好的指令应由从机地址、功能码、数据段和校验码组成。指令字发送必需严格遵守该规定。计算机发送指令:[设备地址] [指令号01] [起始存放器地址高8位] [低8位] [读取的存放器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]3 下表是Modbus支持的功能码:功能码名称作用01 读取线圈状态获得一组规律线圈的当前状态〔ON/OFF)02 读取输入状态获得一组开关输入的当前状态〔ON/OFF)03 读取保持存放器在一个或多个保持存放器中获得当前的二进制值04 读取输入存放器在一个或多个输入存放器中获得当前的二进制值05 强置单线圈强置一个规律线圈的通断状态06 预置单存放器把详细二进值装入一个保持存放器07 读取异样状态获得8个内部线圈的通断状态,这8个线圈的地址由掌握器打算08 回送诊断校验把诊断校验报文送从机,以对通信处理进展评鉴09 编程〔只用于484〕使主机模拟编程器作用,修改PC从机规律10 控询〔只用于484〕可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送11 读取大事计数可使主机发出单询问,并随即断定操作是否胜利,尤其是该指令或其他应答产生通信错误时12 读取通信大事记录可是主机检索每台从机的ModBus事务处理通信大事记录。假如某项事务处理完成,记录会给出有关错误13 编程〔184/384 484 584〕可使主机模拟编程器功能修改PC从机规律14 探询〔184/384 484 584〕可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送15 强置多线圈强置一串连续规律线圈的通断16 预置多存放器把详细的二进制值装入一串连续的保持存放器17 报告从机标识可使主机推断编址从机的类型及该从机运行指示灯的状态18 〔884和MICRO 84〕可使主机模拟编程功能,修改PC状态规律19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置挨次字节20 读取通用参数〔584L〕显示扩展存储器文件中的数据信息21 写入通用参数〔584L〕把通用参数写入扩展存储文件,或修改之在这些功能码中较长用法的是1、2、3、4、5、6号功能码,用法它们即可实现对下位机的数字量和模拟量的读写操作。4 下表是MODBUS地址映射到S7-200的地址:MODBUS地址S7-200地址MODBUS地址S7-200地址000001 Q0.1 030001 AIW0000002 Q0.2 030002 AIW2000128 Q15.7 030032 AIW62010001 I0.0 040001 VW0010002 I0.1 040002 VW2010128 I15.7 04xxxx VW2*(xxxx-1)5 CRC校验:CRC编码校验误码率极低,是一种比拟牢靠的检验方式。该校验码是通过数据序列对生成多项式进展二进制除法取余数得到的。采纳CRC-16校验,生成的多项式为X16↑+ X15↑+ X2↑+ X1↑。CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后参加到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比拟,假如两值不同,那么有误。CRC是先调入一值是全“1〞的16位存放器,然后调用一过程将消息中连续的8位字节各当前存放器中的值进展处理。CRC产生过程中,每个8位字符都单独和存放器内容相或〔OR〕,结果向最低有效位方向挪动,最高有效位以0填充。LSB被提取出来检测,假如LSB为1,存放器单独和预置的值或一下,假如LSB为0,那么不进展。整个过程要重复8次。在最终一位〔第8位〕完成后,下一个8位字节又单独和存放器的当前值相或。最终存放器中的值,是消息中全部的字节都执行之后的CRC值。下面是它的VC代码:WORD GetCheckCode(const char * pSendBuf, int nEnd)//获得校验码{WORD wCrc = WORD(0xFFFF);for(int i=0; i{wCrc ^= WORD(BYTE(pSendBuf[i]))
您可能关注的文档
最近下载
- 低空经济行业专题系列二:eVTOL动力系统的市场空间、技术趋势和产业链机遇-国信证券.pptx VIP
- 化妆品105条考试试题.docx VIP
- 矛盾化解与行为习惯养成主题班会课件.pptx VIP
- 人教版(2024)新教材小学二年级美术上册第三单元《第3课 玩具的巧思》精品课件.pptx
- 最新人教版初中物理教材目录.docx VIP
- 机械加工生产操作岗位培训试卷.pdf VIP
- 2025至2031年中国实木砧板行业投资前景及策略咨询研究报告.docx
- 《微信营销与运营》5套期末考试卷AB卷带答案习题试卷模拟卷.docx VIP
- 大学生职业生涯规划.pdf VIP
- 5年级下册期末练习卷.docx VIP
原创力文档


文档评论(0)