Mar
11

SpainSkills 2017 – Control Industrial

Del 1 al 3 de Marzo se han celebrado en el recinto de IFEMA, en Madrid, los campeonatos nacionales de formación profesional SpainSkills 2017, entre los cuales he tenido la suerte de poder participar representado al MECD en la disciplina de Control Industrial.

Jurado y competidores Control Industrial SpainSkills 2017

Ha sido un verdadero placer poder compartir experiencias y aprendizajes de la mano de Siemens SCE (sin ellos difícilmente podría organizarse algo así en términos de calidad) y sus más que excelentes profesionales, a la vez que poder poner cara, conversar y aprender con auténticos colosos del mundo formativo del sector de la automatización y robótica industrial como Juan Carlos Martín Castillo, Vincenç Guerrero, José Ángel Alonso, Rául Sáenz y tantos otros con los que he tenido la suerte de poder compartir momentos, aunque lamentablemente escasos, y a los que, al fin, he logrado ponerles cara.

El nivel de los competidores ha sido absolutamente espectacular, entre los que mención especial requiere Nahuel Arce-Leal Díaz, tutorizado por Javier Merino de la Hoz, del IES Zapatón de Torrelavega, que con un asombroso concurso y regularidad ha conseguido llevarse la medalla de oro de la disciplina.

Difícilmente, pese al duro trabajo de estos días, se puede aprender tanto en tan poco tiempo. Un auténtico placer que espero que dentro de 2 años vuelva a repetirse, sea cual sea el papel a desempeñar.

Feb
15

Sensores en Arduino (II): Temperatura

Si en artículo anterior veíamos cómo habíamos trabajado en clase midiendo temperaturas con termistores, veremos ahora qué hemos hecho para trabajar con sensores de temperatura de unión semiconductora tipo LM35. El proceso es enormemente más sencillo, ya que la gran ventaja de este tipo de sensores es su linealidad: en el caso del LM35, 10 mV/ºC. Por contra, sacrifican enormemente su precisión (errores hasta del orden de 0.6ºC), estabilidad y tiempo de respuesta.

En nuestro caso hemos usado los LM35 con encapsulado plástico TO-92. Su hoja de características podemos descargarla directamente de la web del fabricante.

LM35

Su conexionado básico para medir temperaturas entre +2 y +150ºC con Arduino es extremadamente sencillo: su rango de alimentación en Vs varía entre +4 y +20Vcc, y su salida varía del orden de 0V+10mv/ºC.

Conexionado LM35

Conectarlo a Arduino es igualmente evidente, sólo hay que respetar el patillaje del elemento.

LM35 Arduino UNO

El código para Arduino no puede ser más sencillo, aunque es posible recurrir a varias alternativas. La primera de ellas es transformar de forma directa la lectura del valor analógico en A0 a un valor de temperatura. El razonamiento es sencillo: dado que los pines analógicos de Arduino tienen una resolución de 10 bits (1024 valores) con un rango en tensión de 5V, Arduino es capaz de distinguir escalones de tensión de (5/1024). Podemos deducir pues que el valor en V del pin analógico (en este caso A0) será:

Lectura del pin(analogRead) * (5/1014) [V]

Transformándolo a mV, que es el rango del sensor LM35, tendremos:

Lectura del pin(analogRead) * (5/1024) * 1000 [mV]

Si además sabemos del Datasheet de nuestro LM35 que en su configuración básica la tensión en Vout es 10 mV/ºC, podemos concluir que el valor en ºC de la temperatura leída en el pin A0 es:

(Lectura del pin (analogRead) * (5/1024) * 1000) / 10, o lo que es lo mismo:

Lectura del pin (analogRead) * (5/1024) * 100.

Es por eso que podemos plantear:

Otra buena opción consiste en mapear nuestro rango de valores conociendo sus valores mínimos y máximos, aunque en este caso debemos estar seguros de los rangos mínimos y máximos de nuestro sensor en su configuración:

En los próximos días emplearemos algún otro tipo de sensor, crearemos algunas aplicaciones sencillas de control domótico aislado controlado por Ethernet y haremos nuestra propia biblioteca de funciones para los sensores empleados.

Dic
24

Referencias de multivelocidad desde terminal en Siemens Micromaster 440

Una de las prácticas que estamos llevado a cabo estos días implica definir referencias de multivelocidad con el variador de frecuencia Micromaster 440 de Siemens desde el terminal, teniendo que parametrizar previamente el mismo.

Siemens Micromaster 440

De esta forma, empleando 3 entradas digitales podemos establecer 3 consignas de frecuencia diferentes para 3 velocidades distintas. El proceso es un poco tedioso, ya que hay que echar mano de los parámetros BiCo (Binary Connectors) del variador de frecuencia, y que básicamente permiten programar de forma flexible funciones más o menos complejas, relacionando para nuestro caso sets de parámetros a estados de entradas digitales. El procedimiento viene bastante bien documentado en la página de soporte de Siemens, pero con objeto de proporcionar una pequeña ayuda adicional, podemos hacer un resumen general del procedimiento.

La posibilidad de definir 3 consignas diferentes de frecuencia, cada una de ellas activada mediante una entrada digital del terminal, se basa en los parámetros indexados del MM440 frente al MM420: es posible almacenar diferentes valores de parámetros, cada uno de ellos bajo un índice (In000, In001 e In002), de forma que sea posible cambiar entre los valores de los parámetros ante, por ejemplo, como es nuestro caso, el cambio de una entrada digital.

Hay dos tipos de sets de parámetros en el MM440/MM430: CDS (Command Data Set o Juego de datos de comando) y DDS (Drive Data Set o Juego de datos de accionamiento). Los parámetros indexados pueden pertenecer bien al CDS o bien al DDS. La mayor parte de los parámetros tiene 3 índices diferentes (In000, In001 e In002) que pueden ser habilitados. Por defecto, el índice In000 es el que está activo.

La forma más cómoda de definir valores de índice para los parámetros es programar todos los parámetros para In000, y luego copiar estos valores a los índices In001 e In002, modificando posteriormente los valores deseados.

Para ello se emplean los parámetros P0809 [3] y P0819 [3], que permiten copiar el CDS/DDS de un índice a otro.

En este caso trabajaremos con los parámetros:

Parámetros_1

Parámetros_2

El mejor modo de ver el proceso completo es ilustrarlo mediante un ejemplo. De cara a hacerlo todo más sencillo, lo haremos con el mismo ejemplo de la página de Siemens Support. Supongamos que un motor tiene que funcionar con 3 frecuencias diferentes, cada una de ellas con diferentes rampas de aceleración / deceleración, y que deseamos activar estas 3 frecuencias empleando 3 entradas digitales, por ejemplo:

Entrada Digital Frecuencia Rampa aceleracion Rampa deceleracion
DIN1 20 Hz 10 s 10 s
DIN2 30 Hz 5 s 5 s
DIN3 40 Hz 1 s 1 s

Para poder conseguirlo será necesario definir 3 juegos de parámetros, cada uno de ellos en los 3 índices diferentes de diversos parámetros, cambiando entre ellos según la entrada digital activada. Programaremos en primer lugar los parámetros normales del In000 activados mediante DIN1, y programaremos posteriormente DIN2 y DIN3 mediante configuración BiCo.

1. Supongamos que los valores referidos al motor ya han sido configurados en sus respectivos parámetros y se ha realizado una puesta en marcha rápida. Deberemos ahora establecer el control desde el terminal (P0700[0]=2) y trabajar mediante frecuencias fijas (P1000[0]=3). Podemos también establecer los valores correspondientes a In000:

Parámetro / Valor Comentario
P1120[0]= 10s Rampa de aceleración de DIN1 = 10s
P1121[0]= 10s Rampa de deceleración de DIN1 = 10s
P1001[0]= 20 Hz Frecuencia fija 1 activada mediante DIN1 = 20Hz
P0701[0]= 16 DIN1 configurada como frecuencia fija + RUN

2. Preparamos ahora las entradas DIN2 y DIN3 para configuración BiCo, es decir, para poder descargar en ellas todo el juego de parámetros definido para DIN1, copiando posteriormente el In000 en los In001 e In002. Configuramos para ellos P0702[0] y P0703[0] a 99.

3. A continuación, para operar de la forma más cómoda posible, copiaremos el juego de parámetros definidos con el índice In000 en los índices In001 e In002. Dado que los parámetros frecuencia fija (P1001, P1002, P1003…), tiempo de aceleración (P1120) y tiempo de deceleración (P1121) pertenecen al DDS, copiaremos el juego de parámetros DDS del In000 (Set 0) al In001 (Set 1) e In002 (Set 2) de la siguiente forma:

Copiar DDS del Set 0 al Set 1: realizamos en orden las operaciones…

Parámetro / Valor Comentario
P0819[0]= 0 Copia el set DDS desde el Set 0
P0819[1]= 1 Pega el set DDS en el Set 1
P0819[2]= 2 Inicia la copia (tras realizar la copia vuelve otra vez a 0)

Copiar DDS del Set 0 al Set 2: realizamos en orden las operaciones…

Parámetro / Valor Comentario
P0819[0]= 0 Copia el set DDS desde el Set 0
P0819[1]= 2 Pega el set DDS en el Set 2
P0819[2]= 2 Inicia la copia (tras realizar la copia vuelve otra vez a 0)

4. Como se han configurado las DIN2 y DIN3 como BiCo en el paso 2, es posible ahora configurar en P0820 y P0821 la fuente de órdenes desde la cual se leen los sets 1 y 2 previamente configurados. Deberán aparecer los valores 722.1 y 722.2, de forma que configuramos:

Parámetro / Valor Comentario
P0820 = 722.1 Configuramos DIN2 (722.1) como fuente de órdenes para el Set 1
P0821 = 722.2 Configuramos DIN3 (722.2) como fuente de órdenes para el Set 2

5. Procedemos a configurar las diferentes rampas de aceleración / deceleración:

Parámetro / Valor Comentario
P1120[1] = 5 Aceleración de 5 segundos para In001 (Set 2 activado mediante DIN2)
P1121[1] = 5 Deceleración de 5 segundos para In001 (Set 2 activado mediante DIN2)
P1120[2] = 1 Aceleración de 1 segundos para In002 (Set 3 activado mediante DIN3)
P1121[2] = 1 Deceleración de 1 segundos para In002 (Set 3 activado mediante DIN3)

6. Establecemos por último las frecuencias fijas a las que funcionará el Set 1 y el Set 2:

Parámetro / Valor Comentario
P1001[1] = 30 Hz Frecuencia fija de Set 1 = 30 Hz y posterior RUN
P1001[2] = 40 Hz Frecuencia fija de Set 2 = 40 Hz y posterior RUN

Tenemos ya configurados los sets 1 y 2 de parámetros, activados respectivamente con DIN2 y DIN3, por lo que podemos ya, en función de la DIN activada, hacer funcionar a nuestro motor a consignas de frecuencia distintas, cada una de ellas con sus respectivas rampas de aceleración / deceleración. Es muy importante tener en cuenta que los parámetros CDS pueden cambiarse con el motor funcionando, y su cambio tendrá un efecto inmediato, pero por contra los parámetros DDS (como es nuestro caso) normalmente (con algunas excepciones) sólo pueden ser cambiados con el motor parado. Podemos comprobarlo intentando cambiar de forma directa de DIN1 a DIN2 o DIN3 sin desactivar previamente la entrada de origen.

 

Abr
23

Introducción al control PID con S7-1200 de Siemens.

Las últimas semanas he tenido la suerte y el gusto de poder estar en el IES Sáenz de Buruaga de Mérida impartiendo junto con David Pecellín un curso de Introducción a los Autómatas Programables con S7-1200 de Siemens, partiendo desde el control digital y llegando hasta el control analógico y control PID con estos dispositivos, gracias a la colaboración del fantástico departamento de Instalación y Mantenimiento del centro y a la magnífica organización de la asesoría de FP y Tecnología del CPR de Mérida.

Parte del material generado es una adaptación del generado anteriormente para el curso del IES San Roque de hace poco, pero parte es completamente nuevo. Quizá lo más interesante son los fundamentos del control PID y la implementación para estos dispositivos, que aquí dejo por si a alguien le puede resultar útil.

Un placer trabajar así, y espero que se repita la experiencia con el próximo curso de Arduino.

Feb
17

Autómatas Programables en las Instalaciones Térmicas y de Fluidos

Recientemente he estado dando un curso en el IES San Roque de Badajoz organizado por el CPR de Badajoz sobre Introducción a los Autómatas Programables y su aplicación a las Instalaciones Térmicas con tecnología Siemens (s7-200 y S7-1200) y he tenido que elaborar material para el curso que dejo aquí colgado por si a alguien le puede interesar para sus clases.

Siempre es un placer volver por allí y pasar buenos ratos en unos magníficos departamentos de Instalación & Mantenimiento y Energía & Agua, a pesar tristemente del equipo directivo de centro.

Mil gracias a los compañeros y asistentes que han hecho este material posible.

Nov
03

Otro curso más y nueva organización

Ha llegado a tal punto el abandono del blog que esta entrada dista casi un año de la anterior. No tenía tal sensación de dejadez. A pesar de no haber actualizado el mismo y no haber creado nuevos posts en tan largo periodo, la actividad en otros canales ha sido más que movida: nuevos blogs de aula como el de TermOeficiencia que usé el curso pasado en el IES San Roque, nuevos videotutoriales en YouTube y Vimeo y el sinfín de preparación de materiales de cada curso. Y por fin, la finalización de materiales de Formación Profesional a Distancia que ha sido un auténtico calvario.

Después de dos años en el IES San Roque de Badajoz más dedicado a las instalaciones térmicas y de fluidos y a la eficiencia energética, cambio este año al IES Javier García Téllez de Cáceres con el experimento de los Ciclos Formativos Bilingües. No es en absoluto sarcasmo. Es un experimento de verdad. Nos movemos con unas directrices muy laxas con las que cada uno de los 6 centros de Formación Profesional que este año empiezan la experiencia brega como puede. Supongo que como con todo lo que empieza, al cabo del tiempo uno depura las técnicas, los contenidos y las formas. Y se adapta. Pero la inercia al movimiento de una maquinaria formada por profesores y alumnos es grande, y cuesta coger el movimiento. La experiencia de estos dos primeros meses de curso es muy buena, pero la base de partida es baja, y costará subir los peldaños.

De momento, dado que durante este curso y supongo que el que viene me encontraré lejos de mi casa laboral, seguir empleando el portal FPSanRoque como alojamiento de contenidos para módulos profesionales alejados de la automatización y sistemas electrotécnicos se me antoja poco menos que inadecuado. De todas las alternativas que he barajado, la más adecuada por razones de funcionamiento de centro / departamento es seguir empleando esta página como referencia personal y reservar un portal (en este caso elaborado de forma muy simple con Joomla 2.5) para el alojamiento de contenidos para los alumnos. El alojamiento de contenidos no implica necesariamente la centralización de los mismos, pero sí la construcción de un índice de referencia para ellos. El espacio de almacenamiento en servidor es escaso, por lo que muchos de ellos los distribuiré entre mis en exceso explotados Dropbox, 4Shared y por supuesto, Evernote, al que reservo un post especial.

Hemos creado por último un Blog especial para el grupo Bilingüe del CFGS de Sistemas Electrotécnicos y Automatizados que trataremos de emplear colaborativamente como blog de aula, con el tratamiento especial que requiere la característica particular del ciclo formativo. Veremos qué tal resulta.

May
12

Videotutorial de CADe_SIMU

Aunque con un poco de retraso para mis alumnos (o con un poco de adelanto para los del curso que viene, depende de cómo se mire) hace poco elaboré un pequeño videotutorial del software CADe_SIMU que muchos conoceréis. Es un programa muy sencillo, con opciones muy limitadas debido a su estructura (imposible compararlo con cosas como EPLAN Electric P8) pero muy bien construido y estupendo para iniciarse en el aprendizaje de los automatismos cableados.

Sin más, ahí va el videotutorial.

Abr
17

Entrevista en infoPLC

En la web infoPLC publican esta entrevista que muy amablemente me solicitaron y tuve el gusto de mandarles. Aprovecho para recomendaros, si no conocéis la página, la visita obligada para todo profesional de la automatización, debido a la enorme cantidad de material de formación, artículos de últimas tendencias en el sector técnico y fantástico foro donde casi cualquier duda que pueda surgir a nivel profesional puede encontrar solución.

Jul
20

Absurdeces e ignorancias administrativas (y 2)

Nunca me ha gustado Saramago. Como lector no excesivamente cultivado, su prosa se me ha hecho siempre tediosa y densa. A pensar de resultarme llamativos los trasfondos, o la interpretación personal de las situaciones, reconozco haber comenzado Ensayo sobre la Ceguera, pero no haber sido capaz de pasar más allá de la mitad del libro. No sé por tanto hasta qué punto mi moraleja propia de la historia es la que Saramago pretendía. Ni siquiera sé si pretendía alguna, o simplemente que cada uno se construyera la suya propia. Tampoco la adaptación de Fernando Meirelles me hizo cambiar mis conclusiones.

Es curioso cómo cuando nadie puede o quiere ver, y como cuando aquellos que sí lo hacen eluden su responsabilidad como guías, la oscuridad todo lo anega. En situaciones especiales, los errores cometidos una vez son traspiés de los que tomar oportuna nota para situaciones posteriores similares. Los cometidos por segunda y consecutivas veces se llaman ignorancia, ineptitud y estupidez.

Hace un año por estas fechas, en Sistemas de Regulación y Control Automáticos, y por extensión en el Departamento de Electricidad & Electrónica de nuestro IES Santiago Apóstol la sufríamos con la marcha de David Pecellín. Ya expuse las razones de la estupidez, y no tiene mucho sentido volverlas a repetir siendo las mismas. La única razón de volver de nuevo al mismo tema es la denigración del esfuerzo por parte de una Dirección General de Formación Profesional  y de Personal Docente que, teniendo capacidad para ver la luz, prefiere seguir ciega, mientras dobla la rodilla en señal de reverencia a la mano que le da las míseras migajas para alimentarse. Cuando a una mesa le quitas una pata, independientemente del grosor de la misma y la importancia del soporte, se tambaleará, pero si le quitas dos, en poco tiempo se vendrá abajo.

Las reglas generales no son válidas para las situaciones particulares. Como consecuencia de la regla general, tristemente, este blog tiene que desaparecer. Como con Roy Batty, todos esos momentos de trabajo, investigación, actualización de información y materiales en una evolución vertiginosa, se perderán en el tiempo. Es hora de morir.

No será, por suerte, una muerte definitiva, sino más bien una transmigración. Elec2 será a partir de ahora el sustento del blog, en una remodelación que, a lo largo del verano de calor y moscas, que diría Cela, iré llevando a cabo, pero que previsiblemente cambiará totalmente de perfil, tristemente alejado de la automatización industrial a la que he intentado enfocarlo en estos últimos dos años.

A todos los que durante estos últimos años habéis pasado horas de vuestro tiempo ayudándome, a los que de una u otra forma desde que llegué hasta ahora habéis contribuido a que mi estancia durante estos años aquí haya hecho que, pese a tener la posibilidad de acercarme a casa, haya preferido la distancia a la comodidad, mi más sincero agradecimiento. No creo que pueda estar en otro sitio tan bien como he estado estos años con vosotros.

Hasta pronto.

May
26

Temporización discontinua & Ethernet Multicast

Llevo tiempo sin publicar nada en el blog. Disculpad si alguien, remota posibilidad, lo sigue habitualmente. Un último mes complicado. Para ir entrando un poco en materia, os dejo algunos apuntes que últimamente me han llamado la atención: algunos ajenos, y otros propios.

No hace mucho me surgió un problema parecido al que de forma detallada y fantásticamente explicado se refleja en el artículo que os enlazo del estupendo blog Notas de Automatización: el problema radica en realizar una temporización discontinua, de forma que el contaje temporal de dosificación de un líquido sea fijo independientemente de las interrupciones que éste pueda sufrir en su flujo. Naturalmente el problema se basa en almacenar las temporizaciones en memorias intermedias, pero no es evidente. Como podréis ver, se encuentra resuelto en notación KOP, estupendamente detallado, comentado y explicado. Sabéis no obstante los que me conocéis la manía que tengo de tender siempre al AWL… lo reservaremos como ejercicio para el curso que viene.

Por otro lado, os dejo un pequeño videotutorial de un problema que hemos planteado hoy en las clases de recuperación de Comunicaciones Industriales. La comunicación Multicast sobre Ethernet, empleando 3 S7-300 con CPU 314C-2DP y sus respectivos módulos CP 343-1 Lean. Para ello hemos creado 2 grupos Multicast, uno compuesto por las CPUs 1 y 2 y otro por las CPUs 2 y 3. Recordad que los enlaces deben ser siempre enlaces UDP de tipo Multicast, y por supuesto el identificador IP de cada grupo debe ser diferente, así como el puerto de comunicación. Sin más, os dejo el video. Para que esta vez no se eternice el tiempo entre posts, pronto tendré otro preparado para hornear. Posiblemente no de videotutoriales ni material, pero igualmente interesante para conocer la triste realidad de nuestra familia profesional.

 

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Spain
This work by José María Delgado is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Spain.