《WINCC与S7200的通讯.doc》由会员分享,可在线阅读,更多相关《WINCC与S7200的通讯.doc(6页珍藏版)》请在三一办公上搜索。
1、S7-200系列PLC与监控计算机通信实现的研究 Research of communication between S7-200 series PLC and supervision computer周晓平 姜建芳 苏少钰 陈迅 Zhou,Xiaoping Jiang,Jianfang Su,Shaoyu Chen,Xun摘要: 针对控制系统中上位机与S7-200系列PLC通信的实际问题,总结了几种监控计算机与S7-200系列PLC的通信方法,这几种方法在不同的控制系统中能较好解决监控计算机与S7-200系列PLC通信问题。关键词: PLC;通信;WINCC组态软件;OPC;Profibus
2、现场总线;PPI中图分类号: TP273 文献标识码:BAbstract: According to the communication problem between upper-computer and S7-200 series PLC, this paper summarizes several means to communicate supervision computer to S7-200 PLC. These means can resolve the communication problems in different control systems.Key words:
3、 PLC;Communication;WinCC configuration software;OLE Process Control;Profibus Field Bus;Point-to-Point Interface 1 引言西门子工控产品在工控领域应用市场中有较高的占有率,S7-200系列PLC是西门子SIMATIC PLC家族中的成员之一,在西门子工控领域应用中占有重要地位。S7-200系列PLC体积小,软硬件功能强大,系统配置方便,由它组成的系统可以与强大的Profibus现场总线相连接。它一推向市场就在各行各业得到了广泛应用。但是在实际工程应用中遇到了监控计算机与S7-200系列
4、PLC通信问题。由于西门子公司S7-200系列PLC比监控组态软件WinCC推出晚,因此WinCC中没有集成S7-200系列PLC的通信驱动程序;S7-200系列PLC的通信协议也不公开,应用第三方软件编制监控程序也有问题。这些问题给S7-200系列PLC的应用带来了一定的限制,为了解决这个实际工程问题,作者做了一些研究,本文就S7-200系列PLC与监控计算机通信问题研究结果展开讨论。2 S7-200系列PLC监控的主要方法在大多数控制系统中,仅仅是实现控制是不够的,在许多情况下也需要组态监控界面对系统进行监控。通过监控可以增加人机交互的能力,使操作人员实时地监控系统工作情况并使系统操作变得
5、方便。对S7-200系列PLC组成的控制系统进行监控一般有三种方法:组态软件监控、第三方软件编制的监控软件监控、触摸屏监控。用组态软件WinCC实现监控,功能强大,灵活性好,可靠性高。但软件价格高,并需要解决WinCC与S7-200系列PLC的通信问题。在复杂控制系统中可以采用此方法。用第三方软件编制的监控软件实现监控,灵活性好,系统投资低,能适用于各种系统。但开发系统工作量大、可靠性难保证,对技术人员的经验和技术水平的要求高,还必须购买通信协议软件。在系统资金投资有限,技术人员水平较高的情况下可以采用此方法。触摸屏进行监控,可靠性高,监控实现容易,触摸屏与PLC之间的通信问题生产厂商已处理好
6、,用户不用考虑通信问题,可以大大缩短工程周期。但灵活性一般,功能有限,不能满足复杂控制系统的监控要求,而且价格高。在系统可靠性要求高、工期短的情况下可以采用此方法。3 WinCC组态软件与S7-200系列PLC的通信SIMATIC WinCC采用了最新的32位技术的过程监控软件,具有良好的开放性和灵活性。无论是单用户系统,还是冗余多服务器/多用户系统,WinCC均是较好选择。通过ActiveX,OPC,SQL等标准接口,WinCC可以方便地与其它软件进行通信。WinCC与S7-200系列PLC的通信,可以采用PPI和Profibus两种通信协议之一进行。1、WinCC与S7-200系列PLC通
7、过Profibus协议进行通信的实现(1)软硬件要求:* PC机 ,Windows 98操作系统;* S7-200系列PLC;* CP5412板卡或者其他同类板卡,例如:CP5611,CP5613;* EM277 Profibus DP模块;* Profibus 电缆及接头;* 安装CP5412板卡的驱动;* 安装WinCC 4.0或以上版本;* 安装COM Profibus软件。监控计算机:DP主站,地址为1CP 5412卡WinCCSIMATIC NET软件EM277DP模块Profibus-DP总线S7-224PLCPLC系统:DP从站,地址为3DPDP硬件连接如图1。图1:WinCC与
8、S7-200系列PLC通信实现硬件连接(2)组态打开SIMATIC NETCOM Profibus,新加一个组态,主站为SOFTNET-DP,从站是EM277 Profibus-DP。主站的地址选择从1到126。从站的地址选择从3到99,与EM277的地址一致。然后用该软件对从站进行配置:打开从站属性,在Configure选项中,选择8bytes in/8bytes out(可根据实际需要选定)。在Parameterize中可以选择偏移地址,地址对应于S7-200系列PLC的数据区(即V区),默认为0,即从VB0开始。组态完成后,导出(Export)NCM文件,生成*.txt和*.ldb文件。
9、(3)设置PG/PC interface。在Access Point of the Application中选择CP_L2_1,在Interface Parameter Assignment 选择CP5412A2(Profibus)。在属性里的激活DP协议,并在DP-Database参数中输入*.ldb文件的完全路径。设置完成后可以诊断硬件配置是否正确、通信是否成功。(4)WinCC的设置。在WinCC变量管理器中添加一个新的驱动程序,新的驱动程序选择PROFIBUS DP.CHN,选择CP5412(A2)Board 1,在System Parameters设定参数。CP5412(A2)boa
10、rd 参数为1,表示板卡的编号;Config参数为组态时生成的*.txt文件的完全路径;Watchdog time 参数为0。新建一个连接,从站地址与EM277的地址一致。(5)建立变量。WinCC中的变量类型有In和Out。In和Out是相对于主站来说的, 即In表示WinCC从S7-200系列PLC读入数据,Out表示WinCC向S7-200系列PLC写出数据。In和Out与数据存储区V区对应。在该例中,Out与PLC中数据存储区的VB0VB7对应,In与PLC中的存储区的VB8VB15对应。(6)优缺点。优点:该方法数据传输速度快,易扩展,实时性好。缺点:传送数据区域有限(最大64字节)
11、,在PLC中也必须进行相应的处理,且硬件成本高,需要的CP5412、EM277 Profibus-DP、Profibus总线等硬件,还需要Com Profibus软件。应用场合:适用于在要求高速数据通信和实时性要求高的系统。2、WinCC与S7-200系列PLC通过PPI协议进行通信的实现。 PPI协议是西门子S7-200系列PLC常用通信协议,但WinCC中没有集成该协议,即WinCC不能直接监控S7-200系列PLC组成的控制系统。S7-200 OPC Server是西门子公司推出的专为解决上位机监控S7-200系列PLC控制系统的接口软件。因此,WinCC可以通过该软件与S7-200系列
12、PLC很方便的建立通信。(1) 软硬件要求: * PC机 ,Windows 98操作系统;* S7-200系列PLC。* PC/PPI电缆。* 安装S7-200 OPC Server 软件。* 安装WinCC 4.0软件。(2)连接:在控制面板中设定PG/PC接口参数。在Access Point of the Application中选择Computing,Interface参数选择PC/PPI Cable。在WinCC变量管理器中添加一个新的驱动程序,新的驱动程序选择OPC.CHN,在OPC GROUP中新建一个连接,打开属性,选择 OPC Group Setting,OPC服务器名称为OP
13、CServer.MicroComputing。然后在新添加的连接中新建变量,变量的Item Name与S7-200系列PLC中用于监控的变量名对应。例如:Item Name为M0.0。(3)优缺点优点:该方法连接简单、硬件投资少、可以读写S7-200系列PLC中所有存储区域。缺点:通信速度比较慢、需要OPC软件及相应授权、系统扩展不方便。应用场合:用于低速、实时性要求不高、系统投资资金有限的系统。另外,也可以通过其他公司的OPC软件进行通信,例如用开普的KEPServerEx作为OPC服务器,用WinCC作为OPC客户端来读写S7-200系列PLC内部数据区。实现与上述第二种方法类似,不同的是
14、必须在OPC服务器中建立标签与S7-200系列PLC中存储地址对应。在复杂系统中,如果系统中同时有S7-200系列PLC和S7-300系列PLC存在,S7-200系列PLC一般作为S7-300系列PLC的从站挂到Profibus总线上,WinCC通过S7-300系列PLC对S7-200系列PLC进行监控。4 第三方软件与PLC的连接有些系统具有特殊性,没有现成的通用软件用于进行数据处理和系统监控,这就需要用户用第三方软件开发平台开发满足系统要求的监控软件。这样做既可以满足系统要求,又可以节约系统投资。但对软件开发人员的经验和技术要求较高。第三方软件开发平台开发的监控软件与S7-200系列PLC
15、通信使用PPI协议的接口软件有:Prodave、MicroComputing、OPC。第三方软件开发平台开发的监控软件与S7-200系列PLC通过自由口进行通信,协议自定的话,开发的监控软件可以调用MSComm控件实现两者的通信。1、用Prodave软件包实现通信连接Prodave是西门子公司推出的专门用于西门子PLC产品(S7-200、300、400系列PLC)与PC/PG进行数据交换处理的软件包。Prodave在*.DLL或*.LIB文件中集成了数据交换的函数。在自行开发的监控软件中可以方便地调用该软件中的各种函数。主要函数有:(1)load_tool PC机与PLC系统初始化链接;(2)
16、unload_tool 断开PC机与PLC系统链接;(3)以及读写PLC内部存储区的函数。监控软件通过读写函数可以方便监控PLC控制系统。2、用MicroComputing软件实现通信连接安装MicroComputing后,在VB或Delphi中可以直接插入控件。可插入的控件主要有:Data controls、Edit controls、Button controls、Label controls、Slider control。Data controls的主要功能是把以上剩余的四个控件与S7-200系列PLC相连接、设置事件触发条件以及设定S7-200系列PLC地址等。而Edit contro
17、ls、Button controls、Label controls、 Slider control可以与S7-200系列PLC存储资源直接对应。第三方软件可以直接调用上列控件对PLC进行监控,也可以通过函数对S7-200系列PLC进行读写操作。3、用OPC Server软件实现通信连接 安装S7-200 OPC Server软件后,在操作系统中将增加一个OPC服务器,服务器的名字是“OPCServer.Computing”。VB或Delphi中可编写OPC客户端程序与OPC服务器通信。以下给出在VB开发环境下编写OPC客户端程序的过程:首先在VB开发环境中的ProjectReferences中
18、添加OPC Automation 2.0,然后编写连接OPC Server、添加组、添加条目、读写数据的程序。使用到的函数如下:connect函数:与OPC Server建立连接;OPCGroups.Add函数:添加组;OPCITems.Additems函数:添加条目;SyncRead函数:同步读;SyncWrite函数:同步写。 OPC 服务器名为“OPCServer.Computing”, 条目名称与S7-200系列PLC中用于监控的变量名对应。Micro computing通信处理卡或PC/PPI电缆Slider controlLabel controlEdit controlButto
19、n control第三方软件OPC ServerOPC Client:第三方软件实现。图2:用OPC或Micro computing获取PLC数据的结构图S7-200 PLC 第三方软件通过OPC或MicroComputing获取S7-200系列PLC数据的结构图如下。Data control 4、用自由口实现通信连接在VB或Delphi下插入MSComm控件,按照自定协议通过串口来收发数据,并对数据进行处理并实现监控。在PLC中也必须编写通信程序,流程如下。是中断否中断收到字符满一帧发送正确响应帧命令帧分析清除缓冲区给出错误代码发送错误响应帧通信超时命令帧正确否中断是中断是中断否中断通信中断
20、子程序主程序通信初始化开中断图3:自由口通信流程图5、优缺点总结:用Prodave,实现简单,灵活性较好,可以直接调用Prodave的函数对S7-200系列PLC内部存储区进行读写,并能满足大规模数据的传输,调试简单,很适合在工程中应用。但需要购买软件,编程较复杂。用MicroComputing,使用方便,编程以控件实现,编写简单。但灵活性差,并需要购买软件和授权。用OPC实现通信,编程灵活也较简单,调试简单,由于OPC协议是通用协议,得到了许多公司支持,通用性好。但需要购买软件及授权。用自由口通信实现,通信协议自己制定,灵活性好,扩展了使用范围,不需购买专门软件。但编程复杂, PLC中要编写
21、复杂的程序,使用了大量PLC的资源。VB或Delphi中用MSComm控件对串口进行读写,程序复杂,实时性较差。5 结束语以上面给出了6种监控计算机与S7-200系列PLC通信实现方法,它们各有优缺点,适用于不同情况下的监控控制系统。研究证明,以上6种方法对不同要求的系统能较好的实现监控计算机与S7-200系列PLC通信,对工程实践有较高的参考价值。参考文献:1 SIMATIC MicroComputing User Manual.SIEMENS.2 廖常初主编.PLC编程及应用.北京.机械工业出版社.2002。所投栏目:控制系统。资金资助:自筹作者简介:姜建芳;男;1954年12月出生;汉;
22、山西人;硕士;南京理工大学自动化系教授;从事控制理论与控制工程方面的研究。Author:Jiang,Jianfang;Male;12th,1954;Han;Shanxi province;Master;Professor of Automation Department , Nanjing University of Science and Technology;Research on Control Theory and Control Engineering。单位:南京理工大学自动化系。Department:Automation Department,Nanjing University
23、of Science and Technology。Nanjing,210094联系地址:南京理工大学自动化系1002教研室,210094。联系电话:025-4315872分机8,025-4316413。E-mail: jiang_jian_fang,bottleping。联系人:姜建芳,周晓平。注:修改稿,版面费500(要发票,不要稿酬)+审稿费50已寄,请查收。 2003-6-22 此类已序列化的对象将不再与以后的 Swing 版本兼容。当前的序列化支持适合在运行相同 Swing 版本的应用程序之间短期存储或 RMI。从 1.4 版开始,已在 java.beans 包中加入对所有 Java
24、BeansTM 的长期存储支持。请参见 XMLEncoder。引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。这里我们采用的是Java语言,Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持