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

PORT功能塊用來(lái)處理USS網(wǎng)絡(luò )上的通信,它是S71200 CPU與變頻器的通信接口。每個(gè)CM1241 RS485模塊有且必須有一個(gè)USS_PORT功能塊。
PORT:指的是通過(guò)哪個(gè)通信模塊進(jìn)行USS通信。
BAUD:指的是和變頻器進(jìn)行通行的速率。變頻器的參數P2020進(jìn)行設置。
USS_DB:指的是和變頻器通信時(shí)的USS數據塊。使用USS_DRV_DB數據塊。
STATUS:掃描或初始化的狀態(tài)。
2.USS_DRV功能塊的編程
USS_DRV功能塊的編程如下圖所示。

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

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

USS_WPM? ?功能塊用于通過(guò)USS通信設置變頻器的參數。
REQ:? ? ?讀取參數請求。
DRIVE:? ?變頻器的USS站地址。
PARAM:? ?變頻器的參數代碼。
INDEX:? ?變頻器的參數索引代碼。
EEPROM:? 把參數存儲到變頻器的EEPROM。
VALUE:? ?設置參數的值。
USS_DB:? 指定變頻器進(jìn)行USS通信的數據塊。
DONE:? ? 讀取參數完成。
ERROR:? ?讀取參數錯誤狀態(tài)。
STATUS:? 讀取參數狀態(tài)代碼。
注意:對寫(xiě)入參數功能塊編程時(shí),各個(gè)數據的數據類(lèi)型一定要正確對應。如果需要設置變量進(jìn)行寫(xiě)入參數值時(shí),注意該參數變量的初始值不能為0,否則容易產(chǎn)生通信錯誤。
5. S7 1200 PLC進(jìn)行USS通信的調試
S7-1200 PLC 通過(guò)CM1241 RS485模塊與變頻器進(jìn)行USS通信時(shí),需要注意如下幾點(diǎn):
當同一個(gè)CM1241 RS485 模塊帶有多個(gè)(最多16個(gè))USS變頻器時(shí),這個(gè)時(shí)候通信的USS_DB是同一個(gè),USS_DRV功能塊調用多次,每個(gè)USS_DRV功能塊調用時(shí),相對應的USS站地址與實(shí)際的變頻器要一致,而其它的控制參數也要一致。
當同一個(gè)S7-1200 PLC 帶有多個(gè)CM1241 RS485模塊(最多3個(gè))時(shí),這個(gè)時(shí)候通信的USS_DB相對應的是3個(gè),每個(gè)CM1241 RS485模塊的USS網(wǎng)絡(luò )使用相同的USS_DB,不同的USS網(wǎng)絡(luò )使用不同的USS_DB。
當對變頻器的參數進(jìn)行讀寫(xiě)操作時(shí),注意不能同時(shí)進(jìn)行USS_RPM和USS_WPM的操作,并且同一時(shí)間只能進(jìn)行一個(gè)參數的讀或者寫(xiě)操作,而不能進(jìn)行多個(gè)參數的讀或者寫(xiě)操作。