0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

华穗科技 来源:华穗科技 作者:华穗科技 2022-11-04 10:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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库中右键添加文件。

3d43ad5e-5be7-11ed-a3b6-dac502259ad0.png

选择添加ActorFramework中的Reply Msg的vi库。 Reply Msg的vi库的位置为:LabVIEW安装位置>vi.lib>ActorFramework>ReplyMsg

3d5de264-5be7-11ed-a3b6-dac502259ad0.png

3d822ef8-5be7-11ed-a3b6-dac502259ad0.png

1. 创建Actor

创建一个Actor,并创建一个静态方法,命名为Read Register Value.vi;

添加该方法的内容为:输出一个寄存器值Register Value。

3da00ca2-5be7-11ed-a3b6-dac502259ad0.png

2. 创建消息

为Read Register Value.vi创建消息。

3. 修改消息的继承关系

修改Read Register Value.vi的消息类的继承关系为Reply Msg.lvclass;

3db234b8-5be7-11ed-a3b6-dac502259ad0.png

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。

程序框图如下图所示:‍

3dd11a4a-5be7-11ed-a3b6-dac502259ad0.png

5. 重写DOCore

重写并修改Read Register Value Msg.lvclass的Do Core.vi方法。调用Read Register Value.vi并将其Register Value的输出端连接至Reply。

3e1ad072-5be7-11ed-a3b6-dac502259ad0.png

6. 删除原本消息中的Do.vi

删除原本消息中Read Register Value Msg.lvclass的Do.vi方法。

7. 验证同步回复消息

创建Laucher.vi,调用Send Read RegisterValue.vi消息,并将Reply连接于弹窗上。

3e52dd3c-5be7-11ed-a3b6-dac502259ad0.png

可以看到,调用消息时弹出弹窗并显示返回值。读取寄存器的消息vi中Send Message And Wait For Response函数发挥了作用,将Register Value以Reply的形式返回给了调用处。

以同步回复消息的方式可以便捷地将被调用方的参数或结果值以返回值的方式发送给调用方,就不用通过两个消息来进行一发一收啦。

以上就是如何在LabVIEW中为ActorFramework创建同步回复消息的方法,如果想要进一步了解抽象的类和对象是如何通过ActorFramework来实现的话,敬请期待接下来关于ActorFramework的一系列技术分享。 下一期我们将分享基于Actor Framework的MVC设计实现。 对Actor Framework感兴趣的工程师们,欢迎持续关注、留言和点赞,也可以私信小编各位的技术困惑和技术需求,以获取参加免费线下培训和技术交流的机会哦。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

    129057
  • LabVIEW
    +关注

    关注

    2013

    文章

    3681

    浏览量

    344260
  • 华穗科技
    +关注

    关注

    2

    文章

    15

    浏览量

    233

原文标题:教程 | ActorFramework的同步消息

文章出处:【微信号:华穗科技,微信公众号:华穗科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    求助:错误1003发生于actor framework;导出EXE后,无法正常运行。。。

    程序导出为EXE后,调试监控了一下,类进入launch root actor后报错,错误如图,求大神指点!
    发表于 12-06 17:02

    同步热分析仪金属测试的应用

    金属材料的研发、生产与质量控制过程,准确掌握其热行为特性至关重要。同步热分析仪作为一种重要的热分析技术手段,能够程序控温条件下,同时对样品的质量变化和热效应进行实时、
    的头像 发表于 11-27 10:54 112次阅读
    <b class='flag-5'>同步</b>热分析仪<b class='flag-5'>在</b>金属测试<b class='flag-5'>中</b>的应用

    Labview技巧合集】16 labview嵌入python做的界面

    labview嵌入python做的GUI界面 无所不能的labview
    发表于 09-22 05:30

    labview的AF架构的VI文件

    C:\\\\Program Files (x86)\\\\National Instruments\\\\LabVIEW 2024\\\\resource\\\\Framework
    发表于 08-18 13:10

    时间同步设备复杂网络环境的调试要点

    时间同步设备是保障网络系统协同运行的基础设施,尤其金融、电力、通信等领域对精度要求较高的场景,其稳定性直接影响业务连续性。实际部署
    的头像 发表于 08-13 15:48 295次阅读
    时间<b class='flag-5'>同步</b>设备<b class='flag-5'>在</b>复杂网络环境<b class='flag-5'>中</b>的调试要点

    打开lvpro缺少vi文件,寻求VIPM来源!!!!

    1.resources:Framework\\\\Providers\\\\AFQ_Helper\\\\ActorRegister\\\\Methods\\\\Unregister
Actor
    发表于 07-17 13:43

    时钟同步低空经济的典型应用及发展方向

    低空经济,时钟同步的应用场景非常广泛,以下是几个典型的例子:1.无人机编队飞行无人机编队飞行是低空经济的重要应用,例如物流配送和农业喷洒。在编队飞行
    的头像 发表于 07-08 14:02 648次阅读
    时钟<b class='flag-5'>同步</b><b class='flag-5'>在</b>低空经济<b class='flag-5'>中</b>的典型应用及发展方向

    同步任务开发指导

    {// 调用静态类对象实现的同步等待调用Handle.syncSet(num);return true;}// 步骤2: 创建任务并执行async function asyncGet(): Promise
    发表于 06-19 07:57

    时间同步服务器现代网络架构的核心作用

    现代数字化社会中,精确的时间同步已成为网络系统稳定运行的基础要素。时间同步服务器(NTP服务器)作为时间协调的核心设备,广泛应用于金融交易、电力调度、通信网络、工业自动化等领域。本文将探讨时间
    的头像 发表于 06-16 14:48 526次阅读
    时间<b class='flag-5'>同步</b>服务器<b class='flag-5'>在</b>现代网络架构<b class='flag-5'>中</b>的核心作用

    [Actor] 通过actor创建控制中心与数据采集工作站来看操作者架构

    。///) 2)创建方法后,利用actor框架自带的“创建消息”功能,右击方法VI,选择创建消息,labview会自动生成一个针对该方法的消
    发表于 05-14 18:44

    [Actor]程序框图编程时,如何操作消息和方法对应的VI

    actor应用的关键: 当在程序框图编程时,核心是针对“消息”vi 进行操作,并不操作消息对应的方法vi(具体要实现的功能)。 调用的消息vi时,后台自动调用对应方法vi。 相当于队列状态机,队列元素的进、出操作 与 该元素
    发表于 05-13 18:10

    为什么SDK 1.3.5创建的配置文件是SDK 1.3.4创建的 打不开?

    为什么 SDK 1.3.5 创建的配置文件是 SDK 1.3.4 创建的 打不开?
    发表于 05-13 07:22

    时钟同步通信系统中有哪些重要作用?

    时钟同步是指在一个系统,各个时钟能够准确地显示相同的时间。现代科技发展,时钟同步是非常重要的,特别是
    的头像 发表于 04-29 13:44 929次阅读
    时钟<b class='flag-5'>同步</b><b class='flag-5'>在</b>通信系统中有哪些重要作用?

    Framework召开第二代产品发布会,新品抢先看!

    2025年2月25日,Framework美国旧金山召开了盛大的第二代产品发布会。Framework发布了有史以来最大规模的一系列新品,包括Framework台式机
    的头像 发表于 03-19 17:55 1209次阅读
    <b class='flag-5'>Framework</b>召开第二代产品发布会,新品抢先看!

    LabVIEW抽象消息使用教程(上)

    自学LabVIEWActor FrameWork的消息与抽象消息的时候肯定会觉得非常模糊。小编将给大家带来一个有关抽象消息的教程,分为上下两期,本期将带领大家创建
    的头像 发表于 01-03 14:22 2029次阅读
    <b class='flag-5'>LabVIEW</b>抽象消息使用教程(上)