OPC Server开发的几大境界 点击:16990 | 回复:91



freeboy

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:4帖 | 14回
  • 年度积分:0
  • 历史总积分:117
  • 注册:2004年4月13日
发表于:2004-09-15 18:09:00
楼主
OPC server的开发相对OPC client 更加困难,OPC server 的开发主要应用COM技术,主要应用书籍为潘爱民写的《COM入门和应用》,大量的技术有很大的可重用性,在开发完一个程序后,基本上所有的东东都可以被重用,并且重新发布。 开发方式有三种: 1。简单的:就是应用已经有的如DDE to OPC 或串口 to OPC,modbus to OPC等软件把您的设备变成相关的OPC服务器。方法简单实用,费用合理快速,让你马上搭上OPC的快车。主要缺陷:你的设备必需是标准设备或更标准设备相容。这种方式比较适合产品多的厂家快速的转型,或提供OPC相关产品。 2.。一般的:应用第三方的开发包开发,这种方式相对来说减少了开发的难度,而且第三方有相应的技术支持,开发商专业做这种产品,产品有一定的稳定性。这种方式对开发包有依赖性,并且OPC服务器的稳定性依赖第三方的开发水平。本方法适于老板要求你马上开发出OPC产品是^_^,或者入门者使用。国内相关的开发包有华富慧通的和拓林的开发包。 国外的可参考:http://www.opcconnect.com/source.php上面的还可以,不过现在发现也有死链接,不过他的提示确实不错。 3。有难度的:应用COM开发。这种开发方式是最可以学习到东西的。但需要有一定的基础,而且需要对英文有一定的认识度。主要涉及的知识有一下几点。 有一定的C/C++编程经验----代码是一定要写的 能应用VC开发环境------没有屠龙刀怎么能行了 掌握一定的COM知识-----进阶的东东 阅读相关OPC开发文档-----葵花宝典 开发-------------自己杀的猪肉才好吃 Hash表相关内容,主要用于大量节点时查询-----杀人于无形 基本就按照这个学习思路,对于前两项有太多的介绍了,在此不说了。 COM技术学习可参考VChelp http://www.vckbase.com/的COM内容,其他网站都是随便说说而已 。书籍可以看潘爱民的《COM原理和应用》,《COM本质论》等书籍。 OPC文档可以看Data Access Custom Interface 和 OPC Common Definitions and Interfaces。 源码可以参考lightopc 和 GE的源码,如果没有后面那个可以给我发email,好像网上不提供下载 了。 GE的程序写得很好,结构清晰,但就是太老了,好在我们尊老爱幼。 lightOPC的程序相对太多了,感觉结构不是太好,有点乱,也可能是我没有深入把。 hash的东东我还没接触,不过数据结构都学过,快速定位。现在的内存这么大,实现大一点hash 表,就可以了,当然一个不错的hash函数是不可少的。这是开发过程中要考虑的。 至于开发是不是一定要用MFC和ATL就看你自己了,不用也可以,用也可以。感觉差别不是太大,如果不会就不用在学了,因为这两项并非那么容易掌握的。但COM必需要了解的。 对于这三种方法没有优劣之分,只有看你的需求如何。你付出的时间越多,相应的付出的Money越少,越灵活,学到的内容越多,这就是社会规律。在工控领域就是选择最适合的。 我现在在读源码开始开发自己的OPC Server,希望能更同仁讨论。



chenGK

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2009-03-23 16:41:49
61楼
发吧 f190@tom.com 万分感谢

xuhongxian

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:141
  • 注册:2008年1月19日
发表于:2009-04-10 21:28:30
62楼

可否给我发份啊,xuhongxianfu@126.com

感激不尽!

 

laifuqiang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2009年2月26日
发表于:2009-04-22 22:37:34
63楼

我也想要一份,楼主可否割爱啊

li313244475@qq.com

谢谢了

zq.yang

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2004年10月05日
发表于:2009-05-11 17:25:29
64楼

zq.yang

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2004年10月05日
发表于:2009-05-12 08:50:45
65楼

zq.yang

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2004年10月05日
发表于:2009-05-12 08:55:53
66楼

gc008

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2010年1月06日
发表于:2010-01-08 19:37:59
67楼
8tianmeng@163.com 谢谢楼主了!!

airskys

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2006年4月19日
发表于:2010-01-13 16:10:07
68楼
希望楼主能给我发一份OPC Server的源代码 我现在也在研究 共勉励

airskys

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2006年4月19日
发表于:2010-01-13 16:10:15
69楼
希望楼主能给我发一份OPC Server的源代码 我现在也在研究 共勉励 airskys@163.com

edwin75

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:126
  • 注册:2002年4月04日
发表于:2010-01-14 22:22:53
70楼

发一份 edwin75@sina.com

 

谢谢

minmin278752167

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2010年1月22日
发表于:2010-01-22 22:16:55
71楼
可以给我一份吗,谢谢啦,minmin278752167@163.com

luoyan1984

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年4月08日
发表于:2010-02-03 10:51:03
72楼
能不能给我发一份OPCServer的源码? 谢谢了。

xiaofeihu112

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2009年2月18日
发表于:2010-02-04 12:14:03
73楼
谢谢,楼主能给我发一份吗?xiaofeihu112@163.com。这里先谢谢了

九思易

  • 精华:2帖
  • 求助:0帖
  • 帖子:27帖 | 384回
  • 年度积分:0
  • 历史总积分:840
  • 注册:2007年1月16日
发表于:2010-02-04 16:28:55
74楼
OPC UA、.NET平台和组态软件
摘要:
本文介绍了OPC UA和Microsoft .NET的技术特点、技术背景和两者之间的关系;同时基于未来组态软件的技术特点和发展方向,介绍了两者在组态软件中的应用及其重要性。最后指出,OPC UA与.NET都顺应了自动化行业构建大系统、复杂系统的发展趋势,为实现企业监控管信息一体化奠定了技术基础,采用OPC UA和.NET技术是组态软件发展的必然。
正文:
来自生产过程的数据是工厂自动化和信息化建设的基础。工厂中的数据采集系统负责从各种控制器、仪表和控制系统中采集数据、并把这些数据传递和共享给其它需要这些数据的系统。这些数据消费系统和数据采集系统间需要统一的数据交换协议才能实现数据的共享。
应用软件之间有多种多样的数据交换方式,如通过中间数据文件、中间数据库、共享内存等中间环节交换数据,应用程序间也可以通过约定的方式和协议直接通信,如通过DDE、COM、DCOM、OLE接口和网络通信接口等。
OPC是OPC基金会在微软Windows的OLE技术基础上发展的一种数据交换方法,其目的就是通过一个统一的接口实现不同厂商的软件产品间的数据交换。经过多年的发展,OPC组织发展了OPC DA(数据采集)、OPC Alarms&Events(报警和事件)、OPC HDA(历史数据)、Batch(批次)、Security(安全)等技术,OPC DA在自动化行业得到了广泛的应用。
随着自动化和信息化的快速发展,用户系统日益复杂,系统规模日益扩大,用户希望把从工厂底层的设备信息到高层的企业决策信息都能够有效地集成和整合,在工厂各种各样的自动化和信息化系统都能够有效利用自己所需要的有价值信息。 充分的信息和共享是工厂自动化的基础,信息孤岛的打破是提高工厂综合生产效率的前提,因此用户对数据的交互和共享的要求越来越高,数据和交换的核心地位越来越凸显。传统的OPC技术逐渐显示出其不够灵活,安全机制不足,平台局限、实现和使用过于复杂等诸多弱点,因此OPC基金会在2006年推出OPC UA这一全新的统一架构来取代OPC DA技术。OPC UA彻底抛弃了过时的COM和DCOM技术,和OPC DA相比,OPC UA是一个巨大的进步,OPC UA不再局限于Windows系统,而是跨平台的技术标准,面向未来的网络计算时代,是以SOA、WebService为核心的理想数据交换技术。
1、 OPC UA
OPC UA(OPC Unified Architecture)指OPC统一体系架构,是OPC的最新发展,是一种基于服务的跨越平台的解决方案。
与OPC DA标准相比,OPC UA是跨平台的,提供更高的可靠性、安全性和数据集成,能显著改进企业信息的连通性。
OPC UA有以下特点:
(1)扩展了OPC的应用平台,把过去只在Windows平台上的OPC技术拓展到Linux和Unix平台。开放的基于Internet的WebService的服务架构(SOA)和基于Internet的异常灵活的数据交换系统,为构建跨地域的数据采集系统提供了有力的技术支撑。基于OPC UA标准的产品可更好地实现工厂级的数据采集和管理,从PLC、DCS等现场设备,到HMI、SCADA,再到生产制造系统,再到企业上层管理软件,都可以通过OPC UA标准,统一进行沟通。

(2)OPC UA标准使产品的开发和使用更为简单。OPC标准促进了工厂自动化系统和信息化管理系统间的数据互操作能力,避免了非标准数据接口的复杂性。OPC UA产品的开发比非OPC产品更为容易,因此越来越多的厂商开始开发基于OPC UA的服务器和客户端应用。
(3)OPC UA定义了统一数据和服务模型。包括:代表结构、行为和语义的信息模型、使应用程序相互作用的消息模型、在终端之间传输数据的通信模型和保证系统之间实现互操作性的一致性模型。这些统一的模型使数据组织更为灵活,可以实现报警与事件、数据存取、历史数据存取、控制命令、复杂数据的交互通信。

(4)OPC UA支持查询和通知服务,服务消息可以是二进制的,也可以是XML的,这意味着OPC UA不仅仅适于设备层、自动化层到信息化层的数据交换,还可以透过Internet实现远程的数据交换,能满足自动化工厂所有层面数据交换的需要.
(5)OPC UA比OPC DA更安全。OPC UA传递的数据是可以加密的,并对通信连接和数据本身都可以实现安全控制。新的安全模型保证了数据从原始设备到MES,ERP系统,从本地到远程的各级自动化和信息化系统的可靠传递。
总之,数据及其交互已逐渐成为自动化和信息化系统应用的核心,自动化系统将向大型化、系统化方向发展,数据整合也将向最底层的设备à控制层à最上层的决策管理层的方向延伸。OPC UA是一种能很好的满足这种数据交换要求的技术。OPC UA的出现是新时代自动化系统的需要,是Internet的重要性在自动化系统中越来越加强的产物,是用户需要统一、简化而易用的数据采集和交换技术的必然,是网络计算、云计算时代的SOA、WebService等新技术在工厂信息化建设中应用的必然,它符合未来自动化系统和信息系统发展的趋势。
如果说OPC UA是网络计算、云计算时代的一种基于SOA、WebService的新的理想的数据采集技术,那么.NET就是新一代自动化和信息化软件的理想开发和运行平台。OPC UA作为数据交换技术和.NET作为软件的开发和运行平台,在思想上如出一辙,在面向未来,无缝构建强大、统一、安全的自动化系统和信息系统方面,OPC UA与.NET可以说是不谋而合。
九思易自动化软件的易控(INSPEC)组态软件完全基于.NET平台,全面支持OPC标准。下一代产品将全面支持OPC UA标准,将继续通过应用Microsoft .NET,基于SOA和Web Services的数据采集方案,提供一个公共的、集成的、安全的数据模型和设备通讯环境,从而实现整个工厂层面的自动化和信息化管理。
2、 .NET平台
Microsoft . NET是Microsoft耗巨资多年悉心研究于2002年全球同步推出的新一代操作平台。早期的.NET作为用户选择安装的选件外挂在Windows (98,2000,XP)系统,从Windows Vista开始,在Windows 7和未来的Windows系统中,.NET系统将内置于Windows系统之中,,成为Windows操作系统的重要构成部分.
.NET是网络时代所需要的新一代计算平台, 它改变了传统的计算机计算模式,取而代之以网络计算模式。.NET技术的核心就是以”网络计算”取代”计算机计算”,突破了“软件运行于计算机”的概念,将软件的运行革命性的扩展到网络范围,可以说真正的.NET时代的软件是运行于“计算机网络”的。
.NET功能强大而统一,易于构建和运行具有全新客户体验的各种各样的功能的强大应用。基于.NET平台开发的应用软件,具有许多基于Windows API的软件所不具有的优越性,主要体现在以下方面:
(1) 网络化的计算平台,基于XML、基于组件、基于服务、基于协同的理念和大量现有的程序代码可以实现使用传统技术难以实现的功能。能以更少的时间解决更大和更复杂的应用系统。网络化大型应用解决方案是自动化软件未来发展的重要方向。
(2) .NET在Windows系统中的地位越来越重要。从早期作为外挂选件到目前内置于Vista和Windows 7等所有Windows系统,这充分表明.NET是未来Windows的重要组成部分。Windows系统中大量新的技术都以.NET的形式出现,而且这些技术呈现跨平台的趋势, 未来在Unix\Linux\Solaris\Mac OS等其它操作系统上运行。
(3) 更加稳定可靠和安全。.NET应用软件能有效避免传统Windows程序常见的指针问题引起的内存泄露、DLL噩梦、注册表依赖以及编程接口不一致引起的问题。.NET程序具有自动垃圾回收功能,统一而简洁的编程接口技术等都能显著提高软件的稳定可靠性. 增强的代码安全机制比简单的用户安全机制更可靠。
(4) 大量成熟可用的技术和功能代码,易于快速开发稳定可靠的应用软件(RAD)。WCF实现了统一的数据通信框架,WPF实现了统一的数据展现框架。.
(5) 扩展性更好,发展潜力无可比拟。
 可见,.NET是新一代自动化和信息化软件的理想开发和运行平台,OPC UA则是新一代数据交换的理想技术。 .NET作为强大和统一的网络化计算平台,其面向服务的思想体系、面向网络实现大型和复杂系统应用的思想,都和OPC UA的跨平台和统一架构的思想不谋而合。也可以说OPC UA是.NET作为操作平台的思想在数据采集、交互和共享方面的一种体现,自然在.NET平台上开发和实现OPC UA就更为简单。
对于自动化和信息化系统而言,无论是.NET还是OPC UA都具有十分重大的意义,所以,组态软件作为自动化和信息化建设中的一种重要分支产品,基于.NET平台和全面支持OPC UA将是其发展的必然趋势。
3、 组态软件发展
自动化行业的不断发展,对组态软件的应用和功能提出了更高的要求,主要体现在以下方面:
(1) 组态软件的发展全面进入网络计算新时代;.NET、SOA、SaaS、WebService等技术和理念将被大量采用。新一代组态软件将是以网络为中心,以.NET为技术基础。未来的组态软件应该可以方便地构建可伸缩的网络分布式系统,通过协作和负荷分布来解决大型监控系统的需要,也可以灵活的选择整体系统的架构,实现复杂的监控系统方案。其中以网络为中心、以XML、网络服务为核心,实现网络化计算机的协同是未来组态软件的最重要发展方向。
从下图可以清晰地看出自动化软件发展的三个时代:

(2) 最新IT、通信、 控制技术大量采用。自动化软件和办公软件、ERP软件等的信息集成度会进一步提高,自动化软件系统和“人的大脑系统”将更易于连接。
(3) 大系统、复杂系统和高可靠性。可靠性是自动化系统的根本,系统的可靠性一般随着系统的复杂变得脆弱,随着监控系统规模的扩大,对系统可靠性的要求是前所未来有的。
(4) 用户从自动化软件中获取信息的方式和手段将更加方便、灵活、安全和多样化,用户体验将得到全面提升,Internet将成为网络的基本部分,桌面人机界面和因特网界面,即B/S、C/S的界限将消除,图形的品质、无级缩放、3D等虚拟现实的动画表现力会得到现实应用。
(5) 对软件的开放性和互联能力要求大幅度提高。采用开放和标准化的技术将成为潮流,开放的软件接口是用户的要求,也是软件适应力和生命力的重要保证。
(6) 组态软件的传统功能要求更加精细和专业,功能呈现组件化趋势,针对不同行业的不同功能通过功能组件的专业细分而不是整个软件的定制来解决;
(7) 软件的国际化视角将成为必然,有眼光的软件都会站在全球化的角度来对待自己的产品,提供多种语言的支持。
(8) 对软件的易用性要求大幅度提高,以适应信息爆炸时代用户在学习、掌握和实施新的知识产品的快速要求。
组态软件经过二十多年的发展, 目前正在实现从“第二代”到“第三代”的跨越和革命. 一个真正的“以网络取代计算机”的、系统规模更大的、效率更高的、 传统功能更为精细,模块化、组件化、基于服务和协同理念的新型组态软件时代正在到来。
4、总结
自动化系统的飞速发展对组态软件提出了更复杂的要求,如何应对大系统和复杂系统的监控挑战,是组态软件的重要研究课题。
综上所述,OPC UA与.NET的高开放性和跨平台等技术思想,顺应了自动化行业的发展趋势,为实现企业监控管信息一体化奠定了技术基础,采用OPC UA和.NET技术是组态软件发展的必然。

wd05468

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2008年12月11日
发表于:2010-03-13 18:02:36
75楼
你好,大侠,能不能给个源码看看,wd05468@yahoo.com.cn,谢谢

wd05468

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2008年12月11日
发表于:2010-03-13 18:03:33
76楼

大侠,你好,给个源码看看吧,谢谢啊,wd05468@yahoo.com.cn

jxy_jxl

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2010年4月29日
发表于:2010-05-04 14:41:58
77楼
希望楼主也能发一份OPC SERVER的源代码给我看看,我也正在做OPC SERVER的开发,jiangxy@teg.cn,万分感谢

llhao

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2011年2月24日
发表于:2011-03-05 12:05:05
78楼
楼主和各位大侠能否给我一份源码学习下,我在学习OPCServer开发。llhao_csu@163.com。我在这里先谢了!

guo_yf

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2011年12月02日
发表于:2011-12-02 15:44:53
79楼
lz和各位前辈。也给我发一份。 谢谢 guo_yf@live.cn

andlu

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 107回
  • 年度积分:0
  • 历史总积分:333
  • 注册:2004年9月03日
发表于:2011-12-27 10:07:03
80楼


工程项目监控软件源码集

1.vb6开发的锅炉监控软件完整源码,有登陆界面、操作界面、历史数据记录和查询界面、报警数据记录

和查询界面及相关报表功能,历史曲线查询。(下位机是西门子S7-200,以太网通讯)

2.delphi7开发的回转窑监控软件完整源码,有登陆界面、操作界面、历史数据记录和查询界面、报警数

据记录和查询界面及相关报表功能。(下位机是OMRON CJ1G,以太网通讯)

3.VC++6.0开发的石灰窑监控软件完整源码,有登陆界面、操作界面、历史数据记录和查询界面、报警数
据记录和查询界面及相关报表功能,历史曲线查询。(数据源是OPC Server,报表纯手工编写,具有很大
的灵活性)。

目前都已经稳定运行在自控项目上了。这些源码稍作修改就可以应用在其他项目上。

有需要的请联系QQ:790013363

EMAIL:lgr980423@126.com  可以先运行打包安装文件,查看效果。有偿服务,非诚勿扰!


热门招聘
相关主题

官方公众号

智造工程师