Beispiel 3.7: Anwenderdatentypen am Beispiel der Warenverwaltung für ein Hochregallager
Ein Hochregallager hat in seinen Lagerfächern mehrere Kisten eingelagert. Um den Warenbestand zu verwalten, wird der Datentyp Warendaten verwendet.
TYPE Warendaten : STRUCT
Bezeichnung : STRING; (* Warentyp *)
Anzahl : INT; (* Anzahl der Waren im Container *)
END_STRUCT
END_TYPE
Im folgenden Programm Warenverwaltung kann der Bediener vorgeben, von welchem Warentyp er eine Kiste einlagern (Receive) oder ausgelagert (Ship) will. Das Programm sucht die Position (x_POS|y_POS) des entsprechenden Lagerfaches, damit der Hochregallageraufzug an diese Position fahren und eine Kiste ein- bzw. auslagert. Der Bestand, d. h. die Variable Anzahl, wird entsprechend um die eingelagerte Menge erhöht bzw. um die entnommene Menge verringert.

Im Programm B3_7_Warenverwaltung.project kann das Programm getestet werden, indem man für den Warentyp einen String wie z.B.'60M8' und für die Menge z.B. den Wert 5 vorgibt. Setzt man Receive (für Einlagern) auf TRUE, ermittelt das Programm die Position (x_POS|y_POS) und erhöht die Anzahl um 5.
Speicherprogrammierbare Steuerungen für die Fabrik- und Prozessautomation
4. Auflage erschienen im Hanser Verlag, 2015