Step 7 indirekte Ardessierung in einem FB oder aus einem FB

CapriSonne:)

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

ich habe einen FB indem ein Array erzeugt wird. Diesen rufe ich dreimal für verschiedene Eingänge auf. Diese Arrays möchte ich nun in dem Globalen DB 50 alle abspeichern.

Wie kann ich das am besten realisieren ohne viel Datenverkehr zu erzeugen?

Ich hatte die Idee den FB so zu verändern, damit er erkennt um welchen Eingang es sich handelt und dementsprechend die Startadresse verändert. Z.B. Eingang ein beginnt direkt die Werte in den DB 50 Startadresse 0 zuschreiben bis 1000 und der Eingang 2 startet dann mit Adresse 1001.

Funktioniert das so wie ich das denke oder gibt es eine andere gute Lösung?


Über Ratschläge würde ich mich sehr freuen :)
 
Wie "erzeugt" ein FB ein Array??? :confused:

Das gewünschte Array an den FB übergeben:
Code:
UDT123
A : ARRAY[0..999] OF IRGENDWAS

-----------------------------------------------
DB50
Array1 : UDT123
Array2 : UDT123
Array3 : UDT123

-----------------------------------------------
FBx
IN_OUT
IO_Array : UDT123

L #IO_Array.A[0]    //Beispiel-Zugriff
T #IO_Array.A[999]  //auf das übergebene Array

-----------------------------------------------
Aufruf:

CALL FBx, DBx
 IN1     :="Input1"
 IO_Array:="DB50".Array1

CALL FBx, DBy
 IN1     :="Input2"
 IO_Array:="DB50".Array2

...

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

danke für deine schnelle Antwort :)

Der FB beschreibt das Array indem es Messwerte sammelt ;)

Das ist wirklich eine schlaue Lösung ;)
Auf sowas einfaches wär ich nicht mehr gekommen. Danke :)
 
Zurück
Oben