26. März 2019, 15:33:58
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] ABB Programmname auslesen?


normal_post Autor Thema: [offen] ABB Programmname auslesen?  (Gelesen 602 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

14. Juni 2018, 10:03:15
Gelesen 602 mal
Offline

Haju


Hallo,

gibt es eine Systemvariable (oder Funktion), aus (mit) der ich den Namen des aktuellen (Bewegungs-) programmes auslesen kann?


Beispiel:

PROC Bewegung01()

   VAR STRING sAktProg

   sAktProg:= SYSVAR;

   !sAktProg ist jetzt "Bewegung01"

   .....
   .....

ENDPROC

  • gefällt mir    Danke

Heute um 15:33:58
Antwort #1

Werbung

Gast

14. Juni 2018, 15:30:25
Antwort #1
Offline

6303_6349


Hallo Haju,

Wo bzw. wofür willst du denn den aktuellen Programmnamen abfragen?
Würde es dir nicht schon reichen, wenn du dir den Prozedurnamen zu Beginn jeder Prozedur in einem String speicherst? Bei jedem Wechsel oder neuen Aufruf einer anderen Prozedur kann dieser String ja verändert werden.

Als Beispiel:
VAR STRING sAktProg;
PROC Bewegung01()
     sAktProg := "Bewegung01";
     ...
ENDPROC

Ausgelesen werden kann das ja dann beispielsweise in einem zweiten Task.

Grüße
  • gefällt mir    Danke

14. Juni 2018, 16:38:08
Antwort #2
Offline

Haju


Hallo 6303_6349
warum bzw. wofür ich das machen möchte: Ich bilde mir aus Strings zur Laufzeit Programmnamen. Innerhalb dieser Programme, die ich dann per %"Programmname"%  starte, möchte ich Informationen aus dem Programmnamen holen. Sicher könnte ich das per globalem String machen, ich möchte aber diesen Aufwand (und die möglichen Fehlerquellen, die aus dem "Vergessen" des Eintragens des Strings resultieren) vermeiden.
Vielleicht weiß jemand, ob es eine Sysvariable gibt, die die Information beinhaltet ....
Danke trotzdem!
  • gefällt mir    Danke

14. Juni 2018, 17:06:04
Antwort #3
Offline

Hermann


Den Sinn hinter der ganzen Sache erkenne ich auch nicht, der Programmname in dem aufgerufenen Programm ist doch konstant?
Aber als Lösung mit dem globalen String kann man sich eine Prozedur schreiben, der man den String für das aufzurufende Programm übergibt, diese schreibt den String in die globale Variable und ruft dann das Programm aus dem String auf. So kann man das Eintragen in die globale Variable nicht vergessen.
  • gefällt mir    Danke


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH