Тёмный

An Introduction to Interfaces in G 🌟LabVIEW 2020 🌟 (OOP) 

Tom's LabVIEW Adventure
Подписаться 5 тыс.
Просмотров 18 тыс.
50% 1

Опубликовано:

 

18 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 32   
@panda192012
@panda192012 Год назад
Hi Tom, I worked through your Udemy course, it was absolutely awesome. Thanks a lot. If you made another UDEMY course on OOP or Actor Framework, I will be your first customer :) .
@pantherlabmx
@pantherlabmx 4 года назад
Tom, your explanation of interfaces could not be better, you master the topic in a fantastic way, thank you
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 4 года назад
Thanks Enrique!
@MortezaVafadar
@MortezaVafadar 4 года назад
Thank you so much Tom! This video is just what I try to learn these days! I really appreciate it. I am currently working on a lab DAQ project to measure and analyze thermoelectric properties which require several instruments to work together. Since I don't have access to the actual devices in the lab, the OOP is the remedy to develop the code. I already watched your previous OOP videos several times. Even I thinking to learn your opinion about my solution approach.
@paulanderson2075
@paulanderson2075 3 года назад
Fantastic explanation - this, combined with the shipping example called "Basic Interfaces" really help me get started with Interfaces - THNKS!
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 3 года назад
Great! I'm glad you liked it :)
@sudhan123
@sudhan123 4 года назад
Nice to know about these kind of updates
@panda192012
@panda192012 3 года назад
Love your content Tom. Thank you so much!
@kothamahesh100
@kothamahesh100 3 года назад
awesome bro...interfaces looks pretty useful when we use ATE systems where sometimes some physical things needs to read or write from all or desired devices on the go. Its really a nice explanation..thanks alot
@Gord1973
@Gord1973 4 года назад
Interfaces finally! This is fantastic news!
@AndrewDeanOwens
@AndrewDeanOwens 3 года назад
Another amazing video, thank you!!
@dmitrymelnik8296
@dmitrymelnik8296 4 года назад
Thanks Tom! I am wondering what impact on the actor framework the introduction of Interfaces will have.
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 4 года назад
I'm looking forward to creating a video on interfaces and Actor Framework soon! I haven't made it yet as I found a bug with how LabVIEW 2020 saves override VIs - but a patch should be released soon to fix it. Interfaces are really going to revolutionize Actor Framework - I'm very excited! NO MORE ABSTRACT MESSAGES!
@panda192012
@panda192012 Год назад
Just one question, why did you make the Analog Input Interface inherit from DAQ-Type ? Thanks!
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 10 месяцев назад
At the time I designed it so "Analog Input" was a type of "Data Acquisition". However, if I were to do it again, I might make it inherit from "Channel"
@dmitrymelnik8296
@dmitrymelnik8296 4 года назад
Hi Tom. I have one more question. What is the point of inheriting the Abstract instrument class from the interface DAQ Types, aside from making a "forced reminder" for the developer to actually implement the methods in the child class? Also, it appears that the typecast of the dual-inherited class works only if such a typecast is performed on the class that immediately inherits from Interface and the parent class. An attempt to do so on the children of the dual-inherited class does not resolve broken wire withe either "To more generic" or "To more specific" typecast.
@dmitrymelnik8296
@dmitrymelnik8296 4 года назад
I think should clarify the question. When you inherit the instrument class from DAQ types Interface, I think (am I wrong) is the same as making the abstract methods "initialize" and "close" members of the Instrument class. Since every single concrete implementation inherits from Instrument type, and "Initialize" and "Close" are dynamic dispatch methods, they all be available in the all generation of children anyway. Also, it is not clear why inheriting of the Analog Input from DAQ types is needed. Thanks.
@andrzejczechowski5357
@andrzejczechowski5357 2 года назад
Thanks for this video Tom. I've just noticed one feature which really excites me. How did you get Diagram Preview in Choose implementation popup? I use LV2018, is this feature available for higher Labview versions?
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 2 года назад
That's a feature that was implemented in LV19 (I think), it's definitely in 20 and 21, pretty sure 19 as well. You can check out my What's New in LabVIEW videos to check for that, and other new features :)
@chandrakanth9552
@chandrakanth9552 9 месяцев назад
Hi Tom, Can I create an Actor for the Instruments instead of Normal Class? bcz here I'm not gonna use most of the AF overrides (eg.: Actor core, Pre launch Init etc...), only using the AF messages!!
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 9 месяцев назад
I'm not sure I totally understand the question, however for an actor to be able to receive messages, it must inherit from actor.lvclass. (Actor.lvclass doesn't have to be the direct parent). You could make your hardware inherit from Actor, then specific hardware could inherit from Hardware. That being said, take time to design your OOP relationships, often composition is preferable to inheritance
@sudhan123
@sudhan123 4 года назад
Hi Tom, thanks for your interest in sharing your knowledge. I have one request regarding efficient method of data encapsulation implementation while we use lv interface. Could you make little bit details about where to define the parameters and also recommendation for defining private data of child class
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 4 года назад
Hi Sarithlal, That's quite a broad question so I'm only going to give a high-level answer I'm afraid. Interfaces define what all child classed MUST be able to do. However, interfaces DO NOT define HOW the classes implement the functionality. A class uses its private data to execute functionality (and the interfaces has no input to what the class private data is). So, the private data of a class can be anything the class needs to execute the functionality. For example, if you're connecting to some hardware, the class private data might have a VISA Resource Reference. I hope this helps.
@sudhan123
@sudhan123 4 года назад
@@TomsLabVIEWAdventure thanks for your time to reply me. Is there any other platform to interact with you to get some recomendation or approaches we can apply in lv?
@alexandrlubchenko3669
@alexandrlubchenko3669 3 года назад
Hello. Does it help us to do communication from nested actor to calling actor? If yes - then how?
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 3 года назад
It does! In a massive way! Check out this video where I explain it: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-oYUow2c-nCE.html
@ShivaKrish333
@ShivaKrish333 4 года назад
Am I can use this Interface method measuring current and voltage with Agilent data logger.
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 4 года назад
Yeah you can do, but I wouldn't put in the extra work if you just need a basic system. If you want your application to be dynamic and future-proof then go for it!
@MortezaVafadar
@MortezaVafadar 2 года назад
Interface icons in the Project Explorer change to "class icon" after saving it on disk. Is it a bug or a supposed to be? I checked the known issues page for both 2020 and 2021 versions and found no report.
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 2 года назад
Interesting, I've not seen that happen before and I've been using interfaces frequently for about a year now. Is it still behaving like an interface or has it somehow converted to a class? Are you able to replicate the behaviour? If so, let me know the steps you're taking along with version numbers.
@MortezaVafadar
@MortezaVafadar 2 года назад
@@TomsLabVIEWAdventure No, they are still acting like an interface but with a "class icon" in the project explorer tree only (e.g. in the "item settings" they have an interface icon). I have LabVIEW 21.0.1 (64-bit) on Windows 11 (with the insider program). Whenever I create a new interface and check "Do Not Save" it has an interface icon until I close and reopen the project. Meanwhile, I want to thank you again for the video since I recently started to use interfaces and noticed the all details you put there.
@TomsLabVIEWAdventure
@TomsLabVIEWAdventure 2 года назад
@@MortezaVafadar I wonder if the "do not save" option is causing the issue. That's not something I typically select. I'll try it tomorrow and report it to R&D
Далее
LabVIEW intro to OOP
45:12
Просмотров 12 тыс.
Introduction to DQMH
51:16
Просмотров 7 тыс.
Creating Hardware Abstraction Layers in LabVIEW
46:15
Object-Oriented Programming is Bad
44:35
Просмотров 2,3 млн
Creating an Object Oriented Snake Game in LabVIEW
47:59
Hardware Emulation Using LabVIEW Classes
15:16
Просмотров 24 тыс.
LabVIEW procedure: Make your first FPGA application
31:08
4. User Interface Basics with Actor Core Override
15:27