Wenn Sie nach einer Präzisions-Schlauchpumpe suchen, die mehrere Kanäle gleichzeitig verarbeiten kann (bis zu 24), sollten Sie sich die Longer BT100-1L ansehen. Diese Pumpe kann je nach Anzahl der Rollen im Pumfkopf Durchflussraten von 2 µl/min bis 366,7 ml/min liefern. Sie ist zudem eine verhältnismäßig preiswerte Schlauchpumpe, die ein breites Anwendungsspektrum abdeckt.
Die BT100-1L 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 BT100-1L über das LONGER RS485-Protokoll kommunizieren – 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, wie Sie Matlab verwenden können, um Steuerbefehlsketten zu schreiben und an die Pumpe zu 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 Matlab)
- 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
- eine Frame Check Sequence (FCS), die durch Berechnung des XOR der Pumpenadresse, der Länge des PDU und des 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 einem Schreibvorgang an die Pumpe. Die Gesamtlänge des PDU beträgt 6 Bytes, wobei die Steuerbefehlskette aus Folgendem besteht (in genau dieser Reihenfolge):
| XL | Drehzahl einstellen | Status 1 | Status 2 |
| 2 Byte | 2 Byte | 1 Byte | 1 Byte |
- XL, Steuerbefehlskette von 2 Bytes, 58 4C
- Geschwindigkeit einstellen (2 Bytes) mit einer Geschwindigkeits-Einheit von 0,1 rpm und einer Maximalgeschwindigkeit von 100 rpm (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 entgegengesetzten Uhrzeigersinn 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 Durchflussrate anzeigen (4 Bytes) und zeigt nach Erhalt der Steuerbefehlskette auf ihrem vorderen Display die Durchflussrate, die entsprechende Drehzahl und die Drehrichtung an.
Auslesen der Betriebsparameter (Durchflussrate) mit Pumpenkopf und tube
Diese Anwendung besteht aus einem Lesevorgang von der Pumpe. Die Gesamtlänge des PDU beträgt 2 Bytes, wobei die Steuerbefehlskette aus RL besteht.
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 Bytes, 43 4C
- Test-Durchflussrate (4 Bytes) mit einer nL/min-Durchflussrateneinheit
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); da die Geschwindigkeitseinheit 0,1 rpm beträgt ⇒ Drehzahl = 20 rpm (überprüfen Sie dies mit unserem Online-Basis-Umrechnungstool)
- 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 der BT100-1L unter Verwendung von Matlab?
Nachfolgend werden Matlab-Codeausschnitte vorgestellt, die zeigen, wie man die serielle Schnittstelle öffnet, Steuerbefehlsketten an die Pumpe schreibt und sendet und ein einfaches Pumpprogramm schreibt.
Basierend auf dem gerade vorgestellten ersten Beispiel lässt das folgende Matlab-Code-Snippet die BT100-1L im Uhrzeigersinn mit einer Drehzahl von 20 rpm laufen.
%%% RUN PUMP 1, CLOCKWISE, AT A ROTATING SPEED OF 20 RPM
% Open the serial port with the data format corresponding to the BT100-1L
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Write the corresponding control command string
Str = 'E9 01 06 58 4C 00 C8 01 01 DB';
% 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);
- 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
% Open the serial port with the data format corresponding to the BT100-1L
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Run pump 1 clockwise at a rotating speed of 10 rpm for 10s
Str = 'E9 01 06 58 4C 00 64 01 01 77'; % corresponding control command string
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 1 counter-clockwise at a rotating speed of 5 rpm for 30s
Str = 'E9 01 06 58 4C 00 32 01 00 20'; % corresponding control command string
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 01 06 58 4C 00 32 00 00 21'; % 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
Fazit
Wir hoffen, dass dieser Blogbeitrag Ihnen dabei geholfen hat zu verstehen, wie Sie die periphere Mehrkanal-Schlauchpumpe Longer BT100-1L über Matlab mithilfe des LONGER RS485-Protokolls fernsteuern können. Sie können auch andere Programmierplattformen wie Python nutzen, um Steuerbefehlsketten zu schreiben und an die Pumpe zu senden sowie die Antworten der Pumpe auszulesen und zu interpretieren. Weitere Einzelheiten zu diesem Thema finden Sie in unserem Blogbeitrag „How to Control the Longer BT100-1L Pump via Python ?“
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 BT100-1L Pump via Matlab ? […]
Wie steuert man die Longer BT100-1L Pumpe über Python? - Darwin Microfluidics
[…] Wir hoffen, dass dieser Blogbeitrag Ihnen dabei geholfen hat zu verstehen, wie Sie die mehrkanalige Schlauchpumpe Longer BT100-1L über Python mittels des LONGER-RS485-Protokolls fernsteuern können. Sie können auch andere Programmierplattformen wie Matlab verwenden, um Steuerbefehlsstrings zu schreiben und an die Pumpe zu senden sowie die Antworten der Pumpe auszulesen und zu interpretieren. Weitere Einzelheiten zu diesem Thema finden Sie in unserem Blogbeitrag „How to Control the Longer BT100-1L Pump via Matlab ?“. […]