任慧,劉洋,王會芹
(1.中國傳媒大學(xué)信息與通信工程學(xué)院,北京100024;2.視聽技術(shù)與智能控制系統(tǒng)文化和旅游部重點實驗室,北京100024)
文化綜合體建設(shè)是公共文化服務(wù)的重要載體,當前以基層小型文化綜合體為建設(shè)目標,來振興鄉(xiāng)村文化,以提升文化自信。小型文化綜合體內(nèi)部功能裝備是不可缺的,其中舞臺升降裝備是主要的核心裝備。舞臺升降裝備控制系統(tǒng)主要以運動控制為主,其核心控制是實現(xiàn)多個升降裝備的速度和位置的同步。整個控制系統(tǒng)可以分為管理級、過程級與現(xiàn)場級[1]。管理級一般包括工控機、控制臺和控制按鈕,完成對設(shè)備的控制、參數(shù)設(shè)置、狀態(tài)監(jiān)控和數(shù)據(jù)記錄。過程級一般是控制主站,國內(nèi)主要使用的是PLC,完成將機械設(shè)備的運行參數(shù)和監(jiān)控信息傳遞到管理級設(shè)備并將管理級設(shè)備的命令傳送至現(xiàn)場級設(shè)備?,F(xiàn)場級一般包括變頻器、電動機和遠程終端,將采集到的信息上傳給過程級,同時完成收到命令所指示的動作。
目前,國內(nèi)舞臺機械控制系統(tǒng)大量采用PLC 作為核心控制器件,在自動控制系統(tǒng)組成模式方面多使用“上位機+ 可編程控制器+ 驅(qū)動單元”的方式,而國外多采用“上位機+ 服務(wù)器+ 軸控制器+ 驅(qū)動單元”的控制方式。而在具體的舞臺機械系統(tǒng)的控制方法上,大致可分為采用STD 工控機控制舞臺機械設(shè)備、采用PLC 控制的舞臺機械控制系統(tǒng)、采用模糊控制的舞臺機械控制系統(tǒng)等。在這方面控制系統(tǒng)雖然先進,但是因為多采用工控機作為控制中心,工控機價格昂貴,并不適合小型舞臺發(fā)展現(xiàn)狀。而采用嵌入式技術(shù)為基礎(chǔ),使用ARM 芯片作為控制中心,在降低成本的同時,保證性能也達到國內(nèi)舞臺的控制要求。
控制系統(tǒng)硬件設(shè)計方案采用了管理級+過程級+現(xiàn)場級的形式,在硬件組成有以下幾個部分:
(1)ARM嵌入式上位機:采用STM32F407ZGT6作為上位機的MCU微處理器,此外還包括TFTLCD顯示模塊、SD卡存儲模塊、以太網(wǎng)通信模塊、用于 擴展MCU功能的外圍數(shù)據(jù)等。
(2)PLC可編程邏輯控制器:采用西門子S7-1512C緊湊型PLC,具體包括電源模塊、主模塊、數(shù)字量模塊、模擬量模塊,具有PROFINET通信協(xié)議接口和OPC UA服務(wù)器功能。
(3)現(xiàn)場控制電路:主要由按鈕與顯示燈組成,用于裝臺模式或者非演出模式下的簡單控制,以及意外狀態(tài)下的報警顯示。
(4)變頻器:采用Danfoss的FC302系列變頻器,具有PROFINET通信協(xié)議端口、數(shù)字量模擬量模塊與MCO305運動控制模塊。
(5)電動機:采用三相異步電動機+編碼器的方案,異步電動機功率為7.5KW,額定轉(zhuǎn)速為1440r/min。編碼器采用5V差分增量型編碼器,具有A、B、Z脈沖信號以及各自的反向。
控制系統(tǒng)的總體框架圖如圖1所示,以嵌入式系統(tǒng)作為上位機,起到人機交互、存儲數(shù)據(jù)、任務(wù)管理的作用。嵌入式上位機與PLC進行OPC UA通信,PLC對接收到的數(shù)據(jù)進行控制且生成新的數(shù)據(jù)。PLC與變頻器進行PROFINET協(xié)議通信,變頻器最終根據(jù)所接收數(shù)據(jù)和編碼器反饋對電動機進行具體控制。
圖1 控制系統(tǒng)總體框架圖
在控制系統(tǒng)硬件確定的情況下,需要進行的軟件設(shè)計主要分為以下幾個部分:
(1)嵌入式軟件環(huán)境構(gòu)建:包括對于FreeRTOS操作系統(tǒng)的移植、運行任務(wù)的分配、LWIP小型協(xié)議棧的配置、STemWin圖形開發(fā)庫的移植、open62541開源庫的移植、SD卡配置、FATFS文件系統(tǒng)構(gòu)建等。
(2)OPC UA通信客戶端設(shè)計:應(yīng)用lwip協(xié)議棧與open62541開源庫,完成嵌入式設(shè)備與PLC設(shè)備之間OPC UA通信,包括通信信道和會話的建立、會話過程中的請求與應(yīng)答等。
(3)用戶操作界面設(shè)計:在使用StemWin的基礎(chǔ)上,實現(xiàn)用戶通過圖形界面與設(shè)備進行交互,由對界面的操作達到對升降裝備的復(fù)雜控制。
(4)文件系統(tǒng)設(shè)計:以FATFS系統(tǒng)作為基礎(chǔ),根據(jù)用戶操作界面的設(shè)計方案和升降裝備數(shù)據(jù)的實際格式,構(gòu)建合適的舞臺升降裝備文件系統(tǒng),以滿足用戶操作界面與SD卡之間的數(shù)據(jù)存儲。
(5)PLC程序設(shè)計:在西門子Portal V15編程環(huán)境下,設(shè)計PLC程序以滿足嵌入式上位機與變頻器之間的具體數(shù)據(jù)處理和生成,同時需要配置OPC UA服務(wù)器與PROFINET網(wǎng)絡(luò),以滿足通信需要。
(6)變頻器編程:包括MCT10中的具體參數(shù)設(shè)置與APOSS中的運動模塊編程,在通過PROFINET通信協(xié)議接收到PLC數(shù)據(jù)的前提下,完成對電動機的具體控制。
(1)OPC UA通信客戶端
OPC UA 作為對于傳統(tǒng)OPC 通信方式的升級和改進,具有平臺無關(guān)性、集成的地址空間、完善的安全機制等特點,適應(yīng)了新時代工業(yè)控制的特點與需求[2]。
OPC UA 使用服務(wù)器、客戶端通信方式。對其他應(yīng)用暴露自己的信息的應(yīng)用程序被稱為服務(wù)器,接受使用其他應(yīng)用程序信息的應(yīng)用程序被稱為客戶端。同時,一個OPC UA 應(yīng)用程序中可能同時包含服務(wù)器和客戶端。通常情況下OPC UA 應(yīng)用程序是一個要公開或使用OPC UA 數(shù)據(jù)的系統(tǒng),該系統(tǒng)至少需要三個軟件層次構(gòu)成:具體應(yīng)用功能、OPC UA 客戶端/ 服務(wù)器SDK、OPC UA 棧[3],如圖2所示。
圖2 OPC UA 軟件層
OPC UA客戶端與服務(wù)器進行通信的過程中,在程序上主要實現(xiàn)的服務(wù)為:客戶端連接服務(wù)器程序設(shè)計;客戶端與服務(wù)器間的讀/寫程序設(shè)計。
1)客戶端連接服務(wù)器程序設(shè)計:在客戶端任務(wù)中首先便是客戶端連接服務(wù)器程序,完成客戶端的創(chuàng)建和與服務(wù)器的連接。客戶端/服務(wù)器的連接由三個嵌套級別組成:原始連接、安全通道和會話,如圖3所示。
?原始連接通過打開到相應(yīng)主機名和端口的TCP 連接以及初始HEL/ack 握手創(chuàng)建。
?安全通道在原始TCP連接的基礎(chǔ)上創(chuàng)建,安全通道安全模式可以是“無”、“簽名”或“信號加密”。
?會話在安全通道的頂部創(chuàng)建,確保用戶可以在不以明文形式發(fā)送憑據(jù)的情況下進行身份驗證。
2)讀/寫程序設(shè)計:無論是客戶端對服務(wù)器的讀/寫服務(wù),還是客戶端連接服務(wù)器時的安全信道和會話的創(chuàng)建,本質(zhì)上都在使用請求與響應(yīng)程序。該程序通過發(fā)送請求、等待回應(yīng)來進行客戶端和服務(wù)器之間的交互,并通過狀態(tài)碼來確定信息收發(fā)的狀態(tài)。請求與響應(yīng)程序流程圖如圖4所示??蛻舳税l(fā)送請求和服務(wù)器發(fā)送響應(yīng)都是基于TCP的二進制協(xié)議,包括Message Header和Message Body。Message Header包含有一些基本信息,例如消息的長度、將消息關(guān)聯(lián)到SecureChannel和每個請求到相應(yīng)響應(yīng)所需的信息。Message Body由數(shù)據(jù)類型的標識符開始,各個OPC UA服務(wù)都有請求和響應(yīng)數(shù)據(jù)結(jié)構(gòu)形式的簽名。
圖4 請求與響應(yīng)程序流程圖
(2)用戶功能操作界面
用戶功能操作界面的設(shè)計以便于操作和滿足舞臺升降裝備控制需求為原則,以編寫操作CUE為實現(xiàn)界面控制的基本元素。界面將整個演出分為劇目和場景兩個概念來進行演出數(shù)據(jù)的編寫、操作以及存儲,設(shè)備的運行根據(jù)已編制的劇目場景來控制,且設(shè)備運行參數(shù)是通過場景來間接定義的。
用戶操作界面是為了讓用戶可以在嵌入式上位機上能夠方便地對舞臺升降裝備進行演出控制,根據(jù)舞臺升降裝備的特點設(shè)計了劇目和場景模式。
1)劇目:劇目模式下包含多個場景,劇目主要是對于一次演出活動的總稱呼。
2)場景:場景代表演出過程中需要的不同場面和背景,這在用戶操作界面上表示為具體的場景數(shù)據(jù)。單個場景的數(shù)據(jù)包括目標位置、速度、加速時間、減速時間等。
為了保證編制的劇目場景數(shù)據(jù)在ARM設(shè)備掉電后不失效,建立了SD卡存儲系統(tǒng),編寫數(shù)據(jù)時將數(shù)據(jù)實時存儲在SD卡中,重新啟動后上位機設(shè)備也能夠從SD卡中將之間編寫的舞臺數(shù)據(jù)提取出來。采用FATFS作為ARM設(shè)備的文件管理系統(tǒng)。
SD卡中的數(shù)據(jù)存儲邏輯要與用戶操作界面中的邏輯一致。在存儲系統(tǒng)中,單個劇目由單個文件夾表示,文件名即場景名;單個劇目中往往包含多個場景,單個場景由單個文件表示,文件名即場景名。代表場景的文件中包含目標位置、速度、加速事件、減速時間4個參數(shù),如圖5所示。
圖5 文件系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
(1)OPC UA服務(wù)器與PROFINET通信
1)OPC UA服務(wù)器:ARM上位機設(shè)備與PLC進行通信的方式是OPC UA,ARM上位機作為OPC UA客戶端,PLC設(shè)備作為OPC UA服務(wù)器。所以在PLC的配置中,需要打開OPC UA服務(wù)器,配置OPC UA服務(wù)器的參數(shù)如端口號、安全方式、會話超時事件等,且對于需要通信的變量開啟讀寫權(quán)限。
(2)PID控制
在具體的電動機控制過程中,分為開環(huán)速度控制、閉環(huán)速度控制、轉(zhuǎn)矩、過程等控制方式。MCO305控制模塊支持的控制策略有兩種,分別是開環(huán)前饋控制、閉環(huán)PID控制。
PID控制是指在系統(tǒng)控制中按偏差的比例、積分和微分運算來進行控制的方法[5]。PID控制器根據(jù)實際位置與設(shè)定點位置之間的差異計算出控制信號,從而最大限度避免位置偏差,因此MCO能夠抵消負載或摩擦導(dǎo)致的變化。PID控制器對于抵消因開環(huán)前饋控制器的不準確設(shè)置所導(dǎo)致的任何位置偏差同樣必要。因此前饋控制用于處理設(shè)定點參照值的變化,而PID控制則用于處理負載條件變化或前饋控制的不準確性。
PID控制器如圖6所示,AV為實際速度;AP為從編碼器反饋計算所得的實際位置;CP為當前位置設(shè)定點;CV為速度設(shè)定點;CA為加速度設(shè)定點。PID參數(shù)主要由比例因數(shù)KPROP、PID控制的微分值KDER、積分因數(shù)KINT、積分和的極限值KILIM、前饋速度FFVEL、前饋加速度FFACC組成。
圖6 PID控制器系統(tǒng)
1)比例因數(shù)KPROP:比例因數(shù)與位置偏差相乘,再與控制信號相加,所計算控制信號與位置偏差成正比。
2)微分值KDER:微分值乘以位置偏差微分,然后將所得結(jié)果與控制信號相加,使用微分值可以增加系統(tǒng)的阻尼。
3)積分因數(shù)KINT:積分因數(shù)乘以所有定位誤差之和,并將所得結(jié)果與整個控制信號相加。如果在控制中出現(xiàn)穩(wěn)態(tài)位置誤差,則應(yīng)使用控制器中的積分部分。
4)積分和的極限值KILIM:積分和的極限值為控制器積分部分所生成的控制信號設(shè)限,以避免“積分飽和”。
比如,學(xué)完比例的知識后,教師為學(xué)生留下課后作業(yè),將學(xué)校的平面示意圖畫出來。為了將這個作業(yè)完成,不僅要使用到比例的知識,還要學(xué)生自己測量學(xué)校各個部位的長寬,在圖紙上清晰地標注出各部位的位置。這種課后作業(yè)緊密聯(lián)系學(xué)生生活實際,囊括課堂所學(xué)的數(shù)學(xué)知識,還富有趣味性,激發(fā)出學(xué)生學(xué)習(xí)數(shù)學(xué)思想的積極性。待學(xué)生將學(xué)校平面圖畫出來后,教師可以讓學(xué)生通過課余時間制作沙盤,再次將平面圖立體展示出來,學(xué)生可以經(jīng)歷思維過渡流程,讓學(xué)生接觸到數(shù)學(xué)的本質(zhì),實現(xiàn)學(xué)生全方位發(fā)展的目的。
5)前饋速度FFVEL:前饋速度為一種與設(shè)定點位置導(dǎo)數(shù)相乘的標定因數(shù),在應(yīng)用中將運算結(jié)果與整個控制信號相加。
6)前饋加速度FFACC:將前饋加速度乘以設(shè)定點位置的二階導(dǎo)數(shù),然后將所得結(jié)果與控制信號相加,用于補償使系統(tǒng)慣量加速/減速所使用的轉(zhuǎn)矩。
(3)變頻器MCO運動控制
Danfoss FC302系列變頻器可以安裝MCO305選件,MCO305是一個用于FC302的集成、自由編程運動控制器。
MCO305在變頻器硬件上引出端子與編碼器相連,編碼器采用5V差分增量型編碼器,具有A、B、Z 三相以及各自的反相。變頻器在使用MCO 運動模塊功能之前需要對相關(guān)參數(shù)進行設(shè)置,除了電動機的參數(shù)之外,還包括采用的控制方式、PID 控制參數(shù)、斜坡參數(shù)、編碼器參數(shù)等。主要的參數(shù)設(shè)置如表1所示。
表1 變頻器主要參數(shù)設(shè)置
在正確設(shè)置參數(shù)的前提下,MCO運動模塊通過APOSS環(huán)境對接收到的運動數(shù)據(jù)進行判斷、處理并形成具體的控制命令對電動機進行控制,以滿足在劇目、場景的控制體系下能夠完成對舞臺升降裝備的演出控制。具體的程序分為主控制程序、復(fù)位、錯誤中斷等,根據(jù)程序邏輯,演出控制程序流程圖如圖7所示。
圖7 演出控制程序流程圖
ARM 嵌入式系統(tǒng)具有低功耗、高性能以及穩(wěn)定性強的特點,在眾多領(lǐng)域都具有良好的前景與應(yīng)用,可以非常有效地將設(shè)備小型化、便捷化。而OPC UA 作為OPC 標準的最新替代者,不受限于應(yīng)用平臺且滿足大部分場景下的復(fù)雜數(shù)據(jù)需求,在未來跨網(wǎng)絡(luò)、跨平臺的工業(yè)自動化通信系統(tǒng)中有著良好的應(yīng)用場景。本研究使用ARM 嵌入式設(shè)備作為上位機,通過OPC UA 和PROFINET 工業(yè)以太網(wǎng)通信將上位機與PLC、變頻器相連接,構(gòu)建了一個小型舞臺升降裝備控制系統(tǒng)。經(jīng)過實驗驗證,小型控制系統(tǒng)功能齊全、性能可靠、操作便捷,滿足舞臺升降裝備各項指標要求,具有廣泛的應(yīng)用前景。