吳小兵
摘 要:本文通過詳述歐姆龍 CP1H PLC用串口通過Modbus-RTU協(xié)議與安川V1000變頻器的通訊。方便大家掌握Modbus-RTU協(xié)議的通訊方式,了解CP1H PLC的簡易通訊模式。
關(guān)鍵詞:V1000變頻器;CP1H PLC;Modbus-RTU
1 前 言
目前在陶瓷生產(chǎn)線上設(shè)備,如窯爐、釉線、進(jìn)出窯輔機(jī),包裝線等設(shè)備使用的變頻,常用的有安川、三菱、匯川等品牌。PLC品牌常用的有歐姆龍、三菱、西門子等。集中控制的變頻器數(shù)量較多,用通訊把變頻器與PLC鏈接后,再通過人機(jī)界面調(diào)整變頻器的常用參數(shù),操作人員在調(diào)整參數(shù)時就會變得非常方便。Modbus已經(jīng)成為國家標(biāo)準(zhǔn)GB/T19582-2008,協(xié)議廣泛應(yīng)用于各種工業(yè)控制設(shè)備中。陶瓷生產(chǎn)線的控制終端如變頻器、溫控表等都帶有RS485接口,協(xié)議為Modbus-RTU。人機(jī)界面也可以作為主站直接跟變頻器通訊,但響應(yīng)速度慢,變頻器數(shù)量多時就不太合適。PLC做主站,把有需要寫入和讀取的參數(shù)通訊,其它內(nèi)容屏蔽,可以有效的縮短通訊時間。CP1H 是歐姆龍公司新近推出的功能強(qiáng)大的一體化小型 PLC,該機(jī)型擴(kuò)展能力強(qiáng),可以帶7 塊擴(kuò)展,內(nèi)置 USB 接口,支持編程功能,2 個可選的 RS422/485 和 RS232C 接口。該機(jī)型支持功能塊編程和 ST 語言編程。安川V1000是陶瓷生產(chǎn)線應(yīng)用廣泛相對穩(wěn)定的變頻器,它的通訊直接用端子連接,通訊時穩(wěn)定可靠,能適應(yīng)比較差的環(huán)境。通過 CP1H 的串行通信接口,簡單經(jīng)濟(jì)。下面就選用陶瓷生產(chǎn)線最常用的PLC 歐姆龍 CP1H跟安川V1000變頻器通訊做詳細(xì)分析。
2 系統(tǒng)組成
(1)歐姆龍 CP1H PLC帶串型通訊模塊CP1W-CIF11
(2)安川變頻器V1000
3 系統(tǒng)設(shè)定
直接使用 CP1H 的Mosbus-RTU簡易主站功能和支持Modbus-RTU變頻器通信。
該功能只需要在規(guī)定的DM數(shù)據(jù)區(qū)寫入需要發(fā)送的Modbus命令, 觸發(fā)發(fā)送標(biāo)志,CP1H,就可以自動發(fā)送添加了CRC16校驗(yàn)的Modbus命令,CP1H將自動接收變頻器的響應(yīng),存儲到特定的DM數(shù)據(jù)區(qū)。使用這種方法不僅可以和變頻器通信,而且可以和任何支持Modbus-RTU協(xié)議的設(shè)備通信。
(1)CP1H設(shè)定:主要設(shè)定串口2為串口網(wǎng)關(guān)功能,通信波特率9600,8,1,N
(2)CP1W-CIF11開關(guān)設(shè)定,1=ON;2,3=ON;5=ON;6=ON變頻器設(shè)定:B1-01=2,頻率由通信給定;H5-01通信地址:每臺變頻地址不重復(fù);??H5-02通信波特率選擇3 9600;H5-03奇數(shù)偶數(shù)效驗(yàn)? ?選擇無效驗(yàn)。
4 Modbus-RTU串口通信特點(diǎn)
(1)Modbus-RTU可以通過發(fā)送為,將存儲在特定DM區(qū)的數(shù)據(jù)按Modbus-RTU方式發(fā)送出去,自動添加CRC校驗(yàn)。
(2)發(fā)送完成后自動接收RTU從站的響應(yīng)數(shù)據(jù),存儲在特定區(qū)域(但是如果沒有響應(yīng),一直會等待接受數(shù)據(jù),不能跳出)。
(3)具體地址分配和發(fā)送狀態(tài)位如下:
Modbus-RTU簡易主站用DM固定分配區(qū)域在以下的DM區(qū)域(串行端口1:D32200 ~ D32249、串行端口2:D32300~ D32349)中保存Modbus-RTU命令。
將「Modbus-RTU簡易主站功能執(zhí)行開關(guān)」OFF→ON后,應(yīng)答則被保存到以下的DM區(qū)域(串行端口1:D32250 ~ D32299、D32350~ D32399)。如表1所示。
相關(guān)特殊輔助繼電器通過對以下的「Modbus-RTU簡易主站功能執(zhí)行開關(guān)」的操作(OFF→ON),按照DM固定分配區(qū)域中設(shè)定的內(nèi)容,Modbus-RTU命令自動發(fā)出,正常結(jié)束/異常結(jié)束反映到標(biāo)志上。如表2所示。
這里需要注意通信數(shù)據(jù)字節(jié)數(shù) D32302和D32202在標(biāo)準(zhǔn)Modbus協(xié)議中是沒有該參數(shù)的,該數(shù)據(jù)字節(jié)數(shù)是指從該地址以后的所有Modbus命令字節(jié)數(shù),不包括 CRC16 的 2 個字節(jié)數(shù)。
在D32300填寫數(shù)據(jù)如下:0001,0006,0004, 0002,1388,向1號變頻器寫入頻率25 Hz,其中 0004 是標(biāo)準(zhǔn) Modbus 協(xié)議內(nèi)沒有的數(shù)據(jù)。指0002,1388,共 4個字節(jié)。
之后觸發(fā)串口2 的發(fā)送位:A640.00,CP1H會自動將標(biāo)準(zhǔn)的Modbus協(xié)議發(fā)送出去。然后將接收到的數(shù)據(jù)存儲在D32350開始的數(shù)據(jù)區(qū)內(nèi)。另接受到的實(shí)際值在D32354~D32355中,分四個字節(jié)顯示,分別在D32354 中的低位和D3235中的高位,其正確結(jié)果需要通過移位整理才能正確顯示,需要注意。
5 程序控制
(1)控制1臺變頻器不間斷讀取變頻器的頻率指令值。
DM32300 ~ DM32304:0001,0003,0004,0023,0002,讀取變頻器1號0023寄存器開始2各字。接受到的實(shí)際值在 D32354~D32355 中,分四個字節(jié)顯示,分別在D32354中的低位和D32355中的高位。用XFRB指令傳送以后得到的頻率值在DM606。
注釋:1)只要W0.00不工作時讀繼電器W0.01就工作;
2)W0.01觸發(fā)A640.00發(fā)送開始,發(fā)送數(shù)據(jù);
3)發(fā)送失敗時,A640.02將W00.01復(fù)位,重新開始發(fā)送;
4)發(fā)送完成后,A640.01將W00.01復(fù)位,再次進(jìn)行發(fā)送。
(2)輪巡讀取多臺變頻器數(shù)據(jù),在需要時寫變頻器數(shù)據(jù)(需要時在寫)。
實(shí)際控制中可能讀取命令較多,而寫變頻器參數(shù)次數(shù)較少,那么將讀寫命令使用一個位區(qū)分,將該位的非串接在讀取傳送前,該位的非串在寫命令的產(chǎn)送前,從而可以決定本次發(fā)送讀命令還是寫命令。具體如下:
D32300的低8位是從站的節(jié)點(diǎn)地址D600;D32301的低8位是命令代碼 例如010是寫多個寄存器命令,006是寫單個寄存器,003是讀寄存器;D32302的通訊數(shù)據(jù)字節(jié)數(shù)指從D32303開始的通訊數(shù)據(jù)的字節(jié)數(shù),需要用戶根據(jù)D32203開始寫入的通訊數(shù)據(jù)自己算出一共多少個字節(jié)然后寫入該通道中。這里是009,表示以下通訊占用9個字節(jié);D32203:0001 寫操作的起始通道為變頻器內(nèi)的0001H寄存器;D32204:0002 寫連續(xù)2個寄存器,2個寄存器分別是001H運(yùn)行方式和0002H設(shè)定頻率;D32205的高8位04表示寫4個字節(jié)0400需要拆分開來,D32305高8位04表示通訊的2寄存器是4個字節(jié),低8位00通過傳送位改變,從D601拆分出來的高8位替換,D601的低8位傳送至D32306,D602為設(shè)定頻率,也是通過傳送位指令XFRB拆分高低位來傳送。
6 結(jié) 語
舉例只是用PLC讀取變頻器的實(shí)際頻率,寫入設(shè)定頻率。實(shí)際應(yīng)用還可以對變頻器的運(yùn)行電流,電壓等參數(shù)讀取,寫入變頻器的多段速,加減速時間等參數(shù)。在需要時寫入變頻器還應(yīng)該注意可以把0900H寄存器寫入0,用于把修改參數(shù)寫入EEPROM,做到參數(shù)保存的功能。熟練掌握PLC通訊,可以幫助操作人員減少工作量。
參考文獻(xiàn)
[1] 安川V1000技術(shù)手冊.
[2] 歐姆龍CP1H操作手冊和編程手冊.