JP2016001376A - Programmable controller system, and support device of the same - Google Patents

Programmable controller system, and support device of the same Download PDF

Info

Publication number
JP2016001376A
JP2016001376A JP2014120670A JP2014120670A JP2016001376A JP 2016001376 A JP2016001376 A JP 2016001376A JP 2014120670 A JP2014120670 A JP 2014120670A JP 2014120670 A JP2014120670 A JP 2014120670A JP 2016001376 A JP2016001376 A JP 2016001376A
Authority
JP
Japan
Prior art keywords
information
identification information
program
controller
download
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.)
Pending
Application number
JP2014120670A
Other languages
Japanese (ja)
Inventor
吉平 宮野
Kichihei Miyano
吉平 宮野
吉原 大助
Daisuke Yoshihara
大助 吉原
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 JP2014120670A priority Critical patent/JP2016001376A/en
Publication of JP2016001376A publication Critical patent/JP2016001376A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

PROBLEM TO BE SOLVED: To discriminate and delete unnecessary identification information, in a system for storing and managing history information of identification information of a PLC program on a support device side.SOLUTION: Whenever a compiler unit 22 compiles a source code 26 of an updated program to create a machine language object 27, an identification information creating unit 23 creates corresponding unique identification information. An identification information managing unit 24 additionally stores the identification information in history information 11, creates corresponding download information 12, and then updates it as necessary. The identification information managing unit 24 discriminates unnecessary identification information on the basis of the download information, and deletes this identification information from the history information 11.

Description

本発明は、稼働中のプログラマブルコントローラの動作を停止しないでプログラム更新を行えるシステム等に関する。   The present invention relates to a system or the like that can update a program without stopping the operation of an operating programmable controller.

従来、オンライン変更によるプログラム更新を安全に行う方法が、例えば特許文献1等で提案されている。
特許文献1の発明は、稼働中のPLC(コントローラ)に対する変更に適合したプログラムであることを確認したうえで、当該PLCのプログラムを更新することができる発明である。その為に、支援装置において、任意の更新版プログラムのソースコードをコンパイルしたら、これによって生成した機械語オブジェクトに対応する一意の識別情報を生成してリスト(識別情報管理テーブル)に追加登録する。そして、最新版の機械語オブジェクトをPLCにダウンロードする際に、PLCの現在の識別情報を取得して、これが上記リストに登録されているか否かを判定し、登録されている場合のみダウンロードを許可する。
Conventionally, for example, Patent Literature 1 proposes a method for safely updating a program by online change.
The invention of Patent Document 1 is an invention that can update a program of the PLC after confirming that the program is suitable for a change to a running PLC (controller). For this purpose, when the source code of an arbitrary update program is compiled in the support device, unique identification information corresponding to the machine language object generated thereby is generated and additionally registered in the list (identification information management table). Then, when downloading the latest machine language object to the PLC, it obtains the current identification information of the PLC, determines whether or not it is registered in the list, and permits the download only if it is registered To do.

特許文献1の発明は、特に、任意の支援装置から他の支援装置へバックアップ等の為にプログラムがコピーされ、その後、他の支援装置においてもこのプログラムの更新版が作成されてPLCにダウンロードされる等の状況を想定している。   In the invention of Patent Document 1, in particular, a program is copied from an arbitrary support device to another support device for backup or the like, and then an updated version of this program is created and downloaded to the PLC in another support device. The situation is assumed.

特許文献1の発明では、コントローラを停止することなくPLCのプログラムの更新を安全に行う方法として、支援装置側で更新版プログラムのコンパイル毎に生成される固有の識別情報を、世代を含めた履歴情報(上記リスト)として記憶・管理する。そして、コントローラ側で記憶・実行しているプログラムの識別情報が、支援装置側の上記リストに存在するか否かによって、コントローラへの更新版プログラムのダウンロードを許可するか否かを判定する。   In the invention of Patent Document 1, as a method for safely updating a PLC program without stopping the controller, unique identification information generated every time the updated version program is compiled on the support device side is included in the history including the generation. Store and manage as information (list above). Then, it is determined whether or not to permit the download of the updated program to the controller depending on whether or not the identification information of the program stored and executed on the controller side exists in the list on the support apparatus side.

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

ここで、特許文献1の図1.図3等に示す例ではPLCは1台であるが、PLCが複数台あっても構わない。また、これら複数のPLCが、同じプログラム(但し、バージョンが異なっていても良い)を実行する構成となる場合もある。その一例を例えば図8に示す。   Here, FIG. In the example shown in FIG. 3 and the like, there is one PLC, but there may be a plurality of PLCs. In addition, the plurality of PLCs may be configured to execute the same program (however, the versions may be different). An example thereof is shown in FIG.

図8に示す例では、支援装置100Aのリスト101aには、識別情報‘0000-0000’(世代1)、識別情報‘0000-0001’(世代2)、識別情報‘0000-0002’(世代3)が格納されている。また、ここでは、世代2のプログラムが他の支援装置100Bにコピーされていたものとする。そして、支援装置100Bにおいて、このコピープログラムに基づく更新版プログラムが作成されると共に、その識別情報として‘0001-0003’が付与されたものとする。これより、支援装置100Bのリスト101bには、図示のように、識別情報‘0000-0000’(世代1)、識別情報‘0000-0001’(世代2)、識別情報‘0001-0003’(世代3)が格納されていることになる。   In the example illustrated in FIG. 8, the list 101a of the support apparatus 100A includes identification information “0000-0000” (generation 1), identification information “0000-0001” (generation 2), and identification information “0000-0002” (generation 3). ) Is stored. Here, it is assumed that the generation 2 program has been copied to the other support apparatus 100B. In the support apparatus 100B, an updated version program based on this copy program is created, and '0001-0003' is assigned as identification information. Accordingly, the list 101b of the support apparatus 100B includes identification information “0000-0000” (generation 1), identification information “0000-0001” (generation 2), identification information “0001-0003” (generation), as shown in the figure. 3) is stored.

一方、図では4台のPLC110(110a、110b,110c,110d)を示すが、ここでは全てのPLC110に対して支援装置100Aからプログラムがダウンロードされているものとする。図示の例では、PLC110aには世代3のプログラムが格納されており、PLC110bには世代1のプログラムが格納されており、PLC110c、110dには世代2のプログラムが格納されているものとする。そして、これより、各PLC110が保持している識別情報は、図示の通り、PLC110aは‘0000-0002’、PLC110bは‘0000-0000’、PLC110c、110dは‘0000-0001’となっている。   On the other hand, in the figure, four PLCs 110 (110a, 110b, 110c, 110d) are shown. Here, it is assumed that the program is downloaded from all the PLCs 110 from the support device 100A. In the illustrated example, it is assumed that a generation 3 program is stored in the PLC 110a, a generation 1 program is stored in the PLC 110b, and a generation 2 program is stored in the PLCs 110c and 110d. Accordingly, the identification information held by each PLC 110 is ‘0000-0002’ for the PLC 110a, ‘0000−0000’ for the PLC 110b, and ‘0000−0001’ for the PLCs 110c and 110d, as shown.

そして、図示の状態で、上記支援装置100Aが、4台のPLC110全てに対してプログラムをダウンロードしようとした場合、まず、PLC110aに関しては、その識別情報‘0000-0002’は支援装置100Aのリスト101aに存在するが、これは最新の世代(世代3)であることから、ダウンロードは必要ないと判定される。また、PLC110bに関しては、その識別情報‘0000-0000’は支援装置100Aのリスト101aに存在するので、ダウンロードは許可される。また、PLC110c、110dに関しても、その識別情報‘0000-0001’は支援装置100Aのリスト101aに存在するので、ダウンロードは許可される。   In the state shown in the figure, when the support device 100A tries to download a program to all four PLCs 110, first, regarding the PLC 110a, the identification information '0000-0002' is the list 101a of the support device 100A. However, since this is the latest generation (generation 3), it is determined that downloading is not necessary. In addition, regarding the PLC 110b, the identification information “0000-0000” is present in the list 101a of the support apparatus 100A, and therefore downloading is permitted. Also, regarding the PLCs 110c and 110d, the identification information “0000-0001” is present in the list 101a of the support apparatus 100A, so that the download is permitted.

一方で、図示の状態において、上記支援装置100Bが、4台のPLC110全てに対してプログラムをダウンロードしようとした場合、まず、PLC110aに関しては、その識別情報‘0000-0002’は、支援装置100Bのリスト101bには存在しないので、ダウンロードは許可されない。一方、PLC110bに関しては、その識別情報‘0000-0000’は支援装置100Bのリスト101bに存在するので、ダウンロードは許可される。また、PLC110c、110dに関しても、その識別情報‘0000-0001’は支援装置100Bのリスト101bに存在するので、ダウンロードは許可される。   On the other hand, in the state shown in the figure, when the support device 100B tries to download a program to all four PLCs 110, first, regarding the PLC 110a, the identification information “0000-0002” is stored in the support device 100B. Since it does not exist in the list 101b, downloading is not permitted. On the other hand, regarding the PLC 110b, since the identification information “0000-0000” exists in the list 101b of the support apparatus 100B, the download is permitted. Also, regarding the PLCs 110c and 110d, the identification information “0000-0001” is present in the list 101b of the support apparatus 100B, so that the download is permitted.

もし、支援装置100Bが、上記ダウンロード許可されたPLC110b,110c,110d全てに対して、自装置の最新のプログラム(識別情報‘0001-0003’のプログラム)をダウンロードしてプログラム更新させた場合、その後、支援装置100Aは、これらPLC110b,110c,110dに対してはダウンロード許可されないことになる。一方、支援装置100Bは、その後も、PLC110aに関してはダウンロード許可されないことになる。この為、この例では、その後、PLC110b,110c,110dのプログラム更新は支援装置100Bが行うことになり、PLC110aのプログラム更新は支援装置100Aが行うことになる。   If the support device 100B downloads the latest program (program of identification information “0001-0003”) of its own device to all the PLCs 110b, 110c, and 110d that are permitted to download, the program is updated thereafter. The support device 100A is not permitted to download the PLCs 110b, 110c, and 110d. On the other hand, the support device 100B is not permitted to download the PLC 110a thereafter. Therefore, in this example, thereafter, the program update of the PLCs 110b, 110c, and 110d is performed by the support apparatus 100B, and the program update of the PLC 110a is performed by the support apparatus 100A.

換言すれば、その後は、PLC110b,110c,110dは支援装置100Bによるプログラム更新の対象であるが、PLC110aは支援装置100Bによるプログラム更新の対象ではないことになる。また、その後は、PLC110b,110c,110dは支援装置100Aによるプログラム更新の対象ではないが、PLC110aは支援装置100Aによるプログラム更新の対象となる。   In other words, after that, the PLCs 110b, 110c, and 110d are targets of program update by the support apparatus 100B, but the PLC 110a is not a target of program update by the support apparatus 100B. After that, the PLCs 110b, 110c, and 110d are not subject to program update by the support device 100A, but the PLC 110a is subject to program update by the support device 100A.

特許文献1の発明では、例えば上述したようにして、オンラインによるプログラム更新時に、上記識別情報を利用してコントローラがプログラム更新の対象かどうかの判別を実施することにより、更新プログラムの継続性を保証するものである。   In the invention of Patent Document 1, for example, as described above, at the time of online program update, the identification information is used to determine whether the controller is a program update target, thereby ensuring the continuity of the update program. To do.

従来の上記特許文献1の技術では、支援装置側は、更新を重ねるプログラムに係わる各識別情報を、世代を含めた履歴情報(上記リスト)として管理し、オンラインでのプログラム更新時、コントローラ側にダウンロードされて運用中のプログラムの識別情報が、支援装置側の上記履歴情報内に存在するか否かによって、そのコントローラがその支援装置によるプログラム更新の対象であるか否かの判別を行っている。   In the conventional technique of the above-mentioned Patent Document 1, the support device side manages each piece of identification information related to the program to be updated as history information including the generation (the list), and at the time of online program update, the controller side Whether or not the controller is the target of program update by the support device is determined based on whether or not the identification information of the downloaded and operating program exists in the history information on the support device side. .

ここで、特許文献1の従来技術では、PLCのプログラム(特に各更新版)をコンパイルする毎に、固有の識別情報を生成して、これを当該プログラムに対応付ける。そのため、オンラインによるプログラム更新を実施した後、次のプログラム更新(ダウンロード)を行うまでの間にユーザが複数回コンパイルを実施すると、その都度識別情報が増加するが、ダウンロード時に必要となる識別情報は最新の識別情報であり、途中でコンパイルした識別情報は無駄になる。しかしながら、無駄であっても履歴情報に残っている。   Here, in the prior art of Patent Document 1, each time a PLC program (in particular, each updated version) is compiled, unique identification information is generated and associated with the program. For this reason, if a user compiles multiple times after performing an online program update until the next program update (download), the identification information increases each time. It is the latest identification information, and identification information compiled in the middle is useless. However, even if it is useless, it remains in the history information.

更に、従来の技術では、コントローラ側ではオンラインによるプログラム更新を実施すると、コントローラ側にダウンロードされている識別情報は、新しい識別情報で上書きされるが、支援装置側では過去の古い世代の識別情報も上記リストに残してあり、オンラインによるプログラム更新を継続していくにつれ、支援装置側で記憶・管理している上記リスト(履歴情報)が、肥大化していくことになる。   Furthermore, in the conventional technology, when the controller updates the program online, the identification information downloaded to the controller is overwritten with new identification information. The list (history information) stored and managed on the support apparatus side will be enlarged as the online program update is left on the list.

また、先述のとおり、任意のコントローラがプログラム更新の対象かどうかの判別が、上記履歴情報内を検索することによって行われる為、上記履歴情報の肥大化は、支援装置内の空き領域を単に圧迫するという問題だけでなく、オンラインによるプログラム更新の処理時間が安定せず、徐々に増大するという問題を引き起こす。   In addition, as described above, whether or not an arbitrary controller is a program update target is determined by searching the history information. Therefore, the enlargement of the history information simply compresses an empty area in the support device. In addition to the problem that the program is updated, the processing time of the online program update is not stable and gradually increases.

本発明の課題は、支援装置側でPLCプログラムの識別情報の履歴情報を記憶するシステムにおいて、不要な識別情報を判別して削除することで、支援装置側の履歴情報の肥大化を防ぎ、以って安定したオンライン変更を実現させるプログラマブルコントローラ、その支援装置等を、提供することである。   An object of the present invention is to prevent the history information on the support device side from being enlarged by discriminating and deleting unnecessary identification information in the system that stores the history information of the identification information of the PLC program on the support device side. Therefore, it is to provide a programmable controller that realizes stable online change, a support device thereof, and the like.

本発明のプログラマブルコントローラシステムは、支援装置と複数のコントローラを有するプログラマブルコントローラシステムであって、支援装置が下記の構成を有する。
・前記コントローラ用のプログラムである任意のプログラムやその更新版プログラムが作成される毎に、該コントローラ用プログラムをコンパイルすると共に対応する一意の識別情報を生成するコンパイル手段;
・該識別情報を世代管理する履歴情報を記憶する履歴情報記憶手段;
・該履歴情報の各識別情報に対応付けて、その識別情報に対応する前記コントローラ用プログラムに係わる各コントローラへのダウンロード情報を記憶するダウンロード情報記憶手段;
・該ダウンロード情報に基づいて、前記履歴情報において不要な識別情報を判別して、該識別情報を前記履歴情報から削除する不要情報削除手段。
The programmable controller system of the present invention is a programmable controller system having a support device and a plurality of controllers, and the support device has the following configuration.
Compile means for compiling the controller program and generating corresponding unique identification information every time an arbitrary program that is a program for the controller or an updated version program thereof is created;
History information storage means for storing history information for generation management of the identification information;
Download information storage means for storing download information to each controller related to the controller program corresponding to the identification information in association with the identification information of the history information;
Unnecessary information deleting means for determining unnecessary identification information in the history information based on the download information and deleting the identification information from the history information.

本発明のプログラマブルコントローラシステム、その支援装置によれば、支援装置側でPLCプログラムの識別情報の履歴情報を記憶するシステムにおいて、不要な識別情報を判別して削除することで、支援装置側の履歴情報の肥大化を防ぎ、以って安定したオンライン変更を実現させることができる。   According to the programmable controller system of the present invention and its support device, in the system that stores the history information of the identification information of the PLC program on the support device side, the history on the support device side is determined by determining and deleting unnecessary identification information. Prevents information bloat and enables stable online changes.

本例のプログラマブルコントローラシステムの概略構成図である。It is a schematic block diagram of the programmable controller system of this example. プログラマブルコントローラシステムの機能図である。It is a functional diagram of a programmable controller system. 管理情報の状態遷移例を示す図である。It is a figure which shows the example of a state transition of management information. 管理情報の具体例である。It is a specific example of management information. コンパイルの際のダウンロード情報の更新処理のフローチャート図である。It is a flowchart figure of the update process of the download information at the time of compilation. PLCのプログラム更新の際のダウンロード情報の更新処理のフローチャート図である。It is a flowchart figure of the update process of the download information at the time of the program update of PLC. ダウンロード情報としてコントローラ数を用いる例を説明する図である。It is a figure explaining the example which uses the number of controllers as download information. 特許文献1のプログラマブルコントローラの構成・データ例である。10 is a configuration / data example of a programmable controller of Patent Document 1.

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

図示のプログラマブルコントローラシステムは、支援装置10と、各PLC1(1a,1b,1c,1d)等を有する。
尚、ここでは支援装置10は1台のみ示すが、上記従来の図8のように複数台存在してもよい。
The illustrated programmable controller system includes a support device 10 and each PLC 1 (1a, 1b, 1c, 1d).
Although only one support device 10 is shown here, a plurality of support devices 10 may exist as shown in FIG.

支援装置10、各PLC1の処理機能については、図2に示すものとし、後に説明するものとし、ここでは支援装置10、各PLC1が記憶する情報について図示・説明する。
すなわち、まず、各PLC1には、上記特許文献1と同様、支援装置10から任意の世代のプログラムが、その識別情報と共にダウンロードされて、これらが記憶される。尚、この様なコントローラ用のプログラムを、PLCプログラム等と記すものとするが、単にプログラムと記した場合にも、それは基本的にPLCプログラムを意味するものとする。
The processing functions of the support device 10 and each PLC 1 are shown in FIG. 2 and will be described later. Here, the information stored in the support device 10 and each PLC 1 is shown and described.
That is, first, similarly to the above-described Patent Document 1, an arbitrary generation of a program is downloaded from the support apparatus 10 together with its identification information and stored in each PLC 1. Such a program for a controller is referred to as a PLC program or the like. However, even when the program is simply referred to as a program, it basically means a PLC program.

また、支援装置10は、上記特許文献1と同様、任意のPLCプログラム(任意の初版プログラムまたはその更新版プログラム)のソースコードをコンパイルして機械語オブジェクトを生成する毎に、このPLCプログラムに対応する識別情報を生成して上述したリスト(図示の履歴情報11)に追加記憶する。その際、世代を付与する。世代は、例えば、1,2,3、・・・の順に付与するものであり、番号が小さいほど古い世代であり、任意の時点で最も大きい番号が、最新世代を意味することになる。   Similarly to Patent Document 1, the support device 10 corresponds to this PLC program every time a machine language object is generated by compiling the source code of an arbitrary PLC program (an arbitrary initial program or an updated program thereof). The identification information to be generated is generated and additionally stored in the list (the history information 11 shown in the figure). At that time, a generation is given. The generations are given in the order of 1, 2, 3,..., For example, and the smaller the number, the older the generation, and the largest number at any point in time means the latest generation.

任意のプログラムについて新規作成時及び各更新の際にそれぞれ一意の識別情報が作成されて、この識別情報を世代に対応付けて履歴情報11に追加記憶する。これより、履歴情報11は、図示のように、各世代11aが対応付けられた各識別情報11bが記憶されることになる。換言すれば、履歴情報11は、識別情報を世代管理する為の情報と言える。   Unique identification information is created at the time of new creation and update for an arbitrary program, and this identification information is associated with a generation and additionally stored in the history information 11. As a result, the history information 11 stores each identification information 11b associated with each generation 11a as shown in the figure. In other words, the history information 11 can be said to be information for generation management of identification information.

基本的には、任意の時点における最新世代のPLCプログラムを、その識別情報と共に、任意のPLC1にダウンロードする。
この様な、識別情報の世代管理自体は、上記特許文献1と同様であってよいが、本例では更に図1に示すダウンロード情報12を記憶管理する。これは、図示の例では、上記履歴情報11の各世代11a(各識別情報11b)に対応付けて、その世代のプログラムに関する各PLC1のダウンロード状態(本例では「使用済」、「使用中」、「未使用」)が、記憶管理される。つまり、各世代のプログラムについて、各コントローラ毎に、その時点で「使用済」、「使用中」、「未使用」の何れの状態であるのかが、記憶されることになる。
Basically, the latest generation PLC program at an arbitrary time point is downloaded to an arbitrary PLC 1 together with its identification information.
Such generation management of identification information itself may be the same as that of Patent Document 1, but in this example, download information 12 shown in FIG. 1 is further stored and managed. In the illustrated example, this is associated with each generation 11a (each identification information 11b) of the history information 11 and the download state of each PLC 1 related to the program of that generation (in this example, “used”, “in use”). , “Unused”) is stored and managed. That is, for each generation program, it is stored for each controller whether the state is “used”, “in use”, or “unused” at that time.

尚、各PLC1毎にそれぞれ対応するダウンロード情報12があるものと見做しても良い。つまり、図示のダウンロード情報12は、この様なPLC1毎のダウンロード情報12を纏めて示すものと見做しても構わない。   Note that it may be considered that there is download information 12 corresponding to each PLC 1. That is, the download information 12 shown in the figure may be regarded as a collection of such download information 12 for each PLC 1.

ここで、上記「未使用」は、そのコントローラの次の更新時にその識別情報11bのプログラムがダウンロードされる予定であることを意味する。但し、ダウンロードされる前に、新たな更新版プログラムが生成された場合には、ダウンロードされることなく「使用済」となる。詳しくは後述する。   Here, “unused” means that the program of the identification information 11b is scheduled to be downloaded at the next update of the controller. However, if a new update program is generated before being downloaded, it is “used” without being downloaded. Details will be described later.

また、上記「使用中」は、現在、そのコントローラにその識別情報11bのプログラムが保持されて運用中の状態であることを意味している。
また、上記「使用済」は、その時点以降にそのコントローラにその識別情報11bのプログラムがダウンロードされることは無いことを意味している。
Further, “in use” means that the controller is currently operating with the program of the identification information 11b held in the controller.
The “used” means that the program of the identification information 11b is not downloaded to the controller after that time.

上記ダウンロード情報12の生成・更新処理や、ダウンロード情報12を用いて履歴情報11から不要な情報を削除する処理については、図2以降を参照して後述する。
概略的に説明するならば、支援装置10は、管理情報(履歴情報11とダウンロード情報12)を、コンパイル時またはダウンロード実施時に随時更新していく。そして、ある世代の識別情報11bに対して、全てのコントローラのダウンロード状態が「使用済」となった場合に、その世代の識別情報11bは、不要となった古い世代の識別情報であると見做して削除するようにする。また、その際、識別情報だけでなく当該識別情報に対応するダウンロード状態も一緒に削除するようにしてもよい。詳しくは後述する。
The generation / update process of the download information 12 and the process of deleting unnecessary information from the history information 11 using the download information 12 will be described later with reference to FIG.
If it demonstrates roughly, the assistance apparatus 10 will update management information (history information 11 and download information 12) at any time at the time of compilation or download implementation. When the download status of all the controllers becomes “used” with respect to the identification information 11b of a generation, the identification information 11b of that generation is regarded as the identification information of the old generation that is no longer necessary. Make sure to delete it. At that time, not only the identification information but also the download state corresponding to the identification information may be deleted together. Details will be described later.

また、支援装置10は、各PLC1を識別用ID(例えば、MACアドレス)によって一意に特定できる。例えば、図示のコントローラ情報13における“PLC-ID”13bが、上記識別用IDの一例である。   Further, the support device 10 can uniquely identify each PLC 1 by an identification ID (for example, a MAC address). For example, “PLC-ID” 13b in the controller information 13 shown in the figure is an example of the identification ID.

ここで、支援装置10は、図示のコントローラ情報13も記憶・管理するようにしてもよい。コントローラ情報13は、PLC名13aとPLC-ID13bから成る。PLC-ID13bは、上記の通り、上記識別用IDの一例である。PLC名13aは、例えば各PLC1に付与される任意の名称等である。各PLC1には、予め自己の識別情報(PLC-ID)が記憶されている。支援装置10は、例えば、各PLC1からそのPLC-IDを取得して、これを上記コントローラ情報13のPLC-ID13bに格納すると共に、任意の名称を生成してPLC名13aに格納する。このPLC名13aは、図示のようにダウンロード情報12にも用いられる。   Here, the support apparatus 10 may store and manage the controller information 13 illustrated. The controller information 13 includes a PLC name 13a and a PLC-ID 13b. The PLC-ID 13b is an example of the identification ID as described above. The PLC name 13a is, for example, an arbitrary name given to each PLC1. Each PLC 1 stores its own identification information (PLC-ID) in advance. For example, the support device 10 acquires the PLC-ID from each PLC 1 and stores the PLC-ID in the PLC-ID 13 b of the controller information 13, and generates an arbitrary name and stores it in the PLC name 13 a. This PLC name 13a is also used for the download information 12 as shown.

図2は、上記プログラマブルコントローラシステムの機能図である。
本システムは、パソコン等のコンピュータ上で動作する支援装置10が、不図示の通信線によって各PLC1と接続されて、相互にデータ送受信可能な構成となっている。尚、図示は省略するが、各PLC1には何らかの制御対象機器が接続されている。
FIG. 2 is a functional diagram of the programmable controller system.
In this system, the support device 10 operating on a computer such as a personal computer is connected to each PLC 1 by a communication line (not shown) so that data can be transmitted and received between them. In addition, although illustration is abbreviate | omitted, some control object apparatus is connected to each PLC1.

支援装置10は、ユーザインターフェース機能部21、コンパイラ部22、識別情報生成部23、識別情報管理部24等の各種機能部を有する。支援装置10は、不図示のCPU/MPU等の演算プロセッサや、ハードディスク、メモリ等の記憶装置も有しており、記憶装置には予め所定のアプリケーションプログラムが記憶されている。上記各種機能部の後述する処理機能は、上記不図示の演算プロセッサが、このアプリケーションプログラムを読出し・実行することにより実現される。   The support apparatus 10 includes various functional units such as a user interface function unit 21, a compiler unit 22, an identification information generation unit 23, and an identification information management unit 24. The support device 10 also includes a calculation processor such as a CPU / MPU (not shown) and a storage device such as a hard disk and a memory, and a predetermined application program is stored in the storage device in advance. Processing functions to be described later of the various functional units are realized when the arithmetic processor (not shown) reads and executes the application program.

尚、本説明において単にプログラムと記した場合には、それは基本的には上記PLCプログラム(制御プログラム)を意味するものとする。
また、支援装置10は、ディスプレイ画面や入力装置等も有している。
It should be noted that when simply described as a program in this description, it basically means the PLC program (control program).
The support device 10 also has a display screen, an input device, and the like.

上記ユーザインターフェース機能部21は、ユーザが所望のPLCプログラムのソースコード26を作成するのを支援する機能を有する。この機能自体は、従来からよく知られた既存機能であるので、ここでは特に詳細には説明しないが、概略的には、ユーザインターフェース機能部21は、ディスプレイに不図示の所定の編集用画面を表示して、この編集用画面上でユーザに所望のPLCプログラムのソースコード26を作成させる。ユーザは、キーボード、マウス等の入力装置を操作して、任意のプログラムのソースコード26を作成する。作成されたプログラム・ソースコード26は、上記不図示の記憶装置等に記憶される。   The user interface function unit 21 has a function for assisting the user in creating a source code 26 of a desired PLC program. Since this function itself is an existing function that has been well known in the past, it will not be described in detail here, but generally, the user interface function unit 21 displays a predetermined editing screen (not shown) on the display. Then, the user is made to create a source code 26 of a desired PLC program on the editing screen. A user operates an input device such as a keyboard and a mouse to create source code 26 of an arbitrary program. The created program / source code 26 is stored in the storage device (not shown).

上記PLCプログラムの作成は、任意の新規プログラムの作成あるいは既存のプログラムの更新版(バージョンアップ版等)を作成するものである。本手法は、主に各更新版プログラムに関するものとなる。更新版プログラムの作成作業は、例えばユーザが、上記ユーザインターフェース機能部21の機能により、既存のソースコード26のファイルを開いて、所望の変更を行うことで、更新版のソースコード26を作成する。この様な、更新版のプログラム・ソースコード26は、上記コンパイラ部22でコンパイルされる。   The PLC program is created by creating an arbitrary new program or an updated version (an upgraded version or the like) of an existing program. This method is mainly related to each updated program. For example, the user creates the updated version of the source code 26 by opening a file of the existing source code 26 and making a desired change by the function of the user interface function unit 21. . Such an updated version of the program source code 26 is compiled by the compiler unit 22.

コンパイラ部22は、上記ユーザが作成したソースコード26を、ターゲット(PLC1)上で動作する機械語オブジェクト27に変換する。この変換(コンパイル)処理において各変数に対するアドレス割当てが行われる。この様なコンパイル処理自体は、一般的な既存技術であるので、ここでは特に説明しない。   The compiler unit 22 converts the source code 26 created by the user into a machine language object 27 that operates on the target (PLC1). In this conversion (compilation) process, an address is assigned to each variable. Such a compilation process itself is a general existing technique, and is not particularly described here.

コンパイラ部22は、更に、上記特許文献1の発明と同様、コンパイル実行毎に、そのPLCプログラムに対して一意の識別情報を割り当てる。この識別情報の生成は、識別情報生成部23が行う。上記機械語オブジェクト27は、その識別情報と共に、通信機能部25によってPLC1にダウンロードされる。但し、その前に、特許文献1と同様に、別環境(実システムとは別の検証用システム)で更新版プログラムの動作確認/動作検証を行って、検証OKである更新版プログラム(その機械語オブジェクト27)のみがPLC1にダウンロード可能とすることが望ましい。   The compiler unit 22 further assigns unique identification information to the PLC program every time the compilation is performed, as in the invention of the above-mentioned Patent Document 1. The identification information generation unit 23 generates this identification information. The machine language object 27 is downloaded to the PLC 1 by the communication function unit 25 together with the identification information. However, before that, as in Patent Document 1, the operation of the updated version program is checked / verified in another environment (a verification system different from the actual system), and the updated version program (its machine) is verified. It is desirable that only the word object 27) can be downloaded to the PLC 1.

尚、上記一意の識別情報の意味や生成方法は、特許文献1と同様であり特に詳細には説明しないが、1つの支援装置10に関してだけでなく他の支援装置10も含めて、同じ識別情報が生成されることはない。   The meaning and generation method of the unique identification information is the same as in Patent Document 1 and will not be described in detail. However, the same identification information includes not only one support device 10 but also other support devices 10. Is never generated.

また、上記識別情報生成部23によって生成された識別情報は、履歴情報11に追加記憶される。この履歴情報11は、上記特許文献1における識別情報管理テーブル30に相当するので、特に詳細には説明しないが、任意のプログラムに関して特にその各更新版に対応する識別情報を記憶するものであり、各識別情報を世代管理する為のものである。   The identification information generated by the identification information generation unit 23 is additionally stored in the history information 11. Since this history information 11 corresponds to the identification information management table 30 in the above-mentioned Patent Document 1, it will not be described in detail in particular, but it stores identification information corresponding to each updated version of an arbitrary program, This is for generation management of each identification information.

履歴情報11は、例えば図1や図4に示すように、上記各識別情報11bが格納されており、各識別情報11bには“世代”11aが対応付けられている。“世代”11aは、各識別情報11bに対して割当てられる世代管理用の番号であり、本例では図示のように、初期値を‘1’とし、新規レコード追加毎に+1インクリメントされるものとする。よって、“世代”11aの番号が最も小さい識別情報11bが、最も古い(初版の)プログラムに対応して生成された識別情報であることになる。   As shown in FIGS. 1 and 4, for example, the history information 11 stores the identification information 11b, and the identification information 11b is associated with a “generation” 11a. The “generation” 11a is a generation management number assigned to each identification information 11b. In this example, as shown in the figure, the initial value is set to “1”, and is incremented by +1 each time a new record is added. To do. Therefore, the identification information 11b having the smallest "generation" 11a number is identification information generated corresponding to the oldest (first version) program.

この様な履歴情報11の生成・管理は、識別情報管理部24が実行する。
この様な履歴情報11の生成・管理自体は、上記特許文献1と同様であってよいが、本例の支援装置10では、更に、履歴情報11に対応付けてダウンロード情報12が生成・記憶される。ダウンロード情報12の管理も、識別情報管理部24が実行する。また、図2には示していないが、識別情報管理部24は、更に、図1に示すコントローラ情報13を生成・管理するものであってもよい。
Such generation / management of the history information 11 is executed by the identification information management unit 24.
Such generation / management of the history information 11 itself may be the same as that of the above-described Patent Document 1, but the support apparatus 10 of this example further generates and stores download information 12 in association with the history information 11. The Management of the download information 12 is also executed by the identification information management unit 24. Although not shown in FIG. 2, the identification information management unit 24 may further generate and manage the controller information 13 shown in FIG.

識別情報管理部24は、例えば、履歴情報11の各識別情報11bに対応付けて、その識別情報に対応する更新版プログラムに係わる各PLC1毎のダウンロード情報12を記憶する。また、ダウンロード情報12を更新する。尚、図示の管理情報記憶部30には、この様な管理情報(履歴情報11+ダウンロード情報12)が記憶される。   For example, the identification information management unit 24 stores the download information 12 for each PLC 1 related to the updated version program corresponding to the identification information in association with the identification information 11b of the history information 11. Also, the download information 12 is updated. The management information storage unit 30 shown in the figure stores such management information (history information 11 + download information 12).

ダウンロード情報12は、例えば後述するダウンロード状態(「使用中」、「未使用」、「使用済」)であるが、この例に限らず、後述するコントローラ数等であってもよい。
識別情報管理部24は、例えば、ダウンロード情報12に基づいて、履歴情報11において不要な識別情報11bを判別して、該不要な識別情報11bを履歴情報11から削除する。尚、逐一述べないが基本的に、不要な識別情報11bを削除する際にはその世代11aの情報も一緒に削除する。更に、対応するダウンロード情報12も一緒に削除するようにしてもよい。
The download information 12 is, for example, a download state described later (“in use”, “unused”, “used”), but is not limited to this example, and may be the number of controllers described later.
For example, the identification information management unit 24 determines unnecessary identification information 11b in the history information 11 based on the download information 12, and deletes the unnecessary identification information 11b from the history information 11. Although not described one by one, basically, when unnecessary identification information 11b is deleted, information on the generation 11a is also deleted. Further, the corresponding download information 12 may be deleted together.

識別情報管理部24は、例えば、ダウンロード情報12に基づいて、その識別情報11bのプログラムが全てのコントローラについて「現在使用中ではなく且つ今後ダウンロードされることもない」と判定する場合、該識別情報11bを上記不要な識別情報と判定する。これは、例えば後述する一例では、履歴情報11における任意の識別情報11bについて、それに対応するダウンロード情報12(ダウンロード状態)が全て後述する「使用済」であった場合に、この識別情報11bを上記不要な識別情報と見做すものであるが、この例に限らない。   For example, when the identification information management unit 24 determines that the program of the identification information 11b is “not currently in use and will not be downloaded in the future” for all the controllers based on the download information 12, the identification information 11b is determined as the unnecessary identification information. For example, in an example described later, for any identification information 11b in the history information 11, when the corresponding download information 12 (download state) is all “used” which will be described later, the identification information 11b Although this is regarded as unnecessary identification information, it is not limited to this example.

尚、識別情報管理部24の処理機能において特に上述した履歴情報11において不要な識別情報11bを判別して削除する処理機能を、不要情報削除機能と呼ぶものとし、ダウンロード情報12の更新に係わる機能を状態更新機能と呼ぶものとする。   In the processing function of the identification information management unit 24, the processing function that determines and deletes unnecessary identification information 11b in the history information 11 described above is referred to as an unnecessary information deletion function. Is called a state update function.

この状態更新機能は、例えば、任意のPLCプログラム(特に更新版プログラム)がコンパイルされることに伴ってその識別情報を履歴情報11に追加する際に、この識別情報11bに対応する上記ダウンロード状態を全て新たな「未使用」とすると共に、既存の「未使用」は全て「使用済」とする。   For example, when the state update function adds the identification information to the history information 11 as an arbitrary PLC program (particularly an updated version program) is compiled, the download state corresponding to the identification information 11b is displayed. All the new “unused” and all the existing “unused” are “used”.

また、上記ダウンロード情報12は、上記ダウンロード状態の例に限らない。例えば、ダウンロード情報12は、各識別情報毎に、その識別情報のプログラムを現在保持・運用していると見做されるPLC1の数(後述する図7に示すコントローラ数51)であってもよい。但し、他の支援装置10がPLC1のプログラムを変更する場合もあるので、このコントローラ数51が、正しいとは限らない。つまり、その識別情報のプログラムを実際に現在保持・運用しているPLC1の数が、コントローラ数51よりも少ない場合もあり得る。   The download information 12 is not limited to the download state example. For example, the download information 12 may be, for each identification information, the number of PLCs 1 (assumed to be the controller number 51 shown in FIG. 7 described later) that are regarded as currently holding and operating the program of the identification information. . However, since the other support apparatus 10 may change the program of the PLC 1, the controller number 51 is not always correct. That is, the number of PLCs 1 that actually hold and operate the program of the identification information may be smaller than the number 51 of controllers.

上記不要情報削除機能は、例えば、任意の識別情報11bに対応する上記コントローラ数51がゼロとなった場合に、該識別情報11bを上記不要な識別情報と判定する。
また、特に図示・説明しないが、支援装置10は更に上記特許文献1と略同様の機能を有していても良い。例えば、任意のPLCプログラム(特に更新版プログラム)のダウンロード対象のPLC1から、当該PLC1に記憶されている識別情報を取得して、該取得した識別情報が履歴情報11に含まれていない場合には、この更新版プログラムのダウンロードを許可しない機能を有するものであってもよい。
For example, when the controller number 51 corresponding to the arbitrary identification information 11b becomes zero, the unnecessary information deletion function determines the identification information 11b as the unnecessary identification information.
Further, although not shown or described in particular, the support device 10 may further have substantially the same function as that of Patent Document 1. For example, when the identification information stored in the PLC 1 is acquired from the PLC 1 to be downloaded of an arbitrary PLC program (particularly, the updated version program), and the acquired identification information is not included in the history information 11 It may have a function that does not permit downloading of the updated program.

尚、上記「取得した識別情報が履歴情報11に含まれている」ことを確認する処理は、ダウンロード対象のPLC1において現在、保持・運用されているプログラムが、ダウンロード対象のプログラム(最新版のプログラム等)の祖先に相当するか否かを判定する処理と言える。逆に言えば、最新版のプログラム等が、ダウンロード対象のPLC1のプログラムの子孫に相当するか否かを判定する処理と言える。尚、プログラムの更新は、祖先から子孫へと世代を重ねることに相当し、子孫は祖先の内容を引き継ぐことが必要とされる。   Note that the process of confirming that “the acquired identification information is included in the history information 11” is that the program currently held and operated in the PLC 1 to be downloaded is the program to be downloaded (the latest version of the program). It can be said that it is a process for determining whether or not it corresponds to an ancestor. In other words, it can be said that it is a process for determining whether or not the latest version of the program corresponds to a descendant of the program of the PLC 1 to be downloaded. Note that the update of the program is equivalent to generations from an ancestor to a descendant, and the descendant is required to take over the contents of the ancestor.

また、図2のPLC1の構成について簡単に説明するならば、PLC1は通信機能部41、プログラム実行管理機能部42等の各種機能部を有する。ここで、PLC1は、不図示のCPU/MPU等の演算プロセッサや、メモリ等の不図示の記憶装置も有しており、記憶装置には予め所定のアプリケーションプログラムが記憶されている。上記各種機能部の後述する処理機能は、上記不図示の演算プロセッサが、このアプリケーションプログラムを読出し・実行することにより実現される。   2 will be briefly described. The PLC 1 includes various function units such as a communication function unit 41 and a program execution management function unit 42. Here, the PLC 1 also includes an arithmetic processor such as a CPU / MPU (not shown) and a storage device (not shown) such as a memory, and a predetermined application program is stored in the storage device in advance. Processing functions to be described later of the various functional units are realized when the arithmetic processor (not shown) reads and executes the application program.

また、上記不図示の記憶装置には、識別情報43や機械語オブジェクト44等が記憶される。PLC1は、機械語オブジェクト44を実行することで、例えば不図示の制御対象機器の制御等を行う。また、本例では、特許文献1と同様、機械語オブジェクト44の更新は、PLC1を停止することなく稼働中に行うことを前提とする。   The storage device (not shown) stores identification information 43, machine language object 44, and the like. The PLC 1 executes, for example, the machine language object 44 to control, for example, a control target device (not shown). Further, in this example, similarly to Patent Document 1, it is assumed that the update of the machine language object 44 is performed during operation without stopping the PLC 1.

PLC1の構成・処理動作は、特許文献1と同様であってよいので、その一部について、以下、簡単に説明する。
通信機能部41は、上記支援装置10と上記不図示の通信線を介してデータ送受信等を行う機能部であり、特に上記識別情報付きの機械語オブジェクト27がダウンロードされてくると、この識別情報を新たな識別情報43として上書き記憶すると共に、この機械語オブジェクト27を新たな機械語オブジェクト44として上記不図示の記憶装置等に記憶する。
Since the configuration / processing operation of the PLC 1 may be the same as that of Patent Document 1, a part thereof will be briefly described below.
The communication function unit 41 is a function unit that performs data transmission / reception and the like with the support apparatus 10 via the communication line (not shown). In particular, when the machine language object 27 with the identification information is downloaded, the identification information Is overwritten and stored as new identification information 43, and this machine language object 27 is stored as a new machine language object 44 in the storage device (not shown) or the like.

支援装置10は、特許文献1と同様、必要に応じて上記識別情報43を読み出して、ダウンロード許可判定等を行う。
図3は、上記管理情報(履歴情報11+ダウンロード情報12)の状態遷移例を示す図である。
As in Patent Document 1, the support device 10 reads the identification information 43 as necessary, and performs download permission determination or the like.
FIG. 3 is a diagram illustrating a state transition example of the management information (history information 11 + download information 12).

尚、図3では、簡単の為、ダウンロード情報12は、任意の一台のPLC1に対応するダウンロード情報12のみを示すものとする。
まず、更新版ではない新規のプログラムのソースコード26が作成された場合、そのコンパイル処理の際に、識別情報を割り当てて、この識別情報を世代‘1’として履歴情報11に登録する。この履歴情報11への新規登録時に、新規登録した識別情報11bに対応するダウンロード状態を、全てのPLCについて「未使用」とする。上記の通り、図3では1台のPLC1についてのみ示すが、例えば図1の例では4台のPLC1a〜1d全てについて「未使用」となることになる。
In FIG. 3, for the sake of simplicity, the download information 12 indicates only the download information 12 corresponding to one arbitrary PLC 1.
First, when the source code 26 of a new program that is not an updated version is created, identification information is assigned during the compilation process, and this identification information is registered in the history information 11 as generation '1'. At the time of new registration in the history information 11, the download state corresponding to the newly registered identification information 11b is set to “unused” for all the PLCs. As described above, FIG. 3 shows only one PLC 1. For example, in the example of FIG. 1, all four PLCs 1 a to 1 d are “unused”.

上記の通り、「未使用」は、その識別情報11bのプログラムが、そのPLC1の次の更新時にダウンロードされる予定であることを意味しているが、図3の例では、次の更新時となる前に、上記プログラムの更新が行われた場合を示している。この場合、この更新版プログラムのコンパイル処理の際に、識別情報‘0000-0001’が世代‘2’として履歴情報11に登録される。更に、これに対応するダウンロード情報12に「未使用」が登録される。更に、既存の世代(ここでは世代‘1’のみである)のダウンロード情報12は、「未使用」は全て「使用済」に変更する。   As described above, “unused” means that the program of the identification information 11b is scheduled to be downloaded at the next update of the PLC 1, but in the example of FIG. Before the above, the case where the program is updated is shown. In this case, the identification information ‘0000-0001’ is registered in the history information 11 as the generation ‘2’ when compiling the updated program. Furthermore, “unused” is registered in the download information 12 corresponding to this. Further, in the download information 12 of the existing generation (here, only generation “1”), “unused” is changed to “used”.

尚、上記の通り、「使用済」は、それ以降、そのプログラムはそのPLC1にダウンロードされることはないことを意味している。そして、一度もPLC1にダウンロードされることなく「使用済」となるプログラムも、あり得る。   As described above, “used” means that the program will not be downloaded to the PLC 1 thereafter. There may be a program that is “used” without being downloaded to the PLC 1.

そして、上記の状態のとき、PLC1の次のプログラム更新が行われることになったものとする。これは、例えばユーザが任意に指定するが、この例に限らない。よって、この例では、上記世代‘2’の更新版プログラムが、その識別情報‘0000-0001’と共に、PLC1にダウンロードされることになる。そして、これに伴って、この識別情報‘0000-0001’に対応するダウンロード情報12を、「未使用」から「使用中」に変更する。   It is assumed that the next program update of the PLC 1 is performed in the above state. This is arbitrarily designated by the user, for example, but is not limited to this example. Therefore, in this example, the updated program of the generation “2” is downloaded to the PLC 1 together with the identification information “0000-0001”. Accordingly, the download information 12 corresponding to the identification information “0000-0001” is changed from “unused” to “in use”.

その後も、同様にして、新たな更新版プログラムが作成される毎に、そのコンパイル処理に伴って、新たな識別情報が新たな世代と共に履歴情報11に追加登録されると共に、この新たな識別情報11bに対応付するダウンロード情報12を「未使用」とする。更に、既存世代のダウンロード情報12のなかで「未使用」となっているものは「使用済」に変更する。   After that, every time a new updated program is created, new identification information is additionally registered in the history information 11 together with a new generation along with the compilation process. It is assumed that the download information 12 associated with 11b is “unused”. Further, the download information 12 of the existing generation that is “unused” is changed to “used”.

また、PLC1のプログラム更新時となる毎に、その時点での最新の世代の更新版プログラム(換言すれば、その識別情報11bに対応するダウンロード情報12が「未使用」となっている更新版プログラム)を、その識別情報と一緒にPLC1にダウンロードすると共に、当該ダウンロード情報12を「未使用」から「使用中」に変更する。更に、それまで「使用中」となっていた古い世代のダウンロード情報12を、当該「使用中」から「使用済」に変更する。   Further, every time the program of the PLC 1 is updated, the latest generation update program at that time (in other words, the update program in which the download information 12 corresponding to the identification information 11b is “unused”). ) Together with the identification information is downloaded to the PLC 1, and the download information 12 is changed from “unused” to “in use”. Further, the download information 12 of the old generation that has been “in use” until then is changed from “in use” to “used”.

図示の例では、上記世代‘2’の更新版プログラムをPLC1にダウンロード後、支援装置10側において何度も更新版プログラムの作成が行われ、その都度、上記のように管理情報(履歴情報11+ダウンロード情報12)の更新が行われたものとする。そして、その間、PLC1のプログラム更新は、行われなかったものとする。   In the illustrated example, after the update program of the generation '2' is downloaded to the PLC 1, the update program is created many times on the support device 10 side, and management information (history information 11+ as described above) is created each time. It is assumed that the download information 12) has been updated. In the meantime, the program update of the PLC 1 is not performed.

これより、図示のように、上記世代‘2’に対応するダウンロード情報12が上記「使用中」のままの状態となっており、最新の世代‘m’の識別情報‘0000-000m’に対応するダウンロード情報12は「未使用」となっており、これら以外の世代全ては、ダウンロード情報12が「使用済」となっている。   Thus, as shown in the figure, the download information 12 corresponding to the generation '2' remains in the “in use” state, and corresponds to the latest generation 'm' identification information '0000-000m'. The download information 12 to be used is “unused”, and for all other generations, the download information 12 is “used”.

この状態で、PLC1のプログラム更新が行われた場合、上記世代‘2’のダウンロード情報12は上記「使用中」から「使用済」に変更され、上記世代‘m’のダウンロード情報12は上記「未使用」から「使用中」に変更されることになる。   In this state, when the program update of the PLC 1 is performed, the download information 12 of the generation “2” is changed from “in use” to “used”, and the download information 12 of the generation “m” is changed to “ It will be changed from “Unused” to “In Use”.

その後、更に、世代‘m+1’の更新版プログラムが作成されると、最新の世代‘m+1’の識別情報‘0000-000m+1’に対応するダウンロード情報12は、全てのコントローラについて「未使用」となることになる。   Thereafter, when an updated version program of generation “m + 1” is created, the download information 12 corresponding to the latest generation “m + 1” identification information “0000-000m + 1” is “unused” for all the controllers. Will be.

尚、上記の通り、図3に示すダウンロード情報12の遷移は、任意の1台のコントローラについてのみ示すが、実際には他の各コントローラに関しても同様にしてダウンロード情報の遷移が行われることになる。そして、各世代毎に全てのコントローラのダウンロード情報12が「使用済」となっているか否かを判別することによって、その世代の識別情報が削除可能か否かを判定することになる。すなわち、任意の世代に対応するダウンロード情報12が全コントローラについて「使用済」となっている場合には、この世代に関する情報は必要ないものと見做して削除する。これは、例えば上記のように、削除対象となった世代11aと識別情報11bのレコードを履歴情報11から削除するものである。これによって履歴情報11のデータ量を削減できる。但し、この例に限らず、更に、ダウンロード情報12のなかで削除対象の識別情報11bに対応するレコードも、一緒に削除してもよい。これによって、管理情報のデータ量を削減できる。   As described above, the transition of the download information 12 shown in FIG. 3 is shown for only one arbitrary controller, but in practice, the download information is similarly transitioned for the other controllers. . Then, by determining whether or not the download information 12 of all the controllers is “used” for each generation, it is determined whether or not the identification information of that generation can be deleted. That is, when the download information 12 corresponding to an arbitrary generation is “used” for all the controllers, the information regarding this generation is deemed unnecessary and is deleted. For example, as described above, the records of the generation 11a and the identification information 11b that are to be deleted are deleted from the history information 11. Thereby, the data amount of the history information 11 can be reduced. However, the present invention is not limited to this example, and the record corresponding to the deletion target identification information 11b in the download information 12 may be deleted together. Thereby, the data amount of management information can be reduced.

例えば、上記管理情報(履歴情報11+ダウンロード情報12)が、例えば、図4に示す状態となった場合には、世代‘1’は削除対象であると判定される。これより、例えば、世代‘1’の識別情報(0000-0000)等と、これに対応するダウンロード情報12(全て「使用済」)は、削除される。これによって、管理情報のデータ量を削減できる。   For example, when the management information (history information 11 + download information 12) is in the state shown in FIG. 4, for example, it is determined that the generation “1” is a deletion target. Thereby, for example, the identification information (0000-0000) of the generation “1” and the corresponding download information 12 (all “used”) are deleted. Thereby, the data amount of management information can be reduced.

また、図示の状態で履歴情報11から世代‘1’の情報を削除しても、上記特許文献1の発明の動作には、何等問題は生じない。特許文献1の発明の場合、基本的に必要となるのは、「使用中」と「未使用」の情報であるので、図4の例の状態では世代‘1’の情報は削除しても問題ないことになる。尚、これより、図4の例において例えば世代‘2’までも削除した場合、PLC1a,1b,1dについては問題はないが、PLC1cについては問題があることになる。   Further, even if the information of the generation “1” is deleted from the history information 11 in the state shown in the figure, no problem occurs in the operation of the invention of the above-mentioned Patent Document 1. In the case of the invention of Patent Document 1, basically, what is required is “in use” and “unused” information. Therefore, in the state of the example of FIG. There will be no problem. Note that, in the example of FIG. 4, for example, when even generation “2” is deleted, there is no problem with the PLCs 1a, 1b, and 1d, but there is a problem with the PLC 1c.

ここで、支援装置10において、上記の通り、コンパイル処理毎に、あるいは任意のPLC1のプログラム更新(ダウンロード)を行う際に、上記管理情報の更新が行われることになる。これについて、以下、図5、図6を参照して説明する。   Here, in the support device 10, as described above, the management information is updated for each compilation process or when the program update (download) of an arbitrary PLC 1 is performed. This will be described below with reference to FIGS.

コンパイルの際のダウンロード情報12の更新処理は、概略的には図3で説明したように、新たに登録された識別情報11bに対しては「未使用」に設定し、既存の識別情報11bに対しては「未使用」は「使用済」に変更する処理となる。また、この場合、新たに生成された識別情報が履歴情報11に登録されることで、全てのコントローラに影響が及ぶため、全てのコントローラに対して上記処理を実施する必要がある。   The update process of the download information 12 at the time of compiling is generally set to “unused” for the newly registered identification information 11b as described in FIG. On the other hand, “unused” is changed to “used”. In this case, since the newly generated identification information is registered in the history information 11 and affects all the controllers, it is necessary to perform the above process on all the controllers.

図5は、コンパイルの際のダウンロード情報の更新処理のフローチャート図である。
尚、図示の処理開始時には、コンパイル処理に伴う履歴情報11の更新は、既に実行されているものとする。これより、履歴情報11には新たな識別情報11bが追加されているが、この新規の識別情報11bに対応するダウンロード情報12は、未登録の状態である。この状態で、図5の処理が実行開始される。
FIG. 5 is a flowchart of download information update processing during compilation.
Note that at the start of the illustrated process, it is assumed that the update of the history information 11 accompanying the compilation process has already been executed. Accordingly, new identification information 11b is added to the history information 11, but the download information 12 corresponding to the new identification information 11b is in an unregistered state. In this state, execution of the process of FIG. 5 is started.

図5の処理では、履歴情報11から任意の1つの識別情報11bを読み出す毎に(ステップS11)、これを処理対象としてステップS12〜S19の処理を実行することを繰り返す。   In the process of FIG. 5, every time any one piece of identification information 11b is read from the history information 11 (step S11), the process of steps S12 to S19 is repeatedly executed with this as a processing target.

まず、上記処理対象の識別情報11bが、上記今回追加された新規の識別情報であるか否かを判定する(ステップS12)。これは、例えば上記のように新規の識別情報11bに対応するダウンロード情報12は、未だ登録されていないことによって、判別可能であるが、他の方法であっても構わない。   First, it is determined whether the identification information 11b to be processed is the new identification information added this time (step S12). This can be determined because, for example, the download information 12 corresponding to the new identification information 11b is not yet registered as described above, but other methods may be used.

処理対象の識別情報11bが、上記新規の識別情報である場合には(ステップS12,YES)、この識別情報11bに対応するダウンロード情報12を、全てのPLC1について「未使用」に設定する(ステップS13,S14)。そして、ステップS11に戻り、次の処理対象を決定する。但し、全ての世代を処理対象として処理実行済みの場合には(ステップS15,YES)本処理を終了する。   When the identification information 11b to be processed is the new identification information (step S12, YES), the download information 12 corresponding to the identification information 11b is set to “unused” for all the PLCs 1 (step S12). S13, S14). And it returns to step S11 and determines the next process target. However, if the processing has been executed for all generations (step S15, YES), this processing ends.

一方、処理対象が既存の識別情報である場合には(ステップS12,NO)、処理対象の識別情報11bに対応するダウンロード情報12のうちの1つを読み出して(ステップS16)、読み出したダウンロード情報12(ダウンロード状態)が「未使用」である場合には(ステップS17,YES)、この「未使用」を「使用済」に変更して(ステップS18)、ステップS19へ移行する。一方、読み出したダウンロード状態が「未使用」以外である場合には(「使用中」または「使用済」である場合には)(ステップS17,NO)、何も行わずにステップS19へ移行する。   On the other hand, when the processing target is existing identification information (step S12, NO), one of the download information 12 corresponding to the processing target identification information 11b is read (step S16), and the downloaded download information is read out. When 12 (download state) is “unused” (step S17, YES), this “unused” is changed to “used” (step S18), and the process proceeds to step S19. On the other hand, if the read download state is other than “unused” (in the case of “in use” or “used”) (NO in step S17), the process proceeds to step S19 without performing anything. .

処理対象の識別情報11bに対応するダウンロード情報12のなかに未処理のダウンロード情報12がある場合には(ステップS19,NO)、ステップS16に戻り、上記処理を繰り返す。処理対象のダウンロード情報12全てについて処理実行したら(ステップS19,YES)、上記ステップS15の処理へ移行する。   If there is unprocessed download information 12 in the download information 12 corresponding to the identification information 11b to be processed (NO in step S19), the process returns to step S16 and the above process is repeated. When the process is executed for all the download information 12 to be processed (step S19, YES), the process proceeds to step S15.

図6は、任意のPLCのプログラム更新の際のダウンロード情報の更新処理のフローチャート図である。
任意のPLC1への任意のプログラムのダウンロードの際には、上述したように、このダウンロード対象のPLC1に係わるダウンロード情報12において最新の世代の識別情報に対応するダウンロード状態は、「未使用」から「使用中」に変更する。更に、このPLC1に係わるダウンロード情報12において、このPLC1で運用中であったプログラムの識別情報に対応するダウンロード状態を、「使用中」から「使用済」に変更する。
FIG. 6 is a flowchart of download information update processing when updating an arbitrary PLC program.
When downloading an arbitrary program to an arbitrary PLC 1, as described above, the download state corresponding to the latest generation identification information in the download information 12 related to the download target PLC 1 changes from “unused” to “ Change to “In Use”. Further, in the download information 12 related to the PLC 1, the download state corresponding to the identification information of the program being operated on the PLC 1 is changed from “in use” to “used”.

また、上記のようにこの場合は、ダウンロード対象のPLC1に係わるダウンロード情報12のみが更新対象となる。その為に、例えば、上記コントローラ情報13を利用して、対象コントローラから読み出した識別子(例えば、MACアドレス)によって対象コントローラを特定した上で、この対象コントローラに係わるダウンロード情報12を更新対象とする。   Further, as described above, in this case, only the download information 12 related to the download target PLC 1 is the update target. For this purpose, for example, the controller information 13 is used to specify the target controller by an identifier (for example, a MAC address) read from the target controller, and the download information 12 related to the target controller is set as the update target.

この例に応じて、図6の処理例では、まず、プログラムのダウンロード対象のPLC1からその識別子(例えば、上記PLC-ID)を読み出すことで、処理対象のコントローラを識別する(ステップS21)。   In accordance with this example, in the processing example of FIG. 6, first, the controller to be processed is identified by reading the identifier (for example, the PLC-ID) from the PLC 1 to which the program is to be downloaded (step S21).

そして、ダウンロード対象のPLC1が、新規のコントローラであるか否かを判定する(ステップS22)。これは、例えば、上記読み出した識別子が、上記コントローラ情報13に登録されていない場合には、新規のコントローラと見做す。当然、この場合には、このコントローラに関するダウンロード情報12は存在しないことになる。   Then, it is determined whether or not the PLC 1 to be downloaded is a new controller (step S22). For example, if the read identifier is not registered in the controller information 13, it is regarded as a new controller. Of course, in this case, the download information 12 relating to this controller does not exist.

これより、ダウンロード対象が新規のコントローラである場合には(ステップS22,YES)、下記のステップS23の処理を実行する。
ステップS23の処理は、例えばまず、上記読み出した識別子をコントローラ情報13のPLC-ID13bに登録する。その際、任意に生成したPLC名13aと対応付けて登録する。更に、このPLC名13aを用いて、新規コントローラに関するダウンロード情報12を新規作成する。このダウンロード情報12は、例えば、その時点での最新世代に対してのみ「未使用」とし、それ以外の世代は全て「使用済」とする。尚、ここでは、PLC名13aにおける例えば‘1a’が、ダウンロード情報12における“PLC1a”を意味するものとする。
As a result, when the download target is a new controller (step S22, YES), the processing of the following step S23 is executed.
In the process of step S23, for example, first, the read identifier is registered in the PLC-ID 13b of the controller information 13. At that time, registration is performed in association with the arbitrarily generated PLC name 13a. Furthermore, the download information 12 relating to the new controller is newly created using the PLC name 13a. The download information 12 is, for example, “unused” only for the latest generation at that time, and all other generations are “used”. Here, for example, “1a” in the PLC name 13a means “PLC1a” in the download information 12.

以上のステップS23の処理を実行したら、履歴情報11から最新世代の識別情報11bを読み出すと共に(ステップS27)、上記ダウンロード対象のPLC1に係わるダウンロード情報12における最新世代のダウンロード状態を、「未使用」から「使用中」に変更する(ステップS28)。   When the processing in step S23 is executed, the latest generation identification information 11b is read from the history information 11 (step S27), and the download state of the latest generation in the download information 12 related to the download target PLC 1 is set to “unused”. To “in use” (step S28).

尚、特に図示していないが、上記ステップS27で読み出した識別情報に対応する更新版プログラム、すなわち現時点での最新の更新版プログラムを、当該識別情報と一緒に上記ダウンロード対象のPLC1にダウンロードする処理等も実行される。   Although not particularly illustrated, a process for downloading the updated version program corresponding to the identification information read out in step S27, that is, the latest updated program at the present time, together with the identification information to the PLC 1 to be downloaded. Etc. are also executed.

一方、上記ダウンロード対象のPLC1が、新規のコントローラではない場合には(ステップS22,NO)、上記コントローラ情報13から読み出した識別子に対応するPLC名13aを取得して、該当するダウンロード情報12を特定する(ステップS24)。仮に、取得したPLC名13a=「PLC1c」であったとするならば、図4の例では、図上右から2番目の列のダウンロード情報12が、特定されることになる。   On the other hand, when the PLC 1 to be downloaded is not a new controller (step S22, NO), the PLC name 13a corresponding to the identifier read from the controller information 13 is acquired and the corresponding download information 12 is specified. (Step S24). If the acquired PLC name 13a = “PLC1c” is assumed, the download information 12 in the second column from the right in the figure is specified in the example of FIG.

そして、上記ダウンロード対象のPLC1から識別情報を読み出して、これが履歴情報11に登録されているか否かを判定する(ステップS25)。尚、特に図示しないが、もし履歴情報11に登録されていないならば、上記特許文献1と同様、ダウンロードは許可されない。これより、例えばステップS26に移行することなく、本処理を中断・終了する。   Then, the identification information is read from the PLC 1 to be downloaded, and it is determined whether or not it is registered in the history information 11 (step S25). Although not particularly shown, if it is not registered in the history information 11, downloading is not permitted as in the above-mentioned Patent Document 1. Thus, for example, this process is interrupted / terminated without moving to step S26.

一方、上記読み出した識別情報が履歴情報11に登録されているならば、この識別情報に対応するダウンロード状態が「使用中」であることを確認したうえで、この「使用中」を「使用済」に変更する(ステップS26)。その後は、上記ステップS27、S28の処理を実行して、本処理を終了する。   On the other hand, if the read identification information is registered in the history information 11, after confirming that the download state corresponding to this identification information is “in use”, this “in use” is changed to “used”. (Step S26). Thereafter, the processes in steps S27 and S28 are executed, and this process is terminated.

尚、もし、読み出した識別情報に対応するダウンロード状態が「使用中」ではなかった場合には、例えばエラー表示等を行うが、この例に限らない。
以上、本例のプログラマブルコントローラシステムについて説明したが、この説明の例に限るものではない。例えば、上記説明の例では、その識別情報に対応する全てのダウンロード状態が「使用済」となったか否かを、識別情報等の削除に係わる判定方法としたが、識別情報等の削除に係わる判定方法は、この例に限らない。例えば、図7に示すコントローラ数51が‘0’になったか否かを、識別情報等の削除に係わる判定方法としてもよい。これについて、以下、図7の具体例を参照して説明する。
If the download state corresponding to the read identification information is not “in use”, for example, an error display is performed, but the present invention is not limited to this example.
Although the programmable controller system of this example has been described above, the present invention is not limited to this example. For example, in the example described above, whether or not all the download states corresponding to the identification information are “used” is the determination method related to the deletion of the identification information, etc. The determination method is not limited to this example. For example, whether or not the controller number 51 shown in FIG. 7 has become “0” may be a determination method related to deletion of identification information or the like. This will be described below with reference to a specific example of FIG.

図7に示す例では、履歴情報11の各世代(各識別情報)に対応付けて、コントローラ数51を格納・管理する。尚、このコントローラ数51は、ダウンロード情報12の他の例と見做してもよい。つまり、ダウンロード情報12の一例が上述したダウンロード状態(「使用中」、「使用済」、「未使用」)であり、ダウンロード情報12の他の例が図示のコントローラ数51であると見做しても構わない。   In the example illustrated in FIG. 7, the controller number 51 is stored and managed in association with each generation (each identification information) of the history information 11. The controller number 51 may be regarded as another example of the download information 12. That is, it is assumed that one example of the download information 12 is the above-described download state (“used”, “used”, “unused”), and another example of the download information 12 is the number of controllers 51 illustrated. It doesn't matter.

コントローラ数は、初期状態では例えば「NULL」となっており、その世代(識別情報)のプログラムが、初めてPLC1にダウンロードされたときに“1”となる。つまり、任意の世代(識別情報)のプログラムがPLC1にダウンロードされたときに、その世代のコントローラ数がNULL状態であればコントローラを‘1’にし、NULL以外であればコントローラ数を+1インクリメントする。   The number of controllers is, for example, “NULL” in the initial state, and becomes “1” when the program of the generation (identification information) is downloaded to the PLC 1 for the first time. That is, when a program of an arbitrary generation (identification information) is downloaded to the PLC 1, if the number of controllers in that generation is in the NULL state, the controller is set to “1”, and if it is not NULL, the number of controllers is incremented by +1.

よって、上記コントローラが‘1’となった後は、その世代(識別情報)のプログラムがPLC1へダウンロードされる毎に、コントローラ数51は+1インクリメントされる。一方で、上記ステップS26に相当する処理が行われる毎に、その世代(識別情報11b)のコントローラ数51を−1デクリメントする。つまり、各世代(識別情報11b)に対応するコントローラ数51は、任意のときにその時点でその世代(識別情報)のプログラムを保持・運用していると見做されるPLC1の数を意味することになる。   Therefore, after the controller becomes “1”, the controller number 51 is incremented by +1 each time the program of that generation (identification information) is downloaded to the PLC 1. On the other hand, every time the processing corresponding to step S26 is performed, the controller number 51 of the generation (identification information 11b) is decremented by -1. That is, the controller number 51 corresponding to each generation (identification information 11b) means the number of PLCs 1 that are considered to hold and operate the program of that generation (identification information) at any given time. It will be.

これより、コントローラ数51がゼロとなった世代の識別情報11b等は、不要となった古い世代の識別情報等であると判断して、削除するようにする。その際、対応するコントローラ数51の情報も一緒に削除するようにしてもよい。   Accordingly, the identification information 11b of the generation whose controller number 51 becomes zero is determined to be the identification information of the old generation that is no longer necessary, and is deleted. At this time, information on the corresponding number of controllers 51 may be deleted together.

このように、方法は様々であってよく、基本的には、ダウンロード情報12に基づいて、その識別情報11bのプログラムが全てのコントローラについて「現在使用中ではなく且つ今後ダウンロードされることもない」と判定する場合に、該識別情報11b等を不要な識別情報等と見做して削除するようにすればよい。尚、ダウンロード情報12は、例えば上記ダウンロード状態や上記コントローラ数51等であるが、これらの例に限らない。   As described above, the method may be various. Basically, based on the download information 12, the program of the identification information 11b is “not currently used and will not be downloaded in the future” for all the controllers. When the determination is made, the identification information 11b and the like may be regarded as unnecessary identification information and deleted. The download information 12 includes, for example, the download state and the number of controllers 51, but is not limited to these examples.

あるいは、任意のコントローラへプログラムをダウンロードする際、上記特許文献1の判定処理によりダウンロード許可されなかった場合、このコントローラに係わるダウンロード情報12を、削除するようにしてもよい。この場合、このコントローラのプログラム更新等は、他の支援装置10が行う状態となっているはずであるので、このコントローラに関する情報は必要なくなったからである。   Alternatively, when downloading a program to an arbitrary controller, if the download is not permitted by the determination process of Patent Document 1, the download information 12 related to this controller may be deleted. In this case, the program update and the like of this controller should be performed by another support apparatus 10, and information about this controller is no longer necessary.

以上説明したように、本手法のプログラマブルコントローラシステムでは、その支援装置は、例えば一例としては、世代管理された識別情報毎に各コントローラへのダウンロード状態(未使用、使用中、使用済)を示すダウンロード情報を記憶・管理し、新たな更新版プログラムのコンパイル処理実行毎に、あるいは更新版プログラムを任意のコントローラにダウンロードする毎に、ダウンロード情報を更新する。そして、全てのコントローラのダウンロード状態が「使用済」となった世代の識別情報を削除する。   As described above, in the programmable controller system of the present method, for example, the support device indicates a download state (unused, in use, used) to each controller for each generation-managed identification information. Download information is stored and managed, and the download information is updated each time a new update program is compiled or each time the update program is downloaded to an arbitrary controller. Then, the identification information of the generation whose download status of all the controllers is “used” is deleted.

この様な本手法のプログラマブルコントローラシステム、その支援装置によれば、コンパイル毎に生成される固有の識別情報の履歴を管理することにより、稼働中のコントローラを停止することなくプログラムを更新できるシステムに関して、不要となって識別情報を判別して削除することができる。これによって、識別情報の履歴が増大することを防止でき、以って、動作が重くなるといった不安定なことが無くなり、ユーザに対して余計な不安を抱かせることなく、快適な操作性を提供することができる。   According to such a programmable controller system of this method and its support device, a system that can update a program without stopping a running controller by managing a history of unique identification information generated for each compilation The identification information can be determined and deleted as it becomes unnecessary. As a result, the history of identification information can be prevented from increasing, so that unstable operations such as heavy operation are eliminated, and comfortable operability is provided without causing any additional anxiety to the user. can do.

1(1a,1b,1c,1d) PLC(プログラマブルコントローラ)
10 支援装置
11 履歴情報
11a 世代
11b 識別情報
12 ダウンロード情報
13 コントローラ情報
13a PLC名
13b PLC-ID
21 ユーザインターフェース機能部
22 コンパイラ部
23 識別情報生成部
24 識別情報管理部
25 通信機能部
26 ソースコード
27 機械語オブジェクト
30 管理情報記憶部
41 通信機能部
42 プログラム実行管理機能部
43 識別情報
44 機械語オブジェクト
51 コントローラ数
1 (1a, 1b, 1c, 1d) PLC (programmable controller)
10 Support device 11 History information 11a Generation 11b Identification information 12 Download information 13 Controller information 13a PLC name 13b PLC-ID
21 user interface function unit 22 compiler unit 23 identification information generation unit 24 identification information management unit 25 communication function unit 26 source code 27 machine language object 30 management information storage unit 41 communication function unit 42 program execution management function unit 43 identification information 44 machine language Object 51 Number of controllers

Claims (9)

支援装置と複数のコントローラを有するプログラマブルコントローラシステムであって、
前記支援装置は、
前記コントローラ用のプログラムである任意のプログラムやその更新版プログラムが作成される毎に、該コントローラ用プログラムをコンパイルすると共に対応する一意の識別情報を生成するコンパイル手段と、
該識別情報を世代管理する履歴情報を記憶する履歴情報記憶手段と、
該履歴情報の各識別情報に対応付けて、その識別情報に対応する前記コントローラ用プログラムに係わる各コントローラへのダウンロード情報を記憶するダウンロード情報記憶手段と、
該ダウンロード情報に基づいて、前記履歴情報において不要な識別情報を判別して、該識別情報を前記履歴情報から削除する不要情報削除手段と、
を有することを特徴とするプログラマブルコントローラシステム。
A programmable controller system having a support device and a plurality of controllers,
The support device includes:
Compile means for compiling the controller program and generating corresponding unique identification information each time an arbitrary program that is a program for the controller or an updated version program thereof is created;
History information storage means for storing history information for generation management of the identification information;
Download information storage means for storing the download information to each controller related to the controller program corresponding to the identification information in association with each identification information of the history information;
Unnecessary information deletion means for determining unnecessary identification information in the history information based on the download information and deleting the identification information from the history information;
A programmable controller system comprising:
前記不要情報削除手段は、前記ダウンロード情報に基づいて、その識別情報に対応する前記コントローラ用プログラムが、全てのコントローラについて現在使用中ではなく且つ今後ダウンロードされることもないと判定する場合、該識別情報を前記不要な識別情報とすることを特徴とする請求項1記載のプログラマブルコントローラシステム。   When the unnecessary information deleting means determines, based on the download information, that the controller program corresponding to the identification information is not currently used and will not be downloaded in the future, the identification The programmable controller system according to claim 1, wherein information is the unnecessary identification information. 前記ダウンロード情報は、各識別情報毎に、各コントローラについて「使用中」、「未使用」、「使用済」の何れの状態であるかを示す情報であり、
前記不要情報削除手段は、任意の識別情報に対応する前記状態が全て「使用済」である場合に、その識別情報を前記不要な識別情報と判定することを特徴とする請求項2記載のプログラマブルコントローラシステム。
The download information is information indicating which state is “in use”, “unused”, or “used” for each controller for each identification information,
The programmable information according to claim 2, wherein the unnecessary information deleting unit determines the identification information as the unnecessary identification information when all the states corresponding to arbitrary identification information are “used”. Controller system.
前記「未使用」は前記コントローラの次のプログラム更新時にダウンロード予定であることを示し、前記「使用中」は前記コントローラで使用中であることを示し、前記「使用済」はその時点以降に前記コントローラにダウンロードされることはないことを示すことを特徴とする請求項3記載のプログラマブルコントローラシステム。   The “unused” indicates that the controller is scheduled to be downloaded at the next program update of the controller, the “used” indicates that the controller is in use, and the “used” indicates that the 4. The programmable controller system according to claim 3, wherein the programmable controller system indicates that no data is downloaded to the controller. 前記支援装置は、前記状態を更新する状態更新手段であって、任意の前記コントローラ用プログラムがコンパイルされることに伴って前記履歴情報にその識別情報を追加すると共に該識別情報に対応する前記状態を全て新たな「未使用」とすると共に、既存の「未使用」は全て「使用済」とする状態更新手段を更に有することを特徴とする請求項3または4記載のプログラマブルコントローラシステム。   The support device is state update means for updating the state, and adds the identification information to the history information as the controller program is compiled, and the state corresponding to the identification information 5. The programmable controller system according to claim 3, further comprising a state updating unit that sets all of the existing “unused” to “used”, and sets all the existing “unused” to “used”. 前記ダウンロード情報は、各識別情報毎に、その識別情報に対応するコントローラ用プログラムを現在保持・運用していると見做されるコントローラ数であり、
前記不要情報削除手段は、任意の識別情報に対応する前記コントローラ数がゼロとなった場合に、該識別情報を前記不要な識別情報と判定することを特徴とする請求項1記載のプログラマブルコントローラシステム。
The download information is, for each identification information, the number of controllers that are considered to be currently holding and operating a controller program corresponding to the identification information,
The programmable controller system according to claim 1, wherein the unnecessary information deleting unit determines the identification information as the unnecessary identification information when the number of controllers corresponding to arbitrary identification information becomes zero. .
前記支援装置は、任意の前記コントローラに対して前記コントローラ用プログラムをその前記識別情報と共にダウンロードするダウンロード手段を更に有し、
前記コントローラは、
前記ダウンロードされる前記コントローラ用プログラムとその識別情報とを記憶する記憶手段と、
該記憶手段に記憶されるコントローラ用プログラムを実行するプログラム実行手段と、
を有することを特徴とする請求項1〜6の何れかに記載のプログラマブルコントローラシステム。
The support apparatus further includes a download unit that downloads the controller program together with the identification information to an arbitrary controller,
The controller is
Storage means for storing the downloaded controller program and its identification information;
Program execution means for executing a controller program stored in the storage means;
The programmable controller system according to claim 1, wherein the programmable controller system includes:
前記支援装置は、
前記コントローラ用プログラムのダウンロード対象のコントローラの前記記憶手段に記憶されている識別情報を取得して、該取得した識別情報が前記履歴情報に含まれていない場合には、前記ダウンロード手段によるダウンロードを許可しない許可手段を更に有することを特徴とする請求項7記載のプログラマブルコントローラシステム。
The support device includes:
The identification information stored in the storage means of the controller to be downloaded of the controller program is acquired, and if the acquired identification information is not included in the history information, the download by the download means is permitted. 8. The programmable controller system according to claim 7, further comprising permission means for disabling.
支援装置と複数のコントローラを有するプログラマブルコントローラシステムにおける該支援装置であって、
前記コントローラ用のプログラムである任意のプログラムやその更新版プログラムが作成される毎に、該コントローラ用プログラムをコンパイルすると共に対応する一意の識別情報を生成するコンパイル手段と、
該識別情報を世代管理する履歴情報を記憶する履歴情報記憶手段と、
該履歴情報の各識別情報に対応付けて、その識別情報に対応する前記コントローラ用プログラムに係わる各コントローラへのダウンロード情報を記憶するダウンロード情報記憶手段と、
該ダウンロード情報に基づいて、前記履歴情報において不要な識別情報を判別して、該識別情報を前記履歴情報から削除する不要情報削除手段と、
を有することを特徴とするプログラマブルコントローラシステムの支援装置。

The support device in a programmable controller system having a support device and a plurality of controllers,
Compile means for compiling the controller program and generating corresponding unique identification information each time an arbitrary program that is a program for the controller or an updated version program thereof is created;
History information storage means for storing history information for generation management of the identification information;
Download information storage means for storing the download information to each controller related to the controller program corresponding to the identification information in association with each identification information of the history information;
Unnecessary information deletion means for determining unnecessary identification information in the history information based on the download information and deleting the identification information from the history information;
An apparatus for supporting a programmable controller system, comprising:

JP2014120670A 2014-06-11 2014-06-11 Programmable controller system, and support device of the same Pending JP2016001376A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014120670A JP2016001376A (en) 2014-06-11 2014-06-11 Programmable controller system, and support device of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014120670A JP2016001376A (en) 2014-06-11 2014-06-11 Programmable controller system, and support device of the same

Publications (1)

Publication Number Publication Date
JP2016001376A true JP2016001376A (en) 2016-01-07

Family

ID=55076948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014120670A Pending JP2016001376A (en) 2014-06-11 2014-06-11 Programmable controller system, and support device of the same

Country Status (1)

Country Link
JP (1) JP2016001376A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135247A1 (en) * 2016-02-04 2017-08-10 株式会社Kmc Production information collecting system
JP6541902B1 (en) * 2018-05-29 2019-07-10 三菱電機株式会社 Program management system, programming support apparatus, program management method, and programming support program
WO2020039900A1 (en) * 2018-08-23 2020-02-27 オムロン株式会社 Information processing apparatus and program
JP7151227B2 (en) 2018-07-11 2022-10-12 オムロン株式会社 Development system and support equipment

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135247A1 (en) * 2016-02-04 2017-08-10 株式会社Kmc Production information collecting system
JP6541902B1 (en) * 2018-05-29 2019-07-10 三菱電機株式会社 Program management system, programming support apparatus, program management method, and programming support program
WO2019229845A1 (en) * 2018-05-29 2019-12-05 三菱電機株式会社 Program management system, programming assistance device, program management method, and programming assistance program
KR20200140382A (en) * 2018-05-29 2020-12-15 미쓰비시덴키 가부시키가이샤 Program management system, programming support device, program management method and programming support program
CN112204479A (en) * 2018-05-29 2021-01-08 三菱电机株式会社 Program management system, program support device, program management method, and program support program
KR102225850B1 (en) 2018-05-29 2021-03-11 미쓰비시덴키 가부시키가이샤 Program management system, programming support device, program management method and programming support program
CN112204479B (en) * 2018-05-29 2021-12-07 三菱电机株式会社 Program management system, program support device, program management method, and program support program
JP7151227B2 (en) 2018-07-11 2022-10-12 オムロン株式会社 Development system and support equipment
WO2020039900A1 (en) * 2018-08-23 2020-02-27 オムロン株式会社 Information processing apparatus and program
JP2020030621A (en) * 2018-08-23 2020-02-27 オムロン株式会社 Information processing unit and program

Similar Documents

Publication Publication Date Title
US10877846B2 (en) Performing a closure merge operation
JP2009230398A (en) Software update support device and software update support program
KR100746447B1 (en) Methods for merging files and related systems
US10019257B2 (en) Parallel development of a software system
JP5336965B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2015018295A (en) Application management device, application management system, and program
JP2016001376A (en) Programmable controller system, and support device of the same
JP6866663B2 (en) Programmable controller system, programmable controller, support device, HCI device, redundant programmable controller system
US9298451B2 (en) Non-transitory computer-readable recording medium storing application development support program and application development support system that automatically support platform version
JP2017021538A (en) Information processor, method, program, and storage medium
WO2019026248A1 (en) Program development assistance device, program development assistance method, and program development assistance 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
WO2017036197A1 (en) Method and device for managing network element model
JP7204726B2 (en) Control system, mobile object, server, control method, update control method, and program
JP2015022511A (en) Programmable controller system, and support device and program thereof
JP6045707B2 (en) License management apparatus, license management method, and program
CN107608698B (en) Command line tool updating method and device
US20150205697A1 (en) Software development apparatus and method
JP2009098963A (en) Automatic module generation system
JP2014002600A (en) Program, communication device, and installation method
JP2015207074A (en) Information asset management system, information asset management device, information asset management method, and program thereof
JP2007164817A (en) Product information management device
JP2013235604A (en) Management program, management method, and management apparatus