TAG | internal-state
Have you ever wondered what the ladder logic for a dog would look like? I imagine it’s something like this:
… and so on. I think that’s why we consider dogs so loyal. Perhaps by loyal, we mean predictable, or understandable.
Ever wonder what the ladder logic for a cat would look like? I imagine it thus:
… or something like that. Actually I’m pretty sure I’ve met a couple of cats that came equipped with thirteen sequencers and a conditional subroutine jump in there somewhere. It certainly makes life interesting. Does that little tail wag mean it’s safe to pet, or does it mean your cat is about to mistake your inner thigh for prey? Who knows! What fun!
I guess my point is, cats can be moody, and believe it or not, so can machines. You might call it “internal machine state”, but I call it moodiness. Have you ever been trying to troubleshoot a machine and it was stuck thinking there was a part in one of the stations that really wasn’t there? Every time it indexes it keeps faulting? That’s machine moodiness. So there you are, flagging every sensor in sight trying to get that part present bit to clear, and no matter how many roses or chocolates you buy for the darned thing, you know you’ll be sleeping in the dog house tonight.
Thankfully, there’s a cure for machine moodiness: Make all internal state visible and editable. At the very least, there should be a screen on the HMI that shows the current status of the part present bits at each station. If you really want to be fancy, make sure it allows the operator to set and clear those bits manually. That includes latches, sealed coils, counters, FIFOs, and even long running timers.
Anyway, if you can’t see it, you can’t troubleshoot it, so adding visibility will save you time in the future. Trust me. And trust dogs; they’re quite loyal.