CN116710861A - 数控***、任务分配变更装置及数控方法 - Google Patents
数控***、任务分配变更装置及数控方法 Download PDFInfo
- Publication number
- CN116710861A CN116710861A CN202180090891.2A CN202180090891A CN116710861A CN 116710861 A CN116710861 A CN 116710861A CN 202180090891 A CN202180090891 A CN 202180090891A CN 116710861 A CN116710861 A CN 116710861A
- Authority
- CN
- China
- Prior art keywords
- numerical control
- unit
- task
- control device
- processing
- 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
Links
- 238000000034 method Methods 0.000 title claims description 85
- 230000006854 communication Effects 0.000 claims abstract description 84
- 238000004891 communication Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 359
- 230000008859 change Effects 0.000 claims description 102
- 238000005259 measurement Methods 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 33
- 238000001514 detection method Methods 0.000 claims description 29
- 238000009826 distribution Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 230000007423 decrease Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000007514 turning Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000007812 deficiency Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000227 grinding Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000001994 activation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32015—Optimize, process management, optimize production line
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32297—Adaptive scheduling, feedback of actual proces progress to adapt schedule
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
数控***(1)具有经由通信单元(3)进行连接的第1运算部(4)及第2运算部(5)、和任务分配变更装置(2)。任务分配变更装置(2)关于由数控***(1)执行的软件任务,以由第1运算部(4)和第2运算部(5)之中的与当前分配有软件任务的运算部不同的运算部执行软件任务的方式进行分配变更动作。任务分配变更装置(2)在维持由数控***(1)对控制对象(6)进行控制的状态即运转中状态的情况下进行分配变更动作。
Description
技术领域
本发明涉及用于对以工作机械为代表的生产设备或机械进行控制的数控***、任务分配变更装置及数控方法。
背景技术
数控***对设置于加工机的驱动轴进行控制,由此实现加工机的期望动作。加工机是进行切削加工、车削加工及磨削加工的一部分或全部的工作机械、激光加工机、放电加工机以及AM(Additive
Manufacturing)加工机等的统称。关于加工机,伴随高功能化、工序集成化及复合化的大规模***化逐年发展,对加工机的控制器即数控***要求的软件处理也持续增加。
近年来,为了实现工厂的自动化,不仅关于加工机,关于机器人及AGV(AutomatedGuided Vehicle)等对两个加工机中的材料或工件的交接进行辅助的周边设备,也进行使数控***实施控制的措施,由数控***执行的软件处理的增加加速。
由于软件处理的增加,有时软件处理所需的性能超过数控***的硬件的性能,发生与硬件有关的性能不足。如果发生性能不足,则会产生问题。轻微问题的例子是数控***的画面显示的更新频度降低或针对画面操作的响应变慢。严重问题的例子是驱动轴无法达到期望的速度而减速,或完全地停止。针对上述问题,存在下述现有技术,
即,使用通信单元对多个硬件进行连接,通过使处理的负荷分散,从而消除性能不足。
专利文献1公开了下述技术,即,将控制装置的各种功能要素分散至多个CPU(Central Processing Unit)或计算机,使用通信线路对多个CPU或计算机进行连接,由此分散处理的负荷。
专利文献2公开了下述技术,即,将大于或等于两个数控装置经由信息传送路径连接,基于成为用于向机械输出各种指令的控制软件的结构要素的各种软件模块的组合的***结构数据,在电源接通时生成一系列的控制软件而转发并设定于各机械的数控装置的易失性存储器。
专利文献1:日本专利第2577600号公报
专利文献2:日本专利第3373115号公报
发明内容
但是,在上述现有技术中,无法对电源接通后的***的结构进行变更。即,在上述现有技术中,无法实现与执行控制动作过程中的处理负荷的状况相对应的数控***。
按照由数控***执行的加工程序的内容,由数控***执行的处理的量发生变化。加工程序是通过文本形式对使由数控***控制的对象如何动作进行记述而成的。通过进行定位时的终点坐标、进行轨迹控制时的直线或者圆弧等确定的路径指定或移动时的速度等的信息记载于加工程序。
例如,在由数控***执行的控制之一即刀具前端点控制中,需要进行用于对从旋转工作台观察的坐标系和固定于机械的坐标系进行变换的坐标变换计算,处理时间增加。
在加工程序的每1行的移动距离短的程序中,与长的程序相比较,为了维持所指定的刀具的移动速度而需要进行处理的程序块的数量多,因此处理时间长。加工程序的1行被称为1个程序块,上述移动距离也被称为线段长度。
在特定的功能变得有效的情况下,通过加工机的周边仪器的动作或用户针对加工机进行的操作等,由数控***执行的处理的量也发生变化。例如数控***在使用下述等功能的情况下,由数控***执行的处理的量增加,即:在加工机的实际的轴动作前进行路径计算,进行检查以使得工作台及工件不与刀具接触的干涉检查功能,或伴随需要进行多个积和计算的AI(Artificial Intelligence)的推断处理的功能等。在需要进行龙门架或者装载机等的外部轴的动作、机器人或者AGV等的控制、通信或者协同的情况下,或在由用户进行了画面操作或者手动运转的情况下,由数控***执行的处理的量也发生变化。
上述例子只不过是一部分例子,但由数控***执行的处理的量会根据控制执行中的动作状况或操作内容而增减。
在现有技术中,只能够在电源接通时对软件处理的分配进行变更,因此在现有的数控***中,存在无法应对在运转中发生的处理量的变动这一课题。
作为解决该课题的方法而考虑下述方法,即,使数控***试验地运转一次,在掌握了运转中的负荷的状态后,停止数控***,通过将电源再接通而解决由性能不足引起的问题。但是,需要实施不进行生产的试验性的运转是该方法的缺点,该方法也不保证会严格地再现实际运转。此外,根据生产设备,如果停止运转,则有时为了再运转而需要大的工作量及长的时间,或生产整体的流程恶化而对经营造成影响,可以说需要电源的再接通是实际应用中的大的课题。
本发明就是鉴于上述情况而提出的,其目的在于得到不需要电源的再接通,应对在运转中发生的处理量的变动而执行处理的数控***。
为了解决上述课题,并达到目的,本发明所涉及的数控***具有经由通信单元进行连接的多个运算部,该数控***还具有关于由数控***执行的软件任务,以由多个运算部之中的与当前分配有软件任务的运算部不同的运算部执行软件任务的方式进行分配变更动作的任务分配变更装置。任务分配变更装置在维持由数控***对控制对象进行控制的状态即运转中状态的情况下进行分配变更动作。
发明的效果
本发明所涉及的数控***具有不需要电源的再接通,就能够应对在运转中发生的处理量的变动而执行处理这一效果。
附图说明
图1是表示实施方式1所涉及的数控***的结构的概略的图。
图2是实施方式1所涉及的数控***的状态转换图。
图3是表示由实施方式1所涉及的数控***所具有的测定部进行的动作顺序的流程图。
图4是表示由实施方式1所涉及的数控***所具有的处理时间推定部进行的动作顺序的流程图。
图5是表示由实施方式1所涉及的数控***所具有的任务分配变更装置进行的动作顺序的流程图。
图6是表示由实施方式1所涉及的数控***所具有的任务分配变更装置选定对象任务时的任务分配变更装置的动作顺序的流程图。
图7是表示构成了图1的数控处理部的软件任务的分配被变更为第2运算部的情况下的数控***的图。
图8是表示实施方式2所涉及的数控***的结构的概略的图。
图9是表示实施方式3所涉及的数控***的结构的概略的图。
图10是表示实施方式1所涉及的数控***所具有的第1运算部由处理器实现的情况下的处理器的图。
图11是表示实施方式1所涉及的数控***所具有的第1运算部由处理电路实现的情况下的处理电路的图。
具体实施方式
下面,基于附图对实施方式所涉及的数控***、任务分配变更装置及数控方法详细地进行说明。
实施方式1.
(实施方式1的结构)
图1是表示实施方式1所涉及的数控***1的结构的概略的图。数控***1具有至少大于或等于两个运算部。在实施方式1的例子中,数控***1具有第1运算部4和第2运算部5。第1运算部4及第2运算部5是多个运算部的例子。在实施方式1中,对具有两个运算部的数控***1进行说明,但针对数控***1具有大于或等于三个运算部的情况,实施方式1的概念也能够不被限制地应用。
运算部如果具有进行计算处理的能力,则方式不受限制,可以是CPU、多核CPU的处理器内核、DSP(Digital Signal Processor)或各种集成电路等。下面,将上述处理器内核简记为“内核”。例如,在具有多个内核的多核CPU中,一个内核相当于一个运算部,在具有多个CPU的多CPU环境中,一个CPU相当于一个运算部。
数控***1还具有任务分配变更装置2。任务分配变更装置2、第1运算部4及第2运算部5这三个结构要素各自以能够经由通信单元3与三个结构要素之中的其他结构要素通信的方式连接。
任务分配变更装置2经由通信单元3与第1运算部4及第2运算部5各自进行通信,具有对后面记述的软件任务向运算部的分配变更动作进行控制的功能。任务分配变更装置2在实施方式1中,与第1运算部4及第2运算部5独立地配置,但可以配置为通过第1运算部4和第2运算部5之中的任一个运算部进行动作。
通信单元3可以是能够进行无线通信的单元,也可以是能够进行有线通信的单元。通信单元3可以是能够进行串行方式的通信的单元,也可以是能够进行并行方式的通信的单元。经由通信单元3进行的通信的实现方法不受限制。例如,通信单元3可以是通常作为串行总线使用的RS-232C(Recommended Standard 232C)、USB(Universal Serial Bus)、PCI(Peripheral Component Interconnect)Express、SATA(Serial AT Attachment)、IEEE(Institute of Electrical and Electronics Engineers)1394(FireWire)、1-Wire或Ethernet(注册商标)等通信单元。
通信单元3也可以是通常作为并行总线使用的GPIB(General Purpose InterfaceBus)、SCSI(Small Computer System Interface)、PCI、ATA(AT Attachment)等通信单元。通信单元3可以是通过一般性的无线通信方式即Wi-Fi(注册商标)或Bluetooth(注册商标)实现的通信单元。
控制对象6是由数控***1进行控制的对象,通过电动机使轴进行驱动,实现规定的动作而提供各种功能。例如,控制对象6可以是各种加工机。作为加工机的具体例,举出进行切削加工、车削加工及磨削加工的一部分或者全部的工作机械、激光加工机、放电加工机或AM加工机等。控制对象6可以是工业用机器人、AGV或无人机等进行物品的搬运或输送的装置。
第1运算部4具有进行用于对控制对象6进行控制的数控的数控处理部10。数控处理部10由大于或等于一个软件任务构成,对加工程序的字符串进行解析,进行基于动作模式的设定及指令的路径的起点及终点的坐标计算以及路径的插补计算等。在图1中,上述软件任务的例子是软件任务A及软件任务B。加工程序主要是为了针对加工机指定动作而将动作的内容通过文本形式记述的程序。针对控制对象6的动作指令单元并不限定于加工程序。
第1运算部4具有对针对控制对象6的驱动轴的指令数据进行计算的轴控制部11。轴控制部11由大于或等于一个软件任务构成,使用通过数控处理部10得到的计算结果,对针对控制对象6的驱动轴的指令数据进行计算。在图1中,上述软件任务的例子是软件任务C及软件任务D。作为由轴控制部11进行的处理的一个例子,举出加减速处理,即,对使各轴顺滑地进行加速及减速以使得在驱动轴不发生过大的加速度而振动的速度指令进行计算。
在图1中,数控处理部10及轴控制部11被分配给第1运算部4,但数控处理部10和轴控制部11之中的一者或两者也可以被分配给第2运算部5。
第1运算部4及第2运算部5各自具有对由数控处理部10及轴控制部11执行处理的情况下的处理时间进行测定的测定部12。具体地说,测定部12对构成由各运算部执行的数控处理部10及轴控制部11的各软件任务的处理时间进行测定。在数控***1中,以预先确定的周期即规定周期开始各软件任务的执行,在规定周期内进行需要的处理,创建输出至控制对象6的指令数据。数控***1通过创建指令数据,从而实现控制对象6的控制。测定部12关于各周期,通过基于数控***1的时钟的时刻对各软件任务的执行何时开始何时完成进行记录,将规定周期内所占的各软件任务的处理时间数据化。
为了准确地测定软件任务的处理时间,不仅要考虑开始时刻及结束时刻,还需要考虑由于中断及OS(Operating Ssystem)而使执行中断的抢占的发生状况。这些信息通过使用由通常普及的实时OS等提供的API(Application Programming Interface),取得各任务的事件发生时刻而能够利用。下面,实时OS被记载为RTOS。
作为事件的例子,存在任务在运算部中得到执行权时发生的start事件、任务被中断及其他优先级高的任务剥夺执行权时发生的preempted事件、任务完成处理而释放执行权时发生的exit事件及任务对其他任务开放执行权时发生的releasetoxxx事件等。在xxx中输入成为对象的任务名。
第1运算部4及第2运算部5所具有的处理时间推定部13进行数控处理部10需要的处理时间的推定值即处理负荷预测值的计算和处理负荷预测值与阈值的比较判定。
数控处理部10的处理时间从各种要素综合性地受到影响,但为了进行推定而变得特别重要的主要是两个要素。
第一个要素是构成加工程序的程序块的处理数。加工程序将每1行作为程序块而看作集成的指令,通过程序块单位执行处理。例如,在数控处理部10需要同时对10个程序块进行处理的情况下,处理时间推定部13能够推定为与1个程序块的处理即可的情况相比,需要10倍的处理时间。
第二个要素是由加工程序指定的运转模式。例如,作为运转模式,举出对将指定出的起点和终点之间通过何种路径实施插补进行指定的插补模式,或同时将多个程序块汇总处理而实现高速的移动的高速模式等。根据对这些运转模式之中的哪个模式进行指定,数控处理部10对1个程序块进行处理所需的处理时间发生改变。
在这里,对由数控处理部10需要同时处理的程序块的数量进行说明。在所指定的轴的移动速度即指令速度大的情况下,针对每1个周期需要由轴控制部11输出至控制对象6的移动量也变大。与此相伴,进行轴控制部11的前处理的数控处理部10也需要对更长的移动距离进行处理。此时,如果加工程序的每1个程序块的距离,即,将起点和终点连结的长度长,则能够通过少的程序块对长的移动距离进行处理,但如果每1个程序块的距离短,则为了对相同距离进行处理所需的程序块的数量变多。即,数控处理部10每1个周期需要进行处理的程序块的数量,能够根据指令速度和进行处理的程序块的移动距离进行计算。
关于针对每个运转模式的处理时间,例如能够事先对各个运转模式下的处理时间进行测定,将平均的处理时间通过数据库或列表的形式保存,在实际对加工程序进行处理时,从所保存的一个或多个候选中对一个候选进行选择而进行推定。
(实施方式1的动作)
对数控***1可取得的状态的种类和定义进行说明。图2是实施方式1所涉及的数控***1的状态转换图。对图2所示的各状态和进行状态间的转换的条件即条件S1至条件S10为止进行说明。
电源OFF状态是数控***1的电源没有接通的状态。
电源ON状态是通过在条件S1下将数控***1的电源接通而从电源OFF状态转换后的状态。在电源ON状态中包含有未启动状态、启动中状态及启动完成状态这三个状态。
如果数控***1的状态转换为电源ON状态,则数控***1的状态作为初始状态而成为未启动状态,通过在条件S2下开始启动处理,从而转换为启动中状态。在启动处理中例如包含各种硬件的初始化处理及数控***1的软件模块的载入或向存储器区域的展开等。
启动中状态是启动处理没有完成的状态。
在条件S3下启动处理完成,开始数控***1的软件处理,由此数控***1的状态向启动完成状态转换。
在启动完成状态中包含有未运转状态和运转中状态这两个状态。
如果数控***1的状态转换为启动完成状态,则数控***1的状态作为初始状态而成为未运转状态,在条件S4下开始控制对象的控制,由此转换为运转中状态。
运转中状态例如可以是下述状态,即,在电源接通后,从分配给第1运算部4或第2运算部5的轴控制部11对控制对象6输出控制指令,由此进行控制对象6的控制。运转中状态可以是下述状态,即,对记述有控制对象6的动作内容的加工程序进行选择,从使用了该加工程序的控制开始至该控制完成为止的状态。
在运转中状态下,即使任务分配变更装置2执行后面记述的分配变更动作,数控***1的状态也不会从运转中状态转换(S5),通过执行运转中状态的解除,从而数控***1的状态转换为未运转状态(S6)。
将运转中状态解除的动作的例子例如是停止从轴控制部11对控制对象6输出的控制指令的动作。将运转中状态解除的动作的例子可以是下述动作,即,加工程序的执行完成,返回至不执行加工程序的状态的动作。
在未启动、启动中、未运转及运转中的任意状态下,从条件S7至条件S10为止电源都被断开,由此数控***1的状态转换为电源OFF状态。
接下来,对测定部12的动作进行说明。
测定部12承担下述作用,即,对由各运算部执行的软件任务的处理时间进行测定而创建测定数据,将测定数据发送至任务分配变更装置2。测定部12利用如前所述由RTOS提供的API等的功能,使用各任务的事件日志发生时刻而创建测定数据。测定部12将数控***1的规定周期的开始时刻设为时刻0,对各任务的事件日志的时刻进行计算,由此创建测定数据。测定部12也能够对规定周期的开始时刻进行计算而作为特定的事件的发生时刻,例如在以通过计时器中断而启动的任务为基准的情况下,该任务的开始事件的时刻成为规定周期的开始时刻。
图3是表示由实施方式1所涉及的数控***1所具有的测定部12进行的动作顺序的流程图。此后,按照该流程图对测定部12的动作进行说明。测定部12如果开始动作,则首先进行性能测定(S11)。接下来,测定部12通过前述的计算方法,对在周期内执行的各任务的事件日志时刻进行计算,创建测定数据(S12)。测定部12判定是否发送测定数据(S13),在判定为发送测定数据的情况下(S13为Yes),将测定数据发送至任务分配变更装置2(S14)。测定部12在判定为不发送测定数据的情况下(S13为No),累积测定数据(S15),在下一次及其以后的启动时进行发送之时一并进行发送。
关于测定数据的发送频度,测定部12可以每次发送测定数据,也可以累积预先确定的次数对应量的测定数据而将累积的测定数据汇总发送。
接下来,对处理时间推定部13的动作进行说明。
处理时间推定部13在由数控处理部10完成处理后,直至在接下来的周期中数控处理部10启动为止而进行动作。处理时间推定部13如后面所述,将加工程序的程序块的内容之中的仅指令速度、运转模式及移动距离的信息设为对象而进行处理,由此与数控处理部10相比能够以相当短时间进行处理。
图4是表示由实施方式1所涉及的数控***1所具有的处理时间推定部13进行的动作顺序的流程图。
在步骤S21中,处理时间推定部13从由数控处理部10完成处理后的下一个程序块进行程序块的读入。在图4中,步骤S21的动作通过“第1程序块读入”这一语句表现。
在步骤S22中,处理时间推定部13决定总移动距离的计算所使用的指令速度。处理时间推定部13在通过在步骤S21中读入的程序块指定出指令速度的情况下,使用该指令速度的值,如果没有指定出指令速度,则基于由数控处理部10创建出的直至前次为止的速度信息而决定指令速度。
在步骤S23中,处理时间推定部13对在下一次周期应该由数控处理部10完成处理的移动距离即总移动距离进行计算。处理时间推定部13通过将在步骤S22中决定出的指令速度乘以规定周期,从而对总移动距离进行计算。
在步骤S24中,处理时间推定部13取得当前处理中的程序块的运转模式的信息,以知晓与该程序块之间的对应关系的方式对该信息进行保存。在没有运转模式的信息的情况下,处理时间推定部13对由数控处理部10创建出的直至前次为止的运转模式的信息进行保存。
在步骤S25中,处理时间推定部13对当前处理中的程序块的移动距离进行计算。在通过相对值进行指定的运转模式中,在当前处理中的程序块中记载的各轴的指令值的平方和的平方根成为移动距离。在通过绝对值进行指定的运转模式中,在当前处理中的程序块中记载的各轴的指令值成为终点,因此由数控处理部10创建出的前一次的各轴的终点位置和在当前处理中的程序块中记载的各轴的指令值之差的平方和的平方根成为移动距离。
在步骤S26中,处理时间推定部13将计算出的移动距离累计至累积移动距离。
在步骤S27中,处理时间推定部13判定累积移动距离是否大于或等于总移动距离,在判定为累积移动距离大于或等于总移动距离的情况下(S27为Yes),判断为读入程序块的数量确定(S29),处理时间推定部13的动作向步骤S30转入。处理时间推定部13在判断为累积移动距离小于总移动距离的情况下(S27为No),在步骤S28中,读入下一个程序块,重复执行步骤S24至步骤S27为止的动作。处理时间推定部13在重复执行动作的情况下,不使用由数控处理部10创建出的直至前次为止的信息,而是使用前一个程序块的信息。
接下来,对读入程序块的数量确定后的处理时间推定部13的动作进行说明。
在步骤S30中,处理时间推定部13从起始的程序块开始再次读入。在图4中,步骤S30的动作通过“第1程序块读入”这一语句表现。在步骤S31中,处理时间推定部13对与程序块的运转模式相对应的平均处理时间进行选择。
接下来,处理时间推定部13从事先进行测定等而准备出的一个或多个候选中,对与运转模式相对应的平均的处理时间的数值进行选择,将使选择出的候选乘以读入程序块的数量而得到的值设为处理负荷预测值。
实际上,有时在需要读入的程序块的范围内运转模式发生变化。在该情况下,例如处理时间推定部13可以在多个候选中对处理时间最长的候选进行选择,使选择出的候选乘以读入程序块的数量,将最差值设为处理负荷预测值。处理时间推定部13可以对将与运转模式相应的处理时间和所对应的程序块一个一个相乘得到的结果累计而对准确的值进行计算,将计算结果设为处理负荷预测值。
在这里,示出处理时间推定部13对与针对每个程序块的运转模式相对应的平均处理时间进行选择的例子,但处理时间推定部13也可以使用下述计算方法,即,从读入对象程序块的运转模式中,对平均处理时间最长者进行选择,使选择出的平均处理时间乘以读入程序块的数量。
在步骤S32中,处理时间推定部13将选择出的平均处理时间累计至处理负荷预测值。
在步骤S33中,处理时间推定部13判定进行读入的程序块是否到达最终程序块,在判定为进行读入的程序块到达最终程序块的情况下(S33为Yes),视作计算出处理负荷预测值而结束处理。处理时间推定部13在判定为进行读入的程序块没有到达最终程序块的情况下(S33为No),在步骤S34中读入下一个程序块的信息,重复执行步骤S31至步骤S33为止的动作。
处理时间推定部13对通过进行上述动作而计算出的处理负荷预测值和预先确定的阈值进行比较,如果处理负荷预测值超过阈值,则进行分配变更,因此向任务分配变更装置2进行通知。
如果阈值被严格地设定,则进行分配变更以使得不允许性能的少量降低,如果阈值被宽松地设定,则直至引起性能的严重降低为止不进行分配变更。
可以根据由测定部12得到的测定结果和数控处理部10的至此为止的实际的处理时间的比较而设定阈值。例如,阈值可以相对于至此为止的处理时间的平均值以+x%等的增量比率进行设定。x为实数。
可以调整针对超过阈值的分配变更的执行频度。例如如果设定为处理负荷预测值超过阈值后一定执行分配变更,则数控***1能够可靠地防止性能的降低。如果设定为在处理负荷预测值连续n次超过阈值的情况下执行分配变更,则数控***1无法应对偶然性的超过的发生,仅在发生了性能的严重降低的情况下执行分配变更。n为大于或等于2的整数。作为折衷的方法,可以设定为在处理负荷预测值累计m次超过阈值时执行分配变更,对累计值进行重置。m为大于2且小于n的整数。
对成为分配变更的对象的任务的选定方法进行说明。在数控处理部10由一个任务构成的情况下,该任务成为分配变更的对象的任务。
在数控处理部10由多个任务构成的情况下,需要选定进行分配变更的对象的任务。
选定方法没有特别限制,例如可以设定为针对构成数控处理部10的每个任务对分配变更的优先等级进行设定,从优先等级高的任务起设为分配变更的对象。在数控处理部10中,也可以设定为与轴控制部11所使用的数据的创建直接相关的任务的重要度相对高,除了该任务以外的任务的重要度相对低,通过使重要度相对低的任务优先地移动至其他运算部,从而运算部的资源集中至重要度相对高的任务。
创建出的数据在紧随其后的处理中被使用的任务,可以说是要求的响应性能相对高的任务,相反地在创建出的数据需要保存于保存区域的情况下使用的任务,可以说是要求的响应性能相对低的任务。可以设定为通过将要求的响应性能相对低的任务设定为分配变更的对象的高优先级,从而运算部的资源集中至要求的响应性能相对高的任务。
接下来,对分配变更目标的运算部的选定方法进行说明。
如图1所示,在运算部的个数为2的情况下,与当前分配的运算部不同的运算部只有一个,因此分配变更目标的运算部被自动地决定。
在具有大于或等于三个运算部的数控***中,需要对成为选项的运算部之中的哪个运算部设为对象进行选择。
关于分配变更目标的运算部的选定方法没有特别限制,但例如可以预先针对每个对象任务对成为分配变更目标的运算部的优先等级进行设定。以多个运算部各自为一个多核CPU的各内核的情况为例,如果为SMP(Symmetric Multiprocessing)型,则全部内核是等价的,但如果为AMP(Asymmetric Multiprocessing)型,则还存在特性不同的内核,因此还存在不适于分配的内核。在上述情况下,适于分配的内核的优先级设定得相对高,不适于分配的内核的优先级设定得相对低或设定为负等,可以将不适于分配的内核设为分配变更的对象外。
分配变更目标可以使用通过测定部12得到的测定数据,从处理的负荷相对低的运算部起依次进行选定。
对任务分配变更装置2的动作进行说明。首先对成为前提的用语进行说明。RTOS通常是下述RTOS,即,通过对软件任务的执行状态进行管理,从而对***的动作进行控制,但至少对以下四个任务状态进行定义而管理。执行状态是通过运算部执行任务的状态。可执行状态是可以通过运算部执行任务的条件成立,但由于处在运算部执行其他处理的过程中,因此等待运算部的使用权的状态。等待状态是用于通过运算部执行任务的条件不成立,等待条件成立的状态。休止状态是没有生成任务,没有作为RTOS的管理对象而登记的状态。
对可执行状态的任务赋予运算部的使用权,将使任务状态转换为执行状态的动作称为分派,将其相反动作称为抢占。生成休止状态的任务,任务成为RTOS的管理对象,由此任务状态转换为等待状态。相反地,如果使任务休止,则任务从RTOS的管理对象被删除,任务状态向休止状态转换。如上所述,任务的管理通过RTOS进行,因此任务分配变更装置2使用RTOS所准备出的API等功能,通过对RTOS发出指令的方式实现动作。
图5是表示由实施方式1所涉及的数控***1所具有的任务分配变更装置2进行的动作顺序的流程图。首先,在步骤S41中,任务分配变更装置2判定进行分配变更的对象任务是否决定完成。仅从测定部12发送来测定数据,在任务分配变更装置2判定为进行分配变更的对象任务没有被决定的情况下(S41为No),在步骤S42中选定对象任务。
任务分配变更装置2在判定为进行分配变更的对象任务决定完成的情况下(S41为Yes)、及在进行步骤S42的动作后,进行步骤S43的动作。从处理时间推定部13发送来选定出的对象任务的信息,因此在步骤S43中,任务分配变更装置2判定变更目标的运算部是否决定完成。
在变更目标的运算部没有被决定的情况下(S43为No),在步骤S44中,任务分配变更装置2对变更目标的运算部进行选定。在决定出变更目标的运算部的情况下(S43为Yes)及在进行步骤S44的动作后,在步骤S45中,任务分配变更装置2判定分配变更实施条件是否成立。
变更目标的运算部的选定方法与在对处理时间推定部13进行说明时所述的判定方法相同,没有特别限制,例如可以针对每个对象任务而预先决定。可以针对每个对象任务,将分配的运算部的优先等级列表化,变更目标的运算部按照优先级的顺序进行选择。可以使用测定数据,从处理的负荷低的运算部起依次对变更目标的运算部进行选定。
接下来,基于图6对步骤S42的选定对象任务时的任务分配变更装置2的动作进行说明。图6是表示由实施方式1所涉及的数控***1所具有的任务分配变更装置2选定对象任务时的任务分配变更装置2的动作顺序的流程图。
在步骤S51中,任务分配变更装置2对期限裕度的计算对象任务进行选定。该计算对象任务是构成数控处理部10或轴控制部11的软件任务。期限裕度由于***的限制,对在规定周期内必须完成处理的任务即硬期限任务的结束时刻和规定周期进行比较而实施计算。有时硬期限任务存在多个,但结束时刻最晚的任务成为计算对象任务。
在步骤S52中,任务分配变更装置2基于测定数据对期限裕度进行计算。如前所述,在测定数据中对将规定周期的开始时刻设为时刻0的各任务的事件的时刻进行储存,因此任务分配变更装置2对期限裕度的对象任务的结束时刻和根据规定周期计算的期限时刻进行比较,由此对期限裕度进行计算。
期限时刻的计算方法可以根据数控***1的动作状态进行变更。期限时刻与规定周期相同,即有时是规定周期的1倍,有时是规定周期的常数倍。在期限时刻是规定周期的常数倍的情况下,通过针对预先决定的周期进行运算处理而进行计算。
关于使用的测定数据,任务分配变更装置2可以使用测定数据的一定期间或全期间的平均值,也可以使用一定期间或全期间中的最差值。在使用平均值的情况下,任务分配变更装置2可以在每次测定数据增加时对平均值进行更新,也可以直至一定量的测定数据被累积为止不对平均值进行更新。
在步骤S53中,任务分配变更装置2判定是否进行分配变更。具体地说,任务分配变更装置2对期限裕度和预先设定的阈值进行比较,如果期限裕度小于阈值(S53为Yes),则任务分配变更装置2的动作进入至步骤S54。如果期限裕度大于或等于阈值(S53为No),则任务分配变更装置2判定为无需分配变更,在步骤S55中将分配变更的对象任务决定为无。
关于阈值的设定,能够进行调整及变更。例如如果阈值被严格地设定,则以不允许性能的少量降低的方式进行分配变更,如果阈值被宽松地设定,则直至引起性能的严重降低为止不进行分配变更。
进行针对小于阈值的判定的分配变更的频度可以设定为可调整。如果频度每次被设定,则数控***1能够针对性能的降低而迅速地执行分配变更。另一方面,如果设定为遍及多次而同时进行分配变更,则数控***1容许性能的稍微降低,能够仅在性能的降低屡次发生时进行分配变更。
在步骤S54中,任务分配变更装置2取得硬期限任务的结束时刻和开始时刻的差分,判定差分是否处于阈值以内。阈值是针对每个任务进行处理时间的测定等而预先设定的。阈值是发生中断或上位任务的处理没有中断的情况下的对象任务的纯粹的处理时间的标准值。如果差分处于阈值以内(S54为Yes),则对象任务的执行时间没有问题,可知开始时刻晚,因此期限裕度减少。因此,在步骤S56中,任务分配变更装置2判定从开始时刻减去成为可执行状态的时刻而得到的差是否大于阈值。
在差分大于阈值的情况下(S54为No),通过中断的上位任务将处理中断,由此可知有可能期限裕度减少。因此,在差分大于阈值的情况下(S54为No),在步骤S57中,任务分配变更装置2判定除了通过中断产生的中断时间以外的执行时间是否处于阈值以内。
在步骤S56中,如前所述,任务分配变更装置2将开始时刻和成为可执行状态的时刻的差分与阈值相比较。该阈值也与在步骤S54中使用的阈值同样地,针对每个任务进行处理时间的测定等而预先设定。根据任务的优先级,与对象的任务相比上位的任务的数量发生变动,因此从成为可执行状态至实际开始执行为止的平均的等待时间发生变化。因此,需要针对每个任务对阈值进行设定。任务分配变更装置2在判定为差大于阈值的情况下(S56为Yes),当前分配的运算部被高优先级的任务的执行占据,因此可知执行开始变晚,因此在步骤S58中,将硬期限任务决定为分配变更的对象任务。
任务分配变更装置2在判定为差处于阈值以内的情况下(S56为No),可知硬期限任务在成为可执行后,通过平均的等待时间开始执行。因此,可知指定出可执行的时刻晚,因此期限裕度变少,因此在步骤S59中,任务分配变更装置2将对硬期限任务发出执行许可事件的任务决定为对象的任务,再次进行步骤S54的动作。
如上所述,在步骤S57中,任务分配变更装置2对除了通过中断产生的中断时间以外的硬期限任务的处理时间和阈值进行比较。通过使用硬期限任务的抢占及分派的各事件的发生时刻,从而能够对通过中断产生的中断时间进行计算。该阈值可以与在步骤S54中所使用的阈值相同。根据任务,还考虑将发生中断设计为前提,因此在该情况下,可以设定与在步骤S54中使用的阈值不同的阈值。
任务分配变更装置2在判定为除了通过中断产生的中断时间以外的执行时间大于阈值的情况下(S57为No),当前分配的运算部所涉及的高优先级任务的使用率大,因此判断为无法确保硬期限任务的执行时间成为除了通过中断产生的中断时间以外的执行时间大于阈值的原因。因此,任务分配变更装置2在步骤S58中,将硬期限任务决定为分配变更的对象任务,将对象任务向存在富裕的运算部转入。
任务分配变更装置2在判定为除了通过中断产生的中断时间以外的执行时间处于阈值以内的情况下(S57为Yes),硬期限任务没有问题地被执行,因此可知处理开始的时刻晚成为问题。因此,任务分配变更装置2在步骤S59中,将对硬期限任务发出执行许可事件的任务决定为对象的任务,再次进行步骤S54的动作。
通过任务分配变更装置2的上述动作,在期限裕度小于或等于阈值的情况下,任务分配变更装置2能够对应该进行分配变更的对象任务进行选定。对象任务的选定方法可以是下述方法,即,对各任务设定有优先等级,在分配变更实施条件成立的情况下,从分配没有被变更的任务中按照优先级从高到低的顺序进行选定。
返回至图5的流程图所示的任务分配变更装置2的动作的说明。在步骤S45中,任务分配变更装置2判定分配变更实施条件是否成立,在判定为条件成立的情况下(S45为Yes),在步骤S46中,实施分配变更。任务分配变更装置2在判定为条件不成立的情况下(S45为No),不进行分配变更,结束动作。
在设定有分配变更对象任务,并且设定有能够作为分配变更目标的运算部而利用的运算部的情况下,分配变更实施条件成立。
如前所述,在裕度大于或等于阈值的情况下,无需进行分配变更,因此任务分配变更装置2在分配变更对象任务中设定为“无对象任务”,由此不进行分配变更。在作为分配变更目标的运算部而设定有不存在或无法进行通信的运算部的情况下,如果进行分配变更处理,则数控***1的动作受损,因此任务分配变更装置2判断为变更条件不成立,不进行分配变更。
对步骤S46的分配变更动作进行说明。首先,说明由任务分配变更装置2关于分配变更前的运算部进行的动作。在任务执行中的情况下无法进行分配的变更,因此如果分配变更的对象任务处于执行状态,则任务分配变更装置2进行抢占,将分配变更的对象任务的状态设为可执行状态。任务分配变更装置2取得可执行状态或等待状态的任务的管理信息,将对象任务设为休止状态。由此,对象任务在分配变更前的运算部中处于RTOS的管理外。
任务的管理信息一般被称为关联性,在任务的管理信息中包含PCB(ProcessControl Block)、TCB(Task Control Block)、各种寄存器的值或堆栈指针的值等。
接下来,说明由任务分配变更装置2关于分配变更目标的运算部进行的动作。如果没有通过分配变更目标的运算部进行对象任务的生成,则任务分配变更装置2生成对象任务。由此,对象任务在分配变更后的运算部中成为RTOS的管理下的任务。在分配变更前后的两个运算部不共用存储器的情况下,任务分配变更装置2在由分配变更目标的运算部生成的对象任务的管理信息的区域中设置分配变更前的任务的管理信息。在分配变更前后的两个运算部共用存储器的情况下,任务分配变更装置2以由分配变更目标的运算部生成的任务参照的方式,设定对取得的任务的管理信息进行保存的区域即可。
在该阶段中对象任务的分配变更本身完成,对象任务的状态至少成为等待状态以上的状态。如果可执行条件成立,则对象任务的状态成为可执行状态,如果需要为可执行状态,则任务分配变更装置2针对分配变更目标的运算部,利用中断指令等而执行任务分派,由此能够使对象任务执行。
在这里,对分配变更目标的运算部中的任务的生成方法进行说明。在任务的生成方法中没有特别限制,例如作为最简单的方法,存在每次实施分配变更时都生成任务的方法。在该方法中,在实际进行分配变更时生成任务,因此能够将生成的任务仅限定为必要的任务,得到能够节约RTOS的管理区域的优点。
任务的生成方法可以是预先生成这一方法。在该方法中,在分配变更的开始前能够生成任务,因此能够缩短分配变更处理所需的时间。可以预先生成有可能进行分配变更的全部任务,也可以限定地生成预想为分配变更的频度高的一部分任务。
另外,也可以采用准备而生成分配变更接收用的专用任务这一方法。在该方法中,能够将生成任务的数量抑制为所需量,并且缩短分配变更处理所需的时间。在专用任务中,准备作为任务的控制构造即执行权取得等待的处理、开始执行之后成为首先执行的进入点的函数和在执行完成后返回至执行权取得等待的环路构造。将哪个任务通过专用任务执行能够通过在成为进入点的函数中是否设定成为对象任务的进入点的函数的存储器上的地址而进行切换。例如如果是C语言,则能够通过使用函数指针而实现切换。
通过上述动作,实施方式1所涉及的数控***1能够以将构成数控处理部10及轴控制部11的大于或等于一个软件任务由与当前执行中的运算部不同的运算部执行的方式进行分配变更。图7是表示构成图1的数控处理部10的软件任务A的分配变更为第2运算部5的情况下的数控***1的图。在图7中,图1的数控处理部10记载为数控处理部10A。即,图7示出了将构成图1的数控处理部10的软件任务A的分配变更为第2运算部5,将软件任务A设为构成第2运算部5的数控处理部10B的任务的情况下的数控***1。上述动作优选在运转中状态下执行。上述动作在运转中状态下执行,由此数控***1能够进行与动作中状态的各运算部的处理负荷的状况相对应的分配变更动作。
此外,任务分配变更装置2可以在每次对测定数据进行接收时执行处理,也可以通过恒定周期执行处理。任务分配变更装置2可以在从处理时间推定部13接收到阈值超过通知的情况下执行分配变更动作。
(实施方式1的效果)
任务分配变更装置2关于由数控***1执行的软件任务,以由多个运算部之中的与当前分配有该软件任务的运算部不同的运算部执行该软件任务的方式进行分配变更动作。任务分配变更装置2维持数控***1对控制对象6进行控制的状态、即运转中状态不变而进行分配变更动作。因此,实施方式1所涉及的数控***1不需要电源的再接通,就能够与在运转中发生的处理量的变动相对应而执行处理。
进一步对效果进行说明。通过任务分配变更装置2,在对实施方式1所涉及的数控***1接通电源后,数控***1即使是运转中状态,也能够使软件任务从当前执行中的运算部向其他运算部移动而执行。由此,数控***1将任务的分配从在运转中处理的负荷增大而成为性能不足的运算部变更为其他运算部,由此不进行电源的再接通就能够分散处理的负荷而确保数控***1的整体的性能。
即,在无法容易地暂时停止数控***1的运转的环境下,数控***1也能够消除针对多个运算部的处理负荷的波动。因此,能够最大限度地发挥数控***1的性能。
任务分配变更装置2基于与动作中的数控***1的处理负荷有关的测定结果,对与对象的软件任务有关的运算部的分配进行变更,由此数控***1能够分散处理的负荷以使得遵守设定处理的完成时间即遵守硬期限。由此,与针对数控***1的指令内容相对应地时时刻刻发生变动的处理的负荷成为原因,在有可能超过对数控***1设定的处理的完成时间的状况下,数控***1通过对针对运算部的任务的分配进行变更,从而也能够改善该状况。
数控***1中的优先级相对低的任务是在优先级相对高的任务即硬期限任务的空闲时间执行的,因此无法在硬期限任务超过完成时间那样的状况下执行。作为优先级相对高的任务的例子,举出构成数控处理部10或轴控制部11的任务,作为优先级相对低的任务的例子,举出画面的描绘处理或外部装置的通信处理。因此,有可能发生不对画面显示进行更新等现象。如果处理的完成时间超过变得严重,则优先级相对高的任务也无法完成,控制对象的动作有可能停止。
在处理的负荷相对于硬件的性能成为过量的状态的情况下,通常需要以进行硬件的增强或减少处理的负荷的方式减轻针对数控***1的指令内容。但是,实施方式1所涉及的数控***1在上述情况下,通过对任务向运算部的分配进行变更,从而也能够缩短处理的完成时间,能够最大限度利用数控***1的硬件的性能。
此外,根据任务分配变更装置2,动作中的数控***1基于数控处理部10的处理时间的预测对成为性能不足进行检测,变更为由其他运算部执行软件任务,由此能够分散处理的负荷以使得避免成为性能不足。
执行中的数控***1的处理的负荷发生变动的主要要因,是根据在加工程序中记述的内容而主要是数控处理部10的处理的负荷大幅地变化。实际上直至读入加工程序为止不知道执行何种处理,因此难以在对数控***1接通电源时对处理的负荷进行预测。因此,存在数控***1运转而初次知晓性能不足的情形。
在上述情况下,通常为了减轻通过加工程序进行的处理的负荷而执行下述对策,即,通过降低指令速度或将由微小的线段构成的细的指令路径置换为长的线段或者圆弧,从而使每1个程序块的距离变长等。但是,在该对策中,用户放弃了原本希望实现的效率下的加工、高精度的形状的加工或高品质的加工面的实现等而进行妥协。
但是,实施方式1所涉及的数控***1预读加工程序,能够对数控处理部10的处理的负荷进行预测,因此在数控***1的运转中,高精度地预测出实际的处理负荷后能够分散处理的负荷。由此,用户能够实现原本希望实现的生产率、精度及品质下的加工。
由任务分配变更装置2进行的分配变更动作所涉及的软件任务,是构成数控处理部10或轴控制部11的软件任务。任务分配变更装置2基于通过测定部12得到的处理时间的测定结果,以将在对数控***1设定的预先决定的周期内需要执行完成的处理即硬期限处理完成的时刻的针对该周期的裕度即期限裕度确保为大于或等于阈值的方式进行分配变更动作。由此,数控***1能够分散处理的负荷,以使得遵守对数控***1设定的处理完成时间即硬期限。
处理时间推定部13基于输入至数控***1的加工程序,使用所指定的目标速度和表示加工程序的每1个程序块的移动距离的长度的信息,对在由数控处理部10接下来执行动作时要处理的程序块的数量进行计算,基于由加工程序指定的运转模式信息,从大于或等于一个候选对数控处理部10的平均处理时间进行选择,对使程序块的数量乘以选择出的处理时间而得到的处理负荷预测值进行计算。任务分配变更装置2在由处理时间推定部13计算出的处理负荷预测值大于或等于阈值的情况下进行分配变更动作。由此,数控***1能够分散处理的负荷以使得避免发生性能不足。
实施方式2.
(实施方式2的结构)
图8是表示实施方式2所涉及的数控***1A的结构的概略的图。数控***1A具有第1数控装置7和第2数控装置8。第1数控装置7和第2数控装置8以通过通信单元3可通信的方式连接。第2数控装置8与控制对象6连接。控制对象6与在实施方式1中说明的控制对象6相同,因此在实施方式2中省略控制对象6的说明。
第1数控装置7及第2数控装置8各自具有至少大于或等于一个运算部,并且如果具有在运算部的处理的执行中使用的存储区域,则可以通过任意的方式实现。例如,第1数控装置7及第2数控装置8可以通过同一种类的硬件实现,也可以通过不同种类的硬件实现。
作为第1数控装置7及第2数控装置8通过同一种类的硬件实现的情况下的例子,考虑使用在印刷基板安装有集成电路、电阻器及电容器等电子部件的专用的电子电路基板而实现的模式。在该情况下,关于第1数控装置7及第2数控装置8,能够实现构成部件及库存的通用化,因此在制造、流通及销售方面能够期待高效化。
在第1数控装置7及第2数控装置8通过不同种类的硬件实现的情况下,例如考虑下述模式,即,关于第1数控装置7,采用服务器或工作站等比较高性能的硬件而确保比较高的处理能力,关于第2数控装置8,在基板安装最低限度的电子部件而实现小型化及低成本化。
通信单元3与实施方式1的通信单元3同样地,可以是能够进行无线通信的单元,也可以是能够进行有线通信的单元。通信单元3可以是能够进行串行方式的通信的单元,也可以是能够进行并行方式的通信的单元。例如在第1数控装置7及第2数控装置8通过基板的方式实现而经由总线连接器被连接的情况下,可以通过任意的方式进行通信,在第1数控装置7及第2数控装置8各自通过独立的一个产品的方式实现的情况下,第1数控装置7和第2数控装置8可以通过无线连接,也可以通过线缆连接。与由第1数控装置7和第2数控装置8进行的通信有关的方式及标准等可以是任意的。
第1数控装置7及第2数控装置8各自具有测定部12及处理时间推定部13。测定部12及处理时间推定部13与实施方式1的测定部12及处理时间推定部13相同,因此省略与测定部12及处理时间推定部13有关的说明。
第1数控装置7具有第1数控处理部21,第2数控装置8具有第2数控处理部22。第1数控处理部21及第2数控处理部22分担由实施方式1中的数控处理部10进行的数控处理。具体地说,构成数控处理部10的软件任务被分割,该软件任务的一部分被分配给第1数控处理部21,该软件任务的剩余部被分配给第2数控处理部22。即,第1数控处理部21担负而执行由数控处理部10进行的数控处理的一部分,第2数控处理部22担负而执行由数控处理部10进行的数控处理的剩余部。
关于对数控处理的整体之中的由第1数控处理部21担负的部分、和由第2数控处理部22担负的部分进行确定的分担方法,没有特别限制。作为分担方法的最简单的例子考虑下述方法,即,将加工程序的字符串的解析那样的前半处理分配给第1数控处理部21,将路径的插补处理等后半处理分配给第2数控处理部22。
作为分担方法的其他例而存在下述方法,即,将第1数控处理部21和第2数控处理部22之中的仅任一者分配给构成数控处理部10的全部软件任务。例如可以采用下述分担方法,即,在第2数控装置8的性能不足的情况下,对第2数控处理部22不分配任何软件任务,由第1数控处理部21进行全部数控处理,第2数控装置8专用于与轴控制部11有关的处理。
第1数控处理部21按照设定的分担进行数控处理,创建第1数控指令信息。第1数控指令信息包含有第2数控处理部22或者轴控制部11或第2数控处理部22及轴控制部11这两者所使用的数据及信号。
第2数控处理部22使用第1数控指令信息,按照设定的分担而进行数控处理,创建第2数控指令信息。在第2数控指令信息中包含有轴控制部11所使用的数据及信号。
第2数控装置8具有轴控制部11。轴控制部11的作用与实施方式1的轴控制部11的作用相同,因此关于轴控制部11,在实施方式2中,省略轴控制部11的作用之中的在实施方式1中说明过的作用的说明,在实施方式2中仅对特有的特征进行说明。实施方式2的轴控制部11与前述第1数控处理部21及第2数控处理部22的数控处理的分担状况相对应地,对是使用第1数控指令信息,还是使用第2数控指令信息或使用第1数控指令信息和第2数控指令信息这两者进行切换。
实施方式2所涉及的数控***1A可以具有配置为第1数控装置7和第2数控装置8经由通信单元3能够连接的存储区域9。在数控***1A不具有存储区域9的情况下,在第1数控装置7及第2数控装置8各自中设置本地的存储区域,该本地的存储区域取代存储区域9而被使用。
不考虑存储区域9的种类。存储区域9可以是与通信单元3的种类相对应地能够安装于基板的易失性或非易失性的各种存储器,也可以是在通过Ethernet线缆构建出的网络上能够连接地构成的NAS(Network Attached Storage)或内部部署或者云等各种数据服务器。
在存储区域9中保存有用于执行为了实现数控***1A所需的软件处理的软件即软件模块19。软件模块19包含有用于实现第1数控处理部21、第2数控处理部22、轴控制部11、测定部12、处理时间推定部13、任务分配变更部14、操作输入接收部15及可通信硬件检测部16的功能的软件即可,也可以包含该软件以外的处理软件。下面,可通信硬件检测部16被记载为可通信HW检测部16。在图8中,可通信硬件检测部16也被记载为可通信HW检测部16。
在存储区域9中还保存有结构设定文件18。结构设定文件18记述有使数控***1A所包含的多个数控装置各自包含于软件模块19的软件之中的哪个在电源被接通时执行这一初始化软件信息。具体地说,结构设定文件18是记述有对使用于实现第1数控装置7及第2数控装置8的功能的多个软件之中的哪个软件在电源被接通时执行进行确定的初始化软件信息的文件。结构设定文件18包含有将第1数控装置7的作用分配给哪个硬件这一主选择信息。主选择信息可以包含于初始化软件信息。
第1数控装置7的作用是下述作用,即,在第1数控装置7所具有的运算部中,使任务分配变更部14和可通信HW检测部16执行,实现数控***1A中的分配变更动作。
结构设定文件18的文件格式及记述形式如果能够由第1数控装置7及第2数控装置8进行解析,则可以是任意的文件格式及记述形式。例如,结构设定文件18可以通过文本文件的格式而记述为基于第1数控装置7及第2数控装置8各自的硬件中固有的识别ID(Identifier)对第1数控装置7及第2数控装置8各自的初始化软件信息进行选择。
第1数控装置7具有可通信HW检测部16。可通信HW检测部16对经由通信单元3可通信的数控装置进行检测。进一步而言,可通信HW检测部16与通信单元3的种类相对应地,进行用于检测可通信的硬件的各种信号及数据的收发,对可通信的硬件和与可通信的硬件有关的通信单元的种类进行检测。例如,通信单元3能够进行的通信是总线通信,在通过设置于基板的连接器而连接有第2数控装置8的情况下,可通信HW检测部16可以周期性地发送特定的信号,基于信号的变化而检测在连接器的前端是否连接有硬件。例如如果通信单元3能够进行有线的Ethernet中的通信,则可通信HW检测部16可以通过基于TCP/IP(Transmission Control Protocol/Internet Protocol)的通信控制技术在网络上对可通信的硬件进行检测。
可通信HW检测部16创建可通信硬件信息17。下面,可通信硬件信息17被记载为可通信HW信息17。在图8中,可通信硬件信息17也被记载为可通信HW信息17。可通信HW信息17包含与检测出的可通信的硬件相关的各种信息。作为可通信HW信息17所包含的信息的例子,存在各硬件所具有的运算部的种类或者数量、与各硬件连接的HMI(Human MachineInterface)、与外部I/O(Input/Output)装置或者控制对象6等其他硬件相关的种类或者数量等信息或使用通信单元3为了与该硬件连接所需的连接相关信息等。在连接相关信息中例如存在通信单元的类别或针对通信单元的每个类别的附加信息等。如果举出具体例,则在通信单元为Ethernet的情况下,在针对通信单元的每个类别的附加信息中包含通信协议信息、IP(Internet Protocol)地址及端口编号等。
第1数控装置7具有任务分配变更部14。任务分配变更部14起到与实施方式1中的任务分配变更装置2相同的作用,因此省略任务分配变更部14的详细说明。
通过将实施方式1中的第1运算部4和第2运算部5之间的关系应用于第1数控装置7和第2数控装置8各自的运算部,从而实施方式2所涉及的数控***1A能够实现与在实施方式1中说明的功能相同的功能。
第1数控装置7及第2数控装置8各自具有对与数控***1A的动作相关的输入进行接收的操作输入接收部15。用户不是基于数控***1A所具有的功能使数控***1A决定软件任务向运算部的分配变更动作的执行定时,而是有时希望对分配变更动作的执行定时进行控制。在实际使用数控***1A的终端用户中,也存在在自身的判断时认为希望进行调整,在自身的管理外不优选随意地进行调整的用户。针对该用户,使用设置于数控装置的输入装置而输入分配变更的许可,由操作输入接收部15对输入的结果进行接收,控制为按照接收到的结果进行动作,由此考虑以用户能够控制分配变更动作的方式构成数控***1A。
在输入装置的种类中没有特别限制。在输入装置中使用通常设置于数控装置的输入接口即可。输入装置可以是HMI或机械式的按钮等。
(实施方式2的动作)
对实施方式2所涉及的数控***1A的动作进行说明。如果构成数控***1A的第1数控装置7及第2数控装置8的电源被接通,则数控***1A的状态从电源OFF状态转换为电源ON状态,接下来通过开始启动处理,从而转换为启动中状态,第1数控装置7及第2数控装置8经过通信单元3而与存储区域9连接,读入结构设定文件18。
第1数控装置7及第2数控装置8从存储区域9读入软件模块19,按照结构设定文件18所包含的初始化软件信息及主选择信息将对应的结构要素展开。
接下来,第1数控装置7通过可通信HW检测部16而掌握可通信的数控装置。在实施方式2中只存在第1数控装置7及第2数控装置8这两个数控装置,但在存在大于或等于三个数控装置的情况下,第1数控装置7对大于或等于三个数控装置进行检测而掌握大于或等于三个数控装置的个数。
在第1数控装置7和第2数控装置8建立了经由通信单元3的通信的阶段,数控***1A的状态向启动完成状态转换,能够进行数控***1A的动作,因此由第1数控处理部21创建出的第1数控指令信息经由通信单元3发送至第2数控装置8。第2数控装置8与数控处理的分担状况相对应地,通过第2数控处理部22或者轴控制部11或第2数控处理部22及轴控制部11这两者进行使用了第1数控指令信息的处理,轴控制部11通过对控制对象6输出指令,从而实现控制对象6的控制。
对实施方式2中的任务分配变更部14的动作进行说明。实施方式2的任务分配变更部14的基本动作与在实施方式1中说明的任务分配变更装置2的动作相同。因此,在实施方式2中,省略任务分配变更部14的基本动作的说明,在实施方式2中仅对特有的部分进行说明。
在实施方式2中,为了进行多个数控装置中的任务的分配变更的说明,没有特别对数控装置的内部的多个运算部中的分配变更进行叙述,但也能够基于在实施方式1中说明的内容,进行第1数控装置7或第2数控装置8的内部的多个运算部中的分配变更。
第1数控装置7的测定部12及处理时间推定部13以及第2数控装置8的测定部12及处理时间推定部13,针对构成第1数控装置7的内部的第1数控处理部21的软件任务以及构成第2数控装置8的内部的轴控制部11及第2数控处理部22的软件任务,进行在实施方式1中说明的动作的内容。
以与在实施方式1中测定部12及处理时间推定部13经由通信单元3对任务分配变更装置2进行的动作相同的方式,第1数控装置7的测定部12及处理时间推定部13以及第2数控装置8的测定部12及处理时间推定部13经由通信单元3对任务分配变更部14进行测定数据的发送和分配变更任务的通知。在图8中,任务分配变更部14配置于第1数控装置7的内部,因此第1数控装置7的测定部12及处理时间推定部13可以通过取代通信单元3而使用第1数控装置7的内部总线等的方法,对任务分配变更部14发送数据及通知。
任务分配变更部14与实施方式1中的任务分配变更装置2同样地,基于测定数据及分配变更任务的通知而实施分配变更动作。任务分配变更部14可以使用可通信HW信息17及结构设定文件18所包含的信息,对分配变更目标的运算部的选定进行改良。例如,可以考虑预见到与通信单元3的种类相对应发生的与第2数控装置8的通信延迟的大小,任务分配变更部14对运算部的分配优先等级进行变更。
任务分配变更部14可以基于第2数控装置8所具有的运算部的数量和各运算部的负荷的状况,对运算部的分配优先级进行变更。任务分配变更部14能够从可通信HW信息17取得各数控装置所具有的运算部的数量,通过使用测定部12的测定数据,从而能够取得各运算部的负荷的状况。
对操作输入接收部15的动作进行说明。操作输入接收部15如前述那样基于来自输入装置的输入数据,对任务分配变更部14发出指令以使得执行分配变更处理,或指定出分配变更处理的执行周期。
例如,在用户希望立即执行分配变更的情况下,操作输入接收部15如果通过输入装置而接收到指令,则可以对任务分配变更部14输出分配变更处理执行命令以使得立即执行分配变更处理。
可以基于数控***1A或第1数控装置7的模式设定及表示功能的有效或无效的信息和根据动作的调整等目的而设置的参数的一者或两者,操作输入接收部15对执行分配变更处理的频度进行调整。即,在参数变更后的情况下,操作输入接收部15可以接收参数变更通知,基于变更后的参数的内容使由任务分配变更部14执行的分配变更的频度增减。
(实施方式2的效果)
通过上述动作,实施方式2所涉及的数控***1A即使处于数控***1A的运转中状态,也能够从当前正在执行软件任务的运算部向其他运算部移动而执行软件任务。由此,通过在运转中从处理的负荷增大而性能变得不足的数控装置向其他数控装置进行分配的变更,从而数控***1A不中断运转,就能够分散处理的负荷而确保数控***1A的整体性能。
由此,针对对于单体的硬件而言充分的性能要求能够通过单体应对,在要求更高的性能的情况下能够采取追加硬件这一方式,因此用户能够通过针对所需性能而相称的成本利用数控***1A。
在数控***1A中,能够由用户指定分配变更动作的执行定时及频度,在试运转、评价或调查等时,用户手动地指示分配变更而能够掌握内部的状态,另一方面,在生产中等比较长时间的运转时,能够使数控***1A自动地进行分配变更而维持数控***1A的性能。
如上所述,第1数控装置7及第2数控装置8经由通信单元3连接。第1数控装置7将由第1数控处理部21创建出的第1数控指令信息经过通信单元3发送至第2数控装置8。第2数控装置8所具有的轴控制部11使用第1数控指令信息或第2数控指令信息而执行在控制对象6中设置的驱动轴的控制。第1数控装置7及第2数控装置8各自通过在启动时读入结构设定文件18,从而判定自身的作用是第1数控装置7还是第1数控装置7以外。
第1数控装置7所具有的可通信HW检测部16,对经由通信单元3可通信的数控装置进行检测。第1数控装置7所具有的任务分配变更部14基于包含通过可通信HW检测部16得到的检测结果在内的可通信HW信息17和结构设定文件18,以关于由数控***1A执行的软件任务,由第1数控装置7和第2数控装置8之中的与当前分配有该软件任务的数控装置不同的数控装置执行该软件任务的方式,维持由数控***1A对控制对象6进行控制的状态即运转中状态不变而进行分配变更动作。由此,数控***1A即使是运转中也能够进行分配变更动作,即使是第1数控装置7或第2数控装置8在单体中性能不足的状况,也能够作为数控***1A的整体而发挥所需的性能。
任务分配变更部14可以以操作输入接收部15接收到输入为契机而进行分配变更动作。在该情况下,用户在试运转、评价或调查等时能够掌握数控***1A的内部处理的分配状态。
实施方式3.
(实施方式3的结构)
图9是表示实施方式3所涉及的数控***1B的结构的概略的图。实施方式3中的多个结构要素与在其他实施方式中说明的结构要素基本相同,因此在实施方式3中,仅对实施方式3中的特征点及与其他实施方式的差异进行说明。实施方式3所涉及的数控***1B可以对大于或等于两个控制对象6进行控制。图9示出了数控***1B对三个控制对象6进行控制的状况。
实施方式3所涉及的数控***1B与实施方式2所涉及的数控***1A相比,还具有两个数控装置。该两个数控装置是第3数控装置83及第4数控装置84。第3数控装置83及第4数控装置84各自配置为能够经由通信单元3与构成数控***1B的硬件即第1数控装置7、第2数控装置8及存储区域9连接。
第3数控装置83具有与第2数控装置8相同的结构要素。即,第3数控装置83具有轴控制部11、测定部12、处理时间推定部13、操作输入接收部15及第2数控处理部22。第4数控装置84具有第1数控装置7所具有的多个结构要素之中的测定部12、处理时间推定部13、操作输入接收部15及第1数控处理部21。
任务分配变更部14在数控***1B的内部存在一个即可,在实施方式3中存在于第1数控装置7的内部,因此第4数控装置84不具有任务分配变更部14。关于可通信HW检测部16,也与任务分配变更部14相同。
在图9中,一个控制对象6与第2数控装置8连接,两个控制对象6与第3数控装置83连接。与数控装置连接的控制对象6的个数没有特别限制。即,一个数控装置可以与一个控制对象6连接,多个数控装置可以与一个控制对象6连接,一个数控装置可以与多个控制对象6连接。
为了实现控制对象6的控制,数控***1B内部的第1数控处理部21、第2数控处理部22及轴控制部11各自需要进行处理。在实施方式3中,第1数控装置7及第2数控装置8各自具有第1数控处理部21,第2数控装置8及第3数控装置83各自具有第2数控处理部22和轴控制部11。但是,关于各部以何种分配进行用于实现多个控制对象6的控制的处理没有特别限制。
例如在图9的例子中,存在三个控制对象6,在第2数控装置8连接有一个控制对象6,在第3数控装置83连接有两个控制对象6。但是,不一定需要是第1数控装置7的第1数控处理部21进行与连接于第2数控装置8的一个控制对象6有关的处理,第4数控装置84的第1数控处理部21进行与连接于第3数控装置83的两个控制对象6有关的处理,也可以是第1数控装置7的第1数控处理部21进行连接于第3数控装置83的控制对象6的处理。
(实施方式3的动作)
对实施方式3所涉及的数控***1B的动作进行说明。数控***1B的动作的基本部分与实施方式2所涉及的数控***1A的动作相同,因此,以下对实施方式3特有的动作及特征进行说明。
在数控***1B的启动时,至少第1数控装置7和第2数控装置8启动即可。即,可以在数控***1B的状态转换为启动完成状态后对第3数控装置83及第4数控装置84接通电源,第3数控装置83和第4数控装置84使用通信单元3而连接。当然在数控***1B的启动时,第3数控装置83及第4数控装置84可以启动,第3数控装置83和第4数控装置84之中的任一者可以进行与另一者不同的动作。
关于在数控***1B启动时全部数控装置启动的情况,由于在实施方式2进行了叙述,因此在实施方式3中对在数控***1B的运转中追加第3数控装置83及第4数控装置84的情况进行说明。
在数控***1B的运转中,如果第3数控装置83及第4数控装置84的电源被接通,第3数控装置83及第4数控装置84经过通信单元3能够与构成数控***1B的硬件进行通信,则第1数控装置7的可通信HW检测部16对追加的数控装置进行检测,将检测结果追加至可通信HW信息17而对可通信HW信息17进行更新。
如前所述,可通信HW检测部16与通信单元3相对应地进行可通信的硬件的检测处理,但例如也可以构成为通过恒定周期而定期地进行检测处理,在追加有数控装置时能够迅速地检测。例如在通信单元3为Ethernet的情况下,可通信HW检测部16可以对广播地址发送ping等,对新追加至网络的数控装置进行检测。在通信单元3为总线通信的情况下,可通信HW检测部16可以将特定的信号或数据发送至总线连接器,在连接器的目的地追加数控装置,对将电源接通而成为可通信时的信号或数据的变化进行检测,对追加的数控装置进行检测。
可通信HW检测部16新对可通信的HW进行检测,在对可通信HW信息17进行更新后,将更新后的可通信HW信息17通知给任务分配变更部14。任务分配变更部14使用更新后的可通信HW信息17,进行与在实施方式2中说明的分配变更动作相同的分配变更动作。任务分配变更部14可以以可通信HW检测部16新检测出可通信的数控装置为契机而进行分配变更动作。在以新检测出可通信的数控装置为契机而任务分配变更部14进行分配变更动作的情况下,数控***1B不停止运转,有效使用增强的性能就能够分散处理的负荷。任务分配变更部14可以基于实施方式1及实施方式2所述的条件而进行分配变更动作。
任务分配变更部14参照可通信HW信息17,与连接有各数控装置的控制对象6的有无相对应地对分配变更的模式进行切换。一个分配变更模式是具有第1数控处理部21的第1数控装置7的类型的分配变更模式,另一个分配变更模式是具有第2数控处理部22和轴控制部11的第2数控装置8的类型的分配变更模式。
在没有连接控制对象6的情况下,构成第1数控处理部21的软件任务成为分配变更的候选,在连接有控制对象6的情况下,构成第2数控处理部22和轴控制部11的软件任务成为分配变更的候选。此外,分配变更模式并不限定于上述两个模式,也可以与控制对象6所具有的轴的数量等信息相对应地设定大于或等于三个分配变更模式。
(实施方式3的效果)
在与实施方式2所涉及的数控***1A相比需要大规模的***的情况下,即,在需要对多个控制对象6进行控制的情况下,数控***1B即使在硬件的性能相对于所需软件的处理负荷不足的情况下,通过追加的数控装置也能够分散处理的负荷,不使数控***1B陷入性能不足而能够运转。
数控***1B不中断运转就能够实现上述动作,在无法容易地停止的生产设备等中,通过与所需的性能相对应追加数控装置,从而能够分散处理的负荷。
图10是表示实施方式1所涉及的数控***1所具有的第1运算部4由处理器91实现的情况下的处理器91的图。即,第1运算部4的功能可以由执行在存储器92中储存的程序的处理器91实现。处理器91是CPU、处理装置、运算装置、微处理器或DSP。在图10中还示出了存储器92。
在第1运算部4的功能由处理器91实现的情况下,该功能由处理器91和软件、固件或软件及固件的组合实现。软件或固件作为程序被记述,储存于存储器92。处理器91将在存储器92中存储的程序读出并执行,由此实现第1运算部4的功能。
在第1运算部4的功能由处理器91实现的情况下,数控***1具有存储器92,该存储器92用于对由第1运算部4执行的步骤最终得以执行的程序进行储存。在存储器92中储存的程序可以说使计算机执行由第1运算部4执行的处理。
存储器92例如是RAM(Random Access Memory)、ROM(Read Only Memory)、闪存、EPROM(Erasable Programmable Read Only Memory)、EEPROM(注册商标)(ElectricallyErasable Programmable Read-Only Memory)等非易失性或者易失性的半导体存储器、磁盘、软盘、光盘、压缩盘、迷你盘或DVD(Digital Versatile Disk)等。
图11是表示实施方式1所涉及的数控***1所具有的第1运算部4由处理电路93实现的情况下的处理电路93的图。即,第1运算部4可以由处理电路93实现。处理电路93是专用的硬件。处理电路93例如是单一电路、复合电路、被程序化的处理器、被并行程序化的处理器、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable GateArray)或它们的组合。
关于第1运算部4的多个功能,可以是该多个功能的一部分由软件或固件实现,该多个功能的剩余部由专用的硬件实现。如上所述,第1运算部4的多个功能能够由硬件、软件、固件或它们的组合实现。
实施方式1所涉及的数控***1所具有的第2运算部5可以由处理器实现,也可以由处理电路实现。该处理器是与处理器91相同的处理器。该处理电路是与处理电路93相同的处理电路。在第2运算部5由处理器实现的情况下,数控***1具有存储器,该存储器用于对由第2运算部5执行的步骤最终得以执行的程序进行储存。该存储器是与存储器92相同的存储器。
实施方式1所涉及的数控***1所具有的任务分配变更装置2可以由处理器实现,也可以由处理电路实现。该处理器是与处理器91相同的处理器。该处理电路是与处理电路93相同的处理电路。在任务分配变更装置2由处理器实现的情况下,数控***1具有存储器,该存储器用于对由任务分配变更装置2执行的步骤最终得以执行的程序进行储存。该存储器是与存储器92相同的存储器。
实施方式2所涉及的数控***1A所具有的第1数控装置7可以由处理器实现,也可以由处理电路实现。该处理器是与处理器91相同的处理器。该处理电路是与处理电路93相同的处理电路。在第1数控装置7由处理器实现的情况下,数控***1A具有存储器,该存储器用于对由第1数控装置7执行的步骤最终得以执行的程序进行储存。该存储器是与存储器92相同的存储器。
实施方式2所涉及的数控***1A所具有的第2数控装置8可以由处理器实现,也可以由处理电路实现。该处理器是与处理器91相同的处理器。该处理电路是与处理电路93相同的处理电路。在第2数控装置8由处理器实现的情况下,数控***1A具有存储器,该存储器用于对由第2数控装置8执行的步骤最终得以执行的程序进行储存。该存储器是与存储器92相同的存储器。
实施方式3所涉及的数控***1B所具有的第3数控装置83可以由处理器实现,也可以由处理电路实现。该处理器是与处理器91相同的处理器。该处理电路是与处理电路93相同的处理电路。在第3数控装置83由处理器实现的情况下,数控***1B具有存储器,该存储器用于对由第3数控装置83执行的步骤最终得以执行的程序进行储存。该存储器是与存储器92相同的存储器。
实施方式3所涉及的数控***1B所具有的第4数控装置84可以由处理器实现,也可以由处理电路实现。该处理器是与处理器91相同的处理器。该处理电路是与处理电路93相同的处理电路。在第4数控装置84由处理器实现的情况下,数控***1B具有存储器,该存储器用于对由第4数控装置84执行的步骤最终得以执行的程序进行储存。该存储器是与存储器92相同的存储器。
以上的实施方式所示的结构表示一个例子,也能够与其他公知技术组合,也能够将实施方式彼此组合,在不脱离主旨的范围也能够将结构的一部分省略或变更。
标号的说明
1、1A、1B数控***,2任务分配变更装置,3通信单元,4第1运算部,5第2运算部,6控制对象,7第1数控装置,8第2数控装置,9存储区域,10、10A、10B数控处理部,11轴控制部,12测定部,13处理时间推定部,14任务分配变更部,15操作输入接收部,16可通信硬件检测部,17可通信硬件信息,18结构设定文件,19软件模块,21第1数控处理部,22第2数控处理部,83第3数控装置,84第4数控装置,91处理器,92存储器,93处理电路。
Claims (12)
1.一种数控***,其具有经由通信单元进行连接的多个运算部,
该数控***的特征在于,
还具有任务分配变更装置,该任务分配变更装置关于由所述数控***执行的软件任务,以由所述多个运算部之中的与当前分配有所述软件任务的运算部不同的运算部执行所述软件任务的方式进行分配变更动作,
所述任务分配变更装置在维持由所述数控***对控制对象进行控制的状态即运转中状态的情况下进行所述分配变更动作。
2.根据权利要求1所述的数控***,其特征在于,
还具有:数控处理部,其进行用于控制所述控制对象的数控;以及轴控制部,其对针对所述控制对象的驱动轴的指令数据进行计算,
所述多个运算部各自具有测定部,该测定部对由所述数控处理部及所述轴控制部执行处理的情况下的处理时间进行测定,
由所述任务分配变更装置进行的分配变更动作所涉及的所述软件任务,是构成所述数控处理部或所述轴控制部的软件任务,
所述任务分配变更装置基于通过所述测定部得到的处理时间的测定结果,以将在对所述数控***设定的预先决定的周期内需要执行完成的处理即硬期限处理完成的时刻的针对所述周期的裕度即期限裕度确保为大于或等于第1阈值的方式,进行所述分配变更动作。
3.根据权利要求1所述的数控***,其特征在于,
还具有:数控处理部,其进行用于控制所述控制对象的数控;以及轴控制部,其对针对所述控制对象的驱动轴的指令数据进行计算,
所述多个运算部各自具有处理时间推定部,该处理时间推定部基于输入至所述数控***的加工程序,使用所指定的目标速度和表示所述加工程序的每1个程序块的移动距离的长度的信息,对在由所述数控处理部接下来执行动作时要处理的程序块的数量进行计算,基于通过所述加工程序指定的运转模式信息,从大于或等于一个候选对所述数控处理部的平均的处理时间进行选择,对使所述进行处理的程序块的数量乘以选择出的处理时间而得到的处理负荷预测值进行计算,
所述任务分配变更装置在由所述处理时间推定部计算出的所述处理负荷预测值大于或等于第2阈值的情况下,进行所述分配变更动作。
4.一种数控***,其具有经由通信单元进行连接的第1数控装置及第2数控装置,
该数控***的特征在于,
所述第1数控装置具有创建第1数控指令信息的第1数控处理部,将由所述第1数控处理部创建出的所述第1数控指令信息经过所述通信单元发送至所述第2数控装置,
所述第2数控装置具有:第2数控处理部,其使用由所述第1数控处理部创建出的所述第1数控指令信息而创建第2数控指令信息;以及轴控制部,其使用由所述第1数控处理部创建出的所述第1数控指令信息或由所述第2数控处理部创建出的所述第2数控指令信息,执行设置于控制对象的驱动轴的控制,
所述第1数控装置及所述第2数控装置各自通过在启动时将记述有对使用于实现所述第1数控装置及所述第2数控装置的功能的多个软件之中的哪个软件从电源被接通时执行进行确定的初始化软件信息的结构设定文件读入,从而判定自身的作用是所述第1数控装置还是所述第1数控装置以外的装置,
所述第1数控装置具有对经由所述通信单元可通信的数控装置进行检测的可通信硬件检测部和任务分配变更部,
所述任务分配变更部基于包含通过所述可通信硬件检测部得到的检测结果在内的可通信硬件信息和所述结构设定文件,关于由所述数控***执行的软件任务,以由所述第1数控装置和所述第2数控装置之中的与当前分配有所述软件任务的数控装置不同的数控装置执行所述软件任务的方式,在维持由所述数控***对所述控制对象进行控制的状态即运转中状态的情况下进行分配变更动作。
5.根据权利要求4所述的数控***,其特征在于,
所述第1数控装置及所述第2数控装置具有测定部,该测定部对由所述第1数控处理部、所述第2数控处理部及所述轴控制部执行处理的情况下的处理时间进行测定,
由所述任务分配变更部进行的分配变更动作所涉及的所述软件任务是构成所述第1数控处理部、所述第2数控处理部或所述轴控制部的软件任务,
所述任务分配变更部基于通过所述测定部得到的处理时间的测定结果,以将在对所述数控***设定的预先决定的周期内需要执行完成的处理即硬期限处理完成的时刻的针对所述周期的裕度即期限裕度确保为大于或等于第1阈值的方式,进行所述分配变更动作。
6.根据权利要求4所述的数控***,其特征在于,
所述第1数控装置及所述第2数控装置具有处理时间推定部,该处理时间推定部基于输入至所述数控***的加工程序,使用所指定的目标速度和表示所述加工程序的每1个程序块的移动距离的长度的信息,对在由所述第1数控处理部及所述第2数控处理部接下来执行动作时要处理的程序块的数量进行计算,基于通过所述加工程序指定的运转模式信息,从大于或等于一个候选对所述第1数控处理部、所述第2数控处理部的平均的处理时间进行选择,对使所述进行处理的程序块的数量乘以选择出的处理时间而得到的处理负荷预测值进行计算,
所述任务分配变更装置在由所述处理时间推定部计算出的所述处理负荷预测值大于或等于第2阈值的情况下,进行所述分配变更动作。
7.根据权利要求4至6中任一项所述的数控***,其特征在于,
所述任务分配变更部以所述可通信硬件检测部新检测出可通信的数控装置为契机而进行所述分配变更动作。
8.根据权利要求4至6中任一项所述的数控***,其特征在于,
所述第1数控装置及所述第2数控装置各自还具有操作输入接收部,该操作输入接收部对与所述数控***的动作相关的输入进行接收,
所述任务分配变更部以由所述操作输入接收部接收到输入为契机而进行所述分配变更动作。
9.一种任务分配变更装置,其关于由具有经由通信单元进行连接的多个运算部的数控***执行的软件任务,以由所述多个运算部之中的与当前分配有所述软件任务的运算部不同的运算部执行所述软件任务的方式进行分配变更动作,
该任务分配变更装置的特征在于,
在维持由所述数控***对控制对象进行控制的状态即运转中状态的情况下,进行所述分配变更动作。
10.一种任务分配变更装置,其进行与由具有经由通信单元进行连接的第1数控装置及第2数控装置的数控***执行的软件任务有关的分配变更动作,
该任务分配变更装置的特征在于,
所述第1数控装置具有创建第1数控指令信息的第1数控处理部和对经由所述通信单元可通信的数控装置进行检测的可通信硬件检测部,将由所述第1数控处理部创建出的所述第1数控指令信息经过所述通信单元而发送至所述第2数控装置,
所述第2数控装置具有:第2数控处理部,其使用由所述第1数控处理部创建出的所述第1数控指令信息而创建第2数控指令信息;以及轴控制部,其使用由所述第1数控处理部创建出的所述第1数控指令信息或由所述第2数控处理部创建出的所述第2数控指令信息,执行设置于控制对象的驱动轴的控制,
基于包含通过所述可通信硬件检测部得到的检测结果在内的可通信硬件信息和记述有对使用于实现所述第1数控装置及所述第2数控装置的功能的多个软件之中的哪个软件从电源被接通时执行进行确定的初始化软件信息的结构设定文件,关于由所述数控***执行的软件任务,以由所述第1数控装置和所述第2数控装置之中的与当前分配有所述软件任务的数控装置不同的数控装置执行所述软件任务的方式,在维持由所述数控***对所述控制对象进行控制的状态即运转中状态的情况下进行分配变更动作。
11.一种数控方法,其关于由具有经由通信单元进行连接的多个运算部的数控***执行的软件任务,以由所述多个运算部之中的与当前分配有所述软件任务的运算部不同的运算部执行所述软件任务的方式进行分配变更动作,
该数控方法的特征在于,
在维持由所述所述数控***对控制对象进行控制的状态即运转中状态的情况下进行所述分配变更动作。
12.一种数控方法,其进行与由具有经由通信单元进行连接的第1数控装置及第2数控装置的数控***执行的软件任务有关的分配变更动作,
该数控方法的特征在于,包含下述步骤:
所述第1数控装置创建第1数控指令信息;
所述第1数控装置对经由所述通信单元可通信的数控装置进行检测;
将由所述第1数控装置创建出的所述第1数控指令信息经过所述通信单元而发送至所述第2数控装置;
所述第2数控装置使用由所述第1数控装置创建出的所述第1数控指令信息而创建第2数控指令信息;
所述第2数控装置使用由所述第1数控装置创建出的所述第1数控指令信息或创建出的所述第2数控指令信息而执行设置于控制对象的驱动轴的控制;
所述第1数控装置基于包含在对可通信的数控装置进行检测的步骤中得到的检测结果在内的可通信硬件信息和记述有对使用于实现所述第1数控装置及所述第2数控装置的功能的多个软件之中的哪个软件从电源被接通时执行进行确定的初始化软件信息的结构设定文件,关于由所述数控***执行的软件任务,以由所述第1数控装置和所述第2数控装置之中的与当前分配有所述软件任务的数控装置不同的数控装置执行所述软件任务的方式,在维持由所述数控***对所述控制对象进行控制的状态即运转中状态的情况下,进行分配变更动作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/002837 WO2022162787A1 (ja) | 2021-01-27 | 2021-01-27 | 数値制御システム、タスク割り当て変更装置及び数値制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116710861A true CN116710861A (zh) | 2023-09-05 |
Family
ID=82653103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180090891.2A Pending CN116710861A (zh) | 2021-01-27 | 2021-01-27 | 数控***、任务分配变更装置及数控方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7455239B2 (zh) |
CN (1) | CN116710861A (zh) |
DE (1) | DE112021006943T5 (zh) |
WO (1) | WO2022162787A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2577600B2 (ja) | 1988-03-16 | 1997-02-05 | 株式会社小松製作所 | フレキシブル生産システム |
JP3373115B2 (ja) | 1996-05-10 | 2003-02-04 | ファナック株式会社 | 数値制御装置に対するコントロールソフトウェアの入力設定方法 |
US20100274385A1 (en) * | 2008-01-18 | 2010-10-28 | Abb Technology Ab | Control system for controlling an industrial robot |
US10386817B1 (en) * | 2015-09-11 | 2019-08-20 | Haas Automation, Inc. | Multi-core processing machine tool control system |
JP6333796B2 (ja) * | 2015-11-25 | 2018-05-30 | ファナック株式会社 | 複数のcpuコアで最適な負荷配分を行う数値制御装置 |
JP6530783B2 (ja) * | 2017-06-12 | 2019-06-12 | ファナック株式会社 | 機械学習装置、制御装置及び機械学習プログラム |
CN112567304B (zh) * | 2018-08-17 | 2023-09-19 | 三菱电机株式会社 | 数控装置 |
CN112162727A (zh) | 2020-09-16 | 2021-01-01 | 深圳晶泰科技有限公司 | 云端高性能科学计算工作流设计控制***及用户图形界面 |
-
2021
- 2021-01-27 JP JP2022577879A patent/JP7455239B2/ja active Active
- 2021-01-27 CN CN202180090891.2A patent/CN116710861A/zh active Pending
- 2021-01-27 WO PCT/JP2021/002837 patent/WO2022162787A1/ja active Application Filing
- 2021-01-27 DE DE112021006943.8T patent/DE112021006943T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JPWO2022162787A1 (zh) | 2022-08-04 |
WO2022162787A1 (ja) | 2022-08-04 |
JP7455239B2 (ja) | 2024-03-25 |
DE112021006943T5 (de) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2487388C2 (ru) | Исполнительный механизм для систем hvac и способ его функционирования | |
US9869984B2 (en) | Process controller and updating method thereof | |
US9415505B2 (en) | Device and method for dynamic reconfiguration of robot components | |
US10268187B2 (en) | Manufacturing cell machine management system based on component degree of consumption | |
JP2019179468A (ja) | 制御装置、制御方法、及び制御プログラム | |
CN111641685B (zh) | 基于分布式的工业互联网设备协同作业方法及云服务器 | |
JP6680731B2 (ja) | 加工時間予測システム | |
US12007739B2 (en) | Method and system for executing an event-oriented control program | |
WO2008156937A1 (en) | Smart parallel controller for semiconductor experiments | |
CN109388102B (zh) | 控制***和上级服务器 | |
CN116710861A (zh) | 数控***、任务分配变更装置及数控方法 | |
US8495582B2 (en) | Method for carrying out online program changes on an automation system | |
EP3751365B1 (en) | Control device, monitoring method, and monitoring program | |
CN116126501A (zh) | 任务分配方法、装置、智能设备和存储介质 | |
JP6885296B2 (ja) | スレーブ装置、マスター装置、および産業用ネットワークシステム | |
JP6686521B2 (ja) | 制御システムおよび制御方法 | |
KR20170046256A (ko) | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 | |
CN113009859A (zh) | 控制装置和控制方法 | |
CN112987655A (zh) | 控制装置和控制方法 | |
EP0620512A1 (en) | Numeric controller | |
EP4343463A1 (en) | Automation device firmware as a service via a container implementation | |
EP4339775A1 (en) | Container registry and subscription service for industrial systems | |
EP4343462A1 (en) | Application driven enhancement to industrial automation device via container implementation | |
US20240103475A1 (en) | Chainable and nested edge for industrial automation device analytics | |
CN117742200A (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 |