Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
07. Februar 2012, 14:45:31
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: >> Roboterprogrammierer gesucht !? <<

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  Stäubli Roboter (Moderator: titan72)  |  Thema: TX 60 + ModBus 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] 2 Nach unten Drucken
Autor Thema: TX 60 + ModBus  (Gelesen 2583 mal)
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« am: 19. Januar 2010, 11:31:12 »

Hallo Kollegen,

ich hab hier meinen ersten Stäubli-Roboter vor mir stehen und sollte dem das Laufen beibringen.
Es handelt sich um einen TX60 mit einer CS8C-Steuerung und ModBus.
Programmiert wird er mit VAL3Studio.
Probleme gibt es bereits bei der Deklaration der Ein- und Ausgänge.
Ich habe null Plan wo und wie ich dies tun muss soll.
Normalerweise geschieht dies ja im VAL3 Studio in der dio der Bibliotheken. Da kann ich aber nichts anlegen bzw. kann die vorhandenen I/O nicht umbenennen.
Wenn ich dies unter Werkzeug/Modbus IO config mache steht mir ebenfalls nichts zur Verfügung und der Syntax-Check meckert io:blabla nicht vorhanden.

Kann mir da mal jemand auf die Sprünge helfen wie das mit der Modbusgeschichte abläuft?
Gespeichert

-------------
Gruß
Roland


Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.
Konrad Adenauer
titan72
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 869



« Antworten #1 am: 19. Januar 2010, 12:17:02 »

Hallo,
was für ein Modbus controller? WAGO? Es wird eine modbus.xml erstellt und unter usr\applicom\modbus\ abgelegt! Und unter <dioSection>
    <dio name="mbDout" public="true" privilege="-2147483648" size="32" />
    <dio name="mbDin" public="true" privilege="-2147483648" size="48" />

dann auf die config in der modbus.xml verwiesen (siehe mbDout, mbDin)! (siehe auch angehängte modbus.xml)

Die modbus.xml kannst du mit dem Modbus IO-Config im SRS erstellen oder diese hier entsprechend abändern!  genau
Gespeichert

‘Go To Statement Considered Harmful’

„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra

Dem haben wir nichts hinzuzufügen!
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #2 am: 19. Januar 2010, 13:06:07 »

Servus,

ja es handelt sich um das Wagosystem.
Ich habe mittlerweile eine Lösung gefunden. Sollte das der Standart sein, mutet es etwas seltsam an.
Unter Werkzeuge / Modbus IO Config die Aliasnamen für die entsprechenden Bits eintragen.
Das ganze auf den Controller übertragen.
Den Controller neu booten.
Das ganze zurückübertragen in VAL3 Studio dann sind sie verfügbar.
Ist das nicht schnuckelig  liebe029
Warum einfach wenn es auch Stäubli geht  Shocked
Gespeichert

-------------
Gruß
Roland


Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.
Konrad Adenauer
titan72
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 869



« Antworten #3 am: 19. Januar 2010, 13:39:50 »

...deshalb habe ich immer eine Task (init_io.pgx) in der ich die IO's verlinke, dann bleibt alles bei dir im Prog!!!

z.B.:

begin
  //canbus void dioLink globale dio variablen
  //cDin;B0_7
  dioLink(diGreifer_auf,io:cDin0)
  //dioLink(,io:cDin1)
  //dioLink(,io:cDin2)
  //dioLink(,io:cDin3)
  //dioLink(,io:cDin4)
  //dioLink(,io:cDin5)
  //dioLink(,io:cDin6)
  //dioLink(,io:cDin7)
  //cDout;B0_7
  //dioLink(,io:cDout0)
  //dioLink(,io:cDout1)
  //dioLink(,io:cDout2)
  //dioLink(,io:cDout3)
  //dioLink(,io:cDout4)
  //dioLink(,io:cDout5)
  //dioLink(,io:cDout6)
  //dioLink(,io:cDout7)
  //modbus void dioLink globale dio variablen
  //mbDin;B0_48
  //dioLink(di,io:mbDin[0])
  dioLink(diParkpos,io:mbDin[1])
  dioLink(diRG_ablegen,io:mbDin[2])
Gespeichert

‘Go To Statement Considered Harmful’

„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra

Dem haben wir nichts hinzuzufügen!
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #4 am: 19. Januar 2010, 15:03:56 »

 gutidee merci
Nachdem der Kleine jetzt auch schön artig macht was ich ihm sage hätte ich jetzt doch noch eine Frage.
Wie (Syntax) kann ich über die Ethernetschnittstelle bereitgestellte Daten (Koordinaten) einlesen?
Unter den Üblichen (get, read) finde ich leider nichts.
Gespeichert

-------------
Gruß
Roland


Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.
Konrad Adenauer
kurvanov
Member
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 56


« Antworten #5 am: 19. Januar 2010, 15:47:33 »

Hallo,

Das Einlesein numerischen Daten  geht über der VAL3 funktion aioGet() wie im folgenden Ausschnitt der Dokumentation beschrieben:

Syntax:
num aioGet(<aio aiEingang>)
Funktion:
Übersendet den numerischen Wert von aiEingang.
Wenn aiEingang keinem Ein-/Ausgang des Systems zugewiesen ist, wird ein Laufzeitfehler erzeugt.
Parameter:

 aio& aiEingang:  Ausdruck des Typs aio 


Zum Beispiel :
 aio aiSensor     
putln(aioGet(aiSensor))  // zeigt den aktuellen Wert des Sensors an 

 
N.B. die aio Variable aiSensor soll im Voraus , einem Ein-/Ausgang des Systems
zugewiesen sein. Dies erfolg über die Funktion aioLink()

grüezi
Gespeichert
titan72
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 869



« Antworten #6 am: 19. Januar 2010, 15:56:19 »

... Verbindung per Ethernet-Socket mit sioLink, clearBuffer, sioGet, sioSet. Die Verbindungen per Ethernet-Socket werden beim ersten Lese-/Schreibzugriff durch ein VAL3-Programm aktiviert. Bei Beendigung der VAL3-Anwendung, werden die Verbindungen per Ethernet-Socket automatisch deaktiviert.
Gespeichert

‘Go To Statement Considered Harmful’

„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra

Dem haben wir nichts hinzuzufügen!
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #7 am: 19. Januar 2010, 17:18:00 »

Ich bekomme einfach keinen Zugriff auf die Ethernetschnittstelle.
Laut Stäbli sollte das so gehen:
Code:
begin
 
  sioLink(sioConnect, io:srv)
 
end
Wobei srv wohl für Server stehen soll. Denk ich mal da der Syntax-Check genau da meckert.
Gespeichert

-------------
Gruß
Roland


Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.
Konrad Adenauer
stgo
Neuling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 19


« Antworten #8 am: 19. Januar 2010, 19:04:48 »

Hallo,

sioLink() weist eigentlich zuerst einmal nur dem Eingang io:srv einen anderen Namen zu - man kann auch ohne sioLink() arbeiten. Wenn der Syntax-Check nicht funktioniert, dann z. B., weil es den Eingang srv überhaupt nicht gibt. Diesen muss man zuerst am Handbediengerät (bzw. wenn du offline arbeitest) am Emulator im Menü Systemsteuerung/Ein- und Ausgänge/Socket mit der Taste F8 anlegen. Hier kann man dann auch Client oder Server einstellen und den Namen (hier eben z. B. "srv") vergeben. Dann kann, wie schon beschrieben, mit sioGet und sioSet gelesen und geschrieben werden, also z. B. sioSet(io:srv,n_Request). Hinweis: ist der Roboter-Socket auf "Server" eingestellt, kann die Gegenseite erst die Verbindung aufbauen, wenn die Applikation bei einer der beiden Anweisungen angekommen ist.

Gruss,
Stefan
Gespeichert
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #9 am: 21. Januar 2010, 10:39:42 »

Also Stäubli und ich sind bis jetzt noch keine gute Freunde geworden.

Wir versuchen gerade eine Kommunikation zwischen dem Roboter und einer Matrox-Bildvearbeitung via Modbus zu erstellen.
Dabei bin ich noch nicht dahintergekommen über welche Schnittstelle gelesen und geschrieben wird. Es gibt ja da im Modbus Config keine Möglichkeit.
Ist das in der Steuerung fest eingestellt?
Wenn ja, welche ist es?
Bisher wurden bei uns solche Dinge über die serielle Schnittstelle realisiert.
Ich komm mit diesem SchweizFranzosen und dem Modbus einfach nicht klar.......
Gespeichert

-------------
Gruß
Roland


Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.
Konrad Adenauer
titan72
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 869



« Antworten #10 am: 21. Januar 2010, 12:18:01 »

Hi,
die Schnittstelle an die der WAGO angeschlossen wird??? Ist einer der beiden Ethernetports, du kannst den WAGO mit einem BootPserver in das Subnet 192.168.0.1 packen, der CS8C 192.168.0.254 oder sonst was. Dann auf der HTML Oberfläche des WAGO alles Konfigurieren (Modbus TCP, nicht UDP) und read word/write word muss auf beiden Seiten passen!
Gespeichert

‘Go To Statement Considered Harmful’

„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra

Dem haben wir nichts hinzuzufügen!
kurvanov
Member
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 56


« Antworten #11 am: 21. Januar 2010, 13:06:19 »

Hallo

Habe vor ein paar Wochen eine CS8C Steuerung mit einem Matrox iris GT system verbunden. Die Schnittstelle war Modbus TCP. Ich habe mich jedoch nur um die roboter seite gekümmert. Das Matrox system wurde bei einem Partner in Betrieb genommen. Habe jedoch mit grossem Interesse geguckt

Bist du sicher dass du einen Modbus Master (client) in dem Matrox system hast? Es ist, meines Wissens, nicht standart.

Du musst dann ein ModbusMasterSetup Block am Anfang deinem flowchart einfügen und dem entsprechend konfigurieren (Master Adress=1 )

Ich würde erst Daten vom Modbus Server (CS8C) lesen mithilfe eines ModbusMasterReader Blocks. Dieses Block muss mit der IP Addresse der CS8C konfiguriert werden (Felder Network address und Slave Adress). Variablen werden mit Add Button angelegt (erstens mit short)

Seitens Roboter, solltest du mit SRS unter Tools->Modbus-IO config (CTRL+SHIFT+A) die ensprechende Variablen anlegen (erstens mit word anfangen)
Dann wie titan72 schon erklärt hat, die erstellte modbus.xml datei, per FTP unter usr\applicom\modbus\ ablegen.

Wenn du soweit bist helfe ich gerne weiter
mfG
Gespeichert
titan72
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 869



« Antworten #12 am: 22. Januar 2010, 09:09:10 »

... und wie ist jetzt der Stand der Dinge!??  meld
Gespeichert

‘Go To Statement Considered Harmful’

„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra

Dem haben wir nichts hinzuzufügen!
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #13 am: 22. Januar 2010, 13:33:06 »

Die Verbindung zur Kamera läuft jetzt über die Ethernetschnittstelle und funktioniert soweit auch.
Jetzt heisst es noch ein wenig Routine im Umgang mit der Software und dem sonstigen Geraffel des Robis zu bekommen.
 merci für die Hilfe bis hierher.
So wie ich das Ganze bisher einschätze werde ich mich bestimmt bald wieder mit  nocheck melden.
Gespeichert

-------------
Gruß
Roland


Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.
Konrad Adenauer
titan72
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 869



« Antworten #14 am: 22. Januar 2010, 14:36:47 »

Hi,
das war bei meinem ersten Stäubli auch so, vor allem wenn das erste Prog angestartet wird und man waitEndMove() nicht bedacht hatte, wird sich aber mit der Zeit legen, die haben auch einige angenehme Aktionen drauf!!!
Gespeichert

‘Go To Statement Considered Harmful’

„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra

Dem haben wir nichts hinzuzufügen!
Seiten: [1] 2 Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  Stäubli Roboter (Moderator: titan72)  |  Thema: TX 60 + ModBus « 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