Invia i caratteri e cancella la stringa
Questa istruzione esegue l'istruzione di invio del dato F159_MTRN. Il dato è contenuto nella stringa da trasmettere applicata in sString, una variabile VAR_IN_OUT. Se bSuppressEndCode è impostato su TRUE, il carattere terminatore selezionato nei registri di sistema non viene aggiunto alla stringa da trasmettere.
Contrariamente a SendCharacters, non viene utilizzato internamente alcun buffer di invio aggiuntivo. La variabile applicata in sString viene cancellata al termine dell'esecuzione.
Ingresso
Specifica le porte di comunicazione (in base al tipo di PLC):
Porta COM p.es. SYS_COM0_PORT
Porta Ethernet p.es. SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU p.es. 16#xx01 (xx = numero slot) in COM01
Il carattere terminatore selezionato nei registri di sistema non viene aggiunto alla stringa da trasmettere.
Ingresso/uscita
Memorizza la stringa da trasmettere, la quale viene cancellata dopo l'esecuzione dell'istruzione
Quando il numero di byte specificato è stato inviato, il flag "trasmissione conclusa" passa a TRUE. Possono essere inviati o ricevuti nuovi dati. Ogni istruzione di invio fa passare il flag "trasmissione conclusa" a FALSE e non possono essere ricevuti dati. La valutazione del flag "trasmissione conclusa" può essere utile nei casi in cui non ci si attende alcuna risposta, ad esempio con messaggi di broadcast.
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
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);