20. März 2019, 18:32:49
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] Zusätzliche Ein- und Ausgänge hinzufügen


normal_post Autor Thema: [offen] Zusätzliche Ein- und Ausgänge hinzufügen  (Gelesen 1011 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

19. November 2018, 08:36:55
Gelesen 1011 mal
Offline

newbiemechatronic


Hallo zusammen,
Wir haben einen IRB 2400/26 mit IRC5 für ein Forschungsprojekt. Derzeit haben wir einen BK5250 Devicenet-Koppler mit 16 Eingängen und 16 Ausgängen. Wir haben jetzt zusätzliche digitale und analoge Ein- und Ausgangskarten bestellt. Da die derzeitigen Karten von ABB eingebaut und konfiguriert worden sind, wollte ich fragen ob jemand eine Anleitung besitzt, wie ich die zusätzlichen Karten hinzufügen kann. Falls benötigt wir haben zur Zeit eine KL1819 (digitale Eingänge) und eine KL2809 (digitale Ausgänge) an dem Buskoppler hängen. Bestellt worden sind eine zusätzliche KL1819 (digitale Eingänge), eine zusätzliche KL2809 (digitale Ausgänge), eine KL3404 (analoge Eingänge), eine KL3454 (analoge Eingänge), eine KL4034 (analoge Ausgänge) und eine KL4424 (analoge Ausgänge). Montieren würde ich die Module auf die folgende Weise: BK5250 -> KL1819 -> KL1819 -> KL2809 -> KL2809 -> KL3404 -> KL3454 -> KL4034 -> KL4424

Ich danke schon einmal im Vorraus für jede Hilfe.
  • gefällt mir    Danke

Heute um 18:32:49
Antwort #1

Werbung

Gast

19. November 2018, 13:20:04
Antwort #1
Offline

6303_6349


Hey newbiemechatronic,
Das Thema DeviceNet ist so eine Sache für sich.
Ich habe die ganzen Informationen über Probieren herausbekommen, ich hoffe, das funktioniert bei dir dann genauso ;-)

Der Buskoppler beim DeviceNet muss nicht wissen, wie viele Ein- und Ausgangskarten hinter ihm hängen. Wichtig ist nur, dass du es deiner Robotersteuerung sagst. Ich weiß nicht welche RW du benutzt, aber bei unseren (RW5) muss über die "Unit Type" die Größe der Ein- und Ausgänge eingegeben werden, unabhängig ob digital oder analog. Das kannst du ja einfach zusammenrechnen und eintragen.
Beim Anlegen der Eingänge musst du dann darauf achten, dass die analogen Ein- und Ausgänge immer zuerst kommen, egal, in welcher Reihenfolge sie an deinem Buskoppler hängen. Die Reihenfolge wird nur relevant, wenn du mehrere AIs/DIs/AOs/DOs benutzt.
Wenn du das jedoch logisch aufbauen willst, dann würde ich dir folgende Reihenfolge empfehlen:
BK5250 -> KL3404 - > KL3454 -> KL1819 -> KL1819 -> KL4034 -> KL4424 -> KL2809 -> KL2809

Eine Anleitung besitze ich leider nicht, die habe ich auch schon vergeblich gesucht.
Vielleicht hilft dir das ja weiter :)
Über eine Rückmeldung würde ich mich freuen, ob es geklappt hat!

Gruß
  • gefällt mir    Danke

19. Dezember 2018, 15:20:50
Antwort #2
Offline

newbiemechatronic


Hallo 6303_6349
Nach langem Warten haben wir heute endlich die Beckhoff Module bekommen und auch gleich eingebaut. Beim Konfigurieren der Module sind wir aber auf ein Problem gestoßen.  Wir haben die Module in der Reihenfolge eingebaut wie du meintest. Beim Eintragen der Ein- und Ausgangsgröße sind wir uns aber unklar was wir da eintragen sollen. Wir hatten bis jetzt 16 digitale Eingänge und digitale 16 Ausgänge. Im Instanz Editor wird die Größe in Bytes eingetragen. Bei uns steht aber beide Male nur "1", was uns etwas verwundert da 16 Ein- oder Ausgänge ja eigentlich 2 Bytes sein sollten. Jetzt sind wir uns nicht sicher was wir mit den neuen Modulen eintragen sollen. Welche Größe ist hier einzutragen. Die Größe im Prozessabbild oder Größe anhand der Auflösung. Zur Info wir verwenden RW5.61_08.00.8001. Wie müssen wir hier die Größe zusammenrechnen und eintragen. Ist nach dem Eintragen der Werte, dann noch etwas zu machen, bezüglich des Mappings der Ein und Ausgänge?
lg und schöne Feiertage aus Wien
newbie
  • gefällt mir    Danke

20. Dezember 2018, 08:21:14
Antwort #3
Offline

6303_6349


Hey newbie,
Das ist wirklich komisch.
Ich habe gestern zufälligerweise auch zwei neue 16er DIs hinzugefügt, wobei ich die Bytes logischerweise um 4 erhöht habe.
Kannst du vielleicht mal ein Screenshot von der I/O-Konfiguration Unit Type hier reinstellen?
Die Robotersteuerung gibt auch einen Fehler aus, wenn die Konfiguration falsch ist. Daher könnt ihr auch einfach mal ausprobieren, die Karte dahinterzuklemmen und die Größe "auszuprobieren".
Grüße und ebenso schöne Weihnachten!
  • gefällt mir    Danke

20. Dezember 2018, 09:53:23
Antwort #4
Offline

newbiemechatronic


Hi 6303_6349,
vielen Dank erstmal für die Antwort. Ich hab hier einmal einen Screenshot im Robotstudio gemacht. Das ist die alte Konfiguration, wie wir sie bis jetzt genutzt haben. Aus irgendeinem Grund konnten wir damit 16 Ein- und Ausgänge steuern. Keine Ahnung wie der Kollege das damals bei der Inbetriebnahme gemacht hat. Nur damit ich auch alles überprüfe, das Vorgehen ist das folgende: RobotStudio öffnen -> Direktverbindung zu Roboter erstellen -> unter Konfiguration -> I/O wählen -> Unit Type -> BK5250 -> Bearbeite Unit Type.
Und hier werden dann die neuen Input und Output Size eingetragen. Stimmt dieses Vorgehen? Und wie macht man dann das Mapping der Ein und Augänge? Ganz schlau werde ich aus den verfügbaren Unterlagen nicht.
  • gefällt mir    Danke

Heute um 18:32:49
Antwort #5

Werbung

Gast

20. Dezember 2018, 09:56:31
Antwort #5
Offline

Programmiersklave


Solltest da, wenn Du die Busadresse richtig eingestellt hast, den Typ auf DN_GENERIC setzen. Nach einem Neustart schreibt Dir dann die Steuerung alle ermittelten Parameter in zwei Einträge ins Ereignislog, das sollte auch bei diesem Steuerungsstand schon gehen, wenn ich mich recht erinnere. Da ist dann auch die Breite korrekt angegeben.
Anschließend konfiguriert man die Karte mit den dort zu lesenden Parametern auf die korrekten Werte und auf den korrekten Typ (also DN_Generic wieder weg). 

Zum Mappen konfiguriert man sich die Signalnamen auf die entsprechenden Werte im Systemparameter unter "Device Mapping" (fängt dort bei 0 an zu zählen).

Grüße,
Michael
  • gefällt mir    Danke

20. Dezember 2018, 10:45:02
Antwort #6
Offline

newbiemechatronic


Hi Programmiersklave,

Ich hab folgendes gemacht:
1) Im RobotStudio hab ich unter Kunfiguration -> I/O -> Unit nachgeschaut. Da ist der Beckhoff Koppler als DeviceNet Unit eingetragen. Der Typ ist bei uns Standardmäßig auf DN_Generic gesetzt (Screenshot Bild 5). Sollter der im laufenden Betrieb anders sein?

2) Auf dem FlexPendant hab ich im ereignis Log nachgeschaut und finde ein paar meldungen bezüglich der E/A. Von der DeviceNet Meldung hab ich ein Foto angehängt. Sind diese Größen einzutragen? Was mich wundert ist die unterschiedliche Größe, obwohl gleich viele Ein- als auch Ausgänge vorhanden sein sollten.

Grüße newbie
  • gefällt mir    Danke

20. Dezember 2018, 11:40:56
Antwort #7
Offline

6303_6349


Hallo,

@Programmiersklave:
Interessant, hab ich noch gar nicht gewusst! Erleichtert einiges.

@newbie:
Die "Type of Unit" deines Kopplers unter "Unit" muss natürlich dein unter "Unit Type" angelegter Koppler sein. Woher soll die Steuerung sonst wissen, von welchem Typ dein Koppler ist? Ist alles ein bisschen doppelt, da du deinen Koppler zweimal anlegst, aber so funktioniert es.
Ich vermute, dass sich die Steuerung durch das DN_Generic sich die Größen selbst errechnet und daher das System funktioniert. Würdest du jetzt die "Type of Unit" ändern, würden die Ein- und Ausgangsbyte sicherlich nicht mehr passen.

Gruß
  • gefällt mir    Danke

20. Dezember 2018, 12:29:32
Antwort #8
Offline

newbiemechatronic


Hi,

@6303_6349: Nach dem ich jetzt den "Unit Typ" unter "Unit" geändert habe, ist endlich die Meldung mit der Größe weg. Wieso das bisher funktioniert hat, weiß ich aber immer noch nicht (ist aber auch egal). :denk:
Der nächste Schritt ist das erstellen der Signale, nehme ich an? Wir haben da schon für die bisherigen 16 Eingangs- bzw. Ausgangssignale Signale definiert. Die müssen wahrscheinlich auch geändert werden. Zwei Dinge sind mir jetzt noch unklar:
1) Was trage ich in "Unit Mapping" ein? Zähle ich da einfach die Ein- und Ausgänge zusammen und sage dann: Der erste Eingang ist ein Analoger Eingang, daher erstelle ich ein Analoges Eingangssignal und unter Unit Mapping trage ich dann dafür 0 ein. Da wir 8 analoge Eingänge haben, müsste ich für den ersten digitalen Eingang also 8 Eintragen (9 Eingang im Verbund - 1)? Und das selbe für die Ausgänge?

2) Wenn ich ein analoges Signal erzeuge, will der Instanz Editor den maximum logical value, den maximum physical value, maximum physical value limit, das maximum bit value und auch die entsprechenden minimal eingesetzt bekommen. Bei einer analogen Eingangskarte mit 12 Bit Auflösung, -10 ... +10V Messbereich, einer Breite im Prozessbild von 4x16 Bit? Der maximale pysical Value wäre dann 10V, der maximum bit value 32,767 (2^15 ? 1), der minimale bit value  ?32,768 (?1 × 2^15)? Was wird dann als logical value angegeben?

Vielen Dank für die Hilfe
  • gefällt mir    Danke

Heute um 18:32:49
Antwort #9

Werbung

Gast

20. Dezember 2018, 13:20:13
Antwort #9
Offline

IsSchoGuat


Hallo

im anhang findest du eine Liste bzgl. mapping
bei 64 input output hast du dann auf jeder seite

512 ein und ausgänge das mapping beginnt jeweils bei null
mapping 0 = 0.0
1 = 0.1
7 = 0.7
8 = 1.1 usw..
  • gefällt mir    Danke

20. Dezember 2018, 13:24:46
Antwort #10
Offline

6303_6349


Hallo,

1) Generell korrekt. Du fängst mit deinen analogen Signalen an, danach kommen die digitalen. Die analogen Karten übertragen laut Datenblatt 16 Bit Daten. Das bedeutet, dass z.B. ein analoger Eingang von 0-15 gemappt wird, der nächste dann von 16-31. Die digitalen Eingänge beginnen dann ab 32 und werden weiter nach oben gezählt.
Die Ausgangssignale werden separat behandelt und fangen mit den analogen Signalen wieder bei 0 an.

2) Ich kann dir das ganze erklären, aber ich verweise dir lieber auf die Doku, weil das ganze da auch recht gut erklärt ist. Falls du dann noch Fragen hast, meld dich einfach nochmal! :)
Doku: Datei -> Hilfe -> Systemparameter -> Inhalt -> Parametergruppe I/O System -> Typ Signal

Grüße
  • gefällt mir    Danke

20. Dezember 2018, 15:45:18
Antwort #11
Offline

newbiemechatronic


Hey euch allen,

Vielen Dank für die Tolle Hilfe mit dem Projekt. Ich hab's endlich geschafft alle digitalen Ein- und Ausgänge zu konfigurieren. Sind auch schon getestet und funktionieren spitze. Jetzt bin ich dabei die analogen Fertig zu machen. Nachdem ich mit die Systemparameter Doku jetzt mehrfach durchgelesen habe ist eine letzte Frage bei mir aufgekommen. Bei der Konfiguration gibt man den Logical, den Physical und den Bit Value an. In der Doku steht jetzt: Wenn der Logical Value auf null gesetzt wird, werden direkt die physischen Werte zugeordnet. Wenn der physische Wert auf null gesetzt wird wird direkt der Bit-Wert zugeordnet. Wenn der Bit Value auf null gesetzt wird wird der Wert auf Basis des Analog Encoding Type berechnet. Verstehe ich das ganze richtig, dass ich jetzt hergehen könnte, bei allen null reinschreiben könnte und bei Analog Encoding Type für den Messbereich -10V bis +10V einfach nur Two complement  auf max = 2^(16-1)-1 und min = 2^(16-1) konfigurieren muss?

Ich danke euch allen nochmals vielmals für die tolle Hilfe hier im Forum  :danke:
  • gefällt mir    Danke

07. Januar 2019, 07:54:07
Antwort #12
Offline

6303_6349


Guten Morgen newbie,

Frohes Neues erstmal.

Wenn du überall die 0 einträgst, errechnet sich die Steuerung die Größe über das Mapping sowie den Encoding Type und skaliert dementsprechend.


Das kannst du so machen und wäre korrekt. Als Signal bekommst du dann Werte zwischen -32768 und 32767. Ich persönlich finde es jedoch schöner mit den logischen Werten zu arbeiten. Ich weiß nicht, welche Signale du misst, aber bspw. bei einem Weg kannst du bei min. und max. logischen Wert die maximalen Strecken eintragen, die gemessen werden können und die Steuerung wandelt dir deine Bit-Werte direkt in den Weg (einfacher Dreisatz).

Gruß
  • gefällt mir    Danke

Heute um 18:32:49
Antwort #13

Werbung

Gast


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH