メインプログラムとバックグラウンドプログラムの設定
FAIRINOでは、ロボット起動信号ON時に実行される「メインプログラム」と、バックグラウンドで常時動作する「バックグラウンドプログラム」を組み合わせることで、PLC連携や設備監視を効率的に実現できます。本記事ではメインプログラムの登録方法、バックグラウンドプログラムの作成方法を説明します。
なおオフラインアプリで確認しておりロボットのファームフェアバージョンV3.9.2に対応します。
1. メインプログラム設定方法
ユーザー変数管理画面で変数名の設定や変数値の確認ができます。
1-1. メニューナビゲーションからプログラムページを開く
メニューナビゲーションから「プログラム」→「プログラミング」を選択します。
1-2. メインプログラム構成のアイコンをクリック
ツールの下記位置のアイコン(ポップアップ「メインプログラム構成」の表示)をクリックします。

1-3. 構成するかどうかを「はい」を選択
パラメータ設定パネルの構成するかどうかを選択のプルダウンで「はい」を選択するとパネルが拡大し、メインプログラム登録用のプルダウンが表示されます。

1-4. メインプログラムを登録
メインプログラムとして登録したいプログラムをプルダウンから選択し、設定ボタンを押してください。

2. バックグラウンドプログラム作成・設定
バックグラウンドプログラムは通常のロボットプログラムと違い、ロボット制御とは別スレッドで常時動作する常駐プログラムです。
状態監視やIOの出力などに使用されます。
バックグラウンドプログラム(ファイル)は通常のプログラムと区別されています。
2-1. バックグラウンドプログラム作成画面の表示
プログラム画面を開きツールバーのボタン、バックグラウンドプログラムをクリックすると、バックグラウンドプログラム作成画面に変わります。
バックグラウンドプログラム画面では選択できるコマンドが限られています。
もういちどツールバーのボタンをクリックすると通常プログラム画面に変わります。

2-2. バックグラウンドプログラムの作成
プログラムの作成方法は通常のプログラムと同じで新規作成でファイルを作成してからブロックによる設定またはスクリプトによる記述をします。

memo
バックグラウンドプログラムはループ間のインターバル1msecで実行されます。短い処理時間のプログラムだとコントローラーのCPU負荷が上がるため必要に応じてタイマー(DelayMS関数)を記述してください。
2-3. バックグラウンドプログラムの登録と起動・停止
右側のツールバーのバックグラウンドプログラム管理をクリックします。

バックグラウンドプログラム管理ページで先ほど作ったバックグラウンドプログラムを選択し実行開始ボタンをクリックします。

実行開始すると監視のパネルにプログラムと実行ステータスが表示されます。停止・再生ボタンによりプログラムの起動・停止を制御できます。

2-4. サンプルプログラム
現在のTCP座標の値に応じて、ユーザー変数の変更、Modbus TCPの出力(DO)を変更するサンプルコードです。
-- tcpのz座標が100以下の場合 Modbus TCPのDO0をONにする
local x, y, z, rx, ry, rz = GetActualTCPPose()
SetUserVal(uservar10, z)
if z ~= nil then
if z< 100 then
ModbusSlaveWriteDO(DO0, 1, {1})
else
ModbusSlaveWriteDO(DO0, 1, {0})
end
end
DelayMS(1000)