Source: https://www.automation.siemens.com/sce-static/learning-training-documents/classic/advanced-programming/b05-struct-prog-fr.pdf