Problem mit Inbetriebnahme ARCTECH

  • Servus Roboprofis,
    ich habe mir noch einen weiteren KR125 KRC1 angeschafft und würde mit diesem gerne einfache Schweißarbeiten ausführen. Software ist neu aufgespielt. V3.2.6 SP07 mit Technology.ocx 2.0.1.1 Paket vom 27.09.2002. Leider macht der Rob bei ARC10 bzw. ARC20 eine Fehlermeldung beim Starten des Programms 2029 Syntaxfehler im Modul Wave_def. Ich habe schon mal versucht in der config.dat BOOL ARC20=TRUE zusetzten.
    Dann macht er aber auch Fehler beim binden. und wenn ich das Programm anwähle gibt er 4 Syntax Fehler aus.
    Am Rob hängt noch KEIN Schweißgerät und ich möchte auch nur ein einfaches Gerät anschließen ohne Zusatzfunktionen wie Drahtvorschub, Schweißstrom, Temperaturen, Sensoren der sonstiges.
    Bewegen ganz einfach (LIN P1/ Out 1 = True / Wait 0,5sec und dann die LIN Bewegungen pendelnd abfahren, Out1=False, Wait 2sec) fertig .
    Die restlichen Parameter stell ich übers Schweißgerät ein.
    Arc10/ Arc20/ Wave_def ist vorhanden und lassen sich auch automatisch mit ARC_ON ARC_OFF wählen.
    Nur beim Anwählen des Programms machte er dann die Fehlermeldung. Bus fehlt oder ARC10 nicht vorhanden. Nach ein bischen basteln gibt er jetzt 2029 syntaxfehler aus.
    Was muss ich auskommentieren?
    Welche Voreinstellungen in der config.dat , arc_sps.sub usw. muss ich vornehmen um ARCTECH in betrieb zu nehmen?


    Besten Dank

    Einmal editiert, zuletzt von SJX ()

  • Schritt für Schritt zum Roboterprofi!
  • Hallo robocut,


    Leider macht der Rob bei ARC10 bzw. ARC20 eine Fehlermeldung beim Starten des Programms 2029 Syntaxfehler im Modul Wave_def. Ich habe schon mal versucht in der config.dat BOOL ARC20=TRUE zusetzten.


    Welches Programm hast Du gestartet und wie siehts aus? Auf was im Detail wird im Syntaxfehler hingewiesen?


    Dann macht er aber auch Fehler beim binden. und wenn ich das Programm anwähle gibt er 4 Syntax Fehler aus.


    Details wie geschriebenen Code, Printscreens ? Sonst wird's schwer zu helfen und schwer nachzuvollziehen, was Du machst.
    Doku zu ArcTech hast Du mal angeschaut?
    Hier findest Du paar Ideen zur Konfiguration:


    https://www.roboterforum.de/ro…t/11519/msg55393#msg55393



    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo SJX
    die Syntaxfehler beziehen sich 2mal auf /R1/H70 Syntaxfehler im Modul und drei mal /R1/WEAV_DEF Syntaxfehler im Modul Fehlernummer ist immer die 2029 mehr Informationen kann ich nicht aus dem Fenster lesen. Gleichzeitig sagt er in der Verlaufanzeige (Fenster unten) 1327 KCP /R1/Schweiss Fehler beim Binden. Als Programm habe ich einen PTP ,dann LIN Bewegung A20 Auf ON gesetzt, dann LIN bewegung A20 OFF gesetzt dazwischen soll gependelt werden. Beim anwählen kommt dann die Fehlermeldung.
    Ich habe die ArcTechDigital 2.2 DOKU ist zwar für den KRC2 sollte aber auch ungefähr passen.

    Es sind alle Ein und Ausgänge auf 0 also deaktiviert. er kann also keine Signale ausgeben oder erwarten!? Die einzige Änderung die ich vorgenommen habe ist BOOL A20=TRUE

    Hier ein Teil meiner $config.dat
    für ARCTECH20

    [size=2]; SIGNALS :[/size]
    [size=2];==================================[/size]
    [size=2]; DIGITAL OUTPUTS[/size]
    [size=2];----------------------------------[/size]
    [size=2]DECL CTRL_O[/size][size=2]UT_T O_WELD_CTRL[15][/size]
    [size=2]O_WELD_CTRL[1]={OUT_NR 0,INI FALSE,NAME_NAT[] "START WELDING "}[/size]
    [size=2]O_WELD_CTRL[2]={OUT_NR 0,INI FALSE,NAME_NAT[] "ROBOT IN POSITION "}[/size]
    [size=2]O_WELD_CTRL[3]={OUT_NR 0,INI FALSE,NAME_NAT[] "TRIGGER PRG-NUMBER "}[/size]
    [size=2]O_WELD_CTRL[4]={OUT_NR 0,INI FALSE,NAME_NAT[] "ACKN POWER SUPPLY "}[/size]
    [size=2]O_WELD_CTRL[5]={OUT_NR 0,INI FALSE,NAME_NAT[] "SNEEZER "}[/size]
    [size=2]O_WELD_CTRL[6]={OUT_NR 0,INI FALSE,NAME_NAT[] "CLEANER MOTOR "}[/size]
    [size=2]O_WELD_CTRL[7]={OUT_NR 0,INI FALSE,NAME_NAT[] "SPRAYER "} ; [/size]
    [size=2]O_WELD_CTRL[8]={OUT_NR 0,INI FALSE,NAME_NAT[] "WIREFEED MANUAL "}[/size]
    [size=2]O_WELD_CTRL[9]={OUT_NR 0,INI FALSE,NAME_NAT[] "GAS PURGE "}[/size]
    [size=2]O_WELD_CTRL[10]={OUT_NR 0,INI FALSE,NAME_NAT[] "WELD ERROR MESSAGE "}[/size]
    [size=2]O_WELD_CTRL[11]={OUT_NR 0,INI FALSE,NAME_NAT[] " "}[/size]
    [size=2]O_WELD_CTRL[12]={OUT_NR 0,INI FALSE,NAME_NAT[] "TARGET POINT REACHED"}[/size]
    [size=2]O_WELD_CTRL[13]={OUT_NR 0,INI FALSE,NAME_NAT[] "IGNITION ERROR "}[/size]
    [size=2]O_WELD_CTRL[14]={OUT_NR 0,INI FALSE,NAME_NAT[] " "}[/size]
    [size=2]O_WELD_CTRL[15]={OUT_NR 0,INI FALSE,NAME_NAT[] " "}[/size]
    [size=2] [/size]
    [size=2]; DIGITAL INPUTS[/size]
    [size=2];----------------------------------[/size]
    [size=2]DECL CTRL_IN_T I_WELD_CTRL[15][/size]
    [size=2]I_WELD_CTRL[1]={IN_NR 0,NAME_NAT[] "POWER SUPPLY READY "}[/size]
    [size=2]I_WELD_CTRL[2]={IN_NR 0,NAME_NAT[] "CURRENT AVAILABLE "}[/size]
    [size=2]I_WELD_CTRL[3]={IN_NR 0,NAME_NAT[] "CURRENT OVER "}[/size]
    [size=2]I_WELD_CTRL[4]={IN_NR 0,NAME_NAT[] "ERROR-INP1 PERIPHERY"}[/size]
    [size=2]I_WELD_CTRL[5]={IN_NR 0,NAME_NAT[] "ERROR-INP2 PERIPHERY"}[/size]
    [size=2]I_WELD_CTRL[6]={IN_NR 0,NAME_NAT[] "KEY SWITCH WELDING "}[/size]
    [size=2]I_WELD_CTRL[7]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[8]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[9]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[10]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[11]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[12]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[13]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[14]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2]I_WELD_CTRL[15]={IN_NR 0,NAME_NAT[] " "}[/size]
    [size=2] [/size]
    [size=2] [/size]
    [size=2]; outputs weld start[/size]
    [size=2]DECL FCT_OUT_T O_WELD_START[3][/size]
    [size=2]O_WELD_START[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_WELD_START[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_WELD_START[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; outputs acknowledge start move[/size]
    [size=2]DECL FCT_OUT_T O_ACK_START[3][/size]
    [size=2]O_ACK_START[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_ACK_START[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_ACK_START[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; strobe prg. number[/size]
    [size=2]DECL FCT_OUT_T O_STROB_PGNO[3][/size]
    [size=2]O_STROB_PGNO[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_STROB_PGNO[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_STROB_PGNO[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; outputs weld end[/size]
    [size=2]DECL FCT_OUT_T O_SEAM_END[3][/size]
    [size=2]O_SEAM_END[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_SEAM_END[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_SEAM_END[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; outputs acknowledge weld_end[/size]
    [size=2]DECL FCT_OUT_T O_ACK_WELD_E[3][/size]
    [size=2]O_ACK_WELD_E[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_ACK_WELD_E[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_ACK_WELD_E[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; outputs fault while arc on[/size]
    [size=2]DECL FCT_OUT_T O_FLT_ARC_ON[3][/size]
    [size=2]O_FLT_ARC_ON[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_FLT_ARC_ON[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_FLT_ARC_ON[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; outputs stop weld after interrupt on seam[/size]
    [size=2]DECL FCT_OUT_T O_FLT_WELD[3][/size]
    [size=2]O_FLT_WELD[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_FLT_WELD[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_FLT_WELD[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; outputs stop cleaner after interrupt[/size]
    [size=2]DECL FCT_OUT_T O_FLT_CLEAN[3][/size]
    [size=2]O_FLT_CLEAN[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_FLT_CLEAN[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_FLT_CLEAN[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; outputs acknowledge fault[/size]
    [size=2]DECL FCT_OUT_T O_ACK_FLT[3][/size]
    [size=2]O_ACK_FLT[1]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_ACK_FLT[2]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2]O_ACK_FLT[3]={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; output for fault message[/size]
    [size=2]DECL FCT_OUT_T O_FLT_SIGNAL={NO 0,PULS_TIME 0.0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; inputs as condition befor weld can start[/size]
    [size=2]DECL FCT_IN_T I_WELD_COND[3][/size]
    [size=2]I_WELD_COND[1]={NO 0,STATE FALSE}[/size]
    [size=2]I_WELD_COND[2]={NO 0,STATE FALSE}[/size]
    [size=2]I_WELD_COND[3]={NO 0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; inputs start moving[/size]
    [size=2]DECL FCT_IN_T I_START_MOVE[3][/size]
    [size=2]I_START_MOVE[1]={NO 0,STATE FALSE}[/size]
    [size=2]I_START_MOVE[2]={NO 0,STATE FALSE}[/size]
    [size=2]I_START_MOVE[3]={NO 0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; inputs weld is ended[/size]
    [size=2]DECL FCT_IN_T I_WELD_END[3][/size]
    [size=2]I_WELD_END[1]={NO 0,STATE FALSE}[/size]
    [size=2]I_WELD_END[2]={NO 0,STATE FALSE}[/size]
    [size=2]I_WELD_END[3]={NO 0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2] [/size]
    [size=2];Counter for Interrupt definition[/size]
    [size=2]DECL INT FLT_NUM[3][/size]
    [size=2] [/size]
    [size=2]; inputs telling faults while welding[/size]
    [size=2]DECL FCT_IN_T I_WELD_FLT[3][/size]
    [size=2]I_WELD_FLT[1]={NO 0,STATE FALSE}[/size]
    [size=2]I_WELD_FLT[2]={NO 0,STATE FALSE}[/size]
    [size=2]I_WELD_FLT[3]={NO 0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2]; input for external enable weld[/size]
    [size=2]DECL FCT_IN_T I_ENB_W_EXT={NO 0,STATE FALSE}[/size]
    [size=2] [/size]
    [size=2];current instruction[/size]
    [size=2]INT ARC_INSTR=0[/size]
    [size=2] [/size]
    [size=2]; instruction code[/size]
    [size=2]INT ARC_INI=1[/size]
    [size=2]INT ARC_ON=2[/size]
    [size=2]INT ARC_OFF=3[/size]
    [size=2]INT ARC_SWI_F=4[/size]
    [size=2]INT ARC_SWIP=5[/size]
    [size=2]INT TECH_STOP1=6[/size]
    [size=2]INT TECH_STOP2=7[/size]
    [size=2]INT TECH_STOP=9[/size]
    [size=2]INT ARC_OFF_P=10[/size]
    [size=2]INT ARC_OFF_V=12[/size]
    [size=2]INT ARC_START=13[/size]
    [size=2]INT PRGNO=0[/size]
    [size=2]INT TMP_PRG=0[/size]
    [size=2]BOOL B_RESTART=FALSE[/size]
    [size=2]BOOL FLY_WELD=FALSE[/size]
    [size=2]BOOL ARC20=TRUE[/size]
    [size=2]BOOL WELD_ACTIVE=FALSE[/size]
    [size=2]BOOL T1_L[/size]



    Gruss robocut

  • Hallo robocut,


    Als Programm habe ich einen PTP ,dann LIN Bewegung A20 Auf ON gesetzt, dann LIN bewegung A20 OFF gesetzt dazwischen soll gependelt werden. Beim anwählen kommt dann die Fehlermeldung.


    Bitte den exakten Code. Sonst findet man nie Syntaxfehler. Am besten .src und .dat 1:1 attachen.


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo robocut,
    offensichtlicher Fehler in Deinem Testprog selbst ist nicht drin.
    Im H70.src (Touchsense) wirst ja wohl nichts geändert haben. Aufruf ist Teil der Standardinitialisierung. Müsste also auch schon Probs gegeben haben vor Deinen Experimenten.


    Vorschlag für weiteres Vorgehen:
    - Lösche Testprogramm.
    - Bring alle Files wie $config.dat, sps.sub, A20.src und.dat, weav_def.src in Originalzustand. Entweder durch Aufspielen Archiv oder manuell reinkopieren (Achtung: wenn direkt ab CD Schreibschutz aktiv), evtl. hast es ja auf D:\ kopieren lassen bei Installation.
    - Kaltstart der Steuerung
    - Kontrolle, ob keines der Files im Navigator "rotes Kreuz hat".
    - Schauen, dass Submitinterpreter läuft
    - Erstelle Testprogramm mit simplen Positionen, Teste An-Abwählen
    - Ändere in der backward.ini Variable SET_TO_FALSE = TRUE , Kaltstart
    - Ändere ARC20 = True in der $config.dat, Kontrolle A10_Option = #Disabled, H70_Option = False und teste danach mit obigem Testprog, ob noch alles geht.
    - Mach Dir Gedanken über Schnittstelle zu Stromquelle. Untenstehende Signale sind minimal zu handeln. Testweise kannst ja Ausgang Start schweissen mit Eingang Strom fliesst brücken, Eingang Stromquelle bereit kannst ja testweise Dauersignal anlegen.
    Als Beispiel hab ich Ausgang 1 und Eingänge 1 + 2 verwendet. Diese halt anpassen, wie Du's willst.


    O_WELD_CTRL[1]={OUT_NR 1,INI FALSE,NAME_NAT[] "Start Welding "} <--Signal Start Schweissen
    I_WELD_CTRL[1]={IN_NR 1,NAME_NAT[] "Power Supply Ready "} <-- Signal Stromquelle Bereit (Zwingend nötig)
    I_WELD_CTRL[2]={IN_NR 2,NAME_NAT[] "Current available "} <-- Signal Strom fliesst (Zwingend nötig, sonst fährt der Roboter nach Schweistart nicht los)


    Obiges Testprog ergänzen mit ARCon // ARCoff.
    Testen.



    Ps: Zu Syntaxfehler: Eigentlich müssten solche Programme im Naviator mit rotem Kreuz erscheinen. Wenn mit Cursor drauf, müsste Softkey erscheinen mit "Fehlerliste". Optionsfeld müsste aufgehen, wo Syntaxfehler aufgelistet sind mit Verweis, was nicht i.O. und Zeilennummer


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

    Einmal editiert, zuletzt von SJX ()

  • Hallo SJX,
    war eine etwas größere Aktion, Files im Navigator waren eigentlich alle rot. Ich hab den Computer platt gemacht und alles neu aufgespielt (Windows fuhr nicht mehr hoch, nur noch im abgesicherter Modus usw.) aber egal, es funktioniert wieder. Alle Files sehen normal aus. I/O ist auch verkabelt 2 Eingänge Dauerstrom drauf. Der Ausgang schaltet auch bei ArcON und ArcOFF. Das Programm läuft auch ohne Fehlermeldung durch. Nur Pendelbewegungen macht er immer noch nicht.

    LIN P8 VEL=0.005m/s CPDAT7 ARC_On Pgno= 1 S2 Seam1
    Wie wähle ich die FG_Nr1 aus dem Wave_def

    Ich hab mal versucht in der Wave_def die Parameter zu verstellen. Experte und T1 aber trotz speichern springt die Datei beim neu öffnen in den Urzustand zurück.
    backward.ini Variable SET_TO_FALSE = TRUE diese Programmzeile habe ich nicht.

    Gruss Robocut

  • Hallo Robocut,
    Pendeln parametrierst man im Arc_Off oder Arc_Switch Inline-Formular.
    Attached ein Bild dazu.
    Wichtig dazu: Vermessung des TCP's mit Stossrichtung der X-Achse ausgerichtet auf die Gasdüse.
    In Doku Programmierung und Bedienung ArcTech sollte es gut beschrieben sein.


    SET_TO_FALSE = hat die V3.2.6 auch.
    Geht eigentlich darum, wie das IO-Verhalten des Prozesses ist beim Wechsel Vorwärts zu Rückwärts.



    Gruss SJX

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden