簡介
在以下示例中,將讀取循環(huán)中斷 OB (OB31) 的相位和循環(huán)時間,并設(shè)置一個新的循環(huán)時間。
OB31 具有以下默認值:
要求
互連參數(shù):“SLI_itemiseStatus_CINT”函數(shù) 要評該估狀態(tài)信息,需創(chuàng)建一個函數(shù)“SLI_itemiseStatus_CINT”。 在該函數(shù)中創(chuàng)建以下局部變量。
為所有相關(guān)位創(chuàng)建互連。
程序段 1:
程序段 2:
程序段 3:
互連參數(shù):“SLI_FB_SET_CINT”函數(shù)塊
要調(diào)用指令,可創(chuàng)建函數(shù)塊(“SLI_FB_SET_CINT”)。在函數(shù)塊“SLI_FB_SET_CINT”中創(chuàng)建以下局部變量。
程序段 1:互連“QRY_CINT”指令的參數(shù),如下所示:
程序段 2:互連“SET_CINT”指令的參數(shù),如下所示:
程序段 3:互連“SLI_itemiseStatus_CINT”函數(shù)的參數(shù),如下所示。
互連參數(shù):OB31
在 OB31 中創(chuàng)建以下互連:
“QRY_CINT”的結(jié)果
通過指令“QRY_CINT”和“SET_CINT”的輸入?yún)?shù) OB_NR(“obNbr”),存儲待調(diào)用 OB 的編號 (OB31)。
當常開觸點(“executeQry”)的信號狀態(tài)為“TRUE”時,執(zhí)行“QRY_CINT”指令并讀取 OB31 的數(shù)據(jù)。
循環(huán)時間將在輸出參數(shù) CYCLE(“qryCycle”)中輸出。相位偏移在輸出參數(shù) PHASE(“qryPhase”)中輸出。
輸出參數(shù) STATUS(“#statWord”)中將顯示 OB31 的狀態(tài)。輸出參數(shù) RET_VAL(“returnValueQry”)可用于指示該過程是否存在錯誤。
OB31 的當前狀態(tài)信息(“#statWord”),將在程序段 3 中通過函數(shù)“SLI_itemiseStatus_CINT”進行解釋,然后通過結(jié)構(gòu)“itemiseStatus”進行輸出。
將變量“#statWord”的值映射到結(jié)構(gòu)“itemiseStatus”中。
“SET_CINT”的結(jié)果
當常開觸點(“executeSet”)的信號狀態(tài)為“TRUE”時,執(zhí)行“SET_CINT”指令。新循環(huán)時間將通過指令“SET_CINT”的輸入?yún)?shù) CYCLE(“setCycle”),傳送到 OB31 中?!?”值將作為相位偏移值存儲在輸入?yún)?shù) PHASE(“setPhase”)中。
輸出參數(shù) RET_VAL(“returnValueSet”)用于指示處理無錯誤。
“SET_CINT”指令執(zhí)行后,OB31 將保留新的循環(huán)中斷數(shù)據(jù),直至 CPU 轉(zhuǎn)入 STOP 模式。指令執(zhí)行后,可將常開觸點(“executeSet”)的信號狀態(tài)再次置位為“FALSE”。“SET_CINT”指令的執(zhí)行不影響 OB31 的默認屬性。
OB31 的結(jié)果
當常開觸點(“executeSet”)的信號狀態(tài)為“TRUE”時,在 OB31 中啟動 IEC 定時器“TP”。2 分鐘后,該 IEC 定時器停止運行。
要進行調(diào)用,需創(chuàng)建一個 OB31。
在全局數(shù)據(jù)塊中,創(chuàng)建 12 個變量進行數(shù)據(jù)存儲。
-
編程
+關(guān)注
關(guān)注
88文章
3615瀏覽量
93731 -
中斷
+關(guān)注
關(guān)注
5文章
898瀏覽量
41495 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4331瀏覽量
62605
原文標題:西門子博途:循環(huán)中斷功能的編程示例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論