Présentation

Cet exemple concerne l'annulation d'un échange effectué avec la fonction OUT_IN_CHAR.

Lors du lancement de l'échange, un numéro unique lui est affecté. Ce numéro reste valide jusqu'à la fin de l'échange.

La fonction CANCEL utilise ce numéro pour interrompre l'échange correspondant.

Programmation de la fonction OUT_IN_CHAR

Programmation en ST :

IF RE(%I0.3.8) AND NOT %MW170.0 THEN
   (* initialisation des données à envoyer *)
   %MW173 := 10;
   (* fonction de communication *)
   OUT_IN_CHAR(ADDR(‘{20.5}0.0.0.SYS’),1,Str_Out,Str_In,%MW170:4);
END_IF;

Programmation de la fonction CANCEL

Programmation en ST :

%MW180 := SHRZ_INT(%MW170,8);
IF RE(%I0.3.9) THEN
   CANCEL(%MW180,%MW185);
END_IF;

La fonction CANCEL comprend deux paramètres :

  • Sur l'entrée : le numéro de l'échange à annuler.

  • Sur la sortie : le compte rendu.

Il est nécessaire d'initialiser le premier paramètre avec le numéro de l'échange à annuler. Ce numéro est situé dans l'octet de poids fort du premier mot de la table de gestion. Dans le cas présent, il s'agit de l'octet de poids fort de %MW170. Avant d'envoyer la fonction CANCEL, il est nécessaire de créer un décalage de 8 bits pour récupérer les 8 bits de poids fort de %MW170.

Paramètres de la requête :

Paramètres

Description

%MW180

Le bit de poids faible contient le numéro de l'échange à annuler. REMARQUE : l'octet de poids fort doit être défini sur zéro.

%MW185

Compte rendu de fonction.