ZottelMD
Level-2
- Beiträge
- 87
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
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.
Also HMI und Programm laufen nicht synchron. Das sind beides eigene Prozesse.Auf was soll ich zyklisch fortlaufend denn setzen? Das ist z. B. eine Einstellung, wo mir die Erfahrung und das Verständnis fehlt. Intuitiv erwarte ich bei zyklisch fortlaufend, eine Kommunikation in jedem Zyklus des Programms (also OB1 ???). Keine Ahnung, warum man bei zyklisch fortlaufend Zeiten auswählen kann. Das klingt für mich eh wie ein Paradoxon. Fortlaufend ist ebennicht diskret, man soll aber eine diskrete Zeit auswählen. Keine Ahnung, warum ich 500 ms wähle.
Die Standardeinstellung ist 1 s.
Noch eine Idee:
du verwendest ein "ActionByte" zum Triggern diverser Scripts.
Wenn nun eines der Scripts, welche eventuell ja alle auf das ActionByte lauschen (aber dann nur bei einem bestimmten Bit was tun) hängt, weil da irgendein Fehler drin ist, Dann kommt dein momentan getestetes Script nicht zum Zug, weil es zwar auf dem Script Stack liegt, aber eben noch nicht dran ist.
Es wird immer nur ein Script nach dem anderen abgearbeitet!
Somit meinst Du, dass dein Script nicht getriggert wird. In Wirklichkeit liegt es aber auf dem Stack und kommt einfach nicht dran...
Vielleicht probierst Du mal eine neu deklarierte Variable rein zum Triggern dieses einen Scriptes?
Grüße
Und? Nun erzähl auch, woran es lag...![]()
Variablen-Aktualisierung in WinCC Comfort/Advanced: In der HMI werden HMI-Variablen verwendet. Das sind entweder HMI-interne Variablen (die sind immer aktualisiert, weil in der HMI), oder sie sind Kopien von externen PLC-Variablen, die in PLC liegen. Nun müssen die Werte der HMI-Variablen mit den Werten der verbundenen PLC-Variablen synchronisiert werden - das Erfassen/Lesen der PLC-Variablen und die Werte den verbundenen HMI-Variablen zuweisen nennt man Aktualisieren. Aus Performance-Gründen werden mit externen PLC-Variablen verbundene HMI-Variablen nur aktualisiert, solange die HMI-Variable auch verwendet wird. (Wozu die Werte von Variablen zyklisch lesen, wenn sie im aktuellen Bild eh nicht verwendet/angezeigt werden? Das würde nur die Kommunikation sinnlos belasten.) Diese Aktualisierung "nur bei Bedarf" nennt Siemens "Zyklisch im Betrieb". Will man die Wertänderung einer PLC-Variable auch mitkriegen, wenn die verbundene HMI-Variable nicht im Bild verwendet wird, dann muß man deren Erfassungsart auf "Zyklisch fortlaufend" einstellen. Dann wird die WinCC RT diese Variablen auch aktualisieren wenn sie nicht offensichtlich verwendet werden. Es wäre nun allerdings nicht hilfreich für die Performance der HMI, wenn man nun sehr viele Variablen auf "Zyklisch fortlaufend" einstellt... also auf die unbedingt notwendigen Variablen beschränken.
siehe auch die TIA Hilfe "Aktualisieren des Variablenwerts in Runtime"
Harald
Also HMI und Programm laufen nicht synchron. Das sind beides eigene Prozesse.
Smit mußt Du die auch getrennt betrachten.
SPS läuft mit seinen Einstellungen. - auch ohne HMI.
HMI läuft mit seinen Einstellungen - und holt sich zyklisch die Daten von der SPS.
Dabei heißt zyklisch: In dem Abstand, den Du zeitlich eingestellt hast: 1s, 500ms, 100ms.
Die Alternative zu zyklisch ist: Nur bei Bedarf. Also bei Verwendung: Es werden im Normalfall immer nur die Variablen abgefragt (neben Alarmen und Bereichszeigern), die auch im Bild angezeigt werden. Um eben nicht 3000 Variablen abzufragen, während nur 10 für den Betrachter von Interesse sind. Hier wird der Zyklus, in dem sie abgefragt werden, im Bild eingestellt, für alle im Bild verwendeten Variablen.
Daher werden Variablen, die nirgendwo angezeigt werden (und z.B. nur in Skripten verwendet werden) auch nicht aktualisiert. Deshalb gibt es die Funktion "Variable aktualisieren". Die Variable wird eben nicht fortlaufend abgefragt, sondern nur auf Anforderung.
Und daher auch der Vorschlag in einem vorhergehenden Post, die Variable mal in einem Ausgabefeld anzuzeigen.
1s ist erst einmal Standard, weil das ausreichend schnell (in der Regel) für eine Anzeige am Bildschirm ist.
Und zeitkritsch heißt dann in diesem Zusammenhang z.B. daß Du im Panel eine Archivierung machen würdest, die schneller als 1s aufzeichnen soll.
Hab ich mich vorhin schon gefragt: Die Variable ist doch vermutlich das ganze Wort. Wenn sich da ein Bit drin ändert, hat sich der Wert der Variablen geändert. Das bedeutet doch, daß alls Scripte getriggert werden, die an der Variable hängen und nicht nur das eine, das auf ein bestimmtes Bit hört!? Das Bit kann ich doch erst im Script auswerten. Oder täusche ich mich da gerade? Hab gerade kein TIA laufen...
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