Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 11:29:49
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: >> Roboterprogrammierer gesucht !? <<

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Indirekte Adrresierung der E/As 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Indirekte Adrresierung der E/As  (Gelesen 428 mal)
holly987
Neuling
*
Offline Offline

Beiträge: 5


« am: 16. August 2011, 16:44:38 »

Hi Leute, bin grade dabei ein Greiferprogramm von KUKA zu ABB zu übersetzten. Aber hierbei beiß ich aus Granit. Ich versuche eine indirekte Addressierung. Beim kuka sah das so aus z.B.

decl int divor [8,8,8]

divor[1,1,1] = 400 ; 400 = mein eingang von dem Reedschalter
divor[1,1,2] = 402

dirue[1,1,1] = 401
dirue[1,1,2] = 403

Dann Später bei der Positions abfrage frage ich dann nur noch $IN[dirue[act_greifer,VentielNr,1]]... usw ab, und schon habe ich ne indirekte Addressierung.
Habe es schon mit Alias IO versucht, aber hat irgendwie nicht geklappt, da ich "divor" als array signaldi  deklariert habe. Ich weiß es ist ein bisschen schwer beschrieben, aber trotzdem hoffe ich, dass ihr mir helfen könnt!!!

Gruß Holly
Gespeichert
Dos 6.22
Member
***
Offline Offline

Beiträge: 76


« Antworten #1 am: 12. September 2011, 17:27:52 »

Bin mir nicht 100% sicher, aber ich meine für den alias Befehl braucht mein ein Zusatzpaket. Kann gut sein, dass du darum mit dem Befehl nicht weiter kommst.

Und meine auch, dass keine richtige Fehlermeldung kommt und auch in der Doku nicht genau steht, dass der Befehl nicht von Standard aus geht.
Gespeichert
Micky
Junior Member
****
Offline Offline

Beiträge: 133



« Antworten #2 am: 13. September 2011, 10:22:20 »

Hi,

die Instruktion AliasIO ist im Standard der RobotWare enthalten und es werden auch entsprechende Fehlermeldungen erzeugt.

Bei der Greiferabfrage musst Du sicher nicht ständig alle Signale gleichzeitig verbunden haben, so dass man mit AliasIo nur die Signale verbindet, die man gerade benötigt, z.B. direkt vor der Afrage des Signalzustands oder dem Setzen des Ausgangs.

Des Weiteren sollte man nicht versuchen den Lösungsansatz von KUKA auf ABB eins zu eins übertragen zu wollen, da die Systemvorrausetzungen sehr unterschiedlich sin (3 dimesionale Signalarray) .

Im Prinzip musst Du bei ABB wissen, wie dass jeweilige Signal in der EIO.CFG heißt. Diesen Namen verbindest Du mit AliasIO mit einem im Programm deklarierten Signal und kannst dieses dort weiterverarbeiten.

Falls Du Deine Signalnamen über Array verwalten willst, solltest Du ein Stringarray verwenden um die Namen der Sognale zu speichern, die Du später verwenden willst.

Du könntest ja mal Deinen Lösungsansatz posten, damit man daeauf näher eingehen kann.

Gruß
Micky
Gespeichert
Programmiersklave
Special Member
*****
Offline Offline

Beiträge: 274


« Antworten #3 am: 14. September 2011, 09:24:00 »

Als rein numerischen Ansatz und bei recht vielen Signalen, die in allen möglichen Kombinationen anfallen können, verwende ich auch schon mal Gruppensignale. Man braucht dann nur noch eine Übersetzungstabelle; oder man pfuscht mit BitAnd, BitOr usw. byteweise in den gelesenen Zahlen rum und extrahiert sich auf diese Weise das, was man braucht. Das versteht nur hinterher leider kein Mensch mehr, auch nicht der, der's programmiert hat. Positiver Nebeneffekt nur: die Rückgabe ist boolsch....

Grüße,
Michael
Gespeichert
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Indirekte Adrresierung der E/As « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS