時間:2008-07-16 11:44:00來源:ronggang
圖1 初始化串口框圖程序[/align]
讀取PLC輸出繼電器Y1、Y2、Y3狀態(tài)值可分為以下三個步驟:
第一 初始化串口:串口初始化是通過Serial Port Init模塊來實現(xiàn),設(shè)置端口號為0,波特率為9600bps,數(shù)據(jù)位為8位,停止位為1位,奇偶校驗為奇校驗,框圖程序如圖1所示。
第二 向PLC發(fā)送多接點讀命令的命令參數(shù):向PLC發(fā)送多接點讀命令命令參數(shù)是通過Serial Port Write模塊來完成的,其框圖程序如圖2所示??驁D程序左側(cè)部分的功能為產(chǎn)生輸入命令的BCC校驗碼,MEWTOCOL-COM協(xié)議采用異或校驗碼,BCC校驗碼產(chǎn)生規(guī)則為發(fā)送方把所有待發(fā)送的ASCII碼字符,從頭到尾按位作異或運算,把結(jié)果作為BCC校驗碼發(fā)出。Number To Hexadecimal String子VI將輸入數(shù)字轉(zhuǎn)換成規(guī)定字節(jié)數(shù)的字符串。
第三 讀取PLC反饋信息:其框圖程序如圖3所示,讀取PLC反饋信息采用Serial Port Read模塊。在讀取數(shù)據(jù)之前,需應(yīng)用Bytes at Serial Port模塊查詢當(dāng)前串口接收緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),并將該數(shù)值存放于byte count中。如果Serial Port Read要讀取的字節(jié)數(shù)大于緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),Serial Port Read操作將一直等待,直至Timeout或者緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù)達到要求的字節(jié)數(shù)。圖3中的Subset String函數(shù)的功能是從Serial Port Read模塊輸出的字符串中提取控制十字路口交通燈所需輸出繼電器狀態(tài)值的字符,Scan From Sting函數(shù)的作用是將Subset String函數(shù)所提取的字符串轉(zhuǎn)換成規(guī)定類型的數(shù)據(jù)。為了能夠控制十字路口交通燈的亮滅,將其轉(zhuǎn)換成可控制開關(guān)變量的Boolean型數(shù)據(jù)。
1.2 多接點寫命令
對于急車強通信號的控制,可采用外部硬開關(guān)控制,也可在用LabVIEW構(gòu)建的虛擬模型中設(shè)置兩個開關(guān)來進行控制。此控制方式需要將PLC程序中的急車強通信號(X1,X2)改為中間繼電器。當(dāng)LabVIEW前面板的急車強通開關(guān)閉合時,就將強通開關(guān)的狀態(tài)寫入PLC中間繼電器R3,R4,使程序進入強通運行狀態(tài),其運行結(jié)果在LabVIEW前面板顯示。向中間繼電器寫入數(shù)據(jù)的部分框圖程序如圖4所示。串口初始化部分與多接點讀命令相同。
[align=center]
圖2 向PLC發(fā)送多接點讀命令命令參數(shù)框圖程序
圖3 讀取PLC反饋信息框圖程序
圖4 向PLC中間繼電器寫入數(shù)據(jù)[/align]
2 十字路口交通燈虛擬對象的控制實現(xiàn)
[align=center]
圖5 東西方向有急車時的前面板狀態(tài)[/align]
為了使基于LabVIEW構(gòu)建的模型能夠正確模擬十字路口交通燈的正常運行,應(yīng)將所有的讀取和寫入操作編輯成可為頂層VI調(diào)用的子VI程序。PLC控制急車強通十字路口交通燈的子VI有:讀取用于控制東西方向紅燈、黃燈的輸出繼電器狀態(tài)值的子VI 2A1;讀取控制東西方向綠燈和南北方向紅燈的輸出繼電器狀態(tài)值的子VI2A2;讀取控制南北方向黃燈和綠燈的輸出繼電器狀態(tài)值的子VI2B1;用于寫入反映急車強通信號的子VIR34。最后將這些子VI組合到一起,并與前面板的交通燈相連就可以實現(xiàn)一個完整的十字路口交通燈模擬控制系統(tǒng)。
圖5是在東西方向有急車強通時的前面板狀態(tài)圖。此時,東西方向的急車強通開關(guān)閉合,同時東西方向來車的車頂警示燈變亮。呼叫后東西方向的交通燈變綠,急車強行通過;南北方向的紅燈變亮,以方便急車通過。急車強通信號一旦為OFF,燈的狀態(tài)即轉(zhuǎn)為來車方向的綠燈閃3次,隨后向下順序運行。
3 小車自動選向、定位系統(tǒng)的控制實現(xiàn)
小車模型前面板的設(shè)計包含一個運行邊框、運料小車和幾個用來檢測小車位置的光電開關(guān),是利用簇結(jié)構(gòu)編輯的。對于小車運行的動態(tài)效果處理,采用定義屬性節(jié)點的方法,對位置屬性節(jié)點進行加減常數(shù)或者加減0運算來實現(xiàn)小車的運行、停止。
圖6為小車模型的部分框圖程序。子VI SE的功能是用來讀取PLC發(fā)出的控制信號,即用來判斷小車左行、右行還是停止,當(dāng)PLC發(fā)出正轉(zhuǎn)(“2”)、反轉(zhuǎn)(“1”)或停止(“0”)信號時,通過Case 結(jié)構(gòu)將程序轉(zhuǎn)到對應(yīng)的位置上,實現(xiàn)位置屬性節(jié)點加、減常數(shù)或0。子VI R的功能用來檢測小車位置,即通過光電開關(guān)來判斷小車位置,并將位置信號傳送給PLC中間繼電器,再通過PLC程序控制,以此實現(xiàn)小車的定位。
[align=center]
圖6 小車模型框圖程序[/align]
4 結(jié)束語
本文以Labview為平臺構(gòu)建了十字路口交通燈、運料小車虛擬控制對象,基于LabVIEW串口通訊函數(shù),開發(fā)出LabVIEW與PLC通信驅(qū)動程序,最后實現(xiàn)了PLC對十字路口交通燈、運料小車虛擬對象的控制,控制效果良好,且具有很好的直觀性,已應(yīng)用于PLC實驗教學(xué)。以此為基礎(chǔ),可開發(fā)出適應(yīng)面更為廣泛的虛擬工業(yè)控制對象,實現(xiàn)以PLC為核心的工業(yè)控制系統(tǒng)的虛擬設(shè)計、調(diào)試,為機電一體化產(chǎn)品的虛擬樣機開發(fā)提供技術(shù)基礎(chǔ)。
本文作者創(chuàng)新點:根據(jù)松下FP1可編程控制器通信協(xié)議,基于LabVIEW開發(fā)出FP1PLC與Labview通信驅(qū)動程序,并成功實現(xiàn)PLC對基于LabVIEW虛擬對象的控制。
參考文獻
[1] 趙玉昆. PLC控制對象的計算機仿真. 計算機測量與控制.2001, 9(6): 30-31, 34
[2]劉君華等. 虛擬儀器圖形化編程語言Labview教程. 西安: 西安電子科技大學(xué)出版社. 2001
[3]汪敏生. LabVIEW基礎(chǔ)教程. 北京: 電子工業(yè)出版社, 2002: 4-49
[4]Robert H.Bishop. 喬瑞萍,林欣等譯. LabVIEW 6i 實用教程. 北京: 電子工業(yè)出版社. 2003
[5] 單士源, 張良祖, 劉美蘭. 一種對虛擬對象進行控制的系統(tǒng)設(shè)計. 微計算機信息, 2003, 19(11): 21-22
[6] 汪曉光, 孫曉瑛, 等. 可編程控制器原理及應(yīng)用, 第2版. 北京: 機械工業(yè)出版社. 2001
標(biāo)簽:
上一篇:車載跟瞄裝置中齒隙的測量方法
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(www.surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
2025-10-22
2025-10-17
2025-10-11
2025-10-09
2025-09-23