Wi bekomme ich ein PDO in eine Variable?

wayne
2020-06-05
2020-06-21
  • wayne - 2020-06-05

    Hallihallo,

    ich hätte gerne das "TxPDO IOLM_Status\Digital Inputs States of DI (Pin 2)" als Variable.

    Leider habe ich aber dazu gar keine Idee?

    Hat jemand einen Tip für mich?

    Danke und Grüße,
    wayne

     

    Last edit: wayne 2020-06-05
  • marcel - 2020-06-15

    Hi
    Soll ich dir noch helfen?

     
  • wayne - 2020-06-15

    Ja klar... :-)

     
  • marcel - 2020-06-16

    Du bist bei deinem Bild auf dem Reiter "PDOs". Um eine Variable mit dem Eingang verknüpfen zu können, musst du auf den Reiter "CANopen E/A-Abbild". Dort kannst du dem Eingang eine Variable zuordnen.
    Abbildung 1 zeigt den Reiter PDOs
    Abbildung 2 zeigt den CANopen E/A-Abbild in dem du die Varialblen den PDOs zuordnen kannst.

     
  • marcel - 2020-06-16

    Hier noch Abbildung 1

     
  • wayne - 2020-06-16

    Hallo Marcel,
    Du verwendest ja CANopen. Deine Gerätedatei scheint dann auch das Mapping anzubieten.

    Ich verwende einen EtherCAT IO-Link Master.
    Bei dem gibt es keine Mapping-Möglichkeit nach der "gewohnten" Vorgangsweise. (siehe Bilder)

    Ich denke, da muss ich irgendwie programmtechnisch die Indexe/Subindexe abfragen.

     
  • wayne - 2020-06-16

    Nächstes Bild...

     
  • eschwellinger

    eschwellinger - 2020-06-16

    Hi,
    kannst du mal die ESI und IO Link files anhängen?
    Grüße
    Edwin

     
  • wayne - 2020-06-16

    Hallo Edwin,
    hier die ESI Files.
    Was meinst Du mit IO-Link Files?

    Viele Grüße
    wayne

     
  • eschwellinger

    eschwellinger - 2020-06-16

    Hi,
    welche CODESYS Version genau verwendest du,
    die IFM AL1030 kommt ja inklusive Ethercat Konfiguratior aus dem Setup von CODESYS,
    die sieht dann bei mir so aus:

    und da gibt es meiner Meinung nach das TxPDO IOLM_Status\Digital Inputs States of DI (Pin 2)
    Aber vielleicht musst du mal noch dein Projektarchiv einhängen damit man sieht welchen Sensor du am IOLink hast.

    Grüße
    Edwin

     
  • wayne - 2020-06-16

    Hallo Edwin,
    habe mal ein Projektarchiv angehängt.
    Die Idee ist u.a. auf einem Port den zusätzlichen digitalen Eingang zu verwenden (Pin 2).

    Im Projekt habe ich mal zwei unterschiedliche ESI Dateien für den AL1030 eingefügt.

    1. Mit der einen ESI kann man auf den einzelnen Ports Geräte einfügen über die IODD. D.h., man kann den Sensor komplett mit Codesys parametrieren.
      --> Diese ESI hätte ich gerne verwendet.
      --> Hier weiß ich nur nicht, wie man bei einen Port auf den Pin 2 (fester Eingang) zugreift.

    2. Mit der anderen ESI kann ich im EtherCAT-E/A-Abbild den Pin 2 problemlos mappen.
      --> Das wäre fast die Lösung für mein Problem, aber...
      --> Aber hier kann ich den Sensor nicht mit einer IODD anhängen, sondern nur ein Submodul mit bestimmter Breite, einen Eingang oder Ausgang

    Hoffe, habe alles verständlich erklärt... :-)

    Danke und Grüße
    wayne

     

    Last edit: wayne 2020-06-18
  • eschwellinger

    eschwellinger - 2020-06-17

    Gibt es für dein IO Link Gerät nicht auch IO-Link XML files des Herstellers,
    was ist das genau für ein IO Link Gerät welches du verwendest?
    Diese IO-Link XMLs muss man auch ins Device Repositpory installieren wie du es mit den ESI files machst.
    Dann muss das gehen ohne Probleme.

    Grüße
    Edwin

     
  • wayne - 2020-06-17

    Es ist der IO-Link Master AL1030 von ifm.
    Jetzt habe ich noch nicht genau verstanden, was Du mit IO-Link XML Files meinst.

    Die ESI Dateien sind ja eigentlich xml-Geräte-Dateien, welche dann ins Repository installiert wurden. Die sind auch von ifm.
    Leider haben eben die zwei verschiedenen xml-Geräte-Dateien, die oben genannten Möglichkeiten (entweder/oder).

    Kann man denn nicht per FB/FC/Methode/... auf einen Index/Subindex zugreifen?

    Grüße
    wayne

     
  • wayne - 2020-06-18

    Lieber i-c,
    wie ich grundsätzlich den al1030 installiere ist nicht das Problem.
    Auch nicht wie man grundsätzlich Variablen mappt.

    In meinem oben angehängten Projektarchiv ist alles richtig installiert.
    Wie erwähnt gibt es aber zwei Möglichkeiten wie hier beschrieben:
    https://forge.codesys.com/forge/talk/Deutsch/thread/52486df6f7/#af90

    Siehe auch in das Projektarchiv, dann wird das Problem klarer...

    Grüße
    wayne

     

    Last edit: wayne 2020-06-18
  • eschwellinger

    eschwellinger - 2020-06-19

    Hallo,
    es gibt Ethercat ESI files für das Gateway also AL1030 die hast du ja installiert,
    aber es gibt auch IO-Link XML files die deine IO Link Geräte beschreiben, auch die musst du in CODESYS installieren.
    Dann macht der Ethercat IO-Link alles für dich - das mapping usw...
    Darum habe ich dich schon mehrmals versucht zu fragen:
    Welches IO-Link Gerät verwendest du?

    Da muss man nichts machen, mit Indes SubIndex lesen oder der gleich einfach das IO-Link XML installieren und dann eben das passende Gerät "stecken" in einem Slot ( im Gerätbaum) bzw auch der SCAN sollte deine Klemme dann inklusive korrektem IO-Link Gerät erkennen.

    Grüße
    Edwin

     

    Last edit: eschwellinger 2020-06-19
  • wayne - 2020-06-19

    Hallo Edwin,
    hmmm, dann habe ich leider das Problem noch nicht verständlich rübergebracht... :-)

    In dem angehängten Testprojekt habe ich nicht nur die zwei unterschiedlichen ESI Dateien für den AL1030 installiert, sondern auch, wie von Dir gewünscht, das IO-Link XML File (IODD) für den Sensor UGT208/514.
    Dieser ist auf dem Port 8 des ersten Masters "AL1030_mit_IODDs" zu sehen. Es lässt sich also ein Senor mit einer IODD über "Gerät einstecken" einfügen. (Bild0)
    Auf diesen Sensor kann ich komplett zugreifen, d.h auch auf alle Sensor Parameter. (Bild1)

    Ich möchte aber auf den Pin 2 der einzelnen Ports zugreifen.
    Über "Gerät einstecken" parameteriert man aber den Pin 4 bzw. erhält Zugriff darauf.

    Den Zugriff auf Pin 4 bekommt man über den Master. Das funktioniert ja auch mit der unteren AL1030. (Bild2)
    Den möchte ich aber nicht verwenden, weil man beim "Gerät einstecken" nur ein Standard-Submodul auswählen kann, aber nicht ein IO-Link XML File (IODD) für einen Sensor. (Bild3)

    Anhand von Bild 0 und 3 lässt sich der Unterscheid der ESI Files erkennen und deren Möglichkeiten, was man als Gerät einstecken kann.

    Beim unteren AL1030 kann man den Pin 2 mappen (Bild2). Diese Möglichkeit gibt es beim oberen Master "AL1030_mit_IODDs" nicht!

    Danke für deine Mühe
    wayne

     
  • eschwellinger

    eschwellinger - 2020-06-19

    dann passt es doch:

     

    Last edit: eschwellinger 2020-06-19
  • wayne - 2020-06-19

    Sorry,
    Du hast ein Bit aus dem Gerätestatus der zyklischen Prozessdaten herausgenommen.
    Das geht so nicht.
    Der Gerätestatus ist ein UIntegerT und beschreibt eben den Gerätestatus. (Siehe Anhang Seite 3)

    Das Bit hat nix mit dem Pin 2 zu tun...

     
  • wayne - 2020-06-20

    Hmmm,
    einmal drüber geschlafen und nun bin ich verwirrt...

    Warum hat der Gerätestatus laut IODD 4Bit und laut ESI 8Bit?

    Allerdings würde ich sagen, hat das Bit 7 immer noch nix zu tun mit dem Pin 2...

    Ausserdem:
    Bei einem als "Digital Input" deklariertem Port (Pin 4) gibt es z.B. gar kein Gerätestatus.
    Da gibt es nur ein Eingangsbit. (Bild 4)

    Danke und viele Grüße
    wayne

     
  • eschwellinger

    eschwellinger - 2020-06-20

    Hi,
    also ich würde mal den IFM Support fragen...
    Grüße
    Edwin

     
  • wayne - 2020-06-21

    Guten Morgen,
    da erhoffe ich mir nicht so viel. Der AL1030 ist steinalt, den gibt's so nicht mehr...

    Nochmals meine letzte und eigentlich ursprüngliche Frage ;-)

    Kann man denn nicht per FB/FC/Methode/... auf einen Index/Subindex zugreifen?

    Grüße
    wayne

     
  • eschwellinger

    eschwellinger - 2020-06-21

    aber die Geräte werden ja schon noch supportet vor allem wäre ja dann die IO Link Gerätebeschreibung eventuell falsch....

    ETC_ADS_IoLinkRead

     

Log in to post a comment.