- PLCの国際標準プログラミング:IEC 61131-3とは?
IEC 61131-3とは?
第5回 PLCopenの「Safety ファンクションブロック」とは
日岡 威彦/オムロン株式会社
前回は「PLCopenの『Motion Control FB』とは」をテーマに、「Motion Control FB」の利便性や活用方法を理解しやすいように具体的な事例を挙げながら紹介しました。5回目となる今回は、安全性確保の面で注目が高まるPLCopenの「Safety ファンクションブロック(以下Safety FB)」について解説します。
安全確保機能のソフトウェア化(Safety Software)
昨今、製造装置や医療機器、エレベーター・鉄道等の社会インフラに至るまで、安全確保の必要性が高まっています。これらの装置では、セーフティリレーを用いたハードウェアによるセーフティ回路での安全性確保が主流でした。ところが、過去10年余りの技術革新によりIEC 61508を代表とする国際安全規格に対応したセーフティコントローラが各社から発売され、その後の価格低下も相まって、セーフティ回路のソフトウェア化が進んでいます。
また、装置の制御を行うPLC(Programmable Logic Controller)とソフトウェア言語、プログラミング環境、ネットワーク環境が統合されたセーフティコントローラも商品化され、セーフティ回路のソフトウェア化導入に対するハードルはますます低くなってきたと言えます。
セーフティFB (Safety Function Block)とは
しかしながら、ソフトウェアによるセーフティ回路が導入しやすくなってきたといっても、ベンダー各社が独自仕様のSafety Function Block(以下FB)を用意し、独自に認証機関の安全認証を取得するというものでした。そのため、これらのセーフティコントローラを使用する場合は、各ベンダーのFB仕様とプログラミング方法を学習する必要がありました。また、装置の安全規格認証先が異なれば、装置の開発者自らが認証機関にFB仕様を説明する必要がありました。更には、作成したセーフティプログラムはハードウェアに依存しており、ソフトウェア化のメリットが半減していました。
これらの課題を解決するために、PLCopen Safety FBは制定されました。
PLCopen Safety FBは、プログラムの再利用性、POUとタスクの概念、共通のルック&フィールといったIEC 61131-3の特長を継承しつつ、FBのインタフェース仕様や動作仕様が標準化されています。また、仕様策定や認証を行う技術委員会(Technical Committee)には欧州の安全規格認証機関も参画しています。そのため、PLCopen Safety FBを採用しているセーフティコントローラを使用することで、以下の効果が期待できます。
● トレーニングコストの低減
● プログラム再利用性の向上
● 安全規格認証コストの低減
加えて、IEC 61131-3に準拠したPLCと同時に使用することで、統合された共通のルック&フィールを持つプログラミング環境により、更なるトレーニングコストの低減が期待できます。
PLCopen® Safety FB
PLCopen Safety FBでは、装置の安全規格認証コストの低減のために、様々なガイドや仕様を定義しています。その一例として、セーフティデータ型変数(Safe Data Types)とユーザレベル(User Levels)があります。
● セーフティデータ型変数(Safe Data Types)
セーフティ関連で使用するデータを区別するために、IEC 61131-3で定義されているBOOLやINT等のデータ型の他に、セーフティデータ型としてSAFEBOOLやSAFEINT等を追加で定義しています。
● ユーザレベル(User Levels)
セーフティプログラムの自由度により3つのユーザレベルを定義しています(表1)。基本レベルは、使用可能なデータ型やファンクションに制限が設けられ、プログラムの自由度が低い代わりに安全規格認証の難易度が下がります。一方、システムレベルは、C言語のような自由度の高いプログラミング言語をサポート可能ですが、安全規格認証を取得するためにはIEC 61508の要求を満足する必要があり、相当困難なものになります。
※左右にスクロールしてご覧ください。
ユーザレベル | 使用可能な言語例 | 使用可能なFUN/FB例 | 使用可能なデータ例 |
---|---|---|---|
基本レベル | LD, FBD | 全てのSafety FB, AND, OR(*), TON, CTU (*)SAFEBOOL同士のみ |
SAFEBOOL, BOOL, INT, TIME |
拡張レベル | LD, FBD | 全てのSafety FB, AND, OR, NOT, XOR, ADD, MUL, GT, EQ, NE, SR, RS, Edge |
SAFEBOOL, BOOL, INT, TIME VAR_GLOBAL/EXTERNAL |
システムレベル | ST, SFC, IL, C, C++ | 全てのFUN/FB | 全てのデータ型 |
表1: PLCopen Safety FBで定義される3つのユーザレベル
セーフティFBの事例とプログラミング例
次に、代表的なPLCopen Safety FBであるSF_EmergencyStopを例に、個別のFBについて紹介します。
PLCopen Safety FBでは、適用されている安全規格がFB毎に定義されています(表2)。これにより、装置に必要な安全規格の判断ができるようになっています。
SF_EmergencyStopに適用される安全規格 |
---|
EN 418: 1992 EN 954-1: 1996 ISO 12100-2: 2003 EN 16204-1, 1997 |
表 2: SF_EmergencyStopに適用される安全規格
インタフェース仕様については、共通的に図1のように接続すべきデータ型が定義され、どれがセーフティ関連信号かわかるようになっています。また、状態遷移図やタイミングチャートにより厳密に動作仕様を定義することにより、ベンダーごとに異なる動作になることを防いでいます。

図 1: SF_EmergencyStopインタフェース仕様
このSF_EmergencyStopを使用したプログラム例を、実際のセーフティコントローラをベースに説明します。ここではオムロンの「セーフティコントロールユニット NXシリーズ」と「マシンオートメーションソフトウェア Sysmac Studio」の場合について紹介します。
図2のように、NXシリーズではセーフティデータ型の変数を黄色帯表示することで視認性を更に高めています。これにより、装置の安全規格審査を受ける際に、効率よくセーフティ関連部を絞り込むことができます。

図 2: SF_EmergencyStopを用いたプログラミング例 (Sysmac Studio画面)
まとめ
今回は、PLCopen Safety FBについて、制定の背景と効果を中心に説明しました。
PLCopen Safety FBの狙いは、プログラムの再利用性の向上とトレーニングコストの低減というIEC 61131-3に共通する効果を提供しつつ、装置の安全規格認証コストを低減することです。
大規模なセーフティプログラムを構築する際のメリットだけでなく、これまでセーフティリレーで組まれていたハードウェア回路をソフトウェアに移行させるための工夫も盛り込まれていることが理解いただけたと思います。
また、2013年末には、PLCopenにて仕様が改良されたFBやプレス装置向けFBが追加制定され、今後ますます充実していくと見られます。グローバルレベルでの安全確保の必要性が求められるなか、今回の記事が装置の安全対策の一助になれば幸いです。
次回はIEC 61131-3の最新技術動向とJIS B 3503についてお伝えする予定です。
PLCopen®および関連するロゴマークはPLCopen®が所有する登録商標です。
IEC 61508
PLCopen TC5 (Safety FB)
オムロンNXシリーズ
<< 第4回 PLCopenのモーションコントロール用ファンクションブロック 第6回 IEC 61131-3の最新技術動向とJIS B 353 >>