Skip to main content

互換性

の互換性 CODESYS プロジェクト

保存形式

使用事例

サポート

新しいプロジェクトにプロジェクトをロードしています CODESYS データ損失のないバージョン

✓

古い人のためにプロジェクトを保存する CODESYS バージョン

✓

古いプロジェクトで新しいプロジェクトを開く CODESYS バージョン

--

新しいプロジェクトで開かれる既存のプロジェクト CODESYS バージョンは可能な限り「互換モード」に維持されます。新しい機能を必要としない変更のみをプロジェクトに加える限り、保存形式は変わりません。だからこそオリジナルは CODESYS このバージョンでは、データを失うことなくプロジェクトを開いて編集し続けることができます。新しいデータをプロジェクトに保存する必要がある変更を行った場合、この状況について対話形式で通知されます。互換性違反が許容できない場合は、最後の変更を元に戻すオプションがあります。

多くの場合、新しいメモリ バージョンのプロジェクトを古いバージョンで開くことができます。 CODESYS ただし、これは強くお勧めしません。プロジェクトを開くことができるかどうかは、古いバージョンで利用できるプラグインの種類によって異なります。このようなプロジェクトをロードすると、対応するメッセージが表示されます。

古いバージョンのプロジェクトを保存するオプションもあります。 CODESYS を実行することで ファイル → 名前を付けて保存 指示。この場合、どのオブジェクトがデータ損失の影響を受けるかに関する情報が、 メッセージ ビュー。ただし、古いバージョンのプロジェクトを保存すると、明示的にのみストレージ形式に影響します。コンパイラのバージョンまたは同様の設定が古いバージョンと一致するように調整される、プロジェクトの完全な変換はありません。

オンラインでの行動

使用事例

サポート

古いバージョンで作成されたプロジェクトをコンパイルする CODESYS 新しいバージョンの CODESYS バージョン

✓

新しいバージョンではオンライン変更なしでログインします。

--

新しい CODESYS 既存のプロジェクトに対して、プロジェクトを作成した古いバージョンと同じコードを生成することはできません。オンラインで変更またはダウンロードせずに実行中のアプリケーションにログインする必要がある場合は、コントローラに最後にロードされたバージョンでプロジェクトを開く必要があります。の CODESYS Installer また、プロジェクト分析は、元のバージョンが存在しない場合にそれを復元するのに役立ちます。

その結果、新しいバージョンまたは異なるバージョンでプロジェクトを開くには、プロジェクトを更新する必要があることを意味します。これには、ランタイム環境を新たにダウンロードする必要がある可能性があります。また、コンパイラまたはグラフィカル エディタの新しい関数やバグ修正によって生じる動作の変化の可能性についてアプリケーションをテストする必要があります。一般に、新しいバージョンに更新する労力を最小限に抑えるために、新しいコンパイラ エラーや既存のプロジェクトの動作の変更を最小限に抑える試みが行われます。

既存のランタイムとの互換性のために、次の点に注意する必要があります。

  • の新機能 CODESYS 通常、デバイスの説明で有効になります。その結果、古いランタイム システムまたは古いデバイス記述に対しては無効になります。

  • すべての外部ライブラリのバージョンは、デバイス記述によって解決されます。その結果、それらは対応するランタイム システムに一致します。

  • 内部ライブラリは次のように解決されます。 CODESYS ランタイム システムのバージョンに関係なく、バージョンが異なります。

  • 通信サービスはタグ付きの共有フォーマットに従って構築されます。不明なタグはランタイム システムによって無視されます。その結果、通信サービスを変更することは可能ですが、プログラミング システムはランタイム システムが新しい情報を解釈することを期待しません。

の互換性 CODESYS 図書館

使用事例

サポート

古いバージョンで作成されたコンパイル済みライブラリの使用 CODESYS新しいバージョンの CODESYS バージョン。

✓

新しいバージョンで作成されたコンパイル済みライブラリの使用 CODESYS 古いバージョンの CODESYS バージョン。

--

コンパイルされたライブラリは常に最低レベルで作成する必要があります。 CODESYS互換性が必要なバージョン。古い CODESYS バージョンは、新しいバージョンで作成されたライブラリを認識し、プロジェクトでの使用を拒否します。チェックは、ライブラリに設定されているコンパイラのバージョンに基づいて行われます。ライブラリの内容によっては、保存形式も影響することがあります。

同じルール CODESYS プロジェクトはソース ライブラリにも適用されます。

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

ただし、古いバージョンの使用はお勧めしません。 CODESYS ランタイム システムの新しいバージョン。この互換性は明示的にテストされていません。新しいランタイム システムのセキュリティ修正により、古いランタイム システムとの互換性がなくなる可能性があります。 CODESYS バージョン。

既存のランタイム バージョンとの互換性については、次の点に注意する必要があります。

  • の新機能 CODESYS 通常、デバイスの説明で有効になります。その結果、これらのバージョンは、古いランタイム システムまたは古いデバイス記述に対しては無効になります。

  • すべての外部ライブラリのバージョンは、デバイス記述によって解決されます。その結果、それらは対応するランタイム システムに一致します。

  • 内部ライブラリは次のように解決されます。 CODESYS ランタイム システムのバージョンに関係なく、バージョンが異なります。

  • 通信サービスはタグ付きの共有フォーマットに従って構築されます。不明なタグはランタイム システムによって無視されます。その結果、通信サービスを変更することは可能ですが、プログラミング システムはランタイム システムが新しい情報を解釈することを期待しません。

デバイス記述の互換性 – ランタイムシステム

使用事例

サポート

古いバージョンのデバイス記述と新しいランタイム システムがログイン時に受け入れられます。

✓

新しいバージョンのデバイス記述と古いランタイム システムは受け入れられないため、ログインは拒否されます。

--

既存のプロジェクトは、新しいランタイム システムであっても、既存のランタイム システム上で実行する必要があります。 CODESYS バージョン。これは、プロジェクト内のデバイスの説明を変更せず、ランタイム システムのバージョンと一致する既存のバージョンを使用することで実現できます。デバイス記述とランタイム システムのバージョンがそれほど異なっていないか、互換性がない場合は、ランタイム システムにログインすることもできます。

  • デバイス記述には、ランタイム システムに外部関数が実装されている外部ライブラリのリストが含まれています。ライブラリの対応するバージョンは、ライブラリ プレースホルダ リストで指定されます。このリストはデバイスの製造元によって定義されます。

    ヒント

    プレースホルダー リストには、対応するランタイム コンポーネントがランタイム システムで使用できるライブラリのみを含める必要があります。

  • デバイス記述とランタイムシステム間の互換性範囲を設定することができます。これは、バージョンが一致しない場合、コントローラーにログインできないことを意味します。この範囲は、ランタイム システムの次の設定を使用してデバイス メーカーによって選択できます (「 SysTargetItf.h ランタイム システムの):

    • SYSTARGETKEY_INT_TARGET_VERSION_MASK 「TargetVersionMask」:ターゲットバージョンとデバイス記述との互換性をチェックするためのマスクを指定する設定。マスクでは有効数字のみがチェックされます。

    • SYSTARGETKEY_INT_TARGET_VERSION_COMPATIBILITY_MASK 「TargetVersionCompatibilityMask」: ターゲット バージョンとデバイスの説明との互換性をチェックするための互換性マスクを指定する設定。ターゲット バージョンよりも低いデバイス記述、またはターゲット バージョンと同じデバイス記述が受け入れられます。デバイス記述の上位バージョンは拒否されます。

表 1. 電流例 CODESYS

CODESYS バージョン

CODESYS コントロールバージョン

デバイスの説明のバージョン

推奨

制限

コメント

3.5.19.0

3.5.19.0

3.5.19.0

はい、最適です

--

これが最適な組み合わせです。

3.5.19.0

3.5.12.0

3.5.12.0

はい

--

これは典型的な互換性のケースです。

3.5.19.0

3.5.12.0

3.5.10.0

いいえ、しかし可能です

コントローラにログインするときに DevDesc が一致しないという警告が表示される

これが可能なのは、 DevDesc コントローラのバージョンよりも古いです。

3.5.19.0

3.5.12.0

3.5.19.0

いいえ

コントローラーにアクセスできません

デフォルトでは、これは拒否されます。 DevDesc とランタイム システムには互換性がありません。

3.5.19.0

3.5.10.0

3.5.10.30

いいえ

コントローラーにアクセスできません

これが可能なのは、 DevDesc 3.5.10.x の互換範囲内です。



表 2. 古い人の例 CODESYS

CODESYS バージョン

CODESYS コントロールバージョン

デバイスの説明のバージョン

推奨

制限

コメント

3.5.17.0

3.5.19.0

3.5.19.0

いいえ

ランタイム システムのセキュリティ修正により、互換性がなくなる可能性があります。

すべての外部ライブラリのセットは、 CODESYS。外部ライブラリでは、コンパイル エラーにつながる新しい IEC 言語リソースが使用されている可能性があります。

3.5.17.0

3.5.19.0

3.5.17.0

いいえ、しかし可能です

ランタイム システムのセキュリティ修正により、互換性がなくなる可能性があります。



ブートプロジェクトの互換性 + 保持 - ランタイムシステム

使用事例

サポート

新しいランタイム システムは古いブート プロジェクトをロードします。

✓

古いランタイム システムは新しいブート プロジェクトを読み込みます。

--

メイン バージョン内のランタイム システムから既存のブート プロジェクトをロードできる必要があります。既存のブート プロジェクトは、ターゲットのタイプ指定と照合してチェックされます (VendorID、 DeviceID、 そしてその DeviceVersion V3.5.8.0 以降) をロードする前に。

保存された保持ファイルから変数を保持します (<application>.ret) または SRAM からのものは常に互換性がある必要があります。チェックサムは保持領域ごとに別のファイルに保存されます。同じチェックサムがブート プロジェクトに保存されます。このチェックサムは、保持データからコンパイラによって生成され、保持領域内のすべての変数をそれぞれの型で識別します。保持データのチェックサムとブート プロジェクトのチェックサムが一致しない場合、ランタイム システムには動作を選択するためのオプションがいくつかあります。これらのオプションは [CmpApp] のセクション cfg ファイル:

  1. Bootproject.RetainMismatch.Init = 1: ブート プロジェクトがロードされ、初期化されます。

  2. Bootproject.RetainMismatch.Exception = 1: ブート プロジェクトはロードされますが、アプリケーションは停止状態のままで、例外状態に設定されます。この状態は手動リセットで修正できます。

  3. 設定なし [DEFAULT]: ブート プロジェクトがロードされず、エラー メッセージがロガーに追加されます。

ランタイム システム バージョン 3.5.7.0 以前では、チェックサムはアプリケーションのデータ全体から計算されていました。新しいバージョンでは、チェックサムは保持領域内のデータのみから計算されます。これは、プロジェクトが変更された場合でも、その変更に保持データへの変更が含まれない限り、保持データを新しいバージョンのブート プロジェクトにロードできることを意味します。