Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

UGUD Variable variabel zuordnen und beschreiben, Variablennamen mit variablem Teil zuweisen und beschreiben

Beitrag 17.05.2022, 08:30 Uhr
Michl28
Michl28
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.02.2022
Beiträge: 6
Hallo zusammen,

Ich habe folgendes Problem wo ich auf eure Unterstützung hoffe.

Ich habe mir UGUD-Variablen vom Typ Real mit dem Namen STK_1_NEU - STK_20_NEU angelegt.
Nun möchte ich gerne über das Programm die Zahl (n) in der Variable (STK_n_NEU) mit der Variable (_VAR1) zuweisen und
diese Variable mit dem Wert (_VAR2) beschrieben.

Als Beispiel:
Im Hauptprogramm werden die Variablen _VAR1 & _VAR2 bestückt
_VAR1=10
_VAR2=15

Im Unterprogramm soll nun die UGUD-Variable (STK_10_NEU) mit dem Wert aus _VAR2 (15) beschrieben werden.

Besten Dank für Eure Unterstützung!

Michl
   
Beitrag 17.05.2022, 09:12 Uhr
Tobe87
Tobe87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 14.12.2017
Beiträge: 86
QUOTE (Michl28 @ 17.05.2022, 09:30 Uhr) *
Hallo zusammen,

Ich habe folgendes Problem wo ich auf eure Unterstützung hoffe.

Ich habe mir UGUD-Variablen vom Typ Real mit dem Namen STK_1_NEU - STK_20_NEU angelegt.
Nun möchte ich gerne über das Programm die Zahl (n) in der Variable (STK_n_NEU) mit der Variable (_VAR1) zuweisen und
diese Variable mit dem Wert (_VAR2) beschrieben.

Als Beispiel:
Im Hauptprogramm werden die Variablen _VAR1 & _VAR2 bestückt
_VAR1=10
_VAR2=15

Im Unterprogramm soll nun die UGUD-Variable (STK_10_NEU) mit dem Wert aus _VAR2 (15) beschrieben werden.

Besten Dank für Eure Unterstützung!

Michl


Hallo Michl,

ich würde dir empfehlen die GUD Variable so zu definieren.
DEF NCK REAL STK_NEU[20]
Die 20 in den Klammern macht ein Eindimensionales Array. Dh. Du hast dann die Variable REAL STK_NEU[0] bis REAL STK_NEU[19]

Jetzt kannst du im Unterprogramm es einfacher zuweisen.

_VAR1=10
_VAR2=15

NCK STK_NEU[_VAR1]=_VAR2
Das ist das gleiche wie NCK STK_NEU[10]=15

Gruß Tobe

Der Beitrag wurde von Tobe87 bearbeitet: 17.05.2022, 09:14 Uhr
   
Beitrag 17.05.2022, 11:47 Uhr
Michl28
Michl28
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.02.2022
Beiträge: 6
QUOTE (Tobe87 @ 17.05.2022, 10:12 Uhr) *
Hallo Michl,

ich würde dir empfehlen die GUD Variable so zu definieren.
DEF NCK REAL STK_NEU[20]
Die 20 in den Klammern macht ein Eindimensionales Array. Dh. Du hast dann die Variable REAL STK_NEU[0] bis REAL STK_NEU[19]

Jetzt kannst du im Unterprogramm es einfacher zuweisen.

_VAR1=10
_VAR2=15

NCK STK_NEU[_VAR1]=_VAR2
Das ist das gleiche wie NCK STK_NEU[10]=15

Gruß Tobe



Danke Tobe für deine Lösungsvariante.
Da ich jedoch mehrere zusammengehörende Variablen gerne in den UGUD's gruppiert haben möchte (rein der Übersicht halber) ist das nicht nicht grad meine Top Lösung da man dadurch immer hoch und runter scrollen muss um die zusammengehörenden Daten anzusehen.

Aktuell würde es folgendermassen in den UGUD's angeordnet werden.
STK_NEU[0]
STK_NEU[1]
STK_NEU[2]
STK_NEU[3]
STK_NEU[4]
STK_NEU[5]
usw.
STK_ALT[0]
STK_ALT[1]
STK_ALT[2]
STK_ALT[3]
STK_ALT[4]
STK_ALT[5]
usw.
STK_ORI[0]
STK_ORI[1]
STK_ORI[2]
STK_ORI[3]
STK_ORI[4]
STK_ORI[5]
usw.

gerne hätte ich jedoch folgende Anordnung:
STK_NEU[0]
STK_ALT[0]
STK_ORI[0]
STK_NEU[1]
STK_ALT[1]
STK_ORI[1]
STK_NEU[2]
STK_ALT[2]
STK_ORI[2]
STK_NEU[3]
STK_ALT[3]
STK_ORI[3]
usw.

Ich könnte die Variablen nun auf neu kreiierte Variabeln zuordnen um die Ordnung wieder herzustellen smile.gif ...aber wenn das anders gehn würde wäre natürlich sehr toll.
Kannst du mir da weiterhelfen?

Danke und Gruss
Michl
   
Beitrag 17.05.2022, 13:25 Uhr
Tobe87
Tobe87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 14.12.2017
Beiträge: 86
Wenn es nur um die Reihenfolge geht, dann würde ich mir unter Diagnose NC/PLC Variabeln eine Maske machen wo du alle sortieren kannst wie du magst.

Gruß Tobe

Der Beitrag wurde von Tobe87 bearbeitet: 17.05.2022, 13:26 Uhr
Angehängte Datei(en)
Angehängte Datei  Unbenannt.PNG ( 107.71KB ) Anzahl der Downloads: 42
 
   
Beitrag 18.05.2022, 05:37 Uhr
Michl28
Michl28
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.02.2022
Beiträge: 6
QUOTE (Tobe87 @ 17.05.2022, 14:25 Uhr) *
Wenn es nur um die Reihenfolge geht, dann würde ich mir unter Diagnose NC/PLC Variabeln eine Maske machen wo du alle sortieren kannst wie du magst.

Gruß Tobe


Vielen Dank Tobe für deine Hilfe.
Werde das die Woche mal so an der Maschine Testen.

Gruss
Michl
   
Beitrag 18.05.2022, 12:13 Uhr
Michl28
Michl28
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 28.02.2022
Beiträge: 6
QUOTE (Tobe87 @ 17.05.2022, 14:25 Uhr) *
Wenn es nur um die Reihenfolge geht, dann würde ich mir unter Diagnose NC/PLC Variabeln eine Maske machen wo du alle sortieren kannst wie du magst.

Gruß Tobe


Hallo Tobe!

Funktioniert perfekt so wie du es beschrieben hast.
Vielen Dank nochmals für deine Hilfe

Gruss
Michl
   
Beitrag 19.05.2022, 13:14 Uhr
Tobe87
Tobe87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 14.12.2017
Beiträge: 86
Freut mich das ich dir helfen konnte. thumbs-up.gif
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: