Wenn Sie nach einer Präzisions-Peristaltikpumpe suchen, die mehrere Kanäle gleichzeitig (bis zu 24) bedienen kann, sollten Sie sich die Longer BT100-1L ansehen. Diese Pumpe liefert je nach Anzahl der Rollen im Pumpenkopf Flussraten von 2 µl/min bis 366,7 ml/min. Zudem handelt es sich um eine relativ kostengünstige Schlauchpumpe mit einem breiten Anwendungsspektrum.
Der BT100-1L lässt sich von Ihrem Computer aus fernsteuern, was Ihnen mehr Flexibilität und Komfort bietet – insbesondere dann, wenn Sie komplexe Pumpenprogramme mit Schleifen, Pausen und variierenden Flussraten ausführen möchten.
In diesem Blogbeitrag zeigen wir Ihnen, wie Sie mit der BT100-1L ü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 dieser empfangen können. Darüber hinaus stellen wir Ihnen einige Beispiele und Code-Snippets zur Verfügung, die veranschaulichen, wie Sie mit Python Steuerbefehlsketten erstellen und an die Pumpe senden.
INHALTSVERZEICHNIS
Was wird für die Kommunikation mit der BT100-1L benötigt?
Für die Kommunikation mit der BT100-1L über das LONGER RS485-Protokoll benötigen Sie folgende Komponenten:
- Eine BT100-1L Pumpe mit einem Pumpenkopf und einem tube Ihrer Wahl
- Ein RS485-Steuermodul, das in den DB15-Anschluss an der Rückseite der Pumpe eingesteckt wird
- Ein serielles Kabel, das das RS485-Steuermodul mit Ihrem Computer oder Gerät verbindet
- Eine Programmierplattform (in diesem 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 an der Rückseite der Pumpe an.
- Schalten Sie die Pumpe ein und drücken Sie den Einstellknopf an der Vorderseite der Pumpe, um die Benutzeroberfläche für die Fernbedienungseinstellungen aufzurufen und den Fernbedienungsmodus zu aktivieren 🕹️
- Stellen Sie sicher, dass die Kommunikationsparameter auf Ihrer Programmierplattform mit denen der BT100-1L übereinstimmen. Diese lauten:
- 1 Startbit
- 8 Datenbits
- 1 Even Parity (gerade Parität)
- 1 Stoppbit
- eine Baudrate von 1200 Baud
Wie erstellt man Steuerbefehlsketten für die BT100-1L?
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)
- einer Pumpenadresse (1 bis 30 oder 31 für Broadcast)
- einer Länge der PDU (Protocol Data Unit)
- einer PDU, die die Befehlszeichen und Parameter für die gewünschte Anwendung enthält
- einer Frame Check Sequence (FCS), die durch die Berechnung der XOR-Verknüpfung aus Pumpenadresse, PDU-Länge und der PDU selbst ermittelt wird (berechnen Sie Ihre FCS mit unserem Online-Frame Check Sequence XOR-Rechner)
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)
- Einstellen der Betriebsparameter (Durchflussrate) mit Pumpenkopf und tube
- Auslesen der Betriebsparameter (Durchflussrate) mit Pumpenkopf und tube
- Durchflusskalibrierung
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.
Einstellen der Betriebsparameter (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):
| XL | Drehzahl einstellen | Status 1 | Status 2 |
| 2 Byte | 2 Byte | 1 Byte | 1 Byte |
- XL, Steuerbefehlsstring mit 2 Byte, 58 4C
- Drehzahl einstellen (2 Byte) mit einer Drehzahleinheit von 0,1 U/min und einer Maximaldrehzahl von 100 U/min (03 E8)
- Status 1 (1 Byte):
- Bit 0 – Start/Stopp-Bit, wobei 1 die Pumpe startet und 0 sie stoppt
- Bit 1 – Ansaug-Bit („Prime“), wobei 1 die Pumpe mit der Maximaldrehzahl von 100 U/min füllt und 0 die Pumpe mit normaler Drehzahl betreibt
- Status 2 (1 Byte):
- Bit 0 – legt die Drehrichtung fest, wobei 1 für den Uhrzeigersinn und 0 für den Gegenuhrzeigersinn steht
Nach Erhalt des Steuerbefehlsstrings antwortet die Pumpe mit XL und zeigt auf ihrem Frontdisplay die Drehzahl und die Drehrichtung an.
Auslesen der Betriebsparameter (Drehzahl)
Diese Anwendung besteht aus dem Auslesen der Pumpe. Die Gesamtlänge der PDU beträgt 2 Byte, wobei der Steuerbefehlsstring DL lautet.
Die Antwort der Pumpe besteht aus:
| DL | Drehzahl anzeigen | Status 1 | Status 2 |
| 2 Byte | 2 Byte | 1 Byte | 1 Byte |
- DL, Steuerbefehlsstring mit 2 Byte, 44 4C
Einstellen der Betriebsparameter (Durchflussrate) mit Pumpenkopf und tube
Diese Anwendung besteht aus dem Beschreiben der Pumpe. Die Gesamtlänge der PDU beträgt 10 Byte, wobei sich der Steuerbefehlsstring aus Folgendem zusammensetzt:
| WL | 2 Byte |
| Flussrate einstellen | 4 Byte |
| Status 1 | 1 Byte |
| Status 2 | 1 Byte |
| Pumpenkopfnummer | 1 Byte |
| Tubenummer | 1 Byte |
- WL, Steuerbefehlskette von 2 Byte, 57 4C
- Flussrate einstellen (4 Byte) mit nL/min als Einheit für die Flussrate
- Zustand 1 (1 Byte) und Zustand 2 (1 Byte) wie bereits erläutert
- Pumpenkopfnummer (1 Byte) gemäß den nachstehenden Tabellen:
| Pumpenkopf | Zeichen |
|---|---|
| DG (6 Rollen) | 01 |
| DG (10 Rollen) | 02 |
| YZ1515/YZ2515 | 03 |
| 313D | 04 |
| DG15 | 05 |
- Tubenummer (1 Byte) gemäß der nachstehenden Tabelle:
| Tube-ID (mm) 01: DG (6 Rollen) 02: DG (10 Rollen) 05: DG15 | Tubenummer |
|---|---|
| 0.13 | 01 |
| 0.19 | 02 |
| 0.25 | 03 |
| 0.38 | 04 |
| 0.44 | 05 |
| 0.51 | 06 |
| 0.57 | 07 |
| 0.64 | 08 |
| 0.76 | 09 |
| 0.89 | 10 |
| 0.95 | 11 |
| 1.02 | 12 |
| 1.09 | 13 |
| 1.14 | 14 |
| 1.22 | 15 |
| 1.30 | 16 |
| 1.42 | 17 |
| 1.54 | 18 |
| 1.65 | 19 |
| 1.75 | 20 |
| 1.85 | 21 |
| 2.06 | 22 |
| 2.29 | 23 |
| 2.54 | 24 |
| 2.79 | 25 |
| 3.17 | 26 |
| Tube-ID (mm) 3: YZ1515/YZ2515 4: 313D | Zeichen |
|---|---|
| 0.8 | 01 |
| 1.6 | 02 |
| 2.4 | 03 |
| 3.1 | 04 |
| 4.8 | 05 |
| 6.4 | 06 |
| 7.9 | 07 |
| 9.6 | 08 |
Die Pumpe antwortet mit WL Flussrate anzeigen (4 Byte) und zeigt nach Erhalt der Steuerbefehlskette auf ihrem Frontdisplay die Flussrate, die entsprechende Drehzahl und die Drehrichtung an.
Auslesen der Betriebsparameter (Durchflussrate) mit Pumpenkopf und tube
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 | 2 Byte |
| Flussrate anzeigen | 4 Byte |
| Status 1 | 1 Byte |
| Status 2 | 1 Byte |
| Pumpenkopfnummer | 1 Byte |
| Tubenummer | 1 Byte |
- RL, Steuerbefehlskette von 2 Byte, 52 4C
Durchflusskalibrierung
Diese Anwendung besteht aus dem Beschreiben der Pumpe. Die Gesamtlänge der PDU beträgt 6 Byte, wobei sich die Steuerbefehlskette wie folgt zusammensetzt:
| CL | Flussrate testen |
| 2 Byte | 4 Byte |
- CL, Steuerbefehlskette von 2 Byte, 43 4C
- Flussrate testen (4 Byte) mit nL/min als Einheit für die Flussrate
Beispiele für Steuerbefehlsketten
- BT100-1L so einstellen, dass er im Uhrzeigersinn mit einer Drehzahl von 20 U/min läuft
Steuerbefehlskette: E9 01 06 58 4C 00 C8 01 01 DB
- E9 als Flag
- 01 als Pumpenadresse 1
- 06 als Länge der PDU (58 4C 00 C8 01 01)
- 58 4C als Befehlszeichen XL
- 00 C8 bezieht sich auf die Drehzahl, 00 C8(hex) = 200(dez); die Einheit der Drehzahl ist 0,1 U/min ⇒ die Drehzahl = 20 U/min (nutzen Sie unser Online-Basisumrechnungstool)
- 01 um die Pumpe mit normaler Geschwindigkeit zu starten
- 01 um die Pumpe im Uhrzeigersinn laufen zu lassen
- DB als XOR-Ergebnis von 01 (Pumpenadresse), 06 (PDU-Länge) und 58 4C 00 C8 01 01 (PDU)
- Konfigurieren Sie den BT100-1L so, dass er mit einer Flussrate von 3 ml/min, einem DG-Pumpenkopf (10 Rollen) und einem tube mit einem ID von 0,25 mm gegen den Uhrzeigersinn läuft
Steuerbefehlsstring: E9 01 0A 57 4C 00 2D C6 C0 01 00 02 03 3B
- E9 als Flag
- 01 als Pumpenadresse 1
- 0A als Länge der PDU (57 4C 00 2D C6 C0 01 00 02 03)
- 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 um die Pumpe gegen den Uhrzeigersinn laufen zu lassen
- 02 für den DG-Pumpenkopf (10 Rollen)
- 03 für einen tube mit einem ID von 0,25 mm
- 3B als XOR-Ergebnis von 01 (Pumpenadresse), 0A (PDU-Länge) und 57 4C 00 2D C6 C0 01 00 02 03 (PDU)
🚨Zögern Sie nicht, unseren benutzerfreundlichen Online-Befehlsstring-Generator zu nutzen, um präzise Steuerbefehlsstrings für Ihren BT100-1L mühelos zu generieren.
Wie kommuniziert man mit dem BT100-1L über 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 vom ersten gerade vorgestellten Beispiel lässt der folgende Python-Code-Snippet den BT100-1L im Uhrzeigersinn mit einer Drehzahl von 20 U/min laufen.
### RUN PUMP 1, CLOCKWISE, AT A ROTATING SPEED OF 20 RPM
# To use the pySerial package
import serial
# Open the serial port with the data format corresponding to the BT100-1L
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\x58\x4C\x00\xC8\x01\x01\xDB')
# Write the Data to the pump
ser.write(Data)
- Lassen Sie die Pumpe im zweiten Code-Snippet für 10 s im Uhrzeigersinn mit einer Drehzahl von 10 U/min laufen, dann für 30 s gegen den Uhrzeigersinn mit einer Drehzahl von 5 U/min, bevor sie gestoppt wird.
### RUN PUMP 1 CLOCKWISE AT A ROTATING SPEED OF 10 RPM FOR 10s, THEN COUNTER−CLOCKWISE AT A ROTATING SPEED OF 5 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 BT100-1L
ser = serial.Serial('COM6', 1200, parity=serial.PARITY_EVEN, bytesize=8, stopbits=1, timeout=None, xonxoff=0, rtscts=0)
# Run pump 1 clockwise at a rotating speed of 10 rpm for 10s
Data = bytearray(b'\xE9\x01\x06\x58\x4C\x00\x64\x01\x01\x77') # corresponding control command string in hexadecimal
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 1 counter-clockwise at a rotating speed of 5 rpm for 30s
Data = bytearray(b'\xE9\x01\x06\x58\x4C\x00\x32\x01\x00\x20')
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\x01\x06\x58\x4C\x00\x32\x00\x00\x21') # 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 Longer BT100-1L Mehrkanal-Schlauchpumpe über das LONGER-RS485-Protokoll remote per Python steuern können. Sie können auch andere Programmierplattformen wie Matlab verwenden, um Steuerbefehlsstrings an die Pumpe zu schreiben und zu senden sowie die Antworten der Pumpe zu lesen und zu interpretieren. Weitere Einzelheiten zu diesem Thema finden Sie in unserem Blogbeitrag „How to Control the Longer BT100-1L Pump via Matlab ?“.
Wenn Sie Fragen oder Feedback haben, können Sie uns gerne kontaktieren unter contact@darwin-microfluidics.com.



Wie steuert man die Longer WT600-2J(1J)(3J) Pumpe über Python? - Darwin Microfluidics
[…] Wir hoffen, dieser Blogbeitrag hat Ihnen geholfen zu verstehen, wie Sie die Mehrkanal-Schlauchpumpe Longer WT600-2J über das LONGER RS485-Protokoll mithilfe von Python aus der Ferne steuern 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 zu interpretieren. Weitere Einzelheiten zu diesem Thema finden Sie in unserem Blogbeitrag „How to Control the Longer WT600-2J Pump via Matlab ?“. […]
Wie steuert man die Longer BT100-1L Pumpe über Matlab?
[…] Wir hoffen, dieser Blogbeitrag hat Ihnen geholfen zu verstehen, wie Sie die Mehrkanal-Schlauchpumpe Longer BT100-1L über das LONGER RS485-Protokoll mithilfe von Matlab aus der Ferne steuern können. Sie können auch andere Programmierplattformen wie Python verwenden, um Steuerbefehlsketten an die Pumpe zu schreiben und zu senden sowie die Antworten der Pumpe zu lesen und zu interpretieren. Weitere Einzelheiten zu diesem Thema finden Sie in unserem Blogbeitrag „How to Control the Longer BT100-1L Pump via Python ?“. […]
Wie steuern Sie Ihre Longer Peristaltikpumpen fern?
[…] How to Control the Longer BT100-1L Pump via Python ? […]