This project is a comprehensive simulation of an automated warehouse designed to showcase the integration of industrial automation with modern web and mobile technologies. Inspired by Supervisory Control and Data Acquisition (SCADA) systems, I aimed to create a solution that monitors and controls warehouse operations in real-time, similar to how SCADA software supervises and manages industrial processes. The warehouse utilizes two cranes, multiple conveyors, RFID scanners, and sensors to simulate real-life logistics operations. This project demonstrates the interaction between a Programmable Logic Controller (virtual SIMATIC S7-1500) and external systems using a backend API (Django Rest Framework) and a mobile interface (Flutter), facilitating real-time monitoring and control.
- Intelligent sorting of boxes based on their size and warehouse status - TIA.
- When an order is placed, the sorting process is interrupted, and the ordered box is moved to the pickup area - TIA.
- Visualization of warehouse status through a dedicated application - Flutter.
- Ability to place orders for specific boxes (using IDs read by RFID scanners and stored in a database) or for any box with specified size - Flutter.
- The entire system has been thoroughly secured and tested to prevent undesirable behavior, ensuring it is error-free.
The warehouse is built in FactoryIO with components such as conveyors, turnable conveyors, sensors, RFID scanners, and cranes.
The PLC program is written in LAD, SCL, and GRAPH languages. Good programming practices were taken care of. All boxes are sorted by size to maintain an equal number of each size in both storage areas. An RFID scanner reads the RFID tag data of each box. The crane then places the box in the first available slot. Users can order a specific box by its ID or by size, and the program will select the appropriate box for unloading. Program is protected against errors and unexpected behaviour. In service mode all boxes are directed to working magazine.
Works as a bridge. The backend forwards the TIA data block information to API and order data from another endpoint to the TIA project.
The application displays the status of each storage area and can be used to place orders.