LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Alternatives for Instruments Drivers


@Faizan_habib wrote:

I do not understand the plugin architecture? can you please refer me to some documentation which can help? or any example. 

Thanks

 


https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kGQWSA2&l=en-IN

https://forums.ni.com/t5/LabVIEW/Packed-Project-Library-PPL-Plugin-Architecture-Development-vs/td-p/...

 

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution
0 Kudos
Message 11 of 15
(484 Views)

Thanks Santhosh for providing the Collaterals. I have one more question when it comes to scalability which in my case adding the new instrument driver, would that be easy for a person who is  very beginner to LabVIEW or in general  programming to add a new functionality in OOP based Architecture.  

0 Kudos
Message 12 of 15
(471 Views)

@Faizan_habib wrote:

Thanks Santhosh for providing the Collaterals. I have one more question when it comes to scalability which in my case adding the new instrument driver, would that be easy for a person who is  very beginner to LabVIEW or in general  programming to add a new functionality in OOP based Architecture.  


Good understanding of LVOOP is required to effectively create new classes from template and implement overriding methods.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution
0 Kudos
Message 13 of 15
(466 Views)

@Faizan_habib wrote:

Thanks Santhosh for providing the Collaterals. I have one more question when it comes to scalability which in my case adding the new instrument driver, would that be easy for a person who is  very beginner to LabVIEW or in general  programming to add a new functionality in OOP based Architecture.  


For a beginner, nothing is easy. 🙂 It is however not any harder than in any other language. Check the examples and tutorials and you'll be fine. 🙂

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 14 of 15
(428 Views)

After having strived after "big" HAL, I found that an architecture made out of independent modules is easier to develop and to maintain. 

My modules use the DQMH, but other frameworks can achieve the same thing.
For the instruments I create "type-specific" cloneable modules with a shallow hardware abstraction layer, which supports a limited amount functionality - to keep it SOLID and include what is actually needed, but with the possibility for easy refactoring, if necessary.

For example I would create a cloneable Power-Supply module, with an API that should handle most common power supplies functions (like 1-4 channels, set current/voltage, set limits, get current/voltage). Inside the module I create an abstract class which implements the functions. For each actual power supply I want to use I create a child class with the actual implementation of the function. 
When I start an instance of module I select which class I want to use and connect to the supply - the class knows what connection type (Ethernet, USB, etc) it uses, the module doesn't need to.  

That can be done for all kind of instruments. If an Instrument is a bit more special, I have a DQMH template to quickly create its own module. The scripted tester in DQMH also allows for simple standalone testing of an instrument. The class abstraction allows you to create a simulated instrument, so you can unit test your module or even test your application without hardware.

On your question, what would be easy for a beginner - if you provide a template (or use the clone class tool from OpenGDS) with the functions which need to be implemented, it should be easy. They don't need to know LVOOP and neither how the DQMH module works, but they can use the module and the tester to simply test their implementation. 

0 Kudos
Message 15 of 15
(97 Views)