- PLCの国際標準プログラミング:IEC 61131-3とは?
IEC 61131-3とは?
第4回 PLCopenのモーションコントロール用ファンクションブロック
島村 純児/オムロン株式会社
今回はPLCopen® のモーションコントロール用ファンクションブロック(以下、Motion Control FB)の概要について、Motion Control FBの利便性や活用方法をよりよく理解しやすいように具体的な事例を挙げながらご紹介します。そのため、Motion Control FBをサポートしたオムロン製IEC 61131-3準拠コントローラ NJシリーズを事例として使います。IEC 61131-3およびPLCopenの詳細については、本連載第1回「IEC 61131-3とPLCopenの目的とは」で紹介していますので、参考にしていただければと思います。
Motion Control FBとは
PLC (Programmable Logic Controller) のモーション制御プログラムでは、ハードウェアに依存した記述を行っていました。例えば位置決め制御ユニットの場合、目標位置などモーション制御用のデータを所定のメモリエリアに書き込み、所定のリレーエリアを操作して動作の開始と停止を行います。
これらのアドレスはPLCベンダごとに異なりますし、同じPLCベンダであっても商品ごとに異なる場合があります。そのため、ユーザはPLCベンダごと、商品ごとにプログラミング方法を学習し、プログラミングする必要がありました。その解決に向け、Motion Control FBが提唱されました。
Motion Control FBの狙いは、動作仕様やインタフェース仕様の標準化によるソフトウェア再利用性の向上と、トレーニングコストの低減です。FBは、簡便性 (Simplicity) や効率性 (Efficiency)、IEC 61131-3との一貫性 (Consistency) などが考慮された仕様であり、IEC 61131-3のラダーダイアグラム (LD) やストラクチャードテキスト (ST) などで使用できます。また、モーション機能ごとにFBが定義されており、2014年1月現在でPart-1 version2.0に45FB(単軸制御、多軸の同期制御)、Part-4 version1.0に38FB(補間動作、座標変換)が定義されています。
FBの仕様はPLCopen®の技術仕様書に定義されており、Webで公開されています。
Motion Control FBのインタフェース
複数ベンダ間での標準化を担保するため、Motion Control FBのインタフェースには3つの実装要求レベルが定義されています(表1)。基本(B)は必須の変数ですが、基本の変数すべてを実装する必要はありません。
※左右にスクロールしてご覧ください。
カテゴリ | 意味 | 変数例 |
---|---|---|
基本(B) | 必須の入力変数/出力変数。 FBが認証を得るには、基本の変数を1つ以上実装する 必要があります。 |
Axis(軸変数) Position(目標位置) Execute(起動) Done(完了) etc. |
拡張(E) | オプションの入力変数/出力変数。 | Acceleration(加速度) Deceleration(減速度) etc. |
ベンダ仕様(V) | ベンダによる追加事項。 | - |
表1:実装要求レベル
代表的なMotion Control FBであるMC_MoveAbsolute(絶対値位置決め)の入力変数/出力変数の実装状況を、PLCopen®認証済みの当社を含む国内外PLCベンダ4社のFBで比較した例を表2に示します。
MC_MoveAbsoluteはPart-1 version2.0の仕様です。各社の実装状況はPLCopen® の“Compliance Statement of MC Suppliers”に基づきます。表中の “Yes” は実装されていることを示します。
※左右にスクロールしてご覧ください。
実装要求 | 変数名 | オムロン | A社(ドイツ) | B社(ドイツ) | C社(米国) |
---|---|---|---|---|---|
VAR_IN_OUT(入出力変数) | |||||
B | Axis | Yes | Yes | Yes | Yes |
VAR_INPUT(入力変数) | |||||
B | Execute | Yes | Yes | Yes | Yes |
E | Continuous Update | ||||
B | Position | Yes | Yes | Yes | Yes |
B | Velocity | Yes | Yes | Yes | Yes |
E | Acceleration | Yes | Yes | Yes | Yes |
E | Deceleration | Yes | Yes | Yes | Yes |
E | Jerk | Yes | Yes | Yes | Yes |
B | Direction | Yes | Yes | Yes | |
E | BufferMode | Yes | Yes | ||
VAR_OUTPUT(出力変数) | |||||
B | Done | Yes | Yes | Yes | Yes |
E | Busy | Yes | Yes | Yes | Yes |
E | Active | Yes | Yes | ||
E | CommandAborted | Yes | Yes | Yes | Yes |
B | Error | Yes | Yes | Yes | Yes |
E | ErrorID | Yes | Yes | Yes | Yes |
表2:MC_MoveAbsoluteの入力/出力変数の実装状況(2014年1月時点)
表2のように、PLCopen® の認証を受けたFBであれば、世界中のどのベンダのFBであってもインタフェースがほぼ統一されていることが分かります。ただし、認証を受けたFBでも基本(B)や拡張(E)の実装状況はベンダにより異なるので注意が必要です。基本や拡張の変数をより多く持つFBほど、ベンダ間での再利用性が高くトレーニングコストの低いFBだと言えます。
Motion Control FBの事例
より具体的にMotion Control FBを理解できるように、実際に使われている機器をベースに説明します。ここではオムロンの「Sysmacマシンオートメーションコントローラ NJシリーズ」と「マシンオートメーションソフトウェア Sysmac Studio」の場合について紹介します。
マシンオートメーションコントローラ
NJシリーズ
Sysmac Studio
NJシリーズは、CPUにインテルのAtomTMプロセッサを採用し、I/O機器やドライブ用のネットワークにはイーサネットベースのEtherCATを採用 するなど、オープンなアーキテクチャを導入していることが特徴です。また、Sysmac Studioは「IEC 61131-3」に準拠したプログラミング環境を提供しています。NJシリーズは、PLCopenに準拠したモーション制御命令(以下、MC命令)を搭載 しています。MC命令には、PLCopenの認証を受けたMC命令(表3)と、オムロン独自のMC命令を提供しています。
※左右にスクロールしてご覧ください。
動作 | 管理 | ||||
---|---|---|---|---|---|
位置制御 | 速度・トルク制御 | 同期制御 | 多軸 | 単軸 | 多軸 |
MC_MoveAbsolute | MC_MoveVelocity | MC_CamIn | MC_MoveLinearAbsolute | MC_Power | MC_GroupEnable |
MC_MoveRelative | MC_TorqueControl | MC_CamOut | MC_MoveLinearRelative | MC_Reset | MC_GroupDisable |
MC_Home | MC_GearIn | MC_GroupStop | MC_TouchProve | MC_GroupReset | |
MC_Stop | MC_GearInPos | MC_AbortTrigger | MC_GroupSetOverride | ||
MC_GearOut | MC_SetPosition | ||||
MC_Phasing | MC_SetOverride | ||||
MC_CombineAxes |
表3:PLCopenの認証を受けたMC命令
注:円弧補間は、独自MC命令を提供しています。
技術仕様書にはベンダ依存の項目があります。高精度なモーション制御の実現とプログラムの可読性向上の観点から、ベンダ依存項目に対してNJシリーズ独自の仕様を定義しています。その内容を表4に示します。
※左右にスクロールしてご覧ください。
項目 | NJシリーズの仕様 | Motion Control FB |
---|---|---|
浮動小数点 | 倍精度浮動小数点(LREAL型) | 技術仕様書ではREAL型で統一。ただし、データ型が一貫していればREAL型以外でも構わない。 |
単位系 | pulse、degree、mm、μm、nm、inch | 指令単位はベンダ依存 |
軸変数 | 軸状態、軸の指令/現在データ(位置、速度、加速度、トルク)、サーボ状態 など | メンバはベンダ依存 |
表4:NJシリーズの独自仕様
プログラミング例
図1のギア機構を、NJシリーズのMC命令を用いてLDで実装した例を図2に示します。主軸(MC_Axis000)は速度制御 MC_MoveVelocity、従軸(MC_Axis001)はギア動作MC_GearInを用います。また、軸状態や軸位置の取得には、軸変数を用います。
以下の条件をすべて満足したときに、従軸はギア比1:2のギア動作を開始します。
条件1:従軸が停止状態(MC_Axis001.Status.StandstillがTRUE)
条件2:主軸が目標速度に到達(AX0_INVELがTRUE)
条件3:主軸のフィードバック現在位置(MC_Axis000.Act.Pos)が180°を通過
図1:ギア機構
図2の通り、メモリエリアやリレーエリアのアドレスなどハードウェア依存の項目は含まれていないことが分かります。また、主軸の速度制御、従軸のギア動作ともそれぞれ1つの命令で実現でき、視認性が高いことが分かります。
図2:ギア動作のLDプログラム例(Sysmac Studio画面)
動作結果を図3に示します。主軸が目標位置に達しAX0_INVEL(ピンク色)がTRUEになった後、主軸のフィードバック現在位置(黄色)が180°を超えたところでMC_GearInが起動され、従軸のフィードバック現在位置(黄緑色)が変化しています。主軸と従軸が同期したらAX1_GEARIN_INGEAR時点(橙色)がTRUEとなり、以降は1:2のギア動作を行っていることが分かります。
図3:動作結果(Sysmac Studio画面)(クリックで拡大)
まとめ
今回は、PLCopen®のMotion Control FB、および オムロン製マシンオートメーションコントローラNJシリーズのMC命令を事例として説明しました。また、MC命令を用いたプログラミング例と動作結果をご覧いただきました。Motion Control FBの狙いは、動作仕様やインタフェース仕様の標準化によるソフトウェア再利用性の向上と、トレーニングコストの低減です。加えて、視認性が高く保守効率が高い点もメリットとして挙げられます。
グローバル化に伴い、国際規格に準拠したPLCやモーションコントローラが増えると考えます。本記事がPLCopen®準拠コントローラを選定される際の参考になれば幸いです。
次回は、PLCopenが提唱するSafety FBについて紹介します。
お知らせ
PLCopen®が認定した日本初のトレーニングコースがオムロンで開講します。
「IEC 61131-3導入セミナ」はPLCopen®のガイドラインに沿ったカリキュラム内容になっていて、注目のPLC のプログラミングの国際標準規格の概要に加えて、標準ファンクションブロック、モーションファンクションブロックを活用した機械制御が体験できます。
詳しくはIEC 61131-3セミナページをご覧ください。
この文章は情報ポータルMONOist(アイティメディア株式会社)に掲載された連載記事を再構成・加筆したものです。
<< 第3回 IEC 61131-3の特長 後編第5回 PLCopenの「Safety ファンクションブロック」とは >>