TwinCAT Indexgroup / -offset Erklärung und EL6632

Bergungsdackel

Level-1
Beiträge
39
Reaktionspunkte
0
Guten Tag.

Ich bin grad dabei eine Projektarbeit für die Hochschule zu schreiben.

Ich verstehe nicht genau, was die Indexgroup bzw. der Indexoffset z.B. in einem ADSREAD-Baustein ist. Könnte mir jemand das grob erklären oder einen Link zu einer Seite schicken, wo das erklärt wird.

Und wenn wir schon dabei sind: Kann ich mit dem ADSREAD Baustein eine (I)RT-Baugruppe (z.B. EL6632 bzw. EL6631) auslesen? Also die IRT-Baugruppe kriegt Daten ausm Profinet und ich möchte in einem Baustein diese Daten abfragen, funktioniert das über ADSREAD bzw. ADSWRITE (in die andere Richtung)?

Gruß
bergungsdackel
 
Zum Thema Index und Index Offset schau mal hier im Infosys nach.
I/O Daten fragt man eigentlich über die Prozessdaten ab, da die ADS Befehle (meine ich) nicht echtzeitfähig sind. Du konfigurierst die Klemme und alle an Ihr angeschlossenen Slaves und mappst dann Deine Variablen auf die I/Os der entsprechenden Slaves.
 
Zuletzt bearbeitet:
Danke für deine Antwort!

Ich habe eine IRT-Baugruppe EL6632. Diese bekommt Daten von Profinet zugeschickt. Fungiert also sozusagen als Slave. Diese Daten möchte ich auslesen und weiterverarbeiten und z.B. in einer Globalen Variable etc. speichern. Also die Baugruppe kriegt keine Structs geschickt (8 Bytes), diese empfangen, auslesen, weiterverarbeiten. Geht das nicht über ADSREAD...?
 
Ich kenne mich jetzt nicht mit Profinet aus, aber Du musst ja irgendwie die Topologie in TwinCAT konfigurieren und festlegen wie viele Daten gesendet und empfangen werden sollen, danach musst Du einfach die angelegten I/Os mit Variablen verknüpfen, eben z.B. Deinen globalen Variablen.
Übrigens, wenn ich die Doku richtig verstehe ist die Klemme ein Master.
 
Zuletzt bearbeitet:
Das ist nun die Frage. Wo lege ich diese I/O Variablen an? Ich kann mein EL6632 einfügen, für IRT konfigurieren aber wo sage ich dass er die Daten abspeichern soll, sodass ich darauf zugreifen kann. Beziehungsweise andersrum, wo lege ich die Daten hin, sodass ich dem EL6632 sagen kann, dass er jetzt Daten rausschicken soll. Aus der Doku von EL6632 werd ich nicht schlau...
 
Soweit noch nicht. Ich befinde mich noch im "Simulationsmodus". Also noch keine "reale" Hardware. Die Frage war ja bloss ob es mit dem ADSREAD Baustein überhaupt funktioniert und wie die EL6632-Baugruppe ihre Daten austauscht...
Und wie man die Indexgroup einstellt. In meinem Projekt befindet sich bloss die IRT-Baugruppe und die Bausteine zum Auslesen. Die TwinCAT-Steuerung läuft dann auf nem Beckhoff-IPC, dieser ist im Profinet Netzwerk. Die EL6632 empfängt dann Daten von einem anderen Profinet-Teilnehmer.
 
Ich kenn die Details jetzt nicht, aber das kann vermutlich schon via ADSREAD erfolgen, allerdings halt nicht in Echtzeit und ich weiß auch nicht, wie man den Index und den Offset dafür ermittelt. Zyklische Daten werden normalerweise über die Prozessdaten ausgetauscht die dann mit Variablen in Deinem SPS-Programm verknüpft sind, aber dafür muss die Hardware komplett konfiguriert sein, egal ob durch Scannen oder von Hand.
 
Mich deucht du suchst Informationen im falschen Heuhaufen.
Zur Konfiguration des ProfiNet Masters.

Die Konfiguration besteht aus zwei Bereichen
#1: Einfügen der EL633x in den EtherCAT-STrang
#2: Einfügen des entsprechenden ProfiNET Controller unter EA und hier erfolgt eine Verknüpfung zur Klemme im EtherCAT. Jetzt kannst du hier mit den entsprechenden GSDMLs deine Slaves einfügen (oder aber scannen wenn du sie physikalisch vorhalten würdest).

Die EL633x als Gateway wird dann sozusagen automatisch konfiguration auf Basis der Parameter von #2.

Zugriff auf die Datenwerte über ADS ist zwar möglich (da diese in das CoE-Objekt beim übersetzen gemappt werden) aber wirklich der falsche Weg weshalb ich jetzt nicht den IdxOfs und IdxGrp erkläre.


Guga
 
Zurück
Oben