Step 7 Byte Eingabe im Merker ???

Legosteine

Level-1
Beiträge
24
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Byte Eingabe im Merker ??? SCL

Guten Morgen SPS Forum,


meine frage ist folgende. Ich möchte über einen Merker den Eingabe Byte Type ändern.
Also das ich von EB124 immer die Zahl im Merker ändern kann.
Code:
Var
tempByte:Byte;
SichtAufBit AT tempByte: Array [0..7] of Bool;
END_Var




tempByte:= EB124;
SichtAufBit[0]:=SichtAufBit[0];
 
Zuletzt bearbeitet:
Hallo,
ich weiß nicht, ob ich dich richtig verstanden habe ... aber hier mal ein Beispiel :
Code:
Var
tempByte:Byte;
SichtAufBit AT tempByte: Array [0..7] of Bool;
END_Var


if SichtAufBit[0] =True then 
; // tue hier was du tun möchtest
elsif SichtAufBit[1] =True then 
; // tue hier was du tun möchtest
elsif SichtAufBit[2] =True then 
; // tue hier was du tun möchtest
end_if ;

Falls es das jetzt nicht war dann bitte ich dich, deine Frage noch einmal etwas genauer zu formulieren ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Falls es das jetzt nicht war dann bitte ich dich, deine Frage noch einmal etwas genauer zu formulieren ...
Ich vermute, er will die 124 von EB124 variabel machen.

Also wie in AWL mit Pointer:
Code:
[FONT=Courier New]L    124
SLD   3
LAR1

L    EB [AR1, P#0.0]
...[/FONT]


PS: Hab' mal selbst im SCL-Guide geblättert. Das wäre dann:
Code:
[FONT=courier new][/FONT]VAR   ...
   STATUSWORT3 : BYTE ;
   STATUSWORT4 : BOOL ;
   ADRESSE : INT ;
END_VAR

BEGIN
   ...
   // Zuweisung eines Eingangsbytes an eine Variable   // (indizierter Zugriff)
   STATUSWORT3 := EB[ADRESSE] ;

   // Zuweisung eines Eingangsbits an eine Variable
   // (indizierter Zugriff)
   FOR ADRESSE := 0 TO 7 BY 1 DO
      STATUSWORT4 := e[1, ADRESSE] ;
   END_FOR ;
 
Zuletzt bearbeitet:
Erstmal vielen Dank für die Antworten.

Folgendes:
Ich möchte im "S7-PLCSIM Simulating Modules" nachher ein Merker mit der Bezeichnung (z.B) MW10 haben. Hier mochte ich einen Eingangs Byte eingeben können (EB)124 oder (EB)4 je nach dem Welche Byte die Eingangs-karten hat. Ist der Byte eingeben kann ich alle Eingangs Bits am Byte schalten.(MW10 mit dem Wert 124 dann kann ich 124.0 bis 124.7 Manual schalten, gebe ich 100 ein dann kann ich 100.0 bis 100.7 Schalten und so weiter.

...oder vielleicht kurz erklärt im MW10 kann ich nicht EB124 eingeben (das ist mir bewusst). aber die Anwundung SCL muss EB vor der Zahl stehen haben, sonst lauft der Quell Codec nicht ab.

Eine Antwort in SCL wurde ich mich sehr freuen, ich nehme auch AWL im Notfall
 
Welche SCL Guide nimmst du??? Gibt es Bücher die Ihr empfehlen könnt.
Ich meine hucki hat mir die Lösung geben. Werde ich mal heute Abend noch Testen. Werde mich dann melden.

Was ist mit ADR SSE gemeint ???:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
aber die Anwundung SCL muss EB vor der Zahl stehen haben, sonst lauft der Quell Codec nicht ab.
Trotzdem kannst Du die 124 variabel gestalten

Code:
[FONT=courier new]Var
   ByteAdresse: INT;
   tempByte:Byte;
   SichtAufBit AT tempByte: Array [0..7] of Bool;
END_Var

   ByteAdresse := 124;
   tempByte:= EB[ByteAdresse];

   IF SichtAufBit[0] THEN
      ...;
   END_IF[/FONT]
 
Hab deine Bearbeitung von deiner Antwort erst später geshen ^^ Es Funktioniert, danke
Trotzdem kannst Du die 124 variabel gestalten

Code:
[FONT=courier new]Var
   ByteAdresse: INT;
   tempByte:Byte;
   SichtAufBit AT tempByte: Array [0..7] of Bool;
END_Var

   ByteAdresse := 124;
   tempByte:= EB[ByteAdresse];

   IF SichtAufBit[0] THEN
      ...;
   END_IF[/FONT]
 
Zurück
Oben