Aperçu

Le mode pas à pas consiste à exécuter le programme applicatif bloc fonctionnel par bloc fonctionnel.

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 de faire du 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 un bloc fonctionnel, cette commande l'exécute et se positionne sur le bloc fonctionnel suivant.

  • 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 le bloc fonctionnel suivant.

    • Si l'élément en cours est un bloc fonctionnel, cette commande l'exécute et se positionne sur le bloc fonctionnel suivant.

  • 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 un bloc fonctionnel, 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 le bloc fonctionnel suivant.

5

Si vous cliquez sur Retour module appelant durant l'exécution de SR2, celui-ci est exécuté entièrement et l’exécution du programme est placée sur le bloc fonctionnel suivant.

NOTE : Lorsque l'exécution du programme arrive sur le bloc fonction, il n'aura pas encore été exécuté. 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.