USS通訊協議是西門子內(nei) 部的通訊協議,不對外公開,隻能用來控製西門子的驅動器及控製器,利用西門子的USS協議,用西門子的S7-1200PLC控製G120變頻器,非常方便。
一、PLC組態
根據PLC設備正確組態PLC,可以直接讓博圖軟件獲取PLC的配置,快捷省事。我實驗室的PLC配置為(wei) 1214DC/DC/DC、CM1241RS422/485、sm1221、sm1222、sm1234,如下圖。因為(wei) USS通訊利用了485通訊的物理鏈接,而1200PLC本身不帶485接口,要想進行USS通訊就必須添加通訊模塊或通訊板。
二、 G120參數設置
1、複位變頻器,變頻器可能被調試或修改了參數,為(wei) 了不受其他因素影響,每次調試最好先複位工廠設置。
2、通過宏配置G120變頻器為(wei) 總線控製。
3、設置G120變頻器的其它參數。P2020=6,波特率設置為(wei) 9600bps;P2021=3,地址為(wei) 3;p2030=1,為(wei) USS總線協議,如果為(wei) 2則是modbus總線協議。p2031=2,偶校驗。p2022=2,p2023=4,設置PZD=2、PKW=4 其它可以保持默認。
三、編寫(xie) 1200PLC程序
1.USS通信接口參數功能塊的編程
USS通信接口參數功能塊的編程如下圖所示。

PORT功能塊用來處理USS網絡上的通信,它是S71200 CPU與(yu) 變頻器的通信接口。每個(ge) CM1241 RS485模塊有且必須有一個(ge) USS_PORT功能塊。
PORT:指的是通過哪個(ge) 通信模塊進行USS通信。
BAUD:指的是和變頻器進行通行的速率。變頻器的參數P2020進行設置。
USS_DB:指的是和變頻器通信時的USS數據塊。使用USS_DRV_DB數據塊。
STATUS:掃描或初始化的狀態。
2.USS_DRV功能塊的編程
USS_DRV功能塊的編程如下圖所示。

USS_DRV功能塊用來與(yu) 變頻器進行交換數據,從(cong) 而讀取變頻器的狀態以及控製變頻器的運行。每個(ge) 變頻器使用唯一的一個(ge) USS_DRV功能塊,但是同一個(ge) CM1241 RS485模塊的USS網絡的所有變頻器(最多16個(ge) )都使用同一個(ge) USS_DRV_DB。
USS_DRV_DB:指定變頻器進行USS通信的數據塊。
RUN: 指定DB塊的變頻器啟動指令。
OFF2: 緊急停止,自由停車。該位為(wei) 0時停車。
OFF3: 快速停車,帶製動停車。該位為(wei) 0時停車。
F_ACK: 變頻器故障確認。
DIR : 變頻器控製電機的轉向。
SPEED_SP: 變頻器的速度設定值。
ERROR: 程序輸出錯誤。
RUN_EN: 變頻器運行狀態指示。
D_DIR: 變頻器運行方向狀態指示。
INHIBIT: 變頻器是否被禁止的狀態指示。
FAULT: 變頻器故障。
SPEED: 變頻器的反饋的實際速度值。
DRIVE: 變頻器的USS站地址。變頻器參數P2030設置。
PZD_LEN: 變頻器的循環過程字。變頻器參數P2022設置。
注意:變頻器的PKW的長度在這裏是特殊需要注意的,在使用USS通信時必須是4,如果改成3或者127都將不能讀取反饋回來的過程值。
3.USS_RPM功能塊的編程
USS_RPM功能塊的編程 如下圖所示。

USS_RPM功能塊用於(yu) 通過USS通信從(cong) 變頻器讀取參數。
REQ: 讀取參數請求。
DRIVE: 變頻器的USS站地址。
PARAM: 變頻器的參數代碼。
INDEX: 變頻器的參數索引代碼
USS_DB: 指定變頻器進行USS通信的數據塊。
DONE: 讀取參數完成。
ERROR: 讀取參數錯誤。
STATUS: 讀取參數狀態代碼。
VALUE: 所讀取的參數的值。
注意:進行讀取參數功能塊編程時,各個(ge) 數據的數據類型一定要正確對應。如果需要設置變量讀取參數時,注意該參數變量的初始值不能為(wei) 0,否則容易產(chan) 生通信錯誤。
4.USS_WPM功能塊的編程
USS_WPM功能塊的編程如下圖所示。

USS_WPM 功能塊用於(yu) 通過USS通信設置變頻器的參數。
REQ: 讀取參數請求。
DRIVE: 變頻器的USS站地址。
PARAM: 變頻器的參數代碼。
INDEX: 變頻器的參數索引代碼。
EEPROM: 把參數存儲(chu) 到變頻器的EEPROM。
VALUE: 設置參數的值。
USS_DB: 指定變頻器進行USS通信的數據塊。
DONE: 讀取參數完成。
ERROR: 讀取參數錯誤狀態。
STATUS: 讀取參數狀態代碼。
注意:對寫(xie) 入參數功能塊編程時,各個(ge) 數據的數據類型一定要正確對應。如果需要設置變量進行寫(xie) 入參數值時,注意該參數變量的初始值不能為(wei) 0,否則容易產(chan) 生通信錯誤。
5. S7 1200 PLC進行USS通信的調試
S7-1200 PLC 通過CM1241 RS485模塊與(yu) 變頻器進行USS通信時,需要注意如下幾點:
當同一個(ge) CM1241 RS485 模塊帶有多個(ge) (最多16個(ge) )USS變頻器時,這個(ge) 時候通信的USS_DB是同一個(ge) ,USS_DRV功能塊調用多次,每個(ge) USS_DRV功能塊調用時,相對應的USS站地址與(yu) 實際的變頻器要一致,而其它的控製參數也要一致。
當同一個(ge) S7-1200 PLC 帶有多個(ge) CM1241 RS485模塊(最多3個(ge) )時,這個(ge) 時候通信的USS_DB相對應的是3個(ge) ,每個(ge) CM1241 RS485模塊的USS網絡使用相同的USS_DB,不同的USS網絡使用不同的USS_DB。
當對變頻器的參數進行讀寫(xie) 操作時,注意不能同時進行USS_RPM和USS_WPM的操作,並且同一時間隻能進行一個(ge) 參數的讀或者寫(xie) 操作,而不能進行多個(ge) 參數的讀或者寫(xie) 操作。