DB Adresse ermitteln

Marc_Quark

Level-1
Beiträge
62
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich habe folgendes Problem:

Ich habe in einer DB mehrere UDTs des gleichen Typs angelegt und kopiere nach jedem Zyklus mit einem FC z.B UDT1 nach UDT2.
Das klappt auch schon ganz gut, allerdings muss ich jedes mal die Adresse des UDTs übergeben.
Gibt es eine Möglichkeit aus dem Namen des UDTs seine Adresse zu ermitteln, sodass ich den FC zum kopieren anstatt mit der Adresse mit dem Namen ansprechen kann?

Vielen Dank schon mal im vorraus.

MfG, Quark
 
Wenn die UDTs vernünfige namen haben und der FC über ANY läuft sollte es mit

Strg+j

gehen.

Und dann den DB und den Namen auswählen.

dtsclipper
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnelle Antwort.

Wie man die Adresse rausfindet ist nicht das Problem.
Ich wollte den Namen des UDTs vom Programm in eine Adresse umwandeln
lassen, da man es auch besser nachvollziehen kann wo es herkommt,
wenn ein anständiger Name anstatt der Adresse verwendet wird.

Also: Name geht in den FC und in dem FC soll dann der Name in seine Adresse umgewandelt werden.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also, ich kenne das irgendwie nur so...

Code:
      CALL  #Schieben                          // Schiebe-FB    
Anforderung_Schieben:=#Trigger          // Triggersignal
Quell_Position      :="RegisterDB".Pos_A // UDT 1
Ziel_Position       :="RegisterDB".Pos_B  // UDT 2
 
Hmm, bring mir leider nix...
also in der DB sind 2 variablen(UDTs) angelegt und ich will die eine auf die andere kopieren, aber anstatt mit Adressen mit den Variablennamen...
 
ICh bin mir nicht sicher ob die Übergabe im Namenformat überhaupt funktioniert...

Die SPS bezieht sich ja immmer irgendwo auf eine Adresse, und die kann einen Namen haben...

Fakt ist, an dieser Stelle gestehe ich mein Nichtwissen ein - Wenn es wirklich über Namen geht würde mich das dann auch interessieren...

griele Füße dtsclipper
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ja, es geht wirklich um Namen.
Und Nichtwissen ist keine Schande, zumindest weiß ich es ja auch nicht :p

An weiteren Ideen und Vorschlägen bin ich immer noch interessiert. Wenn ich von selber daraufkommen sollte poste ich es natürlich auch.

Gruß
 
Hmm, bring mir leider nix...
also in der DB sind 2 variablen(UDTs) angelegt und ich will die eine auf die andere kopieren, aber anstatt mit Adressen mit den Variablennamen...

Wenn du das Kopieren mit SFC20 (Blockmove) machst, dann geht das.
SFC20 erwartet für Quelle und Ziel einen Any-Pointer. Mit Symbolischer Adressierung bzw. Symbol-Auswahl kannst du dann deine UDT-basierende-Variable auswählen. Am SFC steht dann der Namen.
Wenn du an deinem selbst geschriebenen Kopier-Baustein ANY-Pointer als Parameter verwendest, dann klappt es auch dort. Allerdings musst du dann in deinem Baustein den Any-Pointer "zerlegen" um an die Adress-Info zu gelangen. Ist aber auch kein Hexenwerk.

Gruß
Dieter
 
Danke für die Antwort. Ich hab jetzt meinen Kopierbaustein aufgegeben weil es einfacher ist die symbolischen Variablen direkt auf den SFC20 zu geben. :p
Hätt man egtl auch selbst mal draufkommen können das zu versuchen, aber warum einfach, wenns auch kompliziert geht
 
Zurück
Oben