JP6455096B2 - Control system, its support device, programmable control device - Google Patents

Control system, its support device, programmable control device Download PDF

Info

Publication number
JP6455096B2
JP6455096B2 JP2014238203A JP2014238203A JP6455096B2 JP 6455096 B2 JP6455096 B2 JP 6455096B2 JP 2014238203 A JP2014238203 A JP 2014238203A JP 2014238203 A JP2014238203 A JP 2014238203A JP 6455096 B2 JP6455096 B2 JP 6455096B2
Authority
JP
Japan
Prior art keywords
identification information
project
controller
program
programmable control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014238203A
Other languages
Japanese (ja)
Other versions
JP2016099899A (en
Inventor
吉平 宮野
吉平 宮野
吉原 大助
大助 吉原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2014238203A priority Critical patent/JP6455096B2/en
Publication of JP2016099899A publication Critical patent/JP2016099899A/en
Application granted granted Critical
Publication of JP6455096B2 publication Critical patent/JP6455096B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、稼働中のコントローラに対して、コントローラを停止することなくプログラムの更新を行うことができるコントロールシステムに関する。   The present invention relates to a control system capable of updating a program for an operating controller without stopping the controller.

オンライン変更によるプログラム更新を安全に行うことができるようにするシステムが、特許文献1で提案されている。オンライン変更によるプログラム更新は、支援装置等が、稼働中のコントローラに対して、コントローラを停止することなくプログラムの更新を行うことができるものである。   Patent Document 1 proposes a system that enables program update by online change to be performed safely. The program update by online change allows the support apparatus or the like to update the program without stopping the controller for the operating controller.

特許文献1に記載の従来技術では、支援装置側は、識別情報を世代を含めた履歴(以下、履歴情報と記す場合もある)として管理し、オンライン変更時、コントローラ側にダウンロードされている識別情報が、支援装置側の上記履歴情報内に存在するか否かによって、コントローラがプログラム更新の対象か否かの判別を行っている。尚、上記履歴情報は、特許文献1に記載の識別情報管理テーブルに相当する。   In the prior art described in Patent Document 1, the support device side manages the identification information as a history including generations (hereinafter sometimes referred to as history information), and the identification information downloaded to the controller side at the time of online change It is determined whether or not the controller is a program update target depending on whether or not the information exists in the history information on the support device side. The history information corresponds to the identification information management table described in Patent Document 1.

特許文献1の発明では、コンパイル毎に生成される固有の識別情報を世代として管理することにより、稼働中のコントローラを停止することなくプログラムの更新を行えるオンライン更新機能を提供する。   The invention of Patent Document 1 provides an online update function capable of updating a program without stopping an operating controller by managing unique identification information generated for each compilation as a generation.

特開2013−168031号公報JP 2013-168031 A

上述した特許文献1の方法では、更新版プログラムのダウンロードを許可するか否かの判定を、コントローラ単位で行っている。そのため、支援装置で複数のコントローラを纏めてひとつのプロジェクトとして管理するシステム構成においては、プロジェクト内の各コントローラに対応するオンライン変更可能なプロジェクト(以下、マスタプロジェクトと記述)が、コントローラ毎に別々になってしまう場合があるという課題がある。これについて、以下、図7、図8を参照して詳しく説明する。   In the method of Patent Document 1 described above, whether to permit downloading of an updated program is determined for each controller. Therefore, in a system configuration in which a plurality of controllers are managed together as a project by the support device, projects that can be changed online (hereinafter referred to as master projects) corresponding to each controller in the project are separately provided for each controller. There is a problem that it may become. This will be described in detail below with reference to FIGS.

図7に、上記特許文献1の手法を、支援装置がプロジェクトに係わる複数台のコントローラを管理する上記システムに適用した場合を示す。
尚、本説明では、プログラマブルコントローラを、単にコントローラと記す場合やPLC等と記す場合もあるものとする。
FIG. 7 shows a case where the method of Patent Document 1 is applied to the system in which the support apparatus manages a plurality of controllers related to the project.
In this description, the programmable controller may be simply referred to as a controller, or may be referred to as a PLC or the like.

図7に示すシステムは、複数台のコントローラ100(コントローラ100a、100b、・・・100n;PLC1、PLC2、・・・、PLCn)が、ネットワークに接続されている。また、1台以上の支援装置110が、ネットワークに接続し得る。ここでは、この複数台のコントローラ100全てが、任意の支援装置110で管理する1つのプロジェクトに係わるコントローラであるものとする。   In the system shown in FIG. 7, a plurality of controllers 100 (controllers 100a, 100b,... 100n; PLC1, PLC2,..., PLCn) are connected to a network. Further, one or more support devices 110 can be connected to the network. Here, it is assumed that all of the plurality of controllers 100 are controllers related to one project managed by an arbitrary support apparatus 110.

ここで、従来、プログラマブルコントローラの動作は、1つのコントローラで完結する場合もあれば、複数のコントローラで連携して動作する場合もある。例えば、複数のコントローラで相互にデータの読み書き等を行いながら、動作する場合もある。この様に相互に関連する(協調動作する)複数のコントローラのプログラムを更新する場合、ある1つのコントローラのプログラムを更新すると、他のコントローラのプログラムも更新する必要が生じる場合が少なくない。   Here, conventionally, the operation of the programmable controller may be completed by one controller or may be operated in cooperation by a plurality of controllers. For example, a plurality of controllers may operate while mutually reading and writing data. When updating a program of a plurality of controllers that are related to each other (cooperating) in this way, updating a program of a certain controller often requires updating of a program of another controller.

そして、本出願人は、従来より、上記のように相互に関連する複数のコントローラ(またはこれらのコントローラのプログラム)を、まとめて“プロジェクト”と呼んでいる。
上記のことから、支援装置110は、プロジェクト単位でプログラムの管理を行っている。基本的には、任意のプロジェクトのプログラム更新の際には、このプロジェクトに係わる全てのコントローラ100のプログラムの更新を行う。例えば、この様なシステムにおいて上記特許文献1の手法を適用した場合、図7に示すように支援装置110は、各コントローラ100(PLC1、PLC2、・・・、PLCn)毎に識別情報管理テーブルを設けて管理する。すなわち、図示の各履歴情報111(履歴情報111a。111b、・・・、111n)を記憶・管理する。
The present applicant has conventionally referred to a plurality of controllers (or programs of these controllers) that are related to each other as described above collectively as a “project”.
From the above, the support apparatus 110 manages programs on a project basis. Basically, when updating the program of an arbitrary project, the program of all the controllers 100 related to this project is updated. For example, when the method of Patent Document 1 is applied to such a system, the support apparatus 110 creates an identification information management table for each controller 100 (PLC1, PLC2,..., PLCn) as shown in FIG. Establish and manage. That is, each piece of history information 111 (history information 111a, 111b,..., 111n) shown in the figure is stored and managed.

これより、基本的には、任意の1つのプロジェクトに係わる全てのコントローラ100の最新の識別情報は、同じ世代となる。つまり、あるコントローラ100の識別情報の履歴が、世代1、世代2、世代3であり、よって最新の識別情報が世代3である場合、他のコントローラ100全てが最新の識別情報が世代3となっている。   Thus, basically, the latest identification information of all the controllers 100 related to an arbitrary project is of the same generation. That is, when the identification information history of a certain controller 100 is generation 1, generation 2, and generation 3, and the latest identification information is generation 3, all the other controllers 100 have the latest identification information of generation 3. ing.

また、上記特許文献1に記載の処理によって、各コントローラ100には、任意のプログラムが格納されていると共に、このプログラムに対応する世代の識別情報が格納されている。図示の例では、全てのコントローラ100に世代1の識別情報が格納されており以って世代1のプログラムが格納されていることになる。   In addition, by the process described in Patent Document 1, each controller 100 stores an arbitrary program and generation identification information corresponding to this program. In the example shown in the figure, generation 1 identification information is stored in all the controllers 100, and thus generation 1 programs are stored.

この状態で、仮に、支援装置110において、全てのコントローラ100に関して各々のプログラムの更新版がプログラマ等によって作成されて、これに対応する固有の識別情報(世代2)が生成されて各識別情報管理テーブル(各履歴情報111)に追加登録された場合、各識別情報管理テーブル(履歴情報111a、111b、・・・、111n)のデータ格納状態は、例えば図7に示す通りとなる。   In this state, in the support device 110, for each controller 100, an updated version of each program is created by a programmer or the like, and unique identification information (generation 2) corresponding to this is generated to manage each identification information management. When additionally registered in the table (each history information 111), the data storage state of each identification information management table (history information 111a, 111b,..., 111n) is, for example, as shown in FIG.

この状態で、支援装置110が、上記作成された各更新版プログラムを、それぞれ、該当するコントローラ100にダウンロードしようとする際、上記特許文献1に記載の手法により、各コントローラ100が保持する識別情報と、上記自己が保持する識別情報管理テーブルとを用いて、チェック処理が行われることになる。例えば、PLC1に関しては、その識別情報101a(=CID1-1)が、これに対応する履歴情報111a内に存在するか否かを判定し、存在する場合にはPLC1に関してはオンライン更新が許可されることになる。   In this state, when the support device 110 tries to download each of the created update programs to the corresponding controller 100, the identification information held by each controller 100 by the method described in Patent Document 1 above. Then, the check process is performed using the identification information management table held by itself. For example, for PLC1, it is determined whether or not the identification information 101a (= CID1-1) exists in the history information 111a corresponding thereto, and if it exists, online update is permitted for PLC1. It will be.

図7に示す例では、全てのコントローラ(100a、100b、・・・、100n)に関して、それが保持する識別情報が、対応する識別情報管理テーブル内に存在する(世代1として存在する)。よって、全てのコントローラに関して、オンライン更新が許可されることになる。よって、この例では、支援装置110は、全てのコントローラ(100a、100b、・・・、100n)に対して、その更新版プログラムをこれに対応する識別情報(世代2)と共にダウンロードして保持させることになる。この様にして、各コントローラ100毎に、それぞれ、更新プログラムの継続性を保証することができる。   In the example shown in FIG. 7, the identification information held by all the controllers (100a, 100b,..., 100n) exists in the corresponding identification information management table (exists as generation 1). Therefore, online update is permitted for all controllers. Therefore, in this example, the support device 110 causes all the controllers (100a, 100b,..., 100n) to download and hold the updated version program together with the corresponding identification information (generation 2). It will be. In this way, the continuity of the update program can be guaranteed for each controller 100.

ここで、上記図7のシステムに関して、例えば特許文献1の図3の説明にあるような、プログラムや履歴情報(識別情報管理テーブル)を別の支援装置にコピーして、別の支援装置においてもその続き(更新版)を作成する状況を想定する。   Here, with respect to the system shown in FIG. 7, for example, the program and history information (identification information management table) as described in FIG. Assume a situation in which a continuation (updated version) is created.

例えば図8に示す例では、まず、任意の支援装置110において、任意のプロジェクト“PRJ”に係わるプログラムを作成・更新・管理するものとする。そして、最初に、支援装置110において、各コントローラ100(100a、100b、・・・100n)の各プログラム(ソースコード)が、プログラマ等によって任意に新規作成されたものとする。そして、支援装置110において、これら各新規プログラムをコンパイルする際に、上記特許文献1の処理によって上記固有の識別情報が生成される。これは各コントローラ100毎に図示の各識別情報(CID1-1、CID2-1、…、CIDn-1)が生成される。そして、これら各識別情報が各履歴情報111(111a、111b、・・・、111n)に世代1として保存される。   For example, in the example illustrated in FIG. 8, first, it is assumed that a program related to an arbitrary project “PRJ” is created / updated / managed in an arbitrary support device 110. First, in the support apparatus 110, each program (source code) of each controller 100 (100a, 100b,... 100n) is arbitrarily created by a programmer or the like. When the support apparatus 110 compiles each of these new programs, the unique identification information is generated by the process of Patent Document 1. This generates each piece of identification information (CID1-1, CID2-1,..., CIDn-1) shown for each controller 100. These pieces of identification information are stored as generation 1 in each history information 111 (111a, 111b,..., 111n).

そして、支援装置110は、上記各新規プログラム(コンパイル後)とそれに対応する上記識別情報とを、各コントローラ100に新規ダウンロードすることで、これらを各コントローラ100に保持させる。これより、図7に示すように、各コントローラ100には上記世代1の識別情報が保持された状態となっている。   Then, the support apparatus 110 newly downloads each of the new programs (after compilation) and the corresponding identification information to each controller 100, thereby causing each controller 100 to hold them. Accordingly, as shown in FIG. 7, each controller 100 is in a state in which the generation 1 identification information is held.

この様な状態において、上記プロジェクト“PRJ”に係わる履歴情報やプログラムを、別の支援装置110’にコピーしてコピープロジェクト“PRJ’”としたものとする。尚、このコピーによって別の支援装置110’側で保持・管理されることになる履歴情報を、履歴情報111’(111a’、111b’、・・・、111n’)と記すものとする。   In such a state, it is assumed that history information and programs related to the project “PRJ” are copied to another support apparatus 110 ′ to be a copy project “PRJ ′”. The history information to be held and managed on the other support device 110 'side by this copy is described as history information 111' (111a ', 111b', ..., 111n ').

これより、当該別の支援装置110’において、別のプログラマ等が、コピーしたプログラムに基づいて、その更新版等を作成する。尚、別の支援装置110’も上記支援装置110と同様の機能を有しているものとする。これより、別の支援装置110’において、上記作成された更新版プログラムのコンパイル処理に伴って、新たな世代の識別情報が生成されてこれが上記履歴情報111’(111a’、111b’、・・・、111n’)に追加されることになる。   Thus, in the other support device 110 ′, another programmer or the like creates an updated version or the like based on the copied program. It is assumed that another support device 110 ′ has the same function as the support device 110. As a result, in another support device 110 ′, the new generation identification information is generated along with the compilation processing of the created update program, and this is generated as the history information 111 ′ (111a ′, 111b ′,... , 111n ′).

これより、図示のように、履歴情報(111a’、111b’、・・・、111n’)には、生成された各識別情報(CID1-2’、CID2-2’、…、CIDn-2’)が世代2として追加されることになる。   Thus, as shown in the figure, the history information (111a ′, 111b ′,..., 111n ′) includes the generated identification information (CID1-2 ′, CID2-2 ′,..., CIDn-2 ′). ) Will be added as generation 2.

一方、元の支援装置110においても、プロジェクト“PRJ”に係わる各プログラムの更新版の作成がプログラマ等によって行われたものとし、そのコンパイル処理に伴ってコントローラ毎に、前回と異なる固有の識別情報(CID1-2、CID2-2、…、CIDn-2)が生成される。そして、これら生成された各識別情報が、各履歴情報(111a、111b、・・・、111n)に図示のように世代2として追加保存されているものとする。   On the other hand, in the original support apparatus 110, it is assumed that an updated version of each program related to the project “PRJ” has been created by a programmer or the like, and unique identification information different from the previous one for each controller in accordance with the compilation process. (CID1-2, CID2-2,..., CIDn-2) are generated. The generated identification information is additionally stored as generation 2 as shown in the history information (111a, 111b,..., 111n).

尚、この時点では、全てのPLC100について、上記プロジェクト“PRJ”とコピープロジェクト“PRJ’”の両方ともが、マスタプロジェクトの候補となっている。
尚、ここでは、“マスタプロジェクト”とは、上記特許文献1や本手法等のオンライン更新において、そのコントローラに対して継続してプログラム更新を行う権利を有するプロジェクトと意味するものとする。
At this time, for all the PLCs 100, both the project “PRJ” and the copy project “PRJ ′” are candidates for the master project.
Here, the “master project” means a project having the right to continuously update the program for the controller in the online update of Patent Document 1 and the present method.

そして、上記支援装置110と別に支援装置110’は、上記更新版のプログラムを、順次、各PLC100a〜100nにダウンロードしようと試みることになる。つまり、プログラムのオンライン変更を試みることになる。そして、ここでは仮に、支援装置110は最初にPLC100aにダウンロードを試み、別の支援装置110’は最初にPLC100bにダウンロードを試みたものとする。   In addition to the support device 110, the support device 110 'tries to download the updated version of the program to each of the PLCs 100a to 100n sequentially. This means trying to change the program online. Here, it is assumed that the support device 110 first tries to download to the PLC 100a, and another support device 110 'first tries to download to the PLC 100b.

支援装置110は、PLC100aにプログラムのオンライン変更を行う為に上記特許文献1の手法により上記識別情報を用いたチェックを行う。この例では、PLC100aが保持している識別情報(CID1-1)が、これに対応する履歴情報である履歴情報111aに存在するか否かを判定する。この例では、図示の通り、識別情報CID1-1が、履歴情報111a内に存在するので、支援装置110は、PLC100aのプログラムを更新する権利があると判定する。そして、PLC100aのプログラムの更新版と、これに対応する識別情報CID1-2を、PLC100aにダウンロードして更新させる。   The support apparatus 110 performs a check using the identification information by the method of Patent Document 1 in order to change the program to the PLC 100a online. In this example, it is determined whether or not the identification information (CID1-1) held by the PLC 100a exists in the history information 111a that is history information corresponding to this. In this example, since the identification information CID1-1 exists in the history information 111a as illustrated, the support apparatus 110 determines that there is a right to update the program of the PLC 100a. Then, the updated version of the program of the PLC 100a and the corresponding identification information CID1-2 are downloaded to the PLC 100a and updated.

これより、図8に示すように、PLC100aが保持する識別情報が、CID1-1からCID1-2に変更されることになる。よって、その後に別の支援装置110’がPLC100aにプログラムのオンライン変更を試みても、そのときにPLC100aが保持する識別情報(=CID1-2)は、履歴情報111a’内に存在しないので、オンライン変更は許可されないことになる。   As a result, as shown in FIG. 8, the identification information held by the PLC 100a is changed from CID1-1 to CID1-2. Therefore, even if another support device 110 ′ subsequently tries to change the program online to the PLC 100a, the identification information (= CID1-2) held by the PLC 100a at that time does not exist in the history information 111a ′. Changes will not be allowed.

一方、PLC100bに対しては、上記の通り、別の支援装置110’がプログラムのオンライン変更を行う為に上記特許文献1の手法により上記識別情報を用いたチェックを行う。この例では、PLC100bが保持している識別情報(CID2-1)が、これに対応する履歴情報である履歴情報111b’に存在するか否かを判定する。この例では、図示の通り、識別情報CID2-1が、履歴情報111b’内に存在するので、別の支援装置110’は、PLC100bのプログラムを更新する権利があると判定する。そして、PLC100bのプログラムの更新版と、これに対応する識別情報CID2-2’を、PLC100bにダウンロードして保持させる。   On the other hand, for the PLC 100b, as described above, another support apparatus 110 'performs a check using the identification information by the method of Patent Document 1 in order to change the program online. In this example, it is determined whether or not the identification information (CID2-1) held by the PLC 100b exists in the history information 111b 'that is history information corresponding to the identification information (CID2-1). In this example, as shown in the figure, the identification information CID2-1 is present in the history information 111b ', so that another support device 110' determines that it has the right to update the program of the PLC 100b. Then, the updated version of the program of the PLC 100b and the corresponding identification information CID2-2 'are downloaded to the PLC 100b and held.

これより、図8に示すように、PLC100bが保持する識別情報が、CID2-1からCID2-2’に変更されることになる。よって、その後に支援装置110がPLC100bにプログラムのオンライン変更を試みても、そのときにPLC100bが保持する識別情報(=CID2-2’)は、履歴情報111b内に存在しないので、オンライン変更は許可されないことになる。   As a result, as shown in FIG. 8, the identification information held by the PLC 100b is changed from CID2-1 to CID2-2 '. Therefore, even if the support device 110 attempts to change the program online to the PLC 100b after that, the identification information (= CID2-2 ′) held by the PLC 100b does not exist in the history information 111b, so online change is permitted. Will not be.

上記のようにして、PLC100a、PLC100bのプログラムの継続性を保証することはできる(特許文献1と同様)。
しかしながら、上述した例では、プロジェクト“PRJ”がPLC100aのマスタプロジェクトとなり、コピープロジェクト“PRJ’”がPLC100bのマスタプロジェクトとなるものと言える。PLC100aとPLC100bとが何等関係がないものであるならば、この様な状態になっても問題はない。しかしながら、上述したように、PLC100aとPLC100bは同じプロジェクトに係わるコントローラであり、両者の動作は相互に何等かの関係がある場合が多い。従って、この様な場合には、任意のプロジェクトに係わる全てのコントローラ100が、マスタプロジェクトが同一であることが必要となり、上述したようなPLC100aとPLC100bとでマスタプロジェクトが異なる状態となることは、問題である。
As described above, the continuity of the programs of the PLC 100a and the PLC 100b can be guaranteed (similar to Patent Document 1).
However, in the above-described example, it can be said that the project “PRJ” becomes the master project of the PLC 100a and the copy project “PRJ ′” becomes the master project of the PLC 100b. If the PLC 100a and the PLC 100b are not related at all, there is no problem even if such a state occurs. However, as described above, the PLC 100a and the PLC 100b are controllers related to the same project, and their operations often have some relationship with each other. Therefore, in such a case, all the controllers 100 related to an arbitrary project need to have the same master project, and the master project is different between the PLC 100a and the PLC 100b as described above. It is a problem.

このように、複数のコントローラを纏めてひとつのプロジェクトとして管理するシステムに上記特許文献1の手法を適用しようとした場合、プロジェクトに係わる各コントローラのマスタプロジェクトが、全て同一とならない場合があるという問題が生じることになる。   As described above, when the method of Patent Document 1 is applied to a system that manages a plurality of controllers as a single project, the master projects of the controllers related to the project may not all be the same. Will occur.

本発明の課題は、複数のプログラマブルコントロール装置を纏めてひとつのプロジェクトとして管理した場合においても、マスタプロジェクトがプログラマブルコントロール装置毎に別々にならず、プロジェクト単位でプログラム更新を行うことが保証できるコントロールシステム等を提供することである。   An object of the present invention is to provide a control system capable of guaranteeing that a master project is not separated for each programmable control device and a program is updated in units of projects even when a plurality of programmable control devices are managed as a single project. Etc. is to provide.

本発明のコントロールシステムは、支援装置とプログラマブルコントロール装置とがネットワークに接続されており、該支援装置が、相互に連携して動作する複数のプログラマブルコントロール装置用の各プログラムを纏めて1つのプロジェクトとして管理するシステムであって、下記の各構成を有する。 In the control system of the present invention, a support device and a programmable control device are connected to a network, and the support device collects each program for a plurality of programmable control devices operating in cooperation with each other as one project. A management system having the following configurations.

前記支援装置は、下記の各構成を有する。
管理するプロジェクトを識別するための一意のプロジェクト識別情報の履歴をプロジェクト履歴として記憶するプロジェクト履歴記憶手段;
・前記プログラマブルコントロール装置毎に、該プログラマブルコントロール装置を識別するための一意のコントローラ識別情報の履歴をコントローラ履歴として記憶するコントローラ履歴記憶手段;
・前記プロジェクトに係わる前記各プログラムの更新版が作成される毎に、該プロジェクトを識別するための一意のプロジェクト識別情報を生成して前記プロジェクト履歴に追加登録すると共に、前記各更新版プログラムに係わる各プログラマブルコントロール装置毎に、該プログラマブルコントロール装置を識別するための一意のコントローラ識別情報を生成して対応する前記コントローラ履歴に追加登録するコンパイル手段;
・前記各プログラマブルコントロール装置に対して、そのプログラマブルコントロール装置用の前記更新版プログラムをダウンロードする手段であって、そのプログラマブルコントロール装置のプログラムを更新する権利を有すると判定した場合に、そのプログラマブルコントロール装置に対して、該プログラマブルコントロール装置に対応する前記生成されたコントローラ識別情報と、前記生成したプロジェクト識別情報と、前記更新版プログラムとをダウンロードするダウンロード手段:
The support device has the following configurations.
Project history storage means for storing a history of unique project identification information for identifying a project to be managed as a project history;
Controller history storage means for storing a history of unique controller identification information for identifying the programmable control device as a controller history for each programmable control device;
-Each time an updated version of each program related to the project is created , unique project identification information for identifying the project is generated and additionally registered in the project history, and also related to each updated version program Compile means for generating unique controller identification information for identifying the programmable control device for each programmable control device and additionally registering it in the corresponding controller history;
A means for downloading the updated version program for the programmable control device to each programmable control device, and when it is determined that the program has the right to update the program of the programmable control device, the programmable control device Download means for downloading the generated controller identification information corresponding to the programmable control device, the generated project identification information, and the updated version program:

前記各プログラマブルコントロール装置は、下記の各構成を有する。
・自装置用の前記プログラムを記憶するプログラム記憶手段;
・コントローラ識別情報を記憶するコントローラ識別情報記憶手段;
・プロジェクト識別情報を記憶するプロジェクト識別情報記憶手段;
・前記ダウンロード手段によってダウンロードされた前記更新版プログラムと前記コントローラ識別情報と前記プロジェクト識別情報とによって、前記プログラム記憶手段と前記コントローラ識別情報記憶手段と前記プロジェクト識別情報記憶手段の各記憶内容を更新する管理手段:
Each said programmable control apparatus has each following structure.
-Program storage means for storing the program for its own device;
Controller identification information storage means for storing controller identification information;
Project identification information storage means for storing project identification information;
- by said update program downloaded to the controller identification information and the project identification information by the downloading means, and updates the respective storage contents of said program storage means and the controller identification information storage means and the project identification information storage unit Management means:

そして、前記支援装置の前記ダウンロード手段は、ダウンロード対象のプログラマブルコントロール装置における前記コントローラ識別情報記憶手段及び前記プロジェクト識別情報記憶手段にそれぞれ記憶された前記コントローラ識別情報及び前記プロジェクト識別情報と、前記プロジェクト履歴記憶手段及び前記コントローラ履歴記憶手段にそれぞれ記憶された前記プロジェクト履歴及び前記コントローラ履歴とに基づいて、前記プログラムを更新する権利の有無の判定を行う。 The download unit of the support device includes the controller identification information and the project identification information stored in the controller identification information storage unit and the project identification information storage unit in the downloadable programmable control device, and the project history. Based on the project history and the controller history respectively stored in the storage means and the controller history storage means, it is determined whether or not there is a right to update the program.

本発明のコントロールシステム等によれば、複数のプログラマブルコントロール装置を纏めてひとつのプロジェクトとして管理した場合においても、マスタプロジェクトがプログラマブルコントロール装置毎に別々にならず、プロジェクト単位でプログラム更新を行うことが保証できる。   According to the control system of the present invention, even when a plurality of programmable control devices are managed as a single project, the master project is not separated for each programmable control device, and the program can be updated in units of projects. Can be guaranteed.

本例のプログラマブルコントローラシステムの構成図である。It is a block diagram of the programmable controller system of this example. 図1のシステムの動作例を説明する為の図である。It is a figure for demonstrating the operation example of the system of FIG. 支援装置のコンパイル時の処理フローチャート図である。It is a process flowchart figure at the time of compilation of a support device. 支援装置のダウンロード時の処理フローチャート図である。It is a process flowchart figure at the time of download of a support apparatus. (a)、(b)は、各コントローラ側におけるプロジェクト識別情報の格納例である。(A), (b) is a storage example of the project identification information in each controller side. 本例のプログラマブルコントローラシステムの機能ブロック図である。It is a functional block diagram of the programmable controller system of this example. 既存技術を適用したプログラマブルコントローラシステムの構成図である。It is a block diagram of the programmable controller system to which the existing technique is applied. 図7のシステムの動作例を説明する為の図である。It is a figure for demonstrating the operation example of the system of FIG.

以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のプログラマブルコントローラシステムの構成図である。
尚、本説明では、プログラマブルコントローラを、単にコントローラと記す場合やPLC等と記す場合もあるものとする。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a configuration diagram of the programmable controller system of this example.
In this description, the programmable controller may be simply referred to as a controller, or may be referred to as a PLC or the like.

図示のプログラマブルコントローラシステムは、複数台のコントローラ10(コントローラ10a、10b、・・・10n;PLC1,PLC2,・・・PLCn)が、ネットワーク1に接続されている。また、1台以上の支援装置20が、ネットワーク1に接続し得る。ここでは、この複数台のコントローラ10全てが、支援装置20が管理する1つのプロジェクトに係わるコントローラであるものとする。このように、本例のプログラマブルコントローラシステムは、上記図7と同様、支援装置20は、複数のコントローラ10を纏めてひとつのプロジェクトとして管理するものである。   In the illustrated programmable controller system, a plurality of controllers 10 (controllers 10a, 10b,... 10n; PLC1, PLC2,... PLCn) are connected to a network 1. Further, one or more support apparatuses 20 can be connected to the network 1. Here, it is assumed that all of the plurality of controllers 10 are controllers related to one project managed by the support apparatus 20. As described above, in the programmable controller system of this example, the support apparatus 20 manages a plurality of controllers 10 as one project, as in FIG.

尚、コントローラ10と支援装置20との接続方法は、上記ネットワーク1を介する構成に限らない。例えば、USBケーブル等によって、支援装置20を各コントローラ10と直接接続する構成等であっても構わない。   The connection method between the controller 10 and the support device 20 is not limited to the configuration via the network 1. For example, a configuration in which the support apparatus 20 is directly connected to each controller 10 by a USB cable or the like may be used.

ここで、本例では、2種類の識別情報を用いるので、それらを区別する為、一方をコントローラ識別情報、他方をプロジェクト識別情報と記すものとする。コントローラ識別情報は、上記特許文献1や図7等で用いた既存の識別情報に相当する。 Here, in this embodiment, 2 because using the type of identification information, in order to distinguish them, shall be referred to one controller identification information, the other project identification information. The controller identification information corresponds to the existing identification information used in Patent Document 1 and FIG.

一方、プロジェクト識別情報は、本手法による新規の識別情報であり、各プロジェクト毎に対応付けられる固有の(一意の)識別情報である。そして、上記プロジェクト“PRJ”のプロジェクト識別情報と、コピープロジェクト“PRJ’”のプロジェクト識別情報とは、必ず異なるように、プロジェクト識別情報が生成されるようにしている。この様な生成方法は、上記コントローラ識別情報の生成方法と略同様であってよい。   On the other hand, the project identification information is new identification information according to the present technique, and is unique (unique) identification information associated with each project. The project identification information is generated so that the project identification information of the project “PRJ” and the project identification information of the copy project “PRJ ′” are always different. Such a generation method may be substantially the same as the generation method of the controller identification information.

また、コントローラ10のプログラムの更新は、プロジェクト単位で行われる。つまり、基本的には、任意のプロジェクトの更新の際には、このプロジェクトに係わる全てのコントローラ10のプログラムの更新が、行われることになる。そして、これに伴って新たなプロジェクト識別情報が生成されて、後述する履歴情報(プロジェクト)22に追加登録され、更に許可される場合には更新版プログラムと一緒にコントローラ10にダウンロードされる。勿論、これに伴って、各コントローラ10毎に、新たなコントローラ識別情報も生成されて、上記更新版プログラムと一緒に該当するコントローラ10にダウンロードされる。   The program of the controller 10 is updated on a project basis. That is, basically, when an arbitrary project is updated, the programs of all the controllers 10 related to this project are updated. Along with this, new project identification information is generated, additionally registered in history information (project) 22 described later, and downloaded to the controller 10 together with the updated version program when permitted. Of course, along with this, new controller identification information is also generated for each controller 10 and downloaded to the corresponding controller 10 together with the updated version program.

そして、支援装置20は、上記コントローラ識別情報、プロジェクト識別情報の履歴管理を行う。コントローラ識別情報については、上記図7等と同様、各コントローラ10毎に対応する履歴情報を記憶・管理する。すなわち、図示の履歴情報(PLC)21(21a、21b、・・・、21n)を、記憶・管理する。上記各コントローラ10毎に生成された新たな固有の(一意の)コントローラ識別情報は、そのコントローラ10に対応する履歴情報(PLC)に追加登録される。その際、特許文献1と同様にして、生成した新たな世代と一緒に追加登録するようにしてもよいが、この例に限らない。例えば、コントローラ10aに対応する新たなコントローラ識別情報は、図示の履歴情報(PLC)21aに追加登録されることになる。   Then, the support device 20 performs history management of the controller identification information and project identification information. As for the controller identification information, the history information corresponding to each controller 10 is stored and managed as in FIG. That is, the illustrated history information (PLC) 21 (21a, 21b,..., 21n) is stored and managed. The new unique (unique) controller identification information generated for each controller 10 is additionally registered in the history information (PLC) corresponding to the controller 10. At that time, as in Patent Document 1, additional registration may be performed together with the generated new generation, but the present invention is not limited to this example. For example, new controller identification information corresponding to the controller 10a is additionally registered in the illustrated history information (PLC) 21a.

また、支援装置20は、プロジェクト識別情報に係わる履歴情報である図示の履歴情報(プロジェクト)22を、記憶管理する。上記プロジェクト更新に伴って新たに生成されたプロジェクト識別情報は、この履歴情報(プロジェクト)22に追加登録される。尚、その際、生成した新たな世代と一緒に追加登録するようにしてもよいが、この例に限らない。   Further, the support apparatus 20 stores and manages the illustrated history information (project) 22 that is history information related to the project identification information. Project identification information newly generated as a result of the project update is additionally registered in the history information (project) 22. At this time, additional registration may be performed together with the generated new generation, but the present invention is not limited to this example.

尚、支援装置20が有する不図示のメモリ領域に、上述した履歴情報(PLC)21や履歴情報(プロジェクト)22が記憶される。
一方、各コントローラ10は、それぞれ、自装置が現在保持しているプログラムに係わるコントローラ識別情報11を保持している。これは、例えばプログラムの更新が行われると、支援装置20から、更新版プログラムと共にこれに対応するコントローラ識別情報がダウンロードされてくるので、この更新版プログラムを記憶すると共に、このコントローラ識別情報を新たな上記コントローラ識別情報11として記憶する。その後は、更新版プログラムを実行することで、制御動作を行うことになる。
The history information (PLC) 21 and the history information (project) 22 described above are stored in a memory area (not shown) of the support device 20.
On the other hand, each controller 10 holds controller identification information 11 related to a program currently held by its own device. For example, when the program is updated, the controller identification information corresponding to the updated program is downloaded from the support device 20, so that the updated program is stored and the controller identification information is newly updated. The controller identification information 11 is stored. Thereafter, the control operation is performed by executing the updated program.

また、各コントローラ10は、自装置及び他の各コントローラ10が現在保持しているプログラムに係わるプロジェクト識別情報を、図示のプロジェクト識別情報群12として保持している。自装置が保持しているプログラムに係わるプロジェクト識別情報は、上記更新版プログラムと共にダウンロードされてくるので、これを保持する。尚、当然ながら、各コントローラは、上記プロジェクト識別情報群12を記憶するメモリ領域を有しており、その一例がコモンメモリであるが、この例に限らない。   Further, each controller 10 holds project identification information related to a program currently held by its own device and each other controller 10 as a project identification information group 12 shown in the figure. Since the project identification information related to the program held by the own device is downloaded together with the updated program, it is held. Of course, each controller has a memory area for storing the project identification information group 12, and an example thereof is a common memory. However, the present invention is not limited to this example.

一方、他の各コントローラ10が現在保持しているプログラムに係わるプロジェクト識別情報は、図示の例ではコモンメモリ方式により上記コモンメモリに格納されるものである。コモンメモリ方式は、例えば参考文献(特開2002−297210号公報)に記載の通信方式である。これより、各コントローラ10は、それぞれ、上記参考文献に記載のコモンメモリを備えており(不図示)、全てのコントローラ10のコモンメモリに同一のデータ群(図示のプロジェクト識別情報群12)が格納された状態となるように制御している。つまり、各コントローラ10のプロジェクト識別情報が、相互参照可能な仕組みとなっている。   On the other hand, the project identification information related to the program currently held by each of the other controllers 10 is stored in the common memory by the common memory method in the illustrated example. The common memory system is a communication system described in, for example, a reference document (Japanese Patent Laid-Open No. 2002-297210). Accordingly, each controller 10 includes the common memory described in the above-mentioned reference (not shown), and the same data group (project identification information group 12 shown) is stored in the common memory of all the controllers 10. It is controlled so as to be in the state. That is, the project identification information of each controller 10 can be cross-referenced.

プロジェクト識別情報群12は、全てのコントローラ10のプロジェクト識別情報である。つまり、各コントローラ10がそれぞれ現在保持しているプログラムに対応するプロジェクト識別情報が、プロジェクト識別情報群12である。これより、支援装置20は、任意の1台のコントローラ10のプロジェクト識別情報群12(コモンメモリ)を参照すれば、上記プロジェクトに係わる全てのコントローラ10の現在のプロジェクト識別情報を、知ることができるようになっている。   The project identification information group 12 is project identification information of all the controllers 10. That is, the project identification information group 12 is the project identification information corresponding to the program currently held by each controller 10. Thus, the support device 20 can know the current project identification information of all the controllers 10 related to the project by referring to the project identification information group 12 (common memory) of any one controller 10. It is like that.

そして、上記図7等で説明した既存手法適用システムでは、上記コントローラ識別情報のみを用いてダウンロード許可されるか否かを判定していたのに対して、本手法では上記2種類の識別情報を用いて、この判定を行っている。   In the existing method application system described in FIG. 7 and the like, it is determined whether or not the download is permitted using only the controller identification information. In the present method, the two types of identification information are used. This is used to make this determination.

コントローラ識別情報11を用いた判定処理は、既存手法と同じであってよい(第1の判定処理とする)。一方、プロジェクト識別情報群12を用いた判定処理は、プロジェクト識別情報群12の全てのプロジェクト識別情報が、履歴情報(プロジェクト)22内に存在するか否かを判定するものである(第2の判定処理とする)。上記の通り、プロジェクト識別情報群12には、任意のプロジェクトに係わる全てのコントローラのプロジェクト識別情報が格納されている。よって、上記第2の判定処理は、任意のプロジェクトに係わる全てのコントローラのプロジェクト識別情報が、履歴情報(プロジェクト)22内に存在するか否かを判定するものと言える。   The determination process using the controller identification information 11 may be the same as the existing method (referred to as a first determination process). On the other hand, the determination process using the project identification information group 12 determines whether or not all the project identification information in the project identification information group 12 exists in the history information (project) 22 (second). Judgment processing). As described above, the project identification information group 12 stores project identification information of all controllers related to an arbitrary project. Therefore, it can be said that the second determination process determines whether or not the project identification information of all the controllers related to an arbitrary project exists in the history information (project) 22.

そして、上記第1の判定処理と第2の判定処理の両方の判定結果がOK(存在する)である場合に、ダウンロード許可されるものと判定し、更新版プログラムとこれに係わるコントローラ識別情報とプロジェクト識別情報とを、対象のコントローラ10へダウンロードする。   If both the first determination process and the second determination process are determined to be OK (exist), it is determined that the download is permitted, the updated version program, the controller identification information related thereto, The project identification information is downloaded to the target controller 10.

上記の処理では、全てのコントローラ10(10a、10b、・・・、10n)の中で一台でも既に他のプロジェクトがマスタプロジェクトとなっているものがある場合には、この一台だけでなく他のコントローラ10全てに関して、ダウンロード許可されないことになる。これによって、コントローラ10(10a、10b、・・・、10n)のなかにマスタプロジェクトが異なるものが存在する事態となることを防止できる。   In the above processing, if there is one of all the controllers 10 (10a, 10b,..., 10n) that already has another project as the master project, Download is not permitted for all other controllers 10. As a result, it is possible to prevent the controller 10 (10a, 10b,..., 10n) from having a different master project.

上記判定処理に係わる具体例について、図2を参照して説明する。
図2は、図1のシステムにおいて、上記図7、図8と同様に、図1の支援装置20が任意のプロジェクト“PRJ”に係わるプログラムを作成・更新・管理するものとする。そして、最初に、各コントローラ10(10a、10b、・・・10n)の各プログラム(ソースコード)が、支援装置20上でプログラマ等によって任意に新規作成されたものとする。支援装置20は、この新規プログラム(ソースコード)をコンパイルする際に上記特許文献1の処理によって上記固有の識別情報を生成する。これは各コントローラ10毎に図示の各コントローラ識別情報(CID1-1、CID2-1、…、CIDn-1)が生成される。そして、これら各識別情報が各履歴情報(PLC)21(21a、21b、・・・、21n)に世代1として保存される。更に、プロジェクト“PRJ”のプロジェクト識別情報として最初は“PID-1”が生成されてこれが図示のように履歴情報(プロジェクト)22に世代1として登録される。
A specific example related to the determination process will be described with reference to FIG.
2, in the system of FIG. 1, the support apparatus 20 of FIG. 1 creates, updates, and manages a program related to an arbitrary project “PRJ”, as in FIGS. 7 and 8. First, it is assumed that each program (source code) of each controller 10 (10a, 10b,... 10n) is arbitrarily newly created on the support apparatus 20 by a programmer or the like. The support device 20 generates the unique identification information by the process of Patent Document 1 when compiling this new program (source code). This generates each controller identification information (CID1-1, CID2-1,..., CIDn-1) for each controller 10 as shown. These pieces of identification information are stored as generation 1 in each history information (PLC) 21 (21a, 21b,..., 21n). Further, “PID-1” is first generated as project identification information of the project “PRJ”, and this is registered as generation 1 in the history information (project) 22 as shown in the figure.

そして、支援装置20は、上記各新規プログラム(コンパイル後)とそれに対応する上記2種類の識別情報とを、各コントローラ10に新規ダウンロードすることで、これらを各コントローラ10に保持させる。これより、図1に示すように、各コントローラ10には上記世代1の2種類の識別情報が保持された状態となる。例えば、コントローラ10aは、上記世代1のCID1-1を自己のコントローラ識別情報11aとして保持する。   Then, the support device 20 newly downloads each of the new programs (after compilation) and the two types of identification information corresponding to the new programs to each controller 10, thereby causing the controllers 10 to hold them. Thus, as shown in FIG. 1, each controller 10 is in a state where the two types of identification information of the generation 1 are held. For example, the controller 10a holds the generation 1 CID1-1 as its own controller identification information 11a.

尚、当然ながら、各コントローラ10は、各々、自己のコントローラ識別情報11を記憶する為のメモリ領域を有している。
また、コントローラ10aは、上記プロジェクト“PRJ”に応じた世代1のプロジェクト識別情報“PID-1”を、自己のコモンメモリの該当記憶領域に保持する。尚、上記参考文献に開示されていることと同様にして、予め各コントローラ10に対してコモンメモリの任意の記憶領域が割当てられている。そして、自己に割当てられている記憶領域に、例えば上記プロジェクト識別情報“PID-1”を上書き記憶することになる。
Of course, each controller 10 has a memory area for storing its own controller identification information 11.
Further, the controller 10a holds the generation 1 project identification information “PID-1” corresponding to the project “PRJ” in the corresponding storage area of its own common memory. In the same manner as disclosed in the above-mentioned reference, an arbitrary storage area of the common memory is allocated to each controller 10 in advance. Then, for example, the project identification information “PID-1” is overwritten and stored in the storage area allocated to itself.

更に、上記の通り、コモンメモリ方式により、この“PID-1”は他の全てのコントローラ10のコモンメモリに転送・格納されることになる。
他の各コントローラ10においても、上記コントローラ10aと略同様にして、上記世代1の各コントローラ識別情報の中で自装置に対応するものを保持すると共に、上記“PID-1”を自己のコモンメモリの該当記憶領域に保持する。これによって、図1に示すように、全てのコントローラ10の全てのコモンメモリにおいて、その全ての記憶領域に“PID-1”が格納された状態となる。
Furthermore, as described above, the “PID-1” is transferred and stored in the common memory of all other controllers 10 by the common memory system.
Each of the other controllers 10 holds the information corresponding to its own device among the generation 1 controller identification information in the same manner as the controller 10a, and stores the "PID-1" in its own common memory. In the corresponding storage area. As a result, as shown in FIG. 1, “PID-1” is stored in all the storage areas of all the common memories of all the controllers 10.

尚、図1は、上記の状態となった後に支援装置20側でプログラム更新やこれに応じた世代2の識別情報の生成・格納が行われたが、未だコントローラ10には一切ダウンロードしていない状態を示しているものと見做してよい。   In FIG. 1, after the above state is reached, the support apparatus 20 updates the program and generates / stores the generation 2 identification information in response to this, but it has not yet been downloaded to the controller 10. You may consider this as an indication of the condition.

ここでは、未だ、この様なプログラム更新や世代2の識別情報の生成が行われる前の状態、すなわち支援装置20側でも未だ上記世代1のみが存在している状態において、上記プロジェクト“PRJ”に係わる履歴情報やプログラムを、別の支援装置20’にコピーしてコピープロジェクト“PRJ’”としたものとする。尚、別の支援装置20’側では、コピーした履歴情報を、図示の履歴情報(プロジェクト)22’、各履歴情報21’(21a’、21b’、・・・、21n’)として記憶・管理する。   Here, in the state before the program update and generation 2 identification information are generated, that is, in the state where only the generation 1 still exists on the support device 20 side, the project “PRJ” The related history information and program are copied to another support apparatus 20 ′ to form a copy project “PRJ ′”. On the other support device 20 ′ side, the copied history information is stored and managed as the history information (project) 22 ′ and the history information 21 ′ (21a ′, 21b ′,..., 21n ′) shown in the figure. To do.

また、この時点では、全てのコントローラ10a〜10nに関して、PRJとPRJ’が次のマスタプロジェクトの候補となる。
その後、当該別の支援装置20’において、別のプログラマ等が、コピーしたプログラムに基づいて、その更新版等を作成する。尚、別の支援装置20’も上記支援装置20と同様の機能を有しているものとする。これより、別の支援装置20’において、上記作成された更新版プログラムのコンパイル処理に伴って、新たな世代のコントローラ識別情報が生成されてこれが上記履歴情報(PLC)21’(21a’、21b’、・・・、21n’)に追加されることになる。
At this time, PRJ and PRJ ′ are candidates for the next master project for all the controllers 10a to 10n.
Thereafter, in the other support device 20 ′, another programmer or the like creates an updated version or the like based on the copied program. It is assumed that another support device 20 ′ has the same function as the support device 20. Thus, in another support apparatus 20 ′, a new generation of controller identification information is generated along with the compilation processing of the created update program, and this is generated as the history information (PLC) 21 ′ (21a ′, 21b). ', ..., 21n').

これより、図示のように、履歴情報(PLC)21(21a’、21b’、・・・、21n’)には、生成された各識別情報(CID1-2’、CID2-2’、…、CIDn-2’)が世代2として追加されることになる。また、コピープロジェクト“PRJ’”に係わる識別情報として“PID-2’”が新たに生成されて、これが世代2として履歴情報(プロジェクト)22’に追加登録される。これより、別の支援装置20’における各履歴情報は、図2に示す状態となっている。   Thus, as shown in the figure, the history information (PLC) 21 (21a ′, 21b ′,..., 21n ′) includes the generated identification information (CID1-2 ′, CID2-2 ′,. CIDn-2 ′) will be added as generation 2. Further, “PID-2 ′” is newly generated as identification information related to the copy project “PRJ ′”, and this is additionally registered in the history information (project) 22 ′ as generation 2. Thus, each history information in another support device 20 'is in a state shown in FIG.

一方、元の支援装置20においても、任意のプログラム更新が行われて、これに応じた世代2の識別情報が生成されて各履歴情報に追加される。すなわち、支援装置20側では、プロジェクト“PRJ”に係わる各プログラムの更新版の作成がプログラマ等によって行われたものとし、そのコンパイル処理に伴ってコントローラ毎に前回と異なる固有の識別情報(CID1-2、CID2-2、…、CIDn-2)が生成される。そして、これら生成された各識別情報が、各履歴情報(PLC)21(21a、21b、・・・、21n)に図示のように世代2として追加保存されているものとする。   On the other hand, in the original support device 20, an arbitrary program update is performed, and generation 2 identification information corresponding to this is generated and added to each history information. That is, on the support apparatus 20 side, it is assumed that an updated version of each program related to the project “PRJ” has been created by a programmer or the like, and unique identification information (CID1- 2, CID2-2,..., CIDn-2) are generated. The generated identification information is additionally stored as generation 2 in each history information (PLC) 21 (21a, 21b,..., 21n) as illustrated.

尚、この時点では、全てのPLC10について、上記プロジェクト“PRJ”とコピープロジェクト“PRJ’”の両方ともが、次のマスタプロジェクトの候補となっている。
そして、上記支援装置20と別に支援装置20’は、各々、自装置における上記更新版のプログラムを、順次、各PLC10a〜10nにダウンロードしようと試みることになる。つまり、プログラムのオンライン変更を試みることになる。そして、ここでは仮に、支援装置20は最初にPLC10aにダウンロードを試み、別の支援装置20’は最初にPLC10bにダウンロードを試みたものとする。
At this point, for all the PLCs 10, both the project “PRJ” and the copy project “PRJ ′” are candidates for the next master project.
Then, separately from the support device 20, the support device 20 ′ tries to download the updated version of the program in its own device to the PLCs 10a to 10n sequentially. This means trying to change the program online. Here, it is assumed that the support device 20 first tries to download to the PLC 10a, and another support device 20 ′ first tries to download to the PLC 10b.

支援装置20は、PLC10aにプログラムのオンライン変更を行う為に上記特許文献1の手法により上記識別情報を用いたチェックを行う。この例では、PLC10aが保持している識別情報(CID1-1)が、これに対応する履歴情報である履歴情報(PLC)21aに存在するか否かを判定する。この例では、図示の通り、識別情報CID1-1が、履歴情報(PLC)21a内に存在する。   The support apparatus 20 performs a check using the identification information by the method of Patent Document 1 in order to change the program to the PLC 10a online. In this example, it is determined whether or not the identification information (CID1-1) held by the PLC 10a exists in the history information (PLC) 21a that is history information corresponding to the identification information (CID1-1). In this example, as illustrated, the identification information CID1-1 is present in the history information (PLC) 21a.

支援装置20は、更に、PLC10aのプロジェクト識別情報群12aを取得して、これら全てが履歴情報(プロジェクト)22内に存在するか否かを判定する。換言すれば、全コントローラ10(10a、10b、・・・、10n)のプロジェクト識別情報が、全て、履歴情報(プロジェクト)22内に存在するか否かを判定する。このときには、全コントローラ10(10a、10b、・・・、10n)のプロジェクト識別情報全てが上記“PID-1”となっているので、全てが、履歴情報(プロジェクト)22内に存在することになる。   The support device 20 further acquires the project identification information group 12a of the PLC 10a, and determines whether or not all of these exist in the history information (project) 22. In other words, it is determined whether or not all the project identification information of all the controllers 10 (10a, 10b,..., 10n) exists in the history information (project) 22. At this time, since all the project identification information of all the controllers 10 (10a, 10b,..., 10n) is “PID-1”, all of them exist in the history information (project) 22. Become.

支援装置20は、上記コントローラ識別情報を用いた判定とプロジェクト識別情報を用いた判定の両方で、OK(存在する)と判定された場合に、PLC10aのプログラムを更新する権利があると判定する。この判定によって、支援装置20は、PLC10aのプログラムの更新版と、これに対応する最新世代のコントローラ識別情報“CID1-2”と、最新世代のプロジェクト識別情報“PID-2”とを、PLC10aにダウンロードして保持させる。   The support device 20 determines that there is a right to update the program of the PLC 10a when it is determined that the determination is OK (exists) by both the determination using the controller identification information and the determination using the project identification information. By this determination, the support apparatus 20 sends the updated version of the PLC 10a program, the latest generation controller identification information “CID1-2” and the latest generation project identification information “PID-2” corresponding thereto to the PLC 10a. Download and keep it.

これより、図2に示すように、PLC10aが保持するコントローラ識別情報11aが、CID1-1からCID1-2に変更されると共に、コモンメモリの該当領域の記憶内容が“PID-1”から“PID-2”に変更されることになる。そして、上記の通り、このPLC10aのコモンメモリの記憶内容の変更は、他の全てのコントローラ10のコモンメモリにも反映されることになる。   As a result, as shown in FIG. 2, the controller identification information 11a held by the PLC 10a is changed from CID1-1 to CID1-2, and the storage content of the corresponding area of the common memory is changed from “PID-1” to “PID”. -2 ”will be changed. As described above, the change in the storage contents of the common memory of the PLC 10a is reflected in the common memories of all other controllers 10.

これより、図2に示すように、全てのコモンメモリにおいて、上記PLC10aに対して割当てられている記憶領域の格納内容が、“PID-2”となることになる。
よって、その後に別の支援装置20’がPLC10aにプログラムのオンライン変更を試みても、そのときにPLC10aが保持するコントローラ識別情報11a(=CID1-2)は、履歴情報(PLC)21a’内に存在しないので、オンライン変更は許可されないことになる。尚、本例の場合、プロジェクト識別情報に関しても、上記“PID-2”は図示のように支援装置20’の履歴情報(プロジェクト)22’には存在しないので、プロジェクト識別情報を用い判定によってもオンライン変更は許可されないことになる。
As a result, as shown in FIG. 2, in all the common memories, the storage contents of the storage area allocated to the PLC 10a are “PID-2”.
Therefore, even if another support device 20 ′ thereafter tries to change the program online to the PLC 10a, the controller identification information 11a (= CID1-2) held by the PLC 10a at that time is stored in the history information (PLC) 21a ′. Because it does not exist, online changes are not allowed. In the case of this example, with respect to the project identification information, since the "PID-2" is not present in the 'history information (projects) 22' support device 20 as shown, by determination using project identification information However, online changes are not allowed.

一方、PLC10bに対しては、上記の通り、別の支援装置20’がプログラムのオンライン変更を行う為に上記特許文献1の手法により上記識別情報を用いたチェックを行う。この例では、PLC10bが保持しているコントローラ識別情報11b(=CID2-1)が、これに対応する履歴情報である履歴情報(PLC)21b’に存在するか否かを判定する。この例では、図示の通り、コントローラ識別情報“CID2-1”が、履歴情報(PLC)21b’内に存在する。   On the other hand, for the PLC 10b, as described above, another support device 20 'performs a check using the identification information by the method of Patent Document 1 in order to change the program online. In this example, it is determined whether or not the controller identification information 11b (= CID2-1) held by the PLC 10b is present in the history information (PLC) 21b 'that is history information corresponding thereto. In this example, as shown in the figure, the controller identification information “CID2-1” is present in the history information (PLC) 21b ′.

一方で、このときにはPLC10bのプロジェクト識別情報群12bにも、上記“PID-2”が含まれていることになる(他は全て“PID-1”のままの状態である)。よって、“PID-1”は履歴情報(プロジェクト)22’内に存在すると判定されるが、“PID-2”は履歴情報(プロジェクト)22’内に存在しないと判定され、NG判定となる。   On the other hand, at this time, the project identification information group 12b of the PLC 10b also includes the “PID-2” (all others remain “PID-1”). Therefore, it is determined that “PID-1” is present in the history information (project) 22 ′, but “PID-2” is determined not to be present in the history information (project) 22 ′, resulting in an NG determination.

上記のように、2つの判定のうちの一方はOK判定であるが他方はNG判定となる。2つの判定の何れか一方でもNG判定となった場合、全体としてNG判定となり、従ってこの例では、別の支援装置20’は、PLC10bに対してはプログラムを更新する権利が無いと判定することになる。つまり、別の支援装置20’によるコントローラ10bのプログラムのオンライン変更は、許可されないことになる。これより、別の支援装置20’は、PLC10bに対して更新版プログラムのダウンロード等は行わない。   As described above, one of the two determinations is OK determination, but the other is NG determination. If either of the two determinations results in an NG determination, the result is an NG determination as a whole. Therefore, in this example, the other support device 20 ′ determines that the PLC 10b does not have the right to update the program. become. That is, online change of the program of the controller 10b by another support apparatus 20 'is not permitted. As a result, the other support apparatus 20 ′ does not download the updated version program to the PLC 10 b.

更に、別の支援装置20’は、上記PLC10a、10b以外の他のコントローラ10全てに関しても、上記NG判定となり、プログラムを更新する権利が無いと判定することになる。このようにして、例えば支援装置20の方が先に全コントローラ10の中で1台でもプログラムのオンライン変更を行った場合には、別の支援装置20’は、全てのコントローラ10に関してオンライン変更ができないように制御されることになる。   Further, the other support apparatus 20 'determines that the NG determination is made for all the controllers 10 other than the PLCs 10a and 10b, and it is determined that there is no right to update the program. In this way, for example, when the support device 20 changes the program online at least once among all the controllers 10, another support device 20 ′ can change the online for all the controllers 10. It will be controlled so that it cannot.

一方、支援装置20は、上記PLC10a以外の他のコントローラ10全てに関して、上記PLC10aの場合と同様に、プログラムを更新する権利があると判定することになる。そして、更新版プログラムや上記2種類の識別情報を、他のコントローラ10にもダウンロードして保持させることになる。   On the other hand, the support apparatus 20 determines that all the controllers 10 other than the PLC 10a have the right to update the program, as in the case of the PLC 10a. Then, the updated version program and the above two types of identification information are downloaded and held in the other controllers 10.

この様にして、全てのコントローラ10のマスタプロジェクトが、上記プロジェクト“PRJ”(支援装置20)となることになる。
尚、上記の一例とは逆に、別の支援装置20’の方が支援装置20よりも先にプログラム更新を試みた場合には、その対象が複数のコントローラ10の何れであっても、プログラムを更新する権利があると判定することになる。そして、更新版プログラムや2種類の識別情報を、ダウンロードして保持させることになる。この為、その後に支援装置20が、何れかのコントローラ10に対してプログラム更新を試みても、プログラムを更新する権利が無いと判定することになる。
In this way, the master project of all the controllers 10 becomes the project “PRJ” (support device 20).
Contrary to the above example, when another support device 20 ′ tries to update the program before the support device 20, the program can be executed even if the target is any of the plurality of controllers 10. It is determined that there is a right to update. The updated version program and two types of identification information are downloaded and held. Therefore, even if the support device 20 tries to update the program for any of the controllers 10 thereafter, it is determined that there is no right to update the program.

この様に、任意のプロジェクトに係わる複数台のコントローラ10に対して、1台であっても最初にプログラム更新を試みた支援装置(そのプロジェクト)のみが、このプロジェクトに係わる全てのコントローラ10のマスタプロジェクトとなるように制御される。   In this way, only a support device (that project) that first tried to update the program for a plurality of controllers 10 related to an arbitrary project is the master of all the controllers 10 related to this project. Controlled to be a project.

このように、プロジェクト識別情報を利用することで、任意のプロジェクトに係わる複数のコントローラを管理する場合において、最も最初にオンライン変更を行ったプロジェクトを全コントローラのマスタプロジェクトすることができる。よって、コントローラによってマスタプロジェクトが異なる事態が生じることを防止できる。   In this way, by using the project identification information, when managing a plurality of controllers related to an arbitrary project, the project that has been changed online first can be the master project of all the controllers. Therefore, it is possible to prevent a situation where the master project differs depending on the controller.

支援装置20、20’は、各々、自装置が管理するプロジェクトに係わる全てのプログラム(ソースコード)の新規版や更新版等が、プログラマによって作成されると、これら各プログラム(ソースコード)をコンパイルして、コントローラ10で実行可能な形式に変換する。そして、このコンパイル処理の際に上記各種識別情報を生成して履歴情報に登録する。   Each of the support devices 20 and 20 ′ compiles each program (source code) when a new version or updated version of all programs (source code) related to the project managed by the own device is created by the programmer. Then, it is converted into a format that can be executed by the controller 10. Then, during the compiling process, the various types of identification information are generated and registered in the history information.

このコンパイル処理の際には、図1、図2で説明の通り、固有の識別情報を生成し、それらを世代を含めた履歴情報として管理する処理を、各コントローラに関して行うだけでなく、プロジェクトに関しても行う。   In this compilation process, as described in FIG. 1 and FIG. 2, unique identification information is generated and the process of managing them as history information including generations is performed not only for each controller but also for the project. Also do.

図3に、この様な支援装置におけるコンパイル処理のフローチャート図を示す。
尚、ここでは支援装置20で実行される場合を例にして説明するが、支援装置20’においても略同様の処理が実行されることになる。
FIG. 3 shows a flowchart of compile processing in such a support apparatus.
Here, a case where the processing is executed by the support device 20 will be described as an example, but substantially the same processing is executed also by the support device 20 ′.

上記の通り、自装置が管理するプロジェクトに係わる複数のコントローラ全てのプログラム(新規または更新版)を、プログラマが作成したら、図3の処理を実行する。
これより、まず、自装置が管理するプロジェクトのプロジェクト識別情報(固有の識別情報)を、新たに生成する(ステップS11)。そして、新規のプロジェクトであるか否かを判定する。これは、例えば、このプロジェクトの履歴情報(プロジェクト)22が既に存在するか否かにより判定する。
As described above, when the programmer creates a program (new or updated version) for all of the plurality of controllers related to the project managed by the own apparatus, the processing of FIG. 3 is executed.
Accordingly, first, project identification information (unique identification information) of a project managed by the own apparatus is newly generated (step S11). And it is determined whether it is a new project. This is determined by, for example, whether or not the history information (project) 22 of this project already exists.

もし、このプロジェクトの履歴情報(プロジェクト)22が既に存在する場合には(ステップS12,NO)、この履歴情報(プロジェクト)22に、上記ステップS11で生成したプロジェクト識別情報を追加することで、履歴情報(プロジェクト)22を更新する(ステップS14)。尚、その際、新たな世代を生成して一緒に登録してもよいが、この例に限らない。   If the project history information (project) 22 already exists (step S12, NO), the project identification information generated in step S11 is added to the history information (project) 22 to obtain the history. Information (project) 22 is updated (step S14). At this time, a new generation may be generated and registered together, but the present invention is not limited to this example.

一方、もし、このプロジェクトの履歴情報(プロジェクト)22が無い場合には(ステップS12,YES)、このプロジェクトに応じた履歴情報(プロジェクト)22を新規作成する(ステップS13)。勿論、この新規作成された履歴(プロジェクト)22には上記ステップS11で生成したプロジェクト識別情報が、世代1として登録される。   On the other hand, if there is no history information (project) 22 of this project (step S12, YES), history information (project) 22 corresponding to this project is newly created (step S13). Of course, the project identification information generated in step S11 is registered as the generation 1 in the newly created history (project) 22.

その後は、このプロジェクトに係わる全てのコントローラ10を順次処理対象として、対象コントローラのプログラムのコンパイルと固有のコントローラ識別情報の生成を、繰り返し実行する。すなわち、まず、対象コントローラのプログラムをコンパイルする(ステップS15)。続いて、対象コントローラに対応する固有のコントローラ識別情報を新たに生成すると共に(ステップS16)、このコントローラ識別情報が新規のもの(世代1)であるか否かを判定する(ステップS17)。ステップS17の判定は、例えば、対象コントローラに対応する履歴情報(PLC)21が既に存在するか否かにより判定する。   Thereafter, all the controllers 10 related to this project are sequentially processed, and the compilation of the program of the target controller and the generation of unique controller identification information are repeatedly executed. That is, first, the program of the target controller is compiled (step S15). Subsequently, unique controller identification information corresponding to the target controller is newly generated (step S16), and it is determined whether or not the controller identification information is new (generation 1) (step S17). The determination in step S17 is determined based on, for example, whether or not history information (PLC) 21 corresponding to the target controller already exists.

もし、対象コントローラに対応する履歴情報(PLC)21が存在しないならば(ステップS17,YES)、対象コントローラに対応する履歴情報(PLC)21を新規作成する(ステップS18)。その際、新規作成した履歴情報(PLC)21には、上記ステップS16で生成したコントローラ識別情報を、世代1として登録する。 If the history information (PLC) 21 corresponding to the target controller does not exist (step S17, YES), the history information (PLC) 21 corresponding to the target controller is newly created (step S18). At that time, the history information (PLC) 21 that newly created, the controller identification information generated in step S16, is registered as generation 1.

一方、対象コントローラに対応する履歴情報(PLC)21が既に存在するならば(ステップS17,NO)、新たな世代を決定して、上記ステップS16で生成したコントローラ識別情報を、決定した世代と共に履歴情報(PLC)21に追加することで、履歴情報(PLC)21を更新する(ステップS19)。尚、世代の決定方法は、例えば、履歴情報(PLC)21に登録済みの世代の中で最も大きい世代を判別して、この世代に+インクリメントすることで、決定する。例えば、世代1と世代2と世代3が既に登録済みであるならば、世代4に決定されることになる。   On the other hand, if the history information (PLC) 21 corresponding to the target controller already exists (step S17, NO), a new generation is determined, and the controller identification information generated in step S16 is recorded together with the determined generation. By adding to the information (PLC) 21, the history information (PLC) 21 is updated (step S19). The generation determination method is determined, for example, by determining the largest generation among the generations already registered in the history information (PLC) 21 and incrementing this generation by +. For example, if generation 1, generation 2, and generation 3 are already registered, generation 4 is determined.

そして、上記ステップS15〜ステップS19の処理を、上記プロジェクトに係わる全てのコントローラについて実行したか否かを判定し、未実行のコントローラがある場合には(ステップS20,NO)、ステップS15に戻る。全てのコントローラに関して処理実行完了したら(ステップS20,YES)、本処理を終了する。   Then, it is determined whether or not the processes in steps S15 to S19 have been executed for all the controllers related to the project. If there is an unexecuted controller (NO in step S20), the process returns to step S15. When processing has been completed for all the controllers (step S20, YES), this processing ends.

以上、図3について説明した。
以下、図4について説明する。
図4の処理は、任意のコントローラ10に対して、このコントローラ10のプログラムを当該コントローラ10へダウンロードする際に、実行される処理であり、上記のように、ダウンロード許可されない場合もある。
In the above, FIG. 3 was demonstrated.
Hereinafter, FIG. 4 will be described.
The process of FIG. 4 is a process executed when an arbitrary controller 10 downloads the program of the controller 10 to the controller 10, and as described above, the download may not be permitted.

図4は、支援装置におけるダウンロード処理のフローチャート図である。
まず、最初に、新規ダウンロードであるか否かを判定する(ステップS31)。これは、システムの立ち上げ時等であり、未だコントローラ10にはプログラムが格納されていない状態(よって、識別情報も記憶されていない状態)である場合には、判定結果がYESとなるものである。
FIG. 4 is a flowchart of download processing in the support apparatus.
First, it is determined whether or not it is a new download (step S31). This is, for example, when the system is started up, and when the controller 10 is not yet stored in the program (and thus the identification information is not stored), the determination result is YES. is there.

新規ダウンロードであると判定された場合には(ステップS31,YES)、この対象コントローラ10に対して、この対象コントローラ10用のプログラムをダウンロードして保持させる(ステップS37)。更に、各履歴情報22,21から最新世代の識別情報を取得して、これらを対象コントローラ10にダウンロードして保持させる(ステップS38)。すなわち、履歴情報(プロジェクト)22から最新世代のプロジェクト識別情報を取得すると共に、対象コントローラ10に対応する履歴情報(PLC)21から最新世代のコントローラ識別情報を取得して、これらを対象コントローラ10にダウンロードして保持させる。   If it is determined that it is a new download (step S31, YES), the target controller 10 is downloaded and held for the target controller 10 (step S37). Further, the latest generation identification information is acquired from each of the history information 22 and 21, and these are downloaded and held in the target controller 10 (step S38). That is, the latest generation project identification information is acquired from the history information (project) 22, and the latest generation controller identification information is acquired from the history information (PLC) 21 corresponding to the target controller 10. Download and keep it.

尚、ステップS31がYESの場合に実行されるステップS38の処理では、上記最新世代は世代1となる。ステップS36がYESの場合に実行されるステップS38の処理では、基本的には世代1以外の任意の世代が、そのときの最新世代となっている。   In the process of step S38 executed when step S31 is YES, the latest generation is generation 1. In the process of step S38 executed when step S36 is YES, basically any generation other than generation 1 is the latest generation at that time.

一方、新規ダウンロードではない場合(ステップS31,NO)、すなわち対象コントローラ10には既に何等かのプログラムが格納されており、これに応じた識別情報11、12が保持されている場合には、ステップS32の処理へ移行する。尚、この場合には、基本的には、更新版のプログラムが作成されて、これに応じた図3の処理が既に実行済みの状態であることになる。   On the other hand, if it is not a new download (step S31, NO), that is, if some program has already been stored in the target controller 10 and identification information 11 and 12 corresponding to this is held, step The process proceeds to S32. In this case, basically, an updated version of the program is created, and the process of FIG. 3 corresponding to this is already executed.

ステップS32では、対象コントローラ10からコントローラ識別情報11を読み出す。そして、読み出したコントローラ識別情報11が、対象コントローラ10に対応する履歴情報(PLC)21に存在するか否かを判定する(ステップS33)。そして、存在しない場合には(ステップS33,NO)、自装置は、対象コントローラ10のプログラムを更新する権利が無いと判定することになり、そのまま本処理を終了する。   In step S <b> 32, the controller identification information 11 is read from the target controller 10. Then, it is determined whether or not the read controller identification information 11 exists in the history information (PLC) 21 corresponding to the target controller 10 (step S33). And when it does not exist (step S33, NO), it will determine with the own apparatus having no right to update the program of the object controller 10, and complete | finishes this process as it is.

一方、コントローラ識別情報11が履歴情報(PLC)21に存在する場合には(ステップS33,YES)、更に、対象コントローラ10に記憶されているプロジェクト識別情報群12を取得する。そして、このプロジェクト識別情報群12に含まれる各プロジェクト識別情報を順次読み出して(ステップS34)、当該読み出したプロジェクト識別情報が履歴情報(プロジェクト)22に存在するか否かを判定する(ステップS35)。もし、存在しないならば(ステップS35,NO)、自装置は、対象コントローラ10のプログラムを更新する権利が無いと判定することになり、そのまま本処理を終了する。一方、存在するならば(ステップS35,YES)、上記プロジェクト識別情報群12に含まれる全てのプロジェクト識別情報についてステップS35の判定処理を実行したか否かを判定し(ステップS36)、未処理のプロジェクト識別情報が残っている場合には(ステップS36,NO)ステップS34に戻る。   On the other hand, when the controller identification information 11 exists in the history information (PLC) 21 (step S33, YES), the project identification information group 12 stored in the target controller 10 is further acquired. Then, the project identification information included in the project identification information group 12 is sequentially read (step S34), and it is determined whether or not the read project identification information exists in the history information (project) 22 (step S35). . If it does not exist (step S35, NO), the device itself determines that it does not have the right to update the program of the target controller 10, and ends this processing as it is. On the other hand, if it exists (step S35, YES), it is determined whether or not the determination processing of step S35 has been executed for all project identification information included in the project identification information group 12 (step S36), and unprocessed. If project identification information remains (step S36, NO), the process returns to step S34.

一方、上記プロジェクト識別情報群12に含まれる全てのプロジェクト識別情報についてステップS35の判定処理を実行した場合には(ステップS36,YES)、これは当該全てのプロジェクト識別情報が、履歴情報(プロジェクト)22に存在したことになる。従って、上記ステップS33の判定がYESとなったことと併せて、自装置は、対象コントローラ10のプログラムを更新する権利が有ると判定する。よって、この場合には、上記ステップS37、S38の処理を実行することになる。   On the other hand, when the determination process of step S35 has been executed for all the project identification information included in the project identification information group 12 (step S36, YES), this means that all the project identification information includes history information (project). 22 would have existed. Accordingly, in conjunction with the determination in step S33 being YES, the own apparatus determines that it has the right to update the program of the target controller 10. Therefore, in this case, the processes in steps S37 and S38 are executed.

この場合には、ステップS37では、上記作成された更新版のプログラムを対象コントローラ10にダウンロードしてプログラム更新させることになる。また、ステップS38では、履歴情報(プロジェクト)22から最新世代のプロジェクト識別情報を取得すると共に、対象コントローラ10に関する履歴情報(PLC)21から最新世代のコントローラ識別情報を取得して、これらを対象コントローラ10にダウンロードすることになる。   In this case, in step S37, the created updated program is downloaded to the target controller 10 and the program is updated. In step S38, the latest generation project identification information is acquired from the history information (project) 22, and the latest generation controller identification information is acquired from the history information (PLC) 21 related to the target controller 10, and these are stored in the target controller. 10 will be downloaded.

この様にして、コントローラのプログラムのオンライン変更を実現する。
ここで、図5(a)、(b)を参照して、上記プロジェクト識別情報群12の格納・管理方法について説明する。
In this manner, online change of the controller program is realized.
Here, a method for storing and managing the project identification information group 12 will be described with reference to FIGS.

既に上述した一例ではコモンメモリ方式を用いる例を説明しており、図5(a)はコモンメモリ方式について説明する為の図である。但し、これについては上記参考文献等で説明されているので、ここでは簡単に説明する。   In the example described above, an example using the common memory system has been described. FIG. 5A is a diagram for explaining the common memory system. However, since this has been described in the above-mentioned references, it will be briefly described here.

図5(a)に示すように、コモンメモリのメモリ空間には、予め各コントローラ10毎に固有の記憶領域が割当てられている。ここでは、簡単の為に、図示のPLC1とPLC2とを例にし、図示のようにコモンメモリにおいてPLC1用の記憶領域、PLC2用の記憶領域が割当てられているものとする。   As shown in FIG. 5A, a unique storage area is assigned to each controller 10 in advance in the memory space of the common memory. Here, for the sake of simplicity, the illustrated PLC 1 and PLC 2 are taken as an example, and it is assumed that a storage area for PLC 1 and a storage area for PLC 2 are allocated in the common memory as illustrated.

PLC1は、自己のコモンメモリにおける上記PLC1用の記憶領域の格納データを、随時、任意に更新できる。また、PLC1が備えるコモンメモリ方式に係わる通信機能は、例えば定期的に、自己のコモンメモリの上記PLC1用の記憶領域の格納データを、ネットワーク上にブロードキャスト送信する。これより、このデータを受信したPLC2の通信機能は、この受信データを自己のコモンメモリの上記PLC1用の記憶領域に上書き記憶する。   The PLC 1 can arbitrarily update the data stored in the storage area for the PLC 1 in its own common memory. In addition, the communication function related to the common memory system included in the PLC 1 periodically broadcasts data stored in the storage area for the PLC 1 of its own common memory over the network. Thus, the communication function of the PLC 2 that has received this data overwrites and stores this received data in the storage area for the PLC 1 in its own common memory.

PLC2も、自己のコモンメモリにおける上記PLC2用の記憶領域の格納データを、随時、任意に更新できる。また、PLC2が備えるコモンメモリ方式に係わる通信機能は、例えば定期的に、自己のコモンメモリの上記PLC2用の記憶領域の格納データを、ネットワーク上にブロードキャスト送信する。これより、このデータを受信したPLC1の通信機能は、この受信データを自己のコモンメモリの上記PLC2用の記憶領域に上書き記憶する。   The PLC 2 can also arbitrarily update the data stored in the storage area for the PLC 2 in its own common memory. In addition, the communication function related to the common memory system provided in the PLC 2 periodically broadcasts data stored in the storage area for the PLC 2 of its own common memory over the network. Thus, the communication function of the PLC 1 that has received this data overwrites and stores this received data in the storage area for the PLC 2 of its own common memory.

この様にしてコントローラ10間で相互にデータ交換を行うことで、全てのコントローラ10のコモンメモリの格納内容が、同じとなるように制御できる。つまり、全てのコモンメモリには、その時点での全てのコントローラ10が各々保持するプロジェクト識別情報が、格納された状態となる。   By exchanging data between the controllers 10 in this manner, the contents stored in the common memory of all the controllers 10 can be controlled to be the same. That is, the project identification information held by all the controllers 10 at that time is stored in all the common memories.

上記のように、コモンメモリのメモリ空間を分割し、コントローラ毎に占有する領域が定義されている。そして、自コントローラが占有する領域に対しては読み書きが可能であり、その他の領域に対しては読出しのみ可能な構成となっている。   As described above, an area occupied by each controller is defined by dividing the memory space of the common memory. The area occupied by the controller can be read and written, and the other areas can only be read.

尚、例えば、各コントローラのコモンメモリ上の記憶領域(割当領域)の先頭アドレスを、コモンメモリの先頭領域からのオフセットの形で支援装置側に予め登録しておくことも可能である。これより、支援装置は、上記オフセットを指定することで、ダウンロード対象のコントローラ10のコモンメモリから、所望のコントローラ10のプロジェクト識別情報を取得することができる。   For example, it is also possible to register the head address of the storage area (allocation area) on the common memory of each controller in advance on the support device side in the form of an offset from the head area of the common memory. From this, the support apparatus can acquire the project identification information of the desired controller 10 from the common memory of the controller 10 to be downloaded by designating the offset.

上記図5(a)は、各コントローラ10がネットワークに接続された構成を前提とするが、例えば同一バス上に複数のコントローラが存在する場合もある。つまり、例えば図5(b)に示すように、複数のコントローラ(そのCPUモジュール)が1つのユニット内に設けられており、このユニット内の同一バス上に上記複数のCPUモジュールが設けられた構成が、従来より知られている。そして、従来より、この様なユニット内で、各CPUモジュールは、自己のメモリ領域は当然として、他のCPUモジュールのメモリ領域にもバスを介してアクセスできる。これは、予め決められているコントローラ番号を用いて、任意のCPUモジュールのメモリ領域にアクセスできる。   FIG. 5A assumes a configuration in which each controller 10 is connected to a network. However, for example, there may be a plurality of controllers on the same bus. That is, for example, as shown in FIG. 5B, a plurality of controllers (the CPU modules thereof) are provided in one unit, and the plurality of CPU modules are provided on the same bus in the unit. However, it is conventionally known. Conventionally, in such a unit, each CPU module can access the memory areas of other CPU modules as well as its own memory area via a bus. This can access a memory area of an arbitrary CPU module by using a predetermined controller number.

上記図5(b)の構成の場合、各コントローラ(CPUモジュール)は、支援装置からダウンロードされた更新版プログラム、プロジェクト識別情報等を、自己のメモリ領域に格納する。支援装置は、上記各コントローラ番号を用いて、各コントローラのメモリ領域からプロジェクト識別情報等を読み出すことができる。   In the case of the configuration shown in FIG. 5B, each controller (CPU module) stores the updated version program, project identification information, etc. downloaded from the support apparatus in its own memory area. The support apparatus can read project identification information and the like from the memory area of each controller using each controller number.

但し、本手法では、支援装置が、全てのコントローラ10が現在保持しているプロジェクト識別情報を取得できればよいので、必ずしも上記図5(a)、(b)等のように構成する必要はない。例えば、各コントローラ10は、コントローラ識別情報と同じく、単に自装置にダウンロードされたプロジェクト識別情報のみを記憶するようにしてもよい。但し、この場合には、支援装置20は、上記ステップS34〜S36の処理を行う為には、全てのコントローラ10と通信して、そのコントローラ10が現在保持しているプロジェクト識別情報を取得することになる。つまり、支援装置20の通信処理負荷等が増大することになる。しかし、例えばこの様な方法であっても上記ステップS34〜S36の処理を実現出来るので、必ずしもコモンメモリ方式を用いる必要はない。 However, in this method, support device, since it can acquire a project identification information all of the controllers 10 is currently held, necessarily FIG 5 (a), it is not necessary to configure the like (b) . For example, each controller 10, as well as the controller identification information, simply may be stored only project identification information downloaded to the own device. However, in this case, support device 20, in order to perform the process of step S34~S36 communicates with all of the controller 10 obtains the project identification information that controller 10 currently held It will be. That is, the communication processing load of the support device 20 increases. However, for example, even with such a method, the processing of steps S34 to S36 can be realized, and therefore it is not always necessary to use the common memory system.

以上説明したように、本例のプログラマブルコントローラシステムは、支援装置で、複数のコントローラをまとめてひとつのプロジェクトとして管理するシステムにおいて、各コントローラでマスタプロジェクトが異なることになる事態となることを防止できる。これによって、オンライン変更によるプログラム更新を正常に継続させることができる。プロジェクトの管理の効率化とそれによる操作ミスの防止が期待できるという効果を有する。   As described above, the programmable controller system of this example can prevent the master project from being different in each controller in a system in which a plurality of controllers are managed as a single project by the support device. . Thereby, the program update by online change can be continued normally. It has the effect that it can be expected to improve the efficiency of project management and to prevent operation errors.

本例のプログラマブルコントローラシステム等によれば、複数のコントローラを纏めてひとつのプロジェクトとして管理した場合においても、マスタプロジェクトがコントローラ毎に別々にならず、プロジェクト単位でプログラム更新を行うことが保証できる。   According to the programmable controller system or the like of this example, even when a plurality of controllers are managed as a single project, it is possible to guarantee that the master project is not separated for each controller and that the program is updated in units of projects.

図6は、本例のプログラマブルコントローラシステムの機能ブロック図である。
本例のプログラマブルコントローラシステムは、支援装置20(20’)とプログラマブルコントローラ10とがネットワークに接続されており、該支援装置20(20’)が、任意のプロジェクトに係わる複数のプログラマブルコントローラ10用の各プログラムを管理するシステムであって、図示の各構成を有する。尚、以下の説明では、支援装置20を例にするが、他の支援装置(20’)等も支援装置20と同様の処理動作を行うものである。
FIG. 6 is a functional block diagram of the programmable controller system of this example.
In the programmable controller system of this example, the support device 20 (20 ′) and the programmable controller 10 are connected to a network, and the support device 20 (20 ′) is used for a plurality of programmable controllers 10 related to an arbitrary project. A system for managing each program, which has each configuration shown in the figure. In the following description, the support device 20 is taken as an example, but other support devices (20 ′) and the like perform processing operations similar to those of the support device 20.

支援装置20は、プロジェクト履歴を記憶するプロジェクト履歴記憶部51、プログラマブルコントローラ10毎に対応するコントローラ履歴を記憶するコントローラ履歴記憶部52を有する。支援装置20は、更に、コンパイル部53、ダウンロード部54の各種機能部も有する。   The support device 20 includes a project history storage unit 51 that stores a project history, and a controller history storage unit 52 that stores a controller history corresponding to each programmable controller 10. The support device 20 further includes various functional units such as a compiling unit 53 and a downloading unit 54.

コンパイル部53は、任意のプロジェクトに係わる上記各プログラムの更新版が作成される毎に、一意のプロジェクト識別情報を生成して上記プロジェクト履歴に追加登録する。更に、上記各更新版プログラムに係わる各プログラマブルコントローラ10毎に、一意のコントローラ識別情報を生成して対応する上記コントローラ履歴に追加登録する。   Each time an updated version of each program related to an arbitrary project is created, the compiling unit 53 generates unique project identification information and additionally registers it in the project history. Further, unique controller identification information is generated for each programmable controller 10 related to each updated version program and additionally registered in the corresponding controller history.

尚、コンパイル部53は、上記各プログラム(ソースコード)をコンパイルしてプログラマブルコントローラ10で実行可能な形式(機械語オブジェクト)に変換する処理も行う。逐一述べないが、プログラマブルコントローラ10にダウンロードするプログラムは、ソースコードではなく、機械語オブジェクトである。   The compiling unit 53 also compiles each program (source code) and converts it into a format (machine language object) that can be executed by the programmable controller 10. Although not described one by one, the program downloaded to the programmable controller 10 is not a source code but a machine language object.

ダウンロード部54は、各プログラマブルコントローラ10に対して、そのプログラマブルコントローラ10用の上記更新版プログラムをダウンロードする機能部であって、そのプログラマブルコントローラ10のプログラムを更新する権利を有すると判定した場合に、そのプログラマブルコントローラ10に対して、該プログラマブルコントローラ10に対応する上記生成されたコントローラ識別情報と、上記生成したプロジェクト識別情報と、上記更新版プログラムとをダウンロードする。   The download unit 54 is a functional unit that downloads the updated version program for the programmable controller 10 to each programmable controller 10, and determines that the download unit 54 has the right to update the program of the programmable controller 10. The generated controller identification information corresponding to the programmable controller 10, the generated project identification information, and the updated version program are downloaded to the programmable controller 10.

各プログラマブルコントローラ10は、自装置用のプログラムを記憶するプログラム記憶部61、コントローラ識別情報を記憶するコントローラ識別情報記憶部62、プロジェクト識別情報を記憶するプロジェクト識別情報記憶部63を有する。   Each programmable controller 10 includes a program storage unit 61 that stores a program for its own device, a controller identification information storage unit 62 that stores controller identification information, and a project identification information storage unit 63 that stores project identification information.

各プログラマブルコントローラ10は、更に、上記ダウンロード部54によってダウンロードされた上記更新版プログラムとコントローラ識別情報とプロジェクト識別情報とによって、上記プログラム記憶部61と上記コントローラ識別情報記憶部62と上記プロジェクト識別情報記憶部63の各記憶内容を更新する管理部64も有する。   Each programmable controller 10 further includes the program storage unit 61, the controller identification information storage unit 62, and the project identification information storage in accordance with the updated version program, the controller identification information, and the project identification information downloaded by the download unit 54. A management unit 64 that updates the storage contents of the unit 63 is also provided.

そして、支援装置20の上記ダウンロード部54は、ダウンロード対象のプログラマブルコントローラ10における上記コントローラ識別情報記憶部62と上記プロジェクト識別情報記憶部63と、上記プロジェクト履歴とコントローラ履歴とに基づいて、ダウンロード対象のプログラマブルコントローラ10のプログラムを更新する権利の有無の判定を行う。   Then, the download unit 54 of the support device 20 is based on the controller identification information storage unit 62, the project identification information storage unit 63, and the project history and controller history in the programmable controller 10 to be downloaded. It is determined whether or not there is a right to update the program of the programmable controller 10.

そして、例えば、支援装置20の上記ダウンロード部54は、上記ダウンロード対象のプログラマブルコントローラ10における上記コントローラ識別情報記憶部62に記憶されているコントローラ識別情報が、そのプログラマブルコントローラに対応する上記コントローラ履歴に存在し、且つ、全てのプログラマブルコントローラの現在のプロジェクト識別情報が上記プロジェクト履歴に存在すると判定した場合に、そのプログラマブルコントローラのプログラムを更新する権利を有すると判定する。   For example, the download unit 54 of the support device 20 includes the controller identification information stored in the controller identification information storage unit 62 in the programmable controller 10 to be downloaded in the controller history corresponding to the programmable controller. And when it determines with the present project identification information of all the programmable controllers existing in the said project history, it determines with having the right to update the program of the programmable controller.

また、例えば、上記プロジェクト識別情報記憶部63には、任意のプロジェクトに係わる複数のプログラマブルコントローラ10全てについての上記ダウンロードされたプロジェクト識別情報が、プロジェクト識別情報群として記憶されている。そして、支援装置20の上記ダウンロード部54は、上記ダウンロード対象のプログラマブルコントローラ10における上記プロジェクト識別情報記憶部63を参照することで、上記全てのプログラマブルコントローラ10の現在のプロジェクト識別情報が上記プロジェクト履歴に存在するか否かの判定を行うものである。   Further, for example, the downloaded project identification information for all the plurality of programmable controllers 10 related to an arbitrary project is stored in the project identification information storage unit 63 as a project identification information group. The download unit 54 of the support device 20 refers to the project identification information storage unit 63 in the downloadable programmable controller 10 so that the current project identification information of all the programmable controllers 10 is included in the project history. It is determined whether or not it exists.

例えば、上記プロジェクト識別情報記憶部63には、コモンメモリ方式によって、上記プロジェクト識別情報群が格納・更新されるものである。この例については、図1、図2等で説明してある。   For example, the project identification information storage unit 63 stores and updates the project identification information group by a common memory method. This example has been described with reference to FIGS.

また、支援装置20は、上記各プログラムを任意に作成させる機能部であって、特に既存のプログラムを編集させることで該プログラムの更新版を作成させるプログラム作成支援部55を、更に有する。   The support apparatus 20 further includes a program creation support unit 55 that is a functional unit that arbitrarily creates each of the above-described programs, and that creates an updated version of the program by editing an existing program.

但し、これらの例に限らない。
ここで、支援装置20は例えばパソコン等であり、特に図示しないが例えば一般的なパソコンの構成を有している。すなわち、不図示のCPU/MPU等の演算プロセッサ、ハードディスク/メモリ等の記憶装置、通信機能部などを有している。上記記憶装置には、予め所定のアプリケーションプログラムが格納されている。このアプリケーションプログラムを、上記演算プロセッサが実行することで、上記図1、図2で説明した支援装置20(20’)の動作、図3や図4のフローチャート図の処理、図6に示す支援装置20の各種機能部の処理機能等が、実現される。
However, it is not restricted to these examples.
Here, the support device 20 is a personal computer, for example, and has a configuration of a general personal computer, for example, although not particularly illustrated. That is, it includes an arithmetic processor such as a CPU / MPU (not shown), a storage device such as a hard disk / memory, a communication function unit, and the like. A predetermined application program is stored in the storage device in advance. When the arithmetic processor executes this application program, the operation of the support device 20 (20 ′) described with reference to FIGS. 1 and 2, the processing of the flowcharts of FIGS. 3 and 4, the support device illustrated in FIG. The processing functions and the like of the 20 various functional units are realized.

また、コントローラ10も、一般的なプログラマブルコントローラ(PLC)の構成を有している。すなわち、不図示のCPU/MPU等の演算プロセッサ、メモリ等の記憶部、通信機能部などを有している。上記記憶部には、予め所定のアプリケーションプログラムが格納されている。このアプリケーションプログラムを、上記演算プロセッサが実行することで、上記図1、図2で説明したコントローラ10の動作、図6に示すコントローラ10の各種機能部の処理機能等が、実現される。   The controller 10 also has a general programmable controller (PLC) configuration. That is, it has an arithmetic processor (not shown) such as a CPU / MPU, a storage unit such as a memory, a communication function unit, and the like. A predetermined application program is stored in the storage unit in advance. By executing the application program by the arithmetic processor, the operation of the controller 10 described with reference to FIGS. 1 and 2 and the processing functions of various functional units of the controller 10 illustrated in FIG. 6 are realized.

なお、以上の説明ではコントロールシステムの中核機能(プログラマブルコントロール装置)を実現するものとしてプログラマブルコントローラ(PLC)を例に説明したが、それに限ることはなく、例えばDCS(Distributed Control System:分散型制御システム或いは分散型制御装置)で実現してもよい。一般的なFA(Factory Automation)システムではPLCが用いられることが多く、さらに高信頼性を要求されるプラント設備ではDCSが用いられることが多い。本発明のプログラマブルコントロール装置は、PLCであってもよく、DCSであってもよい。   In the above description, the programmable controller (PLC) has been described as an example for realizing the core function (programmable control device) of the control system. However, the present invention is not limited to this, for example, DCS (Distributed Control System). Alternatively, it may be realized by a distributed control device. In a general FA (Factory Automation) system, a PLC is often used, and a DCS is often used in a plant facility that requires high reliability. The programmable control device of the present invention may be a PLC or a DCS.

上記のように、本発明は、プログラマブルコントロール装置を有するコントロールシステムに係わるものであり、上記プログラマブルコントローラ(コントローラ10)を有するプログラマブルコントローラシステムは、その一例であり、この例に限らない。プログラマブルコントロール装置を有するコントロールシステムの他の例として、DCSを有するシステム等であってよい。   As described above, the present invention relates to a control system having a programmable control device, and the programmable controller system having the programmable controller (controller 10) is one example, and is not limited to this example. Another example of a control system having a programmable control device may be a system having a DCS.

この例に限らず、プログラマブルコントロール装置は、所定の制御ロジックをプログラマブルに構成できる装置であれば何でも良く、一例がPLCやDCSであるが、それ以外でも例えばパソコンでも実現可能である。   The programmable control device is not limited to this example, and any programmable control device can be used as long as the predetermined control logic can be configured. One example is PLC or DCS, but other devices such as a personal computer can be realized.

1 ネットワーク
10 コントローラ(PLC)
11 コントローラ識別
12 プロジェクト識別情報群
20 支援装置
21 履歴情報(プロジェクト)
22 履歴情報(PLC)
51 プロジェクト履歴記憶部
52 コントローラ履歴記憶部
53 コンパイル部
54 ダウンロード部
55 プログラム作成支援部
61 プログラム記憶部
62 コントローラ識別情報記憶部
63 プロジェクト識別情報記憶部
64 管理部
1 Network 10 Controller (PLC)
11 Controller identification 12 Project identification information group 20 Support device 21 History information (project)
22 History information (PLC)
51 Project History Storage Unit 52 Controller History Storage Unit 53 Compile Unit 54 Download Unit 55 Program Creation Support Unit 61 Program Storage Unit 62 Controller Identification Information Storage Unit 63 Project Identification Information Storage Unit 64 Management Unit

Claims (7)

支援装置とプログラマブルコントロール装置とがネットワークに接続されており、該支援装置が、相互に連携して動作する複数のプログラマブルコントロール装置用の各プログラムを纏めて1つのプロジェクトとして管理するシステムであって、
前記支援装置は、
管理するプロジェクトを識別するための一意のプロジェクト識別情報の履歴をプロジェクト履歴として記憶するプロジェクト履歴記憶手段と、
前記プログラマブルコントロール装置毎に、該プログラマブルコントロール装置を識別するための一意のコントローラ識別情報の履歴をコントローラ履歴として記憶するコントローラ履歴記憶手段と、
前記プロジェクトに係わる前記各プログラムの更新版が作成される毎に、該プロジェクトを識別するための一意のプロジェクト識別情報を生成して前記プロジェクト履歴に追加登録すると共に、前記各更新版プログラムに係わる各プログラマブルコントロール装置毎に、該プログラマブルコントロール装置を識別するための一意のコントローラ識別情報を生成して対応する前記コントローラ履歴に追加登録するコンパイル手段と、
前記各プログラマブルコントロール装置に対して、そのプログラマブルコントロール装置用の前記更新版プログラムをダウンロードする手段であって、そのプログラマブルコントロール装置のプログラムを更新する権利を有すると判定した場合に、そのプログラマブルコントロール装置に対して、該プログラマブルコントロール装置に対応する前記生成されたコントローラ識別情報と、前記生成したプロジェクト識別情報と、前記更新版プログラムとをダウンロードするダウンロード手段とを有し、
前記各プログラマブルコントロール装置は、
自装置用の前記プログラムを記憶するプログラム記憶手段と、
コントローラ識別情報を記憶するコントローラ識別情報記憶手段と、
プロジェクト識別情報を記憶するプロジェクト識別情報記憶手段と、
前記ダウンロード手段によってダウンロードされた前記更新版プログラムと前記コントローラ識別情報と前記プロジェクト識別情報とによって、前記プログラム記憶手段と前記コントローラ識別情報記憶手段と前記プロジェクト識別情報記憶手段の各記憶内容を更新する管理手段とを有し、
前記支援装置の前記ダウンロード手段は、ダウンロード対象のプログラマブルコントロール装置における前記コントローラ識別情報記憶手段及び前記プロジェクト識別情報記憶手段にそれぞれ記憶された前記コントローラ識別情報及び前記プロジェクト識別情報と、前記プロジェクト履歴記憶手段及び前記コントローラ履歴記憶手段にそれぞれ記憶された前記プロジェクト履歴及び前記コントローラ履歴とに基づいて、前記プログラムを更新する権利の有無の判定を行うことを特徴とするコントロールシステム。
A support device and a programmable control device are connected to a network, and the support device collectively manages each program for a plurality of programmable control devices operating in cooperation with each other as a project ,
The support device includes:
A project history storage means for storing a history of unique project identification information for identifying a project to be managed as a project history;
Controller history storage means for storing a history of unique controller identification information for identifying the programmable control device as a controller history for each programmable control device;
Each time an updated version of each program related to the project is created , unique project identification information for identifying the project is generated and additionally registered in the project history. Compile means for generating unique controller identification information for identifying the programmable control device for each programmable control device and additionally registering it in the corresponding controller history;
For each of the programmable control devices, when the program is a means for downloading the updated version program for the programmable control device and it is determined that it has the right to update the program of the programmable control device, the programmable control device On the other hand, it has download means for downloading the generated controller identification information corresponding to the programmable control device, the generated project identification information, and the updated version program,
Each of the programmable control devices is
Program storage means for storing the program for its own device;
Controller identification information storage means for storing controller identification information;
Project identification information storage means for storing project identification information;
By said update program downloaded to the controller identification information and the project identification information by the downloading means, the management for updating the respective storage contents of said program storage means and the controller identification information storage means and the project identification information storage unit Means,
The download unit of the support device includes the controller identification information and the project identification information stored in the controller identification information storage unit and the project identification information storage unit in the programmable control device to be downloaded, and the project history storage unit, respectively. And a control system for determining whether or not there is a right to update the program, based on the project history and the controller history stored in the controller history storage unit, respectively .
前記支援装置の前記ダウンロード手段は、前記ダウンロード対象のプログラマブルコントロール装置における前記コントローラ識別情報記憶手段に記憶されているコントローラ識別情報が、そのプログラマブルコントロール装置に対応する前記コントローラ履歴に存在し、且つ、全てのプログラマブルコントロール装置の現在の前記プロジェクト識別情報が前記プロジェクト履歴に存在すると判定した場合に、そのプログラマブルコントロール装置のプログラムを更新する権利を有すると判定することを特徴とする請求項1記載のコントロールシステム。   The download unit of the support device includes the controller identification information stored in the controller identification information storage unit in the downloadable programmable control device in the controller history corresponding to the programmable control device, and all 2. The control system according to claim 1, wherein when it is determined that the current project identification information of the programmable control device is present in the project history, it is determined that the program has a right to update the program of the programmable control device. . 前記プロジェクト識別情報記憶手段には、前記プロジェクトに係わる複数のプログラマブルコントロール装置全てについての前記ダウンロードされたプロジェクト識別情報が、プロジェクト識別情報群として記憶されており、
前記支援装置の前記ダウンロード手段は、前記ダウンロード対象のプログラマブルコントロール装置における前記プロジェクト識別情報記憶手段を参照することで、前記全てのプログラマブルコントロール装置の現在の前記プロジェクト識別情報が前記プロジェクト履歴に存在するか否かの判定を行うことを特徴とする請求項2記載のコントロールシステム。
Wherein the project identification information storage means, said downloaded project identification information about all previous plurality of programmable control device according to Kipu project is, is stored as a project identification information group,
The download unit of the support device refers to the project identification information storage unit in the programmable control device to be downloaded, so that the current project identification information of all the programmable control devices exists in the project history. The control system according to claim 2, wherein determination is made as to whether or not.
前記プロジェクト識別情報記憶手段には、コモンメモリ方式によって、前記プロジェクト識別情報群が格納・更新されることを特徴とする請求項3記載のコントロールシステム。   4. The control system according to claim 3, wherein the project identification information storage unit stores and updates the project identification information group by a common memory method. 前記支援装置は、前記各プログラムを任意に作成させる手段であって、既存のプログラムを編集させることで該プログラムの更新版を作成させるプログラム作成支援手段を、更に有することを特徴とする請求項1〜4の何れかに記載のコントロールシステム。   The said support apparatus is a means to create each said program arbitrarily, Comprising: The program creation assistance means to create the updated version of this program by editing an existing program is characterized by the above-mentioned. The control system in any one of -4. 支援装置とプログラマブルコントロール装置とがネットワークに接続されており、該支援装置が、相互に連携して動作する複数のプログラマブルコントロール装置用の各プログラムを纏めて1つのプロジェクトとして管理するシステムにおける前記支援装置であって、
管理するプロジェクトを識別するための一意のプロジェクト識別情報の履歴をプロジェクト履歴として記憶するプロジェクト履歴記憶手段と、
前記プログラマブルコントロール装置毎に、該プログラマブルコントロール装置を識別するための一意のコントローラ識別情報の履歴をコントローラ履歴として記憶するコントローラ履歴記憶手段と、
前記プロジェクトに係わる前記各プログラムの更新版が作成される毎に、該プロジェクトを識別するための一意のプロジェクト識別情報を生成して前記プロジェクト履歴に追加登録すると共に、前記各更新版プログラムに係わる各プログラマブルコントロール装置毎に、該プログラマブルコントロール装置を識別するための一意のコントローラ識別情報を生成して対応する前記コントローラ履歴に追加登録するコンパイル手段と、
前記各プログラマブルコントロール装置に対して、そのプログラマブルコントロール装置用の前記更新版プログラムをダウンロードする手段であって、そのプログラマブルコントロール装置のプログラムを更新する権利を有すると判定した場合に、そのプログラマブルコントロール装置に対して、該プログラマブルコントロール装置に対応する前記生成されたコントローラ識別情報と、前記生成したプロジェクト識別情報と、前記更新版プログラムとをダウンロードするダウンロード手段とを有し、
該ダウンロード手段は、ダウンロード対象のプログラマブルコントロール装置側で保持している前記コントローラ識別情報及び前記プロジェクト識別情報と、前記プロジェクト履歴及び前記コントローラ履歴とに基づいて、前記ダウンロード対象のプログラマブルコントロール装置のプログラムを更新する権利の有無の判定を行うことを特徴とするコントロールシステムの支援装置。
The support device in a system in which a support device and a programmable control device are connected to a network, and the support device collectively manages each program for a plurality of programmable control devices operating in cooperation with each other. Because
A project history storage means for storing a history of unique project identification information for identifying a project to be managed as a project history;
Controller history storage means for storing a history of unique controller identification information for identifying the programmable control device as a controller history for each programmable control device;
Each time an updated version of each program related to the project is created , unique project identification information for identifying the project is generated and additionally registered in the project history. For each programmable control device, compiling means for generating unique controller identification information for identifying the programmable control device and additionally registering it in the corresponding controller history;
For each of the programmable control devices, when the program is a means for downloading the updated version program for the programmable control device and it is determined that it has the right to update the program of the programmable control device, the programmable control device On the other hand, it has download means for downloading the generated controller identification information corresponding to the programmable control device, the generated project identification information, and the updated version program,
The download device, said controller identification information and the project identification information held in the programmable control device side to be downloaded, on the basis of the said Project History and the controller history, the downloaded programmable control device program A control system support apparatus for determining whether or not there is a right to update the system.
支援装置とプログラマブルコントロール装置とがネットワークに接続されており、該支援装置が、相互に連携して動作する複数のプログラマブルコントロール装置用の各プログラムを纏めて1つのプロジェクトとして管理するシステムにおける前記プログラマブルコントロール装置であって、
自装置用の前記プログラムを記憶するプログラム記憶手段と、
自装置を識別するための一意のコントローラ識別情報を記憶するコントローラ識別情報記憶手段と、
前記支援装置が管理するプロジェクトを識別するための一意のプロジェクト識別情報を記憶するプロジェクト識別情報記憶手段と、
前記支援装置側で前記コントローラ識別情報記憶手段と前記プロジェクト識別情報記憶手段の記憶内容に基づいて前記プログラムを更新する権利を有すると判定された場合に該支援装置からダウンロードされる、更新版プログラムと新たなコントローラ識別情報と新たなプロジェクト識別情報とによって、前記プログラム記憶手段と前記コントローラ識別情報記憶手段と前記プロジェクト識別情報記憶手段の各記憶内容を更新する管理手段と、
を有することを特徴とするプログラマブルコントロール装置。
The programmable control in a system in which a support device and a programmable control device are connected to a network, and the support device collectively manages each program for a plurality of programmable control devices operating in cooperation with each other as one project A device,
Program storage means for storing the program for its own device;
Controller identification information storage means for storing unique controller identification information for identifying the device itself ;
Project identification information storage means for storing unique project identification information for identifying a project managed by the support device ;
An updated version program downloaded from the support device when it is determined that the support device has the right to update the program based on the storage contents of the controller identification information storage means and the project identification information storage means; Management means for updating each storage content of the program storage means, the controller identification information storage means, and the project identification information storage means with new controller identification information and new project identification information,
A programmable control device comprising:
JP2014238203A 2014-11-25 2014-11-25 Control system, its support device, programmable control device Active JP6455096B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014238203A JP6455096B2 (en) 2014-11-25 2014-11-25 Control system, its support device, programmable control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014238203A JP6455096B2 (en) 2014-11-25 2014-11-25 Control system, its support device, programmable control device

Publications (2)

Publication Number Publication Date
JP2016099899A JP2016099899A (en) 2016-05-30
JP6455096B2 true JP6455096B2 (en) 2019-01-23

Family

ID=56077238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014238203A Active JP6455096B2 (en) 2014-11-25 2014-11-25 Control system, its support device, programmable control device

Country Status (1)

Country Link
JP (1) JP6455096B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6529680B1 (en) 2018-03-02 2019-06-12 三菱電機株式会社 Data management system, data management method and data management program
JP7446537B1 (en) 2023-03-14 2024-03-08 三菱電機株式会社 Programmable logic controller, control method and program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784767A (en) * 1993-09-16 1995-03-31 Fujitsu Ltd Device and method for managing generation among processors in plural processor systems
JP3751536B2 (en) * 2001-04-02 2006-03-01 株式会社東芝 Data transmission equipment
JP4865634B2 (en) * 2007-05-14 2012-02-01 株式会社キーエンス Program editing support apparatus, computer program, program editing support method, and PLC system
JP2011113198A (en) * 2009-11-25 2011-06-09 Koyo Electronics Ind Co Ltd Program protection method using password
US20110208324A1 (en) * 2010-02-25 2011-08-25 Mitsubishi Electric Corporation Sysyem, method, and apparatus for maintenance of sensor and control systems
JP5464027B2 (en) * 2010-04-15 2014-04-09 三菱電機株式会社 Network parameter automatic setting program and peripheral device of programmable controller
JP2012141722A (en) * 2010-12-28 2012-07-26 Mitsubishi Electric Corp Setting device
JP5786386B2 (en) * 2011-03-15 2015-09-30 オムロン株式会社 Programmable controller system, tool device, tool program and recording medium, and programmable controller
JP5957936B2 (en) * 2012-02-15 2016-07-27 富士電機株式会社 Programmable controller system, its support device, program

Also Published As

Publication number Publication date
JP2016099899A (en) 2016-05-30

Similar Documents

Publication Publication Date Title
EP3059647B1 (en) Techniques for improving industrial control systems
US10705500B2 (en) Support device, method, and recording medium for simplifying control program changing operation
US20170075335A1 (en) Controller and control system
JP6866663B2 (en) Programmable controller system, programmable controller, support device, HCI device, redundant programmable controller system
US11068257B2 (en) Method for processing a software project
JP6292096B2 (en) Programmable controller system and its support device
JP6455096B2 (en) Control system, its support device, programmable control device
JP5849592B2 (en) Programmable controller system, programming device thereof, programmable controller, program, and debugging method
CN107621946B (en) Software development method, device and system
JP6135247B2 (en) Information processing apparatus and information processing program
JP6119452B2 (en) Programmable controller system, its support device, programmable controller, program
JP6299095B2 (en) Shared data definition support system, its master device, local terminal, program
JP6541902B1 (en) Program management system, programming support apparatus, program management method, and programming support program
JP2016001376A (en) Programmable controller system, and support device of the same
JP6205934B2 (en) Programmable controller system, its support device, program
JP2016170547A (en) Control system, management server apparatus thereof, and support apparatus
JPWO2018174223A1 (en) Operation management server, development operation support system, their method and program
EP4193225A1 (en) Method and system for providing engineering of an industrial device in a cloud computing environment
US20180150044A1 (en) Method for programming and configuring a device in a traceable manner
JP6295914B2 (en) Programmable controller system, its support device, programmable controller
JP2009098963A (en) Automatic module generation system
KR20190127110A (en) Apparatus for processing programmable logic controller program
JP7081805B2 (en) Information processing equipment, load module generation methods and programs, and dynamic program update systems and methods
WO2019176274A1 (en) Controller, license management method, and license management program
JP6870897B2 (en) Surveillance systems, devices and engineering tools

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181203

R150 Certificate of patent or registration of utility model

Ref document number: 6455096

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250