JP7151227B2 - Development system and support equipment - Google Patents

Development system and support equipment Download PDF

Info

Publication number
JP7151227B2
JP7151227B2 JP2018131430A JP2018131430A JP7151227B2 JP 7151227 B2 JP7151227 B2 JP 7151227B2 JP 2018131430 A JP2018131430 A JP 2018131430A JP 2018131430 A JP2018131430 A JP 2018131430A JP 7151227 B2 JP7151227 B2 JP 7151227B2
Authority
JP
Japan
Prior art keywords
control program
control device
identification information
unit
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018131430A
Other languages
Japanese (ja)
Other versions
JP2020009297A (en
Inventor
大輔 玉嶋
克重 大貫
茜 一村
明日香 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018131430A priority Critical patent/JP7151227B2/en
Priority to PCT/JP2019/026017 priority patent/WO2020012995A1/en
Publication of JP2020009297A publication Critical patent/JP2020009297A/en
Application granted granted Critical
Publication of JP7151227B2 publication Critical patent/JP7151227B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Description

本発明は、制御対象を制御する制御装置に向けられる開発システムおよびサポート装置に関する。 The present invention relates to a development system and support device directed to a control device that controls a controlled object.

様々な製造現場において、PLC(Programmable Logic Controller)などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置や製造設備などに応じて設計された制御プログラムが実行される。このような制御プログラムは、制御装置とは別に用意されたサポート装置を用いて作成される。 Control devices such as PLCs (Programmable Logic Controllers) have been introduced in various manufacturing sites. Such a control device is a kind of computer, and executes a control program designed according to manufacturing equipment, manufacturing facilities, and the like. Such a control program is created using a support device prepared separately from the control device.

制御装置において実行される制御プログラムは、製造装置や製造設備に不具合が見つかった場合や、製造装置を制御する際のパラメータを変更する場合など、比較的頻繁に更新される。また、制御プログラムを更新したことにより不具合が生じることもあり、製造現場においては、更新前の状態に戻すことができるように、更新履歴を取るニーズが存在する。 The control program executed by the control device is updated relatively frequently when a defect is found in the manufacturing device or manufacturing equipment, or when the parameters for controlling the manufacturing device are changed. In addition, since updating the control program may cause problems, there is a need at the manufacturing site to take an update history so that the state before the update can be restored.

たとえば、特開2002-169693号公報(特許文献1)は、プログラムエディタ装置から送られた制御プログラムをPLCに送信するプログラマブル表示器が制御プログラム自体やアクセス日時などからなる履歴データを蓄積し、PLCに異常が発生した場合に蓄積された履歴データから制御プログラムを読み出してPLCにインストールする技術を開示している。 For example, Japanese Patent Application Laid-Open No. 2002-169693 (Patent Document 1) discloses that a programmable display that transmits a control program sent from a program editor device to a PLC accumulates history data including the control program itself and access date and time, and the PLC discloses a technique for reading a control program from accumulated history data and installing it in a PLC when an abnormality occurs in the PLC.

特開2002-169693号公報JP-A-2002-169693

近年、制御プログラムの高度化により、複数人または複数のグループで協同して制御プログラムを作成する機会が増えており、開発段階における制御プログラムの変更履歴の管理も求められている。そのため、制御装置において実行される制御プログラムの管理は、開発環境での管理(制御プログラムの変更履歴の管理)と、制御装置を実際に利用する利用環境での管理(制御プログラムのダウンロード履歴の管理)とを要し、ユーザへの負担がかかるという課題がある。 In recent years, due to the sophistication of control programs, there are more opportunities for multiple people or groups to cooperate in creating control programs, and management of the change history of control programs during the development stage is also required. Therefore, management of the control program executed in the control device consists of management in the development environment (management of the change history of the control program) and management in the usage environment where the control device is actually used (management of the download history of the control program). ), which imposes a burden on the user.

本発明は、上記課題を解決することを目的とするものであって、制御プログラムの変更履歴とダウンロード履歴とを対応付けて管理することのできる開発システムおよびサポート装置を提供することを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to solve the above-described problems, and to provide a development system and a support device capable of managing the change history of a control program and the download history in association with each other. .

本開示の一例によれば、制御対象を制御する制御装置に向けられた開発システムが提供される。開発システムは、制御装置で実行される制御プログラムを作成または編集する作成部と、制御装置で実行される制御プログラムの変更履歴を、各変更段階の制御プログラムを特定するための第1識別情報を用いて管理する管理部と、作成部が作成または編集した制御プログラムを管理部が管理することで制御プログラムに付された第1識別情報と、制御プログラムに基づく制御装置で実行可能なコードとを、制御装置へ送信する送信部とを含む。 According to one example of the present disclosure, a development system directed to a control device that controls a controlled object is provided. The development system includes a creation unit that creates or edits a control program to be executed by the control device, a change history of the control program to be executed by the control device, and first identification information for specifying the control program at each change stage. the first identification information attached to the control program by the management unit managing the control program created or edited by the creation unit; and the code executable by the control device based on the control program. , and a transmitter for transmitting to the controller.

この開示によれば、制御装置に送られた制御プログラムと、管理部が管理している制御プログラムとを第1識別情報によって対応付けることができる。その結果、制御装置に送られた制御プログラムを、変更履歴と紐付けて管理することができる。 According to this disclosure, the control program sent to the control device and the control program managed by the management unit can be associated by the first identification information. As a result, the control program sent to the control device can be managed in association with the change history.

上述の開示において、開発システムは、制御装置に送信された第1識別情報と、送信先の制御装置を特定するための第2識別情報とを関連付けて格納する記憶部をさらに含む。 In the above disclosure, the development system further includes a storage unit that associates and stores the first identification information transmitted to the control device and the second identification information for specifying the destination control device.

この開示によれば、制御プログラムを受けた制御装置と、その制御プログラムの変更段階との関係を記憶することができるため、いずれの制御装置に、どのような制御プログラムが送られたのかを、ユーザが容易に把握することができる。また、制御プログラムに不具合があった場合に、その不具合のある制御プログラムよりも前に制御装置に送られていた制御プログラムを変更IDと変更履歴とから特定することができるため、ロールバック等の作業を容易に行なうことができる。 According to this disclosure, since the relationship between the control device that received the control program and the change stage of the control program can be stored, what control program was sent to which control device can be stored. The user can easily comprehend. Also, if there is a problem with the control program, the control program that was sent to the control device before the control program with the problem can be identified from the change ID and the change history. Work can be done easily.

上述の開示において、開発システムは、制御装置に送信されたコードまたは当該コードの元となる制御プログラムから制御プログラムの識別子である第3識別情報を算出する演算部をさらに含む。記憶部は、制御装置に送信された制御プログラムの第3識別情報を第1識別情報および第2識別情報に関連付けて格納する。 In the above disclosure, the development system further includes a computing unit that calculates the third identification information, which is the identifier of the control program, from the code transmitted to the control device or the control program that is the source of the code. The storage unit stores the third identification information of the control program transmitted to the control device in association with the first identification information and the second identification information.

この開示によれば、制御プログラムの変更履歴を参照しなくとも、制御装置で実行されている制御プログラムが書き換わったか否かを判別することができる。 According to this disclosure, it is possible to determine whether or not the control program being executed by the control device has been rewritten without referring to the change history of the control program.

上述の開示において、演算部は、制御装置において実行されている制御プログラムから第3識別情報を演算する。開発システムは、演算部が演算した第3識別情報と、制御装置から得られる第1識別情報とが関連付けて記憶部に格納されているか否かを確認する確認部をさらに含んでもよい。送信部は、確認部が制御装置において実行されている制御プログラムから算出された第3識別情報と、制御装置から得られる第1識別情報とが関連付けて記憶部に格納されていると判定したことを条件に、作成部が作成または編集した制御プログラムに付された第1識別情報と、作成部が作成または編集した制御プログラムに基づく制御装置で実行可能なコードとを、制御装置に送信する。 In the above disclosure, the computation unit computes the third identification information from the control program being executed in the control device. The development system may further include a confirmation unit that confirms whether or not the third identification information calculated by the calculation unit and the first identification information obtained from the control device are associated and stored in the storage unit. The transmission unit determines that the third identification information calculated from the control program executed in the control device by the confirmation unit and the first identification information obtained from the control device are associated and stored in the storage unit. on the condition that the first identification information attached to the control program created or edited by the creation unit and the code executable by the control device based on the control program created or edited by the creation unit are transmitted to the control device.

この開示によれば、制御装置で実行されている制御プログラムが書き換わっており、その制御プログラムに関するダウンロード履歴が格納されていない場合に、その履歴を残し忘れてしまうことを防止することができる。 According to this disclosure, when the control program executed by the control device has been rewritten and the download history related to the control program is not stored, it is possible to prevent the history from being forgotten.

本開示の別の一例によれば、制御対象を制御する制御装置に向けられたサポート装置が提供される。サポート装置は、制御装置で実行される制御プログラムを作成または編集する作成部と、制御装置で実行される制御プログラムの変更履歴を、各変更段階の制御プログラムを特定するための第1識別情報を用いて管理する管理部と、作成部が作成または編集した制御プログラムを管理部が管理することで制御プログラムに付された第1識別情報と、制御プログラムに基づく制御装置で実行可能なコードとを、制御装置へ送信する送信部とを備える。 According to another example of the present disclosure, a support device directed to a control device that controls a controlled object is provided. The support device includes a creation unit that creates or edits a control program executed by the control device, a change history of the control program that is executed by the control device, and first identification information for specifying the control program in each change stage. the first identification information attached to the control program by the management unit managing the control program created or edited by the creation unit; and the code executable by the control device based on the control program. , and a transmitter for transmitting to the control device.

この開示によれば、制御装置に送られた制御プログラムと、管理部が管理している制御プログラムとを第1識別情報によって対応付けることができる。 According to this disclosure, the control program sent to the control device and the control program managed by the management unit can be associated by the first identification information.

制御装置に送られた制御プログラムと、管理部が管理している制御プログラムとを第1識別情報によって対応付けることができ、制御プログラムの変更履歴と制御装置への制御プログラムの送信とを対応付けて管理することができる。その結果、ユーザの管理負担を軽減することができる。 The control program sent to the control device and the control program managed by the management unit can be associated by the first identification information, and the change history of the control program and the transmission of the control program to the control device can be associated. can be managed. As a result, the user's management burden can be reduced.

本実施の形態に係る制御システムの適用場面を模式的に示す図である。It is a figure which shows typically the application scene of the control system which concerns on this Embodiment. 本実施の形態に係る制御システムの概略構成を示す模式図である。1 is a schematic diagram showing a schematic configuration of a control system according to an embodiment; FIG. 本発明の実施の形態に係るPLCのハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions of PLC which concerns on embodiment of this invention. 本発明の実施の形態に係るサポート装置のハードウェア構成を示す模式図である。1 is a schematic diagram showing a hardware configuration of a support device according to an embodiment of the present invention; FIG. 本発明の実施の形態に係る管理サーバのハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions of the management server which concerns on embodiment of this invention. 管理サーバの機能構成の一例を示す模式図である。4 is a schematic diagram showing an example of a functional configuration of a management server; FIG. PLCに実行形式プログラムをダウンロードする手順の一例を示すシーケンス図である。FIG. 4 is a sequence diagram showing an example of a procedure for downloading an executable program to a PLC; 変更履歴の表示例を示す図である。FIG. 11 is a diagram showing a display example of change history; PLCに制御プログラムをダウンロードする際に機能するサポート装置の機能構成の一例を示す模式図である。FIG. 4 is a schematic diagram showing an example of a functional configuration of a support device that functions when downloading a control program to a PLC; サポート装置がモニタに表示する変更履歴の表示例である。It is a display example of the change history displayed on the monitor by the support device. 全ダウンロード履歴の表示例である。It is a display example of all download histories. 一の変更段階の制御プログラムのダウンロード履歴の表示例である。It is a display example of the download history of the control program in one change stage.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are denoted by the same reference numerals, and the description thereof will not be repeated.

§1 適用例
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御システム1aの適用場面を模式的に示す図である。制御システム1aは、作成部220aと、管理部300aと、送信部280aとを備える。
§1 Application Example First, an example of a scene to which the present invention is applied will be described with reference to FIG. FIG. 1 is a diagram schematically showing an application scene of a control system 1a according to this embodiment. The control system 1a includes a creation unit 220a, a management unit 300a, and a transmission unit 280a.

作成部220aは、制御装置の一例であるPLC(プログラマブルコントローラ)100において実行される制御プログラムを作成または編集する。具体的には、ユーザから入力操作に基づいて、作成部220aは制御プログラムを作成または編集する。なお、作成部220aは新たに制御プログラムを作成することも、既にある制御プログラムを編集することも可能である。 Creation unit 220a creates or edits a control program to be executed in PLC (programmable controller) 100, which is an example of a control device. Specifically, based on the user 's input operation, the creating unit 220a creates or edits the control program. Note that the creating unit 220a can create a new control program or edit an existing control program.

管理部300aは、作成部220aによって作成または編集された制御プログラムの変更履歴を管理する。具体的には、管理部300aは、各変更段階の制御プログラムを特定するための変更ID324を用いて管理する。 The management unit 300a manages the change history of the control programs created or edited by the creation unit 220a. Specifically, the management unit 300a manages using the change ID 324 for specifying the control program in each change stage.

送信部280aは、作成部220aによって作成または編集された制御プログラムが管理部300aによって管理されることで付された変更ID324と、その制御プログラムに基づくPLC100で実行可能なコードである実行形式プログラム502とをPLC100に送信する。 The transmission unit 280a receives the change ID 324 attached when the control program created or edited by the creation unit 220a is managed by the management unit 300a, and the executable program 502 which is a code executable by the PLC 100 based on the control program. and are transmitted to the PLC 100 .

制御プログラムに基づくPLC100で実行可能なコードとは、典型的にはオブジェクト形式のプログラムであるが、PLC100がソースコードをオブジェクト形式のコードに変換する機能を有している場合にはソースコードを含み、PLC100が制御プログラムをどのように実行するかによってコードの種類は異なる。 The code executable by the PLC 100 based on the control program is typically a program in object format, but if the PLC 100 has a function of converting the source code into an object format code, the source code is included. , the type of code differs depending on how the PLC 100 executes the control program.

このように、制御システム1aにおいて、送信部280aは、PLC100に制御プログラムを送る場合に、管理部300aがその制御プログラムを管理する際の識別情報である変更ID324を合わせて送る。そのため、PLC100に送られた制御プログラムと、管理部300aが管理している制御プログラムとを変更ID324によって対応付けることができ、PLC100に送った制御プログラムを、変更履歴と紐付けて管理することができる。その結果、ユーザの管理負担を軽減することができる。 In this way, in the control system 1a, when transmitting the control program to the PLC 100, the transmission unit 280a also transmits the change ID 324, which is identification information used when the management unit 300a manages the control program. Therefore, the control program sent to the PLC 100 and the control program managed by the management unit 300a can be associated by the change ID 324, and the control program sent to the PLC 100 can be managed in association with the change history. . As a result, the user's management burden can be reduced.

なお、図1に示す各機能を制御システム1aが備えるものとしたが、図1に示す各機能を、PLC100に向けられたサポート装置200aが備えてもよい。 Although the control system 1a has the functions shown in FIG. 1, the functions shown in FIG.

§2 具体例
以下、本発明の具体例として、本実施の形態に係る制御システム1のより詳細な構成および処理について説明する。
§2 Specific Example Hereinafter, a more detailed configuration and processing of the control system 1 according to the present embodiment will be described as a specific example of the present invention.

<A.制御システム1の全体構成例>
図2は、本実施の形態に係る制御システム1の概略構成を示す模式図である。制御システム1は、制御対象を制御するPLC100に向けられている。より具体的には、制御システム1は、PLC100が制御対象を制御するために実行する制御プログラムの変更履歴や各PLC100にダウンロードされている制御プログラムを管理するための環境を提供する。制御システム1は、PLC100と、PLC100に接続されるサポート装置200と、PLC100で実行される制御プログラムのバージョンを管理するための管理サーバ300とを含む。図1に示す制御システム1の構成は一例であって、管理サーバ300に接続可能なサポート装置200を複数備えてもよい。また、サポート装置200が管理サーバ300の機能を備えてもよい。
<A. Overall Configuration Example of Control System 1>
FIG. 2 is a schematic diagram showing a schematic configuration of the control system 1 according to this embodiment. A control system 1 is directed to a PLC 100 that controls a controlled object. More specifically, the control system 1 provides an environment for managing change histories of control programs executed by the PLCs 100 to control controlled objects and control programs downloaded to each PLC 100 . The control system 1 includes a PLC 100 , a support device 200 connected to the PLC 100 , and a management server 300 for managing versions of control programs executed by the PLC 100 . The configuration of the control system 1 shown in FIG. 1 is an example, and a plurality of support devices 200 connectable to the management server 300 may be provided. Also, the support device 200 may have the function of the management server 300 .

PLC100は、制御対象を制御する制御装置の一例である。PLC100は、典型的には、制御プログラムを含む各種プログラムを実行する主体であるCPUユニット10と、CPUユニット10などへ電力を供給する電源ユニット12と、フィールドからの信号を遣り取りするI/O(Input/Output)ユニット14とを含む。I/Oユニット14は、CPUユニット10とシステムバス11を介して接続されている。 PLC 100 is an example of a control device that controls a controlled object. The PLC 100 typically includes a CPU unit 10 that executes various programs including a control program, a power supply unit 12 that supplies power to the CPU unit 10, etc., and an I/O ( Input/Output) unit 14. The I/O unit 14 is connected to the CPU unit 10 via the system bus 11 .

サポート装置200は、制御対象を制御する制御装置であるPLC100に向けられた装置であって、制御プログラムの開発を支援する。サポート装置200とPLC100とは、接続ケーブル20などを介して互いに通信可能に接続される。なお、サポート装置200とPLC100との間の通信は、各種の産業用イーサネット(登録商標)であるフィールドネットワークによって実現されてもよい。サポート装置200は、PLC100で実行される制御プログラムを含む各種プログラムを開発するための環境を提供する機能、PLC100に対して制御プログラムおよび各種情報を設定する機能、運転中のPLC100の状態値を取得する機能などを含む。さらに、サポート装置200は、ユーザによる制御プログラムの開発を支援するため、デバック機能やシミュレーション機能を有していてもよい。サポート装置200は、本願発明のサポート装置の一例である。 The support device 200 is a device directed to the PLC 100, which is a control device that controls a controlled object, and supports development of control programs. The support device 200 and the PLC 100 are communicably connected to each other via a connection cable 20 or the like. Communication between the support device 200 and the PLC 100 may be realized by a field network that is various types of industrial Ethernet (registered trademark). The support device 200 has a function of providing an environment for developing various programs including a control program executed by the PLC 100, a function of setting the control program and various information for the PLC 100, and acquiring the state value of the PLC 100 during operation. including functions to Furthermore, the support device 200 may have a debugging function and a simulation function in order to assist the user in developing the control program. The support device 200 is an example of the support device of the present invention.

管理サーバ300は、制御プログラムの変更履歴と、制御プログラムをPLC100にダウンロードした履歴(ダウンロード履歴)とを管理する。管理サーバ300は、変更履歴を、各変更段階の制御プログラムを特定するための変更ID(IDentifier)324によって管理する。より具体的には、管理サーバ300は、変更ID324で管理されるバージョン情報322を変更段階ごとに記憶する。バージョン情報322は、変更ID324が示す変更段階における制御プログラムに関する情報と、その変更段階の状況を示す情報とを含む。たとえば、管理サーバ300は、サポート装置200から制御プログラムの保存指示を受け付けると、保存対象の制御プログラムをバージョン情報322として記憶する。 The management server 300 manages the change history of the control program and the history of downloading the control program to the PLC 100 (download history). The management server 300 manages the change history using a change ID (IDentifier) 324 for identifying the control program in each change stage. More specifically, the management server 300 stores the version information 322 managed by the change ID 324 for each change stage. The version information 322 includes information about the control program in the change stage indicated by the change ID 324 and information indicating the status of the change stage. For example, when management server 300 receives an instruction to save a control program from support device 200 , management server 300 stores the control program to be saved as version information 322 .

管理サーバ300は、制御プログラムをPLC100にダウンロードした履歴を記憶する。より具体的には、管理サーバ300は、PLC100に制御プログラムをダウンロードする度にサポート装置200によって生成されるダウンロード情報332を記憶する。管理サーバ300は、本願発明の管理部の一例である。なお、制御プログラムの変更履歴と、ダウンロード履歴を記憶するための記憶領域を管理サーバ300が備えるとしたが、この記憶領域は、管理サーバ300と通信可能な別の装置が備えてもよい。また、変更履歴とダウンロード履歴とが異なる記憶装置に記憶されるようにしてもよい。 The management server 300 stores a history of downloading control programs to the PLC 100 . More specifically, management server 300 stores download information 332 generated by support device 200 each time a control program is downloaded to PLC 100 . The management server 300 is an example of a management section of the present invention. Note that the management server 300 has storage areas for storing the control program change history and download history, but these storage areas may be provided in another device that can communicate with the management server 300 . Also, the change history and the download history may be stored in different storage devices.

管理サーバ300とサポート装置200とは、ローカルネットワーク22などを介して互いに通信可能に接続される。本実施の形態においては、管理サーバ300は、サポート装置200と別体に形成されているものとするが、管理サーバ300の機能を一のサポート装置200が備えていてもよい。また、管理サーバ300は、インターネットなどの外部ネットワークを介してサポート装置200と通信可能に接続されてもよい。 The management server 300 and the support device 200 are communicably connected to each other via the local network 22 or the like. In this embodiment, the management server 300 is formed separately from the support device 200, but one support device 200 may have the functions of the management server 300. FIG. Also, the management server 300 may be communicably connected to the support device 200 via an external network such as the Internet.

<B.PLC100のハードウェア構成>
図3は、本発明の実施の形態に係るPLC100のハードウェア構成を示す模式図である。PL100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主メモリ106と、不揮発性メモリ110と、内部バスコントローラ122と、フィールドバスコントローラ124と、USB(Universal Serial Bus)コネクタ126と、メモリカードインターフェイス128とを含む。
<B. Hardware configuration of PLC 100>
FIG. 3 is a schematic diagram showing the hardware configuration of the PLC 100 according to the embodiment of the invention. The PL 100 includes a processor 102 such as a CPU (Central Processing Unit) or MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a nonvolatile memory 110, an internal bus controller 122, and a fieldbus controller 124. , a USB (Universal Serial Bus) connector 126 and a memory card interface 128 .

プロセッサ102およびチップセット104は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、プロセッサ102は、チップセット104から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット104は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ102に必要な命令コードを生成する。さらに、チップセット104は、プロセッサ102での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。 Processor 102 and chipset 104 are typically configured according to general computer architectures. That is, the processor 102 interprets and executes instruction codes sequentially supplied from the chipset 104 according to the internal clock. The chipset 104 exchanges internal data with various connected components and generates instruction codes necessary for the processor 102 . Furthermore, the chipset 104 has a function of caching data obtained as a result of arithmetic processing executed by the processor 102 .

主メモリ106は、揮発性の記憶領域であり、PLC100への電源投入後にプロセッサ102で実行されるべき各種プログラムを格納する。主メモリ106は、プロセッサ102による各種プログラムの実行時の作業用メモリとしても使用される。このような主メモリ106としては、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といったデバイスが用いられる。 Main memory 106 is a volatile storage area, and stores various programs to be executed by processor 102 after PLC 100 is powered on. The main memory 106 is also used as a working memory when various programs are executed by the processor 102 . A device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory) is used as the main memory 106 .

不揮発性メモリ110は、PLC100としての機能を提供するためのソフトウェア群であるシステムプログラム112と、ユーザにおける制御目的に応じて作成されるユーザプログラムのうち、PLC100のプロセッサ102で実行可能なオブジェクトプログラム形式になっている実行形式プログラム502、および各種パラメータといったデータを不揮発的に格納する。これらのプログラムやデータは、必要に応じて、プロセッサ102がアクセスできるように主メモリ106にコピーされる。このような不揮発性メモリ110としては、半導体メモリであるフラッシュメモリや、ハードディスクドライブのような磁気記録媒体や、DVD-RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体といったデバイスが用いられる。 The nonvolatile memory 110 includes a system program 112, which is a software group for providing the functions of the PLC 100, and an object program format executable by the processor 102 of the PLC 100, among user programs created according to the control purpose of the user. Data such as the executable program 502 and various parameters are stored in a non-volatile manner. These programs and data are copied to main memory 106 for access by processor 102 as needed. As such a nonvolatile memory 110, a device such as a flash memory that is a semiconductor memory, a magnetic recording medium such as a hard disk drive, or an optical recording medium such as a DVD-RAM (Digital Versatile Disk Random Access Memory) is used. .

本実施の形態において「制御プログラム」は、PLCの基本的な機能を提供するためのシステムプログラム112と、制御対象に応じて任意に設計されるユーザプログラムとを包含する概念である。すなわち、システムプログラム112および実行形式プログラム502は、制御プログラムの一例である。但し、制御プログラムは、制御対象に応じて任意に設計されるプログラムのみを含む場合もある。 In this embodiment, the "control program" is a concept that includes the system program 112 for providing the basic functions of the PLC and a user program that is arbitrarily designed according to the object to be controlled. That is, the system program 112 and executable program 502 are examples of control programs. However, the control program may include only a program arbitrarily designed according to the controlled object.

内部バスコントローラ122は、PLC100と内部バスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、I/Oユニット14などが挙げられる。 The internal bus controller 122 is an interface that exchanges data with various devices connected to the PLC 100 through an internal bus. An example of such a device is the I/O unit 14 or the like.

フィールドバスコントローラ124は、PLC100とフィールドバスを通じて連結される各種の駆動機器とデータを遣り取りするインターフェイスである。このような駆動機器の一例として、たとえば、サーボドライバや、ロボットコントローラ、視覚センサなどが挙げられる。 The fieldbus controller 124 is an interface for exchanging data with various driving devices connected to the PLC 100 through fieldbus. Examples of such drive devices include servo drivers, robot controllers, visual sensors, and the like.

内部バスコントローラ122およびフィールドバスコントローラ124は、接続されているデバイスに対して任意の指令を与えることができるとともに、デバイスが管理している任意のデータ(測定値を含む)を取得することができる。また、内部バスコントローラ122および/またはフィールドバスコントローラ124は、駆動機器との間でデータを遣り取りするためのインターフェイスとしても機能する。 The internal bus controller 122 and the fieldbus controller 124 can give arbitrary commands to the connected devices and can acquire arbitrary data (including measured values) managed by the devices. . Internal bus controller 122 and/or fieldbus controller 124 also function as an interface for exchanging data with the drive equipment.

USBコネクタ126は、サポート装置200とPLC100とを接続するための通信インターフェイスである。典型的には、サポート装置200から転送される実行形式プログラム502などは、USBコネクタ126を介してPLC100に取込まれ、不揮発性メモリ110に格納される。 USB connector 126 is a communication interface for connecting support device 200 and PLC 100 . Typically, the executable program 502 and the like transferred from the support device 200 are loaded into the PLC 100 via the USB connector 126 and stored in the non-volatile memory 110 .

メモリカードインターフェイス128は、外部記憶媒体の一例であるメモリカード130(たとえば、SDカード)を着脱可能に構成されており、メモリカード130に対してデータを書き込み、メモリカード130からデータを読出すことが可能になっている。なお、メモリカード130を介して実行形式プログラム502をPLC100にダウンロードしてもよい。 Memory card interface 128 is configured such that a memory card 130 (for example, an SD card), which is an example of an external storage medium, can be attached/detached. is possible. Note that the executable program 502 may be downloaded to the PLC 100 via the memory card 130 .

<C.サポート装置のハードウェア構成>
図4は本発明の実施の形態に係るサポート装置200のハードウェア構成を示す模式図である。サポート装置200は、典型的には、汎用のコンピュータで構成される。なお、サポート装置200は、メンテナンス性の観点からは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
<C. Hardware Configuration of Support Device>
FIG. 4 is a schematic diagram showing the hardware configuration of the support device 200 according to the embodiment of the invention. Support device 200 is typically composed of a general-purpose computer. From the standpoint of maintainability, the support device 200 is preferably a notebook personal computer with excellent portability.

サポート装置200は、プロセッサ201と、主メモリ202と、不揮発性メモリ210と、USBコネクタ204と、キーボード205と、マウス206と、モニタ207と、CD-ROM(Compact Disk-Read Only Memory)ドライブ208と、ネットワークインターフェイス209とを含む。これらのコンポーネントは、内部バス203などを介して互いにデータ通信可能に接続される。 The support device 200 includes a processor 201, a main memory 202, a nonvolatile memory 210, a USB connector 204, a keyboard 205, a mouse 206, a monitor 207, and a CD-ROM (Compact Disk-Read Only Memory) drive 208. , and a network interface 209 . These components are connected to each other via an internal bus 203 or the like so as to be able to communicate with each other.

プロセッサ201は、不揮発性メモリ210に格納されている各種プログラムを実行する。主メモリ202は、プロセッサ201でのプログラム実行に必要なデータを格納するための作業領域を提供する。不揮発性メモリ210は、例えば、ハードディスクドライブやSSD(Flash Solid State Drive)などで構成され、プロセッサ201で実行されるプログラムを格納する。 The processor 201 executes various programs stored in the nonvolatile memory 210 . Main memory 202 provides a work area for storing data necessary for program execution in processor 201 . The non-volatile memory 210 is configured by, for example, a hard disk drive or SSD (Flash Solid State Drive), and stores programs executed by the processor 201 .

不揮発性メモリ210には、エディタプログラム213と、コンパイラプログラム214と、デバッガプログラム215と、通信プログラム216と、管理プログラム217とを含むPLCサポートプログラム212が格納されている。各プログラムは、典型的には、CD-ROM9に格納された状態で流通して、CD-ROMドライブ208によって読取られ、不揮発性メモリ210へ格納される。なお、PLCサポートプログラム212に含まれる各プログラムを上位のホストコンピュータなどからネットワークを通じてダウンロードするように構成してもよい。 The nonvolatile memory 210 stores a PLC support program 212 including an editor program 213, a compiler program 214, a debugger program 215, a communication program 216, and a management program 217. Each program is typically distributed as stored in the CD-ROM 9 , read by the CD-ROM drive 208 and stored in the non-volatile memory 210 . Note that each program included in the PLC support program 212 may be configured to be downloaded from a host computer or the like through a network.

エディタプログラム213は、ユーザプログラムであるソースプログラム504を作成するための入力および編集といった機能を提供する。コンパイラプログラム214は、ソースプログラム504をコンパイルして、PLC100のプロセッサ102で実行可能なオブジェクトプログラム形式の実行形式プログラム502を生成する機能を提供する。デバッガプログラム215は、ソースプログラム504に対してデバッグを行うための機能を提供する。通信プログラム216は、PLC100との通信および管理サーバ300との通信に係る機能を提供する。また、通信プログラム216は、ユーザプログラムをPLC100にダウンロードするための機能を提供する。 The editor program 213 provides input and editing functions for creating the source program 504, which is a user program. Compiler program 214 provides a function of compiling source program 504 to generate executable program 502 in the form of an object program executable by processor 102 of PLC 100 . A debugger program 215 provides a function for debugging the source program 504 . The communication program 216 provides functions related to communication with the PLC 100 and communication with the management server 300 . Communication program 216 also provides a function for downloading user programs to PLC 100 .

管理プログラム217は、変更履歴およびダウンロード履歴を管理サーバ300に格納するためにサポート装置200が実行する各種機能を提供する。たとえば、ダウンロード情報332を生成する機能、PLC100にダウンロードするユーザプログラムを決定する機能、制御プログラムの変更履歴およびダウンロード履歴をモニタ207に表示する機能を提供する。 The management program 217 provides various functions executed by the support device 200 to store the modification history and download history in the management server 300 . For example, it provides a function of generating download information 332, a function of determining a user program to be downloaded to PLC 100, and a function of displaying on monitor 207 the change history and download history of control programs.

USBコネクタ204は、サポート装置200とPLC100とを接続するための通信インターフェイスである。典型的には、サポート装置200から転送される実行形式プログラム502などは、USBコネクタ204を介してPLC100に取込まれる。 USB connector 204 is a communication interface for connecting support device 200 and PLC 100 . Typically, the executable program 502 and the like transferred from the support device 200 are taken into the PLC 100 via the USB connector 204 .

キーボード205とマウス206とは、ユーザ操作を受け付ける入力部として機能する。モニタ207は、情報をユーザに提示するための表示部として機能し、本願発明の表示部の一例である。 The keyboard 205 and mouse 206 function as input units for receiving user operations. The monitor 207 functions as a display unit for presenting information to the user, and is an example of the display unit of the present invention.

<D.管理サーバのハードウェア構成>
図5は本発明の実施の形態に係る管理サーバ300のハードウェア構成を示す模式図である。管理サーバ300は、プロセッサ301と、主メモリ302と、不揮発性メモリ310と、ネットワークインターフェイス304とを含む。これらのコンポーネントは、内部バス305などを介して互いにデータ通信可能に接続される。
<D. Hardware Configuration of Management Server>
FIG. 5 is a schematic diagram showing the hardware configuration of management server 300 according to the embodiment of the present invention. Management server 300 includes processor 301 , main memory 302 , nonvolatile memory 310 , and network interface 304 . These components are connected to each other via an internal bus 305 or the like so as to be able to communicate with each other.

プロセッサ301は、不揮発性メモリ310に保存された管理プログラム306を実行することで、ネットワークインターフェイス304を介してサポート装置200から送られる制御プログラムの変更履歴およびダウンロード履歴を管理するための各種処理を実行する。主メモリ302は、プロセッサ301でのプログラム実行に必要なデータを格納するための作業領域を提供する。不揮発性メモリ310は、例えば、ハードディスクドライブやSSD(Flash Solid State Drive)などで構成され、プロセッサ301で実行される管理プログラム306、バージョン情報322およびダウンロード情報332を格納する。 By executing the management program 306 stored in the nonvolatile memory 310, the processor 301 executes various processes for managing the modification history and download history of the control program sent from the support device 200 via the network interface 304. do. Main memory 302 provides a work area for storing data necessary for program execution in processor 301 . The nonvolatile memory 310 is configured by, for example, a hard disk drive or SSD (Flash Solid State Drive), and stores the management program 306 executed by the processor 301, version information 322, and download information 332.

管理サーバ300で実行される管理プログラム306などの各種プログラムは、ネットワークインターフェイス304を介してサポート装置200から不揮発性メモリ310へ格納される。なお、管理プログラム306などの各種プログラムは、不揮発性メモリ310に予め記憶されていてもよい。また、このような各種プログラムは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。また、このような各種プログラムは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。このような各種プログラムは、読取装置によりその記憶媒体から読み取られて、あるいは、ネットワークインターフェイス304等を介してダウンロードされた後、不揮発性メモリ310に格納される。 Various programs such as the management program 306 executed by the management server 300 are stored in the non-volatile memory 310 from the support device 200 via the network interface 304 . Various programs such as the management program 306 may be stored in advance in the nonvolatile memory 310 . Also, such various programs may be provided as downloadable program products by so-called information providers connected to the Internet. Also, such various programs may be stored in other storage media and distributed as program products. Such various programs are stored in the non-volatile memory 310 after being read from the storage medium by a reading device or downloaded via the network interface 304 or the like.

<E.管理サーバ300によって管理されるデータ>
図6を参照して、管理サーバ300によって管理されるデータについて説明する。図6は、管理サーバ300の機能構成の一例を示す模式図である。管理サーバ300は、変更履歴格納部320と、ダウンロード履歴格納部330と、保存処理部340と、出力対象決定部350と、出力部360とを備える。変更履歴格納部320およびダウンロード履歴格納部330は、いずれも不揮発性メモリ310により実現される。保存処理部340と、出力対象決定部350と、出力部360とは、プロセッサ301が管理プログラム306を実行することで実現される。
<E. Data Managed by Management Server 300>
Data managed by the management server 300 will be described with reference to FIG. FIG. 6 is a schematic diagram showing an example of the functional configuration of the management server 300. As shown in FIG. The management server 300 includes a change history storage unit 320 , a download history storage unit 330 , a save processing unit 340 , an output target determination unit 350 and an output unit 360 . Both change history storage unit 320 and download history storage unit 330 are realized by nonvolatile memory 310 . The storage processing unit 340 , the output target determination unit 350 , and the output unit 360 are implemented by the processor 301 executing the management program 306 .

変更履歴格納部320は、制御プログラムの変更履歴を格納するための記憶領域である。変更履歴格納部320には、各変更段階の制御プログラムが格納されている。具体的には、変更履歴格納部320には、変更段階ごとにバージョン情報322が格納されている。バージョン情報322は、変更ID324と、プログラム情報326と、履歴情報328とを含む。変更ID324は、いずれの変更段階の制御プログラムであるかを特定するための識別子である。プログラム情報326は、変更ID324が示す変更段階の制御プログラムに展開するための情報である。履歴情報328は、変更された日時、変更したユーザ、任意に入力可能なコメントなどを含む情報であって、変更ID324が示す変更段階の制御プログラムが生成されたときの状況を示す情報である。なお、プログラム情報326は、変更ID324が示す変更段階の制御プログラムに展開することができる情報であればよく、たとえば、変更前の制御プログラムと変更後の制御プログラムとの差分情報であってもよい。 The change history storage unit 320 is a storage area for storing the change history of control programs. The change history storage unit 320 stores control programs for each change stage. Specifically, the change history storage unit 320 stores version information 322 for each change stage. Version information 322 includes change ID 324 , program information 326 , and history information 328 . The change ID 324 is an identifier for specifying which change stage the control program is. The program information 326 is information for developing the control program in the change stage indicated by the change ID 324 . The history information 328 is information including the date and time of change, the user who made the change, comments that can be arbitrarily input, and the like, and indicates the situation when the control program at the change stage indicated by the change ID 324 was generated. Note that the program information 326 may be information that can be developed into the control program in the change stage indicated by the change ID 324. For example, the program information 326 may be difference information between the control program before change and the control program after change. .

ダウンロード履歴格納部330は、制御プログラムをPLCにダウンロードした履歴を格納するための記憶領域であって、本願発明の記憶部の一例である。ダウンロード履歴格納部330には、サポート装置200からPLC100に制御プログラムがダウンロードされる際に、サポート装置200と管理サーバ300とが通信可能に接続されている場合に、ダウンロード情報332が格納される。ダウンロード情報332は、ダウンロードした制御プログラムに付与されている変更ID324と、ダウンロード先のPLC100を特定するためのデバイスID334と、プログラムID336とを含む。デバイスID334は、サポート装置200を介してPLC100から送られるデータであって、たとえば、個々のPLC100の各々に予め割り振られているシリアルナンバーである。プログラムID336は、ダウンロードした制御プログラムから一意に得られるデータであって、サポート装置200によって生成されるデータである。ダウンロード情報332は、サポート装置200からPLC100に制御プログラムが送られたときにサポート装置200が生成する情報であって、サポート装置200から送られ、ダウンロード履歴格納部330に格納される。 The download history storage unit 330 is a storage area for storing a history of downloading control programs to the PLC, and is an example of the storage unit of the present invention. The download history storage unit 330 stores download information 332 when the control program is downloaded from the support device 200 to the PLC 100 and the support device 200 and the management server 300 are communicably connected. The download information 332 includes a change ID 324 given to the downloaded control program, a device ID 334 for specifying the download destination PLC 100, and a program ID 336 . The device ID 334 is data sent from the PLC 100 via the support device 200 and is, for example, a serial number pre-assigned to each individual PLC 100 . The program ID 336 is data uniquely obtained from the downloaded control program and generated by the support device 200 . The download information 332 is information generated by the support device 200 when the control program is sent from the support device 200 to the PLC 100 .

保存処理部340は、格納先決定部342と、バージョン情報生成部344と、ID付与部346とを備える。格納先決定部342は、サポート装置200から送られる情報を、変更履歴格納部320およびダウンロード履歴格納部330のうちのいずれの格納部に格納するかを決定する。たとえば、ソースプログラム504がサポート装置200から送られた場合、格納先決定部342は、格納先を変更履歴格納部320に決定する。一方、サポート装置200が生成したダウンロード情報332がサポート装置200から送られた場合、格納先決定部342は、格納先をダウンロード履歴格納部330に決定し、ダウンロード情報332をダウンロード履歴格納部330に格納する。 The save processing unit 340 includes a storage destination determining unit 342 , a version information generating unit 344 and an ID assigning unit 346 . The storage destination determination unit 342 determines in which of the change history storage unit 320 and the download history storage unit 330 information sent from the support device 200 is to be stored. For example, when the source program 504 is sent from the support device 200 , the storage destination determination unit 342 determines the change history storage unit 320 as the storage destination. On the other hand, when the download information 332 generated by the support device 200 is sent from the support device 200, the storage destination determination unit 342 determines the download history storage unit 330 as the storage destination, and stores the download information 332 in the download history storage unit 330. Store.

バージョン情報生成部344は、ソースプログラム504がサポート装置200から送られた場合に、送られたソースプログラム504からバージョン情報322を生成する。具体的には、ソースプログラム504からプログラム情報326および履歴情報328を生成する。 The version information generator 344 generates the version information 322 from the source program 504 sent from the support device 200 when the source program 504 is sent. Specifically, program information 326 and history information 328 are generated from source program 504 .

ID付与部346は、バージョン情報生成部344が生成したバージョン情報322に変更ID324を付与し、変更履歴格納部320に変更ID324を付与したバージョン情報322を格納する。より具体的には、変更ID324は、各変更段階のプログラム情報326および履歴情報328などから任意に算出されるデータであって、たとえば、変更前のソースプログラムを示す識別子と、履歴情報328とから一意に算出される。 The ID assigning unit 346 assigns a change ID 324 to the version information 322 generated by the version information generating unit 344 , and stores the version information 322 to which the change ID 324 is assigned in the change history storage unit 320 . More specifically, change ID 324 is data arbitrarily calculated from program information 326 and history information 328 at each change stage. Uniquely calculated.

出力対象決定部350は、サポート装置200からの取得指示を受けて、指示内容に応じた出力対象を決定し、決定した出力対象を出力部360からサポート装置200に出力させる。たとえば、制御プログラムの変更履歴をモニタ207に表示することを目的としてサポート装置200から取得指示を受けた場合、変更の過程を示す情報を変更履歴格納部320およびダウンロード履歴格納部330から生成して、出力部360に出力させる。また、最新の変更段階の取得指示を受けた場合、最新の変更段階を変更ID324に基づいて特定し、特定した変更段階のバージョン情報322を出力部360から出力させる。また、特定のPLC100についてのダウンロード履歴を表示することを目的としてサポート装置200から取得指示を受けた場合、ダウンロード履歴格納部330から特定のPLC100を示すデバイスID334と一致するデバイスID334を含むダウンロード情報332を特定し、そのダウンロード情報332に基づいてダウンロード履歴を生成して出力部360に出力させる。 The output target determination unit 350 receives an acquisition instruction from the support device 200 , determines an output target according to the content of the instruction, and causes the output unit 360 to output the determined output target to the support device 200 . For example, when an acquisition instruction is received from the support device 200 for the purpose of displaying the change history of the control program on the monitor 207, information indicating the change process is generated from the change history storage unit 320 and the download history storage unit 330. , to the output unit 360 . When receiving an instruction to acquire the latest change stage, it identifies the latest change stage based on the change ID 324 and causes the output unit 360 to output the version information 322 of the identified change stage. Further, when an acquisition instruction is received from the support device 200 for the purpose of displaying the download history of a specific PLC 100, the download information 332 including the device ID 334 that matches the device ID 334 indicating the specific PLC 100 from the download history storage unit 330 is displayed. is specified, and a download history is generated based on the download information 332 and output to the output unit 360 .

<F.ダウンロード時の流れ>
図7は、PLC100に実行形式プログラム502をダウンロードする手順の一例を示すシーケンス図である。図7に示す例においては、ユーザが管理サーバ300によって管理されている制御プログラムをサポート装置200上で編集し、編集後の制御プログラムをPLC100にダウンロードするものとする。
<F. Download Flow>
FIG. 7 is a sequence diagram showing an example of the procedure for downloading the executable program 502 to the PLC 100. As shown in FIG. In the example shown in FIG. 7, it is assumed that the user edits the control program managed by the management server 300 on the support device 200 and downloads the edited control program to the PLC 100 .

ユーザがサポート装置200に対してアクセスし、制御プログラムの作成の開始を指示したとする(シーケンスSQ2)。サポート装置200は、制御プログラムの作成開始指示を受けて、管理サーバ300に変更履歴を取得するための要求を送信する(シーケンスSQ4)。このとき、サポート装置200は、変更履歴に加えてダウンロード履歴についても要求するようにしてもよい。管理サーバ300は、変更履歴格納部320から変更履歴を抽出してサポート装置200に送る(シーケンスSQ6)。 Assume that the user accesses the support device 200 and instructs to start creating a control program (sequence SQ2). The support device 200 receives the instruction to start creating the control program, and transmits a request to acquire the change history to the management server 300 (sequence SQ4). At this time, the support device 200 may request the download history in addition to the change history. The management server 300 extracts the change history from the change history storage unit 320 and sends it to the support device 200 (sequence SQ6).

サポート装置200は、変更履歴に基づいて表示内容を形成してモニタ207に変更履歴を表示する(ステップS22)。図8は、変更履歴の表示例を示す図である。たとえば、図8に示すように、サポート装置200は、変更履歴格納部320に格納されている情報に基づいて、一の制御プログラムについての履歴表示400がされ、どのような変更過程で開発が進められているかを視覚的にユーザに通知する。 The support device 200 creates display contents based on the change history and displays the change history on the monitor 207 (step S22). FIG. 8 is a diagram showing a display example of change history. For example, as shown in FIG. 8, the support device 200 displays a history display 400 for one control program based on the information stored in the change history storage unit 320, and indicates in what change process the development progressed. Visually notify the user that the

ユーザは、いずれの変更段階における制御プログラムに対して編集を行うかを選択する(シーケンスSQ8)。たとえば、ユーザは、マウス206を操作して、モニタ207に表示されている複数の変更段階のうちの一の変更段階を選択する。図8に示す例では、「E」と表示された段階の制御プログラムが選択されたものとする。また、この場合に、編集対象の制御プログラムであることを示す第1アイコン410を選択した制御プログラムに付して表示してもよい。 The user selects at which change stage the control program is to be edited (sequence SQ8). For example, the user operates the mouse 206 to select one of multiple change stages displayed on the monitor 207 . In the example shown in FIG. 8, it is assumed that the control program at the stage labeled "E" is selected. Also, in this case, the selected control program may be displayed with the first icon 410 indicating that it is the control program to be edited.

サポート装置200は、選択された変更段階の制御プログラムを取得するための要求を送信する(シーケンスSQ10)。管理サーバ300は、要求を受けて、変更履歴格納部320から選択された変更段階を示すバージョン情報322から、その変更段階のソースプログラム504を再生する(ステップS32)。管理サーバ300は生成したソースプログラム504と変更段階を示すバージョン情報322に含まれる変更ID324とをサポート装置200に送る(シーケンスSQ12)。 Support device 200 transmits a request to acquire the selected change-stage control program (sequence SQ10). Upon receiving the request, the management server 300 reproduces the source program 504 of the change stage from the version information 322 indicating the change stage selected from the change history storage unit 320 (step S32). Management server 300 sends generated source program 504 and change ID 324 included in version information 322 indicating the change stage to support device 200 (sequence SQ12).

ユーザは、送られたソースプログラム504に基づいてプログラムの編集を行う(シーケンスSQ14)。その後、ユーザから編集したプログラムをPLC100にダウンロードするための指示を受けたとする(シーケンスSQ16)。 The user edits the program based on the sent source program 504 (sequence SQ14). After that, it is assumed that an instruction is received from the user to download the edited program to the PLC 100 (sequence SQ16).

サポート装置200は、PLC100との通信を確認するため、PLC100に接続を要求する(シーケンスSQ18)。PLC100は、サポート装置200に対して接続状況の結果を返す(シーケンスSQ20)。なお、サポート装置200は、PLC100からの返信がない場合に、その旨をモニタ207に表示してユーザに通知する。 In order to confirm communication with PLC 100, support device 200 requests connection to PLC 100 (sequence SQ18). PLC 100 returns the connection status result to support device 200 (sequence SQ20). If there is no reply from the PLC 100, the support device 200 notifies the user by displaying that effect on the monitor 207. FIG.

サポート装置200は、PLC100との接続を確認した後、制御プログラムに対して他の変更が加えられていないかを確認する。具体的には、編集前の制御プログラムに対して他のサポート装置等から変更が加えられたか否かを管理サーバ300が管理している変更履歴から判断する。たとえば、サポート装置200は、シーケンスSQ12において管理サーバ300から送られた変更ID324を管理サーバ300に送る(シーケンスSQ22)。すなわち、変更前のソースプログラム504の変更段階を示す変更IDをサポート装置200は管理サーバ300に送る。管理サーバ300は、送られた変更IDによって特定される変更段階が全変更段階のうちのいずれの変更段階であるかを特定する(ステップS34)。 After confirming the connection with the PLC 100, the support device 200 confirms whether other changes have been made to the control program. Specifically, it is determined from the change history managed by the management server 300 whether or not the control program before editing has been changed by another support device or the like. For example, support device 200 sends change ID 324 sent from management server 300 in sequence SQ12 to management server 300 (sequence SQ22). That is, the support device 200 sends to the management server 300 a change ID indicating the change stage of the source program 504 before change. The management server 300 identifies which of all the change stages the change stage identified by the transmitted change ID is (step S34).

管理サーバ300は特定結果をサポート装置200に送る(シーケンスSQ24)。サポート装置200は、送られた特定結果に基づいて、編集前のソースプログラム504に対して変更が加えられているか否かを判断する(ステップS23)。 Management server 300 sends the identification result to support device 200 (sequence SQ24). The support device 200 determines whether or not the pre-editing source program 504 has been changed based on the sent identification result (step S23).

サポート装置200は、変更が加えられていると判断した場合(ステップS23においてYES)、シーケンスSQ14において行った編集後のソースプログラム504に加えられた変更を反映し(ステップS24)、反映したソースプログラム504をダウンロード対象に決定する(ステップS25)。 If support device 200 determines that a change has been made (YES in step S23), it reflects the change made in source program 504 after editing in sequence SQ14 (step S24), and 504 is determined to be downloaded (step S25).

なお、サポート装置200は、変更を反映する場合に、シーケンスSQ14において行った編集箇所を変更する必要があるような場合に、ユーザに通知するようにしてもよい。また、サポート装置200は、変更が加えられていることを通知し、その変更を反映するか否かをユーザに選択させるようにしてもよい。 It should be noted that the support device 200 may notify the user when it is necessary to change the edited portion performed in the sequence SQ14 when reflecting the change. Also, the support device 200 may notify that a change has been made and allow the user to select whether or not to reflect the change.

一方、管理サーバ300は、変更が加えられていないと判断した場合(ステップS23においてNO)、シーケンスSQ14において行った編集後のソースプログラムをダウンロード対象に決定する(ステップS26)。 On the other hand, when management server 300 determines that no change has been made (NO in step S23), it determines the source program edited in sequence SQ14 as a download target (step S26).

サポート装置200は、ダウンロード対象のソースプログラム504をコンパイルして実行形式プログラム502を得る(シーケンスSQ26)。 Support device 200 compiles source program 504 to be downloaded to obtain executable program 502 (sequence SQ26).

サポート装置200は、PLC100に対して排他権を要求する(シーケンスSQ28)。排他権は、一のPLC100に対しては同時に2以上の実行形式プログラムをダウンロードすることができないようにするための権利であって、PLC100につき1つ設けられている。サポート装置200は、実行形式プログラムのダウンロードが完了するまでは排他権を保持し、ダウンロードが完了すると排他権をPLC100に返還する。 Support device 200 requests the exclusive right from PLC 100 (sequence SQ28). The exclusive right is a right to prevent downloading two or more executable programs to one PLC 100 at the same time, and one exclusive right is provided for each PLC 100 . The support device 200 holds the exclusive right until the download of the executable program is completed, and returns the exclusive right to the PLC 100 when the download is completed.

PLC100は、排他権をサポート装置200に送る(シーケンスSQ30)。なお、PLC100が排他権を他のサポート装置等に渡している場合、ダウンロードをキャンセルしてもよく、また、排他権が返還されるまで待機してもよい。 PLC 100 sends the exclusive right to support device 200 (sequence SQ30). Note that when the PLC 100 has passed the exclusive right to another support device or the like, the download may be canceled, or the exclusive right may be returned.

排他権をサポート装置200が保持している間は、排他権を保持しているサポート装置200からしかPLC100の内部データを変更することができない。 While the support device 200 holds the exclusive right, the internal data of the PLC 100 can be changed only from the support device 200 holding the exclusive right.

サポート装置200は、PLC100が実行している制御プログラムを、ダウンロード対象の実行形式プログラム502に書き換えてもよいかを判断するため、PLC100の内部データを確認する(シーケンスSQ32)。なお、内部データの確認方法については後述する。PLC100は、内部データの確認を受けてPLC100が備えるデータ(内部データ)をサポート装置200に送る(シーケンスSQ34)。内部データには、PLC100のデバイスID334が含まれる。 Support device 200 checks the internal data of PLC 100 in order to determine whether the control program being executed by PLC 100 can be rewritten to executable program 502 to be downloaded (sequence SQ32). A method of checking the internal data will be described later. PLC 100 receives confirmation of the internal data and sends the data (internal data) of PLC 100 to support device 200 (sequence SQ34). The internal data includes device ID 334 of PLC 100 .

サポート装置200は、ダウンロード対象として決定したソースプログラム504を管理サーバ300の管理対象とするため、ソースプログラム504を管理サーバ300に送る(シーケンスSQ36)。管理サーバ300は、送られたソースプログラム504からバージョン情報322を生成して、変更ID324を付与し、バージョン情報322を変更履歴格納部320に格納するための保存処理を実行する(ステップS36)。その後、管理サーバ300は、保存処理によってダウンロード対象のソースプログラム504に対して付与された変更ID324をサポート装置200に送る(シーケンスSQ38)。 The support device 200 sends the source program 504 to the management server 300 so that the source program 504 determined to be downloaded is to be managed by the management server 300 (sequence SQ36). The management server 300 generates the version information 322 from the sent source program 504, assigns the change ID 324, and executes a saving process for storing the version information 322 in the change history storage unit 320 (step S36). After that, the management server 300 sends the change ID 324 assigned to the source program 504 to be downloaded by the saving process to the support device 200 (sequence SQ38).

サポート装置200は、ステップS25またはステップS26において決定したダウンロード対象のソースプログラム504からプログラムID336を算出する(ステップS27)。プログラムID336は、ハッシュ関数を用いてソースプログラム504から算出される、制御プログラムの識別情報である。なお、プログラムID336は、実行形式プログラム502からハッシュ関数を用いて算出できるような構成であってもよい。 The support device 200 calculates the program ID 336 from the download target source program 504 determined in step S25 or step S26 (step S27). The program ID 336 is control program identification information calculated from the source program 504 using a hash function. Note that the program ID 336 may be configured to be calculated from the executable program 502 using a hash function.

サポート装置200は、シーケンスSQ26において得られた実行形式プログラム502と、シーケンスSQ38で得られた変更ID324と、ステップS27において得られたプログラムID336とをPLC100にダウンロードする(シーケンスSQ40)。 Support device 200 downloads executable program 502 obtained in sequence SQ26, change ID 324 obtained in sequence SQ38, and program ID 336 obtained in step S27 to PLC 100 (sequence SQ40).

PLC100は、ダウンロード結果をサポート装置200に送る(シーケンスSQ42)。サポート装置200は、ダウンロード情報を生成して(ステップS28)、生成したダウンロード情報332を管理サーバ300に送る(シーケンスSQ44)。管理サーバ300は、送られたダウンロード情報332をダウンロード履歴格納部330に格納する(ステップS38)。また、サポート装置200は、排他権をPLC100に返還して(シーケンスSQ46)、ダウンロードに係る処理は完了する。 PLC 100 sends the download result to support device 200 (sequence SQ42). The support device 200 generates download information (step S28) and sends the generated download information 332 to the management server 300 (sequence SQ44). The management server 300 stores the sent download information 332 in the download history storage unit 330 (step S38). Further, the support device 200 returns the exclusive right to the PLC 100 (sequence SQ46), and the download process is completed.

すなわち、図7に示した一連のダウンロードに係る処理が完了した段階で、PLC100には、実行形式プログラム502と、その実行形式プログラム502の制御プログラムに対して管理サーバ300が付した変更ID324と、ダウンロードされた実行形式プログラム502のプログラムID336とが記憶されている。また、管理サーバ300には、PLC100に実行形式プログラム502がダウンロードされた履歴としてダウンロード情報332が格納される。ダウンロード情報332は、変更ID324とプログラムID336とデバイスID334とからなる。すなわち、ダウンロード情報332と、バージョン情報322とを突き合わせることで、いずれのPLC100に、いずれの変更段階の制御プログラムがダウンロードされているかを、ダウンロード情報332に基づいて特定することができる。 That is, at the stage when the series of download processes shown in FIG. The program ID 336 of the downloaded executable program 502 is stored. The management server 300 also stores download information 332 as a history of downloading the executable program 502 to the PLC 100 . Download information 332 consists of change ID 324 , program ID 336 and device ID 334 . In other words, by comparing the download information 332 and the version information 322, it is possible to specify based on the download information 332 to which PLC 100 the control program in which change stage has been downloaded.

また、PLC100に実行形式プログラム502に加えて、変更ID324がダウンロードされるため、バージョン情報322と、PLC100にダウンロードされた情報とを突き合わせることで、そのPLC100にダウンロードされている制御プログラムが、いずれの変更段階の制御プログラムであるかを容易に特定することができる。 Also, since the change ID 324 is downloaded to the PLC 100 in addition to the executable program 502, by matching the version information 322 with the information downloaded to the PLC 100, the control program downloaded to the PLC 100 will eventually It is possible to easily identify whether it is a control program in the change stage of .

<G.ダウンロード処理に係るサポート装置200の機能構成>
図9は、PLC100に制御プログラムをダウンロードする際に機能するサポート装置200の機能構成の一例を示す模式図である。サポート装置200は、作成部220と、ダウンロード対象決定部230と、コンパイル部240と、プログラムID生成部250と、プログラム管理部260と、確認部270と、ダウンロード部280とを備える。これらの各機能構成は、プロセッサ201が、PLCサポートプログラム212を実行することで実現される。
<G. Functional Configuration of Support Device 200 Related to Download Processing>
FIG. 9 is a schematic diagram showing an example of the functional configuration of the support device 200 that functions when downloading the control program to the PLC 100. As shown in FIG. The support device 200 includes a creation unit 220 , a download target determination unit 230 , a compilation unit 240 , a program ID generation unit 250 , a program management unit 260 , a confirmation unit 270 and a download unit 280 . Each of these functional configurations is implemented by the processor 201 executing the PLC support program 212 .

作成部220は、ユーザの操作に従ってソースプログラム504を作成または編集する。作成部220が作成または編集したソースプログラム504は、たとえば、不揮発性メモリ210に一時的に保存される。作成部220は、本願発明の作成部の一例である。 The creation unit 220 creates or edits the source program 504 according to user's operation. Source program 504 created or edited by creation unit 220 is temporarily stored in nonvolatile memory 210, for example. The creation unit 220 is an example of the creation unit of the present invention.

ダウンロード対象決定部230は、ユーザからのダウンロード指示を受けて、PLC100にダウンロードする制御プログラムを決定する。具体的には、図7に示したシーケンスSQ22、ステップS23~ステップS26の処理を実行して、ダウンロード対象を決定する。換言すると、管理サーバ300の変更履歴格納部320に格納されているバージョン情報322から、不揮発性メモリ210に保存されている編集後のソースプログラム504がいずれの変更段階であるかを特定して、ダウンロード対象の制御プログラムを決定する。ダウンロード対象決定部230は、編集後のソースプログラム504に、変更を反映する場合(ステップS24)、不揮発性メモリ210に保存されているソースプログラム504に変更を反映する。 The download target determination unit 230 determines a control program to be downloaded to the PLC 100 upon receiving a download instruction from the user. Specifically, the process of sequence SQ22 and steps S23 to S26 shown in FIG. 7 is executed to determine the download target. In other words, from the version information 322 stored in the change history storage unit 320 of the management server 300, specify which change stage the edited source program 504 saved in the nonvolatile memory 210 is in, Determine the control program to be downloaded. When the change is to be reflected in the edited source program 504 (step S24), the download target determination unit 230 reflects the change in the source program 504 stored in the nonvolatile memory 210. FIG.

コンパイル部240は、ダウンロード対象のソースプログラム504から実行形式プログラムを生成する。 The compiling unit 240 generates an executable program from the source program 504 to be downloaded.

プログラムID生成部250は、ソースプログラム504からプログラムID336を生成する。具体的には、プログラムID生成部250は、ハッシュ関数を用いてプログラムID336を算出し、本願発明の演算部の一例である。 Program ID generation unit 250 generates program ID 336 from source program 504 . Specifically, the program ID generation unit 250 calculates the program ID 336 using a hash function, and is an example of the calculation unit of the present invention.

プログラム管理部260は、ダウンロード対象のソースプログラム504を管理サーバ300に送り、管理サーバ300から変更ID324を受け取る。 The program management unit 260 sends the source program 504 to be downloaded to the management server 300 and receives the change ID 324 from the management server 300 .

確認部270は、PLC100において実行されている制御プログラムのダウンロード履歴が管理サーバ300のダウンロード履歴格納部330に格納されているか否かを確認する、本願発明の確認部の一例である。具体的には、確認部270は、PLC100にダウンロードされているプログラムID336および変更ID324、ならびに、PLC100の識別子であるデバイスID334を、PLC100から取得する。確認部270は、取得したデバイスID334、変更ID324、およびプログラムID336のセットからなるダウンロード情報332がダウンロード履歴格納部330に格納されているか否かを判断する。格納されていない場合、PLC100にダウンロードされている制御プログラムの履歴がダウンロード履歴格納部330に格納されていないことを意味する。一方、格納されている場合は、PLC100にダウンロードされている制御プログラムのダウンロード履歴および変更履歴が管理サーバ300によって管理されていることを意味する。 The confirmation unit 270 is an example of the confirmation unit of the present invention that confirms whether or not the download history of the control program being executed in the PLC 100 is stored in the download history storage unit 330 of the management server 300 . Specifically, confirmation unit 270 acquires program ID 336 and change ID 324 downloaded to PLC 100 and device ID 334 that is the identifier of PLC 100 from PLC 100 . Confirmation unit 270 determines whether or not download information 332 consisting of a set of acquired device ID 334 , change ID 324 , and program ID 336 is stored in download history storage unit 330 . If not stored, it means that the history of the control program downloaded to the PLC 100 is not stored in the download history storage unit 330 . On the other hand, if it is stored, it means that the download history and change history of the control program downloaded to the PLC 100 are managed by the management server 300 .

確認部270は、ダウンロード指示を受けたことに基づいて、PLC100において実行されている制御プログラムのダウンロード履歴が管理サーバ300のダウンロード履歴格納部330に格納されているか否かを確認する。確認結果をダウンロード部280に送る。また、確認部270は、PLC100との通信を開始したことを以て、PLC100において実行されている制御プログラムのダウンロード履歴の有無を確認してもよい。 The confirmation unit 270 confirms whether or not the download history of the control program being executed in the PLC 100 is stored in the download history storage unit 330 of the management server 300 based on the reception of the download instruction. The confirmation result is sent to the download section 280 . Further, the confirmation unit 270 may confirm the presence or absence of the download history of the control program being executed in the PLC 100 by starting communication with the PLC 100 .

ダウンロード部280は、確認部270から送られた確認結果に基づいてダウンロードを継続するか否かを決定する。具体的には、PLC100において実行されている制御プログラムのダウンロード履歴がない場合、ダウンロード部280は、ダウンロードの継続を中止する。一方、PLC100において実行されている制御プログラムのダウンロード履歴がある場合、ダウンロードの継続を決定する。ダウンロード部280は、排他権に関する制御を行う排他権制御部282と、ダウンロードを実行する実行部284と、ダウンロード情報を生成するダウンロード情報生成部286とを備える。ここで、ダウンロード部280は、本願発明の送信部の一例である。 The download section 280 determines whether to continue the download based on the confirmation result sent from the confirmation section 270 . Specifically, when there is no download history of the control program being executed in the PLC 100, the download unit 280 stops the continuation of the download. On the other hand, if there is a download history of the control program being executed in the PLC 100, it decides to continue the download. The download unit 280 includes an exclusive right control unit 282 that controls exclusive rights, an execution unit 284 that executes downloads, and a download information generation unit 286 that generates download information. Here, the download section 280 is an example of the transmission section of the present invention.

排他権制御部282は、確認部270の確認結果に基づいてダウンロード部280がダウンロードの継続を決めたことを以て、PLC100に排他権を要求する。排他権制御部282は、実行形式プログラム502のダウンロードが完了するまでは排他権を保持し、ダウンロードが完了すると排他権をPLC100に返還する。 The exclusive right control unit 282 requests the exclusive right from the PLC 100 because the download unit 280 has decided to continue the download based on the confirmation result of the confirmation unit 270 . The exclusive right control unit 282 holds the exclusive right until the download of the executable program 502 is completed, and returns the exclusive right to the PLC 100 when the download is completed.

たとえば、PLC100が実行形式プログラムをダウンロードしている間、あるいは、PLC100にダウンロードされている制御プログラムに対する編集が行なわれている間は、排他権の要求は拒否される。 For example, while PLC 100 is downloading an executable program, or while a control program downloaded to PLC 100 is being edited, the exclusive right request is denied.

実行部284は、排他権制御部282が排他権を取得したことを以て、実行形式プログラム502、デバイスID334と、変更ID324とをPLC100に送る。 The execution unit 284 sends the executable program 502, the device ID 334, and the change ID 324 to the PLC 100 when the exclusive right control unit 282 acquires the exclusive right.

ダウンロード情報生成部286は、PLC100からのダウンロード結果を受けて、ダウンロード情報332を生成する。このとき、ダウンロード情報生成部286は、コメントの入力を可能にしてもよい。 The download information generation unit 286 receives the download result from the PLC 100 and generates download information 332 . At this time, the download information generation unit 286 may allow the input of comments.

<H.ダウンロード情報およびPLC100に送られた変更ID324の活用例>
本実施の形態において、管理サーバ300、サポート装置200、およびPLC100が互いに通信可能に接続された環境の下では、PLC100にダウンロードされた制御プログラムは管理サーバ300の管理下におくことができる。以下、ダウンロード履歴およびPLC100に送られた変更ID324およびプログラムID336の活用例について説明する。
<H. Utilization example of download information and change ID 324 sent to PLC 100>
In the present embodiment, under an environment in which management server 300, support device 200, and PLC 100 are communicably connected, control programs downloaded to PLC 100 can be placed under management of management server 300. FIG. An example of how the change ID 324 and program ID 336 sent to the download history and the PLC 100 are used is described below.

(h1.PLC100にダウンロードされた制御プログラムの確認)
サポート装置200は、PLC100との接続を開始したときに、PLC100が備える変更ID324、実行形式プログラム502、およびプログラムID336を取得する。取得した実行形式プログラム502をソースプログラム504に変換して、プログラムID生成部250がプログラムID336を再演算する。サポート装置200の確認部270は、再計算によって得られたプログラムID336とPLC100から取得したプログラムID336とが一致しているか否かを確認し、確認結果をモニタ207に表示することでユーザに通知してもよい。
(h1. Confirmation of control program downloaded to PLC100)
Support device 200 acquires change ID 324 , executable program 502 and program ID 336 provided by PLC 100 when connection with PLC 100 is started. The acquired executable program 502 is converted into the source program 504, and the program ID generation unit 250 recalculates the program ID 336. FIG. Confirmation unit 270 of support device 200 confirms whether program ID 336 obtained by recalculation and program ID 336 obtained from PLC 100 match, and notifies the user by displaying the confirmation result on monitor 207. may

たとえば、PLC100から取得した実行形式プログラム502から再計算されたプログラムID336と、PLC100から取得したプログラムID336とは一致しないということは、PLC100が備える実行形式プログラム502はプログラムID336とともにダウンロードされたときから書き換えられており、制御プログラムが管理サーバ300に管理されていない虞がある。 For example, the fact that the program ID 336 recalculated from the executable program 502 acquired from the PLC 100 and the program ID 336 acquired from the PLC 100 do not match means that the executable program 502 provided in the PLC 100 has been rewritten together with the program ID 336 since it was downloaded. Therefore, there is a possibility that the control program is not managed by the management server 300 .

なお、PLC100に実行形式プログラム502をダウンロードするときに、併せてプログラムID336をPLC200に送ることで、サポート装置200が管理サーバ300のダウンロード履歴格納部330にアクセスすることができない環境下であっても、書き換わっているか否かを特定可能である。なお、この場合、実行形式プログラム502が書き換わったとしてもプログラムID336は更新されないことを前提とする。 By sending the program ID 336 to the PLC 200 when downloading the executable program 502 to the PLC 100, even in an environment where the support device 200 cannot access the download history storage unit 330 of the management server 300, , is rewritten. In this case, it is assumed that the program ID 336 is not updated even if the executable program 502 is rewritten.

実行形式プログラム502の書き換わったときにプログラムID336も更新される場合であっても、サポート装置200と管理サーバ300とが互いに通信可能に接続されていれば、実行形式プログラム502が書き換わっているか否かを判断することができる。具体的には、サポート装置200は、PLC100にダウンロードされている実行形式プログラム502から再計算したプログラムID336と、PLC100から取得した変更ID324およびデバイスID334との組み合わせからなるダウンロード情報332がダウンロード履歴格納部330に格納されているか否かを確認する。一致するダウンロード情報332がある場合、サポート装置200は、PLC100にダウンロードされている制御プログラムは管理サーバ300によって管理されていると判断し、一致するダウンロード情報332がない場合、PLC100にダウンロードされている制御プログラムは管理サーバ300によって管理されていないと判断する。 Even if the program ID 336 is updated when the executable program 502 is rewritten, if the support device 200 and the management server 300 are connected so as to be able to communicate with each other, whether the executable program 502 has been rewritten. You can decide whether or not Specifically, the support device 200 stores the download information 332, which is a combination of the program ID 336 recalculated from the executable program 502 downloaded to the PLC 100 and the change ID 324 and device ID 334 obtained from the PLC 100, in the download history storage unit. 330 is stored. If there is matching download information 332, the support device 200 determines that the control program downloaded to the PLC 100 is managed by the management server 300. If there is no matching download information 332, the support device 200 has been downloaded to the PLC 100. The control program determines that it is not managed by the management server 300 .

(h2.変更履歴およびダウンロード履歴の表示例)
図10~図12を参照して変更履歴およびダウンロード履歴の表示方法について説明する。図10は、サポート装置200がモニタ207に表示する変更履歴の表示例である。図11は、全ダウンロード履歴の表示例である。図12は、一の変更段階の制御プログラムのダウンロード履歴の表示例である。サポート装置200は、変更履歴格納部320に格納されたバージョン情報322に基づいて制御プログラムの変更履歴を履歴表示400としてモニタ207に表示する。
(h2. Display example of change history and download history)
A method of displaying change history and download history will be described with reference to FIGS. 10 to 12. FIG. FIG. 10 is a display example of change history displayed on the monitor 207 by the support device 200 . FIG. 11 is a display example of all download histories. FIG. 12 is a display example of the download history of the control program in one change stage. The support device 200 displays the change history of the control program as a history display 400 on the monitor 207 based on the version information 322 stored in the change history storage unit 320 .

たとえば、Eアイコン450に対して編集を行っている場合、第1アイコン410をEアイコン450に付すように表示される。その後、編集が完了し、管理サーバ300によって管理されると、Fアイコン420が表示される。 For example, when the E icon 450 is being edited, the first icon 410 is displayed to be attached to the E icon 450 . After that, when the editing is completed and managed by the management server 300, the F icon 420 is displayed.

また、サポート装置200にPLC100が接続されている場合に、そのPLC100が実行している制御プログラムがいずれの変更段階の制御プログラムであるかが第2アイコン432を付すことで示される。具体的には、第1タブ430が操作されると、PLC100が実行している制御プログラムを示すアイコンに第2アイコン432が付される。図10に示す例では、Eアイコン450が示す変更段階の制御プログラムをPC100が実行している。 Also, when the PLC 100 is connected to the support device 200, the second icon 432 indicates which change stage the control program being executed by the PLC 100 is. Specifically, when the first tab 430 is operated, a second icon 432 is attached to the icon indicating the control program being executed by the PLC 100 . In the example shown in FIG. 10 , the PLC 100 is executing the control program in the change stage indicated by the E icon 450 .

ダウンロード履歴の全てを表示するための第2タブ440が操作されると、図11に示すように、サポート装置200は、全てのダウンロード履歴を示す履歴表示442をモニタ207に表示する。一のダウンロード履歴を選択して、削除ボタン444を操作すると、選択したダウンロード履歴(ダウンロード情報332)が削除される。また、一のダウンロード履歴を選択して編集ボタン446を操作すると、選択したダウンロード履歴のコメント欄を編集することができる。 When the second tab 440 for displaying all download histories is operated, the support device 200 displays a history display 442 showing all download histories on the monitor 207 as shown in FIG. When one download history is selected and the delete button 444 is operated, the selected download history (download information 332) is deleted. Also, by selecting one download history and operating the edit button 446, the comment column of the selected download history can be edited.

サポート装置200は、選択された一の変更段階の制御プログラムのダウンロード履歴を表示する。たとえば、Eアイコン450が選択されると、図12に示すように、サポート装置200は、Eアイコン450が示す変更段階の制御プログラムをダウンロードした履歴が示された履歴表示452をモニタ207に表示する。具体的には、サポート装置200は、一の変更段階が選択されると、選択された一の変更段階の変更ID324を含むダウンロード情報332を管理サーバ300に要求する。管理サーバ300は、ダウンロード履歴格納部330から選択された一の変更段階の変更ID324を含むダウンロード情報332を抽出し、サポート装置200に送る。サポート装置200は、選択された変更段階の制御プログラムがダウンロードされた履歴を履歴表示442としてモニタ207に表示する。削除ボタン454および編集ボタン456の機能は、削除ボタン444および編集ボタン446と同じ機能であるため説明を割愛する。 The support device 200 displays the download history of the control program in one selected change stage. For example, when the E icon 450 is selected, as shown in FIG. 12, the support device 200 displays on the monitor 207 a history display 452 showing the history of downloading the control program at the change stage indicated by the E icon 450. . Specifically, when one change stage is selected, the support device 200 requests the download information 332 including the change ID 324 of the selected one change stage from the management server 300 . The management server 300 extracts the download information 332 including the change ID 324 of the selected one change stage from the download history storage unit 330 and sends it to the support device 200 . The support device 200 displays on the monitor 207 as a history display 442 a history of downloading the selected control program at the change stage. The functions of the delete button 454 and the edit button 456 are the same as those of the delete button 444 and the edit button 446, so the description is omitted.

また、ユーザは、図10に示す変更履歴から、一の変更段階の制御プログラムを選択し、選択した制御プログラムをPLC100にダウンロードすることができる。たとえば、Eアイコン450が示す変更段階の制御プログラムに対しての編集をユーザが完了し、管理サーバ300に保存すると、Fアイコン420が新たに変更履歴に追加される。ユーザは、Fアイコン420を選択して、PLC100へのダウンロードを指示することで、Eアイコン450が示す変更段階の制御プログラムに対して行った編集後の制御プログラムをPLC100に送ることができる。PLC100に新たにダウンロードすると、図12に示すように、破線で示した新たなダウンロード履歴448が追加される。 Also, the user can select a control program in one change stage from the change history shown in FIG. 10 and download the selected control program to the PLC 100 . For example, when the user completes editing the control program in the change stage indicated by the E icon 450 and saves it in the management server 300, the F icon 420 is newly added to the change history. By selecting the F icon 420 and instructing download to the PLC 100 , the user can send to the PLC 100 the control program after editing the control program in the change stage indicated by the E icon 450 . When a new download is made to the PLC 100, as shown in FIG. 12, a new download history 448 indicated by a dashed line is added.

このように、PLC100にダウンロードされている制御プログラムが、各変更段階のうちのいずれの変更段階の制御プログラムであるかをユーザに示すことで、ユーザは、容易に制御プログラムのアップデートまたはロールバックを行うことができる。その結果、PLC100の動作に異常がある場合に、容易に対処することができ、PLC100の動作に異常が発生して動作を停止した場合であっても早急に復旧させることができる。 In this way, the user can easily update or rollback the control program by indicating to the user which of the change stages the control program downloaded to the PLC 100 belongs to. It can be carried out. As a result, when there is an abnormality in the operation of the PLC 100, it can be easily dealt with, and even when the operation of the PLC 100 is stopped due to an abnormality, the PLC 100 can be quickly restored.

<I.作用・効果>
以上のように、本実施の形態において、作成部220によって作成されたソースプログラム504は、ユーザからのダウンロード指示を受けて管理サーバ300に送られ変更ID324が付与される。そして、PLC100には変更ID324と実行形式プログラム502とが送られる。すなわち、PLC100に、管理サーバ300が管理している変更ID324が送られるため、PLC100に送られた実行形式プログラム502と、管理サーバ300が管理している制御プログラムとを変更ID324によって対応付けることができる。
<I. Action/Effect>
As described above, in the present embodiment, the source program 504 created by the creating unit 220 is sent to the management server 300 upon receiving a download instruction from the user, and is given the change ID 324 . Then, the change ID 324 and the executable program 502 are sent to the PLC 100 . That is, since the change ID 324 managed by the management server 300 is sent to the PLC 100, the executable program 502 sent to the PLC 100 and the control program managed by the management server 300 can be associated by the change ID 324. .

また、PLC100に送信された変更ID324と、送信先のPLC100を特定するためのデバイスID334とを関連付けて格納するダウンロード履歴格納部330を管理サーバ300は備える。すなわち、制御プログラムをダウンロードしたPLC100と、その制御プログラムの変更段階との関係が記憶されるため、いずれのPLC100に、どのような制御プログラムが送られたのかを、ユーザが容易に把握することができる。また、PLC100が実行中の制御プログラムに不具合があった場合に、以前ダウンロードされていた制御プログラムを容易に特定することができ、容易にロールバック等の作業を行うことができる。 The management server 300 also includes a download history storage unit 330 that associates and stores the change ID 324 transmitted to the PLC 100 and the device ID 334 for specifying the destination PLC 100 . That is, since the relationship between the PLC 100 that downloaded the control program and the change stage of the control program is stored, the user can easily grasp what kind of control program was sent to which PLC 100. can. Also, if there is a problem with the control program being executed by the PLC 100, the previously downloaded control program can be easily identified, and work such as rollback can be easily performed.

また、サポート装置200がPLC100に制御プログラムを送信したときに、PLC100に送信された制御プログラムのプログラムID336と、送信された制御プログラムに付された変更ID324と、送信先のPLC100のデバイスID334とをダウンロード履歴格納部330に格納される。そのため、PLC100が実行している制御プログラムが管理サーバ300とサポート装置200を介して接続されていない状況で書き換わった場合に、PLC100において実行されている制御プログラムからプログラムID336を再計算すれば、ダウンロード履歴格納部330を参照することで、制御プログラムが書き換わったか否かを判断できる。 Also, when the support device 200 transmits the control program to the PLC 100, the program ID 336 of the control program transmitted to the PLC 100, the change ID 324 attached to the transmitted control program, and the device ID 334 of the transmission destination PLC 100 are It is stored in the download history storage unit 330 . Therefore, if the control program being executed by the PLC 100 is rewritten in a situation where the management server 300 is not connected to the support device 200, if the program ID 336 is recalculated from the control program being executed by the PLC 100, By referring to the download history storage unit 330, it can be determined whether or not the control program has been rewritten.

また、サポート装置200は確認部270を備え、確認部270は、PLC100において実行されている制御プログラムから得られるプログラムID336と、PLC100から取得された制御プログラムの変更ID324とを含むダウンロード情報332を検索し、一致するダウンロード情報332があるか否かを確認する。そのため、ユーザは、自身でダウンロード履歴格納部330内を検索することなく、PLC100において実行されている制御プログラムが書き換わっているか否かを判断することができる。 The support device 200 also includes a confirmation unit 270 , and the confirmation unit 270 searches the download information 332 including the program ID 336 obtained from the control program being executed in the PLC 100 and the change ID 324 of the control program obtained from the PLC 100 . and confirms whether or not there is matching download information 332 . Therefore, the user can determine whether or not the control program being executed in the PLC 100 has been rewritten without searching the download history storage unit 330 by himself/herself.

また、実行部284は、確認部270がPLC100において実行されている制御プログラムのダウンロード履歴がダウンロード履歴格納部330に格納されていることを条件にPLC100にダウンロード対象の制御プログラムを送る。そのため、制御プログラムが書き換わっており、書き換わった後の制御プログラムのダウンロード履歴を残し忘れてしまうことを防止することができる。 Also, the execution unit 284 sends the control program to be downloaded to the PLC 100 on condition that the download history of the control program being executed in the PLC 100 by the confirmation unit 270 is stored in the download history storage unit 330 . Therefore, it is possible to prevent a situation in which the control program is rewritten and the download history of the rewritten control program is forgotten.

§3 変形例
本実施の形態において、管理サーバ300が、サポート装置200と別体で形成されており、管理サーバ300の機能をサポート装置200が備えていないものとして説明した。サポート装置200が管理サーバ300の機能を備えていてもよい。たとえば、管理サーバ300の機能をサポート装置200が備えることで、管理サーバ300とサポート装置200との通信が切断されている状況であっても、ダウンロード履歴、および変更履歴を残すことができる。この場合、サポート装置200は、管理サーバ300との通信が再開されたときに、切断中に蓄積されたダウンロード履歴および変更履歴を管理サーバ300にアップロードするようにしてもよい。
§3 Modification In the present embodiment, the management server 300 is formed separately from the support device 200, and the functions of the management server 300 are not provided in the support device 200. FIG. The support device 200 may have the functions of the management server 300 . For example, by providing the support device 200 with the functions of the management server 300, the download history and change history can be left even when the communication between the management server 300 and the support device 200 is disconnected. In this case, the support device 200 may upload the download history and change history accumulated during disconnection to the management server 300 when communication with the management server 300 is resumed.

§4 付記
以上のように、上記の実施の形態および変形例は以下のような開示を含む。
§4 Addendum As described above, the above embodiments and modifications include the following disclosures.

<構成1>
制御対象を制御する制御装置に向けられた開発システム(1,1a)であって、
制御装置で実行される制御プログラムを作成または編集する作成部(220,220a)と、
制御装置で実行される制御プログラムの変更履歴を、各変更段階の制御プログラムを特定するための第1識別情報(324)を用いて管理する管理部(300,300a)と、
前記作成部が作成または編集した制御プログラムを前記管理部が管理することで当該制御プログラムに付された第1識別情報と、当該制御プログラムに基づく制御装置で実行可能なコード(504)とを、制御装置(100)へ送信する送信部(280,280a)とを備える、開発システム。
<Configuration 1>
A development system (1, 1a) directed to a control device for controlling a controlled object,
a creating unit (220, 220a) for creating or editing a control program to be executed by the control device;
a management unit (300, 300a) that manages the change history of the control program executed by the control device using first identification information (324) for specifying the control program in each change stage;
The management unit manages the control program created or edited by the creation unit, and the first identification information attached to the control program, and the code (504) executable by the control device based on the control program, A development system comprising a transmitter (280, 280a) for transmitting to a control device (100).

<構成2>
前記制御装置に送信された第1識別情報と、送信先の制御装置を特定するための第2識別情報(334)とを関連付けて格納する記憶部(330)をさらに備える、構成1に記載の開発システム。
<Configuration 2>
Configuration 1, further comprising a storage unit (330) for storing in association with the first identification information transmitted to the control device and the second identification information (334) for specifying the destination control device. development system.

<構成3>
制御装置に送信されたコードまたは当該コードの元となる制御プログラムから当該制御プログラムの識別子である第3識別情報(336)を算出する演算部(250)をさらに備え、
前記記憶部は、制御装置に送信された制御プログラムの第3識別情報を第1識別情報および第2識別情報に関連付けて格納する、構成2に記載の開発システム。
<Configuration 3>
further comprising a calculation unit (250) that calculates third identification information (336), which is an identifier of the control program from the code transmitted to the control device or the control program that is the source of the code,
The development system according to configuration 2, wherein the storage unit stores the third identification information of the control program transmitted to the control device in association with the first identification information and the second identification information.

<構成4>
前記演算部は、制御装置において実行されている制御プログラムから第3識別情報を演算し、
前記演算部が演算した第3識別情報と、前記制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されているか否かを確認する確認部(270)をさらに備える、構成3に記載の開発システム。
<Configuration 4>
The computing unit computes the third identification information from a control program being executed in the control device,
Configuration 3, further comprising a confirmation unit (270) for confirming whether or not the third identification information calculated by the calculation unit and the first identification information obtained from the control device are associated and stored in the storage unit. The development system described in .

<構成5>
前記送信部は、前記確認部が制御装置において実行されている制御プログラムから算出された第3識別情報と、当該制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されていると判定したことを条件に、前記作成部が作成または編集した制御プログラムに付された第1識別情報と、前記作成部が作成または編集した制御プログラムに基づく制御装置で実行可能なコードとを、当該制御装置に送信する、構成4に記載の開発システム。
<Configuration 5>
In the transmission unit, the third identification information calculated from the control program executed by the control device and the first identification information obtained from the control device are associated with each other and stored in the storage unit. On the condition that it is determined that the first identification information attached to the control program created or edited by the creation unit and the code executable by the control device based on the control program created or edited by the creation unit, 5. The development system of configuration 4, transmitting to the controller.

<構成6>
制御対象を制御する制御装置に向けられたサポート装置(200,200a)であって、
制御装置で実行される制御プログラムを作成または編集する作成部(220,220a)と、
制御装置で実行される制御プログラムの変更履歴を、各変更段階の制御プログラムを特定するための第1識別情報を用いて管理する管理部(300a)と、
前記作成部が作成または編集した制御プログラムを前記管理部が管理することで当該制御プログラムに付された第1識別情報と、当該制御プログラムに基づく制御装置で実行可能なコードとを、制御装置へ送信する送信部(280,280a)とを備える、サポート装置。
<Configuration 6>
A support device (200, 200a) directed to a control device that controls a controlled object,
a creating unit (220, 220a) for creating or editing a control program to be executed by the control device;
a management unit (300a) that manages the change history of the control program executed by the control device using first identification information for specifying the control program in each change stage;
The management unit manages the control program created or edited by the creation unit, and the first identification information attached to the control program and the code executable by the control device based on the control program are transmitted to the control device. a transmitting unit (280, 280a) for transmitting.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。 It should be considered that the embodiments disclosed this time are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the scope of the claims rather than the above description, and is intended to include all modifications within the scope and meaning equivalent to the scope of the claims. Also, the inventions described in the embodiments and modifications are intended to be implemented independently or in combination as much as possible.

1,1a 制御システム、9 CD-ROM、10 CPUユニット、11 システムバス、12 電源ユニット、14 I/Oユニット、20 接続ケーブル、22 ローカルネットワーク、100 PLC、102,01,301 プロセッサ、104 チップセット、106,202,302 主メモリ、110,210,310 不揮発性メモリ、112 システムプログラム、122 内部バスコントローラ、124 フィールドバスコントローラ、126,204 USBコネクタ、128 メモリカードインターフェイス、130 メモリカード、200 サポート装置、203,305 内部バス、205 キーボード、206 マウス、207 モニタ、208 CD-ROMドライブ、209,304 ネットワークインターフェイス、212 PLCサポートプログラム、213 エディタプログラム、214 コンパイラプログラム、215 デバッカプログラム、216 通信プログラム、217,306 管理プログラム、220,220a 作成部、230 ダウンロード対象決定部、240 コンパイル部、250 プログラムID生成部、260 プログラム管理部、270 確認部、280 ダウンロード部、280a 送信部、282 排他権制御部、284 実行部、286 ダウンロード情報生成部、300 管理サーバ、300a 管理部、322 変更履歴格納部、324 変更ID、326 プログラム情報、328 履歴情報、330 ダウンロード履歴格納部、332 ダウンロード情報、334 デバイスID、336 プログラムID、340 保存処理部、342 格納先決定部、344 バージョン情報生成部、346 ID付与部、350 出力対象決定部、360 出力部、400,442,452 履歴表示、410 第1アイコン、420 Fアイコン、430 第1タブ、432 第2アイコン、440 第2タブ、444,454 削除ボタン、446,456 編集ボタン、448 ダウンロード履歴、450 Eアイコン、502 実行形式プログラム、504 ソースプログラム。 1, 1a control system, 9 CD-ROM, 10 CPU unit, 11 system bus, 12 power supply unit, 14 I/O unit, 20 connection cable, 22 local network, 100 PLC, 102, 01, 301 processor, 104 chipset , 106, 202, 302 main memory, 110, 210, 310 non-volatile memory, 112 system program, 122 internal bus controller, 124 field bus controller, 126, 204 USB connector, 128 memory card interface, 130 memory card, 200 support device , 203, 305 internal bus, 205 keyboard, 206 mouse, 207 monitor, 208 CD-ROM drive, 209, 304 network interface, 212 PLC support program, 213 editor program, 214 compiler program, 215 debugger program, 216 communication program, 217 , 306 management program, 220, 220a creation unit, 230 download target determination unit, 240 compilation unit, 250 program ID generation unit, 260 program management unit, 270 confirmation unit, 280 download unit, 280a transmission unit, 282 exclusive right control unit, 284 execution unit, 286 download information generation unit, 300 management server, 300a management unit, 322 change history storage unit, 324 change ID, 326 program information, 328 history information, 330 download history storage unit, 332 download information, 334 device ID, 336 program ID, 340 storage processing unit, 342 storage destination determination unit, 344 version information generation unit, 346 ID assignment unit, 350 output target determination unit, 360 output unit, 400, 442, 452 history display, 410 first icon, 420 F icon, 430 first tab, 432 second icon, 440 second tab, 444, 454 delete button, 446, 456 edit button, 448 download history, 450 E icon, 502 executable program, 504 source program.

Claims (7)

制御対象を制御する制御装置に向けられた開発システムであって、
制御装置で実行される制御プログラムを作成または編集する作成部と、
制御装置で実行される制御プログラムの複数の変更履歴を、変更段階の制御プログラムに展開可能な情報および変更段階の制御プログラムが生成されたときの状況を示す情報に付与された第1識別情報を用いて変更段階ごとに管理する管理部と、
前記作成部が作成または編集した制御プログラムを前記管理部が管理することで当該制御プログラムに付された第1識別情報と、当該制御プログラムに基づく制御装置で実行可能なコードとを、制御装置へ送信する送信部とを備える、開発システム。
A development system directed to a control device that controls a controlled object,
a creation unit that creates or edits a control program to be executed by the control device;
A plurality of change histories of a control program executed by a control device, information that can be developed into a control program in a change stage, and first identification information added to information indicating a situation when the control program in a change stage was generated a management unit that manages each change stage using
The management unit manages the control program created or edited by the creation unit, and the first identification information attached to the control program and the code executable by the control device based on the control program are transmitted to the control device. a transmitter for transmitting.
制御装置に送信された第1識別情報と、送信先の制御装置を特定するための第2識別情報とを関連付けて格納する記憶部をさらに備える、請求項1に記載の開発システム。 2. The development system according to claim 1, further comprising a storage unit that associates and stores the first identification information transmitted to the control device and the second identification information for specifying the destination control device. 制御装置に送信されたコードまたは当該コードの元となる制御プログラムから当該制御プログラムの識別子である第3識別情報を算出する演算部をさらに備え、
前記記憶部は、制御装置に送信された制御プログラムの第3識別情報を第1識別情報および第2識別情報に関連付けて格納する、請求項2に記載の開発システム。
further comprising a calculation unit that calculates third identification information, which is an identifier of the control program from the code transmitted to the control device or the control program that is the source of the code,
3. The development system according to claim 2, wherein said storage unit stores the third identification information of the control program transmitted to the control device in association with the first identification information and the second identification information.
前記演算部は、制御装置において実行されている制御プログラムから第3識別情報を演算し、
前記演算部が演算した第3識別情報と、制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されているか否かを確認する確認部をさらに備え、
前記送信部は、前記確認部が制御装置において実行されている制御プログラムから算出された第3識別情報と、当該制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されていると判定したことを条件に、前記作成部が作成または編集した制御プログラムに付された第1識別情報と、前記作成部が作成または編集した制御プログラムに基づく制御装置で実行可能なコードとを、当該制御装置に送信する、請求項3に記載の開発システム。
The computing unit computes the third identification information from a control program being executed in the control device,
Further comprising a confirmation unit for confirming whether the third identification information calculated by the calculation unit and the first identification information obtained from the control device are associated and stored in the storage unit,
In the transmission unit, the third identification information calculated from the control program executed by the control device and the first identification information obtained from the control device are associated with each other and stored in the storage unit. On the condition that it is determined that the first identification information attached to the control program created or edited by the creation unit and the code executable by the control device based on the control program created or edited by the creation unit, 4. The development system according to claim 3, transmitting to said control device.
制御対象を制御する制御装置に向けられたサポート装置であって、
制御装置で実行される制御プログラムを作成または編集する作成部と、
制御装置で実行される制御プログラムの複数の変更履歴を、変更段階の制御プログラムに展開可能な情報および変更段階の制御プログラムが生成されたときの状況を示す情報に付与された第1識別情報を用いて変更段階ごとに管理する管理部と、
前記作成部が作成または編集した制御プログラムを前記管理部が管理することで当該制御プログラムに付された第1識別情報と、当該制御プログラムに基づく制御装置で実行可能なコードとを、制御装置へ送信する送信部とを備える、サポート装置。
A support device directed to a control device that controls a controlled object,
a creation unit that creates or edits a control program to be executed by the control device;
A plurality of change histories of a control program executed by a control device, information that can be developed into a control program in a change stage, and first identification information added to information indicating a situation when the control program in a change stage was generated a management unit that manages each change stage using
The management unit manages the control program created or edited by the creation unit, and the first identification information attached to the control program and the code executable by the control device based on the control program are transmitted to the control device. a transmitter for transmitting.
制御対象を制御する制御装置に向けられた開発システムであって、
制御装置で実行される制御プログラムを作成または編集する作成部と、
制御装置で実行される制御プログラムの変更履歴を、変更段階の制御プログラムに展開可能な情報および変更段階の制御プログラムが生成されたときの状況を示す情報に付与された第1識別情報を用いて管理する管理部と、
前記作成部が作成または編集した制御プログラムを前記管理部が管理することで当該制御プログラムに付された第1識別情報と、当該制御プログラムに基づく制御装置で実行可能なコードとを、制御装置へ送信する送信部と、
制御装置に送信されたコードまたは当該コードの元となる制御プログラムから当該制御プログラムの識別子である第3識別情報を算出する演算部と、
制御装置に送信された第1識別情報と、制御装置に送信された制御プログラムの第3識別情報とを関連付けて格納する記憶部とを備え、
前記演算部は、制御装置において実行されている制御プログラムから第3識別情報を演算し、
前記開発システムは、
前記演算部が演算した第3識別情報と、制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されているか否かを確認する確認部をさらに備え、
前記送信部は、前記確認部が制御装置において実行されている制御プログラムから算出された第3識別情報と、当該制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されていると判定したことを条件に、前記作成部が作成または編集した制御プログラムに付された第1識別情報と、前記作成部が作成または編集した制御プログラムに基づく制御装置で実行可能なコードとを、当該制御装置に送信する、開発システム。
A development system directed to a control device that controls a controlled object,
a creation unit that creates or edits a control program to be executed by the control device;
A change history of a control program executed by a control device is obtained by using first identification information attached to information that can be developed into a control program in a change stage and information indicating a situation when the control program in a change stage was generated. Management department to manage,
The management unit manages the control program created or edited by the creation unit, and the first identification information attached to the control program and the code executable by the control device based on the control program are transmitted to the control device. a transmitter for transmitting;
a calculation unit that calculates third identification information that is an identifier of the control program from the code transmitted to the control device or the control program that is the source of the code;
a storage unit that associates and stores the first identification information transmitted to the control device and the third identification information of the control program transmitted to the control device;
The computing unit computes the third identification information from a control program being executed in the control device,
The development system includes:
Further comprising a confirmation unit for confirming whether the third identification information calculated by the calculation unit and the first identification information obtained from the control device are associated and stored in the storage unit,
In the transmission unit, the third identification information calculated from the control program executed by the control device and the first identification information obtained from the control device are associated with each other and stored in the storage unit. On the condition that it is determined that the first identification information attached to the control program created or edited by the creation unit and the code executable by the control device based on the control program created or edited by the creation unit, Development system to send to the controller.
制御対象を制御する制御装置に向けられたサポート装置であって、
制御装置で実行される制御プログラムを作成または編集する作成部と、
制御装置で実行される制御プログラムの変更履歴を、変更段階の制御プログラムに展開可能な情報および変更段階の制御プログラムが生成されたときの状況を示す情報に付与された第1識別情報を用いて管理する管理部と、
前記作成部が作成または編集した制御プログラムを前記管理部が管理することで当該制御プログラムに付された第1識別情報と、当該制御プログラムに基づく制御装置で実行可能なコードとを、制御装置へ送信する送信部と、
制御装置に送信されたコードまたは当該コードの元となる制御プログラムから当該制御プログラムの識別子である第3識別情報を算出する演算部と、
制御装置に送信された第1識別情報と、制御装置に送信された制御プログラムの第3識別情報とを関連付けて格納する記憶部とを備え、
前記演算部は、制御装置において実行されている制御プログラムから第3識別情報を演算し、
前記サポート装置は、
前記演算部が演算した第3識別情報と、制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されているか否かを確認する確認部をさらに備え、
前記送信部は、前記確認部が制御装置において実行されている制御プログラムから算出された第3識別情報と、当該制御装置から得られる第1識別情報とが関連付けて前記記憶部に格納されていると判定したことを条件に、前記作成部が作成または編集した制御プログラムに付された第1識別情報と、前記作成部が作成または編集した制御プログラムに基づく制御装置で実行可能なコードとを、当該制御装置に送信する、サポート装置。
A support device directed to a control device that controls a controlled object,
a creation unit that creates or edits a control program to be executed by the control device;
A change history of a control program executed by a control device is obtained by using first identification information attached to information that can be developed into a control program in a change stage and information indicating a situation when the control program in a change stage was generated. Management department to manage,
The management unit manages the control program created or edited by the creation unit, and the first identification information attached to the control program and the code executable by the control device based on the control program are transmitted to the control device. a transmitter for transmitting;
a calculation unit that calculates third identification information that is an identifier of the control program from the code transmitted to the control device or the control program that is the source of the code;
A storage unit that associates and stores the first identification information transmitted to the control device and the third identification information of the control program transmitted to the control device,
The computing unit computes the third identification information from a control program being executed in the control device,
The support device is
Further comprising a confirmation unit for confirming whether the third identification information calculated by the calculation unit and the first identification information obtained from the control device are associated and stored in the storage unit,
In the transmission unit, the third identification information calculated from the control program executed by the control device and the first identification information obtained from the control device are associated with each other and stored in the storage unit. On the condition that it is determined that the first identification information attached to the control program created or edited by the creation unit and the code executable by the control device based on the control program created or edited by the creation unit, A support device that transmits to the controller.
JP2018131430A 2018-07-11 2018-07-11 Development system and support equipment Active JP7151227B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018131430A JP7151227B2 (en) 2018-07-11 2018-07-11 Development system and support equipment
PCT/JP2019/026017 WO2020012995A1 (en) 2018-07-11 2019-07-01 Development system, and support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018131430A JP7151227B2 (en) 2018-07-11 2018-07-11 Development system and support equipment

Publications (2)

Publication Number Publication Date
JP2020009297A JP2020009297A (en) 2020-01-16
JP7151227B2 true JP7151227B2 (en) 2022-10-12

Family

ID=69142411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018131430A Active JP7151227B2 (en) 2018-07-11 2018-07-11 Development system and support equipment

Country Status (2)

Country Link
JP (1) JP7151227B2 (en)
WO (1) WO2020012995A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005224A (en) 2013-06-21 2015-01-08 富士電機株式会社 Programmable controller system, support device thereof, programmable controller, program
JP2016001376A (en) 2014-06-11 2016-01-07 富士電機株式会社 Programmable controller system, and support device of the same
JP2016206910A (en) 2015-04-21 2016-12-08 株式会社安川電機 Ladder program creation device, computer program, and ladder program creation method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005224A (en) 2013-06-21 2015-01-08 富士電機株式会社 Programmable controller system, support device thereof, programmable controller, program
JP2016001376A (en) 2014-06-11 2016-01-07 富士電機株式会社 Programmable controller system, and support device of the same
JP2016206910A (en) 2015-04-21 2016-12-08 株式会社安川電機 Ladder program creation device, computer program, and ladder program creation method

Also Published As

Publication number Publication date
WO2020012995A1 (en) 2020-01-16
JP2020009297A (en) 2020-01-16

Similar Documents

Publication Publication Date Title
JP5039428B2 (en) Programmable controller and PLC system
US10705500B2 (en) Support device, method, and recording medium for simplifying control program changing operation
JP4865634B2 (en) Program editing support apparatus, computer program, program editing support method, and PLC system
US20170075335A1 (en) Controller and control system
KR20160086957A (en) Engineering tool program and network program
JP6866663B2 (en) Programmable controller system, programmable controller, support device, HCI device, redundant programmable controller system
JP7067273B2 (en) Support equipment, control systems, and development support programs
JP7151227B2 (en) Development system and support equipment
JP2009157533A (en) Programmable controller system
JP6541902B1 (en) Program management system, programming support apparatus, program management method, and programming support program
JP6135247B2 (en) Information processing apparatus and information processing program
JP7172864B2 (en) Support equipment and support programs
US11221828B2 (en) Support device and support program
JP6520241B2 (en) Control system, its management server device, support device
JP2016001376A (en) Programmable controller system, and support device of the same
JP2016224559A (en) Program creation support device, control method and program
JP4390079B2 (en) Control system
JP2006302066A (en) Maintenance system with remote execution function and method therefor
JP2015022511A (en) Programmable controller system, and support device and program thereof
JP2009098963A (en) Automatic module generation system
JP2001043177A (en) Data processor, print controller, data processing method, and record medium stored computer-readable program
JP7234810B2 (en) Support equipment and support programs
WO2020026738A1 (en) Support device and support program
JP2004272629A (en) Device for programmable controller, and programmable updating method and program starting method for the same
JP2002189506A (en) Pc support device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220516

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: 20220830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220912

R150 Certificate of patent or registration of utility model

Ref document number: 7151227

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150