Derivada (DERV)
Esta información corresponde a los controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590.
La instrucción DERV calcula la cantidad de cambios de una señal a lo largo del tiempo en unidades por segundo.
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible para el diagrama de escalera.
Bloque de funciones

Texto estructurado
DERV(DERV_tag);
Operandos
Bloque de funciones
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
DERV tag | DERIVATIVE | estructura | estructura DERV |
Estructura de DERIVATIVE
Parámetro de entrada | Tipo de datos | Descripción |
|---|---|---|
EnableIn | BOOL | Habilita la entrada. Si no está en falso, la instrucción no se ejecuta y las salidas no se actualizan. El valor predeterminado es verdadero. |
In | REAL | La entrada de la señal analógica a la instrucción. Válido = cualquier punto flotante Valor predeterminado = 0,0 |
Gain | REAL | Multiplicador de derivada Válido = cualquier punto flotante Valor predeterminado = 1,0 |
ByPass | BOOL | Solicitar omitir el algoritmo. Cuando ByPass es verdadero, la instrucción establece Out = In. El valor predeterminado es falso. |
TimingMode | DINT | Selecciona el modo de ejecución de temporización. 0 = Modo periódico 1 = Modo Sobremuestreo 2 = Modo Muestreo en tiempo real Para obtener más información sobre los modos de temporización, consulte Atributos del bloque de funciones Válido = de 0 a 2 Valor predeterminado = 0 |
OversampleDT | REAL | Tiempo de ejecución del modo de Sobremuestreo. Válido = de 0 a 4194,303 segundos Valor predeterminado = 0 |
RTSTime | DINT | Período de actualización de módulo para el modo de muestreo en tiempo real Válido = de 1 a 32.767 ms Valor predeterminado = 1 |
RTSTimeStamp | DINT | Valor del sello de tiempo del módulo para el modo de muestreo en tiempo real. Válido = de 0 a 32.767 ms Valor predeterminado = 0 |
Parámetro de salida | Tipo de datos | Descripción |
|---|---|---|
EnableOut | BOOL | Indica si la instrucción está habilitada. Se establece en falso si Out produce un desbordamiento. |
Out | REAL | La salida calculada del algoritmo. |
DeltaT | REAL | Tiempo transcurrido entre actualizaciones. Este es el tiempo transcurrido en segundos utilizado por el algoritmo de control para calcular la salida del proceso. |
Status | DINT | Estado del bloque de funciones. |
InstructFault (Status.0) | BOOL | La instrucción detectó uno de los siguientes errores de ejecución. No se trata de un error mayor o menor del controlador. Se comprueban los bits de estado restantes para determinar lo que ha ocurrido. |
TimingModeInv (Status.27) | BOOL | Valor de TimingMode no válido. Para obtener más información sobre los modos de temporización, consulte “Atributos del bloque de funciones”. |
RTSMissed (Status.28) | BOOL | Solo se utiliza en el modo de muestreo en tiempo real. Se establece en verdadero cuando ABS (DeltaT - RTSTime) > 1 milisegundo. |
RTSTimeInv (Status.29) | BOOL | Valor de RTSTime no válido. |
RTSTimeStampInv (Status.30) | BOOL | Valor de RTSTimeStamp no válido. |
DeltaTInv (Status.31) | BOOL | Valor de DeltaT no válido. |
Texto estructurado
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
DERV tag | DERIVATIVE | estructura | estructura DERV |
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Descripción
La instrucción DERV admite una entrada de bypass que permite dejar de calcular la derivada y pasar la señal directamente a la salida.
Cuando Bypass es | La instrucción utiliza esta ecuación: |
|---|---|
Borrado y DeltaT > 0 | ![]() donde DeltaT se expresa en segundos |
Set | ![]() |
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. Consulte los Atributos comunes para fallos relacionados con el operando.
Ejecución
Bloque de funciones
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Tag.EnableIn es falso | Los bits EnableIn y EnableOut se establecen en falsos. Texto estructurado: NA |
Tag.EnableIn es verdadero | Los bits EnableIn y EnableOut se establecen en verdaderos. La instrucción se ejecuta. |
Primera ejecución de instrucción | N/A |
Primer escaneado de instrucción | Recalcular coeficientes. |
Post-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Texto estructurado
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Consulte Pre-escaneado en la tabla Bloque de funciones. |
Ejecución normal | Consultar Tag.EnableIn es verdadero en la tabla Bloque de funciones. |
Post-escaneado | Consulte Post-escaneado en la tabla Bloque de funciones. |
Ejemplos
Este ejemplo es la programación legal mínima del bloque de funciones DERV y solo se utiliza para mostrar el texto neutro y el código generado para esta instrucción. Esto solo sirve para propósitos internos y no es un caso comprobable.
Bloque de funciones

Texto estructurado
DERV_01.In := Speed_Reference;
DERV_01.Gain := Feedforward_Gain;
DERV(DERV_01);
PI_01.In := Speed_Reference - Speed_feedback;
PI_01.Kp := Proportional_Gain;
PI_01.Wld := Integral_Gain;
PI(PI_01);
regulator_out := DERV_01.Out + PI_01.Out;
Entregue su opinión

