Anlage programieren

slma

Level-1
Beiträge
82
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Habe eine etwas komplizierte (für mich) Aufgabenstellung:

Also: Die Anlage hat einzelne Module (FBs).Die Anzahl der Module soll erweiterbar sein. Jedes dieser Module liefert einen Zeitwert(aktive Arbeitszeit des Moduls), eine Störmeldung und einen Teilestatus (IO/NIO/NA). Diese sollen in einem DB als Array abgelegt werden. Wenn das erste Modul fertig ist beginnt das 2. zu arbeiten, legt auch seine Daten in diesem DB ab. Dabei müssen im DB die Daten weitergeschoben (schiebeoperation???) werden, da sie sonst überschrieben werden(alle FBs sind ja gleich).

Haben erfahren es wäre gut die Daten (Zeitwert,Störmeldung, Teilestatus) in einem UDT abzulegen. Das Problem ist, ich habe noch nie mit einem UDT bzw. Array gearbeitet und weiß nicht wie man weiterschiebt und wie ich das ganze aufbauen soll... :(

Ach ja: Wie definiere ich mein Array im DB? Beim Typ steht dan ARRAY[] ..wie kann ich das durch die Anzahl der Module veränderlich halten? also 1...number of modules...

Kann mir da jemand Helfen?

mfg
 
Zuletzt bearbeitet:
Hallo,
dein Problem hört sich für mich ein bißchen so an, wie das, was wir bei uns Schiebespeicher nennen ...
Wir haben eine Menge Montage-Automaten, die an einem Rundtisch Bearbeitungsstationen usw. haben.
Ich habe das bei mir so gelösst, dass für jede Station das Ergebnis ihrer Arbeit (in der Regel 1 oder 2 Bits) in der Struktur jedes Platzes hinterlegt sind. Daraus ergibt sich dann eine Bitmaske (UDT). Diese gibt es für jede Position des Drehtisches, ob dort eine Station steht oder nicht (ARRAY of UDT). Mit jedem Takt des Drehtisches wird der Speicher um ein ARAAY-Element weitergeschoben. Gleichzeitig wird der Inhalt des letzten Platzes wieder in den ersten Platz geschoben (Ring-Puffer). Ob sich eine Station an dem Ringelreihen beteiligt oder nicht hängt nun unmittelbar vom Inhalt des für sie zuständigen Speicherplatzes ab. Wenn sie etwas zum Gesamt-Ergebnis beiträgt, dann werden entsprechende Bits des Platzes gesetzt (oder rückgesetzt). Selbstverständlich lassen sich in dieser Struktur auch Mess-Werte unterbringen - kommt ganz auf deine Anforderung an ...

Ich hoffe, das hilft dir erstmal weiter ...
 
Zurück
Oben