- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S7-200PLC与PC自由口通讯的多种实现方法
S7-200PLC与PC自由口通讯的多种实现方法
1? 引言西门子S7-200PLC是德国西门子公司生产的小型PLC。S7-200以其高可靠性、指令丰富、内置功能丰富、强劲的通讯能力、较高的性价比等特点,在工业控制领域中被广泛应用。S7-200PLC的突出特点之一是自由口通讯功能。如何实现S7-200PLC与个人计算机的互联通信,是S7-200PLC应用的技术关键。可编程控制器与计算机之间的通讯一般是通过RS-422口或RS-232C口进行的,信息交换的方式为字符串方式,运用RS-232C或RS-422通道,容易配置一个与计算机进行通信的系统,将所有软元件的数据和状态用可编程控制器送入计算机,由计算机采集这些数据,进行分析及运行状态监测。用计算机改变可编程控制器设备的初始值和设定值,从而实现计算机与可编程控制器的直接控制,一旦确定了可编程控制器的控制指令,就能很方便地与计算机连接。
2? S7-200的自由口通讯模式S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)、Rrofibus DP等。PPI等通讯协议主要用于西门子系列产品之间的通讯以及对PLC编程。在自由口模式下,可由用户控制串行通讯接口,实现用户自定义的通讯协议。用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。在自由口模式下,通信协议完全由梯形图程序控制。S7-200CPU上的通信口是与RS-485兼容的9针D型连接器,PLC还提供了实现 RS-485与 PC机上RS-232C相连接的PC/PPI电缆,利用它可以方便地实现S7-200系列PLC与PC之间的硬件连接。S7-200的编程软件为STEP7-Micro/WIN32,该软件有STL、FBD和Ladder三种编程模式,有SIMATIC指令和IEC131-3指令两种指令。本文所给出的范例是使用SIMATIC指令的STL编程。
3? S7-200 PLC端的通讯程序实现PLC程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(RCV)启动或终止接收信息功能,必须为接收操作指定开始和结束条件。发送指令(XMT)在自由口模式下依靠通讯口发送数据。3.1? 控制字的选取反映CPU工作方式的模式开关当前位置的特殊存储器位为SM0.7,它控制自由端口模式的进入。当SM0.7为0时,模式开关处于TREM位置;当SM0.7为1时模式开关处于RUN位置。而只有当模式开关位于RUN位置时,才允许进行自由口通讯。SMB30是自由口模式控制字节,用来设定校验方式、通讯协议、波特率等通讯参数(其它控制字的设定参阅有关书籍)。3.2? 程序的一些简单介绍NETWORK1LD? SM0.1???// 第一次扫描MOVB? 16#09,SMB30??//自由口通讯模式:9600波特率,无奇偶校验,8个数据位MOVB? 16#7C,SMB87?//接收信息状态字节MOVB? 16#53,SMB88? //设置信息的开始字符“S”MOVB? 16#45,SMB89? //设置信息的结束字符“E”MOVW? +5,SMW90??? //设定空闲行的时间间隔(ms)MOVW? +179,SMW92? //字符间/信息间定时器超时值(ms)MOVB? 60,SMB94??//接收字符的个数NETWORK2LD? SM0.1 MOVB 16#53,VB2499? //设置接收和发送缓冲区的首地址ATCH? 发送完中断,9???? //把发送完成中断和发送完成中断子程序连接起来ATCH? 接收完中断,23?? //把接收完成中断和接收完成中断子程序连接起来ENI????//允许中断PLC程序的主要流程框图如图1所示:
图1???? PLC程序流程
4? 自由口通讯在PC 端程序实现为了充分利用计算机数据处理的强大功能,可以在上位机编写程序来实现计算机与PLC的通讯。可以用VC或VB实现上位机和PLC的通讯。4.1? 利用VC6.0 或VC6.0 MSComm控件实现MSComm控件Microsoft公司提供的简化的Windows下串行通讯编程的ActiveX控件,它为应用程序提供了通过串口收发数据的简便方法。PC机通过RS-232口与PLC进行通信,该通信控件提供了使用RS-232开发串行通信软件的细则,使用事件驱动或查询方式来解决开发通信软件中遇到的问题。事件驱动是一种强大的处理问题的方法,对事件发生的跟踪和处理在通信软件中用Oncomm来实现,它包括检测和处理通信错误等;查询方式则要求设计者自行读取CommEven值,并判断发生何种事件,再对之进
文档评论(0)