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