F159_MTRN (n_Number=16#8000)

Conmutar el modo de comunicación

El modo de los puertos de comunicación de la CPU se puede cambiar en modo RUN. Se puede conmutar entre el modo propósito general y el modo MEWTOCOL-COM ejecutando la instrucción F159_MTRN y estableciendo la variable n_Number (número de bytes a enviar) a 16#8000.

Parámetros

Entrada

s_Start (WORD, INT, UINT)

Buffer de envío

n_Number (WORD, INT, UINT)

N º de bytes que faltan por transmitir:

  • Valor negativo: El código de fin de trama seleccionado en los registros del sistema no se añade a la cadena a enviar.

  • 0 (cero bytes): Preparar el sistema para la recepción de los siguientes datos

  • 16#8000: Conmutar el modo de comunicación

d_Port (WORD, INT, UINT)

Especificar los puertos de comunicación (dependiendo del tipo de PLC):

  • Puerto COM, por ejemplo SYS_COM0_PORT

  • Puerto Ethernet, por ejemplo SYS_ETHERNET_USER_CONNECTION_1

  • MCU/SCU por ejemplo 16#xx01 (xx = número de slot) en COM01

Observaciones

  • Cuando se da alimentación, se establece el modo de comunicación especificado en los registros del sistema.

  • En modo RUN, no se puede cambiar al modo Modbus RTU o al modo Enlace a PLC.

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 
		bSwitchToMewtocolSlave: BOOL:=FALSE;
		wDummy: WORD:=0;
		bSwitchToProgramControlled: BOOL:=FALSE;
	END_VAR

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 9 ;
        NETWORK_BODY
B(B_COMMENT,,Changing COM 1 from program controlled to MEWTOCOL-COM Slave mode.ø^The corresponding transmission mode flag R9032 (sys_bIsComPort1ProgramControlled) is setø^when program controlled mode is selected.,1,0,39,3,);
B(B_VARIN,,wDummy,26,5,28,7,);
B(B_VARIN,,16#8000,26,6,28,8,);
B(B_F,F159_MTRN!,,28,3,36,9,,?DEN?Ds_Start?Dn_Number?Dd_Port?AENO);
B(B_VARIN,,SYS_COM1_PORT,26,7,28,9,);
B(B_CONTACT,,bSwitchToMewtocolSlave,6,4,8,6,R);
B(B_CONTACT,,sys_bIsComPort1ProgramControlled,19,4,21,6,);
L(1,5,6,5);
L(8,5,19,5);
L(21,5,28,5);
L(1,0,1,9);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_COMMENT,,Changing COM 1 from MEWTOCOL-COM Slave to program controlled mode.,1,0,30,1,);
B(B_VARIN,,wDummy,26,3,28,5,);
B(B_VARIN,,16#8000,26,4,28,6,);
B(B_F,F159_MTRN!,,28,1,36,7,,?DEN?Ds_Start?Dn_Number?Dd_Port?AENO);
B(B_VARIN,,SYS_COM1_PORT,26,5,28,7,);
B(B_CONTACT,,sys_bIsComPort1ProgramControlled,19,2,21,4,N);
B(B_CONTACT,,bSwitchToProgramControlled,6,2,8,4,R);
L(8,3,19,3);
L(21,3,28,3);
L(1,3,6,3);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

(* Changing COM 1 from program controlled to MEWTOCOL-COM Slave mode. 
   The corresponding transmission mode flag R9032 (sys_bIsComPort1ProgramControlled) is set
   when program controlled mode is selected. *)
if (DF(bSwitchToMewtocolSlave) AND sys_bIsComPort1ProgramControlled) then
   F159_MTRN(s_Start := wDummy, n_Number := 16#8000, d_Port := SYS_COM1_PORT);
end_if;
(* Changing COM 1 from MEWTOCOL-COM Slave to program controlled *)
if (DF(bSwitchToProgramControlled) AND NOT sys_bIsComPort1ProgramControlled) then
   F159_MTRN(s_Start := wDummy, n_Number := 16#8000, d_Port := SYS_COM1_PORT);
end_if;

Modificado el: 2022-04-19Comentarios sobre esta páginaLínea directa de Panasonic