注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- PLC论坛 -- 西门子PLC论坛 -- PLC网络通信

中国工控网搜索:

 登陆:密码:  注册  密码

搜索:

发表人:yuzhifen 发表时间:2009/5/5 12:02:00  

 

 本栏论题: S7-200与PC实时通信方法  [3206]

    摘要:针对控制系统中上位机与S7-200系列PLC通信的实际问题,总结了计算机与S7-200系列PLC的几种通信方法,介绍了基于VB6.0 的串行通信编程的ActiveX 控件MSComm。并给出了程序流程图,现场运行表明该方法组成灵活、实时性强、性能价格比高等优点。
    关键词:可编程控制器;自由通信口;串行通信
   
    引言
   
    以PLC控制器为核心,上位计算机为实时监控体的控制系统已成为工业自动化PLC控制系统的一个发展方向。实现PLC 与PC通信的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示等多种窗口技术,使PLC控制系统具有良好的人机界面。尽管各种PLC网络差异很大,通信机理却有同一性,表现在编写PLC通信程序、系统组态和系统配置方面。通过上位计算机对PLC数据的读写来控制生产现场数据的自动采集、传送以及生产调度的自动化和信
   
    息化,其应用前景十分广阔。目前市场上通信组态软件价格昂贵。本文介绍一种基于VB 的PLC 与上位机之间实现通信的方法,该系统具有组成灵活、实时性强、性能价格比高等优点。
   
   
   
    1. S7-200 PLC 与计算机数据通信方式
   
    目前PLC和PC机的互联通信有以下几种:
   
    (1)通过PLC开发商提供的系统协议和网络适配器,来实现PLC和PC机的互联通信。但是其通信协议不公开,互联通信必须使用开发商提供的上位机组态软件,并采用支持相应协议的外设,这种方式是PLC开发商为自己的产品量身制作的。这种方式其显示画面和功能往往难以满足用户的具体需要。
   
    (2)使用目前通用的上位机组态软件,如Wincc等,来实现PLC和PC机的通信。组态软件功能强大、界面友好、开发简单等优点,但价格比较贵。组态软件本身并不具备直接访问PLC寄存器或其它智能仪表的功能,必须借助v0驱动程序来实现。但大多数情况下,vo驱动程序是与设备相关,因此组态软件的灵活性受到了限制。
   
    (3) PLC厂商所提供的标准通信端口和由用户自定义的自由端口通信方式。这种方式不需要增加投资,具有较好的灵活性,特别适合小规模控制系统。
   
   
   
    2. S7-200P LC与计算机的通信协议
   
    S7-200支持多种通信协议(l),主要有以下几种。
   
    2.1 点对点接口协议(PPI )
   
    PPI是主/从协议,网络上的S7-200CPU均为从站,其它CPU,SIMATIC编程器为主站。
   
    2.2 多点接口协议(MPI)
   
    MPI是集成在西门子公司PLC、操作员界面和编程器上的集成通信接口,用于建立小型通信网络。
   
    2.3 Profibus协议
   
    该协议用于分布式U0设备(远程Uo)的高速通信。许多厂家生产类型众多的Profibus设备,如简单的输入/输出模块、电机控制器和PLC.
   
    2.4 用户定义协议(自由端口模式)
   
    自由端口模式是指PLC的CPU串行通信口可由用户程序控制。用户利用发/收中断,发/收指令实现与打印机、CRT条码阅读器等设备的数据通信。该方式为计算机或其它具备串行通信接口的设备与PLC之间提供了兼价的灵活的通信方式。
   
   
   
    3. 通信编程
   
    3.1 PLC通信编程
   
    3.1.1自由端口的初始化
   
    在自由通信模式下,通过设置特殊存储器SMB30端口0)来为自由端口通信选择波特率、奇偶校验和数据位。这些设定必须与PC机设定值相一致。格式如下:
   
   
   
    PP为奇偶校验选择,d为数据位选择,bbb为波特率选择。
   
    ·00 为无校验,0为每个字符8位,000为38400baud,001为19200baud;
   
    ·01为偶校验,1为每个字符7位,010为9600baud,011为4800baud;
   
    ·10为无校验,100为24 00baud,101为12 00baud;
   
    ·11为奇检验,110为600baud,1 11为300baud;
   
    RIM为协议选择:00为PPI协议,01为自由口协议,10为PPI/主站模式,11默认为PPI/从站模式。
   
    3.1.2 S7-200PLC实时向上位机传递数据在大部分控制系统中,所有的控制信号为开关量,基于这一特点,系统状态的改变即为这些开关量状态的改变,因此可根据跟踪这些开关量信号的上升沿信号、下降沿信号的到来,作为系统状态改变的依据。通过对同一个开关量信号的上升沿、下降沿分别定义不同的16进制数的方式,来代表信号的产生和结束,当检测到这些信号产生时,便将这些数据存人指定的数据缓冲区的字节中,并通过COM口发至上位PC机,同时产生发送完成中断,PLC延迟等待接收来自上位机的应答信号,通过分析存储在接口字符缓冲器SMB2中的数据,判断是否需要重新发送。
   
    下位机程序流程图如图1所示。
   
   
   
   
   
   
   
   
    图1. 下位机程序流程图
   
    3.2 上位机通信编程
   
    在Windows环境下开发与工业PLC通信的软件,利用VB的通信控件MSComm控件编写软件程
   
    序[X27,V B 也为这个控件提供了标准的事件处理函数,并通过设置一些属性对通信接口进行初始化,从而很容易实现串行通信。
   
    3.2.1 MSComm控件的属性Commport设置或返回通信端口号。
   
    格式为:MSComm. Commport [=PortNumber]。
   
    Settings 以字符串形式设置或返回波特率、奇偶校验、数据位和停止位。
   
    格式为:MSComm.se tting[=paraString ]。
   
    PartOpen 设置并返回通信端口状态(打开或关闭)。在设计时无效。
   
    格式为: MSComm.portOpen[ =TRUE/FALSE] 。
   
    Input 返回并删除接收缓冲区中的数据流。该属性在设计时无效,在运行时为只读。
   
    格式为: MSComm.In put.
   
    Inpuden 设置从串行端口读人的字符串长度。
   
    格式为: MSComm.In puten[ =CharNumber]。
   
    Rthreshold设置引发接收事件的字符数。
   
    InBuferCount返回接收缓冲区中已接收的字符数。
   
    格式为:MSComm.In BufferCount〔=0]。
   
    Inputmode设置或返回Input属性取回的数据的类型。
   
    格式为: MSComm.In putM ode【二ModeV alue]。
   
    OnComm 事件,用来处理所有与通信相关的文件。
   
    3.2.2 MSComm控件参数初始化程序
   
    Private SubForm-Load( )
   
    MSComml.Commport=1
   
    MSComml.Settings=”96 00,n,8,1”
   
    MSComml.Inpuden= 0
   
    MSComml.InbuferSite=200
   
    MSComml. OutBufersite=200
   
    MSComml. Rthreshold=1
   
    MSComm l.PortOpen=True
   
    End Sub
   
    通信初始化程序[3],首先选定串行口,设定波特率为9 600B/S,无奇偶校验,数据传输位为8位,一位停止位。InputLen二0表明输人时读取缓冲区的全部内容,根据发送和接收字符串的长度,设置输人、输出缓冲区大小;Rthreshold=1表明每接收一位字符,就引发OnComm接收事件。
   
    3.2.3 上位机程序由上所述,设计上位机程序流程图如图2所示。
   
   
    图2 上位机程序流程图
   
    结论
   
    本程序充分利用VB6.0,易学,高效和串行通信控件MSComm的功能强大,对于小型系统可以取代PLC监控组态软件降低系统的成本。本文设计的监控通信程序在实际的实验加热炉一年多的使用,表明程序稳定可靠,完全满足实时监控要求。使用VB6.0的MSComm控件构成的计算机对PLC的监控系统,对于近距离和采集速度要求不高的传输数据的现场控制来说是一种性价比很高的解决方案。
   
    本文作者创新点: 介绍了采用VB6.0实现的S3-200系列PLC与上位计算机的串行通信程序的设计方法,并讨论了在程序设计中需要注意的问题。
   
   

以下是关于《S7-200与PC实时通信方法》论题的回复(共1篇)

回复人:cn18show 

 回复时间:2009/9/19 1:54:00

支持(394) | 反对(332)

 

    大家知道“易展五周年庆 50万感恩回馈”的活动吗?就是这里:http://www.18show.cn/5/?m=189

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳