ABB Grundwissen

  • Hallo,


    bin Neuling beim Programmieren von ABB-Robotern, hab natürlich Problemchen :kopfkratz:
    Anlage: ABB IRB1600 mit IRC5 Steuerung
    Vorkenntnisse: VB, CNC und Fanuc-Roboter


    Ich verstehe einige Begriffe nicht so ganz, weis nicht ob an der Übersetzung liegt oder bin zu "dumm" (das letzte gebe nur ungerne zu) :pfeif:
    Da muss ich sagen dass Fanuc für mich viel vertändiger ist als ABB. Hab mir selbst Fanuc mit Hilfe von Handbüchern beigebracht, klappts auch ganz gut.
    Eine Schulung kommt bei uns aus Zeitlichen Gründen gar nicht in die Tüte, anders gesagt bin ein Mädchen für alles kann nicht einfach für eine oder zwei Wochen weg, da ist auch meine Abendschule, würde zu viel Stoff verpassen.


    1. Was verbergen in sich Module? Kann man mehrere anlegen?!? :huh:
    2. Eine ROUTINE ist ein Unterprogramm?
    3. Einstigsroutine??? bei Fanuc öffne ich ein Programm und drücke Start, das wars mit Einsteigen und sonst was.


    Für eure Anworten danke ich voraus

  • ANZEIGE
  • Hallo
    Ein Module kann Man wie ein Verzeichnis für (unter)Programm sehen. Es ist um Dein Programm besser strukturieren zu können (Bsp.: Module Bearbeitung beinhaltet alle Routine für die Bearbeitung)
    Es gibt immer ein haupt routine (Name ist fest :Haupt oder Main). Der Module wo sie deklariert ist dein Haupt module (Name ist Frei).


    Am besten die Doku referenze handbuch überblick lesen.
    Um ein Routine zu starten muss du dein PZ(programm zeiger) zu ein Routine schicken .
    Wenn du die IRC5 hast iste unter Programmeditorseite in Test PZ-Routine.
    Ich kann dich die doku per email schicken


    Bye

  • Hallo heini0707,
    erst einmal denke ich nicht das Du zu dumm bist!! jeder hat ja schließlich einmal angefangen nicht wahr!
    Zweitens denke ich das Du mit FANUC eine sehr "simple" Sprache gehabt hast wo man sich viele Sachen selbständig erarbeiten muss. Diesen Arbeit kannst Du Dir bei ABB in einzelnen Bereichen sparen.
    Wie Asmodeus schon sagte schau, was die Instruktionen und Funktionen angeht in die Doku. Referenzhandbuch.


    Ansonsten helfen wir Dir gern weiter!


    Thema Ereignisroutinen. Sind definierte Unterprogramme welche in den Systemparametern mit einem bestimmten Ereignis verbunden sind.


    z.B.: Das Ereignis "Start" kann mit einer bestimmten Routine(Unterprogramm) verbunden werden welche eine Aufgabe erledigt. (Keine Bewegung etc.) Nach dem diese Routine(Unterprogramm) abgearbeitet ist wird das tatsächliche Ereignis ausgeführt, in diesem Fall Start der "Programmabarbeitung". Du solltest dieses Routine(Unterprogramm) also so kurz wie möglich halten.


    Beim ABB kannst Du auch einfach eine beliebige Routine auswählen und Starten aber es gibt auch noch die Möglichkeit des Starts von Haupt (Main). Dies kann auch mit einer Instruktion im Programm erzwungen werden. Somit bist Du sicher das Du Dein Programm wirklich von vorn beginnst.


    Ich hoffe ich konnte Dir etwas helfen.


    robotic74

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Grüß Gott die Herren,


    danke Asmodeus für das Angebot mit der Doku, ich habe alle Bücher von IRC5, es sei den ist deine eigene Doku, dann hätte ich die wirklich gerne.


    Das mit den Modulen ist mir leider immer noch nicht klar.
    Wenn ich die I/O`s deklariere sind die dann im Modul drin oder im Task. Am besten sage ich euch was ich alles vor habe.


    Ich hab ne Anwendung, bei der wahrscheinlich alle 10 optionale Tasks verwende, wo es möglich sein muss aus jedem beliebigen Programm und Task die I/O`s anzusprechen um die Vereinzelung, Bänder, "Sensoren", Programm selbst zu Steuern.


    Irgend wie habe ich den Eindruck, dass alle Bücher die ich habe, nicht für mich bestimmt sind sondern für den Endanwender, da gibt es solche Aussagen wie:
    "dies wurde durch Ihren Anlagenbauer realisiert", oder "Tasks müssen eingerichtetet werden, damit sie wie geplannt ablaufen. Normalererweise sind alle Tasks bei der Auslieferung eingerichtet." Also bei mir sind die Tasks ganz sicher nicht eingerichtet. Gibt es villeicht noch andere Bücher, die für den Anlagenbauer bestimmt sind :nocheck:? bin nähmlich einer (na gut, bei ABB-Robotern bin ich es noch nicht, möchte aber einer werden, bin zumindest dabei)


    Gruß heini

  • Zitat

    Das mit den Modulen ist mir leider immer noch nicht klar.
    Wenn ich die I/O`s deklariere sind die dann im Modul drin oder im Task. Am besten sage ich euch was ich alles vor habe.


    -I/O´s werden nicht in Module gespeichert sondern gelten als Systemparameter


    Es gibt 2 Arten von Modulen: 1. Systemmodule 2.Programm-Module


    In Systemmmodule stehen vordefinierte Daten zB. Geschwindigkeiten zB. v100 v200 ... es nennt sich BASE.mod


    2.Programm-Module:


    In Programm-Module werden alle Befehle, die Du ausführen möchtest gespeichert z.b.
    Bewegungs-Instruktionen, Funktionen, Digitale/Analoge Logikbearbeitung.


    Es existiert anfangs nur 1 Modul indem alles reingeschaufelt wird. Undzwar, das wo auch die Main oder Hauptroutine abgespeichert wird.
    + 1 System-Modul USER.SYS (bei Bedarf zu verwenden)


    Der Übersichtlichkeitshalber, kannst Du aber z.B. nur Bewegungsroutinen seperat in einem Modul abspeichern, das dann BEWEGUNG.mod heißt
    Oder Funktionen in einem einzelnen Modul...FUNKTION.MOD...etc.
    Bei großen Zeilen-Programmen bietet es eine enorm verbesserte Übersicht, die hilfreich bei Umänderungen sein kann.


    Wenn Du ein bisschen mit dem Robi spielen kannst, und das Programm nicht besonders groß ist zb.100 Zeilen, kannst Du es auch bei dem Standart-Modul (also Einem belassen)


    dann vielleicht anfangen zu splitten.


    Bestes Beispiel ist ein Kleiderschrank mit vielen Schubladen;


    1. Schublade nur Socken -> nur Bewegungen
    2. Schublade nur Shirts... -> nur Funktionen


    Du findest Deine Klamotten in einem gut sortierten Schrank halt schneller, als wenn Du alles zusammen gutgemischt in nur einer Truhe hättest :P


    Es dient halt der Übersichtlichkeit. :supi:

    Viele Grüße Noobie

  • Hallo,



    Ich bin damit nicht so ganz einverstanden. Ist es dann nicht aufwendiger immer hin und her zu springen?
    Z.B. nach dir Noob würde es so aussehen:
    !_______________
    !Funktionsmodul oder Routine
    IF DI10=ON THEN
    MERKER=11
    RETURN
    ENDIF


    !Bewegungsmodul


    !Routinenaufruf Funktionsmodul
    TEST MERKER
    CASE 1,2,3
    !Fahr zum Punkt1
    CASE 10,11
    !Fahr zum Punkt2
    ENDTEST
    !_______________


    Ich würde dann lieber mit Unterprogrammen arbeiten:
    !_______________
    !Hauptprogramm
    IF DI10=ON THEN
    UP_ABLEGEN !Routine
    ENDIF
    !_______________


    Ich bin der Meinung das diese Schreibweise kürzer wäre.


    Noch eine Frage:
    Wie schaut es mit Werkzeugdaten und mit Anwenderkoordinatensystemen aus, wo werden diese gespeichert im Task oder im Modul?


    MfG heini

  • Hallo Heini0707,


    so wie es aussieht hast Du das Gesamtkonzept der Sprache RAPID noch nicht verstanden.


    Eine Anwendung für einen Roboter kann aus mehreren Task bestehten, die paralell abgearbeitet werden, aber nur eine Task steuert den Roboter.


    Eine Task kann aus mehreren Modulen bestehen, die sich in Programmmodule bzw. Systemmodule aufteilen. Systemmodule werden verwendet, um gemeinsame, systemspezifische Daten und
    Routinen wie z. B. Werkzeuge zu definieren. Sie werden nicht zusammen mit einem
    Programm gespeichert, d. h. jede Aktualisierung eines Systemmoduls beeinflusst alle
    vorhandenen oder später in den Programmspeicher geladenen Programme.


    Beim Speichern eines Programms werden alle Programmmodule im Roboter in eine gemeinesame Datei mit der Endung *.PRG gespeichert (S4c)


    Innerhalb eines Moduls werden die erforderlichen Prozeduren, Funktionen oder Interruptroutinen und Datendeklarationen abgelegt, die innerhalb der kompletten Task oder aber nur innerhalb des Moduls bekannt sein sollen.


    Routinen und Datendeklarationen die nur einem Modul bekannt sein sollen, werden mit dem Wort LOCAL eingeleitet.


    Beispiel:


    !Lokale Datendeklaration
    LOCAL VAR num nTest;
    !Lokale Routine
    LOCAL PROC Besipiel()



    Signale werden in den Systemparametern deklariert und sind in allen Tasks nutzbar.
    Wenn über Variablen Daten zwischen den verschiedenen Tasks ausgetauscht werden sollen, so müssen diese alse PERSistent in jeder Task deklariert werden.


    z.B.
    PERS num nDaten:=10;
    ENDPROC


    Um mehrere Tasks nutzen zu können, muss der Roboter mit der Option "Multitasking" ausgestattet sein.


    Begriffsbestimmung


    Es gibt drei Arten von Routinen (Unterprogramme): Prozeduren, Funktionen und
    Interrupts.Interrupts.
    - Prozeduren geben keinen Wert zurück und werden im Kontext von Instruktionen verwendet.
    - Funktionen geben einen Wert eines bestimmten Typs zurück und werden im Kontext von
    Instruktionen verwendet.
    - Interrupt-Routinen dienen der Behandlung von Unterbrechungen. Eine Interrupt-Routine kann mit
    einem bestimmten Interrupt verknüpft werden. Wenn dann dieser Interrupt in einer späteren Phase
    auftritt, wird die Routine automatisch ausgeführt. Eine Interrupt-Routine lässt sich nicht explizit vom
    Programm aus aufrufen.



    Generell solltest Du Dir vielleicht mal das Handbuch "RAPID Referenzhandbuch, Überblick" anschauen.


    Gruß
    Micky

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

  • Hallo,


    das mit den Deklarationen habe ich jetzt verstanden (denke ich :kopfkratz:).


    Mit Variablen habe ich eigntlich kein Problem da die sehr gut beschrieben sind, nur die Sachen wo die Beschreibung (meiner Meinung nach) durftig ist, bereiten mir verständniss Schwierigkeiten, unter anderem ist villecht auch noch das Problem dass ich kein einziges Beispiel habe (das eigentlich zu der Rapid-Beschreibung von ABB unbedingt dazu gehört :down:). Auch ein Nachteil von den ABB-Handbüchern ist, dass eine und die selbe Sache mehrmals in verschidenen Büchern beschrieben ist ohne, Klarheit zu verschaffen.


    Na gut, mal positiv denken, bin schon viel weiter DANKE :supi:


    MfG heini

  • Hallo die Herren,


    :ylsuper:
    ich habe gestern mit dem Roboter die ersten online Erfahrungen über`s Netzwerk gemacht, und siehe da, ist ist ja "alles" klar.
    Ich habe die ganze Struktur von System- und User-Modul gesehen, jetzt klingelts es auch bei mir. :beerchug:


    Vielen Dank an alle an der Stelle, mal schauen wie weit ich heute komme.


    Schönen Tag noch

  • Hallo Jungs,
    ich benötige ein ABB programm von einem Handlingroboter habe bis heute nur Lackierroboter programmiert .
    Ist der unterschied groß??
    hat jemand mal ein Handlingsprogramm das er mir mal zeigen kann wäre sehr nett.
    mfg
    Ronaldo

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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