Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Donde encontrarnos...
Introducción Contenidos
En paralelo a todo esto, conoceremos otro software libre para programar una sencilla
placa con un microcontrolador (PIC - AVR), en lenguaje de escalera (LADDER), que es
el lenguaje por lo general empleado, en la gran mayoría de los PLC...
Un dato relevante sobre estos dos software, es que XSACADA emplea varios
protocolos de comunicación, lo cual nos permite hacer aplicaciones en las cuales
podemos crear nuestras aplicaciones tanto como para controlar cosas desde el puerto
serial de nuestra PC (Ethernet esta dentro de las posibilidades), también podemos
comunicarnos con un microcontrolador u bien, emplear modbus y establecer
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 1/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
comunicación con PLC comerciales....
Por otro lado, el editor y compilador LDmicro, que emplearemos para programar
nuestras placas microcontroladas; Tiene todas las funciones que podemos encontrar
en un PLC comercial, mas un par de funciones mas que lo complementan y hacen una
herramienta eficaz.
El segundo video, ya es un ejemplo un poco mas comlpeto, y les muestro las distintas
funcionalidades que le podemos dar. En el ejemplo, pueden ver un extracto de nuestra
placa entrenadora (ver en la seccion descarga) y un scada armado para controlar y
monitorear esta.
ejemploSCADApic
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 2/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
Origen de la Automatizacion:
Esta es una ciencia que hace su aparición mucho antes de que el hombre descubriera
la electricidad; si bien era bastante precaria, el ingenio del hombre, lo llevo a conocer y
estudiar otras ciencias para aprender a emplearlas en sus automatismos (leyes de la
física tales como palancas, poleas, niveles y hasta presión y caudal).
La automatización, hasta hoy en día fue evolucionando con las nuevas innovaciones
tecnológicas hasta tener lo que llamamos controladores lógicos programables de la era
análoga-digital; pero hasta hace tan solo unas décadas atrás, el hombre implementa
su ingenio nuevamente, y descubre que controlando el paso de la energía, se puede
hacer automatismos con lógicas cableadas.
Los 1eros PLC, eran sencillamente eso, inmensos tableros llenos de relay y cables
que estaban armados de tal manera que daban una secuencia de permisos y
condiciones para funcionar. Si bien eran muy lentos en el diseño y armado, también
tenia la contra de que si se quería reformar su lógica de funcionamiento, había que
arrancar prácticamente desde cero. A este tipo de sistemas, se los denomina:
“Automatización con lógicas de contactos”.
Con la aparición de nuevos instrumentos electrónicos, esas inmensas estructuras de
relay, se fueron achicando y simplificando, hasta llegar a lo que hoy en día conocemos
como: “Automatización con lógicas cableadas”…
Si bien, la Automatizacion con logicas cableadas es un tecnica que hoy en dia
seguimos imlementando; Las grandes empresas de tecnologia en automatizacion
emplearon microprocesadores y microcontroladores para poder ahorrar aun mas el
espacio de trabajo y el tiempo demandado en la creacion de un tablero de control
cableado... Es aqui el nacimiento de los PLC (Controladores Logicos Programables).
Que en si, son circuitos con una electronica programable, gobernado por una unidad de
control o MCU que se encarga de procesar una logica de control, segun las directivas
que se le dieron (temporixzadores - comparadores - logicas booleanas - etc) en base a
una adquisicion de datos de campo (señales de entrada); Las cuales generan una
respuesta en los puertos de salida del PLC.
- Posibilidad de crear paneles de alarma, que exigen la presencia del operador para
reconocer una parada o situación de alarma, con registro de incidencias.
- Generación de históricos de señal de planta, que pueden ser volcados para su
proceso sobre una hoja de cálculo.
- Ejecución de programas, que modifican la ley de control, o incluso anular o modificar
las tareas asociadas al autómata, bajo ciertas condiciones.
- Posibilidad de programación numérica, que permite realizar cálculos aritméticos de
elevada resolución sobre la CPU del ordenador.
Con ellas, se pueden desarrollar aplicaciones para ordenadores (tipo PC, por ejemplo),
con captura de datos, análisis de señales, presentaciones en pantalla, envío de
resultados a disco e impresora, etc. Además, todas estas acciones se llevan a cabo
mediante un paquete de funciones que incluye zonas de programación en un lenguaje
de uso general (como C, Pascal, o Basic), lo cual confiere una potencia muy elevada y
una gran versatilidad. Algunos SCADA ofrecen librerías de funciones para lenguajes de
uso general que permiten personalizar de manera muy amplia la aplicación que desee
realizarse con dicho SCADA.
Requisitos.
Un SCADA debe cumplir varios objetivos para que su instalación sea perfectamente
aprovechada:
- Deben ser sistemas de arquitectura abierta, capaces de crecer o adaptarse según las
necesidades cambiantes de la empresa.
- Deben comunicarse con total facilidad y de forma transparente al usuario con el
equipo de planta y con el resto de la empresa (redes locales y de gestión).
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 4/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
- Deben ser programas sencillos de instalar, sin excesivas exigencias de hardware, y
fáciles de utilizar, con interfaces amigables con el usuario.
Módulos de un SCADA.
Los módulos o bloques software que permiten las actividades de adquisición,
supervisión y control son los siguientes:
- Configuración: permite al usuario definir el entorno de trabajo de su SCADA,
adaptándolo a la aplicación particular que se desea desarrollar.
- Interfaz gráfico del operador: proporciona al operador las funciones de control y
supervisión de la planta.
El proceso se representa mediante sinópticos gráficos almacenados en el ordenador
de proceso y generados desde el editor incorporado en el SCADA o importados desde
otra aplicación durante la configuración del paquete.
- Módulo de proceso: ejecuta las acciones de mando preprogramadas a partir de los
valores actuales de variables leídas.
- Gestión y archivo de datos: se encarga del almacenamiento y procesado ordenado de
los datos, de forma que otra aplicación o dispositivo pueda tener acceso a ellos.
- Comunicaciones: se encarga de la transferencia de información entre la planta y la
arquitectura hardware que soporta el SCADA, y entre ésta y el resto de elementos
informáticos de gestión.
Se preguntaran en que lenguaje puede ser programado nuestro pequeño PLC casero...
Sencillamente, para este caso en particular, vamos a implementar LDmicro ( ver
archivos adjuntos que inclui el software, o bien puedes visitr la pagina oficial www.cq.cx/index.pl ); Un
sencillo software de programacion en lenguaje LADDER ( escalera ), que nos permite
crear nuestros proyectos al igual que en un PLC profesional y luego compilarlo para
subir al microcontrolador...
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 5/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
Tutorial Xscada
Empleo y programacion de Xscada (primeros pasos)
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 6/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 8/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
Cada rama permite ubicar varios elementos de entrada pero sólo uno de salida.
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 10/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
CONTACTOS DE ENTRADA
El número de contactos abiertos o cerrados que se pueden utilizar en un programa, por
cada una de las entradas, es ilimitado; Es decir, que se puede repetir el mismo número
de contacto cuantas veces quiera.
CONTACTOS DE SALIDA
El número de salidas o bobinas de salida o relay de salida (OUT) es fijo, por lo que no
se puede repetir un mismo número de salida. Sin embargo, el número de contactos
asociados a ellas es ilimitado.
Elementos de Entrada
Los contactos, únicos elemento que se colocan a la entrada, son de tipo:
Encima del contacto e escribe la variable a la cual hace referencia. El valor lógico del
contacto depende directamente del valor lógico de su variable. Para lo contacto normal
abierto, si la variable es V, el contacto era V y, si la variable es F, el contacto será F.
Lo contacto normal cerrado toman el valor inverso de su variable, si la variable e V, el
contacto será evaluado como F y viceversa
Las variables a los cuales pueden referirse los contactos son:
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 11/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 12/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
OPERACIONES LOGICAS
Las operaciones lógicas más utilizadas son: AND, OR, NOT, EXOR.
A continuación, conoceremos las cuatro tablas de la verdad que las definen y en
paralelo, iremos conociendo las funciones que tenemos disponibles en LDmicro
AND (Conjunción)
La operación lógica AND se aplica en situaciones en las que se requiere realizar una
acción si y sólo sí se cumplen un determinado número de condiciones.
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 13/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
OR (Disyunción)
La operación lógica OR, entrega como resultado V (VERDADERO) siempre que alguna
de las entradas sea V (verdadera-presente-estado lógico uno-etc.).
NOT (Inversión)
La operación lógica NOT, entrega como resultado el estado contrario al presente en la
entrada
FUNCIONES ESPECIALES
Temporizadores:
LDmicro, tiene tres tipos herramientas que trabajan manipulando el tiempo de
activación o desactivación de distintas variables… Estos temporizadores, se separan
en tres funciones…
RTO (Encendido con retardo y memoria) Cuando tiene un 1 lógico, para proseguir el
camino de la rama, tendrá un retardo del tiempo configurado. La diferencia más notable
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 15/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
que tenemos con la instrucción TON, es que sin importar luego el estado de la entrada
(verdadero - falso) de esta función, la salida seguirá encendida indefinidamente. La
única manera de poder desactivar esta instrucción, es empleando la función RES
(Contador/RTO reinicio) , que básicamente es un Reset para los contadores y el
temporizador con retardo y memoria.
Contadores:
LDmicro, tiene tres herramientas que trabajan contando diferentes tipos de eventos y
ese valor, es almacenado en una variable, la cual podremos implementar en el resto de
nuestra lógica de control.
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
-
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 16/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
-
Cuando la entrada de esta instrucción es verdadera, se establece la variable de destino
dado igual a la expresión dada. Los operandos pueden ser tanto variables (incluyendo
temporizador y contador variables) o constantes. Estas instrucciones utilizan 16 bits
con signo matemáticas. Recuerde que el resultado se evalúa cada ciclo cuando la
condición de entrada cierto. Si va a aumentar o disminuir una variable (es decir, si la
variable de destino es también uno de los operandos), entonces es probable que no
quiere eso; normalmente usted usaría una sola toma de modo que sólo se evalúa en el
flanco ascendente o descendente de la condición de entrada. Divida truncado; 8/3 = 2
Esta instrucción debe ser la instrucción más a la derecha en sus peldaño.
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 18/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
A los incrementos del contador (CTU, cuentan hacia arriba) o decrementos (CTD,
cuenta atrás) el recuento de asociado en cada flanco ascendente de la condición de
entrada de renglón (es decir, lo que la condición de entrada de renglón va de falso a
verdadero). La condición de salida del contador es cierto si la variable de contador es
mayor que o igual a 5, y falso en caso contrario. La condición de salida de renglón
puede ser cierto incluso si la condición de entrada es falsa; sólo depende de la variable
contador. Usted puede tener CTU y CTD instrucciones con el mismo nombre, con el fin
de incrementar y
disminuir el mismo contador. La instrucción RES puede reiniciar un contador, o
usted puede realizar operaciones de variables generales sobre la variable de recuento.
Un contador circular funciona como un contador CTU normal, excepto que después de
alcanzar su límite superior, se restablece su variable de contador de nuevo a 0 Por
ejemplo, el contador se muestra arriba contaría 0, 1, 2, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7,
0, 2, .... Esto es útil en combinación con instrucciones condicionales de la variable
`Cname '; usted puede utilizar esto como un secuenciador. CTC contadores de reloj en
el flanco ascendente de la condición condición de entrada de renglón. Esta instrucción
debe ser la instrucción más a la derecha en su peldaño.
-{ reg0..3 }-
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 19/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
-{ LUT[i] }-
-{ PWL[xvar] }-
Esta es una buena manera de aproximar una función complicada o curva. Podría, por
ejemplo, puede ser útil si usted está tratando de aplicar una curva de calibración para
convertir una tensión de salida en bruto de un sensor en unidades más convenientes.
Suponga que usted está tratando de aproximar una función que convierte una variable
de entrada número entero, x, a una variable de salida número entero, y. Usted sabe la
función en varios puntos; por ejemplo, usted puede ser que sepa que
f(0) = 2
f(5) = 10
f(10) = 50
tumbarse en esa curva. Puede introducir esos 4 puntos en una tabla asociada a la
instrucción lineal por tramos. La instrucción lineal por tramos se analizará el valor de
xvar, y establecer el valor de yvar. Fijará yvar de tal manera que la curva lineal por
tramos pasará por todos los puntos que usted le da; por ejemplo, si establece xvar =
10, entonces la instrucción establecerá yvar = 50.
Si usted le da la instrucción de un valor de xvar que se encuentra entre dos de los
valores de x para los que le han dado puntos, entonces la instrucción establecerá yvar
para que (xvar, yvar) se encuentra en la recta que une los dos puntos de la tabla. Por
ejemplo, xvar = 55 da una potencia de Yvar = 75. (Los dos puntos en la tabla son (10,
50) y (100, 100). 55 es la mitad del camino entre el 10 y el 100, y el 75 es la mitad del
camino entre 50 y 100, de modo (55, 75) se encuentra en la línea que conecta esos
dos puntos.)
Los puntos deben ser especificadas en orden ascendente por coordenada x. Puede
que no sea posible llevar a cabo operaciones matemáticas requeridas para ciertas
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 20/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
tablas de consulta que utilizan 16 bits de matemáticas de enteros; si este es el caso,
entonces LDmicro le avisará. Por ejemplo, esta tabla de consulta producirá un error:
Puede corregir estos errores al hacer la distancia entre puntos en la tabla pequeña. Por
ejemplo, esta tabla es equivalente a la dada anteriormente, y que no produce un error:
Debería ser necesario casi nunca utilizar más de cinco o seis puntos. La adición de
más puntos hace que su código más grande y más lento para ejecutar. El
comportamiento si se pasa un valor de `xvar 'mayor que los más grandes coordenada x
en la tabla o menos de los más pequeños coordenada x en la tabla no está definido.
Esta instrucción debe ser la instrucción más a la derecha en su peldaño.
LDmicro puede generar código para utilizar el periférico PWM integrado en ciertos
microcontroladores. Si la condición de entrada a esta instrucción es verdadera,
entonces el ciclo de trabajo del PWM periférica se establece en el valor de la
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 21/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
Duty_Cycle variable. El ciclo de trabajo debe ser un número entre 0 y 100; 0
corresponde a siempre baja, y 100 corresponde a
siempre alta. (Si usted está familiarizado con el funcionamiento de periféricos PWM,
entonces cuenta de que eso significa que LDmicro escala automáticamente la variable
ciclo de trabajo de por ciento a periodos de reloj PWM.)
--{PERSIST}--
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 22/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
LDmicro puede generar código para utilizar las UARTs integradas en ciertos
microcontroladores. En AVRS De con múltiples UART sólo UART1 (no UART0) es
compatible. Configure la velocidad de transmisión utilizando Configuración ->
Parámetros de MCU. Ciertas velocidades de transmisión pueden no ser alcanzables
con ciertas frecuencias de cristal; LDmicro le avisará si este es el caso.
Recuerde que los personajes toman un poco de tiempo para transmitir. Compruebe el
estado de salida de esta instrucción para asegurar que el primer carácter ha sido
transmitida antes de tratar de enviar un segundo personaje, o utilizar un temporizador
para introducir un retraso entre los personajes. Usted sólo tiene que traer la condición
de entrada verdadero (intente enviar un personaje) cuando la condición de salida es
falsa (UART no está ocupado).
LDmicro puede generar código para utilizar las UARTs integradas en cierta
microcontroladores. En AVRS De con múltiples UARTs sólo UART1 (no UART0) es
compatible. Configure la velocidad de transmisión mediante Settings -> MCU
Parámetros. Ciertas velocidades de transmisión pueden no ser alcanzables con cierta
frecuencias de cristal; LDmicro le avisará si este es el caso.
Cuando el renglón en condiciones para esta instrucción va de falso a cierto, éste
empieza a enviar una cadena entera a través del puerto serie. Si la cadena contiene la
secuencia especial `\ 3 ', entonces esa secuencia será reemplazado por el valor de `var
', que es automáticamente convierte en una cadena. Se formateará la variable a
tener exactamente 3 caracteres; Por ejemplo, si `var 'es igual a 35, entonces la cadena
exacta impresa será `Presión: 35 \ r \ n '(nota el extra espacio). Si en lugar de `var
'fuera igual a 1432, entonces el comportamiento haría
ser indefinido, ya que 1432 tiene más de tres dígitos. En ese caso sería necesario
usar `\ 4 'en su lugar.
Si la variable podría ser negativo, entonces utilice `\-3d '(o` \ -4d' etc) en lugar. Eso
causará LDmicro para imprimir un espacio inicial para números positivos y un signo
menos para los números negativos.
También es posible utilizar esta instrucción a la salida de una cadena fija, sin
interpolar el valor de una variable entera en el texto que se envía en serie. En ese caso,
simplemente no incluyen el especial
secuencia de escape.
Use `\\ 'para una barra invertida literal. Además de la secuencia de escape para
interpolar una variable entera, los siguientes caracteres de control están disponibles:
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 23/24
28/9/2018 Como construir un PLC y un SCADA (Made in Home) - Educación Tecnica Informal
*\ R - retorno de carro
*\ N - salto de línea
*\ F - formfeed
*\ B - Retroceso
*\ XAB - personaje con valor ASCII 0xAB (hex)
EN CONSTRUCCION
Č
ċ ETI_LDmicroPLC_V1.rar (1… Firstname LastName, 8 m… v.1 ď
ċ XScada 4.56.rar (3489k) Firstname LastName, 8 m… v.3 ď
ċ herramientas_para_XSCA… Firstname LastName, 19 ju… v.1 ď
ċ ldmicro-es.rar (146k) Firstname LastName, 8 m… v.1 ď
Comentarios
https://sites.google.com/a/educ.ar/eti/project-updates/comoconstruirunplcyunscadamadeinhome 24/24