As we have two locations at Maple Mold Technologies, I was tasked with building a system for tracking tooling repairs and the molds themselves between the production facility in Auburn Hills and the tool shop in Rochester Hills. Originally, they wanted me to use a combination of Excel, VBA (Visual Basic for Applications), and Access. While I was able to successfully build a functioning prototype, we quickly ran into compatibility issues when I began testing on the Production Managers PC. If I remember correctly, the issue was due to differing versions of Office.
With that, I was able to convince management to let me take the reins and design/develop the system as I saw fit. What you see below is a successful implementation of a web-based system built using Django (Python) and Bootstrap (HTML/CSS/JavaScript), with SQL Server Express used as the database. I decided to go with a web-based application, as using this architecture would directly remedy the compatibility issues we had with Office. Any device with a web browser can access the application. It is hosted on our local domain (managed by Fuse) using the Waitress web server, and is only accessible from a device connected to the network (including mobile devices). This allows it to be accessible from both the production facility and tool shop.
What I gained from this project was/is invaluable. As Python is my go-to programming language, gaining the ability to quickly wrap pretty much anything in a web based ecosystem was quite exciting! I have used the tech stack with additional projects as well, such as the user interfaces for remote machine monitors (ask me about this!) and a predictive maintenance system (still in progress as of 8/7/2024, this is my capstone).
Production Dashboard
Tooling Dashboard
While many of our molding tools have integrated valve gate controls that directly interface with the injection mold machines, we have a few older IMMs (injection mold machines) that lack this feature. Our solution was to create custom valve gate controllers using a PLC (CLICK, Automation Direct) with an HMI (C-more, Automation Direct).
What you see below are snips I quickly took from the C-more programming application. This is why grid lines are present, and some of the settings don't seem to make sense. They are rather simple applications, but have nonetheless proven to be quite valuable to the company by reducing tooling costs.
The controllers operate by receiving three inputs: two discrete and one analog. The two discrete signals are "Clamp Closed" and "Screw Rotation", coming directly from the IMM, while the analog signal is from a linear position sensor attached to the screw. In some older IMMs, the screw rotation signal is generated by comparing analog readings to previous readings, with some tolerance built in for noise. When setting up new jobs, the mold technicians have the option to either use timers activated by the rising "Clamp Closed" signal, or based on positions from the linear sensor.
Home Page
Active Job Settings
Job Change Screen
I/O Monitor
This was my submission for the Performance Assessment of Software I at WGU. I'm actually quite nervous about putting this online, as it equates to the final project of the class. Can't have other students finding it and using it to cheat, even thought I know the school sends out different versions of the assessments. Therefore, I've made the GitHub repository private. I'm more than happy to allow access during the interview process, but academic integrity is important to me. I don't want to be accused of cheating and get kicked out of school when I'm so close to finishing.
Anyway, the project was to create an Inventory Management System using JavaFX. It follows the MVC design pattern. We