快換的Profinet對接使用方式
同一個設(shè)備可以在不同的機器人上交替運行。為此必須使用其他的 IOCTL 功能進(jìn)行解耦和耦合。如果一個設(shè)備僅在一個機器人上運行,則也可以使用這些 IOCTL 功能。其他 IOCTL 功能只能為了兼容的原因而使用。
l? 在帶有工具更換系統(tǒng)的應(yīng)用中,絕不能將總線用戶持久地耦合在工業(yè)以太網(wǎng)上。
l? 在冷啟動或在一個輸入 / 輸出端配置時,在該情況下這將直接導(dǎo)致工業(yè)以太網(wǎng)故障。
l? 關(guān)閉始終可用這一功能可以防止這些設(shè)備在冷啟動后或者重新配置輸入 /輸出端后被邏輯耦合進(jìn)工業(yè)以太網(wǎng)。
l? 這些已被停用的設(shè)備可以在以后程序運行時毫無問題地重新耦合進(jìn)來。
l? 但是在項目設(shè)置時必須考慮到,將所有工具在物理和邏輯上集入進(jìn)工業(yè)以太網(wǎng)項目。
解耦 --已解耦設(shè)備的屬性:
l? 若將已解耦的設(shè)備與工業(yè)以太網(wǎng)或者電源分離開,這不會觸發(fā)故障。
l? 在已解耦的設(shè)備上進(jìn)行的所有 IO 操作都無效。
l? 已解耦的設(shè)備不能對讀 / 寫故障進(jìn)行處理。
l? 解耦時設(shè)備的輸入端已被歸零。
耦合
IOCTL 函數(shù)是同步執(zhí)行的。當(dāng)設(shè)備重新可以使用并可寫入時,該函數(shù)才返回。耦合的設(shè)備不可用時,例如因為它與總線或電源斷開了,在超時 ( 默認(rèn) 10 秒) 后顯示一條提示信息。
? 菜單路徑:項目結(jié)構(gòu) > ProfiNet > 用鼠標(biāo)雙擊 > 設(shè)備設(shè)定
? 通過勾選將設(shè)備設(shè)置為始終可用或者取消此設(shè)置。
選項 “始終可用” 會影響機器人控制系統(tǒng)在冷啟動或在重新配置 I/O 驅(qū)動程序時對于已解耦設(shè)備的反應(yīng)?!笔冀K可用”可在 WorkVisual 內(nèi)的設(shè)備數(shù)據(jù)中設(shè)置。
如果設(shè)備沒有勾選選項 始終可用,則設(shè)備在重啟時或在重新配置 I/O 驅(qū)動程序時自動解耦。為了與設(shè)備建立連接,必須用 IOCTL 功能重新耦合設(shè)備。
通過 HMI 耦合和解耦現(xiàn)場總線用戶
1.選擇菜單序列顯示 > 變量 > 單個。
2.2. 在 名稱欄輸入:
? 解耦時:
? 在一臺機器人上使用該設(shè)備時:
=IOCTL("PNIO-CTRL",60,[ 用戶識別號 ])
? 在一臺或多臺機器人上使用該設(shè)備時:
=IOCTL("PNIO-CTRL",1060,[ 用戶識別號 ])
? 耦合時:
? 在一臺機器人上使用該設(shè)備時:
=IOCTL("PNIO-CTRL",50,[ 用戶識別號 ])
? 在一臺或多臺機器人上使用該設(shè)備時:
=IOCTL("PNIO-CTRL",1050,[ 用戶識別號 ])
IOCTL :用于耦合和解耦的 系統(tǒng)變量
PNIO-CTRL :通過 ProfiNet 驅(qū)動程序名 調(diào)用
? 50/1050 = 調(diào)用耦合
? 60/1060 = 調(diào)用解耦
用戶識別號 要耦合或解耦的模塊的設(shè)備編號 / 用戶識別號
在單個變量顯示中,執(zhí)行每個IOCTL 指令后,在當(dāng)前值窗口內(nèi)以數(shù)字的形式顯示一個返還值。此數(shù)字有下列不同的含義:
l0 :IOCTL 已成功執(zhí)行。
l1 :超時 — 設(shè)備未能在規(guī)定時間內(nèi)耦合或解耦。
l2 :IOCTL 包含一個不正確的參數(shù) — 請檢查輸入!
l-1 :故障 — 無法執(zhí)行指令。
? IOCTL 功能是同步執(zhí)行的。當(dāng)設(shè)備重新可以使用并可寫入時,才能再次執(zhí)行 IOCTL 功能。
? 若耦合的設(shè)備不可用,例如因為它與總線或電源斷開了,則將在超時后顯示一條信息。
若規(guī)定的用于耦合或解耦的時間設(shè)計得太短,可以重新設(shè)定超時。標(biāo)準(zhǔn)設(shè)置為 10 秒,即 10000 毫秒
RET = IOCTL("PNIO-CTRL",1001,10000)
詢問設(shè)備狀態(tài):
用 IOCTL 函數(shù) 70 可以詢問從屬設(shè)備的狀態(tài)。
RET = IOCTL("PNIO-CTRL",70,[ 用戶 ID] )
RET 的返回值:
l4 :設(shè)備已解耦。
l5 :設(shè)備已耦合,但出現(xiàn)錯誤。
l6 :設(shè)備已耦合且無錯誤。
l7 :設(shè)備已解耦,但內(nèi)部仍在 PROFINET Controller 中激活。
通過激活或停用總線故障
在默認(rèn)情況下激活總線故障。如果出現(xiàn)總線故障,這會導(dǎo)致停止和/或鎖定激活命令。借助 KRL 函數(shù) IOCTL 可停用并再次激活總線故障。
激活或停用可以在運行時于程序內(nèi)通過 KRL 執(zhí)行。 可為一個或多個總線實例停用總線故障。
如果總線故障被停用,會有如下表現(xiàn):
? 總線故障:不停止和/或鎖定激活命令
? 總線故障:smartHMI 信息窗口中沒有故障信息
? smartHMI 信息窗口中會顯示以下信息: KRC IO 總線錯誤抑制針對下列總線實例激活:{總線實例}{總線實例}{總線實例}
? 如果總線實例中已出現(xiàn)故障,則無法再次激活總線故障。
該情況下可通過系統(tǒng)變量 $IOBUS_INFO 讀取是否出現(xiàn)總線故障。
? 為了停用總線故障: RET = IOCTL("KRC->PNIO-CTRL", 1, 1) ? 為了激活總線故障: RET = IOCTL("KRC->PNIO-CTRL", 1, 0)
RET | 用于保存 KRL 函數(shù) IOCTL 返還值的變量。該變量的數(shù)據(jù)類型為 INT,在使用之前必須在程序中聲明。 |
IOCTL | 用于向總線驅(qū)動程序發(fā)送命令的 KRL 函數(shù) |
PNIO-CTRL | 總線驅(qū)動程序的名稱 |
1、1 | 用于停用總線故障的 IOCTL 命令 |
1、0 | 用于激活總線故障的 IOCTL 命令 |
通過 KRL 重啟總線系統(tǒng)
總線故障后,可在運行時在程序之內(nèi)重啟總線系統(tǒng)。為此,必須在程序中借助KRL 函數(shù) IOCTL 編程一個重啟總線系統(tǒng)的命令。
RET = IOCTL("PNIO-CTRL",12,0)
12 | 用于重啟總線系統(tǒng)的 IOCTL 命令 |
審核編輯:劉清
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6657瀏覽量
110818 -
機器人
+關(guān)注
關(guān)注
211文章
28632瀏覽量
208104 -
工業(yè)以太網(wǎng)
+關(guān)注
關(guān)注
10文章
624瀏覽量
42383 -
HMI
+關(guān)注
關(guān)注
9文章
597瀏覽量
48671 -
Profinet
+關(guān)注
關(guān)注
6文章
1214瀏覽量
23520
原文標(biāo)題:DOCK之profinet的對接快換耦合V3.15
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論