這段時間一直在做工業自動控制方面的專案,plc使用的是siemens
,當時上位機用的是siemens的wincc
,其使用的改的不倫不類的c,讓我實在無法忍受,缺少事件驅動,簡直不能稱之為現代軟體。在siemens的bbs
上潛水多日以及跟北京的工程師浪費無數口水之後,終於找到了我認為是將來自控軟體應用的方向,opc
。 opc分兩大部分,一是opc server,一是opc client。opc server是基於dcom的元件物件,負責連通plc,類似乙個adapter,各個plc廠家分別有針對自己plc的opc server,也有第三方提供的。
opc client其實只是根據opc協議而自己實現的應用程式。目前有很多第三方廠商提供for .net或者delphi的opc client的components。應用開發者只需使用元件讀取opc server提供的資料即可。
所以opc類似ado所起的作用,只是分成了client和server而已。應用程式通過ado可以方便的connect各種資料庫,而不必考慮連線的具體實現。同樣的,只要配好了opc server至plc的連線,應用程式的撰寫者便無需考慮該呼叫什麼lib去連plc,只需通過標準的opc client去連opc server即可。
opc client的components廠商有很多,在opc programmer's connection
上有介紹,我本來用的是kassl
,結果意外的發現iocomp也實現了opc的client,看來即使在略顯保守的工業控制行業,新技術以及標準化的步伐仍然是抵擋不住的。
使用opc的好處有如下幾點:
1、因為通過opc連線plc,所以應用程式的開發可以使用任何開發工具,例如delphi,c#,vb等,而無需侷限在plc廠商提供的蹩腳的開發工具,從而降低程式設計師的學習成本和公司的用人成本。
2、由於opc是乙個adapter,所以如果plc發生了變化,上位機與plc的互連只需更換乙個opc server即可。
毫不誇張的說,opc代表了下位機與上位機互連的方向,有了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是為了不同**廠商的裝置和應用程式之間的軟體介面標準化,使其間的資料交換更加簡單化的目的而提出的。作為結果,從而可以向用
戶提供不依靠於特定開發語言和開發環境的可以自由組合使用的過程控制軟體元件產品。
銀行自動化監控系統應用
一 引言 二 智慧型分析技術的應用 1 智慧型分析實現原理 2 智慧型分析報警技術應用 1 異常人臉檢測 2 物品遺留檢測 通過自助銀行及atm機環境監控識別操作人將隨身攜帶的物品放置在atm機上或者自助銀行內的某個地方,而交易結束後忘記帶走導致遺留物品的丟失。系統能及時檢測出該類異常行為,實時發出...
JsonPath在介面自動化中的應用
我理解jsonpath於json而言,就像是xpath在xml中的作用。用來確定json中某部分資料的語言。我更喜歡叫jsonpath表示式,因為這樣好像是數學問題。以前和小夥伴一起寫介面自動化的時候,發現了一層一層的剝json串,實在是太費心了。後來也是請教了一位開發,他向我們推薦了這個工具。我們...
appium Hybird應用自動化
基於uiautomator chromedriver native部分走uiautomator,webview部分走chromedriver,兩者結合混搭,從而實現hybrid自動化 準備工作 step1 準備android 4.4 版本以上的手機 模擬器 webview.setwebcontent...