Hallo,
ich habe hier ein Projekt, wo zwei Servomotoren zwei Pneumatikzylinder betätigen.
Das lief bisher auch viele Tage ohne Probleme. Da aber die Zylinder bei zB. fehlender
Schmierung gern mal Probleme machen, habe ich eine Fehlerbehandlung programmiert.
Bei Schwergängigkeit gibt die Steuerung ein Fehlersignal aus, ich setze sie maximal
dreimal zurück und starte neu, dann stoppt das Programm beim nächsten Start.
Das funktioniert auch, ABER!
Immer wieder, in unregelmäßigen Abständen startet das Programm neu, ohne das ein Motorfehler auftritt.
In Zeile 244 gebe ich dann eine Meldung aus und stoppe danach testweise das Programm.
Danach würde der Watchdog normalerweise das Programm neu starten, das ist auf jeden Fall der
Auslöser.
Wie um alles in der Welt kommt das Programm ohne Motorfehler dorthin?
In Zeile 241 und 243 würde ja vorher der Fehlerstand im Eprom abgespeichert werden und beim
nächsten Start auf dem Display angezeigt werden. Das funktioniert bei simulierten Motorfehlern
einwandfrei, hier steht aber beim nächsten Start alles auf Null.
Ich weiß, das nicht so viel Kram in die ISR gehört, hab es aber nicht anders hinbekommen.
Hatte ja schon in diesem Tread angefragt:
Geschwindigkeit Schrittmotor linear verändern
Gruß Ralf
Ist ja Blöd, Nachricht zu lang!
Gruß Ralf
ich habe hier ein Projekt, wo zwei Servomotoren zwei Pneumatikzylinder betätigen.
Das lief bisher auch viele Tage ohne Probleme. Da aber die Zylinder bei zB. fehlender
Schmierung gern mal Probleme machen, habe ich eine Fehlerbehandlung programmiert.
Bei Schwergängigkeit gibt die Steuerung ein Fehlersignal aus, ich setze sie maximal
dreimal zurück und starte neu, dann stoppt das Programm beim nächsten Start.
Das funktioniert auch, ABER!
Immer wieder, in unregelmäßigen Abständen startet das Programm neu, ohne das ein Motorfehler auftritt.
In Zeile 244 gebe ich dann eine Meldung aus und stoppe danach testweise das Programm.
Danach würde der Watchdog normalerweise das Programm neu starten, das ist auf jeden Fall der
Auslöser.
Wie um alles in der Welt kommt das Programm ohne Motorfehler dorthin?
In Zeile 241 und 243 würde ja vorher der Fehlerstand im Eprom abgespeichert werden und beim
nächsten Start auf dem Display angezeigt werden. Das funktioniert bei simulierten Motorfehlern
einwandfrei, hier steht aber beim nächsten Start alles auf Null.
Ich weiß, das nicht so viel Kram in die ISR gehört, hab es aber nicht anders hinbekommen.
Hatte ja schon in diesem Tread angefragt:
Geschwindigkeit Schrittmotor linear verändern
Gruß Ralf
Ist ja Blöd, Nachricht zu lang!
Gruß Ralf