-> Hier kostenlos registrieren
Ich trau' mich schon fast nicht mehr, dieses Thema noch einmal aufzugreifen...
aber nach einem fast 10- tägigen Umbau und damit verbundener Spannungsfreiheit in dem Schaltschrank, in dem mein "Problemkind" sitzt, ( die in der Strangeröffnung erwähnte CPU ) trat das Problem des CPU- Stopp heute wieder auf.
Wieder die Meldung im Diagnosepuffer: "Zugriff auf OB35 verweigert, OB35 nicht vorhanden"
- Die Adressregister habe ich, wie mir hier erklärt wurde, in NW1 des OB35 auf 2 DW (ein DW für AR1 und 1DW für AR2) gesichert. Danach führe ich meine paar Sprünge und Transfer-/ Lade- Befehle aus. Danach schreibe ich die AR zurück.
- Die Zyklusüberwachungszeit ist auf 150ms eingestellt.
Lt. s7-Hilfe ist das die Zeit, nach der das Prog. und alle Aufrufe mind. einen Zyklus durchlaufen haben müssen.
- Die kleinste Zykluszeit beträgt lt. Diagnose = 3ms ( lt. Hilfe die kürzeste Zeit eines Zyklusses seit dem letzten Start der CPU)
- die größte Zykluszeit = 6ms ( lt. Hilfe die max. Zeit eines Zyklusses seit dem letzten Start der CPU ) ... so habe ich zumindest die Hilfe verstanden
- der OB 35 wird alle 50 ms aufgerufen (die paar Befehle können doch nicht 50ms überschreiten, so daß der eine OB35 Aufruf noch nicht fertig ist, während der 2. Aufruf schon folgt ????
)
- bei der Diagnose der Stacks kam die Meldung " Inkosistenz, ... " und irgendwas mit gelöscht.
Die CPU war zu diesem Zeitpunkt gestoppt. Ich hatte nichts gelöscht, vor dem CPU- Stopp im Programm nur in FC 5,7, 20 und DB 20 geändert.
All diese Änderungen haben mit dem OB35 und dem DB1 (in den schreibt der OB35 ) meiner Meinung nach erstmal nichts zu tun.
Vor dem CPU- Stopp habe ich das komplette Anwenderprog. auf die Speicherkarte geschrieben.
Ich verstehe nicht, wieso dieses Problem so sporadisch auftritt.
Wie kann man an die Lösung herangehen ?
- den OB35 nur alle 100ms aufrufen ? (Das wäre für meine Anwendung schon etwas grenzwertig, da ich ja dann den Zähler in einer Sekunde nur 10x aktualisieren würde. Das wäre mir schon fast etwas zu ungenau für meine Anwendung)
- die Zyklusüberwachungszeit erhöhen ?? (wobei ich schon 150ms aus oben geschriebenen (min-, max.Zykl.-) Zeiten für mich für ausreichend befinden würde)
Ist ein Firmware-Update (wie hier schon vorgeschlagen wurde) eventl. eine Lösung für das nervige Problem ? Wenn ja, kann mir eventl. jemand einen Link oder eine Anleitung senden ? Ich habe das für s7-CPU's bisher noch nie gemacht.
Ich hätte in der Zwischenzeit gern auf den OB35 verzichtet und den Spaß Taktmerker- gesteuert aufgerufen. Dabei habe ich aber das Problem, daß jeder Zähl"impuls" zyklusabhängig ist und die Abweichung der vorherigen Position von der nächsten bis zu 45cm unterschiedlich wird.
PS.: "Zugriff auf OB35 verweigert, OB35 nicht vorhanden" <= diese Fehlermeldung ist noch verwirrender als gar keine Fehlermeldung. Der OB35 ist definitiv online beobachtbar. Ich gehe also davon aus, daß er dann auch in der CPU aufgerufen wird.
aber nach einem fast 10- tägigen Umbau und damit verbundener Spannungsfreiheit in dem Schaltschrank, in dem mein "Problemkind" sitzt, ( die in der Strangeröffnung erwähnte CPU ) trat das Problem des CPU- Stopp heute wieder auf.
Wieder die Meldung im Diagnosepuffer: "Zugriff auf OB35 verweigert, OB35 nicht vorhanden"
- Die Adressregister habe ich, wie mir hier erklärt wurde, in NW1 des OB35 auf 2 DW (ein DW für AR1 und 1DW für AR2) gesichert. Danach führe ich meine paar Sprünge und Transfer-/ Lade- Befehle aus. Danach schreibe ich die AR zurück.
- Die Zyklusüberwachungszeit ist auf 150ms eingestellt.
Lt. s7-Hilfe ist das die Zeit, nach der das Prog. und alle Aufrufe mind. einen Zyklus durchlaufen haben müssen.
- Die kleinste Zykluszeit beträgt lt. Diagnose = 3ms ( lt. Hilfe die kürzeste Zeit eines Zyklusses seit dem letzten Start der CPU)
- die größte Zykluszeit = 6ms ( lt. Hilfe die max. Zeit eines Zyklusses seit dem letzten Start der CPU ) ... so habe ich zumindest die Hilfe verstanden

- der OB 35 wird alle 50 ms aufgerufen (die paar Befehle können doch nicht 50ms überschreiten, so daß der eine OB35 Aufruf noch nicht fertig ist, während der 2. Aufruf schon folgt ????

- bei der Diagnose der Stacks kam die Meldung " Inkosistenz, ... " und irgendwas mit gelöscht.
Die CPU war zu diesem Zeitpunkt gestoppt. Ich hatte nichts gelöscht, vor dem CPU- Stopp im Programm nur in FC 5,7, 20 und DB 20 geändert.
All diese Änderungen haben mit dem OB35 und dem DB1 (in den schreibt der OB35 ) meiner Meinung nach erstmal nichts zu tun.
Vor dem CPU- Stopp habe ich das komplette Anwenderprog. auf die Speicherkarte geschrieben.
Ich verstehe nicht, wieso dieses Problem so sporadisch auftritt.
Wie kann man an die Lösung herangehen ?
- den OB35 nur alle 100ms aufrufen ? (Das wäre für meine Anwendung schon etwas grenzwertig, da ich ja dann den Zähler in einer Sekunde nur 10x aktualisieren würde. Das wäre mir schon fast etwas zu ungenau für meine Anwendung)
- die Zyklusüberwachungszeit erhöhen ?? (wobei ich schon 150ms aus oben geschriebenen (min-, max.Zykl.-) Zeiten für mich für ausreichend befinden würde)
Ist ein Firmware-Update (wie hier schon vorgeschlagen wurde) eventl. eine Lösung für das nervige Problem ? Wenn ja, kann mir eventl. jemand einen Link oder eine Anleitung senden ? Ich habe das für s7-CPU's bisher noch nie gemacht.
Ich hätte in der Zwischenzeit gern auf den OB35 verzichtet und den Spaß Taktmerker- gesteuert aufgerufen. Dabei habe ich aber das Problem, daß jeder Zähl"impuls" zyklusabhängig ist und die Abweichung der vorherigen Position von der nächsten bis zu 45cm unterschiedlich wird.
PS.: "Zugriff auf OB35 verweigert, OB35 nicht vorhanden" <= diese Fehlermeldung ist noch verwirrender als gar keine Fehlermeldung. Der OB35 ist definitiv online beobachtbar. Ich gehe also davon aus, daß er dann auch in der CPU aufgerufen wird.