Als u op zoek bent naar een krachtige peristaltische pomp die is ontworpen voor laboratorium- en industriële toepassingen, is de Longer WT600-2J. Deze pomp kan debieten leveren tussen 4,2 ml/min en 6000 ml/min. Hij is voorzien van een onderhoudsvrije borstelloze motor met een hoog koppel, waardoor er tot wel 4 pompkoppen op dezelfde aandrijving kunnen worden gemonteerd.
De WT600-2J kan op afstand worden bediend vanaf uw computer, wat u meer flexibiliteit en gebruiksgemak biedt, vooral als u complexe pompprogramma’s wilt uitvoeren met lussen, pauzes en variërende rotatiesnelheden.
In deze blogpost laten we je zien hoe je met de WT600-2J kunt communiceren via het LONGER RS485-protocol, een serieel communicatieprotocol waarmee je opdrachten naar de pomp kunt sturen en reacties van de pomp kunt ontvangen. We geven ook enkele voorbeelden en codefragmenten om te laten zien hoe je met Pythonbesturingsopdrachten kunt schrijven en naar de pomp kunt sturen.
INHOUDSOPGAVE
Wat heb je nodig om met de WT600-2J te communiceren?
Om via het LONGER RS485-protocol met de WT600-2J te communiceren, hebt u het volgende nodig:
- Een WT600-2J-pomp met een pompkop en een tube naar keuze
- Een RS485 -besturingsmodule die in de DB15-poort aan de achterzijde van de pomp wordt aangesloten
- Een seriële kabel waarmee de RS485-besturingsmodule op uw computer of apparaat wordt aangesloten
- Een programmeerplatform (in dit geval Python)
- Een basiskennis van het gegevensformaat, het commandoformaat en het PDU-formaat van het LONGER RS485-protocol (hieronder uitgelegd 👇)
Hoe stel je de communicatiepoort in?
Voordat u gegevens kunt verzenden naar en ontvangen van de pomp, moet u de communicatiepoort correct instellen. Volg hiervoor de onderstaande stappen:
- Sluit de DB15-connector aan op de DB15-poort aan de achterzijde van de pomp
- Zet de pomp aan
- Zorg ervoor dat de communicatieparameters op uw programmeerplatform overeenkomen met die van de WT600-2J, namelijk:
- 1 startbit
- 8 databits
- 1 even pariteit
- 1 stopbit
- een baudrate van 1200 bits/s
Hoe schrijf je besturingsopdrachten naar de WT600-2J?
Zodra je de communicatiepoort hebt ingesteld, kun je beginnen met het schrijven en verzenden van reeksen besturingsopdrachten naar de pomp. Een reeks besturingsopdrachten is een reeks hexadecimale tekens die een specifieke indeling volgt, bestaande uit:
- een startvlag (E9H)
- een pompadres (1 tot en met 30, of 31 voor een broadcast)
- een lengte van de PDU (protocol data unit)
- een PDU, die de opdrachttekens en de parameters voor de gewenste toepassing bevat
- een frame check sequence (FCS), die wordt verkregen door de XOR-waarde te berekenen van het pompadres, de lengte van de PDU en de PDU zelf (bereken je FCS met behulp van onze online FCS-XOR-calculator)
De pdu en de lengte ervan zijn afhankelijk van de toepassing waarvoor de pomp wordt ingezet. De meest voorkomende toepassingen zijn:
- Loopparameter instellen (rotatiesnelheid)
- Lees de bedrijfsparameter (rotatiesnelheid)
- Pompadres schrijven
- Pompadres uitlezen
Voor elke toepassing is er een bijbehorende reeks opdrachttekens en parameters die u in de PDU moet opnemen. Deze parameters worden hieronder nader toegelicht.
Loopparameter instellen (rotatiesnelheid)
Deze toepassing bestaat uit het schrijven naar de pomp. De totale lengte van de PDU bedraagt 6 bytes, waarbij de reeks van besturingsopdrachten bestaat uit (in precies dezelfde volgorde):
| WJ | Snelheid instellen | Toestand 1 | Toestand 2 |
| 2 bytes | 2 bytes | 1 byte | 1 byte |
- WJ, besturingsopdrachtreeks van 2 bytes, 57 4A
- Stel het toerental in (2 bytes) met een maximale snelheid van 600 tpm (02 58)
- Toestand 1 (1 byte):
- bit 0 – start-/stopbit, waarbij 1 staat voor het starten van de pomp en 0 voor het stoppen ervan
- bit 1 – opstartbit: bij waarde 1 wordt de pomp opgestart met de maximale snelheid van 600 tpm, bij waarde 0 draait de pomp op normale snelheid
- Toestand 2 (1 byte):
- bit 0 – bepaalt dedraairichting, waarbij 1 staat voor met de klok mee en 0 voor tegen de klok in
De pomp zal reageren met WJ en zal na ontvangst van de besturingsopdrachtreeks het toerental op het scherm aan de voorkant weergeven.
Lees de bedrijfsparameter (rotatiesnelheid)
Deze toepassing bestaat uit het uitlezen van gegevens uit de pomp. De totale lengte van de PDU bedraagt 2 bytes, waarbij de reeks van besturingscommando’s als volgt luidt: RJ.
De reactie van de pomp bestaat uit:
| RJ | Snelheid weergeven | Toestand 1 | Toestand 2 |
| 2 bytes | 2 bytes | 1 byte | 1 byte |
- RJ, besturingsopdrachtreeks van 2 bytes, 52 4A
Pompadres schrijven
Deze toepassing bestaat uit het schrijven naar de pomp. De totale lengte van de PDU bedraagt 4 bytes, waarbij de reeks met besturingsopdrachten bestaat uit:
| WID | Nummer van de nieuwe pomp. |
| 3 bytes | 1 byte |
- WID, besturingsopdrachtreeks van 3 bytes, 57 49 44
- Nieuw pompadres (1 byte), kan een pompadres (1-30) of een broadcastadres (31) zijn; het standaardpompadres is 1
De pomp reageert met WID.
Pompadres uitlezen
Deze toepassing bestaat uit het uitlezen van gegevens uit de pomp. De totale lengte van de PDU bedraagt 3 bytes, waarbij de reeks van besturingscommando’s RID is .
Als het adres in een opdrachtreeks van de besturingscomputer het adres van één pomp is (1-30) en niet het broadcast-adres (31), zal de betreffende pomp reageren metRID.
Voorbeelden van reeksen van besturingsopdrachten
- Stel de WT600-2J zo in dat hij met de klok mee draait met een toerental van 150 tpm
Controleopdrachtreeks: E9 01 06 57 4A 00 96 01 01 8C
- E9als vlag
- 01als adres 1 van de pomp
- 06als de lengte van de PDU (57 4A 00 96 01 01)
- 57 4A als opdrachttekens WJ
- 00 96 verwijst naar het toerental, 0096 (hex) = 150 (dec) (zie onze onlinetool voor getalstelselconversie)
- 01om de pomp op normale snelheid te starten
- 01: de pomp met de klok mee laten draaien
- 8Cals het XOR-resultaat van01(pompadres),06(PDU-lengte) en57 4A 00 96 01 01(PDU)
- Stel het adres (standaard 1) van de WT600-2J in op adres 7
Controleopdrachtreeks: E9 01 04 57 49 44 07 58
- E9als vlag
- 01 als het startadres 1 van de pomp
- 04 als de lengte van de PDU (57 49 44 07)
- 57 49 44 als opdrachttekens WID
- 07 als het nieuwe pompadres
- 58als het XOR-resultaat van01(pompadres),04(PDU-lengte) en 57 49 44 07(PDU)
🚨Aarzel niet om onze gebruiksvriendelijke online commandoregelgenerator te gebruiken om moeiteloos nauwkeurige besturingscommando's voor uw WT600-2J te genereren.
Hoe kan ik via Python communiceren met de WT600-2J?
Hieronder worden Python-codefragmenten weergegeven die laten zien hoe je de seriële poort opent, besturingsopdrachten naar de pomp schrijft en verstuurt, en een eenvoudig pompprogramma schrijft.
Op basis van het eerste voorbeeld dat hierboven is gegeven, zorgt het volgende Python-codefragment ervoor dat de WT600-2J met een rotatiesnelheid van 150 rpm met de klok mee draait.
### 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)
- Laten we in een tweede codefragment de pomp (adres 4) 10 seconden lang met de klok mee laten draaien met een toerental van 320 rpm, en vervolgens 30 seconden lang tegen de klok in laten draaien met een toerental van 50 rpm, voordat we hem tot stilstand brengen.
### 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
Conclusie
We hopen dat deze blogpost je heeft geholpen te begrijpen hoe je de Longer WT600-2J meerkanaals peristaltische pomp op afstand kunt aansturen via Python met behulp van het LONGER RS485-protocol. Je kunt ook andere programmeerplatforms gebruiken, zoals Matlab, om besturingsopdrachten te schrijven en naar de pomp te verzenden, en de reacties van de pomp te lezen en te interpreteren. Voor meer informatie over dit onderwerp kun je onze blogpost “Hoe bedien je de Longer WT600-2J(1J)(3J)-pomp via Matlab?”.
Mocht u vragen of opmerkingen hebben, neem dan gerust contact met ons op via contact@darwin-microfluidics.com.



Hoe bedien je de Longer WT600-2J(1J)(3J)-pomp via Matlab? - Darwin Microfluidics
[…] We hopen dat deze blogpost je heeft geholpen te begrijpen hoe je de Longer WT600-2J meerkanaals peristaltische pomp op afstand kunt aansturen via Matlab met behulp van het LONGER RS485-protocol. Je kunt ook andere programmeerplatforms gebruiken, zoals Python, om besturingsopdrachten te schrijven en naar de pomp te sturen, en de reacties van de pomp te lezen en te interpreteren. Voor meer informatie over dit onderwerp kunt u onze blogpost „Hoe de Longer WT600-2J(1J)(3J)-pomp via Python aansturen?“ raadplegen. […]
Hoe kunt u uw peristaltische pompen van Longer op afstand bedienen?
[…] Hoe bedien je de Longer WT600-2J-pomp via Python? […]