Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Strukturen auf IO-Abbild eines EtherCAT Slaves legen

  1. #1
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich möchte einen EtherCAT-Slave ansteuern.
    Hierzu habe ich ein Steuerwort, wessen Bits verschiedene Funktionen im Slave ausführen.
    Leider bekomme ich im EtherCAT-IO-Abbild des Slaves nur angezeigt, dass es sich um eine INT Variable handelt.
    Ichhabe mir aber eine Struktur erzeugt, damit ich in meiner Steuerung (im Program) besser lesen kann, was das Bit bewirkt.
    (Bspw. Hauptantrieb.Start lässt sich besser zuordnen, als Hauptantrieb.1) oder?
    Gibt es eine Möglichkeit, dass ich meine erzeugte Strukturvariable direkt auf das IO-Abbild legen kann?
    Siehe Screenshoot).IO-Abbild.jpg

    Danke für eure Hilfe
    Zitieren Zitieren Strukturen auf IO-Abbild eines EtherCAT Slaves legen  

  2. #2
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Hallo!

    Ich verstehe deine Frage nicht so ganz.
    Warum deklarierst du denn nicht einfach eine Ein- oder Ausgangs-Variable vom Typ "MeineStruktur"?

  3. #3
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe ja eine Variable von dem Typ. Diese ist bspw. Eine Struktur, welche 16Bit enthält... Aber der ethercat Slave will eben eine Variable vom Typ INT haben und nicht vom Typ MeineStruktur...

  4. #4
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Hilft dir das Stichwort Multiverknüpfung?
    http://infosys.beckhoff.com/index.ph...p_listview.htm

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Warum muß/soll Deine Struktur direkt auf der IO-Variablen liegen? Kann man die IO-Variable nicht auf die Struktur kopieren, dann nur die Strukturvariablen verarbeiten und zuletzt wieder auf eine IO-Variable kopieren?

    Btw.: verlangt der Slave tatsächlich den Datentyp INT für die Ansammlung von 16 Bits??? Ich hätte eher ein WORD erwartet.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Wenn Du eine Struktur mit 16Bit, also 16 BOOL Variablen hast, ist diese ja 16 Byte und nicht 2 Byte groß.
    Das passt so oder so nicht....auch nicht das "stumpfe" kopieren oder Speicherbereich verschieben.

  7. #7
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von mac203 Beitrag anzeigen
    Wenn Du eine Struktur mit 16Bit, also 16 BOOL Variablen hast, ist diese ja 16 Byte und nicht 2 Byte groß.
    Das passt so oder so nicht....auch nicht das "stumpfe" kopieren oder Speicherbereich verschieben.
    Also wenn ich eine Struktur erzeuge, in welcher 16 Werte vom Typ Bit sind, so bekomme ich bei der SizeOf() Funktion 2 Byte zurück
    und wenn ich diese mit pointern auf in kopiere dann funktioniert das auch alles .... nur Bool zählt für ein Byte NICHT BIT

  8. #8
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sagt mir nichts

  9. #9
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Der Antrieb selbst hat intern ein WORD, jedoch zeigt mir codesys in dem IO-Abbild den wert INT an.

    Natürlich kann ich nach dem Verarbeiten auf eine Variable kopieren, welche auf dem IO-Abbild liegt, aber mir ging es ja nur darum diesen Schritt zu sparen.

  10. #10
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Okay, dann sprechen wir also nicht von der TwinCAT PLC

Ähnliche Themen

  1. Auf interne Struktur eines EtherCAT-Slaves zugreifen
    Von SY50 im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 16.09.2014, 19:00
  2. EtherCAT Hot Connect mit normalen Slaves?
    Von gloeru im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 05.02.2013, 13:06
  3. GND auf PE legen
    Von MrLeeh im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 16.05.2010, 19:43
  4. Antworten: 4
    Letzter Beitrag: 17.12.2008, 12:44
  5. Stop beim Ausfall eines Slaves
    Von jas im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 15.01.2007, 17:12

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •