Verbindungsabbruch zwischen CX und BK9100 erkennen

forellengarten

Level-2
Beiträge
217
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
An meiner CX9010 hängen zwei Buskoppler (BK9000 bzw BK9100).

Kommt es nun zu einem Verbindungsabbruch zwischen CX und Buskoppler (Stromunterbrechung oder Ethernetkabel kurz unterbrochen), so bleibt von nun an der Buskoppler tot, auch nachdem alle Verbindungen wieder hergestellt wurden. Erst ein Reset des CX bringt alles wieder zum laufen.

Mich würde nun interessieren ob es eine Möglichkeit gibt, den Betriebszustand meiner Buskoppler in einem FB abzufragen um ggf darauf reagieren zu können.

Bestimmt kann mir jemand den entscheidenden Tipp geben, danke!
 
Helfen dir die Variablen des BK9000 CouplerState und BoxState weiter? Wenn der BK9000 ordnungsgemäß läuft stehen diese beide auf 0. Prüfe einmal nach, ob diese sich verändern, sobald ein Verbindungsabbruch stattfindet.
 
Zuletzt bearbeitet:
Es fehlt als Info wie du die BKs eingebunden hast.
Virtuelle Schnittstelle oder über den RT-Adapter.

Ansonsten - zumindest beim RT-Adapter würde ich über einen Baustein in der IO_Functions diesen Adapter "resetten" wenn du im Fehlerfall bist. Wenn das nicht ausreicht damit deine BKs wieder anlaufen dann würde ich mal mit Wireshark ran...

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Forellengarten.

Die BK9xxx haben nur RJ45 und somit Netzwerk-Stecker. Das war also nicht meine Frage.
Im TwinCAT musstest du einen Adapter definieren hinter dem die BKs sitzen. Dieser Adapter kann von Typ1 (virtueller Ethernet) oder Typ2 (RT-Adapter) sein.
Das ist es was mich interessiert. Ansonsten poste einen Screenshot mit der Topologie des Adapters, allerdings bitte mit aufgeklappten Baum).

Guga
 
Einige Punkte....

Der RT-Adapter hat einen Eingang mit dem Namen "DevState". Der Wert müsste !=0 sein wenn die Kommunikation abbricht. Das könntest du abprüfen.
In der TcIoFunctions-Bibliothek gibt es den BAustein "IOF_DeviceReset". Der Baustein macht das gleiche wie wenn du im SystemManager auf dem RT-Adapter-Knoten rechte Maustaste und "Online Reset" drückst. Das sollte nach meiner Meinung spätestens die Verbindung wieder herstellen.
Als AmsNetID ntutzt du die lokale Adresse oder aber laesst den Werte einfach leer. Die DeviceID ist die Nummer die du auf dem RT-Adapter-Knoten und rechter Maustaste über "ChangeID" angezeigt bekommst.

Last not least: schau mal das die AmsNetID des Adapters in den ersten 4-Stellen identisch ist zu dem deines Hauptsystems. Zu sehen unter "System"->RoutingEinstellungen- und hier im Tab "Project Routes".

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke vielmals für die wertvollen Inputs. Genau so hatte ich mir das erhofft. Wird etwas dauern bis ich feedback geben kann - kommt aber auf jeden Fall. Eine Frage die mich derzeit noch beschäftigt - was passiert mit dem BK9000, der ja faktisch transparent hinter dem BK91000 hängt. Der hat ja keinen eigenen "DevState" usw.... kann der getrennt abgefragt werden, oder wird er überhaupt vom devState des BK91000 mit überwacht?....
naja, werde es nach meinen Tests ja sehen und berichten.... schonmal danke!
 
Jede Kopfstation (also die BK9100 als auch der BK9000) haben wiederum eigene Eingänge=Statis.
Ich habe diese jetzt nicht im Kopf, das allgemeine Problem ist natürlich das diese möglicherweise nicht mehr aktualisiert werden wenn das Gerät nicht mehr lebt. Du muesstest halt die Eingangs-Statis dir mal anschauen. Eventuell gibt es dort ja einen Zähler der sich somit regelmaessig ändern muss im Gut-Fall.

Ansonsten: Ethernet -> Topologie ist (eigentlich) egal. Die zwei RJ45-Stecker auf einem Gerät sind "geswitched" so dass das Telegramm direkt weiter geht...

Guga
 
Jede Kopfstation (also die BK9100 als auch der BK9000) haben wiederum eigene Eingänge=Statis....

Ansonsten: Ethernet -> Topologie ist (eigentlich) egal. Die zwei RJ45-Stecker auf einem Gerät sind "geswitched" so dass das Telegramm direkt weiter geht...

Guga

Das stimmt grundsätzlich. Ich habe die Stati beim bewussten disconnecten der BKs beobachtet und die erwartete Änderung tritt ein. Der Rest ist ja nur software was man daraus macht. Danke!
 
Zurück
Oben