Will used model the process and design the underlying controller
Mini Project #1: Design and Simulation of
Industrial Control Systems
Factory I/O requires Windows operating system (OS). If you do not have access to a Windows machine, you can download Windows from (formally Microsoft Imagine). If you have a Mac, then is a great way to set up the Windows virtual environment. The trial version of Parallels is sufficient for this mini project but you can also get a student discount for the full version. Otherwise, any virtual machine manager is allowed (e.g., ). If you use VirtualBox, then you may need to install , so that GUI resolution auto-adjusts. Please note that Factory I/O needs a GPU for better graphical render-ing performance and a good amount of RAM. Therefore, make sure you have allocated enough hardware resources from your host machine to get a smooth environment. If you are still unable to get a smooth running experience, try to decrease the graphical rendering quality within the Factory I/O settings. (Please avoid using VirtualBox if possible, it is not ideal for development).
Factory I/O requires heavy compute resources to run without any inexplicable problems and anomalies. A machine with the following specifications would be ideal for this project. These are not hard requirements, but will help improve your development experience. The listed specifications are based on statistics from previous classes:
• CPU Utilization does not exceed 30%
• 16GB RAM
• 2GB Video RAM
• 50 FPS
Inside Factory I/O, there is a visual environment where you can create the 3-D model of an industrial control process. Also, you can design a controller for the process, where the actuators are controlled by sensors, input buttons, and the underlying control logic. The control logic of the process can be embedded inside a programmable logic controller (PLC) connected to your computer. We will learn how to program a PLC in the next mini project. Instead of connecting a real PLC, in this mini project, you will use the Control I/O interface with Factory I/O to design your controller. You can connect the block diagrams of the inputs, sensors, and actuators with different logic to form your controller. This is very similar to programming in the Simulink/Matlab environment. Factory I/O can be very easy to learn, but for this project you are only working in Control I/O.
It does take some time to get familiar and comfortable with Factory I/O and Control I/O software. This project requires Function Block Diagram design which is a bit different from traditional software programming (there are no IF statements!). Please do not wait till the last weekend to start this project, as the estimated time of completion could be anywhere from 15 to 50 hours. Below are helpful resources to get started on Factory I/O, Control I/O, PLCs and Function Block Programming.
2 |
|
---|
1 Water Tank System (20 Points)
Part 1a - Water Tank System (0 Points)
• Pressing the start button while a tank is draining below its minimum cycle level (ex: 40% for Tank 1) can be ignored, or it can start the filling process, either method is acceptable.
This implementation has already been done and the solution is provided in the assignment zip file. Also, there is a created to discuss how to implement the solution. This is provided as reference and to assist the learning curve required for working with Factory & Control I/O.
3 |
|
---|
After the third tank hits 50% 3 times (fills to 50% level 3 times), the fill and drain logic of the second and third tanks should be affected. As a result, your logic bomb should cause the second water tank to cycle between 10% and 10.1%. The cycle action is to fill to 10.1% and when 10.1% is reached, it drains to 10% and then refills to 10.1% and continues the cycle. The third tank should fill to 100% capacity. If the stop button (or start button) is pressed after the logic bomb has triggered, tank one should continue to respond accordingly, however, tanks two and three should NOT. In turn, tank two will continue to cycle between 10% and 10.1% and tank three will fill to 100%.
Grading Notes
• When the start button is pressed, all three rollers will emit pallets with boxes. One outer emitter (on the outer roller) will emit pallets with small boxes, and the other emitter (on the other roller) will emit pallets with large boxes. The middle roller emits pallets with either a small or a large box. (The emitters are already configured).
• Once the pallets+box, on the middle roller, reach the chain transfer the pallets with small boxes should be sorted to the right and the pallets with the large boxes should sort to the
4 |
---|
left. The pallets (with boxes) emitted on the outer rollers should continue to be removed accordingly. (See video for additional details)
• Once the pallets are properly sorted to the appropriate roller, they should continue to travel down and their respective roller and removed by the Remover at the end of the roller(s).• If the stop button is pressed, the process should pause and continue as normal when the start button is pressed again. (Note: You do not have to worry about the stop button being pressed mid-sort.)
• Ensure that the control box has the appropriate number of sorted boxes at all times, configuration provided in the table below.
|
|
C2 @ Entry Counters (Small/Large) |
|
Grading Notes
A pre-built Factory I/O scene is provided, and you are not allowed to modify the pre-built scene, as this will be the scene used for grading. Any points lost due to scene modifications are not eligible for a regrade (including any sensors/actuators that are already FORCED). This part will be graded under normal speed (1x); if your process takes too long (see Appendix A) to operate then you will lose points.
|
---|
Table 3: Part 2 Thresholds
3 |
---|
Part 3a - Production Line (25 Points)
In this section, the goal is to design and implement a production line system with production bases and lids. Below are the steps required for implementation:
• Ensure that the control box has the appropriate number of sorted boxes at all times. The Packages Complete counter counts the number of lid+base (packages) that are detected by the Package leaving sensor. The Blue, Green, Metal Packages Counters are represent the counts of the packages at the corresponding Blue, Green, Metal Packages sensors.
Orientation is based on a birds-eye view of the scene, where the Arm is at the top and Control Box is at the bottom
Table 4: Part 3 Thresholds
|
---|
Create a zip file named <First Name>-<Last Name>-mp1.zip (e.g., Tohid-Shekari-mp1.zip), that includes all your files and submit it on Canvas. Your zip file should be generated in such a way that when it is extracted, we get two folders with the names of scenes and controllers. Note: Failure to follow the submission and naming instructions will cause 20% points loss.
|
|
---|---|
|
|
|
|
The tables below are a rough estimation of how the TAs will approach grading. It is up to you to read through the requirements of the project and ensure all requirements are satisfied. If you have any doubts or need clarification, please post on Piazza.
Table 6: Water Tank Logic Bomb Evaluation (20 Points)
Table 7: Sorting Station (25 Points)
Points | ||
---|---|---|
|
||
|
||
|
||
|
||
|
Table 8: Sorting Station Logic Bomb (15 Points)
Table 9: Production Line (25 Points)
Points | ||
---|---|---|
|
||
|
||
|
||
|
||
|
10 |
|
---|