Programs you are proud of.

Join Date
May 2010
Location
London
Posts
689
A chance to tell us of a particular program you wrote that still makes you happy and proud. It doesn't have to be the software for a lunar landing - apparently simple ones can give pleasure too. Especially if the customer and users never made any comments because 'it just worked.

Mine I suppose was a very large conveyor system (and the first time I had used bar code readers) Over 100 3M conveyors and 50 7-way turn tables
It was like an airport baggage delivery system making sure the correct bag went to the correct destination. Except this was mattresses going to various stations for different work and then joining the queue for the wrapping machines or warehouse or tufting machines or rejects or......

The bits I loved was, all the mattresses eventually had to go on the main line and they were constantly streaming down this line. Mattresses that were coming onto it from the sidelines had to know when there was a gap big enough for them to get on.
And in the automatic tufting department, there were four identical tufting machines that had to be constantly fed with mattresses from one passing line.
I loved programming this system and 99% of it was just basic logic but it all worked so beautifully.
Afterwards, I used to call in occasionally to ask if everything was OK but really I just liked to watch it performing. And the fact that no one there ever though it was anything out of the ordinary.
 
Last edited:
When I first started at my job last year, they have an old tank reading system (which was discontinued in 1991 by the manufacturer) it had an old mechanical counter which you had to put in a preset number, then select which tank you wanted to read, then the counter would decrement as the plumb bob was lowered into the tank until it reached the liquid level. The counter broke, and the company who made the counter wanted $5,000 for a replacement. I designed a PLC replacement for the counter for around $700 and the PLC did the calculations to tell the user how many gallons were left in the tank. They were trilled with it not only because it was a much cheaper option, but made it easier for the user to do the daily tank readings.
 
My first program/build as a controls technician at my last job was replacing a two-pump booster system for chilled process water. The system in place took water from the main process loop, filled a smaller intermediate tank, and pumped it up to the top floor of our blending tower. The existing system was super buggy, with no HMI or sensor fault detection, and was password protected by the integrator who had since gone out of business.

I was still in school, had never worked with PID loops before and had never developed an HMI program from scratch, but they basically give me a Micro800, PanelView 800 HMI, and two Powerflex VFD's and told me to "fix it." Welp, I fixed it. I installed a 4-20mA float sensor, discrete low/high level floats, and an HMI with level/IO indicators and maintenance adjustments. Two years later when I left that company that system was still running with no issues. Still amazed that I got those Mirco800 PID loops to work efficiently.
 
I am proud and pleasantly surprised of any program that does what I was thinking I wanted it to do.... "wow, it works?"

Haha exactly

One time I made a customer extremely happy with a fairly simple programming change. They had a pressure gauge connected to a PLC analog input. The previous programmer had tried to get it to scale properly in the PLC, and it kind of worked at some pressures, but not at others. It turned out that the device was non linear so simply multiplying/dividing by a scaling factor was not enough. The user manual gave a formula for converting voltage signal to pressure. Once I programmed this in the PLC, the PLC/HMI readings started to make sense
 
I haven't worked on much, still just an intern in college, but when I started interning with my current company I got to go out into the field for a week. I didn't write the entire program, but I did write a few routines. I had to handle two systems which would have an operator scan a part's barcode, move the part into position in front of the conveyor with a cart, and a Keyence vision camera by the side would verify if the part correctly oriented. If it wasn't (or wasn't the part the barcode said it was,) then it would tell the operator on the HMI. If it was, it would allow them to load the part onto the conveyor. The system also had to talk to two other companies PLCs. Getting everything working took a long time, a lot of questions, and a lot of reading documents, but to see it all work was a great feeling. Hopefully I get to work on some more complicated stuff later on, I've been really interested in PID loops despite them going over my head completely haha
 
Of the thousands of programs I've written, exactly two of them started up and ran perfectly with no edits. One of those had an incorrectly coded PID instruction in a SLC, but if it ain't broken ...
 
Nothing to do with PLCs.
Motion controller firmware.
My auto tuning programs.
My Othello program written 1979-1980. I entered it in the first Man-Machine Othello tournament in Evanston, IL. I came in 7th place. Not bad since I had no instruction on the theory about alpha-beta search. I learned from books.
https://link.springer.com/book/10.1007/978-1-4612-5515-4
BTW, I beat someone that wrote a world champion chess program.
I met all the who is who in computer chess there too. Remember Sargon or the Apple II or TRS 80?
https://www.worldothello.org/ratings/player?playerID=11037
The world champ from Japan beat all the computers but that was the last time. Now the computers can play a perfect game and see from the start all the way to the end.
 
Most memorable, I wrote a Controllogix+HMI program that featured an editor/translator of CNC G-code programs into commands fed to a Fanuc Robot. Later, my successor doubled up the code for a 2 robot cell. It was the first time that I ran into Ethernet/IP packet data lose; had to add an extra layer of handshaking "here it is, send it back, yes looks right so run with it".

And, the ones that I never hear about from the customer after commissioning.
 
I think the two I remember most were for the same company (all though did many projects for them), the first was Tomato ketchup batching & cooking system, this was for probably the most famous ketchup known (hint hint), the process blended the various components, cooked it to 101.0 deg C (in-line), homogenised it De-airated & sent it to the pasteuriser then to filling. The original code was developed on an S5-155 processor, I had the guys in ther workshop built a test rig complete with all the I/O (used relays from outputs to inputs for valve & motor simulation), internal clocks to simulate the flowmeters & some of my own built temperature generators, communications to various other systems, I did not change any code on-site appart from a few interlocks with downstream equipment, it ran flawlessly for 11 years before the factory closed & moved production to another site.
The other was similar, pickles & spreads, by that time we had accuired a simuylation system called prosis (developed by an ex Siemens engineer) it was basically an interface card that sat on the rack & a program where you could write the simulation in Pascal) worked a treat, again no real mods once commissioning, however, many changes over a 10 year period for various add ons for different products & enhancements.
 
Well, in my case it doesn't have much to do with PLCs either.

What I am most proud of is a SCADA program for ceramica kiln control written in C++ in the 2000s.

Also an Android application to manage a manufacturing plant, not for automation but for the operators, each with their tablet or PDA, to write down their production, prepare orders, and have the necessary information, since the work is mainly manual.
 
I'm not very good at this, but I'm pretty happy that there are as many people using pylogix as there are. I was always interested in open source, so to have my own project that a few other people find useful is pretty cool. Of course, there are a ton of things I'd do different as I've learned more. Now I feel uncomfortable.
 
Programs you are proud of?

…. “All of them, I think”

I retired last year, and think back on the hundreds of PLC programs I authored, and many stand out as an achievement. The net result, was over and over again, an elated customer was my motivating metric. I was given opportunity to offer complete engineered hardware, and software solutions to the customer so that they could keep/maintain failing, unsupported, foreign equipment that their predecessors stuck them with. I gave them solutions to allow forward manufacturing for years to come, and supported locally in their U.S. locations.

I think what you may be asking is: “What program did you author for the first time with no experience, and only customer specifications?” It is FUN to dig and, ply, and learn, and ask, and to meet new people, and discover new processes and industries. And when you come out on the other end…. Another ‘Feather in your cap”
 
There were some of them I really feel proud of, but then after a while I go to re-visit them and I'm like this is a horrible program, I could re-write it better!!
 
A major edit of a gold plating line.

A hoist moved racks between the load station and 22 tanks and was supposed to be able to have the operator press a Load Release button and it run autonomously for 35 minutes one full cycle.

Problem was the operator had to know the exact sequence of operation and watch every move, lift & drop by the hoist and had to shut the cycle off if he needed to go anywhere. It missed steps and jumped up to 8 steps a few times every cycle, plus would lift with the hoist in the wrong position that would miss grabbing the rack, leaving it in a tank that should be empty for the next rack to crash into.



I stood there monitoring the SLC and watching it operate looking for patterns, as I found one I figured out how to online edit it from ever happening again.

2 full weeks and it finally operated as it should, plus now any employee there could load it and send it on it's way.

Then the customer realized they didn't need the operator standing there 2x 8 hour shifts, they could have one from another line go there every half hour, unload & load a rack & press the release button.

Looking back a wipe and complete rewrite would probably have been better, but it is still running smoothly after 5 years now.
 

Similar Topics

Has anyone found a way to convert/replace/update the firmware on old Parker TS80xx series HMIs (i.e. TS8010, TS8006, etc) to accept Crimson...
Replies
0
Views
99
Hi All, I am trying to program some new Versamax micro PLCs through PAC using some programs saved in our archive however whenever i go to import...
Replies
2
Views
126
I have multiple programs defined inside a single continuous task. I have an ONS defined in the very first program that is used throughout multiple...
Replies
68
Views
5,235
Hey guys, I've a requirement that a two different PLC program should work in same system depending upon user input. Consider Program A is used...
Replies
11
Views
1,918
Well, not sure what else we can do with this one at the moment. Will chat with Rockwell in the morning but am not expecting much. Guess I'm...
Replies
6
Views
1,129
Back
Top Bottom