IEC 61131-3とは?PLCプログラミング言語の国際規格をやさしく解説

はじめに

PLCのプログラムを学んでいると、メーカーごとに使用するソフトウェアや命令が異なり、「共通ルールはないの?」と疑問に感じることがあります。

実はその悩みに応える国際規格が存在します。

それがIEC 61131-3です。

IEC 61131-3は、PLCプログラミング言語の仕様を定めた国際規格であり、複数メーカー間で共通的に使えるプログラム設計の枠組みを提供しています。

本記事では、この規格の内容や意義、採用されている言語についてわかりやすく解説します。

IEC 61131シリーズとは?

IEC 61131は、国際電気標準会議(IEC)によって策定された産業用制御装置(PLC)に関する国際規格です。

いくつかのパートに分かれており、主な構成は以下のとおりです。

  • Part 1:一般情報(General information)
  • Part 2:ハードウェア要件(Hardware requirements)
  • Part 3:プログラミング言語(Programming languages)
  • Part 5〜10:通信、診断、オブジェクト指向拡張など

このうち、プログラミング仕様を定めているのがPart 3(IEC 61131-3)です。

IEC 61131-3とは

IEC 61131-3は、PLCのプログラムをどのように記述するかを規定した国際規格です。

特定のメーカー固有の記述方式ではなく、世界中のPLCに共通する「標準言語」を定めていることが特徴です。

この規格により、異なるPLCメーカー間でも一定の互換性が保たれ、エンジニアが学ぶべき言語が共通化されます。

規格で定義されている5つのPLC言語

IEC 61131-3では、以下の5種類のプログラミング言語が定義されています。

言語名称特徴
LDラダー図(Ladder Diagram)リレー回路に近い記述法。電気制御の現場で広く使用されている。
FBD機能ブロック図(Function Block Diagram)機能の流れをブロックで視覚的に記述。わかりやすい。
ST構造化テキストStructured Text)テキストベースでPascal風の記述。複雑な演算処理に適している。
IL命令リスト(Instruction List)アセンブラ風の記述。現在は非推奨。
SFC順序機能チャート(Sequential Function Chart)工程・段取り制御を図式的に記述。段階的な処理に便利。

💡補足:2020年以降の新規格ではIL(命令リスト)は非推奨となり、STやFBDの使用が推奨されています。

なぜIEC 61131-3が重要なのか?

IEC 61131-3が注目される理由は、次のようなメリットにあります。

■ メーカーをまたいだスキルの共通化

規格に準拠した開発環境を使えば、異なるPLC間でもプログラムの書き方が大きく変わらず、エンジニアのスキルが活かしやすくなります。

■ プログラムの再利用性が向上

関数(Function)や機能ブロック(Function Block)などの再利用可能な部品を使うことで、保守性が高く効率的な開発が可能になります。

■ ソフトウェア品質の向上

構造化プログラミングや変数の明示的な定義により、プログラムの可読性・信頼性が向上します。

■ モジュール化・オブジェクト指向への対応

FB(Function Block)をインスタンス化できる点など、オブジェクト指向的な開発スタイルも可能です。

IEC準拠の開発環境の例

メーカー / 開発環境特徴
CODESYSIEC 61131-3完全準拠。世界的に広く使用される開発環境。
三菱電機 GX Works3ラダー(LD)やST、FBに対応。IEC準拠機能を一部含む。
オムロン Sysmac StudioSTやFBDを活用可能。FBによるモジュール開発がしやすい。
シーメンス TIA PortalSTやFBD、SFCなどに対応。欧州を中心に普及。

よくある質問と答え

IEC 61131-3とは何ですか?

IEC 61131-3は、国際電気標準会議(IEC)によって策定された、PLC(プログラマブルロジックコントローラ)のプログラミング言語に関する国際規格です。

特定のメーカーに依存しない、世界中のPLCに共通するプログラム設計の枠組みと標準言語を定義することで、異なるメーカー間での互換性を保ち、エンジニアが共通のスキルセットで作業できるようにすることを目指しています。

IEC 61131シリーズにおけるIEC 61131-3の位置づけは何ですか?

IEC 61131シリーズは、産業用制御装置(PLC)に関する国際規格の総称です。

このシリーズは複数のパートに分かれており、Part 1が「一般情報」、Part 2が「ハードウェア要件」、そしてPart 3が「プログラミング言語」を定めています。

したがって、IEC 61131-3は、PLCのプログラミング仕様に特化した重要なパートであると言えます。

IEC 61131-3で定義されている5つのプログラミング言語とは何ですか?

IEC 61131-3では、以下の5種類のプログラミング言語が定義されています。

  • LD (ラダー図 – Ladder Diagram):
    リレー回路に近い記述法で、電気制御の現場で広く使用されています。
  • FBD (機能ブロック図 – Function Block Diagram):
    機能の流れをブロックで視覚的に記述し、視覚的に理解しやすい特徴があります。
  • ST (構造化テキスト – Structured Text):
    テキストベースのPascal風記述で、複雑な演算処理に適しています。
  • IL (命令リスト – Instruction List):
    アセンブラ風の記述ですが、2020年以降の新規格では非推奨とされています。
  • SFC (順序機能チャート – Sequential Function Chart):
    工程・段取り制御を図式的に記述し、段階的な処理に便利です。

なお、ILは現在非推奨であり、STやFBDの使用が推奨されています。

なぜIEC 61131-3は重要なのでしょうか?

IEC 61131-3が重要である理由は、主に以下の4つのメリットがあるためです。

  • メーカーをまたいだスキルの共通化:
    規格に準拠した開発環境を使用することで、異なるPLC間でもプログラムの書き方が大きく変わらず、エンジニアのスキルを効率的に活用できます。
  • プログラムの再利用性向上:
    関数や機能ブロックといった再利用可能な部品を活用することで、保守性が高く効率的な開発が可能になります。
  • ソフトウェア品質の向上:
    構造化プログラミングや変数の明確な定義により、プログラムの可読性と信頼性が向上します。
  • モジュール化・オブジェクト指向への対応:
    機能ブロック(FB)のインスタンス化など、オブジェクト指向的な開発スタイルも可能にし、より柔軟で大規模なシステム開発に対応できます。

IEC 61131-3に準拠した開発環境の具体例を教えてください。

IEC 61131-3に準拠した開発環境の例としては、以下のようなものが挙げられます。

  • CODESYS:
    IEC 61131-3に完全に準拠しており、世界的に広く使用されています。
  • 三菱電機 GX Works3:
    ラダー(LD)やST、FBなどに対応し、IEC準拠機能の一部を含んでいます。
  • オムロン Sysmac Studio:
    STやFBDを活用可能で、FBによるモジュール開発がしやすい特徴があります。
  • シーメンス TIA Portal:
    STやFBD、SFCなどに対応しており、欧州を中心に普及しています。

これらの開発環境は、IEC 61131-3の思想を取り入れ、共通のプログラミングスタイルをサポートしています。

IEC 61131-3はPLCプログラミングのどのような課題を解決しますか?

IEC 61131-3は、PLCプログラミングにおける「メーカーごとに使用するソフトウェアや命令が異なる」という共通の課題を解決します。

この規格が国際的な共通ルールを提供することで、特定のメーカーに縛られずにプログラムを設計・記述できるようになります。

これにより、エンジニアは異なるメーカーのPLCを扱う際にも既存の知識やスキルを活かしやすくなり、学習コストの削減や効率的な開発に繋がります。

IEC 61131-3は、今後IoTやデジタル化が進む製造業界において、どのような意義を持つと考えられますか?

IoTやデジタル化が進行する製造業界において、IEC 61131-3に対応した開発スキルはますます重要になると考えられます。

異なるデバイスやシステムが連携するIoT環境では、標準化されたプログラミング言語によって、システム全体の統合や管理が容易になります。

また、プログラムの再利用性向上やソフトウェア品質の向上といったIEC 61131-3のメリットは、複雑化するデジタル製造システムにおいて、効率的で信頼性の高い制御プログラム開発を支える基盤となります。

IEC 61131-3の「オブジェクト指向への対応」とは具体的にどういうことですか?

IEC 61131-3における「オブジェクト指向への対応」とは、主に「機能ブロック(Function Block)」をインスタンス化できる点を指します。

オブジェクト指向プログラミングでは、データとそれを操作するメソッドを一つの「オブジェクト」としてカプセル化し、再利用可能な部品として扱います。

IEC 61131-3の機能ブロックも、特定の機能やデータ(インスタンス変数)を持つ再利用可能なプログラム単位として定義され、これを複数回呼び出す(インスタンス化する)ことで、オブジェクト指向的な開発スタイルを実現できます。

これにより、モジュール化された、保守性・拡張性の高いプログラムの作成が可能になります。

まとめ

IEC 61131-3は、PLCプログラムを記述するための国際的な共通ルールです。

この規格に準拠することで、メーカーや国を問わず一定の共通性・互換性を保ちながら、質の高い制御プログラム開発が可能になります。

今後、IoTやデジタル化が進む製造業界では、IEC 61131-3に対応した開発スキルがますます重要になるでしょう。

最後にIEC61131-3を用いたプログラミングについて説明している書籍を紹介しますので参考にしてください。

Picture of しーけん師匠

しーけん師匠

「しーけん師匠」こと当サイト運営者は、制御エンジニア歴35年以上。三菱電機製シーケンサや産業ネットワークを中心に、現場からIT/OTの連携まで幅広く対応。若手に制御エンジニアの魅力を伝え、業界の活性化と人材不足の解消を目指して情報を発信中。

上部へスクロール