FB_SendRecvMsg: blocco funzione invio e ricezione messaggio
Il grafico seguente mostra lo schema dei pin del blocco funzione FB_SendRecvMsg:
Il blocco funzione FB_SendRecvMsg invia e riceve messaggi definiti dall'utente. Invia un messaggio su una linea seriale, quindi attende una risposta. È anche possibile inviare un messaggio senza attendere una risposta o ricevere un messaggio senza inviarne. Questa funzione deve essere utilizzata con un gestore ASCII,
Descrizione delle variabili di I/O
La tabella descrive le variabili di ingresso del blocco funzione nella libreria TwidoEmulationSupport:
Ingresso |
Tipo di dati |
Descrizione |
---|---|---|
i_xExecute |
BOOL |
La funzione è eseguita sul fronte di salita di questo ingresso. NOTA: Quando i_xExecute è impostato a TRUE al primo ciclo del task in RUN dopo un reset a caldo o a freddo, il fronte di salita non viene rilevato. |
i_xAbort |
BOOL |
Interrompe l'operazione in corso sul fronte di salita. |
i_iLink |
INT |
Indica la porta utilizzata per comunicare: o1 = porta seriale 1 o2 = porta seriale 2 |
i_iTimeout |
INT |
Imposta il tempo massimo di attesa per la ricezione di una risposta Specificato in ms. Un valore di 0 indica nessun timeout. |
i_iQuantityToSend |
INT |
Numero di oggetti da inviare. |
i_pbyBufferToSend |
POINTER TO BYTE |
Indirizzo del buffer nel quale sono memorizzati i valori degli oggetti da inviare. Le prime 2 parole sono parole di controllo. |
i_iSizeRecvBuffer |
INT |
Numero di oggetti da ricevere. |
i_pbyBufferToRecv |
POINTER TO BYTE |
Indirizzo del buffer in cui vengono memorizzati i valori dell'oggetto ricevuto. |
La tabella descrive le variabili di uscita del blocco funzione nella libreria TwidoEmulationSupport:
Uscita |
Tipo di dati |
Descrizione |
---|---|---|
q_xDone |
BOOL |
Quando la funzione viene completata correttamente, q_xDone è impostato a TRUE. |
q_xBusy |
BOOL |
q_xBusymentre la funzione è in corso, è impostato a TRUE. |
q_Aborted |
BOOL |
Quando la funzione viene arrestata con l'immissione del comando i_xAbort, q_Aborted è impostato a TRUE. |
q_xError |
BOOL |
Quando la funzione si interrompe per il rilevamento di un errore, q_xError è impostato a TRUE. |
q_etCommError |
SEN.CommunicationErrorCodes |
q_etCommError contiene il valore dei codici di errore di comunicazione SEN.CommunicationErrorCodes. |
q_etOperError |
SEN.OperationErrorCodes |
q_etOperError contiene il valore dei codici di errore operazione SEN.OperationErrorCodes. |
q_iQuantiyRecv |
INT |
Numero di oggetti ricevuti |