Positionsspeicherung

Hasi36

Level-1
Beiträge
1
Reaktionspunkte
0
Hallo

Für ein Projekt muss ich mit TIA Portal V15.1 ein Steuerung programmieren welche einen aktuellen Ist-Wert Speichern kann.
Insgesamt sollen so 16 Plätze gespeichert werden können. Bis jetzt habe ich nur einen Weg gefunden, dies über eine einfache Move Funktion und mithilfe eines Vergleichers zu erstellen. Jedoch brauche ich so 16 Netzwerke (eines pro Platz).
Gibt es eine Möglichkeit im TIA diese Funktion nur mit einem Block zu erstellen. Dies mit FUB

Zur Info: Es handelt sich bei den Werten um 3 Int Werte welche in einem Array sind
 
Deine Werte haben doch bestimmt eine Kennung 1-15 oder ähnlich?
Danach vergleichst Du doch auch wo der aktuelle Wert gespeichert werden soll.
Also kannst Du in Deinem DB die Werte einfach so sortieren das Du ein Array 0..15 of struct bildest, darin ein array 0..2 für die INT-Werte.
Dann kannst Du symbolisch auf den Array-Index der Struct die Ablage der Werte programmieren was dann in einem Netzwerk funktioniert, sofern keine Sortierung erfolgen muss oder es ein Puffer sein soll.

Dann nämlich wäre FIFO oder LIFO interessant und ist so auch einfach im Forum zu finden.
 
Es ist ganz normal daß ein SPS-Programm aus vielen einfachen "elementaren" Anweisungen zusammengesetzt ist. Netzwerke kosten nichts und machen ein Programm übersichtlich. Wenn Du nun versuchst, das Programm auf nur 1 Netzwerk einzudampfen, dann kostet das Entwicklungszeit und es entsteht schwerer verständlicher, unflexiblerer und schwerer beobachtbarer Code, der meistens auch noch viel mehr Rechenzeit bzw. leistungsstärkere CPU erfordert. Und das Ganze nur, weil der Programmierer denkt, er könne eines fernen Tages auf die Art die eine oder andere Programmierstunde einsparen... Lasse den Code mit den 16 Netzwerken so wie er ist - die Programmierer, die Deinen Code eines Tages verstehen müssen, werden es zu schätzen wissen.

Harald
 
... die Programmierer, die Deinen Code eines Tages verstehen müssen, werden es zu schätzen wissen.
... oder ihn belächeln, wenn sie selbst zu der Kategorie gehören, die nur 1-Netzwerk-Lösungen akzeptieren.
Man kann es nie allen recht machen.

Ich würde mich von den physikalischen Eigenschaften der Fächer leiten lassen und versuchen in den Daten diese annähernd abzubilden.
Z.B. wenn die 16 Fächer die eines Regals mit 4 Zeilen und 4 Spalten darstellen, dies in ein 2-dimensionales Array packen.
Die Werte selbst mit ihren 3 Bestandteilen könnten eine Struktur (wie bisher) mit Array oder eine ohne Array sein.
 
Zuletzt bearbeitet:
Zurück
Oben