說明
“GET_NAME”指令用于讀取 IO 設備或 DP 從站的名稱。該名稱將顯示在網(wǎng)絡視圖和 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ù)據(jù)類型 | 存儲區(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 地址。該編號將顯示在網(wǎng)絡視圖和 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ù)據(jù)區(qū)內。 |
有關有效數(shù)據(jù)類型的更多信息,請參見“有效數(shù)據(jù)類型概述”。
參數(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ù)據(jù)類型。 |
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ù)據(jù)區(qū)域。此區(qū)域的大小必須至少與 LEN 參數(shù)處指定的字符數(shù)相一致。 |
* 在程序編輯器中,錯誤代碼將顯示為整數(shù)或十六進制值。有關切換顯示格式的信息,請參見“另請參見”。 |
示例
以下舉例說明了如何讀取 HMI 面板的站名稱。
HMI 面板的組態(tài):
創(chuàng)建以下變量,在全局數(shù)據(jù)塊中進行數(shù)據(jù)存儲:
為指令“GET_NAME”分配參數(shù):
執(zhí)行指令:
在網(wǎng)絡視圖中創(chuàng)建站名稱為“HMI_IO-Device”的 HMI 面板,并分配給相同 CPU 的 PROFINET IO 系統(tǒng)。
在硬件配置的屬性中激活該 HMI 面板的操作模式“IO 設備”,并將 CPU 指定為 IO 控制器。
在“以太網(wǎng)地址”(Ethernet addresses) 下的屬性內,設置設備編號“20”
在輸入?yún)?shù) LADDR 中,輸入 IO 系統(tǒng)(262)的硬件標識符。
在輸入?yún)?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文章
3166瀏覽量
118144 -
硬件
+關注
關注
11文章
3478瀏覽量
67415 -
IO設備
+關注
關注
0文章
21瀏覽量
7554
原文標題:西門子-博圖 :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網(wǎng)關從站設備快速接入西門子S7 1200的通訊方法
Profibus DP轉Profinet網(wǎng)關把稱重儀表接到西門子PLC

西門子與ABB機器人的Profibus-DP通訊實例

評論