基于PLC的主從式虛擬儀器測控系統(tǒng)
在過程控制中,由于工業(yè)現(xiàn)場非常分散,I/O點數(shù)眾多,各種儀表的工作環(huán)境非常惡劣,采用數(shù)據(jù)采集卡和LabVIEW開發(fā)平臺來完成現(xiàn)場的數(shù)據(jù)采集和控制顯然不可取。考慮到過程控制中的過程參數(shù)變化不是很快,而PLC恰恰可以克服數(shù)據(jù)采集卡在過程控制中的不足,并且具有較高的性價比,因而采取以PLC為下位機,以裝有LabVIEW軟件的工控機為上位機開發(fā)平臺。通過RS-232和RS-485串口與PLC通信,實現(xiàn)對工業(yè)現(xiàn)場的監(jiān)控與現(xiàn)場數(shù)據(jù)的分析。本文根據(jù)這個思想設(shè)計了一個工業(yè)遠程監(jiān)控系統(tǒng),上位機采用PC機,下位機采用西門子PLC
介紹了一種在LabVIEW
1 系統(tǒng)構(gòu)成與自由口通信模式
1.1 PC與PLC的通信方式
S7-200 CPU上的通信口是與RS-485兼容的9針D型連接器。PLC還提供了實現(xiàn)RS-485與PC機上RS-232相連接的PC/PPI電纜,可以方便地實現(xiàn)S7系列PLC與PC之間的硬件連接。圖1是PC與PLC通信的示意圖,利用主機上的232串口,通過RS232-RS485轉(zhuǎn)換模塊與PLC相連。系統(tǒng)中如果應(yīng)用多個PLC模塊或其他具有RS485串行通信能力的設(shè)備,亦可方便地聯(lián)網(wǎng)或構(gòu)成網(wǎng)絡(luò)測控系統(tǒng)。
1.2 PC與PLC的通信協(xié)議
西門子S7-200系列的PLC可以在四種通信模式下工作:PPI、MPI、PROFIBUS-DP和自由口通信模式。自由口通信模式是由用戶程序來控制CPU的串口通信。用戶可以利用發(fā)送/接收中斷、發(fā)送/接收指令來控制通信的操作,實現(xiàn)與打印機、條形碼閱讀器等設(shè)備的通信。
本文主機與PLC之間串行通信采用的是自由通信協(xié)議。該協(xié)議采用主從結(jié)構(gòu)的通信方式,傳輸模式是RTU,適用于半雙工的RS485總線。協(xié)議規(guī)定總線上有一個主機,多個從機,每個從機分配惟一的地址。工作時可以采用命令應(yīng)答的通信方式,每一種命令幀對應(yīng)著一種應(yīng)答幀。主機向要訪問的從機發(fā)出命令幀,地址匹配的從機做出響應(yīng),向主機發(fā)出命令幀對應(yīng)的應(yīng)答幀。自由通信協(xié)議中,為命令幀定義了許多功能碼,不同的功能碼要求從機進行不同的響應(yīng)。PLC在將傳感器信號轉(zhuǎn)換為數(shù)據(jù)后將其存儲在變量存儲區(qū)的固定區(qū)域。此時PLC的串口一直處于接收狀態(tài),直到接收到來自上位機的讀命令后,轉(zhuǎn)為發(fā)送狀態(tài),將變量存儲區(qū)中的數(shù)據(jù)通過串口發(fā)送給上位機??紤]到收發(fā)切換有一定的時間間隔,所以必須延遲一段時間再轉(zhuǎn)為發(fā)送數(shù)據(jù)。
1.3 自由口模式的注意事項
自由口模式通信要注意以下問題:
(1)CPU通信口工作在自由口模式時,通信口就不支持其它通信協(xié)議。CPU停止時,自由口不能工作,編程軟件就可以與CPU通信。
(2)此通信模式下,發(fā)送和接收指令是程序的核心指令,用戶程序不能直接控制通訊芯片而必須通過操作系統(tǒng)。
(3)用戶程序中應(yīng)考慮電纜的切換時間。CPU接收到RS-232設(shè)備的請求到它發(fā)送響應(yīng)的延遲時間必須大于等于電纜的切換時間,可用定時中斷實現(xiàn)切換延時。
(4)在自由口模式下,通信雙方的通信參數(shù)是由用戶自行設(shè)定的,通信雙方的波特率一定要設(shè)置相同。另外,在PLC網(wǎng)絡(luò)中主站個數(shù)越少,通信速度越快:波特率越大,通信速度也越快,但抗干擾能力降低。因此對于本系統(tǒng)這種單主站的網(wǎng)絡(luò),要注意波特率不宜設(shè)置得過大。
2
LabVIEW是美國國家儀器公司開發(fā)的虛擬儀器開發(fā)平臺軟件,功能強大、靈活,廣泛應(yīng)用于自動測量系統(tǒng)以及工業(yè)過程自動化等各個領(lǐng)域。
在LabVIEW編程語言中串口通信采用虛擬儀器體系結(jié)構(gòu)VISA (Virtual Instrument Software Architecture)標(biāo)準(zhǔn)編程。VISA是儀器驅(qū)動的一個工業(yè)標(biāo)準(zhǔn),其內(nèi)部是一個面向?qū)ο蟮慕Y(jié)構(gòu),這一結(jié)構(gòu)使得VISA和在它之前的I/O控制軟件相比,在接口無關(guān)性、可擴展性方面都有很大提高。VISA標(biāo)準(zhǔn)的推出,統(tǒng)一了儀器工業(yè)的軟件接口標(biāo)準(zhǔn),使得儀器驅(qū)動程序兼容性強并且可適應(yīng)未來軟硬件的發(fā)展需要。
2.1 LabVIEW中的串口通信函數(shù)
(1)VISA配置串口。該函數(shù)主要用于串口的初始化。主要參數(shù)如圖2所示。
其中“VISA資源名稱”指定要打開的資源。該控件也可指定會話句柄和類。“波特率”是傳輸速率,默認值為9600。“數(shù)據(jù)比特”是輸入數(shù)據(jù)的位數(shù),默認值為8。“奇偶”指定要傳輸或接收的每一幀所使用的奇偶校驗。“停止位”指定用于表示幀結(jié)束的停止位的數(shù)量。“流控制”設(shè)置傳輸機制使用的控制類型。“VISA資源名稱輸出”是由VISA函數(shù)返回的VISA資源名稱的副本。
評論