一种机电系统控制方法及装置与流程

文档序号:12716930阅读:245来源:国知局
一种机电系统控制方法及装置与流程

本发明涉及机电控制技术领域,尤其涉及一种机电系统控制方法及装置。



背景技术:

目前,机电控制是基于嵌入式微处理器实现的。具有体积小,成本低、使用灵活的特点,广泛应用于数控机床、机器人、定量进给、工业自动控制以及各种可控的有定位要求的机械工具等领域。嵌入式微处理器能够完成绝大部分运动控制功能。

由于目前的机电控制多采用查询方式或者简单的定时反馈方式,所以在对一些运动过程控制时,需要用户的上位机(主系统)不停地询问和关注当前的运动参数,以期当电机到达一些关键控制点时能够及时作出反应。这样的做法增加了软件设计的复杂度,并且导致大量上位机工作被浪费在无谓的反复查询通讯上,同时也增加了通讯总线上的负荷。



技术实现要素:

本发明的目的在于提出一种机电系统控制方法及装置,以解决现有技术中机电系统控制软件设计复杂且负荷高的技术问题。

第一方面,本发明实施例提供了一种机电系统控制方法,包括:

向子系统发送控制命令,并接收所述子系统返回的与所述控制命令对应的控制过程中的事件;

注册所述事件,将所述事件插入预设的事件队列中;

在满足所述事件的触发条件时,从所述事件队列中读取所述事件,并将所述事件分发至所述事件的目的对象,以使得所述目的对象根据所述事件中的信息执行控制动作。

进一步的,将所述事件插入预设的事件队列中,包括:

在所述机电系统包括一个子系统时,按照所述事件的先后顺序,将所述事件插入预设的事件队列中。

进一步的,将所述事件插入预设的事件队列中,包括:

在所述机电系统包括至少两个子系统时,按照每个子系统的事件先后顺序,将所述事件插入预设的事件队列中。

进一步的,所述方法还包括:

在控制完成后,从所述事件队列中删除所述事件。

更进一步的,所述子系统返回的控制过程中的事件,包括:

所述事件由对象根据所述控制过程确定,所述对象由子系统根据对所述命令的解释得到。

第二方面,本发明实施例还提供了一种机电系统控制装置,包括:

传送模块,用于向子系统发送控制命令,并接收所述子系统返回的与所述控制命令对应的控制过程中的事件;

注册模块,用于注册所述事件,将所述事件插入预设的事件队列中;

分发模块,用于在满足所述事件的触发条件时,从所述事件队列中读取所述事件,并将所述事件分发至所述事件的目的对象,以使得所述目的对象根据所述事件中的信息执行控制动作。进一步的,所述注册模块用于:

在所述机电系统包括一个子系统时,按照所述事件的先后顺序,将所述事件插入预设的事件队列中。

进一步的,所述注册模块用于:

在所述机电系统包括至少两个子系统时,按照每个子系统的事件先后顺序,将所述事件插入预设的事件队列中。

进一步的,所述装置还包括:

删除模块,用于在控制完成后,从所述事件队列中删除所述事件。

更进一步的,所述子系统返回的控制过程中的事件,包括:

所述事件由对象根据所述控制过程确定,所述对象由子系统根据对所述命令的解释得到。

本发明实施例提供的机电系统控制方法及装置,通过根据主系统发送的控制命令,确定该控制命令对应的控制过程中的事件,并将事件进行注册和插入预设的事件队列进行存储。在满足事件的触发条件时,将事件分发至事件的目的对象。目的对象可以根据事件中的信息完成控制动作。由于采用事件触发机制对对象进行动作控制,可以避免主系统通过轮询方式反复查询状态信息,减少了通讯总线的负荷。同时在软件实现上减少了查询的使用,减少了软件设计的复杂度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1是本发明实施例一提供的机电系统控制方法的流程示意图;

图2是本发明实施例二提供的机电系统控制方法的流程示意图;

图3是本发明实施例三提供的机电系统控制方法的流程示意图;

图4是本发明实施例四提供的机电系统控制方法的流程示意图;

图5是本发明实施例五提供的机电系统控制装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的机电系统控制方法的流程示意图,本实施例的方法适用于对机电系统进行控制的情况。可以由机电系统控制装置来执行,该装置可通过硬件和/或软件的方式实现,并一般可以应用于机电系统的主系统中。

参见图1,所述机电系统控制方法,包括:

S110,向子系统发送控制命令,并接收所述子系统返回的与所述控制命令对应的控制过程中的事件。

在机电系统中,直接面对用户的上位机称为主系统,而子系统可以是用于执行各种操作命令的具体部件。机电系统中包括至少一个子系统,通常包括多个子系统。主系统用于接收用户的指令,将指令编译为相应的命令,并将该命令向子系统发送。子系统在接收到命令后,根据命令控制子系统中的对象的动作。所述对象可以是具体的部件,例如:传感器等。示例性的,以ATM机为例,主系统可以为嵌入操作系统的PC系统,子系统可以包括:显示系统、存\取钞系统、计数系统、打印系统和开\关门系统等。其中,开\关门系统可以包括开\关门机械对象和传感器对象。

在本实施例中,主系统可以通过总线等向子系统发送控制命令。子系统在接收到控制命令后,根据对控制命令的解析,确定完成该控制命令所需要控制的对象。示例性的,主系统向开\关门子系统发送开门控制命令,开\关门子系统通过对开门控制命令的解析,确定开门命令的对象为钞门电机和钞门状态传感器。子系统中的每个对象根据命令启动控制过程,并根据控制命令确定在控制过程中的事件。事件是可以被系统识别的操作,包括系统事件和用户事件。系统事件由系统激发。使用事件机制可以实现:当对象的某个状态发生变化时,系统将会通过某种途径调用类中的有关处理这个事件的方法或者触发控件事件的对象就会调用该控件所有已注册的事件处理程序等。在本实施例中,所述事件可以包括:控制完成事件、控制超时事件和传感器状态触发事件等。在确定该子系统中对象在控制过程中的事件后,将所述事件返回至主系统。

S120,注册所述事件,将所述事件插入预设的事件队列中。

在主系统中,需要对上述事件进行注册。通过注册,可以确定该事件的对象,事件名称,更重要的是,可以确定该事件对应的方法,以在该事件触发时,系统能够调用对应的方法对其进行处理。并可以在事件处理完成后,对事件进行释放,方便进行内存管理。

在本实施例中,可以预先建立一个队列,用以存储事件。可以将所述事件从队尾插入形参队列。

S130,在满足所述事件的触发条件时,从所述事件队列中读取所述事件,并将所述事件分发至所述事件的目的对象,以使得所述目的对象根据所述事件中的信息执行控制动作。。

当对象的某个状态发生变化时,系统将会通过某种途径调用类中的有关处理这个事件的方法,或者触发控件事件的对象就会调用该控件所有已注册的事件处理程序等。对于每个注册的事件,其存在着与上述状态变化对应的的触发条件。例如常见的用户的点击操作,或者系统触发的,例如基于时间调整银行存款日期的变化。

在满足所述事件的触发条件时,从所述事件队列中读取事件,并将所述事件发送至事件的目的对象。其中,所述事件的目的对象,可以是该事件处理程序所对应的对象。所述对象可以根据所述事件中的信息执行控制动作。示例性的,所述事件中的信息可以是该事件的参数和/或调用程序信息。

示例性的,所述触发条件可以是传感器检测到钞门完全闭合的状态,可以从钞门完全闭合状态事件从事件队列中读取出。并根据注册钞门完全闭合状态事件确定调用处理程序的对象为开\关门机械对象。将钞门完全闭合状态事件分发至开\关门机械对象。开\关门机械对象根据钞门完全闭合状态事件中的调用程序信息控制电机停止工作,完成钞门关闭的控制操作。

本实施例通过根据主系统发送的控制命令,确定该控制命令对应的控制过程中的事件,并将事件进行注册和插入预设的事件队列进行存储。在满足事件的触发条件时,将事件分发至事件的目的对象。目的对象可以根据事件中的信息完成控制动作。由于采用事件触发机制对对象进行动作控制,可以避免主系统通过轮询方式反复查询状态信息,减少了通讯总线的负荷。同时在软件实现上减少了查询的使用,减少了软件设计的复杂度。

在本实施例的一个优选实施方式中,所述方法还包括:在控制完成后,从所述事件队列中删除所述事件。在完成相应的控制过程后,事件队列中的事件不会再触发。为了节省队列的存储空间,可以从所述事件队列中删除所述事件。由于某些事件可能在控制过程中会出现不止一次,例如传感器检测钞门角度事件,因此,需要在所有控制过程全部结束以后删除所有事件。示例性的,由于所述事件通常都处于队列的队头,可以从事件队列的队头取出所述事件,实现对事件的删除。

实施例二

图2为本发明实施例二提供的机电系统控制方法的流程示意图。本实施例以上述实施例为基础进行优化,将所述事件插入预设的事件队列中,具体优化为:在所述机电系统包括一个子系统时,按照所述事件的先后顺序,将所述事件插入预设的事件队列中。

参见图2,所述机电系统控制方法,包括:

S210,向子系统发送控制命令,并接收所述子系统返回的与所述控制命令对应的控制过程中的事件。

S220,注册所述事件,在所述机电系统包括一个子系统时,按照所述事件发生的先后顺序,将所述事件插入预设的事件队列中。

如果机电系统只包括一个子系统,那么对于该子系统来说,其在控制过程中的事件是存在一定的先后顺序的。例如:在一个存钱操作过程中,对于钞门机械系统来说,钞门打开事件应该发生在钞门闭合事件之前。按照事件发生的先后顺序将事件存入事件队列中。在从事件队列中读取事件时,可以按照队列存储的顺序依次读取事件。而如果不按照事件发生的先后顺序将事件存入事件队列中,则在读取事件时,需要采用遍历或者优化的遍历算法来从队列中选取对应的事件。额外增加了系统的计算负荷,增加了系统运算的时间。示例性的,按照事件发生的先后顺序将事件存入事件队列中,可以采用如下方式,根据设定的控制操作顺序依次从队尾插入事件,所述设定的控制操作顺序可以按照控制过程来设定。

S230,在满足所述事件的触发条件时,从所述事件队列中读取所述事件,并将所述事件分发至所述事件的目的对象,以使得所述目的对象根据所述事件中的信息执行控制动作。。

本实施例通过将所述事件插入预设的事件队列中,具体优化为:在所述机电系统包括一个子系统时,按照所述事件的先后顺序,将所述事件插入预设的事件队列中。可以避免主系统不停的遍历事件队列寻找事件,减少了系统的计算负荷,缩短了运算时长。

实施例三

图3为本发明实施例三提供的机电系统控制方法的流程示意图。本实施例以上述实施例为基础进行优化,将所述事件插入预设的事件队列中,具体优化为:在所述机电系统包括至少两个子系统时,按照每个子系统的事件先后顺序,将所述事件插入预设的事件队列中。

参见图3,所述机电系统控制方法,包括:

S310,向子系统发送控制命令,并接收所述子系统返回的与所述控制命令对应的控制过程中的事件。

S320,注册所述事件,在所述机电系统包括至少两个子系统时,按照每个子系统的事件先后顺序,将所述事件插入预设的事件队列中。

机电系统中通常包括至少两个子系统,通常来说每个子系统之间的控制操作是可以并行的,但每个子系统在其控制过程中的事件是存在一定的先后顺序的。例如:在一个存钱操作过程中,点钞机械子系统和验钞机械子系统可以并行进行控制操作。点钞机械子系统和验钞机械子系统的控制操作过程中的事件是存在先后顺序的。可以分别为每个子系统建立一个相应的事件队列。按照事件发生的先后顺序将事件存入事件队列中。但在子系统较多时,必然需要消耗更多的存储空间来存储事件。在本实施例中,只预设设置一个事件队列,按照每个子系统的事件先后顺序,将多个子系统的事件按照事件发生的先后顺序插入预设的事件队列中。可以有效节约存储空间。在从事件队列中读取事件时,可以按照队列存储的顺序依次读取事件。避免采用遍历或者优化的遍历算法来从队列中选取对应的事件。

S330,在满足所述事件的触发条件时,从所述事件队列中读取所述事件,并将所述事件分发至所述事件的目的对象,以使得所述目的对象根据所述事件中的信息执行控制动作。。

本实施例通过将所述事件插入预设的事件队列中,具体优化为:在所述机电系统包括至少两个子系统时,按照每个子系统的事件先后顺序,将所述事件插入预设的事件队列中。在存在多个子系统时,可以并行控制操作多个子系统,能够提高整个系统的控制操作的速度,减少控制操作的时间。

实施例四

图4为本发明实施例四提供的机电系统控制方法的流程示意图。本实施例以上述实施例为基础进行优化,将所述子系统返回的控制过程中的事件,具体优化为:所述事件由对象根据所述控制过程确定,所述对象由子系统根据对所述命令的解释得到。

参见图4,所述机电系统控制方法,包括:

S410,向子系统发送控制命令。

S420,子系统接收所述控制命令,根据所述控制命令的解释得到控制对象。

通常主系统采用计算机,以方便同用户的交互,其运行的控制程序为面向对象的语言程序,注重逻辑判断和数据处理。而子系统则对命令进行解释,将其转换为机械控制结构所能接受的语言,控制硬件对象的动作。即将语言程序最终转换为高低电平的控制信号,实现对机械结构的动作控制。在本实施例中,预先建立主系统命令与子系统的控制信号的对应关系,通过对主系统命令的解释,确定子系统的控制信号,并根据所述控制信号得到控制对象。

S430,所述控制对象根据控制过程确定事件,并将所述事件通过子系统返回主系统。

对于控制对象,由于其动作过程是根据控制需要产生的,而对控制对象来说,每一种控制需要对应的动作过程都是固定不变的。因此,在其控制过程中的事件也是不变的。可以根据命令确定控制需要对应的控制过程,进而确定控制过程中的事件。示例性的,可以预先建立命令与控制过程之间和控制过程与事件之间的对应关系。通过上述对应关系确定事件,并通过子系统将确定的事件返回至主系统。

S440,注册所述事件,将所述事件插入预设的事件队列中。

S450,在满足所述事件的触发条件时,从所述事件队列中读取所述事件,并将所述事件分发至所述事件的目的对象,以使得所述目的对象根据所述事件中的信息执行控制动作。

本实施例通过将所述子系统返回的控制过程中的事件,具体优化为:对象根据控制过程确定的事件,所述对象由子系统根据对所述命令的解释得到。通过解释命令确定与事件相关的对象,并且根据该对象的控制过程确定事件。可以保证获取到的事件准确,避免事件遗漏,使得基于事件对机电结构进行控制能够实现。

实施例五

图5是本发明实施例五提供的机电系统控制装置的结构示意图,如图5所示,所述装置包括:

传送模块510,用于向子系统发送控制命令,并接收所述子系统返回的与所述控制命令对应的控制过程中的事件;

注册模块520,用于注册所述事件,将所述事件插入预设的事件队列中;

分发模块530,用于在满足所述事件的触发条件时,从所述事件队列中读取所述事件,并将所述事件分发至所述事件的目的对象,以使得所述目的对象根据所述事件中的信息执行控制动作。

本发明实施例提供的机电系统控制装置,通过根据主系统发送的控制命令,确定该控制命令对应的控制过程中的事件,并将事件进行注册和插入预设的事件队列进行存储。在满足事件的触发条件时,将事件分发至事件的目的对象。目的对象可以根据事件中的信息完成控制动作。由于采用事件触发机制对对象进行动作控制,可以避免主系统通过轮询方式反复查询状态信息,减少了通讯总线的负荷。同时在软件实现上减少了查询的使用,减少了软件设计的复杂度。

在上述各实施例的基础上,所述注册模块用于:

在所述机电系统包括一个子系统时,按照所述事件的先后顺序,将所述事件插入预设的事件队列中。

在上述各实施例的基础上,所述注册模块用于:

在所述机电系统包括至少两个子系统时,按照每个子系统的事件先后顺序,将所述事件插入预设的事件队列中。

在上述各实施例的基础上,所述装置还包括:

删除模块,用于在控制完成后,从所述事件队列中删除所述事件。

在上述各实施例的基础上,所述子系统返回的控制过程中的事件,包括:

所述事件由对象根据所述控制过程确定,所述对象由子系统根据对所述命令的解释得到。

本发明实施例所提供机电系统控制装置可用于执行本发明任意实施例提供的机电系统控制方法,具备相应的功能模块,实现相同的有益效果。

显然,本领域技术人员应该明白,上述本发明的各模块或各步骤可以通过如上所述的设备实施。可选地,本发明实施例可以用计算机装置可执行的程序来实现,从而可以将它们存储在存储装置中由处理器来执行,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等;或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1