關 PUT/GET 指令的基本信息
使用 PUT 和 GET 指令通過 S7 連接在兩個 CPU 之間交換數(shù)據(jù)。
GET 指令用于讀取某個伙伴 CPU 的數(shù)據(jù)。通信伙伴通過用戶程序使用 PUT 指令控制變量的寫入。除了 PUT 和 GET 指令外,未提供用于讀取和寫入變量的其它通信功能。
為簡化這兩個指令的使用,可在程序編輯器的巡視窗口中指定所有需要的連接參數(shù)以及所有塊參數(shù)。
要求
必須滿足以下要求方可使用 PUT 和 GET 指令:
必須在項目中創(chuàng)建至少一個 S7-1200/1500 CPU 或 S7-300/400 CPU。必須在 S7-1200 CPU 上安裝固件 2.0 或更高版本。如果尚未在項目中創(chuàng)建第二個 CPU,則最初可以建立到未指定伙伴的連接。
兩個 CPU 之間必須存在 S7 連接。如果尚未在兩個 CPU 之間建立連接,則會在組態(tài)指令期間自動建立連接。
對于這兩個指令,需要一個背景數(shù)據(jù)塊,用來存儲指令使用的所有數(shù)據(jù)。在程序編輯器中將 PUT 或 GET 指令拖動到網(wǎng)絡中后,將立即自動創(chuàng)建該背景數(shù)據(jù)塊。要正確執(zhí)行該程序,請確保背景數(shù)據(jù)塊不能發(fā)生變化;因此,這些數(shù)據(jù)塊將設為受專有技術保護的。只能讀取這些背景數(shù)據(jù)塊。
許借助 PUT/GET 通信從遠程伙伴訪問
默認情況下,禁用“允許借助 PUT/GET 通信從遠程伙伴訪問 (...) ”(Permit access with PUT/GET communication from remote partners (...)) 選項。如果激活該選項,則只能在本地 CPU 和通信伙伴間需要通過組態(tài)或編程建立的通信連接中對 CPU 數(shù)據(jù)進行讀寫訪問。例如,可以通過 BSEND/BRCV 指令進行訪問。
本地 CPU 僅作為服務器的連接(即表示本地 CPU 上不存在使用通信伙伴進行的通信組態(tài)/編程),因此無法在操作 CPU 時進行。例如,
在通過通信模塊進行 PUT/GET、FETCH/WRITE 或 FTP 訪問時
在從其它 S7 CPU 進行 PUT/GET 訪問時
在通過 PUT/GET 通信實現(xiàn) HMI 訪問時
如果要允許從客戶端訪問 CPU 數(shù)據(jù),也就是不希望限制 CPU 的通信服務,則激活“允許借助 PUT/GET 通信從遠程伙伴訪問”(Permit access with PUT/GET communication from remote partners) 選項。
可以在 PUT/GET 指令的連接參數(shù)分配期間創(chuàng)建 S7 連接并為這些連接分配參數(shù)。連接參數(shù)分配將立即檢查更改后值是否存在輸入錯誤。
要求
CPU 中存在 PUT 或 GET 通信指令。
步驟
要使用 PUT/GET 指令組態(tài) S7 連接,請按以下步驟操作:
在程序編輯器中,選擇 PUT 或 GET 指令的調(diào)用。 在巡視窗口中,打開“屬性 > 組態(tài)”(Properties > Configuration) 選項卡。 選擇“連接參數(shù)”(Connection parameters) 組。在選擇連接伙伴之前,只啟用了伙伴端點的空下拉列表。其它所有輸入選項均被禁用。 同時顯示一些已知的連接參數(shù): 本地端點的名稱 本地端點的接口 本地端點的 IP 地址 從伙伴端點的下拉列表框中,選擇一個連接伙伴??梢赃x擇項目中未指定的設備或 CPU 作為通信伙伴。 選擇連接伙伴后,將立即自動輸入以下參數(shù): 伙伴端點的接口 伙伴端點的接口。如果有多個接口可用,則可根據(jù)需要更改接口。 伙伴端點的接口類型 兩個端點的子網(wǎng)名稱 伙伴端點的 IP 地址 用于通信的連接的名稱。如果尚不存在連接,則將自動創(chuàng)建連接。 根據(jù)需要,在“連接名稱”(Connection name) 輸入框中更改連接名稱。如果要創(chuàng)建新連接或編輯現(xiàn)有連接,可單擊“創(chuàng)建新連接”(Create new connection) 圖標。
|
PUT:設置寫入和發(fā)送區(qū)域的參數(shù) |
使用 PUT 指令進行通信時,必須指定數(shù)據(jù)待寫入的伙伴 CPU 的存儲區(qū)。此外,還必須指定本地 CPU 中數(shù)據(jù)讀取的存儲區(qū)。
要求
程序編輯器已打開。
已插入一個 PUT 指令。
已在 2 個通信伙伴之間建立連接。
步驟
要指定該指令的讀取和存儲區(qū)域,請遵循以下操作步驟:
在程序編輯器中選擇 PUT 指令。 在巡視窗口中打開“組態(tài)”(Configuration) 選項卡。 在區(qū)域?qū)Ш街羞x擇“塊參數(shù)分配”(Block parameter assignment) 條目。 在“輸入/輸出 > 寫入?yún)^(qū)域 (ADDR_1) > 開始”(In/Outputs > Write area (ADDR_1) > Start) 字段中,選擇一個“REMOTE”數(shù)據(jù)類型指針,指向數(shù)據(jù)待寫入的伙伴 CPU 區(qū)域。 只能使用絕對尋址。 示例:P#DB10.DBX5.0 Byte 10 在“長度”(Length) 字段中,輸入寫入?yún)^(qū)域的長度并從下拉列表中選擇存儲區(qū)的數(shù)據(jù)類型。 在“輸入/輸出 > 發(fā)送區(qū)域 (SD_1) > 開始”(In/Outputs > Send area (SD_1) > Start) 區(qū)域中,選擇一個指針,指向包含待發(fā)送數(shù)據(jù)的本地 CPU 區(qū)域。 在“長度”(Length) 字段中,輸入待讀取存儲區(qū)的長度并從下拉列表中選擇數(shù)據(jù)類型。 只能使用數(shù)據(jù)類型 BOOL(對于位數(shù)組,必須將“0”用作地址,將字節(jié)的整數(shù)倍用作長度)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。 如果 VARIANT 指針訪問某個數(shù)據(jù)塊,那么必須指定該數(shù)據(jù)塊(例如:P#DB10.DBX5.0 Byte 10)。 |
GET:設置讀取和存儲區(qū)的參數(shù) |
使用 GET 指令進行通信時,必須指定數(shù)據(jù)待寫入的本地 CPU 的存儲區(qū)。此外,還必須指定伙伴 CPU 中數(shù)據(jù)讀取的存儲區(qū)。
要求
程序編輯器已打開。
已插入一個 GET 指令。
已在 2 個通信伙伴之間建立連接。
步驟
要指定該指令的讀取和存儲區(qū)域,請遵循以下操作步驟:
在程序編輯器中選擇 GET 指令。 在巡視窗口中打開“組態(tài)”(Configuration) 選項卡。 在區(qū)域?qū)Ш街羞x擇“塊參數(shù)分配”(Block parameter assignment) 條目。 在“輸入/輸出 > 讀取區(qū)域 (ADDR_1) > 開始”(In/Outputs > Read area (ADDR_1) > Start) 字段中,選擇一個“REMOTE”數(shù)據(jù)類型指針,指向數(shù)據(jù)待讀取的伙伴 CPU 區(qū)域。 只能使用絕對尋址。 示例:P#DB10.DBX5.0 Byte 10 在“長度”(Length) 字段中,輸入寫入?yún)^(qū)域的長度并從下拉列表中選擇存儲區(qū)的數(shù)據(jù)類型。 在“輸入/輸出 > 存儲區(qū) (RD_1) > 開始”(In/Outputs > Memory area (RD_1) > Start) 區(qū)域中,選擇一個指針,指向存儲所讀取數(shù)據(jù)的本地 CPU 區(qū)域。 在“長度”(Length) 字段中,輸入存儲區(qū)的長度并從下拉列表中選擇數(shù)據(jù)類型。 只能使用數(shù)據(jù)類型 BOOL(對于位數(shù)組,必須將“0”用作地址,將字節(jié)的整數(shù)倍用作長度)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。 |
審核編輯:劉清
-
cpu
+關注
關注
68文章
11066瀏覽量
216617 -
HMI
+關注
關注
9文章
634瀏覽量
49889 -
S7-1200
+關注
關注
11文章
333瀏覽量
18545
原文標題:西門子博途有關通過 PUT/GET 指令通信的基本信息
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
S7-1200 PLC的S7通信服務器端解決方案

S7-200SMART CPU與S7-1200進行S7通信的方法
S7-300與S7-400之間ISO-on-TCP傳輸連接

西門子S7-300PLC與S7-200的SMART系列進行以太網(wǎng)S7通信

西門子S7-200SMART PLC之間通過向?qū)崿F(xiàn)S7通訊的步驟
S7-300使用單邊編程方式PUT、GET指令進行通信
S7-1500 CPU支持與其它S7-1500 CPU進行直接數(shù)據(jù)交換
S7 Fault Tolerant connection/S7容錯連接介紹
S7-1200 CPU與S7-200 SMART S7通信指南
S7-1200 CPU與S7-200 SMART S7通信教程

評論