Redundanz für eine Datenbusübertragung

Ich werde in ein paar Wochen ein Projekt an meiner Universität starten. Da es sich um eine Zusammenarbeit zwischen meiner Universität und einem sehr wichtigen Unternehmen handelt, kann ich nicht zu viel über das Projekt selbst sagen. Deshalb versuche ich hier nur die nötige Menge an Informationen zu geben, die das Problem beschreiben. Hoffentlich kann ich es gut genug beschreiben, um es für Sie verständlich zu machen.

Problem: Ein Mikrocontroller sendet Daten über einen Bus (es kann RS485 oder CAN sein. Dies ist noch nicht spezifiziert) an bis zu 12 Geräte:

Bild 1

Es gab ein wenig Enttäuschung über dieses Design, weil jemand, der am Projekt beteiligt war, die vorgestellte Lösung (einige Leute wollen den Mikrocontroller direkt mit jedem Gerät verkabeln) wegen Redundanz nicht mag . Der Grund für dieses Design ist, dass wir ein Protokoll schreiben und implementieren können, um Daten an jedes Gerät zu übertragen. Das ist nett und äußerst effizient, da ich Daten durch Informationspakete senden kann.

Einige meiner Kollegen mögen diese Lösung wegen der fehlenden Redundanz nicht. Wenn der Bus aus irgendeinem Grund unterbrochen wird (ein Draht bricht, mechanische Bewegung am Kabel usw.), kann ein Gerät seine Informationen nicht erhalten (was für die Lebensdauer des Systems von entscheidender Bedeutung ist) und wirklich viele Schaden kann passieren. Der schlimmste Fall ist, wenn die Verbindung zwischen dem Master und dem ersten Gerät abbricht. Dann sind alle Geräte verloren. Dieser Fall sollte um jeden Preis vermieden werden.

Dies möchte ich vermeiden. Also dachte ich über eine Lösung nach, bei der es mindestens zwei Kommunikationsbusse gibt, damit die Geräte kommunizieren können, falls ein Bus nicht mehr funktioniert. Also ich habe folgendes Design im Kopf:

Bild 2

Aber ich habe ein Problem: Ich möchte über jede Leitung die gleichen Informationen senden. Das Gerät sollte nur eine lesen können. Daher sollten beide Leitungen zu einem Kanal zusammengeführt werden , bevor sie vom Gerät gelesen werden.

Fragen:

  1. Ist diese Form der Redundanz akzeptabel? Oder sollte ich mein Design überdenken?
  2. Macht es Sinn, beide Leitungen zu einer zusammenzuführen, bevor man in das Gerät geht? Oder sollte das Gerät mindestens zwei getrennte RS485- oder CAN-Ports haben und die Informationen dann per Software zusammenführen?

Antworten (2)

Dies ist ein sehr weit gefasstes Thema, das als „Fehlerbaumanalyse“ bekannt ist – wahrscheinlich zu weit gefasst, um es hier in unserem Frage-und-Antwort-Format anzusprechen.

Die Frage nach Ihrem seriellen Bus muss im Kontext des größeren Systems bewertet werden. Sie müssen berücksichtigen, welche Arten von Fehlern wahrscheinlich sind und welche Kosten zur Minderung jeder Art von Fehler anfallen. Sie müssen sowohl elektrische Fehler in den Master- und Slave-Geräten selbst als auch physische Fehler in der Verkabelung und den Anschlüssen berücksichtigen.

Manchmal ist Redundanz die richtige Antwort; In anderen Fällen reicht es aus, ein Subsystem in einen "sicheren Zustand" übergehen zu lassen (bis Reparaturen durchgeführt werden können), wenn ein Fehler erkannt wird.

Es gibt verschiedene industrielle Ansätze, um redundante Systeme zu machen, normalerweise wird alles verdoppelt, einschließlich des Haupt-CPU-Moduls, der verteilten E/A und natürlich zwei Bussen, die Anwendung besteht dann darin, das kaputte System zu verifizieren oder zu fälschen. Viele Unternehmen haben ihre eigene proprietäre Lösung. Sie können sich ein Beispiel für das redundante System von Siemnen ansehen, nur zur Information: https://www.youtube.com/watch?v=K3AXkW2Dp3M

Aber ich möchte Sie darüber informieren, dass es zwei Arten dieser komplizierten Systeme gibt: ausfallsicher und redundant. Ausfallsicher ist ein System, das die Maschine/Anlage sicher zum Stoppen bringt, während es die Maschine/Anlage redundant macht, damit sie weiterarbeitet, wenn ein Fehler erkannt wird. Offensichtlich ist ausfallsicher viel einfacher und weniger teuer. Sie sollten analysieren, was Sie wirklich wollen, da redundante Systeme für wirklich ernsthafte Anlagen wie Kernkraftwerke oder Schiffssysteme usw. verwendet werden