Sense
以Jump、Jump3、Jump3CP指定Sense時,設定並顯示停在目標坐標上方的條件。
格式
Sense [ 條件運算式 ]
參數
- 事件條件運算式
- 用於指定作為觸發器的輸入狀態。
- [事件] 比較運算符(=, <>, >=, >, <, <=) [整數運算式]
- 可將以下函數或變數用於事件。
函數:Sw、In、InW、Oport、Out、OutW、MemSw、MemIn、MemInW、Ctr、GetRobotInsideBox、GetRobotInsidePlane、AIO_In、AIO_InW、AIO_Out、AIO_OutW、Hand_On、Hand_Off、SF_GetStatus
變數:Byte、Int32、Integer、Long、Short、UByte、UInt32、UShort型的備份變數、全域變數、模組變數
- 此外,可用以下運算符,對複數事件條件運算式使用遮罩或進行複合組合。
運算符:And、Or、Xor
- [例]
Sense Sw(5) = On Sense Sw(5) = On And Sw(6) = Off
說明
在執行Jump命令時且第3關節開始下降前,Sense用於檢查輸入條件。
此外,在執行Jump3、Jump3CP命令時且開始進行接近動作前,Sense用於檢查輸入條件。
必須在Sense條件運算式中包含1個以上的上述函數。
若Sense條件運算式中含有變數,則在設定Sense條件時運算該值。可能會變成非預期條件,因此建議在條件運算式中不使用變數。也可使用多個Sense陳述式。最後執行的輸入條件在移至下一個Sense陳述式之前有效。
Jump和Sense修飾詞
檢查目前Sense條件是否成立。若成立,則在機器人停在目標坐標上方的狀態下完成Jump命令。總之,Sense條件為「True」時,機器人會在第3關節開始下降前停在目標坐標上方。Sense條件為「False」時,機器人在目標坐標上完成Jump命令的動作。
Jump3、Jump3CP和Sense修飾詞
檢查目前Sense條件是否成立。若成立,則在機器人停在接近開始位置的狀態下完成Jump3、Jump3CP命令。
若省略參數,則顯示目前Sense設定。
注意
電源ON時的Sense設定
電源ON時的Sense條件之初始設定為Sense Sw (0) = On。有設為當輸入位元編號0為ON時機器人不執行下降動作。
檢查Sense條件成立的JS函數和State函數
在執行使用Sense修飾詞的動作命令之後,可用JS函數或State函數檢查是否成立Sense條件。
在條件運算式中使用變數時
- 可使用的變數型態為整數型(Byte, Int32, Integer, Long, Short, UByte, UInt32, UShort)。
- 不可使用陣列變數。
- 不可使用本地變數。
- 變數值未滿足條件的時間超過0.01秒時,系統可能無法檢測到變數變化。
- 系統內可使用的變數等待數量有限。1個系統內可使用的變數等待數量最多64個(也包括Wait等條件運算式所用的變數等待數量)。若超過最大數量,則在建置專案時將發生錯誤。
- 若以ByRef傳址要執行變數等待的變數,則發生錯誤。
- 若條件運算式右邊的整數運算式中含有變數,則在開始動作命令時運算該值。可能會變成非預期條件,因此建議在整數運算式中不使用變數。
參照
In、JS、Jump、Jump3、Jump3CP、MemIn、MemSw、Stat、Sw、SF_GetStatus
Sense範例
是Sense命令的簡易範例。
Function test
.
.
TrySense:
Sense Sw (1) = Off '設為在停用輸入位元1時停在目標坐標上方
Jump P1 C2 Sense
If JS = True Then
GoSub ERRPRC '手臂停在目標坐標上方時
GoTo TrySense '執行ERRPRC並移動到TrySense
EndIf
On 1; Wait 0.2; Off 1
.
.
Fend
[其它格式範例]
> Sense Sw(1)=1 And MemSw(1)=1
> Sense Sw(0) Or (Sw(1) And MemSw(1))