Instrument Control (GPIB, Serial, VISA, IVI)

Showing results for 
Search instead for 
Did you mean: 

Drivers created by company only will work with one VISA resource (COM)



I have a bank of syringe pumps I am trying to control using the drivers created by the company who manufactured the syringe pumps. Chemyx. I have a case structure with a flat sequence structure inside. Each page is intended to control one pump. Inside the flat sequence structure I have drivers that were created by the company which set units, flowrate, volume output, among other things all in different cells and then exiting the flat sequence structure is a "close" visa resource. The problem that I am running into is when I try to utilize the same Chemyx drivers on different pages it will not let me change the COM port its communicating with. If anyone has any suggestions I am all ears/eyes.


Thank you,



0 Kudos
Message 1 of 6

You imply that they are all connected to the same VISA resource. Is that correct?

Then do not close the visa connection but init it once and use it for all the pumps.

greetings from the Netherlands
0 Kudos
Message 2 of 6

I have 5 separate pumps that I want to consider as separate visa resources...I think. They all connect to different USB hubs and are controlled independently.



Download All
0 Kudos
Message 3 of 6


I don't know the pumps from Chemix but have experience with other pumps that allowed daisy chaining one resource and addressing of the pumps in the CMD.

So if you give us the exact programming manual and type of your pumps we can have a look.


Anyhow, you can remove your sequence frames because the wiring you connected already makes sure that all cmds are executed in sequence. This called sequence by wiring and is one of the basics of LabVIEW that a subvi only will be executed when all variables (wires) are available.

greetings from the Netherlands
0 Kudos
Message 4 of 6


And by the way, don't send screenshots but vi's

greetings from the Netherlands
0 Kudos
Message 5 of 6

You program makes no sense... The flat sequence is superfluous and from the direction you are headed you are going to end up with a bunch of redundant code


Please attach your actual VI, not a picture of your code.


But in general if you have three pumps on three com ports...

  1. Open three VISA sessions
  2. Initialize and prepare all three pumps (all but your last VI)
  3. All the above should be done with a For-Loop so you can reuse code.
    1. Hint: Put all your VISA sessions in an Array and use auto-indexing in the For-Loop to run the same code on all three pumps.
  4. Run your pumps one (or more) at a time (I am guessing just the last VI)
  5. Close all your VISA sessions as the last thing you do before you exit
Unfortunately, most readers of this Forum, including some real Experts, have not mastered the skill of being able to read the code that Posters fail to post. If we cannot see "what you did wrong", we are unable to tell you how to fix it. (Bob Schor 28 August 2018)
0 Kudos
Message 6 of 6