TIA IO-Link Events im TIA Portal auswerten

R_TRIG

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

ich arbeite mich im Moment in die IO-Link Welt ein und bin da über etwas gestolpert:

IO-Link Devices können mir neben den zyklischen PD auch azyklischen Events zurückmelden. Bspw. eine Warnung wenn das IO-Link Device verschmutzt ist (hier: optischer Distanz-Sensor).
Die Warnung habe ich über ein DeviceTool im Sensor aktiviert, sodass dieser es auch an den IO-Link Master meldet.
Setzt der Sensor die Meldung ab, bekomme ich über den IO-Link Master in meinem Diagnosepuffer auch eine Maintainance-Meldung angezeigt.
Allerdings ohne die Information des Event-Codes, welche ich brauche um die Warnung auch zuordnen zu können.

Der IO_LINK_DEVICE FB hilft mir in diesem Falle doch auch nicht weiter, da die Event-Klasse in der IODD doch nicht über einen spezifischen Parameter-Index angesprochen wird, oder?

Wie oder mit welchem SFB/SFC habe ich die Möglichkeit den Event-Code eines Devices (im Fehlerfall) auszulesen?

Viele Grüße
RTRIG
 
Hallo Forum,

ich glaube ich habe es nun herausgefunden. Für diejenigen die es in Zukunft auch mal betreffen sollte:
In der IODD des jeweiligen IO-Link Devices sollte ein Standard Parameter "Detailed Device Status" (Index = 37) vorhanden sein. In diesem wird der gerätespezifische EventCode abgelegt.
Im Fehlerfall kann dann über den IO_LINK_DEVICE FB auf diesen Index zugegriffen werden, um den EventCode auszulesen.

Viele Grüße
RTRIG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry, aber das ist so nicht ganz richtig.
Ja man kann über Index 36 und 37 den Device Status über den azyklischen Parameter Kanal auslesen.
Dies hat aber drei Nachteile:
Der Index 37 ist nicht verpflichtend. Es gibt Geräte bei denen Du, bei einem Lesezugriff auf den Index 37 einen negativen Response bekommen wirst.
Die Anzahl der gleichzeitig aktiven Aufrufe des IO-Link Device Bausteins, ist je nach CPU und Master begrenzt. Wenn Du mehrere IO-Link Devices in der Anlage hast, musst Du die Aufrufe sauber gegeneinander Verriegeln.
Der Index 37 ist ein FiFo: So wie die Events reinkommen, werden sie in drei Byte Blocken gespeichert. Wenn ein Device z.B. 10 Events hat, musst Du 10 mal die 27 Bytes durchsuchen, ob evtl das der entsprechende Hex Code eingetragen wurde.

Wenn Du einen Master mit aktueller Abbildung von IO-Link ins Profinet (z.B Siemens oder ifm electronic) hast, werden die Events in die PN-Diagnose gemapt.
Wenn Du die Standard PN Diagnose Masken auf dem Panel hast, siehst Du die IO-Link Events, ohne Programmieraufwand.
Wenn Du die Events auf der Steuerung haben willst, dann kannst Du mit der SFB54 die PN Diagnose durchsuchen.
Viel Spass dabei.
Wenn Dir das zu mühsam ist, dann Frag mal Siemens nach einem Baustein, der das für Dich tut.
 
Hallo AUDSUPERUSER,

Danke für die Info! Das es sich bei Index 37 um einen optionalen Parameter und dazu noch um einen FIFO handelt war mir nicht bewusst.

Allerdings komme ich mit dem SFB54 "RALRM" nicht an die EventCodes heran.
Hier mein Aufruf im OB82:

Code:
"Merker_IO_State" := #IO_State;
"Merker_LADDR" := #LADDR;
"Merker_Channel" := #Channel;


     "RALRM_DB_1"(MODE:=2,
                  F_ID:="Merker_LADDR",
                  MLEN:=0,
                  NEW=>"Merker_NewDiag",
                  STATUS=>"Merker_StatusDiag",
                  ID=>"Merker_IDDiag",
                  LEN=>"Merker_LenDiag",
                  TINFO:="My_gDB_RALRM".TI_Diagnostic_Interrupt,
                  AINFO:="My_gDB_RALRM".Additional_Diag);

Allerdings sehe ich im weder in TINFO bzw. AINFO irgendetwas von einem EventQualifier oder EventCode?
Bediene ich auch vielleicht den SFB54 falsch:confused:
In der PN Diagnose sehe ich nur eine Wartungs-Meldung, aber keinerlei Hinweise auf das gerätespezifischen Event.

2018-07-04 13_46_16-Siemens  -  C__Users_jkrato_Documents_Software_IO-Module_ICE1-8IOL-G60L-V1D_.jpg

Gruß
RTRIG
 
Laut SIEMENS folgende Aussage:

Events sind Stand heute noch nicht durchgängig in der Siemenswelt abgebildet. Event Notifications werden aktuell gar nicht erfasst. Event Warnings laufen nur auf eine Sammeldiagnose und bei Event Error kann man mit Siemens PCT auf z.Zt. ‚versteckte‘ Daten unterhalb des Diagnosepuffers zugreifen und die Daten entsprechend aufbereitet darstellen.
In der neuen Spezifikation für die IO-Link Profinet Integration sind Mechanismen beschrieben, wie Events transportiert werden sollen. Aber das ist Sollzustand, aktuell ist dies noch nicht flächendeckend umgesetzt.

Gruß
RTRIG

PS: Ich benutze keinen SIEMENS Master
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich grabe diesen Thread nach langer Zeit mal wieder aus...
Evtl. hat sich bei SIEMENS in der Richtung etwas getan und es ist nun möglich an die Diagnose/Event-Codes zur Laufzeit zu gelangen?

Gruß
RTRIG
 
Zurück
Oben