Un programme est similaire à un bloc fonction avec une instance de bloc fonction implicite. Les différences entre les programmes et les blocs fonctions sont les suivantes :
Les programmes sont autorisés uniquement au sommet de la hiérarchie d’appel d’un POU (c.-à-d. un programme ne peut pas être appelé par un autre POU)
Des variables directement représentées peuvent être utilisées pour définir un programme