Skip to main content

オブジェクト: シンボル構成

シンボル設定を使用して、プロジェクト変数のシンボル説明を作成できます。 プロジェクト → オブジェクトを追加 シンボル設定オブジェクトをデバイスツリーに追加し、特定のデフォルト設定を定義します。

ヒント

OPC UA サーバーにシンボルを提供するには、新しい構成エディターを使用することをお勧めします IECシンボルセット構成 にとって CODESYS 3.5 SP18 以上。

ダブルクリックして、 シンボルの構成 オブジェクトを選択して、シンボル構成エディターを開きます。

ダイアログ: シンボル構成の追加

関数: このダイアログは、 シンボルの構成 物体。

電話: プロジェクト → オブジェクトの追加 → シンボル設定 メニュー;アプリケーションオブジェクトのコンテキストメニュー

XMLにコメントを含める

変数にコメントが割り当てられたシンボル ファイルをエクスポートします。

OPCUA機能をサポートする

注: このオプションの可用性と編集可能性はデバイスによって異なります。

_cds_icon_checked.png: シンボル設定をダウンロードすると、追加情報もコントローラーにダウンロードされます。 OPC UA サーバーを操作するには、以下の情報が必要です。

  • 継承された機能ブロックの基本タイプ

  • コンパイラプラグマを介して割り当てられた属性の内容

  • スコープ (例: VAR_INPUTVAR_OUTPUTVAR_IN_OUT)

6. クライアント側のデータ レイアウト

レイアウト オプションの詳細と例については、次のセクション「シンボル構成エディター」を参照してください。

互換性のあるレイアウト

この設定は、古いプロジェクトの互換性を保つために使用されます。クライアント用に作成されたデータ レイアウトは、コンパイラーによって内部的に作成されたレイアウトと可能な限り一致します。

最適化されたレイアウト

新しいプロジェクトに推奨

内部コンパイラのレイアウトから切り離されて、最適化された形式で出力レイアウトを計算します。

未公開要素のギャップは生成されず、データ型のメモリ アラインメントの要件を厳密に満たします。コンパイラ バージョン 3.5.7.0 以降が必要です。



シンボル構成エディター

エディターには、選択した変数を含むテーブルと編集用のメニュー バーが含まれています。

7. メニューバー

_cds_icon_symbolconfiguration_view

ビュー

このボタンを使用して、構成エディターで使用される次のカテゴリの変数をアクティブ化または非アクティブ化できます。

_cds_icon_view_from_project.png プロジェクトから未構成: シンボル設定には追加されていないが、プロジェクトで提供されている変数

_cds_icon_library_manager.png ライブラリから未構成: シンボル設定には追加されていないが、プロジェクトで提供されている変数

_cds_icon_view_from_attribute.png 属性を介してエクスポートされたシンボル:

このフィルタには、シンボル ファイル内でエクスポート用にすでにマークされている変数もリストされます。 {attribute 'symbol' := 'read'} プラグマ。これらの記号は灰色で表示されます。

属性 列は、プラグマによって設定されるアクセス権を示します。

_cds_icon_symbolconfiguration_build.png

建てる

プロジェクトをコンパイルします 構成エディターで変数を現在準備するための要件

非境界整列メモリアクセスによる非境界整列データのみ

シンボル構成に、位置合わせされていないデバイスの値またはシンボルが含まれている場合、 ではない 必要な (アライメントされていない) メモリ アクセスをサポートしている場合、エラーが設定されます。

次のメッセージが表示されます。

コンポーネント <名前> シンボルタイプの <シンボルタイプ名> メモリアライメントなしでは公開できません

これにより、コントローラーの予期せぬクラッシュにつながる可能性のある、潜在的に欠陥のあるコードがコントローラーにダウンロードされるのを防ぎます。

ダウンロード

シンボル設定用の独自のアプリケーション ファイルをサポートするデバイスを使用している場合、このボタンはツールバーでも使用できます。

オンライン モードでシンボル構成を変更すると、新しいシンボル構成をダウンロードできます。 <application name>._symbols ファイルをすぐに PLC に送信します。

_cds_icon_symbolconfiguration_settings

設定

  • OPC UA 機能のサポート:

    注: このオプションの可用性と編集可能性はデバイスによって異なります。

    OPC UA サーバーにシンボルを提供するには、代わりに新しい構成エディター (IECシンボルセット構成) のために CODESYS 3.5 SP18 そしてそれよりも高い。

    _cds_icon_checked.png: シンボル設定をダウンロードすると、追加データもコントローラーにダウンロードされます。 OPC UAサーバーを動作させるには以下の情報が必要です。これには現在次の情報が含まれています。

    • 継承された機能ブロックの基本タイプ

    • コンパイラプラグマを介して割り当てられた属性の内容

    • スコープ (例: VAR_INPUTVAR_OUTPUTVAR_IN_OUT)

  • XML にコメントを含める

    変数にコメントが割り当てられたシンボル ファイルをエクスポートします。

  • XML にノード フラグを含める

    _cds_icon_checked.png: 名前空間ノード フラグは、名前空間内のノードの起源に関する追加情報を提供します。 OPC UA がアクティブ化されている場合、ノード フラグは常にシンボル テーブル内にあります。

    ただし、XML ファイルへの埋め込みを無効にすることもできます。一部のパーサーにはこれに関する問題があります。

  • コメントと属性を構成する

    を開きます コメントと属性 ダイアログ

    ここでは、コメントと属性に関してシンボル構成と XML ファイルに含める必要がある内容の詳細を構成します。

  • IECタスクとの同期を構成する:

    を開きます プロパティ – <デバイス名> ダイアログ、 オプション タブ

    この設定により、シンボリック クライアント (PLC ハンドラーに基づくビジュアライゼーションやデータベース接続など) が、IEC タスクと同期された一貫した読み取りまたは書き込みアクセスを持つことが可能になります。

    この設定の詳細な説明は、以下のセクションにあります。 設定: IEC タスクとの同期を構成します

    注: IEC タスクと同期した変数アクセスにより、このデバイス上のすべての IEC アプリケーションのジッターが増加する可能性があります。同期された一貫したアクセスは、リアルタイム機能を中断する可能性があります。

  • シンボル構成のクライアントのデータ レイアウト タイプを定義するためのリスト ボックス:

    注:セクションも参照してください。 データレイアウトタイプの例

    • 最適化されたレイアウト: 新規プロジェクトに推奨 内部コンパイラ レイアウトから切り離された最適化された形式で出力レイアウトを計算します 未公開要素のギャップを生成せず、データ型のメモリ アライメント要件を厳密に満たします コンパイラ バージョン 3.5.7.0 以降が必要です。

    • 互換性のあるレイアウト: この設定は、古いプロジェクトの互換性のために使用されます。クライアント用に作成されたデータ レイアウトは、コンパイラーによって内部的に作成されたレイアウトと可能な限り一致します。

      時間の経過とともに増大するシンボル構成の構成可能性により、依然として問題のあるオフセットが発生する可能性があります。

      オフセットの原因:

      シンボル設定用にリリースされていない機能ブロックおよび構造コンポーネント内の内部ポインタまたは参照によるメモリ ギャップ

      32 ビット システムと 64 ビット システムでは、データ型に応じて発生するメモリ ギャップが異なります。 __XINT / __XWORD

      不均等なアドレスにあるフィールド 一部のクライアントはこのように設定されていません。

      属性の使用時に発生する、意図しないメモリの不整合 'pack_mode' または 'relative_offset'

  • デフォルトで空の名前空間を使用する (V2 互換性): を使用する場合に必要です。 CODESYS V2互換のOPCサーバー構成

    _cds_icon_checked.png: と同じ動作 CODESYS V2.3

    • プログラム変数はアプリケーション名なしでエクスポートされます。

      (Application.PLC_PRG.MyVarPLC_PRG.MyVar)

    • グローバル変数は、GVL 名なしで追加でエクスポートされます。

  • ダイレクト I/O アクセスを有効にする:

    警告

    この機能は潜在的に危険であり、 運用環境での運用を目的としていません

    エラー チェックとテスト、または機械の試運転時 (ケーブル接続のチェックなど) にのみ有効にします。

    _cds_icon_checked.png: シンボル設定では、IEC 構文 (%IX0.0 など) に対応するダイレクト I/O アドレスへのアクセスも使用できます。

    入力アドレス (I) へのアクセスは読み取り専用です*。出力アドレス (Q) とメモリ アドレス (M) へのアクセスは読み書き可能です。

    * 参考: シミュレーション モードでは、入力アドレスに対してシンボルへの書き込みアクセスも可能です。

    OPC や OPC UA などのプロトコルの外部クライアントは、直接アドレスの IEC 構文を常にサポートするとは限らないため、暗黙的コードの名前空間 __MIO の配列構文を使用してアクセスも提供されます。たとえば、%IX2.3 の代わりに __MIO.MIO_IX[2].x3 にアクセスすることもできます。

    ただし、一部のクライアントは多数のノード (I/O 範囲のサイズに応じて数千) を処理できないため、配列アクセスのシンボルはブラウザーでは非表示になります。

  • 関数、FB、メソッド、プログラムの呼び出しをサポート:

    注: このオプションの可用性と編集可能性はデバイスによって異なります。

    _cds_icon_checked.png: アクセス権 実行する タイプが関数、関数ブロック、メソッド、またはプログラムの POU のシンボルに対してシンボル テーブルに設定できます。の OPC UA 機能のサポート オプションも選択する必要があります 設定

  • 通話情報を XML に含める:

    _cds_icon_checked.png: 呼び出される関数、関数ブロック、メソッド、またはプログラムに関する情報は、シンボル構成の XML ファイルにもリストされます。

    このオプションは、次の場合にのみ有効になります。 関数、FB、メソッド、プログラムの呼び出しをサポート このオプションはデバイスによってサポートされています。

  • シンボルセットを有効にする:

    _cds_icon_checked.png: ボタンとリスト ボックスを備えたツールバーがシンボル テーブルの上に表示されます。これを使用して、コントローラへのクライアント固有のアクセス権割り当てのシンボル セットを構成できます。

    以下の「シンボル セット設定用のツールバー」を参照してください。

ツール

XSD スキーム ファイルの保存: このコマンドは、ファイル システムにファイルを保存するための標準ダイアログを開きます。このコマンドを使用すると、外部プログラムで使用する場合などに、シンボル ファイルの XSD 形式を準備できます。



8. 記号表

アクセス権

シンボルのアクセス権を変更するには、 アクセス権 カラム。

. アクセス権のアイコン(昇順)
  • symbol_read.png: 読み取り専用

  • symbol_write.png:書き込みのみ

  • symbol_read_write.png: 読み書き

  • _cds_icon_access_right_execute.png: 実行する

    この権限により、関数、機能ブロック、メソッド、およびプログラムに対する実行権限が許可されます。

    割り当ての要件: デバイスは、 関数、FB、メソッド、プログラムの呼び出しをサポート そして OPC UA 機能のサポート オプション。両方のオプションは、 設定

注: コントローラにユーザー管理がある場合は、シンボル セットを使用して、同じシンボルに対するクライアント固有のアクセス権を定義できます。

最大値

このシンボルの最大アクセス権

属性

アクセス権が属性によって割り当てられている場合は、対応するアイコンがここに表示されます。

タイプ

エイリアスのデータ型も表示されます。 CODESYS V3.5 SP6 以降。

例: MY_INT : INT データ型で宣言された変数の場合 MY_INT (タイプ INT)。

メンバー

構造化データ型の変数を追加するには、 記号 カラム。これは〜をひき起こす CODESYS すべての「メンバー」変数シンボルをエクスポートします。ただし、 メンバー 列をクリックすると、 _cds_icon_three_dots.png ボタンをクリックして、特定の構造コンポーネントのみを選択します。

注: この選択は、シンボルがエクスポートされるこのデータ型のすべてのインスタンスに適用されます。

構造化型のメンバーを選択できない場合は、アスタリスク (_cds_icon_symbolconfig_checkbox_wildcard.png) がメンバーのチェック ボックスに表示され、そのタイプのエクスポート可能なメンバーがすべてエクスポートされていることを示します。



9. シンボルセット設定用のツールバー

リストボックス

すでに定義されているシンボルセット

_cds_icon_add_symbol_group.png 新しいシンボルセットを追加

を開きます 新しいシンボルセットを追加 このセットの名前を指定するダイアログ

_cds_icon_copy_symbol_group.png 選択したシンボルセットから重複を追加

を開きます 選択したシンボルセットから重複を追加 ダイアログ

リスト ボックスで選択したセットのコピーが作成されます。デフォルトの名前を変更できます (<group name>_duplicate)。

_cds_icon_rename_symbol_group.png 選択したシンボルセットの名前を変更

を開きます 選択したシンボルセットの名前を変更 リスト ボックスで選択したセットの別の名前を指定するダイアログ

_cds_icon_delete_symbol_group.png 選択したシンボルセットを削除します

リストボックスで選択したシンボルセットを削除するかどうかを尋ねるダイアログを開きます。

シンボル権限の構成

を開きます シンボルの権利 デバイス エディタのタブにログインすると、リスト ボックスで選択したシンボル セットにユーザー グループ (クライアント) ごとに異なるアクセス権を割り当てることができます。



詳細については、以下を参照してください。 タブ:シンボル権

ダイアログ: コメントと属性

10. シンボルテーブルの内容

拡張 OPC UA 情報を有効にする

注: このオプションの可用性と編集可能性はデバイスによって異なります。

_cds_icon_checked.png: OPC UA サーバーによって評価できる追加情報がシンボル テーブルに含まれています。これには、ユーザー定義のデータ型と名前空間ノード フラグの継承情報が含まれます。

OPC UA 設定が有効な場合は、コメントや属性などの追加情報も含めることができます。

. OPC UA 設定が有効な場合、属性は次のルールに従ってシンボル テーブルに含まれます。
  • コンパイラ バージョン V3.5.5.0 ~ V3.5.7.X では、すべての属性が次のとおりに含まれます。 単純な識別子と一致する 設定。

  • コンパイラバージョン V3.5.8.X では、設定に従ってすべての属性が含まれます すべての属性を含める

  • コンパイラー バージョン V3.5.9.0 以降では、含まれる属性をカスタマイズできます。

コメントを含める

要件: 拡張 OPC UA 情報を有効にする がアクティブ化されます。

_cds_icon_checked.png: コメントと属性もシンボル テーブルに保存されます。

属性を含める

タイプノードのコメントと属性も含めます

要件: コメントを含める がアクティブ化されます。

_cds_icon_checked.png: 型ノードの情報も含まれます (ユーザー定義型、 STRUCT そして ENUM 要素)。

_cds_icon_option_deactivated.png: 直接エクスポートされた変数のみがコメントと属性を持ちます。



11. XMLシンボルファイルの内容

名前空間ノードフラグを含める

_cds_icon_checked.png: ネームスペース ノード フラグは、ネームスペース内のノードの起源に関する追加情報を提供します。OPC UA がアクティブ化されている場合、ノード フラグは常にシンボル テーブル内にあります。ただし、一部の欠陥のあるパーサーには問題があるため、XML ファイルへのこの組み込みは無効化される場合があります。

コメントを含める

_cds_icon_checked.png: コメントは XML ファイルに保存することもできます。

コンパイラ バージョン V3.5.5.x から V3.5.8.0 では、これには次の設定が含まれます ドキュメントコメントを優先する

属性を含める

_cds_icon_checked.png: 属性はシンボル ファイルに保存することもできます。

タイプノードのコメントと属性も含めます

_cds_icon_checked.png: 型ノードの情報も含まれます (ユーザー定義型、 STRUCT そして ENUM 要素)。

_cds_icon_option_deactivated.png: 直接エクスポートされた変数のみがコメントと属性を持ちます。



12. コメントの選択

要件: コメントを含める がアクティブ化されます。

文書コメントを含める

通常のコメントを含める

両方のタイプのコメントを必ず含めてください

文書コメントを優先し、通常のコメントにフォールバックします

通常のコメントを優先し、ドキュメント コメントにフォールバックします

オプションにより、シンボル設定に保存されるコメントが決まります。



13. フィルター属性 (大文字と小文字を区別しない)

要件: 属性を含める がアクティブ化されます。

すべての属性を含める

で始まる属性を含める

正規表現を使用して属性をフィルタリングする

シンボル設定に保存される属性を定義します

単純な識別子と一致する

主に、古い動作をエミュレートするための古いバージョンとの下位互換性のために存在します。



設定: IEC タスクとの同期を構成します

同期的に一貫したアクセスを実現するために、シンボリック クライアントは、IEC タスクが実行されない時間が見つかるまで、読み取りまたは書き込みリクエストを処理するときにランタイム内で待機します。このギャップが検出されると、変数リストのすべての値がコピーされるまで、IEC タスクの再起動が妨げられます。その後、IEC タスクが通常どおりに再び計画されます。同期アクセスにより IEC タスクの開始が遅れる可能性があり、これはジッターの増加として示されます。ランタイム内のすべてのアプリケーションは共通のスケジューラによって管理されるため、このリアルタイム動作の潜在的な障害はデバイス上のすべてのアプリケーションに影響します。シンボル構成が含まれているかどうか、または 1 つ以上のアプリケーションからコントローラーにダウンロードされているかどうかに関係なく、デバイスのすべてのアプリケーションが影響を受けます。 CODESYS プロジェクト。したがって、ランタイムは、アクセス時にコントローラーにダウンロードされるすべてのアプリケーションを許可する場合にのみ、同期された構成アクセスを許可します。

ヒント

設定は、シンボル構成のエディターにあります。 設定 メニュー。さらに、この設定は、コントローラーのコンテキスト メニューにも表示されます。 プロパティ コマンドを選択し、 オプション 開いたダイアログのタブ。

シンボル構成のないアプリケーションの場合、設定はプロパティ ダイアログでのみ見つかります。

重要

設定を変更した後、ダウンロードまたはオンライン変更によってデバイスにダウンロードされたすべてのアプリケーションを再ロードし、すべての起動アプリケーションを更新する必要があります。

同期された一貫したアクセスが必要なのはどのような場合ですか?

原則として、変更された値がどの IEC タスク サイクルから発生したかはほとんど無関係であるため、表示される値に一貫した値を設定する必要はありません。めったに変更されない値にはまったく関係ありません。書き込み中であっても、ハード整合性の要求はほとんどありません。これは、通常、マシンは、レシピとして書き込まれた値に直接アクセスできない一種のスタンバイ モード (レシピの書き込み時など) でなければならないためです。

対照的に、本番データを保存するデータベース リンクには、一貫した値が特に必要です。ただし、クロック付きマシンの場合、これらの値は生産タイミングと同期している必要があり (生産された製品ごとに 1 つの値セット)、1 つ以上の IEC タスクへの参照と一致していません。マシン クロックに関しては、IEC アプリケーションによって一貫性がすでに保証されている必要があります。この目的のために、通常、生産サイクル中に発生する値はグローバル変数リストに収集されます。サイクルの終わりに、追加の変数 (BOOL またはカウンタ)、マシンサイクルが終了し、値が有効であることを示します。これで、クライアントは実稼働サイクルからの値をアーカイブできるようになりました。必要に応じて、リリースされた変数を使用して読み取り成功を逆方向に表示することもできるため、生産データをアーカイブできない場合には生産を停止することもできます。同期はアプリケーション レベルで実行されるため、このユースケースでは同期された一貫したアクセスは必要なく、役立ちます。

対照的に、シンボリック クライアントによる同期された一貫したアクセスは、たとえば、プロセス値が 60 秒の固定時間枠で一貫して周期的に書き込まれる場合など、プロダクション クロッキングなしでシステムが継続的に実行されるプロセス産業で通常適用されます。これは、クロックされたマシン (上記を参照) と同様のアプリケーション レベルでの同期によって、または同期された一貫したシンボリック アクセスの同期によって行うことができます。後者の利点は、IEC プログラムにロジックを実装する必要がなく、アクセスが完全にクライアントによって制御されることです。

注意

ジッターが増加するため、同期された一貫したモニタリングはモーションやリアルタイムの重要なアプリケーションには適していません。これらの理由から、同期された一貫したアクセスは、絶対に必要な場合にのみ解放して使用する必要があります。

クライアントがこの設定によって解放された同期一貫性アクセスを使用する場合、その設定はクライアントに影響を与えます。ランタイムのスケジューラによっては、システムが IEC タスクの実行ギャップを待機する必要がある可能性があるため、読み取り/書き込みアクセスの場合、応答時間がさらに遅くなる可能性があります。 IEC タスクが長時間 (数 100 ミリ秒の範囲) 実行される場合、または 1 つ以上の IEC タスク (数100ミリ秒の範囲)。したがって、値を利用できるかどうかは、IEC アプリケーションによるコントローラーの負荷にも依存します。

さらに、クライアントは、読み書きされる変数リストの定義で次の点を観察する場合、クライアント自身とランタイムへの影響を最小限に抑えることができます。

  • 絶対的かつ一貫して必要な変数のみへの同期された一貫したアクセス

  • 一貫性が必要な変数と一貫性がなくなる可能性のある変数の変数リストを分ける

  • いくつかの一貫した変数を含む変数リストをいくつかの小さなリストに分割します。

  • 可能な限り大きな値を周期的に読み取るための読み取り間隔を選択します。

現在の構成と考えられる修正アクションのサポート

シンボル テーブル内で赤色でマークされたエントリは、シンボル ファイルにエクスポートするように構成されているが、現在アプリケーションでは無効である変数を示します。この原因としては、宣言がブロックから削除されたことが考えられます。

バージョン 3.5.8.0 以降では、シンボルが設定された変数が IEC コードで使用されていないか、I/O 変数の場合にマップされていない場合、エディターに警告が表示されます。さらに、コンパイラは、シンボル構成内の古いライブラリ バージョンから参照されている変数を示します。

重要

プログラム コードで使用されないオブジェクト変数は、デフォルトではコンパイルされないままになるため、シンボル設定では使用できません。

. しかし、 CODESYS 次の条件のいずれかが満たされる場合、シンボル構成内のコンパイルされていないオブジェクトからの変数が引き続き提供されます。
  • 常にリンクする POU プロパティが選択されています。

  • {attribute 'linkalways'} プラグマが使用されます。

詳細については、以下を参照してください。 ダイアログ:プロパティ:ビルドダイアログ:プロパティ:オプション:コントローラ

データレイアウトタイプの例

10. 大型構造物

すべてのメンバーが公開されているわけではない、大規模な構造の例:

STRUCT
{attribute 'symbol':='readwrite'}
PublicNumber : INT;	

{attribute 'symbol':='none'}
InternalData : ARRAY[0..100] OF BYTE;

{attribute 'symbol':='readwrite'}
SecondNumber : INT;

{attribute 'symbol':='none'}
MoreData : ARRAY[0..100] OF BYTE;
END_STRUCT
END_TYPE


シンボル ファイル内の結果のエントリ (「」に注意してください)size" そして "byteoffset"):

11. シンボル ファイル、大きな構造、互換性レイアウト オプション
<TypeUserDef name="T_GrosseStruktur" size="208" nativesize="208" typeclass="Userdef" pouclass="STRUCTURE" iecname="GrosseStruktur">
<UserDefElement iecname="PublicNumber" type="T_INT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="SecondNumber" type="T_INT" byteoffset="104" vartype="VAR" />
</TypeUserDef&gt>


12. シンボル ファイル、大きな構造、最適化されたレイアウト オプション
<TypeUserDef name="T_GrosseStruktur" size="4" nativesize="208" typeclass="Userdef" pouclass="STRUCTURE" iecname="GrosseStruktur">
<UserDefElement iecname="PublicNumber" type="T_INT" byteoffset="0" vartype="VAR" /&lt;UserDefElement iecname="PublicNumber" type="T_INT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="SecondNumber" type="T_INT" byteoffset="2" vartype="VAR" />
</TypeUserDef>


13. アドレスが不均一な構造

次のメカニズムにより、メンバーにメモリの不整合が発生する可能性があります。

{attribute 'relative_offset':='…'} メンバーで

{attribute 'pack_mode':='…'} 文字列宣言内で

Target setting 'memory-layout\pack-mode' デバイスの説明にある

{attribute 'pack_mode':='1'} 
TYPE UngeradeAdressen :
STRUCT
   {attribute 'relative_offset':='3'}
   {attribute 'symbol':='readwrite'}
   PublicNumber : INT;

   {attribute 'symbol':='readwrite'}
   PublicValue : LREAL;
END_STRUCT
EMDTYPE
   


シンボル ファイル内の結果のエントリ。 (注意を払う "size" そして "byteoffset"):

14. シンボルファイル、アドレスが不均等な構造、互換性レイアウトオプション
<TypeUserDef name="T_UngeradeAdressen" size="13" nativesize="13" typeclass="Userdef" pouclass="STRUCTURE" iecname="UngeradeAdressen">
<UserDefElement iecname="PublicNumber" type="T_INT" byteoffset="3" vartype="VAR">
<UserDefElement iecname="PublicValue" type="T_LREAL" byteoffset="5" vartype="VAR" />
</TypeUserDef>


15. シンボルファイル、アドレスが不均一な構造、最適化されたレイアウトオプション
<TypeUserDef name="T_UngeradeAdressen" size="16" nativesize="13" typeclass="Userdef" pouclass="STRUCTURE" iecname="UngeradeAdressen">
<UserDefElement iecname="PublicNumber" type="T_INT" byteoffset="0" vartype="VAR" />
<UserDefElement iecname="PublicValue" type="T_LREAL" byteoffset="8" vartype="VAR" />
</TypeUserDef>


16. ファンクションブロック
// Each POU contains some implicit variables, which do not get published. Depending on the data type these might cause memory gaps of different sizes.
FUNCTION_BLOCK POUx IMPLEMENTS SomeInterface
VAR_INPUT
  in : INT;
END_VAR
VAR_OUTPUT
  out : INT;
END_VAR
VAR
END_VAR

各 POU には、公開されない暗黙的な変数がいくつか含まれています。次のようなデータ型の場合 __XWORDの場合、システムが 64 ビットか 32 ビットかに応じて、メモリ ギャップのサイズが異なるため、クライアント側のデータ レイアウトが決まります。

64 ビットおよび 32 ビットのシンボル ファイル内の結果のエントリ。 (注意を払う "size" そして "byteoffset"):

シンボルファイル、ファンクションブロック、互換性レイアウトオプション、64ビット

<TypeUserDef name="T_Baustein" size="24" nativesize="24" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="Baustein">
<UserDefElement iecname="in" type="T_INT" byteoffset="16" vartype="VAR_INPUT" />
<UserDefElement iecname="out" type="T_INT" byteoffset="18" vartype="VAR_OUTPUT" />
</TypeUserDef>

シンボルファイル、ファンクションブロック、最適化レイアウトオプション、64ビット

<TypeUserDef name="T_Baustein" size="4" nativesize="24" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="Baustein"&gt;>
<UserDefElement iecname="in" type="T_INT" byteoffset="0" vartype="VAR_INPUT" />
<UserDefElement iecname="out" type="T_INT" byteoffset="2" vartype="VAR_OUTPUT" />
</TypeUserDef>

シンボルファイル、ファンクションブロック、互換性レイアウトオプション、32ビット

<TypeUserDef name="T_Baustein" size="12" nativesize="12" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="Baustein">
<UserDefElement iecname="in" type="T_INT" byteoffset="8" vartype="VAR_INPUT" />
<UserDefElement iecname="out" type="T_INT" byteoffset="10" vartype="VAR_OUTPUT" />
</TypeUserDef>

シンボルファイル、ファンクションブロック、最適化レイアウトオプション、32ビット

<TypeUserDef name="T_Baustein" size="4" nativesize="12" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="Baustein">
<UserDefElement iecname="in" type="T_INT" byteoffset="0" vartype="VAR_INPUT" />
<UserDefElement iecname="out" type="T_INT" byteoffset="2" vartype="VAR_OUTPUT" />
</TypeUserDef>


詳細については、以下を参照してください。 シンボル構成