helgestein / helao-pub

hierachical automation of the natural sciences
MIT License
20 stars 5 forks source link

Pumping #48

Closed helgestein closed 2 years ago

helgestein commented 2 years ago

After some discussion with the manufacturer of the large multichannel pumphead it might not be such a good Idea to always init the pumps (this X-PON,1234 command).

What needs to be done is a proper implementation of RON and RDF according to the email from the company:

once and only once after power on you need to wake up the pumps (20-> global) through 20,PON,1234

From Schecklein: Dieser Befehl braucht ca. 2 Sekunden Zeit für die interne Verarbeitung, während dieser Zeit dürfen keine weitere Befehle gesendet werden.

Pumpen parametrisieren (Beispiel für 3 Pumpen):

21,WFR,1000,1

21.WVO,2000

22,WFR,2000,1

22,WVO,1000

23,WFR,4000,1

23,WVO,500

Pumpen gleichzeitig starten:

20,WON,1

Warten bis die Pumpen mit der Dosierungen fertig sind:

In einer Schleife Status abfragen bis es sich von 2 auf 0 ändert:

21,RON,1

22,RON,1

23,RON,1

This means: if the state is 2 then it is still pumping if the sate is 0 it is done. This might be a good solution to the delay problem. Then you can also ask every pump how much it dispensed through e.g. 21,RDF,1 and it will tell you the currently dispensed volume. Please do a test and write down the timing and the dispensed volume at any point in time for multiple channels. We can then track how much they differ.

fuzhanrahmanian commented 2 years ago

CMD code, PON, means switching on the device. It does not make difference to switch all at once or just start every required pump. (Tested from several PCs)