Is this firmware?

Hello Group,

Is the code programmed into a PLC by a machine vendor considered firmware or software? If it is firmware, can the PLC be treated as any other piece of hardware in the machine?

Also: what is the definition of “automated”? There seem to be manual steps involved in even the most highly computerized machine process.


It is firmware. If its code that is stored on a chip, its firmware. But the exception is that it is “independently upgradeable code” that is most likely custom code. Another issue is that it DIRECTLY effects or controls a GxP process. So it is validated as part of the system.

You may also be able to pre-program and validate an identical PLC and have it on the shelf as a hot spare. Since it was installed and validated in the system it is intended to function in. It can be considered a like for like replacement, and re-validation of the system should not be required. In fact, you should not even have to do a formal change control. Noteing it in the log book should be good enough.

However, when the broken PLC comes back and gets re-coded, techincally it should be re-vaildated. Another thought is that you may consider it like for like and justify not revalidating it by conducting performance monitoring on the system after the repaired hot spare is installed.

Automated process is ANY process that is not COMPLETELY performed by a person. If the code in firmware enables a person to skip having to do certain steps in a process, then it is an automated process. The test is to remove the firmware and if you can still complete the process using exactly the same steps used when the firmware is in place and get the exact same result(unlikely), then it is not an automated process because the code is not involved.

Just some thoughts, comments?

I never thought of PLC code as firmware code. I always treat it like software and the PLC as a computer. It boils down to the amount of customization and ease of editing the code. I can online with the PLC and change values, and code. Typically, firmware is built offline and then upload or burned in. I have tools to see the PLC code and I have programming standards for a PLC. Firmware is typically limited in complexity although some temperature controllers do some complex PID cascading loop control. I digress, unless the system is an off the shelf PLC system, I would do full life cycle validation on the system. I said system, you can’t really validate a PLC, you need some kind of operator intreface too.

Hi Meyert,

Agreed I would also do a full validation on it, maybe my previous post wasn’t specific enough.

It’s actually a good way to look at it the PLC code being software and the PLC itself being the PC.

Point taken, its a good one!


Ok that makes sense. When I see firmware, I think black box. Much less testing and documentation. Most PLC systems require documentation and typically interface firmware systems, proportional actuators, RTD controlllers etc. I like the idea of the hot spare PLC, just need to document the method for confirming the correct code is on the PLC and that the spare was updated when the primary was. I love how the validation mind works. We can take a simple change and make it a documentation nightmare.