Controladores
Alejandro Silvestri, 2019
Controlador
En el modelo controlador-actuador-sensor, el controlador es una unidad que se ocupa
de la lógica: recaba datos de los sensores y decide en tiempo real la acción
comandando los actuadores.
Los controladores industriales son computadoras digitales, en algunos casos
programables por el usuario, en otros casos con programas incorporados, configurables
por el usuario.
Tipos de controladores industriales
● PID: Control Proporcional, Integral y Derivativo
● Controlador de brazo robot
● CNC: Control numérico por computadora
● Drivers
● PLC: Controlador Lógico Programable
PID: Control Proporcional, Integral y
Derivativo
Sistema de control elemental, que permite configurar las
constantes de control proporcional, integral y derivativas.
Tiene una entrada analógica de lazo de control, una salida
PWM y alternativamente una salida ON-OFF.
https://es.wikipedia.org/wiki/Controlador_PID
Controlador de brazo robot
Computadora, típicamente una PC en un gabinete industrial, que se ocupa de calcular
en tiempo real los movimientos de los motores de un brazo robot articulado.
Estos motores operan al unísono, el controlador aplica un sistema de control
sofisticado para coordinar sus movimientos.
El controlador del brazo robot recibe la lectura de los encoders y calcula la corriente o
tensión que se debe aplicar a cada motor. El controlador envía esta información en
forma digital a los drivers, y cada uno de ellos aplica la potencia a cada motor.
CNC
CNC: Control numérico por computadora
Control numérico es el control en tiempo real de la trayectoria de una máquina
herramienta, por ejemplo un torno, fresadora o impresora 3D. La trayectoria se
expresa en G-code, un código de texto para tal fin en un archivo que se genera en una
PC con programas especializados, y se guarda en el CNC.
El CNC es típicamente una PC o equivalente, dentro de un gabinete industrial, con un
intérprete de G-code.
CNC: router 3D
Se denomina router al robot cartesiano
encargado de la trayectoria de la
herramienta.
CNC: G-code
Código de texto que expresa una ruta en 3D como
composición de segmentos.
Originalmente elaborado de forma manual, hoy en día
herramientas de CAM lo generan automáticamente a partir M06
M03
T0
G00 X2.012176 Y-0.000028
del modelo CAD de la pieza a fabricar (CAD/CAM). G01 F15 Z-0.001
G02 F300 X1.870461 Y-0.740932 I-1.999488 J-0.001556
G02 X1.481845 Y-1.356568 I-1.865996 J0.747422
Archivo G-code de prueba G02 X0.901111 Y-1.792156 I-1.47533 J1.362021
G02 X0.183056 Y-1.992898 I-0.887602 J1.790346
G02 X-0.574636 Y-1.91265 I-0.171449 J1.998346
G02 X-1.222538 Y-1.57365 I0.588588 J1.913563
CNC: G-code sintaxis
● Lenguaje de asignación de variables (una letra O1000
T1 M6
seguida de un valor numérico de punto flotante) (Linear / Feed - Absolute)
● Cada letra tiene un significado predefinido. X, Y, Z G0 G90 G40 G21 G17 G94 G80
G54 X-75 Y-75 S500 M3 (Position 6)
son coordenadas, G, M son comandos. G43 Z100 H1
Z5
● Cada renglón corresponde a una ejecución G1 Z-20 F100
X-40 (Position 1)
compuesta única Y40 M8 (Position 2)
● Renglones sucesivos se ejecutan en secuencia X40 (Position 3)
Y-40 (Position 4)
X-75 (Position 5)
Y-75 (Position 6)
G0 Z100
M30
https://en.wikipedia.org/wiki/G-code
Drivers
Drivers
● Un driver es un dispositivo que recibe órdenes de movimiento y controla motores
eléctricos.
● A tal efecto, cuenta con un bus de comunicaciones para recibir órdenes y
presentar indicadores, y una salida de potencia para alimentar el motor eléctrico.
Tensiones, corrientes y potencias deben ser acordes al motor controlado.
● Típicamente es un controlador esclavo, comandado por un controlador master,
como por ejemplo un PLC o un controlador de brazo robot.
Driver: motor paso a paso
● 2 líneas digitales de entrada, y cuatro salidas de potencia para un motor paso a
paso. Tensiones, corrientes y potencias deben ser acordes al motor.
● Recibe órdenes mediante trenes de pulsos en dos líneas digitales:
○ Una línea indica la dirección de giro
○ Por cada pulso en la otra línea, el motor avanza un paso en la dirección correspondiente
● Los drivers de motores paso a paso son indispensables para hacer funcionar estos
motores, que requieren conmutar sus cuatro bobinados en una secuencia
específica.
Driver: motor sincrónico, variador de velocidad
● Un driver de motor sincrónico trifásico típicamente se utiliza como variador de
velocidad, que se controla por medio de la frecuencia de alimentación.
● Estos drivers generan ondas senoidales de potencia y de frecuencia regulable para
alimentar los motores sincrónicos.
PLC
PLC: Controlador Lógico Programable
● Controlador con entradas y salidas ON-OFF, orientado al secuenciamiento de
movimientos en una estación de trabajo
● Se programa típicamente en Ladder
● Suele tener un bus industrial para comunicarse con un sistema SCADA y otros
posibles sistemas de nivel superior
https://es.wikipedia.org/wiki/Controlador_l%C3%B3gico_programable
ON-OFF
● ON-OFF se denomina a la lógica de llaves de conmutación, abiertas o cerradas.
Es una lógica binaria alternativa (diferente) a los 0V y 5V de los circuitos
digitales.
● Las salidas ON-OFF son llaves que conectan o desconectan un punto eléctrico (la
salida) a la alimentación.
● Los sensores expresan su estado ON u OFF por medio de una llave de
conmutación, que se conecta a la fuente de alimentación y a una entrada de un
PLC. La entrada sensa la tensión.
Salidas ON-OFF
● Las salidas consisten en llaves de conmutación comandadas desde el programa del
PLC. Suelen ser relés o transistores. Las llaves tienen dos conectores, uno de los
cuales constituyen la salida del PLC.
● El otro conector de la llave está conectado internamente a un punto común a todas
las llaves.
○ Con relé, es usual conectar este punto a la alimentación negativa (0V) o a la positiva.
○ Con transistores, este punto ya está conectado a la alimentación, positiva o negativa según el tipo
de transistor (PNP o NPN).
Entradas ON-OFF
● Estas entradas sensan tensión binaria. A estas entradas se conecta un sensor ON-
OFF que expresa su estado por medio de una llave de conmutación. Un conector
de esta llave se conecta a la entrada del PLC, el otro conector a la alimentación.
● La entrada del PLC cuenta con pull-up o pull-down.
Llaves de conmutación
● Características eléctricas
○ Máxima tensión de circuito abierto
○ Máxima corriente de circuito cerrado
● Características temporales
○ Tiempo de transición
○ Máxima frecuencia de conmutación
● Tecnologías usuales
○ Relé: lento, mayor tensión y corriente, puede manejar 220V
○ Transistor: rápido, menor tensión y corriente
Alimentación
● Tensiones de alimentación industrial estándar
○ 12V
○ 24V, la más común
○ 48V
● Potencia de la fuente
○ Medida en Watt, se suele expresar también en términos de Amperes
Módulos de expansión
● Para los denominados PLC modulares
● Tipos
○ Entradas
○ Salidas
○ Comunicaciones
○ Módulos especiales (memoria, PID, etc.)
Lenguajes de programación
● Estándar IEC 61131-3
● Lenguajes básicos
○ LD: Ladder
○ IL: Instruction List (obsoleto)
○ ST: Structured Text
■ Lenguaje procedimental, de texto, similar al BASIC
● Lenguajes de bloques
○ SFC: Sequential Function Chart
○ FBD: Function Block Diagram
■ Concepto de función en forma gráfica: un código se encapsula en un bloque rectangular
Memoria
● Las variables del PLC tienen posiciones de memoria. Las posición de memoria de una
variable booleana se expresa en hexadecimal:
○ A es el área de memoria
○ 012 es la posición de memoria de la palabra de 16 bits
○ 7 es la posición del bit dentro de la palabra. Se numeran de 0 a 15.
Áreas de memoria
● Memoria de I/O. Cada posición de memoria corresponde a un bloque de 16
entradas o de 16 salidas exclusivamente.
● Memoria de variables. Memoria RAM, volátil.
● Memoria de retención: Holding registers. Estas variables perduran al apagarse el
PLC.
● Timers
● Especiales, para módulos específicos, como comunicación, entrada
analógica, salida de PWM, ampliación de RAM, etc.
Símbolos
● Se denominan símbolos a los nombres de variables creadas por el programador.
La lista de símbolos relaciona nombres de variables, tipos y posiciones de
memoria.
● Cada símbolo tiene un tipo de dato asociado: booleano, WORD (16 bits),
DWORD (32 bits)
○ https://en.wikipedia.org/wiki/IEC_61131-3#Data_types
● Las variables comunes pueden ir en cualquier posición de memoria, pero no así
las de entrada y salida
Ladder
● Lenguaje gráfico “Escalera”, de lógica
booleana (AND, OR, NOT, FLIP-FLOP
RS)
● Las variables son booleanas (on u off)
○ Entradas: sólo lectura
○ Salidas: lectura y escritura
○ Otras variables en memoria, de lectura y
escritura
● https://www.plcfiddle.com/fiddles/46ec6c1b-cb0a-11
Áreas de memoria
e7-8136-a7da063a7358 I: Input
Q: Output
M: Memory, RAM
Ladder
● Simula una ejecución en paralelo
● Lenguaje de tiempo real, que reacciona a los “eventos”
● Ideal para implementar tablas de verdad
● Sirve para implementar autómatas finitos con técnicas digitales
● No es muy apto para expresar secuencias, para ello se usa SFC
Modelo de ejecución
● Ejecución cíclica
○ el programa se repite cuando llega al final
○ las variables perduran
● Ejecución asincrónica
○ mejor esfuerzo
○ cuanto más largo es el programa, se ejecuta menos veces por segundo
○ la duración del ciclo varía con las bifurcaciones del programa
● I/O sincrónico
○ las entradas se leen todas juntas al inicio de la ejecución
○ las salidas se aplican todas juntas al final de la ejecución
SFC
● Expresa secuencias, incluso varias secuencias simultáneas
(en paralelo)
● Está basado en GRAFCET, que a su vez está basado en
diagramas de Petri
● Cada bloque representa un estado
○ Cada bloque se programa en algún lenguaje, como Ladder o ST
○ Se ejecuta una vez al entrar al bloque
○ La condición para continuar se ejecuta repetidamente
SFC: split
● Bifurcación
○ Se ejecuta un solo camino
● Paralelización
○ Se ejecutan todos los caminos
ModBus
El protocolo ModBus se usa para acceder (leer o escribir) posiciones de memoria. El
protocolo no maneja símbolos, sino posiciones.
Algunos PLC tienen una tabla de conversión de posiciones de memoria expresados en
el protocolo ModBus y posiciones de memoria reales del PLC. De esta manera, si las
posiciones de memoria reales cambian (por ejemplo porque se cambia la cantidad y
orden de conexión de módulos de entrada y de salida), se usa esta tabla para evitar
propagar estos cambios al protocolo.
PLC extendido
Tratándose de una computadora, los fabricantes agregan funcionalidades más allá de
las básicas. Es común encontrar en los PLC:
● Variables numéricas y de texto
● Entradas analógicas (con su ADC)
● Salidas PWM
● Salidas de pulsos de pasos
● Comunicaciones serie
● Módulos PID
Bibliografía PLC y Ladder
● Bolton - Mechatronics - Electronic Control Systems in Mechanical and Electrical
Engineering, 6th edition, capítulo 14: Programmable logic controllers
○ 14.1 Programmable logic controller 349
○ 14.2 Basic PLC structure 349
○ 14.3 Input/output processing 353
○ 14.4 Ladder programming 354
○ 14.5 Instruction lists 358
○ 14.6 Latching and internal relays 361
○ 14.7 Sequencing 363
○ 14.8 Timers and counters