可編程控制器與Labview的通訊實(shí)現(xiàn)
摘 要:以O(shè)MRON可編程控制器為例,介紹了Labview與PLC通訊的方法及具體實(shí)現(xiàn)。
本文引用地址:http://m.butianyuan.cn/article/87364.htm1、引言
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)行串口通訊。
2、Labview與串口通訊
在Labview中實(shí)現(xiàn)串口通訊可以有兩種方法:利用VISA或者使用標(biāo)準(zhǔn)的串口通訊函數(shù)。
2.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.2利用標(biāo)準(zhǔn)串口通訊函數(shù)進(jìn)行串口通訊
在Labview中提供了幾個(gè)標(biāo)準(zhǔn)的串口通訊函數(shù):
在Labview中,進(jìn)行串口通訊的基本步驟:
第一:初始化端口,利用串口初始化函數(shù)設(shè)定進(jìn)行串口通訊的端口號(hào)、波特率、停止位、校驗(yàn)、數(shù)據(jù)位,注意在Labview中串行端口號(hào)是從0開(kāi)始編號(hào)的。
第二:讀寫(xiě)端口,利用串口讀寫(xiě)函數(shù)。從串口中讀入或輸出數(shù)據(jù)。
第三:關(guān)閉端口。
3、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)方法。
3.1、上位機(jī)對(duì)PLC的輸人繼電器進(jìn)行讀操作
命令格式
PLC響應(yīng)格式(其中正常情況下結(jié)束碼為00):
Labview中的程序?qū)崿F(xiàn):
第一 初始化串口
第二 讀PLC輸入繼電器值:
3.2上位機(jī)寫(xiě)輸出繼電器進(jìn)行寫(xiě)操作
命令格式:
Labview中的程序?qū)崿F(xiàn):
第一 初始化串口
同上
第二 對(duì)PLC輸出繼電器進(jìn)行寫(xiě)操作:
在讀寫(xiě)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)行中,工作可靠、效果良好。
參考文獻(xiàn)
[1] 張新亮,孫軍強(qiáng),Labview驅(qū)動(dòng)一般多功能接口卡的研究[J],儀器儀表學(xué)報(bào),2000,6
[2] Labview User Manual .National Instruments.
評(píng)論