USS_DRV功能塊通過(guò)USS_DRV_DB數(shù)據(jù)塊實(shí)現(xiàn)與USS_PORT功能塊的數(shù)據(jù)接收與傳送,而USS_PORT功能塊是S7-1200 PLC CM1241 RS485模塊與MM440之間的通信接口。USS_RPM功能塊和USS_WPM功能塊與MM440的通信與USS_DRV功能塊的通信方式是相同的。如圖7所示。
圖7:通信結(jié)構(gòu)圖
4.2. 功能塊使用介紹
USS_DRV 功能塊是S7-1200 USS通信的主體功能塊,接受MM440的信息和控制MM440的指令都是通過(guò)這個(gè)功能快來(lái)完成的。必須在主 OB中調(diào)用。
USS_PORT功能塊是S7-1200與MM440進(jìn)行USS通信的接口,主要設(shè)置通信的接口參數(shù)。可在主OB或中斷OB中調(diào)用。
USS_RPM功能塊是通過(guò)USS通信讀取MM440的參數(shù)。必須在主 OB中調(diào)用。
USS_WPM功能塊是通過(guò)USS通信設(shè)置MM440的參數(shù)。必須在主 OB中調(diào)用。
4.3. S7 1200 PLC進(jìn)行USS通信的編程
4.3.1. USS_DRV功能塊的編程
USS_DRV功能塊的編程如圖8所示。
圖8: USS_DRV功能塊的編程
USS_DRV功能塊用來(lái)與MM440進(jìn)行交換數(shù)據(jù),從而讀取MM440的狀態(tài)以及控制MM440的運(yùn)行。每個(gè)MM440使用*的一個(gè)USS_DRV功能塊,但是同一個(gè)CM1241 RS485模塊的USS網(wǎng)絡(luò)的所有MM440(zui多16個(gè))都使用同一個(gè)USS_DRV_DB。
USS_DRV_DB: MM440進(jìn)行USS通信的數(shù)據(jù)塊。 |
|
RUN: DB塊的MM440啟動(dòng)指令。 |
|
|
OFF2: 緊急停止,自由停車(chē)。 該位為0時(shí)停車(chē)。 |
|
OFF3: 快速停車(chē),帶制動(dòng)停車(chē)。該位為0時(shí)停車(chē)。 |
|
F_ACK: MM44*確認(rèn)。 |
|
|
DIR : MM440控制電機(jī)的轉(zhuǎn)向。 |
|
|
SPEED_SP: MM440的速度設(shè)定值。 |
|
|
NDR: 新數(shù)據(jù)就緒。 |
|
|
|
ERROR: 程序輸出錯(cuò)誤。 |
|
|
|
RUN_EN: MM440運(yùn)行狀態(tài)指示。 |
|
|
D_DIR: MM440運(yùn)行方向狀態(tài)指示。 |
|
|
INHIBIT: MM440是否被禁止的狀態(tài)指示。 |
|
FAULT: MM44*。 |
|
|
|
SPEED: MM440的反饋的實(shí)際速度值。 |
|
|
DRIVE: MM440的USS站地址。MM440參數(shù)P2011設(shè)置。 |
PZD_LEN: PZD數(shù)據(jù)的字?jǐn)?shù),有效值2,4,6或8個(gè)字。MM440參數(shù)P2012設(shè)置。 |
|
|
|
|
4.3.2. USS通信接口參數(shù)功能塊的編程
USS通信接口參數(shù)功能塊的編程如圖9所示。
圖9: USS通信接口參數(shù)功能塊的編程
USS_PORT功能塊用來(lái)處理USS網(wǎng)絡(luò)上的通信,它是S71200 CPU與MM440的通信接口。每個(gè)CM1241 RS485模塊有且必須有一個(gè)USS_PORT功能塊。
PORT: 通信模塊標(biāo)識(shí)符:在默認(rèn)變量表的“常量"(Constants) 選項(xiàng)卡內(nèi)引用的常量。
BAUD: 指的是和MM440進(jìn)行通行的速率。 MM440的參數(shù)P2010種進(jìn)行設(shè)置。
USS_DB: 引用在用戶(hù)程序中放置 USS_DRV 指令時(shí)創(chuàng)建和初始化的背景數(shù)據(jù)塊。
ERROR: 輸出錯(cuò)誤。
STATUS:掃描或初始化的狀態(tài)。
USS_PORT 功能通過(guò)RS485通信模塊處理 CPU 和變頻器之間的實(shí)際通信。 每次調(diào)用此功能可處理與一個(gè)變頻器的一次通信。 用戶(hù)程序必須盡快調(diào)用此功能以防止與變頻器通信超時(shí)。 可在主 OB 或任何中斷 OB 中調(diào)用此功能。通常從循環(huán)中斷 OB 調(diào)用USS_PORT 以防止變頻器超時(shí)以及使 USS_DRV 調(diào)用的 USS 數(shù)據(jù)保持。
S7-1200 PLC與MM440的通信是與它本身的掃描周期不同步的,在完成一次與MM440的通信事件之前,S7-1200通常完成了多個(gè)掃描。
USS_PORT通信的時(shí)間間隔是S7-1200與MM440通信所需要的時(shí)間,不同的通信波特率對(duì)應(yīng)的不同的USS_PORT通信間隔時(shí)間。表8列出了不同的波特率對(duì)應(yīng)的USS_PORTzui小通信間隔時(shí)間。
表8:不同的波特率對(duì)應(yīng)的USS_PORTzui小通信間隔時(shí)間
USS_PORT在發(fā)生通信錯(cuò)誤時(shí),通常進(jìn)行3次嘗試來(lái)完成通信事件,那么S7-1200與MM440通信的時(shí)間就是USS_PORT發(fā)生通信超時(shí)的時(shí)間間隔。例如:如果通信波特率是9600,那么USS_PORT與MM440通信的時(shí)間間隔應(yīng)當(dāng)大于zui小的調(diào)用時(shí)間間隔,即大于116.3毫秒而小于349毫秒。S7-1200 USS 協(xié)議庫(kù)默認(rèn)的通信錯(cuò)誤超時(shí)嘗試次數(shù)是2次。
基于以上的USS_PORT通信時(shí)間的處理,建議在循環(huán)中斷OB塊中調(diào)用USS_PORT通信功能塊。在建立循環(huán)中斷OB塊時(shí),我們可以設(shè)置循環(huán)中斷OB塊的掃描時(shí)間,以滿(mǎn)足通信的要求。循環(huán)中斷OB塊的掃描時(shí)間的設(shè)置如圖10所示:
圖10:循環(huán)中斷OB塊的掃描時(shí)間的設(shè)置
4.3.3. USS_RPM功能塊的編程
USS_RPM功能塊的編程 如圖11所示。
圖11:USS_RPM功能塊的編程
USS_RPM功能塊用于通過(guò)USS通信從MM440讀取參數(shù)。
REQ: 讀取參數(shù)請(qǐng)求。 |
|
|
DRIVE: MM440的USS站地址。 |
|
PARAM: MM440的參數(shù)代碼。 |
|
INDEX: MM440的參數(shù)索引代碼 |
|
USS_DB:MM440進(jìn)行USS通信的數(shù)據(jù)塊。 |
|
|
|
|
DONE: 讀取參數(shù)完成。 |
|
|
ERROR: 讀取參數(shù)錯(cuò)誤。 |
|
|
STATUS:讀取參數(shù)狀態(tài)代碼。 |
|
VALUE: 所讀取的參數(shù)的值。 |
|
注意:進(jìn)行讀取參數(shù)功能塊編程時(shí),各個(gè)數(shù)據(jù)的數(shù)據(jù)類(lèi)型一定要正確對(duì)應(yīng)。
4.3.4. USS_WPM功能塊的編程
USS_WPM功能塊的編程如圖12所示。
圖12:USS_WPM功能塊的編程
USS_WPM功能塊用于通過(guò)USS通信設(shè)置MM440的參數(shù)。
REQ: 寫(xiě)參數(shù)請(qǐng)求。 |
|
|
DRIVE: MM440的USS站地址。 |
|
PARAM: MM440的參數(shù)代碼。 |
|
INDEX: MM440的參數(shù)索引代碼。 |
|
EEPROM:把參數(shù)存儲(chǔ)到MM440的EEPROM。 |
VALUE: 設(shè)置參數(shù)的值。 |
|
|
USS_DB:MM440進(jìn)行USS通信的數(shù)據(jù)塊。 |
|
|
|
|
DONE: 讀取參數(shù)完成。 |
|
|
ERROR: 讀取參數(shù)錯(cuò)誤狀態(tài)。 |
|
注意:對(duì)寫(xiě)入?yún)?shù)功能塊編程時(shí),各個(gè)數(shù)據(jù)的數(shù)據(jù)類(lèi)型一定要正確對(duì)應(yīng)。
4.3.5. 常見(jiàn)錯(cuò)誤
如果讀寫(xiě)同時(shí)使能,則報(bào)錯(cuò)818A:參數(shù)請(qǐng)求通道正在被本變頻器的另一請(qǐng)求占用。如圖13所示。
圖13:讀寫(xiě)同時(shí)使能報(bào)錯(cuò)
如果通信斷開(kāi),則PORT報(bào)錯(cuò)818B,如圖14所示。
圖14:通信斷開(kāi)報(bào)錯(cuò)
西門(mén)子6SE6440-2UE21-5CA1