Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
07. Februar 2012, 14:54:52
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: English and international Robotsupport now on Robot Forum. Also Supported by the Moderators of the roboterforum.de

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 2584 mal)
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #15 am: 24. Januar 2010, 15:45:11 »

Hallo

Habe vor ein paar Wochen eine CS8C Steuerung mit einem Matrox iris GT system verbunden.

Wenn du soweit bist helfe ich gerne weiter
mfG


Die Hilfe nehme ich doch sehr gerne an. Ich habe die Daten auf der Ethernetschnittstelle (ASCII-Code) eingelesen,
in num konvertiert und wollte sie jetzt in einem Array ablegen um sie dann an der entsprechenden Stelle der Positionsvariablen zuzuordnen.
Wenn ich da mal ein kleines Syntaxbespiel sehen könnte wäre ich sehr verbunden.
Oder befinde ich mich da völlig auf dem Holzweg?
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 #16 am: 25. Januar 2010, 09:05:48 »

Hallo

Wie gesagt, der Robi und die Kamera waren über Modbus verbunden.

Bei dir, haben die Funktionnen mid und toNum sicherlich sehr geholfen beim Parsen deiner Zichenkette.
Du bräuchtest bloss diese num's in die trsf deiner angelegten point Daten zu schlagen.   

sDataCam ist ein globales string und enthält die empfangenen Daten.
l_sDatan sind lokale Hilfsvariablen
pObjectPos ist eine point Variable die später als Zielpunkt gilt.

Code:
  sDataCam="X+123.45;Y-987.65;Z+543.98"
 
l_sDataX=mid(sDataCam,8,1)
l_sDataY=mid(sDataCam,8,10)
l_sDataTheta=mid(sDataCam,8,19)

toNum(l_sDataX,pObjectPos.trsf.x,bResult)
toNum(l_sDataY,pObjectPos.trsf.y,bResult)
toNum(l_sDataTheta,pObjectPos.trsf.rz,bResult)

mfG
Gespeichert
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #17 am: 25. Januar 2010, 21:54:53 »

Klasse  danke
So etwas in der Art dachte ich mir!
Gespeichert

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


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

Geschlecht: Männlich
Beiträge: 479



« Antworten #18 am: 27. Januar 2010, 12:14:53 »

Mhm, ich hab groessere Probleme mit dem Ding als ich je dachte.
Ich kenn den Robi jetzt erst ein paar Tage, aber mein Freund wird der niemals werden.

Problem:
Code:
  //Daten von der Schnittstelle einlesen
  //************************************
  //X-Koordinate einlesen
  sioGet(sControl, nReadData)
Eingabe: -123.456

Wenn ich jetzt zur Kontrolle
Code:
  sioSet(sControl, nReadData) 
durchführe, werden die Zeichen so wie gelesen zurückgeschickt: -123.456

Da die Daten dem Roboter aber im ASCII-Code bereitgestellt werden,  müssen sie zuerst gewandelt werden.
Code:
    sSaveX = chr(nReadData)
oder
Code:
    sSaveX = sSaveX +chr(nReadData)
liefern immer nur das erste Zeichen (-)  der eingelesenen Zeichenkette zurück.
Bin ich dann noch so frei und wandle das mit toNum um, erhalte ich ein ? zurück.

Mir ist einfach nicht klar, wie ich auf den Inhalt (die ASCII-Zeichenkette) von nReadData zugreifen kann nocheck

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 #19 am: 28. Januar 2010, 00:05:41 »

Hallo

Ich würde folgendes vorschlagen (nReadData is laut VAL3 doku eine Tabelle von num):

Code:
nEingelesen=sioGet(sControl,nReadData)
for l_i = 0 to nEingelesen
 sSaveX=sSaveX+ chr(nReadData[l_i])
endFor
Gespeichert
Roland Keller
Administrator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 479



« Antworten #20 am: 28. Januar 2010, 15:35:54 »

Hallo kurvanov,

danke für deine Hilfe bis hierher. supi
Falls es für jemanden interessant sein sollte. Daten einlesen und zur Kontrolle wieder ausgeben lassen.
Funktionieren tut es wie folgt:

Code:
begin
  //Koordinaten von der Schnittstelle einlesen
  //******************************************
  sReadData=""
  do
    nZeichenZaehler=sioGet(sEthernet, nReadData)
    if (nZeichenZaehler>-1) and (nReadData>=32)
      sReadData=sReadData+chr(nReadData)
    endIf
    bResult=nZeichenZaehler>-1
  until (nReadData==13) or !bResult
  putln("Gelesene Koordinaten: "+sReadData)
end

Edit// Zur Anmerkung. Der Code gilt für die Ethernetschnittstelle bzw. die serielle Schnittstelle.(Socket)
Gespeichert

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


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

Geschlecht: Männlich
Beiträge: 479



« Antworten #21 am: 18. August 2010, 10:23:10 »

Sodele,

nachdem ich eine Weile von der stäublischen Sprache verschont wurde muß ich die nächsten Tage eine Roboterzelle zum Laufen bringen.
Ich geb´s nicht gerne zu (wer tut das schon), aber ich hab immer noch ein kleines Verständnisproblem mit der Modbus-Konfiguration.
An meinem Wago Ethernetcontroller 750-842 hängen 4 digitale Eingangsmodule (32 Eingänge), 1 analoges Ausgangsmodul (2 analoge Ausgänge) und 4 digitale Ausgangsmodule (32 digitale Ausgänge).
Wenn ich nun den Controller mit dem Robi vernetze behauptet ersterer mittels der USR-Led ständig daß die Konfiguration nicht stimmt.
Auf Roboterseite habe ich folgende Modbus IO config:

32 CS8 Input (R/W) Typ Bit
2 CS8 Output (R) Typ Word
32 CS8 Output (R) Typ Bit.

In Ermangelung einer "gscheiten" Dokumentation fehlt mir im Moment das Verständnis dafür welche Einstellungen auf Seiten von Wago gemacht werden müßen.
Kann mir bitte mal jemand einen Wink (gerne auch mit Zaunpfahl) geben damit ich da in die richtige Spur komme?
Wäre super.

Danke im Voraus.
Gespeichert

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


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

Geschlecht: Männlich
Beiträge: 479



« Antworten #22 am: 19. August 2010, 16:14:36 »

Hat sich erledigt....die Kiste läuft.
Wer lesen kann ist klar im Vorteil Idea
Gespeichert

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


Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.
Konrad Adenauer
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