In order to be able to operate in a safe and stable way, each automation must be controlled and managed by a reliable programming unit that must be designed according to precise guidelines and in-depth analysis of the functions required by the user, so as to not only cater for these but also anticipate future requirements.