趙逍馳 徐東亮
摘 要:PLC技術(shù)是現(xiàn)代工程控制領(lǐng)域中最主要的應(yīng)用技術(shù)之一,虛擬PLC技術(shù)則作為硬件PLC可編程控制器的有效替代技術(shù),在控制領(lǐng)域擁有著越來越重要的地位。與此同時纖維自動鋪放技術(shù)是復(fù)合材料制造領(lǐng)域中的關(guān)鍵制造技術(shù),不僅能夠合理降低加工成本,提高加工質(zhì)量而且有益于纖維復(fù)合材料的廣泛應(yīng)用。纖維自動鋪放運動過程的實現(xiàn)除了依附于硬件的支持,仍需要通過軟件平臺的建立對其運動過程進行驗證,虛擬技術(shù)的實現(xiàn)則可以在生產(chǎn)加工前在虛擬平臺上對機械設(shè)備進行合理仿真驗證,盡量避免在生產(chǎn)實踐中出現(xiàn)問題,導(dǎo)致加工不合理、工作效率低下等后果。對纖維自動鋪放的運動過程進行虛擬PLC控制系統(tǒng)設(shè)計,為纖維鋪放機的運動的實現(xiàn)提供了理論基礎(chǔ)和直觀驗證,為后續(xù)的生產(chǎn)實踐奠定基礎(chǔ)。
【關(guān)鍵詞】VC++編程平臺 虛擬PLC技術(shù) 串口通信技術(shù) 纖維鋪放機
復(fù)合材料纖維自動鋪放成型技術(shù)以纏繞原有技術(shù)和自動鋪帶技術(shù)為基礎(chǔ)進行改革推新提出的,早期應(yīng)用于復(fù)合材料飛機的機身制造,現(xiàn)在已經(jīng)成為一種成熟的復(fù)合材料成型技術(shù)。纖維鋪放技術(shù)是現(xiàn)代工業(yè)中最為有效的復(fù)合材料的主要成型技術(shù)之一。本文主要針對纖維鋪放的運動過程進行虛擬PLC控制系統(tǒng)設(shè)計,對纖維鋪放機的運動實現(xiàn)提供理論基礎(chǔ)和直觀驗證,為后續(xù)的生產(chǎn)實踐奠定基礎(chǔ)。
1 纖維鋪放虛擬PLC控制系統(tǒng)總體設(shè)計
纖維自動鋪放的虛擬PLC控制系統(tǒng)主要分為兩個部分:上位機是虛擬PLC控制系統(tǒng)的設(shè)計,而下位機則是虛擬模型的可視化顯示和虛擬控制的設(shè)計,同時在該設(shè)計中通過對通訊方式的了解和分析決定選用串口通訊的方式進行上下位機數(shù)據(jù)的有效傳遞。
上位機的虛擬PLC控制系統(tǒng)主要實現(xiàn)對STL控制代碼的讀取和編輯并顯示其在對話框中的作用;實現(xiàn)對已經(jīng)讀取或編輯完成的STL代碼進行有效信息的篩選和存儲;對已經(jīng)提取保存的有效信息進行邏輯分析和處理,可以通過PLC運行仿真模塊對所設(shè)計的PLC程序進行驗證,對出現(xiàn)不符合理論要求的程序進行改進并再次驗證;將仿真結(jié)果無誤的程序通過串口通訊的方式發(fā)送到下位機軟件的功能。而下位機的主要功能是實現(xiàn)了接收和有效分析處理上位機串口模塊所傳遞的控制數(shù)據(jù),并通過三維模型的運動狀況的可視化顯示驗證所設(shè)計程序的正確性;控制面板模塊通過所接收的控制信息驅(qū)動可視化三維模型;可視化顯示模塊則通過VC++和OpenGL技術(shù)對STL格式的三維模型進行可視化顯示并在接收運動控制指令時進行相應(yīng)的運動過程并顯示在該模塊中。
2 虛擬PLC控制系統(tǒng)的設(shè)計
虛擬PLC控制系統(tǒng)的設(shè)計是該整體設(shè)計中的關(guān)鍵部分,關(guān)系到數(shù)據(jù)如何驅(qū)動纖維鋪放模型在虛擬平臺上的運動,使其按照所設(shè)計的要求和需要實現(xiàn)的功能進行可視化顯示。在該模塊設(shè)計中將上位機即虛擬PLC控制系統(tǒng)整體可分作四個模塊:PLC指令讀取和和指令編輯模塊、PLC有效信息指令提取模塊、PLC運行仿真模塊、上位機串口通訊模塊。
2.1 PLC邏輯算法解釋
二叉樹是數(shù)據(jù)結(jié)構(gòu)的一種,其組成形式是由n個節(jié)點構(gòu)成的有窮集合,并且每個結(jié)點至多僅有兩棵子樹,左子樹、右子樹,而且他們的次序不可以改變。其中只有一個特殊的節(jié)點被稱作樹根或者根節(jié)點。遍歷是指將樹的所有結(jié)點訪問且僅訪問一次。二叉樹的遍歷根據(jù)根節(jié)點遍歷順序的不同分為前序遍歷、中序遍歷和后序遍歷。在我們以梯形圖或者指令表等方式進行編寫PLC控制程序后,PLC程序內(nèi)部編譯器需要對所編寫的程序進行數(shù)據(jù)處理而得到我們所設(shè)計的輸出結(jié)果從而可以達到驅(qū)動模型的目的,而PLC對數(shù)據(jù)的處理是與二叉樹數(shù)據(jù)結(jié)構(gòu)的后序遍歷的數(shù)據(jù)處理方式相似。
2.2 虛擬PLC仿真運行
PLC仿真的作用就是對PLC指令的應(yīng)用狀況進行即時的監(jiān)測,將PLC的輸入輸出實時的變化反應(yīng)給操作者,這樣操作者就可以根據(jù)所顯示的輸入和輸出的狀態(tài)和程序理論應(yīng)達到的結(jié)果進行對比,對PLC所編寫的程序進行測試和驗證,及時改正編寫時出現(xiàn)的錯誤,為硬件應(yīng)用奠定理論基礎(chǔ),因此PLC仿真運行是不可缺少的組成部分。將輸入觸點和輸出觸點分別保存到對應(yīng)的二維bool數(shù)組中,二維數(shù)組的參數(shù)分別表示其觸點的字和位。將保存觸點狀態(tài)的數(shù)組初始值都設(shè)定為False,表示所有輸入觸點和輸出觸點均未被觸發(fā)。在輸入觸點部分,我們通過MFC自帶的控件添加了復(fù)選框和可以變化的圖像對每一個輸入觸點進行表示,首先選中需要觸發(fā)的輸入觸點的復(fù)選框,然后點擊啟動按鈕,則該輸入觸點相應(yīng)的圖像顏色進行改變表示該觸點已經(jīng)被觸發(fā),此時經(jīng)過已經(jīng)編譯好的邏輯運算過程對PLC程序進行解釋,當再運行過程中某個輸入輸出觸點狀態(tài)發(fā)生變化時,其相對于的數(shù)組bool值也發(fā)生變化,并將輸出觸點的變化賦給相應(yīng)的輸出bool數(shù)組。在輸出觸點部分則同樣添加了可變化的圖像表示其觸點的變化,如果其bool值發(fā)生改變,即由初始的0變?yōu)?,則代表該觸點被觸發(fā),通過圖像的直觀改變可以看到輸出觸點的狀態(tài)。復(fù)位按鈕則可以將已經(jīng)實現(xiàn)設(shè)計所體現(xiàn)的觸點狀態(tài)全部復(fù)位,恢復(fù)到初值狀態(tài),保證新的程序的運行和驗證。
3 虛擬PLC系統(tǒng)通信原理
為了實現(xiàn)與下位機中可控的纖維自動鋪放設(shè)備的三維模型進行信息的交互,本設(shè)計中我們選用串口通信的方式。而對于串口通訊,一般采用多線程串口CSerialPort類和MSComm控件兩種方式,完成基于串口程序的編寫。多線程串口編程工具CSerialPort類是由RemonSpekreijse提供的免費串口類[5],與MSComm控件編寫串口通訊的方式相對比,可以減少我們在框架編寫的復(fù)雜程度,而且這個類打包時,不需要再多余加入其它的文件,而且所含有的函數(shù)都是可知的,允許我們根據(jù)我們設(shè)計的要求進行進一步的改造,通過對這個類進行必要的改造,可以幫助我們完成所需要的設(shè)計任務(wù)。我們在該設(shè)計中選用多線程串口CSerialPort類進行串口通訊模塊的編程設(shè)計。
在利用多線程串口CSerialPort類完成對串口通信框架的搭建和編寫后,需要考慮按照規(guī)定的格式從串口發(fā)送出去數(shù)據(jù)及從接收到的數(shù)據(jù)中提取重要信息,基于該目的,需要通過編寫串口通訊協(xié)議來滿足設(shè)計中的要求。在普遍被接受的用戶層協(xié)議中,我們可以將協(xié)議分為兩大類,即完整型和簡單型協(xié)議。在纖維自動鋪放的虛擬PLC控制系統(tǒng)的設(shè)計中,下位機所接收的信息主要是用來驅(qū)動可視化的三維模型,使其按照指令進行運動的仿真過程。而根據(jù)兩種用戶層協(xié)議特點的對比,選用簡單的自定義通訊協(xié)議來編寫串口通訊所需要的協(xié)議。
4 纖維鋪放虛擬PLC控制的實現(xiàn)
4.1 鋪放機模型的可視化顯示
因為纖維鋪放機的結(jié)構(gòu)相對比較復(fù)雜,其中零件較多而且裝配關(guān)系相對繁瑣,顯然不適用于傳統(tǒng)設(shè)計方法。而對于較復(fù)雜的三維模型,我們則可以借助第三方軟件來輔助我們進行設(shè)計顯示,這樣模型的完整性和真事性可以通過更好的處理。所以選擇首先在三維軟件中對纖維自動鋪放機進行三維建模和處理,因為需要在OpenGL環(huán)境下進行可視化顯示,將所設(shè)計好的模型以固定格式進行導(dǎo)出,STL文件作則為快速成型中主要使用的、由大量的三角面片連接所組成的一種文件。其模型的精度隨三角面片的數(shù)量增加而增加。STL格式文件只包含三角面片的基本信息,而并不含有材質(zhì)、顏色、光照等附屬信息,因此對其信息的提取也相對容易同時也能很好的體現(xiàn)三維模型的狀態(tài),所以在設(shè)計中選用STL格式導(dǎo)出。隨后在OpenGL環(huán)境下再通過內(nèi)部函數(shù)的調(diào)用對所需要導(dǎo)入的模型格式進行解釋,最終實現(xiàn)三維模型的可視化顯示。
4.2 纖維鋪放虛擬PLC控制的具體實現(xiàn)
下位機根據(jù)接收并拆包上位機所打包發(fā)送的數(shù)據(jù)信息驅(qū)動可視化的三維模型運動,三維模型的運動則通過控制接口狀態(tài)的改變和相應(yīng)函數(shù)參數(shù)的改變而相應(yīng)的變化。在下位機整體設(shè)計中除了下位機的通訊端口外,還設(shè)計了運動控制面板用來顯示虛擬輸入端口的狀態(tài),通過對上位機發(fā)送來的數(shù)據(jù)包進行拆包,將所設(shè)計的輸入端口的狀態(tài)通過改變控制接口bool值的狀態(tài)在控制面板上進行及時顯示。
5 結(jié)論
本文對纖維鋪放虛擬PLC控制系統(tǒng)進行了設(shè)計,并在VC++平臺上進行了程序的開發(fā)。選擇以虛擬串口的方式建立上位機和下位機的通訊通道,并且對上位機和下位機分別進行了功能解釋并加以實現(xiàn)。所設(shè)計的虛擬系統(tǒng)可以在條件成熟下可以實現(xiàn)對硬件系統(tǒng)的有效替換,通過虛擬的PLC來控制其運動,這樣可以在脫離硬件的情況下完成對纖維自動鋪放機模型的驅(qū)動,可以更直觀的在虛擬平臺下觀察到纖維自動鋪放機的運動規(guī)律以及工作狀態(tài),為實現(xiàn)其的生產(chǎn)應(yīng)用以及后續(xù)的研究奠定堅固基礎(chǔ)。
參考文獻
[1]王志輝,呂佳.纖維鋪放頭機構(gòu)的研究[J].機械工程師,2007(12):93-94.
[2]Erickson,K.T.Programmable logic controllers.Potentials, IEEE.1996,15(1):14-17.
[3]吉冬梅.數(shù)據(jù)結(jié)構(gòu)中二叉樹的生成及遍歷非遞歸算法淺析[J].辦公自動化,2010(02):30-31.
作者簡介
趙逍馳(1991-),男,遼寧省盤錦市人。現(xiàn)為武漢理工大學(xué)機電學(xué)院碩士研究生在讀。研究方向為材料制造裝備與控制技術(shù)。
作者單位
武漢理工大學(xué)機電工程學(xué)院 湖北省武漢市 430070