Skip to main content

オブジェクト: DUT

DUT (データユニットタイプ) は、定義済みの標準タイプを超えるユーザー定義データ型を宣言します。

. シンボル:

このようなオブジェクトは、アプリケーションの下またはビューに表示されます。 POU 追加。オブジェクトを作成するときは、ダイアログを開きます。 DUT を追加。そこで、新しいデータ型に名前を付け、「構造」、「列挙」、「エイリアス」、「ユニオン」のカテゴリから選択できます

ユーザー定義データ型カテゴリ

30. 構文
TYPE <identifier> :
    <data type declaration>
END_TYPE

TYPEEND_TYPE DUT 宣言は括弧で囲まれています。

TYPE <identifier> :
STRUCT
    <member deklaration>
END_STRUCT
END_TYPE

の宣言 構造

構造体では、以下の 2 つ以上のメンバー STRUCTEND_STRUCT 括弧で囲まれた。

TYPE <identifier> :
(
    <list of members>
) <base data type> := <inittialization> ;
END_TYPE

の宣言 列挙

列挙では、少なくとも 2 つのメンバーが丸括弧で囲まれています。個々のメンバーはカンマで区切られます。すべてのメンバーのデータ型は同じです。列挙はテキストリストでもサポートできます。

詳細については、以下を参照してください。 テキストリストをサポートする列挙型

テキストリストは、列挙の値をローカライズするために使用されます。そうすると、オブジェクトにはローカライズビューも表示されます

TYPE <identifier> : <data type name> ;
END_TYPE

の宣言 エイリアス

エイリアスは代替識別子です。

TYPE <identifier> :
UNION
    <member declaration>
END_UNION
END_TYPE

の宣言 ユニオン

ユニオンを使用すると、複数の異なるタイプのデータを同じ記憶領域に同時に格納できます。ユニオンのサイズは、ユニオンの中に含まれる最大のデータタイプのサイズと同じです。最後に書き込まれたメンバーの値は、常にメモリに一度に格納されます

連合の場合、その少なくとも2人のメンバーは UNION そして END_UNION 括弧で囲まれた。



520. 構造体の例

構造の宣言 S_POLYGONLINE メンバーの部分初期化あり

TYPE S_POLYGONLINE :
STRUCT
    aiStart : ARRAY[1..2] OF INT := [-99, -99];
    aiPoint1 : ARRAY[1..2] OF INT;
    aiPoint2 : ARRAY[1..2] OF INT;
    aiPoint3 : ARRAY[1..2] OF INT;
    aiPoint4 : ARRAY[1..2] OF INT;
    aiEnd : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE

構造の宣言 S_PENTAGON の延長として S_POLYGONLINE

TYPE S_PENTAGON EXTENDS S_POLYGONLINE :
STRUCT
    aiPoint5 : ARRAY[1..2] OF INT;
END_STRUCT
END_TYPE


521. 列挙の例

列挙の宣言 E_TRAFFICSIGNAL

{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_TRAFFICSIGNAL :
(
    eRed,
    eYellow,
    eGreen := 10
);
END_TYPE

ローカリゼーションビューでのテキストリストサポート付き列挙

_cds_enum_trafficsignal_localizationview.png

ザル _cds_img_button_textual_view.png テキストビュー_cds_img_button_tabular_view.png ローカリゼーションビュー ボタンはエディターの右端にあります。ボタンをクリックしてビューを切り替えます。



522. エイリアスの例

エイリアスの宣言

TYPE A_MESSAGE : STRING[50];
END_TYPE


523. ユニオンの例

の宣言 UNION

TYPE U_DATA :
UNION
    lrA : LREAL;
    liA : LINT;
    dwA : DWORD;
END_UNION
END_TYPE


ダイアログ: DUT を追加

ファンクション: ダイアログは新規の設定に使用されます DUT オブジェクト (データユニットタイプ)。

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

[名前]

新しいものの名前 DUT データタイプ

例: S_POLYGONLINE

31. データタイプ

構造

データ型の異なる複数の変数を 1 つの論理ユニットにまとめる構造を宣言するオブジェクトを作成します。

構造体内で宣言された変数はメンバーと呼ばれます。

例: S_POLYGONLINE

上級者向け

standard icon: 既存の構造をより多くのメンバーで拡張します

入力フィールドで、既存の構造を指定します。既存の構造のメンバーは、新しい構造で自動的に使用できるようになります。

例: S_PENTAGON

列挙

複数の整数定数を論理単位に結合する列挙を宣言するオブジェクトを作成します

列挙内で宣言された定数は、列挙値とも呼ばれます。

例: E_TRAFFICSIGNAL

列挙にはテキストリストを含めることもできます。これは列挙の値をローカライズするために使用されます。その結果、オブジェクトにはローカライズビューもあります

テキスト・リスト・サポートの追加

_cds_icon_option_deactivated.png: 追加 列挙 追加

standard icon: 追加 テキストリストをサポートする列挙 追加。テキストリストでは、列挙値の名前をローカライズできます

エイリアス

基本型、データ型、または関数ブロックの代替名を宣言するエイリアスを宣言するオブジェクトを作成します。

例: A_MESSAGE

ユニオン

ほとんど異なるデータ型を持つ複数のメンバーを 1 つの論理ユニットにまとめるユニオンを宣言するオブジェクトを作成します。

すべてのメンバーが同じオフセットを持つため、同じメモリを占有します。ユニオンのメモリ要件は、その「最大の」メンバーのメモリ要件によって決まります

例: U_DATA

追加

ダイアログを閉じて新しいオブジェクトを作成します

オブジェクトは次のように表示されます cds_icon_add_dut.png デバイスツリーまたは POU 見る。オブジェクトのテキストリストも保存されている場合、 _cds_icon_textlist_dut.png シンボルが表示されます。