Si busca una bomba peristáltica de alto rendimiento diseñada para aplicaciones de laboratorio e industriales, le recomendamos consultar la Longer WT600-2J. Esta bomba ofrece caudales que oscilan entre 4,2 mL/min y 6000 mL/min. Dispone de un motor sin escobillas de alto par y sin mantenimiento que permite montar hasta 4 cabezales de bomba en el mismo drive.
La WT600-2J se puede controlar de forma remota desde su ordenador, lo que le otorga mayor flexibilidad y comodidad, especialmente si necesita ejecutar programas de bombeo complejos con bucles, pausas y velocidades de giro variables.
En esta publicación del blog, le mostraremos cómo comunicarse con la WT600-2J utilizando el protocolo LONGER RS485, un protocolo de comunicación serie que permite enviar comandos y recibir respuestas de la bomba. Asimismo, proporcionaremos algunos ejemplos y fragmentos de código sobre cómo emplear Python para redactar y enviar cadenas de comandos de control a la bomba.
ÍNDICE
¿Qué necesita para comunicarse con la WT600-2J?
Para comunicarse con la WT600-2J mediante el protocolo LONGER RS485, necesitará lo siguiente:
- Una bomba WT600-2J con un cabezal de bomba y un tube de su elección
- Un módulo de control RS485 que se conecta al puerto DB15 de la parte posterior de la bomba
- Un cable serie que conecta el módulo de control RS485 a su ordenador o dispositivo
- Una plataforma de programación (Python en este caso)
- Una comprensión básica del formato de datos, el formato de comandos y el formato PDU del protocolo LONGER RS485 (explicado a continuación 👇)
¿Cómo configurar el puerto de comunicación?
Antes de comenzar a enviar y recibir datos de la bomba, debe configurar el puerto de comunicación correctamente. Siga estos pasos:
- Conecte el conector DB15 al puerto DB15 situado en la parte posterior de la bomba
- Encienda la bomba
- Asegúrese de que los parámetros de comunicación de su plataforma de programación coincidan con los de la WT600-2J, que son:
- 1 bit de inicio
- 8 bits de datos
- 1 bit de paridad par
- 1 bit de parada
- una velocidad en baudios de 1200 bits/s
¿Cómo escribir cadenas de comandos de control para la WT600-2J?
Una vez que haya configurado el puerto de comunicación, puede comenzar a redactar y enviar cadenas de comandos de control a la bomba. Una cadena de comandos de control es una secuencia de caracteres hexadecimales que sigue un formato específico, el cual consta de:
- un indicador de inicio (E9H)
- una dirección de bomba (de 1 a 30, o 31 para difusión)
- una longitud de la PDU (unidad de datos de protocolo)
- una PDU, que contiene los caracteres de comando y los parámetros para la aplicación deseada
- una secuencia de verificación de trama (FCS), que se obtiene calculando el XOR de la dirección de la bomba, la longitud de la PDU y la PDU en sí (calcule su FCS utilizando nuestra calculadora XOR de secuencia de verificación de trama en línea)
La PDU y su longitud dependen de la aplicación solicitada a la bomba. Las aplicaciones comunes son:
- Establecer parámetro de funcionamiento (velocidad de rotación)
- Leer parámetro de funcionamiento (velocidad de rotación)
- Escribir dirección de la bomba
- Leer dirección de la bomba
Para cada aplicación, existe un conjunto correspondiente de caracteres de comando y parámetros que debe incluir en la PDU. Estos parámetros se detallan a continuación.
Establecer parámetro de funcionamiento (velocidad de rotación)
Esta aplicación consiste en escribir en la bomba. La longitud total de la PDU es de 6 bytes donde la cadena de comandos de control consta de (en el mismo orden exacto):
| WJ | Establecer velocidad | Estado 1 | Estado 2 |
| 2 bytes | 2 bytes | 1 byte | 1 byte |
- WJ, cadena de comando de control de 2 bytes, 57 4A
- Establecer la velocidad de rotación (2 bytes) con una velocidad máxima de 600 rpm (02 58)
- Estado 1 (1 byte):
- bit 0 – bit de inicio/parada, donde 1 es para iniciar la bomba y 0 es para detenerla
- bit 1 – bit de cebado, donde 1 es para cebar la bomba a la velocidad máxima de 600 rpm y 0 es para hacer funcionar la bomba a velocidad normal
- Estado 2 (1 byte):
- bit 0 – establece la dirección de rotación, donde 1 es para sentido horario y 0 es para sentido antihorario
La bomba responderá con WJ y mostrará en su pantalla frontal la velocidad de rotación tras recibir la cadena de comando de control.
Leer parámetro de funcionamiento (velocidad de rotación)
Esta aplicación consiste en leer de la bomba. La longitud total de la PDU es de 2 bytes y la cadena de comando de control es RJ.
La respuesta de la bomba consta de:
| RJ | Mostrar velocidad | Estado 1 | Estado 2 |
| 2 bytes | 2 bytes | 1 byte | 1 byte |
- RJ, cadena de comando de control de 2 bytes, 52 4A
Escribir dirección de la bomba
Esta aplicación consiste en escribir en la bomba. La longitud total de la PDU es de 4 bytes y la cadena de comando de control consta de:
| WID | Nueva ID de bomba. |
| 3 bytes | 1 byte |
- WID, cadena de comando de control de 3 bytes, 57 49 44
- Nueva dirección de la bomba (1 byte), puede ser la dirección de la bomba (1-30) o la dirección de difusión (31); la dirección predeterminada de la bomba es 1
La bomba responderá con WID.
Leer dirección de la bomba
Esta aplicación consiste en leer de la bomba. La longitud total de la PDU es de 3 bytes y la cadena de comando de control es RID.
En una cadena de comandos enviada desde el ordenador de control, si la dirección corresponde a una bomba en específico (1-30) y no a la dirección de difusión (31), la bomba correspondiente responderá con RID.
Ejemplos de cadenas de comandos de control
- Configurar la WT600-2J para que funcione en sentido horario a una velocidad de giro de 150 rpm
Cadena de comandos de control: E9 01 06 57 4A 00 96 01 01 8C
- E9 como indicador (flag)
- 01 como la dirección 1 de la bomba
- 06 como la longitud de la PDU (57 4A 00 96 01 01)
- 57 4A como los caracteres de comando WJ
- 00 96 se refiere a la velocidad de rotación, 0096(hex) = 150(dec) (consulte nuestra herramienta de conversión de bases en línea)
- 01 para poner en marcha la bomba a velocidad normal
- 01 para hacer funcionar la bomba en sentido horario
- 8C como el resultado XOR de 01 (dirección de la bomba), 06 (longitud de la PDU) y 57 4A 00 96 01 01 (PDU)
- Cambiar la dirección (inicialmente 1) de la WT600-2J a la dirección 7
Cadena de comandos de control: E9 01 04 57 49 44 07 58
- E9 como indicador (flag)
- 01 como la dirección inicial 1 de la bomba
- 04 como la longitud de la PDU (57 49 44 07)
- 57 49 44 como los caracteres de comando WID
- 07 como la nueva dirección de la bomba
- 58 como el resultado XOR de 01 (dirección de la bomba), 04 (longitud de la PDU) y 57 49 44 07 (PDU)
🚨No dude en utilizar nuestro intuitivo generador de cadenas de comandos en línea para generar sin esfuerzo cadenas de comandos de control precisas para su WT600-2J.
¿Cómo comunicarse con la WT600-2J utilizando Python?
A continuación se presentan fragmentos de código en Python que muestran cómo abrir el puerto serie, escribir y enviar cadenas de comandos de control a la bomba, así como redactar un programa de bombeo sencillo.
A partir del primer ejemplo presentado anteriormente, el siguiente fragmento de código en Python hace que la WT600-2J funcione en sentido horario a una velocidad de giro de 150 rpm.
### RUN PUMP 1, CLOCKWISE, AT A ROTATING SPEED OF 150 RPM
# To use the pySerial package
import serial
# Open the serial port with the data format corresponding to the WT600-2J
ser = serial.Serial('COM6', 1200, parity=serial.PARITY_EVEN, bytesize=8, stopbits=1, timeout=None, xonxoff=0, rtscts=0)
# Write the corresponding control command string in hexadecimal
Data = bytearray(b'\xE9\x01\x06\x57\x4A\x00\x96\x01\x01\x8C')
# Write the Data to the pump
ser.write(Data)
- En un segundo fragmento de código, haremos que la bomba (dirección 4) funcione en sentido horario a una velocidad de giro de 320 rpm durante 10 s, para luego hacerla funcionar en sentido antihorario a una velocidad de giro de 50 rpm durante 30 s antes de detenerla.
### RUN PUMP 4 CLOCKWISE AT A ROTATING SPEED OF 320 RPM FOR 10s, THEN COUNTER−CLOCKWISE AT A ROTATING SPEED OF 50 RPM FOR 30s BEFORE STOPPING IT
# To use the pySerial package
import serial
# To use the time package
import time
# Open the serial port with the data format corresponding to the WT600-2J
ser = serial.Serial('COM6', 1200, parity=serial.PARITY_EVEN, bytesize=8, stopbits=1, timeout=None, xonxoff=0, rtscts=0)
# Run pump 4 clockwise at a rotating speed of 320 rpm for 10s
Data = bytearray(b'\xE9\x04\x06\x57\x4A\x01\x40\x01\x01\x5E') # corresponding control command string in hexadecimal; 320(dec) = 01 40(hex)
ser.write(Data) # Write the Data to the pump
Pumping_time = 10;
while Pumping_time > 0:
print(Pumping_time)
time.sleep(1)
Pumping_time = Pumping_time - 1
end # 10s delay with a visible timer
# Run pump 4 counter-clockwise at a rotating speed of 50 rpm for 30s
Data = bytearray(b'\xE9\x04\x06\x57\x4A\x00\x32\x01\x00\x2C') # corresponding control command string in hexadecimal; 50(dec) = 00 32(hex)
ser.write(Data) # Write the Data to the pump
Pumping_time = 30;
while Pumping_time > 0:
print(Pumping_time)
time.sleep(1)
Pumping_time = Pumping_time - 1
end # 30s delay with a visible timer
# Stop the pump
Data = bytearray(b'\xE9\x04\x06\x57\x4A\x00\x32\x00\x00\x2D') # corresponding control command string in hexadecimal: we took the previous command string and changed the State 1 byte from 01 (start pump) to 00 (stop pump) and of course computed the new fcs
ser.write(Data) # Write the Data to the pump
Conclusión
Esperamos que esta entrada del blog le haya ayudado a comprender cómo controlar la bomba peristáltica multicanal Longer WT600-2J de forma remota mediante Python utilizando el protocolo LONGER RS485. También puede utilizar otras plataformas de programación, como Matlab, para redactar y enviar cadenas de comandos de control a la bomba, así como para leer e interpretar las respuestas de esta. Para obtener más detalles sobre este tema, consulte nuestra entrada de blog “How to Control the Longer WT600-2J(1J)(3J) Pump via Matlab ?”.
Si tiene alguna pregunta o comentario, no dude en ponerse en contacto con nosotros en contact@darwin-microfluidics.com.



¿Cómo controlar la bomba Longer WT600-2J(1J)(3J) mediante Matlab? - Darwin Microfluidics
[…] Esperamos que esta entrada del blog le haya ayudado a comprender cómo controlar la bomba peristáltica multicanal Longer WT600-2J de forma remota a través de Matlab utilizando el protocolo LONGER RS485. También puede utilizar otras plataformas de programación, como Python, para escribir y enviar cadenas de comandos de control a la bomba, así como para leer e interpretar las respuestas de esta. Para obtener más detalles sobre este tema, consulte nuestra entrada de blog «¿Cómo controlar la bomba Longer WT600-2J(1J)(3J) mediante Python?». [...]
¿Cómo controlar de forma remota sus bombas peristálticas Longer?
[...] ¿Cómo controlar la bomba Longer WT600-2J mediante Python? [...]