LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Machine QMH

Hi,

I'm working on a project to connect and interact with a cell of machines (8 PLC aprox) with datasocket, the app consist in a simple communication to poll a trigger, read and search the partnumber and retrieve data to PLC from a SQL database. I use QMH to start this project, and I made a MHL with the functionality of ONE machine (PLC and SQL communication, and a few messages to UI loop).

This loop I called "Station Handler" is initialized with a configuration file which haves unique information to run each machine (CSV file with tags and parameters of SQL), I convert this loop in a SubVI and configured to be < Preallocated Clone Reentrant >, and I configure the datasocket subvis that i made to be reentrant also.

When I run the application it works fine with the PLC about a couple of cycles (write/read), also I can use the two PLC I currently have to do tests, but suddenly, the "Station Handler" vi dont read ok the trigger tag, i have it in true and labview never read it. Is not a problem of network or OPC because I already open a OPC test client and read ok the value of the trigger tag.

I will appreciate if anyone can help me... and sorry for the english if I dont explain myself enough haha

Also I'm open if there is a better way to achieve this, and QMH maybe wasn't the answer...

 

Thanks in advance!

0 Kudos
Message 1 of 3
(2,140 Views)

We can probably figure out the English, but we cannot (well, better to say "I'm too annoyed by what I cannot") see/modify/test with a picture of a Block Diagram (I won't even open attached pictures of code).  Please, attach your VIs.  For best results (especially if you are using LabVIEW Project and all of your files are in a single Folder), compress the Folder containing your Project and attach the resulting .zip file.

 

What you are trying to do is certainly possible (I think, but since I refuse to look at your pictures, I might not quite understand what you are doing).  LabVIEW Real-Time run as a Host-Target system can have two QMH's, one on the Host, one on the Target -- when I implemented this, I used Network Streams to pass Messages from Host to Target (one Stream) and from Target to Host (another Stream).  I've also written a multi-Station monitoring system running on a single PC with a Master (analogous to the Host) and multiple Asynchronous Detached Slaves (analogous to the Target), everyone running a QMH (and communication between Master and Slave acomplished by Target-specific Queues).

 

Bob Schor 

0 Kudos
Message 2 of 3
(2,088 Views)

Thanks for the tip haha, I don't usually navigate in the forum

 

I attached the project file, yesterday I modify timeout of the datasocket Read that is polling the trigger and eliminate a short wait(ms). I dont be sure if this was the problem, but from yesterday the application works fine with the PLC, anyway, I want to know if I can improve my code.

 

Thanks!

0 Kudos
Message 3 of 3
(2,046 Views)