2017-05-26 99 views

答えて

1

あなたが与えたC++の例は、関数内でstructを定義しているところです。 IEC61131の同等の構成要素は、function blockとなります。あなたは、機能ブロック

FUNCTION_BLOCK SampleFunctionBlock 
VAR_INPUT 
END_VAR 
VAR_OUTPUT 
END_VAR 
VAR 
    internalBlockStruct:SampleStruct:=(One:=1,Two:=2,Three:=3); 
END_VAR 

structを初期化し、機能ブロックコードでこのstructを使用することができます。同じ構文を使用したい場合は、structpouに初期化することもできます。参照用

これはノート

TYPE SampleStruct : STRUCT One:INT; Two:INT; Three:INT; END_STRUCT END_TYPE

私の構造体である:私が与えた例はCodesys構文を使用しています。ほとんどのIEC61131言語は非常にシンプルな構文を持っています。

1

構造体変数に構造体宣言でデフォルト値を追加できます。また、変数宣言で異なる値を持つ変数を初期化することもできます。いくつかのブロックに

TYPE ST_Test : 
STRUCT 
    One  : INT := 123; 
    Two  : REAL := 4567.5; 
    Three : STRING := 'Hello'; 
END_STRUCT 
END_TYPE 

VAR 
    //Original default values 
    TestOriginalValues : ST_Test; 
    //Own initialization values 
    TestOtherValues  : ST_Test := (One:=555, Two:=678.5, Three:='Whats up'); 
END_VAR 
関連する問題