產品簡介
本公司*銷售西門子PLC ET-200,S7-200,S7-300,S7-400,1200,西門子PLC附件,西門子電機,西門子人機界面,西門子變頻器,西門子數控伺服,
詳細介紹
USS_RPM_x指令
有三個用于USS協議的讀指令:
q USS_RPM_W (端口0)或USS_RPM_W_P1(端口1)指令讀取一個無符號字參數。
q USS_RPM_D (端口0)或USS_RPM_D_P1(端口1)指令讀取一個無符號雙字參數。
q USS_RPM_R (端口0)或USS_RPM_R_P1 (端口1)指令讀取一個浮點數參數。
同時只能有一個讀(USS_RPM_x)或寫(USS_WPM_x)指令
。
當MicroMaster驅動對接收的命令應答或有報錯時, USS_RPM_x指令的處理結束。在該等待響應期間,邏輯掃描繼續執行。
要使能對一個請求的傳送,EN位必須接通并且保持為1直至Done位置1,即意味著結束。例如,當XMT_REQ輸入接通時,每一循環掃描向MicroMaster驅動傳送一個USS_RPM_x請求。因此,應使用脈沖邊沿檢測作為XMT_REQ的輸入,這樣,每當EN輸入有一個正的改變時,只 發送一個請求。
Drive是向其發送USS_RPM_x命令的MicroMaster驅動的地址。每個驅動的有效地址為0到31。
Param是參數號碼。Index是要讀的參數的索引值。Value是返回的參數數值。您必須為DB_Ptr輸入提 供一個16字節緩存區的地址。該緩存區用于存儲向MicroMaster驅動發送的命令的執行結果。
當USS_RPM_x指令結束時,Done輸出接通,Error輸出字節和Value輸出包含該指令的執行結果。表
11- 6定義了該指令執行可能引起的錯誤條件。只有Done位輸出接通時Error和Value輸出才有效。
表11- 4 USS_RPM_x的有效操作數
輸入/輸出 | 數據類型 | 操作數 |
XMT_REQ | BOOL | I、Q、M、S、SM、T、C、V、L、功率流,上升沿有效 |
Drive | BYTE | VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD、常數 |
Param、Index | WORD | VW、IW、QW、MW、SW、SMW、LW、T、C、AC、AIW、*VD、 *AC、*LD、常數 |
DB_Ptr | DWORD | &VB |
Value | WORD DWORD、REAL | VW、IW、QW、MW、SW、SMW、LW、T、C、AC、AQW、*VD、 *AC、*LD VD、ID、QD、MD、SD、SMD、LD、*VD、*AC、*LD |
Done | BOOL | I、Q、M、S、SM、T、C、V、L |
Error | BYTE | VB、IB、QB、MB、SB、SMB、LB、AC、 *VD、*AC、*LD |
USS_WPM_x指令
有三個用于USS協議的寫指令:
q USS_WPM_W (端口0)或USS_WPM_W_P1 (端口1)指令寫入一個無符號字參數。
q USS_WPM_D (端口0)或USS_WPM_D_P1 (端口1) 指令寫入一個無符號雙字參數。
q USS_WPM_R (端口0)或USS_WPM_R_P1 (端口1)
指令寫入一個浮點參數。
同時只能有一個讀(USS_RPM_x)或寫(USS_WPM_x)指令
。
當MicroMaster驅動對接收的命令應答或有報錯時, USS_WPM_x指令處理結束。在該等待響應時,邏輯掃描 將繼續執行。
要使能對一個請求的傳送,EN位必須接通并且保持為1直至Done位置1,即意味著結束。例如,當XMT_REQ輸入接通時,每循環掃描向MicroMaster驅動傳遞一個USS_RPM_x 請求。因此,應使用脈沖邊沿檢測作為XMT_REQ的輸入,這 樣,每當EN輸入有一個正的改變時,只發送一個請求。
EEPROM輸入在打開時啟用對驅動器的RAM和EEPROM的寫入,當關閉時僅啟用對RAM的寫入。請注意MM3驅動不支持該功能,因此該輸入必須關閉。
Drive是向其發送USS_WPM_x命令的MicroMaster驅動的地 址。每個驅動的有效地址為0到31。
Param是參數號。Index是要寫的參數的索引值。Value是要寫到驅動上的RAM中的參數值。對于3系列的MicroMaster驅 動,您還可以將該值寫到驅動上的EEPROM中,這將基于您 對P971的組態(EEPROM存儲控制)。
您必須為DB_Ptr輸入提供一個16字節緩存區的地址。該緩存區由USS_WPM_x指令使用,存儲向
MicroMaster驅動發送的命令的執行結果。
當USS_WPM_x指令結束時,Done輸出接通,Error輸出字節包含該指令的執行結果。表11- 6定義了
該指令執行可能引起的錯誤條件。
當EEPROM輸入接通后,指令對驅動的RAM和EEPROM都進行寫操行。當此輸入斷開后,指令只對 驅動的RAM進行寫操作。由于MicroMaster 3驅動并不支持此功能,所以您必須確保輸入為斷開,以便能對一個MicroMaster 3驅動使用此指令。
表11- 5 USS_WPM_x指令的有效操作數
輸入/輸出 | 數據類型 | 操作數 |
XMT_REQ | BOOL | I、Q、M、S、、SM、T、C、V、L、功率流,上升沿有效 |
EEPROM | BOOL | I、Q、M、S、SM、T、C、V、L、功率流 |
Drive | BYTE | VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD、常數 |
Param、Index | WORD | VW、IW、QW、MW、SW、SMW、LW、T、C、AC、AIW、*VD、*AC、*LD、 常數 |
DB_Ptr | DWORD | &VB |
Value | WORD DWORD、REAL | VW、IW、QW、MW、SW、SMW、LW、T、C、AC、AQW、*VD、*AC、*LD VD、ID、QD、MD、SD、SMD、LD、*VD、*AC、*LD |
表11- 5 USS_WPM_x指令的有效操作數
輸入/輸出 | 數據類型 | 操作數 |
Done | BOOL | I、Q、M、S、SM、T、C、V、L |
Error | BYTE | VB、IB、QB、MB、SB、SMB、LB、AC、 *VD、*AC、*LD |
當心 當您使用USS_WPM_x指令刷新存儲在驅動的EEPROM中的參數設置時,必須確保不超過對 EEPROM寫周期的的限定(大約50,000次)。 寫周期超限將引起存儲數據的崩潰和數據丟失。讀周期的沒有限定。 如果需要地向驅動寫參數,您首先要將驅動中的EEPROM存儲控制參數設為零(對 MicroMaster3驅動而言)并把MicroMaster4驅動的EEPROM輸入關掉。 |
實例:USS_RPM_x和USS_WPM_x | |
| Network 1 //這兩個器必須有相同地址 |
LD I0.0 | |
= L60.0 | |
LD I0.0 | |
EU | |
= L63.7 | |
LD L60.0 | |
CALL USS_RPM_W, L63.7, 0, 3, 0, &VB100, | |
M0.0, VB10, VW200 | |
Network 2 //這兩個器必須有相同地址 | |
LD I0.1 | |
= L60.0 | |
LD I0.1 | |
EU | |
= L63.7 | |
LDN SM0.0 | |
= L63.6 | |
LD L60.0 | |
CALL USS_WPM_W, L63.7, L63.6, 0, 971, 0, 1, | |
&VB120, M0.1, VB11 |
USS協議示例程序
實例:USS指令以STL形式正確顯示的實例程序 | |
| Network 1 //初始化USS協議: //在第1次掃描時啟用端口0的 //USS協議,波特率為19200 //驅動器地址 //“0"有效。 LD SM0.1 CALL USS_INIT, 1, 19200, 16#, Q0.0, VB1 Network 2 //控制0號驅動的參數LD SM0.0 CALL USS_CTRL, I0.0, I0.1, I0.2, I0.3, I0.4, 0, 1, 100.0, M0.0, VB2, VW4, VD6, Q0.1, Q0.2, Q0.3, Q0.4 Network 3 //從驅動器0讀取一個字參數。 //讀參數5索引0。 //1. 將I0.5狀態保存到一個 // 臨時位置,從而 // 以LAD顯示該程序段。 //2. 將I0.5的上升沿脈沖保存到 // 臨時L位置以便 // 可將其傳遞給子程序。 LD I0.5 = L60.0 LD I0.5 EU = L63.7 LD L60.0 CALL USS_RPM_W, L63.7, 0, 5, 0, &VB20, M0.1, VB10, VW12 Network 4 //將一個字參數寫入到驅動器0。 //寫參數2000索引0。 LD I0.6 = L60.0 LD I0.6 EU = L63.7 LDN SM0.0 = L63.6 LD L60.0 CALL USS_WPM_R, L63.7, L63.6, 0, 2000, 0, 50.0, &VB40, M0.2, VB14 注意:該STL代碼不編譯為LAD或FBD。 |
USS執行錯誤代碼
表11- 6 USS指令的執行錯誤代碼
錯誤代碼 | 描述 |
0 | 無錯 |
1 | 驅動沒響應 |
2 | 來自驅動的響應中檢測到校驗和錯誤 |
3 | 來自驅動的響應中檢測到檢驗錯誤 |
4 | 由來自用戶程序的引起的錯誤 |
5 | 嘗試非法命令 |
6 | 提供非法驅動地址 |
7 | 通訊口未設為USS協議 |
8 | 通訊口正忙于處理某條指令 |
9 | 驅動速度輸入超限 |
10 | 驅動響應的長度不正確 |
11 | 驅動響應的個字符不正確 |
12 | 驅動響應的長度字符不被USS指令所支持 |
13 | 錯誤的驅動響應 |
14 | 提供的DB_Ptr地址不正確 |
15 | 提供的參數號碼不正確 |
16 | 所選協議無效 |
17 | USS活動;不允許更改 |
18 | 的波特率非法 |
19 | 無通訊:驅動器不活動 |
20 | 驅動響應的參數或數值不正確或包含錯誤代碼 |
21 | 請求一個字類型的數值卻返回一個雙字類型值。 |
22 | 請求一個雙字類型的數值卻返回了一個字類型值。 |
下一篇:S7-200PLC6ES72317PD220XA8