Aperçu

Le mode pas à pas consiste à exécuter le programme applicatif instruction par instruction. Une ligne peut contenir plusieurs instructions.

Ce mode est lancé via un point d'arrêt défini au préalable. Il permet d'examiner le fonctionnement du code et la valeur des variables.

Il est implémenté en mode connecté, la section exécutée en mode pas à pas stoppe la tâche correspondante.

Trois commandes permettent d'exécuter le mode pas à pas :

  • Commande Pas dans module appelé.

    • si l'élément en cours est un appel à SR (sous-programme) ou à une instance de DFB (bloc fonction utilisateur), cette commande permet de rentrer dans le code et de se positionner sur le premier élément du SR ou du DFB,

    • si l’élément en cours est une instruction, cette commande l’exécute et se positionne sur l’instruction suivante.

  • Commande Pas suivant.

    • si l’élément en cours est un appel à un SR ou à une instance de DFB, cette commande l’exécute entièrement comme s’il s’agissait d’un simple élément et se positionne sur l’instruction suivante,

    • si l’élément en cours est une instruction, cette commande l’exécute et se positionne sur l’instruction suivante.

  • Commande Retour module appelant.

    • si l’élément en cours appartient au code d’un SR ou d’un DFB, cette commande permet d’exécuter tous les éléments du SR ou du DFB et de se positionner sur l’élément suivant du SR ou du DFB.

    • si l’élément en cours est une instruction, cette commande exécute entièrement la section courante et se positionne sur le début de la section suivante.

A partir du mode pas à pas, si vous souhaitez relancer l’exécution de la tâche pour atteindre à nouveau le point d’arrêt précédemment défini, sélectionnez la commande Mise au point->Aller à dans le menu, ou appuyez sur le bouton Aller à dans la barre d’outil :

Pas dans module appelé, Retour module appelant et Pas suivant

Exemple :

Description de la procédure pas à pas à partir du point d’arrêt atteint :

Etape

Action

1

Lorsque vous cliquez sur le bouton Pas dans module appelé l’exécution du programme est placée sur l’appel de SR1.

2 ou 2’ ou 2’’

Si vous cliquez sur :

  • Pas dans module appelé (2) l’exécution du programme est placée sur %MW1:=0

  • Retour module appelant (2’) la section est exécutée et l’exécution du programme se positionne sur le premier élément de la section suivante.

  • Pas suivant (2’’) SR1 est exécuté et l’exécution du programme est placée sur l’appel de SR2.

3

Dans SR1, cliquez sur Retour module appelant pour exécuter SR1 dans sa totalité et placer l’exécution du programme sur l’appel de SR2.

4 ou 4’

Si vous cliquez sur :

  • Pas dans module appelé (4’) l’exécution du programme est placée sur %MW2:=0

    Cliquez sur Pas dans module appelé pour placer l’exécution du programme sur %MW3:=5, et ainsi de suite si vous souhaitez faire du pas à pas dans SR2.

  • Pas suivant (4) SR2 est exécuté et l’exécution du programme se positionne sur l’instruction suivante.

5

Dans SR2, l’appui sur Retour module appelant exécute SR2 dans sa totalité et positionne l’exécution du programme sur l’instruction suivante.

NOTE : Lorsque l'exécution du programme arrive au-dessus d'une instruction, elle n'a pas encore été exécutée. L'exécution sera effectuée après appui sur une commande.

Cas particulier de Retour module appelant

Si vous souhaitez faire du pas à pas section par section, à partir du premier élément de chaque section, exécutez la commande Retour module appelant.

NOTE : Si la section suivante est une section SFC ou une section implémentant une action ou une transition (obligatoirement dans la tâche Mast), celle-ci est "sautée" sauf si un élément langage possède un point d’arrêt.

Règle

En mode pas à pas, le gestionnaire de tâches ne détecte pas le Dépassement du chien de garde pour la tâche en cours de mise au point. Cependant, il détecte les boucles infinies.