基于事件驱动的贴片机按钮使能控制方法及系统、介质与流程

文档序号:33619896发布日期:2023-03-25 11:02阅读:48来源:国知局
基于事件驱动的贴片机按钮使能控制方法及系统、介质与流程

1.本发明涉及贴片机电子技术领域,具体地涉及一种基于事件驱动的贴片机按钮使能控制方法及系统、介质。


背景技术:

2.贴片机又称贴装机,是通过移动贴装头把表面贴装元器件准确地放置到pcb焊盘上的一种设备。全自动贴片机可以实现高速、高精度、全自动的贴放元器件,是整个smt生产中最关键、最复杂的设备,随着工业自动化技术的不断发展,全自动贴片机在集成电路的生产制造中得到了越来越广泛的应用。
3.贴片机设备结构复杂精密,非法操作可能会造成严重的错误,如发生碰撞导致机械结构被破坏。贴片机控制软件作为人机交互的主要手段,直接面向操作者,是贴片机设备的对外接口,其功能的正确性、安全性必须得到保障。这就要求软件做到:1、及时且准确的将贴片机的当前状态反馈给操作者;2、规避非法操作,以保障设备的安全;3、具有较高的可用性与易用性,在错误发生时,给予用户友好实用的提示,使其能迅速转向正确方法。
4.贴片机系统的每条功能指令都有相应的使用背景,如当轴尚未执行回原点操作或者处于非制动状态时不能通过指令移动轴、当尚未进行暖机时不可以开始生产基板、当机器发生了错误时不允许执行任何操作等等。由此可知贴片机设备的状态直接影响着当前的可执行操作,而如何在机器状态动态改变的情况下,将状态信息即时的反馈给用户,并保证软件所下发指令的合法性,成了需要重点解决的问题。
5.贴片机控制软件中有很多gui按钮,当用户与gui按钮交互执行某项功能时,从软件下发指令到实际执行完成需要一定的时间,在这期间内,并不期望用户再次点击这个按钮。比如在进行轴控制时,如果连续点击两次按钮,则会下发两条轴移动指令,导致设备出现错误。此外,对于耗时较长的功能,需要支持停止该操作或者取消执行。这就需要软件考虑两个问题,1、以直观的形式指示指令当前的执行状态;2、根据不同的场景,提供取消执行指令的功能。
6.针对上述两种情况,如果不采取有效措施,除了使操作者产生混淆之外,还可能会因为重复/非法指令的下发导致机器出现严重错误。一种合理的工作模式为,当机器状态发生改变时,软件同步进行更新,包括改变gui控件的状态、图片、文字信息等,同时对指令的执行条件是否满足进行判断和动态更新,并在软件层面对非法的指令进行过滤;当用户通过gui交互下发了指令后,软件采取相应的措施避免指令的重复下发,同时给予用户友好的提示。然而,此种工作模式存在两个问题需要解决:1、控制软件状态的动态更新;2、非法/重复指令的过滤。
7.常见的作法是在按钮的响应函数中,根据当前的机器状态判断是否可以执行此操作,如果符合条件则下发指令,否则不予执行并弹出提示信息,并通过文字或者图片来指示指令当前的执行状态,这种方式的缺陷是需要针对每一个按钮编写代码进行判断,程序的可读性及可扩展性很差,不易于维护,同时会产生过多的提示信息,降低用户的使用体验。
此外,贴片机系统功能复杂,机器状态和各种功能指令之间都存在关联,一条指令能否执行可能受到多种机器状态的影响,因此编程逻辑更加复杂,传统的gui编程模式不能良好的适应贴片机系统的功能需求。
8.针对上述问题,目前尚未提出有效的解决方案。


技术实现要素:

9.本发明的目的是克服现有技术存在的问题,提供一种基于事件驱动的贴片机按钮使能控制方法及系统、介质,能够将贴片机软件的按钮与贴片机的机器状态进行关联,实现按钮状态的动态更新,从而实现对非法指令的过滤,并提升贴片机软件的逻辑严谨性和运行的可靠性。
10.为了实现上述目的,本发明第一方面提供一种基于事件驱动的贴片机按钮使能控制方法,包括以下步骤:建立关联关系集合,每条关联关系包含一个或多个贴片机状态通过逻辑运算符组成的逻辑表达式和标识所述逻辑表达式的键值;获取当前贴片机状态,根据所述关联关系,将一个或多个当前贴片机状态代入所述逻辑表达式中进行按钮状态的计算,得到按钮使能状态;将所述按钮使能状态和所述键值作为按钮状态更新信号,根据所述按钮状态更新信号执行预设的响应逻辑,更新按钮状态。
11.本发明第二方面提供一种基于事件驱动的贴片机按钮使能控制系统,包括:检测模块,用于获取当前贴片机状态并发送给控制模块,控制模块,用于建立关联关系表,每条关联关系包含一个或多个贴片机状态通过逻辑运算符组成的逻辑表达式和标识所述逻辑表达式的键值,遍历关联关系表,将一个或多个当前贴片机状态代入所述逻辑表达式中进行按钮状态的计算,得到按钮使能状态,以及将所述按钮使能状态和所述键值作为按钮状态更新信号下发至响应模块;响应模块,用于根据所述按钮状态更新信号执行预设的响应逻辑,更新按钮状态。
12.本发明第三方面提供一种计算机可读存储介质,其特征在于,其上存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现上述基于事件驱动的贴片机按钮使能控制方法的步骤。
13.通过上述技术方案,将贴片机软件按钮的使能状态与贴片机的多个机器状态进行关联,通过机器状态改变事件驱动按钮进行状态更新,实现了按钮使能状态的动态更新,在不同的贴片机机器状态下对非法指令进行过滤。将按钮状态与贴片机的机器状态绑定之后,按钮状态同样变成了动态改变的,能够满足随机器状态改变而即时更新,具有及时性;本发明技术方案对一个功能指令支持绑定多个贴片机状态,仅当所有关联状态均满足的情况下才使能相关按钮,可以实现一般的状态关联需求,具有可用性;当增加了新的指令或者想要改变某个动作关联的机器状态时,只需要通过修改相应的逻辑表达式即可,避免了重复的条件判断语句的编写,具有可扩展性。
附图说明
14.图1是本发明基于事件驱动的贴片机按钮使能控制流程图;
图2为本发明实施例的按钮状态图;图3为本发明基于事件驱动的贴片机按钮使能控制系统示意图;图4为本发明基于事件驱动的贴片机按钮使能控制系统工作流程图。
具体实施方式
15.以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
16.本发明实施例第一方面提供一种基于事件驱动的贴片机按钮使能控制方法,如图1所示,包括以下步骤:s1、建立关联关系集合,每条关联关系包含一个或多个贴片机状态通过逻辑运算符组成的逻辑表达式和标识所述逻辑表达式的键值;所述关联关系是由一个或多个贴片机状态通过逻辑运算符所组成的逻辑表达式,每条关联关系包括一个唯一标识的键值和一个逻辑表达式。
17.每条功能指令均具有相应的载体控件,首先明确出执行条件与贴片机状态有关的指令集合、集合中所有指令对应的载体按钮,以及指令与各贴片机的机器状态之间的关系,即指令在一个或多个贴片机状态同时满足的情况下具有合法性,可以将其发送到贴片机执行,以此得到由贴片机状态组成的逻辑表达式。
18.逻辑表达式的一个示例如下:x轴移动按钮对应着轴移动指令,仅当贴片机处于空闲状态、回原点状态为true,并且x轴处于制动状态时,x轴移动指令才具有合法性。此种情况下逻辑表达式为:e1=(s
运行状态
==空闲)&&(s
回原点状态
==true)&&(s
x轴制动状态
==制动中)
19.其中,在c++代码里,==表示判断相等,&&表示逻辑与,贴片机的机器状态代入e1求得的计算结果即为x轴移动按钮的使能状态。
20.进一步优选地,可将关联关系集合以关联关系表的形式建立,示例性地具体为:调用贴片机的控制模块提供的接口,将上述逻辑表达式添加到关联关系表中,同时得到一个唯一的键值作为返回值,在贴片机的响应模块中记录下该值用来获取按钮的最新状态,并通过信号槽或者回调方式订阅控制模块中的按钮状态改变信号。遍历按钮集合,按照此方式建立关联关系表。因此,关联关系表是由多组关联关系构成的数据集合。
21.s2、获取当前贴片机状态,根据所述关联关系,将一个或多个当前贴片机状态代入所述逻辑表达式中进行按钮状态的计算,得到按钮使能状态;示例性地,根据当前贴片机状态,将一个或多个贴片机状态的当前值代入所述逻辑表达式中进行按钮状态的计算,得到按钮使能状态;所述按钮使能状态为一个true或false的逻辑值,表征对应键值所代表的按钮使能状态。
22.s3、将所述按钮使能状态和所述键值作为按钮状态更新信号发送至响应模块,响应模块根据所述按钮状态更新信号执行预设的响应逻辑,更新按钮状态;进一步地,步骤s3中,所述将所述按钮使能状态和所述键值作为按钮状态更新信号发送至响应模块,响应模块根据所述按钮状态更新信号执行预设的响应逻辑,具体包括:s31、比较所有与gui按钮关联的键值与所述按钮状态更新信号中的键值是否一致,对于一致的gui按钮,则执行所述预设的响应逻辑;否则,不一致gui按钮不执行操作;
s32、对于一致的gui按钮执行所述预设的响应逻辑,包括:比较gui按钮的当前按钮使能状态与所述按钮状态更新信号中的所述按钮使能状态是否一致,若一致,则不执行操作;否则,根据所述按钮状态更新信号中的所述按钮使能状态更新gui按钮的当前按钮使能状态。
23.本发明按钮的响应逻辑包括但不限于上述预设的响应逻辑,可以根据需求自定义。通过对按钮的响应逻辑进行扩展,提供了取消执行指令的功能,并直观的给用户提示信息,提升了贴片机软件的易用性和逻辑严谨性,同时降低了编程复杂性。
24.进一步优选地,所述按钮使能状态包括“使能”状态和“非使能”状态,在步骤s3之后还包括步骤s4,如图2所示,步骤s4具体为:更新按钮状态之后,当按钮处于“使能”状态下,允许用户与按钮进行gui交互,点击按钮对按钮当前的运行状态进行判断,所述按钮当前的运行状态包括“空闲”状态和“运行”状态:若按钮处于“空闲”状态,则下发功能指令并将按钮的状态置为“非使能”状态;当检测到按钮对应的功能指令开始执行后,将按钮的状态置为“使能”状态和“运行”状态;当按钮对应的功能指令执行完成后,将按钮的状态置为“使能”状态和“空闲”状态;若按钮处于“运行”状态,则向贴片机发送取消指令,并在取消指令执行成功后将按钮状态置为“空闲”状态。
25.进一步优选地,当按钮使能状态为“使能”状态时,gui按钮响应用户操作并下发相应功能指令;当按钮使能状态为“非使能”状态时,gui按钮不响应用户操作;当所述按钮当前的运行状态为“空闲”状态时表示贴片机当前未执行gui按钮对应的操作,该状态下的响应逻辑用于将gui按钮对应的功能指令发送给贴片机,并将按钮状态置为“运行”状态;当所述按钮当前的运行状态为“运行”状态时表示贴片机正在执行gui按钮对应的操作,该状态下的响应逻辑用于将gui按钮对应的取消指令发送给贴片机,并将按钮状态置为“空闲”状态。
26.本发明实施例中所述的贴片机状态用于表征贴片机的系统状态,包括运行状态、轴状态、回原点状态、轴运动状态、飞达安装状态和软件状态;运行状态包括:启动状态、空闲状态、自动运行生产状态、停机状态、暂停状态、急停状态、应用错误状态、暖机状态;暖机状态,用于指示机器是否已经完成了暖机操作;当机器未完成暖机时,禁用自动生产功能对应的gui按钮轴状态包括:制动状态和非制动状态;在所述制动状态下,限制通过外力移动轴,并允许通过gui按钮发送贴片机轴移动的控制指令;在所述非制动状态下,用于限制通过gui按钮发送贴片机轴移动的控制指令,并允许通过外力控制贴片机进行轴移动;回原状态,用于判断贴片机的所有可移动轴是否成功完成初始的回原点操作;轴运动状态,用于判断轴是否正在运动中;飞达安装状态,用于指示指定站位是否成功安装飞达;软件状态包括:基板文件加载状态和用户登陆状态;所述基板文件加载状态用于判断贴片机软件是否成功加载基板文件,所述基板文件用于提供贴片机在基板生产过程中所需要的各项数据信息;所述用户登陆状态用于判断用户是否已经成功登陆软件。
27.本发明技术方案将贴片机软件按钮的使能状态与贴片机的多个机器状态进行关
联,通过机器状态改变事件驱动按钮进行状态更新,实现了按钮使能状态的动态更新,在不同的贴片机机器状态下对非法指令进行过滤。将按钮状态与贴片机的机器状态绑定之后,按钮状态同样变成了动态改变的,能够满足随机器状态改变而即时更新,具有及时性;本发明技术方案对一个功能指令支持绑定多个贴片机状态,仅当所有关联状态均满足的情况下才使能相关按钮,可以实现一般的状态关联需求,具有可用性;当增加了新的指令或者想要改变某个动作关联的机器状态时,只需要通过修改相应的逻辑表达式即可,避免了重复的条件判断语句的编写,具有可扩展性。
28.基于同一发明构思,本发明实施例第二方面提供一种基于事件驱动的贴片机按钮使能控制系统,给出了一种由机器状态驱动,对贴片机软件的按钮使能状态进行相应设置的方案,以简化由于贴片机机器状态与功能指令之间的关联性,使得指令下发以及按钮的状态控制逻辑复杂,而导致编程困难的技术问题。同时提出一种以不同的按钮外观来指示对应指令当前的执行状态,通过对按钮的响应逻辑进行扩展,来提高软件易用性,避免操作者产生混淆的方法。如图3所示,基于事件驱动的贴片机按钮使能控制系统包括:检测模块,用于获取当前贴片机状态并发送给控制模块,控制模块,用于建立关联关系表,每条关联关系包含一个或多个贴片机状态通过逻辑运算符组成的逻辑表达式和标识所述逻辑表达式的键值,遍历关联关系表,将一个或多个当前贴片机状态代入所述逻辑表达式中进行按钮状态的计算,得到按钮使能状态,以及将所述按钮使能状态和所述键值作为按钮状态更新信号下发至响应模块;响应模块,用于根据所述按钮状态更新信号执行预设的响应逻辑,更新按钮状态,响应模块包括按钮。
29.响应模块的实现方式不是唯一的,也可将其设于控制模块中作为控制模块的子模块,由控制模块直接进行按钮状态的更新。具体实施方式为:以指向按钮的指针作为关联关系表中的唯一键值,当贴片机状态改变时,遍历关联关系表计算逻辑表达式结果,并通过指向按钮的指针直接设置按钮的状态。
30.进一步地优选地,所述控制模块包括:创建关联关系接口,用于允许添加任意的一个或多个贴片机状态参数作为所述逻辑表达式的参数之一,并返回对应的键值;函数接口,用于从所述关联关系表中查找所述逻辑表达式,将一个或多个贴片机状态参数代入计算,当所述计算结果为真,表示一个或多个当前贴片机状态满足关联关系中定义的预设状态,与所述预设状态关联的按钮为“使能”状态,反之则处于“非使能”状态。
31.进一步地优选地,所述控制模块,用于建立关联关系表具体为:遍历按钮集合,调用所述创建关联关系接口,将按钮关联的指令对应的所述逻辑表达式添加到关联关系表中,同时分别得到对应的键值并记录。优选地,所述控制模块还用于建立贴片机状态记录表,贴片机状态记录表包含所有贴片机状态的当前值。因此,控制模块获取贴片机状态的方式可以为直接从检测模块中读取相关数据,也可以为从检测模块中读取相关数据后建立贴片机状态记录表,从贴片机状态记录表中读取相关数据。
32.进一步地优选地,所述贴片机按钮为贴片机软件界面上的按钮控件和/或贴片机的上位机软件界面上的按钮控件,所述按钮控件根据不同的按钮状态设置为不同的外观,以表征按钮对应的状态。
33.以能够直观表征按钮对应状态的含义为目的,为每种状态设计相对应的外观,包括但不限于图标、控件大小、文字信息、按钮和文字颜色,以对不同的状态进行区分。通过自定义按钮状态,在扩展按钮响应逻辑的同时,可以实现为不同的状态设计相应的外观,给用户以直观清晰的提示,可以提升用户的使用体验,具有易用性。
34.基于事件驱动的贴片机按钮使能控制系统工作流程如下,如图4所示:步骤1、每条功能指令均具有相应的载体控件,首先明确出执行条件与贴片机的机器状态有关的指令集合、集合中所有指令对应的载体按钮,以及指令与各机器状态之间的关系,即指令在一个或多个机器状态同时满足的情况下具有合法性,可以将其发送到贴片机执行,以此得到由机器状态组成的逻辑表达式;步骤2、调用控制模块提供的接口,将上述逻辑表达式添加到关联关系表中,同时得到一个唯一的键值作为返回值,在响应模块中记录下该值用来获取按钮的最新状态,并通过信号槽或者回调方式订阅控制模块中的按钮状态改变信号,遍历指令集合,按照此方式建立关联关系表;响应模块在接收到按钮状态改变信号(键值+使能状态)后,要先判断这个信号里的键值和自己保存的键值是不是一致,一致的话说明这个信号是属于自己的,按钮才需要更新使能状态,因此响应模块必须记录下自己对应的关联关系的键值,才能正确的过滤信号;步骤3、当机器状态发生改变时,检测模块从硬件获取贴片机的当前贴片机状态,并发送给控制模块;步骤4、控制模块根据当前贴片机状态,遍历关联关系表,将一个或多个贴片机的机器状态的当前值代入逻辑表达式中进行按钮状态的计算,得到按钮使能状态;步骤5、控制模块将按钮使能状态与唯一标识的键值一起作为按钮状态更新信号发送至响应模块;步骤6、响应模块接收到状态更新信号后,执行更新逻辑;步骤6.1、比较与gui按钮关联的键值与按钮状态更新信号中的键值是否一致,若一致,则执行预设的响应逻辑;否则,不执行任何操作;步骤6.2、比较gui按钮的当前按钮状态与按钮状态更新信号中的按钮使能状态是否一致,若一致,则不执行操作,否则,根据按钮状态更新信号中的按钮状态更新gui按钮的当前按钮使能状态;步骤7、当按钮处于使能状态下,允许用户与按钮进行gui交互,用户点击按钮后,如图2所示,对按钮当前的运行状态进行判断:若按钮处于“空闲”状态,则下发功能指令并将按钮的状态置为“非使能”状态;当检测到按钮对应的功能指令开始执行后,将按钮的状态置为“使能”状态和“运行”状态;当按钮对应的功能指令执行完成后,将按钮的状态置为“使能”状态和“空闲”状态;若按钮处于“运行”状态,则向贴片机发送取消指令,并在取消指令执行成功后将按钮状态置为“空闲”状态。通过对指令执行事件的状态进行监控,就可以实现由事件的开始、完成信号来驱动按钮状态的更新。
35.本发明实施例第三方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理
器实现上述基于事件驱动的贴片机按钮使能控制方法的步骤。
36.综上所述,本发明技术方案具有以下有益效果:1、通过将贴片机软件按钮的使能状态与贴片机的多个机器状态进行关联,通过机器状态改变事件驱动按钮进行状态更新,实现了按钮使能状态的动态更新,在不同的机器状态下对非法指令进行过滤;通过对按钮的响应逻辑进行扩展,提供了取消执行指令的功能,并直观的给用户提示信息,提升了贴片机软件的易用性和逻辑严谨性,同时降低了编程复杂性。
37.2、将按钮状态与机器状态绑定之后,按钮状态同样变成了动态改变的,能够做到随着机器状态改变而即时的更新,具有及时性。
38.3、本发明对一个功能指令支持绑定多个状态,仅当所有关联状态均满足的情况下才使能相关按钮,可以实现一般的状态关联需求,具有可用性。
39.4、本发明提供的方法,当增加了新的指令或者想要改变某个动作关联的机器状态时,只需要通过控制模块修改相应的逻辑表达式即可,避免了重复的条件判断语句的编写,具有可扩展性。
40.5、本发明通过自定义按钮状态,在扩展按钮响应逻辑的同时,可以实现为不同的状态设计相应的外观,给用户以直观清晰的提示,可以提升用户的使用体验,具有易用性。
41.以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于此。在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型包括各个具体技术特征以任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。但这些简单变型和组合同样应当视为本发明所公开的内容,均属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1