Boolschen Array mit einem Bool auf True setzen bzw. auf False setzen

Step7Neuling

Level-2
Beiträge
226
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe eine Bool Array Var. , diese besteht aus 90 Boolschen Werten, es sind eine Art Schalter....ist es möglich , dies z.B. über eine SEL Funktion kompl. auf
einmal mit 0 bzw. 1 zu überschreiben?

Wenn ja , wie muss ich vorgehen ?
Würde dies gerne in FUP machen, oder es hat für jemand eine ST Anweisung???

Ich danke euch.

Grüße
Step7N
 
- in einer Schleife jedem Array-Element FALSE zuweisen
- ein anderes Array (mit alles FALSE) auf das Array kopieren
- eine MemSet- oder Fill-Funktion benutzen, falls es für die Steuerung eine solche Funktion gibt
- eine Reset-Funktion zufügen, da wo die Array-Elemente bisher bearbeitet werden

Wie kommst Du auf die SEL-Funktion? Das ist eine ziemlich umständliche Variante, MOVE wäre wohl einfacher.
Was ist eigentlich "eine Art Schalter"?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In FUP (dieser seltsamen Malsprache) ist SEL ja die einzige Möglichkeit, eine Art IF-Bedingung zu implementieren....wenn Step7N also noch nicht viel Erfahrung in ST hat, wirds wohl daran liegen.
 
naja ich muss ja das alles so machen, das es jeder lesen kann.
Nicht jeder kann ST.

In ST wäre es wohl das einfachste, aber ich würde halt gerne wissen, wie es in FUP geht.
Aber mit der Schleife ist es wohl die bequemste Art.
 
Aber mit der Schleife ist es wohl die bequemste Art.
- ein anderes Array (mit alles FALSE bzw. TRUE) auf das Array kopieren
Ich würde diesen Vorschlag von Harald für am Bequemsten Halten, da es sich um eine einzige Zuweisung handelt.
Die beiden Arrays mit alles TRUE bzw. FALSE werden ja nur einmal beim Programmieren eingerichtet.
Die Schleife müsste jedes Mal durchlaufen werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
such mal in oscat.de da geht es mit pointer zum array.
wenn die variabelen alle unterschieldiche nahmen haben ja leider dan muss es in regeln gemacht werden.
mann kan auch schreiben aus:=AND(eingang,NOT test) fur null
und aus1:=OR(eingang,test) fur eins.
dan brauchst du nur einen bit zu setzen um alle eingange zu setzen.
ich benutzte dies fur eine testknopf um zu sehen ob alle warnlampen functionieren.
 
Wenn es ein Array ist und du nicht extra noch zwei Array erstellen willst, dann mache es doch so:
Code:
FOR Counter := 1 TO 90 BY 1 DO
          Testarray[Counter] := TRUE; // oder FALSE;
END_FOR
 
Zurück
Oben