可編程控制器與Labview的通訊實(shí)現(xiàn)
摘 要:以O(shè)MRON可編程控制器為例,介紹了Labview與PLC通訊的方法及具體實(shí)現(xiàn),。
關(guān)鍵詞:PLC;Labview,;串口通訊
一,、引言
Labview是實(shí)驗(yàn)室虛擬儀器工程工作臺(tái)(Labview Virtual Instruments Engineering Workbench)的簡(jiǎn)稱,是美國(guó)國(guó)家儀器公司開(kāi)發(fā)的虛擬儀器開(kāi)發(fā)平臺(tái)軟件,,它的功能強(qiáng)大靈活,,可以廣泛應(yīng)用于自動(dòng)測(cè)量系統(tǒng)、工業(yè)過(guò)程自動(dòng)化,、實(shí)驗(yàn)室仿真等各個(gè)領(lǐng)域,。
Labview使用圖形化編程語(yǔ)言編程,簡(jiǎn)單直觀,,極大節(jié)省程序開(kāi)發(fā)時(shí)間,,同時(shí)Labview可提供豐富的庫(kù)函數(shù)和功能模塊,可完成各種各樣的編程任務(wù),。
Labview最重要的功能在于它可提供數(shù)據(jù)采集與分析庫(kù),,能連接總線接口硬件、VXI儀器及GPIB和串口儀器,。
圖1 基于Labview開(kāi)發(fā)平臺(tái)的虛擬儀器
國(guó)內(nèi)使用的很多儀器都提供了串口通訊功能,,利用Labview的串口通訊函數(shù)可輕易與這些儀器連接,通過(guò)串口進(jìn)行數(shù)據(jù)傳送,。
本文以O(shè)MRON的CPM1A型PLC為例,,詳細(xì)說(shuō)明了在Labview中如何利用已有的串口通訊函數(shù)集來(lái)與PLC進(jìn)行串口通訊。
二,、Labview與串口通訊
在Labview中實(shí)現(xiàn)串口通訊可以有兩種方法:利用VISA或者使用標(biāo)準(zhǔn)的串口通訊函數(shù),。
1,、利用VISA進(jìn)行串口通訊
VISA是應(yīng)用于儀器編程的標(biāo)準(zhǔn)I/O應(yīng)用程序接口(API),VISA本身并不具有儀器編程能力,,VISA是調(diào)用低層驅(qū)動(dòng)器的高層的API,。
VISA可以和VXI、GPIB及串口儀器按照所使用的儀器調(diào)用相應(yīng)的設(shè)備驅(qū)動(dòng)器,,具體的使用方法可參考Labview的用戶手冊(cè),。
2、利用標(biāo)準(zhǔn)串口通訊函數(shù)進(jìn)行串口通訊
在Labview中,,進(jìn)行串口通訊的基本步驟:
第一:初始化端口,,利用串口初始化函數(shù)設(shè)定進(jìn)行串口通訊的端口號(hào)、波特率,、停止位,、校驗(yàn)、數(shù)據(jù)位,,注意在Labview中串行端口號(hào)是從0開(kāi)始編號(hào)的,。
第二:讀寫端口,利用串口讀寫函數(shù),。從串口中讀入或輸出數(shù)據(jù),。
第三:關(guān)閉端口。
三,、Labview與PLC的串口通訊實(shí)現(xiàn)
CPM1A型PLC是OMRON的一種微型PLC,,它有12個(gè)輸入點(diǎn),8個(gè)輸出點(diǎn),。該型PLC提供了比較豐富的上位鏈接命令,,利用這些命令可通過(guò)串口利用PC機(jī)對(duì)PLC的工作狀態(tài)進(jìn)行干預(yù)。本文僅以其中兩條命令為例說(shuō)明Labview與歐姆龍PLC的串口通訊實(shí)現(xiàn)方法,。
1,、上位機(jī)對(duì)PLC的輸人繼電器進(jìn)行讀操作
命令格式
PLC響應(yīng)格式(其中正常情況下結(jié)束碼為00):
Labview中的程序?qū)崿F(xiàn):
第一 初始化串口
第二 讀PLC輸入繼電器值:
2、上位機(jī)寫輸出繼電器進(jìn)行寫操作
命令格式:
Labview中的程序?qū)崿F(xiàn):
第一 初始化串口
同上
第二 對(duì)PLC輸出繼電器進(jìn)行寫操作:
在讀寫PLC輸入輸出繼電器時(shí),,有以下問(wèn)題需要注要:
第一:PLC每個(gè)輸入輸出繼電器的狀態(tài)是一個(gè)二進(jìn)制值,,所以在Labview與PLC通訊的時(shí)候,需要要據(jù)情況把這些二進(jìn)制值組合成字節(jié)或從一個(gè)字節(jié)數(shù)值中分解出單個(gè)二進(jìn)制值,。
第二:歐姆龍PLC的上位鏈接命令格式中有一個(gè)FCS幀檢驗(yàn)部份,,即把從一幀的開(kāi)始到FCS前面的數(shù)據(jù)進(jìn)行邏輯異或得到的8位二進(jìn)制數(shù)據(jù)變換成一個(gè)2個(gè)字符的ASCII碼。實(shí)現(xiàn)這個(gè)功能只需調(diào)用Labview中的Exclusive Or
函數(shù)即可,。
4,、結(jié)束語(yǔ)
本文介紹了在Labview中利用串口通訊函數(shù)進(jìn)行PLC與PC通訊的方法及實(shí)例,該裝置在實(shí)際運(yùn)行中,,工作可靠,、效果良好,。