F161_MRD_STATUS

Ottenere il dato di stato in modalità RUN

Il dato di stato viene letto dalla porta COM specificata di una Multi-Communication Unit.

Parametri

Ingresso

s_Port (WORD, INT, UINT)

Specificazione del numero di slot (byte alto) e del numero di porta (byte basso) della MCU alla quale vengono trasmessi i dati.

  • 16#xx01: COM1 sulla MCU nello slot 16#xx

  • 16#xx02: COM2 sulla MCU nello slot 16#xx

Uscita

d1_Status (MCU_STATUS_DUT)

Parametri di comunicazione definiti nella DUT predefinita

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)
  • se l'area specificata utilizzando il registro indice eccede il limite.
  • se l'unità MCU non esiste nello slot specificato o se devono essere inviati zero byte.
  • se la porta di comunicazione specificata non esiste
sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • se l'area specificata utilizzando il registro indice eccede il limite.
  • se l'unità MCU non esiste nello slot specificato o se devono essere inviati zero byte.
  • se la porta di comunicazione specificata non esiste

Esempio

Intestazione del POU

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
		ReadCommunicationParameter: BOOL:=FALSE;
		McuStatus: MCU_STATUS_DUT;
	END_VAR

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_VARIN,,ReadCommunicationParameter,15,3,17,5,);
B(B_VARIN,,16#0201,15,4,17,6,);
B(B_COMMENT,,The status parameters MCU_STATUS_DUT of port 1 of the MCU in slot 2 are read:,2,1,34,2,);
B(B_VAROUT,,McuStatus,27,4,29,6,);
B(B_F,F161_MRD_STATUS!,,17,2,27,6,,?DEN?Ds_Port?AENO?Cd1_Status);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

(*The status parameters MCU_STATUS_DUT of port 1 of the MCU in slot 2 are read:*)
if (ReadCommunicationParameter) then
   F161_MRD_STATUS(s_Port := 16#0201, d1_Status => McuStatus);
end_if;

L'ultima revisione: 2022-04-19Feedback su questa paginaPanasonic hotline