OPC客户端与西门子PLC通信

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

!"#客户端与西门子"$#通信

刘!强,赵剑波,马!平

(莱芜钢铁集团有限公司自动化部,山东莱钢"#$$%&)

摘要:介绍应用基于’()*架构的面向对象编程语言+,"-%,开发遵循./+01"-%"技术规范的./+客户端,结合西门子2345637(86"%%9配置的./+服务端,实现与西门子/:+的通信。

关键词:./+技术;()*架构;+,"-%;2345637(86

!!在某建材公司水泥回转窑窑体温度监测项目中,采用了西门子2#;&%%/:+,现场设备控制数据绝大部分是通过/:+处理,再通过工业以太网传递给上位机,如何实现上位机与/:+间的正常通信成为需要解决的首要问题。在与/:+通信方面应用比较多的主要有两种方式,其一,根据/:+生产厂商提供的技术资料直接编写接口应用程序实现/:+与上位机的数据传输;其二,通过遵循国际统一标准规范的./+接口,实现上位机与/:+的通信。第$种方法很容易理解,但随着系统规模越来越大,不同厂家生产的现场设备的种类不断增加,由于不同厂家所提供的现场设备的通信机制并不尽相同,系统软件需要开发的硬件设备通信驱动程序也就越来越多,造成了硬件通信驱动程序需要不断开发的现象,而第"种方法基于+.<=0+.<技术的./+技术,提供了一个统一的通信标准,不同厂商只要遵循./+技术标准就可以实现软硬件的互操作性。

%&!"#技术

%’%&!"#概述

./+(.:)>?@/@?78AA+?B6@?C,用于过程控制的.:))是为过程控制专门设计的.:)技术。./+提出了一套统一的标准,采用典型的+C38B6= 28@D8@模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供具有统一./+接口标准的28@D8@程序,软件厂商只需按照./+标准编写+C38B6程序访问(读=写)28@D8@程序,即可实现与硬件设备的通信。其实./+是一种工业控制上的标准,定义了一些标准的方法和接口来使不同厂!!

家的设备和软件做到无缝集成,这样就让数据的传输和处理完全脱离了硬件这个层面,使得具体的硬件对用户来说是透明的。

./+技术的本质是采用了<37@?A?>6的+.<= 0+.<(组件对象模型=分布式组件对象模型)技术,+.<主要是为了实现软件复用和互操作,并且为基于E3BF?GA的程序提供了统一的、可扩充的、面向对象的通信协议,0+.<是+.<技术在分布式计算领域的扩展,使+.<可以支持在局域网、广域网甚至HB68@B86上不同计算机上的对象之间的通信。

%’(&!"#)*(’+(规范

./+01"-%"规范(./+05651778AA+IA6?4 HB68@>5782J873>37563?B"-%")是$KKK年K月./+基金会发布的./+01自动化接口规范。该规范制定了./+服务器和./+客户程序的+.<接口标准,通过制定标准的接口来实现多个厂家的./+服务器和./+客户程序开发。一个./+客户可以连接一个或多个./+服务器,而多个./+客户也可以同时连接同一个./+服务器。

%’,&!"#服务器的对象组成

一个./+服务器由三个对象组成:服务器(28@D8@),组(L@?IJ),项(H684)。./+服务器对象用来提供关于服务器对象自身的相关信息,并且作为./+组对象的容器。./+组对象用来提供关于组对象自身的相关信息,并提供组织和管理项的机制。./+项代表了./+服务器到数据源的一个物理连接。数据项是读写数据的最小逻辑单位。

收稿日期:"%%K;%M;M$

作者简介:刘!强($KN";),男,山东莱芜人,助理工程师,主要从事自动控制系统的研发工作。

·

%

K

O

·

!"#$%&’接口体系

!"#规范提供两种接口:自定义接口,自动化接口。!"#服务器提供标准的!"#接口供!"#客户程序访问。!"#服务器必须提供自定义接口,对于自动化接口,在!"#规范定义中是可选的。图$所示为典型的!"#结构。

!"!"#$!"!"%&

#$%’()*+

,-./0&$%12312345678%’’!"%&

9:;<45

&$(’=>?+

图!$典型的%&’结构

($’)("*开发%&’客户端

#%是微软面向对象的编程语言,它使得程序员可以快速地编写各种基于&’()*+*,-./01平台的应用程序,&’()*+*,-./01框架提供了一系列的工具和服务来最大程度地开发应用于计算与通信领域。

遵循!"#234.54技术标准规范,在其基础上使用./01架构面向对象高级编程语言#%4.5编写了一个基于./01的!"#客户端应用程序,与用6’78-’(/9-455:配置的!"#服务器交换数据。有效地实现了将遵循!"#规范的代码从#!&平台移植到./01平台。

在引用之前先要把!"#233;-*.<==注册为系统组件,在#%4.5开发环境中添加对该库的引用,该库属于#!&库。关键部分程序如下。

($)在开头部分添加引用

;+’>?!"#3;-*78-’*>;

(4)定义

!"#69)@9)*A(+9)@9)B >9C !"#69)@9)();定义服务器!"#D)*;A+7E?)*;A+;定义组容器!"#D)*;A *>9?)*;A ;定义组

!"#F-97+8>*A(’-97(*==9(-’*>;定义项容器!"#F-978>*A(’-97;定义项

(G )连接!"#服务器

*A(+9)@9).#*>>9(-()98=*A(+9)@9),+9)@9)>*<9);

(H )添加组

7E?)*;A+.3<<(?)*;A>879);

(I )添加项

8>*A(’-97(*==9(-’*>B *>9?)*;A.!"#F-97+;

8>*A(’-97(*==9(-’*>J 3<*A(’-97’<,8>(=’9>-K8><=9);

(:)读数据

8>*A(’-97J L98<(+*;)(9,*;-@8=;9,*;-M;8=’-E ,*;--’79-87A );

(N )写数据

8>*A(’-97J O)’-9(’-97@8=)。

+$用,-./0-1230(**4配置%&’服务端

+"!$,-./0-1230(**4简介

6’78-’(/9-"#P 6*,-C8)90<’-’*>455:是西门子软件家族的成员之一,为多种组态软件提供了与"Q#的通信平台,同时也提供了一套编程接口,可使用高级语言#%4.5编写应用程序,通过6’78-R ’(/9-455:与"Q#进行通信。!"#通信方式又可分为同步通信方式和异步通信方式,同步通信只允许一个客户访问服务器,异步通信可允许多个客户同时访问服务器。本文中使用的是异步通信方式。

+"($配置%&’服务器

本文将以1#"P F"网络为例介绍!"#服务器"#站用6’78-’(/9-455:的配置,具体步骤如下。

($)安装6’78-’(/9-"#P 6*,-C8)90<’-’*>455:。

(4)组态一个6N 站,在6’78-’(/#&"#&8>R 8?9)中建立一个新项目,插入一个"#站,并把该"#站的名字改成与你的计算机名字相同。打开该"#站的硬件组态界面。插入!"#69)@9)和F0D9>9)8=,它们可以在"#槽中的任意位置,在插入F0D9>9)8=时,应该选择与组态6N 站一样的1#"P F"网络,并设置网络F"地址和子网掩码与!"#69)@9)所在的服务器相同,一定不要与"Q#的地址冲突。

(G )设置#*>,’?;)9/9-C*)S ,打开#*>,’?;)9/9-C*)S 选择”!"#69)@9)”,然后插入一个新的连接,在弹出的对话框中选择连接类型为6N #*>>9(R -’*>,在弹出属性配置对话框中#*>>9(-’*>"8-K 为网络连接设置,Q*(8=为!"#69)@9)的1#"P F"设置,"8)->9)为"Q#的1#"P F"设置,一定要注意在3<<)9++29-8’=+中设定"Q#中#"T 所在槽的编号,这里#*>,’?;)9/9-C*)S 的设置是与"Q#通信的基础网络设置。

(H )编译,若无错误,则下装(2*C>=*8<-*&*<;=9)。

至此!"#服务端用6’78-’(/9-455:配置完成

#$与西门子&5’通信

#"!$项的命名

项即F-97,是"Q#中的变量。格式:"L!1!R

·

$U I ·

相关文档
最新文档