說明
“GET_NAME”指令用于讀取 IO 設備或 DP 從站的名稱。該名稱將顯示在網絡視圖和 IO 設備或 DP 從站的屬性中。在以下截圖中,以 IO 設備為例。

通過 PROFINET IO 系統(tǒng)或 DP 主站的硬件標識符(LADDR 參數(shù)中)以及 IO 設備的設備編號或 DP 從站的 PROFIBUS 地址(STATION_NR 參數(shù)),可選擇該 IO 設備或 DP 從站。
指令成功執(zhí)行后,IO 設備或 DP 從站的名稱將寫入由 DATA 參數(shù)尋址的區(qū)域中。
所讀取的名稱取決于 IO 設備的類型:
對于 DP 從站或 IO 設備,將輸出前端模塊的名稱。
對于智能從站或智能設備,將輸出接口模塊的名稱。
對于 HMI 面板,將輸出接口名稱。
對于 PC 站,將輸出接口模塊的名稱。
對于 GSD 設備,將顯示設備接入點 (DAP) 的名稱(接口或前端模塊的名稱)。
并通過參數(shù) LEN 輸出該名稱的長度。如果該名稱的長度大于 DATA 參數(shù)指定的區(qū)域,則將只寫入尋址區(qū)域的最大長度的部分名稱。
該名稱的最大長度為 128 個字符。
|
說明 讀取的 CPU 的名稱 (V 1.1) 如果參數(shù) LADDR 和 STATION_NR 的值均為“0”,則該指令將輸出 CPU 的名稱。 如果 R/H 系統(tǒng)處于 RUN-Redundant 模式,則該指令將返回主 CPU 的名稱。 |
參數(shù)
下表列出了“GET_NAME”指令的參數(shù):
| 參數(shù) | 聲明 | 數(shù)據類型 | 存儲區(qū) | 說明 |
|---|---|---|---|---|
| LADDR | Input | HW_IOSYSTEM | I、Q、M、D、L 或常量 | PROFINET IO 或 DP 主站系統(tǒng)的硬件標識符該值來自系統(tǒng)常量或 PROFINET IO 系統(tǒng)/ DP 主站系統(tǒng)的屬性。 |
| STATION_NR | Input | UINT | I、Q、M、D、L 或常量 | PROFINET IO 設備的設備編號或 DP 從站的 PROFIBUS 地址。該編號將顯示在網絡視圖和 IO 設備或 DP 從站的屬性中。 |
| DATA | InOut | VARIANT | I、Q、M、D、L | 指向該名稱待寫入的目標區(qū)域的指針。 |
| DONE | Output | BOOL | I、Q、M、D、L | 指令執(zhí)行成功。IO 設備或 DP 從站的名稱已傳送到 DATA 參數(shù)處指定的區(qū)域內。 |
| BUSY | Output | BOOL | I、Q、M、D、L |
狀態(tài)參數(shù) 0:指令執(zhí)行完成。 1:指令的執(zhí)行尚未完成。 |
| ERROR | Output | BOOL | I、Q、M、D、L |
狀態(tài)參數(shù) 0:無錯誤。 1:指令執(zhí)行過程中發(fā)生錯誤。 詳細信息將在 STATUS 參數(shù)中輸出。 |
| LEN | Output | DINT | I、Q、M、D、L | IO 設備或 DP 從站的名稱長度(字符數(shù))。 |
| STATUS | Output | WORD | I、Q、M、D、L |
狀態(tài)參數(shù) 該參數(shù)設置僅維持一次調用所持續(xù)的時間。因此,要顯示該狀態(tài),需將 STATUS 復制到一個空閑數(shù)據區(qū)內。 |
有關有效數(shù)據類型的更多信息,請參見“有效數(shù)據類型概述”。
參數(shù) STATUS
| 錯誤代碼* (W#16#...) | 說明 |
|---|---|
| 0 | 無錯誤 |
| 7001 | 第一次調用“GET_NAME”異步指令。指令的執(zhí)行尚未完成 (BUSY = 1,DONE = 0)。 |
| 7002 | 另一次調用“GET_NAME”異步指令。指令的執(zhí)行尚未完成 (BUSY = 1,DONE = 0)。 |
| 8090 | 在 LADDR 參數(shù)中指定的硬件標識符在項目中不存在。 |
| 8092 | LADDR 參數(shù)的值無法尋址 PROFINET IO 系統(tǒng)或 DP 主站系統(tǒng)。 |
| 8093 | 指令不支持 DATA 參數(shù)中的數(shù)據類型。 |
| 8095 |
所選的 PROFINET IO 系統(tǒng)中沒有該設備編號(STATION_NR 參數(shù)),或者找不到 IO 設備。 在所選的 DP 主站系統(tǒng)中,PROFIBUS 地址(STATION_NR 參數(shù))不存在。 |
| 80B1 | 所用 CPU 不支持該指令。 |
| 80C3 | 臨時資源錯誤:CPU 當前正在處理的同步塊調用的最大數(shù)量。僅當至少一個塊調用執(zhí)行完成后,才能執(zhí)行“GET_NAME”。 |
| 8852 |
DATA 參數(shù)中指定的區(qū)域過短,無法寫入 IO 設備或 DP 從站的完整名稱。只能寫入最大允許長度的部分名稱。 要讀取完整名稱,需在 DATA 參數(shù)處指定一個較大的數(shù)據區(qū)域。此區(qū)域的大小必須至少與 LEN 參數(shù)處指定的字符數(shù)相一致。 |
| * 在程序編輯器中,錯誤代碼將顯示為整數(shù)或十六進制值。有關切換顯示格式的信息,請參見“另請參見”。 | |
示例
以下舉例說明了如何讀取 HMI 面板的站名稱。
HMI 面板的組態(tài):
創(chuàng)建以下變量,在全局數(shù)據塊中進行數(shù)據存儲:

為指令“GET_NAME”分配參數(shù):
執(zhí)行指令:
在網絡視圖中創(chuàng)建站名稱為“HMI_IO-Device”的 HMI 面板,并分配給相同 CPU 的 PROFINET IO 系統(tǒng)。
在硬件配置的屬性中激活該 HMI 面板的操作模式“IO 設備”,并將 CPU 指定為 IO 控制器。
在“以太網地址”(Ethernet addresses) 下的屬性內,設置設備編號“20”

在輸入參數(shù) LADDR 中,輸入 IO 系統(tǒng)(262)的硬件標識符。
在輸入參數(shù) STATION_NR 中,輸入 HMI 面板(2)的設備編號。
互連“GET_NAME”指令的其它數(shù),如下所示:

執(zhí)行該指令之后,HMI 面板 (HMI_IO-Device) 的站名稱將保存到參數(shù) DATA(“moduleName”)中。
并在參數(shù) LEN 中輸出該名稱的字符個數(shù) (13)。
成功讀取 IO 設備后,如果 GET_NAME 的執(zhí)行未停止,則輸出參數(shù)BUSY(“busy”)將顯示值“TRUE”;輸出參數(shù) STATUS(“status”)將顯示值“16#7002”。

-
西門子
+關注
關注
98文章
3312瀏覽量
120390 -
硬件
+關注
關注
11文章
3595瀏覽量
69017 -
IO設備
+關注
關注
0文章
21瀏覽量
7691
原文標題:西門子-博圖 :GET_NAME:讀取 IO 設備或 DP 從站的名稱
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
西門子串口通訊09-CP341在博途環(huán)境中做Modbus從站通訊分享
西門子S7-1500與分布式IO設備的診斷
西門子S7-1500從站的激活與取消激活程序應用
使用Get_Name指令讀取PROFINET IO設備名稱
耐用PROFINET主站設備與PROFIBUS從站連接方法
圖爾庫profinet IO在西門子博圖軟件的應用
PROFIBUS轉PROFINET網關從站設備快速接入西門子S7 1200的通訊方法
Profibus DP轉Profinet網關把稱重儀表接到西門子PLC
西門子與ABB機器人的Profibus-DP通訊實例
西門子博圖GET_NAME讀取IO設備或DP從站的名稱
評論