内容
株式会社 アイエイアイ
や
株式会社ダイアディックシステムズ
等のロボシリンダ(電動シリンダ)をポイント番号指定で動作させるサンプルです。 |
●PDFを表示 ●登録モニタをダウンロード |
◆ 信号出力部 【RCとのインターフェイス】 (8台目を操作する例) ・8台目のトリガ[@MR008]をセットします。微分命令でセットしてください。セットした側はトリガがOFFになるのを監視します。 ・もし、ポイントバスを他のRCが使用中であれば[BUSY]が真なので待つ事になります。ポイントバスが空いていれば、自分自身の位置決待 [@MR308]を確認します。 ・トリガ可能な時は、トリガ出力遅延タイマ[@T8]をリセットします。ポイントバスの信号が安定する時間分トリガを遅延します。 これはRC側でも対策されていると思われますが、PLC側の出力素子、RC側の入力素子の応答時間差で誤ったアドレスを読込むのを防ぐ手段です。 ・次に[BUSY]をセット。トリガ状態に入ったフラグ[@MR208]をセット。 ・[@FM24]は位置決完了時に、到達したポイントが代入される変数です。トリガ開始時にFFFFhexを代入しています。 ・[@FM8]ここに目的のポイント番号を入れておきます。サブルーチン10でこの番号をポイントバスに出力します。 ・29行目でセットされたフラグ[@MR208]がONすると、同じくリセットされたトリガ出力遅延タイマ[@T8]のアップを待ちます。 ・ここでポイント。RCはトリガを受付けると、位置決信号をリセットします。 しかし、 RCの未原点復帰時は、位置決信号が最初から偽なので、ト リガを受け付けたのか判断できません。 そこで トリガ出力を[@T9]で設定した時間だけONにします。 そのため、ここで[@T9]をリセットしています。 ・32行目[R1008]はトリガ信号出力です。 ・32行目。[R1008]以降、RCの原点復帰完了時は 位置決信号[R1108]の立下り を待ち、未原点完了時は先ほどの [@T9]を待って 次に進みます。 ・トリガ確認フラグ[DET_TRG]をセット。位置決待動作フラグ[@MR308]をセット。 ・このブロックを非能動にするため、自分自身[@MR208]をリセットします。 ・トリガ確認後はポイントバスの全ビットをリセットします。 ・トリガ確認フラグ[DET_TRG]がセットされると[BUSY]をリセットします。遅延のタイマが入っていますが、実質無くても差支えないでしょう。 ・トリガ確認フラグ[DET_TRG]は自分自身でリセットします。 ・トリガ確認時にセットされた位置決待動作フラグ[@MR308]が真になると、位置決信号[R1108]を待って自分自身をリセット。 ・指示されていたポイント番号を、現位置番号[@FM24]に代入し、トリガ[@MR008]をリセットして、すべての作業を完了します。 ・トリガをセットした側でトリガを監視していると、位置決完了がわかります。一定時間位置決完しなければエラーとする事もできます。 ・27行目はイレギュラー処理です。ポイント移動中、別ポイントに移動させる場合や、エラー時に、[@MR108]をセットすれば初期状態に戻ります。 ◆ 信号出力部 【RCとのインターフェイス】 (インデックス修飾で8台分書いた例) 上に示した様に、RC1台毎にコードを書くのは大変なので、インデックス修飾し複数台分をまとめて書きます。 ・上の様に、共通で使う変数以外をインデックス修飾します。 ・インデックスレジスタ[Z7]は『TimeSlice Module』で1スキャン毎に0〜7まで循環する様に なっています。 ・共通の変数は以下 トリガ出力遅延[@T8] トリガ出力時間(位置決信号が偽の時)[@T9] ビジーのリセット遅延[@T10] ビジー[BUSY] トリガ確認[DTC_TRG] |
◆ トリガ出力側 ・PLC起動初期状態です。 ・起動条件[@LR000]が真になると(シミュレーションではカーソルを合わせ、ダブルクリックするとセットされます。) RC10とRC8のトリガをセットし、それぞれのポイントに5と3を代入しています。 ・RC10とRC8の信号出力部は修飾なしの個別で書かれています。 (『仮想 IAIロボット』はポイントが大きい数値になる程時間を要する様に設定されています。また、初めてのトリガ時は原点復帰動作を必要とするため、通常より時 間がかかる様にも設定されています。) ・ここでRC10とRC8トリガ終了を待って、RC1/RC0/RC5のトリガをセットし、それそれ、ポイント1/10/2へ指示しています。 ・RC0〜RC7の信号出力部はインデックス修飾されたコードで書かかれています。 ・各々のトリガがOFFするのを待ちます。 ・上、3軸の位置決が終了すると、[@LR000]によって一旦操作待ちします。 ・ここで変数[POINT]に任意の数を代入してください。([POINT]にカーソルを合わせ、F2キーを押すとデバイス値が変更できます。) ・[@LR000]をセットすると、RC7をトリガし、[POINT]に代入された数値を目標にして起動します。 ・RC7の位置決を待って、始めに戻ります。 |
●PDFを表示 ●登録モニタをダウンロード |