PLC 與 變頻器 RS485通訊
時(shí)間很快,都工作一個(gè)月了,想想運(yùn)氣不錯(cuò),剛進(jìn)公司馬上就被分配了一個(gè)做關(guān)于RS485通訊的工作。
變頻器雖然在學(xué)校有學(xué)過(guò),但資料很少很淺,變頻器的RS485通訊更是從零開(kāi)始,所以從理論的通過(guò)到實(shí)踐的通過(guò)期間
遇到很多問(wèn)題。上網(wǎng)收索可以看到很多人問(wèn),但很少有人給以回答。所以想了想就把我整理的資料給喜歡PLC的人分享一
下,我認(rèn)為對(duì)于剛接觸RS485的人來(lái)說(shuō)會(huì)有很大幫助。(高手見(jiàn)笑了,有不足的地方請(qǐng)指出)
我使用的是匯川H2U plc ,其基本的功能和編程環(huán)境和三菱PLC是一樣的。變頻器使用的是三基變頻器。
1.搭建架構(gòu),要確定PLC和變頻器的完好性,將匯川plc和變頻器的RS485接口用雙絞線(xiàn)連接起來(lái),在此建議大家再并聯(lián)
出兩根線(xiàn),再下載一個(gè)串口調(diào)試軟件,用于變頻器命令的確定。(稍后再詳細(xì)說(shuō)明)
2.雙方的參數(shù)調(diào)整,對(duì)著變頻器的使用手冊(cè),將變頻器的調(diào)成RS485界面,RS485模式。還有調(diào)整它的通訊參數(shù)
我調(diào)整為 波特率 9600 數(shù)據(jù)位 8位 停止位 1 無(wú)校驗(yàn)。 PLC里的參數(shù)是通過(guò)D8120這個(gè)存儲(chǔ)器來(lái)調(diào)整的,通過(guò)調(diào)整
D8140內(nèi)的位能改變參數(shù),(具體見(jiàn)D8140詳解)注意PLC和變頻器的通訊參數(shù)一定要一樣,因此將D8120調(diào)為81H。在通訊
方面匯川和三菱方面有一點(diǎn)很大的區(qū)別是要匯川還要確定 D8126這個(gè)參數(shù),作為主站有3種模式,兩種是MODBUS協(xié)議,還
有一種是自由無(wú)協(xié)議通訊模式。(這一點(diǎn)一定要注意,這個(gè)地方弄了我很久) 我們此次先用自由協(xié)議,將D8126調(diào)整為
H10.還有就是將M8161置位,這樣使用的8位數(shù)據(jù)處理模式。
3.命令確定,其實(shí)RS485其實(shí)就是一種串口通信模式,說(shuō)白話(huà)一點(diǎn)就是我發(fā)送一串1,0組成的數(shù)據(jù),然后這串命令正好
符合你的要求的話(huà),我就能控制你做相應(yīng)的事情了(我是這樣理解的)。我用具體的代碼來(lái)解釋一下三基的通訊模式,
控制變頻器停止3A 30 31 30 36 32 30 30 30 30 30 30 31 44 38 0D 0A 。3A是一個(gè)握手代碼,相當(dāng)于聲明“我要開(kāi)始
傳數(shù)據(jù)啦” 3031其實(shí)就是01H的ASCI碼,簡(jiǎn)單來(lái)說(shuō)就是減去一個(gè)30H(三菱里有專(zhuān)門(mén)的轉(zhuǎn)換成ASCI碼的指令,你也可以直
接加30H)代表變頻器的站號(hào),3036為06的ASCI碼,代表“寫(xiě)”的意思,32 30 30 30是2000H ASCI碼,代表寫(xiě)入得地址
,30 30 30 31 為0001H的ASCI碼,是寫(xiě)入得“內(nèi)容”。44 38 是校驗(yàn)碼,是01+06+20+00+00+01加起來(lái)然后反補(bǔ)加一(
我想是起一個(gè)放錯(cuò)的功能吧),然后0D 0A是結(jié)束碼相當(dāng)于聲明“我傳送完啦”總結(jié)起來(lái)就是 我要往01號(hào)變頻器的2000
地址里寫(xiě)入01H這個(gè)數(shù),而這個(gè)地址的這個(gè)數(shù)代表的正是前面所說(shuō)的“停止”。
新手的話(huà)可以利用前面并出來(lái)的線(xiàn)和串口調(diào)試軟件,將你需要的命令確定出來(lái),看看你的代碼是不是對(duì)的,能不能
起作用,然后再編制程序,如果直接編譯程序下載調(diào)試,如果沒(méi)有效果的話(huà),你不知道問(wèn)題出在哪里了。
4.然后是根據(jù)編譯程序,就三菱來(lái)說(shuō)的話(huà)用到RS指令,RS A B C D ,A 代表發(fā)送起始地址,B代表從A開(kāi)始后發(fā)送的
數(shù)據(jù)個(gè)數(shù),C是存儲(chǔ)起始地址,D代表存儲(chǔ)個(gè)數(shù)。因此你可以把3A 30 31 30 36 32 30 30 30 30 30 30 31 44 38 0D 0A
放到從D100到D116中,然后再 RS D100 K17 D200 0 指令, 再觸發(fā)M8122(發(fā)送命令)。就能把這條代碼發(fā)出去了,然后就能起到
控制效果。
匯川還有MODBUS標(biāo)準(zhǔn)協(xié)議,比自由協(xié)議要簡(jiǎn)單很多,把握手,校驗(yàn),停止,都做到一條指令里去了,但是知道了自由
協(xié)議的話(huà)MODBUS就好做了,所以這里就不介紹啦。
理論同的話(huà)實(shí)踐是會(huì)碰到許多問(wèn)題,一定要注意很多細(xì)節(jié)的調(diào)整,我最近要弄一個(gè)LG的RS485通訊,又碰到了新的一
些問(wèn)題,所以理論和實(shí)踐還是有很大區(qū)別的,在此要感謝王工程師和網(wǎng)上認(rèn)識(shí)的李工程師,對(duì)我進(jìn)行了很多指導(dǎo)。