控制装置的制造方法
【专利摘要】多个控制对象设备的至少一部分以每一控制对象设备属于多个组中的任一组的方式被分类。控制装置具有用于确定多个组分中的每一组的控制对象设备的识别信息和属于同一组的控制对象设备检测出异常时剩余控制对象设备的动作的相关信息。控制装置基于运行用户程序时与多个控制对象设备之间交换的数据,对多个控制对象设备各自的异常进行检测,当检测到多个控制对象设备中的任意控制对象设备的异常时,参照识别信息确定检测出异常的控制对象设备所属的异常组,并参照动作相关的信息,控制异常组的动作。
【专利说明】
控制装置
技术领域
[0001]本发明涉及一种通过与多个控制对象设备交换数据来控制多个控制对象设备的动作的控制装置。
【背景技术】
[0002]典型地,在很多生产现场中使用的机械和设备被以可编程序逻辑控制器(Programmable Logic Controller;以下称为“PL(T )等控制装置为主要结构的控制系统所控制。典型地,通过这样的控制装置运行的控制程序是用户操作设计被称为支持装置的信息处理装置来生成的。将这样的由用户自由设计制作的程序称为用户程序。专利文献I中公开了通过这样的支持装置所提供的功能的一例。
[0003]日本特开2013-117804号公报(专利文献I)中公开了如下技术:为了将被PLC使用的梯形图程序(ladder program)中描述的联锁回路(interlock circuit)作为运转监视用联锁画面来显示,而转换为CSV(Comma Separated Values:逗号分隔值)文件。该技术中,从联锁回路的文本格式的程序中提取出输入因子,并对每个输入因子确定注释、变量名、接点类别、在联锁画面上的显示位置等信息,从而制作出由这些信息构成的画面显示用CSV文件。
[0004]现有技术文献
[0005]专利文献
[0006]专利文献1: JP特开2013-117804号公报
【发明内容】
[0007]发明要解决的问题
[0008]专利文献I所述的技术中,例如,能够用变量定义输入于10(Input/Output输入输出)单元的值和/或输出的值。通过使用这样的变量,能够容易制作联锁回路的梯形图程序。
[0009]然而,存在如下问题:伴随生产设备的高速化及大规模化,工序数量及各工序中使用的机构数量增加,导致与PLC交换数据的控制对象设备(10单元等器件)数量庞大。因此,PLC中使用的变量也激增,对用户(开发者等)而言,用户程序设计的难度显著增加。
[0010]另外,存在如下问题:在制作用户程序之后,当追加新器件或变更网络结构时,需要重新评估已制作的用户程序,变更对应的部分,因此在用户程序的修正上会非常费功夫。
[0011]而且,还存在如下问题:即使在多个控制系统之间共用作为对象的工序或机构的一部分的情况下,从使用庞大的变量制作出的用户程序中提取共用部分也是不容易的,因此很难使用户程序的设计作业变得有效。
[0012]另外,存在如下问题:在PLC中,由于统一管理数量庞大的器件,因此很难确定各器件构成哪个工序的哪个机构。因此,当检测出任意器件异常时,无法简易实现故障保护功能和联锁功能。
[0013]本发明是为了解决这样的问题而提出的,其目的在于,在与多个控制对象设备交换数据的控制装置中,即使控制对象设备的数量增加,也能够简化控制装置的开发。
[0014]用于解决问题的方法
[0015]根据本发明的一方面,一种控制装置,通过与多个控制对象设备之间进行数据交换来控制多个控制对象设备的动作,多个控制对象设备的至少一部分以每一控制对象设备属于多个组中的任一组的方式被分类。控制装置包括:具有用于确定属于多个组中的每一组的控制对象设备的识别信息和属于同一组的控制对象设备被检测出异常时剩余控制对象设备的动作的相关信息的单元;基于运行与多个控制对象设备的动作有关的用户程序时与多个控制对象设备之间交换的数据,对多个控制对象设备各自的异常进行检测的单元;当检测出多个控制对象设备中的任意控制对象设备的异常时,通过参照识别信息,确定检测出异常的控制对象设备所属的组即异常组的单元;以及通过参照动作的相关信息,控制异常组的动作的单元。
[0016]优选地,控制异常组的动作的单元选择第一动作、第二动作和第三动作中的任一动作,第一动作是指,使属于异常组的全部控制对象设备都停止运转的动作,第二动作是指,使检测出异常的控制对象设备停止运转,并且在除去异常原因后到控制装置中规定的异常解除条件成立为止的期间,使剩余控制对象设备继续运转的动作,第三动作是指,到异常原因除去为止的期间,使检测出异常的控制对象设备暂时停止运转,并且使剩余控制对象设备继续运转的动作。
[0017]优选地,控制装置还包括:针对多个组中的每一组具有根据其他组的动作来控制本组的动作的依存关系的相关信息的单元;以及通过参照依存关系的相关信息,根据异常组的动作,控制异常组以外的剩余控制组的动作的单元。
[0018]优选地,用户程序能够针对多个组中的每一组编制依存关系,依存关系用于根据其他组的动作来控制本组的动作。控制装置还包括:通过运行用户程序,根据异常组的动作控制异常组以外的剩余控制组的动作的单元。
[0019]优选地,控制剩余控制组的动作的单元在异常组已停止运转时,选择使各剩余控制组的每一组的运转停止还是继续。
[0020]优选地,控制装置还包括:将多个组分别分配给包含用户程序的多个任务的单元。
[0021]优选地,控制装置还包括:以组为单位对多个控制对象设备各自的信号的输入输出时机进行控制的单元。
[0022]发明效果
[0023]根据该发明,在与多个控制对象设备进行数据交换的控制装置中,即使控制对象设备数量增加,也能够简化控制装置的开发。
【附图说明】
[0024]图1是表示本实施方式的控制系统的系统结构的示意图。
[0025]图2是表示本实施方式的PLC的主要部分的硬件结构的示意图。
[0026]图3是表示本实施方式的PLC的软件构成的示意图。
[0027]图4是表示连接在本实施方式的PLC上使用的支持装置的硬件结构的示意图。
[0028]图5是说明本实施方式的控制系统的分组(Grouping)功能的概念的图。
[0029]图6是说明在本实施方式的支持装置中设置的组构成信息的示意图。
[0030]图7是说明在本实施方式的支持装置中设置的组动作信息的图。
[0031 ]图8是说明在本实施方式的支持装置中设置的组动作信息的示意图。
[0032]图9是说明在本实施方式的支持装置中设置的组依存信息的图。
[0033]图10是说明在本实施方式的支持装置中设置的组依存信息的图。
[0034]图11是说明在本实施方式的支持装置中设置的组依存信息的示意图。
[0035]图12是表示在本实施方式的支持装置中生成的用户程序的一例的图。
[0036]图13是表示在本实施方式的PLC中运行的器件控制处理顺序的流程图。
[0037]图14是表示在本实施方式的PLC中运行的器件控制处理顺序的流程图。
【具体实施方式】
[0038]参照附图详细说明本发明的实施方式。此外,对图中的相同或等同部分采用相同的附图标记,不重复进行说明。
[0039]<Α.系统结构>
[0040]首先,对本实施方式的控制系统的系统结构进行说明。本实施方式中,以对机械或设备等控制对象进行控制的可编程序逻辑控制器(PLC)作为控制装置的典型例来进行说明。但是,本发明的控制装置不限于PLC,也可适用各种控制装置。
[0041]图1是表示本实施方式的控制系统I的系统结构的示意图。参照图1,控制系统I具有PLC100和与PLC100连接的支持装置300 JLC100周期性或事件性地运行通过支持装置300生成的用户程序。支持装置300是生成在PLC100中运行的用户程序的信息处理装置的典型例。
[0042]支持装置300能够经由连接电缆114与PLC100连接。支持装置300提供如后述的功能,如生成用户程序,向PLC100转送用户程序,设置各种参数,监控,调试等。典型地,PLC100与支持装置300之间能够以USB(Universal Serial Bus:通用串行总线)标准进行通信。
[0043]PLC100具有用于运行控制运算的CPU(中央处理器)单元104和一个以上功能单元106。典型地,这些功能单元具有1单元、通信单元、伺服单元等,并且能够经由PLC系统总线(未图示)来相互交换数据。另外,通过电源单元102对上述的单元提供适当的电压电源。
[0044]控制系统I中,PLC100经由功能单元106和/或现场总线110与各种现场设备交换数据。这些现场设备包括用以对控制对象进行某些处理的运行器和从控制对象获取各种信息的传感器等。作为这样的现场设备的一例在图1中示出检测开关10及继电器20。另外,PLC100经由现场总线110与一个以上远程1装置200连接。远程1装置200基本上与功能单元106—样,进行与一般的输入输出处理相关的处理。
[0045]作为现场总线110可以采用任意种类的总线方式。例如,作为现场总线110可以采用各种工业用以太网(注册商标)。作为工业用以太网(注册商标)可使用例如,EtherCAT(注册商标)、PR0FINET IRT、MECHATROLINK(注册商标)-1I1、Powerlink、SERCOS(注册商标)-1I1、CIP Mot1n等。进而,也可使用工业用以太网(注册商标)以外的现场网络(Fieldnetwork)。例如,也可使用DeviceNet、CompoNet(注册商标)等。
[0046]远程1装置200是与PLC100经由现场总线110连接的多个远程装置的典型例。PLC100与这些远程1装置200交换数据。
[0047]更具体地,远程1装置200具有:通信连接器202,经由现场总线110进行数据传送的处理;以及一个以上功能单元204。这些功能单元经由远程1装置总线(未图示)能够相互交换数据。即,PLC100具有与远程1装置200进行总线通信的通信主功能。另外,远程1装置200具有与PLC通信主功能之间进行总线通信的功能,也就是具有被PLC控制的通信从功能。
[0048]<B.PLC100 的结构 >
[0049]其次,对本实施方式的PLC100的结构进行说明。图2是表示本实施方式的PLC100的主要部分的硬件结构的示意图。图3是表示本实施方式的PLC100的软件构成的示意图。
[0050]参照图2,对PLC100的CI3U单元104的硬件结构进行说明。⑶U单元104具有处理器120、芯片组122、系统时钟124、主存储器126、非易失性存储器128、USB连接器130、PLC系统总线控制器140、现场总线控制器150和存储卡接口 170。芯片组122与其他组件之间通过各种总线分别结合。
[0051]典型地,处理器120及芯片组122以通用计算机系统结构为基准构成。即,处理器120对从芯片组122按内部时钟依次供给来的命令代码进行解释运行。芯片组122与连接的各种组件之间交换内部数据,并且生成处理器120所需的命令代码。系统时钟124生成预设周期的系统时钟并提供给处理器120。芯片组122具有缓存如下数据等的功能,S卩,在处理器120中运行运算处理而获得结果的数据。
[0052]CPU单元104作为存储单元具有主存储器126及非易失性存储器128。主存储器126属于易失性存储领域,不仅保存应在处理器120中运行的各种程序,还作为各种程序运行时的作业用存储器来使用。非易失性存储器128非易失性地保存0S(0perating System:操作系统)、系统程序、用户程序、数据定义信息、日志信息及后述的组信息等。
[0053]USB连接器130是用于将支持装置300和CPU单元104连接起来的接口。典型地,从支持装置300转送来的可运行的程序等经由USB连接器130被取入CPU单元104。
[0054]CPU单元104作为通信单元具有PLC系统总线控制器140、现场总线控制器150及上级通信控制器160。这些通信回路进行数据的发送及接收。
[0055]PLC系统总线控制器140控制经由PLC系统总线108进行的数据交换。更具体地,PLC系统总线控制器140具有缓冲存储器1421^:系统总线控制回路144和01^(0化6(^ MemoryAccess:直接内存存取)控制回路146 WLC系统总线控制器140经由PLC系统总线连接器148与PLC系统总线108连接。
[0056]现场总线控制器150具有缓冲存储器152、现场总线控制回路154和DMA控制回路156。现场总线控制器150经由现场总线连接器158与现场总线110连接。
[0057]存储卡接口 170对能够安装于CPU单元104且能够从CPU单元104拆下的存储卡172和处理器120进行连接。
[0058]其次,参照图3,对用于实现本实施方式的PLC100所提供的各种功能的软件构成进行说明。这些软件所包括的命令代码在恰当的时机被读取,由CPU单元104的处理器120来运行。
[0059]参照图3,在CPU单元104中运行的软件为三级结构即0S180、系统程序188和用户程序 186。
[0060]0S180提供用于使处理器120运行系统程序188及用户程序186的基本运行环境。
[0061]系统程序188是用于提供PLC100的基本功能的软件组。具体地,系统程序188具有序列命令程序190、DB (数据库)访问处理程序192、输入输出处理程序194、仪器接口处理程序196和调度程序198。另一方面,用户程序186是按照针对控制对象的控制目的而制作的程序。
[0062]用户程序186与序列命令程序190协同动作来实现用户的控制目的。即,用户程序186通过利用由序列命令程序190提供的命令、函数、功能模块等,实现所编程的动作。
[0063]数据定义信息182含如下定义,S卩:当运行用户程序186等时,将所参照的数据(输入数据、输出数据、内部数据)作为特殊变量来处理。随着系统程序188及用户程序186的运行发生预设情况时,所发生的情况的信息与时刻信息建立关联地存储在工作日志184中。由此,能够确定情况的发生源以及情况发生的顺序。
[0064]组信息185是通过对控制系统I中使用的多个器件进行分组以以组作为一个控制单位进行控制的信息。关于组信息185的细节将会后述。
[0065]以下,对各程序进行详细说明。
[0066]序列命令程序190含如下的命令代码组:随着用户程序186的运行,调出用户程序186内所指定的序列命令的实体,实现该命令内容。
[0067]DB访问处理程序192含如下的命令代码组:随着用户程序186的运行,实现访问数据库装置所需的处理。
[0068]输入输出处理程序194是用于在功能单元106与各种现场设备之间管理输入数据的获取及输出数据的发送的程序。
[0069]仪器接口处理程序196提供用以与支持装置300之间交换数据的接口。
[0070]调度程序198根据预设优先级或系统计时器的值等生成用于运行控制程序的线程或程序。
[0071]如上所述,用户程序186是根据用户的控制目的(例如,对象生产线或过程)来制作的。典型地,用户程序186为能够在CPU单元104的处理器120中运行的目标程序格式。用户程序186是通过在支持装置300等中编译源程序来生成的,该源程序以阶梯格式、功能块格式或PLC用程序语言即IEC61131-3描述。此外,IEC61131-3为5种程序语言,即,LD(梯形图)、SFC(顺序功能图)、FBD(功能块图表)、ST(结构化文本)及IL(指令表)。所生成的目标程序格式的用户程序从支持装置300被转送至CPU单元104,存储在非易失性存储器128等中。
[0072]<C.远程1装置200的结构>
[0073]其次,对本实施方式的远程1装置200的结构进行说明。远程1装置200具有与图2所示的PLC100硬件结构类似的硬件结构。但是,由于在远程1装置200中无需运行用户程序,因此能够简化处理器120等进行运算处理的部分。
[0074]远程1装置200具有通信连接器202和经由内部总线(未图示的远程1装置总线)与通信连接器202连接的一个以上功能单元204。功能单元204与连接在CPU单元104的功能单元106相同,因此不重复详细说明。
[0075]<D ?支持装置300的结构>
[0076]其次,对本实施方式的支持装置300进行说明。支持装置300是用于支持PLC100的CPU单元104的使用的装置,与PLC100之间提供各种参数的设置、编程、监控、调试等功能。
[0077]图4是表示与本实施方式的PLC100连接使用的支持装置300的硬件结构的示意图。典型地,支持装置300由通用计算机构成。
[0078]参照图4,支持装置300具有:CPU302,用于运行包括OS在内的各种程序;R0M(ReadOnly Memory:只读存储器)304,用于存储B1S和各种数据;RAM(随机存取存储器)306,提供用以存储CPU302中运行程序所需的数据的作业区域;硬盘(HDD)308,非易失性地存储CPU302中运行的程序等。更具体地,硬盘308存储有支持程序330,支持程序330用于实现支持装置300所提供的功能。此外,可代替硬盘308来使用固态硬盘(SSD)。
[0079]支持装置300还具有用于接受来自用户的操作的键盘310及鼠标312和用于向用户提示信息的监视器314。进而,支持装置300具有用于与PLC100(CPU单元104)等进行通信的通信接口(IF)318。
[0080]在支持装置300中运行的支持程序330等被存储于光存储介质350中来流通。光存储介质350中存储的程序由光盘读取装置316读取并存储在硬盘308等。或者,也可通过网络从上级主机等下载支持程序330。
[0081 ] <E.用户程序的生成功能>
[0082]其次,对本实施方式的支持装置300所提供的用户程序的生成功能进行说明。
[0083](el:概要)
[0084]本实施方式的控制系统结构为能够将与PLC100(CPU单元104)交换数据的多个器件(控制对象设备)进行分组。此外,本实施方式中,“器件”是指,经由PLC系统总线108与PLC100的CPU单元104进行数据交换的功能单元106、各种现场设备、及经由现场总线110与PLC100连接的远程1装置200(功能单元204)。
[0085]在本实施方式中,通过对多个器件进行分组,PLC100对各器件的控制能够以组为单位来进行。本实施方式的支持装置300提供用户界面,该用户界面用于对多个器件进行分组。
[0086]图5是用于说明本实施方式的控制系统的分组功能的概念的图。
[0087]参照图5,设定的场景为本实施方式的控制系统将具有多个工序的生产线作为控制对象。多个工序各自由一个或多个机构构成。机构包括生产线上使用的机械和设备等。例如,第二工序中,使用第一机构、第二机构、第三机构及第四机构。以第一机构、第二机构、第三机构、第四机构的顺序运转,由此运行第二工序。此外,就第一机构至第四机构中的各机构而言,可使具有相同结构的多个机构并行运转。在单一机构的生产能力低时,通过使多个相同机构并行运转,从而维持生产线整体的生产能力。
[0088]为了控制第一机构至第四机构各自的运转,使用一个或多个器件。图5中,代表性地示出第一机构及第三机构各自使用的器件。器件包括PLC100的功能单元106、远程1装置200的功能单元204及对应于第一机构设置的各种现场设备(运行器和传感器等)。此外,各器件经由总线与PLC100(CPU单元104)连接。PLC100与这些多个器件之间交换数据。
[0089]就第一机构至第四机构而言,通过使各结构的对应的一个或多个器件按预期(SP,按设计)进行动作,实现机构运转。器件未按设计的那样动作的原因(异常原因)包括:与PLC100之间的通信发生异常和器件自身发生硬件或软件故障等。此外,一般,暂时的通信异常相当于能够使机构继续运转程度的轻微异常,器件自身的故障相当于机构无法继续运转的严重异常。
[0090]但是,即使是轻微异常,有时因机构不同也应作为严重的故障来处理。例如,基于从多个器件输入的值来监视对象物体的温度的温度监视装置而言,如果一个器件发生通信异常,则无法维持监视性能,因此无法实现机构的运转。因此,在所述温度监视装置中,通信异常被作为严重的故障来处理。如上所述,关于异常是轻微的还是严重的判断标准是根据机构不同而不同的。
[0091]在此,当机构中使用的器件发生严重异常时,难以使机构运转,因此需要停止该机构中所使用的所有器件的动作。另一方面,当在机构中所使用的器件发生轻微异常时,通过使该机构中所使用的剩余的器件动作,能够使机构继续运转。即,异常发生后机构应采取的动作是由器件异常内容所决定的。
[0092]另外,因器件严重故障而引起机构停止运转,从而导致有时难以运行包括该机构的工序。此时,由于该工序停止运行,因此需要停止该工序的上游侧工序的运转来避免二次故障。另一方面,就该工序的下游侧工序而言,为完成处于中途的生产物,需要继续运转一定时间。但是,如图5的第二机构所示,如果是多个机构并行运转的结构,即使多个机构中的一个停止运转,有时也能够通过其他机构的运转来使工序继续运行。
[0093]这样,生产线的控制系统中使用的多个器件中的任意器件发生异常时,根据器件异常的内容(是轻微异常还是严重异常)和/或发生异常的器件属性(使用器件的机构及工序),设定多个PLC100应运行的控制处理。因此,当因生产线的大规模化引起工序的数量和/或构成各工序的机构数量增加时,所使用的器件的数量也变得庞大,因此导致控制处理更加复杂。
[0094]在现有的应用程序中,需要考虑器件异常的内容和/或器件属性,以加入各种控制处理的方式制作用户程序。因此,若控制系统中使用的器件数量增加,则存在用户程序的设计难度显著增大的问题。
[0095]因此,本实施方式中将控制系统中使用的多个器件分组。由此,能够以组为一个控制单位设计用户程序,并且能够在PLC100中以组为一个控制单位运行控制处理。
[0096]具体地,本实施方式的支持装置300提供用于对在控制系统中使用的多个器件进行分组的接口。由此,例如图5所示,用户能够将一个机构中使用的一个或多个器件设置为一组。或者,用户能够将在一个工序中使用的一个或多个器件设置为一组。即,用户能够根据控制目的(例如,对象生产线或工序)任意设置组。
[0097]如上所述通过将多个器件分组,由此在支持装置300中能够用变量定义多组的每一组。由此,用户能够利用表示组的变量来制作用户程序。
[0098]具体地,将在一个机构(或工序)中使用的一个或多个器件设置为一组的情况下,能够利用“表示组的变量”,对以该机构(或工序)中使用的器件作为对象的处理进行编程。按照用户设置的控制系统的结构,对被该变量所参照的组信息进行适当地更新。即,支持装置300逐次更新“表示组的变量”与被变量所参照的组信息之间的对应关系。
[0099]据此,如果利用用于确定组的变量制作用户程序,即使在与该组对应的机构(或工序)中所使用的器件变更,也无需对用户程序进行变更。
[0100]另外,在多个控制系统之间共用作为对象的机构(或工序)的一部分的情况下,在设计用户程序时,容易从其他控制系统的用户程序中挪用共用部分。由此,能够提高用户程序的设计作业效率,从而能够简化PLC100的开发。
[0101](e2:处理顺序及用户界面)
[0102]接着,对本实施方式的支持装置300所提供的用户程序的生成功能的更详尽的处理顺序进行说明。
[0103]支持装置300将用户任意设计的用户程序与组信息及变量表一起进行编译,生成可运行的用户程序。组信息包括:组的构成信息(以下,称为“组构成信息”)、属于组的器件发生异常时组应采取的动作的相关信息(以下,称为“组动作信息”)和根据其他组动作控制本组动作的依存关系的相关信息(以下,称为“组依存信息”)。就组信息而言,使用本实施方式的支持装置300所提供的用于对多个器件进行分组的用户界面,用户能够任意设置组信息。
[0104](e2.1组构成信息)
[0105]图6是说明在本发明的实施方式的支持装置300中设置的组构成信息的示意图。组构成信息包括各组的表示组名的信息及用于确定属于组的器件的识别信息(以下,称为“器件识别信息”)。器件识别信息包括表示器件名的信息和用于确定器件的地址信息。地址信息由网络地址和节点地址构成,其中,网络地址表示器件是连接在哪个网络上的地址,节点地址用于在网络上确定将该器件的地址。
[0106]该例中,示出组名为“Groupl”的组具有器件名分别为“Device aa”、“Device bb”、“Device cc”的三个器件。另外,示出三个器件中的器件名为“Device aa”的器件,其网络地址为“Networkl”,节点地址为“node#l”。
[0107]此外,用户能够在支持装置300所提供的用于设置组的用户界面画面上,对属于各组的器件任意设置。具体地,用户通过在用户界面画面上进行输入操作,从器件一览显示中选择属于各组的器件,输入需要的设置值。具体地,用户至少设置组名、器件名、网络地址及节点地址。
[0108](e2.2组动作信息)
[0109]图7是说明在本实施方式的支持装置300中设置的组动作信息的图。
[0110]参照图7,组动作信息包括:与发生异常的器件动作相关的信息、与发生异常的器件所属的组中的剩余器件的动作相关的信息和用于将该组从异常状态恢复的条件相关的信息。在以下说明中,将发生异常的器件标记为“异常器件”,将异常器件所属的组标记为“异常组”。
[0111]作为异常组的动作,用户根据器件的异常内容等来选择“运转停止”、“故障弱化运转”及“继续运转”中的任一个。所谓“运转停止”是指使异常器件及异常组中的剩余器件停止运转。即,运转停止表示使属于异常组的所有器件停止运转。例如,将在一个机构中使用的多个器件设置为一组的结构中,当该多个器件中的任意器件发生严重异常时,作为异常组的动作选择运转停止。此外,作为从运转停止状态恢复的条件规定为:从异常器件除去了异常原因之后,以用户进行重置操作的方式从机构外部明确表示异常解除。
[0112]所谓“故障弱化运转”是指,使异常器件停止运转,但使异常组中剩余器件继续运转。例如,将在一个机构中使用的多个器件设置为一组的结构中,当该多个器件中的任意器件发生轻微异常时,作为异常组的机构的动作选择故障弱化运转。此外,作为从故障弱化运转状态恢复的条件规定为:从异常器件除去了异常原因之后,规定的异常解除条件成立。作为该异常解除条件例如规定为:以用户进行重置操作的方式从机构外部明确表示解除异常。
[0113]所谓“继续运转”与上述故障弱化运转一样,是指使异常器件暂时停止运转,但使异常组中剩余器件继续运转。继续运转和故障弱化运转的恢复条件不同。作为从继续运转状态恢复的条件规定为:当从异常器件除去了异常原因时,就自动恢复。
[0114]如上所述,在故障弱化运转及继续运转中,在器件发生异常之后,均使异常组中剩余器件继续运转。能够根据异常组所构成的机构(或工序)的功能和/或异常器件的异常内容来决定是选择故障弱化运转还是继续运转。例如,在异常组为用于在操作者进入生产线的预设区域时使器件停止运转的安全机构的情况下,到用户确认危险源已被除去而进行了重置操作为止,不应恢复器件运转。因此,作为异常组的动作选择故障弱化运转。
[0115]另一方面,当异常内容为通信暂时异常时,如果通信恢复了正常,就不再等待用户的重置操作而自动恢复。因此,作为异常组的动作选择继续运转。
[0116]图8是说明本发明的实施方式的支持装置300中设置的组动作信息的示意图。
[0117]参照图8,组动作信息针对各组包括表示组名的信息及表示组动作的信息。该例中示出,组名为“Groupl”的组,属于该组的器件发生异常时组应采取的动作是“Fail-soft0perat1n(故障弱化运转)”。
[0118]用户能够在支持装置300所提供的用于设置组的用户界面画面上,任意设置各组的动作。具体地,能够通过用户在用户界面画面上进行输入操作,从“Fail-softOperat1n”、“Stop”(停止运转)和 “Contin1us operat1n”(继续运转)中进行选择。
[0119](e2.3组依存信息)
[0120]图9及图10是说明本实施方式的支持装置300中设置的组依存信息的图。图9及图10所设定的场景为将在一个机构中使用的一个或多个器件设置为一组。
[0121 ]参照图9,第一机构至第五机构构成生产线的一个工序。以第一机构、第二机构、第三机构、第四机构、第五机构的顺序运转,来运行一个工序。
[0122]第一机构中所使用的器件属于组名为“Groupl”的组,第二机构中使用的器件属于组名为“GroUp2”的组。此外,当第四机构为完全不使用器件的机构时,属于组名为“GroUp4”的组的器件一个也没有。
[0123]如上所述,当属于某组的器件发生严重异常时,作为该异常组的动作,使属于异常组的所有器件停止运转。并且,为了使伴随异常组停止运转而因器件异常引起的损失为最小限度,需要使异常组的上游侧组停止运转。另一方面,为完成中途的生产物,有时优选使异常组下游侧组继续运转。这样,组之间存在依存关系,该依存关系为:本组的运转状态(运转停止或运转继续)是根据其他组的运转状态决定的关系。
[0124]图10是表示组间的依存关系的一例的表。图10示出针对从多个组中任意选择的2组,将一方作为“主组”,另一方作为“从组”时的依存关系。
[0125]参照图10,将在主组停止运转时从组也停止运转的情况定义为“依存”ο另一方面,将即使主组停止运转从组也进行运转的情况定义为“独立”。
[0126]根据图10,当组名为“Groupl”的组停止运转时,“Groupl”下游侧的组(组名为“Group2”、“Group3”、“Group”)能够继续运转。与此相比,当组名为“Group2”的组停止运转时,“GroUp2”上游侧的组(组名为“Groupl”)必须停止运转,而与“GroUp2”并列的组(组名为“Group3”)及“Group2”下游侧的组(组名为“Group4”)能够继续运转。
[0127]图11是说明在本发明的实施方式的支持装置300中设置的组依存信息的示意图。
[0128]参照图11,组依存信息针对各组包括用于确定随着本组停止运转而必须停止运转的其他组的信息。在图11的例中示出,就组名为“Group I”的组而言,当本组停止运转时,应停止运转的其他组一个都没有(“None”)。另外,就组名为“Group2”的组而言,当本组停止运转时,组名为“Groupl”的组应该停止运转。
[0129]用户在支持装置300所提供的用于设置组的用户界面画面上,基于图10所示的组间的依存关系,能够针对每个组设置应停止运转的其他组。具体地,用户通过在用户界面画面上进行输入操作,能够设置“None”或应停止运转的其他组的组名。
[0130](e.2.4处理顺序)
[0131]按上述顺序设置组信息(组构成信息、组动作信息、组依存信息)。在用户界面画面上用户所设置的组信息存储在支持装置300的硬盘308,并且存储在PLC100内的CPU单元104的非易失性存储器128(图2)。
[0132]在用户程序中,将组构成信息中设置的组作为变量来使用,从而能够确定对象组。SP,支持装置300提供能够利用“表示组的变量”生成用户程序的用户界面。
[0133]本实施方式的支持装置300基于组构成信息,灵活地生成或更新变量表。即,如果用户制作了组构成信息,则自动生成或更新变量表,该变量表对用户程序中使用的变量的对应关系进行定义。更具体地,当要求编译用户程序时,支持装置300基于组构成信息生成或更新变量表之后,再生成可运行的用户程序。
[0134]在此,根据本实施方式,由于能够采用用于确定组的变量制作用户程序,因此用户能够对图10所示的组间的依存关系编程。据此,PLC100通过运行用户程序中包含的规定命令,能够按照组间的依存关系控制及监视各组的动作。
[0135]图12是表示在本实施方式的支持装置300中生成的用户程序的一例的图。该例是对图10所示的组间的依存关系的一部分进行编程而得的。详细地,在变量“GrouplStatus”中代入组名为“Groupl”的组的运转状态。在用户程序的生成过程中支持装置300针对变量“Group I Status”生成如下的目标,该目标将属于组构成信息(图6)中的组名为“Groupl”的组的器件的器件名(“Device aa”、“Device bb”、“Device cc”)作为初始值。即,控制器(支持装置 300 或 CPU单元 104)将 “Device aa”、“Device bb”、“Device cc”设置为变量“Group I Status,,0
[0136]功能块“GroupStop”是表示使组停止运转的命令。在自变量“Groups”中输入欲停止运转的组的组名。即,图12上侧的功能块“GroupStop”表示当组名为“GroUp2”的组及组名为“GroUp3”的组中的某一个处于运转停止状态时,使组名为“Groupl”的组停止运转的命令。另外,图12的下侧的功能块“GroupStop”表示当组名为“Group4”的组处于运转停止状态时,使组名为“Group3”的组停止运转的命令。
[0137]功能块“GroupStop”中,在自变量“Groups”输入的组能够基于图10所示的组间的依存关系设置。并且,控制器(支持装置300或CPU单元104)基于组构成信息设置变量“Groupl”、“GroUp3”的值。例如关于变量“GroUp3”,控制器将属于组构成信息的组名为“Group3”的器件的器件名“Device dd”、“Device ee”设为初始值。
[0138]这样,在用户程序编制中,支持装置300针对各变量检索与被指定的变量有相同名字的组,将属于所检索到的组的器件作为该变量的初始值并内置。即,支持装置300提供能够利用“表示组的变量”制作用户程序的环境。如果利用用于确定某些组的变量制作用户程序,即使该组的构成发生变更,即,属于该组的器件发生变更,也不需要变更用户程序。
[0139]支持装置300在根据使用变量制作的源程序中生成可运行的用户程序时,将生成的用户程序发送至PLC100(CPU单元104)。
[0140]此外,有时会变更姑且设计好的组的器件构成。这种情况下,基本上,用户只需变更组构成信息并再次进行编译即可,而不需要变更用户程序。支持装置300参照变更后的组构成信息,更新变量表,根据更新后的变量表,根据用户程序生成适合于新的系统结构的可运行的用户程序(目标程序)。
[0141]<F.PLC100 的器件控制 >
[0142]接着,说明本实施方式的PLC100(CPU单元104)中运行的对多个器件的控制。CPU单元104对器件的控制,是通过使用表示组的变量生成的用户程序及非易失性存储器128中存储的组信息185来实现的。如下说明般,CPU单元104基于组构成信息及组动作信息,控制异常器件及异常组的动作。另外,CPU单元104基于组依存信息控制异常组以外的其他组的动作。
[0143]此外,关于对该其他组的动作的控制,能够代替基于组依存信息的控制,而如图12所示,CPU单元104能够通过事先对组间的依存关系进行编程,基于用户程序中的命令来进行控制。
[0144]图13及图14是表示在本实施方式的PLC100(CPU单元104)中运行的器件控制处理顺序的流程图。
[0145]参照图13,CPU单元104在运行用户程序的过程中,与多个器件(机构单元106、各种现场设备及远程1装置200)进行数据交换。CPU单元104基于与多个器件间交换的数据,来确认各器件的状态(步骤SOI) XHJ单元104基于器件状态,判断器件是否发生异常(步骤
502)。当多个器件均未发生异常时(步骤S02中为“否”),CPU单元104结束有关器件控制的处理。
[0146]相比地,当判断为多个器件中的一个器件发生异常时(步骤S02中为“是”),CPU单元104参照组构成信息(图6),确定发生异常的器件(异常器件)所属的组(异常组)(步骤
503)o
[0147]接着,CHJ单元104参照组动作信息(图8)判断异常组的动作(步骤S04)。具体地,CPU单元104基于组动作信息,选择运转停止、故障弱化运转及继续运转中的一个作为异常组的动作。
[0148]当作为异常组的动作选择了故障弱化运转或继续运转时,CPU单元104使异常器件停止运转,并且使属于异常组的剩余器件继续运转(步骤S06)。
[0149]另一方面,当作为异常组的动作选择了停止运转时,CPU单元104进一步参照组依存信息(图11),来确定伴随异常组停止运转而应停止运转的其他组(步骤S07)。此外,当应停止运转的组一个都没有时,CPU单元104仅使异常器件停止运转。此时,如图14所示,异常器件在停止运转后至异常原因除去的期间,或到明确表示异常解除的期间,处于等待恢复的状态。
[0150]在确定了应停止运转的其他组时,CPU104参照组构成信息来确定属于该其他组的器件(步骤S08)。所确定的器件相当于伴随异常组(异常器件)的运转停止而应停止运转的器件。即,应停止运转的器件包括属于异常组的剩余器件和属于应停止运转的其他组的器件。
[0151]CPU单元104使异常器件停止运转,并且使应停止运转的器件停止运转(步骤S09)。如图14所示,这些器件在停止运转之后至明确表示异常解除为止的期间处于等待恢复的状
??τ O
[0152]参照图14,CPU单元104针对处于运转停止状态的器件判断恢复条件是否成立。具体地,首先,CPU单元104判断异常器件是否除去异常原因(步骤Sll)。当异常器件的异常原因未被除去时(步骤SI I中为“否” ),CPU单元104不进入恢复处理,而使处于运转停止状态的器件继续维持等待恢复的状态。
[0153]与此相比,当判断为异常原因已从异常器件除去时(步骤Sll中为“是”),CPU单元104参照组构成信息确定异常组。接着,CPU单元104参照组动作信息判断异常组的动作(步骤S13)。具体地,CPU单元104基于组动作信息来判断作为异常组的动作选择运转停止、故障弱化运转及继续运转中的哪一个(步骤S14)。
[0154]当作为异常组的动作选择了停止运转或故障弱化运转时,CPU单元104使属于异常组且停止运转的器件处于等待恢复状态(S15)。该状态下,通过用户的重置操作等来指示异常解除时(步骤S16),CPU单元104判断属于异常组的所有器件是否都不存在异常原因(步骤S17)。这是考虑在异常组处于等待恢复状态期间,异常器件以外的器件可能发生新的异常原因。当异常组的其他器件存在异常原因时(步骤S17中为“否”),CPU单元104不进入恢复处理,而使处于运转停止状态的器件继续维持等待恢复状态。
[0155]另一方面,当异常组的其他器件不存在异常原因时(步骤S17中为“是”),CPU单元104参照组依存信息,确定随异常组的恢复而应一起恢复的其他组(步骤S18)。应恢复的其他组相当于通过图13的步骤S07的处理而被确定为应停止运转的组。此外,当异常组的动作为故障弱化运转时,应恢复的其他组一个都没有,只有异常组成为应恢复的组。
[0156]当确定了应恢复的组时,CPU单元104参照组构成信息确定应恢复器件(步骤S19)。当异常组的动作为故障弱化运转时,应恢复器件仅为异常器件。当异常组的动作为停止运转时,应恢复器件包括异常器件、异常组中的其他器件及通过图13的步骤S08确定的应停止运转的器件。
[0157]最后,CPU单元104使包括异常器件在内的应恢复器件从运转停止状态中恢复(步骤S20)。
[0158]<G.优点 >
[0159]根据本实施方式,提供如下的编程环境,S卩,将与控制装置交换数据的多个器件分组,采用用以确定组的变量来制作用户程序。因此,即使控制系统的高速化及大规模化导致使用数量庞大的器件的情况下,也能够有效地制作用户程序。
[0160]另外,在制作用户程序后,即使因控制系统变更导致属于组的器件发生变更的情况下,也无需随之变更用户程序源代码。因此,能够灵活应对系统结构的变更。
[0161]另外,在本实施方式中,通过将一个机构(或工序)所使用的多个器件集中为一组,使在多个控制系统之间共用一部分机构(或工序)的情况下,容易从其他控制系统的用户程序中挪用共用部分。由此,能够使用户程序的设计作业有效率。结果,即使器件数量增加,也能够简化控制装置的开发。
[0162]另外,在控制装置中,通过参照用户所设置的组信息,能够容易确定多个器件分别应用于哪个工序的哪个机构。因此,能够简易实现多个器件中的任意器件发生异常时的故障保护功能和联锁功能。
[0163]此外,在本实施方式中,作为对多个器件进行分组的方法,说明了将一个机构(或工序)中使用的多个器件集中在一组的结构,但是分组方法不限于该结构。本申请的发明的分组是指,将以协同实现一个功能的方式构成的多个器件集中在一组,由此,可以将该多个器件作为实现该功能的模块来处理。因此,以何种方式对多个器件进行分组能够由用户(开发者等)自由设置。
[0164]而且,根据本实施方式,能够将多个组分别分配给包含用户程序的多个任务。详细地,PLC100根据循环时间来周期性地运行用户程序。PLC100依次运行用户程序中示出的命令,并累积与多个器件之间交换的数据。PLC100中累积的数据按循环时间与PLC100外部的数据统一交换。在本实施方式中,基于PLC100中运行的任务的优先级,将多个组的每一组分配给任务。从而,针对每个组确定任务,因此按照各任务的循环时间,控制PLC100与组之间的输入数据的获取及输出数据的发送。即,能够以组为单位控制数据交换的周期。
[0165]此外,能够根据任务优先级,使任务之间的任务循环时间不同。例如,有时与优先级低的任务相比,优先级高的任务的循环时间设置得短。因此,在优先级高的任务中,要求以短周期交换数据。根据本实施方式,由于针对各组控制数据交换的周期,因此能够容易根据任务优先级来实现数据交换。
[0166]另外,根据本实施方式,能够以组为单位控制向器件的数据输入输出时机。据此,能够容易使属于一组的多个器件之间,数据输入输出时机同步,或者使多个器件中的一部分器件之间,数据输入输出时机同步。结果,容易制作用于控制一个机构的程序,因此在其他控制系统中开发类似或相同机构时,容易挪用用户程序和控制对象设备。
[0167]此外,在上述实施方式中,说明了作为组信息设置有组构成信息、组动作信息及组依存信息的结构,但也可以是设置有组构成信息及组动作信息的结构。或者,也可以是设置有组构成信息及组动作信息并在用户程序中编制有组间的依存关系的结构。或者,也可以是设置有组构成信息、组动作信息及组依存信息,并在用户程序中编制有组间的依存关系的结构。用户(开发者)可以根据欲实现的控制系统的结构,选择这四个结构中的任一个。
[0168]应认为本次公开的实施方式在所有方面都是例示形的,而不是限制性的。本发明的保护范围不是由上述说明,而由权利要求书表示,包括与权利要求书等同的含义及范围内的所有变更。
[0169]附图标记说明
[0170]I控制系统、10检测开关、
[0171]20 继电器、100 PLC、
[0172]102电源单元、104 CPU单元、
[0173]106、204功能单元、108 PLC系统总线、
[0174]HO现场总线、114通信电缆、
[0175]120处理器、122芯片组、
[0176]124系统时钟、126主存储器、
[0177]128非易失性存储器、130 USB连接器、
[0178]140 PLC系统总线控制器、142、152缓冲存储器、
[0179]144 PLC系统总线控制回路、146、156 DMA控制回路、
[0180]148 PLC系统总线连接器、150现场总线控制器、
[0181]154现场总线控制回路、158现场总线连接器、
[0182]160上级通信控制器、170存储卡接口、
[0183]172存储卡、180操作系统
[0184]182数据定义信息、184工作日志、
[0185]185组信息、186用户程序、
[0186]188系统程序、190序列命令程序、
[0187]192访问处理程序、194输入输出处理程序、
[0188]196仪器接口程序、198调度程序、
[0189]200远程1装置、202通信连接器、
[0190]300支持装置、302CPU、
[0191]304ROM、306RAM、
[0192]308硬盘、310键盘、
[0193]312鼠标、314监视器、
[0194]316光盘读取装置、318通信IF、
[0195]330支持程序、350光存储介质。
【主权项】
1.一种控制装置,通过与多个控制对象设备之间进行数据交换来控制多个所述控制对象设备的动作, 多个所述控制对象设备中的至少一部分以每一控制对象设备属于多个组中的任一组的方式被分类, 所述控制装置包括: 具有用于确定属于多个所述组中的每一组的控制对象设备的识别信息和属于同一组的控制对象设备被检测出异常时剩余控制对象设备的动作的相关信息的单元; 基于运行与多个所述控制对象设备的动作有关的用户程序时与多个所述控制对象设备之间交换的数据,对多个所述控制对象设备各自的异常进行检测的单元; 当检测到多个所述控制对象设备中的任意控制对象设备的异常时,通过参照所述识别信息,确定检测出异常的控制对象设备所属的组即异常组的单元;以及通过参照所述动作的相关信息,控制所述异常组的动作的单元。2.根据权利要求1所述的控制装置,其中, 控制所述异常组的动作的单元选择第一动作、第二动作和第三动作中的任一动作, 所述第一动作是指,使属于所述异常组的全部控制对象设备都停止运转的动作, 第二动作是指,使所述检测出异常的控制对象设备停止运转,并且除去异常原因后到所述控制装置中规定的异常解除条件成立为止的期间,使剩余控制对象设备继续运转的动作, 第三动作是指,到异常原因除去为止的期间,使所述检测出异常的控制对象设备暂时停止运转,并且使剩余控制对象设备继续运转的动作。3.根据权利要求1或2所述的控制装置,其中, 还包括: 针对多个所述组中的每一组具有根据其他组的动作来控制本组动作的依存关系的相关信息的单元;以及 通过参照所述依存关系的相关信息,根据所述异常组的动作,控制所述异常组以外的剩余控制组的动作的单元。4.根据权利要求1或2所述的控制装置,其中, 所述用户程序能够针对多个所述组中的每一组编制依存关系,所述依存关系用于根据其他组的动作来控制本组的动作, 所述控制装置还包括:通过运行所述用户程序,根据所述异常组的动作控制所述异常组以外的剩余控制组的动作的单元。5.根据权利要求3或4所述的控制装置,其中,控制所述剩余控制组的动作的单元在所述异常组已停止运转时,选择使所述剩余控制组的每一组的运转停止还是继续。6.根据权利要求1至5中任一项所述的控制装置,其中, 还包括:将多个所述组分别分配给包含所述用户程序的多个任务的单元。7.根据权利要求1至6中任一项所述的控制装置,其中, 还包括:以所述组为单位对多个所述控制对象设备各自的所述信号的输入输出时机进行控制的单元。
【文档编号】G05B19/05GK106062646SQ201580011583
【公开日】2016年10月26日
【申请日】2015年1月14日 公开号201580011583.0, CN 106062646 A, CN 106062646A, CN 201580011583, CN-A-106062646, CN106062646 A, CN106062646A, CN201580011583, CN201580011583.0, PCT/2015/50827, PCT/JP/15/050827, PCT/JP/15/50827, PCT/JP/2015/050827, PCT/JP/2015/50827, PCT/JP15/050827, PCT/JP15/50827, PCT/JP15050827, PCT/JP1550827, PCT/JP2015/050827, PCT/JP2015/50827, PCT/JP2015050827, PCT/JP201550827
【发明人】植田贵雅
【申请人】欧姆龙株式会社