Écrire les octets dans le tampon d’envoi de l’unité EtherNet/IP
Cette instruction FP écrit les octets dans le tampon d’envoi des données spécifié par FP_ETHERNETIP_DATA_SEND_DUT pour un message EtherNet/IP qui a été échangé avec FP_ETHERNETIP_DATA_EXCHANGE_FB.
Entrée
Adresse de départ des octets à écrire dans le tampon d’envoi des données.
Nombre d’octets à à écrire dans le tampon d’envoi des données.
Drapeau indiquant que les données doivent être ajoutées à un tampon existant.
Lorsque FALSE est défini, la taille du tampon d’envoi des données est définie sur 0 et les données sont écrites à la première position.
Lorsque TRUE est défini, les données sont écrites dans le tampon d’envoi des données à la position actuelle et la taille du tampon d’envoi est augmentée de la valeur de nNumberOfBytes.
Entrée/sortie
Type de donnée structurée du tampon de données d’envoi.
Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
Si la fonction EtherNet/IP n’est pas utilisée dans la configuration de l’unité Ethernet.
Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.
Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
Si la fonction EtherNet/IP n’est pas utilisée dans la configuration de l’unité Ethernet.
Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.
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
awMessageData: ARRAY [0..1] OF WORD:=[16#0B0A,16#000C];
bEncodeMessage: BOOL:=FALSE;
bAppendData: BOOL:=FALSE;
dutSendData: FP_ETHERNETIP_DATA_SEND_DUT;
iNumberOfBytes: INT:=3;
END_VAR
La fonction est exécutée lorsque la variable bEncodeMessage est sur TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_CONTACT,,bEncodeMessage,5,1,7,3,);
B(B_F,FP_ETHERNETIP_DATA_SET_BYTES!,,15,0,32,7,,?DEN?DDataStart?DnNumberOfBytes?DbAppendData?DdutSendData?AdutSendData?AENO);
B(B_VARIN,,awMessageData,13,2,15,4,);
B(B_VARIN,,iNumberOfBytes,13,3,15,5,);
B(B_VARIN,,bAppendData,13,4,15,6,);
B(B_VARIN,,dutSendData,13,5,15,7,);
L(1,0,1,7);
L(1,2,5,2);
L(7,2,15,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bEncodeMessage) then
FP_ETHERNETIP_DATA_SET_BYTES(DataStart := awMessageData,
nNumberOfBytes := iNumberOfBytes,
bAppendData := bAppendData,
dutSendData := dutSendData);
end_if;