西門子6ES7216-2AD23-0XB8
SIEMENS 湖南森泓自動化設(shè)備有限公司
、在使用MicroWin software 創(chuàng)建項目之前,確認(rèn)USS庫文件已經(jīng)安裝:
3、創(chuàng)建一個例程:
3.1 設(shè)置通訊接口
本例程使用PC/PPI電纜。
3.2 建立PC和PLC之間的連接
“雙擊刷新”搜索到PLC后,點擊”確認(rèn)”。
3.3 用電纜將S7-200 Port 0端口與V20的RS485接口相連(注意端口連接規(guī)則:V20的
P+對3、N-對8),如下圖所示:
3.4 變頻器參數(shù)設(shè)置:
V20 可以通過選擇連接宏Cn010實現(xiàn)USS控制,也可以通過直接更改變頻器參數(shù)的方法來實現(xiàn)。參數(shù)設(shè)置如下表所示:
表一:
參數(shù) | 描述 | Cn010默認(rèn)值 | 實際設(shè)置 | 備注 |
P0700[0] | 選擇命令源 | 5 | 5 | RS485為命令源 |
P1000[0] | 選擇頻率 | 5 | 5 | RS485為速度設(shè)定值 |
P2023 | RS485協(xié)議選擇 | 1 | 1 | USS協(xié)議 |
P2010[0] | USS/MODBUS波特率 | 8 | 6 | 波特率為9600bps |
P2011[0] | USS地址 | 1 | 3 | 變頻器的USS地址 |
P2012[0] | USS PZD長度 | 2 | 2 | PZD部分的字?jǐn)?shù) |
P2013[0] | USS PKW長度 | 127 | 127 | PKW部分字?jǐn)?shù)可變 |
P2014[0] | USS/MODBUS報文間斷時間 | 500 | 0 | 接收數(shù)據(jù)時間 |
3.5 使用USS協(xié)議的初始化模塊初始化S7-200的PORT0端口:
EN使能:每次改變通訊狀態(tài)都應(yīng)該執(zhí)行一次初始化指令。所以EN信號應(yīng)該通過邊沿檢測元件脈沖激活。
Mode:用這個USS輸入值選擇通訊協(xié)議。
1:為端口0USS協(xié)議,并啟用該協(xié)議。
0:為端口0PPI協(xié)議,并禁止USS協(xié)議。
Baud: 波特率:9600,19200…115200。
Active:激活驅(qū)動地址。
Done:當(dāng)USS_INIT 指令執(zhí)行完成后,Done=1。
Error:指令執(zhí)行的結(jié)果,如果有錯誤,顯示錯誤代碼。
Active:激活驅(qū)動地址舉例:
3.6 使用USS——CTRL模塊來控制USS地址為3的變頻器,為了運行變頻器需要按照表一設(shè)置參數(shù):
狀態(tài)表:
功能塊定義:
EN:通常情況總是激活。
RUN:指示驅(qū)動為啟用(1),或禁止(0)。
OFF2:允許V20自由停車。
OFF3:允許V20快速停止。
F _ACK:V2*復(fù)位。
DIR:V20轉(zhuǎn)動方向(0:逆時針;1:順時針)。
Drive:V20地址 0-31。
Speed:速度給定值,以全速的百分比給出 (-200.0~~200.0%,負(fù)值時,V20反向)。
Resp_R:輪詢V20,掃描時=1,并更新下面值。
Error:錯誤字節(jié),參見表:USS指令執(zhí)行錯誤。
Status:V20返回狀態(tài)值。
Speed:V20速度,(-200.0~~200.0%)。
Run_EN:V20運行狀態(tài)(1:運行;0:停止)。
D_DIR:V20轉(zhuǎn)動方向(0:逆時針;1:順時針)
Inhibit:V20禁止位狀態(tài)。 (0:啟用;1:禁止)。要清除禁止位,必須將Fault清零,
RUN,OFF2, OFF3輸入也要清零。
Fault:指示故障狀態(tài)。根據(jù)V2*表確認(rèn)故障。故障排除后,置位F _ACK使Fault
清零。
表二:Error 信息
Error代碼 | 說明 |
0 | 沒有錯誤 |
1 | 驅(qū)動未響應(yīng) |
2 | 檢測到驅(qū)動響應(yīng)中存在校驗和錯誤 |
3 | 檢測到驅(qū)動響應(yīng)中存在奇偶校驗錯誤 |
4 | 由于用戶程序干擾導(dǎo)致出錯 |
5 | 嘗試執(zhí)行了無效命令 |
6 | 提供的驅(qū)動地址無效 |
7 | 該通訊接口不能實現(xiàn)USS協(xié)議 |
8 | 該通訊接口正在忙于處理指令 |
9 | 驅(qū)動速度輸入溢出 |
10 | 驅(qū)動響應(yīng)的長度不正確 |
11 | 驅(qū)動響應(yīng)的首字符不正確 |
12 | 驅(qū)動響應(yīng)的長度字符不正確 |
13 | 驅(qū)動響應(yīng)錯誤 |
14 | 給出的DB_PTR地址不正確 |
15 | 給出的參數(shù)號不正確 |
16 | 選擇了無效的協(xié)議 |
17 | 啟用USS:不允許更改 |
18 | 了無效的波特率 |
19 | 無通訊:驅(qū)動未激活 |
20 | 驅(qū)動響應(yīng)中的參數(shù)或值不正確 |
圖5
注意:如果在數(shù)據(jù)塊中定義了某地址的數(shù)據(jù),而又使用這種辦法存儲同樣地址的數(shù)據(jù),則當(dāng)CPU內(nèi)超級電容或電池沒電時,CPU再上電時將采用SMB31和SMW32存儲的數(shù)據(jù)。
問題8:EEPROM寫入次數(shù)的統(tǒng)計?
回答:每次下載程序塊/數(shù)據(jù)塊/系統(tǒng)塊或者執(zhí)行一次SMB31.7置位的操作都算作對EEPROM的一次寫操作,所以請注意在程序中一定不要每周期都調(diào)用SMB31/SMW32用于將數(shù)據(jù)寫入EEPROM內(nèi),否則CPU將很快報廢。
問題9:不使用數(shù)據(jù)塊的方法,如何在程序中實現(xiàn)不止一個V區(qū)數(shù)據(jù)的存儲?
回答:由于SMB31/SMW32一次多只能送入一個V區(qū)雙字給EEPROM區(qū)域,因而當(dāng)有超過一個雙字的數(shù)據(jù)需要送入EEPROM中時,需要程序配合實現(xiàn)。具體操作方法可參照如下的例子,即使用SMB31/SMW32送完一個數(shù)據(jù)(字節(jié)/字/雙字)之后,通過一個標(biāo)志位(如M0.0)來觸發(fā)下一個SMB31/SMW32操作,之后需要將上一個標(biāo)志位清零,以用于下一次的存儲數(shù)據(jù)的操作。
由于SM31.7在每次操作結(jié)束之后都自動復(fù)位,因而不能使用它作為第二次觸發(fā)操作的條件。
以上程序僅供參考。
、在使用MicroWin software 創(chuàng)建項目之前,確認(rèn)USS庫文件已經(jīng)安裝:
3、創(chuàng)建一個例程:
3.1 設(shè)置通訊接口
本例程使用PC/PPI電纜。
3.2 建立PC和PLC之間的連接
“雙擊刷新”搜索到PLC后,點擊”確認(rèn)”。
3.3 用電纜將S7-200 Port 0端口與V20的RS485接口相連(注意端口連接規(guī)則:V20的
P+對3、N-對8),如下圖所示:
3.4 變頻器參數(shù)設(shè)置:
V20 可以通過選擇連接宏Cn010實現(xiàn)USS控制,也可以通過直接更改變頻器參數(shù)的方法來實現(xiàn)。參數(shù)設(shè)置如下表所示:
表一:
參數(shù) | 描述 | Cn010默認(rèn)值 | 實際設(shè)置 | 備注 |
P0700[0] | 選擇命令源 | 5 | 5 | RS485為命令源 |
P1000[0] | 選擇頻率 | 5 | 5 | RS485為速度設(shè)定值 |
P2023 | RS485協(xié)議選擇 | 1 | 1 | USS協(xié)議 |
P2010[0] | USS/MODBUS波特率 | 8 | 6 | 波特率為9600bps |
P2011[0] | USS地址 | 1 | 3 | 變頻器的USS地址 |
P2012[0] | USS PZD長度 | 2 | 2 | PZD部分的字?jǐn)?shù) |
P2013[0] | USS PKW長度 | 127 | 127 | PKW部分字?jǐn)?shù)可變 |
P2014[0] | USS/MODBUS報文間斷時間 | 500 | 0 | 接收數(shù)據(jù)時間 |
3.5 使用USS協(xié)議的初始化模塊初始化S7-200的PORT0端口:
EN使能:每次改變通訊狀態(tài)都應(yīng)該執(zhí)行一次初始化指令。所以EN信號應(yīng)該通過邊沿檢測元件脈沖激活。
Mode:用這個USS輸入值選擇通訊協(xié)議。
1:為端口0USS協(xié)議,并啟用該協(xié)議。
0:為端口0PPI協(xié)議,并禁止USS協(xié)議。
Baud: 波特率:9600,19200…115200。
Active:激活驅(qū)動地址。
Done:當(dāng)USS_INIT 指令執(zhí)行完成后,Done=1。
Error:指令執(zhí)行的結(jié)果,如果有錯誤,顯示錯誤代碼。
Active:激活驅(qū)動地址舉例:
3.6 使用USS——CTRL模塊來控制USS地址為3的變頻器,為了運行變頻器需要按照表一設(shè)置參數(shù):
狀態(tài)表:
功能塊定義:
EN:通常情況總是激活。
RUN:指示驅(qū)動為啟用(1),或禁止(0)。
OFF2:允許V20自由停車。
OFF3:允許V20快速停止。
F _ACK:V2*復(fù)位。
DIR:V20轉(zhuǎn)動方向(0:逆時針;1:順時針)。
Drive:V20地址 0-31。
Speed:速度給定值,以全速的百分比給出 (-200.0~~200.0%,負(fù)值時,V20反向)。
Resp_R:輪詢V20,掃描時=1,并更新下面值。
Error:錯誤字節(jié),參見表:USS指令執(zhí)行錯誤。
Status:V20返回狀態(tài)值。
Speed:V20速度,(-200.0~~200.0%)。
Run_EN:V20運行狀態(tài)(1:運行;0:停止)。
D_DIR:V20轉(zhuǎn)動方向(0:逆時針;1:順時針)
Inhibit:V20禁止位狀態(tài)。 (0:啟用;1:禁止)。要清除禁止位,必須將Fault清零,
RUN,OFF2, OFF3輸入也要清零。
Fault:指示故障狀態(tài)。根據(jù)V2*表確認(rèn)故障。故障排除后,置位F _ACK使Fault
清零。
表二:Error 信息
Error代碼 | 說明 |
0 | 沒有錯誤 |
1 | 驅(qū)動未響應(yīng) |
2 | 檢測到驅(qū)動響應(yīng)中存在校驗和錯誤 |
3 | 檢測到驅(qū)動響應(yīng)中存在奇偶校驗錯誤 |
4 | 由于用戶程序干擾導(dǎo)致出錯 |
5 | 嘗試執(zhí)行了無效命令 |
6 | 提供的驅(qū)動地址無效 |
7 | 該通訊接口不能實現(xiàn)USS協(xié)議 |
8 | 該通訊接口正在忙于處理指令 |
9 | 驅(qū)動速度輸入溢出 |
10 | 驅(qū)動響應(yīng)的長度不正確 |
11 | 驅(qū)動響應(yīng)的首字符不正確 |
12 | 驅(qū)動響應(yīng)的長度字符不正確 |
13 | 驅(qū)動響應(yīng)錯誤 |
14 | 給出的DB_PTR地址不正確 |
15 | 給出的參數(shù)號不正確 |
16 | 選擇了無效的協(xié)議 |
17 | 啟用USS:不允許更改 |
18 | 了無效的波特率 |
19 | 無通訊:驅(qū)動未激活 |
20 | 驅(qū)動響應(yīng)中的參數(shù)或值不正確 |
圖5
注意:如果在數(shù)據(jù)塊中定義了某地址的數(shù)據(jù),而又使用這種辦法存儲同樣地址的數(shù)據(jù),則當(dāng)CPU內(nèi)超級電容或電池沒電時,CPU再上電時將采用SMB31和SMW32存儲的數(shù)據(jù)。
問題8:EEPROM寫入次數(shù)的統(tǒng)計?
回答:每次下載程序塊/數(shù)據(jù)塊/系統(tǒng)塊或者執(zhí)行一次SMB31.7置位的操作都算作對EEPROM的一次寫操作,所以請注意在程序中一定不要每周期都調(diào)用SMB31/SMW32用于將數(shù)據(jù)寫入EEPROM內(nèi),否則CPU將很快報廢。
問題9:不使用數(shù)據(jù)塊的方法,如何在程序中實現(xiàn)不止一個V區(qū)數(shù)據(jù)的存儲?
回答:由于SMB31/SMW32一次多只能送入一個V區(qū)雙字給EEPROM區(qū)域,因而當(dāng)有超過一個雙字的數(shù)據(jù)需要送入EEPROM中時,需要程序配合實現(xiàn)。具體操作方法可參照如下的例子,即使用SMB31/SMW32送完一個數(shù)據(jù)(字節(jié)/字/雙字)之后,通過一個標(biāo)志位(如M0.0)來觸發(fā)下一個SMB31/SMW32操作,之后需要將上一個標(biāo)志位清零,以用于下一次的存儲數(shù)據(jù)的操作。
由于SM31.7在每次操作結(jié)束之后都自動復(fù)位,因而不能使用它作為第二次觸發(fā)操作的條件。
以上程序僅供參考。
西門子6ES7216-2AD23-0XB8