If you are looking for a powerful peristaltic pump designed for laboratory and industrial applications, you might want to check out the Longer WT600-2J. This pump can deliver flow rates ranging between 4.2 mL/min and 6000 mL/min. It has a high torque maintenance-free brushless motor that allows mounting up to 4 pump heads on the same driver.
Le WT600-2J peut être contrôlé à distance depuis votre ordinateur, ce qui vous offre une plus grande flexibilité et commodité, surtout si vous souhaitez exécuter des programmes de pompage complexes avec des boucles, des pauses et des vitesses de rotation variables.
Dans cet article de blog, nous vous montrerons comment communiquer avec le WT600-2J en utilisant le protocole LONGER RS485, qui est un protocole de communication série vous permettant d'envoyer des commandes et de recevoir des réponses de la pompe. Nous fournirons également quelques exemples et des extraits de code sur la façon d'utiliser Python pour écrire et envoyer des chaînes de commandes de contrôle à la pompe.
TABLE DES MATIÈRES
De quoi avez-vous besoin pour communiquer avec le WT600-2J ?
Pour communiquer avec le WT600-2J en utilisant le protocole LONGER RS485, vous aurez besoin des éléments suivants :
- A WT600-2J pump with a pump head and a tubing of your choice
- Un module de contrôle RS485 qui se branche sur le port DB15 à l'arrière de la pompe
- Un câble série qui connecte le module de contrôle RS485 à votre ordinateur ou appareil
- Une plateforme de programmation (Python dans le cas présent)
- Une compréhension de base du format des données, du format des commandes et du format PDU du protocole LONGER RS485 (expliqué ci-dessous 👇)
Comment configurer le port de communication ?
Avant de pouvoir commencer à envoyer et recevoir des données de la pompe, vous devez configurer correctement le port de communication. Voici les étapes à suivre :
- Connectez le connecteur DB15 au port DB15 à l'arrière de la pompe
- Allumez la pompe
- Assurez-vous que les paramètres de communication de votre plateforme de programmation correspondent à ceux du WT600-2J, à savoir :
- 1 bit de début
- 8 bits de données
- 1 parité paire
- 1 bit d'arrêt
- un débit en bauds de 1200 bits/s
Comment écrire des chaînes de commande pour le WT600-2J ?
Une fois le port de communication configuré, vous pouvez commencer à écrire et envoyer des chaînes de commande de contrôle à la pompe. Une chaîne de commande de contrôle est une séquence de caractères hexadécimaux qui suit un format spécifique, composé de :
- un drapeau de début (E9H)
- une adresse de pompe (de 1 à 30, ou 31 pour la diffusion)
- une longueur du pdu (unité de données de protocole)
- un pdu, qui contient les caractères de commande et les paramètres pour l'application souhaitée
- une séquence de contrôle de trame (FCS), qui est obtenue en calculant le XOR de l'adresse de la pompe, de la longueur de la PDU et de la PDU elle-même (calculez votre FCS à l'aide de notre calculateur XOR de séquence de contrôle de trame en ligne)
Le pdu et sa longueur dépendent de l'application requise de la pompe. Les applications courantes sont :
- Régler le paramètre de fonctionnement (vitesse de rotation)
- Lire le paramètre de fonctionnement (vitesse de rotation)
- Écrire l'adresse de la pompe
- Lire l'adresse de la pompe
Pour chaque application, il existe un ensemble correspondant de caractères de commande et de paramètres que vous devez inclure dans le pdu. Ces paramètres sont détaillés ci-dessous.
Régler le paramètre de fonctionnement (vitesse de rotation)
Cette application consiste à écrire à la pompe. La longueur totale de la PDU est de 6 octets où la chaîne de commande de contrôle se compose de (dans le même ordre exact) :
| WJ | Régler la vitesse | État 1 | État 2 |
| 2 octets | 2 octets | 1 octet | 1 octet |
- WJ, chaîne de commande de contrôle de 2 octets, 57 4A
- Régler la vitesse de rotation (2 octets) avec une vitesse maximale de 600 tr/min (02 58)
- État 1 (1 octet) :
- bit 0 – bit de démarrage/arrêt où 1 démarre la pompe et 0 l'arrête
- bit 1 – bit d'amorçage où 1 signifie amorcer la pompe à la vitesse maximale de 600 tr/min et 0 signifie faire fonctionner la pompe à une vitesse normale
- État 2 (1 octet) :
- bit 0 – définit le sens de rotation où 1 correspond au sens horaire et 0 au sens antihoraire
La pompe répondra avec WJ et affichera sur son écran frontal la vitesse de rotation après réception de la chaîne de commande.
Lire le paramètre de fonctionnement (vitesse de rotation)
Cette application consiste à lire depuis la pompe. La longueur totale de la PDU est de 2 octets où la chaîne de commande de contrôle est RJ.
La réponse de la pompe est la suivante :
| RJ | Afficher la vitesse | État 1 | État 2 |
| 2 octets | 2 octets | 1 octet | 1 octet |
- RJ, chaîne de commande de contrôle de 2 octets, 52 4A
Écrire l'adresse de la pompe
Cette application consiste à écrire à la pompe. La longueur totale de la PDU est de 4 octets où la chaîne de commande de contrôle se compose de :
| WID | Nouveau numéro d'ID de pompe. |
| 3 octets | 1 octet |
- WID, chaîne de commande de contrôle de 3 octets, 57 49 44
- Nouvelle adresse de pompe (1 octet), peut être l'adresse de la pompe (1-30) ou l'adresse de diffusion (31) ; l'adresse de pompe par défaut est 1
La pompe répondra par WID.
Lire l'adresse de la pompe
Cette application consiste à lire depuis la pompe. La longueur totale de la PDU est de 3 octets où la chaîne de commande de contrôle est RID.
Dans une chaîne de commande provenant de l'ordinateur de contrôle, si l'adresse est celle d'une pompe (1-30) et non l'adresse de diffusion (31), la pompe correspondante répondra par RID.
Exemples de chaînes de commande de contrôle
- Régler le WT600-2J pour qu'il fonctionne dans le sens horaire à une vitesse de rotation de 150 tr/min
Chaîne de commande de contrôle : E9 01 06 57 4A 00 96 01 01 8C
- E9 comme indicateur
- 01 comme adresse 1 de la pompe
- 06 comme longueur du PDU (57 4A 00 96 01 01)
- 57 4A comme caractères de commande WJ
- 00 96 refers to the rotation speed, 0096(hex) = 150(dec) (check our online base conversion tool)
- 01 pour démarrer la pompe à vitesse normale
- 01 pour faire fonctionner la pompe dans le sens des aiguilles d'une montre
- 8C comme le résultat XOR de 01 (adresse de la pompe), 06 (longueur de la PDU) et 57 4A 00 96 01 01 (PDU)
- Régler l'adresse (initialement 1) du WT600-2J à l'adresse 7
Chaîne de commande de contrôle : E9 01 04 57 49 44 07 58
- E9 comme indicateur
- 01 comme adresse initiale 1 de la pompe
- 04 comme la longueur de la PDU (57 49 44 07)
- 57 49 44 comme caractères de commande WID
- 07 comme nouvelle adresse de la pompe
- 58 comme le résultat XOR de 01 (adresse de la pompe), 04 (longueur de la PDU) et 57 49 44 07 (PDU)
🚨Do not hesitate to use our user-friendly online command string generator to effortlessly generate precise control command strings for your WT600-2J.
Comment communiquer avec le WT600-2J en utilisant Python ?
Des extraits de code Python montrant comment ouvrir le port série, écrire et envoyer des chaînes de commande à la pompe, et écrire un programme de pompage simple sont présentés ci-dessous.
D'après le premier exemple présenté ci-dessus, l'extrait de code Python suivant fait fonctionner le WT600-2J dans le sens horaire à une vitesse de rotation de 150 tr/min.
### 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)
- Dans un second extrait de code, faisons tourner la pompe (adresse 4) dans le sens horaire à une vitesse de rotation de 320 rpm pendant 10s, puis faisons-la tourner dans le sens anti-horaire à une vitesse de rotation de 50 rpm pendant 30s avant de l'arrêter.
### 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
Conclusion
We hope this blog post has helped you understand how to control the Longer WT600-2J multichannel peristaltic pump remotely via Python using the LONGER RS485 protocol. You can also use other programming platforms such as Matlab to write and send control command strings to the pump and read and interpret the responses from the pump. For more details about this topic, check our blog post “How to Control the Longer WT600-2J(1J)(3J) Pump via Matlab ?”.
If you have any questions or feedback, please feel free to contact us at contact@darwin-microfluidics.com.



Comment Contrôler la Pompe Longer WT600-2J(1J)(3J) via Matlab ? - Darwin Microfluidics
[…] We hope this blog post has helped you understand how to control the Longer WT600-2J multichannel peristaltic pump remotely via Matlab using the LONGER RS485 protocol. You can also use other programming platforms such as Python to write and send control command strings to the pump and read and interpret the responses from the pump. For more details about this topic, check our blog post “How to Control the Longer WT600-2J(1J)(3J) Pump via Python ?”. […]
Comment Contrôler à Distance vos Pompes Péristaltiques Longer ?
[…] How to Control the Longer WT600-2J Pump via Python ? […]