控制系统、控制装置以及控制程序的制作方法

文档序号:18516323发布日期:2019-08-24 09:28阅读:146来源:国知局
本发明涉及一种经网络(network)化的控制系统、包含在此种控制系统中的控制装置、以及面向此种控制装置的控制程序。
背景技术
::伴随近年的信息通信技术(informationandcommunicationtechnology,ict)的进步,正推进在制造现场使用的各种装置的网络化及多功能化。作为一例,如下所述的系统已得到实用化,即,将可编程逻辑控制器(programmablelogiccontroller,plc)(可编程控制器(programablecontroller))等控制装置、传感器(sensor)或继电器(relay)等输入/输出(input/output,i/o)设备、以及逆变器(inverter)或马达驱动器(motordriver)等致动器(actuator)等利用网络予以连接而一体化。另一方面,在由控制装置所执行的用户程序(userprogram)中,还要求确认传感器(sensor)等的可靠性,且必须执行处理。在经网络化的控制系统中,必须收集及监控连接于网络的各设备的状态。例如,日本专利特开2007-108923号公报(专利文献1)公开了一种结构,其包含一个主机单元(masterunit)及连接于现场总线(fieldbus)的切片(slice)通信单元,可根据状态标记(flag)来监控各切片通信单元的状态。现有技术文献专利文献专利文献1:日本专利特开2007-108923号公报技术实现要素:发明所要解决的问题随着控制系统网络化的高度化,存在下述问题:作为监控对象的单元等增加,必须考虑所有监控对象的可靠性,用户程序的制作效率下降。迫切期望一种结构,即便是经多阶段或高度网络化的控制系统,也能够实现高效的编程(programming)。解决问题的技术手段本发明的一实施方式的控制系统包括:处理单元,执行用户程序;一个或多个功能单元;一个或多个通信单元,在处理单元与一个或多个功能单元之间中继数据;以及反映部件,当在用户程序中,指定了与功能单元所保持的任一数据相关联的、表示所述数据的有效性的变量时,将使位于从保持所指定的数据的功能单元直至处理单元为止的传输路径上的通信单元各自的状态集合的结果,反映为所述变量所示的值。优选的是,反映部件包括下述部件,即:对指定了变量的用户程序的源代码(sourcecode)进行分析,以确定与所述变量所示的值的决定关联的一个或多个通信单元的部件;以及追加一命令至源代码中,生成用户程序的目标代码(objectcode)的部件,所述命令用于根据表示所确定的一个或多个通信单元的状态的值的集合,来决定变量所示的值。优选的是,控制系统还包括连接于处理单元的支持装置,反映部件被安装于支持装置。优选的是,反映部件包括下述部件,即:对指定了变量的用户程序的源代码进行分析,以确定与所述变量所示的值的决定关联的一个或多个通信单元的部件;以及在处理单元中追加一功能的部件,所述功能是基于所确定的信息,来更新及保持变量所示的值。优选的是,控制系统还包括连接于处理单元的支持装置,支持装置实施用户程序的源代码的分析,并且将通过所述分析而确定的信息发送至处理单元。优选的是,反映部件包括下述部件,即:在处理单元中,响应对象数据及与所述对象数据相关联的变量名,来确定保持对象数据的功能单元,并且确定从所述所确定的功能单元直至处理单元为止的传输路径的部件;以及追加一命令的部件,所述命令用于在每个规定周期,将使位于所确定的传输路径上的通信单元各自的状态集合的结果更新为所指定的变量所示的值。优选的是,变量所示的值构成为,能从连接于处理单元的外部装置进行访问(access)。优选的是,通信单元之间构成有遵循规定协议(protocol)的网络。本发明的一实施方式的控制装置包括:处理单元,执行用户程序;以及通信接口,用于与一个或多个功能单元进行通信。在处理单元与一个或多个功能单元之间,配置有中继数据的一个或多个通信单元。控制装置包括反映部件,所述反映部件当在用户程序中,指定了与功能单元所保持的任一数据相关联的、表示所述数据的有效性的变量时,将使位于从保持所指定的数据的功能单元直至处理单元为止的传输路径上的通信单元各自的状态集合的结果,反映为所述变量所示的值。根据本发明的一实施方式,可提供一种由计算机执行的控制程序。计算机包括执行用户程序的处理单元、及用于与一个或多个功能单元进行通信的通信接口。在处理单元与一个或多个功能单元之间,配置有中继数据的一个或多个通信单元。控制程序使计算机执行下述步骤:当在用户程序中,指定了与功能单元所保持的任一数据相关联的、表示所述数据的有效性的变量时,确定从保持所指定的数据的功能单元直至处理单元为止的传输路径、及位于所确定的传输路径上的通信单元;以及将使所确定的各通信单元的状态集合的结果,反映为所述变量所示的值。发明的效果根据本发明的实施方式,即便是经多阶段或高度网络化的控制系统,也能够实现高效的编程。附图说明图1是表示本实施方式的控制系统的结构例的示意图。图2是表示构成本实施方式的控制系统的plc的中央处理器(centralprocessingunit,cpu)单元的装置结构的一例的示意图。图3是表示构成本实施方式的控制系统的远程(remote)输入/输出(input/output,i/o)装置的耦合器单元(couplerunit)160的装置结构的一例的示意图。图4是表示本实施方式的控制系统的支持装置的装置结构的一例的示意图。图5是表示经由本实施方式的控制系统的远程i/o装置来收集输入数据的状态的一例的图。图6是表示利用图5所示的输入数据的用户程序的一例的图。图7是用于说明本实施方式的控制系统的支持装置中的与用户程序的制作相关的功能的示意图。图8是用于说明本实施方式的控制系统中的、用于提供有效确认数据的第一安装方法的示意图。图9是表示与本实施方式的控制系统中的用于提供有效确认数据的第一安装方法相关的处理流程的流程图。图10是用于说明与本实施方式的控制系统的支持装置中的第二安装方法相关的处理的示意图。图11是用于说明与本实施方式的控制系统中的第二安装方法相关的处理的示意图。图12是表示与本实施方式的控制系统中的用于提供有效确认数据的第二安装方法相关的处理流程的流程图。图13是用于说明本实施方式的控制系统中的用于提供有效确认数据的第三安装方法的示意图。图14是表示与本实施方式的控制系统中的用于提供有效确认数据的第三安装方法相关的处理流程的流程图。具体实施方式参照附图来详细说明本发明的实施方式。另外,对于图中的相同或相当的部分,标注同一符号并不再重复其说明。<a.控制系统的结构例>首先说明本实施方式的控制系统的结构例。图1是表示本实施方式的控制系统1的结构例的示意图。参照图1,控制系统1具有多个网络,且包含连接于任一网络的多个装置。作为一例,控制系统1包含作为控制装置的典型例的plc(可编程控制器)2、以及经由现场网络(fieldnetwork)而与plc2连接的远程i/o装置3a、3b、3c、3d(以下也总称作“远程i/o装置3”)。plc2也可进一步连接于上位网络4。在上位网络4,也可连接有其他plc,还可连接有网关服务器(gatewayserver)或数据库服务器(databaseserver)等任意的信息处理装置。更具体而言,远程i/o装置3a、3b、3c经由现场网络5而与plc2连接。远程i/o装置3a提供另一现场网络6,远程i/o装置3a与远程i/o装置3d经由现场网络6而连接。现场网络6是由安装于远程i/o装置3a的通信单元152进行管理。plc2可经由现场网络5及现场网络6来访问远程i/o装置3d。作为现场网络5、6,典型的采用保证网络内的节点(node)间通信时间的协议。即,通信单元之间构成遵循规定协议的网络。作为此种保证节点间通信时间的协议,例如可采用ethercat(注册商标)、ethernet/ip(注册商标)、devicenet(注册商标)、componet(注册商标)等。另外,作为现场网络5与现场网络6,无须采用同一协议,只要采用适合于各个装置或单元的协议即可。典型的是,plc2包含cpu单元100、及安装于cpu单元100的一个或多个功能单元150。而且,远程i/o装置3包含具有通信功能的耦合器单元160、及安装于耦合器单元160的一个或多个功能单元150。功能单元150是用于在作为控制对象的设备或机械等之间交换各种信息的装置。功能单元150例如具有接收数字(digital)信号的数字输入(digitalinput,di)功能、输出数字信号的数字输出(digitaloutput,do)功能、接收模拟(analog)信号的模拟输入(analoginput,ai)功能、输出模拟信号的模拟输出(analogoutput,ao)功能中的一个或多个功能。或者,作为功能单元150,包含安装有比例积分微分(proportionalintegralderivative,pid)控制或运动(motion)控制等特殊功能者。<b.各装置的装置结构>接下来,对构成控制系统1的各装置的装置结构进行说明。(b1:plc2)图1所示的plc2为控制装置的一例,通过执行系统程序及用户程序,来控制设备或机械等控制对象。典型的是,plc2包含:cpu单元100,相当于执行系统程序及用户程序的处理单元;以及一个或多个功能单元150,被安装于cpu单元100。图2是表示构成本实施方式的控制系统1的plc2的cpu单元100的装置结构的一例的示意图。参照图2,cpu单元100包含处理器(processor)102、芯片组(chipset)104、主存储器106、非易失性存储器108、时钟(clock)110、通信接口112、存储卡接口(memorycardinterface)116、网络控制器(networkcontroller)120、130以及内部总线控制器(buscontroller)140。处理器102读出保存在非易失性存储器108中的系统程序108a及用户程序108b,在主存储器106中展开,并根据从时钟110供给的时钟,来依序执行系统程序108a及用户程序108b中所含的命令。主存储器106包含动态随机存取存储器(dynamicrandomaccessmemory,dram)或静态随机存取存储器(staticrandomaccessmemory,sram)等,是保持用户程序或临时数据等的存储装置。非易失性存储器108包含快闪存储器(flashmemory)等,保存系统程序108a、用户程序108b、各种设定信息。芯片组104支持处理器102与周边装置的数据交换。通信接口112是用于与支持装置200等外部装置进行通信的电路,经由连接器114而与外部装置连接。在存储卡接口116,可安装存储卡118,进行从存储卡118的数据读出及对存储卡118的数据写入。网络控制器120、130对经由现场网络5的数据交换进行控制。网络控制器120、130经由连接器128、138而与现场网络5分别连接。具体而言,网络控制器120包含缓冲存储器(buffermemory)122、传送控制电路124、以及实现直接存储器存取(dynamicmemoryaccess,dma)的dma控制电路126。同样,网络控制器130包含缓冲存储器132、传送控制电路134以及dma控制电路136。缓冲存储器122、132依序保存在现场网络5上传送的数据包(packet)等。传送控制电路124、134对数据包向现场网络5上的送出、以及数据包从现场网络5的接收等进行控制。dma控制电路126、136控制对缓冲存储器122、132的存取。内部总线控制器140经由连接器148而与内部总线连接,对与安装于cpu单元100的功能单元150之间的、经由内部总线的数据交换进行中介。具体而言,内部总线控制器140包含缓冲存储器142、传送控制电路144及dma控制电路146。这些各部位的功能与网络控制器120、130的对应部位同样,因此不再重复详细说明。网络控制器120、130及内部总线控制器140相当于用于与功能单元150进行通信的通信接口。(b2:远程i/o装置3)图1所示的远程i/o装置3是可配置于远离plc2的位置的一种中继装置,收集表示作为控制对象的设备或机械等的状态的信息等,并作为输入数据而传送给plc2,并且将通过plc2中的运算而决定的控制输出作为指令而输出作为控制对象的设备或机械。具体而言,远程i/o装置3包含:作为通信单元的一例的耦合器单元160,在cpu单元100与一个或多个功能单元150之间传送数据;以及一个或多个功能单元150,被安装于耦合器单元160。图3是表示构成本实施方式的控制系统1的远程i/o装置3的耦合器单元160的装置结构的一例的示意图。参照图3,耦合器单元160包含控制器161、通信接口162、存储卡接口166、网络控制器170、180以及内部总线控制器190。控制器161是承担远程i/o装置3中的处理的电路,典型的是,使用专用集成电路(applicationspecificintegratedcircuit,asic)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等硬接线(hardwired)的处理电路而实现。但是,也可对其全部或一部分功能进行软件(software)安装(通过处理器执行程序来实现)。通信接口162与图2所示的通信接口112同样,是用于与支持装置200等外部装置进行通信的电路,经由连接器164而与外部装置连接。网络控制器170、180对经由现场网络5的数据交换进行控制。更具体而言,网络控制器170包含缓冲存储器172、传送控制电路174及dma控制电路176。同样地,网络控制器180包含缓冲存储器182、传送控制电路184及dma控制电路186。网络控制器170、180的功能与图2所示的网络控制器120、130同样,因此不再重复详细说明。内部总线控制器190经由连接器198而与内部总线连接,对与安装于耦合器单元160的功能单元150之间的、经由内部总线的数据交换进行中介。具体而言,内部总线控制器190包含缓冲存储器192、传送控制电路194及dma控制电路196。这些各部位的功能与图2所示的内部总线控制器140的对应部位同样,因此不再重复详细说明。(b3:支持装置200)如图1所示,在plc2或远程i/o装置3,可连接有支持装置200。支持装置200提供:对构成控制系统1的plc2及远程i/o装置3所保持的数据或状态值进行确认的功能;或者对由plc2所执行的程序进行开发的功能及调试(debug)的功能等。典型的是,支持装置200是通过在具有通用架构(architecture)的个人计算机(personalcomputer)上执行支持程序而实现。图4是表示本实施方式的控制系统1的支持装置200的装置结构的一例的示意图。参照图4,支持装置200包含处理器202、芯片组204、主存储器206、非易失性存储器208、显示接口210、输入部212及通信接口214。处理器202读出保存在非易失性存储器208中的操作系统(operatingsystem,os)208a及支持程序208b,在主存储器206上展开,并依序执行os208a及支持程序208b中所含的命令。主存储器206包含dram或sram等,是保持用户程序或临时数据等的存储装置。非易失性存储器208包含快闪存储器等,保存os208a、支持程序208b、各种设定信息。芯片组204支持处理器202与周边装置的数据交换。显示接口210将由处理器202等得出的运算结果输出至显示器(display)。输入部212包含键盘(keyboard)或存储器等,受理用户的操作。通信接口214是用于与plc2(cpu单元100)进行通信的电路。<c.概要>接下来,对在本实施方式的控制系统1中提供的功能的概要进行说明。图5是表示经由本实施方式的控制系统1的远程i/o装置3来收集输入数据的状态的一例的图。图6是表示利用图5所示的输入数据的用户程序的一例的图。如图5所示,作为一例,考虑下述情况:经由安装于控制系统1所含的远程i/o装置3d中的一个功能单元150,从现场收集输入数据(图中也记作“in数据”)。另外,在cpu单元100中,可利用功能单元150所保持的任意数据,以下,作为典型例,以输入数据为例进行说明,但并不限于此。图5所示的示例中,由功能单元150所收集的输入数据在远程i/o装置3d的内部总线(传输路径301)、现场网络6及通信单元152(传输路径302)、远程i/o装置3a的内部总线(传输路径303)、现场网络5(传输路径304)这一路径上依序传送。这些单元及总线作为在cpu单元100与一个或多个功能单元150之间传送数据的通信单元的至少一部分发挥功能。一般而言,必须在用户程序上确认在cpu单元100中作为输入数据而收集的值反映了现实输入至功能单元150的输入信号的值。这是因为:例如在输入数据表示“伪(false)”的情况下,无法判断是反映了向对应的功能单元150输入的输入信号现实为“伪”,还是由于输入数据在传输路径上依序传送的过程中发生了某些异常而无法传输,因而尽管输入信号为“真(true)”,但在cpu单元100中输入数据误变为“伪”。因此,一般而言,在记述使用输入数据来执行某些处理(动作(action))的命令时,一般要附加表示输入数据的收集路径(传输路径)为可靠的条件。成为此类条件的信息以下也称作“有效确认数据”。而且,本实施方式中,基本上是通过变量编程来制作用户程序,因此用于参照“有效确认数据”的值的变量也称作“有效确认变量”。图6(a)所示的用户程序400中,表示将某些动作的执行/停止关联于输入数据的值的示例。即,将表示输入数据的值的输入值标记405作为条件,来激活与动作对应的功能块(functionblock)406。进而,在输入值标记405的前段,串列配置有状态标记401~404(变量名st1~st4)。状态标记401~404分别相当于图5所示的传输路径301~304的有效确认变量。即,状态标记401表示远程i/o装置3d的有效性(或,可靠性或者状态(status)),状态标记402表示现场网络6的有效性,状态标记403表示远程i/o装置3a的有效性,状态标记404表示现场网络5的有效性。另一方面,在图6(b)所示的用户程序410中,表示从安装于cpu单元100的功能单元导入输入数据时的示例。本例中,也将表示输入数据的值的输入值标记405作为条件,来激活与动作对应的功能块406。并且,在表示输入数据的输入值标记405的前段,配置有状态标记411来作为条件。状态标记411表示cpu单元100的内部总线的有效性(或,可靠性或者状态)。比较图6(a)与图6(b)可知的是:构成对象输入数据传输至cpu单元100为止的路径的网络层级数越多,作为有效确认数据,则必须设定越多的标记。随着控制系统的网络化的高度化,必须确认通过各标记定义了什么,且在网络结构受到变更的情况下,必须据此来变更应作为有效确认数据而使用的标记,并更新用户程序410。针对此种问题,在本实施方式的控制系统1中,提供能够利用一种特殊的有效确认数据的环境,所述特殊的有效确认数据是将为了对成为对象的输入变量的有效性进行评价所需的条件汇总而成。图6(c)表示使用在本实施方式的控制系统1中提供的有效确认数据的、作为一例的用户程序420。更具体而言,在用户程序420中,将表示输入数据的值的输入值标记405作为条件,来激活与动作对应的功能块406。并且,在表示输入数据的输入值标记405的前段,配置有表示对应的有效确认数据的特殊标记421来作为条件。本例中,特殊标记421为设备变量的集合(逻辑与),所述设备变量的集合表示位于从导入输入数据的功能单元直至cpu单元100为止的路径上的设备的状态。本实施方式中,安装有下述功能,即:当在用户程序中,指定了与功能单元150所保持的任一数据相关联的、表示所述数据的有效性的变量(有效确认变量)时,将位于从保持所指定的数据的功能单元150直至cpu单元100为止的传输路径上的通信单元各自的状态(各状态标记的值)集合的结果,反映为所述变量所示的值(有效确认数据)。通过能够利用此种特殊的有效确认数据,从而用户程序的开发者能使用如下所述的有效确认变量,此有效确认变量可在向经由内部总线而与cpu单元100连接的功能单元输入的输入数据、与向经由一个或多个网络而连接的功能单元输入的输入数据之间吸收硬件(hardware)结构及网络结构的差异、且经抽象化,因此能够提高编程的制作效率,并且对于网络结构的变更等也能够灵活地应对。以下,对用于提供本实施方式的有效确认数据的若干个安装方法进行说明。<d.第一安装方法>作为第一安装方法,对仅使用搭载于支持装置200的功能来提供有效确认数据的方法进行说明。第一安装方法中,利用支持装置200来实现将用户程序中的有效确认变量反映为对应的有效确认数据的功能。图7是用于说明与本实施方式的控制系统1的支持装置200中的用户程序的制作相关的功能的示意图。参照图7,用户使用支持装置200所提供的编辑器(editor)来制作用户程序的源代码10。支持装置200受理用户操作,对用户程序的源代码10进行语法分析(parser)及编译(compile)而生成目标代码12。所述用户程序的目标代码12被传送至plc2的cpu单元100。所传送的一个或多个目标代码12作为用户程序108b(图2)而由cpu单元100来保存并执行。在对用户程序的源代码10进行语法分析及编译时,若有使用本实施方式的有效确认数据的记述,则也可将此有效确认数据所意图的内容分解为现有命令的组合,由此来实现使用有效确认数据的用户程序的处理。通过采用下述方法,即,支持装置200对用户程序的源代码10中所含的有效确认数据或有效确认变量进行语法分析,而制作适当的目标代码12,从而用户在编译等时无须特别在意,便能够利用有效确认数据。图8是用于说明本实施方式的控制系统1中的、用于提供有效确认数据的第一安装方法的示意图。例如,假设制作图8(a)所示的用户程序430a。在用户程序430a中,将表示输入数据的值的输入值标记405作为条件,来激活与动作对应的功能块406。为了对关于输入值标记405的有效确认数据进行定义,而使用功能块432。功能块432是指用于构建本实施方式的有效确认数据的命令。更具体而言,功能块432对下述情况进行定义:当输入(exe)被激活时,参照被定义为输入数据(in)的变量(图8所示的示例中为变量d1)的传输路径等,输出表示针对所需标记的集合的逻辑运算(典型的是,逻辑与)的结果的值(out)。更具体而言,当对图8(a)所例示的用户程序430a的源代码进行语法分析时,其中所含的功能块432参照预先定义的变量表(table)20及网络配置(networkconfiguration)22等,确定与所指定的变量的传输路径相应的设备变量的集合。变量表20是将可在用户程序中利用的变量与现实的功能单元的端口号相关联者,针对利用某功能单元的某端口所收集的值,定义任意变量名的分配。网络配置22是对控制系统1中的cpu单元100与各功能单元150之间的连接关系(网络拓扑(networktopology))等进行定义。典型的是,通过参照变量表20及网络配置22,能够确定为了决定功能块432的输出值所需的标记。支持装置200对指定了有效确认变量的用户程序的源代码10进行分析,以确定与所述有效确认变量所示的值(有效确认数据)的决定关联的一个或多个通信单元。当确定了为了决定此种功能块432的输出值所需的标记时,生成图8(b)所示的用户程序430b。即,支持装置200追加一命令至源代码中(用户程序430b),生成用户程序的目标代码,所述命令用于根据所确定的一个或多个通信单元的状态(status)的值的集合,来决定有效确认变量所示的值。更具体而言,在用户程序430b中,导入有与用户程序430a的功能块432对应的特殊集(coil)434,在此特殊集434中,保存状态标记401~404的集合(逻辑与)的结果。并且,图8(a)所例示的用户程序430a被置换为表示保存在特殊集434中的值的特殊标记436。最终编译出图8(b)所示的用户程序430b,由此,实现本实施方式的有效确认数据的功能。另外,用户程序430b只要在内部生成即可,不需要以用户能看到的形态来进行显示等。根据第一安装方法,在对包含功能块432的用户程序进行语法分析时,参照变量表20及网络配置22的内容,来动态地决定与功能块432对应的特殊标记436所指的内容。通过采用动态决定此种有效确认数据的内容的处理,从而用户无须在意各变量是与哪个功能单元相关联、及所述变量所关联的功能单元是位于哪个网络上,而能够利用应设为执行条件的有效确认变量。也有时在支持装置200中安装有对cpu单元100中的用户程序的执行状态进行记录(logging)的功能。在此种记录功能中,也可既显示图8(a)所示的用户程序430a,又将图8(b)所示的特殊标记436所示的值显示为功能块432的值。通过利用此种记录功能,用户无须在意特殊标记436所指的内容的详细,而能够确认输入值标记405是否被有效地输入。如图6(b)所示,在从安装于cpu单元100的功能单元导入输入数据的情况下,如上所述的功能块432也发挥功能。在从安装于cpu单元100的功能单元导入输入数据的情况下,例如在变量表20中指定有作为导入目标的功能单元,因此在特殊集434中,关联有表示cpu单元100的内部总线的可靠性(状态)的状态标记。接下来,对与第一安装方法相关的处理流程进行说明。图9是表示与本实施方式的控制系统1中的、用于提供有效确认数据的第一安装方法相关的处理流程的流程图。典型的是,图9所示的各步骤是通过支持装置200的处理器202执行作为控制程序的一例的支持程序208b(参照图4)而实施。参照图9,支持装置200根据用户操作来制作用户程序(步骤s100)。此步骤s100是通过支持装置200所提供的编辑器功能来实现。继而,支持装置200判断是否指示了编译(步骤s102)。若未指示编译(步骤s102中为否(no)),则重复步骤s100以下的处理。若指示了编译(步骤s102中为是(yes)),则支持装置200对用户程序的源代码进行分析,以判断是否存在表示有效确认变量的使用的功能块(步骤s104)。若不存在表示有效确认变量的使用的功能块(步骤s104中为否),则跳过(skip)步骤s106~s110的处理。若存在表示有效确认变量的使用的功能块(步骤s104中为是),则支持装置200参照变量表及网络配置等,来确定用户程序中的功能块所表示的设备变量的集合(步骤s106)。即,支持装置200当在用户程序中,指定了与功能单元150所保持的任一数据相关联的、表示所述数据的有效性的变量(有效确认变量)时,确定从保持所指定的数据的功能单元150直至cpu单元100为止的传输路径、及位于所确定的传输路径上的通信单元。继而,支持装置200将用户程序转换为包含有效确认变量的用户程序,所述有效确认变量表示包含所述所确定的设备变量集合的有效确认数据(步骤s108)。由此,支持装置200将使所确定的各通信单元的状态集合的结果,反映为有效确认变量所示的值(有效确认数据)。支持装置200对在步骤s108中所转换的用户程序、或在步骤s100中所制作的用户程序进行编译,以生成用户程序的目标代码(步骤s110)。继而,支持装置200将所生成的用户程序的目标代码传送至cpu单元100(步骤s112)。并且,用户程序的制作及编译的处理结束。在所述说明中,例示了下述安装例,即,通过使用表示有效确认变量的功能块,从而能够动态地决定成为对象的有效确认数据,但并不限于此,也可对于能在cpu单元100中处理的所有输入值标记(输入值变量)来预先准备有效确认变量。例如,对于输入值变量“d0001”,如有效确认变量“sst0001”这样,利用分配给每个变量的识别编号与表示变量种类的字符串的组合来作为变量名,由此,此种一对一的对应成为可能。或者,也可将各变量视为对象(object),使用其属性(property)或方法(method)等,来指定或利用各有效确认变量。无论哪种方法,只是编程上的表达方法的差异,均能够利用与所述同样的方法来安装。如上所述,在第一安装方法中,对被定义为有效确认变量的功能块的内容进行分析,作为所需状态标记的组合,对有效确认数据进行解释。并且,有效确认数据的值是参照保存在cpu单元100中的状态标记等的值而在各控制周期中决定。通过采用此种方法,不需要在cpu单元100上准备用于保持有效确认数据的区域,因此既能避免cpu单元100的存储器资源(memoryresource)不足的事态,而且即使是经多阶段或高度网络化的控制系统,也能够实现有效率的编程。<e.第二安装方法>作为第二安装方法,对plc2的cpu单元100与搭载于支持装置200的功能联合提供有效确认数据的方法进行说明。图10是用于说明与本实施方式的控制系统1的支持装置200中的第二安装方法相关的处理的示意图。参照图10,假设用户使用支持装置200所提供的编辑器来制作用户程序440。此处,假设对输入值标记405(变量d1)分配有有效确认变量sst1(特殊标记442)。在对图10所例示的用户程序440的源代码进行语法分析时,参照预先定义的变量表20及网络配置22等,将其中所定义的有效确认变量sst1作为与对应的输入值标记405(变量d1)的传输路径相应的设备变量的集合来进行分析。变量表20是将可在用户程序中利用的变量与现实的功能单元的端口号相关联者,对于利用某功能单元的某端口所收集的值,定义任意变量名的分配。网络配置22是对控制系统1中的cpu单元100与各功能单元150之间的连接关系(网络拓扑)等进行定义。典型的是,通过参照变量表20及网络配置22,能够确定为了决定有效确认变量(特殊标记442)的输出值所需的状态信息。当确定了为了决定有效确认变量的输出值所需的标记时,生成用于实现作为对象的特殊标记442的有效确认数据设定444。有效确认数据设定444是用于提供在cpu单元100中所指定的有效确认数据的设定信息。图11是用于说明与本实施方式的控制系统1中的第二安装方法相关的处理的示意图。依据图10所示的处理而生成的有效确认数据设定444如图11(a)所示,包含有效确认变量为sst1这一定义444a、及构成有效确认变量的状态信息的定义444b。在定义444b中,例如记述有一变量名,所述变量名表示成为取逻辑与的对象的状态标记。这样,支持装置200对指定了有效确认变量的用户程序的源代码进行分析,以确定与所述有效确认变量所示的值(有效确认数据)的决定关联的一个或多个通信单元。在cpu单元100中,将输入/输出数据及状态数据配置于主存储器106上,各个值在每个控制周期受到输入/输出刷新(refresh)(更新)。有效确认数据设定444从支持装置200被传送至cpu单元100。这样,连接于cpu单元100的支持装置200实施用户程序的源代码分析,并且将通过所述分析而确定的信息(有效确认数据设定444)发送至cpu单元100。cpu单元100对从支持装置200收到的有效确认数据设定444进行解释,并在主存储器106上的规定区域确保用于保存有效确认数据的区域。在所述所确保的区域上,保存在有效确认数据设定444中所指定的变量名的有效确认数据。进而,如图4(b)所示,在cpu单元100中,根据有效确认数据设定444中所含的状态标记的定义444b,形成用于更新有效确认数据的数据更新逻辑446。典型的是,数据更新逻辑446是在系统程序108a上执行,依据状态标记的定义444b来参照成为对象的状态值(作为变量st1~st4而参照的值),将关于所参照的状态值的逻辑运算(本例中为逻辑与)的结果写入至所指定的区域。对于所述有效确认数据的写入(更新),也优选以与输入/输出刷新实质上相同的控制周期来重复。这样,cpu单元100追加下述功能,即,基于包含所确定的信息的有效确认数据设定444,来更新及保持有效确认变量所示的有效确认数据。由于在cpu单元100上准备有在用户程序上所指定的有效确认数据(本例中为变量sst1),因此安装于支持装置200的记录功能448参照所述所指定的有效确认变量,将各时机(timing)的状态值提示给用户。根据第二安装方法,支持装置200与plc2的cpu单元100将联合提供有效确认数据。即,cpu单元100从支持装置200收集有效确认数据设定444,所述有效确认数据设定444包含(1)有效确认变量的变量名、及(2)表示有效确认变量的状态值及逻辑运算的定义。并且,cpu单元100根据所收集的有效确认数据设定444,来进行有效确认数据的保持及更新。根据第二安装方法,cpu单元100保持及更新有效确认数据,因此并不限于制作用户程序440的支持装置200,而能够从任意的外部装置参照有效确认数据,从而能够进一步提高通用性。而且,由于在cpu单元100中更新有效确认数据,因此能够以与输入/输出数据同样的控制周期来更新有效确认数据,从而也能够将所述有效确认数据利用与其他的序列程序。接下来,对与第二安装方法相关的处理流程进行说明。图12是表示与本实施方式的控制系统1中的、用于提供有效确认数据的第二安装方法相关的处理流程的流程图。图12所示的处理流程是通过支持装置200与plc2的cpu单元100联合而实现,支持装置200的各步骤是通过支持装置200的处理器202执行支持程序208b(参照图4)而实施,cpu单元100的各步骤是通过处理器102执行系统程序108a(参照图2)而实施。参照图12,支持装置200根据用户操作来制作用户程序(步骤s200)。此步骤s200是通过支持装置200所提供的编辑器功能而实现。继而,支持装置200判断是否指示了对cpu单元100的反映(步骤s202)。若未指示对cpu单元100的反映(步骤s202中为否),则重复步骤s200以下的处理。若指示了对cpu单元100的反映(步骤s202中为是),则支持装置200对用户程序的源代码进行分析,以判断是否指定了有效确认变量(步骤s204)。若未指定有效确认变量(步骤s204中为否),则跳过步骤s206~s210的处理。若指定了有效确认变量(步骤s204中为是),则支持装置200参照变量表及网络配置等,确定用户程序中的有效确认变量所表示的设备变量的集合(步骤s206),生成表示有效确认变量的有效确认数据设定444(步骤s208),并传送至cpu单元100(步骤s210)。cpu单元100根据来自支持装置200的有效确认数据设定444,在主存储器106上确保用于保持所指定的有效确认数据的区域(步骤s250),并且形成用于更新有效确认数据的数据更新逻辑(步骤s252)。继而,cpu单元100参照所指定的状态值,将关于所参照的状态值的逻辑运算的结果作为有效确认数据而写入至所确保的区域(步骤s254)。cpu单元100判断下个控制周期是否已到来(步骤s256),若下个控制周期到来(步骤s256中为是),则重复步骤s254的处理。支持装置200或其他外部装置在任意时机访问cpu单元100以指定有效确认变量,由此,能够获取对应的有效确认数据的值。另外,所述说明中,表示了在用户程序中使用有效确认变量的示例,但也可取代于此,而使用在所述的第一安装方法中例示的功能块。在使用功能块的情况下,也可自动分配与cpu单元100所指定的功能块对应的变量名。或者,也可将各变量视为对象,使用其属性或方法等,来指定或利用各有效确认变量。无论哪种方法,只是编程上的表达方法的差异,均能够利用与所述同样的方法来安装。如上所述,第二安装方法中,基于根据利用支持装置200所制作的用户程序的信息而生成的有效确认数据设定444,在cpu单元100内部保持有效确认数据,因此能够从任意的外部装置访问所述有效确认数据。因此,能够提高有效确认数据的利用性。而且,保持在cpu单元100内部的有效确认数据是以与通常的输入/输出数据及状态值同样的控制周期而受到更新,因此也能够在多个异常处理逻辑之间共同利用。<f.第三安装方法>作为第三安装方法,对仅使用实质上搭载于plc2的cpu单元100中的功能来提供有效确认数据的方法进行说明。图13是用于说明本实施方式的控制系统1中的、用于提供有效确认数据的第三安装方法的示意图。参照图13,在第三安装方法中,支持装置200将被用于对有效确认数据的参照的有效确认变量(本例中为变量sst1)、及被用于决定所述有效确认数据的输入数据的确定(本例中为有效确认变量in1)发送至cpu单元100。cpu单元100确定与从支持装置200指定的对象输入数据对应的设备变量,并且根据所确定的设备变量的地址来确定对象功能单元(图13的(1))。继而,cpu单元100判断所确定的功能单元属于哪个网络,并确定与对象功能单元关联的网络(图13的(2))。继而,基于对所确定的网络进行管理的功能单元的网络地址及状态值地址等,确定为了算出有效确认数据所需的状态值等,构建数据更新逻辑(图13的(3))。例如,对下述情况进行定义:将针对与状态标记401~404(变量名st1~st4)分别对应的地址的集合的逻辑和的结果作为有效确认数据予以保存。根据此种流程,在cpu单元100内对表示从支持装置200指定的有效确认数据的变量名进行定义,并且在cpu单元100内,自动构建用于更新所述定义的有效确认数据的逻辑。在如上所述的网络地址的探索时,参照保存在cpu单元100中的变量表及网络配置等。对于从支持装置200发送至cpu单元100的、作为有效确认数据而使用的变量名、及成为所述有效确认数据的对象的输入数据,也可使用图8(a)所示的用户程序中的功能块来定义。接下来,对与第三安装方法相关的处理流程进行说明。图14是表示与本实施方式的控制系统1中的、用于提供有效确认数据的第三安装方法相关的处理流程的流程图。典型的是,图14所示的各步骤是通过cpu单元100的处理器102执行系统程序108a(参照图2)而实施。参照图14,plc2的cpu单元100判断是否从支持装置200收到作为有效确认数据而使用的变量名、及成为所述有效确认数据的对象的输入数据的确定(步骤s300)。若未收到这些信息(步骤s300中为否),则跳过以下的处理。若收到这些信息(步骤s300中为是),则cpu单元100确定与所指定的对象输入数据对应的设备变量(步骤s302),并根据所确定的设备变量的地址,来确定对象功能单元(步骤s304)。继而,cpu单元100判断所确定的功能单元属于哪个网络(步骤s306),确定与对象功能单元关联的网络(步骤s308)。这样,cpu单元100响应成为所述有效确认数据的对象的数据、及作为与所述对象数据相关联的有效确认数据而使用的变量名,来确定保持所述对象数据的功能单元,并且确定从所述所确定的功能单元直至cpu单元100为止的传输路径。cpu单元100基于对所确定的网络进行管理的功能单元的网络地址及状态值地址等,来确定为了算出有效确认数据所需的状态值等(步骤s310),构建数据更新逻辑(步骤s312)。继而,cpu单元100根据所构建的数据更新逻辑,来重复有效确认数据的更新处理(步骤s314)。这样,cpu单元100追加一命令,所述命令用于在每个规定周期,将使位于所确定的传输路径上的通信单元各自的状态集合的结果更新为所指定的有效确认变量所示的值。如上所述,第三安装方法中,当在支持装置200中指定特定的输入数据,并且指定表示与所述输入数据相关联的有效确认数据的有效确认变量时,自动构建用于算出在cpu单元100中所指定的有效确认数据的逻辑。因此,用户无须考虑所指定的输入数据是使用哪个硬件所收集的,而能够制作用户程序。通过采用此种结构,能够提高用户程序的制作效率。而且,第三安装方法中,由于在cpu单元100内部保持有效确认数据,因此能够从连接于cpu单元100的任意的外部装置访问所述有效确认数据。<g.其他安装例>所述第一至第三安装例中,例示了下述方法,即,根据执行处理的时机的控制系统1的硬件结构及网络结构,来决定用于算出有效确认数据的逻辑或算法(algorithm),但在决定了所述逻辑或算法后,当产生了硬件结构或者网络结构的变更例如某些单元的追加、变更、废止时,也可探测所述变更的产生,而重新构建逻辑或算法。通过采用此种自动重新构建的方法,能够针对控制系统1的结构变更来动态地使所需的算法或逻辑最佳化。<h.优点>根据构成本实施方式的生产系统及所述控制系统的控制装置,在开发利用某些输入数据的用户程序时,用户(典型的是,用户程序的开发者)无须在意所述输入数据是经由何种硬件及网络所收集的。用户只要在用户程序中指定与要使用的输入数据对应的有效确认数据,便能够利用反映出与所述指定的输入数据的传输路径等相应的一个或多个状态信息的有效确认数据。而且,有效确认数据的值是基于根据控制系统的硬件结构及网络结构等来构建的逻辑或算法而得到更新,因此即使在事后产生了结构变更,也无须变更用户程序,而能够应对。这样,根据本实施方式,即使是经多阶段或高度网络化的控制系统,也能够实现有效率的编程。应认为,此次揭示的实施方式在所有方面仅为例示而非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。符号的说明1:控制系统2:plc3、3a、3b、3c、3d:远程i/o装置4:上位网络5、6:现场网络10:源代码12:目标代码20:变量表22:网络配置100:cpu单元102、202:处理器104、204:芯片组106、206:主存储器108、208:非易失性存储器108a:系统程序108b、400、410、420、430a、430b、440:用户程序110:时钟112、162、214:通信接口114、128、138、148、164、198:连接器116、166:存储卡接口118:存储卡120、130、170、180:网络控制器122、132、142、172、182、192:缓冲存储器124、134、144、174、184、194:传送控制电路126、136、146、176、186、196:dma控制电路140、190:内部总线控制器150:功能单元152:通信单元160:耦合器单元161:控制器200:支持装置208a:os208b:支持程序210:显示接口212:输入部301、302、303、304:传输路径401、402、403、404、411:状态标记405:输入值标记406、432:功能块421、436、442:特殊标记434:特殊集444:有效确认数据设定444a、444b:定义446:数据更新逻辑448:记录功能当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1