01-26-2014 02:49 PM
Thought I'd solved this with the help of the mass compile function. However, it seems to have come back. Maybe it never went away.
Brief summary - I'm trying to create an exe of the MB Ethernet Slave example.vi in LV 2013. I can create the exe OK but when I run it I get an error 1003 at invoke node. "This VI is broken or contains a sub VI that LabView can't locate. Verify that you can run the VI. VI path C:\Modbus\Source code\Slave demon.vi."
Well I can run the slave demon VI with no problems. I can also run the MB Ethernet Slave example VI with no problem.
In the MB Ethernet slave example VI there is an invoke node that calls the slave demon vi. I've used the slave demon VI path constant as an input to the invoke node so that the exe shouldn't have a problem locating it.
I've also checked out the sub VIs of the slave demon and they all seem to be present in my project. I've also tried a few different build settings - all to no avail. All VIs have been mass compiled under LV 2013.
Maybe the exe is struggling to locate the TCP functions.
Any help would be much appreciated.
.
01-26-2014 03:05 PM
Tried to open the VI but couldn't, so here is a snapshot of the MB Ethernet Slave example VI.
01-31-2014 02:22 AM
For anyone who's interested - I think the solution to this problem is the lack of a DSC run time licence on the target machine. According to NI literature the invoke node needs this licence to work in an executable.
01-31-2014 09:05 AM
01-31-2014 09:32 AM
I have checked the path and double checked by dragging the VI into an empty path constant. I also created a version that uses the file dialog express VI so that I can select the slave demon VI when the program runs. I've also set the slave demon to be always included in the project build. The error message still appears.
By disabling sections of the slave demon vi I found that a VI called Internecine Avoider was linked to the appearance of the invoke node error message. By disabling this VI I could get the invoke node error message to disappear, although the slave demon then didn't work as intended. This VI is included in my project under the vi.lib so it should be found.
01-31-2014 09:36 AM
01-31-2014 09:45 AM
Not sure I understand why you don't understand. All I've done is create two versions of the executable - one which uses a path constant to open a reference to the slave demon VI (to then pass to the invoke node), and another where the file dialog passes the slave demon path to the open reference function - in other words I explicitly tell the program which slave demon to use. This was just to double check that I wasn't pointing to the wrong slave demon VI with my original path constant. Either way I get the invoke node error message saying it can't run the VI from the invoke node.
06-15-2015 04:09 AM
Hello LightWorker,
did you find a solution to this problem? I'm facing exactly the same problem as you did, and at the moment I'm clueless what the problem source can be.
Thanks
06-15-2015 04:46 AM
Yes I did. From memory it came down to setting up the LV project correctly. In the source files section of project explorer there is an "Alway included" box. I put the MB Ethernet Slave Demon vi in this. I also made sure that the MB Ethernet Slave Demon vi was in the same folder as my Main vi in project explorer. Other than that I just incorporated the MB Ethernet Slave Demon vi into my LV software. Had no problems since.