Rotary Knife, Máquina de corte de papel con Simotion D425 y servos de Siemens

Jpeg

Rotary Knife, Máquina de corte de papel con Simotion D425 y servos de Siemens

La máquina cortadora de papel de la empresa Packincom de Poal (Lleida) sufría una avería en uno de los servomotores, debido a que el material estaba obsoleto y resultaba muy complicado encontrar recambios se decidió sustituir todo el control por un controlador Simotion D425 y dos servos de Siemens.

Jpeg

 

Controlador Rotary Knife averiado

Jpeg

Controlador Simotion de Siemens

 

Descripción del proyecto

La máquina lleva 2 servomotores controlados por el Simotion, el motor principal (maestro) es el arrastre del papel, el segundo motor (esclavo) es la cuchilla de corte o Rotary Knife, La particularidad de esta máquina es que el material lleva una fotocélula para realizar un corte por lectura de marca, de esta manera conseguimos un corte en un punto preciso con un error de +- 1mm a una velocidad de 60 m por minuto y un formato de papel de 720 mm.

Jpeg

Vista de la máquina en trabajo continuo

Para la gestión de máquina se ha empleado el estándar PackMl de OMAC, su implementación facilita muchísimo la gestión del control de la máquina.

Jpeg

Implementación de la máquina con PackMl

M-Bus lectura de datos con un S7 1200

M-Bus (Meter-Bus) es una norma europea (EN 13757-2 capa física y de enlace, EN 13757-3 capa de aplicación) para la lectura remota de contadores de gas o electricidad. M-Bus es también utilizable para otros tipos de contadores de consumo.

El M-Bus fue desarrollado para satisfacer la necesidad de un sistema para la creación de redes y lectura remota de contadores de servicios públicos, por ejemplo, para medir el consumo de gas o de agua en el hogar.

M-Bus lectura de datos con un S7 1200

No nos es posible leer directamente des del S7 1200 con alguna tarjeta especial, la mayoría de autómatas del mercado no disponen de una tarjeta de comunicación M-bus, por lo que tendremos que utilizar algún adaptador o Gateway para poder leer los datos de un esclavo M-Bus.

En este ejemplo vamos a utilizar un conversor M-bus / Modbus TCP IP, ya que el S7 1200 lleva el Modbus TCP IP integrado en toda su gama, el Gateway que utilizaremos es el HD67044-B2-20 de ADFWEB, este conversor nos permitirá enlazar desde 20 esclavos M-Bus en el modelo más pequeño hasta 250 esclavos el modelo superior:

s7-1200-M-bus

En primer lugar debemos programar el conversor para que nos lea los valores que queramos del esclavo M-bus, estos valores los debemos mapear a direcciones Modbus TCP IP para luego leerlas del PLC, para programar este mapeado necesitaremos un software especial del fabricante del conversor, el SW67044, que se puede descargar de la web http://www.adfweb.com/ , en el mismo manual del conversor viene muy bien especificado como programar el conversor por lo que no entraremos en detalle de como programarlo, el concepto básico es que debemos de mapear los valores que luego leeremos en el PLC.

Lectura de datos desde el S7 1200

Para leer los datos que nos entrega el Gateway de M-Bus a Modbus, utilizaremos la función de lectura de Modbus TCP-IP que nos proporciona Siemens para el autómata S7 1200, esta función se llama MB_CLIENT:

read_modbus_mbus

 

En este ejemplo podemos observar los siguientes parámetros importantes:

REQ: Cada cuando queremos leer los datos Modbus.

CONNECT_ID: Número de la conexión establecida

IP_OCTET_1: la dirección IP del Gateway Modbus – M-Bus

IP_PORT: Puerto Modbus, por defecto es el 502

MB_MODE: Lectura o escritura.

MB_DATA_ADDR: Dirección Modbus inicial de lectura, en este ejemplo es la 40002

MB_DATA_LEN: Longitud de datos a leer.

MB_DATA_PTR: Array donde escribirá los datos leídos.

Por tanto ejecutando cíclicamente este FB podemos leer los datos del bus M-BUS y los podremos consultar en el array de salida, la longitud de los cuales deberá ser definida en MB_DATA_LEN.

 

 

Climatización suelo radiante mediante el PID FB58

En este post voy a explicar un ejemplo de cómo controlar la temperatura de una sala mediante el FB58 de Siemens.

Este ejemplo lo he sacado de mi propio programa de control de temperatura de mi casa, después de muchos ajustes quedo muy bien ajustado ya que las variaciones térmicas de temperatura ambiente son décimas de grado.

Circuito de calefacción por suelo radiante

La calefacción es por suelo radiante y tengo 3 circuitos independientes, con una bomba de circulación y 3 válvulas de apertura y cierre, evidentemente y como cualquier suelo radiante la inercia de temperatura es muy importante y por tanto el regulador de temperatura tiene que estar correctamente ajustado.

FB58 TCONT_CP

El FB 58 “TCONT_CP” sirve para regular procesos de temperatura con control continuo o en forma de impulso, en mi caso y como el resultado ha sido muy satisfactorio lo utilizo en forma de impulso.

El funcionamiento se basa en el algoritmo de regulación PID, que está dotado de funciones adicionales para procesos de temperatura. Suministra valores manipulados analógicos y señales manipuladas con modulación de ancho de pulso. A cada regulador le corresponde un solo actuador, es decir, con un solo regulador se podrá o bien calentar o bien enfriar.

El FB TCONT_CP se puede utilizar tanto para procesos de pura calefacción como para procesos de pura refrigeración. En mi caso utilizo el suelo radiante para la calefacción y la refrigeración, por tanto es ideal para la climatización de una sala.

Ejemplo de Climatización suelo radiante mediante el PID FB58

Para que el regulador funcione correctamente este se debe de programar dentro de un OB de interrupción cíclica con un tiempo fijo de 100ms, según que CPU utilicemos podremos utilizar el OB35 o el OB 82, la llamada a este bloque o FB es muy simple y en mi caso los parámetros de entrada y salida son mínimos:

llamada-fb58

Llamada a el FB58

Podemos ver en el ejemplo solo 3 parámetros de entrada:

PV_PER: Es el valor real de la temperatura de la sala, en mi caso una PT100 donde la tarjeta de temperatura me permite leer centésimas de grado.
SP_INT: Es el valor real de consigna, este dato a diferencia del PV_PER es de tipo Real.
COM_RST: Reset del controlador, normalmente al arrancar el autómata.

process-variable-periphery-on

Ajustes del regulador

PVPER_ON: El valor real se lee a través de la periferia analógica (PEW xxx) en la entrada PV_PER.
Per_mode: PT100/NI100; Climatización, °C; °F.

calefaccio-refrigeracio

Modo calefacción o refrigeración

GAIN: Modo calefacción con un valor de 10, y modo refrigeración con un valor de -10

Por cada lazo o en mi caso por cada circuito deberé repetir esta implementación, en este ejemplo solo hemos visto el control de una sala, en concreto el comedor de la casa.

Salida del regulador

Una vez parametrizado el regulador solo nos queda utilizarlo en nuestro programa de control de calefacción, en mi caso he utilizado el valor manipulado que obtengo del regulador, el valor manipulado es un porcentaje de 0 a 100% de la demanda real de energía de calefacción o refrigeración, a partir de este dato doy marcha a la calefacción en unos porcentajes ajustados en dependencia a la temperatura exterior de la casa:

El valor manipulado se lee directamente del DB de instancia con un valor REAL en el dato LMN.

Para ir a marcha de la calefacción:

Temperatura Exterior Valor Manipulado para marcha
Con luz solar Mayor de 2 ºC 7,5 %
Con luz solar Menor de 2 ºC 6,5 %
Con poca luz solar Mayor de 4 ºC 5,5 %
Con poca luz solar Menor de 4 ºC 2,5 %
Sin luz solar Mayor de 2 ºC 1,5 %
Sin luz solar Menor de 2 ºC 1 %

Para ir a paro de la calefacción:

Temperatura Exterior Valor Manipulado para paro
Con luz solar Mayor de 2 ºC 3,5 %
Con luz solar Menor de 2 ºC 3 %
Con poca luz solar Mayor de 4 ºC 3 %
Con poca luz solar Menor de 4 ºC 2 %
Sin luz solar Mayor de 2 ºC 1 %
Sin luz solar Menor de 2 ºC 0,5 %

Conclusiones

Por las características de mi casa y mi sistema de calefacción con estos parámetros puedo llegar a ajustar la temperatura con décimas de grado con un sistema que tiene una gran inercia térmica.