opc技术在工业自动化软件中的应用--《plc&fa》网络版.htm

来自「OPC document,collecting~」· HTM 代码 · 共 504 行 · 第 1/3 页

HTM
504
字号
                    method=post>
                    <TBODY>
                    <TR>
                      <TD class=14><SELECT class=login name=magayear> 
                          <OPTION value=2007 selected>2007</OPTION> <OPTION 
                          value=2006>2006</OPTION> <OPTION 
                          value=2005>2005</OPTION> <OPTION 
                          value=2004>2004</OPTION> <OPTION 
                          value=2003>2003</OPTION></SELECT> <SELECT class=login 
                        onchange=chkSubmits(); name=magano> <OPTION value=all 
                          selected>选择期数</OPTION> <OPTION value=1>第1期</OPTION> 
                          <OPTION value=2>第2期</OPTION> <OPTION 
                          value=3>第3期</OPTION> <OPTION value=4>第4期</OPTION> 
                          <OPTION value=5>第5期</OPTION> <OPTION 
                          value=6>第6期</OPTION> <OPTION value=7>第7期</OPTION> 
                          <OPTION value=8>第8期</OPTION> <OPTION 
                          value=9>第9期</OPTION> <OPTION value=10>第10期</OPTION> 
                          <OPTION value=11>第11期</OPTION> <OPTION 
                          value=12>第12期</OPTION></SELECT> 
                  </TD></TR></FORM></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#f9f9f9 
        border=0><TBODY>
        <TR>
          <TD vAlign=top align=middle bgColor=#f9f9f9>
            <TABLE cellSpacing=0 cellPadding=0 border=0>
              <TBODY>
              <TR>
                <TD align=middle><IMG height=30 
                  src="OPC技术在工业自动化软件中的应用--《PLC&amp;FA》网络版.files/category.gif" 
                  width=150></TD></TR>
              <TR height=2>
                <TD height=2></TD></TR>
              <TR>
                <TD class=leftul height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=1">综述</A> </TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=2">行业动态</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=3">海外文摘</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=4">专访</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=11">企业之窗</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=5">PLC/工控机与集散控制系统</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=6">现场总线与网络技术</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=7">计算机控制、监测与管理</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=8">工业控制技术</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=9">机器视觉</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=12">国际组织专栏</A></TD></TR>
              <TR>
                <TD height=20>·<A 
                  href="http://www.plc-fa.hk/column.asp?cata=10">冶金行业应用</A></TD></TR>
              <TR height=2>
                <TD height=2></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
    <TD width=12></TD>
    <TD vAlign=top align=middle>
      <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD height=10>&nbsp;</TD></TR>
        <TR>
          <TD height=10>
            <DIV align=center><B class=307070>OPC技术在工业自动化软件中的应用</B></DIV></TD></TR>
        <TR>
          <TD style="WORD-BREAK: break-all" height=10>
            <DIV align=center><B 
            class=307070>Application&nbsp;of&nbsp;OPC&nbsp;Technique&nbsp;in&nbsp;Software&nbsp;of&nbsp;Automatic&nbsp;Control&nbsp;System</B></DIV></TD></TR>
        <TR>
          <TD align=middle height=10><IMG height=9 
            src="OPC技术在工业自动化软件中的应用--《PLC&amp;FA》网络版.files/file_.gif" 
          width=445></TD></TR>
        <TR>
          <TD align=middle>
            <TABLE style="WORD-BREAK: break-all" cellSpacing=0 cellPadding=1 
            width=580 border=0>
              <TBODY>
              <TR>
                <TD align=middle height=16>本文来自2005年第9期“综述”上 
                ,已经被阅读过3861次<BR></TD></TR>
              <TR>
                <TD><B class=996699>作 者 
                  :</B>哈尔滨博实自动化设备有限责任公司&nbsp;&nbsp;&nbsp;董云飞&nbsp;&nbsp;李春明</TD></TR>
              <TR>
                <TD height=4></TD></TR>
              <TR>
                <TD vAlign=top><B class=996699>关键词:</B> 
                  OPC&nbsp;&nbsp;&nbsp;工业自动化软件&nbsp;&nbsp;&nbsp;OPC&nbsp;Server&nbsp;&nbsp;&nbsp;OPC&nbsp;Client&nbsp;&nbsp;&nbsp;数据存取</TD></TR>
              <TR>
                <TD vAlign=top>&nbsp;</TD></TR>
              <TR>
                <TD class=ff vAlign=top>
                  <TABLE style="LINE-HEIGHT: 20px" width="98%" border=0>
                    <TBODY>
                    <TR>
                      <TD colSpan=2>
                        <P><STRONG><FONT color=#000084>1&nbsp; 
                        引言<BR></FONT></STRONG>&nbsp;&nbsp;&nbsp; 
                        随着我国工业的高速发展,工业生产规模不断扩大,过程控制复杂程度也大大提高。工控系统需要集成数量和种类不断增多的现场信息,但是不同厂家的设备具有不同的通信机制,迫使工控软件中包含了越来越多的底层通讯模块。由于不同工控软件中的通讯模块访问接口不尽相同,因而造成了工控软件相互之间不能通信,软件资源不能共享的普遍的问题。在FA(Factory 
                        Automation)领域,连接PLC(Programmable Logic 
                        Controller)等控制设备和SCADA/HMI软件,需要不同的FA网络系统构成。根据某调查结果,在控制系统软件开发的所有费用中,各种各样机器的应用程序设计占费用的七成,而开发机器设备间的连接接口则占了三成。此外,在PA(Process 
                        Automation)领域,当希望把DCS(Distributed Control 
                        System)中所有的过程数据传送到生产管理系统时,必须按照各个供应厂商的各个机种开发特定的接口应用程序。另外,由于程序中软件硬件接口的复杂性,导致将来系统升级时的工作量会相应增大。硬件设备的改进很可能导致整个软件的改动,给工控软件的设计和维护造成了极大的不便。<BR>&nbsp;&nbsp;&nbsp; 
                        人们迫切需要一种标准途径从数据源(服务器)提取数据并且传输到应用程序(客户端)的机制,这是一种开放、高效的通信机制。OPC正是这一需要的产物。<BR>&nbsp;&nbsp;&nbsp; 
                        OPC(OLE for Process 
                        Control,用于过程控制的对象链接与嵌入)是一个工业标准,它是许多世界领先的自动化软、硬件公司与微软公司合作的结晶。它由一系列用于过程控制和制造业自动化应用领域的标准接口、属性以及方法组成。本文以OPC技术为主要核心内容结合工业自动化控制系统的软件开发过程,论述OPC技术及其标准在工业控制应用中所起到的重要作用。</P>
                        <P><STRONG><FONT color=#000084>2&nbsp; 
                        数据采集方案及其比较<BR></FONT><FONT color=#000084>2.1&nbsp; 
                        驱动程序法(Drive)</FONT></STRONG><BR>&nbsp;&nbsp;&nbsp; 
                        驱动程序法(Drive)是针对不同的设备,通过编写定制一对一的的驱动程序和接口程序的方法来进行数据采集。如图1所示。</P>
                        <P align=center><IMG 
                        src="OPC技术在工业自动化软件中的应用--《PLC&amp;FA》网络版.files/20051081439493206.gif"></P>
                        <P align=center>图1&nbsp;&nbsp;&nbsp;&nbsp; 
                        无标准规范下接口的连接</P>
                        <P><BR>此种方法是在应用程序中挂接“驱动程序”来存取现场控制设备和控制室数据库的数据。该种方法存在以下缺陷:<BR>(1) 
                        尽管可以编写定制的驱动程序和接口程序,但因为多种不同类型的控制设备和软件包需要通信,使得程序的种类迅速的增长。驱动程序数量的增加加深了解决已经存在问题的困难程度,例如不同设备供应商的驱动程序之间的不一致、硬件性能不能得到广泛支持、驱动程序不能适应升级后的硬件以及发生的存取冲突(两个应用程序因为使用相互独立的驱动程序,因而不能同时访问同一设备),更糟糕的情况是驱动程序不适用于特定设备的应用程序或内部应用程序的组合,这就限制了最终用户的选择或迫使他们不得不编写自己的驱动程序(以及调试)。<BR>(2) 
                        对于开发监控程序软件的技术人员来说,有20~30%的时间是用于编写通信驱动程序。每次,一个供应商需要将一个新的控制器投入上销售时,所有的软件开发人员就不得不重新编写一个新的驱动程序。应用软件的提供者花费太多的资金开发和维护专用接口,这不仅增加了用户的负担,而且在实际上并不能解决不同系统的互操作性,在某种意义上,用户被他们的软件提供者所控制。<BR></P>
                        <P><STRONG><FONT color=#000084>2.2&nbsp; 
                        动态数据交换法(DDE)</FONT></STRONG><BR>&nbsp;&nbsp;&nbsp; 
                        DDE即动态数据交换(Dynamic Data 
                        Exchange),是OLE技术的前身,是在微软的Win32应用程序接口(API)上所开发的应用程序之间动态地移动数据的一种方法。DDE协议在应用程序间传送信息,使得应用程序共享数据和采用共享的内存交换数据。应用程序采用DDE协议,可以一边传送数据,一边交换数据,这样,应用程序就可以相互更新数据,因而得到的总是最新的数据。在OPC技术产生之前,硬件制造商尽管认识到需要开发软件程序以连接他们的硬件,但受限制于他们开发通信驱动程序的能力,因而程序开发的选择范围只能局限在DDE和一个专用的DDE导出表之间。选择任何一个DDE进行程序开发,都有可能要么限制用户对软件的选择,要么妨碍用户对硬件的接受。且由于DDE是基于Windows的消息(Message)传递而建立的技术,所以DDE技术存在以下的问题:<BR>(1) 
                        数据的传送速度较慢。 <BR>(2) 没有安全性的管理机制。<BR>(3) 开发难度大。<BR>(4) 
                        功能缺乏柔韧性。<BR>(5) 可靠性也难以令人满意。<BR></P>
                        <P><STRONG><FONT color=#000084>2.3&nbsp; 
                        OPC技术方案</FONT></STRONG><BR>&nbsp;&nbsp;&nbsp; 
                        问题的解决方案是选择一个标准,这个标准为过程控制和工厂自动化提供真正的即插即用软件技术,使得过程控制和工厂自动化的每一个系统、每一种设备、每一个驱动程序能够自由的连接和通信。有了这样一个标准,使得系统及设备之间,包括从车间级到MIS(管理信息系统)和更远距离,完全无缝的、真正放开和方便的进行企业级的通信成为可能。<BR>&nbsp;&nbsp;&nbsp; 
                        OPC标准恰恰满足了这种要求,OLE已从面向对象重新定义为基于对象,并改名为Active 
                        X。利用OPC的系统,是由按应用程序(客户程序)的要求提供数据采集服务的OPC服务器,使用OPC服务器所必需的OPC接口,以及接受服务的OPC应用程序(OPC客户端)所构成,如图2所示。OPC服务器是根据各个供应厂商的硬件所开发的,使之可以消除各个供应厂商硬件和系统的差异,从而实现不依存于硬件的系统构成。同时利用一种叫Variant的数据类型,可以不依存于硬件中固有的数据类型,按照应用程序的要求提供数据格式。</P>
                        <P align=center><IMG 
                        src="OPC技术在工业自动化软件中的应用--《PLC&amp;FA》网络版.files/200510814393087355.gif"></P>
                        <P align=center>图2&nbsp;&nbsp;&nbsp;&nbsp; 
                        利用OPC的控制系统构成<BR></P>
                        <P><BR>&nbsp;&nbsp;&nbsp; 
                        OPC可以称为“软件总线”,应用程序只知道如何读取OPC数据源,从而可以更加容易、通用、简单。设备驱动端(OPC 
                        Server)只知道如何将现场数据转换为OPC统一格式的数据。<BR>&nbsp;&nbsp;&nbsp; 
                        OPC是解决问题的最佳方案。鉴于传统方法的限制,束缚了硬件厂商和软件开发商的手脚。随着OPC技术的导入,和过去的DDE技术以及在应用程序中内嵌Drive的方案相比,在以下方面显示出它的优越性:<BR>(1) 
                        高速的数据传输性能。 <BR>(2) 基于分布式COM的安全性管理机制。<BR>(3) 
                        开发成本的降低。<BR>(4) 实现具有高度柔韧性功能的系统。<BR>(5) 
                        实现具有高可靠性的系统。<BR>&nbsp;&nbsp;&nbsp; 
                        所以基于先进的COM技术的OPC技术将逐渐取代在过程控制中广泛使用的DDE的地位乃是顺理成章的事情。OPC将给工业软件和硬件带来利益,如同标准的打印机驱动程序使得文字处理焕然一新那样。由于OPC的突出优点,可以节省多种专用服务器、专用硬件驱动的昂贵开销,大大降低了该系统的成本,而这些在过去对于系统间的通信是必要的。<BR></P>
                        <P><STRONG><FONT color=#000084>2.4&nbsp; 
                        数据存取规范的对象和接口</FONT></STRONG><BR>&nbsp;&nbsp;&nbsp; 
                        在OPC数据存取规范中,一个OPC的数据存取服务器中包括几类对象(OPC Server)、组(OPC 
                        Group)和项(OPC 
                        Item)。OPC服务器对象维护有关服务器的信息并作为OPC组对象的容器,而OPC组对象维护有关其自身的信息,提供包容OPC项的机制,并管理OPC项。<BR>&nbsp;&nbsp;&nbsp; 
                        OPC服务器对象主要实现IUnknown和IOPCServer接口,OPC客户通过OPC服务器的接口与OPC对象进行通信。IOPCServer接口为OPC客户提供了方便有效的OPC组的方法。<BR>&nbsp;&nbsp;&nbsp; 
                        OPC组提供了客户程序组织数据的手段,每个组中都可以定义一个或多个OPC项。组有两种类型:公共组(Public)和局部组(Local),公共组可以被多个客户共享,而局部组只能被一个客户使用。OPC组中有以下几个主要属性:<BR>Name—组的名字;<BR>Active—组的激活状态标志;<BR>Update 
                        Rate OPC—服务器向客户程序提交数据变化的刷新率;<BR>Percent 
                        Deadband—数据死区,即能引起数据变化的最小数据百分比。<BR>&nbsp;&nbsp;&nbsp; 
                        OPC项代表了与服务器中的数据的连接,它并不是数据源,而仅仅是与数据源的连接。每个项都与以下主要属性:<BR>&nbsp;&nbsp;&nbsp; 
                        Active项的激活状态;Value项的数据,类型为VARIANT;Quality项的品质,代表数值的可信度,类型为SHORT;Time 
                        Stamp时间戳,代表数据的存取时间。<BR>&nbsp;&nbsp;&nbsp; 
                        OPC规范包含了两套接口:客户化接口(Custom Interface)和自动化接口(Automation 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?