Envoyer des caractères et supprimer la chaîne de caractères
Cette instruction exécute l’instruction F159_MTRN pour envoyer des données. Les données sont contenues dans la chaîne de caractères à envoyer, appliquée à sString, une variable VAR_IN_OUT. Si bSuppressEndCode est définie sur TRUE, le délimiteur sélectionné dans les registres système n’est pas ajouté à la chaîne de caractères à envoyer.
A l’inverse de SendCharacters, aucun tampon de transmission supplémentaire n’est utilisé en interne. La variable appliquée à sString est supprimée après exécution.
Entrée
Indique les ports de communication (selon le type d’API) :
Port COM, par ex. SYS_COM0_PORT
Port Ethernet, par ex. SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU, par ex. 16#xx01 (xx = numéro du connecteur) dans COM01
Le délimiteur sélectionné dans les registres système n’est pas ajouté à la chaîne de caractères à envoyer.
Entrée/sortie
Enregistre la chaîne de caractères de transmission qui est supprimée après exécution de l’instruction
Lorsque le nombre d’octets spécifié a été envoyé, le drapeau "Transmission terminée" devient TRUE. De nouvelles données peuvent être envoyées ou reçues. Toute instruction d’envoi fait passer le drapeau "Transmission terminée" à FALSE et aucune donnée ne peut être reçue. L’évaluation du drapeau "Transmission terminée" est recommandée lorsque aucune réponse n’est attendue, par ex. les messages de broadcast.
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
sSendData: STRING[30]:='ABCDEFGH';
(*up to 30 chars*)
bSuppressEndCode: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,SendCharactersAndClearString!,,14,0,29,5,,?DPort?DbDSuppressEndCode?DsString?AsString);
B(B_VARIN,,1,12,1,14,3,);
B(B_VARIN,,sSendData,12,3,14,5,);
B(B_VARIN,,bSuppressEndCode,12,2,14,4,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
SendCharactersAndClearString(Port := 1,
bSuppressEndCode := bSuppressEndCode,
sString := sSendData);