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))