Cliffs: I snatched over 600 engineering hours worth of my work from the jaws of death with 6 hours to spare today.
Full text:
I’ve been working on one project all spring. All new control system for one of our plants. There was one last technical challenge that I’ve been working on for weeks and concluded was impossible. Nobody was any help. Senior consultants had nothing. Engineers at the vendor offered wild ass “maybe” solutions. Last week I taught myself HTML, javascript, and java chasing a solution. No progress. I was out of time and out of ideas.
I’m supposed to go deploy it at a high visibility new plant in like 5 days. It was part of a 2 year 5 million dollar product line re-do. Like, the CEO and Executive VP are very interested in this project. Fucking up would be a severe CLM.
It looked impossible. At 8AM today I called a 4pm meeting to tell all the interested parties that we’re fucked and have to go back to the old system because the new one doesn’t have the capabilities that we were sold it as having.
But I couldn’t let it go. If I’m going to let my last 3 months of work go down in flames it’s going to be kicking and screaming. I took a step back, deep breath, and went back to the basics. Started at square one. What do I fundamentally need? What tools are at my disposal? How creative can I get?
11AM I had a goddamned breakthrough, like I cracked the fucking Da Vinci code. TPGSR is the only one who would understand what I did so I’ll save it for now. Long story short I got creative with html and ladder logic and managed to display 4000 data points in an organized html table in under 2kb without indirect addressing in a javascript loop because that didn’t work for dick squat.
My meeting went flip mode from “We’re fucked and here’s why” to “I’m the smartest man alive and here’s why we golden for next week.”
Fuckin A bubba. Goddamn success feels good. Days like today remind me why you should do what you enjoy and don’t worry about the money.
Details for tpgsr and any other potential uber-nerds:
I’ve got a Spectrum Controls Webport interfacing with a SLC 5/05 processor in a SLC500 rack. 99% of my OIU can be done under the ~500 tag limit of the Webport.
However I have 2 functions that essentially need to quickly/easily display about 30 data points on a cyclic basis. I.E. a scrolling text box that can write a line of data either every process cycle (20 sec) or every 1/4 second. The process one needs to display at least the last 10 cycles, the 1/4 second function needs to display the last 60 seconds.
So, my first instinct is 60 tags total and a live wrapping text box. I think you probably understand what I’m getting at. Write the 30 points, go to the next line, write them again, repeat 20 or 240 times. Well the webport doesn’t have that capability. So I tried javascript with a for (i=0, i<241, i++) loop. Dur. HTML only executes when it is loading in the browser. That won’t work. So I tried to learn Java. What a clusterfuck.
So using 60 tags and a live wrapping text box was out. So I found the custom web page hosting capability of the SLC 5/05. Sweet! I’ll just fill up a bunch of fucking data tables and display them. I was golden until I stubbed my dick on the 2kb html file limit.
Again I was fucked. Tried a bunch of shit. Got nowhere. Got in way over my head unpacking jar files and decompiling *.class files trying to learn how Spectrum does it in their Java program. Fuck I can’t even run Java in internut exploder now. I have to use an alternate browser. I screwed up something while having some command line fun.
Finally I got it. The tag addressing functionality in the SLC 5/05 lets you specify a start word and how many consecutive words to display. I have a seperate data file for every real life piece of data I’m gathering and log it historically in the SLC. Then in a custom HTML page I say “Start with F132:0, show the next 255 words.” I place that tag/command into an HTML cell, specify a fixed column width to make it wrap after every word, and presto motherfuckingchango I have a perfect data table organizing 4000 data points in under 2kb without any loop commands.
Did I mention that I barely passed C++ in college because programming is NOT my strong point?
Fuck. I am a god among advanced control system engineers.