CN112638144B - 一种采用层次状态机的贴片机控制方法 - Google Patents
一种采用层次状态机的贴片机控制方法 Download PDFInfo
- Publication number
- CN112638144B CN112638144B CN202011514940.4A CN202011514940A CN112638144B CN 112638144 B CN112638144 B CN 112638144B CN 202011514940 A CN202011514940 A CN 202011514940A CN 112638144 B CN112638144 B CN 112638144B
- Authority
- CN
- China
- Prior art keywords
- state
- event
- button
- hierarchical
- chip mounter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/04—Mounting of components, e.g. of leadless components
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/0882—Control systems for mounting machines or assembly lines, e.g. centralized control, remote links, programming of apparatus and processes as such
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Automation & Control Theory (AREA)
- Operations Research (AREA)
- Supply And Installment Of Electrical Components (AREA)
Abstract
本发明公开了一种采用层次状态机的贴片机控制方法,其步骤包括:1将贴片机的工作状态分解为层次状态机中的多个子状态;2将贴片机的各个子***信息封装为事件并暂存到事件队列中,将事件类型划分为子***事件、控制面板按钮事件和人为操作事件;3在层次状态机和贴片机之间定义一个指令事件调度器,并由指令队列和事件队列组成,负责事件的处理与转发。本发明能对贴片机的贴装元件动作进行优化管理和控制,降低贴片机的误动作和安全事故,从而提高贴片机的性能和运行的可靠性。
Description
技术领域
本发明涉及贴片机电子技术领域,特别涉及一种贴片机控制方法。
背景技术
全自动多头拱架式贴片机设备由多贴装头、多吸嘴、多个伺服电机高速部件等机械装置结构,在自动化贴装元件的过程中,涉及到伺服电机运动控制、基板传送运动控制、相机控制和图像识别***等部件执行相应的动作,通过部件处理复杂的状态切换,实现元件吸取、元件识别、元件贴装及吸嘴交换等流程,并结合先进的机器视觉识别技术实现快速准确贴装元件的目的。这要求机器视觉、轴运动控制和贴装元件指令等任务间的协调处理,从而达到高速高精度的贴装需求,因此,它是一个非常复杂的高速、高精度机电一体化和计算机集成控制***,且具有不同层次实时要求的自动化数控设备。
如何妥善地对贴片机的贴装元件动作进行管理和控制,成为了贴片机控制***的重点和难点。若根据常规流程图,使用if-else或switch-case语句来编程实现的方法,会引入大量的条件分支语句,同时这样的程序可读性和扩展性都比较差,不利于后期功能扩展和维护。
其次,随着贴片机自动化程度越来越高,高速贴装要求越来越快,再加上由伺服电机高速运动产生的磁场强度高以及设备重复使用次数等特点,以及操作人员的随时操作,会对现有的贴片机控制***的软硬件运行造成干扰,可能导致贴片机的误动作,甚至引起贴片机贴装元件过程中的安全事故。贴片机在正常运行时,无论任何轴伺服电机在执行什么动作,一旦出现紧急情况,都要求整个设备轴伺服电机立即停止,防止发生意外事故。这就要求贴片机的伺服电机控制***具有控制整个贴片机所有部件立即停止动作的功能。
在贴片机的自动贴装元件控制电路中,控制***中的停机电路通常有两种控制方式,第一种控制方式是当急停按钮拍下时停掉整个设备轴伺服电机电源,这是强调当有事故发生时必须使设备立即停下来,以确保人生及设备安全,该模式的优势是急停按下时,能确保所有轴运动立即停止,缺点是由于部分控制电路电源没有了,工作人员不能利用上位机了解控制***所发生的故障信息,难以准确查找故障原因;第二种控制方式是当急停拍下时不停止控制电源,而是将急停按钮的信号发送至上位机,利用上位机软件发送停止轴运动指令,达到轴停止运动的目的。该模块的优点是即便急停按钮下后,仍可以通过上位机了解设备的发生故障的情况,准确定位发生故障的位置,利于查找故障,但是其缺点是由于不断电源,若当特殊故障发生时不能确保使设备停下来,可能会造成设备损失或人员安全。可见,这两种常规的停止控制方式均有利有弊,实际应用中仅采用单一停止控制模式是难以满足快捷的故障诊断、稳定与可靠的生产要求。
综上所述,贴片机的控制***是一个复杂且具有不同层次实时要求的多任务控制器,***中每个子***的功能、动作、起始状态以及它们之间相互操作的关系,在***建模中必须得到清晰的描述,它直接关系到***的性能和运行的可靠性。常规编程模式开发的控制程序包含大量依赖具体贴片机的硬编码信息,开发的控制程序难以被应用到不同的状态要求控制***中。因此,常规设计、实现和测试控制程序时需要付出相当多的时间及相当高的成本。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种采用层次状态机的贴片机控制方法,以期能对贴片机的贴装元件动作进行优化管理和控制,降低贴片机的误动作和安全事故,从而提高贴片机的性能和运行的可靠性。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种采用层次状态机的贴片机控制方法的特点是应用于由上位机、层次状态机和贴片机所构成的生产环境中,并按如下步骤进行:
步骤1、将贴片机的工作状态分解为层次状态机中的多个子状态,包括:工作状态S1和***故障状态S2;所述工作状态S1为父状态,并包括:开机初始化状态S11、生产状态S12、应用警告状态S13和第一历史状态H1;所述生产状态S12也为父状态,并包括:复位状态S12a、自动生成状态S12b、暂停生产状态S12c和第二历史状态H2;
在任何时刻,层次状态机总处于唯一的子状态中;
步骤2、将贴片机的各个子***信息封装为事件并暂存到事件队列中,将事件类型划分为子***事件、控制面板按钮事件和人为操作事件;
所述子***事件是由子***产生指令交互信息或错误码信息封装而成,并包括:应用警告事件、***错误事件和子***状态事件;
所述控制面板按钮事件是由控制面板按钮触发信号封装而成,并包括:使能控制面板按钮Active、自动生成按钮Start、停止设备运行按钮Stop、伺服电机使能按钮Ready、复位状态按钮Reset、清除错误警告信息按钮Error Clear和紧急停机按钮EmergencyStop;且各按钮按下均产生相应的按钮事件;
所述人为操作事件是由操作人员通过GUI模块操控产生的事件,包括:继续执行和取消操作;
步骤3、在所述层次状态机和贴片机之间定义一个指令事件调度器,并由指令队列和事件队列组成,负责指令及事件的处理与分发;
所述事件队列调度器从事件队列中将事件分发到层次状态机中;
所述层次状态机接收到所分发的事件并作为新的驱动事件后,检查当前子状态包括的所有转换,若新的驱动事件与预定义的事件匹配,则层次状态机将从当前子状态转移到事件指定的目标状态;若找不到和驱动事件匹配的状态,则丢弃相应的驱动事件,且子状态不发生改变;从而利用事件驱动方式,对层次状态机的各子状态进行转移。
本发明所述的采用层次状态机的贴片机控制方法的特点也在于,所述步骤1中各个子状态的功能和操作如下:
所述开机初始化状态S11为起始状态,且是在贴片机开启后所进入的状态;
当进入所述开机初始化状态S11时,所述贴片机执行检查各子***连接是否成功、检查各子***初始化信息、伺服电机是否完成初始化状态操作;当各个子***初始化完成后,所述贴片机下发执行伺服电机回原点动作;且在所述开机初始化状态S11下,伺服电机轴移动指令禁止下发到伺服电机控制模块;
当进入所述复位状态S12a时,所述贴片机执行复位操作,包括:检查所有子***是否正在执行指令,若有子***执行指令,则发送停止执行并复位子***;检查指令队列是否为空,若不为空,则清除指令队列中所有指令;
当进入自动生产状态S12b时,所述贴片机先根据元件贴装基板文件中的贴装数据,解析得到多个子***的指令集,然后按照顺序依次写入指令队列中,其次,所述指令事件调度器在检查到指令队列中有待执行的指令时,将指令下发到个子***;并根据基板文件数据得到的指令集中贴装流程动作参数,完成指令队列中指令集从而实现贴片机的生产动作;
当进入暂停生产状态S12c时,所述贴片机暂停执行指令队列分发到子***的操作,各个子***在执行完前一次指令后处于停机;
当进入应用警告状态S13时,所述贴片机先暂停执行指令队列分发到子***动作,然后利用GUI模块显示警告信息,等待操作人员选择是继续执行还是取消处理;
当进入***故障状态S2时,所述贴片机执行紧急停机操作;
当进入历史状态H1时:离开父状态S1并自动地保存退出父状态S1之前的最后一个活动的子状态;从而当再次进入所述历史状态H1时,自动转移到父状态S1最后一个活动的子状态;
当进入历史状态H2时:离开父状态S12并自动地保存退出父状态S12之前的最后一个活动的子状态;从而当再次进入所述历史状态H2时,自动转移到父状态S12最后一个活动的子状态。
所述步骤3的层次状态机的状态转移过程如下:
当贴片机开机后进入开机初始化状态S11并执行相应功能和操作,当完成开机初始化状态S11相应操作后,转移到生产状态S12,并进入复位状态S12a后执行相应功能和操作;
当接收到人为操作事件,且当前状态为开机初始化状态S11时,所述层次状态机将所接收到的人为操作事件从事件队列中丢弃,并不执行状态转移;
当接收到自动生成按钮Start所产生的按钮事件,且当前状态为复位状态S12a时,所述层次状态机转移到自动生产状态S12b,并执行自动生产状态S12b的功能和操作;
当接收到停止设备运行按钮Stop或复位状态按钮Reset所产生的按钮事件,且当前状态为生产状态S12b时,所述层次状态机转移到暂停生产状态S12c并执行相应的功能和操作;
当接收到复位状态按钮Reset所产生的按钮事件,且当前状态为暂停生产状态S12c时,所述层次状态机转移到复位状态S12a,并执行相应的功能和操作;
当接收到自动生成按钮Start所产生的按钮事件,且当前状态为暂停生产状态S12c时,所述层次状态机转移到自动生成状态S12b,并执行相应的功能和操作;
当接收到使能控制面板按钮Active或伺服电机使能按钮Ready所产生的按钮事件,且当前状态为复位状态S12a或自动生成状态S12b或暂停生产状态S12c时,所述状态机将相应事件从事件处理队列中丢弃,并不执行状态转移;
当接收到应用警告事件,且当前状态为生产状态S12时,所述层次状态机转移到应用警告状态S13,并执行相应的功能和操作,同时历史状态H2保存父状态生产状态S12中的最后一个活动的子状态;
当接收到人为操作事件中的继续执行,且当前状态为应用警告状态S13时,所述状态机转移到历史状态H2,并执行相应的功能和操作;
当接收到人为操作事件中的取消操作,且当前状态为应用警告状态S13时,所述状态机转移到复位状态S12a,并执行相应的功能和操作;
当接收到***错误事件,且当前不为***故障状态S2时,所述状态机转移到***故障状态S2,并执行相应的功能和操作,同时第一历史状态H1保存工作状态S1最后一个活动的子状态;
当紧急停机按钮Emergency Stop未松开的状态下,且接收到控制面板按钮事件或人为操作事件中任意事件,且当前为***故障状态S2时,所述层次状态机将所接收到的相应事件从事件处理队列中丢弃,并不执行状态转移;
当解除紧急停机按钮Emergency Stop的状态下,并接收到伺服电机使能按钮Ready所产生的按钮事件,且当前状态为***故障状态S2时,所述层次状态机将转移到历史状态H1,并执行相应的功能和操作;
任意子状态下接收到***错误事件时,所述层次状态机均进入***故障状态S2,并仅当解除紧急停机按钮Emergency Stop的状态下,所述层次状态机允许能进入其他子状态。
所述执行紧急停机操作分为***故障紧急停机和急停按钮拍下紧急停机;
所述***故障紧急停机是在其他子***出现故障时,子***先将错误码信息反馈到指令事件调度器,再将伺服电机运动停止并断开伺服电机电源,退出所有子***正在执行的指令,其次上位机在获取到子***错误码信息后,清除指令队列中所有指令信息,并在GUI模块上显示;
所述急停按钮拍下紧急停机是在紧急停机按钮Emergency Stop按下时,相应的子***将急停继电器触发信号反馈到指令事件调度器,上位机在获取到子***的急停停机按钮Emergency Stop的信号时,在GUI模块上显示紧急停机按钮Emergency Stop按下的状态信息。
与现有技术相比,本发明的有益效果在于:
本发明将贴片机的控制部分与工作状态分离开来,通过将贴片机工作过程分解为多个简单的状态来处理,采用贴片机的贴装元件生产过程是有层次态机的转移过程进行控制管理,使得控制***逻辑更加清晰,从而使编码更加简单,保证了贴片机控制任务正确高效的运行,并且***的健壮性更好。
附图说明
图1是本发明提出的层次状态机的状态转移示意图;
图2是本发明提出的贴片机控制过程示意图。
具体实施方式
本实施例中,一种采用层次状态机的贴片机控制方法,是应用于由上位机、层次状态机和贴片机所构成的生产环境中,首先对贴片机贴装元件工作进行归纳分析,将贴片机工作状态分解为层次状态机中的多个子状态,通过事件驱动转移将贴片机的不同子状态联系起来,再利用指令事件调度器进行指令、事件队列调度管理,一方面将子***与进行交互的信息封装为事件进行传递,子状态则在收到事件且符合条件后通过状态模块箱不同子状态进行转换,另一方面将指令下发到相应的子***执行任务。其中,子***是按照贴片机功能划分的子***,主要包括XY轴运动子***、基板传送装置子***、贴装头子***、机器视觉处理子***、吸嘴交换站子***、控制面板子***等。各子***收到任务指令后,将执行相应的动作。具体的说,该控制方法是按如下步骤进行:
步骤1、如图1所示,将贴片机的工作状态分解为层次状态机中的多个子状态,包括:工作状态S1和***故障状态S2;进一步的,工作状态S1为父状态,嵌套子状态包括:开机初始化状态S11、生产状态S12、应用警告状态S13和第一历史状态H1;进一步的,生产状态S12也为父状态,嵌套子状态包括:复位状态S12a、自动生成状态S12b、暂停生产状态S12c和第二历史状态H2;父状态是由多个子状态组成,其内部子状态根据事件进行转移。
各个子状态的功能和操作如下:
开机初始化状态S11为起始状态,且是在贴片机开启后所进入的状态;
当进入开机初始化状态S11时,贴片机执行检查各子***连接是否成功、检查各子***初始化信息、伺服电机是否完成初始化状态操作;当各个子***初始化完成后,贴片机下发执行伺服电机回原点动作;且在开机初始化状态S11下,伺服电机轴移动指令禁止下发到伺服电机控制模块;
当进入复位状态S12a时,贴片机执行复位操作,包括:检查所有子***是否正在执行指令,若有子***执行指令,则发送停止执行并复位子***;检查指令队列是否为空,若不为空,则清除指令队列中所有指令;
当进入自动生产状态S12b时,贴片机先根据元件贴装基板文件中的贴装数据,解析得到多个子***的指令集,然后按照顺序依次写入指令队列中,其次,指令事件调度器在检查到指令队列中有待执行的指令时,将指令下发到个子***;并根据基板文件数据得到的指令集包括元件吸取、识别和贴装元件等贴装流程动作参数,完成指令队列中指令集从而实现贴片机的吸取、识别、贴装等生产动作;
当进入暂停生产状态S12c时,贴片机暂停执行指令队列分发到子***的操作,各个子***在执行完前一次指令后处于停机;
当进入应用警告状态S13时,贴片机先暂停执行指令队列分发到子***动作,然后利用GUI模块显示警告信息,等待操作人员选择是继续执行还是取消处理;
当进入***故障状态S2时,贴片机执行紧急停机操作;该状态下表明设备发生了严重的错误,将不再执行动作指令。本实施例中,将执行紧急停机操作分为***故障紧急停机和急停按钮拍下紧急停机;
***故障紧急停机是在其他子***出现故障时,子***先将错误码信息反馈到指令事件调度器,再将伺服电机运动停止并断开伺服电机电源,退出所有子***正在执行的指令,其次上位机在获取到子***错误码信息后,清除指令队列中所有指令信息,并在GUI模块上显示;帮助操作人员发现并查找问题。该方案通过仅停止伺服电机,子***中其他功能模块正常执行,保证了上位机能够查找问题源。
急停按钮拍下紧急停机是在紧急停机按钮Emergency Stop按下时,相应的子***将急停继电器触发信号反馈到指令事件调度器,上位机在获取到子***的急停停机按钮Emergency Stop的信号时,在GUI模块上显示紧急停机按钮Emergency Stop按下的状态信息。在收到恢复急停按钮的状态之后,只能通过对安全继电器复位,恢复贴片机的正常运行。
当进入历史状态H1时:离开父状态S1并自动地保存退出父状态S1之前的最后一个活动的子状态;从而当再次进入历史状态H1时,自动转移到父状态S1最后一个活动的子状态;
当进入历史状态H2时:离开父状态S12并自动地保存退出父状态S12之前的最后一个活动的子状态;从而当再次进入历史状态H2时,自动转移到父状态S12最后一个活动的子状态;
如图1所示,在任何时刻,层次状态机总处于唯一的子状态中;
步骤2、将任务解析为若干指令写入指令列队,指令队列按逻辑顺序依次将指令通过I/O下发到各子***,子***根据接收到的指令执行相应的动作,同时子***实时反馈信息,并将贴片机的各个子***信息封装为事件并暂存到事件队列中,将事件类型划分为子***事件、控制面板按钮事件和人为操作事件;
子***事件是由子***产生指令交互信息或错误码信息封装而成,并包括:A应用警告事件,是由子***产生警告信息信号;B***错误事件是当子***或控制***发生不可预知的错误且无法继续运行的***错误信号;C子***状态事件,是指伺服电机、部件状态或子***连接状态信息信号。
控制面板按钮事件是由控制面板按钮触发信号封装而成,并包括:使能控制面板按钮Active、自动生成按钮Start、停止设备运行按钮Stop、伺服电机使能按钮Ready、复位状态按钮Reset、清除错误警告信息按钮Error Clear和紧急停机按钮Emergency Stop;且各按钮按下均产生相应的按钮事件;如Reset按钮事件是当接收到控制面板Reset按钮触发信号。
人为操作事件是由操作人员通过上位机的GUI模块操控产生的事件,包括:继续执行或取消操作;通过GUI模块可以显示当前贴片机工作状态相关信息,主要包括:工作状态、子***状态、错误信息、控制指令信息等;
步骤3、如图2所示,在层次状态机和贴片机之间定义一个指令事件调度器,并由指令队列和事件队列组成,负责事件的封装、处理与转发;在指令事件调度器中,对写入的新控制指令处理有两种处理方式:直接处理和队列处理。直接处理是不需要根据***运行条件直接将指令下发到子***;队列处理是将控制指令追加到指令队列中,在从指令队列中按照先后顺序下发到相应的子***。
事件队列调度器从事件队列中将事件分发到层次状态机中;
如图1所示,层次状态机接收到所分发的事件并作为新的驱动事件后,再依次处理子状态与事件的转移,检查当前子状态包括的所有转换,若新的驱动事件与预定义的事件匹配,则层次状态机将从当前子状态转移到事件指定的目标状态;若找不到和驱动事件匹配的状态,则丢弃相应的驱动事件,且子状态不发生改变;从而利用事件驱动方式,对层次状态机的各子状态进行转移。
如图1所示,层次状态机依次从事件队列中读取事件进行处理,在进入子状态后,执行预定义的功能操作;层次状态机的状态转移过程如下:
当贴片机开机后进入开机初始化状态S11并执行初始化状态S11描述的功能和操作;当接收到子***连接成功、自检完成事件且伺服电机已回原点事件,当前状态为开机初始化状态S11时,转移到生产状态S12,生产状态S12为父状态,其初始化子状态为复位状态S12a,因此转移到生产状态S12将进入复位状态S12a子状态,并执行复位状态S12a相应功能和操作;
当接收到人为操作事件,且当前状态为开机初始化状态S11时,层次状态机将所接收到的人为操作事件从事件队列中丢弃,并不执行状态转移;
当接收到自动生成按钮Start所产生的按钮事件,且当前状态为复位状态S12a时,层次状态机转移到自动生产状态S12b,并执行自动生产状态S12b的功能和操作;
当接收到停止设备运行按钮Stop或复位状态按钮Reset所产生的按钮事件,且当前状态为生产状态S12b时,层次状态机转移到暂停生产状态S12c并执行暂停生产状态S12c的功能和操作;
当接收到复位状态按钮Reset所产生的按钮事件,且当前状态为暂停生产状态S12c时,层次状态机转移到复位状态S12a,并执行复位状态S12a的功能和操作;
当接收到自动生成按钮Start所产生的按钮事件,且当前状态为暂停生产状态S12c时,层次状态机转移到自动生成状态S12b,并执行自动生成状态S12b的功能和操作;
当接收到使能控制面板按钮Active或伺服电机使能按钮Ready所产生的按钮事件,且当前状态为复位状态S12a或自动生成状态S12b或暂停生产状态S12c时,层次状态机将相应事件从事件处理队列中丢弃,并不执行状态转移;
当接收到应用警告事件,且当前状态为生产状态S12时,层次状态机转移到应用警告状态S13,并执行相应的功能和操作,同时第二历史状态H2保存生产状态S12的最后一个活动的子状态;
当接收到人为操作事件中的继续执行,且当前状态为应用警告状态S13时,层次状态机转移到第二历史状态H2,并执行相应的功能和操作;如历史状态H2保存的子状态为暂停状态S12c,将进入暂停状态S12c;
当接收到人为操作事件中的取消操作,且当前状态为应用警告状态S13时,状态机转移到复位状态S12a,并执行复位状态S12a的功能和操作;
当接收到***错误或急停按钮拍下等***错误事件,且当前不为***故障状态S2时,状态机转移到***故障状态S2,并执行相应的功能和操作,同时第一历史状态H1保存工作状态S1最后一个活动的子状态;
当紧急停机按钮Emergency Stop未松开的状态下,且接收到控制面板按钮事件或人为操作事件中任意事件,切当前为***故障状态S2时,层次状态机将所接收到的相应事件从事件处理队列中丢弃,并不执行状态转移;
当解除紧急停机按钮Emergency Stop的状态下,并接收到伺服电机使能按钮Ready所产生的按钮事件,且当前状态为***故障状态S2时,层次状态机将转移到历史状态H1,并执行相应的功能和操作;
任意子状态下接收到***错误事件时,层次状态机均进入***故障状态S2,并仅当解除紧急停机按钮Emergency Stop的状态下,层次状态机允许能进入其他子状态。
综上所述,本发明利用层次状态机描述贴片机的工作状态,将贴片机的控制部分与工作状态分离开来,基于层次状态机加将贴片机生产过程分解为不同的运行状态***,从而使贴片机复杂的控制逻辑关系变得简单清晰,保证了贴片机控制任务正确高效的运行。
Claims (2)
1.一种采用层次状态机的贴片机控制方法,其特征是应用于由上位机、层次状态机和贴片机所构成的生产环境中,并按如下步骤进行:
步骤1、将贴片机的工作状态分解为层次状态机中的多个子状态,包括:工作状态S1和***故障状态S2;所述工作状态S1为父状态,并包括:开机初始化状态S11、生产状态S12、应用警告状态S13和第一历史状态H1;所述生产状态S12也为父状态,并包括:复位状态S12a、自动生成状态S12b、暂停生产状态S12c和第二历史状态H2;
在任何时刻,层次状态机总处于唯一的子状态中;
所述步骤1中各个子状态的功能和操作如下:
所述开机初始化状态S11为起始状态,且是在贴片机开启后所进入的状态;
当进入所述开机初始化状态S11时,所述贴片机执行检查各子***连接是否成功、检查各子***初始化信息、伺服电机是否完成初始化状态操作;当各个子***初始化完成后,所述贴片机下发执行伺服电机回原点动作;且在所述开机初始化状态S11下,伺服电机轴移动指令禁止下发到伺服电机控制模块;
当进入所述复位状态S12a时,所述贴片机执行复位操作,包括:检查所有子***是否正在执行指令,若有子***执行指令,则发送停止执行并复位子***;检查指令队列是否为空,若不为空,则清除指令队列中所有指令;
当进入自动生产状态S12b时,所述贴片机先根据元件贴装基板文件中的贴装数据,解析得到多个子***的指令集,然后按照顺序依次写入指令队列中,其次,所述指令事件调度器在检查到指令队列中有待执行的指令时,将指令下发到个子***;并根据基板文件数据得到的指令集中贴装流程动作参数,完成指令队列中指令集从而实现贴片机的生产动作;
当进入暂停生产状态S12c时,所述贴片机暂停执行指令队列分发到子***的操作,各个子***在执行完前一次指令后处于停机;
当进入应用警告状态S13时,所述贴片机先暂停执行指令队列分发到子***动作,然后利用GUI模块显示警告信息,等待操作人员选择是继续执行还是取消处理;
当进入***故障状态S2时,所述贴片机执行紧急停机操作;
当进入历史状态H1时:离开父状态S1并自动地保存退出父状态S1之前的最后一个活动的子状态;从而当再次进入所述历史状态H1时,自动转移到父状态S1最后一个活动的子状态;
当进入历史状态H2时:离开父状态S12并自动地保存退出父状态S12之前的最后一个活动的子状态;从而当再次进入所述历史状态H2时,自动转移到父状态S12最后一个活动的子状态;
步骤2、将贴片机的各个子***信息封装为事件并暂存到事件队列中,将事件类型划分为子***事件、控制面板按钮事件和人为操作事件;
所述子***事件是由子***产生指令交互信息或错误码信息封装而成,并包括:应用警告事件、***错误事件和子***状态事件;
所述控制面板按钮事件是由控制面板按钮触发信号封装而成,并包括:使能控制面板按钮Active、自动生成按钮Start、停止设备运行按钮Stop、伺服电机使能按钮Ready、复位状态按钮Reset、清除错误警告信息按钮ErrorClear和紧急停机按钮EmergencyStop;且各按钮按下均产生相应的按钮事件;
所述人为操作事件是由操作人员通过GUI模块操控产生的事件,包括:继续执行和取消操作;
步骤3、在所述层次状态机和贴片机之间定义一个指令事件调度器,并由指令队列和事件队列组成,负责指令及事件的处理与分发;
所述事件队列调度器从事件队列中将事件分发到层次状态机中;
所述层次状态机接收到所分发的事件并作为新的驱动事件后,检查当前子状态包括的所有转换,若新的驱动事件与预定义的事件匹配,则层次状态机将从当前子状态转移到事件指定的目标状态;若找不到和驱动事件匹配的状态,则丢弃相应的驱动事件,且子状态不发生改变;从而利用事件驱动方式,对层次状态机的各子状态进行转移;
所述步骤3的层次状态机的状态转移过程如下:
当贴片机开机后进入开机初始化状态S11并执行相应功能和操作,当完成开机初始化状态S11相应操作后,转移到生产状态S12,并进入复位状态S12a后执行相应功能和操作;
当接收到人为操作事件,且当前状态为开机初始化状态S11时,所述层次状态机将所接收到的人为操作事件从事件队列中丢弃,并不执行状态转移;
当接收到自动生成按钮Start所产生的按钮事件,且当前状态为复位状态S12a时,所述层次状态机转移到自动生产状态S12b,并执行自动生产状态S12b的功能和操作;
当接收到停止设备运行按钮Stop或复位状态按钮Reset所产生的按钮事件,且当前状态为生产状态S12b时,所述层次状态机转移到暂停生产状态S12c并执行相应的功能和操作;
当接收到复位状态按钮Reset所产生的按钮事件,且当前状态为暂停生产状态S12c时,所述层次状态机转移到复位状态S12a,并执行相应的功能和操作;
当接收到自动生成按钮Start所产生的按钮事件,且当前状态为暂停生产状态S12c时,所述层次状态机转移到自动生成状态S12b,并执行相应的功能和操作;
当接收到使能控制面板按钮Active或伺服电机使能按钮Ready所产生的按钮事件,且当前状态为复位状态S12a或自动生成状态S12b或暂停生产状态S12c时,所述状态机将相应事件从事件处理队列中丢弃,并不执行状态转移;
当接收到应用警告事件,且当前状态为生产状态S12时,所述层次状态机转移到应用警告状态S13,并执行相应的功能和操作,同时历史状态H2保存父状态生产状态S12中的最后一个活动的子状态;
当接收到人为操作事件中的继续执行,且当前状态为应用警告状态S13时,所述状态机转移到历史状态H2,并执行相应的功能和操作;
当接收到人为操作事件中的取消操作,且当前状态为应用警告状态S13时,所述状态机转移到复位状态S12a,并执行相应的功能和操作;
当接收到***错误事件,且当前不为***故障状态S2时,所述状态机转移到***故障状态S2,并执行相应的功能和操作,同时第一历史状态H1保存工作状态S1最后一个活动的子状态;
当紧急停机按钮EmergencyStop未松开的状态下,且接收到控制面板按钮事件或人为操作事件中任意事件,且当前为***故障状态S2时,所述层次状态机将所接收到的相应事件从事件处理队列中丢弃,并不执行状态转移;
当解除紧急停机按钮EmergencyStop的状态下,并接收到伺服电机使能按钮Ready所产生的按钮事件,且当前状态为***故障状态S2时,所述层次状态机将转移到历史状态H1,并执行相应的功能和操作;
任意子状态下接收到***错误事件时,所述层次状态机均进入***故障状态S2,并仅当解除紧急停机按钮EmergencyStop的状态下,所述层次状态机允许能进入其他子状态。
2.根据权利要求1所述的采用层次状态机的贴片机控制方法,其特征是,所述执行紧急停机操作分为***故障紧急停机和急停按钮拍下紧急停机;
所述***故障紧急停机是在其他子***出现故障时,子***先将错误码信息反馈到指令事件调度器,再将伺服电机运动停止并断开伺服电机电源,退出所有子***正在执行的指令,其次上位机在获取到子***错误码信息后,清除指令队列中所有指令信息,并在GUI模块上显示;
所述急停按钮拍下紧急停机是在紧急停机按钮EmergencyStop按下时,相应的子***将急停继电器触发信号反馈到指令事件调度器,上位机在获取到子***的急停停机按钮EmergencyStop的信号时,在GUI模块上显示紧急停机按钮EmergencyStop按下的状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011514940.4A CN112638144B (zh) | 2020-12-21 | 2020-12-21 | 一种采用层次状态机的贴片机控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011514940.4A CN112638144B (zh) | 2020-12-21 | 2020-12-21 | 一种采用层次状态机的贴片机控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112638144A CN112638144A (zh) | 2021-04-09 |
CN112638144B true CN112638144B (zh) | 2022-03-22 |
Family
ID=75318090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011514940.4A Active CN112638144B (zh) | 2020-12-21 | 2020-12-21 | 一种采用层次状态机的贴片机控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112638144B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113942497A (zh) * | 2021-10-18 | 2022-01-18 | 长春一汽富晟集团有限公司 | 一种影像融合泊车控制器状态机跳转方法 |
CN115903695B (zh) * | 2022-11-07 | 2023-10-10 | 哈尔滨工业大学 | 基于分层式有限状态机的多功能贴片机生产流程控制方法 |
CN115843174B (zh) * | 2023-02-17 | 2023-06-16 | 合肥安迅精密技术有限公司 | 基于事件驱动的贴片机按钮使能控制方法及***、介质 |
CN116108707B (zh) * | 2023-04-14 | 2023-06-16 | 合肥安迅精密技术有限公司 | 虚拟贴片机仿真***、方法及存储介质 |
CN116149240B (zh) * | 2023-04-18 | 2023-07-14 | 合肥安迅精密技术有限公司 | 贴片机软硬件交互信息实时监控分析***、方法及存储介质 |
CN116975604B (zh) * | 2023-09-22 | 2023-12-08 | 张家港市得道电子有限公司 | 贴片机驱动***的故障预测方法及*** |
CN117082847B (zh) * | 2023-10-19 | 2024-01-09 | 合肥安迅精密技术有限公司 | 贴片机托盘自动控制设备及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324496B1 (en) * | 1998-06-18 | 2001-11-27 | Lucent Technologies Inc. | Model checking of hierarchical state machines |
CN102929697A (zh) * | 2012-10-09 | 2013-02-13 | Tcl集团股份有限公司 | 一种状态机、调度方法、装置及usb媒体播放控制装置 |
CN207589324U (zh) * | 2017-11-10 | 2018-07-06 | 深大云网络(深圳)有限公司 | 一种基于wifi-P2P应用运行可靠的层次状态装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002229606A (ja) * | 2001-01-31 | 2002-08-16 | Nec Corp | 状態遷移モデル実行装置、状態遷移モデル実行方法、およびプログラム |
US7536526B2 (en) * | 2005-07-11 | 2009-05-19 | General Electric Company | Hierarchical state based migration of structured data |
JP5669987B1 (ja) * | 2014-01-07 | 2015-02-18 | 三菱電機株式会社 | 制御装置、開発装置、および開発プログラム |
CN104142666B (zh) * | 2014-07-24 | 2017-02-15 | 华南理工大学 | 一种基于状态机的多工序设备生产控制装置及方法 |
CN104200316B (zh) * | 2014-08-26 | 2017-12-01 | 华南理工大学 | 一种smt闭环集成优化***及其优化方法 |
CN105353721A (zh) * | 2015-11-10 | 2016-02-24 | 中国科学院合肥物质科学研究院 | 一种全自动led贴片机控制*** |
JP6848256B2 (ja) * | 2016-03-10 | 2021-03-24 | 富士電機株式会社 | マルチタスク制御装置、マルチタスク制御システム、及び自動販売機 |
CN106945045B (zh) * | 2017-04-19 | 2019-12-17 | 广州视源电子科技股份有限公司 | 基于ros和orocos的机器人控制的通信方法和*** |
-
2020
- 2020-12-21 CN CN202011514940.4A patent/CN112638144B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324496B1 (en) * | 1998-06-18 | 2001-11-27 | Lucent Technologies Inc. | Model checking of hierarchical state machines |
CN102929697A (zh) * | 2012-10-09 | 2013-02-13 | Tcl集团股份有限公司 | 一种状态机、调度方法、装置及usb媒体播放控制装置 |
CN207589324U (zh) * | 2017-11-10 | 2018-07-06 | 深大云网络(深圳)有限公司 | 一种基于wifi-P2P应用运行可靠的层次状态装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112638144A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112638144B (zh) | 一种采用层次状态机的贴片机控制方法 | |
US20070168082A1 (en) | Task-based robot control system for multi-tasking | |
EP0709777B1 (en) | Method of and apparatus for debugging multitask programs | |
US6317638B1 (en) | Multi-layer state machine for a hybrid real-time control system and method of operation thereof | |
JP2012524354A (ja) | 自動化システムを制御する安全コントローラおよびユーザプログラムを生成する方法 | |
EP2682830B9 (en) | Control device and system program, and recording medium | |
CN103645678A (zh) | 一种实时响应网络控制*** | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN112061093B (zh) | 一种实现自动驾驶的机车制动***及其实现方法 | |
JP2009146039A (ja) | セーフティ・コントロール・システム | |
JPH0259901A (ja) | 故障診断方法 | |
US20060288199A1 (en) | Watchdog system in a distributed computerized application environment | |
CN113179227A (zh) | 基于队列的at指令控制方法 | |
CN106945045B (zh) | 基于ros和orocos的机器人控制的通信方法和*** | |
US6779174B2 (en) | Industrial controller with clock-synchronous running level model | |
CN111752638A (zh) | 自动化控制平台及自动化平台控制方法 | |
US20050182509A1 (en) | Intelligent disturbance management | |
CN111158273A (zh) | 一种无操作***的安全显示界面实现方法 | |
CN109814493A (zh) | 一种转盘式测试分选机的控制方法、控制***及控制装置 | |
CN109491324B (zh) | 控制装置及控制方法 | |
CN106965181B (zh) | 基于ros和orocos的机器人控制方法和*** | |
WO2009055119A2 (en) | Methods and systems for operating an automated system | |
CN113448866B (zh) | 一种嵌入式软件开发辅助调试***及调试方法 | |
KR102471314B1 (ko) | 항공기 소프트웨어에서 순서위배의 자율적 수리를 위한 건전성 관리 시스템 및 방법 | |
CN202189265U (zh) | 乙烯装置中压缩机用紧急停车*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |