LabVIEW里随机选择亮灯
首先先创建一个数组,表示四个灯
再在程序框图中建立一个数组常量,包括 0,1,2,3 四个元素,这个数组对应数组灯的四个索引
然后建立一个事件结构,并在添加一个移位寄存器。接着将数组常量接到移位寄存器上
然后在前面板给拖放一个停止按钮,用于程序的停止。再在程序框图中的事件结构加上停止按钮值改变框图。并在程序框图里给while停止符赋值T,让程序停止。
接下来,在前面板创建一个名为刷新的布尔按钮,用于初始化设置和灯的复位。
然后我们如下图,右键刷新,选择其中的刷新值信号用于触发事件结构的值刷新。
然后在while外面给值刷新赋值,在刷新内,让四个灯都为灭为了不影响程序界面,我们要将前面板的 刷新布尔灯 隐藏起来。
时间间隔后的灯闪烁实现
如下图利用事件结构的超时,来实现时间的间隔,左上角的沙漏表示
间隔时间,500表示500毫秒,也就是说500毫秒会处理一次超时程序框图
里的程序
取出4个数中的随机数
接下来就是原理是一个数,除以另一个数,余数肯定小于除数,再利用labview中的向下取整,就可以产生一个0到这个 数减1数 中的随机整数。
上图中将随机数发生器乘上10000,为的是产生一个很大的数然后除以数组常量的长度,向下取余,是为的产生数组常量的索引。
点亮四个灯
如下图,利用删除数组元素函数,将产生的数作为索引,索引出数组常量中的一个数,然后再将这个数作为替换数组子集的索引。替换数组子集就是将数组相应位置的值换为T,而为了实现不重复,则要将删除数组元素中的 已删除数组元素 赋给移位寄存器。
重复循环,和灭灯
以上都做完了会发现不循环,不循环原因是,一直删除数组元素,但终有删除完的一天,所以要判断是否为空,如果为空,则从重赋值数组。
为了灭灯,就要用到刷新按钮用到的,值改变(信号),为数组创建一个值改变信号,来替换“替换数组子集”后的局部变量,当值改变,则产生信号用于灯的亮灭
然后在事件结构创建‘数组’:值改变 中把原来的值赋给数组就行了。
2024-12-26 广告