TIA Aus mehreren Integer einen Array erstellen

Pikador

Level-2
Beiträge
276
Reaktionspunkte
22
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe ein DB mit mehreren Integer Werten. Ist es irgendwie möglich den DB als Parameter an eine Funktion zu übergeben und die Integer in ein Array (mit Integer) zu konvertieren?
Der DB ist optimiert.
 
Den kompletten DB mit SERIALIZE in ein ARRAY of BYTE und von dort mit DESERIALIZE in das gewünschte ARRAY of INT konvertieren.

Alternativ in einem FB eine entsprechende Variable mit AT überlagern (Remanenz "Im IDB setzen").
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe vergessen zu schreiben, dass die Integer in dem DB "nackt" liegen, ohne ein DT drüber. Die Anzahl der Integer kann sich auch ändern.
Den DB (die DB's) darf ich nicht ändern.
Mit SERIALIZE und co. funktioniert das nicht. Habe schon probiert.
 
CPU: 1515-TF
TIA V17

Eigentlich suche ich eine Möglichkeit einen DB egal ob optimiert oder nicht, egal ob global oder DT, zur Laufzeit zu untersuchen und Teile davon zu extrahieren/konvertieren. Über untersuchen meine ich zu schauen ob er vorhanden ist und welche Länge er hat. Das ist das mindeste! Da gibt es die Funktion ATTR_DB, die aber nicht mit optimierten Bausteinen funktioniert.
Das wäre für Bibliothek-Bausteine wichtig die an vielen unterschiedlichen CPU's laufen und sehr flexibel sein sollen.
Was habe ich schon versucht: Alles, aber nichts davon ist wirklich universell. Manches geht nur mit nicht optimierten und manches mit optimierten Bausteinen. Vieles geht nur, wenn die Daten in einem DT liegen. Das sieht alles nach Chaos aus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn man sich einmal entschieden hat, DB optimiert und nur noch symbolisch anzusprechen, dann ist es in der Regel sinnfrei die Struktur und Adressierung des DB an allem dran vorbei absolut erforschen zu wollen.

PS: Wenn Du "DT" schreibst, dann meinst Du vermutlich UDT?

Harald
 
Genau, DT ist ja UDT.
So sinnfrei ist das nicht. Wenn ich an die vielen DB's mit Meldungen denke, dann fällt mir auf, dass einige optimiert sind und einige nicht. Manche haben nur Bits und manche integer. Wenn ich die Meldungen auf bestimmte Muster/Bedingungen auswerten will, dann wäre schön wenn man einen einzigen Baustein dafür macht und nicht mehrere.
Ich rede hier von keiner neuen Maschine sondern von ca. 200 großen Maschinen und Anlagen die Weltweit stehen. Sie werden kontinuierlich erweitert und modifiziert. Mal eben 8000 Meldungen an einer mittel Großen Maschine anzupacken macht keinen Spaß.
 
Es wird hoffentlich wohl an einer einzigen Anlage immer gleich gemacht sein. Und komplett unterschiedlich wahrscheinlich auch nicht. Mach halt 5 Versionen oder so von der Funktion
 
Zurück
Oben