Das Statusbyte RS485 ErrorCnt regelt die Kommunikation mit den RevPi I/O-Modulen. Das ist für dich dann interessant, wenn du eigene Geräte in dein System integrieren möchtest.
Die RevPi I/O-Module tauschen über eine serielle Leitung Daten mit dem RevPi Gerät aus. Elektrisch werden die Daten nach dem RS485-Standard übertragen.
Der Treiber piControl scannt beim Start und bei einem Reset, welche Erweiterungsmodule angeschlossen sind. Anschließend kommuniziert er zyklisch mit den Erweiterungsmodulen in der Reihenfolge, wie sie von links nach rechts neben dem RevPi auf der Hutschiene angeschlossen sind. Dabei liest piControl zuerst die entsprechenden Ausgabewerte aus dem Prozessabbild und schickt sie an das Erweiterungsmodul. Als Antwort bekommt das RevPi Basismodul die Eingangswerte des Erweiterungsmoduls und schreibt diese in das Prozessabbild. Diese Prozedur wiederholt sich dann mit dem nächsten Erweiterungsmodul.
Obwohl RS485 unempfindlich gegen Störungen ist kann es dennoch vorkommen, dass die Daten bei der Übertragung zwischen RevPi Gerät und I/O-Modul gestört werden. piControl hat für jedes Erweiterungsmodul einen internen Fehlerzähler. Wenn ein Übertragungsfehler aufgetreten ist, wird der Zähler erhöht. Der Maximalwert des Zählers ist 255. Sobald ein Telegramm richtig zwischen RevPi Gerät zu I/O-Modul und zurück übertragen wurde, wird der Zähler wieder auf 0 gesetzt. Der erste Fehler wird ignoriert, d.h. erst wenn zwei oder mehr Fehler in Folge auftreten, wird die folgende Fehlerbehandlung aktiv.
Der Wert RS485ErrorCnt enthält die Summe aller Fehler. Der Wert kann also zwischen 0 und 255*n liegen, wenn n I/O-Module angeschlossen sind. Am Ende jedes Zyklus wird der Fehlerzähler mit den beiden Grenzwerten RS485ErrorLimit1 und RS485ErrorLimit2 verglichen. Wenn er RS485ErrorLimit1 erreicht hat, wird eine Meldung in kern.log ausgegeben. In der nächsten Version von piControl werden die Default-Werte, die in PiCtory definiert wurden, in das Prozessabbild geschrieben. Wenn der Fehlerzähler RS485ErrorLimit2 erreicht hat, wird die PiBridge Kommunikation gestoppt.
Wenn einer der Werte auf 0 gesetzt wird, ist die jeweilige Prüfung deaktiviert.
Als Default ist RS485ErrorLimit1 auf 10 und RS485ErrorLimit2 auf 1000 gesetzt.