My test group has decided to start using OOP (beyond LVOOP I hope).
The question is should we use an OOP tool and which one: GOOP/GDS or G#?
I'm quite biased as I have used GOOP for a number of years, but I'm trying make fair investigation. I also realize that the StarUML plug-in in G# could be very useful.
Has anyone made or seen a comparison between GOOP and G#?
Or do you have an own opinion?
(Searching for the text "G#" isn't that easy...)
Recently I have been trying to develop a set of classes for data aquisition (as the encapsulation makes other tasks easier) however I keep running into several issues (described below). I was wondering what you guys did for your OO DAQ systems. I've found a few presentations lying around on the net but their implementations do not seem to work when using DAQmx based measurements.
I am trying to measure the inputs from two seperate instruments: (1) Torque Sensor (2) Encoder. Sometimes these instruments might be using a DAQmx analog input and other times a .DLL.
My original thought was that I would have a parent class called Measurement with several functions (Initalize, Configure, Read Data, Close) that would be over-riden by its children Analog Input (DAQmx) and Digital Input (Seperate .DLL). There then would be (for example) an Analog Input object created called position and a digital Input object called torque. This seemed to look nice on paper, however it didnt work as my DAQs tasks need to be combined (you cant have several tasks on a single device.)
As this didnt work, I approached it with a different setup. This time I had a parent class called Instrument that has two children Torque Sensor and Encoder. Again, things get tricky, as sometimes I might want to use an analog DAQmx task for both the Torque Sensor and Encoder.
What is your typical OOP class structure like for DAQ?
By Morgan McLeod
I started a topic on the NI GOOP forums today about running out of memory when running the GOOP2 to GOOP3 conversion tool. I pared back my ambitions and got it to finish. However my code is all quite broken so I must not be taking the right approach.
We have been developing electronic test systems for radio astronomy receivers and their sub-assemblies since 2005. We started on LabVIEW 7.1 and settled on 8.6.1 with Endevo GOOP 3.0.5 as the production development environment. We did not want to change platforms until the project was through its construction phase. Now it is in operations/maintenance phase and we must, for obvious reasons, move to Windows 7 and therefore a more modern LabVIEW environment. We chose LV2013 as a recent standard to build on.
I have 20-30 classes which are shared infrastructure for the different test systems, plus dozens more which implement specific devices or measurement sequences. So I am loathe to rewrite all of this from first principles.
Does anyone here have experience with upgrading this scale of project to the latest / best tools to run under LV2013?
What is the path of least resistance to get this done as painlessly as possible?
What are the gotchas I should look out for along the way?
Are there good resources I may have overlooked to help me understand the underlying architectural changes?
I've been reading everythign I can find on this forum and the NI GOOP forum for the last few days but I'm still not clear what the implications for my code are with regard to, for example, GOOP2 object references becoming their GOOP3 equivalent.
I can add specific examples of what I've found broken if that will help.
Thanks so much for reading.
We have released GOOP Development Suite 4.7
The main things are:
[*] LabVIEW 2013 support [*]The creation of Property Node methods. [*]UML Modeller fixes for analysing Actor Framework classes
Download it from www.symbio.com/goop
GDS 4.7 LV2010
GDS 4.7 LV2010-64
GDS 4.7 LV2011
GDS 4.7 LV2011-64
GDS 4.7 LV2012
GDS 4.7 LV2012-64
GDS 4.7 LV2013
GDS 4.7 LV2013-64
And here are some videos:
GDS(4.5) Features Video
Contatct firstname.lastname@example.org for questions.
Lars Persson and Mikael Holmström