Check out our OOP Code Repository Files or visit the LabVIEW Wiki OOP Portal.
Tags |
(This content has not been tagged yet)
|
![]() |
Aug 4 2008, 03:56 AM
Post
#1
|
|||
|
Enough LAVA to be dangerous Member Posts: 4 Joined: 31-May 08 Member No.: 11640 Using LabVIEW Since:1998 LV:8.5 ,. ,.
|
Please Help,
I have started a new programming position and need to make some important design decisions. I have noted the following from the new postition: 1. The firm utilizes large Labview test programs (using closed loop control/data aquisition) involving approximately 100 VI's or more. 2. The programs use traditional structured (procedural) programming techniques. 3. The programs are written by many differrent authors and contractors making readability and program maintenance (upgrades) difficult. Each author utilized his/her own programming techniques. 4. Each program makes extensive use of parallelism by using global variables throghout the design (which I dislike). This creates race conditions and makes troubleshooting difficult. Since this is in a production environment, maintainability is a critical design factor. Ways to make improvements in the design. This is where I need questions answered. 1. I have contemplated the use of object oriented designs using Labview. I have good training using UML tools (models) and am currently using Labview 8.2. Since the use of OO programming promotes better maintainability and program maintenance. I feel this is a good choice. Is this a good choice???? What can I do with Labview 8.2??? I cannot use the Endevo toolkit since it requires Labview 8.2.1. I have explored using native by-value Labview classes and to be honest, I cannot see how this will work in my application. Once a class is instantiated, I cannot call it again using another instance inside another VI or for that matter even inside another while loop. This seems useless to me, especially compared to text based OO in which classes can be called up at anytime with all of the data intact. Also, my current applications make extensive use of parallelism. I have attempted to use the by reference example provided in Labview which uses queues. This also did not apppear to work unless a reference wire was attached making it impossible to pass data between separate VI,s. I have read where programmers create an additional VI when creating a class which is just used for asynchronus data transfer between VI's. Is this the only option that I have? If so, how does this work? Is this type of object oriented passing of data between VI's using a class structure a doable option????? This is what I need to know. Other questions: 1. after looking at the Labview 8.6 release. there were not any earthshaking changes made to the OO section. This does not appear to meet my need of a reference based Labview class. Will this be available in Labview 9?????? 2. Endevo makes a GOOP 3 class structure. Is this what I need to use?? Will this allow passing of data between VI,s using a class type architecture???? It appears that many developers have been succesful using GOOP classes. 3. It also appears that the current Labview architecture only allows scope (public, protected, private) for methods and not for classes. Does Endevo provide full inheritance for classes and methods such as text based languages????? 4. Since OO programming has been available for years in text based languages, I am becoming impatient with the Labview implementation and may be forced to use Endevo GOOP 3 classes (third party developer). 5. I am convinced that OO is the way to solve my maintainability problem, but am confused on how to implement this in the current Labview development platform. I may have to use Endevo classes temporarily until NI provides full inheritance and then switch to native Labview classes. Hope You can help, please include illustrations and examples if possible. Thanks Very Much, Your Fellow Architect.
|
||
|
|
|||
| Ad |
Aug 4 2008, 03:56 AM
Post
#
|
||
|
|
|
||
|
|
|||
Aug 4 2008, 06:06 PM
Post
#2
|
|||
![]() Extwemely Active Premium Member ![]() Posts: 1634 Joined: 23-January 05 From: Here Member No.: 1431 Using LabVIEW Since:2003 LV:8.6 ,7.0 ,.
|
-------------------- More than meets the eye...
|
||
|
|
|||
![]() ![]() |
| Time is now: 3rd December 2008 - 09:08 AM |