Wenn Sie nach einer Präzisions-Schlauchpumpe suchen, die für anspruchsvolle Laboranwendungen von unter 1 µL/min bis zu 366,7 mL/min ausgelegt ist (abhängig von der Anzahl der Rollen im Pumpenkopf), sollten Sie sich die Longer L100-1S-2 ansehen. Diese Pumpe fördert Ihre Fluide mit höchster Präzision über einen breiten Bereich von Durchflussraten und ist zudem verhältnismäßig kostengünstig.
Sie kann von Ihrem Computer aus ferngesteuert werden, was Ihnen mehr Flexibilität und Komfort bietet – insbesondere dann, wenn Sie komplexe Pumpenprogramme mit Schleifen, Pausen und variierenden Durchflussraten ausführen möchten.
In diesem Blogbeitrag zeigen wir Ihnen, wie Sie mit der L100-1S-2 über das LONGER RS485-Protokoll kommunizieren. Hierbei handelt es sich um ein serielles Kommunikationsprotokoll, mit dem Sie Befehle an die Pumpe senden und Antworten von ihr empfangen können. Darüber hinaus stellen wir Ihnen einige Beispiele und Code-Snippets zur Verfügung, die veranschaulichen, wie Sie mit Python Steuerbefehlsketten für die Pumpe erstellen und senden.
Was wird für die Kommunikation mit der L100-1S-2 benötigt?
Um mit der L100-1S-2 über das LONGER RS485-Protokoll zu kommunizieren, benötigen Sie Folgendes:
- Eine L100-1S-2 Pumpe mit einem Pumpenkopf und einem tube Ihrer Wahl
- Ein RS485 -Steuermodul, das an den DB15-Anschluss auf der Rückseite der Pumpe angeschlossen wird
- Ein serielles Kabel, das das RS485-Steuermodul mit Ihrem Computer oder Gerät verbindet
- Eine Programmierplattform (im vorliegenden Fall Python)
- Grundlegende Kenntnisse über das Daten-, Befehls- und PDU-Format des LONGER RS485-Protokolls (wird unten 👇 erläutert)
Wie richtet man den Kommunikationsport ein?
Bevor Sie Daten an die Pumpe senden und von ihr empfangen können, müssen Sie den Kommunikationsport korrekt einrichten. Hier sind die zu befolgenden Schritte:
- Schließen Sie den DB15-Stecker an den DB15-Anschluss auf der Rückseite der Pumpe an.
- Schalten Sie die Pumpe ein und rufen Sie über die Tasten auf der Vorderseite der Pumpe das Einstellungsmenü für die Fernbedienung auf. Stellen Sie den Fernbedienungsmodus auf „COM“ ein 🕹️
- Stellen Sie sicher, dass die Kommunikationsparameter auf Ihrer Programmierplattform mit denen der L100-1S-2 übereinstimmen (wie in der Abbildung unten zu sehen), welche lauten:
- 1 Startbit
- 8 Datenbits
- Parität: P-n (keine Parität), P-O (ungerade Parität) oder P-E (gerade Parität)
- Stoppbit: S-1 (1 Stoppbit) oder S-2 (2 Stoppbits)
- Baudrate: 12 (1200 Baud), 24 (2400 Baud), 48 (4800 Baud), 96 (9600 Baud), 192 (19200 Baud) oder 384 (38400 Baud)
Wie schreibt man Steuerbefehl-Strings für die L100-1S-2?
Sobald der Kommunikationsport eingerichtet ist, können Sie damit beginnen, Steuerbefehlsketten zu schreiben und an die Pumpe zu senden. Eine Steuerbefehlskette ist eine Sequenz von Hexadezimalzeichen, die einem spezifischen Format folgt und sich aus folgenden Elementen zusammensetzt:
- einem Start-Flag (E9H)
- eine Pumpenadresse (1 bis 30)
- einer Länge der PDU (Protocol Data Unit)
- einer PDU, die die Befehlszeichen und Parameter für die gewünschte Anwendung enthält
- eine Frame Check Sequence (FCS), die durch die Berechnung der XOR-Verknüpfung aus der Pumpenadresse, der Länge der PDU und der PDU selbst ermittelt wird (berechnen Sie Ihre FCS mit unserem Online-Frame Check Sequence XOR Calculator)
Die PDU und deren Länge hängen von der jeweils angeforderten Anwendungsart der Pumpe ab. Zu den gängigen Anwendungen gehören:
- Einstellen der Betriebsparameter (Drehzahl)
- Auslesen der Betriebsparameter (Drehzahl)
- Betriebsparameter einstellen (Durchflussrate)
- Betriebsparameter auslesen (Durchflussrate)
- Die Kommunikationsparameter der Pumpe einstellen
Für jede Anwendung gibt es einen entsprechenden Satz von Befehlszeichen und Parametern, den Sie in die PDU einbinden müssen. Diese Parameter werden nachfolgend im Detail erläutert.
Betriebsparameter einstellen (Drehzahl)
Diese Anwendung besteht aus Schreibvorgängen an die Pumpe. Die Gesamtlänge der PDU beträgt 6 Byte, wobei sich die Steuerbefehlskette aus folgenden Elementen zusammensetzt (in exakt dieser Reihenfolge):
| WJ | Drehzahl einstellen | Status 1 | Status 2 |
| 2 Byte | 2 Byte | 1 Byte | 1 Byte |
- WJ, Steuerbefehlsstring von 2 Bytes, 57 4A
- Geschwindigkeit einstellen (2 Bytes) mit einer Drehzahleinheit von 0,01 U/min und einer Maximaldrehzahl von 100 U/min
- Status 1 (1 Byte):
- Bit 0 – Start/Stopp-Bit, wobei 1 die Pumpe startet und 0 sie stoppt
- Bit 1 – Prime-Bit: 1 bewirkt das Ansaugen der Pumpe bei Höchstdrehzahl (100 U/min), 0 lässt die Pumpe mit normaler Drehzahl laufen
- Status 2 (1 Byte):
- Bit 0 – legt die Drehrichtung fest, wobei 0 für den Uhrzeigersinn und 1 für den gegen den Uhrzeigersinn steht
Die Pumpe antwortet nach dem Empfang der Steuerbefehlskette mit WJ und zeigt Drehzahl sowie Drehrichtung auf ihrem Frontdisplay an.
Betriebsparameter auslesen (Drehzahl)
Diese Anwendung besteht aus dem Auslesen der Pumpe. Die Gesamtlänge der PDU beträgt 2 Bytes, wobei der SteuerungBefehlsstring RJ lautet.
Die Antwort der Pumpe besteht aus:
| RJ | Drehzahl anzeigen | Status 1 | Status 2 |
| 2 Byte | 2 Byte | 1 Byte | 1 Byte |
- RJ, Steuerbefehlsstring von 2 Bytes, 52 4A
Betriebsparameter einstellen (Flussrate)
Diese Anwendung besteht aus dem Beschreiben der Pumpe. Die Gesamtlänge der PDU beträgt 8 Bytes, wobei der Steuerbefehlsstring Folgendes umfasst:
| WL | Flussrate einstellen | Status 1 | Status 2 |
| 2 Byte | 4 Byte | 1 Byte | 1 Byte |
- WL, Steuerbefehlskette von 2 Bytes, 57 4C
- Durchflussrate einstellen (4 Bytes) mit der Durchflusseinheit nL/min
Die Pumpe antwortet nach dem Empfang der Steuerbefehlskette mit WL Durchflussrate anzeigen (4 Bytes) und zeigt die Durchflussrate sowie die Drehrichtung auf ihrem Frontdisplay an.
Betriebsparameter auslesen (Flussrate)
Diese Anwendung besteht aus dem Auslesen der Pumpe. Die Gesamtlänge der PDU beträgt 2 Byte, wobei die Steuerbefehlskette RL ist.
Die Antwort der Pumpe besteht aus:
| RL | Flussrate anzeigen | Status 1 | Status 2 |
| 2 Byte | 4 Byte | 1 Byte | 1 Byte |
- RL, Steuerbefehlskette von 2 Bytes, 52 4C.
Kommunikationsparameter der Pumpe einstellen
Diese Anwendung besteht aus dem Beschreiben der Pumpe zur Einstellung der verschiedenen Kommunikationsparameter. Die Gesamtlänge der PDU beträgt 8 Bytes, wobei der Steuerbefehlsstring Folgendes umfasst:
| WID | Adresse | Baudrate | Parität | Stoppbit |
| 3 Bytes | 1 Byte | 2 Byte | 1 Byte | 1 Byte |
- WID, Steuerbefehlskette von 3 Bytes, 57 49 44
- Pumpenadresse (1 Byte), gültiger Bereich: 1–30
- Baudrate (2 Bytes), High-Byte ist 00H und Low-Byte entspricht der folgenden Tabelle:
| Low Byte | Baudrate (Bit/s) |
|---|---|
| 01H | 1200 |
| 02H | 2400 |
| 03H | 4800 |
| 04H | 9600 |
| 05H | 19200 |
| 06H | 38400 |
| Anderer Wert | Ungültig |
- Parität (1 Byte), Einstellung gemäß folgender Tabelle:
| Einstellung | Parität |
|---|---|
| 01H | Keine Parität |
| 02H | Ungerade Parität |
| 03H | Gerade Parität |
| Anderer Wert | Ungültig |
- Stoppbit (1 Byte), Einstellung gemäß folgender Tabelle:
| Einstellung | Stoppbit |
|---|---|
| 01H | 1 Stoppbit |
| 02H | 2 Stoppbits |
| Anderer Wert | Ungültig |
Beispiele für Steuerbefehlsstrings
- L100-1S-2 so einstellen, dass er mit einer Drehzahl von 20 U/min gegen den Uhrzeigersinn läuft
Steuerbefehlsstring: E9 01 06 57 4A 07 D0 01 01 CD
- E9 als Flag
- 01 als Pumpenadresse 1
- 06 als Länge der PDU (57 4A 07 D0 01 01)
- 57 4A als Befehlszeichen WJ
- 07 D0 bezieht sich auf die Drehzahl, 07 D0(hex) = 2000(dec); da die Drehzahleinheit 0,01 U/min beträgt, ist die Drehzahl = 20 U/min (nutzen Sie unser Online-Basiskonvertierungstool)
- 01 um die Pumpe mit normaler Geschwindigkeit zu starten
- 01 zum Betreiben der Pumpe gegen den Uhrzeigersinn
- CD als XOR-Ergebnis von 01 (Pumpenadresse), 06 (PDU-Länge) und 57 4A 07 D0 01 01 (PDU)
- L100-1S-2 so einstellen, dass er mit einer Flussrate von 3 ml/min im Uhrzeigersinn läuft
Steuerbefehlsstring: E9 01 08 57 4C 00 2D C6 C0 01 00 38
- E9 als Flag
- 01 als Pumpenadresse 1
- 08 als Länge der PDU (57 4C 00 2D C6 C0 01 00)
- 57 4C als Befehlszeichen WL
- 00 2D C6 C0 bezieht sich auf die Flussrate, 00 2D C6 C0(hex) = 3000000(dez); die Einheit der Flussrate ist nl/min ⇒ die Flussrate = 3000000 nl/min = 3 ml/min
- 01 um die Pumpe mit normaler Geschwindigkeit zu starten
- 00 zum Betreiben der Pumpe im Uhrzeigersinn
- 38 als XOR-Ergebnis von 01 (Pumpenadresse), 08 (PDU-Länge) und 57 4C 00 2D C6 C0 01 00 (PDU)
🚨Nutzen Sie unseren benutzerfreundlichen Online-Befehlsstring-Generator, um mühelos präzise Steuerbefehlsstrings für Ihren L100-1S-2 zu erstellen.
How to Communicate with the L100-1S-2 Using Python ?
Nachfolgend werden Python-Code-Snippets vorgestellt, die zeigen, wie man die serielle Schnittstelle öffnet, Steuerbefehlsstrings an die Pumpe schreibt und sendet und ein einfaches Pumpprogramm schreibt.
Ausgehend von dem eben vorgestellten ersten Beispiel sorgt das folgende Python-Code-Snippet dafür, dass die L100-1S-2 mit einer Drehzahl von 20 U/min gegen den Uhrzeigersinn läuft.
### RUN PUMP 1, COUNTER-CLOCKWISE, AT A ROTATING SPEED OF 20 RPM
# To use the pySerial package
import serial
# Open the serial port with tha data format corresponding to the L100-1S-2
# The parameters in the command need to be the same as the communication parameters set for the pump
ser = serial.Serial('COM3', 9600, parity=serial.PARITY_NONE, 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\x07\xD0\x01\x01\xCD')
# Write the Data to the pump
ser.write(Data)
- Lassen Sie uns in einem zweiten Codeausschnitt die Pumpe für 10 s mit einer Flussrate von 5 mL/min entgegen dem Uhrzeigersinn laufen, sie dann für 30 s mit einer Flussrate von 3 mL/min im Uhrzeigersinn laufen lassen und anschließend anhalten.
### RUN PUMP 1 COUNTER-CLOCKWISE AT A FLOW RATE OF 5 mL/min FOR 10s, THEN CLOCKWISE AT A FLOW RATE OF 3 mL/min FOR 30s BEFORE STOPPING IT
# To use the pySerial package
import serial
# To use the time package
import time
# Open the serial port with tha data format corresponding to the L100-1S-2
# The parameters in the command need to be the same as the communication parameters set for the pump
ser = serial.Serial('COM3', 9600, parity=serial.PARITY_NONE, bytesize=8, stopbits=1, timeout=None, xonxoff=0, rtscts=0)
# Run pump 1 counter-clockwise at a flow rate of 5 mL/min for 10s
Data = bytearray(b'\xE9\x01\x08\x57\x4C\x00\x4C\x4B\x40\x01\x01\x55') # corresponding control command string in hexadecimal
ser.write(Data) # Write the Data to the pump
# 10s delay with a visible timer
for Pumping_time in range(10, 0, -1):
print(Pumping_time)
time.sleep(1)
# Run pump 1 clockwise at a flow rate of 3 mL/min for 30s
Data = bytearray(b'\xE9\x01\x08\x57\x4C\x00\x2D\xC6\xC0\x01\x00\x38') # corresponding control command string in hexadecimal
ser.write(Data) # Write the Data to the pump
# 30s delay with a visible timer
for Pumping_time in range(30, 0, -1):
print(Pumping_time)
time.sleep(1)
# Stop the pump
Data = bytearray(b'\xE9\x01\x08\x57\x4C\x00\x2D\xC6\xC0\x00\x00\x39') # corresponding control command string in hexadecimal: 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
ser.write(Data) # Write the Data to the pump
Fazit
Wir hoffen, dass dieser Blogbeitrag Ihnen dabei geholfen hat zu verstehen, wie Sie die Schlauchpumpe Longer L100-1S-2 über das LONGER RS485-Protokoll per Python fernsteuern können. Sie können auch andere Programmierplattformen wie Matlab verwenden, um Steuerbefehlsketten an die Pumpe zu schreiben und zu senden sowie die Antworten der Pumpe zu lesen und auszuwerten. Weitere Details zu diesem Thema finden Sie in unserem Blogbeitrag „How to Control the Longer L100-1S-2 Pump via Matlab ?“.
Wenn Sie Fragen oder Feedback haben, können Sie uns gerne kontaktieren unter contact@darwin-microfluidics.com.



Wie steuern Sie Ihre Longer Peristaltikpumpen fern?
[…] How to Control the Longer L100-1S-2 Pump via Python ? […]
Wie steuert man die Longer L100-1S-2 Pumpe über Matlab?
[…] die Antworten der Pumpe auszuwerten. Weitere Details zu diesem Thema finden Sie in unserem Blogbeitrag „How to Control the Longer L100-1S-2 Pump via Python ?“. Wenn Sie Fragen oder Feedback haben, können Sie uns gerne kontaktieren unter […]