Jump to content

LV8.5, OOP and Embedded Targets


Recommended Posts

LabVIEW Object-Oriented Programming FAQ: How to Use LabVIEW Object-Oriented Programming: Item 4 - if link is current then LVOOP is not supported in LV8.5 RT.

Does anyone know first hand if OOP, whether it be Endevo GOOP, Sciware or dqGOOP (or other ?) will work under LV8.5 on embedded targets - in particular NI's real-time OS (Vxworks)

We have previously used Sciware in LV8.2 RT so I know that works however, I have been told that Endevo GOOP is not compatiable with LV8.5 and wanted to check the truth of this comment.

Regards

JG

Link to comment

Frameworks which rely on features which are supported in RT should work, so Sciware GOOP should work (as you've seen) as well as dqGOOP (although I haven't actually tried it on RT). LVOOP is still not supported (and I don't think it's supposed to be in the near future) and I have no idea whether Endevo GOOP is supported or not.

Link to comment

QUOTE (Yen @ May 20 2008, 03:38 AM)

Frameworks which rely on features which are supported in RT should work, so Sciware GOOP should work (as you've seen) as well as dqGOOP (although I haven't actually tried it on RT). LVOOP is still not supported (and I don't think it's supposed to be in the near future) and I have no idea whether Endevo GOOP is supported or not.

The Endevo GOOP2, is pure LabVIEW without lvclasses, just like Sciware GOOP so that should work.

//Mikael

Link to comment

Being able to run on RT systems is not the same as being able to run deterministically inside the real-time loop. I do not know whether any of the toolkits can run deterministically given that there is at least some data locking to prevent concurrent access to referenced objects. But I could easily be wrong. My point is that there's another question that needs to be answered by authors of the GOOP toolkits when we're talking about "working under RT".

Link to comment

QUOTE (Aristos Queue @ May 22 2008, 10:50 PM)

Being able to run on RT systems is not the same as being able to run deterministically inside the real-time loop. I do not know whether any of the toolkits can run deterministically given that there is at least some data locking to prevent concurrent access to referenced objects. But I could easily be wrong. My point is that there's another question that needs to be answered by authors of the GOOP toolkits when we're talking about "working under RT".

Great point!

IMHO I would consider a GOOP VI as a Mutex (shared resource) and therefore it would definately be an issue with creating determinstic code (esp wrt a time critical loop!!).

I guess to understand the inner workings then all the authors of GOOP need to answer that question though... (hint hint :shifty: )

However to quote The Good Book:

QUOTE (LabVIEW for Everyone)

Semaphores having data is the fundamental concept of GOOP

So at the end of the day if all GOOP uses semaphores (??) then the sempahores themselves are defined as inherently non-deterministic.

Right now I want to firstly know if GOOP works with LV8.5 RT for its embedded properties.

Knowing about creating deterministic code would be good also.

Link to comment
  • 2 weeks later...

QUOTE (SciWare @ May 31 2008, 07:56 AM)

Hi JG

Yes classes developed with GOOP Developer will work on RT. I have a version that works with 8.5 that can be released so I'll get moving on that and put an update out soon.

Thanks for the reply Kurt

Look forward to the 8.5 release and will let em know!

Keep me posted for the release

Cheers :yes:

Link to comment

QUOTE (SciWare @ Jun 1 2008, 09:15 AM)

Hi JG

I've updated my site and GOOP Developer 2.1 is now compatible with LabVIEW 8.5

To upgrade to GOOP Developer 2.1 Full simply visit the support page and enter the e-mail address you used with your order.

Damn that was quick! Thanks heaps Kurt. Will get into it on Tuesday due to the long weekend. :beer:

Link to comment

Clarification about Endevo GOOP tools.

The GOOP Development Suite uses lvclass for its by reference architecture so it will no run on RT until lvclass does.

As Mike pointed out GOOP 2 runs on RT. GOOP 2 is our class architecture which is included in the GOOP Inheritance Toolkit. GOOP 2 runs on LV 6.1 and up and is of course not based on lvclass. It does use Sem for synch and is therefore not deterministic. It can be used to structure the part of the code which is not time critical. GOOP 2 provides inheritance and virtual methods (works similar like Dynamic Dispatch).

Jan

Link to comment

QUOTE (Jan Klasson @ Jun 2 2008, 03:37 PM)

Clarification about Endevo GOOP tools.

The GOOP Development Suite uses lvclass for its by reference architecture so it will no run on RT until lvclass does.

As Mike pointed out GOOP 2 runs on RT. GOOP 2 is our class architecture which is included in the GOOP Inheritance Toolkit. GOOP 2 runs on LV 6.1 and up and is of course not based on lvclass. It does use Sem for synch and is therefore not deterministic. It can be used to structure the part of the code which is not time critical. GOOP 2 provides inheritance and virtual methods (works similar like Dynamic Dispatch).

Jan

Thanks heaps for the reply Jan - very informative.

My questions have been answered!

Thanks everyone :beer: :)

Link to comment

Just a couple of updates.

1) The GOOP Template SciWare_JKI_V1R4 is now included in the build. This template resolves a bug with reentrant virtual methods in 8.5

2) All downloads are now zip files. Were previously rar renamed as zip which caused a problem if you tried to use windows zip.

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.