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站地址設置及硬件組態(tài)
SINAMICS G150的PROFIBUS DP站地址設置有兩種方法:
(1)通過CU320控制單元上DIP撥碼開關,設置站地址,有效地址值為1….126,設定方法如表1所示,將DIP開關撥“ON”處,多個開關激活,將有效位進行加法運算, 1+4+32=37,表示站地址是37,注意:通過撥碼開關改變地址時應斷掉SINAMICS G150 電源,否則,更改的站地址是無效的。

表1 DIP開關設定PROFIBUS DP地址
(2) 在撥碼開關全部撥到OFF或ON狀態(tài),可以利用參數(shù)P918設置站地址。
S7-300/400的硬件組態(tài),如圖2所示,在硬件組態(tài)中設定的SINAMICS G150站地址應與SINAMICS G150 實際的站地址一致,本例中采用站地址是6。

圖2 硬件組態(tài)
3 通訊報文設置
SINAMICS G150有多種報文結構進行選擇,詳細描述請參考:SINAMICS_G150_operating-instructions手冊,表2為報文結構。

表2 報文結構
報文結構是999為用戶自定義報文,當用戶選擇此報文結構時,SINAMICS G150的起、停控制位等需自己做關聯(lián)。此時必須將PLC控制請求置1(P854=1)。
注意:在做S7-300/400硬件組態(tài)時,需要配置報文結構,圖3是STEP7中的報文設置,配置結束后進行編譯保存;然后,打開STARTER,核對報文結構是否一致,圖4是STARTER軟件中報文的設置,若不一致需在STARTER軟件中打開“configuration”做調整后點擊“Transfer to HW config”按鈕。

圖3 STEP7中的報文設置

圖4 STARTER軟件中報文設置
4 用PROFIBUS DP總線對SINAMICS G150起、停及速度控制
S7-300/400 PLC通過PROFIBUS DP周期性通訊方式將控制字1和主設定值發(fā)送至SINAMICS G150 ,當組態(tài)的報文結構 PZD=2或自由報文999時,在S7-300/400 中可用“MOVE” 指令和功能塊SFC14和SFC15進行數(shù)據(jù)傳送。
下面分別采用“MOVE” 指令進行數(shù)據(jù)傳送和調用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寫入的是主設定值,速度設定值要經(jīng)過標準化,4000H(十六進制)對應于
100%,發(fā)送的最大值為7FFFH(200%),所設定的百分數(shù)乘以P2000 中設定的參考速度, 就是給定速度;
(4)在MW6中能顯示狀態(tài)字1,變量表如圖5所示;
(5)MW8中能顯示實際運行速度,此處為十六進制,4000H表示100%?刂瞥绦蛉鐖D6所示。

圖5 變量表中的內容

圖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中指定,主設定值在DB1.DBW22中設定,參看圖7;所有的這些變量在變量 表“SINAMICS G150 start_up”中設定及監(jiān)控,圖8是變量表的內容,圖9是程序內容。
(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ù)應答的結構
參數(shù)請求包括三部分:請求標題、參數(shù)地址及參數(shù)值,如表3所示。

表3 參數(shù)請求格式
參數(shù)應答格式,如表4所示,關于參數(shù)請求及應答描述,參考表5。

表4 參數(shù)應答格式

表5 參數(shù)請求及應答描述
在表6 中,是關于DPV1參數(shù)應答中的錯誤值描述。

表6 DPV1參數(shù)應答中的錯誤值描述
(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ù)值1啟動寫請求,當寫請求完成后必須將該請求置0,結束該請求。MW300(RET_VAL)顯示錯誤代碼,用于表示數(shù)據(jù)傳輸時發(fā)生的錯誤。在變量表G150_read(如圖11所示)中,按照表3參數(shù)請求格式進行設定,在DB1.DBW6中設定945,在DB1.DBW8中設定0,表明讀請求中要讀取r945.0中的數(shù)值。

圖10 “寫”請求數(shù)據(jù)塊DB2

圖11 變量表G150_read內容
b.使用標志位M10.1及功能SFC59塊將讀應答發(fā)送至S7-300/400 ,SINAMICS G150 將參數(shù)值發(fā)送到DB3,圖12是數(shù)據(jù)塊DB3的內容。將M10.1設定為數(shù)值1啟動讀應答,當讀應答完成后必須將M10.1該請求置0。MW400 (RET_VAL) 顯示包括錯誤代碼。在變量表G150_read1(如圖13所示)中,能夠讀到相應讀應答,DB3.DBW6中讀到的是7861,表明此時參數(shù)r945.0=7861。

圖12 響應數(shù)據(jù)塊DB3

圖13變量表G150_read1內容

圖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ù)響應時需使用SFC59,程序參見圖18。
例程文件名:“G150_DP寫參數(shù)P1120程序.rar” 鏈接:G150_DPP1120.rar
以寫參數(shù)P1120 為例 ,加以說明。6ES72231BH320XB0
a.使用標志位M10.2及SFC58 功能塊將寫請求(數(shù)據(jù)塊DB4如圖15所示)發(fā)送至SINAMICS G150,將M10.2設定為數(shù)值1啟動寫請求,當寫請求完成后必須將該請求置0,結束該請求。MW500(RET_VAL)顯示錯誤代碼,用于表示數(shù)據(jù)傳輸時發(fā)生的錯誤。在變量表G150_write(如圖16所示)中,按照表3中的參數(shù)請求格式進行設定,在DB4.DBW6中設定1120,在DB4.DBW8中設定0,表明將DB4.DBD12中的數(shù)值寫入?yún)?shù)P1120.0中。

圖15 寫請求數(shù)據(jù)塊DB4

圖16變量表G150_write中的內容
b. 使用標志位M10.3及功能SFC59塊將寫應答發(fā)送到S7-300/400 數(shù)據(jù)塊DB5中,數(shù)據(jù)塊DB5的內容,參看圖17,將M10.3設定為數(shù)值1啟動讀請求,當讀請求完成后必須將M10.3置0。MW504 (RET_VAL) 顯示錯誤代碼。在變量表G150_write(如圖16所示)中,能夠讀到相應寫請求響應,DB5.DBB1中為02,表明寫請求已相應,從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)絡無關。S7通信分為按組態(tài)方式可分為單邊通信和雙邊通信,單邊通信通常應用于以下情況:
? 通信伙伴無法組態(tài)S7連接
? 通信伙伴無法停機
? 不希望在通訊伙伴側增加通信組態(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下拉框中設置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)絡組態(tài)界面
|
|
|
11.
|
如右圖所示,右鍵單擊CPU414-3DP,在彈出對話框中選擇Insert New Connection命令,插入一個新連接
|
|
|
12.
|
a) 選擇Unspecified連接伙伴,
b) 連接類型菜單中選擇S7 connection,單擊OK按鈕,彈出S7 connection屬性對話框
|
|
|
13.
|
S7 connection屬性對話框設置:
a) 選中Established an active connection
b) Interface選擇CPU414-3 DP,DP(R0/S3)
c) 設置伙伴PROFIBUS地址3
d) 設置本地ID為1
e) 點擊Address Details按鈕
|
|
|
14.
|
Address Detail對話框設置
a) 設置安裝CPU的機架號0
b) 設置安裝CPU的插槽號,對于S7-300,CPU只能安裝在2號槽
c) 設置連接資源號,對于S7單邊連接,連接資源號總是3
設置完成后可看到伙伴TSAP為03.02,點擊OK按鈕關閉屬性對話框
|
|
|
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地址設置為3,傳輸速率設置為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)絡連接的一方進行編程,所以本例中只在CPU414-3中編程調用系統(tǒng)功能塊SFB14/SFB15,如圖4-1和圖4-2。

圖4-1 調用功能塊SFB14