商鋪名稱:上海拓關(guān)自動化科技有限公司
聯(lián)系人:易歌(先生)
聯(lián)系手機:
固定電話:
企業(yè)郵箱:3398372149@qq.com
聯(lián)系地址:上海市金山區(qū)涇賓路501弄
郵編:
聯(lián)系我時,請說是在線纜網(wǎng)上看到的,謝謝!
一、S7 Open IE通訊概述
可以通過S7-300/400 PLC集成的 PROFINET 接口使用基于工業(yè)以太網(wǎng)的開放式通信與Simotion設(shè)備進行數(shù)據(jù)交換,下列通信協(xié)議支持開放式通訊:
? TCP
? UDP
PLC 通過工業(yè)以太網(wǎng) OPEN IE 通信方式下的 TCP IP 協(xié)議進行數(shù)據(jù)交換,需要使用以下程序塊:
? FB65 "TCON" 建立連接
? FB66 "TDISCON" 中止連接
? FB63 "TSEND" 發(fā)送數(shù)據(jù)
? FB64 "TRCV" 接收數(shù)據(jù)
這些通信功能塊可以在函數(shù)庫 Standard Library -> Communication Blocks 中找到。 用于連接 TCP IP 端點的參數(shù)存儲于一個數(shù)據(jù)結(jié)構(gòu)體中。在本程序示例中,使用數(shù)據(jù)結(jié)構(gòu)體 UDT65 "TCON_PAR",用戶將對這個數(shù)據(jù)結(jié)構(gòu)體進行參數(shù)化。不需要在 NetPro 中配置通信連接。UDT65的創(chuàng)建需要使用 Open IE向?qū)硗瓿伞?br /> 創(chuàng)建開放式 TCP/IP 通信所需的連接數(shù)據(jù)的向?qū)?(Open Communication Wizard)請從下述鏈接中下載 : 25209116
二、S7 Open IE通訊程序描述
1.使用Open IE 向?qū)蓴?shù)據(jù)塊
(1) 打開Open Communication Wizard程序,如圖1所示:
圖1.
(2)點擊“Next”,如圖2所示:
圖2.
(3)在圖3畫面中選擇S7-300項目及數(shù)據(jù)塊的存貯路徑:
圖3.
(4)在圖4畫面中點擊“Next”:
圖4.
(5)在圖5畫面中選擇“TCP native”后點擊“Next”:
圖5.
(6)在圖6畫面中選擇如下后點擊“Next”:
圖6.
(7)在圖7畫面中選擇此PLC的連接方式(Active為Client,Passive為Server),通訊伙伴的IP地址及使用PLC的版本號:
圖7.
(8)在圖8畫面中輸入本PLC及通訊伙伴的端口號:
圖8.
(9)在圖9畫面中輸入生成的數(shù)據(jù)塊名稱,本程序中為UDT65:
圖9.
(10)在圖10畫面中點擊“Next”:
圖10.
(11)在圖11畫面中點擊“Finish”,結(jié)束配置:
圖11.
2.PLC編程
(1)創(chuàng)建數(shù)據(jù)塊DB1,如圖12所示:
圖12.
(2)拷貝FB63,F(xiàn)B54,F(xiàn)B65,F(xiàn)B66至項目中,并分別為其創(chuàng)建背景數(shù)據(jù)塊DB63,DB64,DB65,DB66,如圖13所示:
圖13.
(3)在OB1中編程通訊程序,如圖14所示:
圖14.
3.PLC通訊功能塊介紹
(1)調(diào)用FB65 建立通訊連接
圖15.
輸入?yún)?shù) "REQ" :其上升沿觸發(fā)來建立連接。
輸入?yún)?shù)“ID”:為連接ID。
輸入?yún)?shù)“CONNECT”:填寫用UDT65生成的數(shù)據(jù)塊DB1,連接建立后會一直保持,直到調(diào)用FB66才會中斷。
輸出參數(shù):
BUSY | DONE | ERROR | 描述 |
TRUE | 正在處理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因錯誤而中止,原因參看""Status" |
FALSE | FALSE | FALSE | FB未被分配一個新任務 |
輸出參數(shù)“STATUS”:錯誤信息。
(2)調(diào)用FB64 接收程序
圖16.
輸入?yún)?shù) "EN_R" :始終為“TRUE”。
輸入?yún)?shù)“ID”:為連接ID。
輸出參數(shù)“RCVD_LEN”:為接收數(shù)據(jù)長度。
輸出參數(shù):
BUSY | DONE | ERROR | 描述 |
TRUE | 正在處理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因錯誤而中止,原因參看""Status" |
FALSE | FALSE | FALSE | FB 未被分配一個新任務 |
輸出參數(shù)“STATUS”:錯誤信息。
(3)調(diào)用FB63 發(fā)送程序
圖17.
輸入?yún)?shù) "REQ" :為發(fā)送請求,上升沿有效。
輸入?yún)?shù)“ID”:為連接ID。
輸入?yún)?shù)“LEN”:為發(fā)送數(shù)據(jù)長度。
輸出參數(shù):
BUSY | DONE | ERROR | 描述 |
TRUE | 正在處理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因錯誤而中止,原因參看""Status" |
FALSE | FALSE | FALSE | FB 未被分配一個新任務 |
輸出參數(shù)“STATUS”:錯誤信息。
(4)調(diào)用FB66 中斷連接程序
圖18.
輸入?yún)?shù) "REQ" :為中斷連接請求,上升沿有效。
輸入?yún)?shù)“ID”:為連接ID。
輸出參數(shù):
BUSY | DONE | ERROR | 描述 |
TRUE | 正在處理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因錯誤而中止,原因參看""Status" |
FALSE | FALSE | FALSE | FB 未被分配一個新任務 |
輸出參數(shù)“STATUS”:錯誤信息。
4.Simotion側(cè)的編程
(1)在Simotion的命令庫中,包含TCP IP通訊函數(shù),如圖19所示:
圖. 19
(2)打開服務器程序
圖. 20
port : Simotion自己的Port,如2001
backlog : 允許的并行連接數(shù)
nextcommand : 同步或異步調(diào)用
Out : 含functionresult和connectionID
(3)接收數(shù)據(jù)
圖. 21
connectionid : 連接ID,在OpenServer的返回值中。
nextcommand : 同步或異步調(diào)用
receivevariable : 接收到的數(shù)據(jù)
Out : 接收返回值,含function result和datalength
(3)發(fā)送數(shù)據(jù)
圖. 22
Connectionid : 連接ID,在OpenServer的返回值中。
nextcommand :同步或異步調(diào)用
datalength : 發(fā)送數(shù)據(jù)的長度
data : 發(fā)送的數(shù)據(jù)
注意:
Simotion側(cè)與PLC側(cè)的發(fā)送及接收區(qū)數(shù)據(jù)長度應保持相同。
三、程序示例
PLC程序請參見附帶文件:Plc-317o.zip
Simotion程序請參見附帶文件:OpenIED435tcpi.zip
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)改變地址時應斷掉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站地址應與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