使用HostLink系統(tǒng)實(shí)現(xiàn)LabVIEW與歐姆龍PLC通信
在自動(dòng)化領(lǐng)域中,歐姆龍PLC是一種功能完善的緊湊型PLC。它為集散控制等系統(tǒng)提供高附加值的機(jī)器邏輯控制,并具有通過各種高級(jí)內(nèi)裝板進(jìn)行升級(jí)的能力。歐姆龍PLC還擁有大程序容量和存儲(chǔ)器單元,以及在Wind
在自動(dòng)化領(lǐng)域中,歐姆龍PLC是一種功能完善的緊湊型PLC。它為集散控制等系統(tǒng)提供高附加值的機(jī)器邏輯控制,并具有通過各種高級(jí)內(nèi)裝板進(jìn)行升級(jí)的能力。歐姆龍PLC還擁有大程序容量和存儲(chǔ)器單元,以及在Windows環(huán)境下高效的軟件開發(fā)能力。
HostLink系統(tǒng)是一種優(yōu)化且經(jīng)濟(jì)的通信方式,適合將一臺(tái)上位機(jī)與一臺(tái)或多臺(tái)PLC進(jìn)行鏈接。通過HostLink系統(tǒng),上位機(jī)可以向PLC發(fā)送指令,并監(jiān)控PLC的數(shù)據(jù)區(qū)以及控制PLC的工作情況。本文將重點(diǎn)介紹如何通過串口HostLink協(xié)議實(shí)現(xiàn)LabVIEW與歐姆龍PLC的通信。相比于OPC通信方式,此方法具有更快的數(shù)據(jù)交換速度。
配置HostLink系統(tǒng)與歐姆龍PLC
1. 打開CX-Programmer,選擇菜單-PLC-操作模式-監(jiān)視。將歐姆龍PLC的模式設(shè)置為監(jiān)控模式,因?yàn)樵谶\(yùn)行模式下,部分寄存器不支持寫操作。
2. 打開新工程-新PLC1[CP1E]監(jiān)視模式-設(shè)置,分別設(shè)置串口波特率(9600),數(shù)據(jù)位(8),停止位(1),奇偶校驗(yàn)位(N)以及模式(Host Link)。
LabVIEW與歐姆龍PLC通信的準(zhǔn)備工作
在進(jìn)行LabVIEW串口開發(fā)之前,需要安裝VISA驅(qū)動(dòng)。只有通過LabVIEW的VISA函數(shù)才能發(fā)送和讀取指令。
所有寄存器的讀寫操作都必須按照HostLink格式編寫協(xié)議。例如,要讀取DM0001~DM0002寄存器的值,根據(jù)RD協(xié)議指令命令格式,經(jīng)過計(jì)算后的指令為@RD000000002FCS*CR。
安裝HostLink說明中提到了FCS的計(jì)算方法。FCS是將從一幀開始到FCS前面的數(shù)據(jù)進(jìn)行邏輯異或得到的8位數(shù)據(jù),然后轉(zhuǎn)換成2個(gè)字符的ASCII碼。接收到數(shù)據(jù)后,對(duì)每一幀計(jì)算FCS,并將計(jì)算得到的FCS與幀后附加的FCS進(jìn)行比較校驗(yàn),這樣就可以檢查數(shù)據(jù)是否有錯(cuò)誤。
在LabVIEW中實(shí)現(xiàn)上述程序如下:
1. 得到完整的指令為@00RD0000000254*CR,并通過VISA寫入PLC。PLC返回如下結(jié)果:@00RD000001000255*CR。
2. 根據(jù)RD協(xié)議指令的格式,我們可以得知DM0000寄存器的值為1,而寄存器DM0001的值為2。
3. 在CX-Programmer的內(nèi)存監(jiān)測(cè)中核對(duì),確實(shí)D00001,D00012,并且此次結(jié)束碼為00(無錯(cuò)誤)。
根據(jù)返回的反饋碼,我們可以判斷錯(cuò)誤的類型和原因。
通過以上步驟,我們成功地使用HostLink系統(tǒng)實(shí)現(xiàn)了LabVIEW與歐姆龍PLC之間的通信。這種方法不僅交換速度更快,還能夠在自動(dòng)化控制領(lǐng)域中提供更高的效率和準(zhǔn)確性。