一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

生产系统、控制方法和程序与流程

2021-09-15 00:36:00 来源:中国专利 TAG:公开 控制 程序 方法 生产


1.本公开涉及生产系统、控制方法和程序。


背景技术:

2.在wo 2015/068210 a1中,描述了被配置为检测多个工业机器中的每个工业机器的操作并将跟踪数据上传到云服务器的系统。在这个系统中,跟踪数据由分析员分析。将分析员获取的分析结果通知给工业机器的用户。工业机器的用户基于分析结果来例如执行对工业机器的参数的调整。


技术实现要素:

3.本公开的一个方面要实现的目的是快速而准确地执行例如,针对工业机器的控制命令。
4.根据本公开的一个方面,提供了一种生产系统,包括:工业机器,被配置为基于多个变量中的每个变量来控制另一工业机器;以及输入模块,被配置为向工业机器输入与该工业机器或另一工业机器中至少一者的操作有关的控制命令,其中,该工业机器包括重写模块,该重写模块被配置为基于控制命令重写多个变量中被定义为可重写变量的至少一个变量。
5.根据本公开的一个方面,提供了一种控制方法,包括:向工业机器输入与该工业机器或另一工业机器中至少一者的操作有关的控制命令,该工业机器被配置为基于多个变量中的每个变量来控制该另一工业机器;以及由该工业机器基于控制命令重写多个变量中被定义为可重写变量的至少一个变量。
6.根据本公开的一个方面,提供了一种程序,用于促使工业机器基于与该工业机器或另一工业机器中至少一者的操作有关的控制命令,重写多个变量中被定义为可重写变量的至少一个变量,该工业机器被配置为基于该多个变量中的每个变量来控制该另一工业机器。
7.根据本公开的一个方面,工业机器被配置为周期性地更新多个变量中的每个变量以控制另一工业机器,生产系统还包括确定模块,该确定模块被配置为基于工业机器或另一工业机器中至少一者的操作来确定是否满足控制命令的输入条件,并且输入模块被配置为在确定满足输入条件时,向工业机器输入控制命令。
8.根据本公开的一个方面,工业机器包括:第一控制电路,被配置为基于多个变量中的每个变量来控制另一工业机器;以及第二控制电路,被配置为接收控制命令,并且该第二控制电路包括重写模块。
9.根据本公开的一个方面,第一控制电路包括:第一存储装置,被配置为存储多个变量中的每个变量;第二控制电路包括:第二存储装置,被配置为存储多个变量中的每个变量,以使多个变量中的每个变量相对于第一存储装置定期进行匹配;和第三存储装置,被配置为存储对应于控制命令的至少一个变量,并且重写模块被配置为:将存储在第三存储装
置中的至少一个变量写入第二存储装置;将写在第二存储装置中的至少一个变量写入第一存储装置。
10.根据本公开的一个方面,重写模块被配置为:确定是否完成了将与控制命令相对应的至少一个变量写入第三存储装置;当确定完成了对第三存储装置的写入时,开始将写在第三存储装置中的至少一个变量写入第二存储装置。
11.根据本公开的一个方面,生产系统还包括发送模块,该发送模块被配置为当控制命令的输入完成时向工业机器发送预定完成通知,并且重写模块被配置为当预定完成通知被接收到时,确定完成了将与控制命令相对应的至少一个变量写入第三存储装置。
12.根据本公开的一个方面,生产系统还包括确定模块,该确定模块被配置为确定是否已经在第一存储装置和第二存储装置之间执行匹配,并且重写模块被配置为在确定已经在第一存储装置和第二存储装置之间执行匹配时,将写在第三存储装置中的变量写入第二存储装置。
13.根据本公开的一个方面,生产系统还包括分析模块,该分析模块被配置为分析工业机器或另一工业机器中至少一者的操作,并且输入模块被配置为基于分析模块的分析结果输入控制命令。
14.根据本公开的一个方面,分析模块被配置为基于多个应用程序中的每个应用程序执行分析,输入模块被配置为基于多个应用程序中的每个应用程序的执行结果,输入包括与多个应用程序中的每个应用程序相关联的至少一个变量的控制命令,并且重写模块被配置为基于多个应用程序中的每个应用程序的控制命令,重写与多个应用程序中的每个应用程序相关联的至少一个变量。
15.根据本公开的一个方面,生产系统还包括限制模块,该限制模块被配置为限制多个应用程序的控制命令的同时输入。
16.根据本公开的一个方面,生产系统还包括不同于工业机器的外部设备,该外部设备包括输入模块,并且重写模块被配置为基于从外部设备输入的控制命令来重写至少一个变量。
17.发明效果
18.根据上述发明,例如,可以快速而准确地执行针对工业机器的控制命令。
附图说明
19.图1是图示出根据本公开的实施例的生产系统的整体配置的示例的图。
20.图2是图示出用于重写变量的值的处理流程的图。
21.图3是图示出要在生产系统中实现的功能的功能框图。
22.图4是示出变量定义数据的数据存储示例的表格。
23.图5是示出变量值数据的数据存储示例的表格。
24.图6是图示出要在生产系统中执行的处理的示例的流程图。
25.图7是本公开的修改示例(2)中的功能框图。
具体实施方式
26.【1.生产系统的整体配置】
27.在用于收集与工业机器的操作有关的数据的技术中,分析结果在分析员执行分析后被反映在工业机器中,因此反映分析结果需要很多时间。此外,分析员执行的分析可能会导致错误,并且存在分析未被准确执行的情况。作为为快速且准确地执行针对工业机器的控制命令而进行的广泛研究和开发的结果,发明人已经构思出新颖且原始的生产系统等。现在给出根据本公开的实施例的生产系统等的详细描述。
28.图1是图示出生产系统的整体配置的示例的图。如图1所示,生产系统1包括分析设备10、控制器20、以及被控制设备30。在本实施例中,分析设备10和控制器20通过通用网络(例如,以太网(商标))彼此连接。控制器20和被控制设备30通过用于工业机器的网络彼此连接。用于将机器彼此连接的网络不限于本实施例的示例,并且可以通过任何网络彼此连接。
29.分析设备10是外部设备的示例。因此,在本实施例中使用的术语“分析设备10”可以被理解为“外部设备”。外部设备是与后面描述的工业机器不同的设备。外部设备通过网络与工业机器通信地连接。例如,外部设备被配置为收集与工业机器的操作有关的数据。此外,例如,外部设备被配置为分析工业机器的操作。在本实施例中,外部设备被配置为向工业机器发送与分析结果相对应的控制命令。
30.例如,分析设备10是个人计算机、服务器计算机、蜂窝电话(包括智能电话)、或移动终端(包括平板终端)。分析设备10可以是一种工业机器。分析设备10包括cpu 11、存储装置12、通信器13、操作接口14、和显示器15。
31.cpu 11包括至少一个处理器。存储装置12包括ram或硬盘驱动器,并且被配置为存储各种程序和数据。cpu 11被配置为基于这些程序和数据执行各种类型的处理。通信器13包括网卡和通信接口,例如,各种类型的通信连接器,并且被配置为与其他设备进行通信。操作接口14是诸如鼠标和键盘之类的输入设备。显示器15是液晶显示器、有机el显示器等,并且被配置为根据来自cpu 11的指令显示各种类型的屏幕。
32.控制器20是工业机器的示例。因此,在本实施例中使用的术语“控制器20”可以被理解为“工业机器”。工业机器是被配置为辅助或替代人类工作的机器及其外围机器的统称。例如,除了控制器20外,被控制设备30也对应于工业机器。例如,可编程逻辑控制器(plc)、机器人控制器、工业机器人、电机控制器、伺服放大器、逆变器、转换器、机床、输送设备、或半导体制造设备对应于工业机器。控制器20被配置为控制至少一个被控制设备30。生产系统1可以被称为“单元格(cell)”,其是比生产线小的单位。在这种情况下,控制器20可以被称为“单元格控制器”。
33.控制器20包括cpu 21、物联网(iot)单元22、第四存储装置23、和第二通信器24。cpu 21、第四存储装置23、和第二通信器24中每一者的物理配置可以分别与cpu 11、存储装置12、和通信器13的物理配置相同。在本实施例中,cpu 21包括第一存储装置21a。第一存储装置21a包括易失性存储器或非易失性存储器中的至少一者。例如,第一存储装置21a可以包括被称为“高速缓冲存储器”的存储器。第一存储装置21a存储后面描述的变量。
34.cpu 21是第一控制电路的示例。因此,在本实施例中使用的cpu 21可以被理解为“第一控制电路”。第一控制电路被配置为基于后面描述的多个变量中的每个变量来控制后面描述的另一工业机器。第一控制电路不限于通用处理器,并且可以是任何电路。例如,第一控制电路可以是被称为“fpga”或“asic”的电路。第一控制电路是一种电路系统。
35.iot单元22是第二控制电路的示例。因此,在本实施例中使用的iot单元22可以被理解为“第二控制电路”。第二控制电路是被配置为接收控制命令的电路。第二控制电路不限于用于iot的电路,并且可以是任何电路。例如,第二控制电路可以是被称为“fpga”或“asic”的电路。例如,第二控制电路可以是通用处理器。第二控制电路是一种电路系统。
36.iot单元22被配置为通过网络向另一计算机发送数据。例如,iot单元22包括第二存储装置22a、第三存储装置22b、和第一通信器22c。第二存储装置22a和第三存储装置22b均可以与存储装置12相同。第一通信器22c可以与通信器13相同。例如,第一通信器22c主要用于与分析设备10进行通信,第二通信器24主要用于控制被控制设备30。iot单元22可以包括另一配置,例如cpu。当cpu 21被提供以数据收集功能时,可以省去iot单元22。
37.被控制设备30是另一工业机器的示例。因此,在本实施例中使用的控制器20可以被理解为“另一工业机器”。术语“工业机器”具有如上所述的含义。另一工业机器可以是上述任何类型的工业机器。在本实施例中,另一工业机器由控制器20控制。只要另一工业机器是不同于控制器20的工业机器就足够了。
38.被控制设备30包括cpu 31、存储装置32、和通信器33。cpu 31、存储装置32、和通信器33中每一者的物理配置可以分别与cpu 11、存储装置12、和通信器13中每一者的物理配置相同。被控制设备30还可以包括其他物理组件。例如,被控制设备30可以包括被称为“fpga”或“asic”的电路。此外,例如,诸如电机等的将被控制的机器、用于检测电机的操作的传感器、用于拍摄待处理工件的状态的相机、输入/输出设备、或另一工业机器可以连接到被控制设备30。由控制器20控制的被控制设备30的数目可以是任意数目。例如,控制器20可以仅控制一个设备,或者可以控制两个或更多个设备。
39.可以通过网络提供被描述为存储在分析设备10、控制器20、和被控制设备30中每一者中的程序和数据。此外,每个设备的硬件配置不限于上述示例,并且可以应用各种类型的硬件。例如,可以包括被配置为读取计算机可读信息存储介质的读取器(例如,光盘驱动器或存储卡插槽)和被配置为直接连接到外部设备的输入/输出设备(例如,usb终端)。在这种情况下,可以通过读取器或输入/输出设备提供存储在信息存储介质中的程序和数据。
40.【2.生产系统的概述】
41.在本实施例中,控制器20被配置为基于多个变量中的每个变量来控制被控制设备30。控制程序参考变量来控制被控制设备30。控制程序也可以重写变量。例如,变量指示未完成计算的结果或由传感器检测到的物理量(例如,由转矩传感器检测到的转矩值或由电机编码器检测到的电机转速)。变量可以是与被控制设备30的操作有关的值,并且可以是例如,机器臂的位置或移动速度、电机的速度、或等待操作的等待时间的值。
42.例如,当被控制设备30以预定顺序执行多个处理时,在控制程序中描述这些处理的执行顺序。控制器20基于控制程序向被控制设备30发送指令。变量可以被用作处理的执行条件。例如,被控制设备30存储用于启动处理的变量、用于暂停处理的变量、或用于结束处理的变量。变量可以被称为“输入/输出变量”。
[0043]“处理”是由被控制设备30执行的任务或操作。处理可以仅包括一个任务,或者可以包括多个任务的组合。根据被控制设备30的用途,处理可以具有任何内容。例如,处理是辨认工件、夹持工件、打开/关闭门、设置工件、或使用机床进行加工。被控制设备30执行至少一个处理。由被控制设备30执行的处理的数目可以是任意数目。被控制设备30可以仅执
行一个处理,或者可以执行多个处理。被控制设备30基于从控制器20接收的指令和存储在被控制设备30自身中的设备程序来执行处理。
[0044]
设备程序是定义被控制设备30的操作的程序。在设备程序中,定义了每个处理的每个进程。设备程序可以根据被控制设备30以任何语言来创建,并且以例如,梯形图语言或机器人语言来创建。在本实施例中,为每个处理准备设备程序。因此,当某个被控制设备30要执行“n”个处理(“n”是自然数)时,被控制设备30存储至少“n”个设备程序。
[0045]
在本实施例中,给出了对如下情况的描述:在该情况下,分析设备10的用户、控制器20的用户、和被控制设备30的用户彼此不同。例如,当控制器20的用户定义变量并创建控制程序时,分析设备10的用户可能并不熟悉该变量和控制程序的内容。因此,优选的是一些变量不被从分析设备10发送的控制命令重写。
[0046]
鉴于此,在根据本实施例的生产系统1中,在多个变量中,定义了可以由从分析设备10发送的控制命令重写的变量。这种定义在下文中被称为“变量定义”。在变量定义中定义的变量也可以认为是向分析设备10的用户公开的变量。例如,分析设备10的用户可以收集在变量定义中定义的变量。分析设备10的用户可以收集在变量定义中定义的所有变量,或者可以仅收集其中的一部分。基于变量定义,可以由从分析设备10发送的控制命令重写的变量不同于不能由从分析设备10发送的控制命令重写的变量。例如,变量定义是由控制器20的用户创建的。
[0047]
图2是图示出用于重写变量的值的处理流程的图。如图2所示,分析设备10被配置为向控制器20发送控制命令。控制命令是从分析设备10发送到控制器20的命令,并且可以包括任何内容。例如,控制命令是用于重写在变量定义中定义的至少一个变量的命令。控制命令可以是具有固定周期的命令,或者可以是不明确具有固定周期的命令。作为分析设备10的反馈的命令是控制命令的示例。控制命令不限于用作反馈的命令。控制命令具有预先定义的数据格式,其数据长度可以是固定的也可以是可变的。控制命令包括要重写的变量的名称及其值。例如,分析设备10分析从控制器20收集的变量的值,并发送与其分析结果相对应的控制命令。控制命令被发送到iot单元22的第一通信器22c。
[0048]
当第一通信器22c开始接收控制命令时,第一通信器22c将接收到的变量的名称及其值写入第三存储装置22b。变量的名称可以不被写入第三存储装置22b,并且其值可以被写入与变量的名称相对应的寄存器。当变量的值被写入后面描述的第一存储装置21a和第二存储装置22a时,这一点是相同的。当分析设备10完成控制命令的发送时,分析设备10向控制器20发送预定完成通知。第一通信器22c继续接收控制命令,直到接收到完成通知为止,因此接收到的变量的名称及其值被写入第三存储装置22b。
[0049]
当第一通信器22c接收到完成通知时,控制命令中包括的所有变量到第三存储装置22b的写入完成。当变量到第三存储装置22b的写入完成时,iot单元22将写在第三存储装置22b中的变量写入第二存储装置22a。第三存储装置22b用作暂时保存包括在控制命令中的变量的值的缓冲器。
[0050]
在本实施例中,存储在第一存储装置21a中的变量和存储在第二存储装置22a中的变量被周期性地(定期地)相互匹配。这些变量还包括控制命令中包括的变量以外的其他变量。例如,第一存储装置21a还存储变量定义中未定义的变量(未向分析设备10的用户公开的变量)。该变量也可以被认为是用于控制被控制设备30的变量。
[0051]
在第一存储装置21a和第二存储装置22a之间的变量的匹配完成(即,当这些变量被彼此匹配时)之前,当写入第三存储装置22b的变量被写入第二存储装置22a时,要包括在控制命令中的变量的值可能没有被准确反映。
[0052]
例如,在一个循环周期内,多个变量被以预定顺序进行匹配。假设在一个循环周期内已经进行匹配的变量在该循环周期内的匹配完成之前被从第三存储装置22b写入第二存储装置22a。该变量在该循环周期内将不再进行匹配,因此即使在某个值被写入第二存储装置22a时,该值也将在下一循环周期中被反映在第一存储装置21a中。同时,在当前循环周期中,还没有进行匹配的变量被反映在第一存储装置21a中。在这种情况下,要同时反映的多个变量在相互不同的循环周期中被反映,因此不能执行准确的反映。
[0053]
在这方面,第一存储装置21a和第二存储装置22a之间的变量的匹配极有可能紧接在一个循环周期结束之前完成。因此,在本实施例中,紧接在一个循环周期结束之前,变量被从第三存储装置22b写入第二存储装置22a。写入第二存储装置22a的变量在下一循环周期中被写入第一存储装置21a。因此,可以同时反映控制命令中包括的变量。cpu 21基于写在第一存储装置21a中的变量来控制被控制设备30。
[0054]
如上所述,生产系统1根据从分析设备10发送到控制器20的控制命令重写在变量定义中定义的至少一个变量,从而快速而准确地执行针对控制器20的控制命令。下面详细描述此配置。
[0055]
【3.要在生产系统中实现的功能】
[0056]
图3是图示出要在生产系统1中实现的功能的功能框图。在本实施例中,描述了要在分析设备10、控制器20、和被控制设备30中每一者中实现的功能。
[0057]
【3

1.由分析设备实现的功能】
[0058]
如图3所示,分析设备10包括数据存储装置100、分析模块101、确定模块102、输入模块103、和发送模块104。
[0059]
【数据存储装置】
[0060]
数据存储装置100主要由存储装置12实现。数据存储装置100被配置为存储发送控制命令所需要的数据。例如,数据存储装置100存储收集的数据,收集的数据存储从控制器20收集的变量。收集的数据是存储在变量定义中定义的变量的值的数据。收集的数据可以存储变量在某个时间点的值,或者可以存储变量的值的按时间顺序的变化。另外,收集的数据可以仅存储一个变量的值,或者可以存储多个变量的值。在另一示例中,收集的数据可以存储基于多个变量的值计算得出的值。
[0061]
此外,例如,数据存储装置100存储用于分析控制器20或被控制设备30的操作的应用程序。例如,此应用程序使用收集的数据作为输入,并输出分析结果。应用程序中定义了收集的数据和分析结果之间的关系。分析结果包括控制命令的内容。例如,分析结果包括具有要由控制命令改变的值的变量的名称和该值。该应用程序还可以被表示为用于确定具有要改变的值的变量的类型和该值的程序。
[0062]
存储在数据存储装置100中的数据不限于上述示例。例如,数据存储装置100可以存储指示在变量定义中定义的变量中要为收集的数据收集的变量的数据。要收集的变量由分析设备10的用户指定。分析设备10从控制器20收集要收集的变量,并将这些变量作为收集的数据记录在数据存储装置100中。
[0063]
【分析模块】
[0064]
分析模块101主要由cpu 11实现。分析模块101被配置为分析控制器20或被控制设备30中至少一者的操作。分析模块101可以分析控制器20和被控制设备30两者的操作,或者可以分析控制器20和被控制设备30中任何一者的操作。
[0065]
对操作的分析是指“分析收集的数据”。分析模块101通过确定收集的数据是否满足预定条件来执行分析。预定条件是可以基于收集的数据来确定的条件,并且是例如,收集的数据指示的值是否等于或大于阈值,或者基于收集的数据计算的值是否等于或大于阈值。例如,确定操作中是否发生异常对应于分析。此外,例如,确定是否需要改变变量、参数、或固件的值(尽管在操作中没有发生异常)对应于分析。
[0066]
在本实施例中,由应用程序执行分析,因此分析模块101将存在于收集的数据中的变量输入到应用程序,并使用该应用程序来分析操作。例如,分析模块101使用应用程序来获取控制命令的内容。控制命令的内容包括要由控制命令重写的变量的名称及其值。控制命令的内容可以包括其它内容,例如,由控制器20或被控制设备30执行的命令、要改变的参数及其值、或要改变的固件。
[0067]
【确定模块】
[0068]
确定模块102主要由cpu 11实现。确定模块102被配置为基于控制器20或被控制设备30中的至少一者的操作来确定是否满足控制命令的输入条件。确定模块102可以基于控制器20和被控制设备30两者的操作来确定是否满足输入条件,或者可以基于控制器20和被控制设备30中任何一者的操作来确定是否满足输入条件。
[0069]
输入条件是确定是否输入控制命令的条件。在本实施例中,描述了如下情况:在该情况下,输入条件是可以基于收集的数据确定的条件,但是输入条件可以是任何条件。例如,输入条件可以是与收集的数据无关的条件,并且可以是例如,直接连接到分析设备10的传感器的信号、由相机(视觉传感器)获取的图像中呈现的对象(例如,工件)的状态、或当前日期/时间的条件。
[0070]
例如,确定模块102基于收集的数据确定是否满足输入条件。确定模块102确定收集的数据中包括的变量的值是否在预定范围内。等于或大于阈值的变量的值或小于阈值的变量的值对应于在预定范围内的值。例如,确定模块102确定收集的数据中包括的变量的值在预定范围内的次数是否等于或大于预定次数。此外,例如,确定模块102可以确定基于收集的数据计算的值是否等于或大于阈值,或者该值等于或大于阈值的次数是否等于或大于预定次数。
[0071]
【输入模块】
[0072]
输入模块103主要由cpu 11实现。输入模块103被配置为向控制器20输入与控制器20或被控制设备30中的至少一者的操作有关的控制命令。控制命令可以是与控制器20和被控制设备30两者的操作有关的命令,或者可以是与控制器20和被控制设备30中任何一者的操作有关的命令。本文使用的输入与传输具有相同的含义。
[0073]
在本实施例中,控制器20或被控制设备30中的至少一者的操作可以通过收集的数据来标识,收集的数据是从控制器20收集的,因此输入模块103输入与收集的数据相对应的控制命令。当可以通过收集的数据以外的数据来标识操作时,输入模块103输入与其他数据相对应的控制命令。其他数据可以是任何数据。例如,其他数据可以是由诸如转矩传感器或
电机编码器之类的传感器检测到的物理量数据(瞬时值数据),或者以时间序列存储这些物理量的跟踪数据。
[0074]
输入模块103向控制器20发送具有基于收集的数据确定的内容的控制命令。在本实施例中,控制命令的内容由用于分析的应用程序确定,因此输入模块103向控制器20发送指示由分析模块101输出的内容的控制命令。例如,要由控制命令重写的变量的类型及其值是基于收集的数据的内容来确定的。例如,可以由输入模块103或分析模块101确定该类型和值。
[0075]
在本实施例中,当确定满足输入条件时,输入模块103向控制器20输入控制命令。当确定不满足输入条件时,不输入控制命令。换句话说,输入模块103响应于满足输入条件的确定,将控制命令输入到控制器20。输入模块103等待输入控制命令,直到满足输入条件为止。
[0076]
在本实施例中,输入模块103基于分析模块101的分析结果输入控制命令。例如,输入模块103基于分析模块101的分析结果,确定是否发送控制命令。当分析结果是预定结果时,输入模块103发送控制命令。在这种情况下,控制命令的内容可以基于收集的数据来确定,或者可以是固定值而不考虑收集的数据。此外,例如,输入模块103输入具有与分析模块101的分析结果相对应的内容的控制命令。在这种情况下,控制命令中包括的变量的名称及其值由分析结果来确定。
[0077]
【发送模块】
[0078]
发送模块104主要由cpu 11实现。发送模块104被配置为在控制命令的输入完成时,向控制器20发送预定完成通知。当控制命令的输入未完成时,不发送完成通知。发送模块104响应于控制命令的输入的完成,向控制器20发送完成通知。
[0079]
控制命令的输入的完成发生在分析设备10完成发送控制命令的时间点、控制器20完成接收控制命令的时间点、控制命令中包括的变量的值被写入第三存储装置22b的时间点、或者这些时间点之后的某一时间点。
[0080]
完成通知是指示控制命令的输入完成的通知。只要完成通知是具有预定格式的数据并且完成通知包括表明该数据是完成通知的标识信息就足够了。例如,发送模块104确定是否已经执行了直到控制命令的最后一个数据部分为止的输入。当发送模块104确定已经执行了直到最后一个数据部分为止的输入时,发送模块104发送完成通知。发送模块104等待直到最后一个数据部分的输入已完成才发送完成通知。
[0081]
【3

2.由控制器实现的功能】
[0082]
如图3所示,在控制器20中,实现了第一数据存储装置200、第二数据存储装置201、第三数据存储装置202、第四数据存储装置203、重写模块204、确定模块205、和操作控制模块206。
[0083]
【第一数据存储装置】
[0084]
第一数据存储装置200主要由cpu 21的第一存储装置21a实现。第一数据存储装置200被配置为存储控制被控制设备30所需要的数据。例如,第一数据存储装置200存储指示变量定义的变量定义数据d1和指示多个变量中的每个变量的变量值数据d2。
[0085]
图4是示出变量定义数据的数据存储示例的表格。如图4所示,变量定义数据d1包括用于标识可重写变量的信息。例如,变量定义数据d1存储可重写变量的名称和该变量的
注释。该变量的名称是用于标识该变量的信息的示例,并且不仅可以通过名称而且可以通过id或其他信息来标识该变量。
[0086]
注释是由控制器20的用户输入的任何字符串,并且给出了包括由变量表明的内容和用法的信息。变量定义数据d1不限于图4的示例,并且可以被配置为存储所有变量的列表和指示是否可以重写每个变量的标志。在这种情况下,由控制器20的用户指定该标志的值。
[0087]
图5是示出变量值数据的数据存储示例的表格。如图5所示,变量值数据d2是表明每个变量的当前值的数据。例如,变量值数据d2给出了每个变量的当前值。每个变量被存储在特定寄存器中。假设每个变量和每个寄存器之间的关系(哪个变量被存储在哪个寄存器中)由例如,控制程序的创建者预先指定。存储在寄存器中的变量可以由另一设备(例如,控制器20)适当地参考。
[0088]
【第二数据存储装置】
[0089]
第二数据存储装置201主要由第二存储装置22a实现。第二数据存储装置201被配置为存储多个变量中的每个变量。第二数据存储装置201存储与变量值数据d2相同的数据。第二数据存储装置201被定期相对于第一数据存储装置200进行匹配。
[0090]
匹配是使存储在第一数据存储装置200中的值和存储在第二数据存储装置201中的值中的任意一个值与另一值一致(将一个值复制到另一值)。例如,对于具有给定变量名称的变量,将存储在第一数据存储装置200中的值改变为存储在第二数据存储装置201中的值对应于匹配。就要重写的变量而言,存储在第一数据存储装置200中的值被改变为存储在第二数据存储装置201中的值。
[0091]
此外,例如,对于具有给定变量名称的变量,将存储在第二数据存储装置201中的值改变为存储在第一数据存储装置200中的值对应于匹配。当由分析设备10收集的变量被记录在第二数据存储装置201中时,存储在第二数据存储装置201中的值被改变为存储在第一数据存储装置200中的值。因此,存储在第一数据存储装置200中的变量经由第二数据存储装置201被发送到分析设备10。
[0092]
术语“定期地”具有与“周期性地”相同的含义。对于每个循环周期,存储在第一数据存储装置200中的变量和存储在第二数据存储装置201中的变量彼此匹配。匹配可以主要由cpu 21执行,或者可以主要由iot单元22执行。cpu 21或iot单元22针对每个循环周期将存储在第一数据存储装置200中的变量和存储在第二数据存储装置201中的变量彼此匹配。
[0093]
例如,在变量定义中定义的变量可以是重写的目标,因此存储在第二数据存储装置201中的变量被复制到第一数据存储装置200。因此,第一数据存储装置200的变量值数据d2被第二数据存储装置201的最新变量值数据d2替换(覆写)。仅可复制存储在第二数据存储装置201中的变量值数据d2的一部分内容。例如,仅可复制要重写的变量的值。
[0094]
【第三数据存储装置】
[0095]
第三数据存储装置202主要由第三存储装置22b实现。第三数据存储装置202被配置为存储与控制命令相对应的至少一个变量。第三数据存储装置202存储包括在控制命令中的变量的值。当控制命令仅包括一个变量的值时,第三数据存储装置202仅存储该一个变量的值。当控制命令包括多个变量的值时,第三数据存储装置202仅存储该多个变量的值。
[0096]
在本实施例中,控制器20经由第一通信器22c接收控制命令,因此第三数据存储装置202存储包括在经由第一通信器22c接收的控制命令中的变量。存储在第三数据存储装置
202中的变量被写入第二数据存储装置201,因此第三数据存储装置202临时存储包括在控制命令中的变量。存储在第三数据存储装置202中的变量可以在该变量被写入第二数据存储装置201时被删除,或者可以被保持到下一控制命令被输入为止。
[0097]
【第四数据存储装置】
[0098]
第四数据存储装置203主要由第四存储装置23实现。第四数据存储装置203被配置为存储控制被控制设备30所需要的数据。例如,第四数据存储装置203存储控制程序和参数。此外,例如,第四数据存储装置203可以存储固件或另一程序,或者可以存储用于将收集的数据发送到分析设备10的程序。
[0099]
存储在控制器20中的数据不限于上述示例。例如,控制器20可以存储用于定义对应于每个变量的寄存器的寄存器定义数据。此外,例如,控制器20可以存储使得能够对由控制器20自身控制的被控制设备30进行识别的信息。此外,例如,控制器20可以存储使得能够对分析设备10进行识别的信息。这些数据可以被存储在第一数据存储装置200、第二数据存储装置201、第三数据存储装置202、和第四数据存储装置203中任何一者中。
[0100]
【重写模块】
[0101]
重写模块204主要由iot单元22实现。即,iot单元22包括重写模块204。重写模块204被配置为基于控制命令重写多个变量中被定义为可重写变量的至少一个变量。在本实施例中,控制命令由作为外部设备的分析设备10输入,因此重写模块204基于从分析设备10输入的控制命令重写至少一个变量。
[0102]
重写模块204将具有包括在控制命令中的名称的变量的值重写为包括在控制命令中的值。变量定义中未定义的变量不会被重写。“重写”与覆写、更新、或转移具有相同的含义。将存储在存储器中的值改变为包括在控制命令中的值对应于重写。
[0103]
当控制命令包括变量定义中未定义的变量(不可重写的变量)时,重写模块204可以限制对该变量的值的重写。在这种情况下,重写模块204参考变量定义数据d1来确定包括在控制命令中的变量是否是可重写变量。当重写模块204确定包括在控制命令中的变量是可重写变量时,重写模块204重写该变量的值。当重写模块204确定包括在控制命令中的变量不是可重写变量时,重写模块204不重写该变量的值。
[0104]
在本实施例中,重写模块204将存储在第三数据存储装置202中的至少一个变量写入第二数据存储装置201,并将写入第二数据存储装置201中的至少一个变量写入第一数据存储装置200。重写模块204经由第二数据存储装置201(通过第二数据存储装置201的中介)将存储在第三数据存储装置202中的至少一个变量写入第一数据存储装置200。
[0105]
例如,重写模块204确定是否完成了根据控制命令向第三数据存储装置202写入至少一个变量。重写模块204确定与控制命令相对应的至少一个变量是否全部被写入第三数据存储装置202。例如,当重写模块204接收到完成通知时,重写模块204确定完成了将与控制命令相对应的至少一个变量写入第三数据存储器202。
[0106]
当重写模块204确定对第三数据存储装置202的写入完成时,重写模块204开始将写在第三数据存储装置202中的至少一个变量写入第二数据存储装置201。当重写模块204未确定对第三数据存储装置202的写入完成时,重写模块204不开始写入。重写模块204响应于对第三数据存储装置202的写入完成的确定而开始写入。即,重写模块204等待直到重写模块204确定对第三数据存储装置202的写入完成才执行写入。
[0107]
当确定已经执行了第一数据存储装置200和第二数据存储装置201之间的匹配时,重写模块204将写入第三数据存储装置202中的变量写入第二数据存储装置201。当未确定已执行匹配时,重写模块204不开始写入。重写模块204响应于已执行匹配的确定而开始写入。即,重写模块204等待直到确定已执行了匹配才执行写入。
[0108]
【确定模块】
[0109]
确定模块205主要由iot单元22实现。确定模块205被配置为确定是否已经在第一数据存储装置200和第二数据存储装置201之间执行了匹配。在本实施例中,周期性地在第一数据存储装置200和第二数据存储装置201之间执行匹配,并且紧接在一个循环周期结束之前完成匹配。因此,确定模块205确定是否已经到达紧接在一个循环周期结束之前的时间点。只要该时间点是在一个循环周期的结束时间点之前预定时间的时间点(在一个循环周期的开始时间点之后预定时段的时间点)就足够了。
[0110]
例如,假设一个循环周期是t微秒(其中,t是正数),确定模块205可以确定是否已经到达在一个循环周期的结束时间点之前t/10微秒的时间点。只要将从该时间点到一个循环周期的结束时间点的时间段设置为具有如下长度就足够了,该长度足以使能充分完成将存储在第三数据存储装置202中的变量的值写入第二数据存储装置201的处理。当已经到达该时间点时,确定模块205确定已经在第一数据存储装置200和第二数据存储装置201之间执行了匹配。
[0111]
由确定模块205执行的确定方法不限于上述示例。例如,当按顺序执行多个变量的匹配时,确定模块205可以确定是否已经完成到最后一个变量为止的匹配。此外,例如,当在变量匹配完成时从cpu 21向iot单元22发送预定通知时,确定模块205可以确定该通知是否已被接收到。
[0112]
【操作控制模块】
[0113]
操作控制模块206主要由cpu 21实现。操作控制模块206被配置为周期性地更新多个变量中的每个变量来控制被控制设备30。操作控制模块206基于控制程序来控制被控制设备30的操作。例如,操作控制模块206向被控制设备30发送指令,并且被控制设备30基于该指令进行操作。在本实施例中,被控制设备30基于与设备程序相关联的变量的值进行操作,因此,例如,操作控制模块206向被控制设备30发送指令,该指令用于改变变量的值以启动设备程序。被控制设备30通过基于该指令改变变量的值来执行设备程序。当变量未明确地被用于控制被控制设备30的操作时,操作控制模块206可以通过发送指示将由被控制设备30执行的操作的命令来控制被控制设备30的操作。
[0114]
【3

3.由被控制设备实现的功能】
[0115]
如图3所示,在被控制设备30中,实现数据存储装置300和处理执行模块301。
[0116]
【数据存储装置】
[0117]
数据存储装置300主要由存储装置32实现。数据存储装置300被配置为存储被控制设备30执行预定操作所需要的数据。例如,数据存储装置300存储设备程序和变量的当前值。变量的当前值与存储在变量值数据d2中的值相同。数据存储装置300还存储除变量定义中定义的变量以外的变量的值。每个变量的值被存储在预先确定的寄存器中。
[0118]
【处理执行模块】
[0119]
处理执行模块301主要由cpu 31实现。处理执行模块301被配置为基于存储在数据
存储装置300中的设备程序和从控制器20接收的指令来执行预定处理。例如,当控制器20要启动某个设备程序时,控制器20向被控制设备30发送将与该设备程序相关联的变量设置为预定值的指令。当被控制设备30接收到该指令时,被控制设备30将该变量改变为预定值。当处理执行模块301检测到变量已经被改变为预定值时,处理执行模块301执行与该变量相关联的设备程序。
[0120]
当由设备程序指示的处理结束时,处理执行模块301将与设备程序相关联的变量改变为预定值,并将该事实发送给控制器20。然后,当执行另一设备程序时,控制器20向被控制设备30发送将与另一设备程序相关联的变量设置为预定值的指令,并且处理执行模块301执行另一设备程序。当在被控制设备30中定义了多个设备程序的执行顺序时,不需要将设备程序的结束发送给控制器20,并且处理执行模块301可以依次执行多个设备程序。
[0121]
【4.要在生产系统中执行的处理】
[0122]
图6是图示出要在生产系统1中执行的处理的示例的流程图。图6示出的处理是将由图3所示的功能块执行的处理的示例。在图6中,主要描述与控制命令有关的处理,并且省略了将由控制器20执行以控制被控制设备30的处理。
[0123]
如图6所示,控制器20向分析设备10发送收集的数据(步骤s1)。在步骤s1中,控制器20基于存储在第一存储装置21a中的变量定义数据d1来识别要收集的变量。控制器20参考存储在第一存储装置21a中的变量值数据d2来生成指示要收集的变量的值的收集的数据。控制器20将生成的收集的数据发送到分析设备10。
[0124]
分析设备10从控制器20接收收集的数据(步骤s2)。在步骤s2中,分析设备10将接收到的收集的数据记录在存储装置12中。应用程序参考收集的数据进行分析。用于分析的应用程序可以由分析设备10的用户的操作激活,或者可以始终保持激活状态。该应用程序可以在任何时候参考收集的数据。
[0125]
分析设备10基于用于分析的应用程序来分析控制器20或被控制设备30的操作(步骤s3)。在步骤s3中,分析设备10将收集的数据输入到应用程序,以执行该应用程序。应用程序输出分析结果。
[0126]
分析设备10基于在步骤s3中获得的分析结果来确定是否满足控制命令的输入条件(步骤s4)。在步骤s4中,分析设备10确定是否已获取到指示变量的值等于或大于阈值的分析结果。
[0127]
当确定不满足输入条件时(步骤s4中为否),处理返回到步骤s3。在这种情况下,不满足输入条件,因此不发送控制命令。同时,当确定满足输入条件时(步骤s4中为是),分析设备10基于分析结果来确定控制命令的内容(步骤s5)。在步骤s5中,分析设备10获取由应用程序确定的变量的类型及其值,并确定该类型和值作为控制命令的内容。
[0128]
分析设备10向控制器20发送控制命令(步骤s6)。在步骤s6中,分析设备10生成并发送包括在步骤s5中确定的变量的名称及其值的控制命令。分析设备10确定控制命令的发送是否完成(步骤s7)。在步骤s7中,分析设备10确定是否已完成直到控制命令中的最后一个数据部分(最后一个分组)的发送。
[0129]
当确定控制命令的发送未完成时(步骤s7中为否),处理返回到步骤s6以继续发送控制命令。同时,当确定控制命令的发送完成时(步骤s7中为是),分析设备10向控制器20发送预定完成通知(步骤s8)。
[0130]
控制器20经由第一通信器22c接收控制命令,并且在第三存储装置22b中记录包括在控制命令中的变量的名称及其值(步骤s9)。在步骤s9中,每当控制器20接收到控制命令的分组时,控制器20就在第三存储装置22b中记录包括在该分组中的变量的名称及其值。
[0131]
控制器20确定是否已接收到完成通知(步骤s10)。当确定未接收到完成通知时(步骤s10中为否),处理返回到步骤s9以继续接收控制命令。同时,当确定已接收到完成通知时(步骤s10中为是),控制器20确定用于执行第一存储装置21a和第二存储装置22a之间的变量匹配的循环周期的结束时间点是否正在接近(步骤s11)。例如,控制器20基于定时器值来管理时间,并且参考定时器值来确定是否已到达在一个循环周期内的结束时间点之前的预定时间的时间点。
[0132]
当未确定循环周期的结束时间点正在接近时(步骤s11中为否),再次执行步骤s11的处理。在这种情况下,即使在接收到完成通知时,也不将包括在控制命令中的变量写入第二存储装置22a。同时,当确定循环周期的结束时间点正在接近时(步骤s11中为是),控制器20将写入第三存储装置22b的变量写入第二存储装置22a(步骤s12)。控制器20等待直到在步骤s11中执行的确定变为肯定才执行步骤s12的处理。
[0133]
当下一个循环周期到达时,控制器20将写在第二存储装置22a中的变量写入第一存储装置21a(步骤s13),并且该处理结束。控制器20基于在步骤s13中写入的变量来控制被控制设备30。
[0134]
针对上述生产系统1,基于与控制器20或被控制设备30中至少一者的操作有关的控制命令,重写被定义为可重写变量的至少一个变量。因此,可以在变量的值中快速反映控制命令的内容,并且可以快速执行针对控制器20的控制命令。另外,可重写变量由控制命令预先定义,从而能够防止变量的非预期重写,并且能够准确执行针对控制器20的控制命令。快速而准确地执行控制命令可以提高被控制设备30的操作的准确性。
[0135]
在生产系统1中,当满足输入条件时输入控制命令,即,控制命令不是定期输入的(不总是输入控制命令)。因此,可以减少控制器20上的处理负载。
[0136]
在生产系统1中,cpu 21是用于控制被控制设备30的第一控制电路,iot单元22是用于与外部通信的第二控制电路,它们在物理上彼此分离,因此,可以分配处理负载并防止在控制被控制设备30和执行控制命令时出现问题。结果,可以提高控制精度,并且更快速、准确地执行针对控制器20的控制命令。
[0137]
在生产系统1中,存储在第三存储装置22b中的至少一个变量被写入第二存储装置22a,并且写入第二存储装置22a的至少一个变量被写入第一存储装置21a,从而能够准确地反映与控制器20中的控制命令相对应的至少一个变量。
[0138]
当确定完成了将包括在控制命令中的至少一个变量写入第三存储装置22b时,生产系统1开始将写在第三存储装置22b中的至少一个变量写入第二存储装置22a,从而能够防止在控制命令中包括的至少一个变量的写入完成之前开始对第二存储装置22a的写入,并且能够更准确地执行控制命令。
[0139]
在生产系统1中,当控制器20接收到完成通知时,确定完成了将与控制命令相对应的至少一个变量写入第三存储装置22b,从而能够准确地确定写入的完成并更准确地执行控制命令。另外,控制器20可以通过接收完成通知来识别写入的完成,因此不需要不断地确定写入是否完成,从而能够减少控制器20上的处理负载。
[0140]
生产系统1,在确定已经在第一存储装置21a和第二存储装置22a之间执行了匹配时,将写在第三存储装置22b中的变量写入第二存储装置22a,从而能够更准确地执行控制命令。
[0141]
生产系统1可以通过基于操作的分析结果输入控制命令,快速而准确地执行与分析结果相对应的控制命令。
[0142]
生产系统1可以快速而准确地执行从作为外部设备的分析设备10发送的控制命令。当在分析设备10和控制器20之间划分角色时,控制器20不再需要确定例如,是否需要发送控制命令,从而能够减少控制器20上的处理负载。
[0143]
【5.修改示例】
[0144]
本发明不限于上述实施例,并且可以在不脱离本发明的精神的情况下适当地修改。
[0145]
(1)例如,当分析设备10存储多个应用程序并且分析模块101基于多个应用程序中的每个应用程序执行分析时,为这些应用程序定义要重写的变量。在应用程序中,从相互不同的角度进行分析。应用程序参考的变量的类型可能彼此不同。例如,在用于分析转矩的应用程序中,参考指示转矩的变量。同时,例如,在用于分析电机的速度的应用程序中,参考指示转速和旋转角度的变量。这同样适用于其他应用程序,并参考了分析所需要的变量。
[0146]
变量与每个应用程序相关联。与每个应用程序相关联的变量是要由控制命令重写的变量。假设应用程序和变量之间的关联被存储在数据存储装置100中。此关联可以具有任何数据格式。例如,该关联可以由具有数学表达式格式或表格格式的数据定义,或者可以被定义为用于分析的应用程序或另一程序的代码。
[0147]
输入模块103基于应用程序的执行结果,输入包括与每个应用程序相关联的至少一个变量的控制命令。在本公开的修改示例(1)中,为每个应用程序定义输入条件,并且输入模块103识别与满足输入条件的应用程序相关联的变量。输入模块103生成包括所识别的变量的名称及其值的控制命令,并将该控制命令输入到控制器20。当满足多个应用程序的输入条件时,输入模块103可以分别输入对应于多个应用程序的控制命令。在这种情况下,如在稍后描述的本公开的修改示例(2)中,可以限制多个控制命令的同时输入,或者可以同时输入多个控制命令,而不明确对多个控制命令施加限制。
[0148]
重写模块204基于应用程序的控制命令,重写与每个应用程序相关联的至少一个变量。重写变量本身的处理如本实施例所述。只要重写模块204重写具有包括在所接收的控制命令中的名称的变量的值就足够了。
[0149]
根据修改示例(1),重写对应于应用程序的变量,从而能够更快速和准确地执行对应于该应用程序的控制命令。结果,可以更有效地提高被控制设备30的操作的准确度。
[0150]
(2)此外,例如,在修改示例(1)中,当多个应用程序试图同时发送控制命令时,可能存在没有被准确反映的变量。例如,可能存在这样的情况,一个应用程序x的控制命令包括变量a的值,而另一个应用程序y的控制命令包括同一变量a的值。在这种情况下,当这些控制命令被同时发送到控制器20时,控制器20不能识别哪个值将被重写。另外,当执行对应用程序x和y中的任何一个应用程序的值的重写时,可能无法准确地执行基于另一者的重写。因此,可以防止同时输入多个应用程序的控制命令。
[0151]
图7是修改示例(2)中的功能框图。如图7所示,在修改示例(2)中,限制模块105由
分析设备10实现。限制模块105主要由cpu 11实现。限制模块105被配置为限制多个应用程序的控制命令的同时输入。
[0152]
限制是禁止多个应用程序的控制命令同时输入到控制器20。例如,当存在满足输入条件的多个应用程序时,限制模块105促使输入模块103逐个输入控制命令。控制命令的顺序可以随机确定,或者可以基于预先分配给应用程序的优先级来确定。
[0153]
限制模块105确定输入控制命令的顺序,并促使输入模块103以所确定的顺序输入控制命令。例如,当给定应用程序的控制命令的输入完成时,限制模块105开始输入下一应用程序的控制命令。由限制模块105执行的限制方法不限于上述示例。例如,当存在满足输入条件的多个应用程序时,限制模块105可以促使输入模块103仅输入这些应用程序中任意一个的控制命令。在这种情况下,可以仅输入具有最高优先级的应用程序的控制命令。
[0154]
根据修改示例(2),可以通过限制多个应用程序的控制命令的同时输入来更准确地执行控制命令。
[0155]
(3)此外,例如,可以组合上述修改示例。
[0156]
此外,例如,可以不明确设置控制命令的输入条件,并且可以定期或持续地将控制命令输入到控制器20。此外,例如,控制器20不需要在cpu 21和iot单元22之间划分角色。cpu 21还可以实现iot单元22的功能。此外,例如,控制器20不需要包括第一存储装置21a、第二存储装置22a、第三存储装置22b、和第四存储装置23的独立组件,并且变量的重写可以在一个存储装置中完成。在这种情况下,存储器没有被物理分割,因此控制命令中包括的变量被写入在一个存储器中设置的多个数据区域中每个数据区域。变量的值在数据区域之间被重写。
[0157]
此外,例如,在第一存储装置21a和第二存储装置22a之间,变量可以不规则地相互匹配。在这种情况下,仅在接收到控制命令时,写入第二存储装置22a的变量才可以被写入第一存储装置21a。此外,例如,可以基于跟踪数据或其他数据来输入控制命令,以代替收集的数据的分析结果。此外,例如,已经描述了如下情况,在该情况下,生产系统1中包括的设备的用户不同,但是用户可以是相同的。此外,例如,将变量从第二存储装置22a写入第三存储装置22b不限于紧接在一个循环周期结束之前。例如,只要变量允许大约一个循环周期到几个循环周期的偏差,就可以在任何时候将该变量从第二存储装置22a写入第三存储装置22b。
[0158]
此外,例如,上述功能中的每个功能可以由生产系统1中包括的任何设备来实现。例如,被描述为由分析设备10实现的功能可以由控制器20或被控制设备30实现。此外,例如,被描述为由控制器20实现的功能可以由分析设备10或被控制设备30实现。此外,例如,每个功能可以由一台计算机实现,而不是由多台计算机共享。
[0159]
此外,上述实施例作为具体示例给出,并且不将本文公开的发明限于具体示例的典型构造和数据存储装置示例。本领域技术人员可以就例如物理组件的形状和数量、数据结构以及处理的执行顺序来对所公开的实施例做出各种修改。应当理解,本文公开的本发明的技术范围涵盖这样的修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜