labview软件框架设计1------什么时候考虑多线程-----事件结构太多如何处理------复杂报表生成

什么时候考虑多线程

这里截取了标准modbus库里面的内容,mutex在有线程使用的情况下,其他线程是不能占用该通讯资源的。

因此在使用modbus标准库资源的时候我们可以在任意线程操作串口资源。

软件中什么时候创建一个线程啦:这里简单举个例子,标定零点,但是零点是一个很浪费时间的操作。

于是我们把零点标定单独提出来,可以看见用户操作的信号通过全局变量传递给其他线程运行。

这里为什么要用全局变量啦:这里给出解释如下。

另外对于响应快的事件我们直接放到事件结构就行:

列如读取一个单一变量:

事件结构太多如何处理

在我第一次写这个软件的时候没有考虑你们多情况,写完之后发现有很多事件结构,让我软件维护起来很不方便,为此和同事讨论之后用了子VI的方式来处理。

改进之后:

将子面板嵌入到主面板中,这里有六个一样的子面板。

子面板的事件结构变得很少。

然后配上6个相同的子面板

这样整个软件变得更好维护,而且不在冗余,但是这里要注意的一点事是,虽然在该面板中有好几个事件结构,但是再执行某个事件结构的时候,想操作其他事件结构是不行的。

下面讲一下复杂报表的制作。

图中的数据区域是可变的,如图。

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值