Introducción
En este post, te explicamos cómo hacer lo básico para trabajar con las entradas digitales de los PLCs Raspberry Pi deIndustrial Shields. Al leer este post, entenderás cómo conectar, configurar y trabajar con las entradas de tu controlador industrial Raspberry Pi.
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 digitalesm necesitarás cualquiera de nuestros controladores PLC basados en Raspberry Pi para automatización industrial:
Tipos de entrada
Hay dos tipos diferentes de entradas en los dispositivos PLC industriales Raspberry Pi:
Entrada 5 Vdc - 24 Vdc
Entrada optoisolada 5 Vdc - 24 Vdc
Cada una tiene un dibujo específico en la carcasa del PLC:
Entrada optoaislada 5 - 24 Vdc
Entrada 5 - 24 Vdc
Hardware
No todas las entradas deben conectarse de la misma manera. Mientras que las entradas no aisladas deben estar referenciadas a la misma tierra que el PLC, las entradas aisladas pueden conectarse a las tierras de las entradas, lo que permite aislar los sistemas del PLC. En cualquier caso, la entrada optoaislada puede conectarse también a la tierra del PLC.
Las siguientes imágenes muestran cómo conectar las diferentes entradas al PLC para la automatización industrial:
Entrada optoaislada 5 - 24 Vdc
Entrada 5 - 24 Vdc
Software
Cómo trabajar con scripts Bash
Zona Analógica/Digital
> cd /home/pi/test/analog
Zona Relé
> cd /home/pi/test/relay
El script get-digital-input mostrará el valor del pin de entrada seleccionado. Solo se proporcionará el pin con el que vas a trabajar. Para llamar a la función, debes hacer lo siguiente:
> ./get-digital-input <input>
Ejemplo para la entrada I0.0 que devuelve un valor True:
> ./get-digital-input I0.0
1
Cómo trabajar con Python
Los comandos bash son la base para trabajar fácilmente con el PLC Raspberry. Para trabajar con archivos Python, si quieres interactuar con las E/S 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_inputs.py
Python le permite ejecutar un comando de shell que se almacena en una cadena utilizando la biblioteca de subprocesos. Para poder trabajar con ella, tendrás que importarla al principio del archivo.
import subprocess
En este ejemplo vas a leer la entrada dada del pin I0.0 del PLC de la Raspberry Pi. Para ello, implementarás un bucle que estará constantemente leyendo el valor de la entrada. Si detecta tensión, imprimirá un valor True.
import subprocess
import time
print("Start")
while True:
try:
x = subprocess.run(["./get-digital-input","I0.0"], stdout=subprocess.PIPE, text=True)
if '1' in x.stdout:
print(True)
time.sleep(1)
else:
print(False)
time.sleep(1)
except KeyboardInterrupt:
print("\nExit")
break
Para ejecutar el programa Python, lo llamarás de la siguiente manera:
> python3 digital_inputs.py
Para salir del programa, basta con pulsar ^C.