Hello everybody,
I'm currently working on a small project which includes two syringe pumps (RS232 communication) and a solenoid valve. Previously I used the same setup but with only one syringe pump and everything worked fine.
The syringe pumps communicate with each other over network (Computer RS232-> Pump 1 RJ11-> Pump 2 RJ11).
What I changed is that instead of giving the necessary information to just one pump, I send it over network command burst to both pumps at the same time to start them simultaneously (see Dual_Infuse).
Afterwards I want to continuously read the dispensed volume of each pump (see Dual_Read, can't be done over command burst) and add it up until a certain volume is reached. After that volume is reached the loop exits and the pumps are stopped.
This works well roughly half of the time, but the other half I get a framing error message. This error only seems to apply to the first reading, as the reading of the second pump still works fine.
I think it might be due to the change from network command burst to the individual reading of the pumps? Because before using network command burst I never ran into this problem.
After adding the Flush I/O Buffer in front of the loop it seems like it improved a little bit but the error still comes up.
The baud rate I'm using is the highest possible and I didn't change any other serial parameters compared to my previous version.
Does anybody have an idea what I could improve in my code? Pictures are attached.
The bottom part is just for controlling the solenoid valve and works fine.