999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于iPlature和iXCom的過程控制系統通信接口的開發

2023-11-15 01:51:26尉,王
寶鋼技術 2023年4期
關鍵詞:進程定義方法

沈 尉,王 欣

(寶山鋼鐵股份有限公司設備部,上海 201999)

鋼鐵行業的生產過程是典型的流程型工業生產過程,為了實現企業全流程綜合經濟指標優化,企業通常會采用覆蓋全流程的綜合自動化系統,國內外大型鋼鐵企業的綜合自動化系統一般采用的是五層架構:決策支持系統,企業級或離線批處理為主的產銷系統,分廠級或在線實時處理為主的生產控制系統,過程控制系統及基礎自動化系統[1]。

與其他行業相比,鋼鐵行業通信的應用環境更為復雜多樣,對通信接口的開發提出了更加個性化的要求。伴隨著國內鋼鐵企業規模日益擴大的趨勢,以及更多新的生產系統的加入,如何實現新老系統間的通信兼容,如何在安全高效的前提下降低系統改造費用,如何確保生產系統運行與通信的連續性,如何向生產運維提供更為可靠的支撐,成為了當前鋼鐵行業通信接口開發的共同課題。

1 開發平臺介紹

iPlature 是上海寶信軟件股份有限公司研制的面向各種過程控制系統的軟件開發平臺,適用各種操作系統。該軟件具有功能完備、可擴充能力強、效率高、支持多種操作系統、全面支持多線程、穩定可靠、服務程序運行狀態自動檢測和易用性好等優點,在國內工業生產及其他過程控制系統中得到廣泛應用[2]。該軟件的平臺任務開發為構建面向對象的客戶—服務器應用提供了工具、API和庫支持。iPlature::Component及iPlature::P99Component作為應用組件開發模板,解決了進程間的通信問題,大大減少了應用開發的復雜性,提高了開發效率和擴展能力。

iXCom是一款面向開發人員的外部通信中間件平臺,由上海寶信軟件股份有限公司研制,通過它可以實現計算機之間的數據通信。平臺內置了多種常用的通信規約。它起源于大型鋼鐵制造企業,專業解決不同供應商提供的平臺上的連通性問題,實現分布式應用中的信息交換[3]。iXCom作為通信中間件,對上層的應用程序提供了統一的編程界面(圖1)。平臺主要實現了發送和接收應用電文、支持多種通信協議、日志管理、分布式修改配置信息、分布式管理回線狀態、分布式模擬收發電文等功能。

圖1 基于iPlature和iXCom的系統間通信實現方式

2 基于iXCom的配置方法

在iXCom平臺上實現電文收發主要是通過客戶端來實現信息交互。首先需要在兩臺設備的iXCom客戶端上分別新建回線,保證兩臺設備回線號和協議相同,并填寫回線屬性,包括本方機器代碼、監聽端口、對方機器代碼、對方IP、對方端口,其中端口和機器代碼自行設置,兩臺交互的機器信息匹配即可,配置完成后便可以在客戶端進行收發電文的操作(圖2)。

圖2 回線屬性配置

iXCom平臺配置發送電文有兩種模式:高速模式和高可靠模式。高速模式發送表示對發送的電文不進行緩存,發送失敗則丟棄電文,不重發,一般在與PLC等高速設備進行通信時使用。高可靠模式發送表示會將發送的數據進行緩存,可查詢歷史數據,發送失敗會根據配置的重發次數進行重發,一般用于與生產管理系統進行通信。電文接收上,iXCom主要提供了4種電文接收方式:PCS_Receive方式、iPlature方式、外部數據庫方式、XMLRPC方式。其中,以iPlature方式接收電文能很好地將電文拋給進程,更利于后續的電文解析工作,因此更加適合應用于鋼鐵行業過程控制計算機系統。

3 基于iPlature的配置方法

開發中常用的基于iPlature 的電文收發主要包括兩部分內容,分別是電文處理及進程間的數據傳遞。

3.1 電文處理方法

3.1.1 發送電文

使用進程發送電文(圖3)主要通過調用iXCom中的PCS_Send方法來實現。

圖3 發送電文程序框架與功能介紹

為了在進程中使用這個方法,至少在進程的基本結構中包括兩個頭文件app*.h(進程啟動頭文件)、*ICEI.h(電文收發功能頭文件),兩個源文件app*.cpp(進程啟動源文件)、*ICEI.cpp(電文收發功能源文件)。

app*.h和app*.cpp的作用主要是通過繼承iPlature平臺中定義的Component類,并實現start等方法,構建并啟動進程。

*ICEI.h和*ICEI.cpp的主要功能是通過繼承iPlature平臺中定義的MessageICE類,實現諸如SendDataShort(短電文發送),SendDataLong(長電文發送),TimeNotify(時間通知)等方法,并通過這些方法,向其他進程提供數據接收的接口;收到數據后,程序通過實現Autotele類中的Rebuild方法,根據在數據庫中定義的eventNo和電文結構,構建電文;最后調用PCS_Send,通過iXCom發送電文。

3.1.2 接收電文

通過進程接收電文也可以用iPlature的方式來實現(圖4)。

圖4 接收電文程序框架與執行流程

類似發送電文的進程,用于接收電文的進程,其基本結構包括一個頭文件app*.h,兩個源文件*Cus.cpp(電文賦值轉發功能源文件)和*Base.cpp(其他功能實現源文件)。

首先在app*.h中繼承iPlature平臺中的P99Component類;然后在*Base.cpp中使用PostInitCall(進程啟動)來構建并啟動進程,并定義關聯的數據處理進程;進程啟動后,通過HandleMessage(服務接口)來接收通過iXCom接收到的電文數據,簡單解析出電文號后,發送到DispatchData(賦值轉發)進行后續電文處理;最后在*Cus.cpp中通過DispatchData,將電文內容和電文號通過關聯的數據處理進程的ICEI中定義的SendDataShort等方法進行傳送。

3.2 進程間數據傳遞方法

內部進程收發主要依托于iPlature平臺(圖5),并不涉及到iXCom平臺。因此,可以視作發送電文示例中的SendDataShort實現過程,與接收電文實例中的DispatchData實現過程的結合。

圖5 基于iPlature的內部進程收發設計結構

首先需要建立兩個進程,分別負責發送數據(進程S)與接收數據(進程R)。兩個進程的基本結構包括頭文件app*.h/*Func.h/*ICEI.h共3個,對應的3個實現源文件為app*.cpp/*Func.cpp/*ICEI.cpp。

構建負責發送電文的進程(進程S)時,首先要在app*.cpp文件中定義一個app組件類,并定義其對應的構造函數。其中,MessageICEPrx *_proxy定義了進程發送電文的目標進程(進程R),主要的實現內容代碼可以通過*Func.cpp(電文發送功能源文件)實現,通過給預先定義的變量或者數據結構賦值,并且通過vector將數據轉換為流數據,再調用進程R類中的SendDataShort()函數,將數據發送至進程R。*ICEI.cpp中則定義了進程S用于接收數據的相關方法。

負責接收數據的進程R,結構和進程S類似,在SendDataShort收到數據后,可以根據與進程S共同約定的數據結構,對收到的流數據進行解析,然后發送到Func類中定義的內部方法進行處理(log記錄或者其他操作)。

4 實現與應用

在實際的應用中,iXCom往往用以配合iPlature來使用,即通過iXcom上配置的回線來發送電文,然后在另一臺機器上以iPlature的方式通過進程來接收并解析電文。相關操作完成之后,接收電文的信息可以通過進程的日志來進行查詢。

整體開發流程如圖6所示。

4.1 進程管理

通過iPlature平臺實現進程管理,首先在$iPlature/conf中的admin.xml文件里為新增的進程進行配置(如表1所示設置,*為新建進程名),其次通過運行$iPlature/bin路徑下的iPlatureAdmin腳本啟動和關閉全部進程。

表1 Admin文件新增配置內容

4.2 進程監控

iPlature平臺可以使用IceGrid工具監視進程狀態,控制進程的起停。IceGrid是負責對Ice分布式應用集合中各種服務進行定位和激活的服務,是一個Ice的核心基礎服務設施。作為一個進程管理工具,IceGrid同樣需要讀取admin.xml里的配置,其優點在于可以比較方便地對單個進程進行啟動和關閉。在使用IceGrid管理進程前,還需要在IceGridGUI中完成進程的創建。進程創建完成后,需要執行$iPlature/bin/boot_update.bat來實現更新,使服務生效。

4.3 日志系統

iPlature平臺提供Log4cplus方法。用戶進程可以在代碼中繼承并使用這個方法,在程序的日志文件里就可以查到日志信息,如圖7所示。

圖7 接收端日志文件主要內容

5 結語

面對鋼鐵行業復雜的通信應用環境,基于iPlature與iXCom的過程控制系統通信接口的開發方法能夠更加高效地接收與解析電文,與過程控制系統及鋼鐵生產工藝的適配性更強。

在鋼鐵企業持續發展的進程中,相關開發平臺也需要與時俱進,結合行業特點開發更多個性化的應用,積累更多核心技術,提高平臺的可靠性、實時性、易用性,為鋼鐵行業的智能化、信息化發展做出更多貢獻。

猜你喜歡
進程定義方法
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
Linux僵死進程的產生與避免
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 国产福利微拍精品一区二区| 久久亚洲精少妇毛片午夜无码| 亚洲精品福利视频| 91精品伊人久久大香线蕉| 亚洲av无码牛牛影视在线二区| 欧美久久网| 999精品色在线观看| 高清欧美性猛交XXXX黑人猛交| 欧美丝袜高跟鞋一区二区 | 亚洲一级毛片在线观播放| 999国产精品| 好久久免费视频高清| 韩国v欧美v亚洲v日本v| 日韩国产另类| 亚洲人免费视频| 乱人伦99久久| 亚洲有无码中文网| 日本色综合网| 色婷婷成人网| 91色国产在线| 99热在线只有精品| 亚洲AV电影不卡在线观看| v天堂中文在线| 国产二级毛片| 国产精品视频系列专区| 欧美日韩亚洲综合在线观看 | 日韩精品专区免费无码aⅴ| 欧美性天天| 国产新AV天堂| 国产成人a在线观看视频| 国产欧美日韩18| 精品一區二區久久久久久久網站| 最新日本中文字幕| 国产一级一级毛片永久| 日韩国产无码一区| 国产尤物视频在线| 午夜毛片免费看| 亚洲人成在线精品| 国产午夜看片| 亚洲国产天堂久久综合| 激情综合网址| 久操中文在线| 成人午夜视频在线| 噜噜噜久久| 中文字幕在线一区二区在线| 欧美不卡视频一区发布| 五月天丁香婷婷综合久久| 在线播放91| 久青草免费视频| 丰满的熟女一区二区三区l| 亚洲成aⅴ人片在线影院八| 久青草免费在线视频| 男人天堂亚洲天堂| 无码在线激情片| 国产精品久久久久无码网站| 99在线视频精品| 日韩欧美在线观看| 蝴蝶伊人久久中文娱乐网| 亚洲免费黄色网| 日韩国产一区二区三区无码| 色丁丁毛片在线观看| 国产亚洲精久久久久久久91| 国产永久免费视频m3u8| 欧美国产在线看| 国产第一页免费浮力影院| 91系列在线观看| 无码免费视频| 无码丝袜人妻| 久久成人18免费| 真实国产乱子伦视频| 亚洲 成人国产| 亚洲看片网| 亚洲无码日韩一区| 在线亚洲天堂| 天堂av高清一区二区三区| 麻豆国产原创视频在线播放 | 欧美中文字幕在线播放| 欧美色99| 国产另类视频| 午夜精品久久久久久久无码软件 | av无码一区二区三区在线| 青青网在线国产|