Beiträge von Thilbi

    Hallo,


    erst mal brauchst du sicher ein WoV 3.1 auf dem Desktop. Dann solltest du gleich noch die OfficeLite Version prüfen. Wenn dort noch die KSS 8.2.x installiert ist benötigst du vorher noch ein Update für OfficeLite auch auf KSS 8.3.x. Danach kann es funktionieren. Leider warte ich auch noch auf mein Update und kann dir erst danach sagen was noch zu beachten ist.


    Gruß
    Thilbi

    Ich habe hier das gleiche Problem. Allerdings ist das mexikanische Versorgungsnetz inzwischen wieder etwas stabiler und wir haben konstant um die 480V.
    Zudem waren am Anfang noch falsche Maschinendaten geladen. Da kam beim Hochlauf immer die Meldung "Motormoment durch Umrichter begrenzt".


    Den Vorschlag die schweren Lasten zu reduzieren find ich sehr interessant. Was soll ich denn reduzieren? Am Kundenbauteil kann ich wenig ändern und den Greifer auf der Baustelle leichter zu machen ist wohl auch beliebig schwierig und bringt auch nicht mehrere Kilos.


    Gruß
    Thilbi

    Hallo,


    ich bin gerade bei einem Kunden bei der IB von ein paar Robotern mit dem neuen Controller. Leider haben wir noch keine Spannung auf den Controllern, aber beide neuen haben sowohl eine serielle Schnittstelle wie auch ein Consolen-Port. Daher denke ich jetzt mal das die ursprüngliche Methode um die Boot Sequence zu stoppen auch bei den neuen Controllern funktionieren sollte.



    Gruß
    Thilbi

    Hallo,


    Gegenfrage:
    Wie viele Sprachen kannst du sprechen und verstehen? Deutsch, Englisch und weiter?


    So ähnlich ist es doch auch bei den Robotern und der Perepherie drumrum. Jeder Roboter/SPS/Kamera haben ihre Sprache und Eigenheiten. Wenn der Mann schon ein so großes Spektrum von Können hat muss er meiner Meinung nach nicht auch mit aller Gewalt mehr in sich reinprügeln.



    Gruß
    Thilbi

    Hallo,


    wenn man mal davon ausgeht, dass du den normalen Profibus-Slave-Adapter (PCMCIA) im Roboter stecken hast, sollten die Standardeinträge in der eio.cfg u. a. diese sein:


    EIO_BUS:

    -Name "Virtual1" -ConnectorID "SIM1" -ConnectorLabel "SIM1"

    -Name "DeviceNet1" -BusType "DNET" -ConnectorID "PCI1"\
    -ConnectorLabel "First DeviveNet"

    -Name "Profibus_FA1" -BusType "PBUS" -ConnectorID "FA1"\
    -ConnectorLabel "Profibus-DP Fieldbus Adapter" -RecoveryTime 50


    EIO_UNIT:


    -Name "PB_KARTE" -UnitType "DP_SLAVE_FA" -Bus "Profibus_FA1" -PB_Address 7


    EIO_SIGNAL:


    -Name "DIProgNrB0" -SignalType "DI" -Unit "PB_KARTE" -UnitMap "0"
    usw.
    Ausserdem benötigst du dann eine andere GSD-Datei. Der Name ist irgendwas mit HWS. Aber genau habe ich den gerade nicht parart.


    Hast du allerdings die große M/S-Karte (PCI) und willst nur den Slave-Teil nutzen benötigst du keine Softing-Software. Nur die Einträge in der eio.cfg sind etwas anders:


    EIO:CFG_1.0:5:0::
    #
    EIO_BUS:


    -Name "Virtual1" -ConnectorID "SIM1"


    -Name "Profibus1" -BusType "PBUS" -ConnectorID "PCI1"\
    -ConnectorLabel "Channel 1 (M)" -CfgPath "HOME/slave.bin"\
    -RecoveryTime 10


    EIO_UNIT:


    -Name "PB_Slave" -UnitType "DP_SLAVE" -Bus "Profibus1" -DN_Address 10\
    -PB_Address 4


    -Name "diLebenszeichen" -SignalType "DI" -Unit "PB_Slave" -UnitMap "0"
    usw.



    Gruß
    Thilbi

    Du musst doch min. im t-rob1 und in einem ht diese variable in je einem Modul als PERS-Variable deklariert haben, sonst könnten ja diese beiden Task nicht auf diese "taskgobale"Variable zugreifen? Oder nicht?


    Also sollte die Variable auch in min. zwei Tasks deklariert sein. Schau mal alle Tasks durch.


    Wenn es geht, schicke mir doch das Backup als PM. Ich kann es mir mal anschauen und versuchen die Variable zu finden.



    Gruß
    Thilbi

    Hallo mischwarz,


    es geht nicht um das Modul selbst, sondern um die Deklaration der Variablen var1. Wenn in mehreren Task die Deklaration mit PERS num Var1 := Wert programmiert ist bekommst du die Fehlermeldung.
    Es sollte so sein dass die Deklaration nur in einem Task mit Wertzuweisung erfolgt. In den anderen Task ohne Wertzuweisung. So wie Hermann schon geschrieben hat.


    Ich mache es im Prinzip immer so, dass ich in dem Task, in dem ich mit der Variablen arbeite, die Deklaration mit der Wertzuweisung programmiere. In den Task in denen die Variable nur abgefragt wird erfolgt die Deklaration ohne die Wertzuweisung.


    Hoffe damit weitergeholfen zu haben.
    Thilbi

    Hallo Buschmann,


    es kommt vor, wenn man über die IRC5 Routinen erstellt, dass diese mit Leerzeichen eingerückt werden. Die S4 hat dies mit dem Tabulator gemacht.


    Diese Routinen kann dann UltraEdit nicht mehr erkennen. Wenn du jetzt unter UE aber die Leerzeichen gegen einen Tab ersetzt sollte es wieder gehen.



    Gruß
    Thilbi

    Genau,


    einfach in den Ländereinstellungen . (Punkt) und , (Komma) tauschen.
    Ob du dann Roboguide nochmals installieren musst, kann ich jetzt nicht mehr mit Sicherheit sagen.
    Aber so läuft das Programm bei mir schon sein ein paar Jahren.


    Gruß
    Thilbi

    Hallo robiman,


    mir ist jetzt keine Möglichkeit bekannt. Der voreilende Programmzeiger wird ja auch gerade deswegen benötigt damit der Achscomputer die Bewegungen überschleifen kann. Wenn der Programmzeiger nicht voreilt muss die Bewegung angehalten werden und im nächsten Schritt kann der Achscomputer erst wieder die nächste Zielposition aus dem Programm lesen und die Bewegung berechnen und starten.


    Warum möchtest du so etwas machen? Kannst du in deinem Programm nicht z. B. MoveJDO od. Trigger-Befehlen arbeiten?


    Gruß
    Thilbi

    Genau, funktioniert mit allen Datentypen. Wir haben es erstmals auch mit einer IRC5 eingesetzt.


    Noch ein Tipp an ABB-Nutzer. Es hat sich in der Vergangenheit bewährt die Variablennamen mit definierten Buchstaben zu beginnen um eine leichtere Lesbarkeit des Programmes zu erreichen, z. B. n=numerische Var, st=Strings, p=robtargets, v=Geschwindikeiten, ps=pos usw. Wäre auch für dein Progarmm besser.



    Thilbi

    Hallo ABB-Nutzer,


    wir haben so was vor längerer Zeit schon einmal gemacht. Allerdings habe ich den kompletten Syntax jetzt nicht vorliegen, daher einfach mal die prinzipiellen Schritte:


    TPReadNum messpos, "Bsp: 11 für 1.1";
    !Wandeln des num-Wertes von messpos in einen String;
    stNummer:=NumToStr(messpos,0);
    !Bilden eines Strings für die Originalnamen der robtargets;
    stRobtarget:="pT40R"+stNummer;
    !Wandeln des Datentyps;
    SetDataVal stRobtarget, pDynamisch;
    !Zusweisen des gewünschten robtargets;
    pZielpos:=pDynamisch;
    !Zielpos anfahren
    MoveL pZeilpos,v300,fine,tool0;


    Es bleibt die Frage ob der 6400 vermutlich mit S4C+-Steuerung die Instruktion "SetDataVal" schon kennt. Wenn nicht habe ich leider keine Lösung. Das Problem, warum deine Syntax nicht funktioniert ist das, das MoveJ keinen Datentyp String erwartet sondern den Datentyp robtarget.


    Gruß
    Thilbi

    Hallo Gemeinde,


    hat jemand von euch Erfahrung wie der Parameter §PARAM_GROUP[1].$BCKLSH_COUN[9] eingestellt werden kann.


    Hintergrund ist der, wir können den TCP nicht richtig einmessen. Nach dem Einmessen, egal mit welcher Methode eiert der Roboter um die Spitze herum. Masterung, Masterdaten und Lastdaten sind richtig. So haben wir den Tipp bekommen an der Gegenkompensation der 1. Achse zu justieren. Leider ohne weitere Infos.



    Gruß
    Thilbi

    OK, war gerade etwas zu schnell, was geht ist z. B.


    for i from 1 to 6 do
    nWert:= ARRAY{i};
    endfor


    was nicht ohne weiteres geht ist


    for i from 1 to 6 do
    nWert:= jonts.robax.i;
    endfor


    wenn es aber nur um das auslesen der Achswerte geht könnte man sich auch einen Umweg über die Test - Case Anweisung überlegen.


    for i from 1 to 6 do
    Test i
    case 1:
    nWert:= jonts.robax.rax_1;
    case 2:
    nWert:= jonts.robax.rax_2;
    ....
    Endtest
    endfor


    oder als Erweiterung
    for i from 1 to 6 do
    Test i
    case 1:
    ARRAY{i}:= jonts.robax.rax_1;
    case 2:
    ARRAY{i}:= jonts.robax.rax_2;
    ....
    Endtest
    endfor


    um die Werte gleich in ein array zu schreiben.


    Gruß
    Thilbi