TIA Zugriff (indirket) auf Arrays im FC

TomDrom

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

ich versuche gerade unsere bisherige Software auf TIA umzustellen. Da wir nun mit dem TIA die Neuerungen eigentlich nutzen wollen, gibt es dadurch schon einige grundsätzliche Umstellungen. Nun wollen wir auch noch alle DB's auf optimierte DB's umstellen und da habe ich jetzt mit indirektem Programmieren erhebliche Schwierigkeiten. Über Programmierung mit Array und den dazugehörigen Index gibt es schon ein paar Möglichkeiten, aber es hat seine Grenzen.

Ich habe mir folgende kleine Schleife gebaut:

L 100

stor: T #AnzPlätze
L "DAT Daten".Platz[#AnzPlätze].STATUS
L 2
>=I
= "DAT Status".Platz[#AnzPlätze].ON

L #AnzPlätze
LOOP stor

Der DB „DAT Daten“ wie auch „DAT Status“ sind optimierte DB‘s. Die Deklaration DB’s wie auch die verwendeten UDT’s sind als Bilder anbei vorhanden.

Mit der Schleife gehe ich alle 100 Plätze des Arrays durch und schreibe je nach Wert der Variable STATUS die Variable ON (ist exemplarisch, da soll dann später noch mehr abgefragt werden)

Diese Funktion will ich nun in einen FC packen um ihn auch für andere DB’s zu verwenden. Gibt es eine Möglichkeit diesen FC mit Input-Variablen so zu versorgen, dass die Schleife letztlich immer noch funktioniert, egal welchen DB ich verwende. Dabei müssten in den DB’s nur die richtigen UDT’s verwendet werden. Geht es evtl. mit dem Datentyp Variant?
Früher war in so einem FC alles indirekt adressiert, da die Variablen ja feste Adressen hatten.

Vielen Dank für eure Hilfe
 

Anhänge

  • Datastatus.jpg
    Datastatus.jpg
    47,7 KB · Aufrufe: 17
  • Dataplatz.jpg
    Dataplatz.jpg
    53,6 KB · Aufrufe: 16
  • DAT Daten.jpg
    DAT Daten.jpg
    16,6 KB · Aufrufe: 14
  • DAT Status.jpg
    DAT Status.jpg
    16,7 KB · Aufrufe: 13
Das ist doch ein ziemlich klarer Fall
a) für IN_OUT
b) für SCL

AWL ist bei der 1500er sowieso nur hinten rum emuliert und relativ gesehen sehr langsam.

Mfg
Manuel
 
Zurück
Oben