您好!欢迎光临工博士商城

自动化西门子PLC——经销商

产品:1275    

咨询热线:13764802837

wx 微信
您当前的位置:首页 » » 西门子S7-200系列PLC与PC间自由口通讯的实现
产品分类
西门子S7-200系列PLC与PC间自由口通讯的实现
发布时间:2021-12-18        浏览次数:67        返回列表
         S7-200系列PLC与PC间自由口通讯的实现
        可编程序控制器(PLC)是以计算机技术为核心的通用自动控制装置,由于其体积小、使用灵活、 价格相对较低的特点,在工业生产中得到了广泛的应用。西门子公司的S7-200系列小型PLC的功能强、性能价格比高,在国内更是应用广泛。在工业控制过程中,常常需要用一台上位机去控制多台PLC,实现分散控制与集中管理,以构成分布式控制系统。本文正是在PC端利用MSComm控件、在S7-200 PLC端利用自由口通讯,实现他们之间的信息交换,以构成一个简单的分布式控制系统。

一、S7-200系列PLC的自由口通讯方式                  (西门子PLC系列)

S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)等。PPI等通讯协议主要用于西门子系列产品之间的通讯。自由口通讯可由用户控制串行通讯接口,实现用户自定义的通讯协议。在自由口通讯方式下,用户利用梯形图程序中的接收完成中断、字符接收中断、发送完成中断、发送指令和接收指令实现S7-200系列PLC与上位机的通信。在PLC与PC的通讯方式上,自由口通讯是一种廉价和灵活的方法。

PLC的CPU处于STOP模式时,自由口通讯被禁止,只有当CPU处于RUN模式时,才可使用自由口通讯。在此,可以用反映CPU模块上的工作方式的特殊存储器位SM0.7来控制自由口方式的进入。当SM0.7为1 时,CPU处于RUN模式,可选择自由口通讯。通过向SMB30或SMB130(SMB30用于设置端口0,而SMB130用于设置端口1)的协议选择域置1,可以将通信端口置为自由口模式。SMB30或SMB130还用于设置通讯的波特率、奇偶校验与每个字符的数据位。发送指令XMT启动自由端口模式下数据缓冲区中的数据发送,它可以方便地发送1~255个字符,如果有中断程序连接到发送结束事件上,在发送完成后,端口0会产生中断事件9,也可以监视发送完成状态位SM45的变化,接收指令RCV可以初始化接收信息服务,通过指定的通信端口,接收信息并存储在数据缓冲区内。在接收完***后一个字符时,端口0产生中断事件23。

在PC与PLC的通讯中,主要是利用PC机发送信息来强制控制PLC的状态,接收PLC发送过来的信息,来显示控制状态。所以在本文中,PLC发送信息通过检验SM4.5来每半分钟发送有关PLC状态的信息,以使PC机更新显示,利用接收完成中断,按照PC机发送的信息要求来强制存储器有关位置的状态。每个数据帧为8个字符,具体的格式如下:

其中,YY为PLC地址;F为存储器类型,如位存储器为M,变量存储器为V;XXX为位地址,如M017就表示M1.7;V为位设置的值,可为0或1;R为校验位。

S7-200CPU上的通信口是与RS485兼容的9针D型连接器,PLC还提供了实现RS485与PC机上RS232C相连接的PC/PPI电缆,利用它可以方便地实现S7-200系列PLC与PC之间的硬件连接。

二、自由口通讯的实现

在实现自由口通讯的软件设计中,主要包括PC软件与PLC梯形图2部分,下面分别给出主要的源程序代码。

1、PC机的通信软件实现

本文是利用Delphi来实现PC机的通讯的。Delphi是新一代可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,是全球公认的快速应用开发工具的先驱者,在构架企业信息系统方面发挥着重要作用。但由于Delphi中没有串口控件可用,所以首先需要把ActiveX控件MSComm加到元件选项板上。并设置MSComm控件的属性,其主要属性如下:

CommPort:设置并返回通讯的端口号。设为1。

Setting:以字符串的形式设置并返回波特率。设为19 200,n,8,1。

PortOpen:设置并返回通讯端口的状态。

Input:从接收缓冲区读取数据。

Output:从发送缓冲区发送数据。

InputMode:设置从级冲区读取数据的格式。

Rthreshold:接收缓冲区接收多少字符触发OnComm事件。设为8

在向PLC发送数据命令时,利用定义好的数据帧格式,组织好数据,用文本方式发送。接收PLC数据时,触发Oncomm事件,在这个事件中,将接收到的数据按照数据帧的定义解释数据,进行相应的操作。

下面是计算机的部分程序:

2、PLC的部分通讯程序

三、结论

本文利用MSComm控件成功地实现了PC机与PLC之间的自由口通讯。实验结果表明:本方法无论是在系统的实时性、可靠性,还是在灵活性上均获得了令人满意的效果。

(本文摘自网络)




 

联系热线:13764802837   联系人:阳工 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 自动化西门子PLC——经销商