程序生成辅助装置、程序生成辅助方法和使计算机执行该方法的程序及存储该程序的存...的制作方法

文档序号:6281445阅读:110来源:国知局
专利名称:程序生成辅助装置、程序生成辅助方法和使计算机执行该方法的程序及存储该程序的存 ...的制作方法
技术领域
本发明涉及程序生成辅助装置、程序生成辅助方法和使计算机 执行该方法的程序及存储该程序的存储介质,该程序生成辅助装置辅 助进行由多个控制装置组成的控制系统中的各个控制装置的控制程 序的生成。
背景技术
当前,为了控制加工设备或组装设备等装置,使用可编程控制器(下面称为PLC)或动作控制器(下面称为MC) 、 HMI (Human Machine Interface; 显示器或SCADA ( Supervisory Control And Data Acquisition))。另外,近来除了对1台装置进行控制的情况之外, 有时在使用多台装置构成生产线的情况下等,构筑使用多台PLC的 控制系统。该使用多台PLC构筑的控制系统具有下述2种形式(1) 链路型控制系统,其采用经由网络连接多个具有1台CPU (Central Processing Unit)单元和1台网络单元的PLC的形式,(2)多CPU 型控制系统,其在1台基本单元上安装多个CPU单元,将各个CPU 单元经由总线连接而构成PLC。 (1)链路型控制系统 在链路型控制系统中,如上述所示,需要在多台PLC之间进行 数据交换,为了实现该交换,将PLC之间以FA ( Factory Automation ) 网络连接,进行数据的交换。在该链路型控制系统的情况下,经由链 路设备进行PLC相互之间的数据交换。图l一l是示意地表示链路型 控制系统的结构的一个例子和其链路设备的图,图l一2是表示图1 一l的控制系统的PLC中的链路设备的内容的一个例子的图。该控 制系统500具有下述结构具有CPU单元502和网络单元503的PLC501 — 1 501—4经由FA网络504相互连接。在这里,将1个PLC 称为站点,将PLC 501 —1 501—4分别称为站点1 站点4。在CPU 单元502中设置链路设备,经由该链路设备在各PLC 501 — 1 501 一4之间进行数据交换。该链路设备周期性地将其他站点的设备值复 制至本站点的设备中,具有相当于作为由FA网络504连接的PLC 501 一1 501 — 4之间的共用存储器使用的功能。如图l一2所示,在网络中对1个站点分配1个链路设备510, 在各站点的CPU502中使用相同的分配设定,但在对链路设备510进 行分配时,采用将1个站点写入的链路设备510连续地集中分配至1 个位置的方式。这是为了在周期性地将其他站点的设备值复制至本站 点的链路设备510中的情况下,通过在1次通信内集中传输多个数据(集中存储在l个位置中的设备值),从而使站点间的多个数据的传 输高效地进行(例如,参照专利文献l)。例如,各站点的链路设备510,在地址为"BOO BOF'的区域(下 面称为区块1)中写入站点1的设备值,在地址为"B10 B1F"的区域(下面称为区块2)中写入站点2的设备值,地址为"B20 B2F"的区 域(下面称为区块3)中写入站点3的设备值,地址为"B30 B3F" 的区域(下面称为区块4)中写入站点4的地址值。其中,与写入站 点对应的站点的区域仅可以由本站点进行写入,对其他站点的区域则 只能进行参照。例如,在站点1的链路设备510中,站点1自身可以 向区块1中写入,但由于区块2为站点2写入的设备值,所以站点1 只能进行参照。另外,对于区块3、 4,由于为分别由站点3、 4写入 的设备值,所以同样只能进行参照。另外,由于在区块l集中存储有 本站点的设备值,因此站点1将该设备值集中向其他站点周期性地发 送。(2)多CPU型控制系统 下面说明多CPU型控制系统。在1个装置的控制中使用多台 PLC时,通常在1台PLC中设有1个CPU,但有时也取代上述情况, 使1台PLC形成为多CPU的结构,使用1台PLC对装置集中进行控 制。相同地,在使用多台装置构成生产线时,通常在1台PLC中设有1个CPU,使用多台PLC进行控制,但有时也取代上述情况,使 1台PLC形成为多CPU的结构,使用1台PLC对多台装置集中进行 控制(例如,参照非专利文献l)。这种具有多CPU结构的PLC的 控制系统在本说明书中,称为多CPU型控制系统。图2是示意地表示多CPU型控制系统的结构的图。该多CPU 型控制系统600,具有在基本单元601上安装多台CPU单元602—1 602 — 4的结构。在基本单元601上设置总线603,将各CPU单元602 —1 602 — 4之间连接。在这种多CPU型控制系统600的情况下, CPU单元602—1 602 — 4相互之间的数据交换经由共用刷新设备进 行。图3—1是示意地表示多CPU型控制系统的共用刷新设备的图, 图3 — 2是表示图3 — 1的控制系统的PLC中共用刷新设备的设定的 一个例子的图。在这里,例示多CPU型控制系统由2个CPU单元 602—1、 602 —2组成的情况。各CPU单元602—1、 602 —2中设置 共用刷新设备。该共用刷新设备周期性地将其他CPU的设备值复制 至本CPU的设备中,具有相当于在经由总线603连接的CPU单元 602—1、 602 — 2之间作为共用存储器使用的功能。另外,对周期性 地将其他CPU单元的设备值复制至本CPU单元的设备中的功能称为 多CPU自动刷新功能。如图3 — 2的共用刷新设备的设定610所示,在刷新源CPU为 CPU单元602—1的情况下,作为其多CPU自动刷新功能,针对CPU 单元602—1的设备值,将写入的起始地址设定为"DOO",针对CPU 单元602 — 2的设备值,将写入的起始地址设定为"D10"。另外,在 刷新源CPU为CPU单元602 —2的情况下,作为其多CPU自动刷新 功能,针对CPU单元602—1的设备值,将写入的起始地址设定为 "D10",针对CPU单元602 —2的设备值,将写入的起始地址设定为 "D00"。其中,此时的设备值的点数为16。如果以上述方式设定多CPU自动刷新功能,则如图3—l所示, CPU单元602—1的地址"DOO DOF"成为CPU单元602—1本身的写 入区域,CPU单元602—1的地址"D10 D1F"成为写入有CPU单元602 — 2的地址"D00 F0F'中的设备值的区域,只能对其进行参照。 相同地,CPU单元602 — 2的地址"DOO DOF"成为CPU单元602 — 2 本身的写入区域,CPU单元602 — 2的地址"D10 D1F"成为写入有 CPU单元602—1的地址"DOO FOF"中的设备值的区域,只能对其进 行参照。
另外,如图3—1 3 —2所示,多CPU自动刷新功能,在对共 用刷新设备进行分配时,采用将1个CPU写入的设备值连续地集中 分配至1个位置的方式。这是为了在周期性地将其他CPU单元的设 备值复制至本CPU单元的共用刷新设备中的情况下,通过在l次通 信内集中传输多个数据(集中存储在1个位置中的设备值),从而使 CPU单元间的多个数据的传输高效地进行。
以上是链路型控制系统和多CPU型控制系统的概况。另外,用 于控制加工设备或组装设备等装置的PLC或MC的控制程序或HMI 的画面程序,目前通常采用利用设备的地址进行记述的方式。图4 是表示现有的控制程序的一个例子的图。在这里,示出由梯形图程序 记述的控制程序701、和写入有控制程序中使用的设备数据的设备表 702。梯形图程序如控制程序701所示,利用接点符号711和线圈符 号712记述。例如,在记述上述链路型控制系统的控制程序时,对与 PLC之间的数据交换相关的部分使用作为链路设备的"BO"来记述程 序,在记述上述多CPU型控制系统的控制程序时,对与CPU之间的 数据交换相关的部分使用作为共用刷新设备的"DO"来记述程序。
当前,如图4所示通常采用以设备的地址进行记述的方式的控 制程序或画面程序,近年来也普遍使用下述方式使用标签名进行记 述,并另外进行标签名和设备的地址之间的关联。图5是表示使用标 签的控制程序的一个例子的图。在该图5左侧所示的开发工具内,示 出控制程序701、设备表702和将设备与标签进行关联的标签一设备 关联表703。 S卩,控制程序701使用标签进行记述,使用标签一设备 关联表703预先将可以使用的设备和标签进行对应,在编译时将标签 变换为设备。在变换后,如图5的右侧所示,控制程序701使用设备 记述。由于标签名具有BOOL或WORD这样的数据类型,所以在将标 签名关联至设备时,只要将BOOL型的标签名与BOOL型的设备关 联即可,没有必须与哪个设备的哪个地址进行关联的限制。另外,由 于可以对标签名赋予能够由此了解数据内容的名字,所以与使用设备 记述控制程序的情况相比,程序的可读性好。在上述方面中,使用标 签名的控制程序的生成与现有的利用设备地址的程序相比,能够实现 控制程序生成的高效化。
另外,在上述的经由链路设备进行PLC501之间的数据交换的链 路型控制系统500中,将各PLC 501的程序利用标签名进行记述时, 优选与在PLC501之间交换的数据相对的标签名,在各PLC 501之间 使用相同的标签名。经由共用刷新设备而在CPU单元602之间进行 数据交换的多CPU型控制系统600也同样优选上述方式。
在链路型控制系统500中,由于标签名以各PLC 501为单位进 行管理,所以如果对在PLC501之间交换的数据使用相同的标签名, 则需要在生成各PLC 501的控制程序的负责人之间预先作出使用相 同标签名的"协定"。经由共用刷新设备而在CPU单元602之间进行 数据交换的多CPU型控制系统600也同样如此。
仅通过在负责人之间作出"协定",以在多个PLC 501中可靠地 使用相同的标签名,则有可能由于联络错误等产生差错。为了解决上 述问题,作为用于在各PLC 501之间使用相同标签名的技术,例如 提出了在生成各PLC 501的程序的工具之间共用标签名的技术(例 如,参照专利文献2)。
专利文献l:特开平6 — 311202号公报
专利文献2:国际公开第02 / 042853号单行本
专利文献3:特开2003 —15705号公报
非专利文献1: "Q対応MELSECNET/H才、、;/卜7 —夕、乂7亍厶 三菱汎用、乂一^ 乂寸MELSEC—Q, Online,三菱電機株式会社",2005 年 10 月,2006年 1 月 20 日检索,网络,"URL : http:〃wwwf3.mitsubishielectric.co.jp/members/o_manual/plc/sh080026/ sh080026k.pdf,发明内容但是,对于在PLC之间交换的数据或在CPU之间交换的数据, 即使使用相同的标签名,也需要将上述标签关联至链路型控制系统的 链路设备或多CPU型控制系统的共用刷新设备上,产生该关联操作 变得复杂的问题。在链路型控制系统中具体地说明该问题,在网络中对1个站点 分配1个链路设备,在各站点的PLC中使用相同的分配设定。此时, 需要将1个站点写入的链路设备连续地集中分配至1个位置。由此, 在将标签与链路设备进行关联时,需要针对该标签考虑是哪个站点写 入的数据,然后将标签与链路设备进行关联。例如在图l一l中,作 为站点1写入的数据使用的标签,只能与站点1写入的链路设备进行 关联。而且在进行链路设备的分配时,需要统计作为站点1写入的数 据而使用的标签的整体点数,然后使它们连续地集中在1个位置而进 行链路设备的分配。即,虽然刚通过使用标签而使编程高效化,但是 由于出现考虑链路设备的分配而将标签关联至链路设备的操作,以及 考虑标签的整体点数而进行链路设备分配的操作,所以存在与现有的 使用设备进行编程的情况相比,无法实现整体上的高效化的问题。图6是表示链路型控制系统中的标签分配和向链路设备进行的 分配的一个例子的图。在该图6的例子中,作为站点1写入的数据而 使用的标签是表示开始指示的"ProcStart"和表示紧急停止的 "EmStop",在链路设备分配时,作为站点1写入的链路设备必须至 少确保2点。另外,作为站点2写入的数据而使用的标签是表示开始 响应的"StartAck"、表示处理完成的"complete"和表示错误发生的 "Error",在链路设备分配时,作为站点2写入的链路设备必须至少确 保3点。需要在进行上述考虑的同时进行链路设备的分配。另外,需要使作为站点1写入的数据而使用的标签"ProcStart" 和"EmStop",集中至作为站点1写入的链路设备而分配的地址"B00 BOF"中并进行关联,使作为站点2写入的数据而使用的标签 "StartAck"、 "complete"和"Error",集中至作为站点2写入的链路设备而分配的地址"B10 B1F"中并进行关联。需要一边进行上述考虑, 一边在站点1和站点2各自的标签向链路设备的关联中,进行标签向 链路设备的关联。下面,在多CPU型控制系统中具体地说明上述问题,对于共用 刷新设备,在共用刷新设备分配时,需要将1个CPU写入的共用刷 新设备连续地集中分配至l个位置。由此,在将标签与共用刷新设备 进行关联时,需要针对该标签考虑是哪个CPU写入的数据,然后将 标签与共用刷新设备进行关联。例如在图3—1中,作为CPU单元 602—1写入的数据使用的标签,只能与CPU单元602—1写入的共 用刷新设备进行关联。而且在进行共用刷新设备的分配时,需要统计 作为CPU单元602—1写入的数据而使用的标签的整体点数,然后使 它们连续地集中在1个位置而执行共用刷新设备的分配。即,虽然刚 通过使用标签而使编程高效化,但是由于出现考虑共用刷新设备分配 而将标签向共用刷新设备关联的操作,以及考虑标签的整体点数而进 行共用刷新设备分配的操作,所以存在与现有的使用设备进行编程的 情况相比,无法实现整体上的高效化的问题。图7是表示多CPU型控制系统中的标签的分配和向共用刷新设 备进行的分配的一个例子的图。在该图7的例子中,作为CPU单元 602—1写入的数据而使用的标签是表示准备指示的"ProcReady"和表 示开始指示的"ProcStart",在共用刷新设备分配时,作为CPU单元 602—1写入的共用刷新设备必须至少确保2点。另外,作为CPU单 元602 — 2写入的数据而使用的标签是表示准备完成的"ReadyOK"、 表示开始响应的"StartAck"和表示处理完成的"complete",在共用刷 新设备分配时,作为CPU单元602 — 2写入的共用刷新设备必须至少 确保3点。需要在进行上述考虑的同时进行共用刷新设备的分配。另夕卜,在CPU单元602—1中的标签向设备的关联中,作为CPU 单元602—1写入的数据而使用的标签"ProcReady"和"ProcStart",需 要与作为CPU单元602— 1写入的共用刷新设备而分配的地址 "DOO DOF"进行关联,作为CPU单元602 — 2写入的数据而使用的 标签"ReadyOK"、 "StartAck"、 "complete",需要与作为CPU单元602—2写入的共用刷新设备而分配的地址"D10 D1F"进行关联。另夕卜, 在CPU单元602 — 2中的标签向设备的关联中,作为CPU单元602 一l写入的数据而使用的标签"ProcReady"和"ProcStart",需要与作为 CPU单元602—1写入的共用刷新设备而分配的地址"D10 D1F,进 行关联,作为CPU单元602 — 2写入的数据而使用的标签"ReadyOK"、 "StartAck"、 "complete",需要与作为CPU单元602 — 2写入的共用刷 新设备而分配的地址"DOO DOF"进行关联。需要一边进行上述考虑, 一边在CPU单元602— 1和CPU单元602 — 2各自的标签向共用刷新 设备的关联中,进行标签向共用刷新设备的关联。作为用于解决上述复杂这一问题的技术,提出一种具有下述单 元的方案该单元针对向在PLC之间进行交换的数据赋予的标签, 自动地与各PLC内的本地存储器进行关联,将该本地存储器之间经 由网络而进行同值化(例如,参照专利文献3)。但是,在上述专利文献3中,不使用上述的链路型控制系统或 多CPU型控制系统,而使用进行同值化的单元,对每个应当同值化 的数据发送值读取请求,接收响应数据,通过将响应数据写入而实现 同值化。因此,用于同值化的通信成为瓶颈,同值化的周期变慢。艮P, 其原因在于,由于将1点的数据在PLC之间传输所需的处理时间、 和将IO点的数据集中地在PLC之间传输所需的处理时间基本没有差 别,所以在将10点的数据分为10次在PLC之间传输的情况,与将 10点的数据集中地在PLC之间传输的情况相比,实际上需要10倍 的处理时间。作为如上述链路型控制系统这样在PLC之间进行数据交换、或 如多CPU型控制系统这样在CPU单元之间进行数据交换的结构,而 提供所谓链路设备或共用刷新设备这样的功能,是为了避免上述专利 文献3中的问题、g卩"通信成为瓶颈而使同值化的周期变慢",因此, 采用将1个站点或1个CPU写入的设备连续地集中分配至1个位置 的方式。本发明就是鉴于上述问题而提出的,其目的在于,得到一种程 序生成辅助装置、程序生成辅助方法和使计算机执行该方法的程序、及存储有该程序的存储介质,该程序生成辅助装置在链路型控制系统
中的PLC之间高速进行数据交换的链路设备的功能、或在多CPU型 控制系统中的多个CPU之间高速进行数据交换的共用刷新设备的功 能中,可以实现在各PLC之间或多CPU之间使用相同的标签名来生 成程序,并且可以使链路设备或共用刷新设备的分配操作、及标签向 链路设备或共用刷新设备的关联操作简化。
为了实现上述目的,本发明所涉及的程序生成辅助装置,在由 多个控制装置构成的控制系统中,辅助生成使用了标签的下述控制程 序,该控制程序用于使各个上述控制装置对控制对象进行控制,其特
征在于,具有共用标签抽取单元,其从各个上述控制装置的控制程
序中,抽取与下述设备相关联的共用标签,上述设备与多个控制装置
间共用的存储器对应;共用标签写入/读取信息生成单元,其参照上 述控制程序而判断上述共用标签由哪个控制装置写入数据、由哪个控 制装置读取数据,生成共用标签写入/读取信息;以及设备集中分配 关联单元,其使用上述共用标签写入/读取信息,将控制装置写入的 共用标签按每个上述控制装置进行分类,针对每个上述分类将上述共 用标签与上述设备的地址关联。
发明的效果
根据本发明,由于可以对控制装置间的数据交换使用相同标签 名而生成程序,并且使该标签向设备的关联和设备的分配操作自动进 行,所以具有通过在控制设备之间使用相同标签名进行程序生成而使
装置开发高效化的效果。另外,还可以实现下述控制系统的开发,在 该控制系统中利用链路设备的功能而高速进行上述控制装置之间的 数据交换。


图l一l是示意地表示链路型控制系统的结构的一个例子和其链 路设备的图。
图l一2是表示图l一l的控制系统的PLC中链路设备的内容的一个例子的图。图2是示意地表示多CPU型控制系统的结构的图。图3—1是示意地表示多CPU型控制系统的共用刷新设备的图。图3 — 2是表示图3—1的控制系统的PLC中共用刷新设备的设定的一个例子的图。图4是表示现有的控制程序的一个例子的图。图5是表示使用标签记述的控制程序的一个例子的图。图6是表示链路型控制系统中的标签的分配、和向链路设备的分配的一个例子的图。图7是表示多CPU型控制系统中的标签的分配、和向共用刷新设备的分配的一个例子的图。图8是示意地表示程序生成辅助装置的功能结构的框图。图9是示意地表示实现该程序生成辅助装置的开发工具的显示画面上的构成的图。图IO是表示编程步骤的一个例子的流程图。图ll一l是表示利用标签编辑工具进行将标签向实际设备关联的操作的情况的图。图11一2是表示设置独立的工具而进行将标签向实际设备关联的操作的情况的图。图12是示意地表示设定了系统结构后的开发工具显示画面上的构成的一个例子的图。图13是表示生成的标签表的一个例子的图。图14是表示生成的梯形图程序的一个例子的图。图15是表示将标签向实际设备关联的处理步骤的一个例子的流程图。图16是表示判断处理A的步骤的流程图。图17是表示共用标签表和非共用标签表的一个例子的图。图18是表示判断处理B的步骤的流程图。图19是表示共用标签写入/读取信息的一个例子的图。图20是表示链路设备关联标签表和共用刷新设备关联标签表的一个例子的图。图21是表示网络集中分配关联处理D的步骤的流程图。 图22是表示网络集中分配关联处理D的具体步骤的图。 图23是示意地表示设定了系统结构后的开发工具显示画面上的构成的一个例子的图。图24是表示多CPU型控制系统中的共用标签的集中分配关联处理的步骤的具体例子的图。图25是表示多CPU集中分配关联处理E的步骤的流程图。 图26是表示多CPU集中分配关联处理E的具体步骤的图。 图27是表示控制系统的实施方式3的结构的一个例子的图。 图28—1是表示图27的各机械要素的参数的一个例子的图。 图28 — 2是表示图27的各机械要素的参数的一个例子的图。 图28 — 3是表示图27的各机械要素的参数的一个例子的图。 图28 — 4是表示图27的各机械要素的参数的一个例子的图。 图28 — 5是表示图27的各机械要素的参数的一个例子的图。 图29是表示与图28—1 28 — 5的各机械要素相关的机械要素属性信息的一个例子的图。图30是表示管理工具中的标签的管理方法的一个例子的图。 图31是表示管理工具中的标签的管理方法的其他例子的图。 图32是表示实施方式5的共用标签写入/读取信息的一个例子的图。
具体实施方式
下面,参照附图详细地说明本发明所涉及的程序生成辅助装置、 程序生成辅助方法和使计算机执行该方法的程序、及存储该程序的存 储介质的最佳实施方式。另外,本发明并不限定于这些实施方式。首先,说明该发明使用的程序生成辅助装置(下面也称为开发 工具)的结构、和该程序生成辅助装置中的程序生成步骤的概要,然 后说明以该程序生成辅助装置为基础的本发明所涉及的实施方式。图8是示意地表示程序生成辅助装置的功能结构的框图,图9是示意地表示实现该程序生成辅助装置的开发工具的显示画面上的 构成的图。
该程序生成辅助装置IO具有显示部ll,其向用户显示信息; 输入部12,其用于由用户输入编程所需要的规定信息;系统结构设 定部13,其基于从输入部12输入的信息设定系统结构;标签设定部 14,其基于从输入部12输入的信息对标签进行设定;程序设定部15, 其基于从输入部12输入的信息对程序进行设定;标签一设备关联处 理部16,其将由标签设定部14设定的标签与实际设备进行关联;编 译处理部17,其对生成的程序进行编译;显示处理部18,其进行将 系统结构的设定画面、标签的设定画面、程序的设定画面及标签和实 际设备的关联画面显示在显示部11上的显示处理;以及控制部19, 其控制上述各处理部。
开发工具10A包括树形视图21,其显示在程序生成辅助装置 10上,显示可以编辑的结构要素;以及编辑工具,其编辑在树形视 图21中选择的结构要素。树形视图21如图9所示,示出对PLC或 MC进行编程时的结构要素,该树形视图21包括系统结构22、标签 23及程序24。该树形视图21由显示处理部18显示在显示部11上, 如果通过输入部12以双击等选择动作而选择系统结构22、标签23、 程序24,则分别启动对应的系统结构设定部13、标签设定部14、程 序设定部15。
系统结构设定部13,根据由用户输入的内容,设定I/0(I叩ut /Output)单元或网络等PLC或MC的硬件系统的结构。例如,如 果选择图9的树形视图21的系统结构22,则系统结构设定部13启 动编辑系统结构的窗口、对话框、编辑程序或工具(下面称为系统结 构编辑工具)22A,使用输入至上述工具中的内容设定系统结构。
标签设定部14对标签进行设定,该标签用于在记述控制程序时, 取代设备地址而进行记述。例如,如果选择图9的树形视图22的标 签23,则标签设定部14启动编辑标签的窗口、对话框、编辑程序或 工具(下面称为标签编辑工具)23A,使用输入至上述工具中的内容 设定标签。程序设定部15设定由PLC或MC进行处理的控制程序(例如梯 形图程序)。例如,如果选择图9的树形视图21的程序24,则程序 设定部15启动编辑程序的窗口、对话框、编辑程序或工具(下面称 为程序编辑工具)24A,使用输入至上述工具中的内容对程序进行设 定。
标签一设备关联处理部16,为了使由程序设定部15设定的程序 可以在实际的PLC或MC上运行,将该程序中使用的程序中的(即, 由标签设定部14设定的)标签与实际的PLC或MC的设备关联。
图IO是表示编程步骤的一个例子的流程图。PLC的编程中,首 先编辑系统结构(步骤Sll)。如果从图9的开发工具10A的树形视 图21中选择系统结构22,则系统结构编辑工具22A启动。如果用户 在该系统结构编辑工具22A中利用输入部12输入I / O单元或网络 等PLC或MC的硬件系统的结构,则基于该输入内容设定系统结构。
然后编辑标签(步骤S12)。如果从图9的开发工具10A的树 形视图21中选择标签23,则标签编辑工具23A启动。如果用户在该 标签编辑工具23A中利用输入部12输入程序中使用的标签,则基于 该输入内容设定标签。
然后编辑程序(步骤S13)。如果从图9的开发工具10A的树 形视图21中选择程序24,则程序编辑工具24A启动。由用户在该程 序编辑工具24A中利用输入部12指定所记述的程序由系统结构中的 哪个PLC或CPU执行,然后记述程序。随后,基于该输入内容对程 序进行设定。
在这里,在记述步骤S13的程序时,可以使用在步骤S12中设 定的标签。另外,在步骤S13中的程序编辑中,需要进行新的标签 设定的情况下,也可以随时进行标签编辑。即,在进行步骤S13的 程序编辑的过程中,也可以进行步骤S12的标签编辑。
在上述由PLC或CPU处理的控制程序的编程完成后,将标签向 实际设备关联(步骤S14)。图11一1 图11一2是示意地表示将标 签向实际设备关联的情况下开发工具的显示画面上的构成的图,图 11 一l是表示通过标签编辑工具进行标签向实际设备关联的操作的情况的图,图11一2是表示设置单独的工具来进行标签向实际设备关 联的操作的情况的图。该标签向实际设备关联的操作具有下述两种情
况如图ll一l所示,在树形视图21的与标签23关联的编辑工具中, 使用具有设备关联功能的标签编辑兼设备关联工具23B的情况,以 及如图11一2所示,在标签编辑工具23A之外,设置专用于将标签 向实际设备关联的窗口、对话框、编辑程序或工具(下面称为标签一 设备关联工具)26A的情况。在图11—2中的情况下,在树形视图 21的系统结构22的下层设置硬件结构25和标签关联26这两个结构 要素。此时,如果选择硬件结构25,则系统结构编辑工具22A启动, 如果选择标签关联26,则标签一设备关联工具26A启动。作为开发 工具IOA,可以是上述的任意一种形式。
最后为了向实际设备下载而对所生成的程序进行编译处理(步 骤S15),完成用于搭载至PLC或MC中的程序的编程处理。
只要如上述所示进行针对PLC或CPU的编程即可,利用该开发 工具IOA,能够以多台PLC由FA网络连接而构成的链路型控制系统、 或由具有多CPU结构的PLC或MC构成的多CPU型控制系统作为 对象,如由下述实施方式说明所示进行程序开发。
实施方式1
在本实施方式1中,针对可以将构成链路型控制系统的多个PLC 的控制程序的标签与实际设备进行关联的程序生成辅助装置进行说 明。另外,在下述说明中,作为链路型控制系统,例举具有使2台 PLC通过网络连接的结构的控制系统。
说明构成链路型控制系统的各PLC的控制程序的编程处理步 骤。如图10的流程图的步骤Sll所示,首先进行系统结构的设定。 图12是示意地表示设定了系统结构后的开发工具显示画面上的构成 的一个例子的图。在这里,如上述所示,利用系统结构编辑工具22A 将系统结构设定为使2台PLC通过网络连接。
然后,在步骤S12中进行标签编辑。对于标签,不管是仅在PLC1 的控制程序(下面称为程序PLC1)中使用的标签,仅在PLC2的控制程序(下面称为程序PLC2)中使用的标签,还是在PLC1—PLC2 之间进行交换的数据的标签,都由同一个标签编辑生成。此时,生成 标签表。图13是表示生成的标签表的一个例子的图。在该标签表110 中,生成"LabelA" "LabelH"这8个标签。
随后,在步骤S13中进行程序的编辑。此时,分别生成由PLC1 运行的程序PCL1和由PLC2运行的程序PCL2。此时,指定由利用 系统结构编辑工具22A生成的系统结构中的哪个PLC执行,并生成 程序。即,指定程序PLC1由利用系统结构编辑工具22A生成的系统 结构中的PLC1执行,指定程序PLC2由利用系统结构编辑工具22A 生成的系统结构中的PLC2执行。另外,在记述程序PLC1时,以及 在记述程序PLC2时,都参照在步骤S12中生成的同一个标签表。由 此,对于PLC1和PLC2之间进行交换的数据的标签,能够以相同的 标签名进行使用。图14是表示生成的梯形图程序的一个例子的图。 如该图所示,使用在步骤S12中生成的图13的标签表中的标签,生 成2个PLC1、 PLC2的梯形图程序。
在对构成上述控制系统的各个PLC进行控制的控制程序编程完 成后,进行步骤S14中的将标签向实际设备关联的处理。下面,详 细说明将该标签向实际设备关联的处理、即程序生成辅助方法。
图15是表示将标签向实际设备关联的处理步骤的一个例子的流 程图。该标签向实际设备的关联处理是由图8的标签一设备关联处理 部16执行的处理。
首先,标签一设备关联处理部16进行判断处理A,针对编程中 的标签的使用进行判断,然后判断是与多个PLC (或者,在以实施 方式2进行说明的情况下,则是多个CPU)之间共用的设备关联的 共用标签,还是与其他设备关联的标签(步骤S31)。进行该判断的 处理部在权利要求书中称为共用标签抽取单元。
然后,在步骤S31中为共用标签的情况下,进行判断处理B, 判断多个PLC (CPU)中的哪个PLC (CPU)进行写入,哪个PLC (CPU)进行读取(步骤S32)。进行该判定的处理部在权利要求书 中称为共用标签写入/读取信息生成单元。然后,针对共用标签进行判断处理C,根据系统结构判断多个
PLC (多个CPU)是具有网络式结构,还是具有连接在1个基本单元 上的多CPU式结构(步骤S33)。进行该判断的处理部在权利要求 书中称为系统结构判断单元。
在步骤S33中为网络式结构的情况下,进行网络集中分配关联 处理D (步骤S34)并结束标签一设备关联处理,在网络集中分配关 联处理D中,同时集中地进行链路设备的分配和共用标签向链路设 备的关联。进行该标签一设备关联处理的处理部,在权利要求书中称 为设备集中分配关联处理单元。
另外,在步骤S33中为多CPU式结构的情况下,进行多CPU 集中分配关联处理E (步骤S35)并结束标签一设备关联处理,在多 CPU集中分配关联处理E中,同时集中地进行共用刷新设备的分配 和共用标签向共用刷新设备的关联。另外,该步骤S35中的多CPU 集中分配关联处理在后述的实施方式2中说明。
另外,在步骤S31中为共用标签之外的标签的情况下,对该标 签进行与设备地址关联的标签关联处理F (步骤S36),完成标签一 设备关联处理。
下面进一步详细说明各处理A F。 (判断处理A)
参照图16的流程图说明判断是否为共用标签的判断处理A。首 先,标签一设备关联处理部16,从在步骤S12中生成的标签表中抽 取1个标签(步骤S101)。然后,参照生成的程序,判断抽取出的 标签是否由多个程序使用(步骤S102)。在标签由多个程序使用的 情况下(步骤S102为是的情况)下,继续判断该标签是否由多个PLC (CPU)执行(步骤S103)。在标签由多个PLC (CPU)执行的情 况(步骤S103为是的情况)下,判断该标签为共用标签(步骤S104)。 判断为共用标签的标签,存储在共用标签表中。另一方面,在步骤 S102中判断为不是由多个程序使用的情况(步骤S102为否的情况)、 或在步骤S103中判断为不是由多个PLC (CPU)使用的情况(步骤 S103为否的情况)下,判断该标签不是共用标签(步骤S105)。判断为不是共用标签的表,存储在非共用标签表中。
然后,判断是否对标签表中的所有标签迸行了判断(步骤S106), 在没有对所有的标签进行判断的情况(步骤S106为否的情况)下, 返回步骤SlOl,对标签表中的其他标签也同样地执行上述处理。另 外,在对所有的标签进行了判断的情况(步骤S106为是的情况)下, 判断处理A结束,返回图15。根据上述的判断处理A生成共用标签 表和非共用标签表。
在这里,使用图13的标签表110和图14的程序说明具体例子, 例如,首先从图13的标签表110中抽取"LabelA",对该LabelA根据 图14的程序判断是否由程序PLC1和程序PLC2使用。在这里,由 于该标签由程序PLC1和程序PLC2使用,所以继续判断是否由多个 PLC执行。由于参照图14,程序PLC1由PLC1执行,程序PLC2由 PLC2执行,所以"LabelA"是共用标签。
然后,从图13的标签表110中抽取另一个标签"LabdB",对该 LabelB根据图14的程序判断是否由程序PLC1和程序PLC2使用。 在这里,由于仅由程序PLC1使用,所以判断为不是共用标签。另外, 对图13的标签表110中的其他标签LabelC LabelH也同样地进行判 断。其结果,如图17所示生成共用标签表111和非共用标签表112。 (判断处理B)
参照图18的流程图说明判断多个PLC (CPU)中的哪个PLC (CPU)写入,哪个PLC (CPU)读取的判断处理B。首先,标签一 设备关联处理部16从通过判断处理A生成的共用标签表中抽取l个 标签(步骤S121)。然后,针对该标签,参照程序的记述内容而判 断哪个PLC (CPU)写入,哪个PLC (CPU)读取(步骤S122)。 然后,判断是否对共用标签表中的所有标签进行了判断(步骤S123), 在没有对所有的标签进行判断的情况(步骤S123为否的情况)下, 返回步骤S121,对共用标签表中的所有标签重复执行上述处理。另 外,在对所有的标签进行了判断的情况(步骤S123为是的情况)下, 判断处理B结束,返回图15。根据上述的判断处理B,生成共用标 签写入/读取信息。在这里,使用图14的程序和图17的共用标签表111说明具体 例子,例如,首先图17的共用标签表111中的LabelA,在程序PLC1 中作为线圈数据记述在控制程序中。线圈在控制程序(梯形图程序) 中判断为"写入"。艮口, LabelA在程序PLC1中判断为写入。另外, LabeIA在程序PLC2中作为接点数据记述在控制程序中。接点在控 制程序(梯形图程序)中判断为"读取"。艮卩,LabelA在程序PLC2 中判断为读取。由此,对于LabelA,则成为由PLC1进行写入的标 签,而由PLC2进行读取的标签。针对共用标签表中的其他标签 LabelD、 F、 G也同样地进行处理。其结果,如图19所示,生成共用 标签写入/读取信息113。 (判断处理C)
判断系统结构的判断处理C中,参照在图lO的步骤Sll中生成 的系统结构,由于在PLC由网络连接的情况下,是与链路设备关联 的共用标签,因此判断使用该标签的控制系统是链路型控制系统。另 外,由于在CPU连接在1个基本单元上的情况下,是与共用刷新设 备关联的共用标签,因此判断使用该标签的控制系统是多CPU型控 制系统。其结果,分类为链路设备关联标签表、和共用刷新设备关联 标签表。
在这里,使用图12的由系统结构编辑工具22A生成的系统结构 和图19的共用标签写入/读取信息,说明具体例子,图19的共用标 签写入/读取信息中的第一个标签即LabelA,由于使用该LabelA的 PLC1和PLC2在图12的系统结构编辑工具22A的系统结构中为网 络式结构,所以将LabelA判断为向链路设备关联的标签。因此,如 图20所示,将LabdA分类至链路设备关联标签表114中。对共用标 签写入/读取信息113中的其他标签也进行相同处理。另外,在这里, 所有的标签都分类至链路设备关联标签表114中,没有标签被分类至 共用刷新设备关联标签表115中。 (网络集中分配关联处理D)
参照图21的流程图说明网络集中分配关联处理D,在该处理中 同时集中地进行与链路设备关联的标签和设备间的关联。首先,将链路设备关联标签表中的各PLC写入的标签集中起来,按照每个PLC 顺序排列(步骤S141)。该顺序变更后的链路设备关联标签表成为 PLC写入标签分类表。在控制系统由PLCl和PLC2这2个构成的情 况下,将PLC1写入的标签集中起来并按顺序排列,然后将PLC2写 入的标签集中起来并按顺序排列。
然后,使用生成的PLC写入标签分类表,根据各个PLC写入的 标签数量决定链路设备的分配(步骤S142)。在PLC为2个的情况 下,根据PLC1写入的标签数量和PLC2写入的标签数量决定链路设 备的分配。
然后,将各PLC写入的标签中的起始标签与在步骤S142中分 配的该PLC写入的链路设备的起始地址进行关联,然后,按照在步 骤S141中标签的排列顺序,进行标签和链路设备之间的关联(步骤 S143)。在PLC为2个的情况下,将PLC1写入的标签中的起始标 签与在步骤S142中分配的PLC1写入的链路设备的起始地址关联, 然后按照在步骤S141中标签的排列顺序,进行标签和链路设备之间 的关联。对PLC2写入的标签也相同地进行处理。由此,网络集中分 配关联处理D结束,返回图15。
图22是表示网络集中分配关联处理D的具体步骤的图。另外, 在该图22中,在与图21的各处理对应的位置上标注步骤编号。首先, 针对图20所示的链路设备关联标签表114,生成将PLC写入的标签 按照每个PLC集中并顺序排列的PLC写入标签分类表116,作为用 于进行分配链路设备的处理和将共用标签向链路设备关联的处理所 必需的前期处理。如图22所示,分类为PLC1写入的标签和PLC2 写入的标签(步骤S141)。
然后,利用PLC写入标签分类表116中按PLC顺序排列的结果, 抽取每个PLC分别写入多少点的数据,根据该点数分配链路设备。 由于PLC1写入2点数据,所以需要2点。但是,由于链路设备存在 以16点为单位进行分配的系统限制,所以提高至16点。其结果,作 为PLC1写入的链路设备,将16点分配至B00 B0F。另外,由于 PLC2写入2点数据,所以相同地提高至16点,然后作为PLC2写入的链路设备,将16点分配至从与PLC1写入的链路设备连续的地址 开始的B10 B1F (步骤S142)。
然后,将分配结果即PLC1写入的链路设备起始地址BOO,与 PLC写入标签分类表的顺序变更后的结果即PLC1写入的起始标签 LabelA关联,然后按顺序将链路设备的地址B01与标签LabelG进行 关联。另外,将在步骤S142中分配的PLC2写入的链路设备起始地 址BIO,与PLC写入标签分类表中的PLC2写入的起始标签LabelD 关联,然后按顺序将链路设备的地址Bll与标签LabelF进行关联。
另外,对于在控制系统中使用的各PLC,使用相同的链路设备 分配设定,所以在进行各PLC中的编译时,该链路设备的分配设定 是通用的。
(标签关联处理F)
该标签关联处理F是在背景技术中说明的对标签名和设备地址 进行的关联,对于共用标签之外的标签,以与现有技术相同的方法进 行标签名和设备地址之间的关联。只要针对己经通过网络集中分配关 联处理D与标签关联的设备之外的设备进行关联即可。
这样,由于所有的标签向实际设备关联的处理完成,所以程序 PLC1和程序PLC2都可以进行图10的步骤S15的编译处理,以向实 际设备的PLC1和PLC2下载。另外,在上述说明中,示出2个PLC 连接在FA网络上的例子进行了说明,但并不限于此,在多台PLC 经由FA网络连接的情况下也同样适用。
根据本实施方式1,由于可以针对PLC之间的数据交换使用相 同标签名进行程序生成,并且使该标签向链路设备的关联和链路设备 的分配操作自动进行,所以具有可以通过在PLC间使用相同标签名 进行程序生成,实现装置开发高效化的效果。另外,可以实现下述控 制系统的开发,在该控制系统中利用链路设备的功能高速地进行上述 PLC之间的数据交换。
实施方式2
在实施方式1中,对链路型控制系统的各PLC的控制程序的编程中进行共用标签的集中关联处理的情况进行了说明,在本实施方式
2中,对多CPU型控制系统的各CPU的控制程序的编程中进行共用
标签的集中关联处理的情况进行说明。
在这里,也以图10所示的步骤进行编程处理。首先,如图10 的流程图的步骤Sll所示,进行系统结构的设定。图23是示意地 表示设定了系统结构后的开发工具显示画面上的构成的一个例子的 图。在这里,利用系统结构编辑工具22A将系统结构设定为在1个 基本单元上连接2个CPU单元。
图24是表示多CPU型控制系统中的共用标签的集中分配关联 处理的步骤的具体例子的图。下面,参照该图24说明共用标签的集 中分配关联处理。在如图23所示设定系统结构后,在图10的步骤 S12中进行标签编辑。对于标签,不管是仅在CPU1的控制程序(下 面称为程序CPU1)中使用的标签,仅在CPU2的控制程序(下面称 为程序CPU2)中使用的标签,还是在CPU1 —CPU2之间进行交换的 数据的标签,都由同一个标签编辑生成。由此,对于在CPU1和CPU2 之间进行交换的数据的标签,能够以相同的标签名进行使用。此时, 生成标签表。在这里,如图24的标签表110所示,生成"LabelA" "LabelH"这8个标签。
然后,在图10的步骤S13中进行程序的编辑。此时,分别生成 由CPU1运行的程序和由CPU2运行的程序。此时,指定由系统结构 中的哪个CPU执行,并生成程序。g卩,指定程序CPU1由系统结构 中的CPU1执行,指定程序CPU2由系统结构中的CPU2执行。另夕卜, 在记述程序CPU1时,以及在记述程序CPU2时,都参照同一个标签 表。由此,对于CPU1和CPU2之间进行交换的数据的标签,能够以 相同的标签名进行使用。图24示出生成的梯形图程序的一个例子。 如该图所示,使用在步骤S12中生成的标签,生成2个CPU1、 CPU2 的梯形图程序(程序CPU1、程序CPU2)。
在对构成上述控制系统的各个CPU进行控制的控制程序编程完 成后,进行图10的步骤S14中将标签向实际设备关联的处理。该标 签向实际设备关联的处理与实施方式1的图15所说明的处理大致相同,但由于在本实施方式2中,使用共用刷新设备,所以执行步骤
S35的多CPU集中分配关联处理E,而不执行步骤S34的网络集中 分配关联处理D。因此,下面对与实施方式1相同的部分简化说明, 对与实施方式1不同的部分进行详细说明。
首先,标签一设备关联处理部16对编程中的标签的使用进行判 断,并判断是否为与多个CPU之间共用的设备关联的共用标签,其 结果,在为共用标签的情况下,判断多个CPU中的哪个CPU进行写 入,哪个CPU进行读取。其结果如图24的共用标签写入/读取信息 113所示。然后,针对共用标签,根据系统结构判断多个CPU是具 有网络式结构,还是具有连接在1个基本单元上的多CPU式结构, 将共用标签分类至链路设备关联标签表114或共用刷新设备关联标 签表115中。另外,在这里,所有的标签都分类至共用刷新设备关联 标签表115中,没有标签被分类至链路设备关联标签表114中(图 15的步骤S31 S33)。
(多CPU集中分配关联处理E)
由于在图15的步骤S33中,将共用标签分类至共用刷新设备关 联标签表中,所以随后执行步骤S35的多CPU集中分配关联处理E。 参照图25的流程图说明多CPU集中分配关联处理E,在该处理中同 时集中地进行该与共用刷新设备关联的标签向设备的关联。首先,将 共用刷新设备关联标签表中的各CPU写入的标签集中起来,按照每 个CPU单元顺序排列(步骤S201)。该顺序变更后的共用刷新设备 关联标签表成为CPU写入标签分类表。在控制系统由CPU1和CPU2 这2个构成的情况下,将CPU1写入的标签集中起来并按顺序排列, 然后将CPU2写入的标签也集中起来并按顺序排列。
然后,使用生成的CPU写入标签分类表,根据各个CPU写入的 标签数量决定共用刷新设备的分配(步骤S202)。在CPU为2个的 情况下,根据CPU1写入的标签数量和CPU2写入的标签数量决定共 用刷新设备的分配。
随后,将各CPU单元写入的标签中的起始标签与在步骤S202 中分配的该CPU写入的共用刷新设备的起始地址进行关联,然后,按照在步骤S201中标签的排列顺序,进行标签和共用刷新设备之间 的关联(步骤S203)。在CPU为2个的情况下,将CPU1写入的标 签中的起始标签与在步骤S202中分配的CPU1写入的共用刷新设备 的起始地址关联,然后按照在步骤S201中标签的排列顺序,进行标 签和共用刷新设备之间的关联。对CPU2写入的标签也相同地进行处 理。由此,多CPU集中分配关联处理E结束,返回图15。另外,进 行该多CPU集中分配关联处理E的处理部,在权利要求书中称为设 备集中分配关联处理单元。
图26是表示多CPU集中分配关联处理E的具体步骤的图。另 外,在该图26中,在与图25的各处理对应的位置上标注步骤编号。 首先,针对共用刷新设备关联标签表115,生成将CPU写入的标签 集中并按顺序排列的CPU写入标签分类表117,作为用于进行分配 共用刷新设备的处理和将共用标签向共用刷新设备关联的处理所必 需的前期处理。如图26所示,分类为CPU1写入的标签和CPU2写 入的标签(步骤S201)。
然后,利用CPU写入标签分类表117中按CPU顺序排列的结果, 抽取每个CPU分别写入多少点的数据,根据该点数对各CPU分配共 用刷新设备。由于CPU1写入2点数据,所以需要2点。但是,由于 共用刷新设备存在以16点为单位进行分配的系统限制,所以提高至 16点。其结果,作为CPU1写入的共用刷新设备,将16点在CPU1 中分配为MOO MOF。另外,由于CPU2写入2点数据,所以也相同 地提高至16点,然后作为CPU2写入的共用刷新设备,将16点分配 为从与CPU1写入的共用刷新设备连续的地址开始的M10 M1F。
在CPU2中也使用与CPU1中所分配的点数相同的点数分配共用 刷新设备,但分配对象地址可以与CPU1相同,也可以与CPU1不同。 在本例中,在CPU2中,作为CPU1写入的共用刷新设备,将16点 分配为M20 M2F,作为CPU2写入的共用刷新设备,将16点分配 为从与CPU1写入的共用刷新设备连续的地址开始的M30 M3F(步 骤S202)。
另外,由于标签关联处理F在该多CPU集中分配关联处理E之后进行,所以在没有特别指定作为共用刷新设备而分配的起始地址的
情况下,只要在CPU1和CPU2中从相同地址M00开始自动分配即 可,在标签关联处理F中,只要将上述之外的地址与标签关联即可。 另外,在上述说明中,对共用刷新设备存在以16点为单位进行 分配的系统限制的情况进行了说明,但是在具有以32点为单位进行 分配的系统限制的情况下,在CPU写入的数据不足32点的情况下提 高至32点。另外,以其他点数为单位进行分配的情况也进行相同处 理。
然后,在CPU1中,将分配结果即CPU1写入的共用刷新设备的 起始地址MOO,与CPU写入标签分类表117的顺序变更后的结果即 CPU1写入的起始标签LabelA关联,随后按顺序将共用刷新设备的 地址M01与标签LabelG进行关联。另外,将在步骤S202中分配的 CPU2写入的共用刷新设备的起始地址MIO,与CPU写入标签分类 表117中的CPU2写入的起始标签LabelD关联,然后按顺序将共用 刷新设备的地址Mll与标签LabelF进行关联。在CPU2中也通过同 样的处理进行关联。即,将步骤S202的分配结果即CPU1写入的共 用刷新设备的起始地址M20,与CPU写入标签分类表117的顺序变 更后的结果即CPU1写入的起始标签LabelA关联,然后按顺序将共 用刷新设备的地址M21与标签LabelG进行关联。另外,将在步骤 S202中分配的CPU2写入的共用刷新设备的起始地址M30,与CPU 写入标签分类表117中的CPU2写入的起始标签LabelD关联,然后 按顺序将共用刷新设备的地址M31与标签LabelF进行关联。
由于共用刷新设备的分配设定必须在各CPU之间使用相同点数 的设定,但分配对象的地址在各CPU中分别设定即可,所以在针对 各CPU的编译中,使用通过上述处理设定的共用刷新设备的分配设 定。
随后的标签关联处理F是在背景技术中说明的标签名和设备地 址间的关联,对共用标签之外的标签,以与现有技术相同的方法进行 标签名和设备地址之间的关联。只要针对除了己经通过多CPU集中 分配关联处理E与标签关联的设备之外的设备进行关联即可。这样,由于所有的标签向实际设备关联的操作完成,所以程序
CPU1和程序CPU2都可以进行图10的步骤S15的编译处理,以向 实际设备的CPU1和CPU2下载。另外,在上述说明中,以将2个 CPU单元安装在基本单元上的例子进行了说明,但并不限于此,在 多台CPU单元安装在基本单元上的情况下同样适用。
根据本实施方式2,由于可以针对多CPU之间的数据交换使用 相同标签名进行程序生成,并且使该标签向共用刷新设备的关联和共 用刷新设备的分配操作自动进行,所以具有可以通过在多CPU间使 用相同标签名进行程序生成,实现装置开发高效化的效果。另外,还 可以实现下述装置的开发,在该装置中利用共用刷新设备的功能高速 地进行上述CPU之间的数据交换。
实施方式3
在本实施方式3中,在构筑由2台CPU构成的多CPU型控制系 统的情况下,针对其中1个CPU为动作CPU的情况下的图15的流 程图中的判断处理B进行说明。在程序记述语言并非梯形图语言, 而是动作控制特有的机械语言的情况下,无法如梯形图语言的情况那 样,唯一地确定哪个PLC (CPU)写入,哪个PLC (CPU)读取。所 以,需要预先对指定每个机械语言要素分别参照哪个值的项目进行设 定,在这里设定设备地址或标签。
图27是表示控制系统的实施方式3的结构的一个例子的图,图 28—1 图28 — 5是表示图27的各机械要素的参数的一个例子的图。 如图27所示,该控制系统由齿轮、虚拟伺服电动机、离合器、旋转 台及滚珠丝杠构成,图28—1 图28 —5分别示出各自的参数。
例如,在图28—1的齿轮的情况下,可以将"齿轮比"的"输入轴 齿数"和"输出轴齿数"设定为参照标签,属性为读取数据。在图28 — 2的虚拟伺服电动机的情况下,没有可以进行设备指定的参数。在图 28 — 3的离合器的情况下,可以将"离合器ON/OFF"设定为参照标 签,属性为读取数据。在图28 — 4的旋转台的情况下,可以将"虚拟 轴1次旋转内当前值存储设备"设定为参照标签,属性为写入数据。在图28—5的滚珠丝杠的情况下,可以将"扭矩限制"设定为参照标 签,属性为读取数据。
图29是表示图28—1 图28 — 5的各机械要素的参数的写入数 据和读取数据的一览表、即机械要素属性信息的一个例子的图。如该 机械要素属性信息所示,按照每个机械要素将可以设定为参照标签的 项目、和分别是写入还是读取的属性作为一览表保存。在该图29中, 记述有图28—1 图28—5中说明的内容。
在实施方式1 2的判断处理B中,在由梯形图语言记述的控制 程序中,统一地判断为接点符号则是写入,线圈符号则是读取,而在 机械语言的情况下,参照如图29所示的机械要素属性信息进行判断。
例如,在标签作为离合器的ON/OFF参数使用的情况下,如果 参照图29的机械要素属性信息,则该标签在机械语言中为读取。另 外,在标签作为旋转台的1次旋转内当前值使用的情况下,同样地, 该标签在机械语言中作为写入。由此,预先确定如图29所示的机械 要素属性信息,可以基于该机械要素属性信息而判断该标签是写入数 据还是读取数据,其中,该机械要素属性信息中针对每个机械要素对 标签进行参照并确定是读取还是写入。
另外,由于其他处理与实施方式1 2说明的内容相同,所以省 略其说明。
根据本实施方式3,由于对于各机械要素,通过使用存储有可以 设定为参照标签的项目和该项目是写入还是读取这一属性的机械要 素属性信息,判断哪个CPU写入,哪个CPU读取,所以即使在控制 程序由动作控制特有的机械语言记述的情况下,也具有使该标签向共 用刷新设备的关联和共用刷新设备的分配操作自动进行的效果。其结 果,可以通过在多CPU之间使用相同标签名进行程序生成,实现装 置开发高效化。另外,还可以实现下述装置的开发,在该装置中利用 共用刷新设备的功能高速地进行上述CPU之间的数据交换。
实施方式4
在本实施方式4中,在使用由网络构成的2台PLC构筑1个控制系统时,对于开发2台PLC的控制程序的情况,特别针对将标签
表分为共用标签和除此之外的标签(非共用标签)迸行管理的情况进 行说明。
图30是表示管理工具中的标签的管理方法的一个例子的图。在 该例子中,在开发工具IOA的树形视图21中以系统结构、共用标签、 程序这样的形式进行管理,在程序中采取针对仅由该程序使用的标签 和程序进行管理的形式。
例如,如图所示,在使PLC1、 PLC2这2个由网络连接而构成 控制系统的情况下,作为程序生成由PLC1运行的控制程序(下面称 为程序PLC1)和由PLC2运行的控制程序(下面称为程序PLC2)。 指定这些程序由系统结构中的哪个PLC执行。SP,指定程序PLC1 由系统结构中的PLC1执行,指定程序PLC2由系统结构中的PLC2 执行。
对于标签,将仅在程序PLC1中使用的标签、仅在程序PLC2中 使用的标签、在PLC1 — PLC2之间进行交换的数据的标签,分别生 成在不同的标签表中。在该图29的例子中,除了共用标签之外的标 签表以附属于程序的形式进行管理。在该情况下,由于指定程序由哪 个PLC执行,所以可以唯一地决定标签表与哪个PLC关联。
图31是表示管理工具中的标签的管理方法的其他例子的图。在 该例子中,在开发工具10A的树形视图21中以系统结构、标签、程 序这样的形式进行管理,在标签的下层还存在共用标签、由各个PLC (CPU)使用的标签,以针对每个标签表保存其属性的形式进行管理。
这样,在使PLC1、 PLC2这2个由网络连接而构成控制系统的 情况下,将各标签表是共用标签表、还是与PLC1、 PLC2的哪个关 联,指定为每个标签表的属性。
在记述PLC1的控制程序即程序PLC1时,参照仅由程序PLC1 使用的标签表和在PLC间交换的数据的共用标签。另夕卜,在记述PLC2 的控制程序即程序PLC2时,参照仅由程序PLC2使用的标签表和在 PLC间交换的数据的共用标签。由此,对于在PLC1和PLC2之间交 换的数据的标签,能够以相同的标签名进行使用,同时即使仅由程序PLC1使用的标签和仅由程序PLC2使用的标签为相同的标签名,也
能够分别作为不同的标签进行使用。
如上所示,将共用标签、和除此之外的标签(非共用标签)的
标签表分开管理的情况下,PLC的编程完成后,进行将标签向实际 设备关联的处理。这样,在将共用标签和非共用标签分开而预先生成 的情况下,由于在实施方式1的图15的流程图中,判断位于共用标 签表中的标签为共用标签,所以不需要判断处理A。其结果,虽然在 程序设计时必须明确是否为共用标签,但从判断处理B开始进行, 然后进行集中分配关联处理,所以编译处理变快。另外,在上述说明 中,针对链路型控制系统进行了说明,但对多CPU型控制系统也可 以相同地进行处理。
根据本实施方式4,除了实施方式1 3的效果之外,由于针对 PLC间的数据交换或多CPU间的数据交换,预先将标签分为在多个 PLC间或CPU间使用的共用标签,和仅在各PLC或CPU中使用的 非共用标签,所以具有下述效果该标签向链路设备的关联及链路设 备的分配操作、或该标签向共用刷新设备的关联及共用刷新设备的分 配操作,与实施方式1 3相比可以在更短的时间内进行。
实施方式5
在本实施方式5中针对下述情况进行说明,即,使用由网络构 成的2台PLC构筑控制系统,并开发这2台PLC的控制程序时,将 标签表分为共用标签和非共用标签进行管理,并且指定各标签由哪个 PLC写入、哪个PLC读取,然后进行标签向设备的集中分配关联处 理。
在实施方式4中,预先分为共用标签和非共用标签进行管理, 但在本实施方式5中,还在该共用标签的编辑中预先生成共用标签写 入/读取信息,该共用标签写入/读取信息中指定有各标签由哪个 PLC写入、哪个PLC读取。图32是表示实施方式5的共用标签写入 /读取信息的一个例子的图。
如上所示,在分为共用标签和非共用标签的标签表,并且预先准备针对共用标签的各标签指定了由哪个PLC写入、哪个PLC读取 的共用标签写入/读取信息的情况下,PLC的编程完成后,进行将 标签向实际设备关联的处理。在该情况下,由于在实施方式1的图 15的流程图中,判断位于共用标签表中的标签为共用标签,所以不 需要判断处理A,另外,由于对于共用标签表的各标签,还指定了哪 个PLC (CPU)写入、哪个PLC (CPU)读取,所以也不需要判断处 理B。其结果,由于虽然在程序设计时必须明确是否为哪个PLC (CPU)写入的共用标签,但仅从判断处理C开始进行,然后进行 集中分配关联处理,所以编译处理变快。
根据本实施方式5,除了实施方式4的效果之外,由于针对共用 标签的各标签,指定由哪个PLC (CPU)写入、哪个PLC (CPU)读 取而进行管理,所以具有下述效果该标签向链路设备的关联及链路 设备的分配操作、或该标签向共用刷新设备的关联及共用刷新设备的 分配操作,与实施方式1 4相比可以在更短的时间内进行。
另外,上述程序生成辅助方法,可以通过使写入有其处理步骤 的程序由具有CPU (中央运算处理装置)的个人计算机或工作站等 计算机执行而实现。在此情况下,计算机的CPU (控制单元)按照 程序而执行上述程序生成辅助方法的各处理工序。上述程序由硬盘、 软(注册商标)盘、CD (Compact Disk ) — ROM (Read Only Memory)、 MO (Magneto-Optical disk) 、 DVD (Digital Versatile Disk或Digital Video Disk)等可以由计算机读取的存储介质存储,通过由计算机从 存储介质中读取而执行。另外,上述程序也可以经由互联网等网络(通 信线路)传播。
工业实用性
如上所示,本发明所涉及的程序生成辅助装置,适用于由多个 PLC或CPU等控制装置构成1个控制系统的情况下的控制程序的生 成。
权利要求
1.一种程序生成辅助装置,其在由多个控制装置构成的控制系统中,辅助生成使用了标签的下述控制程序,该控制程序用于使各个上述控制装置对控制对象进行控制,其特征在于,具有共用标签抽取单元,其从各个上述控制装置的控制程序中,抽取与下述设备相关联的共用标签,上述设备与多个控制装置间共用的存储器对应;共用标签写入/读取信息生成单元,其参照上述控制程序而判断上述共用标签由哪个控制装置写入数据、由哪个控制装置读取数据,生成共用标签写入/读取信息;以及设备集中分配关联单元,其使用上述共用标签写入/读取信息,将控制装置写入的共用标签按每个上述控制装置进行分类,针对每个上述分类将上述共用标签与上述设备的地址关联。
2. 根据权利要求1所述的程序生成辅助装置,其特征在于,上 述设备集中关联单元具有使用上述共用标签写入/读取信息,将每个控制装置写入的共 用标签按上述控制装置进行分类的单元;针对每个分类后的控制装置,根据其写入的共用标签的数量决 定向上述设备的分配的单元;以及在对上述控制装置分配的上述设备内,将上述控制装置写入的 共用标签与上述设备的地址进行关联的单元。
3. 根据权利要求l所述的程序生成辅助装置,其特征在于, 上述控制系统具有将多个可编程控制器即PLC经由网络连接的结构,上述设备是各上述PLC具有的链路设备,上述设备集中分配关联单元,使用上述共用标签写入/读取信息将PLC写入的共用标签按每个上述PLC进行分类,针对每个上述 分类将上述共用标签与上述链路设备的地址进行关联。
4. 根据权利要求1所述的程序生成辅助装置,其特征在于, 上述控制系统具有将多个CPU单元安装在基本单元上的多CPU结构,上述设备是各个上述CPU单元具有的共用刷新设备, 上述设备集中分配关联单元,使用上述共用标签写入/读取信 息将CPU单元写入的共用标签按每个上述CPU单元进行分类,针对 每个上述分类将上述共用标签与上述共用刷新设备的地址进行关联。
5. 根据权利要求l所述的程序生成辅助装置,其特征在于, 还具有系统结构判断单元,其基于表示上述控制系统的结构的系统结构信息,判断上述控制系统是将多个可编程控制器即PLC经 由网络连接的链路型结构,还是将多个CPU单元安装在基本单元上 的多CPU型结构,上述设备集中分配关联单元,在上述控制系统为链路型结构的 情况下,针对上述PLC具有的链路设备,将其地址与共用标签关联, 在上述控制系统为多CPU型结构的情况下,针对上述CPU单元具有 的共用刷新设备,将其地址与共用标签关联。
6. 根据权利要求1所述的程序生成辅助装置,其特征在于, 上述共用标签写入/读取信息生成单元,在上述控制系统为动作控制器的情况下,在上述控制程序的基础上,还参照机械要素属性 信息,对上述共用标签判断是哪个控制装置写入数据、哪个控制装置 读取数据,从而生成共用标签写入/读取信息,上述机械要素属性信 息表示每个控制对象中可以设定为标签的项目、和上述控制装置对该标签进行写入还是读取的属性。
7. —种程序生成辅助装置,其在由多个控制装置构成的控制系统中,辅助生成使用了标签的下述控制程序,该控制程序用于使各个 上述控制装置对控制对象进行控制, 其特征在于,具有共用标签写入/读取信息生成单元,其针对与下述设备相关联 的共用标签,参照上述控制程序判断是哪个控制装置写入数据、哪个 控制装置读取数据,从而生成共用标签写入/读取信息,其中,上述 设备与多个控制装置之间共用的存储器对应;以及设备集中分配关联单元,其使用上述共用标签写入/读取信息, 将控制装置写入的共用标签按每个上述控制装置进行分类,针对每个 上述分类将上述共用标签与上述设备的地址关联。
8. —种程序生成辅助装置,其在由多个控制装置构成的控制系 统中,辅助生成使用了标签的下述控制程序,该控制程序用于使各个 上述控制装置对控制对象进行控制,其特征在于,针对将与下述设备相关联的共用标签的各个标签指定为哪个控 制装置写入、哪个控制装置读取的共用标签写入/读取信息中的共用 标签,使用上述共用标签信息,将控制装置写入的共用标签按每个上 述控制装置进行分类,针对每个上述分类将上述共用标签与上述设备 的地址关联,其中,上述设备与多个控制装置之间共用的存储器对应。
9. 一种程序生成辅助方法,其用于下述信息处理装置,该信息 处理装置在由多个控制装置构成的控制系统中,辅助生成使用了标签 的下述控制程序,该控制程序用于使各个上述控制装置对控制对象进 行控制,其特征在于,具有共用标签抽取工序,其从各个上述控制装置的控制程序中,抽 取与下述设备相关联的共用标签,上述设备与多个控制装置间共用的 存储器对应;共用标签写入/读取信息生成工序,其参照上述控制程序而判断上述共用标签由哪个控制装置写入数据、由哪个控制装置读取数 据,生成共用标签写入/读取信息;以及设备集中分配关联工序,其使用上述共用标签写入/读取信息, 将控制装置写入的共用标签按每个上述控制装置进行分类,针对每个 上述分类将上述共用标签与上述设备的地址关联。
10. 根据权利要求9所述的程序生成辅助方法,其特征在于,上 述设备集中分配关联工序具有使用上述共用标签写入/读取信息,将每个控制装置写入的共 用标签按上述控制装置进行分类的工序;针对每个分类后的控制装置,根据其写入的共用标签的数量决 定向上述设备的分配的工序;以及在对上述控制装置分配的上述设备内,将上述控制装置写入的 共用标签与上述设备的地址进行关联的工序。
11. 根据权利要求9所述的程序生成辅助方法,其特征在于, 在上述设备集中分配关联工序中,在上述控制系统具有将多个可编程控制器即PLC经由网络连接的结构,上述设备是各上述PLC 具有的链路设备的情况下,使用上述共用标签写入/读取信息将PLC 写入的共用标签按每个上述PLC进行分类,针对每个上述分类将上 述共用标签与上述链路设备的地址进行关联。
12. 根据权利要求9所述的程序生成辅助方法,其特征在于, 在上述设备集中分配关联工序中,在上述控制系统具有将多个CPU单元安装在基本单元上的多CPU结构,上述设备是各个上述 CPU单元具有的共用刷新设备的情况下,使用上述共用标签写入/ 读取信息将CPU单元写入的共用标签按每个上述CPU单元进行分 类,针对每个上述分类将上述共用标签与上述共用刷新设备的地址进 行关联。
13. 根据权利要求9所述的程序生成辅助方法,其特征在于, 还具有系统结构判断工序,其在上述共用标签写入/读取信息生成工序后,基于表示上述控制系统的结构的系统结构信息,判断上 述控制系统是将多个可编程控制器即PLC经由网络连接的链路型结 构,还是将多个CPU单元安装在基本单元上的多CPU型结构,上述设备集中分配关联工序中,在上述控制系统为链路型结构 的情况下,针对上述PLC具有的链路设备,将其地址与共用标签关 联,在上述控制系统为多CPU型结构的情况下,针对上述CPU单元 具有的共用刷新设备,将其地址与共用标签关联。
14. 根据权利要求9所述的程序生成辅助方法,其特征在于, 在上述共用标签写入/读取信息生成工序中,在上述控制系统为动作控制器的情况下,在上述控制程序的基础上,还参照机械要素 属性信息,对上述共用标签判断是哪个控制装置写入数据、哪个控制 装置读取数据,从而生成共用标签写入/读取信息,上述机械要素属 性信息表示每个控制对象中可以设定为标签的项目、和上述控制装置 对该标签进行写入还是读取的属性。
15. —种程序,其特征在于,其用于使计算机执行权利要求9至14中的任意一项所述的方法。
16. —种存储介质,其特征在于,其存储有用于使计算机执行权利要求9至14中的任意一项所述 的方法的程序。
全文摘要
本发明得到一种程序生成辅助装置,其可以在控制系统中的各PLC间或多个CPU间使用相同标签名进行程序生成,可以使设备的分配操作和标签向设备的关联操作简化。该程序生成辅助装置具有标签—设备关联处理部,其从各个控制装置的控制程序中抽取与下述设备相关联的共用标签,针对共用标签,参照控制程序而判断由哪个控制装置写入数据、由哪个控制装置读取数据,并且生成共用标签写入/读取信息,使用该共用标签写入/读取信息将控制装置写入的共用标签按每个控制装置进行分类,针对每个上述分类将共用标签与设备的地址关联,其中,上述设备与多个控制装置间共用的存储器对应。
文档编号G05B19/05GK101292204SQ200680038450
公开日2008年10月22日 申请日期2006年3月29日 优先权日2006年3月29日
发明者上野雅之, 仲井勘, 刀根让, 本并铁二 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1