OPC是通信协议吗?
OPC是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据交换更加简单化的目的而提出的,是为了连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标准.
OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。COM是Component Object Model的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk或其它语言编写对象访问程序。在Windows NT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM的这个扩展被称为DCOM(Distributed COM)。通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。 OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC现已成为工业界系统互联的缺省方案,为工业监控编程带来了便利,用户不用为通讯协议的难题而苦恼。任何一家自动化软件解决方案的提供者,如果它不能全方位地支持OPC,则必将被历史所淘汰。

西门子1500支持哪些总线通讯协议
1500不但支持多种以太网通讯,还支持串口通讯,OPC通讯,WEB访问。 西门子PLC有4大类,几十个型号类型,PLC不同所支持的通讯协议也不相同。S7-200系列支持的协议有:PPI、MPI、PROFIBUS、以太网、S7协议、AS-INTERFACE、USS、MODBUS、自由口。S7-300400系列支持的协议有:MPI、PROFIBUS、ETHERNET网、ISO协议、ISO-ON-TCP、MODBUS等。相同点是同一协议物理传输介质相同。比如S7协议可以使用DP、以太网作为传输介质。不同之处是每个协议都对应不同的组态方式和程序。 1500与1200之间采用的是S7通信,大致步骤如下:1.首先添加一个1500的设备,然后再添加一个1200的设备,选择S7连接,过程中需要注意不能设置密码,允许PUT/GET访问。2.在程序中,添加S7通信指令,GET指令为接收伙伴数据,PUT为发送数据给伙伴,比如1500要接收1200数据,就用到GET指令,反之要发送数据到1200就用到PUT指令。

opc client通讯为什么断开后无法恢复
出现故障。 OPC协议广泛应用于工控环境,作为数据库获取生产数据的最常用手段,协议通讯中断后很多OPC接口软件会发生卡死或重连时响应时间过长的问题,严重影响生产数据传输的及时性和易用性。目前工业防护墙中没有针对OPC通信协议做断线重连,仅仅在通信异常的时候进行提示,操作员只能重新配置OPC服务所需参数并重新启动OPC服务,进行重新连接、通信。

什么是opc通讯
OPC全称是Object Linking and Embedding(OLE) for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。扩展资料OPC是世界上最受欢迎的基于标准的数据通信方法。它旨在解决自动化行业中的最大的挑战:如何摆脱传统的基于特制驱动器的通信方式,在不同设备、控制器、和/或应用程序之间实现通讯。OPC之所以能够成功地创造真正独立于供应商的通讯是因为,OPC从双方提取了数据发送设备(例如PLC)和数据接收端(例如HMI)的执行细节,因此可以在它们之间进行数据交换而不需要了解彼此的本地通信协议和内部数据组织形式。这与特制驱动器的要求满足只针对于通信方两端的编写方法形成了鲜明的对比。OPC可以代表为一个位于数据发送端和数据接收端之间的“提取”界面,这个界面允许在数据发送端和数据接收端之间交换数据而不需要对对方有任何了解。OPC的“设备细节提取”是通过运用两个称为OPC客户端和OPC服务器的OPC构件得以实现的。其中每一个构件将在以下章节予以描述。需要注意的是,数据发送端和数据接收端能够彼此通过OPC进行通讯并不意味着它们各自的本地协议就不需要了,或者是被OPC取代了。相反,这些本地协议和/或接口仍然存在,但只是与两个OPC构件的其中某一个通讯。然后,OPC构件之间进行数据交换,从而结束数据传递。数据也可以从应用程序端被传输至设备,而不需要彼此直接联系。参考资料来源:百度百科-opc
OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。OLE原意是对象链接和嵌入,随着OLE 2的发行,其范围已远远超出了这个概念。现在的OLE包容了许多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步推广。OPC建立OLE规范之上,它为工业控制领域提供了一种标准的数据访问机制。

OPC协议指的是什么?
首先声明,是zz的,我对原文的观点是:分布式系统的规范不是那么容易搞出来的。所以OPC-DA暂时是不可替代的,OPC-XMLDA是跨防火墙的新技术,但是实时性差一点。这篇文章的出处是另一篇批评opc的文章的评论。(原文的链接是 http://blog.cechinamag.com/sup_zoux/9284/message.aspx#3648,被评论的文章标题是OPC——资本和崇洋豢养的病态协议)zz文章如下:楼主似乎对OPC相当的熟悉,但似乎又不是很懂OPC。首先OPC是一种协议,OPC协议里只是定义了接口,OPC的不好是由于他建立在了DCOM的基础之上,大多数的诟病来源于DCOM本身而不是OPC协议本身,至少这篇文章对OPC的不满也几乎都来源于DCOM。那么楼主更应该骂微软,或是OPC基金会妥协与微软,而不是OPC协议本身。楼主是希望把OPC协议制定成为像modbus之类的协议,还是提出要建立一套分布式框架替代DCOM呢。这两者完全不是一个层面上的东西。如果是前者,我劝楼主应该站在更高的层次上,而不是盲目的准备去做无用功,如果是后者本人倒是颇感兴趣,本人才疏学浅,分布式框架只知道DCOM 、Cobra 、JMI、.Net Remoting、SOAP。其中JMI和.Net Remoting目前还是依赖于平台,而Cobra则是看起来很美,SOAP像是以后的发展方向,目前OPC 3.0协议已经是基于SOAP的了,性能问题导致他还不能大规模推广。第二,OPC协议存在也有不少年头了,站在现在的观点对一个陈旧的东西妄加批评似乎有点过分和小肚鸡肠。就像我们不能现在说DDE是一种多么简陋的IPC技术啊,毕竟他是一个时代的产物,在OPC产生的年代,windows上的主流技术难道不是DCOM吗,除非一开始就脱离微软。第三,“资本和崇洋豢养”这个词显得楼主太过于愤青,如果说用OPC就是“资本和崇洋豢养”,那么我们绝大多数用电脑的人都是“资本和崇洋豢养”,因为我们用的windows、linux、unix、solaris都是洋人给我们的,假如有一天真的有一种真正好的替代OPC的协议产生我第一个支持,如果目前还没有出来,还是希望楼主遵循“多谈些问题,少谈些主义”的原则,真正的能够为中国的自动化协议做些贡献。最后送给楼主一句话,“师夷长技以治夷”,治夷之前是师夷而不是鄙夷原文如下:OPC——资本和崇洋豢养的病态协议虽然目前大部分的厂商均支持OPC协议,并将其视为开放的标准。我曾长期从事实时数据库研发,并对OPC协议有深入研究。到目前为止,除了悲哀,只有一席不得不说的话。OPC真的很先进么?对于过去还一直靠编写串口协议研发非标产品的一些同仁来说,似乎刚刚感受到其带来的优点,为了接项目而编写一些OPC接口等等,也许感觉其神秘而高不可攀。其实,OPC就是基于微软DCOM技术的一套接口定义而已,在其设计的时候并没有考虑诸多工控必须的硬件条件因素,仅仅是将微软DCOM技术原封不动地搬到了工控领域而已。这几年,每年都有一些同仁公司联系SUPCON SOFT,希望能够获得解决OPC接口的问题,作为OPC基金会的首批会员和国内OPC基金会的倡导者,SUPCON对OPC十分了解,拥有大量可以开发OPC接口的程序员。但这并不意味着SUPCON会承接这些接口问题的服务。作为一个企业,其专业性在于提供自己专业的产品和核心价值所在的服务,而非其它。但这也从另一个侧面看出国人对OPC接口的误解和盲从。OPC真的很美么?从其应用至今,OPC带来的痛大过其带来的利益。DCOM是一套依赖微软技术极深的服务,仅一个OPC,就限制了目前工控领域操作系统的多样性。这也没什么,如果处于爱国,中国还真没有可圈可点的操作系统。但OPC的问题是在太多了:※安全性配置复杂:对于对操作系统并不专业的工控人员,OPC的安全性配置已经过于专业和复杂了。这导致了好多实例中,OPC都不是通过系统启动后自激活的,而是需要有交互式用户去登录,这给系统带来了极大的不安全性。即每次系统重启都可能需要人为干预。虽然经过合理的DCOM配置可以避免,但不幸的是大部分工控从业同仁对此并不掌握;※远程激活困难:如果两台计算机不再一个带有强烈微软技术特色的“域”里的时候,远程激活OPC就是一个噩梦,在很多项目上,仅这个配置就另很多工程人员痛心疾首。知道大部分项目中不同域之间的激活是怎么做到的吗?呵呵,好多同仁选择了两台机器通过相同的用户名和密码登录来破坏安全性;另一些掌握一些编程技术的同仁则通过在一台计算机中保存另一台计算机的用户名和密码;这些安全因患之所以不能排除,原因就是该死的OPC协议,这个吸附在微软的DCOM技术上的毒瘤;※开发复杂:虽然笔者对DCOM技术掌握得较为熟练,但至今还能回忆起年轻时学习DCOM编程的黑暗日子,DCOM是一种经过一段时间痛苦,然后顿悟,发现原来所有写DCOM教材的人都在故弄玄虚,人为增加复杂度。同时,DCOM的内存管理和调用技术,往往需要较多经验,使本来容易的通讯开发,变得焦灼不堪。所以才有目前很多业界同仁委托其它公司开发OPC接口的事情;※跨平台困难:连跨微软的多个操作系统,都会有些小问题,能在Linux和UNIX上使用OPC的人,更是寥寥;我至今只是闻名,未尝亲见这类高人;那么为什么这么一个诟病甚多的协议会成为今天普遍接的标准呢?原因有二,一是时机,二是资本。当工业以太网时代还出于鸿蒙初开,各大自动化厂商还在为未来的总线争论得喋喋不休得时候,微软,这个操作系统的厂商,利用一种基于自己操作系统的分布式技术,在DCOM仿佛能够解决一切分布式问题的丧失理智的时代,推出了一种民不见经传的OLE for Process Control,没有引起任何一个自动化厂商的足够重视,而正是因为这种低调的入场,加上各大自动化厂商惯常的保守和对工业以太网技术发展前景的短视,OPC成长了起来。谁会将一个操作系统的厂商作为竞争对手呢?所以,OPC的开始是比较顺畅的。另一个强有力的吹鼓手是微软,他并没有鼓吹OPC无所不能,但它过分地鼓吹了DCOM,最终这种资本运作带来了浮躁,大家索性都不再研究其他开放的工业以太网传输协议了,OPC就是万能灵丹。历史再不断重演,今天的我们,又要被IBM等厂商所谓的SOA和Web2.0技术蒙住双眼。另一个原因,就是崇洋,曾几何时,洋东西好得不得了,我还记得当时曾经定义一个内部的基于TCP数据传输协议,就有保守派在我耳边喋喋不休:协议这东西都是国外大公司制定得,如何如何神奇,如何如何专业,总之,中国人连制定一个企业的TCP传输协议的能力都没有了。不过最终证明,不但能够制定,只要对工业数据传输得需求把握得好,中国人可以制定出一样优秀得开放数据传输协议。但问题似乎总是出现:你制定了,谁拥护啊?你制定了,好吧,虽然是开放式协议,为啥是你A公司制定,不是我B公司制定?国人的问题多得不得了。中国目前也出了十多家有一定规模的自动化厂商,有没有成立一个多个企业的标准委员会,讨论一下国有开放标准?没有!这就是现实。我们不还以被美国仪器仪表协会承认而自豪么?我们不还为了能够达到欧洲标准而欣慰么?所以,在这样的土壤上,本土的种子难得开花结果。其实,最适合工业使用的以太网数据交互协议,绝对不是OPC,而应该是一种基于TCP/IP的,平台无关传输协议。这种协议得制定,只要兼顾了实时值、历史值、主动变化通知,考虑了批量数据读写和并发连接,考虑了不同设备处理速度得不同,就会变得即鲁棒又实用。而我们国人完全有能力制定自己的开放协议! 我深深的知道,问题虽然明显,但明天早晨,我仍然必须接受这个洋品牌和洋标准充斥的世界。OPC虽然不好,但未来5年恐怕还会被趋之若骛。我的力量虽有限,但有幸的是我在一家民族自动化企业就职,还可以一点点地身体力行以尽绵薄,希望国内业界同仁达成共识,有朝一日,可以共同推动由中国人制定的开放工业以太网实时数据传输标准,到那个时候,这个自动化的行业,才能因开放的标准而变得简单高效,四通八达。就脱离微软。
1、在控制领域中,系统往往由分散的各子系统构成;并且各子系统往往采用不同厂家的设备和方案。用户需要,将这些子系统集成,并架构统一的实时监控系统。 2、这样的实时监控系统需要解决分散子系统间的数据共享,各子系统需要统一协调相应控制指令。3、再考虑到实时监控系统往往需要升级和调整。4、就需要各子系统具备统一的开放接口。5、OPC(OLE for Process Control) 规范正是这一思维的产物。6、OPC 基于Microsoft公司的 Distributed interNet Application (DNA) 构架和 Component Object Model (COM) 技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口。7、OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。8、OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据。它是基于Windows的OLE——对象链接和嵌入、COM——部件对象模型(Component Object Model)和DCOM——分布式COM(Distributed COM)技术。因而,OPC为自动化层的典型现场设备连接工业应用程序和办公室程序提供了一个理想的方法。OPC应用领域1、工控解决方案用户2、楼控解决方案用户3、工控解决方案厂商4、楼控解决方案厂商5、工控解决方案集成商6、楼控解决方案集成商7、 All Automation FieldsOPC是为了连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标准。数据源可以是PLC,DCS,条形码读取器等控制设备。随控制系统构成的不同,作为数据源的OPC服务器即可以是和OPC应用程序在同一台计算机上运行的本地OPC服务器,也可以是在另外的计算机上运行的远程OPC服务器。OPC接口既可以适用于通过网络把最下层的控制设备的原始数据提供给作为数据的使用者(OPC应用程序)的HMI(硬件监督接口)/SCADA(监督控制与数据采集),批处理等自动化程序,以至更上层的历史数据库等应用程序,也可以适用于应用程序和物理设备的直接连接。所以OPC接口是适用于很多系统的具有高厚度柔软性的接口标准。OPC解决了什么?OPC诞生以前,硬件的驱动器和与其连接的应用程序之间的接口并没有统一的标准。例如,在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种驱动器。同时由于系统中共存各种各样的驱动器,也使维护运转环境的稳定性和信赖性更加困难。而OPC是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。利用OPC的系统,是由按照应用程序(客户程序)的要求提供数据采集服务的OPC服务器,使用OPC服务器所必需的OPC接口,以及接受服务的OPC应用程序所构成。OPC服务器是按照各个供应厂商的硬件所开发的,使之可以吸收各个供应厂商硬件和系统的差异,从而实现不依存于硬件的系统构成。同时利用一种叫做Variant的数据类型,可以不依存于硬件中固有数据类型,按照应用程序的要求提供数据格式。 利用OPC使接口标准化可以构成如图5所示的系统。从图5可此看出,用户可以不依存于设备A,B,C,D的内部结构及它的供应厂商,来选用监视,趋势图以及表报应用程序。
OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/68731.html。