• No se han encontrado resultados

Diseño de un Soft Plc Basado en un Computador de Placa Reducida (SBC) Raspberry

N/A
N/A
Protected

Academic year: 2020

Share "Diseño de un Soft Plc Basado en un Computador de Placa Reducida (SBC) Raspberry"

Copied!
83
0
0

Texto completo

(1)

DISEÑO DE UN SOFT-PLC BASADO EN UN COMPUTADOR

DE PLACA REDUCIDA (SBC) RASPBERRY

DAVID FELIPE GARCÍA SEGURA

MIGUEL ANGEL OLIVA VALLEJOS

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA

INGENIERÍA EN CONTROL BOGOTÁ D.C.

(2)

DISEÑO DE UN SOFT-PLC BASADO EN UN COMPUTADOR DE PLACA REDUCIDA (SBC) RASPBERRY

DAVID FELIPE GARCÍA SEGURA MIGUEL ANGEL OLIVA VALLEJOS

Trabajo de grado para optar al título profesional de: Ingeniero en Control

Director Ing. EDUARDO ALBERTO DELGADILLO GÓMEZ Codirector Ing. ANDRÉS ESCOBAR DÍAZ

MONOGRAFÍA DE GRADO

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA

INGENIERÍA EN CONTROL BOGOTÁ D.C.

(3)

A Dios por las bendiciones que ha puesto en mi caminar.

A mis padres por infundir mis principios éticos y morales, para no desfallecer y siempre agregar los intentos necesarios para alcanzar mis metas.

A cada una de esas personas que me inculcaron el valor del aprendizaje, el estar siempre con actitud positiva ante cualquier situación.

A mi amigo y hermano Cristian Ardila que por situaciones ajenas no contamos con su compañía, se me vienen a la mente los momentos en los que sonábamos ser ingenieros y cuando decías “no me importa el tiempo que me demore estudiando en la universidad, mi deseo es ser ingeniero en control”, la vida nos arrebató tu presencia y me siento orgulloso de haber podido

llegar a ese logro que algún día los dos soñamos y aunque el tiempo se encarga de sanar este tipo

de heridas, siempre te tendré en mis pensamientos, donde estés mi hermano dedico cada uno de mis logros en tu memoria.

(4)

A mi linda madre Lucia Inés Vallejos, persona incondicional que día a día me ha llenado de amor y quien me ha acompañado en mi proyecto de vida y con sus tan incomparables consejos ha sabido guiar mis pasos.

A mis hermanos Nelson Fernando Vallejos y Jenny Alexandra Vallejos por ser mis mejores amigos y por estar siempre cuando los necesito.

A la familia Vallejos Sánchez por abrirme las puertas de su hogar, por sus consejos y tener su apoyo y cariño absoluto para poder cumplir mis metas.

A mi novia Angie Natalia Reyes, con quien he compartido momentos inolvidables y de quien he recibido el apoyo necesario para alcanzar los objetivos propuestos.

A mis compañeros de academia de los que he aprendido mucho a nivel cultura, personal y profesional.

(5)

Los autores expresan sus agradecimientos a:

A los profesores Eduardo Alberto Delgadillo y Andrés Escobar Díaz por apoyarnos con

con su conocimiento y ser una guía invaluable en la ejecución de este proyecto.

A INSA INGENIERIA S.A.S por abrir sus puertas de manera desinteresada, por

permitirnos obtener información de primera mano y destinar tiempo y conocimiento a nuestro proyecto, principalmente a l profesional que estuvo involucrado c o m o fue, el Ingeniero Juan

Carlos Casas (Gerente de Proyectos e ingeniería).

(6)

Esta investigación presenta el diseño de un soft-plc basado en un computador de placa reducida (SBC) raspberry. En su desarrollo se describe el proyecto con el cumplimiento de las

características y cualidades de hardware y software de un dispositivo PLC y como se convierte en una plataforma totalmente operativa en un ambiente académico e industrial, donde se utiliza un firmware suscrito al entorno de programación CODESYS de la empresa de software alemán

3S-Smart, junto a una placa de periféricos basada en PSoC 5LP.

Como resultado al estudio de implementación se permitió consolidar un diseño con la

normatividad en aislamiento de tierras, entre otras normas o estándares estudiados e implementados en el diseño final que contiene las siguientes especificaciones: cuatro entradas y salidas análogas estándar industrial 4-20Ma, ocho I/O digitales, driver para comunicación ModBus

(7)

NOTA DE ACEPTACIÓN ... ¡Error! Marcador no definido.

Dedicatoria ... iii

Agradecimientos ... v

Resumen ... vi

Tabla de Contenidos ... vii

Lista de figuras ... ix

Lista de tablas ... 1

Antecedentes y Justificación ... 2

Problema ... 3

Objetivos ... 4

General. ... 4

Específicos. ... 4

Marco teórico conceptual ... 5

Raspberry ... 5

¿Qué es Raspberry Pi? ... 5

Historia de Raspberry Pi ... 6

Placas Oficiales ... 7

PSoC ... 12

Características de PSoC ... 13

Núcleos del PSoC. ... 13

Bloques digitales ... 14

Bloques análogos ... 14

Comparación de tarjetas PSoC... 16

Arquitectura de PSoC 5LP. ... 17

Codesys ... 18

IEC 61131-3 ... 19

Versión DEMO ... 19

Simulador ... 20

HMI ... 20

Motion Control... 20

Evolución ... 20

CODESYS Control para Raspberry Pi SL ... 21

Comunicación SPI ... 23

Descripción del protocolo SPI ... 24

Bus SPI... 25

Transferencia de datos ... 26

Polaridad del reloj ... 27

Controlador Lógico Programable (PLC) ... 28

¿Qué son los controladores Lógicos Programables? ... 28

Descripción de funcionamiento de un PLC ... 30

Campos de aplicaciones ... 32

Nuevas tendencias ... 33

(8)

Estructura de los mensajes en el modo rtu ... 34

Dirección ... 34

Código de la Función ... 35

Campo de Datos ... 35

CRC... 35

Metodología ... 37

Desarrollo de la propuesta ... 38

Especificaciones técnicas ... 38

Hardware ... 39

Alimentación de voltaje ... 39

Conexión para comunicación SPI entre raspberry y PSoC ... 41

Entradas digitales lógicas ... 43

Salidas digitales lógicas ... 44

Salidas análogas 4-20Ma ... 48

Entradas análogas 4-20Ma ... 49

Comunicación ModBus RTU ... 49

Software ... 50

Programación Raspberry pi 3... 50

Programación PSoC 5 LP ... 60

Diseño de circuito impreso ... 61

Conclusiones ... 63

Lista de referencias ... 64

Anexos ... 66

Anexo 1: FUNCTION_BLOCK SPI_16_RW ... 66

Anexo 2: Paquetes de función... 67

Anexo 3: Llamada de función definición POU al PLC ... 70

Anexo 4: Main program ... 71

(9)

Figura 1. Raspberry Pi A ... 7

Figura 2. Raspberry Pi A+ ... 8

Figura 3. Raspberry Pi B ... 9

Figura 4. Raspberry Pi B+ ... 9

Figura 5. Raspberry Pi 2 B ... 10

Figura 6. Raspberry Pi Zero ... 11

Figura 7. Raspberry Pi 3 B ... 12

Figura 8. Esquema general de PSoC 5LP ... 17

Figura 9. Diagrama de bloques del procesador Cortex-M3 utilizado en el PSoC 5LP ... 18

Figura 10. Transferencia de datos protocolo SPI ... 23

Figura 11. Conexión del bus SPI ... 24

Figura 12. Conexión de múltiples esclavos independientes ... 26

Figura 13. conexión múltiple esclavos en cascada ... 26

Figura 14. Transferencia de datos del protocolo SPI. ... 27

Figura 15. Estructura de los mensajes... 34

Figura 16. Consumo de potencia ... 40

Figura 17. Configuración LM2596 24VDC a 5.1VDC ... 41

Figura 18. Conexión Raspberry y PSoC ... 41

Figura 19. Conexión SPI en raspberry PI ... 42

Figura 20. Conexión SPI en PSoC 5 LP ... 42

Figura 21. Circuito integrado PL2502L internamente ... 43

Figura 22. Configuración PL2502L como chip lógico ... 44

Figura 23. Diagrama de contacto Relé SONGLE ... 45

Figura 24. Diagrama Lógico ULN2803A ... 46

Figura 25. Diagrama Esquemático ULN2803A configuración Darlington ... 46

Figura 26. Diagrama MOSFET FDS4953 ... 47

Figura 27. Driver complementario salida transistorizada ... 47

Figura 28. Configuración HCNR200 como trasmisor ... 48

Figura 29. Configuración HCNR200 como receptor ... 49

Figura 30. Circuito driver ModBus RTU ... 50

Figura 31. Ajuste memoria SDFormatter ... 51

Figura 32. página principal raspberry ... 52

Figura 33. Consulta administración de paquetes ... 53

Figura 34. Complementos de Codesys... 53

Figura 35. Opciones de inicio en nuevo proyecto... 54

Figura 36. Opciones de lenguaje de programación ... 54

Figura 37. Selección de dispositivo SPI ... 55

Figura 38. Configuración SPI como master ... 55

Figura 39. Agregar POU a Codesys ... 56

Figura 40. Nombrar función SPI_16_RW ... 56

Figura 41. Definición automática POU para SPI_16_RW ... 57

Figura 42. Definición modificada POU FUNCTION_BLOCK SPI_16_RW ... 57

Figura 43. Macro del POU FUNCTION_BLOCK SPI_16_RW ... 58

(10)
(11)

Lista de tablas

(12)

Antecedentes y Justificación

En el ambiente académico los procesos teórico prácticos se vuelven indispensables al momento de adquirir competencias del hacer y el saber hacer en contexto, permitiendo así el análisis y verificación de los conocimientos adquiridos, en especial cuando se lleva

a cabo la aplicabilidad en los Sistemas de Control ya que estos se fundamentan en software de simulación mostrando resultados ideales, y no permiten ver de manera real el

comportamiento de los diseños; siendo esta aplicación poco eficiente, creando vacíos prominentes al momento de ponerlos en práctica en ejercicios reales. Dadas estas circunstancias la educación teórica impartida en las aulas, implementa la experimentación

en plantas a escala, las cuales recrean ambientes industriales reales.

El proyecto curricular de Ingeniería en control por ciclos propedéuticos de la

Universidad Distrital Francisco José de Caldas se basa en un plan académico teórico-práctico en base a esto la propuesta de desarrollar un Diseño de un Soft-Plc basado en un computador de placa reducida Raspberry busca entregar a los estudiantes de la Facultad

(13)

Problema

En la facultad Tecnológica de la universidad Distrital Francisco José de Caldas se carece de plataformas PLC de entrenamiento robustas, que facilite la profundización de aprendizaje en los sistemas de control, debido al alto coste y limitaciones que tienen los

fabricantes, en cuanto a nuevas tecnologías y software que permitan hacer un acercamiento real a los problemas de automatización encontrados en la industria, debido a esto se

(14)

Objetivos

General.

 Diseño de un Soft-Plc basado en un computador de placa reducida (SBC) Raspberry

Específicos.

 Diseñar una metodología de comunicación entre los distintos sistemas Raspberry y

PSoC.

 Implementar el circuito definitivo que integra todos los sistemas Raspberry, PSoC

y periféricos.

 Establecer un test del protocolo de comunicación ModBus RTU y TCP/IP operado

desde Codesys.

(15)

Marco teórico conceptual

Raspberry

Se realizará una descripción a profundidad sobre la placa de desarrollo Raspberry Pi, partiendo del análisis de cada una de sus partes en hardware, hasta el análisis que nos puede ofrecer en cuestión de software. También se encontrará comparación con otras

placas desarrollo, para obtener las ventajas y desventajas de otras placas de desarrollo con respecto a la Raspberry Pi.

¿Qué es Raspberry Pi?

Según sus fabricantes la Raspberry Pi es un ordenador de bajo costo del tamaño de una tarjeta de crédito, que se conecta a un monitor de ordenador o un televisor, y utiliza un

teclado y un ratón estándar. Es un dispositivo pequeño que les permite a personas de todas las edades explorar la computación, y aprender a programar en lenguajes como lo son

Python y Scratch. Es capaz de hacer todo lo que esperaría hacer con una computadora de escritorio, desde navegar por Internet y reproducción de vídeo de alta definición, hacer

hojas de cálculo, usar procesadores de texto, y hasta divertirse con videojuegos. (Dennis 2013)

Es más, La Raspberry Pi tiene la capacidad de interactuar con el mundo exterior, y

se ha utilizado en una amplia gama de fabricación de proyectos digitales, desde las máquinas de música y detectores de padres hasta estaciones meteorológicas.(Palma et al.

(16)

Historia de Raspberry Pi

La “Raspi”, Es una SBC (Single-Board Computer). Es decir, un ordenador de placa

única. En el caso de la Raspberry Pi, existe un repertorio amplio de sistemas operativos basados en Linux como: Archlinux ARM, OpenELEC, Pidora, Raspbmc, RISC OS,

Raspbian y otros (openSuSE, Slackware ARM, FreeBSD, Plan 9, OpenWrt, Kali Linux, Instant Web Kiosk, Ark OS y Minepeon).

La SBC de la Raspberry Pi Fundación es la auténtica y oficial, aunque hayan salido competidores. Esta placa surgió como estímulo para las escuelas y el acercamiento de las ciencias de la computación a más personas. El primer germen apareció en 2006, aunque

era una placa basada en microcontrolador Atmel ATmega 644 similar a los de Arduino. Al ser abierta, tanto sus esquemas y los datos de diseño están disponibles para su descarga, y

es aquí donde radica su mayor éxito, junto con su precio asequible.(Sandeep et al. 2015) Pero no sería hasta 2009 cuando se creó la Fundación Raspberry Pi en Caldecote, South Cambridgeshire (Reino Unido) y sus fundadores son: Eben Upton, David Braden,

Jack Lang, Pete Lomas, Alan Mycroft y Robert Mullins. (Palma et al. 2017)

El cofundador Upton, director técnico del departamento sobre arquitectura ASIC

de Broadcom, quería llevar a los niños y entusiastas la misma filosofía del ordenador Acorn BBC Micro de 1981. Y su proyecto sería apadrinado por la Universidad de Cambridge y la compañía Broadcom (creadora de los SoCs integrados en la placa). (Rostyslav,

Tkatchenko, and Golovatsyy 2015)

Dos años más tarde de aparecer la fundación, se fabricarían las primeras placas

(17)

manufactureras no daban abasto para sacar al mercado tantos dispositivos como demanda.

El primer lote se fabricaría en Taiwán y China, unas 10.000, para luego trasladar la producción al Reino Unido. Se fabrican miles al día gracias a una fábrica de Sony en Pencoed, Gales. (García and López 2014)

Placas Oficiales

Raspberry Pi Modelo A:

Apareció con un precio de unos 25 dólares de coste en fábrica, con un Soc. Broadcom BCM2835 que integra una CPU, GPU, DSP, RAM y controlador USB. Este

chip es común a todos los modelos, tanto B como B+. La CPU es una ARM1176JZF-S de la familia ARM11 y con un set de instrucciones ARMv6. Trabaja a 700 Mhz, pero no está

sola dentro del Soc., también incluye una GPU Videocore IV a 250Mhz encargada de los gráficos y el inicio. Esta GPU soporta OpenGL ES como API gráfica. Además, se

complementa con una memoria SDRAM de 256MB que comparten CPU y GPU. Por otro lado, dispone de una conexión HDMI para una pantalla externa y un Jack RCA, Jack para audio, ranura para SD y MMC, pines GPIO, conexión de alimentación por micro USB de

5v o por los cabezales GPIO. El peso y dimensiones son parecidos en las tres placas oficiales.

(18)

Raspberry Pi A+:

Sus características son similares, excepto que su tamaño es más pequeño (solo mide 65 x 56 mm) y que su memoria RAM se ha reducido a 256 MB. También ha cambiado su

conectividad, que ahora reincide de su conexión Ethernet. Igual que ocurría con la Raspberry Pi A y Raspberry Pi B iniciales, la A+ es más barata. Al igual que ocurría con

la B+, esta placa es más eficiente energéticamente que las anteriores.

Figura 2. Raspberry Pi A+

Raspberry Pi Modelo B

Con un precio de unos 35 dólares de coste en fábrica, las únicas diferencias con el modelo A son los 512MB SDRAM incluidos en el Soc., dos puertos USB y la integración

de un adaptador Ethernet para conexión a red. El consumo, al tener más elementos sube de los 300 mA (1,5w) hasta los 700 mA (3,5w). El resto de características son comunes. Es el

(19)

Figura 3. Raspberry Pi B

Raspberry Pi Modelo B+

Es la actualización del modelo B, cuyas ventajas son la integración de más pines

GPIO (pasando de los 26 de los modelos anteriores a los 40, respetando el esquema de patillaje anterior), un consumo inferior (600mA, 3w), inclusión de 4 puertos USB on-board y una mejora en la fuente de alimentación para reducir el ruido y mejorar el sistema de

sonido. Por el resto de características es idéntica a la B. Lo más práctico es lo de los puertos USB, que se echan mucho en falta en los modelos anteriores, aunque puede ser solucionado

con un hub. Todo esto manteniendo el mismo precio del Modelo B, debido a que la tecnología ha madurado y permite su manufactura a un menor coste.

(20)

Raspberry Pi 2 Modelo B

Por sorpresa y muy probablemente motivado por la competencia que le estaba saliendo últimamente, La Fundación Raspberry Pi ha sacado ya la versión 2 Modelo B de

su placa. Una actualización más que necesaria, que no la convierte en la mejor del mercado, pero que la mete de nuevo en la pelea ya que, si unimos esta mejora con la comunidad que

arrastra y la buena optimización de su software, tenemos la combinación perfecta. Las dimensiones son las mismas, pero su construcción ha cambiado casi radicalmente, ahora con 1Gb de RAM, también usa un Quad-Core a 900MHz que a los que estamos

acostumbrados a ella, nos va a resultar muy extraño tanta agilidad. Por otro lado, al cambiar su arquitectura, vamos a poder disfrutar de otros sistemas operativos más complejos, como

el nuevo Windows 10, que tendrá una versión para desarrolladores gratuita en Raspberry Pi 2.

Figura 5. Raspberry Pi 2 B

Raspberry Pi Zero

Es una SBC oficial por tan solo 5$ de coste, es decir, la SBC más barata por el

(21)

millones a los usuarios existentes. La placa se fabricará en Gales y vendrá equipada con un

Soc. Broadcom BCM2835, que integra un procesador ARM11 a 1Ghz que es un 40% más rápido que la Raspberry Pi 1. Segura manteniendo los 512MB de RAM DDR2, ranura microsd, conexión mini HDMI (con capacidad para vídeo 1080p60), microUSB, 40 pines

GPIO (que respetarán el orden seguido en la A+, B+ y 2B). Todo en un empaquetado con un factor de 65x30x5mm, sin duda la más pequeña. Pero a pesar de su tamaño, seguirá

permitiendo ejecutar los diestros como Raspbian y disfrutar de todo el software del que gozamos en el resto de modelos.

Figura 6. Raspberry Pi Zero

Raspberry Pi 3 Modelo B

Es el nuevo modelo de Raspberry Pi lanzado en enero de 2016, su precio se ha mantenido igual al de otros Modelo B anteriores, pero se ha implementado un hardware

más potente. Ahora va equipada con un Soc. Broadcom BCM 2837 que integra una CPU que trabaja a 1.2Ghz de 64-bit de cuatro núcleos. También se ha incluido una GPU Broadcom Videocore IV a 400 Mhz capaz de llegar a los 28.8GFLOPS de potencia de

(22)

(12.5w). Todos los cambios se traducen en mayor funcionalidad y el doble de potente que

su predecesora, la Raspberry Pi 2. (Gonzalez 2015)

Figura 7. Raspberry Pi 3 B

PSoC

Se presentará una descripción de PSoC y su comparación con sus homólogos, se

pretende dar a conocer la facilidad que presenta PSoC cuando se incursiona en las aplicaciones industriales puesto que dado su precio son muy utilizados en transmisores,

redes de sensores entre otros.

Los PSoC son microprocesadores que en la última década han tomado gran

esfuerzo debido a sus grandes ventajas frente a los tradicionales microprocesadores, estos ofrecen una arquitectura que agilizan el análisis de información, estos procesan a una gran velocidad pueden llegar hasta 74 MHz, estas plataforma de diseño por sus prestaciones se

han ido afianzando en aplicaciones como redes de sensores y transmisores inteligentes, puesto que estos dispositivos son de bajo costo comparado con las funcionalidades que

tienen, puesto que estos tiene bloques digitales como temporizadores, contadores, protocolos de comunicación PWM, Además de eso cuentan con bloques analógicos como ADC, DAC, entre otros con los cuales se pueden ayudar al usuario a reducir circuitos y

(23)

Características de PSoC

El PSoC es un dispositivo que utiliza arquitectura Harvard que hace referencia a la arquitectura de computadora la cual está dividida la memoria de instrucciones y datos. Estos dispositivos están diseñados para reemplazar los microcontroladores básicos. El

PSoC cuenta con timers, counter, filtros, PGA, comunicación por UART, I2C, ADC, DAC, los cuales varían de acuerdo a su referencia. Estos cuentan con pines como: Digitales I/O,

entradas análogas, salidas análogas, entradas analógicas directas , estos se pueden utilizar directamente como entradas análogas para los bloques de capacitancias conmutadas(SC), entrada de referencia, estos pines se pueden utilizar como suministro para un voltaje de

referencia AGND externa y para una tensión de referencia VREF, estas referencias externas proporcionan una mayor flexibilidad para los diseños analógicos, también cuenta

con comunicación I2C, entrada externa de reloj (EXT CLK), entre otras muchas más herramientas.

Núcleos del PSoC.

Un PSoC ofrece subsistemas de la CPU sofisticados con SRAM, EEPROM y memoria flash, así como una gran variedad de núcleos y de recursos del sistema, donde

(24)

Bloques digitales

Un PSoC cuenta con hasta 18 bloques digitales dependiendo del modelo, los cuales nueve de tipos básicos y los otros nueve son de comunicaciones.(Cypress Semiconductor Corporation 2017) Los módulos de estos bloques son los siguientes:

● PWMs with dead band (8- and 16-bit) ● Counters (8- to 32-bit)

● Timers (8- to 32-bit)

● UART 8-bit with selectable parity (up to 2)

● SPI slave and master (up to 2) ● I2C Master Y slave

● CRC generator (8- to 32-bit)

● IrDA (up to 2)

● Pseudo Random source (PRS) generators (8- to 32-bit) USB, Wireless USB

Bloques análogos

En los bloques analógicos, se pueden integrar hasta doce bloques, los cuales se encuentran divididos en tres grupos de cuatro bloques: de tiempo continuo, de cambio de

capacitor en tiempo continuo y de cambio de capacitor en tiempo discreto, estos módulos están compuestos por:

● Amplificadores:

○ Amplificadores de ganancia programable (PGA). ○ Amplificadores de instrumentación

(25)

○ Comparador programable

○ Marcador de tonos DTMF ● Filtros

○ Filtro pasa bajos de 2 polos ○ Pasa bandas de 2 polos ● Conversores D/A

○ Conversor D/A de 6,8 y 9 bits ○ Multiplicadores de 6 y 8 bits

● Conversor análogo digital

○ 6-bits Aproximaciones sucesivas (SAR) ○ 8-bits Delta sigma

○ 11-bits Delta sigma ○ 12-bits incremental

○ 7-13 bits Variable incremental

(26)

Comparación de tarjetas PSoC

Tabla 1. Comparación característica PSoC parte 1

PSoC CPU CLOCK MEMORIA FLASH

PSoC 1 8 bit Hasta 24 MHz, 4 MIPS 8 KB-32 KB

PSoC 3 8-bit 8051 Hasta 67 MHz, 33 MIPS 8KB-64KB

PSoC 4 32-bit Hasta 48 MHz, 32KB con lectura acelerada

PSoC LP 5 32-bit Hasta 74 MHz 256 kB

Tabla 2. Comparación característica PSoC parte 2

PSoC VOLTAJE DE

OPERACIÓN

ADC DAC MÓDULOS

PSoC 1 0.5 a

5.5 V

6 a 14 bits 2 DAC de 6-8 bits I2C, SPI, UART,

PSoC 3 1.71 a

5.5 V

8 a 20 bits 4 DAC de 8 bits FS USB2.0, I2C,

SPI, UART, CAN,

LIN,I2S

PSoC 4 1.71 a

5.5 V

12 bits (SAR) 2 DAC Propósitos

generales

I2C, SPI, UART,

PSoC LP 5 1.71 a

5.5 V

8 a 20 bits 4 DAC de 8 bits 20 a 24 bloques que

pueden tener 8-, 16-, 24-,

and 32-bit timers,

counters, and PWMs, I2C,

UART, SPI, I2S, LIN 2.0

(27)

85+Arquitectura de PSoC 5LP.

Figura 8. Esquema general de PSoC 5LP

Los subsistemas que componen el PSoC 5LP son los siguientes: 1. Unidad central

de procesamiento (CPU). 2. Memoria. 3. Recursos del sistema. 4. Sistema digital. 5. Sistema analógico. Figura 38. Esquema general del PSoC 5LP viene dotado de un procesador ARM Cortex-M3, el cual tiene unas propiedades diseñadas específicamente

para microcontroladores que lo hacen muy eficiente para las diversas exigencias en las que se vea comprometido. La familia de procesadores ARM Cortex establece una arquitectura

estándar dirigida a un amplio espectro de tecnologías. Esta familia se basa en la arquitectura ARMv7 que tiene tres distintos perfiles dirigidos a aplicaciones específicas:

(28)

Perfil R: diseñado para sistemas embebidos de alta gama, en las que es necesario el

rendimiento en tiempo real.

Perfil M: diseñado para los sistemas tipo microcontrolador profundamente embebidos.

Este último perfil es el más relevante, por ser el que tiene incorporado el PSoC 5LP. El ARM Cortex-M3 es un procesador de 32 bits, tanto la ruta de acceso como el banco de

registros y la interfaz de memoria son de 32 bits, es un procesador con arquitectura Harvard, lo cual indica que los buses de instrucciones y datos están separados y aumentan el rendimiento del procesador. Las interfaces de los buses, aunque están separadas

comparten el mismo espacio de memoria que es de 4 GB. En la figura 39 se observa el esquema general del procesador.

Figura 9. Diagrama de bloques del procesador Cortex-M3 utilizado en el PSoC 5LP

Codesys

Codesys es como un sueño hecho realidad, una misma plataforma con un lenguaje

(29)

Esto ha permitido a muchos fabricantes ofrecer soluciones sin tener que partir de cero en

el desarrollo de estas. Empresas que llevan muchos años en el mundo del PLC como Siemens, Rockwell o Omron por ahora son ajenas a Codesys y siguen desarrollando y utilizando sus plataformas. (3S - Smart Software Solutions GmbH 2010)

Actualmente existe una gran oferta de soluciones de automatización al margen de “los tradicionales” que utilizando Codesys. Es un software muy utilizado, son decenas de

empresas del mundo de la Automatización Industrial que utilizan Codesys en sus equipos de automatización: Beckhoff, Festo, EATON, KEBA, IFM, LENZE, Schneider Electric, ABB, ESA, el software de programación de estas marcas está basado en Codesys, aunque

con ciertas personalizaciones.

Tener un conocimiento de su funcionamiento nos asegura poder prestar servicios a

diferentes máquinas y empresas que utilizan diferentes tecnologías.

IEC 61131-3

Codesys es un software que utiliza el estándar de programación de PLC IEC

61131-3 con los 5 lenguajes de programación lo que te asegura que tu programación cumple la norma. (John and Tiegelkamp 2010)

- Lenguaje escalera (LD - Ladder Diagram)

- Diagrama de bloque de funciones (FBD - Function Block Diagram) - Texto estructurado (ST - Structured Text)

- Lista de instrucciones (IL - Instruction List)

- Bloques de función secuenciales (SFC - Sequential Function Chart)

(30)

Codesys dispone una versión DEMO 100% operativa que te va a permitir aprender

a programar autómatas basados en el lenguaje IEC 61131-3 y poder simular los programas, una mejor forma de aprender a programar.

Simulador

El simulador integrado permite testear y simular los programas, tanto del PLC como de pantallas, la mejor forma de ir comprobando sus progresos en programación. CODESYS

Depictor permite insertar simulación 3D

HMI

Codesys dispone de editor HMI para programar interface gráficos para pantallas o

terminales de operador. Poder realizar el programa del autómata y su correspondiente interfaz gráfica en un mismo software. También soluciones para la visualización HMI en

web como CODESYS WebVisu.

Motion Control

Hoy en día un sistema de automatización no se concibe sin una solución Motion

Control, el control de servo ejes es un hecho que cada día se utiliza en más máquinas. Codesys dispone de las soluciones como SoftMotion y SoftMotion CNC para afrontar estos

sistemas Motion Control.

Evolución

Codesys es una plataforma que está en continua evolución ofreciendo soluciones

(31)

complementos como CODESYS OPC UA, CODESYS IEC 61850 Server, CODESYS

Control para Raspberry Pi SL, EPLAN Exchange.

CODESYS Control para Raspberry Pi SL

CODESYS Control para Raspberry Pi SL contiene una aplicación de control

CODESYS para todos los Raspberry Pi, incluyendo el módulo Compute, así como la capacidad de utilizar los módulos de extensión Raspberry PiFace Digital, Raspberry Pi

Camera Y varios dispositivos / rupturas con interfaz de comunicación SPI, I²C o 1 hilo. Este producto se puede instalar con el plug-in CODESYS Deploytool incluido a través del sistema de desarrollo CODESYS en una distribución Linux Raspbian. Después de cada

reinicio, el sistema de ejecución se iniciará automáticamente. Si no se puede encontrar una licencia completa válida, CODESYS Control se ejecuta durante dos horas sin limitaciones

funcionales antes de apagarse.

Este producto admite las siguientes funcionalidades:

 MODBUS-TCP Master / Slave

 MODBUS-RTU Maestro / Esclavo

 Ethernet / IP Escáner / Adaptador

 PROFINET Controlador / Dispositivo

 EtherCAT Master

 CANopen Maestro / Esclavo

 CAN / CANopen Maestro / Esclavo

(32)

Tabla 3. especificaciones CODESYS para Raspberry pi

Sistema de programación Sistema de desarrollo CODESYS V3.5.6.0 o posterior

Objetivo del Sistema -

Plataformas / dispositivos compatibles Frambuesa Pi

- Pi Modelo B / B +

- Pi2 Modelo B

- Pi3 Modelo B

- Todos los modelos

Requerimientos adicionales - El control CODESYS requiere una interfaz de red (LAN, WLAN), especialmente con el

módulo de cálculo de frambuesa Pi y la frambuesa Pi ZERO.

- Si el producto se utiliza para fines industriales, es responsabilidad del fabricante del

sistema garantizar el cumplimiento de las especificaciones necesarias.

Restricciones - La combinación de Frambuesa Pi y un CODESYS Runtime se destina principalmente a

la prueba y la enseñanza.

- El sistema runtime no tiene un comportamiento en tiempo real. Su fluctuación depende

de muchos factores, especialmente en aplicaciones Linux ejecutadas en paralelo, e idealmente es de aproximadamente 50 μs - con valores máximos de aproximadamente 400

μs.

Licencias - Activación en el Contenedor Soft CODESYS (parte de este paquete de software)

- Opcional: CODESYS Runtime Key

Si no hay una licencia válida, el sistema de ejecución funciona durante dos horas sin una

(33)

Accesorio requerido SD-tarjeta (mínimo 4GB)

Opcional: CODESYS Runtime Key

Sistema Operativo Raspbian

Comunicación SPI

Es un protocolo con un bus síncrono, lo que significa que utiliza líneas separadas

para datos y reloj, lo que dota a ambos dispositivos de perfecta sincronización.

El reloj le indica al dispositivo receptor el momento exacto en que puede tomar el bit de la línea de datos enviado por el transmisor. El pulso de reloj puede ser tanto de subida

(rising) como de bajada (fallin). Cuando el receptor recibe este pulso, inmediatamente toma el dato de la línea y lo almacena en un registro de corrimiento. Un dato importante a tener

en cuenta son los límites de velocidad del reloj del dispositivo receptor, ya que la frecuencia de la señal generada por el reloj del transmisor, puede ser más alta que la soportada por el receptor, causando problemas en la comunicación.(Perez 2008)

(34)

Una de las razones por las que el protocolo SPI es muy popular es porque el

hardware que lo compone es un simple registro de desplazamiento (shift register), el cual tiene un costo mucho más bajo que los chips USART/UART.

Descripción del protocolo SPI

La comunicación SPI, pronunciado spay o es-pi-ai (Serial Peripheral Interface por sus siglas en inglés) es uno de los protocolos seriales síncronos más versátiles y más

utilizados en el mundo de los microcontroladores, por su facilidad de implementación y su velocidad de comunicación en distancias cortas. Una gran infinidad de sensores, chips y módulos de hardware se comunican por medio de este protocolo, por lo que saber

dominarlo y programarlo a la perfección nos abre un mundo de posibilidades a la hora de crear proyectos y ampliar las capacidades de los mismos con periféricos y sensores que se

comuniquen por medio de este protocolo.

Este protocolo está basado en la arquitectura maestro-esclavo, en el que el dispositivo maestro tiene el control de bus, el cual pone los datos y genera la señal de reloj

que se enviarán al dispositivo esclavo en particular. Los datos son enviados serial mediante las 3 líneas que conforman al bus: MOSI (Master Output Slave Input), MISO (Master Input

Slave Output) y SCLK (Clock)(Perez 2008)

(35)

El comportamiento de estas señales depende de si el dispositivo está actuando como

maestro o como esclavo. En el dispositivo maestro, las señales MOSI y SCLK se comportan como salida y la señal MISO como entrada y son generadas y controladas por el mismo maestro. En el dispositivo esclavo, la señal MISO es configurada como salida y

las señales MOSI y SCLK como entrada, respondiendo con datos en el bus cuando se detecta la señal de reloj y los datos de entrada.

Bus SPI

Como se mencionó anteriormente, el protocolo SPI se comunica mediante un BUS, lo que permite conectar más de 1 dispositivo a este. Existen 2 maneras de conectar

múltiples dispositivos esclavos al bus, una de ellas es la configuración de esclavos independientes, en el cual se necesita de hardware adicional o salidas digitales dedicadas y

controladas por el dispositivo maestro para seleccionar el dispositivo esclavo conectado al bus.

La otra manera es la conexión en cascada o Daysi Chain, en la cual el maestro

genera una señal que habilita a todos los dispositivos a la vez y las salidas de datos de los esclavos (MISO) se conecta en cascada con la entrada de datos (MOSI) del siguiente

(36)

Figura 12. Conexión de múltiples esclavos independientes

Figura 13. conexión múltiple esclavos en cascada

Transferencia de datos

El intercambio de datos se hace bit por bit, el dispositivo maestro prepara el dato

(37)

que el dispositivo maestro envía el dato y el pulso de reloj, el dispositivo esclavo responde

con un dato en la señal MISO, que es el dato que el dispositivo esclavo tiene en su registro de salida.

Aunque el protocolo no especifica un numero de bits fijo para el tamaño del dato,

por lo regular se usan transferencias de 8 bits, pero el número de bits consecutivos que se pueden enviar puede ser arbitrario y queda definido por el hardware (en caso de que se

utilice la comunicación por este medio) o por el software (en caso de que se implemente el protocolo con el método de Bit Bang).

Figura 14. Transferencia de datos del protocolo SPI.

Polaridad del reloj

Ya vimos que los datos se trasmiten sobre el bus bit a bit con cada pulso de reloj, pero lo que nos falta saber es en qué momento se toman los datos y en qué momento se

actualiza el dato en el bus, para esto se utiliza algo llamado polaridad y la fase.

Básicamente la polaridad indica si la señal de reloj iniciará con flanco de bajada o

(38)

en flanco de bajada o, al contrario, se toma el dato en flaco de bajada y se actualiza en

flanco de subida.

Controlador Lógico Programable (PLC)

¿Qué son los controladores Lógicos Programables?

Los Controladores Lógicos Programables (PLC) continúan evolucionando a medida que las nuevas tecnologías se añaden a sus capacidades. El PLC se inició como un

reemplazo para los bancos de relevos. Poco a poco, las matemáticas y la manipulación de funciones lógicas se añadieron. Hoy en día son los cerebros de la inmensa mayoría de la automatización, procesos y máquinas especiales en la industria. Los PLCs incorporan ahora

más pequeños tamaños, más velocidad de las CPU y redes y tecnologías de comunicación diferentes. (Palma et al. 2017)

Se puede pensar en un PLC como un pequeño computador industrial que ha sido altamente especializado para prestar la máxima confianza y máximo rendimiento en un ambiente industrial. En su esencia, un PLC mira sensores digitales y analógicos y switch

(entradas), lee su programa de control, hace cálculos matemáticos y como resultado controla diferentes tipos de hardware (salidas) tales como válvulas, luces, relés,

servomotores, etc. en un marco de tiempo de milisegundos.

Mientras los PLCs son muy buenos con el control rápido de información, no comparten los datos y las señales con facilidad. Comúnmente los PLCs intercambian

información con paquetes de software en el nivel de planta como interfaces máquina operador (HMI) o Control de Supervisión y Adquisición de Datos (SCADA). Todo

(39)

programación, sistemas de contabilidad y análisis) tiene que ser recogido, convertido y

transmitido a través de un paquete SCADA. (Hongbin et al. 2010)

Típicamente en la mayoría de PLCs, las redes de comunicación son exclusivas de la marca y con velocidad limitada. Con la aceptación de Ethernet, las velocidades de

comunicación de la red han aumentado, pero todavía a veces usan se usan protocolos de propiedad de cada marca.

Las empresas de hoy, que piensan en el futuro, se encuentran provistas de modernos dispositivos electrónicos en sus máquinas y procesos de control. Hoy las fabricas automatizadas deben proporcionar en sus sistemas, alta confiabilidad, gran eficiencia y

flexibilidad. Una de las bases principales de tales fabricas es un dispositivo electrónico llamado Controlador Lógico Programable. Este dispositivo fue inicialmente introducido en

1970 y se ha sido refinando con nuevos componentes electrónicos, tales como Micro-procesadores de alta velocidad, agregándole funciones especiales para el control de proceso más complejos. Hoy los Controladores Programables son diseñados usando lo último en

diseño de Micro-procesadores y circuitería electrónica lo cual proporciona una mayor confiabilidad en su operación en aplicaciones industriales donde existen peligro debido al

medio ambiente, alta respetabilidad, altas temperaturas, ruido ambiente o eléctrico, suministro de potencia eléctrica no confiable, vibraciones mecánicas etc.

Este medio ambiente es el que el Control Lógico Programable se encuentra en su

elemento, ya que fue diseñado y concebido para su uso en el medio ambiente industrial. Los Controladores Lógicos Programables, PLC como ellos son comúnmente llamados,

(40)

temporizadores electrónicos, contadores y controles mecánicos como del tipo tambor. El

objetivo de este manual es mostrar el funcionamiento interno y de programación de este tipo de controladores, además de mostrar algunas de sus aplicaciones en la industria, también realizar una serie de prácticas para que el técnico de la industria pueda iniciarse

en este apasionante rema de la automatización.

Descripción de funcionamiento de un PLC

Los Controladores Lógicos Programables, (PLC s, Programable Logic Controller), nacieron esencialmente como tales, a finales de la década de los 60s y principios de los 70s. Las industrias que propiciaron este desarrollo fueron las automotrices. Ellas usaban

sistemas industriales basadas en reveladores, en sus sistemas de manufactura. Buscando reducir los costos de los sistemas de control por relevadores, la General Motor preparo en

1968 ciertas especificaciones detallando un "Controlador Lógico Programable", Estas especificaciones definían un sistema de control por relevadores que podían ser asociado no solamente a la industria automotriz, si no prácticamente a cualquier industria de

manufactura.(Palma et al. 2017)

Estas especificaciones interesaron a ciertas compañías tales como GE-Fanuc,

reliance Electric, MODICON, Digital Equipment Co., De tal forma que el resultado de su trabajo se convirtió en lo que hoy se conoce como Controlador Lógico Programable. Los PLCs surgen como equipos electrónicos sustitutos de los sistemas de control basados en

relevadores, que se hacían más complejos y esto arrojaba ciertas dificultades en cuanto a la instalación de los mismos, los altos costos de los equipos. Los altos costos de operación

(41)

Los primeros PLCs se usaron solamente como reemplazo de relevadores, es decir,

su capacidad se reducía exclusivamente al control On -Off (de dos posiciones) en máquinas y procesos industriales. De hecho, todavía se siguen usando en muchos casos como tales. La gran diferencia con los controles por relevador fue su facilidad de instalación, ocupan

menor espacio, costo reducido, y proporcionan autodiagnósticos sencillos.

En su creación, los requerimientos sobre los cuales se han desarrollado los PLC s,

los enumero la General Motors de la manera siguiente

El dispositivo de control deberá ser fácil y rápidamente programable por el usuario con un mínimo de interrupción.

Todos los componentes del sistema deben ser capaces de operar en plantas industriales sin un especial equipo de soporte, de hardware o de ambiente.

El sistema debe ser de fácil mantenimiento y reparación. Deberá diseñarse con indicadores de status y modularidad para facilitar las reparaciones y la búsqueda de errores.

El sistema deberá ocupar menor espacio que los sistemas de relevador y deberá consumir

menor potencia que los sistemas de control por relevadores.

1. El PLC deberá ser capaz de comunicarse con un sistema central de datos para

propósitos de monitoreo.

2. Deberá ser capaz de trabajar con 120 volts de corriente alterna y con elementos estándar de control, con interruptores de presión interruptores de limite, etc.

(42)

4. Deberá ser expandible desde su mínima configuración hasta su máxima, con una

mínima de alteración y de tiempo perdido.

5. Deberá ser competitivo en costo de venta e instalación, respecto de los sistemas en base a relevadores.

6. La estructura de memoria empleada deberá ser expandible a un mínimo de 4000 palabras o elementos de memoria.

Campos de aplicaciones

EL PLC por sus especiales características de diseño tiene un campo de aplicación muy extenso. La constante evolución del Hardware y Software amplia continuamente este

campo para poder satisfacer las necesidades que se detectan en el aspecto de sus posibilidades reales.

Su utilización se da fundamentalmente en aquellas instalaciones en donde es necesario realizar procesos de maniobra, control, señalización, etc.... por tanto, su aplicación abarca desde procesos de fabricación industrial de cualquier tipo al de

transformaciones industriales, control de instalaciones, etc.

Sus reducidas dimensiones, las extremas facilidades de su montaje, la posibilidad

de almacenar los programas para su posterior y rápida utilización, la modificación o alteración de los mismos, etc., hace que su eficiencia se aprecie fundamentalmente en procesos en que se reduce necesidades tales como: Espacio reducido. Procesos de

producción periódicamente cambiantes Maquinaria de procesos variables. Instalación de procesos complejos y amplios. Chequeo de programación centralizada de las partes del

(43)

Nuevas tendencias

En general, los PLC son cada vez más rápidos y más pequeños y como resultado de esto, están ganando capacidades que solían ser dominio exclusivo de la computadora personal (PC) y de las estaciones de trabajo. Esto se traduce en manejo datos críticos de

manera rápida que se comparte entre el PLC en el piso de la fábrica y el nivel de negocios de la empresa. Ya no se trata de los PLCs antiguos que únicamente controlaban salidas a

partir de una lógica y de unas entradas.

Algunas de las características que un PLC puede aportar a sus proyectos de automatización son los servidores web, servidores FTP, envío de e-mail y Bases de Datos

Relacionales Internas.

Protocolo ModBus-rtu

El protocolo ModBus fue desarrollado por la empresa Modicon, parte de la Schneider Automation. En el protocolo están definidos el formato de los mensajes utilizado por los elementos que hacen parte de la red ModBus, los servicios (o funciones) que pueden

ser ofrecidos vía red, y también cómo estos elementos intercambian datos en la red.(Palma et al. 2017)

Modos de transmisión

En la especificación del protocolo están definidos dos modos de transmisión: ASCII y RTU. Los modos definen la forma como son transmitidos los bytes del mensaje. No es

posible utilizar los dos modos de transmisión en la misma red. En el modo RTU, cada palabra transmitida posee 1 start bit, ocho bits de datos, 2 stop bits, sin paridad. De este

(44)

Start B0 B1 B2 B3 B4 B5 B6 B7 Stop Stop

En el modo RTU, cada byte de datos es transmitido como siendo una única palabra

con su valor directamente en hexadecimal. El SRW 01 utiliza solamente este modo de transmisión para comunicación, no poseyendo, por lo tanto, comunicación en el modo ASCII.

Estructura de los mensajes en el modo rtu

La red ModBus-RTU utiliza el sistema maestro-esclavo para el intercambio de

mensajes. Permite hasta 247 esclavos, más solamente un maestro. Toda comunicación inicia con el maestro haciendo una solicitación a un esclavo, y esta contesta al maestro el que fue solicitado. En ambos los telegramas (pregunta y respuesta), la estructura utilizada

es la misma: Dirección, Código de la Función, Datos y Checksum. Solo el contenido de los datos posee tamaño variable.

Figura 15. Estructura de los mensajes

Dirección

El maestro inicia la comunicación enviando un byte con la dirección del esclavo

(45)

telegrama con él su propia dirección, posibilitando que el maestro conozca cuál esclavo

está enviándole la respuesta.

El maestro también puede enviar un mensaje destinado a la dirección “0” (cero), lo

que significa que el mensaje es destinado a todos los esclavos de la red (broadcast). En este

caso, ninguno esclavo irá contestar al maestro.

Código de la Función

Este campo también contiene un único byte, donde el maestro especifica el tipo de servicio o función solicitada al esclavo (lectura, escrita, etc.). De acuerdo con el protocolo, cada función es utilizada para acceder un tipo específico de dato. En el SRW 01, los datos

están dispuestos como registradores del tipo holding (words), o del tipo coil/input discrete (bits), y, por lo tanto, el relé solo acepta funciones que manipulan estos tipos de datos.

Campo de Datos

Campo con tamaño variable. El formato y el contenido de este campo dependen de la función utilizada y de los valores transmitidos. Este campo está descrito juntamente con

la descripción de las funciones.

CRC

La última parte del telegrama es el campo para el chequeo de errores de transmisión. El método utilizado es el CRC-16 (Cycling Redundancy Check). Este campo es formado por dos bytes, donde primero es transmitido el byte menos significativo (CRC-), y después

(46)

El cálculo del CRC es iniciado cargándose una variable de 16 bits (referenciado a

partir de ahora como variable CRC) con el valor FFFFh. Después se debe ejecutar los pasos de acuerdo con la siguiente rutina:

1. Se somete al primer byte del mensaje (solamente los bits de datos - start bit, paridad

y stop bit no son utilizados) a una lógica XOR (O exclusivo) con los 8 bits menos significativos de la variable CRC, retornando el resultado en la propia variable

CRC;

2. Entonces, la variable CRC es desplazada una posición a la derecha, en dirección al bit menos significativo, y la posición del bit más significativo es rellenada con 0

(cero);

3. Luego de este desplazamiento, el bit de flag (bit que fue desplazado para fuera de

la variable CRC) es analizado, ocurriendo lo siguiente: ● Si el valor del bit fuera 0 (cero), nada es hecho;

● Si el valor del bit fuera 1 (uno), el contenido de la variable CRC es sometida

a una lógica XOR con un valor constante de A001h y el resultado es regresado a la variable CRC.

4. Se repiten los pasos 2 y 3 hasta que ocho desplazamientos tengan sido hechos; 5. Se repiten los pasos de 1 a 4, utilizando el próximo byte del mensaje, hasta que todo

el mensaje tenga sido procesado.

El contenido final de la variable CRC es el valor del campo CRC que es transmitido en el final del telegrama. La parte menos significativa es transmitida primero (CRC-) y en

(47)

Metodología

La metodología que se siguió para el cumplimiento de cada uno de los objetivos se basó en un proceso de investigación dedicado a funciones y protocolos en el mercado en cuanto a dispositivos con los cuales se pudiese construir un controlador lógico

programable. Los distintos tipos, robustez y precios, seguido de una clasificación donde se seleccionó los más aptos para la aplicación dentro de este prototipo, se realizó una nueva

selección de final de los componentes más óptimos de acuerdo a las necesidades y enfoque principal para la facilidad de replicar en caso de fallas o reproducción del módulo, con la robustez más alta posible. Después de estos procesos se realizó la programación y

acoplamiento de las tarjetas escogidas para la construcción del PLC diseñando una sola PCB que acopla todos los dispositivos. Ya listo el diseño se realizó pruebas de

(48)

Desarrollo de la propuesta

Para describir el desarrollo y funcionamiento del sistema general del Soft-plc se va a dividir en dos subsistemas los cuales consisten en una descripción del hardware y software que van a cumplir las especificaciones técnicas dentro de los objetivos planteados,

después de obtener un estado del arte robusto y en consecuencia a este se planteó las siguientes especificaciones técnicas.

Especificaciones técnicas

El controlador lógico programable, cuenta con las siguientes características: 8 entradas digitales aisladas, 6 salidas digitales relé, 2 salidas digitales transistor, 4 entradas

4-20 mA, 4 salidas 4-20 mA, comunicación TCP/IP, puerto serial aislado ModBus RTU. La fuente de alimentación se estableció con una fuente de DC fija de 24V- 3A con

todas las protecciones contra riesgo eléctrico y cortocircuitos, esta será la encargada de la alimentación de la Raspberry, el Psoc5 y I/O.

El dispositivo que se encarga del procesamiento es una Raspberry Pi que cuenta

con un microprocesador Quad Core Broadcom BCM 2837 con arquitectura de 64 bit CPU a 1.2GHz. también cuenta con 1GB RAM, puerto Ethernet, GPIO extendido de 40 pines.

Estas especificaciones son perfectas para el desarrollo de ambientes de programación con la suite de Codesys corre bajo sistema operativo Linux.

La tarjeta que se encarga de I/O es un Psoc5 este microcontrolador cumple con la

función de adicionar periféricos a la Raspberry, comunicándose mediante el protocolo Serial Peripheral Interface (SPI), los cuales son: Convertidor análogo digital (ADC) con

(49)

de 12 Bits 4 canales, 8 entradas digitales de alta velocidad, 8 salidas digitales de alta

velocidad.

La plataforma de programación es CODESYS con un entorno de programación de PLC puede programar utilizando la lógica de escalera tradicional al texto estructurado más

moderno y al diagrama de flujo continuo (normas IEC 61131-3). Uno de los objetivos de Codesys es poder usar Raspberry como un dispositivo PLC, de esta forma este entorno de

programación nos facilita drivers y packets para poder interactuar directamente desde la versión de Codesys 3.5.

El aislamiento de tierras de I/O Digital y Análogo se usó circuitos que se encargan

de adaptar la señal eléctrica proveniente de sensores o transmitidas hacia actuadores, agregan características de protección eléctrica: protección ante picos de voltaje, corriente,

e interferencia electromagnética (EMI). Su función principal es adaptar Lazos de corriente 4-20Ma, las entradas digitales y salidas digitales aisladas.

Hardware

Aquí vamos a describir todas las especificaciones de los componentes electrónicos usados en el diseño del Soft-plc hasta convertirlo en un sistema adecuado para su trabajo

cumpliendo todos los parámetros de diseño en torno a las especificaciones técnicas planteadas, con base a lo anterior una compilación de todos los circuitos necesarios en la implementación de cada conexión.

Alimentación de voltaje

La alimentación de voltaje de todo el sistema es una fuente swichada de 12 voltios

(50)

de 5 voltios para alimentación del computador de placa reducida y el microcontrolador

encargado de entradas y salidas del sistema, en la figura 16 podemos observar cuanto consume cada uno de los subsistemas con sus respectivos periféricos.

Figura 16. Consumo de potencia

Estudiando el consumo de corriente de cada uno de los sistemas se toma la decisión de dejar la fuente de 24 voltios a 3.2 amperios ya que es suficiente para satisfacer la necesidad del sistema Soft-plc sin ningún inconveniente.

Para la alimentación de las tarjetas raspberry y PSoC se usa el circuito lm2596 el cual se configura como conversor DC-DC para obtener 5 voltios a máximo 3 amperios de

la fuente principal, la configuración de este sistema se hace a través de las recomendaciones del fabrícate teniendo en cuenta la configuración de la figura 17.

Fue

n

te

de

ali

ment

aci

ón

• 24 voltios

a 3.2

amperios

conectada

a 110 vac

R

asp

berr

y

pi 3

• regulador

5 voltios

1.5

amperios

P

SoC 5 LP

(51)

Figura 17. Configuración LM2596 24VDC a 5.1VDC

Conexión para comunicación SPI entre raspberry y PSoC

El hardware de conexión entre la Raspberry y PSoC 5 se hace a través de un canal

directo a los pines especificados según el fabricante para esta comunicación.

Figura 18. Conexión Raspberry y PSoC

Raspberry pi 3

MOSI MISO SCLK GND SS

PSoC 5LP

(52)

Como se observó en el marco teórico la comunicación SPI funciona con estas 5

conexiones que se resumen en un pin emisor, un receptor, un reloj sincronizado, un pin de tierra compartida, y un pin para determinar el número de esclavo.

En la raspberry pi 3 estos pines los podemos encontrar en los GPIO 17, 19, 21, 23

y 25 como se observar en la figura 19.

Figura 19. Conexión SPI en raspberry PI

La configuración SPI en PSoC 5LP la podemos encontrar en los pines GND, 12.2, 12.3, 12.4 y 2.0 como se observar en la figura 20.

(53)

La configuración de la comunicación para la transmisión de datos se hace a través

de la programación de los dos dispositivos, esta configuración la podemos observar en la sección de software.

Entradas digitales lógicas

Las ocho entradas digitales están configuradas con dos circuitos integrados PS2502L los cuales tienen internamente 4 opto acopladores cada uno, y se encargan de

aislar tierras para la protección de procesador y la tarjeta encargada de las I/O.

Figura 21. Circuito integrado PL2502L internamente

La configuración de cada opto acoplador se hace a través de un circuito tomado de

(54)

Figura 22. Configuración PL2502L como chip lógico

Este es un circuito inversor el cual se polariza en un rango de 10VDC a 30VDC y

produce que se cierre el opto transistor para generar un valor lógico bajo, el circuito está compuesto por un diodo D3 que evita una polarización inversa, un divisor resistivo, un

condensador para evitar ruido y va polarizado directamente al diodo emisor del opto acoplador el cual se polariza a un voltaje aproximando entre 1VDC y 3VDC, se hace una división de escala de voltaje suficiente para que el transistor se polarice y podamos tener

el valor lógico a la salida, la resistencia pull up R6 no se agrega al circuito ya que van conectadas directamente al PSoC y esté ya las trae incluidas y se pueden configurar.

El circuito permite la aislación por propiedades del opto acoplador cercanas a los 5000 VRMS y cada canal está aislado sin compartir tierras lo cual es beneficioso para cualquier aplicación.

Salidas digitales lógicas

Las salidas ocho salidas digitales están configuradas en dos grupos, el primer grupo

(55)

de un relé de marca SONGLE que permite la conducción de 3 amperios a 24 voltios

suficiente para las aplicaciones típicas de un PLC, en caso que se requiera más corriente este relé tiene que conectarse a un contactor que se encargue de manejar toda la parte de corriente.

El relé SONGLE consta de un contacto normalmente cerrado y un contacto normalmente abierto con el solenoide que hace el cierre del contacto.

Figura 23. Diagrama de contacto Relé SONGLE

Cada uno de estos relés tienen un voltaje nominal de 5VDC y aproximadamente un consume de 0.066 amperios, donde se tiene un consumo de corriente máxima de 0.4

amperios con los seis relés activos.

El driver usado para estas salidas consta de un circuito integrado ULN2803A de fácil acceso comercialmente que tiene la capacidad de manejar 8 canales en configuración

(56)

Figura 24. Diagrama Lógico ULN2803A

Figura 25. Diagrama Esquemático ULN2803A configuración Darlington

El otro grupo de dos salidas, este grupo está configurado como salidas

transistorizadas las cuales son compuestas por un transistor MOSFET FDS4953 el cual es un MOSFET doble que permite por el transistor una capacidad de corriente de 5 amperios

(57)

Figura 26. Diagrama MOSFET FDS4953

Este MOSTEF está protegido con un fusible de alta velocidad en caso de inconvenientes, también tiene un driver como circuito de polarización con dos transistores

complementarios un 2N3906 y 2N3904

Figura 27. Driver complementario salida transistorizada

También está aislado con un MOCD 213-M es cual se encarga de aislar todo el circuito que tiene una capacidad de doble canal y esta polarizado los diodos emisores

(58)

Para el primer grupo se utilizó un condensador electrolítico y un condensador

cerámico que actúan como filtros pasa bajos para evitar interacción en el flujo DC y el PSoC.

Salidas análogas 4-20Ma

Las cuatro salidas análogas están compuestas por un HCNR200 el cual es un opto acoplador análogo de alta velocidad que consta de un emisor y dos fotodiodos los cuales

se usan para volver lineal la aplicación.

Figura 28. Configuración HCNR200 como trasmisor

La salida del DAC del PSoC está configurado linealmente en un rango de 0.8VDC a 4VDC, se cambió el circuito operacional LM158 por un LM358 que es de fácil acceso, y se ajustó un trimmer para ajustar lazos de corriente para manipular el spam y se cambió

(59)

cuando el PLC se enfrente a aplicaciones de campo donde se expone a una duración de

trabajo bastante altas.

Entradas análogas 4-20Ma

Las cuatro entradas también están compuestas por un circuito HCNR200

configurado de manera diferente.

Figura 29. Configuración HCNR200 como receptor

En los cuales se utiliza el convertidor de corriente ILOOP que lo convierte de 0VDC a 3.4VDC, el cual va directamente al ADC del psoc y se hace los mismos cambios

de la configuración de las salidas.

Por último, se agregó un filtro pasa bajos con un corte cercano a los 2300 HZ para evitar ruidos de alta frecuencia y evitar atenuaciones en caso de que se usen dispositivos

de alta velocidad.

Comunicación ModBus RTU

(60)

Figura 30. Circuito driver ModBus RTU

Software

Aquí vamos a describir todas las especificaciones de la composición de

programación usados en el diseño del Soft-plc dividiéndolo en dos subsistemas de software que son programación de la Raspberry pi y programación de PSoC.

Programación Raspberry pi 3

La programación está configurada con el software Codesys 3.5 SP11 Patch 4 última versión a la fecha a continuación, se muestra cada paso de configuración con detalle de

programación y adecuación de cada plataforma para su correcto funcionamiento.

Instalación de Raspbian en Raspberry pi 3

(61)

Raspbian, que es una versión de GNU/Linux diseñada especialmente para su uso con

Raspberry Pi.

En primer lugar, formatea la tarjeta microSD. El ordenador debe tener algún lector de tarjetas microSD, o un adaptador que lo permita, por ejemplo, USB.

1. Descarga el software SD Formatter 4.0 para Windows. 2. Sigue las instrucciones para instalar el software.

3. Inserta tu tarjeta microSD en el lector de tu ordenador y toma nota de cómo se llama dicha unidad, por ejemplo F.

4. En el SD Formatted 4.0 elige la letra de la unidad de disco de tu tarjeta y

formatéala.

Figura 31. Ajuste memoria SDFormatter

5. Ingresar a la página www.raspberrypi.org y descargamos la última versión

(62)

Figura 32. página principal raspberry

6. Haz clic en el botón Download ZIP bajo “NOOBS (offline and network install)” y elige la carpeta donde guardarlo.

7. Extrae los archivos del comprimido ZIP.

8. Una vez que se haya formateado la tarjeta microSD, arrastra los archivos extraídos del directorio donde se hayan guardado y los sueltas en la unidad

de disco de la tarjeta microSD.

9. Los archivos se copiarán en la tarjeta microSD.

10.Cuando se hayan acabado de copiar, retira de forma segura la tarjeta microSD y la introduces en la ranura de la tarjeta Raspberry Pi.

Instalar complementos de raspberry para Codesys

El complemento lo podemos descargar directamente de la página principal de

(63)

Ya dentro de la plataforma Codesys e instalado el complemento podemos ir a la

pestaña herramienta y después administración de paquetes para comprobar que el complemento este instalado.

Figura 33. Consulta administración de paquetes

Ya dentro del administrador de paquetes podemos verificar el complemento instalado, también podemos encontrar un botón para la actualización de todos los

complementos instalados y también un acceso directo a la tienda de Codesys.

(64)

Configuración de PLC en Codesys

Ya comprobado que tenemos el complemento instalado vamos a llevar a cabo la configuración del PLC, para esto vamos a abrir un nuevo proyecto, le damos un nombre y

una dirección de ubicación de archivos, escogemos la opción proyecto estándar.

Figura 35. Opciones de inicio en nuevo proyecto

A continuación, vamos a escoger el dispositivo donde vamos a escoger CODESYS

for Raspberry y como lenguaje de programación texto estructurado, anotando que también sirve con otros lenguajes de programación.

(65)

Configuración comunicación SPI

Ya ingresado a la plataforma vamos a la subdivisión que se encuentra en la parte izquierda y damos click derecho en SPI y seleccionamos agregar el dispositivo.

Figura 37. Selección de dispositivo SPI

Dejamos el nombre como SPI-master y le damos click al botón agregar dispositivo

Figura 38. Configuración SPI como master

(66)

para esto vamos agregar un entorno de programación POU, damos click en aplicación,

agregar objeto, y seleccionamos POU.

Figura 39. Agregar POU a Codesys

En la configuración del POU vamos a ponerle el nombre SPI_16_RW y

seleccionamos el tipo bloque de funciones, texto estructurado y click en agregar.

Figura 40. Nombrar función SPI_16_RW

(67)

Figura 41. Definición automática POU para SPI_16_RW

Para agregar el dispositivo PLC se borra las líneas marcadas en el círculo de la

figura 41 de la definición automática y se remplazan por las líneas del Anexo 1 FUNCTION_BLOCK SPI_16_RW.

Figura 42. Definición modificada POU FUNCTION_BLOCK SPI_16_RW

Después de terminar de configurar la definición se configura el marco de la función que tiene toda la configuración de registros y envían en total ocho paquetes de 16 bits, para

(68)

Figura 43. Macro del POU FUNCTION_BLOCK SPI_16_RW

Con este paso ya está configurado la raspberry con las funciones predeterminadas

del PSoC, solo queda llamar la función desde un programa de cualquier aplicación, para llamarlo podemos usar las líneas del anexo 3: llamada de función POU al PLC.

Figura 44. Llamado de función POU al PLC

Después de la definición tenemos que llamar la librería mediante la instancia

(69)

una longitud máxima de 16 bits, si son entradas o salidas digitales es necesario definirlas

de 8 bits.

Por ultimo vamos a configurar el SPI master vamos a configurar el dMode en 1, el dbitperword 8 y dmaxspeed 61000 Hz. Es importante recordar que la comunicación solo

se genera si el W_Register:UINT en igual 43690 solo con ese número abre la comunicación SPI con el PSoC.

Figura 45. Main program de la función

La función retorna los ADC, DAC, entradas digitales y salidas digitales. Para

llamarlo simplemente se asigna valores a las funciones. Cada uno de los if significa una salida de propósito general con tramas de 16 bits y en el main tags no es necesario

(70)

Programación PSoC 5 LP

Toda la programación de PSoC está configurada en el software PSoC Creator 4.1 update 1, se muestra cada paso de configuración con detalle de programación y adecuación de cada plataforma para su correcto funcionamiento.

Configuración de top Desing

Dentro de la configuración esquemática del PSoC vamos a encontrar todas las configuraciones I/O según las especificaciones técnicas.

Figura 46. Top Design PSoC 5

Figure

Tabla 2. Comparación característica PSoC parte 2
Figura 8. Esquema general de PSoC 5LP
Figura 9. Diagrama de bloques del procesador Cortex-M3 utilizado en el PSoC 5LP
Figura 10. Transferencia de datos protocolo SPI
+7

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y

Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de