2016-12-24 27 views
0

オムロンのソフトウェアであるCx-programmerでプログラミングするための構造化テキストを学習しています。Cxプログラマー - 構造化テキスト、配列代入

これは配列の宣言(内部でi」は周りを見回しましたが、私は、配列に複数の要素を割り当てるための方法を見つけることができない、 私はこのsoluionを試してみたが、それは動作しません、

変数):INTの

Name    Data type Initial value 
SenCheck_Array  BOOL[8]  FALSE  
SEN     INT[2]  0   

アレイ:BOOLの

 SEN[1...2]:=[1,2]; 

アレイ:

 SenCheck_Array[0...7] := [ S_LF,S_LS,S_LH2O,S_LO,S_Col ,S_BAR,S_TAP,S_ET ] ; 

誤差は同じである:

​​

iが単独の要素を割り当てることでsucceded、私は一列に割り当てる必要があります。

すべてのヘルプはapreciatedされる:)

P.Sを:私はCXプログラマの教育版を使用しています。

Screen shot link:

+1

どの程度を 'SEN [1] = 1; SEN [2]:= 2; '?それは一つの行です。 – melpomene

+0

それは動作しますが、私のコードは明確で短くはありません – Muccagelato

+1

Cx-Programmerでは、配列を1行で初期化できません。 Sysmac Studio(Omron、新しいPLC用)、TIA Portal(Siemens)またはTwinCat3(Beckhoff)で配列を1行で初期化することができます – iulian3000

答えて

0

編集:(SCLブロックコードの宣言部を示す)この例では、シーメンスのPLCに対してのみ有効です。

値は角括弧なしでカンマで区切る必要があり、アレイ初期化する:

CONST 
    // Constants 
    S_LF := TRUE; 
    S_LS := FALSE; 
    S_LH2O := FALSE; 
    S_LO := FALSE; 
    S_Col := TRUE; 
    S_BAR := TRUE; 
    S_TAP := TRUE; 
    S_ET := TRUE; 
END_CONST 

VAR 
    // Static Variables 
    SEN: ARRAY[1..2] OF INT := 1, 2; 
    SenCheck_Array: ARRAY[0..7] OF BOOL := S_LF, S_LS, S_LH2O, S_LO, S_Col , S_BAR, S_TAP, S_ET; 
END_VAR 
+0

ええと、あなたのソリューションを試しましたが、cx-programmer構造化テキストはあなたのスケッチとは少し違います。例えば、私はS_LS、S_LFなどに値を代入することはできません。なぜなら、それらは関数ブロック内の入力変数ですからです。私はプログラムの前にタグとして配列と他の変数を宣言しなければなりません... – Muccagelato

+0

VARとARRAYはサポートされていないキーワードなので、スケッチ内の変数を宣言することはできません... – Muccagelato

+0

Omronの特定のドキュメント構造化されたテキストは製造元によって異なる場合があります。 基本的に、コンパイル時に入力変数の内容が不明であるため、コンパイラはどのように入力変数を使用して配列を初期化しますか。 – dergroncki

関連する問題