Fehlermeldung Variable im Haupt und im Unterprogramm mit gleicher Bezeichnung

  • Hallo,


    ich erstelle aktuell ein Programm mit mehreren Unterprogrammen und einer Vielzahl von Variablen. Geschrieben habe ich das Programm teils am PC und Teils direkt am Roboter. Beim Öffnen des Hauptprogramms kommen immer wieder Meldungen, dass sich im Haupt und im Unterprogramm Variablen mit der gleichen Bezeichnung befinden. Da die Unterprogramme auf Werte aus dem Hauptprogramm zugreifen sollen, handelt es sich im Endeffekt um die selben Variablen. Das heißt, die Programme sind aus meiner Sicht richtig. Es nervt nun, dass man beim Öffnen des Hauptprogramms immer alle Meldungen abbrechen muss. Wie kann ich dem Programm nun dauerhaft klar machen, dass es sich um dieselben Variablen handelt?

  • ANZEIGE
  • Du darfst dann eine Variable nur in einem Programm auch definieren.

    Sie werden in der Regel "verschattet".
    Hast Du also ein Programm mit einem Datfile wo eine Variable "abc" definiert ist und wird die gleiche Variable in einem anderen Programm nochmal definiert, dann sehen sich diese variablen nicht gegenseitig,
    Die Variable aus dem einen Programm wird dem anderen nie bekannt...


    Wenn Du eine Variable global definierst, dann kennt sie jedes Programm. Aber sie wird nur einmal definiert und dann ist sie überall.

    Zweckmäßigerweise definiert man sowas in der $config.dat und dort im Fold USER GLOBALS.

    Variablen, die dort liegen gelten immer systemweit.

    Und weil sie eben da liegen, sind sie auch immer leicht zu finden.


    Du kannst auch eine Variable irgendwo in irgend einem dat-file verstecken und "global" definieren:
    Beispiel:

    DECL GLOBAL INT ROB_ID=1

    Dann ist diese auch systemweit gültig, aber wo sie genau versteckt ist, weiß kaum wer und das macht es schwierig, herauszufinden, wenn mal was getan werden muß

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Erst einmal danke für die Antworten.


    Aber wie erstelle ich die globalen Variablen nun? Ich habe bisher nicht in urscript programmiert. Handelt es sich bei den globalen Variablen um die Installationsvariablen, die man unter Installation - Allgemein - Variablen erstellen kann?


    Oder wo finde ich die Datei in der ich die Variablen eintragen kann?

  • In URScript definierst du globale Variablen wie folgt:

    Code
    global variablen_name = 0
    global variable_hoehe = int_hoehe
    global punkt_teach_in = p[0,0,0,0,0,0]

    Dafür fügst du einfach eine Script-Zeile ein und tippst dort deine Definition ein. Beachte allerdings, dass du einer Variable in script immer gleich einen Wert zuweist. Entweder aus einer anderen Variable, einen Punkt oder einen Zustand, Wert etc.

  • Hallo Hendrik,


    ich glaube ich kenne dein Problem. Wenn man Unterprogramme beim UR verwendet, und dann das Hauptprogramm lädt (mit all seinen Unterprogrammen) kommt für jede Variable die im Haupt und Unterprogramm existiert die Meldung ob diese automatisch umbenannt werden soll.


    Du kannst die Fehlermeldung folgendermaßen vermeiden:

    Nimm den Haken (gelbe Markierung unten) weg. Das hat zur Folge dass die Fehlermeldung nicht mehr erscheint. Wenn du im Unterprogramm aber etwas änderst musst du für das Abspeichern den Haken setzen, damit das Unterprogramm aktualisiert wird. Danach kannst du ihn wieder wegnehmen.


    Gib uns gerne Feedback, ob das für dich funktioniert.


  • Hallo,


    mit der Script Programmierung bin ich ich nicht wirklich weiter gekommen. Das liegt aber wahrscheinlich eher an der mangelnden Kenntnis. Ich habe es über die Installationsvariablen probiert und das funktioniert bisher einwandfrei.

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