SlimLine Raspberry-Schnittstellenplatine

das Modul SlimLine Raspberry-based ist mit einer prozessorbasierten Interface-Platine ausgestattet Cortex. Auf der Platine befindet sich neben der Stromversorgungsschaltung die Schnittstelle zum Erweiterungsbus, eine komplexe Watchdog-Controller-Schaltung und die Möglichkeit, unsere RS485- oder CAN-Module oder alternativ einige zu montieren mikroBUS-Karten™ von MikroElektronika doo

Il watchdog controller (Im Weiteren bezeichnet als WDC) (auf Italienisch: „Supervisor Timing“) ist ein Hardware-Timing-System, das die Erkennung einer unendlichen Programmschleife oder einer Deadlock-Situation ermöglicht. Auf diese Weise können Sie Schritte unternehmen, um die Situation zu korrigieren, normalerweise durch einen System-Reset. In der Form SlimLine es hat den Zweck, die korrekte Ausführung des Programms auf dem Raspberry-CPU-Modul zu gewährleisten und es bei ungewöhnlichen Bedingungen neu zu starten.

Explosionszeichnung Form SlimLine Himbeere

Betrieb des Watchdog-Controllers

Beim Einschalten ist der WDC deaktiviert und wartet darauf, dass das Raspberry-CPU-Modul das Ready-Signal auf dem Erweiterungsbus aktiviert, wodurch die Watchdog-Steuerung durch die Definition der Steuerzeit aktiviert wird. Die Aktivierung erfolgt durch die Funktion ePhrI2cBusReady der Bibliothek libeS8CoreMng.a die das Bereitsignal auf dem Erweiterungsbus verwaltet und die Einstellung der Watchdog-Steuerzeit ermöglicht. Durch Einstellen von 0 als Überwachungszeit wird die Überwachung nicht aktiviert.

Der WDC verwaltet einen Zähler für aufeinanderfolgende Systemneustarts (im Folgenden als "Zähler" bezeichnet) RCounter), die Funktion ePhrI2cBusReady es gibt seinen Wert zurück, 0, wenn es zum ersten Mal eingeschaltet wird. In Programmen entwickelt mit LogicLab beim Start des Anwenderprogramms wird die Funktion automatisch ausgeführt ePhrI2cBusReady. Diejenigen, die das Programm mit ihrer eigenen Sprache (C ++, Phyton, Node.js usw.) entwickeln, müssen sie aufrufen.

Bei aktivem Ready-Signal auf dem Erweiterungsbus prüft der WDC, ob die CPU innerhalb der eingestellten Steuerzeit einen Refresh-Befehl ausführt. In Programmen entwickelt mit LogicLab Die Aktualisierung des WDC wird automatisch bei jeder Ausführung der Hintergrundaufgabe durchgeführt. Diejenigen, die das Programm in ihrer eigenen Sprache entwickeln, müssen die Aktualisierung mit der Funktion verwalten eWDogRefresh.

Wenn die CPU in eine Endlos-Programmschleife oder in eine Deadlock-Situation eintritt, empfängt der WDC die Aktualisierung nicht innerhalb der Steuerzeit und befiehlt dem CPU-Modul einen Reset, was zu einer Erhöhung von . führt RCounter und Neustart des Programms. Beim Neustart führt das Programm die Funktion aus ePhrI2cBusReady was den Wert von zurückgibt RCounter (1 beim ersten Neustart, 2 beim zweiten und so weiter). In Programmen entwickelt mit LogicLab beim dritten Neustart in Folge wird die Programmausführung gestoppt. Diejenigen, die das Programm mit ihrer eigenen Sprache entwickeln, müssen die Veranstaltung verwalten.

Wenn beim Neustart des Programms die anomale Bedingung, die das Eingreifen des WDC die Bibliothek ist verschwunden (Beispiel aufgrund einer Störung) libeS8CoreMng.a automatisch nach 5 Minuten des regulären Betriebs, um den Wert von zurückzusetzen RCounter. Wenn der Wert von RCounter il WDC Beim zehnten Neustart in Folge wird die Watchdog-Steuerung deaktiviert.

Watchdog-Controller verwenden

Tritt die CPU in eine Endlos-Programmschleife oder in eine Deadlock-Situation ein, setzt der WDC die CPU zurück und startet über die Funktion neu ePhrI2cBusReady kann sowohl die Betriebsbereitschaft des Peripheriebusses als auch die Steuerung beim Neustart durch Lesen des Wertes von verwalten RCounter.

Wenn die anormale Betriebssituation behoben wurde, wird das Programm normal und nach 5 Minuten regulären Betriebs neu gestartet RCounter wird zurückgesetzt. Wenn das Programm hingegen nicht neu startet, wird die Funktion nicht ausgeführt ePhrI2cBusReady und nach 10 aufeinanderfolgenden Neustarts setzt der WDC das CPU-Modul nicht mehr zurück. Wenn das Betriebssystem aktiv ist, kann auf diese Weise über SSH auf das System zugegriffen werden, indem das Programm entsprechend überprüft wird, um den regulären Betrieb wiederherzustellen.

Board-Firmware-Update

Wie wir gesehen haben, basiert die Schnittstellenkarte auf einem Prozessor mit eigener Firmware (SFW203xxxx), daher muss die Firmware aktualisiert werden, um neue Funktionen zu implementieren oder Fehler zu beheben. Mal sehen, wie das Update durchgeführt wird.

  • Geben Sie ein USB / Seriell-Konverter in den USB-Anschluss des Raspberry-Moduls und verbinden es mit einem Null-Modem-Kabel mit der seriellen Schnittstelle des PCs.
  • Ausführen Toolly, aktivieren Sie das Dienstprogramm Devices->Firmware Updater Definieren Sie den COM-Port, mit dem Sie verbunden sind und wählen Sie die zu übertragende Firmware aus, drücken Sie die Taste Send.
  • Mach es an SlimLine und warte, bis es startet.
  • Verbinden Sie sich in SSH mit dem Raspberry-Modul, stoppen Sie alle Prozesse, die das Schnittstellenmodul verwenden (Beispiel run time LogicLab und CODESYS) und führen Sie den Befehl aus: sudo /opt/elsist/utils/eS8CoProXConn -u.
  • Das Dienstprogramm Updater di Toolly es führt die Aktualisierung durch, nach der das Modul aus- und wieder eingeschaltet werden muss, damit es betriebsbereit ist.
Screenshot Toolly MPS055 Updater
War dieser Artikel hilfreich?