Skip to main content

単位変換

別の単位系のデータを調整する場合は、変換ルールを定義できます。このデータは、特定の桁数と測定単位で実行されます。

で変換ルールを定義します 単位変換 物体。 CODESYS 各変換ルールを機能ブロックとして自動的に実装します <name>_Impl そしてそれをインスタンス化します <name>。各変換ルールには、 ConvertReverse メソッド。その結果、通常どおり機能ブロックを使用することができます。変数にアクセスする場所では、変数を変換ルールにリンクできます。入力アシスタントは、 ファンクションブロックインスタンス呼び出し カテゴリ。実行後、結果は変換ルールに従って変換された値になります。

ビジュアライゼーションでは、要素プロパティで構成されているIEC変数を変換ルールにリンクすることもできます。

単位変換の定義

  1. ダブルクリック 単位変換 デバイスツリー内のオブジェクト。

    対応するエディタが開きます。これには、変換ルールがすでに定義されているテーブルが含まれています。でルールを編集します タイプ設定 およびそれぞれの条件 条件設定

  2. ダブルクリック 新しいエントリを追加する フィールドに名前を入力します。

    CODESYS を実装します <name>_Impl 関数ブロックとインスタンス化 <name>

  3. ダブルクリック タイプ フィールドをクリックし、リストボックスからタイプをクリックします。

    変換ルールを編集するための入力フィールドがテーブルの下に表示されます。入力フィールドは、選択したタイプによって異なります。

  4. 入力フィールドの変換ルールを変更します。

    変更はに表示されます 設定 テーブルのカテゴリ。

  5. ダブルクリック 調子 フィールドをクリックし、リストボックスから条件タイプをクリックします。

    入力フィールドは下に表示されます 条件設定 条件を編集するためのテーブルのカテゴリ。入力フィールドは、選択したタイプによって異なります。

  6. 条件を編集します。

    変更はに表示されます 条件設定 テーブルのカテゴリ。

切り替え可能な単位変換の定義

特定の言語または条件に適用される変換ルールを定義できます。

  1. ダブルクリック 単位変換 デバイスツリー内のオブジェクト。

    対応するエディタが開きます。事前定義された変換ルールを含むテーブルが含まれています。

  2. クリック 新しいエントリを追加する フィールドに名前を入力します。

    例: Conv_A_LanguageDependent

  3. ダブルクリック タイプ フィールドをクリックしてクリックします 切り替え可能な変換。ダブルクリック 調子 フィールドをクリックしてクリックします 言語

    メインテーブルの下に、 切り替え可能な変換 テーブルはで表示されます 条件設定

  4. の中に 切り替え可能な変換 テーブルで、のリストボックスから事前定義された変換ルールをダブルクリックします。 切り替え可能な変換名 たとえば、列 Conv_AInInch

    条件設定、に値を入力します 条件「言語」の場合 たとえば、入力フィールド en

    CODESYS を実行します Conv_AInInch VisualizationManagerで設定された言語が en

  5. の中に 切り替え可能な変換 テーブルで、のリストボックスから事前定義された変換ルールをダブルクリックします。 切り替え可能な変換名 たとえば、列 Conv_AInMM

    条件設定、の値をクリックします 条件「言語」の場合 たとえば、入力フィールド de

    CODESYS を実行します Conv_AInMM VisualizationManagerで設定された言語が de

  6. 適用します Conv_A_LanguageDependent アプリケーションまたはビジュアライゼーションの変換ルール。

    ビジュアライゼーションで設定された言語が英語の場合、アプリケーションビジュアライゼーションは Conv_AInInch 変換ルール。ビジュアライゼーションで設定された言語がドイツ語の場合、アプリケーションビジュアライゼーションは Conv_AInMM 変換ルール。現在の視覚化言語は、 VisuElems.CurrentLanguage 変数。

変換ルールの適用

IEC変数にアクセスするオブジェクトに変換ルールを追加します。

  1. デバイスツリーで、IEC変数にアクセスするオブジェクトをダブルクリックして、その場所の変換ルールにIEC変数をリンクします。

  2. IEC変数の変換結果の変数を宣言します。

    たとえばSTのコード: rConvertedA : REAL;

  3. 逆変換ルールを適用します Convert メソッドを実行し、結果を変数に割り当てます。入力アシスタントを使用します。

    IEC変数を変換ルールにリンクするためのSTサンプルコード: rConvertedA := ConvRule_A.Convert(rA);

逆変換ルールの適用

  1. デバイスツリーで、IEC変数にアクセスするオブジェクトをダブルクリックします。

  2. 変換ルールの結果の変数を宣言します。

    たとえばSTのコード: rReverseA: REAL;

  3. 逆変換ルールを適用します Reverse メソッドを実行し、結果を変数に割り当てます。

    rReverseA := ConvRule_A.Reverse(rConvertedA);

要件: 変換ルールはConv_XtoY

20. ST実装言語で呼び出す
PROGRAM A_PRG
VAR
    rA : REAL;
    rConvertedA : REAL;
    rReverseToA : REAL;
END_VAR
rConvertedA := Conv_XtoY.Convert(rA);
rReverseToA := Conv_XtoY.Reverse(rConvertedA);


21. CFC実装言語で呼び出す

CFC エディターで、ブロックを介して変換ルールのインスタンス名を定義します。ブロック内のメソッドを選択します。

_cds_img_using_unit_conversion_in_cfc.png
_cds_img_using_unit_conversion_reverse_in_cfc.png


単位変換を使用した変数割り当ての構成

ビジュアライゼーションで割り当てられた変数を単位変換にリンクできます。これには、変数値が事前定義されたルールに従って変換され、結果がビジュアライゼーションで処理されるという効果があります。

のエディタで変換ルールをすでに定義しています 単位変換

変数と単位変換のリンク

要件:視覚化されたプロジェクトが開いています。さらに、アプリケーションには UnitConversion オブジェクトと convert_A ルール。

  1. 要素を選択します。

    The プロパティ ビューが開きます。

  2. 変数の割り当てで、 iVar_A 単位変換規則への変数:

    convert_A.convert(iVar_A)

  3. アプリケーションをコンパイル、ダウンロード、および起動します。

    アプリケーションが実行されます。ビジュアライゼーションが開きます。単位変換が適用されます。