馬 寧,孫會來
(1. 天津工業(yè)大學(xué) 機械工程學(xué)院 天津300387;2. 天津市河?xùn)|區(qū)教育招生考試中心 天津300170)
目前數(shù)字孿生概念與技術(shù)作為一個熱詞在工業(yè)控制領(lǐng)域被廣泛提及[1],但大家對其基本概念還很模糊,對其實際應(yīng)用也不是非常清楚。本文以水箱液位系統(tǒng)[2]為被控對象,將數(shù)字孿生技術(shù)應(yīng)用于控制系統(tǒng)中,初步探索數(shù)字孿生技術(shù)工程實踐應(yīng)用情況,為后續(xù)現(xiàn)場級應(yīng)用打下良好基礎(chǔ)。
數(shù)字孿生(digital twin)被形象地稱為“數(shù)字化雙胞胎”,也被稱為數(shù)字映射、數(shù)字鏡像。按照官方定義[3]:數(shù)字孿生,是充分利用物理模型、傳感器更新、運行歷史等數(shù)據(jù),集成多學(xué)科、多物理量、多尺度、多概率的仿真過程,在虛擬空間中完成映射,從而反映相對應(yīng)的實體裝備的全生命周期過程。利用帶有三維數(shù)字模型的信息將其拓展到整個生命周期中,最終實現(xiàn)虛擬與物理數(shù)據(jù)同步和一致。發(fā)現(xiàn)潛在問題、激發(fā)創(chuàng)新思維、不斷追求優(yōu)化進步,這才是數(shù)字孿生的目標(biāo)所在。
目前可編程邏輯控制器(PLC)依然為工業(yè)控制中最常用的控制器,近年來各大 PLC品牌均在通信應(yīng)用、運算處理、信號轉(zhuǎn)換、編程語言等方面產(chǎn)品性能顯著提升。但在控制器方面比較單一,加之工程師只關(guān)注實際控制效果,導(dǎo)致先進控制算法并不能很好應(yīng)用落地,呈現(xiàn)出現(xiàn)場應(yīng)用與理論研究脫節(jié)的現(xiàn)象。借助數(shù)字孿生的思想,通過工業(yè)通信協(xié)議,將工程師熟悉的 PLC和科研學(xué)者應(yīng)用的科學(xué)仿真軟件有機結(jié)合,實現(xiàn)優(yōu)化控制器參數(shù)和提升控制效果目的。
為了能夠?qū)崿F(xiàn)數(shù)字孿生技術(shù)應(yīng)用實踐,主要的技術(shù)手段包含:PLC通信程序和控制器程序創(chuàng)建;MATLAB Simulink對于控制器參數(shù)優(yōu)化;基于Modbus/TCP通訊協(xié)議S_Function 功能塊的創(chuàng)建;選用Factory I/O Water TANK 作為被控對象進行調(diào)試;借助 S7-PLCSIM Advanced高級仿真軟件確保半實物仿真順利進行。
本文所選用的PLC為西門子SIMATIC S7-1500 CPU 1511-1 PN,因為S7-1500 PLC為目前西門子家族主流的中高端系列,其本身運算處理能力、網(wǎng)絡(luò)通信功能、穩(wěn)定可靠方面均能滿足系統(tǒng)需求。Factory I/O是一種可視化的工業(yè)控制仿真軟件,采用Factory I/O可以直觀觀察被控對象實際運行情況,能夠?qū)刂破餍ЧM行很好的驗證。為實現(xiàn)控制算法部署和參數(shù)整定工作,在實際部署之前,首先將 MATLAB Simulink所構(gòu)建的控制器與 PLC通過 Modbus/TCP通信協(xié)議結(jié)合起來,PLC采集的模擬量數(shù)據(jù)標(biāo)度為工程量后,作為控制器的輸入量;控制器再利用此數(shù)據(jù)進行運算,得到相應(yīng)的控制量u(t)進行限幅處理,使得控制量輸出值能被執(zhí)行機構(gòu)所接受,真正起到控制器調(diào)節(jié)作用[4]?;谏鲜雒枋霰疚恼w架構(gòu)如圖 1所示。
圖1 整體方案框架Fig.1 Framework of whole system
本文被控對象選用最常見的液位控制系統(tǒng),并分別在MATLAB Simulink及Factory I/O中進行被控對象模型建立。
當(dāng)水從頂部流入時,其輸入流量與電機電壓成一定比例關(guān)系;當(dāng)水從底部的開口流出時,其輸出流量與水箱液位高度(H)的平方根成正比關(guān)系,由于平方根的存在表明水箱為一個非線性的被控對象模型。水箱示意圖如圖2所示。
水箱機理模型[5]推導(dǎo)公式如下:
其中:H為水箱液位為狀態(tài)變量和輸出變量;V為水箱容積;U為輸入泵電壓為輸入變量;A為水箱橫截面積;b是一個系數(shù),與流入水箱的流量有關(guān);a是一個系數(shù),與流出水箱的流量有關(guān)。本仿真中參數(shù)取值為A=20m2,a=2;b=5。在 Simulink 中構(gòu)造的水箱模型如圖3所示。
圖2 水箱示意圖Fig.2 Diagram of water tank
推導(dǎo)傳遞函數(shù)表達式:
圖3 Simulink Tank模型Fig.3 Model of Simulink Tank
Factory I/O可以與眾多 PLC編程軟件進行通信,畫面3D效果逼真、動態(tài)畫面清晰,各環(huán)節(jié)數(shù)據(jù)均能測量,可以對傳感器、執(zhí)行器、未知因素進行擾動量或故障點設(shè)置,完全可以替代真實水箱。為了實現(xiàn)半實物仿真,采用Factory I/O 中Water TANK場景為被控模型對象,如圖4所示。
圖4 Factory I/O Water TANK 模型Fig.4 Model of Factory I/O Water TANK
圖4上半部為Factory I/O Water TANK場景,下半部為該場景與S7-1500 PLC通信I/O列表,其中數(shù)字量輸入輸出點包括:按鈕和指示燈。模擬量輸入/輸出點包括:實時液位 PV、目標(biāo)液位 SP、輸出瞬時流量、比例調(diào)節(jié)閥開度和儀表顯示等。通過上述描述表明,借助Factory I/O所構(gòu)建的液位控制系統(tǒng),能作為數(shù)字孿生技術(shù)應(yīng)用研究的重要環(huán)節(jié)。
為了實現(xiàn)圖 1中控制方案和功能,文采用Modbus/TCP的通信方式[6],將 Simulink與西門子S7-1500 PLC進行數(shù)據(jù)交互,Modbus是一種底層數(shù)據(jù)幀格式公開的協(xié)議,旨在實現(xiàn)自動化設(shè)備之間的通訊。Modbus是基于主從關(guān)系實現(xiàn)請求-響應(yīng)的協(xié)議。在主從關(guān)系中,通信總是成對發(fā)生,一個設(shè)備必須發(fā)起請求,然后等待響應(yīng),并且發(fā)起設(shè)備(主設(shè)備)負(fù)責(zé)發(fā)起每次交互。采用在Simulink中建立Modbus/TCP Client端(從站),西門子 PLC 建立 Modbus/TCP Server 端(主站)的方式,在 Simulink中基于S·Function封裝了的 Read/Write兩個功能塊,如圖 5所示。Read功能:讀取 PLC標(biāo)度的模擬量數(shù)值或設(shè)定值,例如實時液位、實時流量、目標(biāo)液位等。Write功能:將控制器運算結(jié)果或u(k)傳送到 PLC端,例如比例調(diào)節(jié)閥開度等。
圖5 Simulink S·Function封裝 Modbus/TCP 功能塊Fig.5 Modbus/TCP function blocks packaged in Simulink S·Function
Simulink水箱閉環(huán)控制系統(tǒng)由非線性水箱和PID 控制器構(gòu)成[7]。為驗證控制器效果,分別采用階躍型號和信號發(fā)生器產(chǎn)生的激勵源信號,其中信號發(fā)生器能多次產(chǎn)生階躍和跳變信號,可以充分考察控制器的跟隨性能和抗擾性能??刂菩Ч謩e如圖 6和圖7所示。
圖6 Simulink Water TANK 控制模型——階躍信號控制效果Fig.6 Simulink Water TANK control model—control effect of step signal
圖7 Simulink Water TANK 控制模型---信號發(fā)生器激勵信號控制效果Fig.7 Simulink Water TANK control model—control effect of excitation signal form signal generator
Simulink通過PLC接收Factory I/O中目標(biāo)液位與實際液位數(shù)據(jù),計算其差值作為控制器輸入量,再將運算結(jié)果反饋回PLC端,進行D/A轉(zhuǎn)換后作用于進出水處閥門,實現(xiàn)框圖如 8所示。程序中建立了2個PID控制器,并將輸出量映射為0~100%數(shù)值,處理后既能被執(zhí)行機構(gòu)所接受,又能體現(xiàn)控制性能,其中“PID Controller 進水閥”控制進水閥門開度,“PID Controller 出水閥”控制出水閥門開度。在半實物仿真條件下,整定參數(shù)分別為P=4.0,I=60.0,D=0.5時,可獲得最佳控制效果。
圖8 Simulink、PLC、Factory I/O聯(lián)合仿真Fig.8 Application of Simulink,PLC and Factory I/O cosimulation system
根據(jù)工藝流程設(shè)計如圖 9所示的監(jiān)控畫面。其中 SP為目標(biāo)液位、PV為當(dāng)前實時液位以及 PID輸出值,通過PID Auto開關(guān)來控制手動/自動調(diào)節(jié)PID參數(shù)。當(dāng)開關(guān)為 ON時為 Simulink中整定參數(shù),為OFF時采用手動設(shè)定的P、I、D參數(shù),PLC可根據(jù)相應(yīng)參數(shù)對水箱液位進行調(diào)節(jié)[8]。圖9中左側(cè)畫面能直觀反映液位實時情況,并且與 Factory I/O場景液位情況相一致。
圖9 液位系統(tǒng)監(jiān)控畫面Fig.9 SCADA screen of liquid level system
本文完成了數(shù)字孿生技術(shù)的工程應(yīng)用實踐研究工作,數(shù)字孿生應(yīng)用策略框架如圖 10所示。實現(xiàn)了數(shù)字孿生技術(shù)在控制器設(shè)計層面應(yīng)用與落地,分別將PID控制器在Simulink 平臺和SIEMENS SIMATIC TIA Portal 平臺[9]中進行相互驗證。實驗表明當(dāng)控制器一樣并且參數(shù)一樣的情況下,2個平臺的控制效果基本一致。最后利用Modbus/TCP和西門子 S7通信協(xié)議將 3方面進行融合,完成了半實物仿真,再次驗證了數(shù)字孿生應(yīng)用策略框架的有效性,具有廣泛的工程實踐應(yīng)用價值。
圖10 數(shù)字孿生應(yīng)用策略框架Fig.10 Application framework of digital twin