Introduction

Un programme peut se composer de :

  • tâches exécutées de manière cyclique ou périodique.

    Les tâches sont elles-mêmes composées de :

    • unités de programme (uniquement pour Modicon M580 et M340),

    • sections,

    • sous-programmes.

  • traitements événementiels exécutés prioritairement à toutes les autres tâches.

    Les traitements événementiels sont eux-mêmes composés de :

    • sections de traitement d'événements à commande temporelle,

    • sections de traitement d'événements à commande matérielle.

Exemple de programme :

Tâches

Control Expert gère des tâches multiples (multitâche).

Les tâches sont exécutées en parallèle indépendamment les unes des autres, avec les niveaux de priorité d'exécution commandés par l'automate. Les tâches peuvent être adaptées à des exigences diverses et constituent ainsi un instrument puissant de structuration du projet.

Un projet multitâche peut se composer :

  • d'une tâche maître (MAST)

    L'exécution de la tâche maître est cyclique ou périodique.

    Constituant la partie principale du programme, elle est exécutée de manière séquentielle.

  • d'une tâche rapide (FAST)

    L'exécution de la tâche rapide est périodique. Son niveau de priorité est plus élevé que celui de la tâche maître. La tâche rapide est destinée aux traitements de courte durée et périodiques.

  • 1 à 4 tâches auxiliaires (AUX)

    L'exécution des tâches auxiliaires est périodique. Destinées aux traitements plus lents, ce sont les tâches les moins prioritaires.

Le projet peut aussi se composer d'une seule tâche. Dans ce cas, seule la tâche maître est active.

Traitement événementiel

Le traitement événementiel s'effectue dans des sections dites d'événement. Ces sections d'événement sont exécutées en priorité par rapport aux sections de toutes les autres tâches. Elles conviennent donc aux traitements demandant des délais de réaction très courts suite au déclenchement de l'événement.

Les types de section disponibles pour le traitement événementiel sont les suivants :

  • section de traitement d'événements à commande temporelle (section Timerx)

  • section de traitement d'événements à commande matérielle (section Evtx)

Les langages de programmation suivants sont pris en charge :

  • FBD (langage à blocs fonction)

  • LD (langage à contacts)

  • IL (liste d'instructions)

  • ST (littéral structuré)

Unités de programme

Les unités de programme sont des programmes autonomes dans lesquels est créée la logique du projet.

Les unités de programme sont exécutées dans leur ordre de représentation dans le navigateur de projet (vue structurelle).

Une unité de programme est reliée à une tâche. Une unité de programme ne peut pas appartenir à plusieurs tâches en même temps.

L'unité de programme inclut :

  • des variables publiques et locales,

  • des sections,

    Les langages de programmation suivants sont pris en charge :

    • FBD (langage à blocs fonction)

    • LD (langage à contacts)

    • SFC (diagramme fonctionnel en séquence), seulement pour les sections de l'unité de programme appartenant à la tâche MAST

    • IL (liste d'instructions)

    • ST (littéral structuré)

  • des tables d'animation.

des sections,

Les sections sont des programmes autonomes dans lesquels est créée la logique du projet.

Les sections sont exécutées dans leur ordre de représentation dans le navigateur de projet (vue structurelle).

Une section est reliée à une tâche. Une section ne peut pas appartenir à plusieurs tâches en même temps.

Les langages de programmation suivants sont pris en charge :

  • FBD (langage à blocs fonction)

  • LD (langage à contacts)

  • SFC (diagramme fonctionnel en séquence), seulement pour les sections de la tâche MAST

  • IL (liste d'instructions)

  • ST (littéral structuré)

Sous-programmes

Les sous-programmes sont créés en tant qu'unités distinctes dans des sections de sous-programme.

Les appels aux sous-programmes s'effectuent à partir des sections ou d'un autre sous-programme.

Une imbrication de huit niveaux maximum est possible.

Un sous-programme ne peut pas s'appeler lui-même (non récursif).

Les sous-programmes sont affectés à une tâche. Un sous-programme ne peut pas être appelé par différentes tâches.

Les langages de programmation suivants sont pris en charge :

  • FBD (langage à blocs fonction)

  • LD (langage à contacts)

  • IL (liste d'instructions)

  • ST (littéral structuré)