学校网站开发协议,企业邮箱怎么获取,网站开发需求分析用的图,美食网站html代码文章目录 通知器案例一案例二案例三#xff08;在不同VI中用同一个通知器#xff09; 通知器
同步技术#xff1a;同步技术用来解决多个并行任务之间的同步或通信问题。
通知器比较适合一对多的操作#xff0c;类似于广播#xff0c;一点发出的通知消息#xff0c; 其它… 文章目录 通知器案例一案例二案例三在不同VI中用同一个通知器 通知器
同步技术同步技术用来解决多个并行任务之间的同步或通信问题。
通知器比较适合一对多的操作类似于广播一点发出的通知消息 其它多个点可以同时收到这个消息。与设计模式中的“观察者”模式基本一样。
通知器在LabVIEW中通过名称来区分这个名称是全局的所以通知器可以在不同的任务或vi之间传递消息数据。
案例一
使用通知器实现输入字符串时分别对字符串进行操作转为大写和反转字符串。 在前面板中放置1个字符串输入控件和2个字符串显示控件并分别名为为obj1、obj2、obj3然后在程序框图中设置好while循环结构和事件结构。 在程序框图中鼠标右键-同步-通知器操作-获取通知器引用然后在其名称接线端创建常量输入notifier text即设置通知器的名称并将其连接到元素数据类型即设置为布尔类型然后鼠标右键-同步-通知器操作-释放通知器引用并将其连接好。 添加事件分支为 “obj1”值改变 然后鼠标右键-同步-通知器操作-发送通知将“通知”接线端连接到“新值”即obj1的值发生改变时则会把改变后的新值通过通知器发送出去。 再添加事件分支操作如下当前面板关闭时则会释放通知器引用停止while循环。 Tips鼠标放入事件、条件等结构中按住ctrl键滑动鼠标滚轮即可切换事件分支。 在程序框图中鼠标右键-同步-通知器操作-获取通知器状态然后将“通知器”端与“通知器输出”端连接“错误输出”连接到循环条件接着鼠标右键-字符串-转换为大写字母将其与获取通知器状态的“最近一次通知”端连接起来。 当第一个循环停止时释放通知器引用则在第二、三个while循环的等待通知器状态的“错误输出”端会输出“T”循环停止。 在程序框图中鼠标右键-字符串-附加字符串函数-反转字符串然后与第五步的操作相同设置好第三个循环。 最终的程序 在前面板中选中字符串输入控件鼠标右键-键入时刷新目的是当输入数据时显示控件同步显示。运行结果如下
案例二
使用通知器实现点击停止按钮时波形图表停止。 在前面板中放置一个停止按钮和两个波形图表并在程序框图中设置好对应的while循环结构和事件结构。 添加事件分支为 “停止”值改变并设置好通知器其元素数据类型设置为布尔类型再放置发送通知其“通知”端连接“T”即当按下停止按钮时会发送“T”。 在程序框图中鼠标右键-同步-通知器操作-等待通知然后将其放置到第二个while循环中其“通知器”端连接到“通知器输出”端“超时毫秒-1”设置为100“通知”端连接到循环条件最后设置定时时间为100ms随机生成数据给波形图表。 第三个while循环的设置与第二个while循环相同。 运行结果
案例三在不同VI中用同一个通知器
使用通知器实现在一个VI中输入字符串数据另一个VI中显示字符串数据最后点击停止按钮时两个VI同时停止。
创建一个VI命名为 notifier1.vi 可任意命名然后在前面板中放置字符串输入控件并设置为“键入时刷新”和停止按钮在程序框图中创建好while循环结构和事件结构。 创建一个通知器命名为string并添加事件分支为“字符串”值改变放置发送通知将其“通知器”端连接到“通知器输出”端“通知”连接到“新值”即当字符串输入控件中的字符串发生改变时发送通知。 再添加一个事件分支为 “停止”值改变在其中放置发送通知并设置其“通知”端为stop。 stop作为一个自定义的停止信号即当点击停止按钮时发送stop通知另一个VI收到该stop通知后与stop字符串进行比较当等于stop则停止程序。 再创建一个VI命名为 notifier2.vi在其前面板中放置字符串显示控件在程序框图中设置好while循环结构。 在notifier2.vi中设置与notifier1.vi相同的通知器并在其中放置等待通知其“通知”端连接字符串显示控件即将收到的“通知”信息显示在字符串显示控件上同时将“通知”端的信息与字符串stop进行比较若相同则停止程序。 同时运行两个VI在 notifier1.vi 中的字符串输入控件中输入字符串时会在 notifier2.vi 中的字符串显示控件中显示字符串。