FP_COM_SET_PARAMETER

Establecer los parámetros de comunicación del puerto CPU/SCU/MCU

Esta instrucción FP envía los cambios en los parámetros de comunicación a la unidad. Los cambios son especificados por s2_dutParameter para el puerto de comunicación especificado por s1_Port. Si el modo de comunicación se establece como Enlace a PLC, los parámetros de enlace a PLC se pueden especificar mediante s3_dutPlcLinkParameter.

NOTA

Cuando se use esta instrucción, asegurarse de que el modo de comunicación del puerto correspondiente está ajustado a Enlace a PLC.

Parámetros

Entrada

s1_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

s2_dutParameter (FP_COM_PARAMETER_DUT)

Parámetros a configurar para el puerto CPU/SCU/MCU

s3_dutPlcLinkParameter (FP_COM_PLCLINK_PARAMETER_DUT)

Parámetros a configurar para Enlace a PLC

Salida

d_Result (WORD, INT, UINT)

Dirección de inicio del área de memoria de la unidad maestra que guarda el resultado del procesamiento (1 palabra)

Contenido del resultado del procesamiento d_Result

  1.  (1) Byte de mayor peso
  2.  (2) Bandera de resultado de ejecución

    FALSE: Finalización normal

    TRUE: Finalización anormal

  3.  (3) Bandera de proceso en curso

    FALSE: Proceso completado

    TRUE: Proceso en curso

  4.  (4) Byte de menor peso (se establece solo cuando el procesamiento ha terminado)
    • 0: Finalización normal
    • 1: El puerto de comunicación especificado no es válido
    • 2: Error de configuración
    • 3: Error de cambio de modo
    • 4: El puerto de comunicación especificado está ocupado
    • 5: Inconsistencia de los parámetros a modificar (al inicio/final del proceso de configuración, los parámetros especificados por los operandos son inconsistentes)
    • 7: Selección del número de unidad en el panel frontal del módulo MEWNET (cuando el interruptor rotativo no está en 0)

Observaciones

  • Antes de ejecutar la instrucción, asegurarse de que el bit 15 (bandera de proceso en curso) del área de almacenamiento de resultados de procesamiento especificada por dResult es FALSE.

  • Si el cambio de parámetros se realiza para un puerto COM donde está en curso un envío/recepción, se cancela el proceso de envío/recepción y se cambian los parámetros. En ese momento, los datos recibidos se pierden. El proceso de envío se suspende.

  • Mientras se procesa el cambio solicitado, el bit 15 del área de almacenamiento de resultados de procesamiento d_Result pasa a TRUE. Cuando el proceso ha finalizado, pasa a FALSE.

  • El resultado del procesamiento se guarda en el área especificada por d_Result. Si se produce un error, la bandera de resultado de ejecución (bit 14) pasa a TRUE. El código de error se guarda en los bytes de menor peso de d_Result.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • si el área especificada utilizando el modificador índice supera el límite.

  • si el modo de comunicación del puerto correspondiente no está ajustado a Enlace a PLC

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • si el área especificada utilizando el modificador índice supera el límite.

  • si el modo de comunicación del puerto correspondiente no está ajustado a 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
		nPort: INT;
		dutParameter: FP_COM_PARAMETER_DUT;
		dutPlcLinkParameter: FP_COM_PLCLINK_PARAMETER_DUT;
		wResult: WORD:=0;
		bEnable: BOOL:=FALSE;
	END_VAR

Cuerpo LD

La función se ejecuta cuando la variable bEnable se encuentra a TRUE.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_CONTACT,,bEnable,3,2,5,4,);
B(B_F,FP_COM_SET_PARAMETER!,,12,1,25,7,,?DEN?Ds1_Port?Ds2_dutParameter?Ds3_dutPlcLinkParameter?AENO?Ad_Result);
B(B_VARIN,,nPort,10,3,12,5,);
B(B_VAROUT,,wResult,25,3,27,5,);
B(B_VARIN,,dutParameter,10,4,12,6,);
B(B_VARIN,,dutPlcLinkParameter,10,5,12,7,);
L(1,0,1,7);
L(1,3,3,3);
L(5,3,12,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST body

if (bEnable) then
FP_COM_SET_PARAMETER(s1_Port := nPort,
                     s2_dutParameter := dutParameter,
                     s3_dutPlcLinkParameter := dutPlcLinkParameter, 
					 d_Result => wResult);
end_if;

Modificado el: 2024-03-08Comentarios sobre esta páginaLínea directa de Panasonic