This weekend I was working on a project creating and testing a MicroLogix program using a 1763-L16BBB Series A, Frn 1.0, and found certain bits we're getting stuck.
This can be caused by poor programming, like using the same address in multiple output instructions (OTL and OTU aside.)
But after running a cross reference to be sure that wasn't the case, and exhausting other options, I decided I would look into flashing the firmware of my PLC as being v1.0 wasn't reassuring.
So over to the Rockwell website I went to grab the updated firmware, and since they had v10-v16 available I figured I'd grab them all just in case I needed them in the future (Rockwell frustratingly purges old versions of files and documents on a regular basis.)
Firmware in hand, I went about installing the newest version of ControlFlash on my Windows 10 VM, and then attempted to quickly flash my MicroLogix 1100 so I could get back to work.
As fate would have it, during the flashing process I received the error, “Illegal Command Format. DTL_E_FAIL, I/O completed with errors.”
After a few internet searches, and then searches of Rockwell's Knowbase, I was getting frustrated since it seemed no one had a solution to this issue (or the solution got purged?)
To make matters worse, my MicroLogix 1100 was now left in a totally unusable state, as seen below:
With my plans of spending a Saturday afternoon productively writing code looking less and less likely, I began working to find a way around the issue.
While the Micro was not usable, and I wasn't able to re-connect via Ethernet, it didn't seem like it was hard-bricked either.
So after a quick run out to my garage/studio, and a few minutes rummaging around for my Keyspan USB to Serial converter and third party PM02 cable, I reconnected to the PLC via serial and started trying older and older firmware and versions of ControlFlash to see if maybe I could get one of these older versions to work.
While the point of failure changed depending on the version of firmware I was attempting (“…transmitting os chunk 29 of 2029…”) the result continued to be the same failure to flash the firmware.
It was at this point that I decided to boot up an older Win7 VM to see if maybe that would work.
After installing ControlFlash and the firmware, I'd launched the software to be greeted with a new message which I was not able to re-trigger so I could grab a screen shot, but in short it warned about using ControlFlash on PC's with Multi-cores.
This error seemed to trigger an old memory about old issue, but without any not remembering any specifics I just dismissed the popup and continued to attempt flash my Micro which this time was successful:
After Flashing my MicroLogix, I headed over to this VM's setting to check out how many cores I had set.
Being an older VM running Win7, I had it set for just a single core. Checking the Win10 VM I was using earlier, I found it was set to use 4 cores (I run some intensive 3D simulation software that connects to my PLC, so I need the additional horsepower.)
Curious as if this was the real issue with flashing my PLC from that Win10 VM, I attempted to set ControlFlash so it would only use a single core, however changing the affinity setting didn't resolve the issue:
So I completely shutdown the VM so I could change the VM setting from 4 to 1 cores, and then re-launched and retried flashing my PLC and low and behold, it now worked:
With that taken care of, I decided to take a break from troubleshooting Rockwell products and fired up Satisfactory for some fun building a virtual factory – it's a really fun game on sale for just $20.99 here, and requires no programming at all (and no firmware flashing either 😉
Hopefully the time I took to document this issue will help someone down the road, as thinking you've possibly bricked your PLC due to a software glitch is one of the more frustrating experiences one can have working in this field.
Until next time, Peace!
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.