Introducción
Según la Wikipedia, un analizador lógico es un instrumento electrónico que captura y muestra múltiples señales de un sistema digital o circuito digital.
En este post, aprenderemos a conectar un analizador lógico a un módulo MAX485 y al PLC basado en Raspberry Pi, y aprenderemos a ver los datos entrantes y salientes utilizando código programado en Python.
Últimas publicaciones
Requisitos
Cómo conectar el MAX485 y el Logic Analyzer
En primer lugar, vamos a establecer las conexiones.
Conecta el hardware, como puedes ver en la tabla y la imagen de abajo:
RASPBERRY PLC | SALEAE LOGIC ANALYZER | MAX485 | PC |
GND | GND | GND, RE, DE | |
5V | VCC | ||
A+ | A | ||
B+ | B | ||
CH1 | RO | ||
USB | USB |
Enviar datos a través de RS485
1. Accede a tu controlador PLC Raspberry Pi.
2. Crea un archivo llamado test-rs485.py.
touch test-rs485.py
3. Da permisos al archivo:
chmod 755 test-rs485.py
4. Edita el archivo y añade este código:
from time import sleep
from serial import Serial
with Serial('/dev/ttySC0', 115200) as s:
while True:
tx = "hello"
sleep(0.5)
s.write(tx.encode())
s.flush
python test-rs485.py
Instalar el software Saleae Logic Analyzer
Una vez que el hardware está correctamente conectado y estás enviando datos desde el puerto RS485 del PLC de código abierto Raspberry Pi, puedes ir al sitio web de Saleae y descargar el paquete que más te convenga. En nuestro caso, vamos a descargar el .zip de Linux 64 bits.
Haz clic en él y descárgalo. Una vez descargado, extrae los archivos y haz doble clic en el archivo Logic para lanzar el software.
Lanzar el software Logic Analyzer
Una vez que lances el software, deberías ver una ventana como esta:
Puedes ver los 8 canales a la izquierda, y otro panel a la derecha.
1. On the right, click on the symbol next to Analyzers > Async Serial.
2. Establece la misma tasa de baudios que en el código de la Raspberry. En nuestro caso: 115200. Deja el resto por defecto. Haz clic en Guardar.
3. Haz clic en Start.
4. Desplázate hacia dentro y hacia fuera para acercarte a las líneas con los bytes, y ajústalo para que puedas ver los datos con claridad.
Representación de los datos
Los puntos de la trama recibida representan los bits de los datos en little-endian, por lo que el bit menos significativo (también LSB) será el primero en ser leído.
En este caso, podemos ver que obtenemos lo siguiente, de binario a ASCII:
- 01101000: h
- 01100101: e
- 01101100: l
- 01101100: l
- 01101111: o
- (framing error)
De todos modos, en los protocolos decodificados del panel de la derecha, se pueden ver los datos que se obtienen
Ahora, ¡es tu turno! ¿Quieres saber cómo enviar datos a través del Puerto Serie?
Cómo abrir Logic Analyzer y ejecutar RS485 con el PLC industrial Raspberry