3.2.2.1. Archivo de rutinas para la función de entonación de PID

Archivo que contiene todas las rutinas necesarias para la funcionalidad de tunning de PID

rutinas_PID.auto_tuning_method(self, k_proceso, tau, alpha, metodo)[fuente]

Función para obtener las ganancias del controlador PID a partir de los parametros del modelo de primer orden obtenidos de una respuesta escalón, las formulas son las dadas por Ziegler-Nichols y Cohen-Coon para una respuesta escalón en lazo abierto.

Parámetros
  • k_proceso (float) – Ganancia del proceso

  • tau (float) – Constante de tiempo del proceso

  • alpha (float) – Tiempo muerto o delay del proceso

  • metodo (str) – Método a utilizar

Devuelve

Ganancias kp, ki y kd

Tipo del valor devuelto

tuple(float, float, float)

rutinas_PID.model_method(self, t, y, dc_gain)[fuente]

Función para obtener los parametros del modelo de primer orden de un sistema a partir de su respuesta escalón.

Parámetros
  • t (numpyArray) – Vector de tiempo

  • y (numpyArray) – Vector de respuesta

  • dc_gain (float) – Ganancia DC del sistema

Devuelve

Ganancia, constante de tiempo y tiempo muerto del proceso

Tipo del valor devuelto

tuple(float, float, float)

rutinas_PID.rutina_step_plot(self, system, T, kp, ki, kd)[fuente]

Función para obtener la respuesta escalón del sistema en lazo cerrado en combinación con un controlador PID y su respectiva graficacion.

Parámetros
  • system (LTI) – Representacion del sistema

  • T (numpyArray) – Vector de tiempo

  • kp (float) – Ganancia proporcional

  • ki (float) – Ganancia integral

  • kd (float) – Ganancia derivativa

Devuelve

Respuesta escalón separada en vector de tiempo y vector de salida

Tipo del valor devuelto

tuple(numpyArray, numpyArray)

rutinas_PID.rutina_system_info(self, system, T, y, kp=0, ki=0, kd=0, autotuning=False)[fuente]

Función para mostrar los resultados obtenidos de los calculos en un TextEdit

Parámetros
  • system (LTI) – Representacion del sistema

  • T (numpyArray) – Vector de tiempo

  • y (numpyArray) – Vector de respuesta

  • kp (float, opcional) – Ganancia proporcional, defaults to 0

  • ki (float, opcional) – Ganancia integral, defaults to 0

  • kd (float, opcional) – Ganancia derivativa, defaults to 0

  • autotuning (bool, opcional) – Bandera para señalar si es o no una operación con auto tunning, defaults to False

rutinas_PID.system_creator_ss(self, A, B, C, D)[fuente]

Función para la creación del sistema a partir de la matriz de estado, matriz de entrada, matriz de salida y la matriz de transmisión directa.

Parámetros
  • A (list) – Matriz de estados

  • B (list) – Matriz de entrada

  • C (list) – Matriz de salida

  • D (list) – Matriz de transmisión directa

Devuelve

El sistema, el vector de tiempo, el sistema con delay, el sistema en el espacio de estados y las ganancias kp, ki y kd. Si el sistema no tiene delay, ambos son iguales

Tipo del valor devuelto

tuple(LTI, numpyArray, LTI, LTI, float, float, float)

rutinas_PID.system_creator_ss_tuning(self, A, B, C, D)[fuente]

Función para la creación del sistema a partir de la matriz de estado, matriz de entrada, matriz de salida y la matriz de transmisión directa, adicionalmente se realiza el auto tuning utilizando el método escogido por el usuario.

Parámetros
  • A (list) – Matriz de estados

  • B (list) – Matriz de entrada

  • C (list) – Matriz de salida

  • D (list) – Matriz de transmisión directa

Devuelve

El sistema, el vector de tiempo, el sistema con delay, el sistema en el espacio de estados y las ganancias kp, ki y kd. Si el sistema no tiene delay, ambos son iguales

Tipo del valor devuelto

tuple(LTI, numpyArray, LTI, LTI, float, float, float)

rutinas_PID.system_creator_tf(self, numerador, denominador)[fuente]

Función para la creación del sistema a partir de los coeficientes del numerador y del denominador de la función de transferencia.

Parámetros
  • numerador (list) – Coeficientes del numerador

  • denominador (list) – Coeficientes del denominador

Devuelve

El sistema, el vector de tiempo, el sistema con delay y las ganancias kp, ki y kd. Si el sistema no tiene delay, ambos son iguales

Tipo del valor devuelto

tuple(LTI, numpyArray, LTI, float, float, float)

rutinas_PID.system_creator_tf_tuning(self, numerador, denominador)[fuente]

Función para la creación del sistema a partir de los coeficientes del numerador y del denominador de la función de transferencia, adicionalmente se realiza el auto tuning utilizando el método escogido por el usuario.

Parámetros
  • A (list) – Matriz de estados

  • B (list) – Matriz de entrada

  • C (list) – Matriz de salida

  • D (list) – Matriz de transmisión directa

Devuelve

El sistema, el vector de tiempo, el sistema con delay y las ganancias kp, ki y kd. Si el sistema no tiene delay, ambos son iguales

Tipo del valor devuelto

tuple(LTI, numpyArray, LTI, float, float, float)