通過CASE OF指令,可以比較容易實現類似順控的功能,并且編程方法便捷、可讀性較好。可以使用類似于下面的編程方式實現類似順控的功能:
CASE 步驟號 OF //Int類型步驟號,一般位于FB的Static
0:
步驟0
邏輯編程 //一般初始步不執行具體操作,只是初始化,然后是等待開始
IF 條件 THEN
步驟號:=1;
ELSIF 錯誤 THEN
步驟號:=100;
END_IF;
1:
步驟1
邏輯編程
置位復雜指令i.REQ
IF 復雜指令i.DONE THEN
復位復雜指令i.REQ
步驟號:=2;
ELSIF 復雜指令i.ERROR
復位復雜指令i.REQ
步驟號:=100;
END_IF;
2:
步驟2
邏輯編程
置位復雜指令m.REQ
IF 復雜指令m.DONE THEN
復位復雜指令m.REQ
步驟號:=3;
ELSIF 復雜指令m.ERROR
復位復雜指令m.REQ
步驟號:=100;
END_IF;
.
.
.
n:
步驟n
邏輯編程
置位復雜指令x.REQ
IF 復雜指令x.DONE THEN
復位復雜指令x.REQ
步驟號:=n+1;
ELSIF 復雜指令x.ERROR
復位復雜指令x.REQ
步驟號:=100;
END_IF;
.
.
.
100:
錯誤處理 邏輯編程
步驟號:=0
END_CASE;
復雜指令0 //復雜指令調用
復雜指令1
.
.
.
復雜指令n
輸出Busy、Done、Status等
復雜指令一般包含:通信、運動控制、讀配方、寫數據日志、讀寫數據記錄、定時器等異步指令,這些指令通常不放在CASE語句的邏輯中,而是在最后統一調用。
一般通過復雜指令完成位、錯誤位等作為跳轉條件。如果是定時器,也可以通過判斷時間是否到達作為跳轉條件。
例子:使用CASE OF指令編程運動控制,第一步相對運動以200mm/s的速度移動10000mm,第二步速度控制以100mm/s的速度移動15s,第三步停止。
圖5為FB塊的參數部分,圖6為程序。
圖5 FB參數
圖6 源程序
審核編輯 :李倩
-
編程
+關注
關注
88文章
3616瀏覽量
93734 -
Case
+關注
關注
0文章
27瀏覽量
13367
原文標題:SCL : CASE OF 指令如何實現順控功能?
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論