IO Link Application Tag mit Beckhoff EL6224

S7trainee

Level-1
Beiträge
30
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

Ich habe aktuell ein Problem mit dem Application Tag eines Devices an der Beckhoff IO-link Klemme EL6224.

Ich möchte mit dem Tag eine Werkzeugerkennung machen. Dazu greife ich per ADS auf den entsprechenden Port zu und lese den Application Tag aus. Das funktioniert soweit problemlos.

Allerdings habe ich Probleme wenn ein anderes Device angeschlossen wird als in der HWK projektiert ist.

Beispiel: Ich habe in der HWK ein Balluff Gerät mit 8DI projektiert. Mehrere Geräte vom selben Typ können sauber unterschieden werden.

Wenn ich allerdings den Extension Port des Balluff Kopplers nutze kann ich nichtmehr per ADS auf den Port zugreifen. Projektiere ich nun den Kopplers mit Erweiterung kann ich wiederum nur diese Konfiguration auslesen. Die einfachen Kopplers ohne Erweiterung werden ebenso nicht erkannt (beide Konfigurationen haben eigene IODDs und stellen somit verschiedene Geräte dar).

Bei der IO-Link Klemme habe ich den Haken "Check Vendor ID" und "Check Device ID" sind genau wie der Parameter Server abgewählt.

Was ich nicht verstehe: Der Applikation Tag steht bei beiden Geräten im selben Speicherbereich mit der selben Adresse. Warum lässt mich die Klemme den Tag nicht auslesen?
 
Was sagt den Balluff dazu?
Ich habe jetzt keine genaue Kenntnis wie IO-Link den Zugriff auf Objekte kapselt, könnte mir aber vorstellen dass das prinzipiell nicht möglich ist.

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was sagt den Balluff dazu?
Ich habe jetzt keine genaue Kenntnis wie IO-Link den Zugriff auf Objekte kapselt, könnte mir aber vorstellen dass das prinzipiell nicht möglich ist.

Guga

Hallo Guga,

ich konnte noch einmal einen Test machen. Wenn ich das "große Modul" an eine Steuerung mit kleiner Konfiguration anschließe funktioniert es nicht. Anders herum funktioniert es eingeschränkt. Das liegt an den "reservierten" Prozessdaten der IO-Link Geräte. Ist eine großere Konfiguration vorhanden und eine kleinere wird angeschlossen hat die Klemme keinen Fehler und ich kann auf die Daten zugreifen.

Das ganze kann man hier nachschauen:

2243442955__Web.png




Im Grunde lande ich bei dem oben beschriebenen Fehler im State: "Incorrect Configuration" was zu einem Error führt und keine Kommunikation mit dem Slave möglich macht. Auch wenn ich keine I/Os schreiben/lese möchte, sondern nur an den Application Tag ran kommen will (ohne Kommunikation läuft es natürlich nicht :???:)


Nun ja der Fehler ist erkannt, nur eine Lösung müsste noch her. Die Frage ist, ob ich ein eigenes Device mit der maximalen Konfiguration erstelle, welches hoffentlich alle Devices abdeckt. Die Aufwärtskompatibilität scheint ja gegeben. Oder ist es möglich während der Laufzeit die Prozessdatenlänge/Cycletime von der SPS aus anzupassen? Als Begriff fiele mir da CoD ein:confused::confused:
 
Ja, das ist so. Die Größe der Prozessdaten, die in der Steuerung konfiguriert wurde, muss gleich oder größer sein, wie die Prozessdaten, die vom Gerät kommen.
Wenn Du die Prozessdaten so groß machst, dass Du jedes Gerät anschliessen kannst, sollte es tun.

Warum willst du denn die Größe ändern?
 
Das Problem ist, das ich aktuell noch nicht weiß, was für Devices in Zukunft an dem Port erkannt werden müssen. Ich will lediglich den Tag auslesen. Die I/Os sind mir prinzipiell egal, da ich anhand des Application Tags dynamisch das SPS-Programm mit passender HWK nachlade.

Wenn ich keine Maximal Konfiguration erstelle könnte ich komfortabel mit den IODDs arbeite. Wird ein anderes Device angeschlossen bekomme ich über den Channelstate die Rückmeldung, dass einer dieser Fehler vorliegt:

Code:
[COLOR=#000000][FONT=Arial]0x_0 = Port disabled
0x_1 = Port in std dig in
0x_2 = Port in std dig out
0x_3 = Port in communication OP
0x_4 = Port in communication COMSTOP /  dig in Bit (nur im std. IO Mode)[/FONT][/COLOR]
[COLOR=#000000][FONT=Arial]0x_8 = Process Data Invalid Bit[/FONT][/COLOR]
[COLOR=#000000][FONT=Arial]0x1_ = Watchdog detected
0x2_ = internal Error
0x3_ = invalid Device ID
0x4_ = invalid Vendor ID
0x5_ = invalid IO-Link Version
0x6_ = invalid Frame Capability
0x7_ = invalid Cycle Time
0x8_ = invalid PD in length
0x9_ = invalid PD out length
0xA_ = no Device detected
0xB_ = error PreOP/Data storage (Fehler im IO-Link State PreOP)
[/FONT][/COLOR]


Dementsprechend könnte ich in der SPS entweder die Prozessdaten hochschrauben oder die cycle time anpassen. Nur das ist eben die Frage, ob das von der SPS-Laufzeit zu bewerkstelligen ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube jetzt verstehe ich, wo Dein Problem ist.
Du musst den Koppler einsetzen, weil beim Werkzeugwechsel niemand das Kabel umstecken will.
Wenn Du in dem Fall den Index 24 dez ausliest, bekommst Du den Applikation Specific Tag vom Koppler.
Du brauchst aber den Index 24 vom Device, und an den kommst Du nicht ran.

Ich habe mal Tests mit dem Koppler von TE gemacht, ich meine, mit dem konnte man auch die Indexe vom Gerät auslesen.
Frag doch da mal nach.
 
Zurück
Oben