支持装置、方法以及保存有支持程序的记录介质与流程

文档序号:13518220阅读:169来源:国知局
支持装置、方法以及保存有支持程序的记录介质与流程

本发明涉及一种对在控制对象的控制装置中执行的控制程序的开发进行支持的支持装置、在所述支持装置中执行的方法、以及保存有用以实现所述支持装置的支持程序的记录介质。



背景技术:

在各种各样的制造现场,导入有可编程逻辑控制器(programmablelogiccontroller,plc)等控制装置。此种控制装置是一种计算机,执行根据制造装置或制造设备等而设计的控制程序。此种控制程序在不同于制造装置而另行准备的开发环境中制作。在提供开发环境的同时、提供相对于控制装置而上传(upload)控制程序或者相对于控制程序而下载(download)控制程序的功能的装置也被称为支持装置。

也存在许多不容易使作为控制对象的制造装置停止的情况。在欲手动修改在控制装置中执行的控制程序的一部分的情况下,如果也是不使控制装置暂时停止则无法进行控制程序更新,那么,使用不方便。因此,优选为安装有在线编辑(onlineedit)功能,所述在线编辑功能用以对在控制装置的运转过程中执行的控制程序的一部分进行改写。

例如,日本专利特开2009-223590号公报(专利文献1)公开有如下的在线编辑动作,即,利用将源程序(sourceprogram)的一部分提供至编译器并进行转换而得的目标代码(objectcode)部分,来改写存储于plc中的目标代码。

现有技术文献

专利文献

专利文献1日本专利特开2009-223590号公报



技术实现要素:

发明所要解决的问题

所述专利文献1中所公开的程序开发支持装置主要设想的是对特定的plc执行在线编辑,但在实际的制造线等中,也有许多在多个plc中执行同样的控制程序的情况。在此种状况下,对在多个plc中执行的各个控制程序应用相同的修正时,必须进行与所设置的plc的台数对应的次数的相同操作,且有产生意想不到的故障的可能性。本发明的目的在于解决所述课题。

解决问题的技术手段

根据本发明的一个方案,提供一种对在控制控制对象的控制装置中执行的控制程序的开发进行支持的支持装置。支持装置包括:算出部件,针对构成控制程序的各单元程序,根据各单元程序的内容算出识别信息;第1传送部件,将单元程序和与所述单元程序相关联的识别信息传送给控制装置;生成部件,根据对构成控制程序的任一单元程序的变更操作,生成变更后的单元程序;以及第2传送部件,以与构成控制程序的单元程序相关联的识别信息相同的识别信息存在于控制装置中为条件,对运转过程中的控制装置传送变更后的单元程序。

优选为,第2传送部件以如下情况为条件,将变更后的单元程序传送给控制装置,所述情况为:关于构成控制程序的多个单元程序中、进行了某些变更操作的一个或多个单元程序的每一个,相应的识别信息全部存在于控制装置中。

优选为,算出部件使用散列函数(hashfunction)并根据各单元程序的程序代码(programcode)或程序对象(programobject)算出识别信息。

优选为,生成部件对可指示的变更操作进行限制,以符合在对运转过程中的控制装置传送变更后的单元程序时的约束。

优选为,生成部件根据对构成控制程序的变量表的变更操作,生成变更后的变量表,第2传送部件以在变更后的变量表中包含变更前的变量表的全部内容为条件,将变更后的变量表传送给控制装置。

更优选为,第2传送部件以预先决定的顺序或指定的顺序对作为传送对象的变量表以及一个或多个单元程序进行传送。

更优选为,第2传送部件根据传送目的地的控制装置的特性值,决定作为传送对象的变量表以及一个或多个单元程序的传送顺序。

根据本发明的另一方案,提供一种方法,其是在支持装置中执行的方法,所述支持装置对在控制对象的控制装置中执行的控制程序的开发进行支持。本方法包括:算出步骤,针对构成第1程序的各单元程序,根据各单元程序的内容算出识别信息;传送步骤,将单元程序和与所述单元程序相关联的识别信息传送给控制装置;生成步骤,根据对构成第1程序的任一单元程序的变更操作,生成变更后的单元程序;以及传送步骤,以与构成控制程序的单元程序相关联的识别信息相同的识别信息存在于控制装置中为条件,对运转过程中的控制装置传送变更后的单元程序。

根据本发明的又一方案,提供一种保存有支持程序的记录介质,所述支持程序用以实现对在控制对象的控制装置中执行的控制程序的开发进行支持的支持装置。支持程序使计算机作为如下部件发挥功能:算出部件,针对构成第1程序的各单元程序,根据各单元程序的内容算出识别信息;第1传送部件,将单元程序和与所述单元程序相关联的识别信息传送给控制装置;生成部件,根据对构成第1程序的任一单元程序的变更操作,生成变更后的单元程序;第2传送部件,以与构成控制程序的单元程序相关联的识别信息相同的识别信息存在于控制装置中为条件,对运转过程中的控制装置传送变更后的单元程序。

发明的效果

根据本发明一实施方式的支持装置以及支持程序,可使对运转过程中的控制装置的控制程序的变更作业简单化。

附图说明

图1是表示可应用本实施方式的支持装置的plc系统的构成例的示意图。

图2是表示构成图1所示的plc系统的plc的硬件构成例的示意图。

图3是表示构成图1所示的plc系统的支持装置的硬件构成例的示意图。

图4是表示构成图1所示的plc系统的plc的软件构成例的示意图。

图5是表示使用本实施方式的支持装置对多个plc进行程序变更时的处理流程的流程图。

图6是用以对本实施方式的支持装置所安装的一致性检查功能中的、使用识别信息的检查进行说明的示意图。

图7是用以对本实施方式的支持装置所安装的一致性检查功能中的、全局变量表的检查内容进行说明的示意图。

图8是表示图5所示的流程图的步骤s122的更详细的处理流程的流程图。

图9是对本实施方式的支持装置所安装的变更操作的限制功能进行说明的示意图。

图10是表示用以对本实施方式的支持装置所提供的传送顺序进行设定的用户界面画面的一例的图。

图11是用以说明由本实施方式的在线编辑功能所传送的控制程序的执行开始时机(timing)的图。

具体实施方式

对本发明的实施方式,参照附图进行详细说明。另外,对于附图中的相同或者相当部分,标注相同的符号而不重复其说明。

<a.plc系统的构成例>

首先,对可应用本实施方式的支持装置的plc系统的构成例进行说明。图1是表示可应用本实施方式的支持装置200的plc系统1的构成例的示意图。

参照图1,plc系统1包括多个plc100-1、plc100-2、plc100-3、plc100-4、…(以下,也统称为“plc100”)。plc100的各个均控制彼此相同的制造装置,并且所执行的控制程序也设为实质上相同。本实施方式的支持装置200可更容易地对此种运转过程中(即,控制程序执行过程中)的多个plc100变更各自的控制程序的一部分。

plc100的各个均是控制对象的控制装置的一例。plc100典型的是包括:中央处理器(centralprocessingunit,cpu)单元10,是执行包含控制程序的各种程序的主体;电源单元12,对cpu单元10等供给电力;以及输入/输出(input/output,i/o)单元14,对来自现场(field)的信号进行交换。i/o单元14经由系统总线11与cpu单元10连接。

支持装置200对在控制对象的控制装置即plc100中执行的控制程序的开发进行支持。支持装置200包括以下功能:提供用以开发各种程序的环境的功能,所述各种程序包含在plc100中执行的控制程序;对plc100设定控制程序以及各种信息的功能;获取运转过程中的plc100的状态值的功能等。进而,支持装置200也可具有调试(debug)功能或模拟功能,以支持用户对控制程序的开发。

通过将作为保存于光学记录介质250中的应用程序的支持程序安装于支持装置200来实现所述各种功能。也可取代光学记录介质250,而经由网络(network)从外部的服务器装置等下载支持程序。作为一例,支持装置200经由连接电缆(cable)而连接于plc100的cpu单元10。支持装置200典型的是由个人计算机实现。

<b.plc100的硬件构成例>

接下来,对plc100的硬件构成例进行说明。图2是表示构成图1所示的plc系统的plc100的硬件构成例的示意图。

参照图2,plc100通过使处理器执行预先安装的程序来实现对控制对象的控制。更具体来说,plc100包括:cpu(centralprocessingunit)或微处理器(micro-processingunit,mpu)等处理器102、芯片组104、主存储器106、闪速存储器108、外部网络控制器116、存储卡接口118、内部总线控制器122、以及现场总线控制器124。

处理器102读出保存于闪速存储器108中的系统程序110以及用户程序112,并展开至主存储器106而执行,由此实现对控制对象的控制。在本说明书中,“控制程序”是包含系统程序110以及用户程序112的概念。但是,根据实现方式,控制程序也有时只包含用户程序112。

系统程序110包括指令代码,所述指令代码用以提供数据的输入输出处理或执行时序控制等plc100的基本功能。用户程序112是根据控制对象而任意设计的控制程序的一种,包括用以执行顺序控制(sequentialcontrol)的顺序程序112a以及用以执行运动控制(motioncontrol)的运动程序112b。

芯片组104通过控制各组件来实现作为plc100整体的处理。

内部总线控制器122是在通过内部总线连结于plc100的i/o单元14之间进行数据交换的接口。现场总线控制器124是在通过未图示的现场总线连结于plc100的i/o单元16之间进行数据交换的接口。内部总线控制器122以及现场总线控制器124获取对应的i/o单元14以及i/o单元16中所分别输入的状态值,并且将处理器102中的运算结果从对应的i/o单元14以及i/o单元16以指令值的形式分别输出。

外部网络控制器116控制通过各种有线/无线网络进行的数据交换。存储卡接口118以使存储卡120可拆装的方式构成,且可对存储卡120写入数据、自存储卡120读出数据。

plc100通过执行程序而提供的功能的一部分或者全部可以专用的硬件电路的形式来实现。

<c.支持装置200的硬件构成例>

接下来,对支持装置200的硬件构成例进行说明。图3是表示构成图1所示的plc系统的支持装置200的硬件构成例的示意图。参照图3,支持装置200一般是包括通用的计算机。再者,就配置plc100的制造现场的维护性的观点来说,优选的是可移动性优异的笔记本型个人计算机。

支持装置200包括:cpu202,执行包含操作系统(operatingsystem,os)的各种程序;只读存储器(readonlymemory,rom)104,保存基本输入输出系统(basicinputoutputsystem,bios)或各种数据;随机存取存储器(randomaccessmemory,ram)206,是提供用以保存cpu202中的程序执行所需的数据的作业区域的存储器;以及硬盘(硬盘驱动器(harddiskdrive,hdd))208,将在cpu202中执行的程序等非易失性地予以保存。

支持装置200还包括:接受来自用户的操作的键盘210及鼠标212、以及用以将信息出示给用户的显示器214。支持装置200包括用以与plc100(cpu单元10)等进行通信的通信接口218。

支持装置200包括光学记录介质读取装置216,用以从光学记录介质250读取保存于光学记录介质250中的支持程序。

<d.plc100的软件构成例>

接下来,对plc100的软件构成例进行说明。图4是表示构成图1所示的plc系统的plc100的软件构成例的示意图。

参照图4,在plc100中,作为控制程序而执行系统程序110以及用户程序112。系统程序110作为其功能的一部分而具有i/o模块160,且将i/o单元与现场侧进行交换的数据(从现场获取的数据、以及向现场输出的数据)和全局变量表150建立关联。

在plc100中可进行变量编程,用户程序112可使用全局变量表150中所定义的与现场数据相关联的变量值而执行各种处理。

用户程序112的顺序程序112a主要包含:梯形图区段(laddersection)130、梯形图函数(ladderfunction)132、以及梯形图功能块(ladderfunctionblock)(也记作“梯形图fb(functionblock)”)134。另外,用户程序112的运动程序112b主要包含:结构化文本(structuredtext,st)程序140、st函数142、以及st功能块(也记作“stfb(structuredtextfunctionblock)”)144。

st由国际电工委员会(internationalelectrotechnicalcommission,iec)61131-3规定,主要是plc用的高级语言。st程序140、st函数142、st功能块144不仅用于运动程序112b,也用于人机接口(humanmachineinterface,hmi)处理、通信处理、配方数据处理、其他高功能处理。

梯形图区块130包含由梯形图逻辑语言描述的程序。梯形图函数132是将一个或多个梯形图程序组合而成,由梯形图区块130调用而执行,并将其执行结果返回至作为调用源的程序。梯形图功能块134是为了实现特定的处理而组合一个或多个梯形图程序而成的程序单元,由一个或多个梯形图区块130调用而执行。梯形图函数132以及梯形图功能块134是一种子例程,也可递归调用(recursivecall)。

st程序140包含由st语言描述的程序。st函数142是将一个或多个st语言中的命令组合而成,由st程序140调用而执行,并将其执行结果返回至作为调用源的程序。st功能块144是为了实现特定的处理而组合一个或多个st语言中的命令而成的程序单元,由一个或多个st程序140调用而执行。st函数142以及st功能块144是一种子例程,也可递归调用。

在以下的说明中,也将梯形图区块130、梯形图函数132、梯形图功能块134、st程序140、st函数142、st功能块144的每一个称为“程序组织单元(programorganizationunit,pou)”。在有多个函数或功能块的情况下,各个函数或者功能块相当于一个pou。

本实施方式的plc100中安装有在线编辑功能。关于在线编辑功能,可按照pou的单位进行程序的变更、更新、删除。即,pou是一种单元程序,以pou为单位被传送给plc100。但是,“单元程序”无须与pou完全相同,也可将多个pou看作一个“单元程序”。

通过使用在线编辑功能,可在使plc100继续运转(重复执行通常的控制程序的期间)的同时,对控制程序施加必要的变更。

<e.课题以及目的>

在如图1所示的plc系统1中,plc100的各个均控制彼此相同的制造装置,并且所执行的控制程序也设为实质上相同。对此种在多个plc100中分别执行的控制程序,可进行使用在线编辑功能的修正。但是,为了对所有的plc100进行同样的修正,需要重复进行与plc100的数量对应次数的、将支持装置200连接于plc100并进行程序的变更或修正程序的传送的作业。

另外,从安全方面的观点等考虑,对配置于生产系统或生产线的plc100在远程进行控制程序的修正等的远程访问多被限制。因此,需要在配置有plc100的制造现场,由维护负责人等重复进行控制程序的修正作业。

但是,有时维护负责人不具有关于plc100的充分的知识,另外,因进行重复作业,也有花费更多的作业时间、或者发生作业错误或作业遗漏的可能性。

因此,迫切期待一种使对在多个plc100的各个中执行的控制程序进行同样的修正这一作业更简化,且能够减少发生作业错误等的可能性的功能。

因此,本实施方式的支持装置200安装有一致性检查功能,所述一致性检查功能判断可否对作为对象的plc100中所执行的控制程序施加变更。

<f.处理流程>

接下来,对使用安装有一致性检查功能的支持装置200来对多个plc100进行程序变更时的处理流程进行说明。图5是表示使用本实施方式的支持装置200对多个plc100进行程序变更时的处理流程的流程图。图5所示的各步骤通过支持装置200(严格来说,是支持装置200的cpu202)执行支持程序来实现。

参照图5,支持装置200执行支持装置用应用程序而启动控制程序的编辑画面(步骤s100),读出所保存的控制程序(以下,也称为“原始程序”)以及全局变量表(以下,也称为“原始变量表”)(步骤s102)。然后,支持装置200保存与所读出的原始程序相关联的识别信息(步骤s104)。

支持装置200具有针对构成控制程序的各pou,根据各pou的内容算出识别信息的功能。在步骤s104中,识别信息被赋予至包含于原始程序中的每个pou。所述识别信息是用以判断是否对控制程序进行了某些变更的信息,可使用原始程序本身。但是,为了削减信息量,也可使用根据原始程序的数据算出的散列值(或者,报文摘要(messagedigest))、或原始程序的属性信息(例如,包括更新日期时间等)等。即,支持装置200使用散列函数并根据各pou的程序代码或程序对象等算出识别信息。

紧接着,支持装置200依据程序编辑作业者进行的变更操作,变更作为对象的原始程序以及原始变量表(步骤s106)。

在步骤s106中的对原始程序以及原始变量表的变更操作中,允许在满足在线编辑功能中的约束的范围内的操作。具体来说,执行使包含违反在线编辑功能中的约束的操作的菜单画面或操作画面无效化等的处理。通过并非事后在将变更后的控制程序传送至plc100时判断是否符合约束,而是事先限制可对原始程序以及原始变量表进行的操作,可更有效率地进行变更作业。

再者,有时依存于成为程序的变更对象的plc100的固件(firmware)的版本等,在线编辑功能中的约束有所不同。在此种情况下,当能够事先获取plc100的固件的版本时,也可应用与所述已获取的版本相应的约束。或者,也可只使在最严的约束下所允许的操作可执行。

然后,支持装置200判断是否指示有变更操作完成(步骤s108)。如果未指示变更操作完成(步骤s108中,否(no)),则重复步骤s106以下的处理。如果指示有变更操作完成(步骤s108中,是(yes)),则支持装置200根据对构成控制程序的任一pou的变更操作来生成变更后的pou,并且根据对构成控制程序的变量表的变更操作来生成变更后的表变量表。即,支持装置200保存变更后的控制程序(以下,也称为“变更后程序”)以及变更后的全局变量表(以下,也称为“变更后变量表”)(步骤s110),并且保存与变更后程序相关联的识别信息(步骤s112)。

然后,支持装置200使用变更后程序以及变更后变量表,生成应传送给plc100的数据文件(步骤s114)。更具体来说,将由支持装置200保存的控制程序(源数据)转换为由plc100执行而所需的形式(一种编译(compile))。所述数据文件中除包含变更后程序以及变更后变量表以外,还包含与变更后程序以及变更后变量表相关联的识别信息。

紧接着,支持装置200判断是否连接于任一个plc100(步骤s116)。如果连接于任一个plc100(步骤s116中,yes),则支持装置200判断是否指示有对所连接的plc100进行数据文件传送(步骤s118)。如果取消数据文件的传送(步骤s118中,no),则处理结束。

如果指示有对所连接的plc100进行数据文件传送(步骤s118中,yes),则支持装置200自连接目的地的plc100获取与包含于数据文件中的变更对象的变更后程序以及变更后变量表相关联的信息(步骤s120)。然后,支持装置200基于自连接目的地的plc100获取的信息来检查一致性,由此判断能否进行变更后程序以及变更后变量表的传送(步骤s122)。

如果判断为不可传送变更后程序以及变更后变量表(步骤s122中,no),则支持装置200显示无法将变更后程序以及变更后变量表传送给plc100这一内容(步骤s124)。然后,处理移至步骤s132。

与此相对,如果判断为可传送变更后程序以及变更后变量表(步骤s122中,yes),则支持装置200通知开始向plc100传送变更后程序以及变更后变量表,并且接受传送开始的指示(步骤s126)。如果取消变更后程序以及变更后变量表的传送(步骤s126中,no),则处理移至步骤s132。

如果指示有对变更后程序以及变更后变量表的传送(步骤s126中,yes),则支持装置200依照预先决定的顺序将变更后程序以及变更后变量表依序传送给plc100(步骤s128)。此时,支持装置200也将包含于变更后程序中的、分别与一个或多个pou相关联的识别信息传送给plc100。即,支持装置200将作为单元程序的pou和与所述pou相关联的识别信息传送给plc100。

关于变更后程序,优选为按照包含于所述变更后程序中的pou的单位来传送必需的程序。另外,关于变更后程序以及变更后变量表的传送顺序,可采用预先决定的顺序,或者根据变更后程序的内容予以适当最佳化。

如此,支持装置200以与构成控制程序的pou相关联的识别信息相同的识别信息存在于plc100中为条件,对运转过程中的plc100传送变更后的pou。

最终,支持装置200如果确认变更后程序以及变更后变量表向plc100的传送完成(步骤s130),则支持装置200判断是否连接于其他plc100(步骤s132)。如果连接于任一其他plc100(步骤s132中,yes),则重复执行步骤s118以下的处理。

如果没有连接于任一其他plc100(步骤s132中,no),则处理结束。

<g.一致性检查功能>

接下来,对本实施方式的支持装置200所安装的一致性检查功能(图5的步骤s120~步骤s122等)进行说明。

(g1:使用识别信息的检查)

图6是用以对本实施方式的支持装置200所安装的一致性检查功能中的、使用识别信息的检查进行说明的示意图。

参照图6,支持装置200设为保存有4个pou(pou-a、pou-b、pou-c、pou-d)作为原始程序。对pou-a、pou-b、pou-c、pou-d分别关联有识别信息ida、识别信息idb、识别信息idc、识别信息idd。

即,支持装置200设为预先执行如下处理:针对构成用户程序的各单元程序(即,一个或多个pou),根据各单元程序的内容算出识别信息的处理;以及将单元程序和与所述单元程序相关联的识别信息传送给作为控制装置的plc100-1~plc100-3的处理。

在此状态下,设为程序编辑作业者对pou-a以及pou-b施加了变更。即,设为pou-a被变更为pou-a’,pou-b被变更为pou-b’。

支持装置200在传送前,将与pou-a相关联的识别信息ida、和保存于各plc100中的与pou-a相关联的识别信息进行比较。即,支持装置200检查与变更前的控制程序(原始程序)相同的控制程序是否保存于作为对象的plc100中。也可对pou本身进行比较以检查相同性的有无,但优选使用各自所对应的识别信息。

其原因在于:在变更前的控制程序(原始程序)与保存于plc100中的控制程序不同的情况下,因进行变更后的控制程序(变更后程序)的传送,而有产生plc100中的误动作或plc100的动作停止等的可能性。

本来,保存于支持装置200中的控制程序与保存于plc100中的控制程序在实质上应该相同,但有由于第三者的变更操作等而只变更了plc100侧的可能性。或者,也设想如下情况:维护负责人等将支持装置200连接于与成为变更对象的plc100不同的plc100。

因此,通过使用本实施方式的一致性检查功能,在传送前,判断保存于支持装置200中的原始程序是否与保存于plc100中的控制程序相同,以减少发生plc100中的误动作或plc100的动作停止等的可能性。

在图6所示的示例中,支持装置200对保存于支持装置200中的与pou-a相关联的识别信息ida、和保存于各plc100中的与pou-a相关联的识别信息ida进行比较,在两者一致的情况下,将pou-a’以及与pou-a’相关联的识别信息ida’传送给作为对象的plc100。

同样地,支持装置200对保存于支持装置200中的与pou-b相关联的识别信息idb、和保存于各plc100中的与pou-b相关联的识别信息进行比较。在图6所示的示例中,保存于plc100-1中的pou-b与保存于支持装置200中的变更前的pou-b相同,各自的识别信息idb也一致。另一方面,在plc100-2中保存有与保存于支持装置200中的pou-b不同的pou-b”,两者的识别信息不一致。因此,支持装置200不会将变更pou-b而得的pou-b’传送给plc100-2。

另外,可在即使控制程序的一部分与保存于作为对象的plc100中的控制程序不同的情况下,中止作为变更对象的控制程序的所有传送。或者,也可只传送保存于支持装置200中的程序与保存于作为对象的plc100中的程序一致的pou。

(g2:全局变量表)

接下来,对全局变量表进行说明。图7是用以对本实施方式的支持装置200所安装的一致性检查功能中的、全局变量表的检查内容进行说明的示意图。

参照图7,全局变量表中所定义的全局变量(%data1、%data2、…)被一个或多个pou参照。因此,如果变更原有的某个全局变量的定义,则有时会影响一个或多个pou的执行。因此,在本实施方式的在线编辑功能中,不允许变更全局变量表中先前设定的全局变量。但是,可在全局变量表中新追加变量。

因此,作为在线编辑功能中可进行的变更操作,仅限于对全局变量表追加新定义。换句话说,必须对保存于支持装置200中的变更前的全局变量表和变更后的全局变量表进行比较,并判断其差分是否仅为新追加的部分。

支持装置200对保存于支持装置200中的变更前的全局变量表和变更后的全局变量表进行比较,以检查除经变更的变量以外的变量均一致。然后,支持装置200以变更后的全局变量表中包含变更前的全局变量表的所有内容为条件,将变更后的全局变量表传送给plc100。

(g3:一致性检查功能的处理流程)

接下来,对图5所示的步骤s122中、判断能否进行变更后程序以及变更后变量表的传送的详细情况进行说明。图8是表示图5所示的流程图的步骤s122的更详细的处理流程的流程图。

参照图8,支持装置200获取变更操作前所保存的、与控制程序(一个或多个pou)分别相关联的识别信息(步骤s1220)。紧接着,支持装置200确定控制程序(一个或多个pou)中、通过变更操作而被变更的pou,并且获取与变更后的pou分别相关联的识别信息(步骤s1221)。然后,对经变更的pou分别执行以下的处理。

具体来说,支持装置200将经变更的pou中的任一个选为对象(步骤s1222)。判断与被选为对象的经变更的pou相对应的pou是否保存于连接目的地的plc100中(步骤s1223)。

如果对应的pou未保存于连接目的地的plc100中(步骤s1223中,no),则支持装置200判断为不可进行变更后程序以及变更后变量表的传送(步骤s1224)。然后,图5的步骤s122的处理完成。

如果对应的pou保存于连接目的地的plc100中(步骤s1223中,yes),则支持装置200判断所保存的与变更前的pou相关联的识别信息、和保存于连接目的地的plc100中的与对应于所述变更前的pou的pou相关联的识别信息是否一致(步骤s1225)。

如果两个识别信息不一致(步骤s1225中,no),则支持装置200判断为不可进行变更后程序以及变更后变量表的传送(步骤s1224)。然后,图5的步骤s122的处理完成。

如果两个识别信息一致(步骤s1225中,yes),则支持装置200判断经变更的pou中是否剩有应被选为对象的pou(步骤s1226)。如果经变更的pou中剩有应被选为对象的pou(步骤s1226中,yes),则支持装置200将经变更的pou中剩余的任一个pou选为对象(步骤s1227),并执行步骤s1223以下的处理。

如果经变更的pou中未剩有应被选为对象的pou(步骤s1226中,no),则支持装置200对保存于支持装置200中的变更前的全局变量表、和变更后的全局变量表进行比较,判断除经变更的变量以外的变量是否均一致(步骤s1228)。如果除经变更的变量以外的变量中的任一个不一致(步骤s1228中,no),则支持装置200判断为不可进行变更后程序以及变更后变量表的传送(步骤s1224)。然后,图5的步骤s122的处理完成。

与此相对,如果除经变更的变量以外的变量均一致(步骤s1228中,yes),则支持装置200判断为可进行变更后程序以及变更后变量表的传送(步骤s1229)。然后,图5的步骤s122的处理完成。

如此,支持装置200以如下情况为条件,将变更后的pou传送给plc100,所述情况为:关于构成控制程序的多个pou中、进行了某些变更操作的一个或多个pou的每一个,相应的识别信息全部存在于plc100中。

(g4:总结)

如上所述,本实施方式的支持装置200所安装的一致性检查功能是使用识别信息等,来判断作为变更对象的控制程序(pou)是否存在于plc100中、以及变更前的控制程序与保存于plc100中的控制程序之间是否一致。

进而,本实施方式的支持装置200所安装的一致性检查功能进行如下判断:保存于支持装置200中的变更前的全局变量表(原始变量表)和变更后的全局变量表(变更后变量表)之间,除变更部分以外的变量是否一致。

通过进行此种对构成是否一致的检查、以及能否保持作为变更对象的数据的一贯性的检查,来减少在使用在线编辑功能的改写作业中可能产生的、plc100的误动作或动作停止等的发生的可能性。

<h.变更操作的限制功能>

一般来说,在可使用在线编辑功能(对运转状态下的控制程序的变更功能)进行修正的内容中,与在plc100停止的状态下进行上传的情况相比存在约束。具体来说,设想如下所述的约束。

·新颖pou(或者,梯形图区块)的追加

·原有pou(或者,梯形图区块)的删除

·原有的变量表中所定义的变量的删除

·原有的变量表内的变量顺序的更改

即,在线编辑功能中,必须在变更前后保持程序执行所需的信息的一贯性。因此,在执行此种在线编辑功能的期间,优选的是将用户可执行的变更操作限制于满足所述约束的范围内。即,可在支持装置200启动控制程序的编辑画面后,在在线编辑功能被有效化时,只将满足在线编辑功能的约束的操作有效化。如此,通过限制控制程序的编辑画面中的用户操作,可减少发生plc100中的误动作或plc100的动作停止等的可能性。即,支持装置200对可指示的变更操作进行限制,以符合对运转过程中的plc100传送变更后的pou时的约束。

图9是对本实施方式的支持装置200所安装的变更操作的限制功能进行说明的示意图。图9(a)中,作为一例而表示针对全局变量表的编辑画面的一例。在所述编辑画面中,可对全局变量表进行新变量的追加(追加)、变量设定的变更(变更)、已注册的变量的删除(删除)。

另一方面,图9(b)中,表示在线编辑功能被有效化状态下的编辑画面的一例。在所述编辑画面中,对全局变量表的新变量的追加(追加)操作被有效化,但是变量设定的变更(变更)、以及已注册的变量的删除(删除)被无效化。此对应于如下情况:如上所述,原有的变量表中所定义的变量的删除、以及原有的变量表内的变量顺序的更改已成为约束事项。

并非仅限于如图9所示的限制功能例,优选为根据由在线编辑功能所带来的约束来限制用户操作。

<i.传送顺序的调整>

在所述图5所示的流程图的步骤s128中,关于变更后程序以及变更后变量表的传送顺序,可预先决定,也可根据控制程序的内容进行变更。

在线编辑功能中,基本上是先传送(更新)全局变量表,紧接着依序传送(更新)控制程序(各个pou)。这是因为有包含于控制程序中的一个或多个pou分别独立地访问(access)全局变量表中所定义的变量的可能性,因此优选在这些pou更新前,提前更新全局变量表。

但是,根据控制程序的程序结构,也可先更新pou,之后更新全局变量表。因此,本实施方式的支持装置200可任意变更或设定传送控制程序以及全局变量表的顺序。即,支持装置200以预先决定的顺序或指定的顺序对作为传送对象的变量表以及一个或多个pou进行传送。

作为默认的传送顺序,例如可设想如下例子:以编辑作业的实施顺序进行传送、在如图4所示的数据结构中越处于下方的阶层的数据越先传送、在如图4所示的数据结构中越处于上方的阶层的数据越先传送。

支持装置200参照如上所述的各种信息来决定数据的传送顺序。

图10是表示用以对本实施方式的支持装置200所提供的传送顺序进行设定的用户界面画面的一例的图。参照图10,例如,一览显示有作为传送对象的数据(全局变量表、梯形图程序、梯形图函数、梯形图功能块等),并且其显示顺序与传送顺序对应。在此用户界面画面中,用户可通过操作上箭头按钮或下箭头按钮来适当变更数据的传送顺序。

关于数据的传送顺序,可以是支持装置200通过分析程序的内容来决定最适合的顺序。例如,可以根据连接于支持装置200的plc100的特性值(硬件规格、固件版本等)而使传送数据的顺序等最佳化。即,支持装置200可根据传送目的地的plc100的特性值,来决定作为传送对象的全局变量表以及一个或多个pou的传送顺序。

<j.plc中的程序执行开始时机>

根据本实施方式的在线编辑功能,可将变更后程序以及变更后变量表传送给plc100,并适当设定plc100开始执行所述被传送的变更后程序以及变更后变量表的时机。

图11是用以说明由本实施方式的在线编辑功能所传送的控制程序的执行开始时机的图。图11中,表示依序传送三个pou(pou-a、pou-b、pou-c)时的处理例。

图11(a)中,表示在各个pou的传送完成后,不必等待其他pou的执行便开始执行此传送完成的pou的示例。图11(b)中,表示在三个pou的传送完成后,一起开始执行这三个pou的示例。再者,图11(a)以及图11(b)中,作为控制器执行周期,一个记载的箭头(→)表示一个控制器执行周期。

根据图11(a)所示的方法,在各plc100中,保持变更前后的pou的存储区域为最低限即可,因此,即使在存在硬件上的约束的情况下,也可实现在线编辑功能。

根据图11(b)所示的方法,在各plc100中,用以保持变更前后的全部pou的存储区域成为必需,因此,必须使用有余量的硬件,但即使在多个pou所控制的各个装置间彼此关联这样的情况下,因为所有的变更后的pou一起进行切换,所以不易产生同步偏差等问题。

本实施方式的支持装置200可根据连接目的地的plc100的特性值(硬件规格、固件版本等)自动选择任一种模式,也可由用户明示地选择任一种模式。

<k.优点>

根据本实施方式的支持装置200,即使在对运转过程中的plc100进行控制程序的变更操作的情况下,也可减少发生plc100中的误动作或plc100的动作停止等的可能性。

另外,根据本实施方式的支持装置200,可使控制程序的变更操作更简化,因此即使在需要对在多个plc100中分别执行的控制程序进行相同的修正的情况下,也可以更简单且以短时间结束作业。

应认为,此次所公开的实施方式在所有的方面均为例示而不具有限制性。本发明的范围由权利要求而非所述说明所示,并且意图包含与权利要求均等的含义以及范围内的所有变更。

[符号的说明]

1:plc系统

10:cpu单元

11:系统总线

12:电源单元

14、16:i/o单元

100:plc

102:处理器

104:芯片组

106:主存储器

108:闪速存储器

110:系统程序

112:用户程序

112a:顺序程序

112b:运动程序

116:外部网络控制器

118:存储卡接口

120:存储卡

122:内部总线控制器

124:现场总线控制器

130:梯形图区块

132:梯形图函数

134:梯形图功能块

140:st程序

142:st函数

144:st功能块

150:全局变量表

160:i/o模块

200:支持装置

202:cpu

206:ram

210:键盘

212:鼠标

214:显示器

216:光学记录介质读取装置

218:通信接口

250:光学记录介质

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1