1 概述
S7-300/400與SINAMICS G150 之間通過PROFIBUS DP 總線可進行周期性及非周期性數(shù)據(jù)通訊。使用標準S7功能塊SFC14/SFC15可實現(xiàn)周期性數(shù)據(jù)交換;使用標準S7功能塊SFC58 / SFC59,可以實現(xiàn)非周期性數(shù)據(jù)交換,讀寫 SINAMICS G150 的參數(shù)。S7-300/400與SINAMICS G150裝置的連接,如下圖所示:
圖1 S7-300/400與SINAMICS G150裝置的連接
2 SINAMICS G150站地址設(shè)置及硬件組態(tài)
SINAMICS G150的PROFIBUS DP站地址設(shè)置有兩種方法:
(1)通過CU320控制單元上DIP撥碼開關(guān),設(shè)置站地址,有效地址值為1….126,設(shè)定方法如表1所示,將DIP開關(guān)撥“ON”處,多個開關(guān)激活,將有效位進行加法運算, 1+4+32=37,表示站地址是37,注意:通過撥碼開關(guān)改變地址時應(yīng)斷掉SINAMICS G150 電源,否則,更改的站地址是無效的。
表1 DIP開關(guān)設(shè)定PROFIBUS DP地址
(2) 在撥碼開關(guān)全部撥到OFF或ON狀態(tài),可以利用參數(shù)P918設(shè)置站地址。
S7-300/400的硬件組態(tài),如圖2所示,在硬件組態(tài)中設(shè)定的SINAMICS G150站地址應(yīng)與SINAMICS G150 實際的站地址一致,本例中采用站地址是6。
圖2 硬件組態(tài)
3 通訊報文設(shè)置
SINAMICS G150有多種報文結(jié)構(gòu)進行選擇,詳細描述請參考:SINAMICS_G150_operating-instructions手冊,表2為報文結(jié)構(gòu)。
表2 報文結(jié)構(gòu)
報文結(jié)構(gòu)是999為用戶自定義報文,當用戶選擇此報文結(jié)構(gòu)時,SINAMICS G150的起、??刂莆坏刃枳约鹤鲫P(guān)聯(lián)。此時必須將PLC控制請求置1(P854=1)。
注意:在做S7-300/400硬件組態(tài)時,需要配置報文結(jié)構(gòu),圖3是STEP7中的報文設(shè)置,配置結(jié)束后進行編譯保存;然后,打開STARTER,核對報文結(jié)構(gòu)是否一致,圖4是STARTER軟件中報文的設(shè)置,若不一致需在STARTER軟件中打開“configuration”做調(diào)整后點擊“Transfer to HW config”按鈕。
圖3 STEP7中的報文設(shè)置
圖4 STARTER軟件中報文設(shè)置
4 用PROFIBUS DP總線對SINAMICS G150起、停及速度控制
S7-300/400 PLC通過PROFIBUS DP周期性通訊方式將控制字1和主設(shè)定值發(fā)送至SINAMICS G150 ,當組態(tài)的報文結(jié)構(gòu) PZD=2或自由報文999時,在S7-300/400 中可用“MOVE” 指令和功能塊SFC14和SFC15進行數(shù)據(jù)傳送。
下面分別采用“MOVE” 指令進行數(shù)據(jù)傳送和調(diào)用SFC14和SFC15系統(tǒng)功能塊進行數(shù)據(jù)傳送加以說明。
例程文件名為:“G150_DP控制字、主給定值的發(fā)送及狀態(tài)字和實際頻率讀出程序.rar”,鏈接: G150_DP1.rar
注:程序中選擇標準報文1
1、采用“MOVE” 指令進行數(shù)據(jù)傳送:
(1)在例程中,在變量表“SINAMICS G150 start_up”中,分別強制M1.0、M1.1為1;
(2)通過MW2發(fā)送控制字1,首先寫入047E,然后寫入047F,SINAMICS G150 開始運行,如停止SINAMICS G150 ,發(fā)送047E,使SINAMICS G150 停止運行,變量表如圖5所示;
(3)MW4寫入的是主設(shè)定值,速度設(shè)定值要經(jīng)過標準化,4000H(十六進制)對應(yīng)于
100%,發(fā)送的最大值為7FFFH(200%),所設(shè)定的百分數(shù)乘以P2000 中設(shè)定的參考速度, 就是給定速度;
(4)在MW6中能顯示狀態(tài)字1,變量表如圖5所示;
(5)MW8中能顯示實際運行速度,此處為十六進制,4000H表示100%??刂瞥绦蛉鐖D6所示。
圖5 變量表中的內(nèi)容
圖6 “MOVE”指令控制程序
2、SFC14和SFC15系統(tǒng)功能塊進行數(shù)據(jù)傳送:
SFC14(“DPRD_DAT”)用于讀取SINAMICS G150 過程數(shù)據(jù),SFC15 (“DPWR_DAT”)用于將過程數(shù)據(jù)發(fā)送到SINAMICS G150 。
(1)控制SINAMICS G150 運行:
通過先發(fā)送控制字047E然后發(fā)送047F來啟動SINAMICS G150 ,控制字1在 DB1.DBW20中指定,主設(shè)定值在DB1.DBW22中設(shè)定,參看圖7;所有的這些變量在變量 表“SINAMICS G150 start_up”中設(shè)定及監(jiān)控,圖8是變量表的內(nèi)容,圖9是程序內(nèi)容。
(2)停止SINAMICS G150 :
發(fā)送控制字047E至SINAMICS G150 ,使SINAMICS G150 停止運行。
(3)讀取SINAMICS G150 狀態(tài)字及速度實際值:
S7-300/400 接收SINAMICS G150 狀態(tài)字1,存放在DB1.DBW30中;接收SINAMICS G150 傳來的速度實際值,存放在DB1.DBW32中,參看圖7,在變量表“SINAMICS G150 start_up”中能監(jiān)控到SINAMICS G150 狀態(tài)和速度實際值。
圖7 數(shù)據(jù)塊 DB1
圖8 變量表
圖9 控制程序
5 SINAMICS G150 參數(shù)的讀取及寫入
(1)擴展PROFIBUS DP功能(DPV1)
非周期性數(shù)據(jù)傳送模式允許:
? 交換大量的用戶數(shù)據(jù)(最多240 bytes)
? DPV1支持DS47非周期數(shù)據(jù)交換
(2)參數(shù)請求及參數(shù)應(yīng)答的結(jié)構(gòu)
參數(shù)請求包括三部分:請求標題、參數(shù)地址及參數(shù)值,如表3所示。
表3 參數(shù)請求格式
參數(shù)應(yīng)答格式,如表4所示,關(guān)于參數(shù)請求及應(yīng)答描述,參考表5。
表4 參數(shù)應(yīng)答格式
表5 參數(shù)請求及應(yīng)答描述
在表6 中,是關(guān)于DPV1參數(shù)應(yīng)答中的錯誤值描述。
表6 DPV1參數(shù)應(yīng)答中的錯誤值描述
(3)S7-300/400 通過PROFIBUS DP非周期性通訊方式讀取SINAMICS G150 參數(shù)
使用S7-300/400 PLC通過PROFIBUS DP非周期性通訊方式讀取SINAMICS G150 參數(shù),可以讀一個參數(shù)下的多個索引值,或多個參數(shù)下的多個索引值。PLC讀取SINAMICS G150 參數(shù)時必須使用兩個功能塊SFC58 / SFC59 ,程序參見圖14。
例程文件名:“G150_DP讀參數(shù)r945程序.rar” 鏈接:G150_DP2.rar
以讀取一個參數(shù)下的一個索引值為例(讀參數(shù)r945.0):
a.使用標志位M10.0及功能SFC58塊將讀請求(數(shù)據(jù)塊DB2如圖10所示),發(fā)送至SINAMICS G150,將M10.0設(shè)定為數(shù)值1啟動寫請求,當寫請求完成后必須將該請求置0,結(jié)束該請求。MW300(RET_VAL)顯示錯誤代碼,用于表示數(shù)據(jù)傳輸時發(fā)生的錯誤。在變量表G150_read(如圖11所示)中,按照表3參數(shù)請求格式進行設(shè)定,在DB1.DBW6中設(shè)定945,在DB1.DBW8中設(shè)定0,表明讀請求中要讀取r945.0中的數(shù)值。
圖10 “寫”請求數(shù)據(jù)塊DB26ES74121XJ070AB0
圖11 變量表G150_read內(nèi)容
b.使用標志位M10.1及功能SFC59塊將讀應(yīng)答發(fā)送至S7-300/400 ,SINAMICS G150 將參數(shù)值發(fā)送到DB3,圖12是數(shù)據(jù)塊DB3的內(nèi)容。將M10.1設(shè)定為數(shù)值1啟動讀應(yīng)答,當讀應(yīng)答完成后必須將M10.1該請求置0。MW400 (RET_VAL) 顯示包括錯誤代碼。在變量表G150_read1(如圖13所示)中,能夠讀到相應(yīng)讀應(yīng)答,DB3.DBW6中讀到的是7861,表明此時參數(shù)r945.0=7861。
圖12 響應(yīng)數(shù)據(jù)塊DB3
圖13變量表G150_read1內(nèi)容
圖14 讀取SINAMICS G150 參數(shù)程序
(4)S7-300/400通過PROFIBUS DP非周期性通訊方式寫SINAMICS G150 參數(shù)
使用S7-300/400 PLC通過PROFIBUS DP非周期性通訊方式寫SINAMICS G150 參數(shù),可以寫一個參數(shù)下的多個索引值,或多個參數(shù)下的多個索引值。寫參數(shù)時只需使用SFC58 ,如果需要讀取寫參數(shù)響應(yīng)時需使用SFC59,程序參見圖18。
例程文件名:“G150_DP寫參數(shù)P1120程序.rar” 鏈接:G150_DPP1120.rar
以寫參數(shù)P1120 為例 ,加以說明。
a.使用標志位M10.2及SFC58 功能塊將寫請求(數(shù)據(jù)塊DB4如圖15所示)發(fā)送至SINAMICS G150,將M10.2設(shè)定為數(shù)值1啟動寫請求,當寫請求完成后必須將該請求置0,結(jié)束該請求。MW500(RET_VAL)顯示錯誤代碼,用于表示數(shù)據(jù)傳輸時發(fā)生的錯誤。在變量表G150_write(如圖16所示)中,按照表3中的參數(shù)請求格式進行設(shè)定,在DB4.DBW6中設(shè)定1120,在DB4.DBW8中設(shè)定0,表明將DB4.DBD12中的數(shù)值寫入?yún)?shù)P1120.0中。
圖15 寫請求數(shù)據(jù)塊DB4
圖16變量表G150_write中的內(nèi)容
b. 使用標志位M10.3及功能SFC59塊將寫應(yīng)答發(fā)送到S7-300/400 數(shù)據(jù)塊DB5中,數(shù)據(jù)塊DB5的內(nèi)容,參看圖17,將M10.3設(shè)定為數(shù)值1啟動讀請求,當讀請求完成后必須將M10.3置0。MW504 (RET_VAL) 顯示錯誤代碼。在變量表G150_write(如圖16所示)中,能夠讀到相應(yīng)寫請求響應(yīng),DB5.DBB1中為02,表明寫請求已相應(yīng),從SINAMICS G150 中讀到參數(shù)P1120已經(jīng)被更改,表明參數(shù)P1120已修改完成。
圖17數(shù)據(jù)塊DB5
圖18 寫SINAMICS G150 參數(shù)程序
1概述
S7協(xié)議是SIEMENS S7系列產(chǎn)品之間通訊使用的標準協(xié)議 ,其優(yōu)點是通信雙方無論是在同一MPI總線上、同一PROFIBUS總線上或同一工業(yè)以太網(wǎng)中,都可通過S7協(xié)議建立通信連接,使用相同的編程方式進行數(shù) 據(jù)交換而與使用何種總線或網(wǎng)絡(luò)無關(guān)。S7通信分為按組態(tài)方式可分為單邊通信和雙邊通信,單邊通信通常應(yīng)用于以下情況:
? 通信伙伴無法組態(tài)S7連接
? 通信伙伴無法停機
? 不希望在通訊伙伴側(cè)增加通信組態(tài)或程序
本文介紹S7-400基于PROFIBUS總線的S7單邊通信的組態(tài)步驟。
實驗環(huán)境,見表1。
序號 | 名稱 | 訂貨號 |
1 | CR3導軌 | 6ES7 401-1DA01-0AA0 |
2 | PS407 | 6ES7 407-0KA02-0AA0 |
3 | CPU414-3 | 6ES7 414-3XM05-0AB0 |
4 | CPU315-2 DP | 6ES7 315-2AH14-0AB0 |
5 | PROFIBUS 標準電纜 | 6XV1 830-0EH10 |
6 | RS485總線連接器 | 6ES7972-0BB42-0XA0 |
7 | STEP7 V5.5 SP2 | |
8 | Windows XP SP3 |
表1
2 組態(tài)
2.1配置S7-400站點
S7-400站點配置參見表2。
序號 | 說明 | 圖示 |
1. | 創(chuàng)建新項目并在項目中插入S7-400站點 |
![]() |
2. | 打開硬件組態(tài),組態(tài)S7-400站點 |
![]() |
3. | 在硬件目錄中查找使用的導軌型號,并雙擊找到的導軌型號 |
![]() |
4. | 在硬件目錄選擇使用的電源,并拖拽到導軌的1號槽 |
![]() |
5. | 在硬件目錄選擇使用的CPU,并拖拽到導軌的3號槽,系統(tǒng)將自動彈出DP接口屬性對話框 |
![]() |
6. | 在對話框Address下拉框中設(shè)置DP站地址為2,單擊NEW按鈕添加新子網(wǎng) |
![]() |
7. | 添加子網(wǎng)PROFBUS(1),單擊選項頁“Network Setting” |
![]() |
8. | 選擇PRFIBUS總線傳輸速率為1.5Mbps,Profile中選擇Standard,單擊所有屬性對話框OK按鈕 |
![]() |
9. | 編譯保存S7-400站點硬件組態(tài),下載到S7-400 CPU中 |
![]() |
10. | 從菜單欄Option下Configure Network命令進入網(wǎng)絡(luò)組態(tài)界面 |
![]() |
11. | 如右圖所示,右鍵單擊CPU414-3DP,在彈出對話框中選擇Insert New Connection命令,插入一個新連接 |
![]() |
12. |
a) 選擇Unspecified連接伙伴, b) 連接類型菜單中選擇S7 connection,單擊OK按鈕,彈出S7 connection屬性對話框 |
![]() |
13. |
S7 connection屬性對話框設(shè)置: a) 選中Established an active connection b) Interface選擇CPU414-3 DP,DP(R0/S3) c) 設(shè)置伙伴PROFIBUS地址3 d) 設(shè)置本地ID為1 e) 點擊Address Details按鈕 |
![]() |
14. |
Address Detail對話框設(shè)置 a) 設(shè)置安裝CPU的機架號0 b) 設(shè)置安裝CPU的插槽號,對于S7-300,CPU只能安裝在2號槽 c) 設(shè)置連接資源號,對于S7單邊連接,連接資源號總是3 設(shè)置完成后可看到伙伴TSAP為03.02,點擊OK按鈕關(guān)閉屬性對話框 |
![]() |
15. | 點擊編譯保存圖標,完成S7單邊連接組態(tài),并下載至S7-400 CPU中 |
![]() |
表 2
2.2配置S7-300站點
S7-300站點配置參見表3。
序號 | 說明 | 圖示 |
1. | 創(chuàng)建新項目并在項目中插入S7-300站點 |
![]() |
2. |
打開硬件組態(tài),組態(tài) S7-300 站點 |
![]() |
3. | 在硬件目錄SIMATIC-300,RACK-300下雙擊Rail,插入S7-300導軌 |
![]() |
4. | 在硬件目錄選擇使用的CPU,并拖拽到導軌的2號槽,系統(tǒng)將自動彈出DP接口屬性對話框 |
![]() |
5. | 參考表2序號6~8步驟,將CPU的 PROFIBUS DP地址設(shè)置為3,傳輸速率設(shè)置為1.5Mbps,Profile中選為Standard。編譯保存完成S7-300站點組態(tài),并下載到S7-300 CPU中 |
![]() |
表 3
3 通信連接
如圖3-1示意圖,使用RS485總線連接器通過PROFIBUS標準電纜分別連接CPU414-3 的X2接口和CPU315-2的X2 接口。
圖3-1 CPU之間DP通信連接示意圖
4 通信編程
由于配置的是S7單邊通信,只需在配置S7網(wǎng)絡(luò)連接的一方進行編程,所以本例中只在CPU414-3中編程調(diào)用系統(tǒng)功能塊SFB14/SFB15,如圖4-1和圖4-2。
圖4-1 調(diào)用功能塊SFB14
圖4-2 調(diào)用功能塊SFB15
更多關(guān)于SFB14/15參數(shù)含義,參考西門子下載中心文檔編號1023《 SIMATIC 用于S7-300/400系統(tǒng)和標準功能的系統(tǒng)軟件參考手冊》的S7 通信章節(jié)。
S7400電源模塊
6ES7 407-0DA02-0AA0
6ES7 407-0KA02-0AA0
6ES7 407-0KR02-0AA0
6ES7 407-0RA02-0AA0
6ES7 405-0DA02-0AA0
6ES7 405-0KA02-0AA0
6ES7 405-0RA01-0AA0
6ES7 971-0BA00
CPU
6ES7 412-3HJ14-0AB0
6ES7 414-4HM14-0AB0
6ES7 417-4HT14-0AB0
6ES7 400-0HR00-4AB0
6ES7 400-0HR50-4AB0
6ES7 412-1XJ05-0AB0
6ES7 412-2XJ05-0AB0
6ES7 414-2XK05-0AB0
6ES7 414-3XM05-0AB0
6ES7 414-3EM05-0AB0
6ES7 416-2XN05-0AB0
6ES7 416-3XR05-0AB0
6ES7 416-3ER05-0AB0
6ES7 416-2FN05-0AB0
6ES7 416-3FR05-0AB0
6ES7 417-4XT05-0AB0
內(nèi)存卡
6ES7 955-2AL00-0AA0
6ES7 955-2AM00-0AA0
6ES7 952-0AF00-0AA0
6ES7 952-1AH00-0AA0
6ES7 952-1AK00-0AA0
6ES7 952-1AL00-0AA0
6ES7 952-1AM00-0AA0
6ES7 952-1AP00-0AA0
6ES7 952-1AS00-0AA0
6ES7 952-1AY00-0AA0
6ES7 952-0KF00-0AA0
6ES7 952-0KH00-0AA0
6ES7 952-1KK00-0AA0
6ES7 952-1KL00-0AA0
6ES7 952-1KM00-0AA0
6ES7 952-1KP00-0AA0
6ES7 952-1KS00-0AA0
6ES7 952-1KT00-0AA0
6ES7 952-1KY00-0AA0
開關(guān)量輸入模板
6ES7 421-7BH01-0AB0
6ES7 421-1BL01-0AA0
6ES7 421-1EL00-0AA0
6ES7 421-1FH20-0AA0
6ES7 421-7DH00-0AB0
開關(guān)量輸出模板
6ES7 422-1BH11-0AA0
6ES7 422-1BL00-0AA0
6ES7 422-7BL00-0AB0
6ES7 422-1FH00-0AA0
6ES7 422-1HH00-0AA0
模擬量模塊
6ES7 431-0HH00-0AB0
6ES7 431-1KF00-0AB0
6ES7 431-1KF10-0AB0
6ES7 431-1KF20-0AB0
6ES7 431-7QH00-0AB0
6ES7 431-7KF00-0AB0
6ES7 431-7KF10-0AB0
6ES7 432-1HF00-0AB0
功能模板
6ES7 450-1AP00-0AE0
6ES7 451-3AL00-0AE0
6ES7 452-1AH00-0AE0
6ES7 453-3AH00-0AE0
6ES7 455-0VS00-0AE0
6ES7 455-1VS00-0AE0
6DD1 607-0AA2
6ES7 953-8LJ20-0AA0
6ES7 953-8LL20-0AA0
6ES7 953-8LM20-0AA0
6DD1 607-0CA1
6DD1 607-0EA0
6DD1 607-0EA2
6DD1 684-0GE0
6DD1 684-0GD0
6DD1 684-0GC0
6DD1 681-0AE2
6DD1 681-0AF4
6DD1 681-0EB3
6DD1 681-0AG2
6DD1 681-0DH1
6DD1 681-0AJ1
6DD1 681-0GK0
通訊模板
6ES7 440-1CS00-0YE0
6ES7 441-1AA04-0AE0
6ES7 441-2AA04-0AE0
6ES7 963-1AA00-0AA0
6ES7 963-2AA00-0AA0
6ES7 963-3AA00-0AA0
6ES7 870-1AA01-0YA0
6ES7 870-1AB01-0YA0
6GK7 443-5FX02-0XE0
6GK7 443-5DX04-0XE0
6GK7 443-1EX11-0XE0
6GK7 443-1EX41-0XE0
附件
6ES7 960-1AA04-0XA0
6ES7 960-1AB04-0XA0
6ES7 960-1AA04-5AA0
6ES7 960-1AA04-5BA0
6ES7 960-1AA04-5KA0
6ES7 833-1CC01-0YA5
6ES7 833-1CC00-6YX0
6ES7 197-1LA03-0XA0
6ES7 492-1AL00-0AA0
6ES7 400-1TA01-0AA0
6ES7 400-1JA01-0AA0
6ES7 400-1TA11-0AA0
6ES7 400-1JA11-0AA0
6ES7 401-2TA01-0AA0
6ES7 400-2JA00-0AA0
6ES7 400-2JA10-0AA0
6ES7 403-1TA01-0AA0
6ES7 403-1JA01-0AA0
6ES7 403-1TA11-0AA0
6ES7 403-1JA11-0AA0
6ES7 460-0AA01-0AB0
6ES7 461-0AA01-0AA0
6ES7 468-1AH50-0AA0
6ES7 468-1BB50-0AA0
6ES7 461-0AA00-7AA0
6ES7 460-1BA01-0AB0
6ES7 461-1BA01-0AA0
6ES7 468-3AH50-0AA0
6ES7 468-3BB50-0AA0
6ES7 460-3AA01-0AB0
6ES7 461-3AA01-0AA0
6ES7 468-1BF00-0AA0
6ES7 468-1CB00-0AA0
6ES7 468-1CC50-0AA0
6ES7 468-1CF00-0AA0
6ES7 468-1DB00-0AA0
6ES7 461-3AA00-7AA0
6ES7 463-2AA00-0AA0
6ES7 964-2AA04-0AB0
6ES74121XJ070AB0