1 概述
S7-300/400與SINAMICS G150 之間通過PROFIBUS DP 總線可進(jìn)行周期性及非周期性數(shù)據(jù)通訊。使用標(biāo)準(zhǔn)S7功能塊SFC14/SFC15可實(shí)現(xiàn)周期性數(shù)據(jù)交換;使用標(biāo)準(zhǔn)S7功能塊SFC58 / SFC59,可以實(shí)現(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”處,多個(gè)開關(guān)激活,將有效位進(jìn)行加法運(yùn)算, 1+4+32=37,表示站地址是37,注意:通過撥碼開關(guān)改變地址時(shí)應(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 實(shí)際的站地址一致,本例中采用站地址是6。
圖2 硬件組態(tài)
3 通訊報(bào)文設(shè)置
SINAMICS G150有多種報(bào)文結(jié)構(gòu)進(jìn)行選擇,詳細(xì)描述請參考:SINAMICS_G150_operating-instructions手冊,表2為報(bào)文結(jié)構(gòu)。
表2 報(bào)文結(jié)構(gòu)
報(bào)文結(jié)構(gòu)是999為用戶自定義報(bào)文,當(dāng)用戶選擇此報(bào)文結(jié)構(gòu)時(shí),SINAMICS G150的起、??刂莆坏刃枳约鹤鲫P(guān)聯(lián)。此時(shí)必須將PLC控制請求置1(P854=1)。
注意:在做S7-300/400硬件組態(tài)時(shí),需要配置報(bào)文結(jié)構(gòu),圖3是STEP7中的報(bào)文設(shè)置,配置結(jié)束后進(jìn)行編譯保存;然后,打開STARTER,核對報(bào)文結(jié)構(gòu)是否一致,圖4是STARTER軟件中報(bào)文的設(shè)置,若不一致需在STARTER軟件中打開“configuration”做調(diào)整后點(diǎn)擊“Transfer to HW config”按鈕。
圖3 STEP7中的報(bào)文設(shè)置
圖4 STARTER軟件中報(bào)文設(shè)置
4 用PROFIBUS DP總線對SINAMICS G150起、停及速度控制
S7-300/400 PLC通過PROFIBUS DP周期性通訊方式將控制字1和主設(shè)定值發(fā)送至SINAMICS G150 ,當(dāng)組態(tài)的報(bào)文結(jié)構(gòu) PZD=2或自由報(bào)文999時(shí),在S7-300/400 中可用“MOVE” 指令和功能塊SFC14和SFC15進(jìn)行數(shù)據(jù)傳送。
下面分別采用“MOVE” 指令進(jìn)行數(shù)據(jù)傳送和調(diào)用SFC14和SFC15系統(tǒng)功能塊進(jìn)行數(shù)據(jù)傳送加以說明。
例程文件名為:“G150_DP控制字、主給定值的發(fā)送及狀態(tài)字和實(shí)際頻率讀出程序.rar”,鏈接: G150_DP1.rar
注:程序中選擇標(biāo)準(zhǔn)報(bào)文1
1、采用“MOVE” 指令進(jìn)行數(shù)據(jù)傳送:
(1)在例程中,在變量表“SINAMICS G150 start_up”中,分別強(qiáng)制M1.0、M1.1為1;
(2)通過MW2發(fā)送控制字1,首先寫入047E,然后寫入047F,SINAMICS G150 開始運(yùn)行,如停止SINAMICS G150 ,發(fā)送047E,使SINAMICS G150 停止運(yùn)行,變量表如圖5所示;
(3)MW4寫入的是主設(shè)定值,速度設(shè)定值要經(jīng)過標(biāo)準(zhǔn)化,4000H(十六進(jìn)制)對應(yīng)于
100%,發(fā)送的最大值為7FFFH(200%),所設(shè)定的百分?jǐn)?shù)乘以P2000 中設(shè)定的參考速度, 就是給定速度;
(4)在MW6中能顯示狀態(tài)字1,變量表如圖5所示;
(5)MW8中能顯示實(shí)際運(yùn)行速度,此處為十六進(jìn)制,4000H表示100%??刂瞥绦蛉鐖D6所示。
圖5 變量表中的內(nèi)容
圖6 “MOVE”指令控制程序
2、SFC14和SFC15系統(tǒng)功能塊進(jìn)行數(shù)據(jù)傳送:
SFC14(“DPRD_DAT”)用于讀取SINAMICS G150 過程數(shù)據(jù),SFC15 (“DPWR_DAT”)用于將過程數(shù)據(jù)發(fā)送到SINAMICS G150 。
(1)控制SINAMICS G150 運(yùn)行:
通過先發(fā)送控制字047E然后發(fā)送047F來啟動(dòng)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 停止運(yùn)行。
(3)讀取SINAMICS G150 狀態(tài)字及速度實(shí)際值:
S7-300/400 接收SINAMICS G150 狀態(tài)字1,存放在DB1.DBW30中;接收SINAMICS G150 傳來的速度實(shí)際值,存放在DB1.DBW32中,參看圖7,在變量表“SINAMICS G150 start_up”中能監(jiān)控到SINAMICS G150 狀態(tài)和速度實(shí)際值。
圖7 數(shù)據(jù)塊 DB1
圖8 變量表
圖9 控制程序
5 SINAMICS G150 參數(shù)的讀取及寫入
(1)擴(kuò)展PROFIBUS DP功能(DPV1)
非周期性數(shù)據(jù)傳送模式允許:
? 交換大量的用戶數(shù)據(jù)(最多240 bytes)
? DPV1支持DS47非周期數(shù)據(jù)交換
(2)參數(shù)請求及參數(shù)應(yīng)答的結(jié)構(gòu)
參數(shù)請求包括三部分:請求標(biāo)題、參數(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)答中的錯(cuò)誤值描述。
表6 DPV1參數(shù)應(yīng)答中的錯(cuò)誤值描述
(3)S7-300/400 通過PROFIBUS DP非周期性通訊方式讀取SINAMICS G150 參數(shù)
使用S7-300/400 PLC通過PROFIBUS DP非周期性通訊方式讀取SINAMICS G150 參數(shù),可以讀一個(gè)參數(shù)下的多個(gè)索引值,或多個(gè)參數(shù)下的多個(gè)索引值。PLC讀取SINAMICS G150 參數(shù)時(shí)必須使用兩個(gè)功能塊SFC58 / SFC59 ,程序參見圖14。
例程文件名:“G150_DP讀參數(shù)r945程序.rar” 鏈接:G150_DP2.rar
以讀取一個(gè)參數(shù)下的一個(gè)索引值為例(讀參數(shù)r945.0):
a.使用標(biāo)志位M10.0及功能SFC58塊將讀請求(數(shù)據(jù)塊DB2如圖10所示),發(fā)送至SINAMICS G150,將M10.0設(shè)定為數(shù)值1啟動(dòng)寫請求,當(dāng)寫請求完成后必須將該請求置0,結(jié)束該請求。MW300(RET_VAL)顯示錯(cuò)誤代碼,用于表示數(shù)據(jù)傳輸時(shí)發(fā)生的錯(cuò)誤。在變量表G150_read(如圖11所示)中,按照表3參數(shù)請求格式進(jìn)行設(shè)定,在DB1.DBW6中設(shè)定945,在DB1.DBW8中設(shè)定0,表明讀請求中要讀取r945.0中的數(shù)值。
圖10 “寫”請求數(shù)據(jù)塊DB2
圖11 變量表G150_read內(nèi)容
b.使用標(biāo)志位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啟動(dòng)讀應(yīng)答,當(dāng)讀應(yīng)答完成后必須將M10.1該請求置0。MW400 (RET_VAL) 顯示包括錯(cuò)誤代碼。在變量表G150_read1(如圖13所示)中,能夠讀到相應(yīng)讀應(yīng)答,DB3.DBW6中讀到的是7861,表明此時(shí)參數(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ù),可以寫一個(gè)參數(shù)下的多個(gè)索引值,或多個(gè)參數(shù)下的多個(gè)索引值。寫參數(shù)時(shí)只需使用SFC58 ,如果需要讀取寫參數(shù)響應(yīng)時(shí)需使用SFC59,程序參見圖18。
例程文件名:“G150_DP寫參數(shù)P1120程序.rar” 鏈接:G150_DPP1120.rar
以寫參數(shù)P1120 為例 ,加以說明。6ES72231BH320XB0
a.使用標(biāo)志位M10.2及SFC58 功能塊將寫請求(數(shù)據(jù)塊DB4如圖15所示)發(fā)送至SINAMICS G150,將M10.2設(shè)定為數(shù)值1啟動(dòng)寫請求,當(dāng)寫請求完成后必須將該請求置0,結(jié)束該請求。MW500(RET_VAL)顯示錯(cuò)誤代碼,用于表示數(shù)據(jù)傳輸時(shí)發(fā)生的錯(cuò)誤。在變量表G150_write(如圖16所示)中,按照表3中的參數(shù)請求格式進(jìn)行設(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. 使用標(biāo)志位M10.3及功能SFC59塊將寫應(yīng)答發(fā)送到S7-300/400 數(shù)據(jù)塊DB5中,數(shù)據(jù)塊DB5的內(nèi)容,參看圖17,將M10.3設(shè)定為數(shù)值1啟動(dòng)讀請求,當(dāng)讀請求完成后必須將M10.3置0。MW504 (RET_VAL) 顯示錯(cuò)誤代碼。在變量表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)品之間通訊使用的標(biāo)準(zhǔn)協(xié)議 ,其優(yōu)點(diǎn)是通信雙方無論是在同一MPI總線上、同一PROFIBUS總線上或同一工業(yè)以太網(wǎng)中,都可通過S7協(xié)議建立通信連接,使用相同的編程方式進(jìn)行數(shù) 據(jù)交換而與使用何種總線或網(wǎng)絡(luò)無關(guān)。S7通信分為按組態(tài)方式可分為單邊通信和雙邊通信,單邊通信通常應(yīng)用于以下情況:
? 通信伙伴無法組態(tài)S7連接
? 通信伙伴無法停機(jī)
? 不希望在通訊伙伴側(cè)增加通信組態(tài)或程序
本文介紹S7-400基于PROFIBUS總線的S7單邊通信的組態(tài)步驟。
實(shí)驗(yàn)環(huán)境,見表1。
序號
|
名稱
|
訂貨號
|
1
|
CR3導(dǎo)軌
|
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 標(biāo)準(zhǔn)電纜
|
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站點(diǎn)
S7-400站點(diǎn)配置參見表2。
序號
|
說明
|
圖示
|
1.
|
創(chuàng)建新項(xiàng)目并在項(xiàng)目中插入S7-400站點(diǎn)
|
|
2.
|
打開硬件組態(tài),組態(tài)S7-400站點(diǎn)
|
|
3.
|
在硬件目錄中查找使用的導(dǎo)軌型號,并雙擊找到的導(dǎo)軌型號
|
|
4.
|
在硬件目錄選擇使用的電源,并拖拽到導(dǎo)軌的1號槽
|
|
5.
|
在硬件目錄選擇使用的CPU,并拖拽到導(dǎo)軌的3號槽,系統(tǒng)將自動(dòng)彈出DP接口屬性對話框
|
|
6.
|
在對話框Address下拉框中設(shè)置DP站地址為2,單擊NEW按鈕添加新子網(wǎng)
|
|
7.
|
添加子網(wǎng)PROFBUS(1),單擊選項(xiàng)頁“Network Setting”
|
|
8.
|
選擇PRFIBUS總線傳輸速率為1.5Mbps,Profile中選擇Standard,單擊所有屬性對話框OK按鈕
|
|
9.
|
編譯保存S7-400站點(diǎn)硬件組態(tài),下載到S7-400 CPU中
|
|
10.
|
從菜單欄Option下Configure Network命令進(jìn)入網(wǎng)絡(luò)組態(tài)界面
|
|
11.
|
如右圖所示,右鍵單擊CPU414-3DP,在彈出對話框中選擇Insert New Connection命令,插入一個(gè)新連接
|
|
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) 點(diǎn)擊Address Details按鈕
|
|
14.
|
Address Detail對話框設(shè)置
a) 設(shè)置安裝CPU的機(jī)架號0
b) 設(shè)置安裝CPU的插槽號,對于S7-300,CPU只能安裝在2號槽
c) 設(shè)置連接資源號,對于S7單邊連接,連接資源號總是3
設(shè)置完成后可看到伙伴TSAP為03.02,點(diǎn)擊OK按鈕關(guān)閉屬性對話框
|
|
15.
|
點(diǎn)擊編譯保存圖標(biāo),完成S7單邊連接組態(tài),并下載至S7-400 CPU中
|
|
表 2
2.2配置S7-300站點(diǎn)
S7-300站點(diǎn)配置參見表3。
序號
|
說明
|
圖示
|
1.
|
創(chuàng)建新項(xiàng)目并在項(xiàng)目中插入S7-300站點(diǎn)
|
|
2.
|
打開硬件組態(tài),組態(tài)
S7-300 站點(diǎn)
|
|
3.
|
在硬件目錄SIMATIC-300,RACK-300下雙擊Rail,插入S7-300導(dǎo)軌
|
|
4.
|
在硬件目錄選擇使用的CPU,并拖拽到導(dǎo)軌的2號槽,系統(tǒng)將自動(dòng)彈出DP接口屬性對話框
|
|
5.
|
參考表2序號6~8步驟,將CPU的 PROFIBUS DP地址設(shè)置為3,傳輸速率設(shè)置為1.5Mbps,Profile中選為Standard。編譯保存完成S7-300站點(diǎn)組態(tài),并下載到S7-300 CPU中
|
|
表 3
3 通信連接
如圖3-1示意圖,使用RS485總線連接器通過PROFIBUS標(biāo)準(zhǔn)電纜分別連接CPU414-3 的X2接口和CPU315-2的X2 接口。
圖3-1 CPU之間DP通信連接示意圖
4 通信編程
由于配置的是S7單邊通信,只需在配置S7網(wǎng)絡(luò)連接的一方進(jìn)行編程,所以本例中只在CPU414-3中編程調(diào)用系統(tǒng)功能塊SFB14/SFB15,如圖4-1和圖4-2。
圖4-1 調(diào)用功能塊SFB14