-> Hier kostenlos registrieren
Ein Array hätte ich auch vorgezogen. Aber wenn man dann doch tatsächlich mal das Array erweitert, muss man noch dran denken die for-Schleife zu erweitern.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
// 1000 Fehlermeldungen auswerten ( min eine steht an )
fehlerStehtAn := FALSE;
FOR i := 1 TO 1000 DO
IF Fehlermeldung THEN
fehlerStehtAn := TRUE;
EXIT;
END_IF;
END_FOR;
Ich neige auch dazu, die Aktion auf mehrere Zyklen zu verteilen. Allerdings weiss man dann in keinem einzigen Zyklus mehr, ob das Ergebnis noch bzw. schon aktuell ist - leider. Aber vielleicht muss man das auch gar nicht wirklich wissen. Ob eine SammelMeldung für den Bediener am Panel evtl. sagen wir mal 4 oder 8 Zyklen "zu spät" angezeigt wird ... wen interessiert's?Noch eine Idee dazu: Du könntest, wenn du wirklich so viele Daten hast, die Bearbeitung auf mehrere Zyklen aufsplitten. Dann wäre die Auswirkung auf deinen Zyklus nicht so hoch - natürlich aber auch nicht in jedem Zyklus die Daten aktuell.
Gibt es da nichts besseres um ein Array of Bool auszuwerten? Bei meiner 1500er ET200SP CPU verlängert dies die Zykluszeit deutlich.Code:// 1000 Fehlermeldungen auswerten ( min eine steht an ) fehlerStehtAn := FALSE; FOR i := 1 TO 1000 DO IF Fehlermeldung[I] THEN fehlerStehtAn := TRUE; EXIT; END_IF; END_FOR;
Daher die Frage an den TEWieviel ist eine "deutliche" Zykluszeitverlängerung? 1000 Bits in einer Schleife abfragen sollte einer 1500 CPU nicht wirklich was ausmachen.
Harald
Das verstehe ich mal wieder nicht: mit DINT und Vergleichen auf >0 erschlägt man nur die 31 Bits 0..30, aber auch nur, solange das Bit 31 brav auf 0 bleibt. Warum nicht einfach auf <>0 vergleichen?... dann würde ich da auch einfach auf >0 vergleichen.
mit DINT erschlägst du da 32 Bit auf einmal, wenn du mehr wie 32 Bitmeldungen hast dann halt das noch mal für die nächsten 32 Bit.
AT oder Serialize kann man nehmen, wenn man die langsamste Variante wählen will.Wäre mal interessant zu wissen ob diese Anweisungen schneller sind (AT meiner Meinung nach am ehesten). Serialize würde es auch noch geben.
Der TE beteiligt sich hier schon seit zwei Wochen nicht mehr...Daher die Frage an den TE![]()
Kann ich verstehen. Sooo viele Beiträge und die soll man auch noch alle durcharbeiten?Der TE beteiligt sich hier schon seit zwei Wochen nicht mehr...
Ich hab jetzt nicht alles gelesen
Stimmt, in Beitrag #25, das war ja gar nicht der TEDer TE beteiligt sich hier schon seit zwei Wochen nicht mehr...
Harald
Ja, das Thema hatte wir kürzlich (aber wo? ach ja, das war doch auch schon dieser Thread!vtl scho mal geschrieben habe ich aber gerade nicht gefunde. Evtl den Störmeldebereich nochmal im Temp Deklarieren und dann einfach auf Ungleich Vergleichen.
Tia Schaft es ja jetzt in Optimierten Fc Fb den Temp mit null zu initiallisieren.
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen