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
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...)
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 :)
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!
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!
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.
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 😃
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
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.
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).
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?
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?
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
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?
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!
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 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.
@@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
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
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
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.
@@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.
@@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.
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
I have to learn both methods. Tom to the rescue! Thanks for all your work on this.
I think you are the most amazing lecturer aboutLabVIEW on UA-cam.
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...)
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 :)
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!
That's brilliant! Congratulations! I hope to meet you at the next CLA summit ;)
Tom's LabVIEW Adventure That would be fantastic! :)
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!
Hi Miriam, later on in this series I do have a video about interface messaging. I hope you enjoy
Thank you sir. My job is literally Labview, this is very helpful.
Sounds like you literally have the best job ;)
I think Abstract messaging mechanism in AF is the coolest thing on Earth.
Hi Tom, many thanks for this video. Now I begin to understand the concept and can start playing.
Hi Tom,非常感谢你,from china
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.
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
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 😃
Yep, I agree! I hope to be making a video about interfaces and AF soon :)
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
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.
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).
Hey Tom, if possible could you make a video on LabVIEW web services in the future?
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?
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?
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
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?
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!
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.
An interface will act as a "Message Abstraction Layer".
@@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.
@@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
Wow! Thanks for asking this question. I hadn't heard of interfaces being in 2020 and that's pretty exciting news.
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
Hi Эпаминонд, Yep, all you have to do is define the message in a parent class and use it in child classes :)
Very nice! Keep go for it!
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
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.
@@TomsLabVIEWAdventure Thank you! I just had to wire the terminal and rescript.
@ Tom Can you make the codes available in older LabVIEW version 2017.
Here you go:
github.com/TomsLabVIEWAdventure/Chat-Window-Tutorial-Series/tree/master/Video%209%20-%20Abstract%20Messages/LV2015
@@TomsLabVIEWAdventure Thank you, Your series really helped me. Waiting for your next video/videos
@@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.
@@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.