Part 2. Requirements for SCM
10. Conclusions
10.1 Questionnaires Created Based on Study
A continuación se analizarán con más detalle los distintos bloques disponibles para definr sistemas de control. En MechXML hay distintos tipos de bloques que permiten definir una gran variedad de sistemas de control continuo.
Existen cinco bloques dedicados a la definición de señales de entrada, que se explicarán en primer lugar. El bloque más general es InputSignal, mientras que los otros cuatro son casos particulares más sencillos. Además de estos bloques hay otros que operan sobre las señales: Sum, Gain, PID, Saturation, Dead Zo-
ne, Integrator, Derivative y los más generales, Laplace Transfer Function y
State Space. A continuación se presenta cada uno de estos bloques. 3.3.9.2.1 Elemento inputSignal
El elemento inputSignal se puede definir de tres maneras. La primera forma es haciendo referencia a una función de usuario definida previamente. Esta fun- ción de usuario sólo puede tener un resultado (a través de un argumento de salida) que constituirá la señal de entrada. La definición de las señales de en- trada mediante funciones de usuario es el método más general.
La segunda forma de definir las señales de entrada es por medio de expresiones matemáticas, lo cual tiene algunas ventajas. La primera es que permite el uso de parámetros, que como se recordará, pueden ser definidos al comienzo del elemento task y pueden ser usados a lo largo de todo el modelo. Esta caracte- rística permite modificar al mismo tiempo varios valores del modelo, actuali- zando el valor de un parámetro: por ejemplo, las propiedades inerciales, algu- nas dimensiones, etc. La segunda ventaja, más importante que la anterior, es que las expresiones matemáticas pueden incluir llamadas a variables del mode- lo y funciones de usuario.
La última forma de definir las inputSignals es haciendo referencia a una tabla que tiene que hacer sido definida previamente en model o analysis. Para la de- finición de las inputSignal es necesario indicar el nombre de las variables inde- pendientes y dependientes (los atributos t e y son usados con este fin, respecti- vamente).
3.3.9.2.2 Elemento inputConstantSignal
El elemento inputConstantSignal define una señal de entrada escalar constante. El valor de la señal es indicado por el elemento value. En las líneas 21-24 de la Figura 61 se puede observar un ejemplo de definición de inputConstantSignal. 3.3.9.2.3 Elemento inputStepSignal
El bloque inputStepSignal genera una señal escalón. El escalón viene definido por los elementos startTime (indica el instante exacto en que ocurre el escalón),
initialValue (valor de la señal antes del escalón) y finalValue (valor de la señal después del escalón).
3.3.9.2.4 Elemento inputRampSignal
La entrada del elemento inputRampSignal es una función rampa. Se define con los elementos initialValue (valor de la señal antes de la entrada), startTime (instante en que comienza la rampa) y slope (pendiente).
3.3.9.2.5 Elemento inputSineWaveSignal
La entrada del elemento inputSineWaveSignal es una función sinusoidal. Los valores usados para definir la onda son amplitude, frequency (rad/s) o period (s) y phase (ángulo inicial en radianes).
3.3.9.2.6 Elemento sum
El bloque sum permite obtener la suma o la diferencia de dos o más señales. Este bloque es usado frecuentemente para calcular el "error" entre dos señales, que el control trata de hacer nulo. Obsérvese que éste es el único bloque de los definidos hasta el momento que tiene más de una entrada.
En las líneas 31-35 de la Figura 61 se puede ver un ejemplo de cómo se define este bloque. El signo de una señal se indica con el atributo sign de los elemen- tos input. La Figura 63 muestra los elelemntos del bloque sum.
Figura 63. Bloque sum.
3.3.9.2.7 Elemento gain
La información característica del bloque gain se reduce al valor (value) de la ganancia del bloque. De nuevo se puede encontrar un ejemplo en las líneas 36- 40 de la Figura 61. La Figura 64 muestra los elelemntos del bloque gain.
Figura 64. Bloque gain.
3.3.9.2.8 Elemento PID
Los parámetros del bloque PID son definidos en los elementos P (control pro- porcional), I (control integral) y D (control derivativo) cuyo significado está claro.
3.3.9.2.9 Elemento saturation
La saturación de la señal indica que se ha llegado al límite superior en la señal que muchos sistemas (amplificadores, motores, etc.) pueden suministrar. Si la señal alcanza este límite la señal se satura y pasa a tener un valor constante.
En este bloque se definen los valores máximos (upperLimit) y mínimos (lo-
werLimit) de la señal de salida. Este elemento es no lineal, como se ve clara- mente en la Figura 65.
Figura 65. Bloque saturation en MechXML.
3.3.9.2.10 Elemento deadZone
Las zonas muertas mostradas en la Figura 66 es otra discontinuidad que se ori- gina por la incapacidad de los actuadores reales de trabajar con señales de en- trada muy bajas; sólo cuando la señal de entrada alcanza un cierto valor el ac- tuador empieza a trabajar. Los límites del bloque deadZone se han llamado
start y end en MechXML. Este bloque también es no lineal.
Figura 66. DeadZone en MechXML.
3.3.9.2.11 Elementos Integrator y derivative
El bloque Integrator integra una señal que proviene de un sensor o de otro dis- positivo. Por ejemplo, la salida de un acelerómetro puede ser integrada para
end
start upperLimit
obtener la velocidad o la posición de un punto. La única información caracte- rística de este bloque es opcional y define las condiciones iniciales de la señal (initialCondition) que se va a integrar.
El bloque derivative permite obtener la derivada respecto al tiempo de la señal de entrada. Este bloque no tiene ninguna información característica.
3.3.9.2.12 Elemento LaplaceTransferFunction
El bloque LaplaceTransferFunction es un bloque general que define la relación entre las transformadas de Laplace de las señales de entrada y de salida por medio de una función de transferencia definida como cociente de dos polino- mios. Los coeficientes de los polinomios se ordenan de mayor a menor grado, y el grado del denominador debe ser mayor que el del numerador para que el sistema tenga sentido físico. La Figura 67 muestra los componentes de este elemento.
Figura 67. Bloque LaplaceTransferFunction.
Cuando un bloque de este tipo aparece en un fichero MechXML y es traducido paera que sirva de entrada de datos de un programa de simulación, aparecen problemas si dicho programa no está preparado para trabajar con señales defi- nidas en el dominio de la transformada de Laplace. En general, los programas de simulación no necesitan ni reconocen las expresiones analíticas de las seña- les de entrada, sino un conjunto de valores discretos en ciertos instantes de tiempo.
Una forma de aproximar la salida del bloque es realizar una convolución de los valores de la señal de entrada con la aproximación discreta de la respuesta a un impulso unitario del sistema continuo cuya función de transferencia se ha defi- nido en el bloque. Esta aproximación de la respuesta a un impulso unitario del sistema continuo se puede obtener calculando la aproximación racional de la transformada en z de la función de transferencia de Laplace y obteniendo su desarrollo en serie de potencias. Una explicación más detallada se puede en- contrar en [184].
3.3.9.2.13 Elemento StateSpace
Algunas veces, un subsistema o parte de un sistema multicuerpo complejo pue- de tener varias entradas y salidas que presenten un alto grado de acoplamiento entre sí, de tal forma que no es posible establecer relaciones entre una entrada y una salida. Por este motivo se ha considerado oportuno dar la posibilidad de definir los sistemas mediante el espacio de estado.
Figura 68. Bloque State Space.
El control moderno está fundamentado en un mejor conocimiento del compor- tamiento interno de los sistemas. Sea x el vector de estado, u el vector de en- tradas e y el vector de salidas. Las ecuaciones que representan el espacio de estado son las siguientes:
= +
= +
x Ax Bu
y Cx Du (306)
En este bloque, por tanto, se deben introducir las cuatro matrices que definen el espacio de estado del sistema (A, B, C y D) y un vector con las condiciones iniciales de las variables de estado (initialStateVector).
3.3.9.3 Llamadas a los bloques de control en las fuerzas y momentos