OpenPLCを使用したIEC 61131-3によるEtherCAT®ネットワークのプログラミング

EC-Master Feature Pack OpenPLCは、acontisの高性能EtherCAT MainDeviceスタックと、オープンソースのOpenPLC RuntimeおよびOpenPLC Editorを統合する機能パックです。これにより、グラフィカルなPLCプログラミングによる産業グレードのEtherCATネットワーク制御を実現します。

IEC 61131-3プログラムからEtherCAT I/Oを制御するために必要なすべての機能を提供

本Feature Packは、EC-MasterプロトコルスタックとOpenPLCを統合し、自動プロセスデータマッピングからリモート診断までサポートします。

  • 自動プロセスデータマッピング:ENIファイルに定義されたプロセスデータは、自動的にIEC 61131-3の変数へマッピングされます。 入力データはEtherCATネットワークからPLCへ、出力データはPLCからEtherCATネットワークへ自動的に連携されるため、面倒なアドレス設定や手動マッピング作業は不要です。
  • ワンクリックでのプロセスデータ出力: EC-Engineerは、EtherCATネットワークのプロセスデータ構成をOpenPLC形式で出力できます。生成された変数定義をOpenPLC Editorへ貼り付けるだけで、各I/Oチャネルに対応した名前付き・型付き変数を利用して、すぐにPLCプログラムの開発を開始できます。
  • 双方向の診断・デバッグ機能: PLCアプリケーション側とEtherCAT通信側の両方から同時に診断・デバッグを行うことができます。OpenPLC Editorでは、変数値のリアルタイム監視や強制値設定(Force)が可能です。さらにEC-MasterのRAS(Remote Access Service)機能を利用することで、EC-Engineerからリモート接続し、EtherCAT側のプロセスデータ監視やForce操作を実施できます。これらの作業はシステムを停止することなく行えます。
  • 独立したリアルタイム通信スレッド: EcMasterDemoOpenPlcプラグインは、OpenPLCのスキャンサイクルとは独立した高優先度スレッド上でEtherCAT通信を実行します。そのため、PLCプログラムの処理負荷に影響されることなく、EC-Masterが持つサブミリ秒レベルの高精度なリアルタイム通信性能を維持できます。
  • カスタムC/C++ファンクションブロック: IEC 61131-3プログラムからEC-Master APIへ直接アクセスすることが可能です。付属のサンプルファンクションブロック(emGetMasterState、emGetSlaveState)を利用することで、FBD(Function Block Diagram)上からEtherCATマスタやスレーブの状態を監視できます。

アーキテクチャ ― 各コンポーネントの連携

EcMasterDemoOpenPlcプラグインは、EC-MasterによるリアルタイムEtherCAT通信と、OpenPLC RuntimeのIEC 61131-3実行環境を、周期的なプロセスデータ同期によって連携させます。ENI(EtherCAT Network Information)XMLファイルはXML Parserで解析され、その情報がプロセスデータマッピングおよびEC-Masterコアへ渡されます。EC-MasterはEtherCAT Real-time Ethernet Driverを介して実際のEtherCATネットワークと通信を行います。取得したプロセスデータはOpenPLC Runtimeのバッファと周期的に同期され、そのデータを利用してIEC 61131-3プログラムが実行されます。また、本プラグインはOpenPLCのスキャンサイクルとは独立したリアルタイム通信スレッドを実行することで、高精度なEtherCAT通信を維持しながら、OpenPLC Runtimeとのデータ同期を実現します。

この統合のメリット

実績のある商用EtherCATスタックと、オープンソースIEC 61131-3環境を組み合わせることで、多くの利点が得られます。

  • EtherCAT向けグラフィカルプログラミング: Function Block Diagramやラダー図を使用するエンジニアは、C/C++アプリケーションコードを記述することなく、EtherCAT I/Oを視覚的にプログラミングできます。変数ブロックはドラッグ&ドロップで配置でき、実際のEtherCAT I/Oへ接続されます。
  • 産業用途向け性能とオープン環境: EC-Masterは、Distributed Clocks、Hot Connect、ケーブル冗長化など、高度なリアルタイムEtherCAT機能を提供します。一方、OpenPLCはあらゆるオートメーションエンジニアが利用できる標準ベースのPLC開発環境を提供します。
  • IEC 61131-3データ型への完全対応: Boolean、8bit、16bit、32bit、64bitの符号付き・符号無しデータ型が、ENIファイルから自動的にマッピングされます。変数アドレスはPLC技術者に馴染みのある標準的な%I/%Qアドレス方式を採用しています。
  • EC-Master APIによる拡張性: 標準的なプロセスデータアクセスだけでは不十分な場合、C/C++ファンクションブロックからEC-Master API全体へ直接アクセスできます。スレーブ状態取得、状態遷移実行、診断情報取得などをFBD上から実行可能です。
  • RASによるリモート立上げ・診断: 内蔵のRASサーバにより、EC-EngineerはTCP経由で稼働中のEtherCATネットワークへ接続できます。システムを停止することなく、プロセスデータの監視、出力強制、性能モニタリングを実施できます。

実運用上のメリット

本Feature Packは、試作段階から量産展開まで、プロジェクトライフサイクル全体を効率化します。

  • ENIファイルからPLC動作までを短時間で実現: EC-Engineerからプロセスデータレイアウトを出力し、OpenPLC Editorへ貼り付け、ロジックを作成・コンパイル・デプロイするだけで、実EtherCATハードウェア上で制御プログラムを動作させることができます。
  • オートメーションエンジニアの障壁を低減: IEC 61131-3に慣れた開発チームであれば、高度なC/C++知識がなくてもEtherCATシステムを扱うことができます。また、OpenPLC Editorはオープンソースであるため、開発ツールのライセンス費用も不要です。
  • 量産レベルのネットワーク性能: EC-Masterは世界中の数千件の産業アプリケーションで採用されています。Ethernet MACへ直接アクセスする最適化リアルタイムEthernetドライバにより、厳しいサイクルタイム要求下でも決定論的通信を実現します。
  • acontisエコシステムとの親和性: EC-Engineerによるネットワーク設定、ENIファイル生成、RASによるリモート診断とシームレスに連携します。また、あらゆるEC-Master Real-time Ethernet Driverに対応し、高い導入柔軟性を提供します。

仕様概要

  • 対応OS: Microsoft Windows, Linux
  • OpenPLC対応: OpenPLC Runtime v4, OpenPLC Editor (IEC 61131-3の全5言語対応)
  • プラグイン構成: plugins.confからロードされるネイティブ共有ライブラリ(.so / .dll)
  • 対応プロセスデータ型: BOOL, SINT/USINT, INT/UINT, DINT/UDINT, LINT/ULINT — ENIファイルから自動マッピング
  • データ同期: INPUTs: EC-Master → OpenPLCバッファ, OUTPUTs: OpenPLCバッファ → EC-Master, OpenPLC標準に準拠したデータ型別バッファ構成
  • 診断機能: OpenPLC Editorデバッグモード(変数監視・Force)+ EC-Master RASサーバ(標準ポート6000)によるEC-Engineerからのリモートアクセス
  • カスタムファンクションブロック: C/C++サンプル付属. setup() / loop() フックを利用したEC-Master API拡張対応
Free Evaluation Request