10-24-2017 08:47 AM
This is most definitely a coding issue in that your code is not acknowledging the read quick enough. You should post this in a new thread in the general LV forum and you can link back here to give context if needed, but that will get you better responses.
10-24-2017 08:55 AM
you need parallelize you monitoring code, I also suggest you parallelize your step setup code. Each part zone controller code need its own tread.
Now you are using single-thread programming which is not a good idea in LabVIEW.
I think your code architecture lead to your problem because controller/monitor program has to wait for other part of codes and a lot of time was wasted on I/O.
Read some materials on LabVIEW parallel programming and it will solve your problem.
10-24-2017 10:51 AM
Unfortunately parallel will not work, since I cannot send multiple commands to controller at one time. Behind each monitoring VI is Visa Write and Read functions.
10-24-2017 11:06 AM
Have you tried? serial I/O is for sure not going to be paralleled but other part of code could. Does each zone controller has its own address?if does, for sure, you can parallelize your code. You code for sure could be parallized and it is very easy.
You problem is clear, some part of code waiting for I/O too long time. And the whole architecture is wrong.
10-24-2017 11:16 AM
Yes I tried in the very beginning. I used several while loops 1 for each zone. However, when I run the process it tries to send several write command for each address and timeout error occurs.
10-24-2017 12:45 PM
you need make a queue for write and another queue for read. a master thread dealing with two queue, collecting write request and distributing received data read from the controllers. A few worker (three for your case) thread send write request and wait for read data for the queue.
Doing these, you can easily expand your code for hundreds controllers.
10-28-2017 07:29 AM
Thank you, now it's more clear to me. I will consider this option.
04-09-2021 03:58 PM
Wow, I never would have figured this out without yangfh2004's labview code, thanks! Even then, it took me awhile. In case it helps anybody else, attached is my python code. I'm using it to control a furnace I bought from MTI Corp.
05-22-2024 06:54 AM
"I am also working on the same Yudain temperature controller device, but I am a beginner with LabVIEW. Is there any chance you could share the LabVIEW driver VI with me?"
05-22-2024 09:15 AM
Hi, please use this GitHub repo for the LabVIEW driver https://github.com/yangfh2004/yudian-ai-508