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

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

西門子S7-200SMART PLC之間通過向導實現S7通訊的步驟
S7-1500 CPU支持與其它S7-1500 CPU進行直接數據交換
S7 Fault Tolerant connection/S7容錯連接介紹
S7-1200 CPU與S7-200 SMART S7通信指南
S7-1200 CPU與S7-200 SMART S7通信教程

評論