Si estás buscando una bomba peristáltica potente diseñada para aplicaciones de laboratorio e industriales, quizá te interese echar un vistazo a la Longer WT600-2J. Esta bomba puede alcanzar caudales que oscilan entre 4,2 ml/min y 6.000 ml/min. Cuenta con un motor sin escobillas de alto par que no requiere mantenimiento y que permite montar hasta 4 cabezales de bomba en el mismo controlador.
El WT600-2J se puede controlar de forma remota desde tu ordenador, lo que te ofrece mayor flexibilidad y comodidad, sobre todo si deseas ejecutar programas de bombeo complejos con bucles, pausas y velocidades de rotación variables.
En esta entrada del blog, te mostraremos cómo comunicarte con el WT600-2J mediante el protocolo LONGER RS485, un protocolo de comunicación en serie que te permite enviar comandos y recibir respuestas de la bomba. También te proporcionaremos algunos ejemplos y fragmentos de código sobre cómo utilizar Matlab para escribir y enviar cadenas de comandos de control a la bomba.
ÍNDICE
¿Qué se necesita para comunicarse con el WT600-2J?
Para comunicarte con el WT600-2J mediante el protocolo LONGER RS485, necesitarás lo siguiente:
- Una bomba WT600-2J con una cabeza de bombeo y una tube de tu elección
- Un módulo de control RS485 que se conecta al puerto DB15 situado en la parte trasera de la bomba
- Un cable serie que conecta el módulo de control RS485 a tu ordenador o dispositivo
- Una plataforma de programación (Matlab, en el presente caso)
- Conocimientos básicos sobre el formato de datos, el formato de comandos y el formato de PDU del protocolo LONGER RS485 (que se explican a continuación 👇)
¿Cómo se configura el puerto de comunicación?
Antes de poder empezar a enviar y recibir datos de la bomba, debes configurar correctamente el puerto de comunicación. Estos son los pasos que debes seguir:
- Conecta el conector DB15 al puerto DB15 situado en la parte trasera de la bomba
- Enciende la bomba
- Asegúrate de que los parámetros de comunicación de tu plataforma de programación coincidan con los del WT600-2J, que son:
- 1 bit de inicio
- 8 bits de datos
- 1 paridad par
- 1 bit de parada
- una velocidad de transmisión de 1200 bits/s
¿Cómo escribir cadenas de comandos de control en el WT600-2J?
Una vez que hayas configurado el puerto de comunicación, podrás empezar a escribir 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, compuesto por:
- una bandera de salida (E9H)
- una dirección de bomba (del 1 al 30, o 31 para difusión)
- la longitud de la PDU (unidad de datos de protocolo)
- una PDU, que contiene los caracteres de comando y los parámetros de la aplicación deseada
- una secuencia de comprobación de trama (FCS), que se obtiene calculando el XOR de la dirección de bombeo, la longitud de la PDU y la propia PDU (calcula tu FCS utilizando nuestra calculadora en línea de secuencias de comprobación de trama XOR)
La unidad de potencia (PDU) y su longitud dependen de la aplicación para la que se utilice la bomba. Las aplicaciones más habituales son:
- Ajustar el parámetro de funcionamiento (velocidad de rotación)
- Leer parámetro de funcionamiento (velocidad de rotación)
- Escribir la dirección de la bomba
- Leerla dirección de la bomba
Para cada aplicación, existe un conjunto correspondiente de caracteres de comando y parámetros que debes incluir en la PDU. A continuación se detallan estos parámetros.
Ajustar el parámetro de funcionamiento (velocidad de rotación)
Esta aplicación consiste en enviar datos a la bomba. La longitud total de la unidad de datos (PDU) es de 6 bytes, y la cadena del comando de control está compuesta por (en este mismo orden):
| WJ | Ajustar la velocidad | Estado 1 | Estado 2 |
| 2 bytes | 2 bytes | 1 byte | 1 byte |
- WJ, cadena de comando de control de 2 bytes, 57 4A
- Ajustar 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 arranque/parada; un 1 pone en marcha la bomba y un 0 la detiene
- bit 1: bit de arranque; cuando es 1, la bomba arranca a la velocidad máxima de 600 rpm, y cuando es 0, la bomba funciona a velocidad normal
- Estado 2 (1 byte):
- bit 0: establece elsentido de rotación; 1 significa en el sentido de las agujas del reloj y 0, en sentido contrario a las agujas del reloj
La bomba responderá con WJ y mostrará en su pantalla frontal la velocidad de rotación tras recibir la cadena de comandos de control.
Leer parámetro de funcionamiento (velocidad de rotación)
Esta aplicación consiste en leer datos de la bomba. La longitud total de la PDU es de 2 bytes, y la cadena del comando de control es RJ.
La respuesta de la bomba consiste en:
| 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 la dirección de la bomba
Esta aplicación consiste en enviar datos a la bomba. La longitud total de la PDU es de 4 bytes, y la cadena del comando de control está compuesta por:
| WID | N.º de identificación de la nueva bomba. |
| 3 bytes | 1 byte |
- WID, cadena de comando de control de 3 bytes, 57 49 44
- La nueva dirección de la bomba (1 byte), puede ser una dirección de bomba (1-30) o una dirección de difusión (31); la dirección de bomba por defecto es 1
La bomba responderá con WID.
Leer la dirección de la bomba
Esta aplicación consiste en leer datos de la bomba. La longitud total de la PDU es de 3 bytes, y la cadena del comando de control es RID.
En una cadena de comandos procedente del ordenador de control, si la dirección es la de una bomba (1-30) y no la dirección de difusión (31), la bomba correspondiente responderá con«RID».
Ejemplos de cadenas de comandos de control
- Configura el WT600-2J para que gire en el sentido de las agujas del reloj a una velocidad de 150 rpm.
Cadena de comando de control: E9 01 06 57 4A 00 96 01 01 8C
- E9como indicador
- 01como dirección 1 de la bomba
- 06como longitud de la PDU (57 4A 00 96 01 01)
- 57 4A como caracteres de comando WJ
- 00 96 se refiere a la velocidad de rotación; 0096 (hexadecimal) = 150 (decimal) (consulta nuestraherramienta en líneade conversión entre sistemas numéricos)
- 01para poner en marcha la bomba a velocidad normal
- 01: para hacer funcionar la bomba en el sentido de las agujas del reloj
- 8Ccomo resultado de la operación XOR entre01(dirección de la bomba),06(longitud de la PDU) y57 4A 00 96 01 01(PDU)
- Configura la dirección (inicialmente 1) del WT600-2J en la dirección 7
Cadena de comando de control: E9 01 04 57 49 44 07 58
- E9como indicador
- 01 como dirección inicial 1 de la bomba
- 04 como longitud de la PDU (57 49 44 07)
- 57 49 44 como caracteres de comando WID
- 07 como nueva dirección de la bomba
- 58como resultado de la operación XOR entre01(dirección de la bomba),04(longitud de la PDU) y 57 49 44 07(PDU)
🚨No dudes en utilizar nuestro sencillo generador de cadenas de comandos en línea para crear sin esfuerzo cadenas de comandos de control precisas para tu WT600-2J.
¿Cómo comunicarse con el WT600-2J utilizando Matlab?
A continuación se presentan fragmentos de código de MATLAB que muestran cómo abrir el puerto serie, escribir y enviar cadenas de comandos de control a la bomba, así como escribir un programa sencillo de bombeo.
A partir del primer ejemplo que acabamos de presentar, el siguiente fragmento de código de MATLAB hace que el WT600-2J gire en el sentido de las agujas del reloj a una velocidad de 150 rpm.
%%% RUN PUMP 1, CLOCKWISE, AT A ROTATING SPEED OF 150 RPM
% Open the serial port with the data format corresponding to the WT600-2J
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Write the corresponding control command string
Str = 'E9 01 06 57 4A 00 96 01 01 8C';
% Read data from Str, convert it according to the format specified '%2x' (hexadecimal conversion), transpose and return the results in an array
Data = sscanf(Str, '%2x').';
% Write the Data to the pump in the form of an unsigned integer 8bits
write(s, Data, uint8);
- En un segundo fragmento de código, hagamos que la bomba (dirección 4) gire en sentido horario a una velocidad de 320 rpm durante 10 s y, a continuación, que gire en sentido antihorario a una velocidad 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
% Open the serial port with the data format corresponding to the WT600-2J
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Run pump 4 clockwise at a rotating speed of 320 rpm for 10s
Str = 'E9 04 06 57 4A 01 40 01 01 5E'; % 320 (dec) = 01 40 (hex)
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
Pumping_time = 10;
while Pumping_time > 0
pause(1)
Pumping_time = Pumping_time − 1;
disp(['Remaining_time:' num2str(Pumping_time)])
end % 10s delay with a visible timer
% Run pump 4 counter-clockwise at a rotating speed of 50 rpm for 30s
Str = 'E9 04 06 57 4A 00 32 01 00 2C'; % 50 (dec) = 00 32 (hex)
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
Pumping_time = 30;
while Pumping_time > 0
pause(1)
Pumping_time = Pumping_time − 1;
disp(['Remaining_time:' num2str(Pumping_time)])
end % 30s delay with a visible timer
% Stop the pump
Str = 'E9 04 06 57 4A 00 32 00 00 2D'; % corresponding control command string; we took the previous command string and changed the State 1 byte from 01 (start the pump) to 00 (stop the pump) and of course computed the new fcs
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
Conclusión
Esperamos que esta entrada del blog te haya ayudado a comprender cómo controlar de forma remota la bomba peristáltica multicanal Longer WT600-2J a través de MATLAB utilizando el protocolo LONGER RS485. También puedes 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 la misma. Para obtener más detalles sobre este tema, consulta nuestra entrada del blog «¿Cómo controlar la bomba Longer WT600-2J(1J)(3J) mediante Python?».
Si tienes alguna pregunta o comentario, no dudes en ponerte en contacto con nosotros en contact@darwin-microfluidics.com.



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