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.
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)
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.