Recently, I was at a customer site for a project startup. As I watched the operators going about their day (interacting with both our newly supplied HMI and some preexisting screens that we hadn’t developed,) one incident really caught my attention. An operator pressed a button on screen to open a valve. Nothing. He pressed again. Nothing. After a third attempt, with the same results, he walked over to the valve and opened it by hand. He went on to explain that this was a relatively common occurrence- the button had always seemed to be temperamental. I began investigating their code to see how this button actually went about opening the valve. It turned out there were 6 different conditions, at least one of which had to be met, for the button to have any effect. I could find nothing on the screen, however, that gave any indication this was the case. The button looked and behaved exactly the same way, whether the conditions were met or not. When it didn’t work, there were no messages indicating why. As far as an operator could tell, it was just a software glitch.
read more…