SF_GetStatus関数
安全機能の状態ビットを返します。
書式
SF_GetStatus (インデックス)
パラメーター
- インデックス
- 検索する情報のインデックスを整数値で指定します。
戻り値
指定したインデックスの情報を整数値で返します。
解説
戻り値のビット情報は次の表のとおりです。
| インデックス | ビット | 値 | 解説 |
|---|---|---|---|
| 0 | 0-6 | - | 予約済 |
| 7 | &H80 | Safety基板の故障検知 | |
| 1 | 0 | &H1 | SLS_1機能有効 |
| 1 | &H2 | SLS_2機能有効 | |
| 2 | &H4 | SLS_3機能有効 | |
| 3-7 | - | 予約済 | |
| 2 | 0 | &H1 | SLP_A機能有効 |
| 1 | &H2 | SLP_B機能有効 | |
| 2 | &H4 | SLP_C機能有効 | |
| 3-6 | - | 予約済 | |
| 7 | &H80 | ソフト軸制限機能有効 (常時有効) | |
| 3 | 0 | &H1 | SAFETY_IN1信号High (機能オフ) *1 |
| 1 | &H2 | SAFETY_IN2信号High (機能オフ) *1 | |
| 2 | &H4 | SAFETY_IN3信号High (機能オフ) *1 | |
| 3 | &H8 | SAFETY_IN4信号High (機能オフ) *1 | |
| 4 | &H10 | SAFETY_IN5信号High (機能オフ) *1 | |
| 5 | &H20 | 非常停止スイッチ (ティーチペンダント) High (機能オフ) *1 | |
| 6 | &H40 | 非常停止スイッチ (コントローラー接続) High (機能オフ) *1 | |
| 7 | &H80 | Enable信号High (機能オフ) *1 | |
| 4 | 0 | &H1 | SAFETY_OUT1信号High (機能オフ) *2 |
| 1 | &H2 | SAFETY_OUT2信号High (機能オフ) *2 | |
| 2 | &H4 | SAFETY_OUT3信号High (機能オフ) *2 | |
| 3-7 | - | 予約済 | |
| 5 | 0 | &H1 | SLP_A *3 |
| 1 | &H2 | SLP_B *3 | |
| 2 | &H4 | SLP_C *3 | |
| 3-6 | - | 予約済 | |
| 7 | &H80 | SLP_J *3 | |
| 6~11 | 0-7 | - | 予約済 |
| 12 | 0-7 | - | STF_ID |
| 13 | 0-7 | - | STF_DET_L |
| 14 | 0-7 | - | STF_DET_U |
| 15 | 0-7 | - | 予約済 |
- *1. 安全入力信号は負論理 (Active Low)です。
- 安全入力に信号レベルHighが入力されると、本関数は1を返し、安全入力に割り当てた機能は動作しません。
安全入力に信号レベルLowが入力されると、本関数は0を返し、安全入力に割り当てた機能が動作します。安全入力に機器を接続しないと、この状態になります。 - *2 安全出力信号は負論理 (Active Low)です。
- 安全出力に割り当てたいずれかの機能が動作状態の場合、安全出力が有効になり、安全出力の信号レベルはLowになり、本関数は0を返します。
安全出力に割り当てたいずれの機能も動作状態ではない場合、安全出力が無効になり、安全出力の信号レベルはHighになり、本関数は1を返します。
安全出力にいずれの機能も割り当てない場合、安全出力の信号レベルはLowになり、本関数は0を返します。 - *3 安全入力にSLP機能が割り当てられているか割り当てられていないかにかかわらず、また入力信号が有効か無効にかかわらず、監視位置に入った場合は1となります。
STF_ID, およびSTF_DET_L, STF_DET_Hを使用するとエラー発生原因を確認できます。 SPEL+を使った確認方法は後述します。 STF_ID, およびSTF_DET_L, STF_DET_Hの情報は次の通りです。
| STF_ID | エラー名 | STF_DET_L | STF_DET_U |
|---|---|---|---|
| 100 | 停止通知 安全入力 | 安全入力ポート SAFETY_IN1 &H01 SAFETY_IN2 &H02 SAFETY_IN3 &H04 SAFETY_IN4 &H08 SAFETY_IN5 &H10 | 不使用 |
| 101 | 停止通知 SLS_1 速度超過 関節 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 102 | 停止通知 SLS_1 速度超過 部位 | 部位 ハンド &H01 / 肘 &H02*1 手首 &H04 / 肩 &H08 *1 | 不使用 |
| 103 | 停止通知 SLS_2 速度超過 関節 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 104 | 停止通知 SLS_2 速度超過 部位 | 部位 ハンド &H01 / 肘 &H02*1 手首 &H04 / 肩 &H08 *1 | 不使用 |
| 105 | 停止通知 SLS_3 速度超過 関節 | 関節番号 J1 &H01 / J2 &H02 J3 &H04/ J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 106 | 停止通知 SLS_3 速度超過 部位 | 部位 ハンド &H01 / 肘 &H02*1 手首 &H04 / 肩 &H08 *1 | 不使用 |
| 107 | 停止通知 SLS_T 速度超過 関節 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 108 | 停止通知 SLS_T 速度超過 部位 | 部位 ハンド &H01 / 肘 &H02*1 手首 &H04 / 肩 &H08 *1 | 不使用 |
| 109 | 停止通知 SLS_T2 速度超過 関節 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 110 | 停止通知 SLS_T2 速度超過 部位 | 部位 ハンド &H01 / 肘 &H02*1 手首 &H04 / 肩 &H08 *1 | 不使用 |
| 115 | 停止通知 SLP_A位置違反 監視位置 | 監視位置 YL &H01 / YU &H02 XL &H04 / XU &H08 ZL &H10 / ZU &H20 *2 | 関節番号 J6 &H08 J5 &H04 J3 &H02 J2 &H01 |
| 116 | 停止通知 SLP_B位置違反 監視位置 | 監視位置 YL &H01 / YU &H02 XL &H04/ XU &H08 ZL &H10 / ZU &H20 *2 | 関節番号 J6 &H08 J5 &H04 J3 &H02 J2 &H01 |
| 117 | 停止通知 SLP_C 位置違反 監視位置 | 監視位置 YL &H01 / YU &H02 XL &H04 / XU &H08 ZL &H10 / ZU &H20 *2 | 関節番号 J6 &H08 J5 &H04 J3 &H02 J2 &H01 |
| 118 | 停止通知 ソフト軸制限 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 121 | 停止通知 スイッチ入力 | スイッチ番号 イネーブルスイッチ &H01 非常停止スイッチ(ティーチペンダント) &H02 非常停止スイッチ(コントローラー接続) &H04 | 不使用 |
| 122 | 停止通知 モード制御 | モード パラメーター通信許可 &H08 安全機能 (Safety基板) 無効化 &H04 操作モード切替 &H02 パラメーター設定 認証済み &H01 | 不使用 |
| 123 | 停止通知 減速監視 | 検出異常 減速異常&H08, &H04 減速完了 &H02 監視時間経過 &H01 | 不使用 |
| 124 | 停止通知 関節角度監視 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 131 | 故障停止通知 エンコーダー通信異常 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 132 | 故障停止通知 位置異常 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 133 | 故障停止通知 入力二重化異常 | 異常検出部位 安全入力ポート SAFETY_IN 1 &H01 SAFETY_IN 2 &H02 SAFETY_IN 3 &H04 SAFETY_IN 4 &H08 SAFETY_IN 5 &H10 イネーブルスイッチ &H20 非常停止スイッチ(ティーチペンダント) &H40 非常停止スイッチ(コントローラー接続) &H80 | 不使用 |
| 134 | 故障停止通知 出力二重化異常 | 異常検出部位 安全出力ポート SAFETY_OUT 1 &H01 SAFETY_OUT 2 &H02 SAFETY_OUT 3 &H04 STO &H80 | 不使用 |
| 135 | 故障停止通知 Safety基板異常 | 異常検出部位 通信バス &H20 電源(3.3V) &H08 電源(5V) &H04 ウォッチドックタイマー検知 &H02 リレー溶着 &H01 | 不使用 |
| 136 | 故障停止通知 Safety基板 MCU異常 | 異常検出部位 シーケンスモニタ &H10 CPU &H08 RAM &H04 プログラムROM &H02 データROM &H01 | DET_L = &H01のとき (データROM) &H00 - &HFE データ故障箇所 &HFF パラメーターの故障 |
| 137 | 故障停止通知 Safety基板 二重化内部異常 | 異常検出部位 TCP位置不一致 &H02 状態不一致 &H01 | 不使用 |
| 138 | 故障停止通知 エンコーダー 内部異常 | 関節番号 J1 &H01 / J2 &H02 J3 &H04 / J4 &H08 J5 &H10 / J6 &H20 | 不使用 |
| 139 | 故障停止通知 コントローラー 内部異常 | 異常検出部位 操作モード受信エラー &H01 | 不使用 |
*1 安全機能マネージャーの安全速度監視の監視部位J2, J3, J5と、本マニュアルで扱う速度超過部位ハンド, 手首, 肘, 肩との対応は以下のとおりです。
- 水平多関節型
- J2: 肘
- J3: 該当なし
- J5: 該当なし
- Hand: ハンド
- 垂直6軸型
- J2: 肩
- J3: 肘
- J5: 手首
- Hand: ハンド
*2 安全機能マネージャーの安全位置監視の監視位置X1, X2, Y1, Y2, Z1, Z2と、本マニュアルで扱う監視位置XL, XU, YL, YU, ZL, ZUとの対応は以下のとおりです。
- 監視位置で「壁」選択時
- X1 = XL, X2 = XU
- Y1 = YL, Y2 = YU
- Z1 = ZL, Z2 = ZU (垂直6軸型のみ)
- 監視位置で「制限領域」選択時
- X1 = XU, X2 = XL
- Y1 = YU, Y2 = YL
- Z1 = ZL, Z2 = ZU (垂直6軸型のみ)
STF_ID、およびSTF_DET_L、STF_DET_Hを使用したエラー発生原因の確認方法
コマンドウィンドウ等で以下の順番でコマンドを入力、確認します。
> SF_GetStatus (12)
115 '「停止通知 SLP_A 位置違反」によるエラーを表します。
> SF_GetStatus (13)
1 '「YL」方向の監視位置を越えたことを表します。(STF_ID: 115の内容を確認します。)
> SF_GetStatus (14)
1 '「J2軸」が超えたことを表します。(STF_ID: 115の内容を確認します。)
以上の情報をまとめると、「J2軸がSLP_AのYLの監視位置を越えた」ためエラーが発生したことがわかります。
エラー情報はEpson RC+のシステムヒストリーにも記録されます。エラー発生原因は「追加情報」に記録されます。SPEL+ランゲージリファレンスのSPEL+ エラーメッセージを参照してください。
本コマンドは、Safety基板を搭載したコントローラーで使用できます。
SF_GetStatus関数使用例
If (SF_GetStatus(3) And &H1) = &H1 Then
Print "SAFETY_IN1 is High"
Else
Print "SAFETY_IN1 is Low"
EndIf