ResetComPort

Reset di una porta COM specifica

Questo Function Block invia una richiesta di reset della porta COM a un numero di porta specificato. Il PLC deve essere impostato sulla comunicazione "controllata dal programma". Valutare le variabili di uscita bIsDone e bIsRequested per controllare se la porta specificata è stata resettata e se possa essere usata di nuovo.

Parametri

Ingresso

bReset (BOOL)

Se impostata su TRUE, la richiesta di reset della porta COM viene inviata al numero di porta specificato

Port (WORD, INT, UINT)
N.°
  • COM0, COM1, COM2 sulla CPU

  • 16#xx01–16#xx04 (xx = numero slot 1–64) su SCU

Uscita

bIsDone (BOOL)

Impostare su TRUE, se la porta COM è resettata e può essere utilizzata di nuovo.

bIsRequested (BOOL)

Impostare su TRUE, se il reset della porta COM è stato richiesto.

Variabili di sistema corrispondenti delle uscite (impostare solo se la porta COM è stata resettata da bReset della stessa istanza)

  • Richiesta di reset

    • COM0: sys_bIsComPort0ResetRequested

    • COM1: sys_bIsComPort1ResetRequested

    • COM2: sys_bIsComPort2ResetRequested

  • Reset effettuato

    • COM0: sys_bIsComPort0ResetDone

    • COM1: sys_bIsComPort1ResetDone

    • COM2: sys_bIsComPort2ResetDone

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
		fbResetComPort: ResetComPort;
		bResetComPort: BOOL:=FALSE;
		iPort: INT:=0;
		bComPortCannotBeUsed: BOOL:=FALSE;
	END_VAR

Corpo del POU

Quando la variabile bResetComPort è impostata su TRUE, il Function Block viene eseguito.

Corpo LD

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_VARIN,,iPort,19,3,21,5,);
B(B_CONTACT,,bResetComPort,6,2,8,4,);
B(B_FB,ResetComPort!,fbResetComPort,21,1,30,5,,?BbReset?BPort?AbIsDone?AbIsRequested);
L(1,3,6,3);
L(8,3,21,3);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_COIL,,bComPortCannotBeUsed,39,1,41,3,S);
B(B_CONTACT,,fbResetComPort.bIsRequested,6,1,8,3,);
L(1,2,6,2);
L(8,2,39,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_COIL,,bComPortCannotBeUsed,39,1,41,3,E);
B(B_CONTACT,,fbResetComPort.bIsDone,6,1,8,3,);
L(1,2,6,2);
L(8,2,39,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

fbResetComPort(bReset := bResetComPort,
               Port := iPort);
               IF (fbResetComPort.bIsRequested) then
                   bComPortCannotBeUsed := TRUE;
               ELSIF (fbResetComPort.bIsDone) then
                   bComPortCannotBeUsed := FALSE;
               END_IF;

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