一种基于决策配置表的多设备控制系统及方法与流程

文档序号:25856728发布日期:2021-07-13 16:10阅读:121来源:国知局
一种基于决策配置表的多设备控制系统及方法与流程

本发明属于自动化设备技术领域,具体涉及一种基于决策配置表的多设备控制系统及方法。



背景技术:

随着自动化和信息技术的发展,传统的生产方式开始由手动及半自动化生产,逐渐转变为全自动化生产。

传统上,对多设备的自动化控制,通常由plc或者上位机软件实现,两种方式的扩展性都比较差,且处理逻辑复杂,尤其是当需要控制的设备增多时,处理逻辑的复杂度更是成倍增长,大幅度增加了实际应用及维护难度。



技术实现要素:

本发明的目的之一在于提供了一种基于决策配置表的多设备控制系统,通过运行决策配置表实现多设备自动控制管理,控制逻辑简单,且易于维护及扩展。

为了实现上述技术目的,本发明提供如下技术方案予以实现:

本申请涉及一种基于决策配置表的多设备控制系统,其特征在于,包括:

多个运行模块,其分别用于控制多个设备;

服务器,其配置有用于多个运行模块的决策配置表,其中所述决策配置表中至少包括运行模块的名称、当前触发值、pool、cdo_1、cdo_2、以及动作触发值;各决策配置表中对应的动作信息具有逻辑顺序关系,其中所述pool被配置为是或否;

各运行模块分别与所述服务器通讯连接,用于向所述服务器发送报文;

所述服务器接收运行模块所发送的报文后,根据所述运行模块的当前触发值查询所述决策配置表,并下发动作执行指令,其中所述动作执行指令对应所述动作触发值;

其中cdo_1和cdo_2根据所述pool配置,在所述pool为是时,cdo_2为搬运设备对应的运行模块,cdo_1为利用cdo_2搬运到的设备所对应的运行模块的集合,在所述pool为否时,cdo_1为空,cdo_2为搬运设备对应的运行模块,或与所述动作执行指令有关的设备对应的运行模块、或者为空。

在本申请中,所述服务器初始化所述决策配置表,且各运行模块分别启动单线程处理。

在本申请中,所述决策配置表还包括当前输入参数和/或动作输出参数,所述当前输入参数与所述当前触发值对应,所述动作输出参数与下个动作的触发值对应;

所述当前输入参数和动作输出参数分别包含在运行模块向所述服务器所发送的报文中。

在本申请中,所述服务器包括:显示模块,其用于显示所述决策配置表中的信息,以显示各设备的状态和执行的动作。

在本申请中,所述决策配置表中还支持优先级设置,在所述pool为是时,对cdo_1中的多个运行模块进行优先级排序。

在本申请中,所述服务器包括:配置模块,其用于配置所述决策配置表中的信息。本申请还涉及一种基于决策配置表的多设备控制方法,其利用如上所述的多设备系统实现,其特征在于,包括:

所述服务器运行并初始化决策配置表;

所述服务器监听各运行模块发送的报文;

在接收所述报文后,根据所述运行模块的当前触发值,查询所述决策配置表;

根据所述决策配置表,所述服务器下发动作执行指令。

在本申请中,在所述服务器下发动作执行指令之前,还包括如下:

所述服务器判断用于执行动作执行指令的运行模块是否处于空闲状态。

在本申请中,所述决策配置表中还支持优先级设置,在所述pool为是时,对cdo_1中的多个运行模块进行优先级排序。

在本申请中,在所述服务器下发动作执行指令之前,还包括如下:所述服务器按照优先级高低判断多个运行模块是否处于空闲状态。

相比于现有技术,本发明涉及的基于决策配置表的多设备控制系统及方法具有如下优点和有益效果:

(1)在服务器上运行多个运行模块的决策配置表,并接收各运行模块发送的报文,根据当前触发值查询决策配置表并定位,由于动作执行指令对应的动作触发值也作为决策配置表中的信息,因此,可以获取动作执行指令,且决策配置表中对应各运行模块的动作信息具有逻辑顺序关系,这样,在服务器上运行决策配置表时能够实现多个设备的自动控制管理,控制逻辑简单,易于实现;

(2)在服务器上运行决策配置表,易于维护及扩展,便于新设备的接入。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作一简要介绍,显而易见地,下面描述的附图是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明提出的基于决策配置表的多设备控制系统一种实施例的原理框图;

图2为本发明提出的基于决策配置表的多设备控制系统一种实施例的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了实现对多个设备的自动控制管理,本申请涉及一种基于决策配置表的多设备控制系统及其方法。

参见图1,示出基于决策配置表的多设备控制系统的原理框图。

针对于多个设备,例如三坐标测量机cmm(若存在多个cmm,则分别可以简称为cmm1/cmm2......)、机械手robot、rfid扫描枪、ccd相机等,每个设备都对应具有在其上配置运行模块的上位机,该运行模块可用于控制如上设备。

每个设备对应一个上位机(即,一个运行模块)。

每个上位机通过接口、网线、串口等直接连接对应的设备。

服务器上运行及维护决策配置表,且服务器通过有线网络(例如网口)与各运行模块通信连接。

一个设备和一个运行模块是一一对应的,多个运行模块和一个决策配置表示对应的。

服务器接收各运行模块发送的报文,此处的报文包括状态报文和动作报文,其中动作报文包含所要执行的动作,状态报文包含运行模块的当前状态。

各运行模块接收服务器下发的动作执行指令,进而各运行模块分别控制相应设备执行动作。

如下描述决策配置表的结构。

以rfid扫描枪(对应运行模块为rfid_cdo)、机械手(对应运行模块为robot_cdo)、以及测量机cmm1(对应运行模块为cmm1_cdo)为例进行说明。

其中,参数解释说明如下:

rfid_t_input表示rfid扫描枪当前的触发值,即,输入至rfid_cdo的、上一个已经完成的动作的信息,例如,已经将工件置于读码位。

pool可以被配置为y(即,是)/n(即,否),表示是否需要服务器从cdo_1中选择一个执行。

cdo_1和cdo_2根据pool进行配置。

在pool为y时,表示需要服务器从cdo_1中选择一个执行,此时,cdo_2为搬运设备对应的运行模块,cdo_1为利用cdo_2搬运到的多个设备对应的运行模块的集合。

例如,参见上表,机械手作为搬运设备。

在pool为y时,表示利用机械手搬运到多个运行模块cmm1_cdo、cmm2_cdo、cmm3_cdo对应的设备cmm1、cmm2、cmm3中的一个上。

在pool为n时,cdo_1为空(即,null),cdo_2为搬运设备对应的运行模块、或与执行动作有关的设备对应的运行模块、或空。

例如,参见上表第二行,在pool为n时,cdo_1为空,cdo_2为robot_cdo,例如,可以表示利用机械手从cmm1上将工件进行下料。

参见上表第三行,在pool为n时,cdo_1为空,cdo_2为rfid_cdo,例如,可以表示利用rfid扫描枪对工件进行读码。

参见上表第四行,在pool为n时,cdo_1为空,cdo_2为null(即,空),例如,可以表示利用机械手下料,完成设备执行过程。

再参见上表第三行,rfid_t_output表示rfid扫描枪动作触发值,例如,服务器控制rfid扫描枪进行读码,扫描枪读码完成后,输出读码完成信息并上传至服务器,此时,服务器在接收到报文并解析后,能够获知当前执行动作完毕,即,读码已完成。

参见上表第四行,在动作触发值为空时,表示动作全部已执行完毕,即,服务器控制多个设备运行完成了一个过程。

在本申请中,决策配置表中也可以包括与当前触发值对应的输入参数和与动作触发值对应的动作输出参数。

在上个运行模块执行时会向服务器发送报文,在服务器接收到报文后,解析该报文,以获取当前触发值(及输入参数),例如若当前触发值为如上所述的rfid_t_input时,对应的输入参数例如可以是表征工件已置于读码位的参数。

根据当前触发值,服务器查询决策配置表,定位到决策配置表中某行信息,并根据所定位的信息,服务器下发动作执行指令,

在当前运行模块执行动作时,能够根据当前运行模块向服务器发送的报文,并解析,以获取动作输出参数,并作为下个运行模块的输入参数及对应触发值。

这样,多个运行模块对应的决策配置表中的动作信息就具有逻辑顺序关系。

因此,在服务器上运行决策配置表时,能够根据各运行模块发送的报文,通过查询决策配置表,能够定位到待控制设备的运行模块,并执行对应的动作指令,且在该运行模块执行完毕后,会再次向服务器发送报文,服务器解析出当前触发值后,会再定位到下个待控制设备的运行模块,从而服务器实现多个设备的自动控制管理。

如下,结合图2中示出的多设备控制方法的流程图进行描述。

s1:服务器运行并初始化决策配置表。

打开服务器主机电源,启动服务器,运行服务器上软件。

此后,服务器初始化决策配置表,并读取决策配置表中各运行模块的配置信息。

需要说明的是,在对服务器及各上位机均上电时,每个上位机的运行模块与服务器自动建立连接关系。

并且,服务器为每个运行模块启动一个线程,处理对应该运行模块的任务。

s2:服务器监听各运行模块发送的报文。

服务器实时监听各个线程上的运行模块的动作,并在运行模块执行过程中,会实时上传报文至服务器。

s3:在接收到报文后,根据运行模块的当前触发值,查询决策配置表。

服务器分别与各运行模块通讯连接,接收各运行模块发送的报文,在接收到该报文后,可以对该报文进行解析。

解析后,获取该运行模块的当前触发值(及输入参数),查询决策配置表,并通过该当前触发值定位到决策配置表中某行信息。

s4:根据决策配置表,服务器下发动作执行指令。

在服务器定位到决策配置表中某行信息后,确定下步所要执行的动作,并下发动作执行指令。

该动作执行指令由哪个设备来执行,需要根据所定位的决策配置表中某行信息来执行。

在执行动作指令之前,判断该设备对应的运行模块是否空闲,若空闲,则服务器向该运行模块下发动作执行指令,并进而控制对应设备动作,

若繁忙,则服务器持续判断该运行模块的空闲状态,直至空闲状态时下发动作执行指令。

在完成动作执行指令后,服务器更新其系统状态,持续监听运行模块所发送的报文,并再次定位决策配置表中某行信息,以明确下步动作。

如此,直至根据决策配置表完成整个系统中多个设备的自动控制,逻辑控制简单,易于维护及实现。

如上所述,在pool为是时,cdo_1为利用cdo_2搬运到的多个设备对应的运行模块的集合。

服务器支持优先级排序功能,对cdo_1中的多个运行模块进行优先级排序。

参见如上示出的表中第一行,例如,cdo_1为运行模块cmm1_cdo、cmm2_cdo、cmm3_cdo的集合,若不对此运行模块的集合中的元素进行优先级排序,则会任意选择其中一个运行模块。

若对此运行模块的集合中的元素进行优先级排序,例如,cmm1_cdo对应的设备cmm1、cmm2_cdo对应的设备cmm2、cmm3_cdo对应的设备cmm3的优先级依次降低,则会首先利用机械手将工件搬运到设备cmm1上。

在对cdo_1集合进行优先级排序后,会根据优先级高低判断cdo_1集合中多个运行模块是否处于空闲状态。

例如,首先会实时判断cmm1_cdo是否处于空闲状态,若在一段时间内,cmm1_cdo仍未处于空闲状态,则再判断cmm2_cdo是否处于空闲状态,若在一段时间内,cmm2_cdo仍未处于空闲状态,则再又判断cmm3_cdo是否处于空闲状态。

如下,以rfid扫描枪(对应运行模块为rfid1_cdo)、机械手(对应运行模块为robot1_cdo)、以及两台测量机cmm1(对应运行模块为cmm1_cdo)和cmm2(对应运行模块为cmm2_cdo)为例进行说明。

下表为用于如上四个设备的决策配置表。

每个运行模块在决策配置表中的信息可以不止一行,例如,针对rfid1_cdo在决策配置表中具有两行信息。

1.1上料完成,执行读码

当料线运送工件至扫描枪的读码位置时,服务器获取消息,根据rfid1_cdo和rfidloadfinish(即,当前触发值)信号,查询决策配置表,并定位到决策配置表的第一行的信息,通过解析该信息,获取到动作执行指令,即,下一步需要rfid扫描枪进行读码。

服务器判断rfid扫描枪是否满足读码条件(例如,rfid扫描枪当前是否处于空闲状态),若满足读码条件,服务器会向rfid1_cdo发送读码指令,以控制rfid扫描枪进行读码。

其中动作执行指令(即读码指令)与动作触发值(即,read)对应。

1.2读码完成,开始执行上料至cmm1或cmm2

在rfid1_cdo读码完成后,rfid1_cdo会向服务器发送报文,更新rfid1_cdo的状态,即,读码完成(对应表中第二行的readfinish)。

服务器根据接收到的报文,解析后,获取到当前触发值,此时的当前触发值为readfinish。

服务器根据当前触发值readfinish,服务器查询决策配置表,并定位到决策配置表的第二行的信息,通过解析该信息,获取到动作执行指令,即,下一步需要通知机械手将工件搬运至cmm1或cmm2。

1.3执行上料至cmm1

服务器判断机械手是否满足搬运条件(例如,机械手当前是否处于空闲状态),若满足搬运条件,服务器会向robot_cdo发送搬运指令,以控制机械手进行搬运。

在robot_cdo搬运完成后,robot_cdo会向服务器发送动作完成报文,更新robot_cdo的状态,即,搬运完成(对应表中到第四行的cmm1loadfinish)。

1.4cmm1上料完成,执行测量

服务器根据接收到的报文,解析后,获取到当前触发值,此时的当前触发值为cmm1loadfinish。

服务器根据当前触发值cmm1loadfinish,服务器查询决策配置表,并定位到决策配置表的第四行的信息,通过解析该信息,获取到动作执行指令,即,下一步需要通知cmm1进行测量。

服务器判断cmm1是否满足测量条件,若满足测量条件,服务器会向cmm1_cdo发送测量指令,以控制cmm1对工件进行测量。

在测量完成后,cmm1_cdo会向服务器发送动作完成报文,更新cmm1_cdo的状态,即,测量完成(对应表中到第五行的measurefinish)。

1.5cmm1测量完成,开始执行下料

服务器根据当前触发值measurefinish,服务器查询决策配置表,并定位到决策配置表的第五行的信息,通过解析该信息,获取到动作执行指令,即,下一步需要通知机械手进行下料。

1.6执行下料

服务器判断机械手是否满足下料条件,若满足下料条件,服务器会向robot_cdo发送下料指令,以控制机械手进行下料。

在robot_cdo下料完成后,robot_cdo会向服务器发送动作完成报文,此控制过程结束。

上表中第七行至第十行是针对cmm2上料、测量及下料的配置信息,其与cmm1类似,在此不做赘述。

服务器与各运行模块通讯连接,能够接收各设备反馈的报文,且通过在服务器上运行决策配置表,能够确定设备下一步的动作,完全实现多设备的自动控制及管理,效率高且不需人工参与,智能化程度高。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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