PLC, HMI, Oprogramowanie