TIA Hilfe, IO-Link Tia-Portal

Bananenbier

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

ich habe da mal wieder ein Problem.
Ich habe eine 1513 PN , ein Phönix IO-Master (AXL E PN IOL8 DI4). An dem IO-Master sind IFM O6H309 IO-Link Lichttaster angeschlossen.

Ich würde gerne den Schaltpunkt der Sensoren von der Steuerung aus verändern.
Was muss ich in der Hardware für Submodule hinzufügen (2,4,8,24,32 Byte lesen schreiben ???) woher weiß ich das? wo liegen die Werte in dem Sensor?
oder muss der Sensor erst mittels IFM Software parametriert werden?

Kann ich dann den Siemens Baustein (IO_Link_Divice) nehmen, wie wird dieser dann parametriert?
https://support.industry.siemens.co...ben-mit-der-io-link-bibliothek?dti=0&lc=de-WW

Ich hoffe mir kann einer weiter helfen. Ich bin am ende meines Latains :)

vielen Dank schon mal

Nils
 

Anhänge

  • Topo.jpg
    Topo.jpg
    63 KB · Aufrufe: 149
  • Geräteansicht.jpg
    Geräteansicht.jpg
    75,3 KB · Aufrufe: 147
Ich kenne den Sensor zwar nicht, aber du da müsste eigentlich eine kleine IO-Link Übersicht dabei sein. Die 2,4,8,24,32 Byte geben an, wie viele Prozessdaten dein Sensor liefert. Entsprechend musst du das richtige Modul stecken. Die Struktur der Prozessdaten sollte ebenfalls in der Anleitung des Gerätes beschrieben sein (Schaltbit, Qualität etc.).

Den IO_LINK_DEVICE Baustein kannst du für das lesen/schreiben von Servicedaten (ISDUs) verwenden. Hier wieder der Verweis auf die Anleitung --> Beschreibung der SD (Datentyp, index, R/W Zugriff).

Erster Versuch (Auslesen des Vendor-Names):
CAP = 255 (ist normalerweise so, wenn nicht anders in der IOLM Anleitung beschrieben)
ID = HW-Identifier des IOLM Kopfmoduls (siehe Modulconfig TIA-Portal)
Port = Port Nummer des verwendeten IOLM beginnend mit 1.
Index = 16 (Vendor Name) ist standardisiert
Subindex = 0
RW = false
Req = Positive Flanke

Am Datenausgang (Array[0..231] of byte) sollten anschließend die ausgelesenen Daten verfügbar sein.

Viel Erfolg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei ifm findets Du die IODDs und die Beschreibung der IO-Link-Schnittstelle hier: http://www.ifm.com/products/de/ds/O6H309.htm
Reiter weitere Informationen.

Am Phoenix Master musst Du das Modul ein Byte Input nehmen.
Du kannst größer werden aber nicht kleiner, was bei einem Byte aber auch nicht möglich ist :)

Phoenix Contact hat kein Device Tool, wie Du es von Siemens PCT kennst.
Du kannst entweder den Sensor über dein SPS Programm mit dem IO-Link-Call parametrieren, wie es Beckx-net beschrieben hat.

Wenn Du Dir die Arbeit sparen willst, kannst du den Sensor z.b. mit http://www.ifm-datalink.com/ifmdlde/web/linerecorder-sensor.htm vorparametrieren.
Anschliessend an den Master anschliessen und die eingestellten Daten in den Datenspeicher des Masters einlesen lassen.

Btw: Wenn Du Datastorage am Phoenix-Master nutzen möchtest, musst Du zwingen die Sensoridentifikation eintragen.
 
Vielen Dank schon mal für die nützliche Hilfe.

Ich habe mir jetzt den IFM Linerecorder bestellt um den Sensor zu parametrieren. schon mal gut.

Ich möchte ja aber erstmal nicht die Servicedaten (ISDUS) auslesen, sondern würde ja gerne das ganz normale DI von Sensor (das klappt ja)
und möchte nun aber von der Steuerung aus den Schaltpunkt des Sensors ändern. Oder sind das Servicedaten?
Geht das dann über den E/A-Bereich der des Moduls welches ich ausgewählt habe?

http://www.ifm.com/ifmweb/downcont....11-de/$file/ifm-O6H309-20150318-IODD11-de.pdf

Das wäre dann ja Index 60 und 550 die ich übertragen müsste oder? das ist doch dann nicht nur 1 Byte oder?

Ich hoffe ich könnt mir nochmal helfen.
Vielen Dank schon mal

Nils
 
Ich hoffe Du hast auch an das passende Interface E30396 oder E30390 gedacht.
Sonst hilft Dir LineRecorderSensor nicht viel :grin:

Bei IO-Link gibt es drei Datenkanäle:

Prozessdaten: Da kommt Dein Schaltsignal = Objekt erkannt an. Zyklisch
Parameterdaten: Hier kannst Du Dein IO-Link Device parametrieren. Bei Siemens gibt es hierfür den IO-Link-Call Baustein. Dieser Baustein bildet das Grundgerüst der Kommunikation ab. Die Kommunikation läuft azyklisch. Wie Du diesen Baustein beschalten musst hat Beckx-net bereits beschrieben.
Eventdaten. Hier meldet das IO-Link Device Informationen an den Master. In deinem Fall kannst Du diesen Kanal aber vergessen, da die Siemens Master die Events noch nicht an die CPU weiterreichen :ROFLMAO:

Bei dem Sensor, den Du einsetzen willst, hast Du zwei Möglichkeiten, den Schaltpunkt einzustellen:

Über die Potentiometer, oder über die Parameter. Du musst nur aufpassen, das sind zwei getrennte Wege die nicht syncronisiert werden.

Du hast es genau richtig beschrieben:
Index 550 Subindex 0 auf 0 = Fern stellen. Die Länge muss hier 1 sein.
Index 60 Subindex 1 auf den entsprechenden Schaltpunkt stellen. Die Länge musst Du hier mit 2 angeben

Wir können auch gerne mal telefonieren.
Schick einfach ne PN.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schon mal danke für die hilfreiche Antwort.
Ich werd es morgen mal versuchen, wenn ich noch Probleme habe komm ich gerne auf dein Angebot zurück.

Muss ich dann den IO-Link-Call zwei mal aufrufen?
Einmal für Index 550 und für 60?
Und in der Hardware parametrier ich dann mit 2 Byte Ausgang? Oder doch nicht?

Danke nochmal
Nils
 
Du kannst den IO-Link Call zweimal aufrufen. Mehrfachaufrufe machen aber deinen Programmcode riesig.
Ich hab das über eine Schrittkette gelöst.

Und in der Hardware parametrier ich dann mit 2 Byte Ausgang? Oder doch nicht?

NEIN


CAP = 255
ID = HW-Identifier des IOLM Kopfmoduls (siehe Modulconfig TIA-Portal)
Port = Port Nummer des verwendeten IOLM beginnend mit 1.
Index = 60
Subindex = 1
RW = true
Req = Positive Flanke


CAP = 255
ID = HW-Identifier des IOLM Kopfmoduls (siehe Modulconfig TIA-Portal)
Port = Port Nummer des verwendeten IOLM beginnend mit 1.
Index = 550
Subindex = 0
RW = True
Req = Positive Flanke



Du brauchst keine Ausgänge.
Der IO-Link Call Baustein läuft über SFB52 und 53
 
Hmmm, klappt immer noch nicht.

Ich bin einfach zu blöd!
 

Anhänge

  • IMG_3019.JPG
    IMG_3019.JPG
    187,5 KB · Aufrufe: 130
  • IO_Link_call.jpg
    IO_Link_call.jpg
    103,8 KB · Aufrufe: 182
  • Geräteansicht.jpg
    Geräteansicht.jpg
    374,4 KB · Aufrufe: 143
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das sieht doch gar nicht schlecht aus was du gemacht hast



Was ich nicht verstehe, warum verwendest Du zwei verschiedene Hardware IDs
Hast Du zwei Master?

Bei der ID 107 sagt Dir der Siemens SFB, dass er gar nicht kommunizieren kann.

Bei der ID 108

0x8004 No IOLD Kein Device verfügbar bzw. Port in DI/DO
Modus bzw. Device unterstützt keine SPDU

Kommt diese Meldung. Wie hast Du den den Phoenix Master konfiguriert?
 
Ich denke auch das die 108 richtig ist.
Den Phönix Master habe ich eigentlich nur die IP/Gerätenamen zugewiesen. mehr nicht :-(

liegt da Event. der Fehler. Phönix ha aber kein Tool zum parametrieren glaube ich und in der Hardware ist ja nicht soviel einzustellen.
 
Es ist eigentlich weder 107 noch 108 richtig, weil du da (da 1500er) die HW-ID hinschreiben musst.
Diese wiederum findest du namentlich in der Standard-Variablentabelle im Reiter Konstanten.

Desweiteren würde ich jetzt mal behaupten, das in dem HW-Konfig Bildchen wo bei dir jetzt "Digitaler Eingang" steht, sollten sich irgendwelche IOL Module befinden,
und die HW-ID dieser IOL-Module wiederum gehört dann an die Bausteine, und zwar symbolisch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

die HW-ID scheint richtig zu sein. Hier musst du die ID des Kopfmoduls angeben. Über den Port-Parameter definierst du dann den Sensor. Aber wie von MSB schon erwähnt, musst du auch ein IO-Link Modul projektieren, sonst geht es nicht. Bei einigen IO-Link Mastern musst du festlegen, welcher Port IO-Link verwenden soll (meist in den Parametern des Kopfmoduls).

PS:
Das IO-Link Modul musst du so wählen, dass die Länge der Prozessdaten mit der Länge des Moduls übereinstimmt (wenn dein Sensor 2Byte Daten liefert --> 2byte Input Modul verwenden)

Viel Erfolg
 
PS:
Das IO-Link Modul musst du so wählen, dass die Länge der Prozessdaten mit der Länge des Moduls übereinstimmt (wenn dein Sensor 2Byte Daten liefert --> 2byte Input Modul verwenden)

Es ist bei diesem Sensor ein Byte, wenn man es ganz genau nimmt nur ein Schaltsignal mit einem Bit in diesem Byte.
Aber Byte wirst Du nicht finden, also nimm wie Beckx-net sagt zwei Byte.

Es ist richtig, dass Phoenix kein Devicetool wie Siemens PCT hat.
Das brauchst Du für Deine Anwendung auch nicht.
Einfach im Hardwaremanager den Digitalen Eingang löschen und ein IO-Link Module drauf ziehen.
 
Zurück
Oben