Jump to content

Starting real-time exe programmatically


pgstein104

Recommended Posts

HI,

I am currently updating a real-time application from LabVIEW 8.5 to 2009. In LabVIEW 8.5, I would reboot the controller, delete the exe, ftp the new exe, and then programaticaly start it using vi server. The problem I am running into is the following error:

LabVIEW Real-Time: VIs built into executables cannot be accessed through VI Server calls. Use Source Distributions to dynamically call VIs on Real-Time targets."Apparently, you can no longer call a VI from an executable using VI Server in LabVIEW 2009. Using a source distribution is not an option, it must be an exe. Does anyone know a good way I can get around this?

Does anyone know how to do one of the following:

1) Stop an exe running on the real-time programmatically. (This way I could delete it, place my new one on the real-time, reboot, and then have it boot on startup)

2) Start an exe on the real-time programmatically (not using VI-Server). (Reboot to kill the exe, delete it, place the new one on the real-time,start it programmatically)

3) Any other ideas on how ot deploy and run my exe.

NOTE: Per project requirements, I must deploy a new executable at the start of my program.

Any suggestions would be great.

Thanks,

Paul

Link to comment

...

Does anyone know how to do one of the following:

1) Stop an exe running on the real-time programmatically. (This way I could delete it, place my new one on the real-time, reboot, and then have it boot on startup)

2) Start an exe on the real-time programmatically (not using VI-Server). (Reboot to kill the exe, delete it, place the new one on the real-time,start it programmatically)

3) Any other ideas on how ot deploy and run my exe.

NOTE: Per project requirements, I must deploy a new executable at the start of my program...

The quickest way (AFAIK) to deploy a RT applikation (with just one reboot), is to

1. upload the new rtexe, including dependencies, to the real time target into a new folder (perhaps with the version in the name)

2. download the ni-rt.ini file from the RT target to the local disk

3. Change the RTApp.StartupApplication path to point at your newly uploaded rtexe

4. upload the edited ini-file to the RT target

5. reboot

6. new rtexe should start running

I also believe that it is possible to use private VI-server methods to edit the ini file directly on the RT target (if remote access is enabled) but I cannot check at the moment. Doing so would replace steps 2 to 4 above.

/J

  • Like 1
Link to comment

Thanks for the input. What I am planning on doing is what you suggested, but I was going to upload the new executable to a folder based on the time/date. You don't happen to have a VI that will create a directory? I know the FTP command is MKD and I can write it myself, but if it is already done there is no point in re-inventing the wheel.

Thanks,

Paul

Link to comment

Thanks for the input. What I am planning on doing is what you suggested, but I was going to upload the new executable to a folder based on the time/date. You don't happen to have a VI that will create a directory? I know the FTP command is MKD and I can write it myself, but if it is already done there is no point in re-inventing the wheel.

Thanks,

Paul

I'll see what I can find.

/J

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.