簡介
在以下示例中,將使用兩個 CPU 間已組態的連接(如,UDP 連接)。使用指令“T_CONFIG”,可組態 CPU 1 的 IP 地址和 PROFINET 設備名稱。
要求
設置連接:
兩個 CPU(如,S7-1513-1 PN 系列)通過 PROFINET 進行互連,
且無需使用已組態的連接。
設置 CPU 1 的 PROFINET:
打開 CPU 1 的設備視圖“> 屬性 > PROFINET 接口 > 以太網地址 > PROFINET”(> Properties > PROFINET interface > Ethernet addresses > PROFINET)。 要設置設備名稱,可選擇以下選項: “在設備中直接設置 IP 地址”(IP address is set directly at the device) “在設備中直接設置 PROFINET 設備名稱”(PROFINET device name is set directly at the device)。 |
調整“hwid”的值:
根據本地設備 (CPU 1) 中 PROFINET 接口的硬件 ID,更改“hwid”的值。
說明 打開“PLC 變量 > 顯示所有變量 > 系統常量”(PLC tags > Show all tags > System constants)。查找數據類型為“Hw_Interface”的條目“ |
創建變量并互連參數(CPU 1 中的程序)
要對該數據進行存儲,需使用以下結構和變量,創建一個全局數據塊(“SLI_gDB_T_CONFIG”)。
在結構“configData”中:分配系統數據類型為“IF_CONF_Header”的參數,指定 PROFINET 數據的大小,如下所示:
在結構“configData”中:分配系統數據類型為“IF_CONF_v4”的參數,定義 IP 地址,如下所示:
在結構“configData”中:分配系統數據類型為“IF_CONF_NOS”的參數,定義 PROFINET 設備名稱,如下所示:
說明 “configData”的結構 “configData”結構信息說明如下所示: 在 Header (IF_CONF_Header) 中。 SubfieldCount = 2:值含義:下圖中使用了 2 個附加結構(“deviceIP”,“deviceName”)(*)。 * 確保這兩個結構的順序保持不變。 在結構“deviceName”中(系統數據類型 IF_CONF_NOS) Lenght = 11 (*)。該數值等于結構 NOS 的總長度(5 個字節的設備名稱“myplc” + 6 個字節的參數 Id、Length 和 Mode) * 默認起始值 (Lenght = 0) 可作為動態長度,而非絕對長度。 Mode = 1。該值將導致“myplc”中的設備名稱發生永久性地更改。 NOS[1] ... NOS[5]。NOS 數組中包含有新的設備名稱(1 個字符 / 字節)。 |
創建函數塊“SLI_FB_T_CONFIG”,并在該數據塊中創建以下局部變量。
程序段 1:互連“T_CONFIG”指令的參數,如下所示:
程序段 2:如果 T_CONFIG 出錯,則保存狀態信息,如下所示。
程序段 3:創建以下互連,退出 T_CONFIG。
結果
程序段 1:
輸入參數 REQ(“T_CONFIG.start”)的信號狀態為“TRUE”時,啟動指令“T_CONFIG”。多次調用時,可使用指令“T_CONFIG”組態 CPU 中集成的 PROFINET 接口。根據輸入參數 INTERFACE(“T_CONFIG.hwid”),指令“T_CONFIG”可確定所使用的接口。
數據記錄 () 成功傳送后,輸出參數 DONE(“#done”)中的信號狀態為“TRUE”。同時,“0000_0000”值將顯示在輸出參數 STATUS(“T_CONFIG.status”)中。由于輸出參數的值僅在有效時才顯示,因此成功消息將保存在變量“T_CONFIG.done”中。
輸出參數 ERROR(“T_CONFIG.error”)或變量“T_CONFIG.memErrStat”)可用于指示本示例中的執行過程是否出錯。
程序段 2:
如果 T_CONFIG 發出信號指示錯誤(“T_CONFIG.error”,“TRUE”),則將按以下方式保存報警:
將狀態(“T_CONFIG.status”)保存在變量“T_CONFIG.memErrStat”中。
保存錯誤位置,并從 T_CONFIG 將變量“T_CONFIG.errorLocation”中錯誤位置輸出到輸出參數 ERR_LOC(“#errorLocation”)中。
在線與診斷
要檢查 PROFINET 數據是否更改,可打開項目樹中的以下路徑:“在線與診斷 > 功能 > 分配名稱”("Online & Diagnostics > Functions > Assign name)。
審核編輯:劉清
-
plc
+關注
關注
5008文章
13166瀏覽量
462123 -
存儲器
+關注
關注
38文章
7453瀏覽量
163608 -
連接器
+關注
關注
98文章
14326瀏覽量
136172 -
狀態機
+關注
關注
2文章
492瀏覽量
27481
原文標題:博途PLC示例:T_CONFIG 的編程示例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論