LabVIEW常用技巧:2 . 使用通道传递数据

LabVIEW常用技巧:2 . 使用通道传递数据

在LabVIEW中,如果要在不同的循环中交换数据,通常可以采用事件、通知器或者消息队列等方式。但是,除此之外,还有一种更简单方便并且直观的方式,反而鲜为人知,这就是使用通道来交换数据。相比较消息队列等方式而言,使用通道更加直观且方便。请看以下示例。首先我们分别创建一个用于产生数据和一个用于显示数据的循环,并在前面板分别放置两个波形图表来进行显示。

在波形发生的部分,生成一个简单的正弦波。我们需要让这个循环停止下来,这里我们简单的使用停止按钮,并创建一个局部变量来保证一个按钮可以让两个循环都停止。这里需要注意,在这种情况下,按钮的机械动作特性不能使用触发,只能使用转换。在演示通道之前,我们先用通知器的方法做一个简单的演示,这里创建一个通知器引用,并将数据类型设置为浮点数,在数据产生循环中发送数据,在数据显示循环中显示数据,需要注意,这里必须设置等待通知超时的时间,否则循环会因为等待通知器而锁死,导致无法响应停止按钮,可以看出,在这个情况下,通知器传输数据是有损的。

接下来,我们使用数据通道的方式进行演示,在数据输出端创建一个通道写入方,这里我们只需要选择最简单的单元素串流,选择一个通道读取方并放置在数据显示循环中,将读取的数据连接至显示控件。我们也不再需要停止按钮的局部变量来停止两个循环,在数据产生循环停止前,向通道中写入“最后一个数据”,当通道接收方接收到最后一个数据的标识后,我们通过这个布尔量来停止数据显示循环,这样就实现了通过数据通道的方式在不同的循环中简单方便的传输数据的功能。

知乎视频链接

作者
魏智勇(John)
加入讨论

此站点使用 Akismet 来减少垃圾评论。了解我们如何处理您的评论数据

魏智勇(John)

站长,80后,创业者,擅长工业自动化与信息化技术,熟悉各种PLC,组态软件,熟悉计算机技术,熟悉LabVIEW、C,C#,JavaScript程序设计技术。