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