CN111752638A - 自动化控制平台及自动化平台控制方法 - Google Patents

自动化控制平台及自动化平台控制方法 Download PDF

Info

Publication number
CN111752638A
CN111752638A CN202010583729.1A CN202010583729A CN111752638A CN 111752638 A CN111752638 A CN 111752638A CN 202010583729 A CN202010583729 A CN 202010583729A CN 111752638 A CN111752638 A CN 111752638A
Authority
CN
China
Prior art keywords
module
command
control platform
automation
platform
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.)
Pending
Application number
CN202010583729.1A
Other languages
English (en)
Inventor
李家清
石金博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongguan Liqun Automation Technology Co ltd
Original Assignee
Dongguan Liqun Automation Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dongguan Liqun Automation Technology Co ltd filed Critical Dongguan Liqun Automation Technology Co ltd
Priority to CN202010583729.1A priority Critical patent/CN111752638A/zh
Publication of CN111752638A publication Critical patent/CN111752638A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B05SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05CAPPARATUS FOR APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05C5/00Apparatus in which liquid or other fluent material is projected, poured or allowed to flow on to the surface of the work
    • B05C5/02Apparatus in which liquid or other fluent material is projected, poured or allowed to flow on to the surface of the work the liquid or other fluent material being discharged through an outlet orifice by pressure, e.g. from an outlet device in contact or almost in contact, with the work
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

本发明提供的自动化控制平台及自动化平台控制方法,通过将自动化设备与外部设备的运行过程独立出来,按照各自的逻辑运行,按需检查其它外部设备发送的IO信号或网络通知命令,根据外部设备发送的IO信号或网络通知命令以及自动化设备自身的运行状态生成相应的调度指令,确定自动化设备是否满足运行条件,满足后则执行相应的调度指令,若不满足则检查下一个IO信号或网络通知命令,实现动作逻辑最优化的自动调度。本发明通过各个自动化设备互相协调发送通知的方式,与自动化设备的运动控制部件逻辑结合起来,实现复杂系统的有机协调,高效、快捷地实现各种事务安排,提高运行效率。

Description

自动化控制平台及自动化平台控制方法
技术领域
本发明涉及自动化控制技术领域,具体而言,涉及一种自动化控制平台及自动化平台控制方法。
背景技术
现有自动化设备控制过程中,经常会使用机器人及其他运动部件作为执行机构,进行设备间相互通讯,整体控制系统状态,系统逻辑判断,动作异常及故障处理,实现高效稳定的自动化工作流程。现有技术中,自动化控制系统直接控制机器人及其他运动部件运动,尤其是在多工位需要互相协调的过程中,涉及到机器人针对多个工站的事务安排,多个不同个体之间协调能力不足,影响工作效率。
发明内容
本发明的目的包括,例如,提供了一种自动化控制平台和自动化平台控制方法,其能够改善现有的自动化设备控制模式,使得多个设备之间能够协调运行。
本发明的实施例可以这样实现:
第一方面,本发明提供一种自动化控制平台,所述自动化控制平台与至少一个第二自动化控制平台通讯连接,所述自动化控制平台包括:
通讯模块、命令接收及缓存模块、状态控制模块、IO信号扫描模块、调度模块及动作逻辑模块;
所述通讯模块用于接收所述至少一个第二自动化控制平台的控制命令或网络通知命令,并将接收的所述控制命令或网络通知命令发送至所述命令接收及缓存模块;
所述命令接收及缓存模块用于缓存所述控制命令或网络通知命令,根据所述命令的内容进行分类处理,确定命令的执行顺序;
所述命令接收及缓存模块还用于当系统为启动状态时将网络通知命令传输给所述调度模块;
所述状态控制模块用于根据所述控制命令控制所述自动化控制平台的系统状态,控制所述IO信号扫描模块及所述调度模块的启停;
所述IO信号扫描模块用于获取至少一个第二自动化控制平台的IO信号,所述调度模块用于根据所述自动化控制平台的运动条件以及所述IO信号或网络通知命令,按照预设定的规则生成调度指令;
所述动作逻辑模块用于根据所述调度指令控制所述自动化控制平台的运动部件执行相应的动作。
进一步地,当执行动作时,所述动作逻辑模块获取系统状态是否为启动状态,若系统状态为非启动状态,则待系统状态为启动状态后控制所述自动化控制平台的运动部件执行相应的动作。
进一步地,当系统状态为启动状态时,所述动作逻辑模块还用于确定系统是否异常,若系统出现异常,则将异常代码发送至上位机以修复所述异常;
当所述系统状态未出现异常时,控制所述自动化控制平台的运动部件执行相应的动作。
进一步地,所述自动化控制平台还包括硬件启停扫描模块,所述硬件启停扫描模块用于扫描获取控制硬件触发的控制命令。
进一步地,所述状态控制模块用于根据所述硬件启停扫描模块获取的控制命令或所述通讯模块获取的控制命令控制所述自动化控制平台的系统状态,控制所述IO信号扫描模块及所述调度模块的启停。
进一步地,所述命令接收及缓存模块用于确定所述控制命令或网络通知命令的类型;当所述控制命令或网络通知命令的类型为立即执行命令时,将所述命令的执行顺序确定为优先执行;当所述命令的类型为非立即执行命令时,将获取所述命令的先后顺序确定为所述命令的执行顺序。
进一步地,所述IO信号扫描模块用于在获取至少一个第二自动化控制平台的IO信号之后,暂停获取IO信号,直至所述与所述第二自动化控制平台的IO信号对应的调度指令被执行完成后继续获取第二自动化控制平台的IO信号。
进一步地,当所述自动化控制平台的系统状态为运行状态时,所述命令接收及缓存模块或硬件启停扫描模块、所述IO信号扫描模块及所述调度模块均保持运行。
进一步地,当所述自动化控制平台的系统状态为暂停状态时,所述命令接收及缓存模块或硬件启停扫描模块、所述IO信号扫描模块保持运行,所述调度模块处于暂停状态。
第二方面,本发明提供一种自动化平台控制方法,所述自动化平台控制方法应用于自动化控制平台,所述自动化控制平台与至少一个第二自动化控制平台通讯连接,所述自动化平台控制方法包括:
获取控制命令或网络通知命令;
根据所述控制命令控制所述自动化控制平台的系统状态;
当所述自动化控制平台的系统状态为运行状态时,获取至少一个第二自动化控制平台的IO信号或网络通知命令;
根据所述自动化控制平台的运动条件以及所述IO信号或网络通知命令,按照预设定的规则生成调度指令;
根据所述调度指令控制所述自动化控制平台的运动部件执行相应的动作。
相对于现有技术,本发明具有以下的有益效果:
本发明提供的自动化控制平台及自动化平台控制方法,通过将自动化设备与外部设备的运行过程独立出来,按照各自的逻辑运行,按需检查其它外部设备发送的IO信号或其它外部设备发送的网络通知命令,根据外部设备发送的IO信号或其它外部设备发送的网络通知命令以及自动化设备自身的运行状态生成相应的调度指令,确定自动化设备是否满足运行条件,满足后则执行相应的调度指令,若不满足则检查下一个IO信号或下一个外部设备发送的网络通知命令,实现动作逻辑最优化的自动调度。本发明通过各个自动化设备互相协调发送通知的方式,与自动化设备的运动控制部件逻辑结合起来,实现复杂系统的有机协调,高效、快捷地实现各种事务安排,提高运行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明提供的自动化控制平台的示意框图;
图2示出了存取控制命令的示意图;
图3示出了IO扫描模块的工作原理示意图;
图4示出了调度模块的工作原理示意图;
图5示出了动作逻辑模块的工作原理示意图;
图6示出了本实施例提供的一种自动化设备系统架构。
图标:100-自动化控制平台;110-通讯模块;120-命令接收及缓存模块;130-硬件启停扫描模块;140-状态控制模块;150-IO信号扫描模块;160-调度模块;170-动作逻辑模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
现有自动化设备控制过程中,经常会使用机器人及其他运动部件作为执行机构,进行设备间相互通讯,整体控制系统状态,系统逻辑判断,动作异常及故障处理,以实现高效稳定的自动化工作流程。
现有技术中,自动化设备控制系统直接控制机器人及其他运动部件运动,尤其是在多工位需要互相协调的过程中,涉及到机器人针对多个工站的事务安排,例如,针对自动化平台内部的各个运动部件的各个动作,系统定义了众多的状态变量,和预设的各个运行部件的动作一一对应。总控从初始变量开始,按照设定的步骤,控制运动部件按照顺序执行相应的动作,某个运动部件的某个动作完成后,总控设置状态变量为下一个动作,然后告诉某个运动部件执行该变量对应的下一个动作。如此按照顺序执行,中间任何一个运动部件异常往往会导致整体系统不能继续执行下去。这种方式下总控需要精确定义到每一个动作,需要增加代码用于每一个动作完成后更改状态变量,同时需要在进行调度时对状态变量的每一个值所对应执行的动作进行罗列,任何一个状态变量的丢失或疏忽会导致系统无法预知的运行逻辑异常,此外,基于状态变量的顺序执行,对多设备并行运动难以协调,影响系统运行效率。
为了改善上述问题,本发明提供了一种自动化控制平台,用于改善现有的自动化设备控制模式,使得多个设备之间能够协调运行。
请参阅图1,图1示出了本发明提供的自动化控制平台100的系统架构示意图。
本发明提供的自动化控制平台100,其与至少一个第二自动化控制平台100通讯连接。该自动化控制平台100可以是某一台自动化控制设备,也可以是多台自动化控制设备组成的多设备自动化控制系统,还可以是多个自动化控制系统组成的自动化车间。
请参阅图1,本发明提供的自动化控制平台100包括:通讯模块110、命令接收及缓存模块120、硬件启停扫描模块130、状态控制模块140、IO信号扫描模块150、调度模块160及动作逻辑模块170。
通讯模块110用于接收至少一个第二自动化控制平台100的控制命令或网络通知命令,并将接收的命令发送至命令接收及缓存模块120。
命令接收及缓存模块120用于缓存控制命令或网络通知命令,根据命令的内容进行分类处理,确定命令的执行顺序;所述命令接收及缓存模块120还用于当系统为启动状态时将网络通知命令传输给所述调度模块160。
状态控制模块140用于根据控制命令控制自动化控制平台100的系统状态,控制IO信号扫描模块150及调度模块160的启停。
硬件启停扫描模块130用于扫描获取控制硬件触发的控制命令。
状态控制模块140用于根据硬件启停扫描模块130获取的控制命令或通讯模块110获取的控制命令控制自动化控制平台100的系统状态,控制IO信号扫描模块150及调度模块160的启停。
IO信号扫描模块150用于获取至少一个第二自动化控制平台100的IO信号,调度模块160用于根据自动化控制平台100的运动条件以及IO信号或者网络通知命令,按照预设定的规则生成调度指令;
动作逻辑模块170用于根据调度指令控制自动化控制平台100的运动部件执行相应的动作。
其中,在系统处于未启动状态下时,通讯模块110可以接收初始化指令进行系统运动部件的复位动作,完成复位动作后没有接收到启动指令之前,通讯模块110可以接收运动指令,根据指令完成单个动作。同时通讯模块110也可以接收所有的查询指令,例如自动化控制平台100的运行状态查询,自动化控制平台100当前点位查询,自动化控制平台100IO状态查询等指令。
在通讯模块110接收到启动指令之后,自动化控制平台100启动运行,此时通讯模块110可以接收暂停指令、停止指令,此外,通讯模块110还可以接收一些查询指令以及外部设备发送的网络通知命令,诸如自动化控制平台100运行状态查询,自动化控制平台100当前点位查询,自动化控制平台100IO状态查询,外部设备通知本系统可以执行特定动作(但是否执行由调度模块160来决定)等指令。
在自动化控制平台100运行过程中,通讯模块110不接收运动指令,自动化控制平台100的动作由自动化控制平台100自身根据条件进行调度。
在一种可能的实现方式中,自动化控制平台100与外部设备进行通讯交互时,一部分命令发送频率较低,另一部分命令发送频率较高,系统通过使用两个不同的通讯客户端来分别发送不同频率的命令给远程设备。例如,设置第一客户端和第二客户端,第一客户端用于发送普通低频率命令至第一远程服务端,第一远程服务端将命令反馈回复给控制系统内部的接收服务器,服务器接收到命令后,根据实际情况进行处理。第二客户端发送高频密集命令给第二远程服务端,第二远程服务端直接反馈结果给第二客户端,第二客户端接收反馈结果后自行根据实际需求进行处理,通过两个不同通道实现各种频率命令发送及接收的有效管理。
命令接收与缓存模块用于缓存接收到的控制命令或网络通知命令,根据控制命令或网络通知命令的内容进行分类处理,确定命令的执行顺序。
在一种可能的实现方式中,命令接收及缓存模块120用于确定控制命令或网络通知命令的类型;当控制命令或网络通知命令的类型为立即执行指令时,将控制命令或网络通知命令的执行顺序确定为优先执行;当控制命令或网络通知命令的类型为非立即执行指令时,将获取命令的先后顺序确定为命令的执行顺序。
在一种可能的实现方式中,命令接收及缓存模块120获取到网络通知命令后,若系统状态为运行模式下,命令接收及缓存模块120将络通知命令立即传递给调度模块160。
在一种可能的实现方式中,在自动化控制平台100内部,开辟一个固定长度的队列用于保存接收到的控制命令,作为缓存区。如图2所示。
自动化控制平台100接收到命令(该命令可能是控制命令,也可能是网络通知命令,在后续未特殊说明的情况下,该命令均是指控制命令或网络通知命令)后,需要根据命令的内容进行合理安排及处理:对命令进行判断,是否需要立即执行或者是按照一定的顺序依次排队执行。
自动化控制平台100接收到的命令类型是有限的,因此可以预先对不同的命令类型进行定义,当接收到命令时,判断命令的类型,确定命令的执行顺序。
如果命令的类型为立即执行指令时,将命令的执行顺序确定为优先执行,例如获取即时IO状态、通知系统暂停/恢复、设置即时参数、获取外界即时异常处理结果等命令,则直接执行命令对应的内容。
当命令的类型为非立即执行指令时,则按照顺序执行,例如系统初始化,系统启动,执行运动等控制命令,则将命令插入到缓存区最后,设置另外一个线程则按照先进先出的原则读取最先进入缓存区的命令,将获取命令的先后顺序确定为命令的执行顺序,按照顺序执行。
在一种可能的实现方式中,参阅图2,缓存区控制命令的插入及读取遵循以下原则:
首先定义长度为N的数组作为缓存区。插入线程将收到的第一个命令插入缓存区的第1个位置,接下来接收到的命令将按照顺序插入缓存区第2个位置。以此类推,下一次都将收到的命令插入到当前插入位置的下一个位置,当插入位置为缓存区最后一个位置时,下一次自动将收到的命令插入1个位置(N的数字足够大以保障所有的命令都可以被按照顺序执行)。
读取线程从缓存区第1个位置读取控制命令,自动化控制平台100执行该控制命令,下一次读取则按照顺序从缓存区第2个位置读取控制命令。以此类推,下一次都读取当前读取位置的下一个位置的控制命令,当读取完缓存区最后一个位置的控制命令后,将自动从第1个位置重新开始读取。
由于插入动作和读取动作共用了同一个缓存区,有可能发生同时操作缓存区位置的数据,为了避免上述情况,在一种可能的实现方式中,系统使用线程锁以保证两个动作同时发生的时候,其中一个动作必须等待另外一个动作完成后才能继续,防止同时操作带来的不可预估的异常问题。
于本实施例中,该自动化控制平台100还设置有硬件启停扫描模块130,自动化控制平台100控制系统启动、停止、暂停可以通过通讯模块110接收外界控制命令实现,也可以通过外界控制硬件,例如控制按钮等实现。
一般地,硬件按钮包括:启动按钮,暂停按钮,停止按钮等,系统通过硬件启停扫描模块130检测每个按钮按下后由未接通到接通的上升沿信号作为扫描到该控制信号的标志。
状态控制模块140用于根据控制命令控制自动化控制平台100的系统状态,控制IO信号扫描模块150及调度模块160的启停。
于本实施例中,状态控制模块140用于通过以下两种方式之一控制自动化控制平台100的系统状态。
在一种可能的实现方式中,可以通过命令接收及缓存模块120接收的控制命令进行控制,当命令接收及缓存模块120收到控制命令后,如果该控制命令为启动指令,运行该控制命令后,自动化控制平台100的系统状态进入运行状态,如果该控制命令为暂停指令,运行该控制命令后,自动化控制平台100的系统状态进入暂停状态,如果该控制命令为停止指令,运行该控制命令后,自动化控制平台100的系统状态进入未启动状态,其中,运行状态还包括异常及恢复状态。
在另一种可能的实现方式中,还可以通过硬件启停扫描模块130获取的控制命令进行控制。在自动化控制平台100系统未启动的状况下,若检测到硬件启动按钮按下,自动化控制平台100的系统状态进入运行状态;若检测到硬件暂停按钮按下,自动化控制平台100的系统状态进入暂停状态,若检测到硬件停止按钮按下后,自动化控制平台100的系统状态进入未启动状态。
自动化控制平台100运行时,对于启动停止等状态控制,建议只有一个控制源,通过命令告知系统启停,或者扫描硬件按钮是否被按下来决定是否启停,如果两种方式同时存在,则容易造成控制逻辑混乱。在一种优选的实现方式中,为了自动化控制平台100系统的单一稳定性,对于自动化控制平台100的状态控制,仅采用一种启停控制方式。
状态控制模块140还用于控制IO信号扫描模块150及调度模块160的启停,在自动化控制平台100系统为未启动状态下,除了命令接收及缓存模块120或硬件启停扫描模块130线程保持运行,其他所有模块均不启动。该状态下命令接收及缓存模块120只处理启动指令,硬件启停扫描模块130只处理启动按钮按下动作。
在自动化控制平台100系统为运行状态下,除了命令接收及缓存模块120或硬件启停扫描模块130保持运行外,IO信号扫描模块150、调度模块160均正常运行。该模式下所有模块及模块内部功能全部保持运行状态。
在自动化控制平台100系统为暂停状态下,命令接收及缓存模块120或硬件启停扫描模块130保持运行,IO信号扫描模块150保持运行,调度模块160处于暂停状态,所有依赖调度模块160进行的动作也处于暂停状态。
IO信号扫描模块150用于获取至少一个第二自动化控制平台的IO信号,以使调度模块160根据IO信号对自动化控制平台100的运动进行调度。
参阅图3,自动化控制平台100系统启动运行后,开启扫描标识。IO信号扫描模块150循环进行扫描判断,当扫描标识为ON时,若IO信号扫描模块150扫描到至少一个第二自动化控制平台100的IO信号,即检测到IO信号为ON,则将扫描标识置为OFF,关闭扫描标识,设置运行逻辑标识赋予调度模块160,由调度模块160根据自动化控制平台100运动部件条件和该运行逻辑标识组合进行运动逻辑分配。
IO信号扫描模块150关闭扫描标识后,IO信号扫描模块150不再扫描该IO信号,这样保证了该IO信号只是在上升沿触发,不会重复捕获该信号而导致调度模块160产生异常调度逻辑。当调度模块160根据运动部件条件和运行逻辑标识组合进行运动逻辑分配,当该IO信号对应的动作逻辑完成后,第二自动化控制平台100将该IO信号转变为OFF,即IO信号扫描模块150无法再继续扫描到该IO信号,IO信号扫描模块150循环进行扫描判断,如果IO信号转变为OFF时,表示前一运行逻辑标识已经完成,则设置扫描标识为ON,继续进行扫描。
调度模块160用于根据外部设备(如第二自动化控制平台)的IO信号或网络通知命令及自动化控制平台100自身的条件按照预设的规则生成调度指令,对自动化控制平台100的运动部件动作进行调度。
例如,参阅图4,第一自动化控制平台(工位1)通过IO信号、网络命令或内部变量通知第二自动化控制平台(工位2)完成某个动作,此时第二自动化控制平台有可能正在进行其他动作,当第二自动化控制平台完成其他动作后,检查到第一自动化控制平台的动作请求,第二自动化控制平台的调度模块160会检测当前自身的运动部件是否满足执行该动作的条件,如果不满足,则执行自身其他可执行动作;如果满足,则执行该动作。
同理,若第二自动化控制平台执行完该动作后,第二自动化控制平台通过IO信号、网络通知命令或内部变量通知第一自动化控制平台完成相应动作,第一自动化控制平台有可能正在进行其他动作,当第一自动化控制平台完成其他动作后,检查到第二自动化控制平台的动作请求,第一自动化控制平台的调度模块160会检测当前自身的运动部件是否满足执行该动作的条件,如果不满足,则执行自身其他可执行动作;如果满足,则执行该动作。
以机器人为例,例如机器人还没有取料(夹爪为空),但外部设备通知机器人放料,机器人会检查自身无料不满足放料条件,所以将取料的指令延后处理。如果此时其他外部设备通知机器人上料,机器人夹爪为空可以进行取料,则机器人执行取料动作。取料完成后,再检查已经收到的其他通知,发现前面的放料通知,此时机器人的夹爪已经取料,满足放料条件,可以执行放料动作。
通过该调度模块160,将各个自动化控制平台100与自身紧密结合起来,与外界唯一交互的地方只有外部请求(如IO信号或网络通知命令),外部的请求不能控制自动化控制平台100的动作,由调度模块160根据自身运动部件的条件以及外部的请求综合调度,接收到外部请求后,如果条件允许,则执行所请求的动作,如果条件不允许,则执行自身其他动作,当执行完自身其他动作后,自身条件发生变化,最后必然会出现外部请求动作符合条件,然后可以执行外部请求动作。
动作逻辑模块170用于根据调度指令控制自动化控制平台100的运动部件执行相应的动作。
于本实施例中,对运动部件的动作进行了标准化定义。以机器人为例,对机器人的运动的位置以及速度进行标准化定义,以便在对机器人的动作进行调度时,可以高效执行相关的动作。
位置定义:每个位置对象(Location Object)包含的数据定义为:类型指示符(Type);位置和方向;用于接近目的位置的安全高度(Zclearance);目标机器人的具体配置信息。在一种可能的实现方式中,位置对象有两种类型(Type):角度位置(Angles)和笛卡尔(Cartesian)。
角度位置将机器人的位置存储为轴位置的数组。当我们提到角度位置的“位置”(position)或“总位置”(total position)时,指的是轴位置的数组。
通用的类型是笛卡尔位置,笛卡尔位置包含直角位置和方向:X、Y、Z和三个欧拉角:X轴旋转角(Pitch),Y轴旋转角(Yaw)和Z轴旋转角(Roll)。除了此位置和方向,每个笛卡尔位置包含一个可选的指针的参考系的对象,X,Y,Z,Yaw,Pitch,Roll的值定义了该对象“相对于参考坐标系的位置”(PosWrtRef)。当提到笛卡尔位置的“位置”(position)或“总位置”(total position)时指的是“相对于参考坐标系的位置”(PosWrtRef)和已指明的参考系的综合结果。
因为高柔性的自动化必须改变机器人的动作以适应在材料处理、装配或其他类型的操作的变化,位置(Location)指令为操纵位置和方向提供广泛的方法。
速度定义:定义了用于指定典型运动性能参数的对象属性,也就是说,一个Profile对象包含速度、加速度、减速度、到位准则和其他规定运动如何执行的技术参数、基本动作指令,Move.Loc拥有两个参数:速度规划对象(Profile Object)和位置对象(Location Object),位置对象(Location Object)指定了机器人的运动目标,速度规划文件对象(Profile Object)指定机器人是如何到达目的地。
在执行动作时,动作逻辑模块170获取系统状态是否为启动状态,若系统状态为非启动状态,则待系统状态为启动状态后控制自动化控制平台100的运动部件执行相应的动作。当系统状态为启动状态时,动作逻辑模块170还用于确定系统是否异常,若系统出现异常,则将异常代码发送至上位机以修复异常;当系统状态未出现异常时,控制自动化控制平台100的运动部件执行相应的动作。
例如,动作逻辑模块170将动作封装为一个整体,包含动作中的暂停、异常及错误处理。在一种可能的实现方式中,参阅图5,动作逻辑模块170检测自动化控制平台100的系统状态,若自动化控制平台100的系统状态不是暂停状态,则动作逻辑模块170根据条件执行动作逻辑。
动作逻辑内部,同样可以判断系统是否为暂停状态,如果是暂停,则原地等待,如果不为暂停,则继续执行。
在执行动作过程中,如果检测到系统有异常发生,系统发送异常代码及运动部件类别给外部人机交互响应界面。例如:“ERRACT;2000;RBT”,表示异常代码为2000,报警部件为机器人。
动作逻辑模块170原地等待外部返回异常上报处理结果,例如收到的反馈结果为:“ERRACT;2000;RBT;1”,1表示返回处理结果为重试,在一种可能的实现方式中,可自定义多个处理方法,动作逻辑模块170接收到外部报警处理完成结果后,会再次检测系统是否有异常,如果有异常,则重复以上步骤直至异常消失为止,若没有异常,则继续执行动作直到完成,然后返回调度模块160,等待执行下一个动作逻辑。
请参阅图6,下面对本申请提供的自动化控制平台100进行示例性说明。图6示出了本实施例提供了一种自动化设备系统架构,该系统架构包括控制中心、工站A和工站B,工站A和工站B各自有一套独立运行的控制系统;工站A和工站B共用上位机(控制中心)和进料流水线及出料流水线,控制中心用于人机交互,通过网络通信发送命令通知工站A或工站B控制系统启动、暂停、停止;对工站A或工站B设置参数;处理工站A或工站B的报警请求等等。
可以理解的是,对于工站A与工站B整体而言,其可以作为一个自动化控制平台100,但单独对于工站A与工站B而言,其也可以单独作为一个自动化控制平台100。每一个工站内部还包括多个执行设备,每一个执行设备也可以作为一个自动化控制平台100。
工站A包括机器人A、点胶设备A1、点胶设备A2、缓存位A以及气缸A,每一个部件均可以作为一个独立的自动化控制平台100,与外部设备进行相互通讯,结合外部设备的IO信息,对自身的动作逻辑进行调度。
例如,对于机器人A而言,其可能接收到的IO消息包括:进料流水线通知机器人A取产品A;点胶设备通知机器人A取放点胶设备A1产品;点胶设备A2通知机器人A取放A2产品;气缸A从缓存位A取走产品后,通知机器人可以放料到缓存位A;机器人A从点胶设备A1取走产品后,自己通知自己下一次放未加工产品到点胶设备A1;机器人A从点胶设备A2取走产品后,自己通知自己下一次放未加工产品到点胶设备A2。
对于机器人A而言,其自身的调度模块160根据其自身的运动部件条件结合外部设备的IO消息对其动作逻辑进行调度。例如,机器人A抓手当前无产品,点胶设备A1/A2任何一个无产品,机器人A收到进料流水线发送的IO消息:“进料流水线通知机器人A取产品A”后,机器人A从进料流水线抓取产品(此时机器人A夹爪为有未加工产品状态),其他情况下不响应该取料通知,忽略该命令,检查其他逻辑。
或者,机器人A夹爪没有产品,点胶设备A1/A2均有产品,机器人A收到点胶设备A的IO消息:“点胶设备通知机器人A取放点胶设备A1产品”后,机器人A抓取点胶设备A1产品(抓取后机器人A夹爪为有已加工完成产品状态,点胶设备A1为无产品状态),机器人A自身发送通知给自身:自己通知自己下一次放未加工产品到点胶设备A1,其他情况下不响应点胶设备A1的IO消息,忽略该命令,检查其他逻辑。
综上所述,在自动化控制平台100接收到外部设备的IO消息后,首先判断自身的运动部件是否符合执行相应的动作的条件,例如,当机器人收到取料消息时,判断自身夹爪是否空闲;当机器人收到放料消息时,判断自身夹爪是否有产品;若符合相应的条件,则执行该动作;若不满足相应的条件,则先执行其他的动作,待自身状态改变,满足相应的条件,再执行该动作,实现动作逻辑最优化的自动调度。
本实施例还提供了一种自动化平台控制方法,需要说明的是,本实施例提供的自动化平台控制方法,其技术原理与技术效果与前述的自动化控制平台100的基本原理及效果基本相同,为简要描述,本实施例不再对其进行详细说明,本实施例未介绍详尽之处,请参阅前述实施例中的相关内容。
该自动化平台控制方法应用于自动化控制平台,自动化控制平台与至少一个第二自动化控制平台通讯连接,自动化平台控制方法包括:
步骤210:获取控制命令或外部设备发送的网络通知命令。
步骤220:根据控制命令控制自动化控制平台的系统状态。
步骤230:当自动化控制平台的系统状态为运行状态时,获取至少一个第二自动化控制平台的IO信号。
步骤240:根据自动化控制平台的运动条件以及IO信号或外部设备发送的网络通知命令,按照预设定的规则生成调度指令。
步骤250:根据调度指令控制自动化控制平台的运动部件执行相应的动作。
综上所述,本发明提供的自动化控制平台及自动化平台控制方法,通过将自动化设备与外部设备的运行过程独立出来,按照各自的逻辑运行,按需检查其它外部设备发送的IO信号或外部设备发送的网络通知命令,根据外部设备发送的IO信号或外部设备发送的网络通知命令以及自动化设备自身的运行状态生成相应的调度指令,确定自动化设备是否满足运行条件,满足后则执行相应的调度指令,若不满足则检查下一个IO信号或外部设备发送的网络通知命令,实现动作逻辑最优化的自动调度。本发明通过各个自动化设备互相协调发送通知的方式,与自动化设备的运动控制部件逻辑结合起来,实现复杂系统的有机协调,高效、快捷地实现各种事务安排,提高运行效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种自动化控制平台,其特征在于,所述自动化控制平台与至少一个第二自动化控制平台通讯连接,其特征在于,所述自动化控制平台包括:
通讯模块、命令接收及缓存模块、状态控制模块、IO信号扫描模块、调度模块及动作逻辑模块;
所述通讯模块用于接收所述至少一个第二自动化控制平台的控制命令或网络通知命令,并将接收的所述控制命令或网络通知命令发送至所述命令接收及缓存模块;
所述命令接收及缓存模块用于缓存所述控制命令或网络通知命令,根据命令内容进行分类处理,确定执行顺序;
所述命令接收及缓存模块还用于当系统为启动状态时将网络通知命令传输给所述调度模块;
所述状态控制模块用于根据所述控制命令控制所述自动化控制平台的系统状态,控制所述IO信号扫描模块及所述调度模块的启停;
所述IO信号扫描模块用于获取至少一个第二自动化控制平台的IO信号,所述调度模块用于根据所述自动化控制平台的运动条件以及所述IO信号或网络通知命令,按照预设定的规则生成调度指令;
所述动作逻辑模块用于根据所述调度指令控制所述自动化控制平台的运动部件执行相应的动作。
2.根据权利要求1所述的自动化控制平台,其特征在于,当执行动作时,所述动作逻辑模块获取系统状态是否为启动状态,若系统状态为非启动状态,则待系统状态为启动状态后控制所述自动化控制平台的运动部件执行相应的动作。
3.根据权利要求2所述的自动化控制平台,其特征在于,当系统状态为启动状态时,所述动作逻辑模块还用于确定系统是否异常,若系统出现异常,则将异常代码发送至上位机以修复所述异常;
当所述系统状态未出现异常时,控制所述自动化控制平台的运动部件执行相应的动作。
4.根据权利要求1所述的自动化控制平台,其特征在于,所述自动化控制平台还包括硬件启停扫描模块,所述硬件启停扫描模块用于扫描获取控制硬件触发的控制命令。
5.根据权利要求4所述的自动化控制平台,其特征在于,所述状态控制模块用于根据所述硬件启停扫描模块获取的控制命令或所述通讯模块获取的控制命令控制所述自动化控制平台的系统状态,控制所述IO信号扫描模块及所述调度模块的启停。
6.根据权利要求1所述的自动化控制平台,其特征在于,所述命令接收及缓存模块用于确定所述控制命令或网络通知命令的类型;当所述控制命令或网络通知命令的类型为立即执行命令时,将所述命令的执行顺序确定为优先执行;当所述命令的类型为非立即执行命令时,将获取所述命令的先后顺序确定为所述命令的执行顺序。
7.根据权利要求1所述的自动化控制平台,其特征在于,所述IO信号扫描模块用于在获取至少一个第二自动化控制平台的IO信号之后,暂停获取IO信号,直至所述与所述第二自动化控制平台的IO信号对应的调度指令被执行完成后继续获取第二自动化控制平台的IO信号。
8.根据权利要求1所述的自动化控制平台,其特征在于,当所述自动化控制平台的系统状态为运行状态时,所述命令接收及缓存模块或硬件启停扫描模块、所述IO信号扫描模块及所述调度模块均保持运行。
9.根据权利要求1所述的自动化控制平台,其特征在于,当所述自动化控制平台的系统状态为暂停状态时,所述命令接收及缓存模块或硬件启停扫描模块、所述IO信号扫描模块保持运行,所述调度模块处于暂停状态。
10.一种自动化平台控制方法,其特征在于,所述自动化平台控制方法应用于自动化控制平台,所述自动化控制平台与至少一个第二自动化控制平台通讯连接,所述自动化平台控制方法包括:
获取控制命令或网络通知命令;
根据所述控制命令控制所述自动化控制平台的系统状态;
当所述自动化控制平台的系统状态为运行状态时,获取至少一个第二自动化控制平台的IO信号或网络通知命令;
根据所述自动化控制平台的运动条件以及所述IO信号或网络通知命令,按照预设定的规则生成调度指令;
根据所述调度指令控制所述自动化控制平台的运动部件执行相应的动作。
CN202010583729.1A 2020-06-23 2020-06-23 自动化控制平台及自动化平台控制方法 Pending CN111752638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010583729.1A CN111752638A (zh) 2020-06-23 2020-06-23 自动化控制平台及自动化平台控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010583729.1A CN111752638A (zh) 2020-06-23 2020-06-23 自动化控制平台及自动化平台控制方法

Publications (1)

Publication Number Publication Date
CN111752638A true CN111752638A (zh) 2020-10-09

Family

ID=72676672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010583729.1A Pending CN111752638A (zh) 2020-06-23 2020-06-23 自动化控制平台及自动化平台控制方法

Country Status (1)

Country Link
CN (1) CN111752638A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391846A (zh) * 2021-06-30 2021-09-14 广东安达智能装备股份有限公司 一种多平台控制方法及计算机设备及计算机可读存储介质
US20220395977A1 (en) * 2021-06-15 2022-12-15 X Development Llc Robot instruction distribution framework

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941649A (zh) * 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 多轴运动卡控制系统的控制方法
CN205959050U (zh) * 2016-08-15 2017-02-15 王赟 一体机控制装置
CN106815063A (zh) * 2017-01-11 2017-06-09 福建升腾资讯有限公司 一种多交互通道的自动化设备的控制平台
CN107704398A (zh) * 2017-11-01 2018-02-16 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN107942981A (zh) * 2017-12-01 2018-04-20 湖南师范大学 舞台用多点伺服驱动的协同控制方法
CN109756028A (zh) * 2018-11-23 2019-05-14 广东科瑞德电气科技有限公司 一种可组态配网自动化终端通讯方法及系统
CN110666797A (zh) * 2019-09-30 2020-01-10 东莞市李群自动化技术有限公司 一种机器人控制系统及方法
CN111026014A (zh) * 2019-12-03 2020-04-17 格创东智(深圳)科技有限公司 一种现场设备自动化控制系统和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941649A (zh) * 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 多轴运动卡控制系统的控制方法
CN205959050U (zh) * 2016-08-15 2017-02-15 王赟 一体机控制装置
CN106815063A (zh) * 2017-01-11 2017-06-09 福建升腾资讯有限公司 一种多交互通道的自动化设备的控制平台
CN107704398A (zh) * 2017-11-01 2018-02-16 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN107942981A (zh) * 2017-12-01 2018-04-20 湖南师范大学 舞台用多点伺服驱动的协同控制方法
CN109756028A (zh) * 2018-11-23 2019-05-14 广东科瑞德电气科技有限公司 一种可组态配网自动化终端通讯方法及系统
CN110666797A (zh) * 2019-09-30 2020-01-10 东莞市李群自动化技术有限公司 一种机器人控制系统及方法
CN111026014A (zh) * 2019-12-03 2020-04-17 格创东智(深圳)科技有限公司 一种现场设备自动化控制系统和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220395977A1 (en) * 2021-06-15 2022-12-15 X Development Llc Robot instruction distribution framework
CN113391846A (zh) * 2021-06-30 2021-09-14 广东安达智能装备股份有限公司 一种多平台控制方法及计算机设备及计算机可读存储介质
CN113391846B (zh) * 2021-06-30 2024-01-05 广东安达智能装备股份有限公司 一种多平台控制方法及计算机设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US8803667B2 (en) Systems and methods for notifying multiple hosts from an industrial controller
US6961926B2 (en) System and method for distributed debugging and recording medium on which control programs are recorded
CN108897282B (zh) 多任务模块化机器人及调度管理方法、装置及其存储介质
CN111752638A (zh) 自动化控制平台及自动化平台控制方法
CN114253569A (zh) 使用容器编排系统来更新操作技术设备
CN105511427B (zh) 多机器人的操控方法及操控系统
CN110262822B (zh) 多联机系统及其升级方法和装置
KR101248802B1 (ko) 지능형 로봇 시스템에서의 로봇 소프트웨어 컴포넌트 관리 장치 및 방법
CN114253224A (zh) 将容器编排系统与操作技术设备集成
CN113179227B (zh) 基于队列的at指令控制方法
CN110967970B (zh) 高可用性工业自动化控制器以及操作该控制器的方法
CN110611707A (zh) 一种任务调度的方法及装置
CN114296405A (zh) 使用容器编排系统和操作技术设备实现无服务器功能
CN115794313B (zh) 一种虚拟机调试方法、系统、电子设备及存储介质
CN108958174B (zh) 一种多类设备控制方法和系统
CN113799135B (zh) 机器人控制方法、系统、服务器、存储介质及机械臂
JP2024503168A (ja) パラレルロボットのマルチスレッドコントローラ
CN112905313A (zh) 任务处理方法、装置及电子设备
CN110666797B (zh) 一种机器人控制系统及方法
CN102200770A (zh) 一种基于pci的信息交互系统及方法、上位机
US9866501B2 (en) Virtual switch enabling communication between external objects and simulation objects
CN111368720A (zh) 一种自动搬运取货系统及方法
CN113250944B (zh) 一种基于主从控制系统的控制方法及水泵控制系统
CN113177750B (zh) 一种基于多线程的智能设备调度方法及系统
CN115344370A (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