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