TYPE "UDT_ZC_DISP_PID"
TITLE = UDT_ZC_DISP_PID
VERSION : 0.1
//Tipo de dato dispositivo PID.
   STRUCT
      Hmi_Estado : Int;   // Estado para HMI
      Estado_AutoMan : Bool := TRUE;   // 0= Automatico / 1= Manual
      Estado_ModeActivate : Bool := FALSE;
      Orden_Forzar : Bool := FALSE;   // Orden forzar PID
      Orden_ActivarAuto : Bool := FALSE;   // ORden activar auto PID
      Orden_Ack : Bool := FALSE;   // Acuse errores
      Orden_Reset : Bool := FALSE;   // Reset controlador PID
      Alarmas_Error : Bool := FALSE;   // Error
      Config_InvertirControl : Bool := FALSE;   // Invertir control PID
      Config_TipoEntrada : Bool;   // 0= Valor real / 1= Valor Periferia
      Aux_oldForzar : Bool;   // Estado anterior orden forzar
      Estado_PV : Real := 0.0;   // Valor de proceso
      Estado_ValorSalida : Real := 0.0;   // Valor salida PID
      Estado_PV_0_100 : Real;
      Estado_SP_0_100 : Real;
      Estado_Error_SP_PV_0_100 : Real := 0.0;   // Error entre SP y PV
      Estado_Mode : Int := 3;   // Modo actual
      Estado_EstadoPID : Int := 3;   // Estado actual PID
      Orden_ConsignaAuto : Real := 0.0;   // Set Point modo Automatico
      Orden_ConsignaForzado : Real := 0.0;   // Set Point modo Forzado
      Alarmas_ErrorBits : DWord := 16#0000_0000;   // Bits de error
      Config_Gain : Real := 0.15;
      Config_Ti : Real := 3.0;
      Config_Td : Real := 0.0;
      Config_LimiteSuperiorSalida : Real := 100.0;   // Limite superior de la salida PID
      Config_LimiteInferiorSalida : Real := 0.0;   // Limite inferior de la salida PID
      Config_LimiteSuperiorEntrada : Real := 15000.0;   // Limite superior de la entrada
      Config_LimiteInferiorEntrada : Real := 0.0;   // Limite inferior de la entrada
      Aux_oldMode : Int := 3;   // Valor anterior del modo para flancos
      Aux_SP_Manual : Real := 0.0;   // Valor de Set Point en modo Manual
      Aux_SP_Auto : Real;   // Valor de Set Point en modo Auto
      Aux_oldGain : Real := 0.15;   // Valor anterior Kp para traza
      Aux_oldTi : Real := 3.0;   // Valor anterior Ti para traza
      Aux_oldTd : Real := 0.0;   // Valor anterior Td para traza
   END_STRUCT;

END_TYPE

