Beiträge von jerom

    Hallo bumblebee,
    ich hab den Spaß gemacht deinen Code durchzugehen, ich glaube ich hab nen kleinen Fehler entdeckt der sich zur Zeit aber nicht groß auswirkt da die Beträge gleich sind.

    Code
    k2:=k1+vektv*(breite/betrag_u);
            ! km=Kreismittelpunkt
            km:=k1+vektv*(breite/(2*betrag_u));
            k3:=km+vektu*(breite/(2*betrag_u));
            k4:=km-vektu*(breite/(2*betrag_u));


    Hier müsste es passend zum Vektor v auchn jeweils der Betrag von v in die Berechnung mit einfließen. Ich glaube das könnte auch dein Problem mit der y-Richtung beheben.


    Ich hab mir außerdem auch mal die mühe gemacht deinen Code zu erweitern, so das die Spirale jetzt schon im 2. Punkt anfängt sich zu krümmen und das man jetzt wählen kann ob man die Spirale in der Ebene möchte oder als eine Art Zylinder, vielleicht kannst du damit ja auch etwas anfangen.


    MfG Jerom

    Morgen


    also hier dann mal die Berechnung:


    PERS num nAbstandP:=35;
    PERS num nBreiteP:=300;
    PERS num nWinkelP:=30;
    PERS num nSinP:=0.5;
    PERS num nCosP:=0.866025;
    !
    PERS num ntempP{20,2}:=[];
    PERS num nNewValP{20,2}:=[];
    PERS num niValP:=8;
    PERS num nAnzahlP:=8;
    !
    LOCAL VAR string strAbstandP:="";
    LOCAL VAR string strBreiteP:="";
    LOCAL VAR string strWinkelP:="";
    LOCAL VAR string strAnzahlP:="";


    FOR i FROM 1 TO nAnzahlP DO
    niValP:=i;
    ntempP{i,1}:=nAbstandP*i;
    IF Even(niValP)=TRUE THEN
    ntempP{i,2}:=0;
    ELSE
    ntempP{i,2}:=nBreiteP;
    ENDIF
    ENDFOR
    nSinP:=Sin(nWinkelP);
    nCosP:=Cos(nWinkelP);
    FOR j FROM 1 TO nAnzahlP DO
    nNewValP{j,1}:=ntempP{j,1}*nCosP+ntempP{j,2}*nSinP;
    nNewValP{j,2}:=-1*ntempP{j,1}*nSinP+ntempP{j,2}*nCosP;
    ENDFOR
    IF OpMode()<>OP_AUTO THEN
    TPErase;
    TPReadFK nFKey,"Bewegung startet!","","","WEITER","","";
    ENDIF


    Hoffe es bringt dich ein Stück weiter...


    MfG Jerom

    Hi, ich habe mal für die Bearbeitung einer Platte ein Programm geschrieben bei dem der Robi geradlinig im Zick-Zack vom einem geteachten Punkt aus (in einer Ebene) in eine bestimmte Richtung fährt.
    Richtung, Breite und Abstand der Bahnen sind dabei vaiable... Vllt hilft dir das ja weiter..


    MfG Jerom

    Hallo Leute,


    gib es eine Möglichkeit bei ABB eine Zeit Milli- oder Zentelsekunden genau zu stoppen? Ich will die Zeit zwischen 2 gesetzten Ausgängen messen, der eine davon, der den Timer starten soll ist dazu noch verzögert.


    Wolte jetzt mit einem Interrupt den verzögerten Ausgang überwachen und mit "clkstart" den Timer starten.


    Ich glaube aber das ich mit clkstart clkstop usw. nur Sekunden nehmen kann oder irre ich mich?


    MfG Jerom

    EDIT:


    Also ich muss mich korrigieren, nach dem Neustart kommen jede Menge neue/ andere Fehlermeldungen, ich hab hier mal die, denk ich, wichtigsten zusammengefasst:


    36. 38353 Fehler: Drivesystem KommFehler 0531 03:59.57
    Achscomputer an Anschlusskarte 1
    die die Kommunikation zu/von
    Drivesystem 1 verloren.


    17. 33415 Fehler: Drivesystem Fehler 0531 05:45.51
    Fehler im Drivesystem 1 an
    Anschlusskarte 1 beim
    Test der seriellen Schnittstelle im
    Normalmodus.


    39. 20311 Fehler: Enable 1 offen 0531 03:59.58
    Status aktiv, aber Enable vom
    E/A Computer offen.


    (20311:Enable 1 offen
    Status aktiv, aber Enable vom
    E/A Computer offen.
    Kontrolle:
    1. Andere Fehlermeldungen auf
    primäre
    Fehlerursache kontrollieren.
    2. Sind keine anderen Fehlermeldungen
    vorhanden, Netzspannung auf
    eine
    fehlende Phase kontrollieren.)


    139. 20175 Fehler: Programmiergerät Fehler 0531 05:54.26
    Programmiergerät hat den Kontakt
    mit der Steuerung verloren.
    Dies führt zu einem Sicherheitsstop.


    4. 37001 Fehler: Schützaktivierung Fehler 0531 05:34.28
    Motoren Ein Schütz für die
    mechanische Einheit IRB
    schaltet nicht oder war schon aktiviert.



    *** Internal log ***
    1: servo.c 441 servo: IPC send error -6, cmd = 19 0531 11:26.57
    2: rlsset.c 4352 Not possible to get any stored object for IPOL 0531 11:26.57
    3: servots.c 1368 Not allowed if servo task not initialized OK 0531 11:26.47
    4: refma.c 283 refma: IPC send error -6, cmd = 33 0531 11:26.47
    5: tsksup.c 262 Assert: sem_wait_status == OK, file ipol.c, line 9822
    0531 11:26.47
    6: ipol.c 9822 os_sem_wait failed 0531 11:26.47
    7: cabts.c 2581 Cabsta init failed 0531 11:26.45
    8: cabsta.c 424 couldn't perform 'sys_get_stored_object' error -1 0531 11:26.45
    9: mecsynpr.c 331 couldn't find 'any ipol instance' error -1 0531 11:26.45
    10: mecsta.c 382 couldn't find 'any servo instance' error -1 0531 11:26.45
    11: mecsta.c 360 couldn't find 'any ipol instance' error -1 0531 11:26.45
    12: puscfg.c 1344 Can't connect to the ipol 0531 11:26.45
    13: puscfg.c 1323 Can't connect to the servo 0531 11:26.45
    14: puscfg.c 1344 Can't connect to the ipol 0531 11:26.45
    15: puscfg.c 1323 Can't connect to the servo 0531 11:26.45
    16: rhaltts.c 314 os_sem_wait/safevt_rhalt failed 0531 11:26.45
    17: rhaltts.c 306 safevt_rhalt failed 0531 11:26.45
    18: safevt.c 221 IPC send error -6 0531 11:26.45
    19: safevtts.c 623 Couldn't initiate object area 0531 11:26.45
    20: runchn.c 864 couldn't perform 'sys_get_stored_object' error -1 0531 11:26.45



    Wir haben jetzt schon Treiberstufen, Serielles Kabel, Schnittstelle zum PC und den PC selbst getauscht und das Problem besteht weiterhin.


    EDIT:
    P-Start und neu Booten des Systems über X- und C-Start hat nicht geholfen...


    Kann es an den Schützen liegen??


    Gruß

    Schönen guten morgen zusammen,


    Wie typisch Montagsmorgens hab ich gleich erstma wieder ein schönes Problem an einem unserer IRB´s...


    Nix geht mehr, angeblich kein RAPID-Programm mehr geladen und immer wieder die gleiche Fehlermeldung:


    "MC0: servo.c 494 servo: IPC sendwait error -6, CMD=58" der rest der Fehler meldung ist nur Vorgeplänkel, quasi deutsche Einleitung...


    Zwischendurch erscheint auch noch kurz
    "MC0: servot.c 1368 Not allowed if servo task not initialized OK"


    Neustart (Hauptschalter aus/ein, anders gehts nicht) bringt auch nichts...


    So dann hoff ich mal ihr habt ne Idee...

    So mal einen kurzen Statusbericht:


    letzte Woche Mittwoch wurde nun endlich das ProfiBus-Kabel an der Anlage getauscht und siehe da, alle Signale stehen wieder an wie sie sollen.


    Danke für eure Hilfe... :supi:

    Ich habe mir gestern Nachmittag noch von unserem SPS-Techniker ein dauerhaftes "High-Signal" auf den ProfiBus schicken und dieses dann durch die Rob-Steuerung überwachen lassen. Ergebnis ist, das der Eingang an der Karte ebenfalls ziemlich häufig in unregelmäßigen Abständen das High-Signal verliert... :wallbash:
    Von Seiten der SPS wurde das Signal die ganze Zeit über gesendet. :nocheck:


    Der ProfiBus meldet keine Störung, der CAN-Bus in der Rob-Steuerung meldet keinen Fehler aber die Steuerung stoppt ständig.

    Hi,
    also in den LOG-Dateien ist nicht viel zu sehen, da sie mit Warnung der Bewegungsüberwachung und des Systems vollgeschrieben werden (50146, 20148).
    Der gesamte Bereich der E/A & Kommunikations Log´s ist mit der Meldung 71262 beschrieben.


    Ansonsten kann ich keine schwerwiegende aktuelle Fehlermeldungen im LOG finden...

    Hallo @ all,


    Ich hab ein Problem mit einem unserer Roboter (IRB type 4400
    4400L/30 M2000 Type A; Advanced Func.; 3HAC6811-2.20; System Pack 4.0; DSQC 328, DSQC 352)


    Die Steuerung (S4CPlus) bekommt und sendet über die DSQC 352 ProfiBus-Karte Daten von einer SPS und über die DSQC 328 direkt Signale von der Anlage.


    Das RAPID-Programm überwacht zeitweilig im Cyclus einen Eingang der von der Profibus-Karte kommt mit einer Interrupt Routine. Wenn dieser fehlt stoppt das Progamm und man muss erst den Fehler quittieren.


    Nun bleibt das RAPID-Programm ständig an dieser Stelle stehen (Interrupt) ohne das das Signal von der SPS fehlt. Wenn ich den Eingang mit einem Passiv Filter um 500ms entprelle, bleibt die Steuerung nicht mehr durch die Interrupt Routine stehen sondern bring die folgende Systemfehlermeldung:


    71262 Fehler: Feldbus-Komm. Fehler 0310 09:51.0
    Beschreibung\Ursache:
    Fehler bei der Kommunikation mit
    'Profibus DP' Master
    auf Einheit mit mac id
    '10'


    MAC ID 10 ist die DSQC 352


    Daraufhin habe ich schon die DSQC 352 Profibuskarte gewechselt, jedoch ohne erfolg. Der Fehler kommt weitehin.


    Hat jemand einen TIPP für mich??


    Als nächstes wollte ich den CAN-Bus überprüfen, wenn es dazu eine Möglichkeit gibt...


    Das der Fehler von der SPS kommt ist wohl weitestgehend ausgeschlossen laut unserer Anlagentechnik, da der zugehörige Ausgang bei der SPS auch schon "entprellt" wurde und keine Busfehler dort auflaufen.


    MfG

    Hallo @ all,
    hab mal ne kruze Frage, ich will eine TRAP-Routine anhand eines Digital-Eingangs verzögert aufrufen lassen. Also das Signal soll mindestens 500ms anstehen, bevor die TRAP gestartet wird.
    Irgendwie finde ich keinen Befehl mit einer Verzögerung...
    bis jetzt würde ich es so versuchen:


    ...
    IF diMouldinPos=low THEN
    WaitTime 0.5;
    IF diMouldinPos=low bMouldinPos:=FALSE;
    ENDIF
    ...


    Danach frage ich "überwache" nicht mehr den Digitaleingang sondern den Boolien (IVarValue).
    Falls das damit nicht gehen sollte, weil der Befehl nicht vorhanden ist, würde ich es mit AliasIO weiterprobieren


    Kennt jmd einen besseren Weg?


    THX

    Hallo @ all,


    hab ein Problem mit nem 4400L/30 M2000. Ich versuche da ein neues Service Menü (Aufruf über "Spezial 6") zu integrieren. Die Routine hab ich soweit fertig, doch wenn ich diese dann in der MMC.cfg unter "MMC_SERV_ROUT_STRUCT:" hinzufüge, die Dateien lade und die Steuerung neu starte dann fehlt das Menü trotzdem. Ich hab schon probiert die Systemparameter einzeln zu laden und auch als ganzes Backup, nichts funktioniert...
    ich bekomme auch keine Fehlermeldung?!


    Hat jemand ne Idee was ich falsch mache?


    MFG



    -----------


    so hat sich erledigt.... ging nur in quickteach nicht... in real hats funktioniert..


    thread kann also gelöscht werden..

    Ja genau ist zum Offline programmieren... will damit arbeiten weil es dann gleich die Syntax checkt, arbeite noch nicht lang mit ABB deshalb ist das dann von Vorteil.


    Kann ich jetzt noch was machen mit der MOC.cfg? Oder mit nem Update für die Steuerung wenns das gibt?

    in einem Porgramm werden immer nur die Prg.-Module gespeichert auch wenn im PM die System-Module mit angezeigt werden?


    also bis ende 2007 gab es die Zeile 29 nicht in der MOC.cfg und im ersten Backup 2008 ist sie drin. Denk mal da wurde er dann vermessen. Ansonsten sind die Werte danach immer gleich...


    gruß Jerom

    Also Systemparameter konnte ich speichern aber beim laden ist wieder ein Fehler mit der MOC.cfg aufgetreten. Fehlerlog wurde in eine PARAM.ERR geschrieben:


    ------------------------------------------------------------------------


    CFG FILE INSPECT: hd0a//24-27187/BACKUP/MOC.cfg


    DOMAIN NAME = MOC


    Errors:


    Attribute base_ref_pos_z_2 is out of range in line 29


    ------------------------------------------------------------------------


    Hab das ganze Backup nach "base_ref_pos_z_2" durchsucht aber nichts gefunden?!? :nocheck:


    Programm konnte ich ohne Probleme einspieln, da wär halt immer noch die Sache mit dem ProgramMaker...

    Zitat

    Autor: magnus Datum/Zeit: 22. September 2009, 20:26:38
    Zitat einfügen
    und wie sieht es aus, wenn du die Systemparameter separat sicherst und wieder einspielst?
    geht das ohne Fehler ?


    was meinst du mit seperat sichern? Gibs da ne Option für oder meinst du die Dateien einzel abspeichern?
    Soweit ich weiß kann man die Dateien einzeln alle laden... (bin erst ein Monat in der Firma)


    Gibs irgendwo ne Anleitung für´n PM wie ich da Backups öffnen kann, um dann die Module als Programm zu speichern? Zurzeit kann ich nur über QT Backups in den virtuellen Robi laden und sie dann im PM anschauen/bearbeiten... aber wenn das nicht klappt aus Restore, Referenz oder Syntax-Fehlern hab ich ein Problem...
    Ist es eigentlich normal das ein neue "Programm" im PM schon Systemmodule enthält?


    Zitat

    Autor: Sven Weyer Datum/Zeit: Heute um 08:09:00
    Zitat einfügen
    Habt Ihr einmal eine Basewareupdate gemacht? Ich weiß von einem wichtigen Umstieg in der Version auf 1.80. Dort gab es goße Probleme nach einem Update mit den Systemparametern ...


    Wie gesagt, bin erst ein Monat hier, weiß nicht ob das Update gemacht wurde oder nicht... ich häng mal die Backupinfo.txt dran, kannst ja mal schauen. Die MOC.cfg unterscheidet sich zu denen von andern Robis hier...


    Ich hoffe ihr könnt damit mehr anfangen...


    gruz jerom