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