謝小成,姜莉莉,許玉枝
(廣東工業(yè)大學 機電工程學院,廣東 廣州 510006)
隨著我國國內(nèi)生產(chǎn)成本的不斷攀升,傳統(tǒng)生產(chǎn)模式的企業(yè)利潤越來越低.如何提高企業(yè)的生產(chǎn)效率和質(zhì)量,已經(jīng)成為攸關(guān)企業(yè)生存的大問題.生產(chǎn)自動化作為一種快速提高企業(yè)生產(chǎn)效率的方式,已經(jīng)成為國內(nèi)生產(chǎn)企業(yè)產(chǎn)業(yè)升級的發(fā)展趨勢.由于生產(chǎn)自動化是一個相當復雜的系統(tǒng),為了確保實現(xiàn)產(chǎn)業(yè)升級的目標,必須引入一種能夠?qū)φ麄€系統(tǒng)進行全面評估的方法.系統(tǒng)仿真作為一種全面分析、設(shè)計、運行、評價復雜系統(tǒng)的重要工具[1],因而被廣泛地運用在企業(yè)生產(chǎn)自動化升級改造過程中[2-6].
仿真建模需要采集生產(chǎn)現(xiàn)場的各種設(shè)備參數(shù)和生產(chǎn)過程的各種工藝參數(shù).設(shè)備參數(shù)一般可以通過現(xiàn)場設(shè)備來直接獲取,生產(chǎn)工藝參數(shù)則必須通過大量的生產(chǎn)數(shù)據(jù)來總結(jié).因此,如何準確有效地采集生產(chǎn)過程數(shù)據(jù)并將其轉(zhuǎn)化為生產(chǎn)工藝參數(shù),是仿真建模過程中必須解決的問題.一般情況下,生產(chǎn)過程參數(shù)是由人工來采集和總結(jié)的,這就使得仿真工藝參數(shù)不能準確及時地反映現(xiàn)實生產(chǎn)狀況.
可編程邏輯控制器(PLC)作為一種專為工業(yè)自動化控制現(xiàn)場環(huán)境而設(shè)計的控制器,因其具有編程簡單、通用性好、抗干擾能力強和可靠性高等特點而廣泛應(yīng)用在自動化生產(chǎn)中,已經(jīng)成為現(xiàn)代工業(yè)自動化的主要支柱之一[7].PLC作為一種工業(yè)控制器,除了具有強大的工業(yè)控制能力外,還具有數(shù)據(jù)處理和通信聯(lián)網(wǎng)功能.在先進的工業(yè)網(wǎng)絡(luò)技術(shù)的幫助下,PLC可以迅速有效地收集、傳送和管理生產(chǎn)數(shù)據(jù)[8-9].本文將提出一種建立實時仿真模型的方法來獲取生產(chǎn)過程數(shù)據(jù).該實時仿真模型是一種以 Flexsim仿真軟件為平臺,以 PLC控制的自動化生產(chǎn)過程為仿真對象的三維實時動態(tài)仿真模型.
本文設(shè)計的實時仿真系統(tǒng)將主要由仿真引擎、決策系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、仿真模型、數(shù)據(jù)模型、仿真輸出以及設(shè)備間的通信組成.仿真引擎主要在綜合仿真模型信息、實時參數(shù)和決策狀態(tài)修改指令等參數(shù)后,生成離散任務(wù)并安排事件觸發(fā);決策系統(tǒng)可以根據(jù)實時參數(shù)對系統(tǒng)運行狀態(tài)進行評估和修改;數(shù)據(jù)采集系統(tǒng)接收來自自動化控制系統(tǒng)的加工信號,采集其中各設(shè)備和工件的實時加工數(shù)據(jù),并將這些數(shù)據(jù)保存到數(shù)據(jù)模型中.實時仿真系統(tǒng)主要的工作流程為:
1)數(shù)據(jù)采集系統(tǒng)實時采集自動化控制現(xiàn)場的加工數(shù)據(jù),包括設(shè)備的加工狀態(tài),零件的加工工序,加工時間等,并將這些數(shù)據(jù)保存到對應(yīng)的數(shù)據(jù)模型中.
2)仿真引擎獲取實時仿真模型中的相關(guān)信息,如設(shè)備信息,現(xiàn)場布局信息,設(shè)備可利用信息和各設(shè)備間的相互關(guān)系等.
3)仿真引擎接收來自數(shù)據(jù)模型的實時參數(shù),主要包括工件和設(shè)備的實時加工信息.
4)仿真引擎綜合實時參數(shù)和模型信息后,向決策系統(tǒng)發(fā)出狀態(tài)修改請求指令.
5)仿真引擎根據(jù)決策系統(tǒng)的狀態(tài)修改指令對仿真系統(tǒng)的運行狀態(tài)進行修改.
6)實時仿真系統(tǒng)在運行相應(yīng)的時間后,暫停系統(tǒng)運行,輸出各仿真實體的過程數(shù)據(jù).
實時仿真系統(tǒng)框架結(jié)構(gòu)如圖 1所示.
實時仿真系統(tǒng)對實時數(shù)據(jù)的響應(yīng)模式:當實時參數(shù)與模型實體的參數(shù)存在差異時,可通過相應(yīng)的仿真實體腳本程序不斷循環(huán)刷新實體狀態(tài)參數(shù)來實現(xiàn).
實時仿真模型的數(shù)據(jù)處理過程主要包括 PLC控制現(xiàn)場數(shù)據(jù)采集和 Flexsim模型運行所需數(shù)據(jù)調(diào)用.PLC與 Flexsim間的數(shù)據(jù)傳輸是以數(shù)據(jù)庫為中介的,如圖 2所示.
在數(shù)據(jù)傳輸過程中,PLC,DB和 Flexsim三者之間的數(shù)據(jù)變量存在一一對應(yīng)的關(guān)系.在數(shù)據(jù)采集時,將 PLC的控制數(shù)據(jù)保存到對應(yīng)的數(shù)據(jù)庫變量中;在數(shù)據(jù)調(diào)用時,從數(shù)據(jù)庫中找到與 Flexsim設(shè)備名稱相對應(yīng)的設(shè)備變量值,并將此值賦給仿真實體的對應(yīng)變量.在整個實時仿真模型的數(shù)據(jù)處理過程中,共用到四款軟件:Step7 v5.4+PLCSIM v5.3+WinCC v6.2+ SQL2005.其中,PLCSIM v5.3是一款 PLC仿真軟件.由于PLCSIM可以很好地模擬真實 PLC的控制過程,同時為了更好地展示仿真模型與 PLC控制的同步過程,本文選用S7-PLCSIM作為自動化控制設(shè)備.
Step v5.4,PLCSIM v5.3和 WinCC v6.2是西門子公司基于全集成自動化系統(tǒng)的思路而設(shè)計的三款軟件.全集成自動化 TIA(Totally Integrated Automation)即統(tǒng)一的組態(tài)和編程,統(tǒng)一的數(shù)據(jù)庫管理和統(tǒng)一的通信,是集統(tǒng)一性和開放性于一身的自動化技術(shù)[10].因此,PLC控制系統(tǒng)在集成自動化技術(shù)框架下,可以將仿真 PLC和仿真實驗對象集成在一臺計算機,實現(xiàn) PLC控制系統(tǒng)的全仿真.全仿真 PLC系統(tǒng)結(jié)構(gòu)框架如圖 3所示.
如圖 3所示,PLC全仿真控制系統(tǒng)由三個軟件通過各自的對應(yīng)接口相連.該系統(tǒng)不需要任何硬件就實現(xiàn)了將 PLC編程軟件、PLC本身和組態(tài)軟件的所有功能集成于一臺計算機上.在全集成自動化的系統(tǒng)架構(gòu)下,不需要為這些程序之間的通信編寫程序就可以進行通信,大大簡化了 PLC實驗系統(tǒng)的設(shè)計難度[11].
對于 PLC特定變量的采集,也可以通過WinCC的全局 VBS腳本動作和全局 C腳本動作來實現(xiàn).下面一段代碼是在 WinCC全局 C腳本中觸發(fā)一段程序,其作用是旨在周期性地通過內(nèi)部變量來采集與 PLC相關(guān)聯(lián)的外部變量的值.同理,也可以通過內(nèi)部變量來改變外部變量的方式,實現(xiàn)對 PLC的控制狀態(tài)的操控.
Set TagBit("output",Get TagBit("P100"));//內(nèi)部變量 P100賦值給外部變量output
Set TagDouble("Tank100",GetTagDouble//外部變量賦值給內(nèi)部變量 Tank100
VB作為一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言,可直接調(diào)用Windows內(nèi)部的廣泛應(yīng)用程序接口(API)函數(shù),動態(tài)鏈接庫(DLL),對象的鏈接與嵌入(OLE),開放式數(shù)據(jù)連接(ODBC)等技術(shù)[12].利用 WinCC中 VBS全局腳本觸發(fā)器,可以快速建立 WinCC與具有數(shù)據(jù)源名稱 (DSN)的數(shù)據(jù)庫連接,并且可運用 objcommand.execute等操作命令對數(shù)據(jù)庫進行數(shù)據(jù)庫修改、更新和讀寫等指令操作[13].
因此,在西門子全集成自動化框架下,通過WinCC的全局腳本,可以很方便地采集 PLC中的設(shè)備控制參數(shù),并可將這些數(shù)據(jù)保存到各種開放式的數(shù)據(jù)庫中.
Flexsim是美國 Flexsim公司開發(fā)的,迄今為止世界上第一個在圖形環(huán)境中集成了 C++IDE和編譯器的仿真軟件.Flexsim的資料、圖像和結(jié)果都可以與其它軟件公用,而且它可以從 Excel表讀取資料和輸出資料(或任何 ODBC DAT ABASE),可以從生產(chǎn)線上讀取實時資料以作分析功能[14-15].
Flexsim可通過 ODBC接口訪問 Access,SQL server等數(shù)據(jù)庫,從數(shù)據(jù)庫中讀取相關(guān)數(shù)據(jù)信息.其主要操作步驟為:①在 Windows系統(tǒng)下創(chuàng)建數(shù)據(jù)源名稱,用以定義一個數(shù)據(jù)庫和必須用到的 ODBC驅(qū)動程序;② 在 Flexsim的任何腳本中都可以利用dbopen()命令打開相關(guān)數(shù)據(jù)庫.如:通過 Flexsim實體腳本中輸入語句命令即可建立與 DSN名為數(shù)據(jù)庫的鏈接.因此Flexsim可對數(shù)據(jù)庫上相關(guān)數(shù)據(jù)進行調(diào)用.另外,Flexism中也存在如 Custom Draw Code等實時觸發(fā)的腳本.所以,以 Flexsim軟件作為仿真平臺,利用腳本觸發(fā)器可以實時讀取數(shù)據(jù)庫中的數(shù)據(jù).
仿真實例是基于廣東工業(yè)大學 CALS實驗室的“環(huán)保型廢舊輪胎綜合處理設(shè)備”項目中產(chǎn)品油回收油路控制系統(tǒng)的相關(guān)功能需求來設(shè)計的.其主要設(shè)備包括一個進油閥門,一個出油閥門,上限液位傳感器,下限液位傳感器,集油罐容器等設(shè)備見圖 4.該油路的 PLC控制過程要求能實現(xiàn)自動啟動、自動停止和自動預(yù)警等功能.
圖4 集油罐Fig.4 Gathering tank
圖5 仿真實體與組態(tài)控制Fig.5 Simulation object and configuration control
圖6 仿真輸出與組態(tài)過程對比Fig.6 Contrast between the simulation output and the config uration progress
圖7 實時仿真數(shù)據(jù)輸出Fig.7 Output data of real-time simulation
當上一級煉油設(shè)備有初級原油輸出時,打開進油閥;當集油罐中的油位上升到上限位傳感器時,打開出油閥;當集油罐中的油位下降到下限位傳感器時,關(guān)閉輸出閥;開始下一個工作流程;當上一級煉油設(shè)備沒有原油輸出時,關(guān)閉進油閥和輸油閥.
在油路控制實時仿真中,Flexsim需要采集PLC控制系統(tǒng)中的 5個過程變量,分別是進油閥的開關(guān)量,出油閥的開關(guān)量,上限位傳感器值,下限位傳感器值和集油罐容量.當油路 PLC控制系統(tǒng)控制現(xiàn)場設(shè)備的狀態(tài)參數(shù)發(fā)生變化時,Flexsim相對應(yīng)地根據(jù)相關(guān)采集參數(shù)的變化來改變仿真模型狀態(tài).圖 5(a)為集油罐在 Flexsim中的仿真模型,其中實體 FluidTank2右側(cè)長方條為其液位標示,左右折管分別為輸入輸出閥.
WinCC是作為一種過程監(jiān)視軟件,具有對PLC的狀態(tài)進行實時監(jiān)控的特性.為了對比本文所設(shè)計的仿真系統(tǒng)的實時性,對油路 PLC控制系統(tǒng)建立了基于WinCC的組態(tài)監(jiān)控系統(tǒng),圖 5(b)為油路控制系統(tǒng)的WinCC控制界面.
運行油路控制實時仿真系統(tǒng)與WinCC組態(tài)監(jiān)控系統(tǒng),使集油罐進出油工作一個周期,分別得出 Flexsim和 WinCC中如圖 6所示的油位隨時間變化圖.其中(a)圖為 Flexsim的仿真輸出,(b)圖為WinCC組態(tài)監(jiān)控輸出.需要說明的是,由于集油罐中出油的速率是進油速率的兩倍,所以兩圖中的油位與時間兩分段函數(shù)直線與時間軸所成的角度分別為 45°和 60°.從(a)(b)兩圖可以看出,Flexsim實時仿真系統(tǒng)較好地保持了與 PLC運行狀態(tài)的一致性.
油路控制系統(tǒng)實時仿真不僅實現(xiàn)了仿真效果與自動化生產(chǎn)現(xiàn)場運行狀態(tài)的同步,而且對現(xiàn)實系統(tǒng)進行了全面的數(shù)據(jù)收集,這其中包括系統(tǒng)中設(shè)備的運行利用率,各種事件的觸發(fā)時間以及相關(guān)變量的變化等,如圖 7所示.
本文建立了面向 PLC自動化控制生產(chǎn)過程的仿真系統(tǒng),該系統(tǒng)不僅實現(xiàn)了對 PLC自動化生產(chǎn)系統(tǒng)的實時仿真,而且記錄了所有仿真過程參數(shù).仿真過程參數(shù)的采集將有助于提取自動化生產(chǎn)現(xiàn)場的過程工藝參數(shù),這就為對現(xiàn)實系統(tǒng)作進一步的分析優(yōu)化和仿真優(yōu)化建模提供了數(shù)據(jù)基礎(chǔ).由于仿真優(yōu)化是基于現(xiàn)實系統(tǒng)的運行過程數(shù)據(jù),所以可信度大大提升.實時仿真的實現(xiàn)也拓展了仿真在自動化生產(chǎn)中的應(yīng)用,使得仿真可以對整個自動化生產(chǎn)過程進行數(shù)據(jù)采集和仿真優(yōu)化,這將有助于提升自動化生產(chǎn)的生產(chǎn)效率.
[1]humfa,計算機仿真 [EB/O L].(2011.9.8)[2011.9.18]http://baike.baidu.com/view/113908.htm.
[2]卓奕君.基于 Flexsim的生產(chǎn)線優(yōu)化設(shè)計[J].北京信息科技大學學報(自然科學版),2011,26(3):83.Zhuo Yijun.Design of optimized product lines based on flexsim[J].Journal of Beijing Information Science& Technology University,2011,26(3): 83. (in Chinese)
[3]寶斯琴塔娜.基于 FLEXSIM的流水線生產(chǎn)物流優(yōu)化[J].工業(yè)工程與管理,2008(4):106-109.Bao Siqintana.Optimizing the logistics of streamIine based on software FLEX SIM [J]. Industrial Engineering and Management,2008(4):106-109.(in Chinese)
[4]王福鑫,向號.基于 Flexsim軟件的生產(chǎn)線仿真優(yōu)化[J].機械工程師,2010(11):88-89.Wang Fuxin,Xiang Hao.Simulation and optimization of the production line based on flexsim software[J].M echanical Engineer,2010(11):88-89.(in Chinese)
[5]肖聃.基于車間仿真的工藝經(jīng)濟性評價系統(tǒng)的研究與開發(fā)[J].武漢理工大學,2009(8):79-82.XiaoDan. Research and developmentofprocess economical evaluation system based on workshop simulation[J]. Thesis ofWuhan University of Technology,2009(8):79-82.(in Chinese)
[6]石宇強.基于 Flexsim仿真的生產(chǎn)物流系統(tǒng)分析 [J].制造技術(shù)與機床,2008(6):137.Shi Yuqiang.Analysis on production logistics system based on flexsim simulation software [J].Manufacturing Technology & Anufacturing Technology& MachineTool,2008(6): 137.(in Chinese)
[7]袁池.遠程監(jiān)控與維護系統(tǒng)及其在 PC-PLC網(wǎng)絡(luò)上的實現(xiàn)[J].上海交通大學學報,2003,37(3):450.Yuan Chi. Remote monitoring and maintenance system and its realization on PC-PLC network[J].Journal of Shanghai Jiaotong University,2003,37(3):450.(in Chinese)
[8]曹子龍.一種基于 rfid/Plc的生產(chǎn)狀態(tài)數(shù)據(jù)采集技術(shù)[J].工業(yè)控制計算機,2009,22(8):12-14.Cao Zilong. An RFID/PLC-based technology for acquiring production state data[J].Industrial Control Computer,2009,22(8):12-14.(in Chinese)
[9]何默為.上位機與 PLC遠程通信實現(xiàn)動態(tài)數(shù)據(jù)采集研究[J].機械與電子,2007(4):49-52.He Mowei. Research on using remote serial communication to realize data acquisition [J].Machinery& Electronics,2007(4): 49-52. (in Chinese)
[10]呂增芳.西門子全集成自動化理念初探[J].山西電子技術(shù),2006(3):89-90.L ǜ Zengfang. The primary investigates on totally integrated automation principle of siemens[J].Shanxi Electronic Technology, 2006(3): 89-90. (in Chinese)
[11]曾興柱,齊強,張鑫意.基于西門子全集成自動化技術(shù)的全仿真 PLC實驗系統(tǒng)[J].西安電力高等??茖W校學報,2009(1):34-36.Zeng Xingzhu,Qi Qiang,Zhang Xiyi.Develop a fully simulated PLC testing system in laboratory by using totally integrated automation principle of siemes[J].Journal of Xi’an Electric Power College,2009(1):34-36.(in Chinese)
[12]李波.基于 V C的 PLC數(shù)據(jù)采集管理系統(tǒng) [J].現(xiàn)代電子技術(shù),2009(6):46-49.Li Bo. PLC data acquisition management system based on VC[J].China Academic Journal Electronic Publishing House,2009(6):46-49.(in Chinese)
[13]楊力,李月恒,于智.基于 WinCC V6.2的 VB腳本操作自定義 SQL數(shù)據(jù)庫[J].工業(yè)控制計算機,2010(5):23-25.YangLi,Li Yueheng,Yu Zhi.Operating userdefined SQL database based on V BS script of WinCC V6.2[J].Industrial Control Computer 2010(5):23-25.(in Chinese)
[14]戴虎,劉根豹,虞春躍.Flexsim模擬環(huán)境[C].中國系統(tǒng)工程學會決策科學專業(yè)委員會第六屆學術(shù)年會論文集,2005.
[15]賴明勇.物流信息系統(tǒng)驅(qū)動 Flexsim的仿真互操作機制研究 [J].湖南大學學報(自然科學版),2009,36(11):83-87.Lai Mingyong.Simulation interoperating mechanism of logistic information system driven Flexsim[J].Journal of Hunan University(Natural Sciences),2009,36(11):83-87.(in Chinese)