SCL: Pointer

dinner4one

Level-1
Beiträge
44
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
fswap124.jpg
Hallo,
ich möchte den 2. Parameter als WORD verwenden um in der Suchansicht von Step7 eine sichtbare Auswahl des Wertes zu erkennen (Habe zig Funktionen von diesem Typ aufzurufen). Ich bekomme es nicht hin daraus einen Pointer zu erzeugen, der auf den Offset FDB_WORD zeigt. So muss ich den DB öffnen und die Offsets jedesmal von Hand eintragen.
Was kann man da machen?
fswap124.jpg

fswap124.jpg
 

Anhänge

  • fswap124.jpg
    fswap124.jpg
    26,2 KB · Aufrufe: 62
Hallo d4o,
ich habe wahrscheinlich dein Problem nicht verstanden ...
Du möchtest im Falle des abgebildeten Bausteins keinen ANY-Pointer verwenden, sondern den DB und das DBW im Klartext (als INT) übergeben ? Oder möchtest du genau das (so wie abgebildet) nicht ...?

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
..ja.
Das Problem ist, ich möchte eine Funktion haben die den "Parametrierern" der Bausteine es so einfach wie möglich macht. Wenn ich einen Datensatz vom Typ WORD mit der "Step7 Eingabehilfe" (siehe Bild) auswählen will und dieser gleichzeitig der Offset für weitere Operationen ist, darf ich nur Parameter vom Typ WORD (in diesem Falle) oder POINTER nehmen. Also wenn ich einen Parameter vom Typ WORD am INPUT einer Funktion einlese, kann ich da nicht mit irgendeiner Routine die Realadresse bzw. einen Zeiger auf diesen Datensatz herausbekommen - so wie die Symbolanzeige von Step7 es macht. Dort steht im Symboltext auch immer der Offset wie z.B. DB1000.DBW100 "Mein Datensatz".
 

Anhänge

  • fswap1.gif
    fswap1.gif
    27,1 KB · Aufrufe: 35
Wenn du als Eingangs-Parameter den Wert 96 (z.B.) hast, so ist das nur eine Zahl. Wenn du diese in deinem Baustein benutzt um daraus einen Pointer zu bauen, dann wird dir das niemals in der QV-Liste dokumentiert ...

:confused: ... also ... was willst du also nun haben ?
 
... der Parameter 96 ist genau das ist was ich nicht haben will. Nochmal - ich will das der Verwender der Funktion ein Wort mit dem Step7 "Requester- Fenster" oder der "Auswahlliste" oder wie Siemens den "Hilfe-Müll" auch immer nennt auswählt und dieses in der Funktion als Offset verwendet werden kann. Wenn dieser Offset oder Datensatz (in meinem Falle ein WORD) auswählbar sein soll - kann ich kein ANY nehmen. Das Siemensauswahlfenster öffnet dann die DBs nicht, da in menem Falle keine UDTs drin sind (ist bei F-Datenbausteinen nicht erlaubt). Ich versuche egentlich nur einzelne Datensätze aus einem F-DB auszulesen und sie als UDT im Normalprogramm abzuspeichern. Aber ich will nicht für jeden Datensatz ein Parameter anlegen, da diese eh intereinander angelegt sind. Aber ich will dem Verwender ersparen den DB zu öffnen und die Datensätze abzuzählen. puhh...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... tut mir leid ... dazu fällt mir dann auch nichts Schönes ein ...
Die Sache mit dem Any-Pointer war schon das Schönste ...

Ich nehme mal an, dass du eine Art Standard-Baustein entwerfen willst. Ich denke, dass du dem Nutzer deines Bausteins schon ein bißchen "Wissen was man tut" zuweisen mußt ...

Gruß
LL
 
...haha das stimmt. Meine "Alpenkunden" denken alles wird mundgerecht serviert - mit Wein statt Wasser. Na, dann werden wir den Zahn eben ziehen. Siemens kocht eben doch nur mit Wasser.
 
Zurück
Oben