Bjarne Joergensen Posted July 28, 2009 Report Share Posted July 28, 2009 Hi all I am starting to look at OOP in LV (8.2.1) and been looking through the examples. I wondering why the oop solution in the example "Board testing" is much slower than the traditional solution? In my company we would chose the traditional solution regarding to speed! regards Bjarne Quote Link to comment
Kurt Friday Posted July 29, 2009 Report Share Posted July 29, 2009 Hi all I am starting to look at OOP in LV (8.2.1) and been looking through the examples. I wondering why the oop solution in the example "Board testing" is much slower than the traditional solution? In my company we would chose the traditional solution regarding to speed! regards Bjarne Hi Bjarne I just ran the two demo's on my machine running LV 8.6.1 and the difference between the Traditional and the LVOOP implementations is that the LVOOP solution takes 100 msec longer to test 148 boards, each board having 13 tests. So 0.7 msec per board overhead using LVOOP, not too bad I tested under 8.2.1 and I get 350 msec to do the 148 tests, so a bit longer, I suspect LVOOP has been optimized a bit since then. Note that these tests were performed on my crusty but trusty 5 year old Dell Inspiron 1150 2.4GHz Celeron laptop. For me, the benefits of implementing LVOOP would greatly outweigh the performance hit, especially when I wanted to implement new tests and new boards. The code is simpler and self documenting, easier to farm out within a team of developers and easier to debug. 1 Quote Link to comment
Bjarne Joergensen Posted July 29, 2009 Author Report Share Posted July 29, 2009 Hi Bjarne I just ran the two demo's on my machine running LV 8.6.1 and the difference between the Traditional and the LVOOP implementations is that the LVOOP solution takes 100 msec longer to test 148 boards, each board having 13 tests. So 0.7 msec per board overhead using LVOOP, not too bad I tested under 8.2.1 and I get 350 msec to do the 148 tests, so a bit longer, I suspect LVOOP has been optimized a bit since then. Note that these tests were performed on my crusty but trusty 5 year old Dell Inspiron 1150 2.4GHz Celeron laptop. For me, the benefits of implementing LVOOP would greatly outweigh the performance hit, especially when I wanted to implement new tests and new boards. The code is simpler and self documenting, easier to farm out within a team of developers and easier to debug. Hi SciWare Thank you. It seems to me that it takes longer than 350ms on my PC (HP-NW8440), but if it is faster with LV8.6, the future looks bright for LVoop by me. According to my step into oop, I would like to start with a instrument driver for a DMM (agilent 34901A), but to do it right I have considered to make a instrument class that cover all my instruments (then the DMM would be a subClass). I was thinking of something like this: Class: Instruments SubClasses: DMMs SubClass: AG34901A SubClass: NI4070 etc. SubClasses: Counters SubClass: Agilentxxx SubClass: Nixxx etc. etc. Is this the right way Does anyone got a oop instrumentdriver they would share (for learning)? regards Bjarne Quote Link to comment
Kurt Friday Posted July 29, 2009 Report Share Posted July 29, 2009 According to my step into oop, I would like to start with a instrument driver for a DMM (agilent 34901A), but to do it right I have considered to make a instrument class that cover all my instruments (then the DMM would be a subClass). I was thinking of something like this: Class: Instruments SubClasses: DMMs SubClass: AG34901A SubClass: NI4070 etc. SubClasses: Counters SubClass: Agilentxxx SubClass: Nixxx etc. etc. Is this the right way Does anyone got a oop instrumentdriver they would share (for learning)? Your class hierarchy looks fine. I don't have any LVOOP based instrument drivers I could post, but I'm sure someone has one kicking around. Quote Link to comment
Clio75 Posted August 24, 2009 Report Share Posted August 24, 2009 Hi SciWare Class: Instruments SubClasses: DMMs SubClass: AG34901A SubClass: NI4070 etc. SubClasses: Counters SubClass: Agilentxxx SubClass: Nixxx etc. etc. I like to do something Similar thing. It will be a good Idea. Can I have your Exampel ? I trying to get OOP into my head. But I'm If someone can get my head to understand this I be a happy man. I have a thing I like to draw. An class with interface/protocols. But I don't know how to start. I have Some protocols : MRP, FLP,Comp, SubL, xpcom, other Interface : Serial, Ethernet Thanx Quote Link to comment
Bjarne Joergensen Posted August 25, 2009 Author Report Share Posted August 25, 2009 (edited) I like to do something Similar thing. It will be a good Idea. Can I have your Exampel ? I trying to get OOP into my head. But I'm If someone can get my head to understand this I be a happy man. I have a thing I like to draw. An class with interface/protocols. But I don't know how to start. I have Some protocols : MRP, FLP,Comp, SubL, xpcom, other Interface : Serial, Ethernet Thanx Hi Clio75 Unfortunately I haven't started to use oop yet. I have the same problems as you and lag of time. The only thing I have is what I already have posted. regards Bjarne PS. Why is your "name" Clio75? I thought Reanult Clio only was i version 3 (see my avatar)? Edited August 25, 2009 by Bjarne Joergensen Quote Link to comment
Clio75 Posted August 25, 2009 Report Share Posted August 25, 2009 (edited) PS. Why is your "name" Clio75? I thought Reanult Clio only was i version 3 (see my avatar)? I needed a nick on internet. I had a Clio and I'm born in 1975 so I became Clio75 Edited August 25, 2009 by Clio75 Quote Link to comment
gb119 Posted August 25, 2009 Report Share Posted August 25, 2009 (edited) Your class hierarchy looks fine. I don't have any LVOOP based instrument drivers I could post, but I'm sure someone has one kicking around. Your class hierarchy looks basically the same as the one I'm using. Attached is my LVOOP'd driver for a Keithley 24xx Source Meter (which is a bread and butter instrument for us for any sort of electrical transport characterisation). I won't pretend that it's particularly well implemented, it was pretty much the first thing I wrote in LVOOP but it is now the basis of all the instrument communication I do. The base class provides essentially a wrapper for VISA along with some SCPI handling code and provision for realtime monitoring of what is being sent to the instrument. The source-meter intermediate class is rather tightly coupled to Keithley type instruments, but since that's what we mainly use... The actual Keithley 24xx class includes some pretty ropey code in places, but generally works as expected. Anyway, "share and enjoy" Keithley 24xx-LVOOP Driver.zip [edit: 8.6.1] Edited August 25, 2009 by gb119 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.