Vérifier l’état de la communication cyclique avec le bit RUN/IDLE
Cette instruction FP vérifie l’état de la communication cyclique en lisant le bit RUN/IDLE de chaque nœud enregistré dans la table des numéros de nœuds et sauvegarde les valeurs dans la variable de sortie du DUT FP_ETHERNETIP_STATE_TABLE_DUT.
Sortie
Destination vers laquelle les données lues sont écrites.
Bit correspondant au numéro de nœud du FP7 dont la connexion est enregistrée. Lorsque les deux conditions suivantes sont remplies, le bit devient TRUE, dans les autres conditions, il devient FALSE.
Communication avec nœud de destination (FP7) fonctionnant normalement.
Communication avec tous les nœuds sauf FP7 fonctionnant normalement lorsque le nœud de destination (FP7) est en Mode RUN.
Si la zone lue est en dehors de l’intervalle autorisé.
Si l’instruction est exécutée dans un programme d’interruption.
Si la zone lue est en dehors de l’intervalle autorisé.
Si l’instruction est exécutée dans un programme d’interruption.
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
bEnable: BOOL:=FALSE;
dutNodes_RunIdleNodeTable: FP_ETHERNETIP_STATE_TABLE_DUT;
END_VAR
La fonction est exécutée lorsque la variable bEnable est définie sur TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_VAROUT,,dutNodes_RunIdleNodeTable,30,2,32,4,);
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,FP_ETHERNETIP_GET_STATE_TABLE_RUN_IDLE!,,8,0,30,4,,?DEN?AENO?Cd_dutStateTable);
L(1,2,4,2);
L(6,2,8,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bEnable) then
FP_ETHERNETIP_GET_STATE_TABLE_RUN_IDLE(d_dutStateTable => dutNodes_RunIdleNodeTable);
END_IF;