Kommunikationsüberwachung zur BK9100

gabrielburn

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo im Rahmen einer Technikerausbildung mus ich mich etwas mit Beckhoffsteuerungen befassen. Bei einer Aufgabe die wir benotet bekommen stehe ich aber vor 2 kleinen Problemen.

1. Problem wie kann ich erkennen ob mein Buskoppler noch mit Twincat kommuniziert? der erste versuch war den Bibliotheksbaustein FB_ReadAdsTecSysData zu verwenden und die AMS-Adresse des Kopplers anzusprechen. Dieses funktioniert leider nicht da man wohl mit dem Baustein nur Industrie PC's ansprechen kann. der nächste Versuch war den Baustein FB_ReadCouplerDiag zu verwenden. Aber leider ist in dem Koppler die 2 Byte Diagnose nicht freigeschaltet.

2. wie erkenne ich einen "Wiederanlauf" der PLC? ich habe in dem Forum hier schon gesucht und auch was gefunden aber das betraf nur einen Neustart der PLC. (Das erkennen des Wiederanlaufes soll das Initialisieren einer Schrittkette einleiten)

Entschulödigt solche banalen fragen aber ich bin bisher nur mit der S... Welt bekannt und da kenne ich die Funktionen aber Beckhoff ist mir mit seinen riesigen Bibliotheken unbekannt und undurchsichtig. Und die Beckhoffhilfe bringt mich nicht wirklich weiter weil ich da fast gar nix finde.

Gruß und vielen Dank im Vorraus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht hilft es, wenn Du die Problemstellung noch einmal anders formulierst und darstellst was du erreichen möchtest. Zumindest ich habe deine Frage nicht verstanden, kann aber auch daran liegen, dass ich Beckhoff nicht so gut kenne.
 
Hallo gabriel,

1. Ein paar relevante Angaben fehlen für die erste Frage schon noch.
Was für ein System wird eingesetzt? K-Bus(alt) / E-Bus(neu)
Was ist das für ein Koppler?
Was für eine Steuerung wird eingesetzt?
Was soll alles überwacht werden? Verbindung/Hardware Status/Hardware Aufbau...

Sieh mal im Beckhoff Information System im Falle vom K-Bus unter „DevState“/ „CouplerState“ / „BoxState“ / „MissedCnt“ nach.
Bei Verwendung von EtherCAT-Klemmen (E-Bus) hilft das Zauberwort „State“ weiter.
Den Funktionsbaustein FB_ReadCouplerDiag brauchst du eventuell überhaupt nicht...

2. Die Initialisierung könnte so aussehen:
Code:
IF NOT bInit THEN
    [Werte die initialisiert werden sollen]
    ...
    bInit        := TRUE;
END_IF
Gruß
Chräshe
 
So dann erst mal nen paar angaben was ich vorhabe.

Ich verwende die Busklemme BK9100 (Buskoppler für Ethernet).
Meine Twincat Version ist 2.9 (glaube ich zumindest).
Ich benutze meinen PC(Laptop) als Steuerung (denke SoftSPS).

Der PC ist mit einem normalen Ethernetkabel mit der BK9100 verbunden.
nun will ich erkennen ob TwinCat mit der BK9100 kommuniziert.
Wenn ich das Ethernetkabel von der BK9100 abstecke so läuft mein Programm munter weiter und das letzte Prozessabbild der eingänge bleibt unter Twincat einfach bestehen. Ich möchte dann aber erkennen das die Kommunikation zum Buskoppler gestört ist und dieses auf der Visu auch anzeigen.
Ich hoffe das das etwas deutlicher ist was ich erreichen will.

@Chräshe erst mal danke ich werde mir das mal genauer ansehen.
Hm K-Bus oder E-Bus ist doch nur wie die Klemmen untereinander mit der BK Kommunizieren oder? Ich glaube die Klemmen die ich habe laufen auf dem K-Bus. Sry aber bin wie gesagt relativer Neuling auf Beckhoff-Systemen.

Gruß gabriel
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du im System-Manager mal nachschaust, dann muss dort der BK9100 verschiedene Eingänge haben. Unter anderem "CouplerState" und "BoxState". Was zeigen diese an, wenn deine Ethernet-Verbindung unterbrochen ist? Falls diese einen Fehler anzeigen, kannst du diesen in deinem Programm verwenden und auf deiner Visu darstellen.
 
Ah super danke nun schein ichs gerafft zu haben das ich dem BoxState bzw CouplerState eine Variablenzuweisung machen muss um diese dann auszuwerten. z.B. nach folgendem Schema
VAR_Global
BK_State AT %IW6:UNT;
END_VAR

(*Vorrausgesetzt die Variable BoxState besitzt Eingangsadresse 6 was man aber im Konfigmanager nachsehen kann*)

Danke an alle für die Hinweise.
 
Zurück
Oben