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
主站蜘蛛池模板: 国产精品亚欧美一区二区| 亚洲精品天堂在线观看| 波多野结衣在线se| 国产在线欧美| 欧美精品啪啪一区二区三区| 女人18毛片水真多国产| 国产精品一线天| 国产人前露出系列视频| 中国精品自拍| 99人体免费视频| 日韩福利视频导航| 青草精品视频| 欧美国产综合视频| 国产91线观看| 8090午夜无码专区| 国产精品吹潮在线观看中文| 狠狠色成人综合首页| 国产超碰一区二区三区| 丰满人妻被猛烈进入无码| 国产系列在线| 国产手机在线ΑⅤ片无码观看| 欧美午夜精品| 午夜色综合| 日本午夜在线视频| 亚洲欧美日韩成人高清在线一区| 亚洲日韩AV无码一区二区三区人| 国产无码精品在线| 99无码中文字幕视频| 欧美另类视频一区二区三区| 精品自窥自偷在线看| 五月激情综合网| 国产精品粉嫩| 一区二区理伦视频| 一区二区自拍| 国产内射一区亚洲| 亚洲一区二区视频在线观看| 在线观看无码a∨| 伊人久久福利中文字幕| 美女一级毛片无遮挡内谢| 国产精品999在线| 亚洲国产亚洲综合在线尤物| 欧洲亚洲一区| 少妇被粗大的猛烈进出免费视频| 欧美视频在线不卡| 欧美日本在线播放| av在线手机播放| 麻豆a级片| 成人在线综合| 久久亚洲国产一区二区| 日韩经典精品无码一区二区| 激情网址在线观看| 黄色在线不卡| 日韩精品一区二区三区swag| 无码中文字幕加勒比高清| 亚洲美女操| 国产精品久久久免费视频| 亚洲精品国产首次亮相| 婷婷午夜影院| 女人18毛片久久| 成人夜夜嗨| 亚洲国产精品不卡在线| 99在线国产| 91人人妻人人做人人爽男同| 毛片网站免费在线观看| 2020久久国产综合精品swag| 国产亚洲精品yxsp| 精品国产欧美精品v| 亚洲日韩Av中文字幕无码| 成年人久久黄色网站| 免费无码在线观看| 99精品视频九九精品| 91区国产福利在线观看午夜 | 无码丝袜人妻| 亚洲人成在线精品| 中文字幕乱码二三区免费| 国产精品人莉莉成在线播放| 97一区二区在线播放| 国产网站免费观看| 国产丝袜无码一区二区视频| 亚洲天堂免费| 国产一区二区福利| 久久婷婷五月综合色一区二区|