Definition globale Variablen

  • Hallo,


    ich habe mal 'ne Frage bzgl. RAPID-Programmierung.
    Ich habe Variablen in einer Procedure, die ich in zwei Programmmodulen verwende. Wenn ich die Module geladen habe, meckert der Robi über die Variablen, da sie ja (natürlich) 2-mal vorhanden sind. Das liegt sicher daran, das die Variablen ja jeweils lokal deklariert sind. Wie kann ich die Variablen Global deklarieren mit RAPID? Dann sind sie ja nur einmal vorhanden und RAPID dürfte nicht meckern.


    Gruß


    Willi

  • ANZEIGE
  • Hi,


    ich machs einfach, alle meine Variablen befinden sich in einem extra Modul und sin des Typ PERS, so dass wen ich Programme lade, die keine Variablen besitzen.


    Oder du must dann deine als Lokal deklarieren, dann sin die nur in dem Modul aktiv.

  • Hallo Willi
    alle Variablen die nicht in Routinen oder extra als LOCAL definiert wurden sind beim RAPID global vorhanden. Also eigentlich ganz einfach, oder.


    Sven

    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!

  • Hallo Sven Weyer und heini0707,


    vielen Dank für eure Antworten. Ich habe meine Variablen in der Main deklariert, also nicht in der Routine oder Local. Jetzt funzt das auch. Super. :ylsuper:


    Danke euch beiden. :danke:


    Gruß


    Carsten

  • Hallo,


    ist zwar schon alt, ich würde dieses Thema aber gerne nochmal aufgreifen.


    wie kann ich den Globale Variablen deklarieren die dann auch TASK-übergreifend funktionieren?.
    Beispiel:
    ich habe eine Haupt(bewegungs)task und einen Hintergrundtask.
    jetzt möchte ich in meinem Hautptask eine PERS NUM deklarieren und diese aber auch im meinem Hintergrundtask abfragen.


    hoffe das ist soweit verständlich. ;)


    Gruß Chili1886

  • Hallo Chilli,


    bei uns ist es so:


    in jedem Task wird PERS NUM deklariert. Die (neue) Definition erfolgt in einem (Hintergrund) Task. Diese Werte werden dann in Haupttask in anderen VAR NUM übernommen und damit wird es im Haupttask gearbeitet. Die PERS NUM kann man im Hintergrund Task dann neu definieren/abfragen, ohne laufenden Haupttask zu ändern.


    Grüß
    Bocmok

    Einmal editiert, zuletzt von Bocmok ()

  • Ja, nur dran denken, dass möglichst nur einmal ein Wert gespeichert wird. Also in einem Task "PERS num antwort:=42;" und in allen anderen dann nur "PERS num antwort;". Sonst weiß das System bei manuellen Änderungen in einer Task ja nicht, was es mit dem Wert in der anderen auf sich hat. Die Tasks selbst machen das bei der Abarbeitung seriell, denen ist das egal.



    Grüße,
    Michael

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