En ingénierie de contrôle classique, une tâche de contrôle est résolue en câblant des contacteurs et des relais individuellement, c'est-à-dire en fonction de la tâche. Ils sont donc appelés contrôleurs de contacteurs et de relais, et les contrôleurs électroniques assemblés à partir de composants individuels sont appelés contrôleurs programmés câblés. Le «programme» est dans le câblage. Les automates programmables, quant à eux, sont constitués de composants standard qui implémentent le contrôle souhaité fonction au moyen d'un programme utilisateur.

SIMATIC S7 est un système d'automatisation basé sur des automates programmables. La solution de la tâche de commande est enregistrée dans la mémoire utilisateur de la CPU sous la forme d'instructions de programme. Le processeur de contrôle lit les instructions individuelles séquentiellement, interprète leur contenu et exécute la fonction programmée.

Le module CPU contient un programme supplémentaire: le système d'exploitation. Il assure l'exécution des fonctions d'exploitation internes à l'appareil, telles que la communication avec le dispositif de programmation et la sauvegarde des données en cas de panne de courant.

Le système d'exploitation lance également le traitement du programme utilisateur, soit de manière cyclique, soit en fonction d'un événement déclencheur, tel qu'une alarme.

 

Traitement cyclique de programme 

Le type de traitement prédominant du programme utilisateur pour les automates programmables est le traitement cyclique du programme: une fois que le programme utilisateur a été entièrement traité, il est à nouveau traité immédiatement depuis le début.

Le programme utilisateur est également exécuté si aucune action n'est demandée «de l'extérieur», par exemple si la machine contrôlée ne fonctionne pas.

 Cela présente des avantages lors de la programmation: par exemple, vous programmez la logique à relais comme si vous dessiniez un schéma de circuit ou programmez le diagramme de bloc fonctionnel comme si vous connectiez des composants électroniques. Grosso modo, un automate programmable présente des caractéristiques similaires à celles d'un contacteur ou d'une commande à relais: Les nombreuses opérations programmées sont effectives simultanément «en parallèle».

Après la mise sous tension et le test de fonctionnement, le système d’exploitation lance une fois (en option) une routine de démarrage. Le programme principal est le suivant dans la séquence. S'il a été traité jusqu'à la fin, le traitement reprend immédiatement au début du programme. Le programme principal peut être interrompu par des événements d'alarme ou d'erreur. Le système d'exploitation lance ensuite un gestionnaire d'interruptions ou un programme d'erreur. Si le programme contrôlé par interruption a été complètement traité, le traitement du programme continue à partir du point d'interruption du programme principal. Un ordonnanceur de priorité contrôle l'ordre d'exécution du programme si plusieurs événements d'interruption se produisent simultanément.

Le programme utilisateur est composé de blocs. Il existe plusieurs types de blocs. Les blocs d'organisation représentent l'interface avec le système d'exploitation. Après un événement de démarrage (mise sous tension, démarrage de cycle, alarme, erreur), le système d’exploitation appelle le bloc d’organisation associé. Il contient le programme utilisateur approprié pour l'événement. Un bloc d'organisation ne doit être programmé que si la solution d'automatisation nécessite

  1. Le programme d'un bloc d'organisation peut, si nécessaire, être structuré en blocs de fonction (blocs avec données locales statiques) et fonctions (blocs sans données locales statiques). Des blocs de données dans la mémoire utilisateur sont disponibles pour stocker les données utilisateur.