Curva S (S-Curve, SCRV)

Esta información se aplica a los controladores
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
CompactLogix
5380,
ControlLogix
5580 y ControlLogix 5590.
La instrucción SCRV realiza una función de rampa con un grado de variación agregado. El grado de variación es el índice máximo de cambio del régimen empleado para cambiar gradualmente de salida a entrada.
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible en el diagrama de escalera.
Bloque de funciones
RSL5K_SCRV Function Block_v31
Texto estructurado
SCRV(SCRV_tag);
Operandos
Bloque de funciones
Operando
Tipo
Formato
Descripción
SCRV tag
S_CURVE
Estructura
Estructura SCRV
Texto estructurado
Operando
Tipo
Formato
Descripción
SCRV tag
S_CURVE
Estructura
Estructura SCRV
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Estructura de S_CURVE
Parámetro de entrada
Tipo de datos
Descripción
EnableIn
BOOL
Habilita la entrada. Si no está activada, la instrucción no se ejecuta y las salidas no se actualizan.
Está establecido de forma predeterminada.
In
REAL
La entrada de la señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
Initialize
BOOL
La entrada de Initialize a la instrucción. Cuando está establecido, la instrucción retiene Out = InitialValue
Está borrado de forma predeterminada.
InitialValue
REAL
Valor inicial de Curva S. Cuando Initialize está establecido, Out = InitialValue.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
AbsAlgRamp
BOOL
Tipo de rampa. Si está establecido, la instrucción funciona como una rampa de valor absoluto. Si se borra, la instrucción funciona como una progresión lineal algebraica.
Está establecido de forma predeterminada
AccelRate
REAL
Índice de aceleración en unidades de entrada por segundo
2
. Un valor cero evita la aceleración del formato Out. Cuando AccelRate < 0, la instrucción asume AccelRate = 0 y establece el bit correspondiente en Status.
Válido = de 0,0 a número de punto flotante positivo máximo
Valor predeterminado = 0,0
DecelRate
REAL
Índice de desaceleración en unidades de entrada por segundo
2
. Un valor cero evita la desaceleración del formato Out. Cuando DecelRate < 0, la instrucción asume DecelRate = 0 y establece el bit correspondiente en Status.
Válido = de 0,0 a número de punto flotante positivo máximo
Valor predeterminado = 0,0
JerkRate
REAL
Índice de variación en unidades de entrada por segundo
3
. Especifica el índice máximo de cambio de los índices de aceleración y desaceleración al cambiar en progresión lineal de salida a entrada. Cuando (JerkRate * DeltaT) S AccelRate o DecelRate, los índices de aceleración y desaceleración no están limitados. En esta situación, la instrucción se comporta como una función de progresión lineal. Cuando JerkRate < 0, la instrucción asume JerkRate = 0 y establece el bit correspondiente en Status.
Válido = de 0,0 a número de punto flotante positivo máximo
Valor predeterminado = 0,0
HoldMode
BOOL
Parámetro del modo de retención de la Curva S. Este parámetro se utiliza con el parámetro HoldEnable. Si HoldMode está establecido cuando HoldEnable está establecido e Rate = 0, la instrucción retiene la constante Out. En esta situación, la instrucción retiene Out en cuanto se establece HoldEnable, JerkRate se ignora y Out genera una "esquina" en su perfil. Si HoldMode está desactivado cuando HoldEnable está establecido, la instrucción utiliza JerkRate para llevar Out a un valor constante. Out se retiene cuando Rate = 0. No cambie HoldMode cuando HoldEnable está establecido porque la instrucción ignorará el cambio.
Está borrado de forma predeterminada.
HoldEnable
BOOL
Parámetro de habilitación de retención de la Curva S. Cuando está establecido, Out se retiene. Cuando se borra, Out se mueve de su valor actual hasta que sea igual a In.
Está borrado de forma predeterminada.
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
Habilita la salida.
S_Mode
BOOL
Salida S_Mode. Cuando (Jerk * DeltaT) Less than or equal to Rate y
Rate < Accel o Decel, S_Mode se establece. De lo contrario, se borra S_Mode.
Out
REAL
La salida de la instrucción de Curva S. Se establecen marcas de estado matemático para esta salida.
Rate
REAL
Cambio interno en Out en unidades por segundo.
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.
AcceRateInv (Status.1)
BOOL
AccelRate es negativo.
DecelRateInv (Status.2)
BOOL
DecelRate es negativo.
JerkRateInv (Status.3)
BOOL
JerkRate es negativo.
TimingModeInv (Status.27)
BOOL
Modo de temporización 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 cuando
ABS | DeltaT - RTSTime | > 1 (0,001 segundos).
RTSTimeInv (Status.29)
BOOL
Valor de RTSTime no válido.
RTSTimeStampInv (Status.30)
BOOL
Valor de RTSTimeStamp no válido.
DeltaT (Status.31)
BOOL
Valor de DeltaT no válido.
Descripción
El requisito principal de la instrucción SCRV es garantizar que el índice no cambie nunca más del grado de variación especificado.
Puede configurar la instrucción SCRV para generar un Perfil de curva S o un Perfil de rampa para una entrada de paso.
Perfil de curva S
Para generar un perfil de Curva S, se establece JerkRate como (JerkRate * DeltaT) < AccelRate y/o DecelRate.
En el modo de Perfil de curva S, la instrucción SCRV garantiza que el índice no cambie nunca más del JerkRate especificado. El algoritmo utilizado para generar el Perfil de curva S está diseñado para generar una Curva S suave y simétrica para una entrada de paso. Para facilitar esto, se incorpora una integración trapezoidal de Out. Como resultado, los cambios en Rate serán menores que JerkRate durante partes del perfil.
Cuando se produce un cambio de paso en la entrada, el índice se incrementa al AccelRate o DecelRate programado. AccelRate o DecelRate se mantienen hasta un punto en el que el índice debe comenzar a disminuir para que la salida alcance la entrada cuando el índice llega a cero.
En algunos casos, dependiendo de los valores de aceleración, desaceleración y variación, el índice de aceleración o el índice de desaceleración puede que no se alcancen antes de que el índice comience a disminuir por el grado de variación.
Para cambios de pasos muy pequeños, la instrucción SCRV no intentará generar un perfil 'S'. En este modo, se producirá todo el paso y Rate reflejará el cambio en la salida. Este comportamiento ocurrirá si Out = In y el siguiente cambio de paso a In puede ser la salida con un índice inferior o igual a JerkRate programado.
La instrucción SCRV admite una rampa algebraica y una rampa de valor absoluto. Para una rampa algebraica, la condición de aceleración se define por una entrada que se está volviendo más positiva, y la condición de desaceleración se define por una entrada que se está volviendo más negativa. Para una rampa de valor absoluto, la condición de aceleración se define por una entrada que se aleja de cero, y la condición de desaceleración se define por una entrada que se mueve hacia cero.
Perfil de rampa
Para producir un perfil de progresión lineal, establezca JerkRate de modo que (JerkRate * DeltaT) Less than or equal to AccelRate y/o DecelRate.
En el modo Perfil de rampa, la instrucción SCRV siempre produce un índice de cambio igual al AccelRate o DecelRate programado hasta que la diferencia entre Out e In requiere menos que AccelRate o DecelRate para alcanzar el punto final.
HoldMode = 0 funciona igual que HoldMode = 1. Cuando HoldEnable está establecido, Out se retiene inmediatamente y Rate se convierte en cero.
El diagrama siguiente muestra cómo la instrucción modifica Out.
SCRV Ramp Profile
(1)
Cuando se establece Initialize, la instrucción establece lo siguiente:
Outn = InitialValue
Outn-1 = Outn
Raten = 0
Raten-1 = 0
(2)
Cuando HoldMode está borrado, Out se mueve hacia In y se establece HoldEnable, el índice comienza a disminuir hacia cero al índice de variación. Debido a JerkRate, Out se retiene y cualquier valor que tenga cuando el índice alcanza cero. Cuando finalmente Out se retiene constante, tiene un valor que es diferente del valor que tuvo cuando se estableció HoldEnable.
Cuando HoldMode está establecido, Out se mueve hacia In y se establece HoldEnable, el índice se ajusta inmediatamente a cero. Out se retiene en cualquiera de los valores que tenía cuando se estableció HoldEnable.
Al reducir JerkRate durante una transición puede causar que Out sobreimpulse In. Si se produce el sobreimpulso, es el resultado de imponer el JerkRate introducido. Puede evitar un sobreimpulso si disminuye JerkRate en pequeños pasos mientras ajusta o al cambiar JerkRate mientras Out = In (no durante una transición).
El tiempo necesario para que Out iguale un cambio en la entrada es una función de AccelRate, JerkRate y la diferencia entre In y Out.
Calcular los valores de salida y relación
En la transición de un valor inicial al valor final, Out pasa por tres regiones. En la región 1 y la región 3, el índice de cambio de Out se basa en JerkRate. En la región 2, el índice de cambio de Out se basa en AccelRate o DecelRate.
SCRV Calculating Output and Rate Values
Out se calcula para cada región de la forma siguiente:
SCRV_fbd_Out_eq
con estas ecuaciones para cada región:
Región
Ecuación
región 1
SCRV_fbd_region1_eq
región 2
SCRV_fbd_region2_eq
región 3
SCRV_fbd_region3_eq
Cuando:
SCRV_fbd_InitOutput_eq
el bloque SCRV no alcanza AccelRate o DecelRate. Out lleva a cabo lo siguiente:
SCRV Graph
donde:
SCRV_fbd_TotalTime_eq
Afecta a las marcas de estado matemáticas
No
Condiciones de fallo
El fallo menor ocurre cuando
Tipo de fallo
Código de fallo
La función está habilitada y se detecta un desbordamiento.
4
4
Consulte Atributos comunes para ver los fallos relacionados con el operando.
Ejecución
Bloque de funciones
Condición
Acción de bloque de funciones
Pre-escaneado
Los bits EnableIn y EnableOut se establecen en falsos.
Tag.EnableIn es falso
Los bits EnableIn y EnableOut se establecen en falsos.
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
Borrar datos del escaneado anterior.
Post-escaneado
Los bits EnableIn y EnableOut se desactivan 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.
Ejemplo
En la mayoría de las aplicaciones de variador coordinadas, una referencia maestra ordena la velocidad de la línea para todo un grupo de variadores. A medida que se seleccionan varias referencias, los variadores no pueden presentarse con cambios de "paso" en la referencia de velocidad debido a que las diferencias en la inercia de la carga, el par de motor y el ajuste no permitirían que las secciones de variador individuales reaccionaran de manera coordinada. La instrucción SCRV está diseñada para cambiar y modelar la señal de referencia a las secciones del variador de manera que se controlen la aceleración, la desaceleración y la variación (derivada de la aceleración). Esta instrucción proporciona un mecanismo para permitir que la referencia a los variadores alcance el punto de ajuste de referencia designado de tal manera que elimine las fuerzas y el impacto excesivos en la maquinaria y el equipo conectados.
Bloque de funciones
RSL5K_SCRV Function Block Example_v31
Texto estructurado
SSUM_01.In1 := Master_reference;
SSUM_01.Select1 := master_select;
SSUM_01.In2 := Jog_reference;
SSUM_01.Select2 := jog_select;
SSUM(SSUM_01);
select_out := SSUM_01.Out;
SCRV_01.In := select_out;
SCRV_01.AccelRate := accel;
SCRV_01.DecelRate := accel;
SCRV_01.JerkRate := jerk_rate;
SCRV(SCRV_01);
scurve_out := SCRV_01.Out
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal