Module de programme appartenant à une tâche (MAST, FAST, AUX) qui peut être écrit dans le langage choisi par le programmeur (FBD, LD, ST ou IL).

Un sous-programme ne peut être appelé que par une section ou un autre sous-programme appartenant à la tâche dans laquelle il est déclaré.