IO-Link I/O-Hub ID auslesen für dynamischen Wechsel von Anlagenteilen

Fluffi

Level-2
Beiträge
449
Reaktionspunkte
69
Zuviel Werbung?
-> Hier kostenlos registrieren
ich würde gerne IO-Link für einen dynamischen Wechsel von Anlagenteilen verwenden. Genauer gesagt sollen unterschiedliche I/O-Hubs je nach Anforderung in die Anlage integriert werden. Die IO-Link-Verbindung geht immer auf den selben Port eines fixen IO-Link Masters. Kann die ID dieser Hubs programmtechnisch ausgelesen werden (1500er CPU)? In der HW würde ich den Maximalausbau konfigurieren und je nachdem welche ID auslesbar ist, eben nur den entsprechenden Teil für diese HW dann im Programm aktivieren. Ist IO-Link für solch ein Vorhaben geeignet?
Wenn man auf dieser Ebene programmtechnisch mit IO-Link interagieren möchte, spielt es eine Rolle ob man Siemens IO-Link Komponenten verwendet weil da mehr Möglichkeiten vorhanden sind oder ist der Hersteller der IO-Link Devices hier egal?

Edit:
Es gibt mit dem FB LIOLink_IdentAndDiag die Möglichkeit den gem. IO-Link Spezifikation vorhandenen String32-Wert appSpecificTag azyklisch auszulesen. Hat damit schon jemand gearbeitet? Ist das hersteller- und deviceunabhängig nutzbar?
 
Zuletzt bearbeitet:
Hi, ich hab das schon mal gemacht. Mit dem FB IOLink_Device. Jeder IO Link Teilnehmer hat als Parameter 18hex einen 32 Byte Wert den man frei beschreiben/lesen kann.

edit: zumindest der Support von Balluff hat gemeint dass jeder Teilnehmer diesen Parameter hat, nicht nur Balluff.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie sieht es aus mit der Konfiguration der wechselbaren Devices am Master, wenn diese in der Anzahl und Art der Ports unterschiedlich sind (Bsp: 1 Device mit 4DI, eines mit 8DI, eines mit 4DI und 4DO, etc). Konfiguriert werden die Master ja mit den jeweiligen Tools der Hersteller. Die Verknüpfung des Masters mit der SPS ist fix und erfolgt über feste Adressen die je nach Device dann eine andere Bedeutung haben.
Wie läuft das Ganze nun ab, wenn man unterschiedliche I/O-Devices an dem einen Master-Port betreiben möchte ohne jedesmal die Master-Konfiguration mit dem Tool zu ändern? Gibt es da die Möglichkeit einer automatische Konfiguration, das Laden einer vorher angelegten Konfiguration durchzuführen oder gar eine Art Generic-Device mit Maximalausbau zu konfigurieren?
 
Zuletzt bearbeitet:
Also:
Betreibt man den Siemens IO-Link Master für ET200SP 6ES7137-6BD00-0BA0 in der Betriebsart "ohne Port Configuration Tool", lässt die Ports im Modus "IO-Link Autostart" laufen und definiert ausreichend Bytes im Prozessabbild pro Kanal (z.B. 17/16, also gesamt 68/64), dann solltte sich das realisieren lassen.
Wird ein Sensor angestöpselt, dann übernimmt die Baugruppe die korrekte Menge an EA-Daten automatisch. Ich betreibe beispielsweise Sensoren, welche entweder 2 Bytes, 6 Bytes oder 8 Bytes Prozesseingangsdaten liefern, an den gleichen Kanälen - die augruppe erkennt das automatisch.

Zum Thema Anlagenteile kann ich dir z.B. folgendes empfehlen:
Balluff BNI005U
Gibts in verschiedenen Ausführungen mit nur Eingänge, Kunststoff, Druckguss, ....

Balluff bietet IO-Hubs für IO-Link an, welche über sogenannte Identifikations-Bytes verfügen. Das bedeutet, dass zusätzlich zu dem normalen EA-Daten wird über die Prozessdaten noch eine 2 Byte oder 4 Byte Identifikationsnummer gesendet. Damit lassen sich Werkzeuge oder Anlagenteile identifizieren. Die Identifikation kann man entweder bei der Inbetriebnahme mittels USB-IO-Link Master beschreiben oder auf Tastendrück mit der Bibliotheksfunktion IO_LINK_DEVICE von Siemens.
 
Danke für die Info. Das hat mir schon grundsätzlich mal gut weitergeholfen.

Der Hub von Balluff kann die Ports ja sowohl als Ein- als auch Ausgang verwenden. Wie will der Hub erkennen ob ein binäres Schaltgerät angeschlossen ist und kein Sensor? Wird das über die Versorgung erkannt welche bei einem Sensor belastet wird, oder kann man den Ausgangs dann immer aktivieren und hat dann gegebenenfalls 24V auf dem Eingangspin des Sensors?

Mich überrascht auch, dass Balluff solche E/A Hubs anbietet, wenn die meisten anderen Hersteller bei ihren Hubs für mehr Geld beispielsweise nur Ports mit entweder Eingängen oder Ausgängen bereitstellen. Da muss doch irgendwo ein Haken sein.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke Möglichkeit die oben beschrieben wurde kann man auch mit einem Balluff Master umsetzen. Sobald in der HW bei einem Port IO-Link "freigeschalten" wurde, kann man mit einem ausreichend großen Submodul (64 Byte IN/OUT) so ziemlich jedes Device betreiben. Wie du aber schon richtig sagst, wird das mit dem Wechsel zwischen SIO und IO-Link nicht laufen da der Master erst Pin 4 für IO-Link einschaltet wenn er weiß (über die HW-Konfig), dass an diesem Port IO-Link stattfindet. Ansonsten sind Pin 2 und Pin 4 Digitale IOs.

edit: Haken gibts keinen bei Hubs die Ein und Ausgänge können.
 
da hast du mich falsch verstanden. Am Master will ich nur die IO-Link Hubs verwenden und diese eben wechselbar. SIO nur an den Hubs.
 
Es gibt mit dem FB LIOLink_IdentAndDiag die Möglichkeit den gem. IO-Link Spezifikation vorhandenen String32-Wert appSpecificTag azyklisch auszulesen. Hat damit schon jemand gearbeitet? Ist das hersteller- und deviceunabhängig nutzbar?
Zuerst prüfen ob der Tag auch im IO-Link Device vorhanden ist.
Viele Devices unterstützen den Tag, da aber optional laut Spezifikation, nachschauen ob dein Wünsch I/O-Hub den Tag hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Hub von Balluff kann die Ports ja sowohl als Ein- als auch Ausgang verwenden. Wie will der Hub erkennen ob ein binäres Schaltgerät angeschlossen ist und kein Sensor? Wird das über die Versorgung erkannt welche bei einem Sensor belastet wird, oder kann man den Ausgangs dann immer aktivieren und hat dann gegebenenfalls 24V auf dem Eingangspin des Sensors?
Welcher Kanal Eingang und welcher Ausgang ist, wird über Parameter im IO-Hub festgelegt.
Bei einem Hub mit 16 Kanälen werden von vornherein jeweils 2 Bytes Eingangs- und Ausgangs Daten reserviert.

Die Hubs von Murrelektronik detektieren eigenständig, ob der small ein Ausgang oder ein Eingang ist. Wird das zugehörige Bit im Ausgangs-Prozessabbild gesetzt dann schaltet das Modul den Kanal als Ausgang durch.
 
Welcher Kanal Eingang und welcher Ausgang ist, wird über Parameter im IO-Hub festgelegt.
Bei einem Hub mit 16 Kanälen werden von vornherein jeweils 2 Bytes Eingangs- und Ausgangs Daten reserviert.

Die Hubs von Murrelektronik detektieren eigenständig, ob der small ein Ausgang oder ein Eingang ist. Wird das zugehörige Bit im Ausgangs-Prozessabbild gesetzt dann schaltet das Modul den Kanal als Ausgang durch.
Tatsächlich? Kann das jeder Hub von MURR? Was muss ich da suchen? Bei Balluff geht das nicht und ist immer nervig bei der IB wenns in der Vorbereitung vergessen wird.
 
Tatsächlich? Kann das jeder Hub von MURR? Was muss ich da suchen? Bei Balluff geht das nicht und ist immer nervig bei der IB wenns in der Vorbereitung vergessen wird.
Nicht jeder, aber ich kenne es definitiv von einigen Impact67 Modulen mit Profinet. Ob das die IO-Link io-Hubs auch alle können weiß ich nicht, muss man sich ansehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also die IO-Hubs mit der Bezeichnung DIO sollten das können.
Wenn man sich im Handbuch die Beschreibung von Parameter 0x0072 ansieht:
Einstellung der I/O-Funktion pro Kanal.
- Subindex 1: Kanal X0 Pin 4
- Subindex 2: Kanal X0 Pin 2

- Subindex 15 = Kanal X7 Pin 4
- Subindex 16 = Kanal X7 Pin 2
Einstellung pro Kanal (Subindex):
0 = Autokonfiguration / universal (DIO)
1 = Input
2 = Output
 
Zurück
Oben