西門子PLC使用AB433A終端無(wú)線控制變頻器實(shí)例
西門子PLC使用AB433A終端無(wú)線控制變頻器實(shí)例
本中主要介紹了西門子PLC使用AB433A終端,無(wú)線控制變頻器的實(shí)例。西門子PLC通過MODBUS協(xié)議與AB433A終端通信,AB433A無(wú)線終端又將控制信號(hào)發(fā)送給遠(yuǎn)端的變頻器。這種PLC無(wú)線通信方案相較于傳統(tǒng)有線方案,解決了布線以及線路保養(yǎng)的問題,降低了實(shí)施難度和實(shí)施價(jià)格等問題。
我們選用西門子的S7-200、臺(tái)達(dá)的變頻器、西安艾寶物聯(lián)的AB433A系列無(wú)線模塊,來搭建系統(tǒng),西門子PLC采用MODBUS自由口通信模式,22X系列后提供MODBUS庫(kù)。
通信模式選擇MODBUS RTU、無(wú)校驗(yàn)、8位數(shù)字位、一個(gè)停止位、波特率9600。
PLC程序詳解:
先選擇相應(yīng)的MODBUS 協(xié)議庫(kù)文件
圖 1. 西門子標(biāo)準(zhǔn)指令庫(kù)
注意:
MODBUS RTU 主站指令庫(kù)的對(duì) Port 0 和 Port 1 有效,用戶程序條用指令庫(kù),指令庫(kù)設(shè)置通信口工作在自由口模式。
通過使用常開 SM0.0 調(diào)用 MBUS_CTRL 完成對(duì)MODBUS主站通信的初始化,并啟動(dòng)其功能控制(具體程序如下):
圖 2. 用 SM0.0 調(diào)用 MODBUS RTU 主站初始化與控制子程序
注意:
程序中Timeout處的數(shù)值設(shè)置,需要考慮到無(wú)線通信時(shí)的延時(shí)問題,適當(dāng)?shù)募娱L(zhǎng)延時(shí)時(shí)間,一般在已有延時(shí)時(shí)間基礎(chǔ)上加150ms左右。
調(diào)用 MODBUS RTU 主站讀寫子程序MBUS_MSG,讀取從站保持寄存器的數(shù)據(jù),發(fā)送一個(gè)MODBU請(qǐng)求.
注意:
MODBUS主站讀寫的最大數(shù)據(jù)量為120個(gè)字;開關(guān)量輸出和保持寄存器支持讀和寫功能,開關(guān)量輸入和模擬量輸入只支持讀功能。
具體程序如下:
圖 3. 調(diào)用MODBUS RTU 主站讀寫子程序
以上就是主要PLC的主要程序,在程序的注釋中將常見的錯(cuò)誤已經(jīng)給出。
無(wú)線模塊只需與西門子PLC通過RS485總線相連即可,模塊的波特率應(yīng)與PLC設(shè)置的一致,在這里是9600。
變頻器端設(shè)置好地址以及通信方式即可,再將AB433A無(wú)線終端通過RS485總線與變頻器連接。本實(shí)例中PLC端是唯一需要編程的部分,在AB433A部分只需要簡(jiǎn)單的接線以及通過撥碼開關(guān)設(shè)置波特率,變頻器只需要設(shè)置通信模式和地址。如果你的變頻器的地址換成十進(jìn)制超過了9999就要加多一位。例如:地址H3000轉(zhuǎn)換成十進(jìn)制12288,在PLC中就是412289。