Autor Thema: "TYPE" und "STRUCT" in ST  (Gelesen 14130 mal)

Offline Bertel

  • Newbie
  • *
  • Beiträge: 11
"TYPE" und "STRUCT" in ST
« am: November 09, 2008, 00:31:22 Vormittag »
Hallo Freunde! :)

Ich sitze hier schon seit Stunden an einem Problem und komme nicht weiter.

Folgendes Beispiel aus einem Buch versuche ich in meiner CoDeSys zum laufen zu bringen:
Beispiel für Anweisungen vom Type Zuweisung:

TYPE mulvar: STRUCT var1:INT; var2:REAL; END_STRUCT; END_TYPE

VAR
  d:  INT;
  e: ARRAY [0..9] OF INT;
  f: REAL;
  g: mulvar (var1:=10, var2:= 2.3);
  h: mulvar;
END_VAR

d := 10
e[0] := d**2; h:= g;
d := REAL_TO_INT(f);

Wo genau muss TYPE und STRUCT im Programm stehen bei mir funktioniert das nämlich nicht.
Über ein kleines kurzes Beispielprogramm würde ich mich freuen.

Dank euch schon mal im voraus!

Gruß
Bertel

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Re: "TYPE" und "STRUCT" in ST
« Antwort #1 am: November 09, 2008, 15:02:59 Nachmittag »
Hallo Bertel,

zunächst musst du neue Strukturen in der betreffenden Lasche konfigurieren, hierzu verwende bitte die 2. Lasche Datentypen.

TYPE mulvar :
STRUCT
   var1:INT;
   var2:REAL;
END_STRUCT
END_TYPE

Die Variablen werden dann im Programm (lokal) oder global deklariert:
PROGRAM PLC_PRG
VAR
  d: INT;
  e:ARRAY [0..9] OF INT;
  f: REAL;
  g:mulvar:=(var1:=10,var2:=2.3);
  h:mulvar;
END_VAR

Hier ein fehlerfreies Programm:
d:=10;
e[0]:=d*2;
h:= g;
d:= REAL_TO_INT(f);

Sofern du mit dem ** beabsichtigst zu potenzieren sieht das Programm wie folgt aus:
d:=10;
e[0]:=REAL_TO_INT(EXPT(d,2));
h:= g;
d:= REAL_TO_INT(f);

Ich hänge Dir mein Programm mal an.

 :) ;) :D
Gruß Paul

Offline Bertel

  • Newbie
  • *
  • Beiträge: 11
Re: "TYPE" und "STRUCT" in ST
« Antwort #2 am: November 09, 2008, 16:09:38 Nachmittag »
 :) :) :) :) :) :) :)

Danke, Danke, Danke!

Es ist so Logisch und einfach, dennoch wäre ich ohne Deine Hilfe nicht weiter gekommen.

Weder im Buch (das ich Lese) noch über die CoDeSys Hilfe wurde darüber Auskunft gegeben.
Schade eigentlich!

Ich Danke Dir für Deine Mühe!

Gruß
Bertel

 ;)