在LabVIEW中创建Actor Framework的同步消息

actorframe系列教程的第三期来啦,如果还没有看过前面两期或者遗忘往期知识点,请点击以下超链接查看往期教程。
本文教程:
在labview中创建actor framework的同步消息
一、为什么要用到同步回复消息?
从前两期对操作者框架的了解,可以发现,消息都是单向的,没有回复。发送方不知道这个消息发送后,实际会产生怎么样的结果。
但是有些情况下,发送方希望消息发送后,能获得一定的反馈。
举个例子:
a:b,请你告诉我寄存器16的值是多少?
b:a,22。
要实现这个对话过程,使用普通的消息就必须创建两个消息。首先a通过消息1询问b,接着b通过消息2回答a。增加了程序的复杂度。而使用reply msg就可以实现带回复的消息。      二、 如何创建reply msg?  首先,第一次使用reply msg时,继承关系中是没有reply msg的,因为默认reply msg不包含在actor framework.lvlib中的,需要手动添加。 于依赖关系的vi.lib库中右键添加文件。
选择添加actorframework中的reply msg的vi库。 reply msg的vi库的位置为:labview安装位置>vi.lib>actorframework>replymsg
1. 创建actor
创建一个actor,并创建一个静态方法,命名为read register value.vi;
添加该方法的内容为:输出一个寄存器值register value。
2. 创建消息
为read register value.vi创建消息。
3. 修改消息的继承关系
修改read register value.vi的消息类的继承关系为reply msg.lvclass;
4. 修改发生消息
‍打开send read register value.vi,修改程序框图中enqueuer.vi为send message and wait forresponse.vi;创建输入控件timeout in ms(-1),显示控件reply 和timedout?,并配置好接线板;
位置:程序框图 → data communication → actorframework → advanced → send message and wait for response.vi。
程序框图如下图所示:‍
5. 重写do core
重写并修改read register value msg.lvclass的do core.vi方法。调用read register value.vi并将其register value的输出端连接至reply。
6. 删除原本消息中的do.vi
删除原本消息中read register value msg.lvclass的do.vi方法。
7. 验证同步回复消息
创建laucher.vi,调用send read registervalue.vi消息,并将reply连接于弹窗上。
可以看到,调用消息时弹出弹窗并显示返回值。读取寄存器的消息vi中send message and wait for response函数发挥了作用,将register value以reply的形式返回给了调用处。
以同步回复消息的方式可以便捷地将被调用方的参数或结果值以返回值的方式发送给调用方,就不用通过两个消息来进行一发一收啦。
以上就是如何在labview中为actor framework创建同步回复消息的方法,如果想要进一步了解抽象的类和对象是如何通过actor framework来实现的话,敬请期待接下来关于actor framework的一系列技术分享。 下一期我们将分享基于actor framework的mvc设计实现。 对actor framework感兴趣的工程师们,欢迎持续关注、留言和点赞,也可以私信小编各位的技术困惑和技术需求,以获取参加免费线下培训和技术交流的机会哦。


你养的起国六柴油车吗?清洗DPF代价有点大
端点智能
如何构建基于555定时器的警笛电路
“北斗专家”金航标宋仕强再说北斗卫星、北斗定位导航及北斗天线射频输送连接器
我国成功研发出时速高达400公里的高速动车组用TQ-800永磁同步牵引电机
在LabVIEW中创建Actor Framework的同步消息
一种可以实现压力、温度和材料识别的柔性多功能传感器
Niantic与华纳兄弟互动娱乐公司合作 推出新款AR手游
电子元器件选型参数与原则
Arm在物联网市场怎么啦?
常用于缓存处理的机制总结 如何避免缓存雪崩问题?
CEVA宣布推出动态扬声器管理软件在CEVA-TeakLite-4系列上提供使用
NXP/英飞凌/瑞萨汽车电子主要营收首次变为中国
使用电子负载中常见问题解答
逻辑分析仪和网络分析仪的区别和联系
大数据可以创造什么奇迹?不是为了数据而数据!
电源回路,电源回路详解,什么是电源回路
激光通信演示装置的制作
3D打印软体机器人助力3D打印技术发展
智能机器人时代来临 国际竞争日渐加剧