Here at eLink, we have worked on many projects that have required excellent skills to complete. Recently, however, we were approached with one of the most demanding system development projects that we have seen. One of our manufacturing clients was facing an issue that is not uncommon in their industry, outdated software running on their automated floor systems. This can lead to robots running outdated software that brings a host of issues, the most critical for a manufacturing client, downtime on the line.
Our client was faced with a situation no one wants. The fundamental problem is that many factories suffer from a disconnected set of technologies. As a result, not everyone in the factory always understands the software and hardware integration scope using the machines.
Our team has seen that unlike when you install hardware and software usually good for about a year or two, manufacturing clients will install software and hardware and keep the hardware running for 15-20+ years. Over the years, the software will become outdated, and different team members will implement patches/new third-party software. You usually have had enough team turnover down the road that nobody knows how it's all integrated and how each piece works together in sequence. When this sort of situation arises, the talented team at eLink comes in and gets to work.
In this particular instance, we sent out a team comprised of our CTO David Worley & Senior Developer Kevin Carter. Simply put, they figured out the problem, looked at the old software, reverse engineered it, and then built a new streamlined solution to replace the old, fragmented solution causing the issues. “Simply put”, but not simply developed and implemented. Read on to find out more about how David, Kevin and our eLink team were able to get our clients system more reliable and easy to use.
We have approached projects of a similar nature before (usually involving reverse engineering software), but this project represented a different kind of challenge. We have previously done reverse engineering solutions for companies but this project added intricacies that forced our team to develop creative solutions. The first significant difficulty was dealing with the Programmable Logic Controller (PLC), which our client did not have a good understanding of at the time. Our team first had to write code to interface with PLC. Our client provided us with a PLC equipped with the same software allowing us to interact with it.
For those unfamiliar with factory automation, PLCs are generically used to tie together communication between different hardware sets. In this case, the PLC's purpose is to allow the robots to talk to the other machines on the floor. This PLC had custom ladder logic that is tailored to specific applications on the floor, and our team had to spend time researching the software, see how it was written and how the logic controlled the various robots on the floor. This was challenging because these PLCs are not shipped to the factory ready to go. Instead, the custom ladder logic was initially written by a different team at the factory then expounded upon with third-party utilities, which most factories use to build out relatively large interfaces and logic.
Once our team finished combing through the custom software on the PLC, they realized that our client had several different applications, all trying to work together to accomplish the goal of running the floor correctly. They set a goal to write one piece of software that does everything, unlike the mishmash of applications previously used. As we wanted our client not to have this kind of headache again, our team unified the code and the logic to a single source. This single-source will allow our client and us to go in and quickly sort out the logic and systems on the floor, dramatically lowering potential downtime.
Once we had our solution ready, it was time to test both on our side and working with their engineer to ensure that our single-source solution was performing up to our clients' standards. The final steps took time as safeguards had to be put into place, and our solution was fine-tuned to get all pieces of hardware working seamlessly. David, Kevin, and some other support members from eLink consistently went back to our client's location to make sure each piece of hardware would behave properly. Over a year of hard work by our team combined with tests and questions asked by our client's IT team, we installed our single-source solution and got our client's floor back up to running.
Overall this project is a testament to the talented developers and support staff at eLink. Our team came into this project with zero knowledge of the factory and zero knowledge of our client's PLCs. To go from that to a fully functional factory floor with software running around 80% efficiency immediately after install is impressive. All credit is due to our team and the excellent working relationship that was established with our client. We couldn't expect to go out there and say, "Okay, everybody, stop what you're doing so we can reinstall." Our team was on the floor bug testing while the product was being made, always avoiding taking the machines offline and affecting production. Our team avoided halting the entire production, keeping at least three out of the four machines running at all times. If an issue arose, the eLink team was out there, getting it squared away.
The team at eLink has an incredible skillset and the know-how to analyze any situation, come up with a plan and create a unique solution that meets our client's needs. So, if you have an issue that you cannot resolve, it is time to head over to eLink and let our team inspect, craft, and implement a solution that will last.
eLink Design is a national web design, application development, SEO, and business consulting firm, founded in 2001 that specializes in custom solutions for over 800 clients around the country. With this blog, we hope to provide insights into what we are working on, areas where we think we can help shed light on problems we hear, and sometimes just cool things we have come across.