Skip to main content

V2.3プロジェクトを開く

ヒント

CoDeSys V2.3 プロジェクトは 32 ビット バージョンの場合のみ変換できます。 CODESYS V3。これを行うには、 CODESYS V2.3 Converter パッケージはにインストールする必要があります CODESYS V3。パッケージは次の場所で入手できます。 CODESYS Store International

64 ビット バージョンを使用している場合は、 CODESYSV3の場合、変換のために 32 ビット バージョンもインストールする必要があります。変換後、プロジェクトを次の場所で開くことができます。 CODESYS 64ビット。

要件: インストールして起動していること CODESYS V3。の CODESYS V2.3 Converter アドオンがインストールされています。

  1. クリック ファイル→プロジェクトを開く

  2. の中に プロジェクトを開く ダイアログ、任意をクリックします CoDeSys V2.3 ファイルシステム内のプロジェクトまたはプロジェクトアーカイブ。検索の場合は、ダイアログの右下隅にあるファイルフィルターを設定できます。

    別のプロジェクトがまだ開いている場合は、 CODESYS それに応じて閉じるように指示します。その後、 CoDeSys V2.3 コンバーターが自動的に起動します。

  3. V2.3コンバーターは、プロジェクトがエラーなしでコンパイルできることを確認します。その場合、プロジェクトは自動的に処理されます。

  4. ノート:

    プロジェクトに、コンバーターが解決できないプレースホルダー変数を持つ視覚化オブジェクトが含まれている場合、それぞれの視覚化は、視覚化参照の代わりにグループとして表示されます。

  5. デバイス変換:開くプロジェクトでデバイス(ターゲットシステム)が参照され、デバイスに変換ルールが定義されていない場合、 デバイス変換 ダイアログが開きます。ここで、コンバーターが以前のデバイス参照を現在のデバイス参照に置き換えるかどうか、およびどのように置き換えるかを指定します。

    交換のために、コンバーターは、変換されたプロジェクトのデバイスツリーの古いデバイスの代わりに新しいデバイスを追加しました。

  6. ライブラリ変換:これまで変換ルールが定義されていないライブラリが、開かれるプロジェクトで参照されている場合、 ライブラリ参照の変換 ダイアログが開きます。ここで、コンバーターが既存のライブラリ参照を現在のライブラリ参照に置き換えるかどうか、およびどのように置き換えるかを指定します。

    プロジェクト情報が欠落しているライブラリを選択した場合、 プロジェクト情報を入力する この情報を指定するためのダイアログが開きます。

    コンバーターは、適合されたプロジェクトをロードします。注:最近定義されたライブラリ参照は、POUビューにあるグローバルライブラリマネージャーにあります。

再利用時の制限 CoDeSys V2.3 のプロジェクト CODESYS

コンパイル

プロジェクトは、エラーなしでコンパイル可能である必要があります CoDeSys V2.3。ノート: CODESYS 静止画はで警告を発行します V3 コンパイルするとき。これらは暗黙の変換によって引き起こされ、情報の損失につながる可能性があります(たとえば、符号の変更による)。

CODESYS V3は、switch変数に対して「case」ステートメントをチェックします。 CASE USINT OF INT チェックインされていません CoDeSys V2.3、ただし、にインポートするとエラーメッセージが表示されます V3

コントローラー構成

The コントローラの構成CoDeSys V2.3 プロジェクトをにインポートできません V3。デバイス構成を再作成し、コントローラー構成で使用される変数を再宣言する必要があります。

ネットワーク変数

ネットワーク変数の場合、 CODESYS 作成します V3 GVLは、変数宣言をオブジェクト化してインポートします。ただし、ネットワークプロパティはインポートされません。これについては、ネットワーク変数交換の説明を参照してください。

ライブラリ

ライブラリで使用されるすべての変数と定数も、ライブラリで宣言する必要があります。ライブラリをでコンパイルできる必要があります CoDeSys V2.3 エラーなし。

以来の構文的および意味的制限 CoDeSys V2.3

  • FUNCTIONBLOCK の代わりに有効なキーワードではありません FUNCTION_BLOCK

  • TYPE (構造体の宣言)の後には「:」を付ける必要があります。

  • ARRAY 初期化**には括弧が必要です。

  • INI はサポートされなくなりました(コード内でこれをInitメソッドに置き換える必要があります)。

  • 関数呼び出しでは、明示的なパラメーター割り当てと暗黙的なパラメーター割り当てを混在させることはできなくなりました。したがって、パラメータ入力の割り当ての順序を変更できます。

    fun(formal1 := actual1, actual2); // -> error message

    fun(formal2 := actual2, formal1 := actual1); // same semantics as the following line:

    fun(formal1 := actual1, formal2 := actual2);

  • CoDeSys V2.3 プラグマは変換されません。彼らはで警告を生成します V3

  • The TRUNC 演算子がデータ型に変換されるようになりました DINT それ以外の INTCODESYS 対応する型変換を自動的に追加します CoDeSys V2.3 輸入。

視覚化

プレースホルダーとその置換

  • プレースホルダー: PLC_PRG.$LocalVar$.aArr[0]

    VAR_INPUT: localVar: MyStruct;

    使用法: localVar.aArr[0]

    置換: localVar := PLC_PRG.myStructVar

  • プレースホルダー: $Var$.aArr[0]

    VAR_INPUT: Var : MyStruct;

    使用法: Var.aArr[0]

    置換: Var := PLC_PRG.myStructVar

  • プレースホルダー: PLC_PRG.myStructVar.aArr[$Index$]

    VAR_INPUT: Index : INT;

    使用法: PLC_PRG.myStructVar.aArr[Index]

    置換: Index := 0

問題のあるプレースホルダー

  • テキスト内のプレースホルダー

    文章: $axle$-Axis

    修正:

    localVar : STRING;

    文章: %s-Axis

    テキスト変数: localVar

  • プレースホルダーは、変数名の一部のみを記述します

    axis$axis$spur$spur$.fActPosition

    修正:

    のプレースホルダーを1つだけ定義します axis$axis$spur$spur$ プレースホルダー。

    axis_spur : MyFunctionBlock;

    次に、機能ブロックの対応するインスタンスを直接転送します。

    axis_spur := PLC_PRG.axis1spur2;

  • プレースホルダーは式に置き換えられます

    $Expression$ -> PLC_PRG.var1 + PLC_PRG.var2

    修正:

    式を補助変数に転送してから、この補助変数をインスタンスとして転送する必要があります。

  • プレースホルダーはプログラム名を記述します:$ Program $ .bToggle --PLC_PRG.bToggle D

    コンバーターは、この形式の設定プレースホルダーをに転送できません V3。ただし、実際に使用することはめったにありません。

  • プレースホルダーはさまざまなタイプに置き換えられます。

    $Var$

    ->交換1: PLC_PRG.n (INT)

    ->交換2: PLC_PRG.st (ストリング)

    修正:

    このためのインターフェースで2つの異なるプレースホルダーを定義します。

  • ビジュアライゼーションはライブラリにあります。後でビジュアライゼーションを使用するときに、任意のプロジェクトからプレースホルダーを置き換えます。

    修正:

    ここで交換する必要があります TYPE_NONE 手動でデータ型。ただし、ライブラリをプロジェクトに統合して、プレースホルダーが正しく置き換えられる可能性もあります。このプロジェクトをインポートすると、データ型もライブラリで正しく決定されます。

インポートできない要素

トレンド、ActiveX:実装が大幅に異なるため、インポートはできません。の V3、対応する警告が発行され、対応する手動での複製が必要です。

プログラミング言語: ST、IL、FBD

制限なし

プログラミング言語: LD

CODESYS ブランチの前の部分がブランチごとに繰り返されるように、並列ブランチを持つ関数ブロックをインポートします。これは、生成されたコードに対応します。 CoDeSys V2.3 並列ブランチ用に作成します。

_cds_img_v23import_ld_example.png

プログラミング言語:SFC

  • ユーザーによって明示的に宣言されたステップ変数は、SFCエディターでローカルに宣言する必要があります。それらをVAR_INPUT、VAR_OUTPUT、またはVAR_INOUTとして宣言することはできません。 CODESYS 呼び出しを自動的に適応させることはできません。説明:ステップは、の内部状態の管理にブール変数を使用しなくなりました V3、だけでなく、タイプの構造 SFCStepType

  • 識別子:次の識別子はアンダースコア文字で始まらない場合があります:

    • ツリー内のIECアクションの名前

    • IECアソシエーションリストで呼び出される変数

    • プログラムされたトランジションの名前

説明:で V3、暗黙の変数 CODESYS アクションの作成には、プレフィックスとしてアンダースコア文字が付けられます。二重下線文字を含む無効な識別子が発生します。

プログラミング言語: CFC

  • 大きな箱:大きな箱のレイアウトは、輸入により品質が低下する可能性があります。ボックスが重なりすぎている可能性があります。 (修正予定です。)

  • マクロ:マクロはインポートできません。 (修正予定です。)