LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

deploy project with Ethercat

Solved!
Go to solution

Hi All!

 

I need some help. I created a project which is made of two parts. The host run on a Standard PC (display HMI...) , the second part works on a PXI controller (RT) linked to a 9144 Ethercat. I debugg my project and everything works perfectly, I am able to read Ethercat variables from the host, send data to the RT using shared variables .... 

 

To finalize my project i wanted to create an exe for the RT. That's the begining of my problems. I built the executable, Set it as startup, and deploy the exe to the target. After rebotting the target i started the host application... Now it's impossible to read Ethercat variables, and shared variable. If i try to deploy the shared variable or the Ethercat from the the project, it stop the executable which runs on the target...

 

I didn't found any document wich describe how to deploy Ethercat variable in an executable... Does someone have any idea about this problem ? any suggestion is welcome ....

 

0 Kudos
Message 1 of 5
(3,521 Views)

I haven't had any personnel experience with Ethercat. If the shared variable engine is on the target you need to deploy the variable library pragmatically when using an executable program. This is part of the DSC Module under engine control.

 

Project does this for you automatically when you run the vi from there.

 

0 Kudos
Message 2 of 5
(3,509 Views)
Solution
Accepted by topic author KaBooOoom

When running from a windows project RT SV libraries are usually set to deploy automatically when the RT application is deployed.  Also you can manually deploy SV libraries yourself from the project.

Once a SV llibrary is deployed onto a RT target it will stay there until removed.  You can check your deployment with the Distributed System Manager (DSM) if you can see it there then you are good.

Your RT exe cannot deploy its own libraries, they must be deployed beforehand.  Also, you should be able to use the DSM to see scan engine IOV's on the 9144 chassis even if your RT app is not running.  Check this first.  Also check the .alias file on your RT target to make sure that it has the correct IP addresses to resolve any NSV URL's.

0 Kudos
Message 3 of 5
(3,503 Views)

Hi sachsm ! Thanks for your answer....

 

I made different test this morning, and finally it works... so you're right, you only have to deploy your library from the project BEFORE deploying the executable and it's fine...

 

But I still have a question: for the shared variable it is possible to deploy the library from the host using the invoke node deploy library... I didn't find such a function to deploy Ethercat shared variable ... Do you know if there is a solution to programmatically deploy Ethercat variables ???

 

Thanks ! 

0 Kudos
Message 4 of 5
(3,495 Views)

All NSV libraries reside on the host RT controller, each variable within the library has a URL which determines were the actual IOV resides.

The EtherCAT drivers on the RT controller handle all the magic for us, basically making the 9144 chassis a virtual extension of your RT hardware.

0 Kudos
Message 5 of 5
(3,490 Views)