EipDataExch : envoi d'un message explicite
Ce bloc fonction envoie un message explicite.
La durée impartie à l'exécution de cette opération peut être configurée dans Gestionnaire de protocole
Une valeur de timeout est définie pour les messages connectés et une autre pour les messages non connectés.
Ce bloc fonction générique peut être utilisé pour des fonctions qui ne sont pas mises en œuvre dans la bibliothèque de messagerie explicite EtherNet/IP.
Pour utiliser le bloc fonction, vous devez ajouter au moins un équipement EtherNet/IP dans le Gestionnaire de protocole. Reportez-vous à la section Ajout d'un équipement.
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des fonctions et blocs fonction
Description des variables d'E/S
Le tableau suivant décrit la variable d'entrée :
Entrée |
Type |
Hérité de |
Commentaire |
---|---|---|---|
i_xExecute |
BOOL |
BASE |
Valeur par défaut : FALSE. Un front montant de l'entrée Execute démarre le bloc fonction. Le bloc fonction poursuit son exécution et la sortie Busy prend la valeur TRUE. oFALSE : si Enable est associé à la valeur FALSE, les sorties Done, Error ou CommandAborted ont la valeur TRUE pendant un cycle. oTRUE : si Enable est associé à la valeur FALSE, les sorties Done, Error ou CommandAborted conservent la valeur TRUE. |
i_xAbort |
BOOL |
BASE |
Valeur par défaut : FALSE. oFALSE : l'exécution n'a pas été interrompue. oTRUE : l'exécution a été interrompue par un autre bloc fonction. |
i_xMsgType |
BOOL |
- |
oFALSE : UCCM oTRUE : message (classe 3) connecté |
i_adTargetIP |
- |
Adresse IP de la cible |
|
i_byService |
BYTE |
- |
Service à effectuer (code de service fourni plus haut) |
i_dwClass |
DWORD |
- |
Classe cible. Consultez la section Comment trouver les informations de l'objet dans la documentation de l'équipement. Doit correspondre à la valeur 0xFFFFFFFF si la classe ne doit pas faire partie d'une requête |
i_dwInstance |
DWORD |
- |
Instance cible. Consultez la section Comment trouver les informations de l'objet dans la documentation de l'équipement. Peut correspondre à la valeur 0 si la cible est une instance de classe. Doit correspondre à la valeur 0xFFFFFFFF si l'instance ne doit pas faire partie d'une requête |
i_dwAttribute |
DWORD |
- |
Attribut cible. Consultez la section Comment trouver les informations de l'objet dans la documentation de l'équipement. Doit correspondre à la valeur 0xFFFFFFFF si l'attribut ne doit pas faire partie d'une requête |
i_dwMember |
DWORD |
- |
Membre cible. Consultez la section Comment trouver les informations de l'objet dans la documentation de l'équipement. Doit correspondre à la valeur 0xFFFFFFFF si le membre ne doit pas faire partie d'une requête |
i_abyRequestTag |
ARRAY OF [0…250] BYTE |
- |
Segment de symbole étendu de la cible. Si non utilisé, i_wTagSize doit être égal à 0 |
i_wTagSize |
WORD |
- |
Taille réelle de i_abyRequestTag |
i_abyRequestData |
ARRAY OF [0…999] BYTE |
- |
Données qui doivent être envoyées à la cible. Si non utilisé, i_wDataSize doit être égal à 0 |
i_wDataSize |
WORD |
- |
Taille réelle de i_abyRequestData |
Le tableau suivant décrit la variable de sortie :
Sortie |
Type |
Hérité de |
Commentaire |
---|---|---|---|
q_xDone |
BOOL |
BASE |
Valeur par défaut : FALSE. oFALSE : l'exécution n'a pas encore commencé ou une erreur a été détectée. oTRUE : exécution terminée sans erreur détectée. |
q_xBusy |
BOOL |
BASE |
Valeur par défaut : FALSE. oFALSE : le bloc fonction n'est pas exécuté. oTRUE : le bloc fonction est en cours d'exécution. |
q_xAborted |
BOOL |
BASE |
Valeur par défaut : FALSE. oFALSE : l'exécution n'a pas été interrompue. oTRUE : l'exécution a été interrompue par l'entrée Abort. |
q_xError |
BOOL |
BASE |
Valeur par défaut : FALSE. oFALSE : le bloc fonction est en cours d'exécution et aucune erreur n'a été détectée. oTRUE : une erreur a été détectée pendant l'exécution du bloc fonction. |
q_byCommError |
BASE |
Code d'erreur de communication |
|
q_dwOperError |
BASE |
Code d'erreur de fonctionnement |
|
q_abyResponseData |
ARRAY OF [0…999] BYTE |
- |
Données de réponse en cas de réussite |
q_wDataSize |
WORD |
- |
Taille en octets des données de réponse |
q_abyExtStatus |
ARRAY OF [0…499] BYTE |
- |
Données d'état étendu en cas de réponse à une erreur |
q_wExtStatusSize |
WORD |
- |
Taille des données d'état étendu en mots de 16 bits |
q_wExtStatus |
WORD |
- |
Mot d'état étendu |
Voici un exemple d'appel de cette fonction :
MyEipDataExch(
i_xExecute:= Execute,
i_xAbort:= Abort,
q_xDone=> Done,
q_xBusy=> Busy,
q_xAborted=> Aborted,
q_xError=> Err,
q_byCommError=> CommError,
q_dwOperError=> OperError,
i_adTargetIp:= IpAddr,
i_xMsgType:= MsgType,
i_byService:= Service,
i_dwClass:= Class,
i_dwInstance:= Instance,
i_dwAttribute:= Attribute,
i_dwMember:= Member,
i_abyRequestTag:= RequestTag,
i_wTagSize:= TagSize,
i_abyRequestData:= RequestData,
i_wDataSize:= ReqDataSize,
q_abyResponseData=> ResponseData,
q_wDataSize=> ResDataSize,
q_abyExtStatus=> ExtStatusArray,
q_wExtStatusSize=> ExtStatusSize,
q_wExtStatus => ExtStatus);