QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1175|回复: 2
收起左侧

[讨论结束] 请问:C程序访问OPC是如何进行的?

 关闭 [复制链接]
发表于 2008-7-30 15:13:46 | 显示全部楼层 |阅读模式 来自: 中国上海

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
C程序访问OPC是如何进行的?中间需要加什么过度软件吗?
! z8 Z4 z) M8 _" w' I
7 g- A3 D' N1 A  @2 t3 }6 z" d6 X: M[ 本帖最后由 zhous_ch 于 2008-7-30 20:34 编辑 ]
发表于 2008-7-31 08:46:44 | 显示全部楼层 来自: 中国山东潍坊
我先解释一下什么是OPC% c! E0 C/ ~# F+ j; K( q' U
1、在控制领域中,系统往往由分散的各子系统构成;并且各子系统往往采用不同厂家的设备和方案。用户需要,将这些子系统集成,并架构统一的实时监控系统。 7 b. X, w! S) w/ |4 y& y$ Y
2、这样的实时监控系统需要解决分散子系统间的数据共享,各子系统需要统一协调相应控制指令。
+ A7 m, R8 Z7 N: ^3、再考虑到实时监控系统往往需要升级和调整。
0 u8 O' |, a8 T  \- |4、就需要各子系统具备统一的开放接口。
) ]) G3 `. v9 Y" K" _5、OPC(OLE for Process Control) 规范正是这一思维的产物。
( ?' D  e! W& U6、OPC 基于Microsoft公司的 Distributed interNet Application (DNA) 构架和 Component Object Model (COM) 技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口。
2 {' E) r% h; G+ y: l7、OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。 0 J6 c" j* D+ j9 I. v
8、OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据。它是基于Windows的OLE——对象链接和嵌入、COM——部件对象模型(Component Object Model)和DCOM——分布式COM(Distributed COM)技术。因而,OPC为自动化层的典型现场设备连接工业应用程序和办公室程序提供了一个理想的方法。
3 u+ t$ M- C8 O' y. H1 }1 p/ l4 \" h' H$ f
OPC应用领域
: V& U+ S* l; S* C1、工控解决方案用户
" h6 A5 f' @; i5 e2、楼控解决方案用户 : T% m; {7 y9 I7 G: W( D
3、工控解决方案厂商
% Z( p4 P* ]+ q& O' G8 ?  a( ?; }4、楼控解决方案厂商 9 @# r8 I! ]# g0 o8 {% c0 F3 H0 m
5、工控解决方案集成商 # G* Z% a, w# v3 H
6、楼控解决方案集成商 2 [; F1 o( z7 R8 v4 q! t
7、 All Automation Fields
! }" _2 F+ b$ K* [9 G6 n. m
$ {# u/ m+ Z# H/ IOPC是为了连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标准。数据源可以是PLC,DCS,条形码读取器等控制设备。随控制系统构成的不同,作为数据源的OPC服务器即可以是和OPC应用程序在同一台计算机上运行的本地OPC服务器,也可以是在另外的计算机上运行的远程OPC服务器。2 p- p$ Y  @# y) B1 D
6 }# ^! j. K# A3 w3 A
OPC接口既可以适用于通过网络把最下层的控制设备的原始数据提供给作为数据的使用者(OPC应用程序)的HMI(硬件监督接口)/SCADA(监督控制与数据采集),批处理等自动化程序,以至更上层的历史数据库等应用程序,也可以适用于应用程序和物理设备的直接连接。所以OPC接口是适用于很多系统的具有高厚度柔软性的接口标准。0 z; }$ \0 \% o  z9 m
OPC解决了什么?
2 H. c, _6 e4 C9 v: _  O' wOPC诞生以前,硬件的驱动器和与其连接的应用程序之间的接口并没有统一的标准。例如,在FA(FactoryAutomation)——工厂自动化领域,连接PLC(Programmable Logic Controller)等控制设备和SCADA/HMI软件,需要不同的FA网络系统构成。根据某调查结果,在控制系统软件开发的所需费用中,各种各样机器的应用程序设计占费用的7成,而开发机器设备间的连接接口则占了3成。此外,在PA(Process Automation)——过程自动化领域,当希望把分布式控制系统(DCS——Distributed Control System)中所有的过程数据传送到生产管理系统时,必须按照各个供应厂商的各个机种开发特定的接口,例如,利用C语言DLL(动态链路数据库)连接的DDE(动态数据交换)服务器或者利用FTP(文件传送协定)的文本等设计应用程序。如由4种控制设备和与其连接的监视、趋势图以及表报3种应用程序所构成的系统时,必须花费大量时间去开发分别对应设备A,B,C,D的监视,趋势图以及表报应用程序的接口软件共计要用12种驱动器。同时由于系统中共存各种各样的驱动器,也使维护运转环境的稳定性和信赖性更加困难。
/ _! N. C2 d. \& i+ i9 I7 C- B$ [9 o. s: [" S% C4 o
而OPC是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。
& J3 h' W& X( G3 i6 N
$ w2 A; R1 ^$ `利用OPC的系统,是由按照应用程序(客户程序)的要求提供数据采集服务的OPC服务器,使用OPC服务器所必需的OPC接口,以及接受服务的OPC应用程序所构成。OPC服务器是按照各个供应厂商的硬件所开发的,使之可以吸收各个供应厂商硬件和系统的差异,从而实现不依存于硬件的系统构成。同时利用一种叫做Variant的数据类型,可以不依存于硬件中固有数据类型,按照应用程序的要求提供数据格式。
# ~5 C$ @( f1 {* n2 j0 G9 o3 ^7 `
利用OPC使接口标准化可以构成如图5所示的系统。从图5可此看出,用户可以不依存于设备A,B,C,D的内部结构及它的供应厂商,来选用监视,趋势图以及表报应用程序。 5 e( Z  F9 T1 X+ @& w
为什么开发自主OPC Server和OPC Gateway?
6 p; M0 C& v& i8 L1、国外原厂商的高价格
; M/ D" R' S6 I2、国外原厂商面对项目的不灵活性( s( _+ K; N6 P4 Y0 i
3、国内项目中子系统的多样性难以提供DRIVER0 O& m( i9 F$ ~. v5 q5 i
4、自主OPC服务器追求的是稳定、实时、迅速。
* _9 v1 _6 t5 s3 s: w5、众多子系统的不规范性 2 W4 T& T6 r8 N& q! o
6、总包项目在投标前后可能出现的不一致性 - K+ z* m/ y  F+ S! c7 n; ]
7、价格昂贵的原厂平台服务器软件
& p1 f; N* |& U; b9 v; a1 a8、总包商集成是否投入大量的人力开发
+ h& _' d  K0 `* I% R9、平台和子系统的兼容性
- B' C# j0 k* c% V10、建立了OPC平台和子系统的互通
5 r& d; a* g4 L' o1 W, d8 D11、解决厂商和集成商在项目集成的烦恼
; G$ p* t, g& @+ ^. g. D3 j  Z& ]12、解决厂商和集成商分散资源进行二次开发 6 _( Z, |+ t% Q6 {
13、解决项目中子系统厂商的困扰
- M3 X7 r! Q# Z- f9 d* g* l5 K14、为上下位的数据通讯提供透明的通道
发表于 2008-7-31 08:53:05 | 显示全部楼层 来自: 中国山东潍坊
通过介绍你应该明白OPC只是一个标准接口,定义了一个通用的网络传输协议,可以使不同厂家的设备在同一个网络中进行数据传输和交换,所以你说C如何访问OPC,就是要根据OPC协议进行编写通讯代码,例如帧的长度,各部分的定义,传输格式,如何校验等等。一般C只用来编写通讯程序,在后台运行,采用VB或VC或Delphi做界面。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表