徐慶春任澤
(1中國石化銷售有限公司華南分公司,廣東廣州510620)
(2中國石油大學(xué),北京102249)
基于SPS成品油管道仿真培訓(xùn)系統(tǒng)研究
徐慶春1任澤2
(1中國石化銷售有限公司華南分公司,廣東廣州510620)
(2中國石油大學(xué),北京102249)
根據(jù)SPS作為后臺(tái)計(jì)算程序,力控作為前臺(tái)界面開發(fā)成品油管道的仿真培訓(xùn)系統(tǒng),討論其數(shù)據(jù)交互的模式。SPS開放了API和OPC等接口,力控同時(shí)也開放了API、OPC和DDE等接口,當(dāng)需要實(shí)現(xiàn)數(shù)據(jù)交互時(shí)可以適當(dāng)?shù)倪x擇進(jìn)行對(duì)接,講解了API-API、API-DDE、API-OPC和OPC-OPC四種對(duì)接模式,同時(shí)也對(duì)4種模式的具體實(shí)現(xiàn)操作和優(yōu)劣對(duì)比進(jìn)行了敘述。
成品油管道SPS數(shù)據(jù)交互
近年來隨著計(jì)算機(jī)技術(shù)與應(yīng)用的飛速發(fā)展,使得PC機(jī)作為上位機(jī)在工業(yè)控制領(lǐng)域占主導(dǎo)地位,Windows下的控制軟件或培訓(xùn)軟件的應(yīng)用也越來越廣泛,力控組態(tài)軟件具有組態(tài)方便、很強(qiáng)的監(jiān)控功能和動(dòng)畫效果等特點(diǎn)。但是力控組態(tài)軟件沒有完善的計(jì)算功能,而SPS(Stoner Pipeline Simulator)是Stoner公司開發(fā)的夠?qū)崿F(xiàn)長(zhǎng)輸管道的離線實(shí)時(shí)模擬的水力計(jì)算軟件,是世界公認(rèn)的用于長(zhǎng)距離輸油(氣)管道設(shè)計(jì)、計(jì)算以及全線自動(dòng)化控制模擬的高精度軟件。利用SPS作為后臺(tái)計(jì)算程序,力控作為前臺(tái)界面開發(fā)組態(tài),實(shí)現(xiàn)這2個(gè)軟件之間的數(shù)據(jù)交互,對(duì)真實(shí)的管道現(xiàn)場(chǎng)的實(shí)際運(yùn)行過程進(jìn)行模擬,同時(shí)把數(shù)據(jù)展現(xiàn)在員工熟悉的組態(tài)界面上,讓員工在虛擬的電子管道上進(jìn)行操作,以便實(shí)現(xiàn)培訓(xùn)的作用[1,2]。
雖然力控和SPS都為用戶提供了多種接口,但實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)交互還是比較復(fù)雜,特別是當(dāng)需要實(shí)現(xiàn)一些特殊功能而力控和SPS并沒有對(duì)實(shí)現(xiàn)此功能的函數(shù)進(jìn)行封裝時(shí),就需要操作人員編寫大量的代碼程序?qū)崿F(xiàn)其應(yīng)用。
本文分別介紹了API-API、API-DDE、API-OPC和OPC-OPC四種數(shù)據(jù)交互對(duì)接模式,同時(shí)也對(duì)這4種模式的優(yōu)劣進(jìn)行對(duì)比。
2.1API-API
應(yīng)用程序接口(Application Programming Interface,API)是一組定義、程序及協(xié)議的集合,通過API接口實(shí)現(xiàn)計(jì)算機(jī)軟件之間的相互通信。
API-API對(duì)接模式原理是根據(jù)SPS和力控開放的API接口在VC平臺(tái)中編寫一個(gè)控制臺(tái)應(yīng)用程序,實(shí)現(xiàn)2個(gè)軟件的數(shù)據(jù)和命令傳輸。力控公司提供了DbCommOCX提供面向?qū)ο蟮木幊谭绞健Mㄟ^DbCommOCX可以訪問本地或遠(yuǎn)程力控實(shí)時(shí)數(shù)據(jù)庫DB,對(duì)DB的實(shí)時(shí)數(shù)據(jù)進(jìn)行讀寫,并對(duì)歷史數(shù)據(jù)進(jìn)行查詢[3]。當(dāng)DB數(shù)據(jù)發(fā)生變化時(shí),通過事件主動(dòng)通知DbCommOCX應(yīng)用程序,同時(shí)SPS開放了cim interface、dr★interface和rtu★interface等多個(gè)API函數(shù)接口,通過編寫API函數(shù)把SPS計(jì)算出的數(shù)據(jù)存入力控實(shí)時(shí)數(shù)據(jù)庫DB中,并讀取力控API的一些命令指令,實(shí)時(shí)改變模擬設(shè)備狀態(tài),如圖1所示。

圖1 API-API交互模式
具體實(shí)現(xiàn)步驟為,在VC平臺(tái)DbCommOCX項(xiàng)目中添加SPS“saiInterface.h”頭文件。編寫SPSAPI函數(shù),連接SPS程序,通過drgetv()和drGetTimePlot()等函數(shù)獲取所需的點(diǎn)數(shù)據(jù)并實(shí)時(shí)傳遞到自定義變量中,再編寫力控API函數(shù),連接力控程序,通過SetData()函數(shù)改變力控變量實(shí)時(shí)值為自定義變量。再把變量與界面系統(tǒng)相應(yīng)位置相連接,完成數(shù)值交互。把力控界面命令與變量相連接(開閥為1,關(guān)閥為0)通過GetData()導(dǎo)出實(shí)時(shí)值,經(jīng)過判斷語句,使用cdrptc()、cim()函數(shù)對(duì)SPS發(fā)布命令,完成命令交互。
API-API對(duì)接模式的優(yōu)勢(shì)在于使用軟件原始的API函數(shù),自己可控和修改范圍較廣。劣勢(shì)在于數(shù)據(jù)交互可靠性和穩(wěn)定性依賴于用戶二次開發(fā)編程邏輯,對(duì)編程水平要求比較高。
2.2API-DDE
DDE是一種動(dòng)態(tài)數(shù)據(jù)交換機(jī)制。使用DDE通訊需要2個(gè)Windows應(yīng)用程序,其中一個(gè)作為服務(wù)器處理信息,另外一個(gè)作為客戶機(jī)從服務(wù)器獲得信息。客戶機(jī)應(yīng)用程序向當(dāng)前所激活的服務(wù)器應(yīng)用程序發(fā)送一條消息請(qǐng)求信息,服務(wù)器應(yīng)用程序根據(jù)該信息作出應(yīng)答,從而實(shí)現(xiàn)2個(gè)程序之間的數(shù)據(jù)交換。
API-DDE對(duì)接模式原理為利用SPS和力控已經(jīng)開放對(duì)接的第三方軟件Excel為中間橋梁,實(shí)現(xiàn)SPS和力控的數(shù)據(jù)交互。力控系統(tǒng)和Excel都支持DDE接口,在連接時(shí)使力控作為DDE客戶端,Excel作為DDE服務(wù)器實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)交換[4]。SPS提供了spsDataServer2內(nèi)置的自動(dòng)化服務(wù),在安裝SPS時(shí),spsDataServer2.dll文件被注冊(cè)到注冊(cè)表中,使支持COM插件的程序(如VB、Excel、Internet Explorer)可以引用此插件,與SPS連接,如圖2所示。

圖2 API-DDE交互模式
具體實(shí)現(xiàn)方法為,打開力控IoManager,在導(dǎo)航器中選擇DDE設(shè)備,配置設(shè)備定義參數(shù),選擇目標(biāo)Excel文件,再把模擬I/O點(diǎn)通過DDE連接到Excel相應(yīng)單元格內(nèi),如圖3所示。再在Excel中COM加載項(xiàng)中添加spsDataServer2.dll文件,在插件中編寫GetValue()、GetDistancePlot()等低級(jí)API函數(shù)實(shí)時(shí)輸出所需數(shù)據(jù),在與之前連接到力控的相應(yīng)單元格對(duì)應(yīng)完成數(shù)值交互。通過SendCommand()低級(jí)API函數(shù)完成命令交互。

圖3 力控DbManager界面
API-DDE對(duì)接模式的優(yōu)勢(shì)在于這種方法十分簡(jiǎn)單,不需要編寫太多的程序。劣勢(shì)在于在交互數(shù)據(jù)暴露在外面,安全性和穩(wěn)定性較差;進(jìn)行數(shù)據(jù)交互時(shí)要打開Excel文件,使程序鏈接看起來很不自然;DDE接口數(shù)據(jù)傳輸能力相對(duì)較差,傳輸?shù)馁|(zhì)量和速度都要受到一些影響。
2.3API-OPC
用于過程控制的OLE(OPC)是一個(gè)工業(yè)接口標(biāo)準(zhǔn),基于微軟的OLE(現(xiàn)在的Active X)、COM(部件對(duì)象模型)和DCOM(分布式部件對(duì)象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動(dòng)化系統(tǒng)[5,6]。
API-OPC對(duì)接模式原理為根據(jù)SPSAPI接口和OPC協(xié)議,利用C++語言編寫帶有OPC接口的應(yīng)用程序,再通過OPC與力控進(jìn)行連接,實(shí)現(xiàn)2個(gè)軟件的數(shù)據(jù)和命令傳輸。力控系統(tǒng)支持OPC接口,在連接時(shí)使力控作為OPC客戶端,將編寫的OPC服務(wù)器當(dāng)做一個(gè)I/O設(shè)備,實(shí)現(xiàn)數(shù)據(jù)交互,如圖4所示。

圖4 API-OPC交互模式
具體實(shí)現(xiàn)方法為,在VC平臺(tái)用ATL組建創(chuàng)建一個(gè)Exe進(jìn)程外服務(wù)器載入,下載并載入OPC服務(wù)器開發(fā)工具包。完成OPCServer COM對(duì)象的創(chuàng)建,用OPCServerlist來維護(hù)OPC服務(wù)器鏈表。完成OPCGroup COM對(duì)象的創(chuàng)建,用GroupList來維護(hù)OPC組鏈表。完成對(duì)Tag的添加、刪除、刷新、讀操作和寫操作等功能并實(shí)現(xiàn)數(shù)據(jù)的同步和異步訪問方式。通過SPSAPI函數(shù)把所需數(shù)據(jù)實(shí)時(shí)輸出到特定變量中,再完成特定項(xiàng)與變量的鏈接。完成OPC服務(wù)器開發(fā)的后續(xù)工作,通過力控OPC客戶端進(jìn)行鏈接。
API-OPC對(duì)接模式的優(yōu)勢(shì)在于利用OPC傳輸協(xié)議,技術(shù)比較成熟,傳輸速度較快。劣勢(shì)在于OPC服務(wù)器開發(fā)難度很大,完成數(shù)據(jù)交互存在難度,可靠性和穩(wěn)定性依賴于用戶二次開發(fā)編程邏輯。
2.4OPC-OPC
OPC-OPC對(duì)接模式原理為SPS提供了OpcToSps-OPC客戶端和StOPC-OPC服務(wù)器供用戶使用,可以方便地與力控OPC服務(wù)器和OPC客戶端相互連接。這種模式的優(yōu)勢(shì)在于實(shí)現(xiàn)數(shù)值傳輸非常簡(jiǎn)單方便,但是由于SPSOPC系統(tǒng)不提供命令傳輸函數(shù),所以不能對(duì)力控界面上的操作進(jìn)行傳輸,4種交互模式對(duì)比如表1所示。

表1 4種交互模式的對(duì)比
基于力控與SPS開發(fā)管道仿真培訓(xùn)系統(tǒng),可以有效的提高工人素質(zhì),保障生產(chǎn)安全。用戶可以根據(jù)自己的需求,選擇上述的交互模式進(jìn)行數(shù)據(jù)交互。本文對(duì)上述4種交互模式進(jìn)行了研究,并對(duì)其傳輸穩(wěn)定性、傳輸速度、實(shí)現(xiàn)交互的難易程度和可實(shí)現(xiàn)的功能進(jìn)行了對(duì)比。
[1]趙雨桐.基于SPS軟件的原油管道動(dòng)態(tài)仿真應(yīng)用與探討[J].中國管理信息化,2014,17(16):36-38.
[2]歐陽忠濱,吳長(zhǎng)春,艾慕陽.輸油管道仿真技術(shù)及其應(yīng)用[J].油氣儲(chǔ)運(yùn),2004,23(8):1-5,60.
[3]王平,李大慶,王颋,等.OPC服務(wù)器開發(fā)工具包軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2009,35(22):275-277.
[4]陳丹丹,錢美,夏立,等.OPC服務(wù)器開發(fā)的幾種方法[J].微計(jì)算機(jī)信息,2006,22(16):28-29,54.
[5]李宏宇.OPC技術(shù)在工控組態(tài)軟件中的研究及應(yīng)用[D].大連:大連理工大學(xué),2005,15-17.
[6]孫瑞琦.基于OPC的工業(yè)以太網(wǎng)組態(tài)軟件的接口設(shè)計(jì)與實(shí)現(xiàn)[D].北京:華北電力大學(xué),2012,32-33
Multi-product Pipeline Simulation Training System based on SPS
XU Qing-chun1,REN Ze2
(1 Southern China Sub-company of Sinopec Chemical Commercial Holding Company Limited,
Guanzhou Guandong 510620,China)
(2 China University Of Petroleum Beijing,Beijing 102249,China)
This paper discusses a data interactive mode by taking SPS as background process and force control as a multi-product pipeline simulation training system.The SPS opens API and OPC interfaces,and the force control opens the API,OPC and DDE interfaces.The system can be appropriately selected for docking when it needs to implement the data interaction.The paper introduces such 4 docking mode as API-API,API-DDE,API-OPC and OPC-OPC,and describes the typical implement operation and the comparison of advantages and disadvantages of these four modes.
multi-product pipeline;SPS;data interaction
TP319
A
1008-1739(2015)19-58-3
定稿日期:2015-09-12