Hallo zusammen, bei einem Projekt (Fertigungsstraße) in der Ausbildung wurde einen Roboterarm (Arexx RA2 V3) verwendet. Dieser hebt einen kleinen Alu-Zylinder von einem Förderband und stellt ihn auf ein Lagerplatz. Diejenigen die das Projekt angefangen haben, sind schon seid längerem nicht mehr da und mein Ausbilder hätte jetzt gerne, dass man aus dem NOT-AUS ein NOT-Halt realisiert, so dass der Alu-Zylinder den der Roboter hat, nicht ständig rausfliegt wenn der Not-Aus gedrückt wird. Jetzt wäre meine Idee gewesen, ein Hardware Interrupt zu realisieren. Aber da stellt sich mir die Frag: laufen die Timer von dem µC (ATMEGA 64A) noch weiter während des HW-Interrupts oder bleiben die auch stehen? Gäbe es eine elgantere Lösung? Vielen Dank schonmal im vorraus. ein-azubi
Hi >laufen die Timer von dem µC (ATMEGA 64A) noch weiter während des >HW-Interrupts oder bleiben die auch stehen? Sie laufen weiter. MfG Spess
Natürlich laufen die Timer bei einem Interrupt weiter. Die einzige Ausnahme ist der Reset, wenn man den als eine spezielle Art Interrupt interpretiert. Den Not-Halt als ein externer Interrupt ist ggf. möglich, halt aber ein Problem, wenn für längere Zeit Interrupts gesperrt sind. Da müsste man dann ggf. zusätzlich den Watchdog aktiv werden lassen. Die andere Möglichkeit wäre verzögert zusätzliche unabhängig vom µC den Not-aus zu aktivieren, wenn der µC nicht prompt reagiert. Möglich wäre ggf. auch den Reset als Not-halt zu nutzen, weil sich der nicht per Software blockieren lässt. Da laufen dann aber ggf. die Timer nicht weiter.
Pass' aber auf, dass Du den NOT-Aus nicht überbrückst. Frage an Radio Eriwan: Was ist wenn, wegen eines Fehlers an Deinem Roboterarm, der NOT-Aus ausgelöst wird/wurde? Nobody ist perfect!
ein-azubi schrieb: > Gäbe es eine elgantere Lösung? Ja sehr wahrscheinlich, aber dazu müsste man vermutlich die ganze Software umschreiben... Denn wie gesagt: der Controller läuft eigentlich weiter, auch wenn ein Interrupt alles "blockiert". Und dann nach dem Not-Halt wieder reinkommen in den korrekten Ablauf, ist sicher arg lustig. Sowas realisiert man dann besser über einen Zustandsautomaten in der Hauptschleife.
:
Bearbeitet durch Moderator
Not-aus auf den höchsten Interrupt meist Ext Int. und dort dann die Timer usw stoppen oder einen Sleepmode wählen bei dem keine Timer mehr laufen.
ein-azubi schrieb: > laufen die Timer von dem µC (ATMEGA 64A) noch weiter während des > HW-Interrupts oder bleiben die auch stehen? Wie schon beschrieben: spess53 schrieb: > Sie laufen weiter. Du solltest aber für die Handlungen im Notfall weiter recherchieren! Es gibt NOT-AUS, NOT-HALT. Dafür kann eine STOPP-Kategorie von 0 bis 2 verwendet werden. Und dann gibt es auch noch NOT-START (z.B. Feuerlöschanlage). Wenn Du das komplett verstanden hast, kannst Du bei Deinem Ausbilder punkten. BTW: Die Beschreibung läuft auf eine Stopp-Kategorie 2 hinaus. Die ist z.Z. für Handlungen im Notfall nicht vorgesehen. Also: Konzept für Kategorie 1 erarbeiten.
Lothar Miller schrieb: > Sowas > realisiert man dann besser über einen Zustandsautomaten in der > Hauptschleife. Genau. Ein Mensch benötigt viele 100ms Reaktionszeit, das sind aus MC-Sicht Ewigkeiten. Eine Statemaschine hat typisch wenige 1ms Durchlaufzeit. Auch ist ein Interrupt empfindlich gegen Störungen. Z.B. hat man sich früher gewundert, warum die ersten Computer verrückt spielten, wenn Frauen sie bedienten. Ursache waren die elektrostatisch geladenen Nylonstrümpfe der Damen.
Thomas O. schrieb: > Not-aus auf den höchsten Interrupt meist Ext Int. und dort dann die > Timer usw stoppen oder einen Sleepmode wählen bei dem keine Timer mehr > laufen. Welche Handlungen bei einem Notaus zu programmieren sind, mußt Du schon dem Pflichtenheft überlassen. Es gibt keine generelle Lösung. Die Timer zu stoppen, ist meist gefährlich. Z.B. eine PWM kann dann auf 100% stehen bleiben, d.h. der Motor tourt auf volle Kraft hoch, fragt keine Endlagenschalter mehr ab und Deine Anlage ist nur noch Schrott oder ne Person tot.
Einen Timer zu stoppen ist natuerlich Quatsch. Man muss ein Notabschalt- Szenario definieren, was dann geschehen muss. Nicht einfach nichts. Ein Notabschalt- Szenario ist im Wesentlichen : Die Maschine, resp der Prozess, muss in einen sicheren Zustand gehen. Was das bedeutet kann nur der Betreiber der Maschine, des Systems, definieren. Allenfalls muessen dazu erst Sensoren abgefragt werden. Moechte man den Roboterarm einfach einfrieren, oder auf eine sichere Position fahren ? Einfrieren bedeutet nicht einfach Strom abschalten. Das waere so, wenn alles mit Schneckengetrieben laufen wuerde. Wenn der Roboter quasistatisch arbeitet. tut er aber nicht. Sondern das bedeutet, dass auf einen feste Position geregelt wird. Diese feste Position ist nicht die beim Druecken des Halt Knopfes, sondern die, die bei maximaler Bremsleistung angefahren werden kann. alles klar ?
Hi Also, ich hab hier meine Zweifel, ob der Ausbilder da in die richtige Richtung geht. Einen Not-Halt über einen Atmega64, ob mit Interrupt oder im Polling der IO ist dabei völlig wurscht, zu realisieren, halte ich nicht für Sicher. Not_Aus bedeutet ja, das Ding wird komplett ohne Rücksicht auf Verluste vom Netz getrennt. Bei einem Not Halt wird in der Regel gezielt angehalten und dann das Netz gekappt. Dabei muss aber auch dieses Vorgehen sicher sein,d. H. ist aus irgendwelchen Gründen eine entsprechende Rückmeldung, das ein sicherer Status erreicht ist, nicht gegeben, muss auch ier nach einer zu definierenden Zeit ein Abschalten der Maschine erfolgen. Nun, Ein Timer-Interrupt kann auch einen IO Interrupt kurzzeitig blockieren. Damit ist das sichere Erkennen schon mal nicht gegeben. Auch Programmtechnisch muss ja einiges angeleiert werden. Sind die Programme für die erforderlichen Bewegungen auch sicher? Hier einfach mal so eine Frage in den Raum zu stellen, ob weitere Interrupts auch abgearbeitet werden ist in diesem Fall gar nicht so wichtig. Die Frage, wie man einen sicheren Zustand vor dem Abschalten erreichen kann, sollte da mehr Beachtung fnden. Gruß oldmax
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.