Se state cercando una pompa peristaltica potente progettata per applicazioni di laboratorio e industriali, potreste prendere in considerazione la Longer WT600-2J. Questa pompa è in grado di erogare portate comprese tra 4.2 mL/min e 6000 mL/min. È dotata di un motore brushless esente da manutenzione a elevata coppia che consente di montare fino a 4 teste di pompa sullo stesso drive.
La WT600-2J può essere controllata da remoto tramite computer, offrendo maggiore flessibilità e praticità, soprattutto se si desidera eseguire programmi di pompaggio complessi con cicli, pause e velocità di rotazione variabili.
In questo articolo del blog ti mostreremo come comunicare con la WT600-2J utilizzando il protocollo LONGER RS485, un protocollo di comunicazione seriale che consente di inviare comandi alla pompa e di riceverne le risposte. Forniremo inoltre alcuni esempi e snippet di codice su come utilizzare Matlab per scrivere e inviare stringhe di comando di controllo alla pompa.
SOMMARIO
Cosa è necessario per comunicare con la WT600-2J?
Per comunicare con la WT600-2J tramite il protocollo LONGER RS485, sono necessari i seguenti elementi:
- Una pompa WT600-2J con una testa di pompa e un tube a scelta
- Un modulo di controllo RS485 che si collega alla porta DB15 sul retro della pompa
- Un cavo seriale che collega il modulo di controllo RS485 al computer o al dispositivo
- Una piattaforma di programmazione (nello specifico, Matlab)
- Una comprensione di base del formato dei dati, del formato dei comandi e del formato pdu del protocollo LONGER RS485 (illustrato di seguito 👇)
Come configurare la porta di comunicazione?
Prima di poter iniziare a inviare e ricevere dati dalla pompa, è necessario configurare correttamente la porta di comunicazione. Ecco i passaggi da seguire:
- Collegare il connettore DB15 alla porta DB15 sul retro della pompa
- Accendere la pompa
- Assicurarsi che i parametri di comunicazione sulla piattaforma di programmazione corrispondano a quelli della WT600-2J, che sono:
- 1 bit di start
- 8 bit di dati
- 1 bit di parità pari
- 1 bit di stop
- una velocità di trasmissione (baud rate) di 1200 bit/s
Come scrivere stringhe di comando di controllo per la WT600-2J?
Una volta configurata la porta di comunicazione, è possibile iniziare a scrivere e inviare stringhe di comando di controllo alla pompa. Una stringa di comando di controllo è una sequenza di caratteri esadecimali che segue un formato specifico, costituito da:
- un flag di inizio (E9H)
- un indirizzo della pompa (da 1 a 30, o 31 per il broadcast)
- una lunghezza della PDU (protocol data unit)
- una PDU, che contiene i caratteri di comando e i parametri per l'applicazione desiderata
- una frame check sequence (FCS), ottenuta calcolando lo XOR tra l'indirizzo della pompa, la lunghezza della PDU e la PDU stessa (calcola l'FCS utilizzando il nostro calcolatore XOR per frame check sequence online)
La PDU e la sua lunghezza dipendono dall'applicazione richiesta alla pompa. Le applicazioni comuni sono:
- Impostazione del parametro di marcia (velocità di rotazione)
- Lettura del parametro di marcia (velocità di rotazione)
- Scrittura dell'indirizzo della pompa
- Lettura dell'indirizzo della pompa
A ciascuna applicazione corrisponde un insieme di caratteri di comando e parametri da includere nella PDU. Tali parametri sono dettagliati di seguito.
Impostazione del parametro di marcia (velocità di rotazione)
Questa applicazione consiste nella scrittura sulla pompa. La lunghezza complessiva della PDU è di 6 byte, in cui la stringa di comando di controllo è composta da (nell'esatto ordine):
| WJ | Imposta velocità | Stato 1 | Stato 2 |
| 2 byte | 2 byte | 1 byte | 1 byte |
- WJ, stringa di comando di controllo di 2 byte, 57 4A
- Imposta la velocità di rotazione (2 byte) con una velocità massima di 600 rpm (02 58)
- Stato 1 (1 byte):
- bit 0 – bit di start/stop, dove 1 avvia la pompa e 0 la arresta
- bit 1 – bit di adescamento (prime), dove 1 adesca la pompa alla velocità massima di 600 rpm e 0 la fa funzionare a velocità normale
- Stato 2 (1 byte):
- bit 0 – imposta la direzione di rotazione, dove 1 corrisponde al senso orario e 0 al senso antiorario
La pompa risponderà con WJ e visualizzerà sullo schermo anteriore la velocità di rotazione dopo aver ricevuto la stringa del comando di controllo.
Lettura del parametro di marcia (velocità di rotazione)
Questa applicazione consiste nella lettura dalla pompa. La lunghezza complessiva della PDU è di 2 byte, dove la stringa di comando di controllo è RJ.
La risposta della pompa consiste in:
| RJ | Mostra velocità | Stato 1 | Stato 2 |
| 2 byte | 2 byte | 1 byte | 1 byte |
- RJ, stringa di comando di controllo di 2 byte, 52 4A
Scrittura dell'indirizzo della pompa
Questa applicazione consiste nella scrittura sulla pompa. La lunghezza complessiva della pdu è di 4 byte e la stringa del comando di controllo è costituita da:
| WID | Nuovo ID della pompa. |
| 3 byte | 1 byte |
- WID, stringa del comando di controllo di 3 byte, 57 49 44
- Nuovo indirizzo della pompa (1 byte), può essere un indirizzo di pompa (1-30) o un indirizzo di broadcast (31); l'indirizzo di pompa predefinito è 1
La pompa risponderà con WID.
Leggi l'indirizzo della pompa
Questa applicazione consiste nella lettura dei dati dalla pompa. La lunghezza complessiva della PDU è di 3 byte, dove la stringa del comando di controllo è RID.
In una stringa di comando proveniente dal computer di controllo, se l'indirizzo è quello di una pompa (1-30) e non l'indirizzo di diffusione (31), la pompa corrispondente risponderà conRID.
Esempi di stringhe di comando di controllo
- Impostare il WT600-2J in modo che ruoti in senso orario a una velocità di rotazione di 150 giri al minuto
Stringa di comando di controllo: E9 01 06 57 4A 00 96 01 01 8C
- E9come indicatore
- 01come indirizzo 1 della pompa
- 06come lunghezza della PDU (57 4A 00 96 01 01)
- 57 4A come caratteri di comando WJ
- 00 96 indica la velocità di rotazione, 0096 (esadecimale) = 150 (decimale) (consulta il nostrostrumento onlineper la conversione tra sistemi numerici)
- 01per avviare la pompa a velocità normale
- 01 per avviare la pompa in senso orario
- 8C come risultato XOR di 01 (indirizzo della pompa), 06 (lunghezza pdu) e 57 4A 00 96 01 01 (pdu)
- Imposta l'indirizzo (inizialmente 1) del WT600-2J sull'indirizzo 7
Stringa di comando di controllo: E9 01 04 57 49 44 07 58
- E9come indicatore
- 01 come indirizzo iniziale 1 della pompa
- 04 come lunghezza del pdu (57 49 44 07)
- 57 49 44 come caratteri di comando WID
- 07 come nuovo indirizzo della pompa
- 58 come risultato XOR di 01 (indirizzo della pompa), 04 (lunghezza pdu) e 57 49 44 07 (pdu)
🚨Non esitate a utilizzare il nostro intuitivo generatore di stringhe di comando online per generare facilmente stringhe di comando di controllo precise per il vostro WT600-2J.
Come comunicare con la WT600-2J utilizzando Matlab?
Di seguito sono presentati gli snippet di codice Matlab che mostrano come aprire la porta seriale, scrivere e inviare stringhe di comando di controllo alla pompa e redigere un semplice programma di pompaggio.
Dal primo esempio appena presentato, il seguente frammento di codice Matlab fa sì che il WT600-2J funzioni in senso orario a una velocità di rotazione di 150 rpm.
%%% RUN PUMP 1, CLOCKWISE, AT A ROTATING SPEED OF 150 RPM
% Open the serial port with the data format corresponding to the WT600-2J
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Write the corresponding control command string
Str = 'E9 01 06 57 4A 00 96 01 01 8C';
% 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);
- In un secondo frammento di codice, facciamo funzionare la pompa (indirizzo 4) in senso orario a una velocità di rotazione di 320 rpm per 10s, quindi la facciamo funzionare in senso antiorario a una velocità di rotazione di 50 rpm per 30s prima di fermarla.
%%% 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
% Open the serial port with the data format corresponding to the WT600-2J
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Run pump 4 clockwise at a rotating speed of 320 rpm for 10s
Str = 'E9 04 06 57 4A 01 40 01 01 5E'; % 320 (dec) = 01 40 (hex)
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 4 counter-clockwise at a rotating speed of 50 rpm for 30s
Str = 'E9 04 06 57 4A 00 32 01 00 2C'; % 50 (dec) = 00 32 (hex)
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 04 06 57 4A 00 32 00 00 2D'; % 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
Conclusione
Ci auguriamo che questo articolo del blog vi sia stato utile per comprendere come controllare da remoto la pompa peristaltica multicanale Longer WT600-2J tramite Matlab utilizzando il protocollo LONGER RS485. È inoltre possibile utilizzare altre piattaforme di programmazione come Python per scrivere e inviare stringhe di comando di controllo alla pompa, nonché per leggere e interpretare le risposte provenienti dalla stessa. Per ulteriori dettagli su questo argomento, consultate il nostro articolo del blog “How to Control the Longer WT600-2J(1J)(3J) Pump via Python ?”.
Se avete domande o commenti, non esitate a contattarci all'indirizzo contact@darwin-microfluidics.com.



How to Control the Longer WT600-2J(1J)(3J) Pump via Python ? - Darwin Microfluidics
[…] Ci auguriamo che questo articolo del blog vi sia stato utile per comprendere come controllare da remoto la pompa peristaltica multicanale Longer WT600-2J tramite Python utilizzando il protocollo LONGER RS485. È inoltre possibile utilizzare altre piattaforme di programmazione come Matlab per scrivere e inviare stringhe di comando di controllo alla pompa, nonché per leggere e interpretare le risposte provenienti dalla stessa. Per ulteriori dettagli su questo argomento, consultate il nostro articolo del blog “How to Control the Longer WT600-2J Pump via Matlab ?”. […]
Come controllare la pompa Longer WT600-2J(1J)(3J) tramite Python?
[…] Ci auguriamo che questo articolo del blog vi sia stato utile per comprendere come controllare da remoto la pompa peristaltica multicanale Longer WT600-2J tramite Python utilizzando il protocollo LONGER RS485. È inoltre possibile utilizzare altre piattaforme di programmazione come Matlab per scrivere e inviare stringhe di comando di controllo alla pompa, nonché per leggere e interpretare le risposte provenienti dalla stessa. Per ulteriori dettagli su questo argomento, consultate il nostro articolo del blog “How to Control the Longer WT600-2J Pump via Matlab ?”. […]
Come controllare da remoto le vostre pompe peristaltiche Longer?
[…] How to Control the Longer WT600-2J Pump via Matlab ? […]