LabVIEW学习分享(3)

LabVIEW实用总结–多按键控制

小树不修不直溜,人不学习哏揪揪!一眨眼2019的上半年就过去了,上学党们的毕业季(^-^)V与都到来了,这个月份里总是充满着悲欢离合,期待与不舍。但是日子还得天天过,因为即便客户虐我千百遍,我依旧得待客户如初恋。今日作为2019年下半年的开笔之作,分享LabVIEW的实用设计方法–多按键控制问题解决方案,特总结此文,以留纪念,望大神指点!
多按键控制问题描述
所谓的多按键控制问题,在生产生活中十分常见,从电视遥控器到工业生产中的控制台,都会存在着格式各样的按键、按钮来控制设备下一时刻的生产动作或显示效果。本文中基于之前文章CADe_SIMu V1.0.0.1手把手学习笔记(6)中对于电机正反转控制的研究,进行进一步改进,增加互锁设计,并利用LabVIEW编程实现并展示。
程序功能描述
本文中主要介绍利用LabVIEW解决多按键控制问题的设计思路,并以一个简单的应用实例作为模型基础。选择电机控制过程中的三相电机正反转互锁控制为基础,其控制电路中的主要组成元件有:总开关QS、断路器QF、停止按键SB1、正转启动按键SB2、反转启动按键SB3,控制电路中QS、QF必须全部闭合电路才通电,其它控制按键才有效。互锁即当电机处于正转状态时,若按下反转按键SB3则无效,必须先按下停止按键SB1,电机停止运行后,才能再按SB3键启动反转,反之亦然。
前面板设计
(1)首先在LabVIEW的前面板中添加所需的按键控件,先添加QS、QF电源控制按键,选取控件选板中“布尔”元件库中的开关即可,如图1所示,利用前几次总结中的控件染色处理办法,将控件然成喜欢的颜色,当然也可以在控件的属性中进行修改。
LabVIEW学习分享(3)_第1张图片
图1 电源控制开关
(2)添加停止按键与正反转控制按键,如图2所示,此处选取的是本校学生自定义的按键控件,此前,本小学生在5月份被“甩”时撰写的“LabVIEW学习分享”文章中已经详细介绍过创建过程,这里不再赘述。此处需要注意的是需要把开关的“机械动作”属性改为“保持转换直到释放”,如图3所示。
LabVIEW学习分享(3)_第2张图片
图2 启停控制按键
LabVIEW学习分享(3)_第3张图片
图3 机械动作属性
(3)最后添加指示灯到前面板,仍然选择“布尔”元件库中的显示控件,此处选取了3个布尔显示控件,分别显示电源、电机正转、电机反转的状态,如图4所示。将上述元件适当调整位置与大小后,前面板的设计与准备工作基本完成。
LabVIEW学习分享(3)_第4张图片
图4 指示灯控件
程序框图设计准备工作–二值逻辑
为了实现按键之间的相互配合与控制,从硬件设计的角度,通常常用的就是逻辑芯片74系列、三八译码器之类的东东。而起从原理上看即为二值真假逻辑的应用,相信许多学习过“数字电子技术基础”这门课程的小伙伴们,对于“真值表”、“卡诺图”、“逻辑表达式”这类的专业名词会感到十分亲切吧。在LabVIEW中利用二值逻辑设计程序的思想同样非常实用。下面由本小学生(๑•̀ㅂ•́)و✧帮助大家回顾与梳理一下有关列真值表、化简逻辑表达式的知识。
首先分析好当前问题需要有几个输入变量、输出变量,通常本小学生在此过程中首先只选取一个输出变量进行分析,因为很多问题中输出变量都是多个的情况,列真值表的过程中很容易搞错、搞混,因此对每个输出变量独立列真值表的办法相对容易理解。当然对于某些直接就能写出逻辑表达式的大神来说,这都不是事儿,但还是那句话,本小学生提供的方法,是自己认为能够为从未接触过此类问题的小伙伴提供思路的方法,可能不是最好的,可能存在着错误,希望小伙伴们或大神能在评论处指教。本文中的电机正反转互锁控制问题中,输出量为给正转、反转指示灯的信号,输入量为:正转按键、反转按键、停止按键状态以及上一时刻电源、正转、反转指示灯状态,共计2个输出变量“下一时刻正转指示灯状态OPT1”、“下一时刻反转指示灯状态OPT2”,对应每个输出变量存在5个输入变量,以“下一时刻正转指示灯状态OPT1”为例,其输入变量有“当前时刻正转指示灯状态ST1”、“当前时刻反转指示灯状态ST2”、“电源状态POW”、“正转控制按键状态SB2”、“停止控制按键状态SB1”,同理,反转时则有“反转控制按键状态SB3”。列真值表如表1所示,即为正转控制的真值表,表中“0”表示:按键断开或指示灯熄灭状态,“1”表示按键闭合或指示灯点亮状态。
表1 正转控制逻辑真值表
LabVIEW学习分享(3)_第5张图片
LabVIEW学习分享(3)_第6张图片
从逻辑真值表中可以看出,共计32种情况,其中输出为“1”的情况有3种,列写逻辑表达式如式1-1所示,其化简方法可以直接利用逻辑表达式的化简规则化简,也可以利用如图5所示的卡诺图进行化简,圈“1”约去变化的输入变量,圈2个“1”约去一个变量,圈4个“1”约去两个变量,圈3个“1”约去三个变量,以此类推。
式1-1
LabVIEW学习分享(3)_第7张图片
图5 正转控制卡诺图
从正转控制的真值表中可以发现电源状态POW变量必须为“1”时,输出变量才可能为“1”,分析问题也符合这一道理,电源不接通,控制按键自然失效,因此列反转控制真值表时可以省略掉16种情况,如表2所示。同样写出逻辑表达式如式1-2所示,其化简过程可用图6所示的卡诺图。
表2 反转控制逻辑真值表LabVIEW学习分享(3)_第8张图片
式1-2
LabVIEW学习分享(3)_第9张图片
图6 反转控制卡诺图
至此,正反转互锁控制逻辑关系分析结束,下面可以开始编写LabVIEW程序框图了。
程序框图设计
(1)首先根据逻辑表达式的输入输出关系,选取逻辑函数控件,如图7所示,选取“布尔”函数中的“与”、“或”、“非”等函数。
LabVIEW学习分享(3)_第10张图片
图7 布尔函数控件
(2)写到此处可能有些细心的小伙伴会有疑惑,前面板中电源、正反转指示灯都是显示控件,而真值表分析时“当前时刻正转指示灯状态ST1”、“当前时刻反转指示灯状态ST2”、“电源状态POW”都作为控制的输入量,是不是有些问题。解决此问题的办法,可以采用本小学生之前介绍过的控件“局部变量”引用的方法,如图8所示即为此操作示范,如图9所示将“局部变量”转换为读取,即变为输入控制量。
LabVIEW学习分享(3)_第11张图片
图8 创建局部变量操作
LabVIEW学习分享(3)_第12张图片
图9 转换为读取
在逻辑表达式的程序实现中,涉及到四输入与门的设计,此处可以利用LabVIEW中可以选择上文图7“布尔函数”控件中的“复合运算”控件,如图10所示添加好控件后在“或”符号处单击右键,菜单中选择“更改模式”再选择“与”。在控件左侧输入端口单击右键,下拉菜单选择“添加输入”如图11所示,重复操作即可使控件变成四输入与门。此处分享一个快速添加重复控件的方法,以上述设计的四输入与门为例,操作过程略显复杂而且重复性极高,因此可以利用快速复制的方法,首先单击选中要复制的控件,按住“Ctrl”与鼠标左键,同时向下拖拽即可,如图12所示,当然大家也可用快捷键“Ctrl+C”配合“Ctrl+V”的方法复杂较为复杂的控件。
LabVIEW学习分享(3)_第13张图片
图10 更改模式操作
LabVIEW学习分享(3)_第14张图片
图11 添加输入操作
LabVIEW学习分享(3)_第15张图片
图12 快速复制操作
(3)最后按照逻辑表达式连接好程序框图,如图13所示,保存到适当路径位置即可。
LabVIEW学习分享(3)_第16张图片
图13 程序框图接线效果
运行调试效果
(1)切换到前面板,点击“持续运行”按钮,首先闭合QS开关,断开QF开关,此时属于未通电状态,点击运行按键无效,如图14所示,符合预期效果。
LabVIEW学习分享(3)_第17张图片
图14 电源控制开关效果
(2)电源接通状态下,单击正转启动开关SB2,正转指示灯由灭转亮,如图15所示,同时正转指示灯亮的状态下,单击反转控制开关SB3无效,实现互锁,点击停止开关SB1指示灯熄灭,如图16所示,再次单击SB3按键,此时反转指示灯点亮,此时点击SB2开关无效,验证互锁功能,如图17所示。
LabVIEW学习分享(3)_第18张图片
图15 正转控制效果
LabVIEW学习分享(3)_第19张图片
图16 停止按键效果
LabVIEW学习分享(3)_第20张图片
图17 互锁控制效果
至此完整的LabVIEW多按键控制程序,分享完毕,总结至此,希望能为有需求的小伙伴提供思路,也希望能在这个“金钱至上”的社会,给大家提供更多免费的学习资源。♪(^∀^●)ノ
良心博主,且看且珍惜,如需分享,表明转载,小弟不胜感激!

你可能感兴趣的:(LabVIEW学习分享)