Modification des paramètres système pour la zone de liaison API
La zone de liaison API est définie par les valeurs des registres système 40 - 47 (avec les FP0R, FP-S 32k, FP-X, également 50 - 57).
Lorsque l’automate est en mode RUN, SYS2 change les paramètres des registres système indiqués. s_Start contient les nouvelles valeurs de ces registres système délimités par d_Start et d_End.
Lorsque cette instruction est exécutée, le contenu de la ROM système dans l’unité centrale n’est pas écrasé. Par conséquent, lorsque l’automate est mis hors tension puis à nouveau sous tension, le contenu des registres système est écrasé selon les paramètres indiqués par le logiciel.
Une valeur entre 40 et 47 doit être définie pour d_Start ou d_End. Par ailleurs, les valeurs doivent toujours être indiquées de manière à ce que d_Start£d_End.
Les valeurs des registres système étant modifiées, une erreur peut être signalée lorsque le programme est supervisé.
Entrée
Contient les nouvelles valeurs des registres système définis par les deux autres variables.
Premier registre système (entre 40-47) à recevoir une nouvelle valeur.
Doit être une constanteDernier registre système (entre 40-47) à recevoir une nouvelle valeur.
Doit être une constanteSi d_Start > d_End
Si les valeurs indiquées sont en dehors de l’intervalle spécifié pour les registres système
Si d_Start > d_End
Si les valeurs indiquées sont en dehors de l’intervalle spécifié pour les registres système
Un type de données structurées (DUT) peut être composé d’autres types de données. Un DUT est tout d’abord défini dans le gestionnaire de DUT et ensuite traité comme les autres types de données standard (BOOL, INT, etc.) dans la liste des variables globales ou l’en-tête du POU.
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
LinkAreas: @'LINK_AREAS':=RelayArea := 64, RegisterArea := 128;
SetLinkAreas: BOOL:=FALSE;
END_VAR
Les valeurs pour la zone de liaison API dans les registres système 40 à 45 sont modifiées comme défini dans LinkAreas, lorsque SetLinkAreas est TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_F,SYS2!,Instance,10,0,16,6,,?DEN?Ds_Start?Hd_Start?Hd_End?AENO);
B(B_VARIN,,SetLinkAreas,8,1,10,3,);
B(B_VARIN,,LinkAreas.RelayArea,8,2,10,4,);
B(B_VARIN,,40,8,3,10,5,);
B(B_VARIN,,45,8,4,10,6,);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY