单片机与西门子PLC S7-200的串行通信及应用.docVIP

单片机与西门子PLC S7-200的串行通信及应用.doc

  1. 1、本文档共3页,可阅读全部内容。
  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文档。上传文档
查看更多
2 硬件以及通讯原理分析 西门子S7-200系列PLC拥有RS-485串行口,所以要使MCS51单片机与S7-PLC进行通讯,可以采用几种通讯方式。其中之一就是可以通过MCS-51的串行口与MAX485芯片相接,然后与S7-200 PLC的RS-485口进行通讯,其硬件连接如图1所示。 S7-200 PLC是串行通讯方式最为丰富的小型PLC,支持多种通信协议,如点对点接口协议(PPI协议)、多点接口协议(MPI协议)和PROFIBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备,使用起来非常方便,在第三方工程接入中取得了巨大的成功。 在自由端口模式下,PLC的串行通信接口由用户来控制,通过梯形图程序以及和单片机的汇编语言进行配合,来使用完成中断、字符接收中断、发送完成中断等,通信协议由用户完全控制。这时单片机处于主机状态,由单片机主动发送握手信号,PLC接到信号后被动反馈信息即可。 图1 MCS-51单片机与S7-200的硬件接线图 3 通信系统设计 3.1 通信协议设计 定义根据经验和有关参考资料,定义协议结构和参数。 (1)通信波特率为9.6kbps,无校验,8个数据位,1个可编程位,1位起始位,1位停止位。 (2)定义通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。 ● 起始码:表示单片机与PLC开始发送数据,是数据流第一个字符,告诉PLC开始进行通信了,可以用00H表示 ● 命令码:表示单片机对PLC的各种操作: 40H:读取目标元件 I、Q、V、M、SM、L、T、C等的数据或状态; 41H:修改目标元件 I、Q、V、M、SM、L、T、C等的数据或状态; 42H:强制目标单元为ON; 43H:强制目标单元为OFF; ● 元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(H):I寄存器区 01 00(H):Q寄存器区。02 00(H):M寄存器区 08 00(H):V寄存器区; ● 字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态; ● BCC校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,最简单的方法就是使用校验码。BCC校验码的方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的 ● 结束码:结束字符标志着指令的结束,在本例中被定义为FFH,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。3.2 通信程序的实现 (1)单片机端程序的实现。单片机在主程序中初始化,采用串行口工作方式3[2],波特率为9.6kbps,采用单片机作为主机,向PLC进行呼叫,定期读取数据或者写入数据,其程序流程图参见图2。 图2 单片机端通讯程序流程图 (2)PLC端程序流程图的实现。PLC端作为从机,采用梯形图或者STL编程,主要是先设置通讯协议,然后按照协议把采集到的数据进行处理,再发送给主机单片机,其具体的程序流程图如图3所示。 图3 PLC端通讯程序流程图 4 结束语 本文利用单片机与PLC的串行通信方法,成功的应用于多个项目中,实际表明该方法简单可靠,成本低,而且易于扩充经济实用的其它功能,如A/D、D/A等功能,取得了较好的社会效益和经济效益。

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档