JP6520241B2 - Control system, its management server device, support device - Google Patents
Control system, its management server device, support device Download PDFInfo
- Publication number
- JP6520241B2 JP6520241B2 JP2015048870A JP2015048870A JP6520241B2 JP 6520241 B2 JP6520241 B2 JP 6520241B2 JP 2015048870 A JP2015048870 A JP 2015048870A JP 2015048870 A JP2015048870 A JP 2015048870A JP 6520241 B2 JP6520241 B2 JP 6520241B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- project
- registered
- management server
- update
- 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
Links
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 160
- 238000000034 method Methods 0.000 description 88
- 238000012545 processing Methods 0.000 description 28
- 101100408464 Caenorhabditis elegans plc-1 gene Proteins 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 102100026205 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Human genes 0.000 description 7
- 101000691599 Homo sapiens 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Proteins 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101100190462 Caenorhabditis elegans pid-1 gene Proteins 0.000 description 1
- 101000609957 Homo sapiens PTB-containing, cubilin and LRP1-interacting protein Proteins 0.000 description 1
- 102100039157 PTB-containing, cubilin and LRP1-interacting protein Human genes 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000012559 user support system Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、制御装置のプログラムを作成させる支援装置と、このプログラムを管理するサーバ装置を有する制御システムに関する。 The present invention relates to a support device that creates a control device program and a control system that includes a server device that manages the program.
プログラマブルコントローラは、停止状態であれば、プログラミング支援装置(以下、支援装置と記述)で作成されたプログラムをそのままダウンロードすることができるのが一般的である。そのため、複数のエンジニアが1つのコントローラに対してプログラム更新する場合、上書きされるという課題があり、特許文献1の発明では、他の支援装置によってプログラム更新が行われたことを検出する方法が提案されている。 When the programmable controller is in the stopped state, it is generally possible to download the program created by the programming support device (hereinafter referred to as a support device) as it is. Therefore, when a plurality of engineers update the program for one controller, there is a problem that the program is overwritten. In the invention of Patent Document 1, a method for detecting that the program update is performed by another support device is proposed. It is done.
また、コントローラが稼働状態におけるプログラム更新については、支援装置をコントローラに接続し、照合によって、支援装置のプロジェクトとコントローラ内のプロジェクトが一致していることを確認した後、その状態で変更を実施してコントローラにダウンロードする方法がとられている。また、特許文献2の発明では、識別子を利用することで、稼働中のプログラムから変更されたことを保障することで上記変更をオフラインにて行える方法が提案されている。 Also, for the program update in the operating state of the controller, connect the support device to the controller, check that the project of the support device and the project in the controller match by collation, and then make the change in that state. The method of downloading to the controller is taken. Moreover, in the invention of Patent Document 2, a method is proposed in which the change can be made off-line by using an identifier to guarantee that the program in operation is changed.
ここで、従来、例えば図9に示すような構成、すなわち支援装置50とPLC60に加えて更に管理サーバ70が設けられた構成が知られている。
支援装置50では、そのユーザ(プログラム開発者など)によって、任意のPLC(プログラマブルコントローラ)用のプログラムが、任意に作成される。支援装置50は、プログラム作成の為のユーザ支援機能を有する。作成されたPLC用プログラム(制御プログラム等)は、支援装置50からPLC60へダウンロードされ、PLC60はこのPLC用プログラムを記憶して実行することで、不図示の各種制御対象機器の制御を行う。
Here, conventionally, for example, a configuration as shown in FIG. 9, that is, a configuration in which a management server 70 is further provided in addition to the support device 50 and the PLC 60 is known.
In the support device 50, a program for any PLC (programmable controller) is arbitrarily created by the user (program developer or the like). The support device 50 has a user support function for program creation. The created program for PLC (control program etc.) is downloaded from the support device 50 to the PLC 60, and the PLC 60 stores and executes the program for PLC to control various control target devices (not shown).
その後、任意のときに、支援装置50において、ユーザが、上記作成されたPLC用プログラムの更新(バージョンアップ版の作成など)を行う場合がある。これは、現在、PLC60に記憶されて実行されているPLC用プログラムに基づいて、更新版を作成する必要がある。 After that, at any time, in the support device 50, the user may update the created PLC program (such as creating a version upgrade version). It is necessary to create an updated version based on the program for PLC currently stored and executed in the PLC 60.
ここで、支援装置50には、基本的に、全ての更新版が記憶されている。例えば、あるPLC用プログラムについて、その初版、2版、3版、4版、5版というようにバージョンアップされてきていた場合、これら全てが支援装置50に記憶されている。そして、仮にPLC60に5版のプログラムが記憶されて運用されている状態であったならば、次のバージョンアップ版の作成は、5版のプログラムに基づいて行う必要がある。しかしながら、バージョンが多すぎて、ユーザが管理し切れない場合がある。 Here, basically, all the updated versions are stored in the support device 50. For example, in the case where a certain PLC program has been upgraded to a first version, a second version, a third version, a fourth version, a fifth version, etc., all of these are stored in the support device 50. Then, if it is in a state where the program of the 5th version is stored and operated in the PLC 60, the next upgraded version needs to be created based on the program of the 5th version. However, there are cases in which the version is too large for the user to manage.
この問題に対して、上記管理サーバ70を設けられていた。管理サーバ70は、図示のプロジェクト管理情報71を保持している。プロジェクト管理情報71は、各PLCが現在記憶・実行しているPLC用プログラムのプロジェクトを、記憶するものである。但し、これは、プログラム更新毎に、逐一、手作業によって登録するものである。 The management server 70 has been provided for this problem. The management server 70 holds the illustrated project management information 71. The project management information 71 stores the project of the PLC program currently stored and executed by each PLC. However, this is manually registered one by one every program update.
尚、上記プロジェクトは、実体としては、上記PLC用プログラム(制御プログラム等)のソースコードや、このソースコードをコンパイルして成る機械語オブジェクト等が含まれる、例えばフォルダ等であるが、この例に限らない。 Note that the project is, for example, a folder etc., which includes the source code of the program for PLC (control program etc.) and the machine language object etc. formed by compiling this source code as an entity. Not exclusively.
そして、任意のPLC60のプログラムを更新する場合には、ユーザは、まず、このPLC60に応じたプロジェクトを、プロジェクト管理情報71から取得して支援装置50に保存する操作を行う。そして、このプロジェクトのソースコードから更新版のソースコードを作成する。正常であれば、PLC60側では5版のプログラムによって制御実行されている状況では、プロジェクト管理情報71には5版のプロジェクトが格納されているはずであり、そのソースコード(5版のソースコード)に基づいて更新版(6版)のソースコードが作成されることになる。これによって、例えば、誤って4版のソースコードに基づいて更新版のソースコードが作成されるような事態が起こることを防止することができる。 And when updating the program of arbitrary PLC60, a user performs operation which acquires the project according to this PLC60 from the project management information 71, and preserve | saves it in the assistance apparatus 50 first. Then, create an updated source code from the source code of this project. If normal, in the situation where control is executed by the program of the 5th edition on the PLC 60 side, the project management information 71 should store the project of the 5th edition, and its source code (source code of the 5th edition) The updated (sixth) source code will be created based on. This can prevent, for example, a situation where an updated version of the source code is accidentally created based on the 4 versions of the source code.
尚、支援装置50では、PLC用プログラム一式やその管理情報等を、プロジェクトとして管理している。つまり、支援装置50において、ユーザは、任意のPLC用プログラムのソースコードを作成する。支援装置50のコンパイラ機能は、このソースコードを、PLCで実行可能な形式である機械語オブジェクトに変換する。支援装置50は、これらソースコードと機械語オブジェクトと管理情報一式を、まとめて、プロジェクトとして管理している。尚、管理情報とは、例えば、そのプロジェクトが格納されるフォルダのフォルダ名(図示のPri01、Pri01’、PriXXなど)等であるが、この例に限らない。そして、このフォルダを管理サーバ70に転送して上記プロジェクト管理情報71に上書き記憶させるものである。 The support device 50 manages a set of programs for PLC and its management information as a project. That is, in the support device 50, the user creates source code of an arbitrary program for PLC. The compiler function of the support device 50 converts this source code into a machine language object which is a form executable by PLC. The support device 50 collectively manages the source code, the machine language object, and the set of management information as a project. The management information is, for example, the folder name of the folder in which the project is stored (Pri01, Pri01 ', PriXX, etc. in the figure), etc., but it is not limited to this example. Then, the folder is transferred to the management server 70 and is overwritten and stored in the project management information 71.
上記プロジェクト管理情報71へのプロジェクトの登録・更新は、各支援装置50のユーザが手作業によって行う。基本的には、任意の支援装置50のユーザが、PLC60のプログラムを更新する毎に、このプロジェクトを管理サーバ70に転送して、プロジェクト管理情報71における当該PLC60に対応するプロジェクトを、最新版の(つまり、現在、PLC60に記憶されている)プログラムのプロジェクトに更新させる。 The user of each support device 50 manually performs registration / update of the project in the project management information 71. Basically, every time the user of the optional support apparatus 50 updates the program of the PLC 60, this project is transferred to the management server 70, and the project corresponding to the PLC 60 in the project management information 71 is updated to the latest version. Make the program's project (that is, currently stored in PLC 60) update.
但し、この例に限らない。上記説明は、管理サーバ70と支援装置50とがネットワーク等を介して通信できる構成である場合を前提としているが、この例に限らない。管理サーバ70と支援装置50とが通信できない構成である場合もあり得る。この様な構成の場合には、例えば、上記プロジェクト管理情報71に対する上記手作業によるプロジェクト登録作業は、ユーザが、支援装置50から上記更新版のプロジェクトを可搬型記憶媒体(メモリカードなど)にコピーして、この可搬型記憶媒体を管理サーバ70のところまで持っていって管理サーバ70に接続する。そして、この状態で、上記可搬型記憶媒体に記憶されている上記更新版プロジェクトを、上記プロジェクト管理情報71に記憶する。 However, it is not limited to this example. Although the above description is premised on the case where the management server 70 and the support apparatus 50 can communicate via a network or the like, the present invention is not limited to this example. In some cases, the management server 70 and the support device 50 can not communicate with each other. In the case of such a configuration, for example, in the manual project registration work for the project management information 71, the user copies the updated version of the project from the support device 50 to a portable storage medium (such as a memory card). Then, the portable storage medium is taken to the management server 70 and connected to the management server 70. Then, in this state, the updated version project stored in the portable storage medium is stored in the project management information 71.
また、上記プロジェクト管理情報71に登録されているプロジェクトを取得する際も、上記可搬型記憶媒体にプロジェクトをコピーして、この可搬型記憶媒体を支援装置50のところまで持っていって支援装置50に接続することで、支援装置50に転送することになる。 In addition, when acquiring a project registered in the project management information 71, the project is copied to the portable storage medium, and the portable storage medium is held up to the support apparatus 50 to support the support apparatus 50. Is connected to the support device 50.
尚、PLC60のプログラム更新は、ユーザが任意の更新版のソースコードを作成して、これが上記機械語オブジェクトに変換されて、この機械語オブジェクトがPLC60にダウンロードされて既存の機械語オブジェクトと置き換えられることで、実現される。 In addition, as for the program update of PLC60, a user produces the source code of arbitrary update versions, this is converted into the said machine language object, this machine language object is downloaded to PLC60, and the existing machine language object is substituted. Is realized.
尚、上記PLC用プログラムの管理については、上記の一例に限らず、例えば、WindowsのVSS(Microsoft Visual SourceSafe)に代表されるように構成管理ツールを利用して管理を行う方法であっても構わない。VSSなどの構成管理ツールでは、ダウンロードすべき検証済の最新のプロジェクトの管理が可能である。 The management of the PLC program is not limited to the above example, and may be managed using a configuration management tool as represented by, for example, VSS (Microsoft Visual SourceSafe) of Windows. Absent. A configuration management tool such as VSS can manage the latest verified project to be downloaded.
しかし、何れの方法であっても、結局、プロジェクト管理情報71へのプロジェクトの登録・更新は、人間が手作業で行うことになり、プロジェクトを管理する人とプログラムを更新する人が異なる場合もあり、ミスが生じることが起こり得ることになる。例えば、PLC60のプログラムを4版から5版に更新する作業を行ったにも係わらず、その後、プロジェクト管理情報71のプロジェクトを更新し忘れた為、プロジェクト管理情報71には4版のプロジェクトが登録されたままの状態となる。 However, regardless of which method is used, after all, a person manually performs registration and update of a project in the project management information 71, and even if the person who manages the project and the person who updates the program are different. Yes, mistakes can occur. For example, despite the work to update the program of PLC 60 from 4th edition to 5th edition, 4th edition project is registered in project management information 71 because the project management information 71 is forgotten to update afterwards It will be in the state of being done.
この為、その後、ユーザが、プログラム更新の為にプロジェクト管理情報71からプロジェクトを取得すると、4版のプロジェクトが取得されることになり、4版のソースコードに基づいて更新版のソースコードが作成されることになる。 Therefore, when the user subsequently acquires a project from the project management information 71 for program update, a 4-version project is acquired, and an updated version of the source code is created based on the 4-version source code. It will be done.
あるいは、何等かの原因によってPLC60が保持するプログラムが消えてしまう場合がある。この場合、プロジェクト管理情報71のプロジェクトの機械語オブジェクトを、PLC60にダウンロードすることで、プログラムを復活させることになるが、上記の状況では、5版のプログラムで運用していたPLC60に対して、4版のプログラムがダウンロードされることになる。 Alternatively, the program held by the PLC 60 may disappear due to any cause. In this case, by downloading the machine language object of the project of the project management information 71 to the PLC 60, the program is to be restored, but in the above situation, for the PLC 60 operated by the program of the 5th version, Four versions of the program will be downloaded.
上記のような状況では、管理しているプロジェクトとコントローラで実際に動作しているプロジェクトとが異なるため、管理しているプロジェクトで、設備の変更や、不具合対策などで、プログラムを変更した場合、コントローラに変更したプロジェクトが正常にダウンロードできないなどの問題が発生する。 In the above situation, if the project being managed differs from the project that is actually operating on the controller, if the program is changed on the project being managed, for example, due to facility changes or failure measures, Problems such as the project changed to the controller can not be downloaded properly.
上記のように、従来技術では、管理サーバ70に登録されているプロジェクトと、コントローラ(PLC60)が保持・運用しているプログラムとが一致するようにする必要があるが、その為には例えばプログラム更新が行われる都度、ユーザが上記手作業による管理サーバ70への登録作業を確実に行うことが必要である。しかしながら、一般的に、ユーザが手作業で行うことには、ミスがつきものである。 As described above, in the prior art, it is necessary to make the project registered in the management server 70 coincide with the program held and operated by the controller (PLC 60). Every time an update is performed, it is necessary for the user to securely perform the registration work with the management server 70 manually. However, in general, there is a mistake in what the user does manually.
例えば、図9の従来技術では、プロジェクト管理の操作とプログラム更新の操作は、連動せずに、それぞれ単独の機能として実行される。そのため、検証済のプロジェクトを管理サーバ70に登録したにも係わらず、管理されているプロジェクトとは別のプロジェクトでPLC60のプログラム更新を行うことや、支援装置50において管理サーバ70から取得したプロジェクトを編集してPLC60のプログラム更新を行うことが可能となっている。 For example, in the prior art of FIG. 9, the project management operation and the program update operation are executed as independent functions without being interlocked with each other. Therefore, although the verified project is registered in the management server 70, the program update of the PLC 60 is performed in a project different from the managed project, or the project acquired from the management server 70 in the support device 50 is It is possible to edit and update the program of the PLC 60.
また、このような場合に、コントローラ内のプログラムと管理しているプロジェクトのプログラムを一致させるには、プログラム更新を行ったプロジェクトをユーザが管理サーバ70に再登録する必要があるが、再登録を忘れたり、ミスを犯しやすくなり、管理サーバ70で管理されているプロジェクトが、コントローラで動作しているプログラムと一致しない状態に成り易いという問題がある。 Also, in such a case, in order to match the program in the controller with the program of the managed project, it is necessary for the user to re-register the project for which the program has been updated with the management server 70. There is a problem that it is easy to forget or to make a mistake, and a project managed by the management server 70 tends to be in a state where it does not match the program running on the controller.
また、PC等の分野においては、プログラムをサーバに登録し、サーバからネットワークを介して直接、端末等へプログラム配信する方法が行われている。これは、上記管理サーバ70からネットワークを介してPLC60に対してプログラム(機械語オブジェクト)を直接配信することに相当する。しかしながら、制御システムの分野においては、ネットワーク上にプログラムそのものを伝送するのは、セキュリティ上好ましくないばかりか、低速ネットワーク等の場合、プログラムサイズが大きいと帯域を圧迫することによるパフォーマンス低下の問題もある。 Further, in the field of PCs and the like, there is a method of registering a program in a server and distributing the program directly from a server to a terminal or the like via a network. This corresponds to direct distribution of a program (machine language object) from the management server 70 to the PLC 60 via the network. However, in the field of control systems, it is not only undesirable for security to transmit the program itself on the network, but in the case of a low speed network etc. there is also the problem of performance degradation due to oppressing bandwidth if the program size is large. .
尚、制御システムでは、低速ネットワークに複数のPLCが接続された構成があり、上記方法を用いる場合、管理サーバ70もこの低速ネットワークに接続することになる。
この為、制御システムにおいては、コントローラが設置されている場所において、支援装置とコントローラをケーブル等で直接接続して、支援装置からコントローラにプログラムをダウンロードすることで、プログラム更新が行われる場合が殆どであり、上記サーバから直接配信する方法を適用することが困難である。
In the control system, there is a configuration in which a plurality of PLCs are connected to the low speed network, and when using the above method, the management server 70 is also connected to the low speed network.
Therefore, in the control system, at a place where the controller is installed, the program is most often updated by directly connecting the support device and the controller with a cable or the like and downloading the program from the support device to the controller. It is difficult to apply the method of direct delivery from the server.
本発明の課題は、制御装置のプログラムを作成させる支援装置と、このプログラムを管理する管理サーバ装置を有する制御システムに関して、管理サーバ装置側で、制御装置側のプログラムを確実に管理できるようにする制御システム、その管理サーバ、支援装置等を提供することである。 The object of the present invention is to enable the management server apparatus side to reliably manage a program on the control apparatus side with respect to a control system having a support apparatus that creates a program of the control apparatus and a management server apparatus that manages this program. It is providing a control system, its management server, a support device, etc.
本発明の制御システムは、制御対象機器を制御するためのプログラムを記憶して実行する制御装置と、該制御装置の前記プログラムが作成/編集される支援装置と、管理サーバ装置とを有する。
管理サーバ装置は、下記の各手段を有する。
The control system of the present invention comprises a control unit for executing stored programs for controlling the control target device, a support device in which the program of the control device is created / edited, and a management server apparatus.
The management server device has the following means.
・各制御装置毎に対応付けてプログラムが登録されるプログラム情報記憶手段;
・前記支援装置において任意に作成/編集された任意の制御装置のプログラムの登録依頼があると、前記プログラム情報記憶手段における該任意の制御装置に対応するプログラムとして、該登録依頼されたプログラムを記憶する登録手段;
・該登録手段によって前記プログラム情報記憶手段に登録された、前記登録依頼されたプログラムに対して、所定の登録済情報を付与する登録済情報付与手段:
また、前記支援装置は、前記登録済情報が付与されていないプログラムによって前記任意の制御装置のプログラムの更新を禁止する許可判定手段を有する。
Program information storage means in which a program is registered in association with each control device;
· When there is a request for registration of a program of an arbitrary control device optionally created / edited in the support device, the program requested to be registered is stored as a program corresponding to the arbitrary control device in the program information storage unit Registration means;
Registered information giving means for giving predetermined registered information to the registration requested program registered in the program information storage means by the registration means:
Further, the support device has permission determination means for prohibiting the update of the program of the arbitrary control device by the program to which the registered information is not added.
本発明の制御システム、その管理サーバ、支援装置等によれば、制御装置のプログラムを作成させる支援装置と、このプログラムのプロジェクトを管理する管理サーバ装置を有する制御システムに関して、管理サーバ装置側で、制御装置側のプログラムを確実に管理できるようにする。 According to the control system of the present invention, the management server thereof, the support apparatus, etc., the management server apparatus side has a control system having a support apparatus for creating a program of the control apparatus and a management server apparatus for managing a project of this program. Ensure that the program on the control device side can be managed.
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本例の制御システムの構成図である。
本例の制御システムは、各PLC(プログラマブルコントローラ)1、支援装置10、管理サーバ30等から成る。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram of a control system of this example.
The control system of this example comprises each PLC (programmable controller) 1, a support device 10, a management server 30, and the like.
尚、支援装置10−管理サーバ30間のデータのやりとりは、上記従来と同様に、ネットワークを介して通信するものであってもよいし、可搬型記憶媒体を介して行うものであってもよい。但し、本説明では、基本的に、ネットワークを介して支援装置10−管理サーバ30間でデータ送受信する構成を想定して説明するものとする。 Data exchange between the support apparatus 10 and the management server 30 may be carried out via a network or may be carried out via a portable storage medium, as in the above-mentioned prior art. . However, in the present description, basically, the configuration will be described on the assumption that data is transmitted and received between the support apparatus 10 and the management server 30 via the network.
尚、PLC1は、制御装置の一例であり、この例に限らず、DCS(分散制御システム: distributed control system)等であってもよい。
図1の構成では、支援装置10は、任意のプロジェクト(その機械語オブジェクト)をPLC1にダウンロードする指示があった場合、少なくとも当該プロジェクトに更新情報ファイル20が付与されていなければ、ダウンロードを許可しない。また、更新情報ファイル20が付与されている場合でも、更新情報ファイル20の内容に基づく所定の条件を満たさない場合には、ダウンロードを許可しないようにしてもよい。
The PLC 1 is an example of a control device, and is not limited to this example, and may be a DCS (distributed control system) or the like.
In the configuration of FIG. 1, when an instruction to download an arbitrary project (its machine language object) is given to the PLC 1, the support device 10 does not permit the download if at least the update information file 20 is not attached to the project. . Further, even when the update information file 20 is added, the download may not be permitted if the predetermined condition based on the contents of the update information file 20 is not satisfied.
任意のプロジェクトが管理サーバ30に登録されたときに、管理サーバ30によって当該プロジェクトに対して上記更新情報ファイル20が付与される。管理サーバ30は、例えば、任意の支援装置10から登録依頼と共に任意のプロジェクトが送られてきた場合には、このプロジェクトを自装置内に登録すると共に、このプロジェクトに更新情報ファイル20を付与して依頼元の支援装置10に返信する。 When an arbitrary project is registered in the management server 30, the management server 30 gives the update information file 20 to the project. For example, when an arbitrary project is sent together with a registration request from an arbitrary support device 10, the management server 30 registers this project in its own device, and adds an update information file 20 to this project. Reply to the request source support device 10.
尚、上述したように、従来より、PLC用のプログラム(ソースコード、機械語オブジェクト)等を、まとめて、プロジェクトとして管理している。尚、これより、プロジェクトは、実体としては、単にPLC用のプログラムであると見做しても構わない。 As described above, conventionally, programs for PLC (source code, machine language object) and the like are collectively managed as a project. From this, the project may be regarded as a program for PLC as an entity.
また、支援装置10において、ユーザが任意のプロジェクトを編集して更新版のプロジェクトが生成されたとき、更新情報ファイル20が削除される。これは、ユーザが上記更新情報ファイル20が付与されている任意のプロジェクトに基づいて、そのソースコードに対して所望の編集作業を行って任意の更新版のソースコードを作成すると、この更新版のソースコードをコンパイルして更新版の機械語オブジェクトを生成する。これは、編集作業によって、上記更新版ソースコード、更新版機械語オブジェクト等による新たな(更新版の)プロジェクトが生成されたものと見做してよい。 Further, in the support apparatus 10, when the user edits an arbitrary project and an updated version of the project is generated, the update information file 20 is deleted. This is because when the user performs desired editing work on the source code based on any project to which the update information file 20 is added to create an arbitrary update source code, Compile source code and generate updated version of machine language object. This may be regarded as the generation of a new (updated version) project by the above-mentioned updated version source code, updated version machine language object and the like by the editing operation.
ここで、上記のように、編集元となる任意のプロジェクトには更新情報ファイル20が付与されており、これに基づいて生成される上記更新版プロジェクトにもこれが引き継がれる形で更新情報ファイル20が付与されている状態となっているので、更新情報ファイル20を削除する。もし、更新情報ファイル20を削除しないと、更新版プロジェクトは、管理サーバ30に登録しなくても、PLC1にダウンロード可能となるからである。 Here, as described above, the update information file 20 is added to an arbitrary project as an editing source, and the update information file 20 is transferred to the update version project generated based on the update information file 20. Since it is in the assigned state, the update information file 20 is deleted. If the update information file 20 is not deleted, the update version project can be downloaded to the PLC 1 without being registered in the management server 30.
尚、更新情報ファイル20を削除するタイミングは、例えば、上記更新版ソースコードが生成されたときではなく、上記更新版機械語オブジェクトが生成されたときとする。PLC1にダウンロードするのは機械語オブジェクトであるので、更新版機械語オブジェクト生成前であれば、ダウンロード可能であっても特に問題ないと考えられるからである。但し、これは一例であり、この例に限らない。 The timing at which the update information file 20 is deleted is, for example, not when the above-mentioned updated version source code is generated but when the above-mentioned updated version machine language object is generated. Since it is a machine language object that is downloaded to the PLC 1, it is considered that there is no particular problem even if the downloadable machine language object is generated before the update version machine language object generation. However, this is an example and it is not limited to this example.
上述したようにして、新たな更新版プロジェクトが生成されたときには、当該更新版プロジェクトには更新情報ファイル20が付与されていない状態となっていることになる。
尚、図示の「編集」(上記編集作業)にはコンパイル処理まで含まれているものとするが、この例に限らない。
As described above, when a new updated project is generated, the updated information file 20 is not attached to the updated project.
Although it is assumed that the “editing” (the editing operation) shown in the drawing includes the compilation processing, the present invention is not limited to this example.
更新情報ファイル20が付与されていない状態のプロジェクト(その機械語オブジェクト)を、コントローラ(PLC1)にダウンロードする指示/命令等があっても、支援装置10は許可しない。 Even if there is an instruction / instruction to download a project (its machine language object) in a state where the update information file 20 is not attached to the controller (PLC 1), the support device 10 does not permit it.
この為、ユーザは、例えば従来と同様に手作業によって、上記生成された更新版プロジェクトを、管理サーバ30に登録する。管理サーバ30は、任意のプロジェクトの登録依頼がある毎に、このプロジェクト自体(ソースコードや機械語オブジェクトなど)を、プロジェクト管理情報テーブル40に登録する。更に、このプロジェクトに関する所定の情報も一緒にプロジェクト管理情報テーブル40に登録する。そして、上記登録依頼されたプロジェクトに、更新情報ファイル20を付与する。 For this reason, the user registers the generated updated version project in the management server 30, for example, manually as in the conventional case. The management server 30 registers the project itself (source code, machine language object, etc.) in the project management information table 40 each time there is a request for registration of an arbitrary project. Furthermore, predetermined information on this project is also registered in the project management information table 40 together. Then, the update information file 20 is assigned to the project requested to be registered.
これによって、管理サーバ30によって例えば上記更新版プロジェクトに更新情報ファイル20が付与されることになるので、今度は、支援装置10は、更新版プロジェクト(その機械語オブジェクト)をPLC1にダウンロードすることを許可する。 As a result, for example, the update information file 20 is added to the above-mentioned updated version project by the management server 30, so this time, the support device 10 downloads the updated version project (its machine language object) to PLC1. To give permission.
これによって、管理サーバ30へのプロジェクト登録自体は、従来と同様にユーザが手作業で行うものであっても、ユーザが登録を忘れた場合にはコントローラへのプログラムダウンロードは許可されない。よって、ユーザが更新版プロジェクトを管理サーバ30へ登録し忘れることで、例えば「コントローラには更新版プロジェクトが保持されているが、管理サーバ30側では旧版プロジェクトで管理される」等といった事態は、起こらないようにできる。換言すれば、ユーザによるミス(登録忘れ等)があっても、確実に、PLC1で現在記憶・運用されているプログラムが、管理サーバ30側で保持・管理されている状態とすることができる。 As a result, even if the project registration itself to the management server 30 is manually performed by the user as in the conventional case, the program download to the controller is not permitted if the user forgets to register. Therefore, for example, when the user forgets to register the updated version project in the management server 30, a situation such as “The updated version project is held in the controller but managed in the old version project on the management server 30 side” You can prevent it from happening. In other words, even if there is a mistake (such as a registration failure) by the user, the program currently stored and operated by the PLC 1 can be reliably held and managed by the management server 30 side.
上記図1の制御システムについて、以下、更に詳細に説明する。
上記管理サーバ30では、例えば施設に導入しているコントローラ(PLC1)毎に対応するプロジェクトの管理を行う。特に、自装置に登録されたプロジェクトに対しては更新情報ファイル20を付与する処理を行う。
The control system of FIG. 1 will be described in more detail below.
The management server 30 manages, for example, a project corresponding to each controller (PLC1) introduced to a facility. In particular, the process of giving the update information file 20 is performed to the project registered in the own apparatus.
支援装置10は、コントローラのプログラム更新(ダウンロード)が行われる際に、対象となるプロジェクトにおける更新情報ファイル20の有無やその内容に基づいて、プログラム更新(ダウンロード)の可否を判断する。 When the program update (download) of the controller is performed, the support device 10 determines the possibility of program update (download) based on the presence or absence of the update information file 20 in the target project and the content thereof.
また、管理サーバ30は、コントローラにおけるプログラム更新状況を把握する。本手法では、任意のプロジェクトに関して「管理サーバ30に登録→更新情報ファイル20付与→コントローラにダウンロード」という手順になるので、そのままでは管理サーバ30側では、自己に登録されたプロジェクトが、更新情報ファイル20付与後に本当にコントローラにダウンロードされているのか(コントローラのプログラム更新されているのか)、分からない。 The management server 30 also grasps the program update status in the controller. In this method, the procedure is “register with management server 30 → add update information file 20 → download to controller” for an arbitrary project, so the project registered in the management server 30 itself is an update information file. I do not know if it is really downloaded to the controller after the 20 grant (the program of the controller has been updated).
これより、管理サーバ30は、コントローラとのオンライン環境が構築できる場合には、例えば後述する図6の処理によって、ネットワークを介してコントローラのプログラムの更新状況を監視することで、プログラム更新されたか否かを判定する。尚、この場合には、支援装置10が、後述する図8の処理によって、プログラム更新の際に「プロジェクト識別子」をコントローラ内に書込む必要がある。 Thus, when an online environment with the controller can be established, the management server 30 monitors the update status of the program of the controller via the network, for example, by the process of FIG. Determine if In this case, the support device 10 needs to write the "project identifier" in the controller at the time of program update by the process of FIG. 8 described later.
また、管理サーバ30は、オンライン環境が構築できない場合には、例えば後述する図4の処理によって、コントローラのプログラムの更新状況を把握する。この処理例では、コントローラのプログラム更新に伴って支援装置10側でこのプロジェクトの更新情報ファイル20のステータス23を「完了」に更新しておく。その後、作業員等が、この更新情報ファイル20付プロジェクトを可搬型記憶媒体(USBメモリ等)に格納して管理サーバ30に持ち帰って、この可搬型記憶媒体を管理サーバ30に差し込む。これによって、管理サーバ30が、可搬型記憶媒体の記憶データを参照しつつ例えば後述する図4の処理を実行することで、コントローラのプログラム更新状況を把握する。図4の処理が行われることで、後述するように、プロジェクト管理情報40のステータス45が「完了」に更新されることになる。 In addition, when the online environment can not be constructed, the management server 30 grasps the update status of the program of the controller, for example, by the processing of FIG. 4 described later. In this processing example, the status 23 of the update information file 20 of this project is updated to “completed” on the side of the support apparatus 10 in accordance with the program update of the controller. Thereafter, a worker or the like stores the project with the update information file 20 in a portable storage medium (USB memory or the like) and brings it back to the management server 30, and inserts the portable storage medium into the management server 30. By this, the management server 30 grasps the program update status of the controller by executing, for example, the processing of FIG. 4 described later while referring to the storage data of the portable storage medium. By performing the process of FIG. 4, the status 45 of the project management information 40 is updated to “Done” as described later.
以下に、具体的な流れを説明する。
管理サーバ30側では、導入時などに管理対象となるコントローラとそれを特定するための情報を、プロジェクト管理情報40の識別子43に予め設定しておく(本例では、ID1、ID2、…、IDn)。また、PLC41は、単なるシリアル番号(1,2,3・・・)であるので、これも予め設定されている。
The specific flow is described below.
On the management server 30 side, a controller to be managed and information for specifying the controller at the time of installation and the like are preset in the identifier 43 of the project management information 40 (in this example, ID1, ID2, ..., IDn ). Moreover, since PLC41 is only a serial number (1, 2, 3 ...), this is also preset.
次に、支援装置10において、任意のコントローラのプログラム(プロジェクト)が作成され、コントローラにダウンロードする準備できると、そのプロジェクトを管理サーバ30に登録させるように依頼する。その際、ダウンロード対象となるコントローラが指定される。管理サーバ30は、登録依頼されたプロジェクトを、プロジェクト管理情報40において上記指定されたコントローラに対応するレコードにおけるプロジェクト42の欄に、上書き登録する。尚、図1の例では、例えば識別子43=‘ID1’のコントローラに関しては、“プロジェクト識別子=PID1”のプロジェクトが登録された状態を示している。 Next, in the support device 10, when a program (project) of an arbitrary controller is prepared and prepared for downloading to the controller, the controller 10 requests the management server 30 to register the project. At this time, a controller to be downloaded is designated. The management server 30 overwrites and registers the project requested for registration in the column of the project 42 in the record corresponding to the controller specified in the project management information 40. In the example of FIG. 1, for example, regarding a controller with identifier 43 = 'ID1', a state where a project of 'project identifier = PID1' is registered is shown.
管理サーバ30におけるプロジェクト管理情報40への登録処理では、指定されたコントローラに対応するプロジェクトを格納するだけでなく、プログラム更新に必要な情報の設定を行う。これは、例えば、有効期間44、プロジェクト識別子46、ステータス45等を設定する。 In the process of registering in the project management information 40 in the management server 30, not only the project corresponding to the designated controller is stored, but also information required for program update is set. This sets, for example, the valid period 44, the project identifier 46, the status 45 and the like.
有効期間44は、登録されたプロジェクトによりコントローラのプログラム更新を行える期間を表し、例えば依頼元の支援装置10のユーザが任意に指定する(本例では、2014/09/01〜2014/09/30)。 The effective period 44 represents a period in which the program of the controller can be updated by the registered project, and is arbitrarily designated by the user of the support apparatus 10 of the request source (in this example, 2014/09/01 to 20/30/09/30) ).
また、管理サーバ30は、プロジェクト識別用の固有のIDを任意に自動生成し、プロジェクトを特定する情報として“プロジェクト識別子46”に設定する(本例では、PID1)。更に、管理サーバ30は、プログラム更新の状況を示す“ステータス45”に、当該登録時には「更新中」を設定する。そして、これらの設定情報を更新情報ファイル20として登録対象のプロジェクトに付与して、当該更新情報ファイル20付きプロジェクトを、依頼元の支援装置10に返信する。 Also, the management server 30 automatically generates a unique ID for project identification arbitrarily, and sets it as “project identifier 46” as information for specifying a project (in this example, PID 1). Furthermore, the management server 30 sets “during updating” at the time of registration to “status 45” indicating the status of program update. Then, the setting information is added to the project to be registered as the update information file 20, and the project with the update information file 20 is sent back to the support apparatus 10 of the request source.
支援装置10側では、更新情報ファイル20の有無だけでなく、これらの設定情報も用いて、コントローラへのプログラムのダウンロードの可否(コントローラのプログラム更新の可否)を判定するようにしてもよい。この例に限らないが、少なくとも更新情報ファイル20が無ければ、ダウンロードは許可しない。 The support apparatus 10 may use the setting information as well as the presence or absence of the update information file 20 to determine whether the program can be downloaded to the controller (the program update of the controller can be performed). Although not limited to this example, downloading is not permitted if there is at least the update information file 20.
また、管理サーバ30に登録済のプロジェクトを後から取得することもできる。その場合、指定されたコントローラに対応するプロジェクト42を、所定の記憶領域にコピーするとともに、“ステータス”45が更新中であれば、登録時と同様にプロジェクト管理情報40から更新情報ファイル20を作成して、上記所定の記憶領域のプロジェクトに付与する。支援装置10は、上記所定の記憶領域のプロジェクトを取得する。この処理の一例が、後述する図5の処理である。 Also, a project registered in the management server 30 can be acquired later. In that case, the project 42 corresponding to the specified controller is copied to a predetermined storage area, and if the “status” 45 is being updated, the update information file 20 is created from the project management information 40 as in the registration. And assign it to the project of the predetermined storage area. The support device 10 acquires a project of the predetermined storage area. An example of this process is the process of FIG. 5 described later.
支援装置10では、管理サーバ30に登録したプロジェクト(登録直後、あるいは上記後から取得)は、基本的には、コントローラにダウンロード可能となるが、必ずしもダウンロード許可されるとは限らない。例えば有効期限などの条件も満たさなければ、ダウンロード許可されないという実施例もあってよい。支援装置10では、更新情報ファイル20に基づいてダウンロードの許可/不許可を判定して、許可すると判定した場合にはコントローラのプログラム更新(ダウンロード)を行う。支援装置10は、基本的には、プロジェクトに更新情報ファイル20が付与されている場合には、管理サーバ30に登録済みのプロジェクトであると認識して、プログラム更新(ダウンロード)を許可するが、上記の通り、この例に限らない。許可される為には、更に他の条件(有効期限など)も満たさなければならないという実施例が一例としてあってもよい。 In the support apparatus 10, basically, the project registered in the management server 30 (immediately after registration or acquired after the above) can be downloaded to the controller, but the download is not necessarily permitted. For example, there may be an embodiment in which the download is not permitted unless the conditions such as the expiration date are also satisfied. The support device 10 determines permission / non-permission of download based on the update information file 20, and when it is determined that permission is given, program update (download) of the controller is performed. Basically, when the update information file 20 is given to the project, the support device 10 recognizes that the project is a registered project in the management server 30, and permits program update (download). As mentioned above, it is not limited to this example. There may be an example in which other conditions (e.g. expiration date) must also be satisfied in order to be permitted.
ここで、支援装置10において、上記更新情報ファイル20が付与されたプロジェクトに基づいて更新版のプロジェクトが作成された場合、そのままでは更新版プロジェクトにも更新情報ファイル20が付与された状態となる。この為、この更新版プロジェクトは、管理サーバ30に登録しなくても、コントローラへのダウンロードが許可されてしまう可能性がある。この様な事態を避ける為に、上記プロジェクトの編集の際に(例えばコンパイル実行完了時に)、更新情報ファイル20を削除するようにする。 Here, when the project of the update version is created based on the project to which the update information file 20 is added in the support device 10, the update information file 20 is also added to the update version project as it is. For this reason, even if this updated version project is not registered in the management server 30, there is a possibility that download to the controller is permitted. In order to avoid such a situation, the update information file 20 is deleted at the time of editing of the project (for example, at the completion of compilation execution).
図1に示す例では、図示の“Prj01”のプロジェクトを編集して図示の“Prj01’”のプロジェクトが作成されるが、上記処理によって、“Prj01”のプロジェクトに付与されていた更新情報ファイル20が、引き続き“Prj01’”のプロジェクトにも付与されている状況となることは防止できる。よって、このままの状態では、“Prj01’”のプロジェクトは、コントローラにダウンロードできない。勿論、これは、別プロジェクト(図示の“PrjXX”)についても同様である。 In the example shown in FIG. 1, the illustrated “Prj01” project is edited to create the illustrated “Prj01 ′” project, but the update information file 20 added to the “Prj01” project is generated by the above process. However, it can be prevented that it will continue to be granted to the "Prj01 '" project. Therefore, in this state, the project "Prj01 '" can not be downloaded to the controller. Of course, this is the same for another project ("PrjXX" shown).
このように、管理サーバ30に登録され、且つ、変更されていないプロジェクトによってのみ、コントローラのプログラム更新が行えるようにすることができる。
尚、管理サーバ30におけるコントローラのプログラム更新状況の管理ついては、既に述べたように、オンライン環境においては、コントローラに書込まれる「プロジェクト識別子」を管理サーバ30から監視することによって、プログラムの更新状況を判別する。尚、プロジェクト識別子は、各プロジェクトを識別するための、ユニークな識別情報である。これは、任意のプロジェクトのプロジェクト識別子と、このプロジェクトの更新版のプロジェクトのプロジェクト識別子とが、異なるようにする。勿論、別のプロジェクトに関しては言うまでもない。
As described above, the controller program can be updated only by the project registered in the management server 30 and not changed.
Regarding the management of the program update status of the controller in the management server 30, as described above, in the online environment, the program update status is monitored by monitoring from the management server 30 the "project identifier" written in the controller. Determine. The project identifier is unique identification information for identifying each project. This makes the project identifier of any project different from the project identifier of the updated project of this project. Of course, it goes without saying for other projects.
一方、上述したように、オフライン環境においては、管理サーバ30から持ち出した更新情報ファイル20付きプロジェクトを、支援装置10においてコントローラにダウンロードしてプログラム更新完了した後に、管理サーバ30に持ち帰る。但し、支援装置10は、プログラム更新完了した場合には、このプロジェクトの更新情報ファイル20のステータス23を、「更新中」から「完了」に変更する処理を行っている。これより、管理サーバ30は、このプロジェクトに付与されている更新情報ファイル20の“ステータス23”が「完了」となっているか否かによって、プログラムの更新状況を判別する。 On the other hand, as described above, in the off-line environment, the project with the update information file 20 carried out from the management server 30 is downloaded to the controller in the support device 10 and brought up to the management server 30 after the program update is completed. However, when the program update is completed, the support device 10 performs a process of changing the status 23 of the update information file 20 of this project from "during updating" to "completed". From this, the management server 30 determines the program update status depending on whether or not the "status 23" of the update information file 20 assigned to this project is "completed".
以上により、管理サーバ30に登録したプロジェクトで確実にコントローラのプログラム更新を行い、且つ、その更新状況を含めて管理することができる。
図2は、上記制御システムの機能ブロック図である。
As described above, the controller program can be reliably updated in the project registered in the management server 30, and can be managed including the update status.
FIG. 2 is a functional block diagram of the control system.
図示の例では、上記管理サーバ30は、プログラム情報記憶部51、登録部52、登録済情報付与部53、プログラム更新監視部54等の各種処理機能部を有する。
尚、管理サーバ30は、ハードウェア的には一般的なサーバ装置の構成を有するものであってよく、例えば不図示のCPU、ハードディスク、メモリ等の記憶部、通信機能部等を有している。上記記憶部には、予め所定のアプリケーションプログラムが記憶されている。上記CPUがこのアプリケーションプログラムを実行することで、上記各種処理機能部51,52,53,54等が実現される。
In the illustrated example, the management server 30 includes various processing function units such as a program information storage unit 51, a registration unit 52, a registered information addition unit 53, and a program update monitoring unit 54.
The management server 30 may have the configuration of a general server apparatus in terms of hardware, and has, for example, a CPU, a hard disk, a storage unit such as a memory, a communication function unit, etc. (not shown). . A predetermined application program is stored in advance in the storage unit. When the CPU executes this application program, the various processing function units 51, 52, 53, 54, etc. are realized.
支援装置10は、編集部61、許可判定部62等を有する。
尚、支援装置10も、ハードウェア的には一般的なパソコン等の構成を有するものであってよく、例えば不図示のCPU、ハードディスク、メモリ等の記憶部、通信機能部等を有している。上記記憶部には、予め所定のアプリケーションプログラムが記憶されている。上記CPUがこのアプリケーションプログラムを実行することで、上記各種処理機能部61,62等が実現される。
The support device 10 includes an editing unit 61, a permission determination unit 62, and the like.
The support device 10 may also have a general hardware configuration such as a personal computer, and has, for example, a CPU (not shown), a hard disk, a storage unit such as a memory, a communication function unit, etc. . A predetermined application program is stored in advance in the storage unit. The CPU executes the application program to implement the various processing function units 61 and 62 and the like.
上記プログラム情報記憶部51には、各制御装置(PLC1等)毎に対応付けてプログラム(プロジェクト)が登録される。プログラム情報記憶部51の一例は、上記プロジェクト管理情報テーブル40等である。尚、上記プログラム情報記憶部51に登録されるプロジェクトは、ソースコード、機械語オブジェクト等のプログラムであると言える。 In the program information storage unit 51, a program (project) is registered in association with each control device (PLC 1 etc.). An example of the program information storage unit 51 is the project management information table 40 or the like. The project registered in the program information storage unit 51 can be said to be a program such as a source code or a machine language object.
登録部52は、支援装置10において任意に作成/編集された任意の制御装置のプログラム(プロジェクト)の登録依頼があると、プログラム情報記憶部51における該任意の制御装置に対応するプログラムとして、該登録依頼されたプログラムを記憶する。 When the registration unit 52 receives a request for registration of a program (project) of an arbitrary control device arbitrarily created / edited in the support device 10, the registration unit 52 functions as a program corresponding to the arbitrary control device in the program information storage unit 51. Store the requested program.
登録済情報付与部53は、該登録部52によってプログラム情報記憶部51に登録された、上記登録依頼されたプログラムに対して、所定の登録済情報を付与する。登録済情報の一例が、図1に示す更新情報ファイル20である。 The registered information adding unit 53 adds predetermined registered information to the program whose registration has been registered in the program information storage unit 51 by the registration unit 52. An example of the registered information is the update information file 20 shown in FIG.
上記支援装置10の許可判定部62は、上記登録済情報が付与されていないプログラムによって任意の制御装置のプログラムを更新することは、許可しない。これは、一例としては、このプログラムを制御装置にダウンロードすることを許可しないものである。 The permission determination unit 62 of the support device 10 does not permit updating the program of any control device by the program to which the registered information is not added. This is an example which does not permit downloading this program to the control device.
ダウンロードを許可しないことで、制御装置のプログラム更新が許可されないことになる。換言すれば、ダウンロードを許可しないことで、制御装置のプログラムの更新を禁止することになる。 By not permitting the download, the program update of the control device will not be permitted. In other words, by not permitting the download, the update of the program of the control device is prohibited.
制御装置のプログラム更新が許可されるようにする為には、上記任意に作成/編集された任意の制御装置のプログラム(プロジェクト)を、管理サーバ30に登録して、管理サーバ30によって上記登録済情報を付与してもらう必要がある。つまり、管理サーバ30に登録済みのプログラムによって、制御装置側の保持プログラムが更新されることになる。つまり、確実に、制御装置側で現在保持・運用しているプログラムが、管理サーバ30側に登録された状態とすることができる。これは、管理サーバ30側で、制御装置側のプログラムを確実に管理できるものと言うことができる。 In order to allow the program update of the control device, the program (project) of the arbitrary control device created / edited arbitrarily is registered in the management server 30 and registered by the management server 30. It is necessary to have information given. That is, the holding program on the control device side is updated by the program registered in the management server 30. That is, the program currently held and operated on the control device side can be reliably registered on the management server 30 side. It can be said that this can surely manage the program on the control device side on the management server 30 side.
但し、上記登録済情報が付与されていても、プログラムを制御装置にダウンロードすることを許可しない場合もあり得る。
すなわち、許可判定部62は、上記登録済情報が付与されているプログラムであっても、該登録済情報に基づいて所定の条件を満たすか否かを判定して、該条件を満たさない場合には、該プログラムによって任意の制御装置のプログラムを更新することを許可しない(プログラムの更新を禁止する)。
However, even if the above-mentioned registered information is given, there is a case where it is not permitted to download the program to the control device.
That is, even in the case of the program to which the registered information is added, the permission determination unit 62 determines whether or not a predetermined condition is satisfied based on the registered information, and the condition is not satisfied. Does not allow the program to update any control device program (prohibits program update).
これは、例えば、上記登録済情報には有効期限が含まれており、許可判定部62は、現在日時が該有効期限内ではない場合には、所定の条件を満たさないと判定し、以ってプログラムを制御装置にダウンロードすることを許可しない。 This is because, for example, the registered information includes an expiration date, and the permission determination unit 62 determines that the predetermined condition is not satisfied when the current date and time is not within the expiration date. Not allow the program to be downloaded to the control unit.
また、例えば、管理サーバ30の上記プログラム更新監視部54は、上記登録済情報が付与されたプログラムによって上記任意の制御装置のプログラム更新が行われたか否かを確認する。これは、例えば、下記のように、プログラム識別情報を用いて確認する。 Further, for example, the program update monitoring unit 54 of the management server 30 confirms whether the program update of the arbitrary control device has been performed by the program to which the registered information is added. This is confirmed, for example, using program identification information as described below.
すなわち、まず、管理サーバ30の登録部52は、上記登録依頼されたプログラムをプログラム情報記憶部51に記憶する際に該プログラムに対応するユニークなプログラム識別情報を任意に生成して一緒に記憶する。また、登録済情報付与部53は、該プログラム識別情報を上記登録済情報に含める。 That is, first, when storing the program requested to be registered in the program information storage unit 51, the registration unit 52 of the management server 30 arbitrarily generates unique program identification information corresponding to the program and stores it together. . Further, the registered information adding unit 53 includes the program identification information in the registered information.
また、支援装置10は、上記登録済情報付きのプログラムによって制御装置のプログラムを更新完了した場合には、該登録済情報に含まれるプログラム識別情報を該制御装置に記憶させる、不図示のプログラム更新部を有する。 In addition, when the support device 10 completes updating the program of the control device by the program with the registered information, the support device 10 causes the control device to store the program identification information included in the registered information. Have a department.
これより、管理サーバ30の上記プログラム更新監視部54は、プログラム情報記憶部51に記憶したプログラム識別情報が、該制御装置に記憶されているプログラム識別情報と一致する場合には、上記登録済情報が付与されたプログラムによって上記任意の制御装置のプログラム更新が行われたと判定する。尚、管理サーバ30は、上記制御装置に記憶されているプログラム識別情報を、例えばPLC用のネットワークを介して取得する。 From this, when the program identification information stored in the program information storage unit 51 matches the program identification information stored in the control device, the program update monitoring unit 54 of the management server 30 registers the registered information. It is determined that the program update of the above-mentioned optional control device is performed by the program to which is given. The management server 30 acquires program identification information stored in the control device via, for example, a network for PLC.
また、例えば、上記登録済情報付与部53は、上記登録済情報を付与したプログラムを、登録依頼元の支援装置10に配信する。
また、支援装置10は、任意の制御装置のプログラムを任意に作成/編集させる上記編集部61を更に有するものであってもよい。
Further, for example, the registered information adding unit 53 distributes the program to which the registered information is added to the support device 10 of the registration request source.
In addition, the support device 10 may further include the editing unit 61 that arbitrarily creates / edits a program of an arbitrary control device.
該編集部61は、例えば、管理サーバ30に登録されているプログラムを取得して、該取得したプログラムに基づいて任意の編集をユーザに行わせることで任意の更新版プログラムを作成させ、管理サーバ30に対して該更新版プログラムの登録依頼を行う。 The editing unit 61, for example, acquires a program registered in the management server 30, causes the user to perform arbitrary editing on the basis of the acquired program, and causes the user to create an arbitrary update version program. Request for registration of the updated program to 30.
管理サーバ30では、例えば、上記登録部52によって該登録依頼された更新版プログラムを上記プログラム情報記憶部51に記憶すると共に、上記登録済情報付与部53によって該更新版プログラムに上記登録済情報を付与する。 In the management server 30, for example, the update version program requested to be registered by the registration unit 52 is stored in the program information storage unit 51, and the registered information addition unit 53 registers the registered information in the update version program. Give.
以下、管理サーバ側と支援装置側におけるそれぞれの処理について、フローチャート図を参照して説明する。
図3〜図6には、管理サーバ30側における処理フローチャート図を示す。
Hereinafter, respective processing on the management server side and the support device side will be described with reference to flowcharts.
3 to 6 show process flowcharts on the management server 30 side.
まず、管理サーバ30側の処理について、以下、概略的に説明する。
管理サーバ30側では、プロジェクト登録の際には、プロジェクト管理情報テーブル40に必要な情報を設定し、その情報を基に更新情報ファイル20を作成して登録プロジェクトに付与する処理(図3)を行う。また、プロジェクト管理情報テーブル40と、指定されたプロジェクト内の更新情報ファイル20とにより、コントローラのプログラム更新が完了したか否かの判断を行う(図4)。
First, the process on the management server 30 side will be schematically described below.
The management server 30 sets required information in the project management information table 40 at the time of project registration, creates the update information file 20 based on the information, and assigns it to the registered project (FIG. 3). Do. Further, it is judged whether the program update of the controller is completed or not by the project management information table 40 and the update information file 20 in the designated project (FIG. 4).
また、オンライン環境においては、管理しているコントローラの状況を監視し、プログラム更新が完了したか否かの判断を行う(図6)。
以下、まず、図3の処理について説明する。
Also, in the online environment, the status of the managed controller is monitored, and it is determined whether the program update is completed (FIG. 6).
Hereinafter, the process of FIG. 3 will be described first.
図3は、管理サーバ30における登録時の処理フローチャート図である。
図3の処理は、任意のユーザから任意のPLC1(プログラム更新対象PLC)に関する任意のプロジェクトの登録依頼がある毎に、実行される。この依頼は、ユーザによって任意の支援装置10からネットワークを介して行われるものであってもよいし、ユーザが、上記可搬型記憶媒体を用いたうえで、直接、管理サーバ30を操作することで行ってもよい。但し、何れの場合でも、管理サーバ30側には登録依頼されるプロジェクト(ソースコード、機械語オブジェクト等のプログラム一式など)が渡されて、図3の処理が実行されることになる。
FIG. 3 is a process flowchart of registration in the management server 30.
The process of FIG. 3 is executed each time there is a request for registration of an arbitrary project regarding an arbitrary PLC 1 (program update target PLC) from an arbitrary user. This request may be made by the user from any support device 10 via the network, or the user directly operates the management server 30 using the portable storage medium. You may go. However, in any case, the project (source code, complete program of machine language object, etc.) requested to be registered is delivered to the management server 30, and the processing of FIG. 3 is executed.
図3の処理では、まず、プロジェクト管理情報テーブル40において、ユーザから指定されたコントローラに対応するレコード(該当レコード)を特定する(ステップS11)。そして、まず、ステップS12の判定処理を実行する。ここで、プロジェクト管理情報テーブル40のデータ項目について説明する。 In the process of FIG. 3, first, a record (corresponding record) corresponding to the controller designated by the user is specified in the project management information table 40 (step S11). Then, first, the determination process of step S12 is performed. Here, the data items of the project management information table 40 will be described.
プロジェクト管理情報テーブル40は、図1に示す例では、PLC番号41、プロジェクト42、識別子43、有効期間44、ステータス45、プロジェクト識別子46の各データ項目を有する。 In the example shown in FIG. 1, the project management information table 40 has data items of PLC number 41, project 42, identifier 43, validity period 44, status 45, and project identifier 46.
PLC番号41は、プロジェクト管理情報テーブル40において各コントローラを管理する為に用いられるシリアル番号等である。上記コントローラの指定には、例えば、このPLC番号が用いられるが、この例に限らない。PLC番号41は、初期状態で既に任意に登録されているものとする。 The PLC number 41 is a serial number or the like used to manage each controller in the project management information table 40. For example, although this PLC number is used to designate the controller, the present invention is not limited to this example. The PLC number 41 is assumed to have already been arbitrarily registered in the initial state.
また、識別子43は、PLC番号41のコントローラを特定できる情報であり、例えば製造番号や、ネットワーク上での識別用IDである例えばMACアドレス等である。この識別子43も、上記PLC番号41と同様に、予め全てのPLC1について登録されているものであってもよい。 The identifier 43 is information that can specify the controller of the PLC number 41, and is, for example, a serial number, or an identification ID on a network, such as a MAC address. This identifier 43 may be registered in advance for all PLCs 1 similarly to the PLC number 41.
プロジェクト42には、PLC番号41(識別子43)のPLC1に現在保持されているはずのプロジェクトが、登録されている。尚、実際には、各PLC1には、プロジェクトの全データではなく、その機械語オブジェクトが保持される(少なくともソースコードが保持されない)。一方、プロジェクト42には、例えば上記ソースコード、機械語オブジェクト等が含まれるフォルダ等が、登録される。尚、初期状態では、プロジェクト42には何も登録されていない。また、登録更新が行われる毎に、それまでプロジェクト42に登録されていた旧プロジェクトは、消去される。 In the project 42, a project that is supposed to be currently held in the PLC 1 of the PLC number 41 (identifier 43) is registered. In practice, each PLC 1 holds the machine language object (not at least the source code), not all the data of the project. On the other hand, in the project 42, for example, a folder including the source code, a machine language object, etc. is registered. In the initial state, nothing is registered in the project 42. Also, every time the registration update is performed, the old project that has been registered in the project 42 is deleted.
また、プロジェクト識別子46には、プロジェクト42に登録されているプロジェクトの識別用ID等が、格納される。尚、上述したように、任意のプロジェクトの更新版のプロジェクトには新たな、プロジェクト識別子が割当てられる。 Also, in the project identifier 46, an identification ID or the like of a project registered in the project 42 is stored. As described above, a new project identifier is assigned to an updated project of a given project.
有効期間44には、プロジェクト42に登録されているプロジェクトの有効期間が登録される。有効期間44は、例えばプログラム更新をスケジューリングするためのものである。つまり、有効期間外である場合、そのプロジェクトによってコントローラのプログラム更新を行うことはできない。 In the valid period 44, the valid period of the project registered in the project 42 is registered. The valid period 44 is, for example, for scheduling a program update. That is, if it is outside the effective period, the program can not update the controller by the project.
ステータス45には、コントローラのプロジェクト更新に係わる現状が格納されるものであり、プログラム更新の状況を示すものであり、本例では「更新中」と「完了」の何れか一方が格納される。後述するように、管理サーバ30側で、プロジェクト42に登録されているプロジェクトによってコントローラのプログラム更新が行われたことを確認できた場合に、ステータス45は「完了」となる。詳しくは後述する。 The status 45 stores the current status related to the project update of the controller, and indicates the status of the program update. In this example, either “under updating” or “completed” is stored. As described later, when the management server 30 can confirm that the program update of the controller has been performed by the project registered in the project 42, the status 45 is "Done". Details will be described later.
ステップS12では、上記該当レコードの上記ステータス45が「更新中」であるか否かを判定する。もし、「更新中」であれば(ステップS12,YES)、それは基本的には他ユーザが更新作業中であることを意味しているので、何も行わずに本処理を終了する。 In step S12, it is determined whether the status 45 of the corresponding record is "updating". If "during updating" (step S12, YES), this basically means that another user is in the process of updating, so the process ends without performing anything.
一方、上記該当レコードの上記ステータス45が「更新中」ではない場合には(ステップS12,NO)、まず、上記該当レコードの上記ステータス45を「更新中」に変更する(ステップS13)。 On the other hand, when the status 45 of the corresponding record is not "during updating" (step S12, NO), first, the status 45 of the corresponding record is changed to "during updating" (step S13).
続いて、ユニークなプロジェクト識別子を任意に生成して、これを上記該当レコードの上記プロジェクト識別子46に格納する(ステップS14)。更に、ユーザに、任意の有効期間を設定させて、これを上記該当レコードの上記有効期間44に格納する(ステップS15)。 Subsequently, a unique project identifier is arbitrarily generated and stored in the project identifier 46 of the corresponding record (step S14). Further, the user is allowed to set an arbitrary effective period, and this is stored in the effective period 44 of the corresponding record (step S15).
その後、上記該当レコードの識別子43、有効期間44、ステータス45、プロジェクト識別子46を用いて、上記登録依頼されたプロジェクトに応じた更新情報ファイル20を生成する(ステップS16)。 Thereafter, using the identifier 43 of the corresponding record, the validity period 44, the status 45, and the project identifier 46, the update information file 20 corresponding to the project requested to be registered is generated (step S16).
尚、上記ステップS14によるプロジェクト識別子は、図3の処理が実行される毎にユニークなものが生成されるので、例えば図1に示す“Prj01”のプロジェクトに対して生成されるプロジェクト識別子と、その更新版である“Prj01’”のプロジェクトに対して生成されるプロジェクト識別子とは、異なることになる。 Since a unique project identifier is generated every time the process of FIG. 3 is executed, the project identifier generated for the “Prj01” project shown in FIG. The project identifier generated for the project of the updated version "Prj01 '" will be different.
ここで、更新情報ファイル20は、例えば図1に示すように、識別子21、有効期間22、ステータス23、プロジェクト識別子24の各データ項目より成る。上記該当レコードの識別子43、有効期間44、ステータス45、プロジェクト識別子46を、そのまま、これら識別子21、有効期間22、ステータス23、プロジェクト識別子24とすることで、更新情報ファイル20が生成される。 Here, as shown in FIG. 1, for example, the update information file 20 includes data items of an identifier 21, a valid period 22, a status 23, and a project identifier 24. The update information file 20 is generated by using the identifier 43, the valid period 44, the status 45, and the project identifier 46 of the corresponding record as the identifier 21, the valid period 22, the status 23, and the project identifier 24 as they are.
そして、上記登録依頼されたプロジェクトを上記該当レコードのプロジェクト42の欄に格納すると共に、当該登録依頼されたプロジェクトに上記生成された更新情報ファイル20を付与して、これをユーザに返す(ステップS17)。例えば一例としては、上記任意の支援装置10に対して上記ネットワークを介して、更新情報ファイル20付きの上記登録依頼されたプロジェクトが、返信される。 Then, the project requested for registration is stored in the column of the project 42 of the corresponding record, and the generated update information file 20 is added to the project requested for registration, and this is returned to the user (step S17). ). For example, as an example, the project requested to be registered with the update information file 20 is returned to the arbitrary support device 10 via the network.
上述したことから、上記任意の支援装置10は、プログラム更新対象PLCに対する上記更新情報ファイル20付プロジェクト(その機械語オブジェクト)のダウンロードを、基本的には許可することになる。但し、上記の通り、有効期限などの条件を満たさない場合には、許可されない。 From the above, the arbitrary support device 10 basically permits the download of the project (with its machine language object) with the update information file 20 to the program update target PLC. However, as described above, it is not permitted if the conditions such as the expiration date are not satisfied.
この様な支援装置10におけるダウンロード処理に係わる処理については、図8に示し後に説明するが、それによってPLC1のプログラム(機械語オブジェクト)の更新に成功した場合、支援装置10によって、上記更新情報ファイル20付プロジェクトにおけるステータス23は、「更新中」から「完了」に変更されている。 The processing relating to the download processing in such a support device 10 will be described later with reference to FIG. 8, but if the program (machine language object) of the PLC 1 is successfully updated, the support information device The status 23 of the 20.sup.th project is changed from "updating" to "completed".
その後、支援装置10は、この更新情報ファイル20付プロジェクトと共に更新完了通知を管理サーバ30に通知する。その際、更新対象コントローラが指定される。これを受信した管理サーバ30は、図4の処理を実行する。但し、この例に限らず、例えばユーザが、この更新情報ファイル20付プロジェクトを、可搬型記憶媒体(USBメモリ等)を介して管理サーバ30に渡すと、管理サーバ30が図4の処理を実行するようにしてもよい。 Thereafter, the support device 10 notifies the management server 30 of the update completion notification together with the project with the update information file 20. At that time, the controller to be updated is designated. The management server 30 having received this executes the processing of FIG. However, the present invention is not limited to this example. For example, when the user passes the project with the update information file 20 to the management server 30 via a portable storage medium (USB memory or the like), the management server 30 executes the processing of FIG. You may do it.
以下、図4の処理について説明する。
図4は、管理サーバ30におけるプログラム更新確認の為の処理のフローチャート図である。
The process of FIG. 4 will be described below.
FIG. 4 is a flowchart of processing for program update confirmation in the management server 30.
図4の処理では、まず、上記ステップS11と同様、プロジェクト管理情報テーブル40において、指定されたコントローラに対応するレコード(該当レコード)を特定する(ステップS21)。 In the process of FIG. 4, first, in the project management information table 40, a record (corresponding record) corresponding to the specified controller is specified (step S21), as in step S11.
そして、該当レコードのステータス45が「更新中」であるか否かを判定する(ステップS22)。ステータス45が「完了」である場合には(ステップS22,NO)、そのまま本処理を終了する。 Then, it is determined whether the status 45 of the corresponding record is "updating" (step S22). If the status 45 is "completed" (step S22, NO), the present process ends.
ステータス45が「更新中」であることを確認したら(ステップS22,YES)、上記通知された更新情報ファイル20付プロジェクトに、更新情報ファイル20が存在するか否かを判定する(ステップS23)。尚、これは、確認的な意味の処理であり、ユーザは更新情報ファイル20付プロジェクトを通知したつもりであったが、実際には何等かの理由で更新情報ファイル20が無いプロジェクトが通知されてくる場合を想定して、この様な場合にはステップS23の判定がNOとなり、そのまま本処理を終了する。 If it is confirmed that the status 45 is "during updating" (step S22, YES), it is determined whether the update information file 20 exists in the notified project with the update information file 20 (step S23). Note that this is a process of confirmational meaning, although the user intended to notify the project with the update information file 20, a project without the update information file 20 is notified for any reason in practice. In such a case, the determination in step S23 is NO, and the process ends.
処理対象プロジェクトに更新情報ファイル20が付いている場合には(ステップS23,YES)、この更新情報ファイル20の識別子21が、上記該当レコードの識別子43と一致することを確認する(ステップS24)。もし、識別子が不一致であれば(ステップS24,NO)、そのまま本処理を終了する。 When the update information file 20 is attached to the process target project (step S23, YES), it is confirmed that the identifier 21 of the update information file 20 matches the identifier 43 of the corresponding record (step S24). If the identifiers do not match (step S24, NO), this processing ends.
識別子が一致することを確認したら(ステップS24,YES)、更新情報ファイル20のステータス23が「完了」であることを確認し(ステップS25)、「完了」である場合には(ステップS25,YES)上記該当レコードのステータス45を上記「更新中」から「完了」に変更する(ステップS26)。もし、ステータス23が「更新中」であれば(ステップS25,NO)、ステップS26の処理は行わずに、本処理を終了する。 If it is confirmed that the identifiers match (step S24, YES), it is confirmed that the status 23 of the update information file 20 is "completed" (step S25), and if "completed" (step S25, YES) ) The status 45 of the corresponding record is changed from "during updating" to "completed" (step S26). If the status 23 is "updating" (step S25, NO), this process ends without performing the process of step S26.
上記の通り、後述する図8の処理によって、PLC1のプログラム更新が正常に完了している場合には、ステータス23は「完了」となっているはずであり、ステップS26の処理が実行されることになる。 As described above, when the program update of the PLC 1 is normally completed by the process of FIG. 8 described later, the status 23 should be “completed” and the process of step S26 is executed. become.
そして、本例では、最後に、管理サーバ30は、支援装置10における更新情報ファイル20付プロジェクトから、更新情報ファイル20を削除する(ステップS27)。これによって、その後、このプロジェクトを編集して更新版プロジェクトを作成する場合、当該更新版プロジェクトも当然、更新情報ファイル20が無い状態である。よって、この例では、コンパイル時に更新版プロジェクトから更新情報ファイル20を削除する必要はなくなる。何れにしても、編集によって新たに生成された更新版プロジェクトを、そのままPLC1にダウンロードしようとしても、許可されないようにしている点では、同様である。 Then, in this example, finally, the management server 30 deletes the update information file 20 from the project with the update information file 20 in the support device 10 (step S27). As a result, when this project is subsequently edited to create an updated project, the updated project is naturally also in a state where there is no updated information file 20. Therefore, in this example, it is not necessary to delete the update information file 20 from the update version project at the time of compilation. In any case, it is similar in that even if the updated project newly generated by editing is to be downloaded as it is to the PLC 1, it is not permitted.
尚、言うまでも無いが、例えば図1に示す別プロジェクトを、コントローラにダウンロードしてプログラム更新しようとしても、当然、許可されない。
支援装置10は、上記図3の処理によって管理サーバ30から更新情報ファイル20付プロジェクトを得るが、後述する図8の処理によってPLC1のプログラム更新を実現する前に、更新情報ファイル20付プロジェクトを紛失等する場合が想定される。この様な場合、本例では、支援装置10は、管理サーバ30に要求して、再び同じ更新情報ファイル20付プロジェクトを得ることができる。その際の管理サーバ30の処理が、図5に示す処理である。
Needless to say, for example, when trying to download another project shown in FIG. 1 to the controller and update the program, it is naturally not permitted.
The support apparatus 10 obtains the project with the update information file 20 from the management server 30 by the process of FIG. 3 but loses the project with the update information file 20 before realizing the program update of the PLC 1 by the process of FIG. The case of equal is assumed. In such a case, in this example, the support device 10 can request the management server 30 to obtain the same project with the update information file 20 again. The process of the management server 30 in that case is a process shown in FIG.
以下、図5の処理について説明する。
図5は、管理サーバ30のプロジェクト再発行に係わる処理フローチャート図である。
管理サーバ30は、支援装置10から任意に指定されたPLC1の更新情報ファイル20付プロジェクトの再発行要求があると、まず、上記ステップS11と同様、プロジェクト管理情報テーブル40において、指定されたコントローラに対応するレコード(該当レコード)を特定する(ステップS31)。
The process of FIG. 5 will be described below.
FIG. 5 is a process flowchart relating to the project reissue of the management server 30.
When there is a request for reissuing the project with the update information file 20 of the PLC 1 arbitrarily designated from the support device 10, the management server 30 first makes the controller designated in the project management information table 40 as in step S11. The corresponding record (corresponding record) is specified (step S31).
そして、まず、この該当レコードのプロジェクト42の欄に格納されているプロジェクト(フォルダ)を、所定の記憶領域にコピーする(ステップS32)。
続いて、該当レコードのステータス45が「更新中」であるか否かを判定し(ステップS33)、「完了」である場合には(ステップS33,NO)、ステップS34、S35の処理を行わずに、本処理を終了する。上記の通り、本処理は、未だコントローラのプログラム更新が行われていない状況を想定しているので、プログラム更新が完了している状況であれば更新情報ファイル20付プロジェクトの再発行は許可しないようにする。
Then, first, the project (folder) stored in the column of the project 42 of the corresponding record is copied to a predetermined storage area (step S32).
Subsequently, it is determined whether the status 45 of the corresponding record is "updating" (step S33), and if "completed" (step S33, NO), the processes of steps S34 and S35 are not performed. End the process. As described above, this process assumes that the controller program has not been updated yet, so if the program update has been completed, the reissue of the project with the update information file 20 should not be permitted. Make it
該当レコードのステータス45が「更新中」である場合には(ステップS33,YES)、まず、上記ステップS16と同様の処理を行って更新情報ファイル20を生成する(ステップS34)。そして、生成した更新情報ファイル20を、上記ステップS32で所定の記憶領域にコピーしたプロジェクトに付与する(ステップS35)。 If the status 45 of the corresponding record is "updating" (step S33, YES), first, the same process as step S16 is performed to generate the update information file 20 (step S34). Then, the generated update information file 20 is assigned to the project copied to the predetermined storage area in step S32 (step S35).
その後、支援装置10は、上記所定の記憶領域から、上記更新情報ファイル20が付与されたプロジェクトを取得する。そして、これを用いて、PLC1のプログラム更新を試みることになる。 Thereafter, the support device 10 acquires the project to which the update information file 20 is added from the predetermined storage area. Then, using this, it will try to update the program of PLC1.
尚、図5の処理は、更新情報ファイル20付プロジェクトの再発行の為の処理であるが、上述したように、従来より、支援装置側では、管理サーバから、当該管理サーバに登録されているプロジェクト(特に、現在、コントローラが保持しているはずの機械語オブジェクトに対応するソースコード)を取得して、当該取得したプロジェクトをユーザが任意に編集して更新版プロジェクトが作成される。この様な場合の管理サーバ30から登録プロジェクトを取得する処理は、図5とは異なるが、これについては上記の通り従来より行われていることであり、ここでは特にフローチャート図等は示さずに以下に簡単に説明するだけとする。 Although the process in FIG. 5 is a process for reissuing the project with the update information file 20, as described above, conventionally, on the support apparatus side, the management server is registered in the management server. The project (in particular, the source code corresponding to the machine language object that the controller should currently hold) is acquired, and the user arbitrarily edits the acquired project to create an updated version project. The process of acquiring a registered project from the management server 30 in such a case is different from that of FIG. 5, but this is conventionally performed as described above, and the flow chart etc. is not particularly shown here. It will only be briefly described below.
すなわち、管理サーバ30は、支援装置10から任意のコントローラのプロジェクトの更新要求があると、プロジェクト管理情報テーブル40から当該コントローラに対応付けられて登録されているプロジェクトを、支援装置10に渡す。その際、更新情報ファイル20は付与しない。従って、支援装置10側では、渡されたプロジェクトの編集作業をユーザが任意に行って更新版プロジェクトが作成されるが、そのままでは更新版プロジェクトはコントローラにダウンロードできない。これより、コントローラのプログラム更新の為には、図3の処理が行われて更新情報ファイル20が付与される必要が生じることになる。 That is, when there is a request for updating a project of an arbitrary controller from the support device 10, the management server 30 passes the project registered in association with the controller from the project management information table 40 to the support device 10. At this time, the update information file 20 is not added. Therefore, on the support apparatus 10 side, the user arbitrarily edits the passed project to create the updated project, but the updated project can not be downloaded to the controller as it is. From this, in order to update the program of the controller, the process of FIG. 3 is performed and the update information file 20 needs to be added.
また、管理サーバ30において、コントローラのプログラム更新を認識してステータス45を「更新中」から「完了」に変更する処理は、上記図4の例に限らず、例えば図6に示す処理であっても構わない。 Further, the process of recognizing the program update of the controller in the management server 30 and changing the status 45 from “during updating” to “completed” is not limited to the example of FIG. I don't care.
但し、図6の処理は、管理サーバ30が、例えばPLC用のネットワーク等に接続して各PLC1と通信可能な構成となっていることが、前提となる。尚、PLC用ネットワークは、よく知られているように、複数のPLC1が接続して相互にデータ送受信する低速ネットワーク等である。 However, the process of FIG. 6 is premised that the management server 30 is configured to be able to communicate with each PLC 1 by connecting to, for example, a network for PLC. As is well known, the PLC network is a low speed network or the like in which a plurality of PLCs 1 are connected to each other to transmit and receive data.
また、後述するように、図8の処理において後述するステップS68の処理は、必須ではないが、図6の処理が行われる場合には必須である。よって、この場合には、コントローラ(PLC1)のプログラム更新が完了している場合には、このコントローラには更新版プログラムのプログジェクト識別子が記憶されていることになる。 Further, as will be described later, the process of step S68 described later in the process of FIG. 8 is not essential, but is essential when the process of FIG. 6 is performed. Therefore, in this case, when the program update of the controller (PLC1) is completed, the program identifier of the update version program is stored in this controller.
図6の処理では、管理サーバ30は、プロジェクト管理情報テーブル40における任意のレコードを処理対象として(ステップS41)、当該処理対象レコードのステータス45が、「更新中」であるか否かをチェックする(ステップS42)。もし、ステータス45が「完了」であれば(ステップS42,NO)、そのまま本処理を終了する。 In the process of FIG. 6, the management server 30 checks an arbitrary record in the project management information table 40 as a process target (step S41), and checks whether the status 45 of the process target record is "updating". (Step S42). If the status 45 is "completed" (step S42, NO), this processing ends.
ステータス45が「更新中」であれば(ステップS42,YES)、当該処理対象レコードの識別子43(MACアドレスなど)を用いて処理対象のコントローラにアクセスして、このコントローラが記憶するプログジェクト識別子を読み出す(ステップS43)。上記の通り、このコントローラのプログラム更新済みであるならば、読み出したプログジェクト識別子は、登録されているプロジェクトのプログジェクト識別子と同じであるはずである。これより、ステップS43で読み出したプログジェクト識別子が、処理対象レコードのプログジェクト識別子46と一致するか否かを確認する(ステップS44)。そして、一致する場合には(ステップS44,YES)、登録されているプロジェクトによってコントローラのプログラムが更新されていると見做して、処理対象レコードのステータス45を、「更新中」から「完了」に変更する(ステップS45)。 If the status 45 is "updating" (step S42, YES), the controller 43 of the process target is accessed using the identifier 43 (such as MAC address) of the process target record, and the program identifier stored by this controller is Read out (step S43). As described above, if the program of this controller has been updated, the read out program identifier should be the same as the registered program identifier of the project. From this, it is checked whether the program identifier read out in step S43 matches the program identifier 46 of the process target record (step S44). Then, if they match (step S44, YES), it is regarded that the program of the controller is updated by the registered project, and the status 45 of the process target record is changed from "during updating" to "completed" To (step S45).
不一致であれば(ステップS44,NO)、ステップS45の処理は行わずに、本処理を終了する。尚、この場合、ステップS43で読み出したコントローラ側のプログジェクト識別子は、基本的に、旧プロジェクトのプログジェクト識別子であるはずである。これは、未だ、登録されているプロジェクト(更新版プロジェクト)によるコントローラのプログラム更新が成されていない状況であると考えられる為、コントローラには旧バージョンのプログラムが格納されていると考えられるからである。 If they do not match (step S44, NO), the process of step S45 is not performed, and the process ends. In this case, the program identifier on the controller side read out in step S43 should basically be the program identifier of the old project. This is because it is considered that the controller program has not been updated by the registered project (updated project), so it is considered that the controller stores an older version of the program. is there.
次に、以下、図7、図8を参照して、支援装置10の処理について説明する。
図7は、支援装置10のコンパイル時の処理フローチャート図である。
例えば、上記のように、支援装置10において、ユーザが、既存のプロジェクトを編集して、その更新版のプロジェクトを作成する場合がある。これは、ユーザは、プロジェクトのソースコードの更新版を作成し、支援装置10がこのソースコードをコンパイルして機械語オブジェクトに変換することで、更新版のプロジェクトが作成される。その際、既存のプロジェクトに付与されていた更新情報ファイル20が、そのまま、更新版のプロジェクトに引き継がれるのを防止する為に、更新情報ファイル20を削除する。この様なコンパイル処理の一例が、図7に示す処理である。
Next, processing of the support apparatus 10 will be described below with reference to FIGS. 7 and 8.
FIG. 7 is a process flowchart of the support device 10 at the time of compilation.
For example, as described above, in the support apparatus 10, the user may edit an existing project and create an updated version of the project. This is because the user creates an updated version of the source code of the project, and the support device 10 compiles this source code and converts it into a machine language object, whereby an updated version of the project is created. At this time, the update information file 20 is deleted as it is to prevent the update information file 20 assigned to the existing project from being taken over to the project of the updated version. An example of such compilation processing is the processing shown in FIG.
図7の処理では、上記更新版のプロジェクトのソースコードのコンパイルを行う(ステップS51)。そして、コンパイル成功した場合(ステップS52、YES)、上記更新版のプロジェクトに更新情報ファイル20が存在する場合には(ステップS53,YES)、この更新情報ファイル20を削除する(ステップS54)。 In the process of FIG. 7, the source code of the project of the updated version is compiled (step S51). Then, if compilation is successful (step S52, YES), if the update information file 20 exists in the project of the updated version (step S53, YES), the update information file 20 is deleted (step S54).
尚、上記ステップS27の処理が行われる例の場合には、既存のプロジェクトに更新情報ファイル20が無いことになり、当然、更新版のプロジェクトにも更新情報ファイル20は無いことになるので、ステップS53に判定はNOとなり、そのまま本処理を終了することになる。尚、上記ステップS27の処理が行われる例の場合には、ステップS53,S54の処理は、必ずしも必要ないことになる。 In the example where the process of step S27 is performed, the existing project does not have the update information file 20, and naturally, the update project does not have the update information file 20 either. The determination in S53 is NO, and this processing ends. In the case where the process of step S27 is performed, the processes of steps S53 and S54 are not necessarily required.
また、尚、コンパイル失敗した場合には(ステップS52,NO)、そのまま本処理を終了する。
図8は、支援装置10におけるダウンロード時の処理フローチャート図である。
Furthermore, if compilation fails (step S52, NO), this processing ends.
FIG. 8 is a process flowchart of the support apparatus 10 at the time of downloading.
支援装置10は、上記作成された更新版のプロジェクトに対して、上記図3の処理によって更新情報ファイル20が付与された後、任意のときに、この更新版プロジェクト(その機械語オブジェクト)を、対象となるPLC1にダウンロードして、当該PLC1のプログラムを更新させる。このような処理の一例を、図8に示す。 After the update information file 20 is given by the process of FIG. 3 to the project of the updated version created above, the support apparatus 10 makes the updated version project (its machine language object) at any time, Download to target PLC1 and update the program of PLC1. An example of such processing is shown in FIG.
図8の処理では、まず、対象のコントローラ(PLC1)から、その識別子(MACアドレス)を読み出し(ステップS61)、この識別子が、上記更新版プロジェクトに付与されている更新情報ファイル20の識別子21と、一致するか否かを判定する(ステップS62)。そして、不一致の場合には(ステップS62,NO)ステップS66へ移行する。尚、この場合には、当然、プログラム更新が行われないことになるので、ステップS66の判定はNOとなり、以って本処理を終了することになる。 In the process of FIG. 8, first, the identifier (MAC address) is read from the target controller (PLC1) (step S61), and this identifier is the identifier 21 of the update information file 20 assigned to the update version project and It is determined whether or not they match (step S62). If the two do not match (step S62, NO), the process proceeds to step S66. In this case, as a matter of course, no program update is performed, so the determination in step S66 is NO, and the process ends.
基本的には、更新版プロジェクトに更新情報ファイル20が付与されていない場合に、ステップS62の判定がNOとなり、プログラム更新が行われないことになる。これは、つまり、更新版プロジェクトに更新情報ファイル20が付与されていないと、ダウンロード(PLC1のプログラム更新)が許可されないことを意味することになる。 Basically, when the update information file 20 is not attached to the update version project, the determination in step S62 is NO, and the program update is not performed. This means that the download (program update of PLC 1) is not permitted unless the update information file 20 is attached to the update version project.
ステップS62では、更に、コントローラの識別情報(図1の例では、ID1)と、対象プロジェクトの更新情報ファイル20の“識別子21”(図1の例では、ID1)とが一致することを確認することで、対象コントローラに係わるプロジェクトであることを確認する。これより、例えばユーザがダウンロード対象となるPLC1の指定を間違えた場合等にも、ステップS62の判定はNOとなる。 In step S62, it is further confirmed that the controller identification information (ID1 in the example of FIG. 1) matches the "identifier 21" (ID1 in the example of FIG. 1) of the update information file 20 of the target project. Check that it is a project related to the target controller. From this, for example, even when the user makes a mistake in specifying the PLC 1 to be downloaded, the determination in step S62 is NO.
更新版プロジェクトに更新情報ファイル20が付与されている場合(更に、その識別子21が、コントローラの識別子と一致する場合)(ステップS62,YES)、続いて、コントローラから現在日時を読み出して(ステップS63)、現在が更新情報ファイル20の有効期間22の期間内であるか否かをチェックする(ステップS64)。有効期間内であれば(ステップS64,YES)、上記更新版プロジェクト(その機械語オブジェクト)をコントローラにダウンロードして、そのプログラム更新を行わせる(ステップS65)。 When the update information file 20 is added to the updated version project (when the identifier 21 matches the identifier of the controller) (step S62, YES), the current date and time is read from the controller (step S63). ), It is checked whether or not the present time is within the term of the validity period 22 of the update information file 20 (step S64). If it is within the effective period (step S64, YES), the updated version project (its machine language object) is downloaded to the controller, and the program is updated (step S65).
上記ステップS64によって、現在が有効期間22の期間内ではない場合には、プログラム更新を許可しない。これにより、プロジェクトの更新タイミングを制御することができる。尚、現在日時は、支援装置10の時計機能から取得するようにしてもよい。 If it is determined in step S64 that the current time is not within the valid period 22, the program update is not permitted. This makes it possible to control the project update timing. The current date and time may be acquired from the clock function of the support device 10.
コントローラ側では、ダウンロードされた機械語オブジェクトによって、自己のプログラム更新を試みる。この処理自体は既存の処理であり、特に説明しない。そして、コントローラは、この処理結果として、プログラム更新の成功/失敗を支援装置10に通知する。 On the controller side, the downloaded machine language object tries to update its own program. This process itself is an existing process and will not be described in particular. Then, the controller notifies the support device 10 of the success / failure of the program update as the processing result.
支援装置10は、プログラム更新成功した場合には(ステップS66,YES)、更新情報ファイル20のステータス23を、「更新中」から「完了」に変更する(ステップS67)。更に、更新情報ファイル20のプロジェクト識別子24を、コントローラの所定の記憶領域に書き込む(ステップS68)。尚、上述したように、ステップS68の処理は、必ずしも必要ないものである。 When the program update is successful (step S66, YES), the support device 10 changes the status 23 of the update information file 20 from "during updating" to "completed" (step S67). Furthermore, the project identifier 24 of the update information file 20 is written to a predetermined storage area of the controller (step S68). As described above, the process of step S68 is not necessarily required.
尚、プログラム更新失敗した場合には(ステップS66,NO)、ステップS67等の処理を行うことなく、本処理を終了する。
上述したように、本手法では、まず、支援装置10は、更新情報ファイル20が存在しないプロジェクトは、コントローラへダウンロードすることを許可しないようにしている。支援装置10は、既存のプロジェクトがユーザによって編集されることで、更新版のプロジェクトが生成される場合に関して、少なくとも当該更新版のプロジェクトがコントローラにダウンロード可能な状態になった時点、すなわちコンパイル処理が実行されて機械語オブジェクトが生成済みである時点には、当該更新版のプロジェクトには更新情報ファイル20が存在しないようにしている。その為の処理例として、上述した説明では2つの方法を提示しているが、これらの例に限らない。
If the program update fails (step S66, NO), the process ends without performing the process of step S67 and the like.
As described above, in the present method, at first, the support device 10 does not allow the project in which the update information file 20 does not exist to be downloaded to the controller. With regard to the case where an updated project is generated by editing an existing project by the user, the support device 10 at least when the updated project can be downloaded to the controller, that is, the compilation process When the machine language object has been generated and executed, the update information file 20 does not exist in the updated version of the project. Although two methods are presented in the above description as processing examples for that purpose, the present invention is not limited to these examples.
このままでは、更新版プログラムをコントローラにダウンロード出来ず、以ってコントローラのプログラム更新が行えないことになる。これに対して、本例では、上記更新版のプロジェクトを、管理サーバ30に登録すると、管理サーバ30によって上記更新版のプロジェクトに更新情報ファイル20が付与される。これより、支援装置10は、この更新版のプロジェクトをコントローラにダウンロードすることを基本的には許可する状態となる。 If this is the case, the updated program can not be downloaded to the controller, and therefore the controller program can not be updated. On the other hand, in the present example, when the project of the updated version is registered in the management server 30, the management server 30 assigns the update information file 20 to the project of the updated version. From this, the support device 10 is basically in a state of permitting the download of the updated version of the project to the controller.
但し、本例では、更新情報ファイル20が存在してもダウンロードを許可しない場合がある。すなわち、上記ステップS62やステップS64の判定がNOの場合には、更新情報ファイル20が存在してもダウンロードを許可しない。このように、ダウンロードの際には、更新情報ファイル20の有無とその内容に基づいて、プログラム更新の可否を判断する。これは、少なくとも更新版プロジェクトが管理サーバ30に登録されていないならば、プログラム更新は許可されない。よって、コントローラが保持するプログラムと、管理サーバ30側で管理しているプログラムとが、異なる状況になるようなことはない。 However, in this example, even if the update information file 20 exists, the download may not be permitted. That is, if the determination in step S62 or step S64 is NO, the download is not permitted even if the update information file 20 exists. As described above, at the time of downloading, whether or not the program can be updated is determined based on the presence or absence of the update information file 20 and the contents thereof. This means that the program update is not permitted if at least the update version project is not registered in the management server 30. Therefore, the program held by the controller and the program managed by the management server 30 do not have different situations.
尚、上記更新版のプロジェクトに限らず、図1に示す別プロジェクトであっても、管理サーバ30に登録されて、以って更新情報ファイル20が付与された場合には、コントローラへのダウンロードが許可されることになる。 In addition, even if it is another project shown in FIG. 1 as well as the project of the above-mentioned updated version, when it is registered in the management server 30 and thus the update information file 20 is given, the download to the controller is It will be permitted.
本手法によると、プロジェクトを管理する管理サーバ30で、施設内の各コントローラが現在保持・運用しているプロジェクトを確実に管理し、管理しているプロジェクトでプログラム更新を確実に行えると共に更新状況も把握可能なため、プロジェクト管理の効率化とユーザによる操作ミスの防止が期待できるという効果を有する。 According to this method, the management server 30 that manages the project can reliably manage the project currently held and operated by each controller in the facility, and can reliably update the program in the managed project, as well as the update status Since it can be grasped, there is an effect that efficiency improvement of project management and prevention of operation mistake by the user can be expected.
また、プロジェクト管理情報に有効期限およびステータスの情報を設けることで、施設内全体のコントローラに対するプログラム更新のスケジューリングにより、確実に納期内の更新と管理をサポートし、更に、プロジェクトの紛失などで有効期限が切れた場合の再度、更新手続きをすることにより、プロジェクトの管理を徹底できる効果を有する。 In addition, by providing information on the expiration date and status in the project management information, scheduling of program updates for controllers in the entire facility reliably supports renewal and management within the due date, and further, the expiration date due to loss of the project, etc. Renewal procedures in the event of a failure have the effect of making it possible to thoroughly manage the project.
1 PLC
10 支援装置
20 更新情報ファイル
21 識別子
22 有効期間
23 ステータス
24 プロジェクト識別子
30 管理サーバ
40 プロジェクト管理情報テーブル
41 PLC番号
42 プロジェクト
43 識別子
44 有効期間
45 ステータス
46 プロジェクト識別子
51 プログラム情報記憶部
52 登録部
53 登録済情報付与部
54 プログラム更新監視部
61 編集部
62 許可判定部
1 PLC
10 Support Device 20 Update Information File 21 Identifier 22 Valid Period 23 Status 24 Project Identifier 30 Management Server 40 Project Management Information Table 41 PLC Number 42 Project 43 Identifier 44 Valid Period 45 Status 46 Project Identifier 51 Program Information Storage Unit 52 Registration Unit 53 Registration Completed information adding unit 54 Program update monitoring unit 61
Claims (10)
前記管理サーバ装置は、
各制御装置毎に対応付けてプログラムが登録されるプログラム情報記憶手段と、
前記支援装置において任意に作成/編集された任意の制御装置のプログラムの登録依頼があると、前記プログラム情報記憶手段における該任意の制御装置に対応するプログラムとして、該登録依頼されたプログラムを記憶する登録手段と、
該登録手段によって前記プログラム情報記憶手段に登録された、前記登録依頼されたプログラムに対して、所定の登録済情報を付与する登録済情報付与手段とを有し、
前記支援装置は、
前記登録済情報が付与されていないプログラムによって前記任意の制御装置のプログラムの更新を禁止する許可判定手段を有することを特徴とする制御システム。 A control unit for executing stored programs for controlling the control target device, a support device in which the program of the control device is created / edited, a control system and a management server device,
The management server device is
Program information storage means in which a program is registered in association with each control device;
When there is a request for registration of a program of an arbitrary control device arbitrarily created / edited in the support device, the program requested to be registered is stored as a program corresponding to the arbitrary control device in the program information storage unit Registration means,
A registered information giving unit for giving predetermined registered information to the program requested to be registered, which is registered in the program information storage unit by the registration unit;
The support device is
A control system comprising permission determination means for prohibiting update of a program of the arbitrary control device by a program to which the registered information is not added.
前記許可判定手段は、現在日時が該有効期限内ではない場合には、前記所定の条件を満たさないと判定することを特徴とする請求項2記載の制御システム。 The registered information includes an expiration date,
3. The control system according to claim 2, wherein the permission determination means determines that the predetermined condition is not satisfied when the current date and time is not within the expiration date.
前記登録済情報が付与されたプログラムによって前記任意の制御装置のプログラム更新が行われたか否かを確認するプログラム更新監視手段を更に有することを特徴とする請求項1〜3の何れかに記載の制御システム。 The management server device is
The program update monitoring means according to any one of claims 1 to 3, further comprising program update monitoring means for confirming whether the program update of the arbitrary control device has been performed by the program to which the registered information is added. Control system.
前記登録依頼されたプログラムを前記プログラム情報記憶手段に記憶する際に該プログラムに対応するユニークなプログラム識別情報を任意に生成して一緒に記憶すると共に、該プログラム識別情報を前記登録済情報に含め、
前記支援装置は、
前記登録済情報が付与されたプログラムによって前記制御装置のプログラムを更新完了した場合には、前記プログラム識別情報を該制御装置に記憶させ、
前記管理サーバ装置の前記プログラム更新監視手段は、前記プログラム情報記憶手段に記憶したプログラム識別情報が、該制御装置に記憶されているプログラム識別情報と一致する場合には、前記登録済情報が付与されたプログラムによって前記任意の制御装置のプログラム更新が行われたと判定することを特徴とする請求項4記載の制御システム。 The management server device is
When storing the program requested to be registered in the program information storage means, unique program identification information corresponding to the program is optionally generated and stored together, and the program identification information is included in the registered information. ,
The support device is
When the update of the program of the control device is completed by the program to which the registered information is added, the program identification information is stored in the control device;
If the program identification information stored in the program information storage means matches the program identification information stored in the control device, the program update monitoring means of the management server device is provided with the registered information. 5. The control system according to claim 4, wherein it is determined that the program update of the arbitrary control device has been performed by the program.
該編集手段は、前記管理サーバ装置に登録されているプログラムを取得して、該取得したプログラムに基づいて任意の編集を行わせることで任意の更新版プログラムを作成させ、前記管理サーバに対して該更新版プログラムの前記登録依頼を行い、
前記管理サーバ装置では、前記登録手段によって該登録依頼された更新版プログラムを前記プログラム情報記憶手段に記憶すると共に、前記登録済情報付与手段によって該更新版プログラムに前記登録済情報を付与することを特徴とする請求項1〜3の何れかに記載の制御システム。 The support device further comprises editing means for arbitrarily creating / editing a program of any control device,
The editing means acquires a program registered in the management server apparatus, and causes an arbitrary edition program to be created by performing arbitrary editing based on the acquired program, and causes the management server to generate Request the registration of the updated program,
In the management server device, the update version program requested to be registered by the registration unit is stored in the program information storage unit, and the registered information provision unit is configured to add the registered information to the update version program. The control system according to any one of claims 1 to 3, characterized in that:
各制御装置毎に対応付けてプログラムが登録されるプログラム情報記憶手段と、
前記支援装置において任意に作成/編集された任意の制御装置のプログラムの登録依頼があると、前記プログラム情報記憶手段における該任意の制御装置に対応するプログラムとして、該登録依頼されたプログラムを記憶する登録手段と、
該登録手段によって前記プログラム情報記憶手段に登録された、前記登録依頼されたプログラムに対して、所定の登録済情報を付与する登録済情報付与手段と、
を有することを特徴とする制御システムの管理サーバ装置。 A control unit for executing stored programs for controlling the control target device, there at the management server device in a control system having a support device in which the program of the control device is created / edited, and a management server device ,
Program information storage means in which a program is registered in association with each control device;
When there is a request for registration of a program of an arbitrary control device arbitrarily created / edited in the support device, the program requested to be registered is stored as a program corresponding to the arbitrary control device in the program information storage unit Registration means,
Registered information giving means for giving predetermined registered information to the program requested to be registered, registered in the program information storage means by the registration means.
And a control server device of a control system.
任意の制御装置のプログラムを任意に作成/編集させる編集手段と、
登録済情報が付与されていないプログラムによって前記制御装置のプログラムの更新を禁止する許可判定手段と、
を有することを特徴とする制御システムの支援装置。 A control unit for executing stored programs for controlling the control target device, a support device in which the program of the control device is created / edited, a said support device in a control system and a management server device ,
Editing means for arbitrarily creating / editing a program of an arbitrary control device;
Permission judging means for prohibiting the update of the program of the control device by the program to which the registered information is not given;
An apparatus for supporting a control system, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015048870A JP6520241B2 (en) | 2015-03-11 | 2015-03-11 | Control system, its management server device, support device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015048870A JP6520241B2 (en) | 2015-03-11 | 2015-03-11 | Control system, its management server device, support device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016170547A JP2016170547A (en) | 2016-09-23 |
JP6520241B2 true JP6520241B2 (en) | 2019-05-29 |
Family
ID=56983773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015048870A Active JP6520241B2 (en) | 2015-03-11 | 2015-03-11 | Control system, its management server device, support device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6520241B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6565837B2 (en) | 2016-09-01 | 2019-08-28 | 株式会社デンソー | Air conditioner for vehicles |
CN110009308A (en) * | 2019-04-10 | 2019-07-12 | 上海外高桥造船有限公司 | Project management system |
CN109978512A (en) * | 2019-04-10 | 2019-07-05 | 上海外高桥造船有限公司 | The control method of project management system, electronic equipment, storage medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10228370A (en) * | 1997-02-17 | 1998-08-25 | Hitachi Ltd | Si management method |
US20120297363A1 (en) * | 2011-05-19 | 2012-11-22 | Microsoft Corporation | Inferred and shared source control integration across mulitiple program development tools |
DE112013007160T5 (en) * | 2013-06-12 | 2016-03-03 | Mitsubishi Electric Corporation | Development environment system, development environment device, development environment deployment process, and program |
-
2015
- 2015-03-11 JP JP2015048870A patent/JP6520241B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016170547A (en) | 2016-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5957936B2 (en) | Programmable controller system, its support device, program | |
RU2628203C2 (en) | Application licensing using synchronisation suppliers | |
JP3924342B2 (en) | Software license management system and software license management apparatus | |
JP6520241B2 (en) | Control system, its management server device, support device | |
US10295976B2 (en) | System development device, system development method, and system development program | |
JP4799114B2 (en) | NC machine tool control program update method and apparatus | |
JP5024036B2 (en) | Program distribution server, distribution system, distribution method, and distribution target program | |
US20120310379A1 (en) | Programmable controller | |
US20060075401A1 (en) | Patch installation control | |
US20150066160A1 (en) | Control program management device, information processing device, and control program processing method | |
JP6541902B1 (en) | Program management system, programming support apparatus, program management method, and programming support program | |
JP6205934B2 (en) | Programmable controller system, its support device, program | |
JP6455096B2 (en) | Control system, its support device, programmable control device | |
WO2015136966A1 (en) | Control device, control system, support apparatus, and control-device maintenance management method | |
JP4238964B2 (en) | Programmable controller system | |
JP2001005659A (en) | Method for managing software license | |
JP5419123B2 (en) | Electronic device system and firmware update method | |
JP5189478B2 (en) | Information processing apparatus, workflow system, information processing apparatus verification control method, program, and recording medium. | |
JP7069431B1 (en) | Data distribution program, server equipment, terminal equipment, data distribution method and data distribution system | |
JP2001043177A (en) | Data processor, print controller, data processing method, and record medium stored computer-readable program | |
TWI224264B (en) | Program version control management system and its method | |
CN110609698B (en) | Online upgrading method and device for control algorithm unit | |
TWI622887B (en) | Program change of computer system and online management method | |
JP2005208935A (en) | Software management system and software management program | |
JP7415091B1 (en) | Program, program management device, program management system, and program management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190315 |
|
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: 20190402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190415 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6520241 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 |