Probleme beim Uhrzeitstellen der CPU über ein OP

pfloh

Level-1
Beiträge
63
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bräuchte da mal einen Tipp, ich habe eine CPU 313 und ein OP77A über MPI miteinander verbunden. Nun möchte ich, da die CPU keine Echtzeit besitzt, die CPU Uhr mit dem OP schreiben können. Dazu kann ich die Uhrzeit vom OP mit einen Datum/Uhrzeit Feld stellen. Die Uhrzeit von der CPU schreibe ich über die Berreichszeiger. Dafür habe ich in einem Datenbaustein eine Variable des Typs Date_and_Time plus 4reserve Bytes angelegt. Im Bereichszeiger verweise ich auf diese Variable. Allerdings kann ich den Erfassungszyklus nicht verändern, er ist grau hinterlegt und steht auf undefiniert. Somit wird die Uhrzeit der CPU nie verändert.
Zweites Problem, ich will ein Uhrzeitstellen vom OP aus "erzwingen". Ich vergleiche das Datum der CPU , welches ja eigendlich das Datum vom OP ist (s.oben), auf kleiner als mit einen Wert der für 2005 steht und setzt ein Bit mit dem Ergebnis. Dieses Bit frage ich im OP ab und stelle unter Ereignis einen Bildaufruf ein, der mir ein Bild zum Uhrzeiteinstellen aufruft. Das Bit wird gesetzt aber das Bild erscheint nicht???
HILFE!
 
Hallo,
die Uhrzeit der SPS wird auch nicht automatisch geändert. Du mußt in der SPS den von dir schon genannten Bereichszeiger aufgreifen und dann mit dem SFC0 (Set_Clock) diesen Wert in die Systemuhr übertragen.
Am Besten erstellst du dir noch zusätzlich ein Steuerbit im Bediengerät, dass du in der SPS als Trigger für die Set-Clock-Funktion benutzt.

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK, danke soweit. Aber kannst du mir auch sagen woran es liegen könnte, dass mein Bild am OP nicht aufgerufen wird. Wenn ich mir das Programm online ansehe, wird das Bit gesetzt. Beim OP regt sich allerdings nichts.
 
Wie wird denn die Bit-Variable aktualisiert ? Du mußt die Eigenschaft auf "zyklisch fortlaufend" stellen ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, das mit der Uhrzeit der CPU stellen vom OP aus funktioniert jetzt. Hatte das mit dem Bereichszeiger falsch verstanden. Danke soweit.
Ich kann aber immernoch nicht das Bild über mein Bit aufrufen. I ch gehe wie folgt vor, ich habe unter WinCC flexible eine Variable deklariert als Typ Bool. Den erfassungszyklus habe ich auf 500ms eibgestellt. Unter Ereignisse der Variable habe ich bei Wertänderung aktiviere Bild eingestellt und dann das gewünschte Bild benannt. Ich kann in der Runtime der SPS sehen, dass sich der Wert des Bits verändert. Es erscheint aber kein Bild auf dem OP.
Für einen weiteren Tipp wäre ich sehr dankbar.
Gruß pfloh!
 
Ich kann in der Runtime der SPS sehen, dass sich der Wert des Bits verändert. Es erscheint aber kein Bild auf dem OP.
Hallo,
wo siehst du das ? In der Runtime der SPS heißt "im Programm-Status" oder ?
Hast du meinen Tip mit der Aktualisierung "Zyklisch fortlaufend" statt "zyklisch bei Verwendung" befolgt ?

Gruß
LL
 
Wahnsinn, es funktioniert!!
Wusste nicht genau wo ich das Zyklisch fortlaufend einstellen muss. Habe es dann aber unter Allgeimein Erfassungsart gefunden. UNd siehe da es läuft. Vielen Dank für die Gedult. Aber kannst du mir jetzt auch noch den unterschied zwischen Zyklisch fortlaufend und Zyklisch bei Verwendung erklären??
Danke pfloh
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Na klar ...
grundsätzlich werden Variablen von der Visu nur aktualisiert, wenn sie gebraucht werden (z.B. als Animations-Elemente auf dem Bildschirm). Dieser Betrieb ist "zyklisch bei Verwendung".

Möchtest du allerdings, dass eine Variable immer von der Visu abgefragt wird (z.B. wie in diesem Fall), dann setzt du sie auf den Modus "zyklisch fortlaufend".

Es gibt noch einen 3. Modus, davon habe ich jetzt aber den genauen Namen nicht parat. Dieser aktualisiert die Variable nur einmal beim Aufbau der Bildschirmseite, wenn sie darauf verwendet wird. Das kann man z.B. für Parameter oder Grenzwerte hernehmen ...

Gruß
LL
 
Zurück
Oben