Skip to main content

CODESYS 4

CODESYS 4は、IEC 61131-3 に準拠した産業オートメーション技術向けの、リソースを節約しプラットフォームに依存しない開発ツールです。ユーザーインターフェースは完全にブラウザ上で動作するため、Windows、Linux、macOS、iPadOS、Android など、幅広いオペレーティングシステムで利用可能です。バックエンド(実際の機能コア)はユーザーインターフェースとは分離されています。Windows または Linux 上で、x86/x64 および ARM CPU プラットフォーム上で、デスクトップ、サーバー、クラウド、オンプレミスなど、さまざまな環境で実行できます。

開発中にCODESYS 4常にソフトウェアの品質と強固なプラットフォーム基盤に重点を置いてきました。バージョン1.0.0.0の機能範囲は、2つのアプリケーションシナリオに特化しており、短いリリースサイクルで継続的に拡張されます(セクションを参照)。今後の展開を見据えて )

. 特性CODESYS 4これらは基本的に3つの建築上の決定に基づいています。
  • バックエンドとフロントエンドの分離 : コア機能にはグラフィカルユーザーインターフェースは不要です。つまり、CODESYS 4ブラウザ上で対話的に使用することも、コマンドラインを介して完全に自動的に使用することもできます(ヘッドレス)。

  • テキストベースのオープンデータストレージプロジェクトとは、バイナリ形式のプロジェクトファイルではなく、読み取り可能なテキストファイルが格納されたディレクトリのことです。

  • 共有ランタイムCODESYS 3生成されるマシンコードは同一であり、コンパイルされたライブラリは両ツール間で互換性があります。

対象グループと適用シナリオ

CODESYS 4本製品は、IEC 61131-3コントローラアプリケーションを開発し、プラットフォーム非依存の作業、バージョン管理、CI/CD、チーム開発といった、自動化における確立されたIT手法を活用したいユーザーを対象としています。IEC 61131-3は引き続き基盤となる規格であり、プログラミング言語や作業方法は変更なく適用されます。

. 最初のバージョンは、2つのアプリケーションシナリオを想定して設計されています。
  • CI/CD を活用したライブラリ開発 : CODESYS 4自動化されたビルドおよびリリースプロセスに統合されるライブラリの開発に適しています。コマンドラインによるコンパイラ統合、ファイルベースのプロジェクトストレージ、および決定論的な依存関係解決は、このアーキテクチャの不可欠な要素です。これにより、サポートされているあらゆるオペレーティングシステムおよび一般的なCI/CDパイプライン上で、グラフィカルインターフェースを使用せずに、再現性のある方法でライブラリを構築できます。

  • シンプルなアプリケーション :最初のバージョンCODESYS 4は、単一コントローラ上のシンプルなコントローラアプリケーションに適しています。これには、例えば、小型機械、テストベンチ、または限られた数のデジタルおよびアナログI/Oポイントを持つデバイスに統合されたアプリケーションが含まれます。Modbusデバイス(Modbus TCP)のエディタを使用してI/O変数を割り当て、アプリケーションをコントローラにダウンロードします。オンラインモードでは、実行時に変数を監視し、パラメータを調整します。このようにして、基本的な試運転ワークフローを完全にカバーします。CODESYS 4。

これを超えるプロジェクトについては、CODESYS 3は依然として最適なツールです(セクションを参照)。分類CODESYSポートフォリオ )

利点CODESYS 4

プラットフォーム非依存性 : ユーザーインターフェースCODESYS 4一般的なブラウザであればどれでも動作するため、職場のオペレーティングシステムに依存しません。バックエンドは、WindowsとLinux(x86/x64およびARM CPUプラットフォームを含む)で動作します。LinuxおよびmacOSでの開発には仮想マシンは不要です。

フロントエンドとバックエンドの分離により、CODESYS 4さまざまな環境で運用する:

  • デスクトップアプリケーション

  • ローカルワークステーションのインスタンスがブラウザで開きます

  • 中央管理型のマルチユーザーサーバー

  • コントローラーハードウェアに直接

  • 仮想コントローラ(vPLC)上で

テキストベースおよびオープンデータストレージ : 重要な特徴CODESYS 4これは、テキストベースのUTF-8エンコードされたデータストレージです。CODESYS 4ファイルレベルで直接動作します。プロジェクトは、読み取り可能なファイルのディレクトリです。IECソースコードはUTF-8テキストファイル、構造化データはJSON、デバイス記述はXML、画像はそれぞれの形式(JPEG、PNG、またはSVG)で提供されます。各要素は、分かりやすいフォルダ構造内の個別のファイルに格納されます。

外部アクセスは、ここで特に重要なユースケースです。テキストエディタ、差分ツール、Gitクライアント、あるいはGitLabやGitHubの差分ビューなど、外部の標準ツール内でファイルを直接表示、比較、マージできます。CODESYS 4ファイルを安定かつ決定論的な方法でフォーマットします。これには、一貫した改行、JSONファイル内の固定順序、一貫したインデント、不要なメタデータの省略などが含まれます。その結果、比較では複雑なフォーマットノイズなしに実際のコンテンツの変更が示されます。バージョン管理は、Git、SVN、Mercurialなどの実績のあるツールによって行われます。CODESYS 4したがって、これは開発プロセスにおける数多くのツールのうちの1つに過ぎず、もはや唯一の「マスターツール」ではない。

外部環境の変化はいつでも起こりうるため、CODESYS 4は、不整合を制御された方法で処理するように設計されています。たとえば、マージまたはチェックアウトの後、CODESYS 4ファイルシステム監視によって変更されたファイルを検出し、プロジェクトストレージ内のエラーがあれば通知を発行します。

ワークスペースのコンセプト :プロジェクトCODESYS 4ワークスペースに整理されています。ワークスペースは、複数のデバイスプロジェクトとライブラリプロジェクトを組み合わせ、それらをまとめてロードし、同等のレベルで並べて編集します。これは、最新の開発環境におけるソリューションに相当します。プライマリプロジェクトは存在せず、ワークスペース内のすべてのプロジェクトを同じレベルで編集できます。

実際には、これはサーバー、クライアント、共有ライブラリからなる Modbus プロジェクトを単一のワークスペース内で並行して開発することを意味します。ライブラリの構造を変更した場合、サーバーおよびクライアント アプリケーションでの作業をすぐに継続できます。共有コードは、すべてのアプリケーションから参照されるライブラリに集約されます。ライブラリ プロジェクトは同じワークスペースで開いて編集できるため、ライブラリとアプリケーションを 1 つのプロセスで開発できます。

自動化とCI/CDを基礎から構築する :最初から、CODESYS 4継続的インテグレーションと継続的デリバリー(CI/CD)向けに設計されています。CLI操作は、デスクトップアプリケーションやマルチユーザーサーバーと並んで有効な使用方法であり、後付けのアドオンツールではありません。コンパイラはグラフィカルインターフェースなしで動作し、使用するツールに関係なく同一のマシンコードを生成するため、パイプラインはコミットごとに再現性高く構築されます。

依存関係は、現代のソフトウェア開発でよく知られているパターン(npm や NuGet に匹敵)に従って管理されます。マニフェスト ファイル(Libraries.json ) は、必要なライブラリ参照とロックファイル ( Libraries.lock.json)は、すべての直接および間接的な依存関係の具体的な解決をバージョンとSHA384チェックサムとともに記録します。セマンティックバージョニング(semver)と組み合わせることで、同一のソースコードバージョンを再現性高く構築できます。

共有ランタイムシステムCODESYS 3 : CODESYS 4同じランタイムシステムを共有するCODESYS 3コンパイラは両方のツールで同一のマシンコードを生成し、コンパイルされたライブラリは双方向で互換性があります。CODESYS 4コントローラーで実行CODESYS 3コードは、新しいターゲットハードウェアやランタイムの再認証なしで現在実行されています。要件はランタイムシステムです。CODESYS V3.5 SP16以降。

アーキテクチャの一部としてのセキュリティ : セキュリティCODESYS 4セキュリティは設計段階から考慮されています(セキュリティ・バイ・デザイン)。これには、従来の認証方法、レート制限、プロセス分離などが含まれます。これらは、マルチユーザーサーバーとして運用する場合に特に重要です。

操作とツール

バージョン1.0.0.0では、プログラミングツールとしてSTエディタとラダーエディタ(LD)が提供されています。ラダーエディタは完全に再設計され、Webベースのアーキテクチャに基づいて構築されています。

プロジェクトファイルは直接アクセスおよび編集可能なため、専用のスクリプトインターフェースは提供されていません。自動化および統合タスクには、代わりに包括的なCLI制御が利用可能です。

分類CODESYSポートフォリオ

のCODESYS 4このアプリケーションは、既存のものを補完することを目的とした全く新しい開発です。CODESYS 3置き換えるのではなく、両世代は当面の間共存し、同じランタイムシステムとライブラリを共有する。

. CODESYS 4は、以下の用途に適したツールです。
  • ライブラリ開発における自動ビルドプロセスとリリースプロセス

  • 単一コントローラ上でのシンプルなコントローラアプリケーション

  • LinuxまたはmacOS上での開発、および集中管理型のマルチユーザー運用

. CODESYS 3は、以下の用途に適したツールです。
  • 視覚化、モーション、追加のフィールドバスなど、フル機能範囲の複雑なプロジェクト

  • プロジェクトにはCODESYS Test Managerまたはデバッガー

ヒント

既にご存知であればCODESYS 3では、次の章を参照してください。切り替えるCODESYS 3概念的な違いと、通常の機能のマッピングについて。

今後の展開を見据えて

CODESYS 4本製品は短いリリースサイクルを採用しており、最新の技術基盤と包括的な自動テストによって、約2ヶ月ごとに新しいメジャーバージョンを提供することが可能となっています。個別のパッチではなく、完全なアップグレードが提供されます。

. 機能範囲は、新しいバージョンが出るたびに拡大していく。
  • 今後のバージョンでは、オンラインでの変更、追加のCLIライブラリコマンド、ビルドから要素を除外する機能、ユーザーがインストール可能な拡張機能、および継続的なバグ修正などの機能が追加される予定です。

  • 追加のグラフィカルエディタ:CFCの実装が開始され、ラダーエディタに便利な機能が追加されています。これには、スマートコードのサポート、高度な編集およびリファクタリング機能、ドラッグアンドドロップ、ラダー監視、エラー下線表示などが含まれます。

  • EtherCATやPROFINETなどのフィールドバスがさらに増えました。

今後の開発における戦略的焦点は拡張プラットフォームです。これにより、モジュール式の拡張が可能になります。CODESYS 4追加機能は拡張機能として提供され、インストールされます。