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

设备控制系统、设备控制方法以及设备控制程序与流程

2023-09-25 01:57:10 来源:中国专利 TAG:


1.本公开的一个方面涉及一种设备控制系统、设备控制方法以及设备控制程序。


背景技术:

2.专利文献1中公开了一种系统,该系统具备:机器人;加工装置;机器人控制器,控制机器人;加工装置控制器,控制加工装置;和可编程逻辑控制器,生成对机器人控制器和加工装置控制器的指令。
3.现有技术文献
4.专利文献
5.专利文献1:日本特开2019-209454号公报


技术实现要素:

6.发明所要解决的问题
7.本公开的一个方面期望确保系统中的同步处理的安全。
8.技术方案
9.本公开的一个方面的设备控制系统具备:获取部,获取在本地设备与控制该本地设备的控制器之间通过非固定周期通信传输的通信数据;判定部,基于通信数据来判定是否发生了同步错误,其中,所述同步错误是与本地设备和控制器之间的同步相关的错误;和错误处理部,在发生了同步错误的情况下,执行与本地设备和控制器中的至少一方关联的错误处理。
10.本公开的一个方面的设备控制方法包括以下步骤:获取在本地设备与控制该本地设备的控制器之间通过非固定周期通信传输的通信数据;基于通信数据来判定是否发生了同步错误,其中,所述同步错误是与本地设备和控制器之间的同步相关的错误;以及在发生了同步错误的情况下,执行与本地设备和控制器中的至少一方关联的错误处理。
11.本公开的一个方面的设备控制程序使计算机系统执行以下步骤:获取在本地设备与控制该本地设备的控制器之间通过非固定周期通信传输的通信数据;基于通信数据来判定是否发生了同步错误,其中,所述同步错误是与本地设备和控制器之间的同步相关的错误;以及在发生了同步错误的情况下,执行与本地设备和控制器中的至少一方关联的错误处理。
12.发明效果
13.根据本公开的一个方面,能确保系统中的同步处理的安全。
附图说明
14.图1是表示设备控制系统的整体的构成的一个例子的图。
15.图2是表示设备控制系统内的状态转变的一个例子的状态转变图。
16.图3是表示设备控制系统内的状态转变的一个例子的状态转变图。
17.图4是表示设备控制系统内的状态转变的一个例子的状态转变图。
18.图5是表示设备控制系统的功能构成的一个例子的图。
19.图6是表示在设备控制系统中使用的计算机的硬件构成的一个例子的图。
20.图7是表示设备控制系统的动作的一个例子的流程图。
21.图8是表示设备控制系统的动作的一个例子的流程图。
具体实施方式
22.以下,参照附图,对本公开中的实施方式进行详细说明。在附图的说明中,对相同或同等的要素标注相同的附图标记,并省略重复的说明。
23.[系统的概要]
[0024]
图1是表示实施方式的设备控制系统1的整体的构成的一个例子的图。设备控制系统1是用于对配置于现实的作业环境(即现场)的本地设备3进行控制的结构。在一个例子中,设备控制系统1具备至少一个控制器服务器2和至少一个本地设备3。每一个控制器服务器2具备通过软件而安装于该控制器服务器2的运算装置上的至少一个虚拟控制器10。每一个虚拟控制器10通过向至少一个本地设备3发送指令来控制该本地设备3。可以说,对本地设备3而言,虚拟控制器10是上位控制器。一个虚拟控制器10与至少一个本地设备3对应。也可以是,多个虚拟控制器10与一个本地设备3对应。
[0025]
设备控制系统1也可以具备多种本地设备3。图1示出移动机器人4、固定机器人5、nc(numerical control:数控)机床6、环境传感器7以及输送机8作为本地设备3的例子。移动机器人4是能自主行驶的机器人。在一个例子中,移动机器人4具备:无人输送车,根据移动指令来进行自主行驶;和机器人,按照作业指令来执行对工件的作业。无人输送车例如也可以是电动式agv(automated guided vehicle:自动导向车)。固定机器人5是固定于作业环境内(例如地面)的机器人。移动机器人4和固定机器人5均可以是六轴垂直多关节机器人、追加有追加的一个轴关节的七轴冗余型机器人、所谓的标量型多关节机器人或所谓的并联连杆型机器人。在一个例子中,移动机器人4和固定机器人5均具有顶端部,在该顶端部装配有与处理的目的相应的工具。作为工具的例子,可以列举吸附嘴、机器人手、加工工具以及焊枪。nc机床6是按照加工指令来对工件实施切削等机械加工的装置。环境传感器7是按照感测指令来获取与作业环境相关的信息的装置。环境传感器7例如既可以是获取作业环境的图像的摄像机,也可以是获取作业环境的温度的温度传感器。输送机8是按照输送指令来输送工件的装置。作为输送机8的例子,可以列举带式输送机和辊式输送机。
[0026]
在一个例子中,每一个本地设备3具备:设备主体20,发挥本地设备3的主要功能;和本地控制器30,控制该设备主体20。本地控制器30按照来自虚拟控制器10的指令来控制设备主体20,并向虚拟控制器10发送针对该指令的响应。在本例中,本地控制器30是本地设备3的一个要素。作为其他例子,也可以是,在设备控制系统1中,本地控制器30自身作为本地设备3而存在。控制移动机器人4或固定机器人5的本地控制器30也被称为机器人控制器。
[0027]
在一个例子中,本地设备3包括实现运动的控制对象和输入输出装置中的至少一方。在本公开中,“实现运动”是指在现实空间中发生位移。位移包括位置的变更(即移动)、姿势的变更以及形状的变更中的至少一个。位移既可以是可视的,也可以是在本地设备3的壳体内发生(即,也可以是不可视的)。控制对象由设备主体20和本地控制器30中的至少一
方构成。输入输出装置是输入或输出信息或数据的装置,在一个例子中,输入输出装置不发生位移,而在给定的位置维持给定的姿势。控制对象和输入输出装置均由本地控制器30按照来自虚拟控制器10的指令来进行控制。在图1的例子中,可以说,移动机器人4、固定机器人5、nc机床6以及输送机8是控制对象,环境传感器7是输入输出装置。
[0028]
在一个例子中,虚拟控制器10反复执行生成用于控制本地设备3的指令的第一处理,该本地设备3反复执行执行与该指令对应的处理的第二处理。在本例中,设备控制系统1使时刻在每一个虚拟控制器10与每一个本地设备3之间同步,使每一个本地设备3基于固定周期通信来进行动作。在应用了固定周期通信的情况下,虚拟控制器10以给定的周期输出指令,本地设备3以该周期基于该指令来进行动作。此外,本地设备3以该周期向虚拟控制器10输出响应,虚拟控制器10以该周期获取响应。
[0029]
在一个例子中,设备控制系统1获取基于外部的全局时钟的全局时刻,并基于该全局时刻来执行时刻同步。例如,虚拟控制器10经由第一通信网络na连接于具有全局时钟的时刻服务器9,并从该时刻服务器9获取全局时刻。虚拟控制器10和本地设备3经由第二通信网络nb相互连接,并基于根据全局时刻而同步后的时刻来执行通信和控制。为了实现设备控制系统1的时刻同步,可以采用精确时间协议(ptp:precision time protocol)、广义精确时间协议(gptp:generalized ptp)、时间敏感网络(tsn:time sensitive networking)等各种方法。虚拟控制器10也可以通过时刻服务器9以外的装置或方法来获取全局时刻。
[0030]
第一通信网络na和第二通信网络nb均可以是有线网络、无线网络或它们的组合。第一通信网络na和第二通信网络nb均可以通过在其至少一部分内包括移动通信系统的方式被构建。在一个例子中,第一通信网络na既可以由互联网构成,也可以由以太网(注册商标)等局域网构成。第二通信网络nb例如也可以由第五代移动通信系统(5g:5th-generation mobile communication technology)等移动通信系统构成。在一个例子中,第一通信网络na和第二通信网络nb是采用非固定周期通信的网络。因此,第二通信网络nb中的非固定周期通信的至少一部分也可以由移动通信系统构成。在本例中,设备控制系统1使用该第二通信网络nb(即,非固定周期通信)来执行虚拟控制器10与本地设备3的时刻同步,进而实现固定周期通信。在此,固定周期通信是指按照预定的格式每隔固定时间进行信息通信的通信方式。另一方面,非固定周期通信是指数据通信的定时不一定确定的通信方式。
[0031]
在一个例子中,通过第五代移动通信系统(5g)的实用化,高速无线通信成为可能,因此不仅经由有线通信的设备控制的可能性提高,经由无线通信的设备控制的可能性也提高。在本地设备3包括机器人的情况下,设备控制系统可以被实现为云机器人系统。另一方面,在通过由5g等实现的非固定周期通信来收发指令和响应的情况下,由于通信网络内的各种因素,有可能接收指示或响应的定时会发生无法忽视的波动,固定周期通信的执行会变得困难。在一个例子中,在设备控制系统1中,为了提高固定周期通信的可靠性,虚拟控制器10和本地设备3相互收发包括表示指令或响应的消息和执行与该消息对应的处理的时刻的通信数据。该时刻也可以称为消息的开封时刻。在本公开中,将该时刻(开封时刻)也称为处理时刻。
[0032]
假设虚拟控制器10反复执行第一处理,该本地设备3反复执行第二处理。虚拟控制器10经由第二通信网络nb(即,通过非固定周期通信)向本地设备3发送表示处理时刻的通信数据来作为第一处理的至少一部分。本地设备3参照该通信数据中所示的处理时刻,在该
处理时刻执行与该通信数据对应的处理来作为第二处理的至少一部分。这是指:在该处理时刻到来之前,本地设备3对消息进行缓冲,在处理时刻到来之后,本地设备3才调用该消息来执行处理。通过该缓冲,吸收了由非固定周期通信引起的的通信数据的收发的定时的波动(误差),从而维持了固定周期通信。
[0033]
通过如上所述地在设备控制系统1内进行时刻同步并基于同步后的时刻来设定处理时刻,每一个虚拟控制器10和每一个本地设备3能在适当的定时调用消息。通过在虚拟控制器10和本地设备3各自中的反复执行中使用该处理时刻,实现了基于固定周期通信的处理(固定周期控制)。
[0034]
在一个例子中,在发生了妨碍该固定周期控制的现象、即发生了与虚拟控制器10和本地设备3之间的同步相关的错误的情况下,设备控制系统1执行给定的错误处理。在本公开中,将该错误也称为同步错误。错误处理是用于确保设备控制系统1中的同步处理的安全的处理。
[0035]
参照图2~图4,对考虑了错误处理的设备控制系统1的状态转变进行说明。图2~图4均是表示设备控制系统1内的状态转变的一个例子的状态转变图。
[0036]
图2示出着眼于控制器服务器2、虚拟控制器10、本地设备3等设备控制系统1内的各个装置的状态转变。在本例中,当接通电源时,装置成为“初始化”状态,通过之后的启动,装置转变为“正常动作”的状态。当在该正常动作中从处理器输出电源断开的中断信号时,装置转变为“关机”状态。当在初始化或正常动作中为了调试等而从处理器输出停止命令时,装置转变为“临时停止”状态。临时停止的装置通过来自处理器的运行(run)命令而恢复为正常动作,通过来自处理器的电源断开的中断信号而关机。当在初始化、正常动作或临时停止的状态下发生致命性的异常时,装置转变为“异常结束”状态。
[0037]
图3示出着眼于虚拟控制器10与本地设备3之间的网络连接(即,通信)的状态转变。在本例中,当参数设定等初始化完成时,状态从“初始化”转变为“等待配对”,之后,当开始配对时,状态从“等待配对”转变为“通信正常”。当在“通信正常”的状态下发生第一级别的通信错误时,状态转变为“通信异常”。当在“通信正常”的状态下发生低于第一级别的第二级别的通信错误时,状态转变为“通信警告”,当该通信错误被解决时,状态恢复为“通信正常”。当在状态为“通信警告”时发生第一级别的通信错误,或者第二级别的通信错误在给定的时间范围内持续时,状态转变为“通信异常”。当造成“通信异常”的通信错误被解决时,状态转变为“等待配对”。当在状态为“通信正常”或“通信警告”时配对被停止时,状态也转变为“等待配对”。当在初始化、等待配对、通信正常或通信警告中为了调试等而从处理器输出停止命令时,装置转变为“临时停止”状态。临时停止的装置通过来自处理器的运行命令而转变为“等待配对”。
[0038]
图3所示的通信错误是同步错误的一个例子。该通信错误是与虚拟控制器10和本地设备3之间的分组(packet)传输相关的错误。在一个例子中,通信错误被分成第一级别和第二级别这两种。通信错误的级别是指表示通信错误的严重性的程度的指标。第一级别是指通信错误的严重性为给定的程度的情况,第二级别是指该严重性低于第一级别的情况。通信错误的级别用于对通信错误进行分类。
[0039]
图4示出着眼于虚拟控制器10与本地设备3之间的时刻同步的状态转变。在本例中,当初始化完成时,状态从“初始化”转变为“时刻正常”。当在状态为“时刻正常”时发生第
一级别的时刻同步错误时,状态转变为“时刻异常”。当在“时刻正常”的状态下发生低于第一级别的第二级别的时刻同步错误时,状态转变为“时刻警告”,当该时刻同步错误被解决时,状态恢复为“时刻正常”。当在状态为“时刻警告”时发生第一级别的时刻同步错误,或者第二级别的时刻同步错误在给定的时间范围内持续时,状态转变为“时刻异常”。时刻同步是设备控制系统1的正常处理的前提。因此,在设备控制系统1成为了“时刻异常”状态的情况下,考虑到安全性的确保,设备控制系统1只要不被重启就不会恢复。在确认时刻异常被消除之后,重启整个设备控制系统1。重启后的设备控制系统1执行时刻同步的初始化,在该初始化成功之后才恢复为“时刻正常”状态。
[0040]
图4所示的时刻同步错误是同步错误的一个例子。该时刻同步错误是与虚拟控制器10和本地设备3的时刻同步相关的错误。在一个例子中,时刻同步错误被分成第一级别和第二级别这两种。时刻同步错误的级别是指表示时刻同步错误的严重性的程度的指标。第一级别是指时刻同步错误的严重性为给定的程度的情况,第二级别是指该严重性低于第一级别的情况。时刻同步错误的级别用于对时刻同步错误进行分类。
[0041]
[系统的构成]
[0042]
参照图5,对与错误处理相关的设备控制系统1的功能构成进行说明。图5是表示该功能构成的一个例子的图。在本例中,示出本地控制器30作为本地设备3的至少一部分。设备控制系统1具备获取部101、判定部102以及错误处理部103作为功能模块。获取部101是获取在虚拟控制器10与本地控制器30之间通过第二通信网络nb(非固定周期通信)传输的通信数据的功能模块。判定部102是基于该通信数据来判定在虚拟控制器10与本地设备3之间是否发生了同步错误的功能模块。错误处理部103是在发生了该同步错误的情况下执行与虚拟控制器10和本地设备3中的至少一方关联的错误处理的功能模块。在发生了通信错误的情况下,错误处理部103执行与该通信错误对应的错误处理,在发生了时刻同步错误的情况下,错误处理部103执行与该时刻同步错误对应的错误处理。在图5的例子中,获取部101、判定部102以及错误处理部103安装于虚拟控制器10和本地控制器30这双方。
[0043]
在一个例子中,虚拟控制器10具备指令部11、通信部12、时刻同步部13、判定部14以及错误处理部15。指令部11是执行用于控制本地设备3的指令的生成和与该指令对应的处理时刻的设定的功能模块。通信部12是经由第二通信网络nb在其与本地控制器30之间收发通信数据的功能模块。作为该功能的至少一部分,通信部12向本地控制器30发送表示指令和处理时刻的通信数据。时刻同步部13是使由虚拟控制器10内的控制器时钟表示的控制器时刻与全局时刻同步并生成用于将该控制器时刻通知给本地控制器30的通信数据的功能模块。通信部12和时刻同步部13均是获取部101的一个例子。判定部14和错误处理部15分别是判定部102和错误处理部103的一个例子。
[0044]
在一个例子中,本地控制器30具备执行部31、通信部32、时刻同步部33、判定部34以及错误处理部35。执行部31是参照通信数据中所示的处理时刻而在该处理时刻执行与该通信数据对应的处理的功能模块。通信部32是经由第二通信网络nb在其与虚拟控制器10之间收发通信数据的功能模块。作为该功能的至少一部分,通信部32接收表示指令和处理时刻的通信数据。时刻同步部33是使由本地控制器30内的本地时钟表示的本地时刻与控制器时刻同步的功能模块。通信部32和时刻同步部33均是获取部101的一个例子。判定部34和错误处理部35分别是判定部102和错误处理部103的一个例子。
[0045]
在一个例子中,虚拟控制器10通过指令部11与通信部12的协作来反复生成并发送表示指令和处理时刻的通信数据。本地控制器30通过执行部31与通信部32的协作,每当接收到通信数据时,基于该通信数据来在所指定的处理时刻执行指令。
[0046]
图6是表示在设备控制系统1中使用的计算机200的硬件构成的一个例子的图。例如,使用该计算机200来实现虚拟控制器10和本地控制器30。
[0047]
计算机200具有电路210。电路210具备处理器211、内存212、存储器213、定时器214、输入输出端口215以及通信端口216。这些硬件要素各自的个数既可以为一个,也可以为两个以上。存储器213记录用于构成计算机200上的各功能模块的程序。存储器213是硬盘、非易失性半导体存储器、磁盘、光盘等计算机可读记录介质。内存212临时存储从存储器213加载的程序、处理器211的运算结果等。处理器211通过与内存212协作执行程序来实现各功能模块。输入输出端口215根据来自处理器211的指令来在其与设备主体、监视器或输入设备等对象装置220之间进行电信号的输入输出。输入输出端口215还可以发挥向设备主体供电的作用。通信端口216按照来自处理器211的指令,经由通信网络n(例如第一通信网络na和第二通信网络nb中的至少一个)在其与其他装置之间进行数据通信。
[0048]
[系统的动作]
[0049]
作为本公开的设备控制方法的一个例子,参照图7和图8,对设备控制系统1的动作的一个例子进行说明。图7是将与通信错误相关的设备控制系统1的动作的一个例子作为处理流程s1示出的流程图。即,在一个例子中,设备控制系统1执行处理流程s1。图8是将与时刻同步错误相关的设备控制系统1的动作的一个例子作为处理流程s2示出的流程图。即,在一个例子中,设备控制系统1执行处理流程s2。处理流程s1、s2在虚拟控制器10和本地控制器30中基本上是共同的。因此,以下,只要没有特别说明,就作为由获取部101、判定部102以及错误处理部103实施的处理来进行说明。
[0050]
(与通信错误相关的处理)
[0051]
参照图7,对与通信错误相关的处理进行说明。在步骤s11中,获取部101获取通信数据。通信数据既可以包括表示指令或响应的数据项目,也可以包括处理时刻,还可以包括表示用于时刻同步的信息的数据项目。无论哪种情况,通信数据都包括表示沿着时序的分组的顺序的通信状态。该通信状态可以由计数器值、发送时刻、开封时刻等各种值表示。在虚拟控制器10中,由通信部12执行步骤s11,在本地控制器30中,由通信部32执行步骤s11。
[0052]
在步骤s12中,判定部102基于该通信数据来判定是否发生了通信错误。判定部102既可以基于固定周期通信的一个通信周期量的通信数据来执行该判定处理,也可以基于历经固定周期通信的多个通信周期而积累下来的通信数据的集合来执行该判定处理。例如,判定部102参照一个以上的分组各自的通信状态来判定是否发生了通信错误。在未发生通信错误的情况下(在步骤s13中为否),不进行错误处理,设备控制系统1维持“通信正常”状态。在发生了通信错误的情况下(在步骤s13中为是),处理前进至步骤s14。
[0053]
如步骤s14所示,设备控制系统1的后续处理根据通信错误的级别(即,通信错误的种类)而不同。判定部102判定该级别(种类),错误处理部103按照该判定来执行错误处理。
[0054]
对与通信错误的判定相关的各种例子进行说明。也可以是,在监视通信数据(分组传输)的监视定时器(watch dog timer)发生了错误的情况下,判定部102判定通信错误为第一级别。监视定时器是用于定期监视计算机的动作的定时器。或者,也可以是,在关于表
示通信数据的分组发生了延迟或顺序错误的情况下,判定部102判定通信错误为第二级别。延迟是指通信数据(分组)的接收比给定的定时(预定的定时)晚无法允许的程度的现象。顺序错误是指分组到达的顺序相对于指定的顺序发生变化的现象(例如,本应在第一分组之后接收的第二分组在该第一分组之前被接收的现象)。
[0055]
在通信错误为第一级别的情况下,处理前进至步骤s15。在步骤s15中,错误处理部103执行与“通信异常”对应的错误处理。例如,错误处理部103也可以根据本地设备3的种类来执行错误处理。作为一个例子,也可以是,在第一种设备中发生了通信错误的情况下,错误处理部103使该第一种设备停止,在第二种设备中发生了通信错误的情况下,错误处理部103使该第二种设备的动作继续。在一个例子中,也可以是,第一种设备是用于实现控制对象的运动的本地设备3。在该情况下,在发生了通信错误的情况下,错误处理部103使该控制对象(例如,移动机器人4、固定机器人5、nc机床6或输送机8)停止。在一个例子中,也可以是,第二种设备是具有输入输出装置的本地设备3。在该情况下,在通信错误为第一级别的情况下,错误处理部103使该输入输出装置的动作继续。
[0056]
也可以是,在第二通信网络nb(非固定周期通信)的上行通信和下行通信中的任一方中发生了第一级别的通信错误的情况下,虚拟控制器10和本地控制器30中的任一方发挥错误处理的核心作用。
[0057]
对在上行通信中发生了通信错误时的处理的一个例子进行说明。在本例中,虚拟控制器10的判定部14和错误处理部15发挥错误处理的核心作用。判定部14基于由通信部12接收到的通信数据来判定在上行通信中是否发生了通信错误。在发生了该通信错误的情况下,判定部14进一步判定通信错误的级别。由通信部12进行的通信数据的接收相当于步骤s11,基于该通信数据的判定部14的处理相当于步骤s12~s14。在该通信错误为第一级别的情况下,错误处理部15经由第二通信网络nb(非固定周期通信)的下行线路向第一种设备发送停止命令。该停止命令是用于使第一种设备停止的指令,停止命令的发送相当于步骤s15。该第一种设备接收该停止命令,并基于该停止命令而停止。例如,作为第一种设备的一个要素的本地控制器30接收停止命令,并按照该停止命令来使设备主体20停止。
[0058]
对在下行通信中发生了通信错误时的处理的一个例子进行说明。在本例中,第一种设备的本地控制器30的判定部34和错误处理部35发挥错误处理的核心作用。判定部34基于由通信部32接收到的通信数据来判定在下行通信中是否发生了通信错误。在发生了通信错误的情况下,判定部34进一步判定通信错误的级别。由通信部32进行的通信数据的接收相当于步骤s11,基于该通信数据的判定部34的处理相当于步骤s12~s14。在该通信错误为第一级别的情况下,错误处理部35不执行从虚拟控制器10接收到但未执行的指令(命令),而使设备主体20停止。即,错误处理部35优先于来自虚拟控制器10的命令使第一种设备停止。该停止相当于步骤s15。
[0059]
也可以是,在执行与“通信异常”对应的错误处理之后,在所对应的通信错误被解决的情况下,错误处理部103响应于该解决而重新开始虚拟控制器10与本地设备3(例如本地控制器30)之间的配对。错误处理部103既可以以用户输入为契机来执行该重新配对,也可以不受理用户输入而自动执行该重新配对。通过重新开始配对,设备控制系统1能从“通信异常”状态转变为“等待配对”状态,之后恢复为“通信正常”状态。
[0060]
在通信错误为第二级别的情况下,处理前进至步骤s16。在步骤s16中,错误处理部
103基于第二级别的持续时间来执行与“通信警告”或“通信异常”对应的错误处理。例如,错误处理部103维持虚拟控制器10与本地设备3之间的通信,并且输出与该通信错误对应的警告消息。这是与“通信警告”对应的错误处理的一个例子。在该情况下,虚拟控制器10与本地设备3之间的通信持续连接,因此也能持续进行通信数据的收发。错误处理部103既可以将警告消息显示于显示装置上,也可以从扬声器输出该警告消息,还可以向管理者终端等给定的计算机发送该警告消息。也可以是,在第二级别的通信错误在给定的时间范围内持续的情况下,错误处理部103执行与“通信异常”对应的错误处理(即,步骤s15的处理)。例如,在通信数据(分组传输)的延迟和顺序错误中的至少一方在该时间范围内持续的情况下,错误处理部103执行步骤s15的处理。
[0061]
(与时刻同步错误相关的处理)
[0062]
参照图8,对与时刻同步错误相关的处理进行说明。在步骤s21中,获取部101获取与时刻同步相关的通信数据。该通信数据也包括通信状态。在一个例子中,在虚拟控制器10中,由通信部12和时刻同步部13中的至少一方执行步骤s21,在本地控制器30中,由通信部32和时刻同步部33中的至少一方执行步骤s21。
[0063]
在步骤s22中,判定部102基于该通信数据来判定是否发生了时刻同步错误。判定部102既可以基于固定周期通信的一个通信周期量的通信数据来执行该判定处理,也可以基于历经固定周期通信的多个通信周期而积累下来的通信数据的集合来执行该判定处理。例如,判定部102参照一个以上的分组各自的通信状态或给定的消息来判定是否发生了时刻同步错误。在未发生时刻同步错误的情况下(在步骤s23中为否),不进行错误处理,设备控制系统1维持“时刻正常”状态。在发生了时刻同步错误的情况下(在步骤s23中为是),处理前进至步骤s24。
[0064]
如步骤s24所示,设备控制系统1的后续处理根据时刻同步错误的级别(即,时刻同步错误的种类)而不同。判定部102判定该级别(种类),错误处理部103按照该判定来执行错误处理。
[0065]
对与时刻同步错误的判定相关的各种例子进行说明。也可以是,在与时刻同步相关的通信数据的接收超时的情况下(即,在未接收到该通信数据的时间超过了给定的允许时间的情况下),判定部102判定时刻同步错误为第一级别。或者,也可以是,在与时刻同步相关的初始化失败的情况下,判定部102判定时刻同步错误为第一级别。也可以是,在虚拟控制器10的控制器时刻与本地设备3的本地时刻的时间差大于给定的阈值的情况下,判定部102判定时刻同步错误为第一级别,在该时间差处于该阈值以下的数值范围内(以下,将该数值范围也称为“警告范围”)的情况下,判定部102判定时刻同步错误为第二级别。警告范围的下限值大于零。或者,也可以是,在用于时刻同步的协议的状态符合给定的异常的情况下,判定部102判定时刻同步错误为第二级别。
[0066]
在时刻同步错误为第一级别的情况下,处理前进至步骤s25。在步骤s25中,错误处理部103执行与“时刻异常”对应的错误处理。例如,错误处理部103使虚拟控制器10和本地设备3这双方停止。错误处理部103也可以以需要手动重启的方式使虚拟控制器10和本地设备3停止,在一个例子中,错误处理部15使虚拟控制器10停止,错误处理部35使本地设备3停止。
[0067]
在时刻同步错误为第二级别的情况下,处理前进至步骤s26。在步骤s26中,错误处
理部103基于第二级别的持续时间来执行与“时刻警告”或“时刻异常”对应的错误处理。例如,错误处理部103使虚拟控制器10与本地设备3之间的时刻同步继续,并且输出与所判定的时刻同步错误对应的警告消息。与通信错误的情况同样地,可以通过各种方法来输出警告消息。也可以是,在第二级别的时刻处理错误在给定的时间范围内持续的情况下,错误处理部103执行与“时刻异常”对应的错误处理(即,步骤s25的处理)。例如,在历经n个周期(n为2以上的整数)连续发生了控制器时刻与本地时刻的时间差为警告范围内的状况的情况下,错误处理部103执行步骤s25的处理。
[0068]
在一个例子中,处理流程s1、s2均以给定的周期反复执行。例如,处理流程s1也可以与固定周期通信的通信周期相匹配地反复执行。处理流程s2也可以与时刻同步的处理的周期相匹配地反复执行。处理流程s1、s2的周期既可以互不相同,也可以相同。此外,处理流程s1、s2的周期既可以同步,也可以不同步。
[0069]
关于处理流程s1、s2,如上所述,可以是,在发生了通信错误的情况下和在发生了时刻同步错误的情况下,错误处理部103执行互不相同的错误处理。在判定部102进一步判定同步错误的级别的情况下,错误处理部103根据该级别来进行动作。在一个例子中,在同步错误为第一级别的情况下,错误处理部103执行与该第一级别对应的错误处理。在一个例子中,在同步错误为第二级别的情况下,错误处理部使同步继续,并且输出与该同步错误对应的警告消息。也可以是,错误处理部103响应于该第二级别在给定的时间范围内持续的情况而执行与第一级别对应的错误处理。如上所述,设备控制系统1针对各个同步错误,执行与其状况相应的适当的错误处理。
[0070]
[程序]
[0071]
设备控制系统1的各功能模块通过将设备控制程序读取至处理器211或内存212上并使处理器211执行该程序而实现。设备控制程序包括用于实现设备控制系统1的各功能模块的代码。处理器211按照设备控制程序来使输入输出端口215或通信端口216进行动作,执行内存212或存储器213中的数据的读出和写入。通过这样的处理,实现设备控制系统1的各功能模块。
[0072]
设备控制程序也可以在固定记录于cd-rom(compact disc read-only memory:光盘只读存储器)、dvd-rom(digital versatile disk read-only memory:数字通用光盘只读存储器)、半导体存储器等非临时记录介质的基础上被提供。或者,设备控制程序也可以作为叠加于载波的数据信号经由通信网络被提供。
[0073]
[效果]
[0074]
如以上说明的那样,本公开的一个方面的设备控制系统具备:获取部,获取在本地设备与控制该本地设备的控制器之间通过非固定周期通信传输的通信数据;判定部,基于通信数据来判定是否发生了同步错误,其中,所述同步错误是与本地设备和控制器之间的同步相关的错误;和错误处理部,在发生了同步错误的情况下,执行与本地设备和控制器中的至少一方关联的错误处理。
[0075]
本公开的一个方面的设备控制方法包括以下步骤:获取在本地设备与控制该本地设备的控制器之间通过非固定周期通信传输的通信数据;基于通信数据来判定是否发生了同步错误,其中,所述同步错误是与本地设备和控制器之间的同步相关的错误;以及在发生了同步错误的情况下,执行与本地设备和控制器中的至少一方关联的错误处理。
[0076]
本公开的一个方面的设备控制程序使计算机系统执行以下步骤:获取在本地设备与控制该本地设备的控制器之间通过非固定周期通信传输的通信数据;基于通信数据来判定是否发生了同步错误,其中,所述同步错误是与本地设备和控制器之间的同步相关的错误;以及在发生了同步错误的情况下,执行与本地设备和控制器中的至少一方关联的错误处理。
[0077]
在这样的方面中,在使用非固定周期通信的设备控制系统中发生了同步错误的情况下,会执行错误处理,因此能确保使用非固定周期通信的同步处理的安全。
[0078]
在其他方面的设备控制系统中,也可以是,控制器反复执行第一处理,本地设备反复执行第二处理。也可以是,控制器具备发送部,该发送部通过非固定周期通信来向本地设备发送表示处理时刻的通信数据来作为第一处理的至少一部分,其中,该处理时刻基于以控制器与本地设备的时刻同步为基础的该控制器的控制器时刻。也可以是,本地设备具备执行部,该执行部参照发送的通信数据中所示的处理时刻,在该处理时刻执行与该通信数据对应的处理来作为第二处理的至少一部分。在该情况下,根据基于控制器时刻的处理时刻,设定本地设备中的处理的执行定时,从而实现固定周期通信。并且,在这样的设备控制系统中,在发生了同步错误的情况下,会执行错误处理。因此,能对在非固定周期通信的基础上实现固定周期通信的设备控制系统中的同步处理的安全性进行保证。
[0079]
在其他方面的设备控制系统中,也可以是,同步错误包括时刻同步错误,所述时刻同步错误是与控制器和本地设备的时刻同步相关的错误,在发生了时刻同步错误的情况下,错误处理部执行与该时刻同步错误对应的错误处理。由于会判定因使用非固定周期通信而可能发生的时刻同步错误,因此能在变得难以进行时刻同步的情况下适当地执行错误处理。
[0080]
在其他方面的设备控制系统中,也可以是,同步错误还包括通信错误,所述通信错误是与控制器和本地设备之间的分组传输相关的错误。也可以是,在发生了通信错误的情况下和在发生了时刻同步错误的情况下,错误处理部执行互不相同的错误处理。在使用非固定周期通信的设备控制系统中,时刻同步错误和通信错误本质上是不同的错误。通过根据这两种错误中的每一个来改变错误处理,能提高设备控制系统的安全性。
[0081]
在其他方面的设备控制系统中,也可以是,在发生了时刻同步错误的情况下,错误处理部使本地设备和控制器停止。通过在发生时刻同步错误时使设备控制系统停止,能进一步提高该系统的安全。
[0082]
在其他方面的设备控制系统中,也可以是,错误处理部以需要手动重启的方式使本地设备和控制器停止。关于设备控制系统中重要的时刻同步,期望在确认了可靠的恢复时重新开始。通过该结构,能充分保证设备控制系统的安全性。
[0083]
在其他方面的设备控制系统中,也可以是,在与时刻同步相关的通信数据的接收超时的情况下,错误处理部使本地设备和控制器停止。可以说,无法接收到与时刻同步相关的数据是严重的错误。通过在发生这样的错误的情况下使设备控制系统停止,能适当地确保设备控制系统的安全。
[0084]
在其他方面的设备控制系统中,也可以是,在与时刻同步相关的初始化失败的情况下,错误处理部使本地设备和控制器停止。时刻同步的初始化失败是指无法进行时刻同步,因此可以说这是严重的错误。通过在发生这样的错误的情况下使系统停止,能适当地确
保设备控制系统的安全。
[0085]
在其他方面的设备控制系统中,也可以是,在控制器的控制器时刻与本地设备的本地时刻的时间差大于给定的阈值的情况下,错误处理部使本地设备和控制器停止。通过在影响时刻同步的时间差超过了给定的基准的情况下使系统停止,能适当地确保设备控制系统的安全。
[0086]
在其他方面的设备控制系统中,也可以是,在发生了通信错误的情况下,错误处理部根据本地设备的种类来执行错误处理。通过根据本地设备的种类来执行错误处理,能根据错误的状况来适当地确保设备控制系统的安全。
[0087]
在其他方面的设备控制系统中,也可以是,本地设备包括第一种设备和第二种设备。也可以是,在第一种设备中发生了通信错误的情况下,错误处理部使第一种设备停止,在第二种设备中发生了通信错误的情况下,错误处理部使第二种设备的动作继续。通过根据本地设备的种类来如上所述地使错误处理不同,能进行与状况相应的灵活的错误处理。
[0088]
在其他方面的设备控制系统中,也可以是,第一种设备是用于实现控制对象的运动的设备。也可以是,在发生了通信错误的情况下,错误处理部使第一种设备停止以免产生运动。通过停止可能对周边造成意想不到的影响的运动,能可靠地确保设备控制系统的安全。
[0089]
在其他方面的设备控制系统中,也可以是,判定部和错误处理部安装于控制器。也可以是,判定部判定在非固定周期通信的上行通信中是否发生了通信错误,在发生了通信错误的情况下,错误处理部经由非固定周期通信的下行通信向第一种设备发送停止命令,第一种设备基于停止命令而停止。通过在发生了上行通信方向上的通信错误的情况下使用下行通信来向第一种设备发送停止命令,能使第一种设备可靠地停止。
[0090]
在其他方面的设备控制系统中,也可以是,判定部和错误处理部安装于第一种设备。也可以是,判定部判定在非固定周期通信的下行通信中是否发生了通信错误,在发生了通信错误的情况下,错误处理部优先于来自控制器的命令使第一种设备停止。通过该结构,在发生了下行通信方向上的通信错误的情况下,使第一种设备自主停止,由此能使第一种设备可靠地停止。
[0091]
在其他方面的设备控制系统中,也可以是,第二种设备具有输入输出装置。也可以是,在发生了通信错误的情况下,错误处理部使输入输出装置的动作继续。在该情况下,不会向即使在发生通信错误时也不会对周边造成意想不到的影响的输入输出装置提供不必要的指令,能使该输入输出装置持续运转。
[0092]
在其他方面的设备控制系统中,也可以是,在分组传输的延迟在给定的时间范围内持续的情况下,错误处理部根据本地设备的种类来执行错误处理。通过该结构,能针对分组传输的较长的延迟适当地确保设备控制系统的安全。
[0093]
在其他方面的设备控制系统中,也可以是,在监视分组传输的监视定时器发生了错误的情况下,错误处理部根据本地设备的种类来执行错误处理。在该情况下,能针对监视定时器的错误适当地确保系统的安全。
[0094]
在其他方面的设备控制系统中,也可以是,作为错误处理的至少一部分,错误处理部响应于通信错误的解决而使控制器与本地设备之间的配对重新开始。通过该结构,能在通信错误被解决的情况下使控制器与本地设备重新连接。
[0095]
在其他方面的设备控制系统中,也可以是,判定部进一步判定同步错误的级别。也可以是,在同步错误为第一级别的情况下,错误处理部执行错误处理,在同步错误为低于第一级别的第二级别的情况下,错误处理部响应于该第二级别在给定的时间范围内持续的情况而执行错误处理。在同步错误的级别相对较低的情况下,基于该状况的持续时间来执行错误处理,因此能在设备控制系统的运用中取得安全与运转的平衡。
[0096]
在其他方面的设备控制系统中,也可以是,在同步错误为第二级别的情况下,错误处理部使同步继续,并且输出与该同步错误对应的警告消息。通过在错误的级别相对较低的情况下维持同步并且输出警告消息,能在设备控制系统发生严重的错误之前通知该错误的予兆。
[0097]
在其他方面的设备控制系统中,也可以是,非固定周期通信的至少一部分由移动通信系统构成。在该情况下,能在将移动通信系统用于非固定周期通信的结构中确保同步处理的安全。
[0098]
在其他方面的设备控制系统中,也可以是,控制器是安装于服务器上的虚拟控制器。在该情况下,能在使控制器虚拟化的结构中确保同步处理的安全。
[0099]
[变形例]
[0100]
以上,基于本公开中的实施方式进行了详细说明。但是,本公开并不限定于上述实施方式。本公开可以在不脱离其主旨的范围内进行各种变形。
[0101]
设备控制系统中的上位控制器也可以不是虚拟控制器,而是具有专用的硬件构成的装置。
[0102]
在本公开中,也可以说,同步错误的级别是用于对同步错误进行分类的方便的信息。设备控制系统可以不使用该级别,而根据同步错误的种类来执行错误处理。
[0103]
在上述的例子中,虚拟控制器10或本地控制器30具备用于错误处理的功能模块。也可以是,除此之外或取而代之,构成第二通信网络nb内的通信装置或计算机具备该功能模块。例如,也可以是,该通信装置或计算机具备获取部、判定部以及错误处理部中的至少一个。
[0104]
系统的硬件构成并不限定于通过执行程序来实现各功能模块的方案。例如,上述实施方式中的功能模块的至少一部分既可以由专用于该功能的逻辑电路构成,也可以由集成了该逻辑电路的asic(application specific integrated circuit:专用集成电路)构成。
[0105]
由至少一个处理器执行的方法的处理过程并不限定于上述实施方式中的例子。例如,既可以省略上述步骤(处理)的一部分,也可以按其他顺序执行各步骤。此外,既可以将上述步骤中的任意两个以上的步骤组合,也可以修改或删除步骤的一部分。或者,也可以是,除了执行上述的各步骤之外,还执行其他步骤。
[0106]
在计算机系统或计算机内比较两个数值的大小关系时,可以使用“以上”和“大于”这两个基准中的任一者,也可以使用“以下”和“小于”这两个基准中的任一者。这样的基准的选择并不会变更与比较两个数值的大小关系的处理相关的技术意义。
[0107]
附图标记说明
[0108]
1:设备控制系统;
[0109]
2:控制器服务器;
[0110]
3:本地设备;
[0111]
9:时刻服务器;
[0112]
10:虚拟控制器;
[0113]
11:指令部;
[0114]
12:通信部(获取部);
[0115]
13:时刻同步部(获取部);
[0116]
14:判定部;
[0117]
15:错误处理部;
[0118]
20:设备主体;
[0119]
30:本地控制器;
[0120]
31:执行部;
[0121]
32:通信部(获取部);
[0122]
33:时刻同步部(获取部);
[0123]
34:判定部;
[0124]
35:错误处理部;
[0125]
101:获取部;
[0126]
102:判定部;
[0127]
103:错误处理部;
[0128]
na:第一通信网络;
[0129]
nb:第二通信网络。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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