特殊なタスクを使用する場合の注意事項

注意


Forcedフラグ

On, OffなどのI/O出力命令に、Forcedフラグを指定することで、次の状態のときにもI/O出力のオンオフが可能になります。

非常停止中, 安全扉開時, ティーチモード中, エラー発生時

Forcedフラグを指定するI/O出力には、アクチュエーターのような機械的動作を伴う外部機器を絶対に接続しないでください。次の状態のとき、外部機器が動作することになり大変危険です。

非常停止中, 安全扉開時, ティーチモード中, エラー発生時

Forcedフラグを指定するI/O出力は、状態表示LEDのような機械的動作を伴わない外部機器が接続されることを想定しています。

NoEmgAbort タスク

非常停止、またはエラーが発生した場合、必要な後処理をした後、速やかにタスクを終了してください。

NoEmgAbortタスクが終了しないと、コントローラーは、Ready状態にならず、結果として、非常停止やエラーを解除することができません。また、NoEmgAbortタスクからResetコマンドを実行し、自動的に、非常停止やエラーを解除することはできません。

NoEmgAbortタスクは、動作を伴わないI/Oの処理や、イーサーネットを使用した外部との通信に使われることを想定しています。したがって、NoEmgAbortタスクからは、ロボット動作命令など実行できないコマンドがあります。これらのコマンドを実行するとエラーが発生します。実行できないコマンドについては、以降で説明します。

詳細は、ヘルプ、または以下のマニュアルを参照してください。

"SPEL+ランゲージリファレンス - Xqt"

NoPauseタスク

NoPauseタスクは、Pause状態や安全扉開状態でも一時停止せずに動作を継続します。ただし、NoPauseタスクからロボットを動作中の場合は、ロボットが一時停止するため、タスクも一時停止します。

バックグラウンドタスク

バックグラウンドタスクは、コントローラーの起動中は常に存在し、システム全体を監視や、外部との通信に使われることを想定しています。したがって、バックグラウンドタスクからは、ロボット動作命令など実行できないコマンドがあります。これらのコマンドを実行するとエラーが発生します。実行できないコマンドについては、以降で説明します。

また、バックグラウンドタスクは、Pause入力や安全扉開でも処理を継続しコントローラーの状態遷移には影響しません。

詳細は、以下を参照してください。

バックグラウンドタスク

[非常停止で出力ポートをOFF]の設定

NoEmgAbort タスク、またはバックグラウンドタスクから非常停止後もI/OのOn, Offをタスクが行う場合は、[セットアップ] - [システム設定] - [コントローラー] - [環境設定] - [非常停止で出力ポートをOFF]ボックスのチェックをはずしてください。この設定がチェックされたままの場合、コントローラーによるI/OのOffとタスクによるI/OのOnのどちらが先に実行されるか保障されません。

[安全扉開で全タスクを中断]の設定

[セットアップ] - [システム設定] - [コントローラー] - [環境設定] - [非常停止で出力ポートをOFF]ボックスがチェックされている場合、安全扉開でNoPauseタスクは中断 (終了)します。なお、NoEmgAbortタスク、またはバックグラウンドタスクは処理を継続します。

[バックグラウンドタスク有効]の設定

バックグラウンドタスクを使用する場合は、[セットアップ] - [システム設定] - [コントローラー] - [環境設定] - [バックグラウンドタスク有効]ボックスをチェックしてください。

[ファンクション起動時にグローバル変数を初期化]の設定

バックグラウンドタスクからグローバル変数を使用する場合は、[セットアップ] - [システム設定] - [コントローラー] - [環境設定] - [ファンクション…]ボックスのチェックをはずしてください。この設定がチェックされたままの場合、コントローラーによる変数の初期化とタスクからの変数アクセスの競合が発生します。

注意


[アドバンスタスク制御コマンドを有効]の設定

バックグラウンドタスクなどから、次の各コマンドを実行する場合は、[セットアップ] - [システム設定] - [コントローラー] - [環境設定] - [アドバンスタスク制御コマンドを有効]ボックスをチェックしてください。

StartMain, Cont, Recover, Reset Error, Reset

タスクからこれらのコマンドを実行する場合、コマンドの仕様を理解して、システムとしてこれらのコマンドを実行できる条件が整っていることを確認した後、実行するようにしてください。ループでコマンドを実行し続けるなど、使い方をあやまるとシステムの安全性を低下させるおそれがあります。十分に注意してください。