Our correspondent attacks poor standards of control system programming and asks if many of those programmers understand how the systems they programme should function. Did they read the specification? Probably not….
]“I press the button but the lights don’t dimâ€. How many times have I heard that?
The control system is the heart of any major AV systems installation. It is the part that makes all the different devices work as a coherent system, the device that controls the devices, but so often this is the area where the whole system falls apart.
The functionality of a control system is alongside the system design in terms of importance. But it rarely receives the required level of expertise and planning that it deserves.
So often, when visiting sites the most common complaint I hear is about the control system. I was called in to review the work of a contractor a few weeks ago. The client was not happy with the delivered system and how it was functioning. Some buttons on the touch panel didn’t do anything, others didn’t do what they said they did and when you switched from watching satellite TV to PC display, the audio from the satellite TV feed could still be heard!
There seems to be a real lack of application when it comes to the programming of control systems. Cluttered, difficult to use touch panel layouts with a confusing array of buttons and icons. Why isn’t the GUI clean, clear and simple, using words as well as icons?
Careful use of latched buttons that change colour when activated and a simple beep if required, confirm to the touch panel user that the button has been pressed and the function activated. This helps to prevent the end user from repeatedly pressing the same touch panel button, unsure if they pressed it correctly first time!
Then we come to the code itself. Blocks copied from other programmes, re-hashed and cobbled together with a previously used GUI design that isn’t really suitable, change the logo on the start up page and hey presto – you have your new programme for the client, who has just forked out 4K for it.
Wrong! What you have there is a complete mishmash. Something that won’t actually work properly and leads to the problems described earlier.
The control system programme should be worked up alongside the system installation. The programmer needs to understand the design intent, the client needs, but most of all, how to write code that will make the system function coherently in the appropriate manner.
Of the existing installations I review where there are problems, around half of those problems are resolved by re-programming the control system. A clear, functional GUI backed by code that selects the right device and routes it to the correct display is all that is needed in many cases.
But what of that code? Why, when selecting a new data signal to be routed to a display device, do many programmers not send the ‘auto set up’ command to the projector or plasma, so that the image on screen is the best possible? It’s so easy to do, just a simple piece of code, but virtually no programmers do it.
Does the audio need to follow the video or does it need to breakaway? Many switchers offer this facility so I don’t understand why it isn’t used more.
Then we have the device transport status. When a device is de-selected, the transport should be stopped so that when the device is re-selected, the user can pick up the media playback from the point of de-selection. Time and again I see programming where the transport isn’t stopped and when that device is re-selected, the DVD is 3 chapters further on from where it was!
Finally we have the environmental impact of all this. An unused display or source device left sitting idle with the power on is damaging the environment as well as the customers’ wallet through higher fuel costs. If the device isn’t in use, power it down and save the planet as well as the clients’ money.
Without doubt, there are some programmers who are very good indeed at their jobs and can programme a system coherently and competently. Then there are those who really need to understand what control system programming is all about, then implement that knowledge into their code. And they need to do that before their customers find another supplier.