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