產(chǎn)品簡介
SINUMERIK 840D/DE NCU 572.4,400MHz,64MB 不帶系統(tǒng)軟件 存儲器:NC 0.5MB,PLC 96KB PROFIBUS-DP 準備
注意
此產(chǎn)品是備件產(chǎn)品
如果您需要幫助,請聯(lián)系您當?shù)氐奈鏖T子辦事處。
詳細介紹
高級業(yè)務顧問;竭誠為你服務.
本公司代理德國西門子全系列*,質量保證,保修一年,提供技術及售后服務,價格公道合理
本公司*低價銷售西門子PLC ET-200,S7-200,S7-300,S7-400,1200,西門子PLC附件,西門子電機,西門子人機界面,西門子變頻器,西門子數(shù)控伺服,西門子總線電纜現(xiàn)貨供應,折扣低,貨期準時,并且備有大量庫存。
S7-300/400 CPU 集成工業(yè)以太網(wǎng)口以 OPEN IE 的通信方式與Simotion間實現(xiàn) UDP 連接的通信
一、S7 Open IE通訊概述
可以通過S7-300/400 PLC集成的 PROFINET 接口使用基于工業(yè)以太網(wǎng)的開放式通信與Simotion設備進行數(shù)據(jù)交換,下列通信協(xié)議支持開放式通訊:
• TCP
• UDP
PLC 通過工業(yè)以太網(wǎng) OPEN IE 通信方式下的 UDP 協(xié)議進行數(shù)據(jù)交換,需要使用以下程序塊:
• FB65 "TCON" 用于建立 UDP 端點
• FB66 "TDISCON" 用于斷開 UDP 端點
• FB67 "TUSEND" 用于發(fā)送數(shù)據(jù)
• FB68 "TURCV" 用于接收數(shù)據(jù)
這些通信功能塊可以在函數(shù)庫 Standard Library -> Communication Blocks 中找到。 用于連接 UDP 端點的參數(shù)存儲于一個數(shù)據(jù)結構體中。在這個例子中,數(shù)據(jù)結構體 UDT65 "TCON_PAR" 將被使用,用戶將對這個數(shù)據(jù)結構體進行參數(shù)化。不需要在 NetPro 中配置通信連接。
S7-300/400 CPU 集成工業(yè)以太網(wǎng)口以 OPEN IE 的通信方式實現(xiàn)UDP 連接的通信程序示例請從下述鏈接中下載 :31938422
二、S7 Open IE通訊下載示例程序描述
從上述鏈接中下載的例程中,S7 程序中包括 FB65 "TCON" 的調用及帶有 UDP 連接端點參數(shù)的數(shù)據(jù)結構體 UDT65 "TCON_PAR"。S7 程序中還包含函數(shù)庫 Standard Library -> Communication Blocks 中函數(shù) FB67 "TUSEND" and FB68 "TURCV" 的調用,F(xiàn)B67 "TUSEND" 用于將數(shù)據(jù)發(fā)送給一個 S7 站,一個 PC 站或第三方系統(tǒng)。FB68 "TURCV" 用于接收一個 S7 站,一個 PC 站或第三方系統(tǒng)發(fā)送的數(shù)據(jù)。
首先在硬件配置中生成 S7-300 站,在這里將 MB10 作為脈沖時鐘,通過脈沖時鐘發(fā)送數(shù)據(jù)。存盤編譯并將硬件配置下載到 CPU 中。
STEP 7 程序包含程序塊 OB100、OB1、 FB500 、 DB500、 FC95、 FC96、 UDT65、 UDT66 、 FB63、 FB64、 FB67 和 FB68。
OB100:
OB100 在 CPU 重新運行時執(zhí)行一次(暖起動)。在這個 OB 塊中*次的通信通過 M0.3 "START-UP" 觸發(fā)。
OB1:
OB1 循環(huán)執(zhí)行,F(xiàn)B500 (背景數(shù)據(jù)塊:DB500) 在 OB1 中調用,使用 M0.3 "START-UP" 對 INIT_COM 賦值.,在 OB1 結束前將 M0.3 "START-UP" 復位。
圖. 01: OB1
FB500:
FB500 在 OB1 中循環(huán)調用。在這個 FB 中調用 FC95 "SET_UDP_REMOTE" ,F(xiàn)C96 "SET_UDP_ENDPOINT" 及 FB65 "TCON", FB67 "TUSEND", FB68 "TURCV" 和 FB66 "TDISCON"。
通過 FC95 "SET_UDP_ENDPOINT" 定義本地 UDP 端點連接參數(shù),下列參數(shù)需要考慮:
• ID: 連接 ID
• DEV_ID:
DEV_ID = B#16#2 用于 CPU 31x-2PN/DP
DEV_ID = B#16#3 用于 CPU 319-3PN/DP
DEV_ID = B#16#5 用于 CPU 41x-3PN/DP
• LOC_PORT: CPU 中的本地端口號
圖. 02: 調用 FC95
通過 FC96 "SET_UDP_REMOTE" 定義遠端的 UDP 端點連接參數(shù)。下列參數(shù)需要考慮:
• REM_PORT: 通信方的端口號
• IP_ADDR1 ... IP_ADDR4: 通信方的 IP 地址
圖. 03: 調用 FC96
在 FB65 "TCON" 輸入?yún)?shù) "REQ" 施加一個上升沿觸發(fā)本地 UDP 端點連接的建立。數(shù)據(jù)結構體 UDT65 "TCON_PAR" 中的本地端點參數(shù)包含在 FB500 的背景數(shù)據(jù)塊中。在 FB65 "TCON" 的輸入?yún)?shù) "CONNECT" 定義了本地端點參數(shù)的數(shù)據(jù)區(qū),本地端點連接在系統(tǒng)啟動時建立并保持,通過 FB66 "TDISCON" 或 CPU 停止及斷電可以斷開通信連接。
圖. 04: 調用 FB65 "T_CON"
在 FB67 "TUSEND" 輸入?yún)?shù) "REQ" 施加上升沿觸發(fā)發(fā)送請求,發(fā)送請求通過脈沖時鐘 M10.6 及變量 "C1.SEND_BUSY" 控制。如果發(fā)送請求正在運行,"C1.SEND_BUSY" 被置位,新的發(fā)送不能執(zhí)行 ( 參考圖05 )。
在輸入?yún)?shù) "DATA" 中定義數(shù)據(jù)發(fā)送區(qū)。在輸入?yún)?shù) "LEN" 中定義發(fā)送的字節(jié)數(shù)。
在輸入?yún)?shù) ADDR 定義接收方的 IP 地址,在示例程序中,通信方的地址參數(shù)存儲于數(shù)據(jù)結構 UDT66 "TADDR_PAR" 中,數(shù)據(jù)結構包含于背景數(shù)據(jù)塊 DB500 中。
通過輸出參數(shù) "DONE", "ERROR" 及 "STATUS" 可以查詢請求狀態(tài)。
圖. 05: 調用 FB67 "TUSEND"
如果發(fā)送請求成功完成, "C1.SEND_BUSY" 被復位。新的發(fā)送請求可以被再次觸發(fā)。
如果發(fā)送請求完成但是有錯誤,"C1.SEND_BUSY" 同樣被復位,F(xiàn)B67 的輸出參數(shù) "STATUS" 存儲故障代碼用于故障分析。
圖. 06: 上升沿觸發(fā)發(fā)送請求/復位 "C1.SEND_BUSY"
圖. 07: FB67 "TUSEND" 的輸出參數(shù) STATUS 存儲發(fā)送狀態(tài)
一旦 UDP 端點被連接即可接收數(shù)據(jù)。在輸入?yún)?shù) "DATA" 定義接收的數(shù)據(jù)區(qū)的地址和長度用于存儲接收數(shù)據(jù)。在 ADDR 中定義的數(shù)據(jù)用于存儲發(fā)送方的 IP 地址。在這個示例中,通信方的地址參數(shù)存儲于數(shù)據(jù)結構 UDT66 "TADDR_PAR" 中,數(shù)據(jù)結構包含于背景數(shù)據(jù)塊 DB500 中。
圖. 08: 調用 FB68 "TURECV"
輸出參數(shù) "NDR" 用于顯示接收新的數(shù)據(jù)。輸出參數(shù) "LEN" 指示接收數(shù)據(jù)的長度。
如果接收數(shù)據(jù)不成功,可以評估輸出參數(shù) "STATUS" 的存儲的狀態(tài)字。
圖. 09: FB68 "TURECV" 的輸出參數(shù) STATUS 的存儲發(fā)送狀態(tài)
可以調用 FB66 "TDISCON" 斷開 UDP 本地端點的連接。通過賦值 FB66 "TDISCON" 的輸入?yún)?shù) "REQ" 一個上升沿觸發(fā)斷開本地端點連接。
圖. 10: 調用 FB66 "TDISCON"
下載 STEP 7 項目:
STEP 7 項目包含一個調用 FB500 及 FC95 "SET_UDP_ENDPOINT"、FC96 "SET_UDP_REMOTE" 的例子程序、FB65 "TCON"、FB66 "TDISCON"、FB67 "TUSEND" 和 FB68 "TURECV" 用于狀態(tài)評估,例子程序使用 STEP 7 V5.4 SP3 生成。
配置 UDP 連接:
為了發(fā)送 UDP 數(shù)據(jù)包到多個通信方,需要配置額外的本地和遠程的 UDP 端點。 可以復制 FB500 以便得到更多的功能塊 (例如 FB501)。修改本地和遠程的 UDP 端點的參數(shù),可以生成新的背景數(shù)據(jù)塊:
本地 UDP 端點的 ID 可以選擇的值范圍從 1 到 4095。
本地和遠程端口可以選擇的值范圍從 2000 到 5000。
對于每一個本地的 UDP 端點,ID 和端口必須是單獨的。即必須定義一個不同的 ID 和一個不同的端口對于每個本地 UDP 端點。
根據(jù)通訊方的配置,定義遠程端口和 IP 地址。
下表顯示了如何配置多個本地和遠程 UDP 端點。在這個示例中,相同的 ID 和 同一端口被用于本地和遠程終端。
本地/遠程 UDP 端點 | 1 | 2 | 3 |
ID | 1 | 2 | 3 |
LOC_PORT | 2000 | 2001 | 2002 |
REM_PORT | 2000 | 2001 | 2002 |
通訊方的 IP 地址 | 140.80.0.50 | 140.80.0.51 | 140.80.0.52 |
三、S7-300/400 CPU 集成工業(yè)以太網(wǎng)口以 OPEN IE 的通信方式與Simotion間實現(xiàn) UDP 連接的通信
附帶文件中提供了通過317-2PN/DP集成工業(yè)以太網(wǎng)口以 OPEN IE 的通信方式與Simotion間實現(xiàn) UDP 連接的通信的示例。
1.PLC側的編程及設置
將鏈接 31938422 中的示例程序下載后打開,將程序拷貝至用戶程序中。
打開FB500功能塊,做如下參數(shù)修改:
圖. 11
圖. 12
圖. 13
圖. 14
圖. 15
2.Simotion側的編程
(1)在Simotion的命令庫中,包含UDP通訊函數(shù),如圖16所示:
圖. 16
(2)發(fā)送數(shù)據(jù)
圖. 17
SourcePort:本方的端口號
DestinationAddress:對方的IP地址
DestinationPort:對方的端口號
CommunicationMode :通信完成后是否釋放通信資源
DataLength:發(fā)送的數(shù)據(jù)長度,大長度1400字節(jié)
Data:發(fā)送數(shù)據(jù)區(qū),ARRAY [0..1399] OF BYTE
Return value:狀態(tài)返回值
(3)接收數(shù)據(jù)
圖. 18
Port:定義本方的端口號,與發(fā)送方的端口號對應
CommunicationMode:通信完成后是否釋放通信資源
NextCommand :同步執(zhí)行或異步執(zhí)行
ReceiveVariable:數(shù)據(jù)接收區(qū)ARRAY [0..1399] OF BYTE
Return value:狀態(tài)返回值
3. 程序示例:
PLC程序請參見附帶文件:PLC-Udp.rar ( 191 KB )
Simotion程序請參見附帶文件:D435-udp.rar ( 331 KB )
關鍵詞
S7-300/400,OPEN IE ,UDP,Simotion