LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

SIT not working correctly with CompactRio - Error 14104

Hello

 

I have been having quite a bit of trouble running a simulation on a CompactRio RT target.

 

What I am trying to do is generate a model in Simulink & SimMechanics that will run in labview and control some motors.

 

I have managed to create a VI to control the motors, but I am having trouble running the VI on the CompactRio.

 

I have followed the instructions that are given in the SIT manual online, but everytime I deploy the model dll that I have created in Simulink, I get two error messages...

 

The first is when it initially starts:

 

'The simulation file sine.out couldn't be found in the expected paths. Please FTP the file manually to your Real-Time system. '

 The following expected paths do not contain the simulation model:

Details:

E:\Users\gto20\Documents\Indvidual Project\Labview\Example\sine_nidll_vxworks_rtw\sine.out
E:\Users\gto20\Documents\Indvidual Project\Labview\Example\sine_nidll_rtw\sine.out


This does however let me continue, but when the project is deployed to the compactrio and it attempts to run, I get the error message:

 

 'Error 14104 occured at Driver VI >>

 

Possible Reason(s):

 

Simulation interface toolkit: The modell DLL failed to load. The specified path might be invalid, or the specified file is not a valid model DLL. Select tools>>SIT Connection Manager from the pull-don menu to launch the SIT Connection Manager dialog box and specify a valid modell DLL'

 

As far as I can gather, the model is valid as it was created with the correct build, that is why I tried the example, but I still get the same error messages....

 

Can anyone help?

 

Thanks

0 Kudos
Message 1 of 11
(3,354 Views)

The problem you are having is that SIT by default generates model DLLs that can run on Windows and Pharlap, the real-time OS used by most NI Real-Time targets such as PXI and older CompactRIOs. The CompactRIO you have, however, runs the VxWorks operating system. VxWorks requires .out files instead of DLLs, so a different compilation method is required.

 

SIT 5.0 does have the capability to compile and deploy .out files, but it will require a couple manual steps to get started. Refer to this document for more help. I also believe this document is referenced somewhere in the Readme for SIT if you still have your installer files available.

 

The process basically involves the following, which is all explained in the linked document above:

  • Install the gcc compiler on your machine, which is a free download.
  • Use a modified codegen file to build your model (nidll_vxworks.tlc), which is not activated by default by the SIT installer
  • This codegen process will produce a .out file. In the SIT Connection Manager, you still select your .dll file to configure all your mappings. Just make sure the .out file is in the same directory as the .dll file. If so, SIT will deploy it automatically to the CompactRIO, which will use it to run the model instead of the DLL.

 

After you do this once, you should find the process to be fairly automated and easy.

Message Edited by Jarrod S. on 04-06-2009 08:32 AM
Jarrod S.
National Instruments
Message 2 of 11
(3,306 Views)

Thanks for the reply!

 

I have been in contact with someone from tech support in reference to the issue and it is indeed the problem with the 9014 cRio and VxWorks.

 

They did suggest the readme file that came with SIT, but it didnt mention how to install the VxWorks builder... However with a bit modification I managed to get it working... and a .out file generated.

 

I haven't had a chance to deploy it to the cRio yet as I am away from one for a bit, but it is defiantly a step in the right direction.

0 Kudos
Message 3 of 11
(3,295 Views)

I have done the different steps mentioned in the document, but it still don't work. I can select nidll_vxworks.tlc in matlab at the simulation/configuration parameters and build it, but it is not generating an .out file. Also the SIT still can't detect the .outfile. Do I have to change maybe something at the makefile configuration? Or what can go wrong?

Thanks in advance!

 

Sam Weckx

0 Kudos
Message 4 of 11
(3,245 Views)

Hi Sam

 

This might help you as this is what got mine to work, but I'm not sure if it is the way it should be done...

 

I assume that it says build failed if it is not generating the .out file...

 

I found that the files needed to compile it werent in the directory...

 

I took the file (nidll_vxworks.tlc) from:

 

C:\SimulationInterfaceToolkit\5.0\VxWorks\ModelInterface\tmw\R2007b (R2007b being the appropriate version of Matlab)

 

and put it inthe folder

 

C:\SimulationInterfaceToolkit\5.0\ModelInterface\tmw\R2007b

 

 This is because I believe it needs all the files in the  'C:\SimulationInterfaceToolkit\5.0\ModelInterface\tmw' directory to build it. Just make sure the gccdist package is installed correctly as this is also needed in the build...

 

I hope that helps! but i can't guarentee it will.... Although it generates the .out file for me 🙂

 

Geoff

 

Message 5 of 11
(3,241 Views)

I had already copied the file nidll_vxworks.tlc to the 3 directories and I could run it in Matlab. But Matlab never finishes the generation of the code. So maybe there is something wrong with the installation of the gccdist package. I have downloaded the GNU toolchain from http://zone.ni.com/devzone/cda/tut/p/id/5694

unzipped it and then copied the folder gccdist into the directory c:\gccdist. Is this ok? Or did I forget something or did something wrong? 

Thanks a lot!

 

Sam

0 Kudos
Message 6 of 11
(3,225 Views)

Does Matlab give you any error message at all? Might be worth copy and pasting what it says when you run the build. 

0 Kudos
Message 7 of 11
(3,222 Views)

Other standard debugging steps:

 

  • Try building a very simple model using the vxworks tlc codegen files. Something like a sinewave block with an inport and outport. Does that work?
  • Try building your model using the standard grt codegen. Does that complete successfully? 
Jarrod S.
National Instruments
0 Kudos
Message 8 of 11
(3,207 Views)

Ok, it works now. It is a bit strange, I always have to run grt codegen and nidll before i can build with the nidll_vxworks. But he is now generating the .out file and I can run it on the compact rio. Thanks for your help!

 

Sam

0 Kudos
Message 9 of 11
(3,192 Views)

I am sorry to post here so late.

I am doing the same thing and get the following error in Matlab. "QofV" is the name of my model. The error is in the directory because I have the 2010 version of the SIT and not the 5.0.

How do I change this?

Thanks,

 

 

cp C:/SimulationInterfaceToolkit/5.0/ModelInterface/tmw/nidll_main.c ./nidll_main.c 
cp: cannot stat `C:\\SimulationInterfaceToolkit\\5.0\\ModelInterface\\tmw\\nidll_main.c': No such file or directory 
make: *** [create_nidll_code] Error 1 
### Real-Time Workshop build procedure for model: 'QofV' aborted due to an error.

 

cp C:/SimulationInterfaceToolkit/5.0/ModelInterface/tmw/nidll_main.c ./nidll_main.c cp: cannot stat `C:\\SimulationInterfaceToolkit\\5.0\\ModelInterface\\tmw\\nidll_main.c': No such file or directory make: *** [create_nidll_code] Error 1 ### Real-Time Workshop build procedure for model: 'QofV' aborted due to an error.

 

 

Javier Ruiz - Partner at JKI
jki.net
vipm.io
0 Kudos
Message 10 of 11
(2,584 Views)