日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于SOAP的OPC XML DA客戶端開發
  • 企業:控制網     領域:電源    
  • 點擊數:4448     發布時間:2005-07-13 16:50:05
  • 分享到:
文章分析了OPC COM DA(Data Access)的局限性,采用OPC XML DA標準對原有的OPC COM DA服務器進行擴充來解決跨平臺通用性問題。



1  引言

    XML使得從工廠底層到企業辦公自動化的系統集成變得非常容易,利用Internet技術,它可以實現以任何文件格式進行再使用、搜索和交換數據信息,實現從工廠底層的監控和控制系統到較高級別的制造業企業應用程序的縱向信息系統集成。同時在工廠自動化和企業解決方案方面也能夠獲得較高的集成度。XML還能夠提供更好的方式將獲得的實時生產數據信息嵌入基于辦公自動化信息處理的應用程序中去,進一步滿足企業對各種數據信息的需要。 

2  OPC DA(COM)的局限性

    以往的OPC(OLE for Process Contrl)規范是基于Microsoft COM/DCOM技術制定的。然而,由于COM自身的一些特點,使得它的應用受到了一定的限制,主要表現在以下3個方面:
    (1)  依賴Microsoft環境,缺少跨平臺通用性
    由于COM/D COM對Microsoft平臺的依賴性,使得OPC COM接口很難被應用到其它平臺上。如果運行的是DCOM服務器程序,所有的分布式的客戶端不得不運行于微軟的操作平臺上。
    (2)  難以與企業應用程序連接
    企業應用程序需要實時的工業現場數據,但是這些上層應用程序大多沒有與OPCCOM服務器交互的OPC COM接口,因而無法連接到具有COM接口的OPC服務器進行獲取數據。
    (3)  不易通過防火墻,較難與Internet應用程序集成
    現行的OPC COM應用程序在現場級的局域網環境下能夠很好的工作。但當你試圖通過Internet進行數據交換時,網絡防火墻會過濾掉大多數基于COM傳輸的數據,因此基于COM
為了解決這些問題,人們用OPC XML標準,對原有OPC服務器進行必要的功能擴充。OPC XML 標準具有良好的跨平臺通用性,而且基于廣泛應用的Internet標準。

3  OPC XML解決方案

(1)  OPC XML簡介  
    OPC XML DA用基于XML的Web服務概念,用SOAP(簡單對象訪問協議)作為對應用程序共享消息進行包裝的標準協議。OPC客戶端和服務器之間通過HTTP協議傳輸Web服務。OPC XML提供一種比較容易的方式用于通過Internet發布OPC數據信息,為企業自動化過程控制系統集成提供廣泛的連接特性。同時也為非Microsoft操作系統平臺發布OPC數據信息提供一種數據信息轉換機制,這些平臺包括Linux、UNIX、CORBAR等。
    OPC XML DA支持Brows、Read、Write、Subscribe等服務,每種服務都包括一個請求(Request)和一個響應(Response)。通過對這些服務的定義,提供了訪問工業現場數據的標準接口。請求和響應按照SOAP協議標準被包裝成SOAP信封,信封標題說明消息如何被處理,信封正文則包含工業過程信息。
(2)  OPC XML解決方案
    OPC XML標準采用了XML技術擴展了OPC訪問數據信息平臺。OPC XML DA定義了一套基于XML的面向工廠自動化和過程控制領域的數據信息交換接口,以便讓這一領域的自動化過程控制設備橫跨Internet而工作。用OPC XML作為OPC COM數據服務器的補充,在OPC COM服務器上添加OPC XML接口,將OPC COM數據服務器采集的數據通過OPC XML發布到Web服務器上,這樣處于其它網絡平臺的授權用戶就可以很容易通過Internet訪問Web服務器提供的信息(如圖1所示)。



圖1  OPC XML支持任何操作系統平臺的Web瀏覽器

    人們還開發了基于SOAP協議的客戶端,實現了對企業信息及生產數據的訪問。在實驗室環境下取得了較好的預期效果。
(3)  SOAP簡介
    SOAP(Simple Object Access Protocol)簡單對象訪問協議是在分散或分布式的環境中交換信息的簡單的協議,是一個基于XML的協議。它為在一個松散的、分布的環境中使用XML對等地交換結構化的和類型化的信息提供了一個簡單且輕量級的機制。SOAP可以簡單的理解為這樣的一個開放協議SOAP=RPC+HTTP+XML:采用HTTP作為底層通訊協議;RPC作為一致性的調用途徑,XML作為數據傳送的格式,允許服務提供者和服務客戶經過防火墻在Internet進行通訊交互。
    SOAP的兩個主要設計目標是簡單性和可擴展性,它包括四個部分:SOAP信封(SOAP Envelop),封裝定義了一個描述消息中的內容是什么,是誰發送的,誰應當接受并處理它以及如何處理它們的框架;SOAP編碼規則(SOAP Encoding rules),用于表示應用程序需要使用的數據類型的實例;SOAP RPC表示(SOAP RPC Representation),表示遠程過程調用和應答的協定;SOAP綁定(SOAP Binding),用于使用底層協議交換信息。
    SOAP定義了一種消息交互機制,它描述了如何用XML對信息進行編碼。通常,SOAP用于在運行時解釋遠程調用的參數值,并且使用特定的編碼方式將這些值填充在XML文檔中。然后,XML數據通過HTTP協議傳輸至遠程服務器。SOAP 技術有助于實現大量異構程序和平臺之間的互操作性,從而使存在的應用能夠被廣泛的用戶所訪問。SOAP是把成熟的基于HTTP的WEB技術與XML的靈活性和可擴展性組合在了一起。
(4)  SOAP與DCOM的比較優勢
    首先,DCOM定義了傳送信息的語義,對參數和返回值使用二進制編碼。但是對諸如參數名稱或類型的任何信息都不編碼,使中介很難處理消息。又因為每個系統使用不同的二進制編碼,系統間的互操作很難實現。SOAP并沒有定義信息的語義、服務質量以及基于Internet的事務處理。而是采用 XML 進行消息編碼,正確的處理需要服務器和客戶端本身來執行,理解和執行彼此使用的信息格式(One-To-One,Request/Reply,Broadcast,ETC),應用程序本身在語義解析中扮演著十分重要的角色。
    其次,盡管DCOM可以在微軟的各種平臺上運行,但是基于DCOM的解決方案必須依賴于單一的應用程序。比如說,假如運行的是DCOM服務器程序,所有的分布式的客戶端不得不運行于微軟的操作平臺上。DCOM適合于服務器―服務器間的通訊,但是對于客戶端―服務器的通訊十分脆弱,尤其當客戶程序分布在Internet上更是如此。
    最后,DCOM雖然是有效的、靈活的,但也是很復雜的。而SOAP的一個主要優點就在于它的簡單性,SOAP使用HTTP作為網絡通訊協議,接受和傳送數據參數時采用XML作為數據格式,從而代替了DCOM中的NDR格式,提供了更高層次上的抽象,與平臺和環境無關

4  基于SOAP的OPC XML DA客戶端的實現

    現在許多自動化廠商已經開發出了高效的OPC XML DA應用程序,如作為OPC規范的五個發起公司之一的SIEMENS公司開發的WinCC更是很好的支持OPC XML。客戶可以按照OPC XML規范編寫自己所需功能的客戶端,就能實現與服務器相連,進行數據交換。
OPC XML DA是在Web服務基礎上制定的全新的接口規范,所有支持Web服務的編程工具(例如Microsoft的Visual C++,Borland Delphi等)都可以用來編寫OPC XML DA接口。由于Delphi7強大的Web Service 功能,對XML和SOAP有很好的支持,開發者無需精通XML和SOAP即可進行相關程序的開發,因此選用Delphi在WINDOWS下進行客戶端的編程。


圖2  Read命令界面

    下面以客戶端如何向服務器端發送讀請求為例,給出開發步驟及部分實現代碼。測試服務器網址為www.tswinc.us/XMLDADemo/XML_Sim/opcxmldaserver.asmx。
    步驟1:在工程目錄下建立一個文本文檔,把Read界面中各命令的參數值按照XML語言規范保存到這個文檔中,方便以后用到讀命令時進行SOAP封裝。文檔中XML代碼如下:
<Read 
xmlns="  
http://www.tswinc.us/XMLDADemo/XML_Sim/opcxmldaserver.asmx">
  <Options
ReturnItemName="true"
  ReturnItemPath="true"
ReturnDiagnosticInfo="true"        
ReturnItemTime="true"
          ReturnErrorText="true"
ClientRequestHandle="123"
      LocaleID="" />
  <ItemList MaxAge="0">
    <Items MaxAge="0"
       ItemName="Bucket Brigade.Boolean"
     ClientItemHandle="264331" />
  </ItemList>
</Read>
    步驟2:SOAP請求需要SOAPAction HTTP標頭。
SoapAction:= 'http://opcfoundation.org/webservices/XMLDA/1.0/’+’Read’;
    步驟3:發送的SOAP Envelop
ReadRequest  := TStringStream.Create(
‘<?xml version="1.0" encoding="UTF-8" ?>’
+’<SOAP-ENV:Envelopexmlns:SOAP-ENV=
"
http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">'
+'<SOAP-ENV:Body>'
        + 步驟(1)建立的Read文檔的內容
+'</SOAP-ENV:Body>'
       +'</SOAP-ENV:Envelope>');
    步驟4:命令發送函數Send
function TXMLDAClient.Send(const ReadReq: TStream): Integer;
……  //變量定義
begin
……
Request
:= HttpOpenRequest(FInetConnect, 'POST', PChar(FURLSite),nil,                        nil, nil, Flags, 0);
               //創建http句柄
ActionHeader:= GetSOAPActionHeader(FSoapAction);
HttpAddRequestHeaders(Request, PChar(ActionHeader), Length(ActionHeader), HTTP_ADDREQ_FLAG_ADD);
     //向HTTP請求句柄加入一個或多個HTTP請求頭部
……
BuffSize := ReadReq.Size; 
//設置緩沖區
if BuffSize > MaxSinglePostSize then
begin
 Buffer := TMemoryStream.Create;
  try      Buffer.SetSize(MaxSinglePostSize);
         //初始化緩沖區
        ……
        //開始發送
        Check(not HttpSendRequestEx(Request,@INBuffer,nil,                                HSR_INITIATE or HSR_SYNC, cardinal(self)));                                      //發送讀請求到XML DA Server
try
          while True do
 begin
 Len := BuffSize - ReadReq.Position;
                  //讀緩沖區數據
Len := ReadReq.Read(Buffer.Memory^, Len);
if Len = 0 then
raise Exception.Create(SInvalidHTTPRequest);
Check(not InternetWriteFile(Request, @Buffer.Memory^, Len,RetVal));
    //把數據寫入一個打開的Internet file
        ……
        finally …
    end;
end;
通過測試,客戶端能夠按照預定設計通過Internet進行數據讀、寫等基本功能。

5  結語

    現在工業過程自動化控制領域正在積極容納電子商務的管理和應用模式,以便更好地將工廠現場的自動化過程控制與企業辦公自動化集成在一起。OPC XML擴展了OPC的功能,實現了企業信息系統控制、監控、管理3個層次間的信息溝通和系統整合。SOAP把成熟的基于HTTP的WEB技術與XML的靈活性和可擴展性組合在了一起,使大量異構程序和基于不同平臺子系統之間的互操作成為可能,從而使存在的應用能夠被廣泛的用戶所訪問。SOAP與OPC XML必將為工業自動化控制系統集成提供新的途徑。

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 久久久精品视频免费观看,非会员体验60秒试看福利区,免费福利在线观看,国内免费视频成人精品,久久久中文字幕日本,婷婷激情五月 | 欧美日日操,日日爱网站,99久久久久久久,日本高清不卡免费,久久免费观看国产精品,秋霞在线观看视频一区二区三区 | youjizz日本人-youjizz亚洲-youpornyoujizz中国-yy6080久久-欧美日韩国产在线-欧美日韩国产在线播放 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 | 日韩美在线-日韩美一区二区三区-日韩美女在线视频-日韩美女视频在线观看-亚洲无线一二三四区手机-亚洲无专砖码直接进入 | 五月天视频网站,国产成人精品日本亚洲语言,999福利视频,精品123区,国产中文视频,美女视频一区二区三区在线 | 91黄色影院-91黄色视屏-91黄色大片-91黄-91果冻制片厂广电传媒-91果冻传媒 | 国产偷抇久久精品A片蜜臀A-国产偷抇久久精品A片蜜臀AV-国产偷抇久久精品A片图片-国产偷窥熟妇高潮呻吟-国产凸凹视频熟女A片-国产玩弄放荡人妇系列 | 国产成人18黄网站免费网站-国产成人18黄网站免费-国产成人+亚洲欧洲-国产成年网站-国产成年-国产成a人亚洲精v品久久网 | 日韩成人A片一区二区三区-日韩成人黄色片-日韩成人在线视频-日韩吃奶摸下AA片免费观看-日韩大片免费看-日韩大片在线观看 | 五月天婷婷视频,九九爱这里只有精品,热和尚三区四区,善良的嫂子3在线播放,久久久久久久久久久久久久,热er99久久6国产精品免费 | 黄色毛片免费看-黄色毛片视频-黄色毛片网-黄色毛片在线-日本视频在线观看不卡高清免费-日本视频在线看 | 极品白丝-激性欧美激情在线播放16页-激情综合五月天丁香婷婷-激情伊人网-亚洲天堂久久精品成人-亚洲天堂久久精品 | 日韩精品在线视频观看-日韩精品在线播放-日韩精品影视-日韩精品一区在线观看-日韩精品一区二区亚洲AV观看-日韩精品一区二区三区在线观看l | 亚洲1卡二卡3卡四卡不卡-亚洲1卡2卡三卡3卡4卡网站-亚洲18gay1069-亚洲18gay video-国内精品久久久久久-国内精品久久久久激情影院 | 精品国产91乱码一区二区三区,成人国产一区二区三区精品,亚洲一区免费在线观看,日韩在线一区二区三区免费视频,波多野吉衣在线观看,日韩一级精品久久久久 | 色综合天天综合网国产国产人-色综合天天综合网国产成人网-色综合天天综合网国产成人-色综合天天综合给合国产-国产成人精彩在线视频50-国产成人禁片在线观看 | 国产成a人亚洲精v品无码性色-国产成a人亚洲精v品无码樱花-国产成a人亚洲精v品在线观看-国产成a人亚洲精品无码樱花-国产成版人视频网-国产成版人视频网站免费下 | 欧美日韩国产在线成人网,成人免费一级片,在线观看国产一区,国产麻豆精品免费密入口,国产欧美日韩在线,在线视频观看国产 | 一区二区视频在线观看高清视频在线-一区二区三区无码高清视频-一区二区三区无码被窝影院-一区二区三区四区国产-久久re视频精品538在线-久久re热在线视频精99 | 欧美在线一,91成人爽a毛片一区二区,在线播放国产精品,亚洲欧美日韩高清,zozozo欧美人禽交另类视频,久久精品无码一区二区日韩av | 免费看a级-免费看a级毛片-免费看a网站-免费看h的网站-97久久久久-97久久人人 | 日本欧美大码aⅴ在线播放-日本欧美不卡一区二区三区在线-日本女同在线观看-日本女同在线-国产日韩在线-国产日韩视频一区 | 精品国偷拍自产在线观看-精品精品国产欧美在线-精品久久久久久无码不卡-精品麻豆一区二区三区乱码-勿言推理日剧在线观看-午夜资源 | 日韩在线黄色-日韩在线观看精品-日韩在线观-日韩在线高清视频-日韩在线不卡视频-日韩在线播放中文字幕 | 第一区免费在线观看-无码国产精品一区二区免费网曝-AV熟妇导航网-日韩欧美一区二区三区在线观看 -欧美乱人伦视频-啪啪视频一区 | 精品无码免费黄色网站-精品无码免费一区二区三区-精品无码免费在线播放-精品无码免费专区-精品无码免费专区午夜-精品无码欧美黑人又粗又 | 在线日韩亚洲-在线日韩视频-在线日韩欧美一区二区三区-在线日韩欧美-久久精品嫩草影院-久久精品免视看国产盗摄 | 日本xxx在线-日本xxx在线观看免费播放-日本xx高清视频免费观看-日本xx免费看视频mm-日本啊啊啊视频-日本爱v | 美日韩在线观看-美日韩在线-美女网站色在线观看-美女网站色免费-亚洲综合偷自成人网第页-亚洲综合天堂网 | 手机看片福利永久国产日韩-手机看片369-手机精品在线-手机国产乱子伦精品视频-国产精品嫩草影院在线观看免费-国产精品嫩草影院在线播放 | 亚洲国产欧美精品-亚洲国产欧美国产综合一区-亚洲国产欧美国产第一区-亚洲国产模特在线播放-好吊色青青青国产在线播放-好吊色青青草 | 精品国产互换人妻麻豆-精品国产经典三级在线看-精品国产精品人妻久久无码五月天-精品国产九九-精品国产剧情AV在线观看-精品国产露脸久久AV麻豆 | 国产精品v欧美精品v日本精品动漫-国产精品porn-国产精品jizzjizz-国产精品h片在线播放-热久久伊人-热久久亚洲 | 国产婷婷视频-国产婷婷丁香久久综合-国产天天在线-国产天天操-小草在线免费观看视频-小草在线观看视频免费2019 | 四房网,久久久国产99久久国产久,色偷偷男人天堂,九七电影院97网手机版支持,国产人成精品免费视频,五月天最新网站 | 欧美成人tv在线观看免费-欧美成人tv-欧美成人h版影院在线播放-欧美成人h版影片在线观看-欧美成人h版白雪公主-欧美成人h版 | 黄色片网站免费观看-黄色片网站观看-黄色片网站大全-黄色片视频网-色偷偷网址-色偷偷网站 | 亚洲六月丁香婷婷综合,久久精品亚洲精品国产欧美,玖玖精品视频在线,国产日本精品,www成人在线观看,精品日产一区二区 | 国产精品jlzz视频-国产精品jizz在线观看直播-国产精品jizz在线观看网站-国产精品jizz在线观看软件-日日爽夜夜操-日日爽天天干 | 天美传媒影视mv-天美传媒视频原创在线观看-天美传媒免费-天美传媒麻豆自制剧-国产精品线在线精品国语-国产精品线在线精品 |