Skip to main content

ホワイトペーパー:ユーザーの観点からのモジュール化

印心

CODESYS 3.5 SP17は、主要なアーキテクチャの変換を実行しました。以前は、プログラミングシステムの機能のほとんどが単一のまとまりのあるセットアップにバンドルされていました。それだけ CODESYS SoftMotion だけでなく、の有料アドオン CODESYS Professional Developer Edition 別々でした。変換の過程で、このモジュール化をコア機能まで継続しました。現在、プログラミング言語エディター、フィールドバスコンフィギュレーター、およびコードジェネレーターのほとんどは、独自のアドオンにアウトソーシングされています。 2つの例を挙げると、視覚化やアイコン構成などの大きな機能についても同じことが言えます。ユーザーインターフェイス構造(メニューシステム、ナビゲーター、メッセージウィンドウなど)、コンパイラフロントエンド、プロジェクト処理およびコントローラとの通信用のコンポーネントなどの重要なインフラストラクチャ機能は、コアのままです。コアのより多くの部分が将来、別々のアドオンに移動される可能性があることに注意してください。

主にこのモジュール化を使用して、個々のコンポーネントのバージョンサイクルを均等化します。過去には、 CODESYS-新機能と改善に関する開発を1年に1回に統合します。つまり、サービスパックのリリース日です。まだ完成していない機能は、通常、サービスパックの延期につながりました。明らかにスケジュール外だった機能は、1年間延期されました。私たちは、私たち自身の利益とすべての人の利益の両方でこれを連動させたいと思っています CODESYS-ユーザーを解決し、将来的に各アドオンを個別にバージョン管理してリリースします。

にとって CODESYSユーザーには、明らかで重要な利点がいくつかあります。

  • 機能は完了後すぐにリリースされ、できるだけ早く利用可能になります。

  • アドオンのベータ版は、フィードバックのタイムリーな機会を得るために、関心のあるユーザーに配信できます。このようなベータ版は、他の点では安定した環境で操作できます。

  • 不要なアドオンを削除できるため、スペース要件と全体的なパフォーマンスの両方にメリットがあります。

もちろん、この柔軟性は複雑さの増大によって相殺されます。このホワイトペーパーでは、

  • どのような制限がありますか

  • 複雑さを管理しやすくするためにどのような対策を講じたか

  • 一般的なアプリケーションに推奨する手順

セットアップ

セットアップは、まだ CODESYS Store International ダウンロードが完了しました。すでに一部になっているすべてのコンポーネント CODESYS 3.5 SP16以前も現在のセットアップに含まれています。つまり、インストール後、ユーザーは機能を損なうことなく、使い慣れたシステム全体を受け取ることができます。

ユーザーは、コアシステムとアドオンバージョンを個別にコンパイルする必要があり、最初から対処する必要はないと考えています。また、多くのユーザーがパッケージ全体に不満を持っておらず、カスタムビルドを作成したくない場合があることも認識しています。これは、ツールが邪魔になることを意図していない完全に正当なアプローチです。

インストーラー

セットアップにより、と呼ばれる新しいグローバルツールが自動的にインストールされます CODESYS Installer 名前。それで誰もができる CODESYS-インストールおよび関連するアドオンが管理されます。これは、モジュール化の利点を積極的に活用したいユーザーにとっての要です。

とともに CODESYS Installer 任意の数の独立したインストールを管理できます。個々のインストール内で、どのアドオンをその一部にするかを正確に指定できます。わかりやすくするために、各インストールにはわかりやすい名前を付けることができます。インストールごとに、報告する更新を設定できます。デフォルトでは、これは「リリース済みバージョンのみ」に設定されていますが、プレリリースバージョンに切り替えたり、インストールの状態でロックするためにオフに切り替えたりすることもできます。

の便利な機能に関する詳細情報 CODESYS Installer 以下の推奨事項に記載されています。

以内に CODESYS 通知センターがあります CODESYS Installer 接続されています。適切な更新に関するメッセージがここに表示されます。だからあなたはいつもする必要はありません CODESYS Installer 更新の通知を受け取るために実行します。

互換性

キーワードの互換性は、モジュール化に起因する複雑さの最大の増加を隠します。従来は直線的な進歩があったため、互換性の問題は単純でした(「新しい CODESYS 古いプロジェクトを読むことができます」)、高度にモジュール化された環境では問題ははるかに困難です。

私たちが下した決定と、次のセクションでより詳細に説明する決定は、技術的に実現可能なものではなく、合理的に管理可能なものに基づいて意図的に行われました。

プロジェクトの互換性

ここでの問題は、どの程度 CODESYS-インストールにより、別のプロジェクトまたはライブラリを開くことができます CODESYS-インストールが作成されました。

このメカニズムは変更していません。動作は、 CODESYS-モジュール化前のバージョン。新しい環境から作成されたために現在のバージョンで読み取ったり解釈したりできないデータがプロジェクトにある場合、影響を受けるオブジェクトはナビゲーターで赤い十字でマークされ、 [不完全な] (→エディタは引き続き開くことができます)または [わからない] (→エディタを開くことができなくなりました)。どちらの場合も、プロジェクトをコントローラーにロードすることはできず(未定義のプログラムの動作が発生する可能性があるため)、そのままの状態になります。 名前を付けて保存 利用可能(元のプロジェクトの偶発的な上書き、したがってデータの損失を防ぐため)。

この振る舞いは何年にもわたって証明されています。

コードの互換性

これは、 CODESYS-プロジェクトのインストールでは、常に別のプロジェクトと同じバイナリ制御コードを生成できます CODESYS-インストール。簡単に言うと、次のようなプロジェクトを開始できますか? CODESYS-インストールを開き、オンラインで変更またはダウンロードせずにコントローラーにログインしますか?

この目的のために、 CODESYS 3.5SP17コンパイラバージョンの概念。コンパイラバージョンを起動します CODESYS 3.5SP18を取り外します。オンラインで変更またはダウンロードせずにプロジェクトでコントローラーにログインできることに依存している場合は、完全に一致するプロジェクトを開始する必要があります CODESYS-インストールを開きます。

コンパイラバージョンの概念を放棄する決定には、いくつかの重要な議論があります。

  • 生成されたコードは、コンパイラだけでなく、関連するプログラミング言語エディタとフィールドバスコンフィギュレータが担当します。これらは現在、独立してバージョン管理されたアドオンにアウトソーシングされているため、原則として、統一された包括的なコンパイラバージョンは存在しません。ユーザーの観点からは、アドオン固有のさまざまなコンパイラバージョンの組み合わせを組み合わせて、非常に複雑な一種のコンパイラバージョンプロファイルを作成しようとしていることがわかります。で CODESYS UML (一部の CODESYS Professional Developer Edition)何年もの間、別の言語モデル生成バージョンがありましたが、この1つのアドオンを使用しても、現在の多数のアドオンは言うまでもなく、この概念は実際には証明されていません。

  • 単純な形式であっても、コンパイラバージョンにはユーザーからの詳細な知識が必要でした。遅くとも、誤って誤って設定されたバージョンの修正はしばしば問題がありました。経験が浅い、またはこの概念に根本的に納得していないユーザーは、メンテナンス時に実行中のコントローラーに安全にログオンできるようにするために、過去にいくつかのメンテナンスインストールを実行しました。以下に示すように、このケースに対して堅牢なインタラクティブサポートを提供します。

  • 新しいコンパイラバージョンはそれぞれ、内部コードベースを肥大化します。一方では、これはパフォーマンスとインストールのサイズに悪影響を及ぼします。一方、このコードベースのすべての組み合わせをテストすることはできません。コンパイラのバージョンの保守もある程度エラーが発生しやすいため、これは私たちの絶えず増加する品質基準と直接矛盾しています。言い換えると、以前のコンパイラバージョンの概念がすべての場合に確実に機能することを保証することはできません。また、モジュール化のためにこの概念をさらに複雑にする必要がある場合は、確かに保証できません。

  • 前の2つの引数は、次のように要約できます。ユーザーの観点からは、コンパイラバージョンをまったく処理しなくても、メンテナンスケースのツールサポートを使用して適切なバージョンを作成できることは魅力的です。

ランタイムシステムの互換性

ここでの問題は、どの程度 CODESYS-インストールは、ランタイムシステムバージョンと互換性があります。言い換えれば、あなたは新しいものを思い付くことができますか? CODESYS-古いコントローラーにログインして、利用可能なオンライン機能を使用しますか?

関連するメカニズムは変更していません。原則として、プログラミングシステムとランタイムシステムのバージョンは、次の制限付きで、必要に応じて組み合わせることができます。

  • 新しいプログラミングシステムバージョンは、古いランタイムシステムバージョンがまだサポートしていない機能を提供する場合があります。この場合、この機能は使用できません。

  • セキュリティ拡張機能でこれが禁止されている場合(たとえば、強制的なユーザー管理や新しいタイプの暗号化アルゴリズム)、古いプログラミングシステムバージョンは新しいランタイムシステムバージョンで動作できない可能性があります。

ユーザーへの推奨事項

もちろん、このセクションで説明するシナリオを組み合わせて使用することもできます。これは、実践に関連するケースの大部分をカバーしていると信じており、ツールを使用して可能な限りそれらをサポートしたいと考えています。今後も、これらのユースケースに沿ってソフトウェアを最適化していきたいと考えています。

シナリオ

おすすめ

ツールサポート

進行中のプロジェクトの日々の開発

the CODESYSバージョンと関連するアドオンは常に最新の状態に保つ必要があります。私たちは常に大小の改善、バグ修正、セキュリティ更新に取り組んでいるため、最新バージョンは常にこれまでで最高のバージョンです。古いバージョンに固執する理由はほとんどありません。

the CODESYS Installer インストールに関連する利用可能なすべての更新を表示します。これらのアップデートは、マウスを数回クリックするだけでダウンロードおよびインストールできます。

さらに、にある通知センターを介して CODESYS はドッキング可能なウィンドウとして統合されており、利用可能な更新(現在のインストールと完全に一致)も表示されます。ここから直接行くことができます CODESYS Installer ジャンプするので、常にアクティブである必要はありません。

私たちが提供するすべてのセットアップとアドオンは署名されているため、インターネット経由でダウンロードしても安全です。 PackageManagerを、対応する(部分的にインタラクティブな)テストメソッドで拡張しました。

チーム内の複数の人が均一なインストールを使用する必要があるという条件の下で進行中のプロジェクトの毎日の開発

上記のように。

チームの1人が、利用可能な更新をインストールしてテストします。リリースが成功すると、新しいリファレンスインストールがチームに配布されます。

の中に CODESYS Installer 既存のインストールは、説明ファイルとしてエクスポートできます。このファイルを使用して、別のマシンに同一のインストールを作成できます。このメカニズムはコマンドラインからも利用できるため、自動化された環境に特に適しています。

保護された環境で最新のアドオン機能を試す

既存の生産的に使用される CODESYS-インストールが重複しています。この場合、アドオンのベータ版がインストールされ、必要に応じて更新されます。

生産的に使用されたもの CODESYS-インストールは完全に影響を受けません。プロジェクトの通常の作業は影響を受けません。

the CODESYS Installer 既存のインストールのコピーを簡単に作成できます。インストールごとに、リリースされたアップデートのみを提供するか、実験的なベータアップデートを提供してインストールするかを選択できます。

以前は、特定のサービスパックまたはパッチはマシンごとに1回しかインストールできませんでした。インストーラーの導入以来、この制限は解除されました。

関連するインベントリプロジェクトを変更せずに、既存のコントローラをメンテナンスします。オンラインで変更したりダウンロードしたりせずにコントローラーにログインできることを保証する必要があります。

プロジェクトにぴったり合うものになります CODESYS-インストールが作成されました。コンパイラのバージョンを処理する必要がなく、バイナリに等しい制御コードの生成が保証されます。

プロジェクトをロードするとき、現在の違い CODESYSインストールと作成バージョンでは、プロジェクトに正確に適合するインストールをダウンロードしてインストールする機会が得られます。プロジェクトは、この新しく作成されたバージョンで自動的に開かれます。

さらに、ロード時に、マシンにすでに存在する適切なインストールを選択することもできます。

でインストールを取得します CODESYS Installer カスタム名。このようにして、より多くのインストールを管理する必要がある場合でも、概要を失うことはありません。

このような特別な互換性インストールの更新提案を常に受け取らないようにするために、これらはデフォルトで更新チャネルから分離されています。

古い既存のプロジェクトのさらなる開発

プロジェクトは現在進行中です CODESYS-インストールはさらに開発されました。とにかくコードに変更が加えられるので、予定されているオンラインの変更やダウンロードは関係ありません。

CODESYS 古いプロジェクトをロスレスでロードできます。必要なアドオンが不足している場合は、プロジェクトの読み込みプロセスから直接ダウンロードしてインストールすることができます。それ以外の場合は、プロジェクト自体とコントローラーの両方が書き込みおよびダウンロード保護によって保護されます。