吳忠西門子*代理6ES79521KK000AA0 吳忠西門子*代理6ES79521KK000AA0
可以通過S7-300/400 PLC集成的 PROFINET 接口使用基于工業(yè)以太網(wǎng)的開放式通信與Simotion設備進行數(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-PLCSIM V5.4 SP3與其他版本的S7-PLCSIM相比,增加了仿真CPU之間相互通信及在狀態(tài)欄顯示CPU所有可訪問接口等功能。本文通過模擬兩個S7- 400PLC之間基于TCP/IP的S7通訊,介紹如何使用S7-PLCSIM V5.4 SP3的仿真功能。
2. 軟件環(huán)境
2.1 STEP7 V5.4 SP3
用于編寫PLC程序,此軟件需要從西門子購買,本文檔中所有的程序代碼均使用Step7 V5.4 SP3編寫。
2.2 S7-PLCSIM V5.4 SP3
PLC仿真軟件,一般操作可參考《S7-PLCSIM使用入門》
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=2760&loginID=&srno=&sendtime=
更新功能信息及升級軟件包可從以下鏈接地址下載 36068796
3. 硬件組態(tài)
新建一個項目在SIMATIC Manager中插入兩個S7-400站,打開HW Config界面進行硬件組態(tài),站點配置如下圖:
圖 1 -1#站點硬件組態(tài)
圖1表示1#站點,包含電源和CPU 414-3PN/DP,IP地址192.168.0.1;
圖 2-2#站點硬件組態(tài)
圖2表示2#站點,包括電源,CPU412-2DP以及CP443-1通訊模塊,IP地址192.168.0.2
4. 網(wǎng)絡組態(tài)
打開Netpro可以看到如圖3所示的網(wǎng)絡結(jié)構(gòu)圖
圖 3-網(wǎng)絡結(jié)構(gòu)圖
建立兩個站點之間的S7連接,單擊CPU414-3PN/DP,單擊鼠標右鍵,選擇“Insert New Connection”, 如圖4
6ES79521KK000AA0
圖 4-插入新連接
在“Insert New Connection”對話框選擇通訊方CPU(Partner),選擇連接類型S7 connection(默認選擇),如圖5
圖 5-設置連接類型及通訊對象
點擊“OK”按鈕進入“S7 connection ”屬性對話框設置如圖6,在連接路徑“Connection Path”中可以看到通訊雙方CPU及通訊接口地址。
圖 6-設置通訊接口
點擊“OK”按鈕,在網(wǎng)絡結(jié)構(gòu)圖下方列表中生成S7連接如圖7,編譯保存完成網(wǎng)絡組態(tài)。
圖 7-完成配置S7連接
5. STEP7編程
S7-400使用標準庫系統(tǒng)功能塊中的SFB8/9/12/13/14/15,具體信息可參考
《用于S7-300/400系統(tǒng)和標準功能的系統(tǒng)軟件》1214574
本例程在414-3PN/DP的OB1中調(diào)用SFB12,412-2DP的OB1中調(diào)用SFB13實現(xiàn)兩個PLC之間的S7通訊,通訊長度10個字節(jié),如圖8。
圖 8-調(diào)用S7通訊功能塊
6. PLCSIM仿真調(diào)試
6.1 啟動仿真
在STEP7中啟動PLCSIM進入仿真模式。
• STEP7 SIMATIC Manager菜單欄Options->Simulate Modules如圖9
圖 9-菜單欄啟動仿真器PLCSIM
• STEP7 SIMATIC Manager工具欄單擊 圖標,如圖10
圖 10-工具欄菜單欄啟動仿真器PLCSIM
啟動后顯示CPU仿真界面S7-PLCSIM1如圖11
圖 11-仿真器
6.2 下載項目
6.2.1. 選擇通訊接口
下載項目前先選擇正確的PG/PC接口,本例程仿真基于TCP/IP的S7通訊,所以選擇PLCSIM(TCP/IP),如圖12。
圖 12-設置PG/PC interface
6.2.2. 下載1#站點
選擇下載1#站點BLOCK到PLCSIM1中如圖13