9. Abstract Messages in LabVIEW Actor Framework

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 50

  • @TomsLabVIEWAdventure
    @TomsLabVIEWAdventure  3 роки тому +5

    Hey LabVIEW Gang, if you're using LabVIEW 2020, check out this video which makes messaging the calling actor much much easier (using interfaces): ua-cam.com/video/oYUow2c-nCE/v-deo.html

    • @fbagatelleblack
      @fbagatelleblack 3 роки тому

      I have to learn both methods. Tom to the rescue! Thanks for all your work on this.

  • @chiennguyen4974
    @chiennguyen4974 5 місяців тому

    I think you are the most amazing lecturer aboutLabVIEW on UA-cam.

  • @drwagner14
    @drwagner14 4 роки тому +1

    After this, I'm beginning to see the main downside of AF: very complex and cumbersome messaging! I'm sure it pays dividends, so that's why I'm here. Thank you again! (now, on to re-watch this video...)

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому

      Abstract messaging is the most challenging concept when you start learning AF - so hang in there!
      Once you've played along at home, and tried making the messages a few times without watching the video and from scratch it will be like second nature.
      So long as you understand the theory the actual 'doing' should click into place :)

  • @chetanmalpure1679
    @chetanmalpure1679 5 років тому +1

    Hi Tom! I wanted to thank you for making these video series on AF. I was prepping for the CLA and wanted to design the architecture based on AF. Your video series really helped me to understand the AF fundamentals. I am happy to inform that I passed the CLA with the AF architecture. Once again thank you and keep up the great work!

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  5 років тому +1

      That's brilliant! Congratulations! I hope to meet you at the next CLA summit ;)

    • @chetanmalpure1679
      @chetanmalpure1679 5 років тому +1

      Tom's LabVIEW Adventure That would be fantastic! :)

  • @miriamtaani831
    @miriamtaani831 8 місяців тому

    Wonderful series. At bit outdated with regard to the issues interfacing. Dear Tom, is it possible that you update your chatroom example to use interfacing for messaging between actors? Your fans would appreciate it!

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  8 місяців тому

      Hi Miriam, later on in this series I do have a video about interface messaging. I hope you enjoy

  • @Zettaminx
    @Zettaminx 5 років тому +1

    Thank you sir. My job is literally Labview, this is very helpful.

  • @dmitrymelnik8296
    @dmitrymelnik8296 4 роки тому

    I think Abstract messaging mechanism in AF is the coolest thing on Earth.

  • @pierrejaccard6628
    @pierrejaccard6628 4 роки тому

    Hi Tom, many thanks for this video. Now I begin to understand the concept and can start playing.

  • @happy_dog5700
    @happy_dog5700 9 місяців тому

    Hi Tom,非常感谢你,from china

  • @williamortez4592
    @williamortez4592 5 років тому +1

    Awesome! I've been waiting for someone to make a video on this for ages! I'm really liking how this series is coming along. I don't know how you don't have more subscribers.

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  5 років тому

      Thanks :)
      I've only been doing this for a couple of months so growing slowly. But feel free to share colleagues who are also using LabVIEW

  • @aliasad573
    @aliasad573 4 роки тому

    Hi Tom, since the introduction of interfaces in LV 2020 the abstract msges are more simple. Would be great if there is an update to see your implementation and thoughts 😃

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому +1

      Yep, I agree! I hope to be making a video about interfaces and AF soon :)

  • @willycky9
    @willycky9 4 роки тому

    Hi Tom, thanks for this amazing tutorial. It would be fantastic if you can provide all example codes in LV 16 or earlier ( i know you've made some codes in LV 15 and many thanks for that). Thanks and looking forward to more videos here

  • @longxingwu2791
    @longxingwu2791 4 роки тому +1

    Hi Tom,i have a problem.I write the program according to your method,and some other normal, but why does the Calling Actor will not close together when I close the Nested Actor, but your program is able to.

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому

      Hey Longxing, I can't remember how I wrote this code. However, by default, the nested actor cannot stop the calling actor. I suspect, when I stop the nested actor I send a Stop message to the calling actor. This can be done by getting the parent enqueuer and sending a normal stop (both of those functions are in the functions palette).

  • @Zettaminx
    @Zettaminx 5 років тому

    Hey Tom, if possible could you make a video on LabVIEW web services in the future?

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  5 років тому

      I have a bit of a love/hate relationship with web services, I tend to try and find alternative solutions. What is it that you want to do with web services?

  • @dryfus3031
    @dryfus3031 3 роки тому +1

    Hi Tom, i have a question, what if you have to send the data from the nested actor to the caller of the calling actor? do you have to repeat this whole process twice or is there some other way?

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  3 роки тому

      Hi Dryfus,
      If a nested actor is sending a message to its calling actor, then an abstract message should be used (like you see in this video). However, when an actor sends a message to its nested actor, a standard message can be used.
      However, since the introduction of interfaces in LabVIEW2020, you can use "Interface Messages" which are far simpler than abstract messages!
      ua-cam.com/video/oYUow2c-nCE/v-deo.html

  • @govindsankarmr2716
    @govindsankarmr2716 7 місяців тому

    Hello Tom, I did everything same as you did until I tried to create Child of Abstract Message for Update VI, I selected the class New Data Msg.lvclass and immediately I get the message A class or class folder with the same name already exists. I dont understand what is the problem?

  • @johnhoehner5563
    @johnhoehner5563 4 роки тому

    Thanks for this! I recently watched a video with Stephen Mercer at a CLA summit talking about "Interfaces" in LabVIEW 2020. He says "there is no need for abstract messages" during this video if we have "Interfaces" now. How does an OOP interface replace the need for abstract messages in the Actor Framework? Thanks again!

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому +1

      Great question. An interface is a type of class that holds no functionality, it just holds methods that the child class can use. Just like an abstraction layer you would have with a HAL or MAL.
      However, here's the clincher, a class can only have one parent class, but could have any number of interfaces.
      So instead of having the convoluted abstract messages we have today, our actors will inherit from another actor (like we have now), but could also inherit from XNumber of message interfaces which the actor can override to complete functionality.

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому

      An interface will act as a "Message Abstraction Layer".

    • @johnhoehner5563
      @johnhoehner5563 4 роки тому

      @@TomsLabVIEWAdventure Thanks for the reply! So from a high level, we would have an interface message with similar "send" and "do" messages. The callee executes the "Send Message" method and the caller executes the "Do" method? I feel like I'm oversimplifying a bit.

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому

      @@johnhoehner5563 that's pretty much it. You can download the LabVIEW 2020 beta and try it out :) there are some examples in the example finder.
      Stephen will be giving a talk at the European CLA summit in March about interfaces. If you're a CLA and in Europe, register to come if you can

    • @jamesbalisciano2922
      @jamesbalisciano2922 4 роки тому +1

      Wow! Thanks for asking this question. I hadn't heard of interfaces being in 2020 and that's pretty exciting news.

  • @kemikings
    @kemikings 4 роки тому

    Great and clear explanation! Thank you!

  • @ЭпаминондБабельмандебский

    Hi, Tom. I have 2 Nested Actors launched from one Root Actor. Each nested actor can send, for example, string data to Root Actor. I understand and know how I can create two different abstract methods in Root Actor for each nested actor. But now I’m thinking about following:
    Is that possible to create only one Abstract method in Root actor for both nested actors? Abstract messages data types from nested actor are the similar.
    I want my Root Actor react the same way on differenet messages from different nested actors

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому

      Hi Эпаминонд, Yep, all you have to do is define the message in a parent class and use it in child classes :)

  • @Black-Bot
    @Black-Bot 5 років тому

    Very nice! Keep go for it!

  • @elharel
    @elharel 4 роки тому

    When I try to Create Child of Abstract Message, it executes, but I get a strange message: "One or more attributes of the parent message class cannot be matched to an input of the target method..." Please help

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  4 роки тому

      That's nothing to worry about. When you get that message it just means the scripting tool wasn't able to complete the wiring. When you get that message you just need to manually wire from the unbundle function into the subVI - it should be obvious of what to wire (the VI BD will appear in the foreground).
      If the subVI doesn't have the inputs then it means you didn't define the data types. If that's the case, then right-click and resript the message in the project.

    • @elharel
      @elharel 4 роки тому +1

      @@TomsLabVIEWAdventure Thank you! I just had to wire the terminal and rescript.

  • @Behind_the_Scenes_bytes1
    @Behind_the_Scenes_bytes1 5 років тому

    @ Tom Can you make the codes available in older LabVIEW version 2017.

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  5 років тому

      Here you go:
      github.com/TomsLabVIEWAdventure/Chat-Window-Tutorial-Series/tree/master/Video%209%20-%20Abstract%20Messages/LV2015

    • @Behind_the_Scenes_bytes1
      @Behind_the_Scenes_bytes1 5 років тому

      @@TomsLabVIEWAdventure Thank you, Your series really helped me. Waiting for your next video/videos

    • @Behind_the_Scenes_bytes1
      @Behind_the_Scenes_bytes1 5 років тому

      @@TomsLabVIEWAdventure Can you provide some bigger projects using Actor Framework. I have learned quite a lot, but I need to implement things in real life Industrial projects. So that I can learn how I can use the Actor framework in big projects. Something that involves Hardware Abstraction Layer.

    • @TomsLabVIEWAdventure
      @TomsLabVIEWAdventure  5 років тому +2

      @@Behind_the_Scenes_bytes1 I have been wanting to do a video where I take a CLA paper and implement it in Actor Framework, but I haven't had the time recently and I have quite a lot going on in the next 3 weeks. It's something I want to do, but I can't say when it will happen just yet.