IEC 61131-3 Programming Methodology: Software Engineering Methods for Industrial Automated Systems