# Probleme mit Profibus und Beckhoff



## magicp7 (11 Mai 2009)

Hallo, 
ich habe vor kurzem den Auftrag bekommen, über Profibus eine SPS von Beckhoff mit der Profibusklemme EL6731 und einer IRC5 Robotersteuerung mit der Profibus-Schnittstelle 1811 aufzubauen. Jetzt gibt es ja bei TWINCAT vorgefertigte Bausteine für die Profibuskommunikation, ADSREAD und ADSWRITE. Das Problem ist jetzt, dass man da einen Port angeben muss. Ein Anruf bei Beckhoff hat mich dann insofern weitergebracht, dass man mir sagte, dass man dort die Adresse des angesprochenen Slaves plus 1000 eintragen muss, und zwar hexadezimal addiert. 
Die Frage ist jetzt nur: 
1.   1000(hex) + Adresse(hex)
2.   1000(hex) + Adresse(hex)

Außerdem muss man noch eine Index-Gruppennummer, und eine Index-Offsetnummer angeben, von denen in der Hilfe steht, dass sie in der ADS Tabelle des angesprochenen Gerätes zu finden seien. Und bei Beckhoff sagte man mir, das steht in der Dokumentation des angesprochenen Gerätes. Ich habe aber weder eine ADS-Tabelle gefunden, noch steht in der Dokumentation was darüber. Und bei ABB hat man von diesen Dingen auch noch nichts gehört. Jetzt ist hier die Frage, wo ich das sonst noch finden könnte, oder ob die Dinger überhaupt notwendig sind.

Ich hoffe, ihr könnt mir weiterhelfen.


----------



## trinitaucher (11 Mai 2009)

> Jetzt gibt es ja bei TWINCAT vorgefertigte Bausteine für die Profibuskommunikation, ADSREAD und ADSWRITE.


Zunächst mal:
Die ADS-Funktionen haben generell erstmal nichts mit Profibus zu tun, sondern sind für die generelle TwinCAT-interne Kommunikation.
Wenn du ne Profibus-Schnittstelle hast, musst du dich eigentlich gar nicht bis hinunter zur ADS-Ebene bewegen.

Die EL6731 gibt's als Master- und als Slave-Baugruppe. Wer ist Master? Beckhoff oder der Robi?
DIn beiden Fällen werden im TwinCAT Prozessdaten für die zyklische Kommunikatione festgelegt, die du dann in einer Profibus-Steuerung per GSD-Datei einbinden kannst:

http://infosys.beckhoff.com/index.php?content=content/1031/el6731/html/bt_el6731-0010_slave.htm

ADS halte ich für den "gefährlicheren" Weg, da du schnell mal auf falsche Adressen schreiben kannst.


----------



## magicp7 (12 Mai 2009)

Die SPS ist der Master und der Robi ist Slave.

Das man das mit den ADS-Bausteinen macht, hat man mir bei Beckhoff so gesagt, deshalb dachte ich die müssen es ja wissen.

Wenn ich dann mit der GSD Datei eine Box angefügt habe, kann ich mit einem Rechtsklick auf die Box ein Modul hinzufügen, die dann Input und Output heißen, und deren Breite ich auch festlegen kann. Kann ich diese Module dann mit Variablen in TWINCAT verknüpfen, und dann Daten senden und empfangen, indem ich diese Variablen schreibe bzw. lese?
Wenn ich zum Beispiel ein Modul erstelle, das Output heißt, und das mit der Variable X in TWINCAT verknüpfe, und in TWINCAt dieser Variable dann den Wert 8 zuweise, wird dann eine 8 über Profibus gesendet, oder wie soll ich das verstehen?


----------



## M_o_t (12 Mai 2009)

Hallo,

bin mit Beckhoff zwar nicht fit. Bei anderen Codesys Steuerungen wird der Profibusslave mit der GSD Datei eingebunden, dort kann dann die Startaddresse vergeben werden und die Länge der Ein- und Ausgänge.
Dann wird im Programm nur noch mit den AT% adressiert. Hier ist dann sowohl bitweiser Zugriff möglich oder eben ganze Byte/Worte. Je nachdem was der Slave will.

Gruß
Silke


----------



## magicp7 (14 Mai 2009)

M_o_t schrieb:


> Hallo,
> 
> bin mit Beckhoff zwar nicht fit. Bei anderen Codesys Steuerungen wird der Profibusslave mit der GSD Datei eingebunden, dort kann dann die Startaddresse vergeben werden und die Länge der Ein- und Ausgänge.



Das geht bei Beckhoff auch so. Aber was ist AT%?


----------



## uncle_tom (14 Mai 2009)

Hallo Kollegen,

also ich hab mir mal die Klemme EL6731 angeschaut. Die kann man doch ganz einfach im System-Manager anlegen und die entsprechenden Slaves via GSD-Datei einlesen und konfigurieren.

Auf die Slave Ein-  und Ausgangsdaten kannst du dann genauso zugreifen wie auf jede andere Ein- oder Ausgangsklemme auch.

D.h. du definierst in PLC-Control entsprechende Ein- und Ausgangsvariablen und verknüpfst (Mapping) diese im Systemmanager mit den EA-Variablen des Slaves.



> Das geht bei Beckhoff auch so. Aber was ist AT%?


Nichts für ungut - aber das sind Grundlagen bzgl. der Variablendeklaration. Wenn die nicht vorhanden sind, dann wird´s vermutlich mit Profibus erst recht nichts. Vielleicht hilft mal ein Blick ins Info-System von Beckhoff.
Ist echt recht nützlich - da schau ich auch immer rein, wenn ich nicht weiter weiss.


----------



## trinitaucher (14 Mai 2009)

@ uncle_tom:
*ACK*



magicp7 schrieb:


> Das geht bei Beckhoff auch so. Aber was ist AT%?


1. Doku lesen
2. Intensiv mit TwinCAT beschäftigen, sonst geht das Projekt garantiert in die Hose!
3. merken: http://infosys.beckhoff.com/

http://infosys.beckhoff.com/index.p...31/tcquickstart/html/tcquickstart_sample3.htm
http://infosys.beckhoff.com/index.p...31/tcquickstart/html/tcquickstart_sample6.htm


----------

