Conceptos básicos sobre salidas digitales del PLC industrial Raspberry
Aprender a trabajar con las salidas digitales del PLC Raspberry Pi
1 febrero, 2021 por
Conceptos básicos sobre salidas digitales del PLC industrial Raspberry
Boot & Work Corp. S.L., Marti Guillem Cura

Introducción

En este post, te explicamos cómo hacer lo básico para trabajar con las salidas digitales de los controladores lógicos programables Raspberry Pi de Industrial Shields. Entenderás cómo conectar y configurar las salidas digitales de tu controlador industrial Raspberry Pi PLC.


 Lecturas previas

Te recomendamos que leas los siguientes posts para entender el programa de este blog. Hemos utilizado las siguientes entradas del blog para hacer este ejemplo:


Requisitos

Para trabajar con salidas digitales, necesitarás cualquiera de nuestros controladores industriales para la automatización industrial:

Configuración de los conmutadores

La mayoría de las salidas digitales están siempre conectadas a la Raspberry interna, pero en algunos casos, el usuario puede elegir entre una configuración especial de periféricos o un GPIO cambiando la posición de los Conmutadores Dip.

Cada interruptor puede seleccionar solo una configuración. Por ejemplo, en este caso estás viendo la configuración de los GPIOs de un PLC de código abierto Raspberry Pi 21+. Si pones el interruptor en la posición derecha (ON) en la parte inferior, se activará la salida Q0.0 y podrás trabajar como digital. Si el interruptor está en la posición izquierda (OFF), activarás la salida como analógica. Tenga en cuenta que cada interruptor tiene dos configuraciones diferentes: debe seleccionar la opción derecha (ON) o la izquierda (OFF).

A0.0 Desactivado - Q0.0 Activado

A0.0 Desactivado - Q0.0 Activado

A0.0 Activado - Q0.0 Desactivado

A0.0 Activado - Q0.0 Desactivado                  

 Hardware

Todas las salidas digitales están optoaisladas (utilizan las mismas GND que el PLC). La imagen siguiente muestra cómo conectar una salida digital a su PLC:


Salida de 5-24 Vdc

Salida de 5-24 Vdc

 Software

How to work with Bash Scripts

Raspberry Pi PLC tiene scripts bash por defecto para trabajar con las entradas. Todos los scripts de entradas y salidas deben ser ejecutados desde la ruta correcta. Depende del tipo de zona de la E/S ejecutada. En función de la zona de la E/S que necesites activar, debes ejecutar los scripts desde una ruta específica:

  • Zona Analógica/Digital

> cd /home/pi/test/analog
  • Zona Relé

> cd /home/pi/test/relay

La función set inicializará el pin. Proporcionará el pin con el que va a trabajar y el valor que se establecerá. Para la opción digital, un 1 lógico encenderá el pin mientras que un 0 lo detendrá.

Por defecto, si no se proporciona la opción de valor, se inicializará como un 1 para las salidas digitales. Si se eliges cualquier otra opción, un código de error te avisará. Para llamar a la función, harás lo siguiente:

> ./set-digital-output <output> <value>

Hay algunos pines que pueden funcionar tanto en digital como en analógico. En este caso, si has utilizado estos pines antes en digital o analógico y quieres cambiar su modo, debes llamar a la función set, proporcionando stop a la opción de valor; de lo contrario habrá un error del sistema. Si hay un reinicio, no es necesario hacerlo.

Los pines que pueden funcionar con ambas configuraciones analógicas/digitales son:

Q0.5Q1.5Q2.5
Q0.6Q1.6Q2.6
Q0.7Q1.7Q2.7

Ejemplo:

> ./set-digital-output Q0.5 1
> ./set-digital-output Q0.5 0
> ./set-digital-output Q0.5 stop
> ./set-analog-output A0.5 50

How to work with Python

Los comandos bash son la base para trabajar fácilmente con el PLC basado en Raspberry Pi. Para trabajar con archivos Python, si quieres interactuar con las IOs del PLC, tendrás que llamar a estos scripts.


Para editar los archivos, trabajarás con el editor Nano incluido por defecto y con Python3.

> nano digital_outputs.py

Python te permite ejecutar un comando de shell que se almacena en una cadena utilizando la función os.system(). Para poder trabajar con ella, necesitarás importar su librería al principio del archivo. Además, necesitarás incluir la librería time para invocar un retraso de 2 segundos.

import os
import time

En este programa de ejemplo, vas a hacer parpadear algunos de los leds digitales del PLC de la Raspberry industrial. Para ello, implementarás un bucle que los abrirá y apagará constantemente en un intervalo de 2 segundos.

import os
import time
os.system("echo Start")
while True:
try:
os.system("sudo ./set-digital-output Q0.0 1")
os.system("sudo ./set-digital-output Q0.1 1")
os.system("sudo ./set-digital-output Q0.2 1")
os.system("sudo ./set-digital-output Q0.3 1")
os.system("sudo ./set-digital-output Q0.4 1")
os.system("sudo ./set-digital-output Q0.5 1")
time.sleep(2)
os.system("sudo ./set-digital-output Q0.0 0")
os.system("sudo ./set-digital-output Q0.1 0")
os.system("sudo ./set-digital-output Q0.2 0")
os.system("sudo ./set-digital-output Q0.3 0")
os.system("sudo ./set-digital-output Q0.4 0")
os.system("sudo ./set-digital-output Q0.5 0")
time.sleep(2)
except KeyboardInterrupt:
os.system("sudo ./set-digital-output Q0.0 0")
os.system("sudo ./set-digital-output Q0.1 0")
os.system("sudo ./set-digital-output Q0.2 0")
os.system("sudo ./set-digital-output Q0.3 0")
os.system("sudo ./set-digital-output Q0.4 0")
os.system("sudo ./set-digital-output Q0.5 0")
os.system("echo End")
break

 Para ejecutar el programa Python, lo llamarás como sigue:

> python3 digital_outputs.py

Para salir del programa basta con pulsar ^C.


¿Tienes dudas técnicas sobre nuestros dispositivos?

Nuestro equipo de Customer Care está listo para ayudarle.


Conceptos básicos sobre salidas digitales del PLC industrial Raspberry
Boot & Work Corp. S.L., Marti Guillem Cura
1 febrero, 2021
Compartir
Archivar

¿Buscas tu controlador lógico programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Comparación PLC industrial>>>

¿Quieres más información?

¡Rellena el formulario!

¡Cuéntame más!