張元磊 劉一琳

摘 要 Cimplicity是一款由美國GE公司開發的,運用靈活的監控和數據采集系統,在數據采集和監控領域應用十分廣泛。特別是在PMC系統中普遍使用。該軟件支持較多的廠家類型的PLC硬件,同時支持OPC協議,可以使用Kepware等OPC軟件對其他廠家的PLC設備提供支持,該軟件平臺也支持VB和C#語言編寫腳本,在人機界面的支持上也十分友好,因此在各個工廠的生產制造控制系統中使用較多。
關鍵詞 Cimplicity;PLC硬件;開發研究
引言
上汽通用五菱發動機工廠中的PMC系統中,班次和時間控制功能(Time Schedule Control,以下簡稱為TSC)使用TSC GUI和TSC Service軟件服務進行控制。TSC Service軟件服務對系統要求較高,只能運行在Windows Server 2003和Windows XP版本的32位操作系統中,而且軟件的配置也相對比較復雜不利于使用。隨著微軟對操作系統軟件版本的更迭,目前已經停止了對Windows Server 2003和Windows XP操作系統的支持,為了保證操作系統層面的安全穩定和班次時間控制模塊的功能穩定,因此需要開發不受操作系統制約的方法來控制PMC系統的班次時間功能已經顯得尤為重要。
1 PMC系統時間控制功能的結構
目前上汽通用五菱在用的PMC系統班次時間控制的結構如下圖:
在已有的項目中,班次時間控制是通過如上4個部分實現的。首先,通過TSC GUI軟件對班次時間進行配置;第二,數據庫軟件記錄配置好的班次時間;第三,TSC Service軟件服務實時讀取數據庫記錄的班次時間并與當前時間比對,當到達設定的時間后向Cimplicity軟件平臺對應點發送指令代碼;第四,Cimplicity軟件平臺接到指令后執行班次事件的相關動作。
本次開發的功能將采用Cimplicity軟件平臺的VBS腳本功能組件,通過編寫腳本程序來替代整個過程的第三步,即TSC Service軟件服務的功能,有效地避免了操作系統環境影響TSC Service軟件運行,進而降低操作系統對PMC工程的影響,同時也提高了整個PMC系統功能的靈活性[1]。
2 班次事件的定義
在PMC系統中,當前班次的運行狀態被稱作為班次事件,包括班次開始、班次結束、休息開始和結束以及之間的一系列狀態,每個狀態都需要執行特定的動作,例如播放提示音、匯總班次產量以及產量清零等。為了更好地區分每一個事件并且便于PMC系統區分和執行相應的事件,通過使用一串數字作為事件代號來代替相應的事件。例如101表示第一班次的班次開始(第1個小時),102為第一班次的第2個小時,201為第二班次的第1個小時,303為第三班次的第3個小時[2]。
3 腳本功能開發
在Cimplicity軟件平臺的腳本模塊中,編寫腳本來替代TSC Service軟件服務器的功能。腳本名為GetNextEvent.bcl(簡稱GNE),設置為隨工程啟動后運行。
當腳本運行時,先要加載使用到的各種點信息,完成加載后進入循環執行模式,直到用戶點擊退出按鈕后退出循環后執行退出程序。
4 實現效果
工程啟動時運行GNE腳本,每分鐘從數據庫中獲取下一次執行的事件信息。例如:腳本獲取到08:00時的時間信息,到08:00時腳本將V_RUN_FLAG值設置為101,即第一班次的第一小時,系統根據該點值的變更執行班次開始的過程。
完成置位后腳本重新向數據庫查詢下一個需要執行的時間,查詢到在09:00時需要將V_RUN_FLAG值設置為102,同時通過數據庫算出當前時間與09:00相差3600秒,賦值到V_REM_GEN點后開始倒計時,每分鐘重新查詢更新結果,直到09:00時將V_RUN_FLAG點值設置為102后繼續下一個循環。
5 結束語
通過使用Cimplicity軟件平臺的腳本模塊功能,編寫GetNextEvent.bcl腳本查詢數據庫中配置的事件信息,在到達時間后將指令代碼寫入到工程V_RUN_FLAG點,經過測試能夠完全替代原TSC Service軟件服務的工作。通過GEN腳本功能,可以使班次時間的控制完全擺脫Windows Server 2003操作系統的限制,同時使用腳本的方式比原軟件方式更加方便靈活。使用腳本方式后班次的時間控制可以不必再單獨占用一臺服務器,從而降低服務器的占用,節省企業的軟硬件的投入,使企業在激烈的市場競爭中更具有優勢。
參考文獻
[1] 張敏,張鳴飛,婁玉穎.探討電子信息化技術在工業電氣自動化中的應用[J].科技創新導報,2017,14(12):14.
[2] 王曉蕾,牛春波.電子信息化技術在工業電氣自動化中的應用[J].電腦迷,2018,(4):229.