MOD

División aritmética modular, el resto se almacena en la variable de salida

MOD divide el valor de la primera variable de entrada entre el valor de la segunda. El resto de la división (5 : 2 = 2, resto = 1) se escribe en la variable de salida.

Parámetros

Entrada

Unnamed input (INT, DINT, UINT, UDINT)

Primera entrada: dividendo

Unnamed input (INT, DINT, UINT, UDINT)

Segunda entrada: divisor

Salida

Unnamed output (INT, DINT, UINT, UDINT)

Salida: resto

Ejemplo

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

	VAR
		dividend: INT:=11;
		divisor: INT:=4;
		remainder: INT:=0;
	END_VAR

Cuerpo LD

En este ejemplo se utilizan variables. También se pueden utilizar constantes como variables de entrada. El dividendo (11) es dividido entre el divisor (4). El resto de la división (3) se escribe en remainder.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_F,MOD!,Instance,9,0,14,3,,?D?D?C);
B(B_VARIN,,dividend,7,0,9,2,);
B(B_VARIN,,divisor,7,1,9,3,);
B(B_VAROUT,,remainder,15,0,17,2,);
L(14,1,15,1);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

remainder:= dividend MOD divisor;

Modificado el: 2021-07-14Comentarios sobre esta páginaLínea directa de Panasonic