基于modbuscp协议的s7-plc通信研究.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于modbuscp协议的s7-plc通信研究 0 基于s1-plc的智能设计 s7-incl已广泛应用于现场控制领域。然而,s7-incl没有关于欧盟网络的公开协议。Modbus/TCP协议作为一种工业以太网通信标准协议,广泛应用于工业自动化控制领域。与S7-PLC相比,国内外众多中大型PLC都支持Modbus/TCP通信协议,用户不需要编写Modbus/TCP应用层程序,就可直接使用,诸如国外Schneider公司推出的Quantum、Premium系列PLC和国内南瑞集团公司推出的MB40、MB80系列iPLC(智能可编程控制器)等,目前S7-PLC需要用户购买昂贵的软件包方可实现Modbus/TCP通信,而不能直接实现,这样既不利于Modbus/TCP通信在S7-PLC上应用,也不利于S7-PLC在自动化控制领域朝数字化、信息化、网络化和标准化方向发展趋势下应用,因此在S7-PLC支持TCP/IP协议基础上设计Modbus/TCP应用层程序实现在S7-PLC上Modbus/TCP通信应用尤为重要。笔者通过Modbus/TCP应用层程序开发以及组态配置实现上位机与S7-PLC基于Modbus/TCP协议通信。 1 通信可行性 1.1 基于单元标记的数据帧 Modbus/TCP协议是运行在TCP/IP上的Modbus报文传输协议,使用TCP/IP以太网的5层,协议数据格式为每个8Bit字节包含两个4Bit的十六进制字符,与ModbusRTU协议相同。其应用数据单元(ADU)包含报文头、功能代码和数据3部分,功能代码和数据构成协议数据单元(PDU),报文头(MBAP)由事务处理标识符(2字节)、协议标识符(2字节)、长度(2字节,余下域字节的数量,包含单元标识符和协议数据单元在内)、单元标识符(1字节)组成。Modbus/TCP数据帧是基于Modbus-RTU数据帧,帧头添加事务元标识符、协议标识符、长度等6字节,帧尾去除容错校验码,用报头中的单元标识符取代Modbus-RTU上通常使用的从站地址,Modbus/TCP在应用层不需要校验域,而是利用TCP层、IP层和以太网链路层差错校验码的使用校验和机制来校验分组交换的准确性。该协议采用请求和响应机制:客户机向服务器发送请求,分析处理请求,向客户机发送应答。其数据帧封装过程为:用户数据首先在应用层按照Modbus应用层规范进行封装,生成相应的请求或应答应用数据单元(ADU),该ADU按照RFC1042规范映射到TCP/IP协议栈的各层进行数据封装。Modbus/TCP数据帧拆解过程与封装过程相反。 1.2 ss-plc循环执行 S7-PLC支持通过内部总线进行CPU模件和以太网模件数据交换,以太网模件支持TCP/IP协议,S7-PLC可通过以太网模件与上位机实现通信连接。S7-PLC软件平台STEP7软件配备了结构化语言SCL,是西门子公司依据IEC61131-3标准创立的一种高等编程语言,它与编程语言Pascal类似,它能实现庞杂的数学运算、复杂算法优化和批量数据处理,编写的程序非常简练和紧凑。S7-PLC循环执行的主程序组织块OB1可以直接或者间接地调用相应的FB、FC、SFB、SFC实现数据采集、过程监测、控制调节以及通信功能。FC、FB是用户程序,可以编程使用,FB有其专用的背景数据块,FB可以有多个背景数据块实现不同对象的同一功能,SFB、SFC是系统程序,可以被调用。SFC59(RD_REC)为CPU模件通过内部总线接收数据的系统功能,SFC58(WR_REC)为CPU模件通过内部总线发送数据的系统功能。 1.3 ieee802.3—设计模型 Modbus/TCP协议首先需要在上位机和S7-PLC建立可靠的连接,然后保证数据可靠并且按顺序到达传输。S7-PLC基于Modbus/TCP协议应用模型见表1,利用该模型可将S7-PLC作为Modbus/TCP协议的服务器,与监控系统中上位机实现Modbus/TCP通信。 通信过程为:(1)S7-PLC中以太网模件通过TCP/IP通信获取上位机发送的Modbus/TCP协议IEEE802.3以太网报文,以太网模件TCP/IP协议栈从以太网物理层、数据链路层、IP层和TCP层逐层拆解以太网报文;(2)通信程序调用SFC59(RD_REC),通过内部总线从以太网模件获取请求应用数据帧;(3)通信程序将应用数据帧拆分成MBAP报头和协议数据单元,并对MBAP报头和协议数据单元细分,对协议数据单元中功能码和数据分析,进行相应读写操作;(4)通信程序将上送数据和功能码封装在应答的协议数据单元,再按协议规范封装MBAP报头,构成Modbus/TCP应用数据单元;(5)通信程序调用SFC58(WR_REC),通过内部总线将应答的应用数

您可能关注的文档

文档评论(0)

hzyacc + 关注
实名认证
文档贡献者

专业的文档设计与制作

1亿VIP精品文档

相关文档