WO2019230262A1 - Support device, control system, and development assistance program - Google Patents

Support device, control system, and development assistance program Download PDF

Info

Publication number
WO2019230262A1
WO2019230262A1 PCT/JP2019/017153 JP2019017153W WO2019230262A1 WO 2019230262 A1 WO2019230262 A1 WO 2019230262A1 JP 2019017153 W JP2019017153 W JP 2019017153W WO 2019230262 A1 WO2019230262 A1 WO 2019230262A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
management server
control
control program
unit
Prior art date
Application number
PCT/JP2019/017153
Other languages
French (fr)
Japanese (ja)
Inventor
三浦 悟
弓束 重森
慎太郎 岩村
Original Assignee
オムロン株式会社
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 オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2019230262A1 publication Critical patent/WO2019230262A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

An objective of the present invention is to provide a support device, control system, and development assistance program, which are capable of providing a development environment with which version management of a control program is possible. Provided is a control system comprising a management server for managing each version of a control program. The created or edited control program is outputted to the management server on condition that the control program can be converted into a program of a format which can be executed by a PLC.

Description

サポート装置、制御システム、および開発支援プログラムSupport device, control system, and development support program
 本発明は、制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置、サポート装置を含む開発支援システムおよび、開発支援プログラムに関する。 The present invention relates to a support device that supports development of a control program executed by a control device that controls a control target, a development support system including the support device, and a development support program.
 様々な製造現場において、PLC(Programmable Logic Controller)などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置や製造設備などに応じて設計された制御プログラムが実行される。このような制御プログラムは、制御装置とは別に用意されたサポート装置を用いて作成される。 Control devices such as PLC (Programmable Logic Controller) have been introduced in various manufacturing sites. Such a control device is a kind of computer, and a control program designed according to a manufacturing device, manufacturing equipment, or the like is executed. Such a control program is created using a support device prepared separately from the control device.
 たとえば、特開2016-224557号公報(特許文献1)は、グラフィカルプログラミング言語により記述されるプログラムと高級プログラミング言語により記述されるプログラムを作成するユーザの負担を軽減するための技術を開示している。 For example, Japanese Unexamined Patent Application Publication No. 2016-224557 (Patent Document 1) discloses a technique for reducing the burden on a user who creates a program described in a graphical programming language and a program described in a high-level programming language. .
特開2016-224557号公報JP 2016-224557 A
 しかし、制御プログラムの高度化により、複数人または複数のグループで協同して制御プログラムを作成する機会が増えている。そのため、制御プログラムのバージョンを管理することが可能な開発環境が求められている。 However, with the advancement of control programs, opportunities to create control programs in cooperation with multiple people or multiple groups are increasing. Therefore, there is a need for a development environment that can manage control program versions.
 本発明は、制御プログラムのバージョンを管理することが可能な開発環境を提供可能なサポート装置、制御システム、および開発支援プログラムを提供することを目的とする。 An object of the present invention is to provide a support device, a control system, and a development support program that can provide a development environment capable of managing a version of a control program.
 本開示の一例によれば、制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置が提供される。サポート装置は、制御プログラムを作成または編集するための作成部と、作成部によって得られた作成プログラムから制御装置が実行可能な形式の実行形式プログラムを生成する生成部と、制御プログラムをバージョンごとに管理する管理サーバに、作成部が作成または編集した制御プログラムを一のバージョンの制御プログラムとして保存するために、作成部が作成または編集した制御プログラムを管理サーバに出力する出力部とを含む。出力部は、実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に作成部が作成または編集した制御プログラムを管理サーバに出力する。 According to an example of the present disclosure, a support device that supports development of a control program executed by a control device that controls a control target is provided. The support device includes a creation unit for creating or editing the control program, a generation unit that generates an executable program executable by the control device from the creation program obtained by the creation unit, and the control program for each version. The management server to be managed includes an output unit that outputs the control program created or edited by the creation unit to the management server in order to save the control program created or edited by the creation unit as a version of the control program. The output unit outputs the control program created or edited by the creation unit to the management server on the condition that an output condition including at least that the execution format program has been successfully generated is satisfied.
 この開示によれば、制御プログラムをバージョンごとに管理可能な開発環境を提供できる。さらに、実行形式プログラムを生成することができない不具合のある制御プログラムが管理サーバに保存されてしまうことを防止することができる。その結果、不具合のある制御プログラムを用いてプログラム開発が進められてしまうことや、不具合のある制御プログラムを過って制御装置に導入してしまうことを予め防止することができる。 According to this disclosure, it is possible to provide a development environment capable of managing the control program for each version. Furthermore, it is possible to prevent a defective control program that cannot generate an executable program from being stored in the management server. As a result, it is possible to prevent in advance that program development is progressed using a defective control program and that a defective control program is introduced into the control device.
 上述の開示において、サポート装置は、出力条件が成立しなかったことを通知する通知部をさらに含む。 In the above disclosure, the support device further includes a notification unit that notifies that the output condition is not satisfied.
 この開示によれば、ユーザに作成または編集した作成プログラムに欠陥があることを認識させることができる。その結果、不具合のある制御プログラムを用いてプログラム開発が進められてしまうことや、不具合のある制御プログラムを過って制御装置に導入してしまうことを予め防止することができる。 According to this disclosure, the user can recognize that there is a defect in the created program created or edited. As a result, it is possible to prevent in advance that program development is progressed using a defective control program and that a defective control program is introduced into the control device.
 上述の開示において、出力条件は、制御装置に実行形式プログラムを転送できたことを含む。 In the above disclosure, the output condition includes that the executable program has been transferred to the control device.
 この開示によれば、制御装置に転送することができないような不具合のある制御プログラムが管理サーバに保存されてしまうことを防止することができる。その結果、不具合のある制御プログラムを用いてプログラム開発が進められてしまうことや、不具合のある制御プログラムを過って制御装置に導入してしまうことを予め防止することができる。 According to this disclosure, it is possible to prevent a defective control program that cannot be transferred to the control device from being stored in the management server. As a result, it is possible to prevent in advance that program development is progressed using a defective control program and that a defective control program is introduced into the control device.
 上述の開示において、サポート装置は、制御装置において実行されている制御プログラムを変更する操作を受け付けたときに、制御装置において実行されている制御プログラムと、管理サーバが管理している各バージョンの制御プログラムとを比較し、比較結果を出力する比較部をさらに含む。 In the above disclosure, when the support device receives an operation for changing the control program executed in the control device, the control device executes the control program executed in the control device and the control of each version managed by the management server. It further includes a comparison unit that compares the program and outputs a comparison result.
 この開示によれば、管理サーバが管理し得ない状況下で作成された制御プログラムについても、管理することができる。その結果、管理サーバが管理することのできる範囲が広がる。 According to this disclosure, it is possible to manage a control program created under a situation that cannot be managed by the management server. As a result, the range that can be managed by the management server is expanded.
 上述の開示において、管理サーバは、サポート装置とは別に設けられている。
 この開示によれば、サポート装置の処理負担を軽減することができる。
In the above disclosure, the management server is provided separately from the support device.
According to this disclosure, the processing burden on the support device can be reduced.
 上述の開示において、作成部は、管理サーバと接続されているか否かに関わらず制御プログラムを作成または編集してもよい。出力部は、管理サーバとの接続を開始したことに応じて、管理サーバと接続されていないときに作成または編集された制御プログラムを、出力条件が成立していることを条件に管理サーバに出力する。 In the above disclosure, the creation unit may create or edit the control program regardless of whether it is connected to the management server. The output unit outputs the control program created or edited when not connected to the management server to the management server on the condition that the output condition is satisfied in response to the start of the connection with the management server. To do.
 この開示によれば、管理サーバと接続されていない期間に作成または編集された制御プログラムに対する管理を強化することができる。 According to this disclosure, it is possible to strengthen management for a control program created or edited during a period when it is not connected to the management server.
 本開示の別の一例によれば、制御対象を制御する制御装置で実行される制御プログラムの開発を支援するための制御システムが提供される。制御システムは、制御プログラムを作成または編集するための作成部と、作成部によって得られた作成プログラムから制御装置が実行可能な形式の実行形式プログラムを生成する生成部と、制御プログラムをバージョンごとに管理する管理サーバと、作成部が作成または編集した制御プログラムを一のバージョンの制御プログラムとして保存するために、作成部が作成または編集した制御プログラムを管理サーバに出力する出力部とを含む。出力部は、実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に作成部が作成または編集した制御プログラムを管理サーバに出力する。 According to another example of the present disclosure, a control system for supporting development of a control program executed by a control device that controls a control target is provided. The control system includes a creation unit for creating or editing a control program, a generation unit for generating an executable program that can be executed by the control device from the creation program obtained by the creation unit, and a control program for each version. A management server to be managed; and an output unit that outputs the control program created or edited by the creation unit to the management server in order to save the control program created or edited by the creation unit as a version of the control program. The output unit outputs the control program created or edited by the creation unit to the management server on the condition that an output condition including at least that the execution format program has been successfully generated is satisfied.
 この開示によれば、制御プログラムをバージョンごとに管理可能な開発環境を提供できる。さらに、実行形式プログラムを生成することができない不具合のある制御プログラムが管理サーバに保存されてしまうことを防止することができる。その結果、不具合のある制御プログラムを用いてプログラム開発が進められてしまうことや、不具合のある制御プログラムを過って制御装置に導入してしまうことを予め防止することができる。 According to this disclosure, it is possible to provide a development environment capable of managing the control program for each version. Furthermore, it is possible to prevent a defective control program that cannot generate an executable program from being stored in the management server. As a result, it is possible to prevent in advance that program development is progressed using a defective control program and that a defective control program is introduced into the control device.
 上述の開示において、制御システムは、制御プログラムをバージョンごとに管理する管理部を有する制御装置と、管理部が管理している各バージョンの制御プログラムと、管理サーバが管理している各バージョンの制御プログラムとを比較し、比較結果を出力する比較部をさらに含む。 In the above disclosure, the control system includes a control device having a management unit that manages the control program for each version, a control program for each version managed by the management unit, and a control for each version managed by the management server. It further includes a comparison unit that compares the program and outputs a comparison result.
 この開示によれば、制御装置と、管理サーバとの両方で制御プログラムのバージョンを管理するため、管理範囲の広い制御システムを提供できる。 According to this disclosure, since the version of the control program is managed by both the control device and the management server, a control system having a wide management range can be provided.
 本開示の別の一例によれば、制御対象を制御する制御装置で実行される制御プログラムの開発を支援する開発支援プログラムが提供される。開発支援プログラムはコンピュータに、作成または編集によって得られた作成プログラムから制御装置が実行可能な形式の実行形式プログラムを生成するステップと、制御プログラムをバージョンごとに管理する管理サーバに、実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に、作成または編集によって得られた制御プログラムを一のバージョンの制御プログラムとして保存するために、作成または編集によって得られた制御プログラムを前記管理サーバに出力するステップとを実行させる。 According to another example of the present disclosure, a development support program that supports development of a control program executed by a control device that controls a control target is provided. The development support program generates, on a computer, a step of generating an executable program in a format executable by the control device from a created program obtained by creation or editing, and a management server that manages the control program for each version. Control obtained by creation or editing in order to save the control program obtained by creation or editing as one version of the control program on condition that an output condition including at least the success of generation is satisfied. Outputting the program to the management server.
 この開示によれば、制御プログラムをバージョンごとに管理可能な開発環境を提供できる。さらに、実行形式プログラムを生成することができない不具合のある制御プログラムが管理サーバに保存されてしまうことを防止することができる。その結果、不具合のある制御プログラムを用いてプログラム開発が進められてしまうことや、不具合のある制御プログラムを過って制御装置に導入してしまうことを予め防止することができる。 According to this disclosure, it is possible to provide a development environment capable of managing the control program for each version. Furthermore, it is possible to prevent a defective control program that cannot generate an executable program from being stored in the management server. As a result, it is possible to prevent in advance that program development is progressed using a defective control program and that a defective control program is introduced into the control device.
 制御プログラムをバージョンごとに管理可能な開発環境を提供できる。さらに、実行形式プログラムに変換することのできないような不具合のあるプログラムを除いて管理することができる。 A development environment that can manage control programs by version can be provided. Furthermore, it is possible to manage except for a defective program that cannot be converted into an executable program.
本実施の形態に係る制御システムの適用場面を模式的に示す図である。It is a figure which shows typically the application scene of the control system which concerns on this Embodiment. 本実施の形態に係る制御システムの概略構成を示す模式図である。It is a mimetic diagram showing a schematic structure of a control system concerning this embodiment. 本発明の実施の形態に係るPLCのハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions of PLC which concerns on embodiment of this invention. 本発明の実施の形態に係るサポート装置のハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions of the support apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るPLCで実行されるソフトウェア構成を示す模式図である。It is a schematic diagram which shows the software structure performed with PLC which concerns on embodiment of this invention. 本発明の実施の形態に係るサポート装置で実行されるソフトウェア構成を示す模式図である。It is a schematic diagram which shows the software structure performed with the support apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るサポート装置が実行する出力処理のフローチャートである。It is a flowchart of the output process which the support apparatus which concerns on embodiment of this invention performs. 出力処理の実行において機能する、本発明の実施の形態に係るサポート装置の機能構成の一例を示す図である。It is a figure which shows an example of a function structure of the support apparatus which concerns on embodiment of this invention which functions in execution of an output process. 本発明の実施の形態に係るサポート装置が実行する導入処理のフローチャートである。It is a flowchart of the introduction process which the support apparatus which concerns on embodiment of this invention performs. 導入処理の実行において機能する、本発明の実施の形態に係るサポート装置の機能構成の一例を示す図である。It is a figure showing an example of functional composition of a support device concerning an embodiment of the invention which functions in execution of introduction processing. 変形例2における制御システムの概略構成を示す模式図である。10 is a schematic diagram showing a schematic configuration of a control system in Modification 2. FIG. 変形例3における制御システムの概略構成を示す模式図である。It is a schematic diagram which shows schematic structure of the control system in the modification 3. 変形例5における制御システムの概略構成を示す模式図である。FIG. 10 is a schematic diagram showing a schematic configuration of a control system in Modification 5.
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals and description thereof will not be repeated.
 §1 適用例
 まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御システム1aの適用場面を模式的に示す図である。制御システム1aは、たとえば、制御対象を制御するPLC(プログラマブルコントローラ)などの制御装置で実行される制御プログラムを開発する環境を提供する。
§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 the control system 1a according to the present embodiment. The control system 1a provides an environment for developing a control program to be executed by a control device such as a PLC (programmable controller) that controls a control target.
 本明細書において、「制御プログラム」は、PLCの基本的な機能を提供するためのプログラムと、制御対象に応じて任意に設計されるプログラム(「ユーザプログラム」ともいう)とを包含する概念である。但し、制御プログラムは、制御対象に応じて任意に設計されるプログラムのみを含む場合もある。また、「制御プログラム」は、ソースコードまたは中間コードといった高水準言語のプログラム(「作成プログラム」ともいう)と、オブジェクト形式のPLCが実行可能な低水準言語のプログラム(「実行形式プログラム」ともいう)とを包含する概念である。 In this specification, the “control program” is a concept including a program for providing basic functions of the PLC and a program (also referred to as a “user program”) arbitrarily designed according to a control target. is there. However, the control program may include only a program arbitrarily designed according to the control target. The “control program” is a high-level language program such as source code or intermediate code (also referred to as “creation program”), and a low-level language program that can execute an object-type PLC (also referred to as “execution format program”). ).
 制御システム1aは、制御プログラムを作成または編集するための作成部210aと、作成部210aによって作成または編集された作成プログラムから実行形式プログラムを生成する生成部220aと、制御プログラムをバージョンごとに管理する管理サーバ300aと、作成部210aによって作成または編集された制御プログラムを管理サーバ300aに出力する出力部230aとを含む。 The control system 1a manages a control program for each version, a creation unit 210a for creating or editing a control program, a generation unit 220a that creates an executable program from the creation program created or edited by the creation unit 210a. The management server 300a and the output part 230a which outputs the control program created or edited by the creation part 210a to the management server 300a are included.
 作成部210aは、ソースコードまたは中間コードといった高水準言語のプログラムを作成する機能を提供するためのソフトフェアと、ソースコードを作成するためにユーザが操作するキーボードおよびマウスといったハードウェアを含む概念である。 The creation unit 210a is a concept including software for providing a function for creating a program of a high-level language such as source code or intermediate code, and hardware such as a keyboard and a mouse operated by a user to create the source code. is there.
 管理サーバ300aは、一の制御プログラムが編集されたときの変更履歴を管理する機能を提供するコンピュータ、プログラム、システムを包含する概念であって、管理サーバ300aならびに、作成部210a、生成部220aおよび出力部230aが一体のコンピュータで提供されてもよく、各々の機能を別の装置に設けてもよい。 The management server 300a is a concept including a computer, a program, and a system that provide a function of managing a change history when one control program is edited, and includes the management server 300a, a creation unit 210a, a generation unit 220a, and The output unit 230a may be provided by an integrated computer, and each function may be provided in another device.
 「バージョン」は、一の制御プログラムが作成され、その制御プログラムに対して変更が加えられたことを示す表記である。「制御プログラムをバージョンごとに管理する」とは、たとえば、一の制御プログラムの変更履歴310を保存することである。なお、変更履歴310を保存するための記憶部は、管理サーバ300aが備える必要はなく、管理サーバ300aが適宜接続できる装置が備えていてもよい。 “Version” is a notation indicating that one control program was created and changed. “Managing the control program for each version” means, for example, saving the change history 310 of one control program. Note that the storage unit for storing the change history 310 is not necessarily provided in the management server 300a, and may be provided in a device to which the management server 300a can be connected as appropriate.
 変更履歴310は、変更されたプログラムに関するプログラム情報312と、変更された日時および変更したユーザを含む履歴情報314とを含む。 The change history 310 includes program information 312 related to the changed program, and history information 314 including the date and time of change and the changed user.
 プログラム情報312は、プログラム情報312に基づいて各バージョンのプログラムにそれぞれ展開することができる情報であればよく、たとえば、変更前のプログラムと変更後のプログラムとの差分情報であってもよい。図1に示す例では、管理サーバ300aは、プログラム情報312として差分情報(図中の「1.0→1.1」など)を記憶している。なお、プログラム情報312は、差分情報ではなく、バージョンごとのプログラムそのものであってもよい。 The program information 312 may be information that can be developed into each version of the program based on the program information 312, and may be, for example, difference information between the program before the change and the program after the change. In the example illustrated in FIG. 1, the management server 300 a stores difference information (such as “1.0 → 1.1” in the figure) as the program information 312. Note that the program information 312 may not be the difference information but the program for each version.
 履歴情報314は、変更された日時および変更したユーザなど、制御プログラムが作成または編集されたときの状況を示す情報を含む概念である。また、履歴情報314は、コメントやプログラムなどのユーザが直接生成する情報と、変更日時や変更したユーザなどユーザが直接生成した情報に付随して生成される情報とを含む。 The history information 314 is a concept including information indicating the status when the control program is created or edited, such as the changed date and time and the changed user. Further, the history information 314 includes information directly generated by the user such as a comment or a program, and information generated along with information directly generated by the user such as a change date and a changed user.
 管理サーバ300aは、プログラム情報312および履歴情報314を含む変更履歴310を制御プログラムの種類ごとに管理する。 The management server 300a manages the change history 310 including the program information 312 and the history information 314 for each type of control program.
 出力部230aは、実行形式プログラムの生成が成功したことを条件に制御プログラムを管理サーバ300aに出力する。なお、出力部230aは、作成プログラムおよび実行形式プログラムのうちの少なくともいずれか一方のプログラムを出力すればよい。出力部230aは、生成部220aが実行形式プログラムを生成することができなかった場合、すなわち、実行形式プログラムの生成に失敗した場合には、制御プログラムを管理サーバ300aに出力しない。 The output unit 230a outputs the control program to the management server 300a on condition that the execution format program has been successfully generated. Note that the output unit 230a may output at least one of the creation program and the execution format program. The output unit 230a does not output the control program to the management server 300a when the generation unit 220a cannot generate the execution format program, that is, when the generation of the execution format program fails.
 たとえば、図1に示す例においては、バージョン1.nの制御プログラムA(図中の「制御プログラムA(1.n)」)を作成部210aが編集して作成プログラムA(1.n+1)が得られたものとする。 For example, in the example shown in FIG. It is assumed that the creation program 210 (n + 1) is obtained by the creation unit 210a editing n control program A (“control program A (1.n)” in the figure).
 成功時が示す例では、生成部220aが作成プログラムA(1.n+1)から実行形式プログラムA(1.n+1)を生成することができた結果、出力部230aは作成プログラムA(1.n+1)に係る制御プログラムA(1.n+1)を管理サーバ300aに出力する。管理サーバ300aは、送られた制御プログラムA(1.n+1)に基づいて、変更履歴310を更新する。 In the example indicated by the success, as a result of the generation unit 220a being able to generate the execution format program A (1.n + 1) from the generation program A (1.n + 1), the output unit 230a is the generation program A (1.n + 1). The control program A (1.n + 1) related to is output to the management server 300a. The management server 300a updates the change history 310 based on the sent control program A (1.n + 1).
 一方、失敗時が示す例では、生成部220aが作成プログラムA(1.n+1)から実行形式プログラムA(1.n+1)を生成することができなかった結果、出力部230aは作成プログラムA(1.n+1)に係る制御プログラムA(1.n+1)を管理サーバ300aに出力しない。 On the other hand, in the example indicated by the failure time, as a result of the generation unit 220a being unable to generate the execution format program A (1.n + 1) from the generation program A (1.n + 1), the output unit 230a has the generation program A (1 .N + 1) does not output the control program A (1.n + 1) to the management server 300a.
 このように、図1に示す制御システム1aにおいては、制御プログラムをバージョンごとに管理可能な開発環境を提供できる。これにより、複数人による制御プログラムの開発が容易になる。さらに、制御システム1aにおいては、少なくとも実行形式プログラムに変換することができた作成プログラムに係る制御プログラムだけが管理される。そのため、実行形式プログラムに変換することのできないような不具合のあるプログラムを除いて管理することができる。その結果、管理精度の高い制御システム1aを提供することができる。 As described above, the control system 1a shown in FIG. 1 can provide a development environment capable of managing the control program for each version. This facilitates the development of a control program by a plurality of people. Further, in the control system 1a, only the control program related to the creation program that can be converted into at least the execution format program is managed. Therefore, it is possible to manage except for a defective program that cannot be converted into an executable program. As a result, the control system 1a with high management accuracy can be provided.
 §2 具体例
 以下、本発明の具体例として、本実施の形態に係る制御システム1のより詳細な構成および処理について説明する。
§2 Specific Example Hereinafter, as a specific example of the present invention, a more detailed configuration and processing of the control system 1 according to the present embodiment will be described.
 <A.制御システム1の全体構成例>
 図2は、本実施の形態に係る制御システム1の概略構成を示す模式図である。制御システム1は、PLC100で実行される制御プログラムを開発するためのサポート装置200と、サポート装置200を用いて開発された制御プログラムのバージョンを管理するための管理サーバ300とを含む。
<A. Example of overall configuration of control system 1>
FIG. 2 is a schematic diagram showing a schematic configuration of the control system 1 according to the present embodiment. The control system 1 includes a support device 200 for developing a control program executed by the PLC 100 and a management server 300 for managing a version of the control program developed using the support device 200.
 本実施の形態においては、管理サーバ300はローカルネットワーク10を介してサポート装置200と通信可能に接続されており、サポート装置200と別体に形成されているものとして説明する。なお、管理サーバ300の機能を一のサポート装置200が備えていてもよい。また、管理サーバ300は、インターネットなどの外部ネットワークを介してサポート装置200と通信可能に接続されてもよい。 In the present embodiment, it is assumed that the management server 300 is connected to the support device 200 via the local network 10 so as to be communicable and is formed separately from the support device 200. Note that one support device 200 may have the function of the management server 300. In addition, the management server 300 may be communicably connected to the support device 200 via an external network such as the Internet.
 管理サーバ300は、制御プログラムの変更履歴310を記憶する。変更履歴310は、プログラム情報312および履歴情報314を含む。プログラム情報312は、プログラム情報312に基づいて各バージョンのプログラムに展開することができる情報である。履歴情報314は、変更された日時および変更したユーザを含む情報である。 Management server 300 stores change history 310 of the control program. The change history 310 includes program information 312 and history information 314. The program information 312 is information that can be developed into each version of the program based on the program information 312. The history information 314 is information including the changed date and time and the changed user.
 制御システム1は、PLC100を含んでいてもよい。本実施の形態においては、制御システム1はPLC100を含むものとして説明する。サポート装置200は、接続ケーブル20などを介してPLC100と接続することができる。 The control system 1 may include a PLC 100. In the present embodiment, the control system 1 will be described as including the PLC 100. The support device 200 can be connected to the PLC 100 via the connection cable 20 or the like.
 管理サーバ300は、サポート装置200を用いて作成および編集された制御プログラムの変更履歴を管理する管理環境を提供する。サポート装置200は、制御プログラムを開発する開発環境を提供する。PLC100は、制御プログラムを実行する実行環境を提供する。 The management server 300 provides a management environment for managing the change history of the control program created and edited using the support device 200. The support device 200 provides a development environment for developing a control program. The PLC 100 provides an execution environment for executing the control program.
 また、制御システム1は、管理サーバ300と接続可能なサポート装置200を複数備えてもよい。図2に示す制御システム1を例に、プログラムの開発の流れの一例について説明する。 Further, the control system 1 may include a plurality of support devices 200 that can be connected to the management server 300. An example of the flow of program development will be described taking the control system 1 shown in FIG. 2 as an example.
 (1) たとえば、1または複数のユーザによって、1の制御プログラム(プログラムA)が作成され、そのプログラムAが1または複数回、編集される。 (1) For example, one or more users create one control program (program A), and the program A is edited one or more times.
 (2) 編集されて得られたプログラム(図2においてはプログラムA(Ver.1.1))に対してデバック作業が行われる。デバック作業中は、たとえば、サポート装置200とPLC100とが接続ケーブル20で接続されており、PLC100を用いてデバック作業が行われる。 (2) A debugging operation is performed on the program (program A (Ver.1.1) in FIG. 2) obtained by editing. During the debugging work, for example, the support device 200 and the PLC 100 are connected by the connection cable 20, and the debugging work is performed using the PLC 100.
 管理サーバ300によって管理された制御プログラムは、サポート装置200を介してPLC100にインストール(導入)されてもよく、また、サポート装置200からメモリカードに保存し、メモリカードをPLC100に挿入することで導入されてもよい。 The control program managed by the management server 300 may be installed (introduced) in the PLC 100 via the support device 200, or stored in the memory card from the support device 200 and introduced by inserting the memory card into the PLC 100. May be.
 (1)および(2)に示した制御プログラムの編集作業およびデバック作業は、複数人の開発者によって行なわれてもよい。管理サーバ300を利用して制御プログラムのバージョンを管理できるようにすることで、複数人の開発者によるプログラム開発が容易になり、その結果、制御プログラムを開発する時間を短縮できるという利点がある。しかし、各開発者が自由に管理サーバ300上のプログラムを更新することができてしまうと、不具合のあるプログラムに更新されてしまう虞がある。このような場合に、不具合のあるプログラムを用いてプログラム開発が進められてしまう虞や、不具合のあるプログラムを過ってPLC100に導入してしまう虞がある。 (1) The editing work and the debugging work of the control program shown in (2) may be performed by a plurality of developers. By making it possible to manage the version of the control program using the management server 300, it becomes easy to develop a program by a plurality of developers, and as a result, there is an advantage that the time for developing the control program can be shortened. However, if each developer can freely update the program on the management server 300, the program may be updated to a defective program. In such a case, there is a risk that program development may be advanced using a defective program, or that a defective program may be introduced into the PLC 100.
 本実施の形態においては、管理サーバ300に制御プログラムを出力するときに一定の制限を設けることで、不具合のあるプログラムを用いてプログラム開発が進められてしまうことや、不具合のあるプログラムを過ってPLC100に導入してしまうことを予め防止する。 In the present embodiment, by providing a certain restriction when outputting a control program to the management server 300, program development may be advanced using a defective program, or a defective program may be missed. Thus, it is prevented in advance from being introduced into the PLC 100.
 <B.PLCのハードウェア構成>
 図3は、本発明の実施の形態に係るPLC100のハードウェア構成を示す模式図である。PL100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主メモリ106と、フラッシュメモリ108と、内部バスコントローラ122と、フィールドバスコントローラ124と、USB(Universal Serial Bus)コネクタ126と、メモリカードインターフェイス128とを含む。
<B. PLC hardware configuration>
FIG. 3 is a schematic diagram showing a hardware configuration of PLC 100 according to the embodiment of the present invention. The PL 100 includes a processor 102 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), a chip set 104, a main memory 106, a flash memory 108, an internal bus controller 122, a field bus controller 124, A USB (Universal Serial Bus) connector 126 and a memory card interface 128 are included.
 プロセッサ102およびチップセット104は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、プロセッサ102は、チップセット104から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット104は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ102に必要な命令コードを生成する。さらに、チップセット104は、プロセッサ102での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。 The processor 102 and the chipset 104 are typically configured according to a general-purpose computer architecture. That is, the processor 102 interprets and executes the instruction codes sequentially supplied from the chip set 104 according to the internal clock. The chip set 104 exchanges internal data with various connected components and generates instruction codes necessary for the processor 102. Further, the chip set 104 has a function of caching data obtained as a result of execution of arithmetic processing by the processor 102.
 主メモリ106は、揮発性の記憶領域であり、PLC100への電源投入後にプロセッサ102で実行されるべき各種プログラムを格納する。主メモリ106は、プロセッサ102による各種プログラムの実行時の作業用メモリとしても使用される。このような主メモリ106としては、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といったデバイスが用いられる。 The main memory 106 is a volatile storage area, and stores various programs to be executed by the processor 102 after powering on the PLC 100. The main memory 106 is also used as a working memory when the processor 102 executes various programs. As such a main memory 106, a device such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory) is used.
 フラッシュメモリ108は、不揮発性メモリであって、リアルタイムOS(Operating System)、システムプログラム、実行可能プログラムといった各種プログラム(モジュール)、および各種パラメータといったデータを不揮発的に格納する。これらのプログラムやデータは、必要に応じて、プロセッサ102がアクセスできるように主メモリ106にコピーされる。なお、PLC100は、不揮発性メモリとして、半導体メモリであるフラッシュメモリ108を備えるとしたが、ハードディスクドライブのような磁気記録媒体や、DVD-RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などをプログラムやデータを格納するための記憶装置として備えてもよい。 The flash memory 108 is a nonvolatile memory, and stores various programs (modules) such as a real-time OS (Operating System), a system program, and an executable program, and data such as various parameters in a nonvolatile manner. These programs and data are copied to the main memory 106 so that the processor 102 can access them as necessary. The PLC 100 includes a flash memory 108 as a semiconductor memory as a non-volatile memory, but 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). May be provided as a storage device for storing programs and data.
 内部バスコントローラ122は、PLC100と内部バスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、I/Oユニットなどが挙げられる。 The internal bus controller 122 is an interface for exchanging data with various devices connected to the PLC 100 through the internal bus. An example of such a device is an I / O unit.
 フィールドバスコントローラ124は、PLC100とフィールドバスを通じて連結される各種の駆動機器とデータを遣り取りするインターフェイスである。このような駆動機器の一例として、たとえば、サーボドライバや、ロボットコントローラ、視覚センサなどが挙げられる。 The field bus controller 124 is an interface for exchanging data with various driving devices connected to the PLC 100 through the field bus. Examples of such drive devices include a servo driver, a robot controller, and a visual sensor.
 内部バスコントローラ122およびフィールドバスコントローラ124は、接続されているデバイスに対して任意の指令を与えることができるとともに、デバイスが管理している任意のデータ(測定値を含む)を取得することができる。また、内部バスコントローラ122および/またはフィールドバスコントローラ124は、駆動機器との間でデータを遣り取りするためのインターフェイスとしても機能する。 The internal bus controller 122 and the field bus controller 124 can give arbitrary commands to the connected devices, and can acquire arbitrary data (including measurement values) managed by the devices. . The internal bus controller 122 and / or the field bus controller 124 also functions as an interface for exchanging data with the driving device.
 USBコネクタ126は、サポート装置200とPLC100とを接続するための通信インターフェイスである。典型的には、サポート装置200から転送されるPLC100のプロセッサ102で実行可能なプログラム(実行形式プログラム)などは、USBコネクタ126を介してPLC100に取込まれる。 The USB connector 126 is a communication interface for connecting the support device 200 and the PLC 100. Typically, a program (executable program) that can be executed by the processor 102 of the PLC 100 transferred from the support device 200 is taken into the PLC 100 via the USB connector 126.
 メモリカードインターフェイス128は、外部記憶媒体の一例であるメモリカード130(たとえば、SDカード)を着脱可能に構成されており、メモリカード130に対してデータを書き込み、メモリカード130からデータを読出すことが可能になっている。 The memory card interface 128 is configured to be detachable from a memory card 130 (for example, an SD card) that is an example of an external storage medium, and writes data to the memory card 130 and reads data from the memory card 130. Is possible.
 <C.サポート装置のハードウェア構成>
 図4は本発明の実施の形態に係るサポート装置200のハードウェア構成を示す模式図である。サポート装置200は、典型的には、汎用のコンピュータで構成される。なお、サポート装置200は、メンテナンス性の観点からは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
<C. Hardware configuration of support device>
FIG. 4 is a schematic diagram showing a hardware configuration of the support device 200 according to the embodiment of the present invention. The support device 200 is typically composed of a general-purpose computer. Note that the support device 200 is preferably a notebook personal computer excellent in portability from the viewpoint of maintainability.
 サポート装置200は、OSを含む各種プログラムを実行するCPU201と、BIOS(Basic Input Output System)や各種データを格納するROM(Read Only Memory)202と、CPU201でのプログラムの実行に必要なデータを格納するための作業領域を提供するRAM203と、CPU201で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)204とを含む。 The support device 200 stores a CPU 201 that executes various programs including an OS, a BIOS (Basic Input Output System) and a ROM (Read Only Memory) 202 that stores various data, and data that is necessary for the CPU 201 to execute the program. A RAM 203 that provides a work area for executing the operation, and a hard disk (HDD) 204 that stores a program executed by the CPU 201 in a nonvolatile manner.
 サポート装置200は、さらに、ユーザからの操作を受け付けるキーボード205およびマウス206と、情報をユーザに提示するためのモニタ207とを含む。サポート装置200は、PLC100および管理サーバ300などと通信するための通信インターフェイス(IF)209を含む。通信IF209は、たとえば、USBコネクタなどを含む。 The support device 200 further includes a keyboard 205 and a mouse 206 that receive an operation from the user, and a monitor 207 for presenting information to the user. The support device 200 includes a communication interface (IF) 209 for communicating with the PLC 100, the management server 300, and the like. The communication IF 209 includes, for example, a USB connector.
 サポート装置200で実行される各種プログラムは、CD-ROM9に格納されて流通する。このCD-ROM9に格納されたプログラムは、CDROM(Compact Disk-Read Only Memory)ドライブ208によって読取られ、HDD204などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。 Various programs executed by the support device 200 are stored in the CD-ROM 9 and distributed. The program stored in the CD-ROM 9 is read by a CDROM (Compact Disk-Read Only Memory) drive 208 and stored in the HDD 204 or the like. Alternatively, the program may be downloaded from a host computer or the like via a network.
 <D.PLCのソフトウェア構成>
 次に、図5を参照して、本実施の形態に係るPLC100の各種機能を提供するためのソフトウェア群について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、PLC100のプロセッサ102によって実行される。
<D. PLC software configuration>
Next, with reference to FIG. 5, a software group for providing various functions of the PLC 100 according to the present embodiment will be described. The instruction codes included in these software are read at an appropriate timing and executed by the processor 102 of the PLC 100.
 図5は、本発明の実施の形態に係るPLC100で実行されるソフトウェア構成を示す模式図である。PLC100で実行されるソフトウェアとしては、リアルタイムOS400と、システムプログラム410と、ユーザプログラムである実行形式プログラム436との3階層になっている。 FIG. 5 is a schematic diagram showing a software configuration executed by the PLC 100 according to the embodiment of the present invention. The software executed by the PLC 100 has three layers of a real-time OS 400, a system program 410, and an execution format program 436 that is a user program.
 リアルタイムOS400は、PLC100のコンピュータアーキテクチャに応じて設計されており、プロセッサ102がシステムプログラム410および実行形式プログラム436を実行するための基本的な実行環境を提供する。このリアルタイムOS400は、典型的には、PLCのメーカーあるいは専門のソフトウェア会社などによって提供される。 The real-time OS 400 is designed according to the computer architecture of the PLC 100, and provides a basic execution environment for the processor 102 to execute the system program 410 and the execution format program 436. The real-time OS 400 is typically provided by a PLC manufacturer or a specialized software company.
 システムプログラム410は、PLC100としての機能を提供するためのソフトウェア群である。具体的には、システムプログラム410は、スケジューラプログラム412と、出力処理プログラム414と、入力処理プログラム416と、シーケンス命令演算プログラム432と、モーション演算プログラム434と、その他のシステムプログラム420とを含む。なお、一般には出力処理プログラム414および入力処理プログラム416は、連続的(一体として)に実行されるので、これらのプログラムを、IO処理プログラム418と総称する場合もある。 The system program 410 is a software group for providing functions as the PLC 100. Specifically, the system program 410 includes a scheduler program 412, an output processing program 414, an input processing program 416, a sequence command operation program 432, a motion operation program 434, and other system programs 420. In general, the output processing program 414 and the input processing program 416 are executed continuously (integrally), and therefore these programs may be collectively referred to as an IO processing program 418.
 実行形式プログラム436は、ユーザにおける制御目的に応じて作成されるユーザプログラムのうち、PLC100のプロセッサ102で実行可能なオブジェクトプログラム形式になっているプログラムである。ユーザプログラムは、制御システム1を用いて制御する対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。実行形式プログラム436は、シーケンス命令演算プログラム432およびモーション演算プログラム434と協働して、ユーザにおける制御目的を実現する。すなわち、実行形式プログラム436は、シーケンス命令演算プログラム432およびモーション演算プログラム434によって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。そのため、実行形式プログラム436、シーケンス命令演算プログラム432、およびモーション演算プログラム434を、制御プログラム430と総称する場合もある。 The execution format program 436 is a program in an object program format that can be executed by the processor 102 of the PLC 100 among user programs created according to the control purpose of the user. The user program is a program arbitrarily designed according to a target line (process) to be controlled using the control system 1. The execution format program 436 realizes the control purpose of the user in cooperation with the sequence command calculation program 432 and the motion calculation program 434. That is, the execution format program 436 realizes a programmed operation by using instructions, functions, function modules, and the like provided by the sequence instruction operation program 432 and the motion operation program 434. Therefore, the execution format program 436, the sequence instruction calculation program 432, and the motion calculation program 434 may be collectively referred to as a control program 430.
 このように、PLC100のプロセッサ102は、フラッシュメモリ108に格納されたシステムプログラム410および実行形式プログラム436を実行する。 As described above, the processor 102 of the PLC 100 executes the system program 410 and the execution format program 436 stored in the flash memory 108.
 実行形式プログラム436は、ユーザにおける制御目的(たとえば、対象のラインやプロセス)に応じて作成される。実行形式プログラム436は、サポート装置200などにおいて、ラダー言語などによって記述されたソースプログラム530がコンパイルされることで生成される。そして、生成された実行形式プログラム436は、サポート装置200から接続ケーブル20を介してPLC100へ転送され、フラッシュメモリ108などに格納される。実行形式プログラム436はプログラムID532を含む。 The execution format program 436 is created according to the control purpose (for example, a target line or process) by the user. The execution format program 436 is generated by compiling the source program 530 described in a ladder language or the like in the support device 200 or the like. Then, the generated execution format program 436 is transferred from the support device 200 to the PLC 100 via the connection cable 20 and stored in the flash memory 108 or the like. The execution format program 436 includes a program ID 532.
 プログラムID532は、実行形式プログラム436に変換される前のソースプログラム530が生成または編集される度に生成される識別子であって、ソースプログラム530に含まれる。プログラムID532は、ソースプログラム530がコンパイルされて実行形式プログラム436が生成された場合も引き継がれる。すなわち、ソースプログラム530に含まれるプログラムID532と、このソースプログラム530をコンパイルすることで得られる実行形式プログラム436に含まれるプログラムID532とは等しい。 The program ID 532 is an identifier that is generated every time the source program 530 before being converted into the execution format program 436 is generated or edited, and is included in the source program 530. The program ID 532 is also inherited when the source program 530 is compiled and the executable program 436 is generated. That is, the program ID 532 included in the source program 530 is equal to the program ID 532 included in the executable program 436 obtained by compiling the source program 530.
 スケジューラプログラム412は、出力処理プログラム414、入力処理プログラム416、および制御プログラム430について、各実行サイクルでの処理開始および処理中断後の処理再開を制御する。より具体的には、スケジューラプログラム412は、実行形式プログラム436およびモーション演算プログラム434の実行を制御する。 The scheduler program 412 controls the start of processing in each execution cycle and the resumption of processing after the suspension of processing for the output processing program 414, the input processing program 416, and the control program 430. More specifically, the scheduler program 412 controls the execution of the execution format program 436 and the motion calculation program 434.
 出力処理プログラム414は、実行形式プログラム436(制御プログラム430)の実行によって生成された出力データを、内部バスコントローラ122および/またはフィールドバスコントローラ124へ転送するのに適した形式に再配置する。内部バスコントローラ122またはフィールドバスコントローラ124が、プロセッサ102からの、送信を実行するための指示を必要とする場合は、出力処理プログラム414がそのような指示を発行する。 The output processing program 414 rearranges the output data generated by the execution of the execution format program 436 (control program 430) into a format suitable for transferring to the internal bus controller 122 and / or the field bus controller 124. When the internal bus controller 122 or the field bus controller 124 requires an instruction from the processor 102 to execute transmission, the output processing program 414 issues such an instruction.
 入力処理プログラム416は、内部バスコントローラ122および/またはフィールドバスコントローラ124によって受信された入力データを、制御プログラム430が使用するのに適した形式に再配置する。 The input processing program 416 rearranges the input data received by the internal bus controller 122 and / or the field bus controller 124 into a format suitable for use by the control program 430.
 シーケンス命令演算プログラム432は、実行形式プログラム436で使用されるある種のシーケンス命令が実行されるときに呼び出されて、その命令の内容を実現するために実行されるプログラムである。 The sequence command calculation program 432 is a program that is called when a certain sequence command used in the execution format program 436 is executed and executed to realize the content of the command.
 モーション演算プログラム434は、実行形式プログラム436による指示に従って実行され、サーボモータドライバやパルスモータドライバといったモータドライバに対して出力する指令値を算出するプログラムである。 The motion calculation program 434 is a program that is executed in accordance with an instruction from the execution format program 436 and calculates a command value to be output to a motor driver such as a servo motor driver or a pulse motor driver.
 リアルタイムOS400は、複数のプログラムを時間の経過に従い切り替えて実行するための環境を提供する。 The real-time OS 400 provides an environment for switching and executing a plurality of programs over time.
 <E.サポート装置のソフトウェア構成>
 図6は、本発明の実施の形態に係るサポート装置200で実行されるソフトウェア構成を示す模式図である。サポート装置200ではOS510が実行され、PLCサポートプログラム520に含まれる各種のプログラムを実行可能な環境が提供される。
<E. Software configuration of support device>
FIG. 6 is a schematic diagram showing a software configuration executed by the support device 200 according to the embodiment of the present invention. The support apparatus 200 executes the OS 510, and provides an environment in which various programs included in the PLC support program 520 can be executed.
 PLCサポートプログラム520は、エディタプログラム521と、コンパイラプログラム522と、デバッガプログラム523と、通信プログラム526と、管理プログラム524とを含む。各プログラムは、典型的には、CD-ROM9に格納された状態で流通して、サポート装置200にインストールされる。なお、PLCサポートプログラム520に含まれる各プログラムを上位のホストコンピュータなどからネットワークを通じてダウンロードするように構成してもよい。 The PLC support program 520 includes an editor program 521, a compiler program 522, a debugger program 523, a communication program 526, and a management program 524. Each program is typically distributed in a state stored in the CD-ROM 9 and installed in the support device 200. Note that each program included in the PLC support program 520 may be downloaded from a host computer or the like via a network.
 エディタプログラム521は、ユーザプログラムであるソースプログラム530を作成するための入力および編集といった機能を提供する。より具体的には、エディタプログラム521は、ユーザがキーボード205やマウス206を操作してソースプログラム530を作成する機能に加えて、作成したソースプログラム530の保存機能および編集機能を提供する。また、エディタプログラム521は、管理サーバ300に保存されたソースプログラム530の入力を受付ける。 The editor program 521 provides functions such as input and editing for creating a source program 530 that is a user program. More specifically, the editor program 521 provides a storage function and an editing function for the created source program 530 in addition to a function for the user to operate the keyboard 205 and the mouse 206 to create the source program 530. The editor program 521 accepts an input of the source program 530 stored in the management server 300.
 コンパイラプログラム522は、ソースプログラム530をコンパイルして、PLC100のプロセッサ102で実行可能なオブジェクトプログラム形式の実行形式プログラム436を生成する機能を提供する。 The compiler program 522 provides a function of compiling the source program 530 and generating an execution program 436 in an object program format that can be executed by the processor 102 of the PLC 100.
 デバッガプログラム523は、ユーザプログラムのソースプログラムに対してデバッグを行うための機能を提供する。このデバッグの内容としては、ソースプログラムのうちユーザが指定した範囲を部分的に実行する、ソースプログラムの実行中における変数値の時間的な変化を追跡する、といった動作を含む。 The debugger program 523 provides a function for debugging the source program of the user program. The contents of the debugging include operations such as partially executing a range designated by the user in the source program, and tracking temporal changes in variable values during the execution of the source program.
 通信プログラム526は、PLC100へ実行形式プログラム436を転送する機能、および、管理サーバ300にソースプログラム530を出力する機能を提供する。 The communication program 526 provides a function of transferring the execution format program 436 to the PLC 100 and a function of outputting the source program 530 to the management server 300.
 管理プログラム524は、ソースプログラム530を管理サーバ300に出力するか否かを判断する機能を提供する。具体的には、ソースプログラム530のうち、コンパイルが成功して実行形式プログラム436が生成されたか否かを判定し、実行形式プログラム436の生成がされたソースプログラム530のみを管理サーバ300に出力する機能を提供する。 The management program 524 provides a function for determining whether or not to output the source program 530 to the management server 300. Specifically, among the source programs 530, it is determined whether or not the execution format program 436 has been generated by successful compilation, and only the source program 530 for which the execution format program 436 has been generated is output to the management server 300. Provide functionality.
 <F.保存の流れ>
 サポート装置200が作成または編集したユーザプログラムを管理サーバ300に保存する際に、サポート装置200は管理サーバ300にユーザプログラムを出力する。以下、サポート装置200が実行する、ユーザプログラムを管理サーバ300に出力する処理について説明する。
<F. Flow of preservation>
When the user program created or edited by the support apparatus 200 is stored in the management server 300, the support apparatus 200 outputs the user program to the management server 300. Hereinafter, a process executed by the support apparatus 200 to output a user program to the management server 300 will be described.
 [f1.フローチャート]
 図7は、本発明の実施の形態に係るサポート装置200が実行する出力処理のフローチャートである。出力処理は、サポート装置200のCPU201がPLCサポートプログラム520を実行することで行われる処理である。なお、サポート装置200が出力するユーザプログラムは、コンパイルがされる前のソースプログラム530であっても、コンパイルがされた後の実行形式プログラム436であってもよく、また、ソースプログラム530および実行形式プログラム436の双方であってもよい。本実施の形態においては、サポート装置200はソースプログラム530を出力する。
[F1. flowchart]
FIG. 7 is a flowchart of output processing executed by the support device 200 according to the embodiment of the present invention. The output process is a process performed when the CPU 201 of the support apparatus 200 executes the PLC support program 520. Note that the user program output by the support device 200 may be the source program 530 before being compiled, or the executable program 436 after being compiled, and the source program 530 and the executable format. Both of the programs 436 may be used. In the present embodiment, the support device 200 outputs a source program 530.
 ステップS101において、CPU201は、保存の指示を受け付けたか否かを判断する。保存の指示は、マウス206またはキーボード205を介して入力される。保存の指示を受け付けていないと判断した場合(ステップS101においてNO)、CPU201は、処理を終了する。 In step S101, the CPU 201 determines whether a save instruction has been accepted. The save instruction is input via the mouse 206 or the keyboard 205. If it is determined that a storage instruction has not been received (NO in step S101), the CPU 201 ends the process.
 保存の指示を受け付けたと判断した場合(ステップS101においてYES)、CPU201は、処理をステップS102に切り替える。 If it is determined that a storage instruction has been received (YES in step S101), the CPU 201 switches the process to step S102.
 ステップS102において、CPU201は、保存対象のソースプログラム530をコンパイルする。 In step S102, the CPU 201 compiles the source program 530 to be saved.
 ステップS103において、CPU201は、コンパイルに成功したか否かを判断する。コンパイルに成功したか否かは、実行形式プログラム436が生成されたか否かに基づいて判定される。実行形式プログラム436が生成された場合、CPU201は、コンパイルに成功したと判断する。実行形式プログラムが生成されなかった場合、CPU201は、コンパイルに失敗したと判断する。 In step S103, the CPU 201 determines whether the compilation is successful. Whether or not the compilation is successful is determined based on whether or not the executable program 436 has been generated. When the executable program 436 is generated, the CPU 201 determines that the compilation is successful. When the executable program is not generated, the CPU 201 determines that the compilation has failed.
 コンパイルに成功したと判断した場合(ステップS103においてYES)、CPU201は、処理をステップS104に切り替える。 If it is determined that the compilation is successful (YES in step S103), the CPU 201 switches the process to step S104.
 ステップS104において、CPU201は、PLC100に接続されているか否かを判断する。PLC100に接続されている場合(ステップS104においてYES)、処理をステップS105に切り替える。 In step S104, the CPU 201 determines whether or not it is connected to the PLC 100. If connected to PLC 100 (YES in step S104), the process is switched to step S105.
 ステップS105において、CPU201は、実行形式プログラム436をPLC100に送信する。送信する実行形式プログラム436は、ステップS102において、保存対象のソースプログラム530をコンパイルしたことで得られる。 In step S105, the CPU 201 transmits the execution format program 436 to the PLC 100. The executable program 436 to be transmitted is obtained by compiling the source program 530 to be saved in step S102.
 ステップS106において、CPU201は、転送に成功したか否かを判断する。CPU201は、PLC100の動作モードがプログラムモードから運転モードに正常に切り替わったか否かに応じて、転送に成功したか否かを判断する。PLC100は、送られた実行形式プログラム436をインストールする場合に、動作モードをプログラムモードに切替え、正常に転送された場合に運転モードに切替える一方、エラーが生じた場合は継続して動作モードをプログラムモードのままとする。CPU201は、PLC100の動作モードが運転モードであるときに転送に成功したと判断する。一方、CPU201は、所定期間経過した後もPLC100の動作モードがプログラムモードであるときに転送に失敗したと判断する。 In step S106, the CPU 201 determines whether the transfer is successful. The CPU 201 determines whether or not the transfer is successful depending on whether or not the operation mode of the PLC 100 has been normally switched from the program mode to the operation mode. The PLC 100 switches the operation mode to the program mode when installing the sent executable program 436, and switches to the operation mode when it is normally transferred, while continuing to program the operation mode when an error occurs. Leave in mode. The CPU 201 determines that the transfer is successful when the operation mode of the PLC 100 is the operation mode. On the other hand, the CPU 201 determines that the transfer has failed when the operation mode of the PLC 100 is the program mode even after the predetermined period has elapsed.
 転送に成功したと判断した場合(ステップS106においてYES)、CPU201は、処理をステップS107に切り替える。 If it is determined that the transfer is successful (YES in step S106), the CPU 201 switches the process to step S107.
 PLC100と接続されていないと判断した場合(ステップS104においてNO)、CPU201は、処理をステップS107に切り替える。 If it is determined that it is not connected to the PLC 100 (NO in step S104), the CPU 201 switches the process to step S107.
 ステップS107において、CPU201は、管理サーバ300に保存対象のソースプログラム530を送信して処理を終了する。 In step S107, the CPU 201 transmits the source program 530 to be saved to the management server 300 and ends the process.
 また、コンパイルに失敗したと判断した場合(ステップS103においてNO)、CPU201は、処理をステップS111に切り替える。 If it is determined that the compilation has failed (NO in step S103), the CPU 201 switches the process to step S111.
 ステップS111において、CPU201は、コンパイルに失敗した旨を通知することを決定する。 In step S111, the CPU 201 determines to notify that the compilation has failed.
 また、PLC100への転送に失敗したと判断した場合(ステップS106においてNO)、CPU201は、処理をステップS112に切り替える。 If it is determined that the transfer to the PLC 100 has failed (NO in step S106), the CPU 201 switches the process to step S112.
 ステップS112において、CPU201は、PLC100への転送に失敗した旨を通知することを決定する。 In step S112, the CPU 201 determines to notify that the transfer to the PLC 100 has failed.
 ステップS111またはステップS112の処理を実行した後、CPU201は、処理をステップS113に切り替える。 After executing the process of step S111 or step S112, the CPU 201 switches the process to step S113.
 ステップS113において、CPU201は、ソースプログラム530を管理サーバ300に出力することができない旨を通知することを決定する。 In step S113, the CPU 201 determines to notify that the source program 530 cannot be output to the management server 300.
 ステップS114において、CPU201は、決定した通知を行う。具体的には、ステップS111~ステップS113において決定した内容をモニタ207に表示する。すなわち、CPU201は、プログラムを管理サーバ300に出力することができないことと、なぜ出力することができないかの原因とをモニタ207に表示する。 In step S114, the CPU 201 performs the determined notification. Specifically, the contents determined in steps S111 to S113 are displayed on monitor 207. That is, the CPU 201 displays on the monitor 207 the reason why the program cannot be output to the management server 300 and the reason why the program cannot be output.
 ステップS115において、CPU201は、保存の指示を破棄して処理を終了する。
 なお、本発明の実施の形態において、出力することができない原因の通知を行なうものとしたが、出力することができないことのみを通知する構成であってもよい。
In step S115, the CPU 201 discards the save instruction and ends the process.
In the embodiment of the present invention, notification of the cause that cannot be output is performed. However, it may be configured to notify only that output cannot be performed.
 [f2.機能構成]
 図8は、出力処理の実行において機能する、本発明の実施の形態に係るサポート装置200の機能構成の一例を示す図である。
[F2. Functional configuration]
FIG. 8 is a diagram illustrating an example of a functional configuration of the support device 200 according to the embodiment of the present invention that functions in execution of output processing.
 サポート装置200は、ユーザプログラムを作成または編集するための作成部210と、作成部210によって作成または編集されたソースプログラム530から実行形式プログラム436を生成する生成部220と、作成部210によって作成または編集されたユーザプログラムを管理サーバ300に出力する出力部230とを備える。また、サポート装置200は、PLC100に実行形式プログラム436を転送する通信部240を備える。 The support apparatus 200 includes a creation unit 210 for creating or editing a user program, a generation unit 220 that generates an execution format program 436 from the source program 530 created or edited by the creation unit 210, and a creation unit 210 And an output unit 230 that outputs the edited user program to the management server 300. Further, the support device 200 includes a communication unit 240 that transfers the execution format program 436 to the PLC 100.
 作成部210は、ユーザの操作に従ってソースプログラム530を作成または編集する。作成部210が作成または編集したソースプログラム530は、たとえば、RAM203に一時的に保存される。 The creation unit 210 creates or edits the source program 530 in accordance with a user operation. The source program 530 created or edited by the creation unit 210 is temporarily stored in the RAM 203, for example.
 出力部230は、キーボード205およびマウス206などの入力部から入力された保存指示を受け付けると、生成部220に実行形式プログラム436を生成させ、生成が成功したか否か、すなわちコンパイルが成功したか否かを判断する。 When the output unit 230 receives a save instruction input from the input unit such as the keyboard 205 and the mouse 206, the output unit 230 causes the generation unit 220 to generate the execution format program 436, and whether the generation is successful, that is, whether the compilation is successful. Judge whether or not.
 出力部230は、コンパイルが成功したと判断した場合に、通信部240に実行形式プログラム436をPLC100に転送させる。通信部240は、実行形式プログラム436をPLC100に転送し、転送に成功したか否かを出力部230に通知する。 When the output unit 230 determines that the compilation is successful, the output unit 230 causes the communication unit 240 to transfer the executable program 436 to the PLC 100. The communication unit 240 transfers the execution format program 436 to the PLC 100 and notifies the output unit 230 whether or not the transfer is successful.
 出力部230は、実行形式プログラム436の転送に成功した場合、管理サーバ300にソースプログラム530を出力する。また、出力部230は、処理結果をモニタ207に表示する。処理結果は、コンパイルの成功または失敗、実行形式プログラム436の転送の成功または失敗、およびソースプログラム530の出力結果を含む。 The output unit 230 outputs the source program 530 to the management server 300 when the transfer of the execution format program 436 is successful. The output unit 230 displays the processing result on the monitor 207. The processing result includes the success or failure of compilation, the success or failure of transfer of the executable program 436, and the output result of the source program 530.
 <G.制御プログラムのインストール>
 生産現場に設置されたPLC100にインストールされたユーザプログラムは、管理サーバ300と接続されていないサポート装置を介して書き換えられることがある。また、管理サーバ300と接続されていない開発環境で作成されたユーザプログラムがPLC100にインストールされることがある。すなわち、生産現場においては、管理サーバ300が管理し得ない状況下で作成されたユーザプログラムがPLC100にインストールされていることがある。
<G. Installation of control program>
The user program installed in the PLC 100 installed at the production site may be rewritten via a support device that is not connected to the management server 300. In addition, a user program created in a development environment that is not connected to the management server 300 may be installed in the PLC 100. That is, at the production site, a user program created under a situation that cannot be managed by the management server 300 may be installed in the PLC 100.
 たとえば、PLC100に既にインストールされているユーザプログラム(Ver.1.0とする)に新たな機能を追加するために、管理サーバ300が管理し得ない状況下でVer.1.0のユーザプログラムが書き換えられて、Ver.1.1のユーザプログラムとなった状況を考える。このような場合に、Ver1.0のユーザプログラムに他の機能が追加され、新たにVer.2.0のユーザプログラムをPLC100に再インストールしようとした場合、Ver1.1に書き換えられたときに追加された新たな機能が削除されてしまう虞がある。 For example, in order to add a new function to the user program (Ver.1.0) already installed in the PLC 100, Ver. 1.0 user program is rewritten and Ver. Consider the situation of 1.1 user program. In such a case, other functions are added to the Ver1.0 user program, and Ver. If an attempt is made to reinstall a 2.0 user program in the PLC 100, a new function added when the user program is rewritten to Ver1.1 may be deleted.
 新たな機能が削除されてしまうことを防止するため、本実施の形態においては、サポート装置200は、PLC100にインストールされたユーザプログラムに変更を加える際に、PLC100にインストールされているユーザプログラムと、管理サーバ300によって管理されているユーザプログラムとを比較し、比較結果を通知する。たとえば、サポート装置200は、管理サーバ300によって管理されているユーザプログラムに含まれるプログラムID532の中に、PLC100にインストールされているユーザプログラムに含まれるプログラムID532と一致するものが無い場合に、PLC100にインストールされているユーザプログラムが管理サーバ300上に保存されていない虞がある旨を通知する。 In order to prevent a new function from being deleted, in the present embodiment, when the support apparatus 200 changes a user program installed in the PLC 100, a user program installed in the PLC 100, The user program managed by the management server 300 is compared, and the comparison result is notified. For example, when there is no program ID 532 included in the user program managed by the management server 300 that matches the program ID 532 included in the user program installed in the PLC 100, the support apparatus 200 stores the program ID 532 in the PLC 100. The fact that there is a possibility that the installed user program is not stored on the management server 300 is notified.
 PLC100が実行中のユーザプログラムを変更するために新たなユーザプログラムをインストールする際に、本発明の実施の形態に係るサポート装置200が実行する導入処理について以下説明する。 An introduction process executed by the support apparatus 200 according to the embodiment of the present invention when a new user program is installed to change the user program being executed by the PLC 100 will be described below.
 [g1.フローチャート]
 図9は、本発明の実施の形態に係るサポート装置200が実行する導入処理のフローチャートである。より具体的には、導入処理は、サポート装置200のCPU201がPLCサポートプログラム520を実行することで行われる処理である。
[G1. flowchart]
FIG. 9 is a flowchart of an introduction process executed by the support device 200 according to the embodiment of the present invention. More specifically, the introduction process is a process performed when the CPU 201 of the support device 200 executes the PLC support program 520.
 ステップS201において、CPU201は、導入の指示を受け付けたか否かを判断する。導入の指示を受け付けていないと判断した場合(ステップS201においてNO)、CPU201は、処理を終了する。導入の指示は、マウス206またはキーボード205を介して入力される。 In step S201, the CPU 201 determines whether or not an introduction instruction has been accepted. If it is determined that the introduction instruction has not been received (NO in step S201), the CPU 201 ends the process. The introduction instruction is input via the mouse 206 or the keyboard 205.
 導入の指示を受け付けたと判断した場合(ステップS201においてYES)、CPU201は、処理をステップS202に切り替える。 If it is determined that the introduction instruction has been received (YES in step S201), the CPU 201 switches the process to step S202.
 ステップS202において、CPU201は、PLC100にインストールされている実行形式プログラム436に含まれるプログラムID532を抽出し、管理サーバ300によって管理されているソースプログラム530の履歴情報と比較する。 In step S202, the CPU 201 extracts the program ID 532 included in the execution format program 436 installed in the PLC 100 and compares it with the history information of the source program 530 managed by the management server 300.
 ステップS203において、CPU201は、管理サーバ300によって管理されているソースプログラム530に含まれるプログラムID532の中に、PLC100にインストールされている実行形式プログラム436のプログラムID532と一致するプログラムID532があるか否かを判断する。一致するプログラムID532がない場合(ステップS203においてNO)、CPU201は、処理をステップS204に切り替える。 In step S <b> 203, the CPU 201 determines whether or not there is a program ID 532 that matches the program ID 532 of the executable program 436 installed in the PLC 100 in the program ID 532 included in the source program 530 managed by the management server 300. Judging. If there is no matching program ID 532 (NO in step S203), CPU 201 switches the process to step S204.
 ステップS204において、CPU201は、一致するプログラムIDがない旨の通知を行う。たとえば、モニタ207に、一致する履歴情報がない旨を表示する。 In step S204, the CPU 201 notifies that there is no matching program ID. For example, the monitor 207 displays that there is no matching history information.
 ステップS205において、CPU201は、PLC100にインストールされている実行形式プログラム436を管理サーバ300に出力する。なお、PLC100にインストールされている実行形式プログラム436をサポート装置200のRAM203に一時的に保存し、ユーザの指示に基づいて、管理サーバ300に出力するか否かを決定するようにしてもよい。また、実行形式プログラム436を管理サーバ300に出力するとしたが、CPU201は、逆コンパイルして、ソースプログラム530を生成して管理サーバ300に出力してもよい。CPU201は、PLC100にインストールされている実行形式プログラム436を管理サーバ300に出力して、処理をステップS206に切り替える。 In step S205, the CPU 201 outputs the execution format program 436 installed in the PLC 100 to the management server 300. Note that the execution format program 436 installed in the PLC 100 may be temporarily stored in the RAM 203 of the support apparatus 200, and it may be determined whether to output to the management server 300 based on a user instruction. Further, although the execution format program 436 is output to the management server 300, the CPU 201 may decompile and generate the source program 530 and output it to the management server 300. CPU201 outputs execution form program 436 installed in PLC100 to management server 300, and switches processing to Step S206.
 一致するプログラムID532がある場合(ステップS203においてYES)、CPU201は、処理をステップS206に切り替える。 If there is a matching program ID 532 (YES in step S203), the CPU 201 switches the process to step S206.
 ステップS206において、CPU201は、導入対象の実行形式プログラム436をPLC100に転送して処理を終了する。なお、導入対象の実行形式プログラム436が管理サーバに保存されていない場合は、導入対象の実行形式プログラム436およびソースプログラム530のうちの少なくとも一方を、管理サーバ300にも出力するようにしてもよい。 In step S206, the CPU 201 transfers the execution format program 436 to be introduced to the PLC 100 and ends the process. If the execution format program 436 to be installed is not stored in the management server, at least one of the execution format program 436 to be installed and the source program 530 may be output to the management server 300 as well. .
 [g2.機能構成]
 図10は、導入処理の実行において機能する、本発明の実施の形態に係るサポート装置200の機能構成の一例を示す図である。
[G2. Functional configuration]
FIG. 10 is a diagram illustrating an example of a functional configuration of the support device 200 according to the embodiment of the present invention, which functions in executing the introduction process.
 サポート装置200は、比較部250を備えてもよい。比較部250は、導入の指示を受け付けたことに基づいて、PLC100において実行されている実行形式プログラム436と、管理サーバ300が管理している各バージョンのユーザプログラムとを比較し、比較結果をモニタ207に出力する。 The support device 200 may include a comparison unit 250. Based on receiving the instruction for introduction, the comparison unit 250 compares the executable program 436 executed in the PLC 100 with each version of the user program managed by the management server 300 and monitors the comparison result. It outputs to 207.
 具体的には、比較部250は、管理サーバ300が記憶しているプログラム情報312に含まれるバージョンごとのプログラムID532と、PLC100において実行されている実行形式プログラム436に含まれるプログラムID532とを比較する。 Specifically, the comparison unit 250 compares the program ID 532 for each version included in the program information 312 stored in the management server 300 with the program ID 532 included in the execution format program 436 executed in the PLC 100. .
 <H.作用・効果>
 以上のように、制御プログラムをバージョンごとに管理可能な開発環境を提供できる。そのため、一の制御プログラムに対して加えた変更の変遷を管理することができ、複数人でのプログラム開発を行なうことが容易になる。さらに、サポート装置200は、少なくとも、実行形式プログラム436を生成することができたことを条件にユーザプログラムを管理サーバ300に出力する。そのため、実行形式プログラム436を生成することができない不具合のあるユーザプログラムが管理サーバ300に保存されてしまうことを防止することができる。その結果、不具合のあるユーザプログラムを用いてプログラム開発が進められてしまうことや、不具合のあるユーザプログラムを過ってPLC100に導入してしまうことを予め防止することができる。
<H. Action / Effect>
As described above, it is possible to provide a development environment capable of managing the control program for each version. Therefore, it is possible to manage the transition of changes made to one control program, and it becomes easy to develop a program by a plurality of people. Furthermore, the support apparatus 200 outputs the user program to the management server 300 on condition that at least the execution format program 436 can be generated. Therefore, it is possible to prevent a user program having a defect that cannot generate the execution format program 436 from being stored in the management server 300. As a result, it is possible to prevent in advance that program development is progressed using a defective user program or that a defective user program is introduced into the PLC 100 in advance.
 サポート装置200はモニタ207を備え、管理サーバ300にユーザプログラムを出力することができない場合に、その旨をモニタ207に表示することで通知する。これにより、ユーザは、作成または編集したユーザプログラムに欠陥があることを認識することができる。その結果、不具合のあるプログラムを用いてプログラム開発が進められてしまうことや、不具合のあるプログラムを過ってPLC100に導入してしまうことを予め防止することができる。 When the support apparatus 200 includes a monitor 207 and a user program cannot be output to the management server 300, the support apparatus 200 notifies the monitor 207 by displaying that fact. Thereby, the user can recognize that the created or edited user program has a defect. As a result, it is possible to prevent the development of a program from using a defective program and the introduction of the defective program into the PLC 100 in advance.
 サポート装置200は、実行形式プログラム436を生成できたことに加えて、PLC100に実行形式プログラム436を転送できたことを条件にユーザプログラムを管理サーバ300に出力する。そのため、PLC100に転送することができないような不具合のあるユーザプログラムが管理サーバ300に保存されてしまうことを防止することができる。その結果、不具合のあるユーザプログラムを用いてプログラム開発が進められてしまうことや、不具合のあるユーザプログラムを過ってPLC100に導入してしまうことを予め防止することができる。 The support apparatus 200 outputs the user program to the management server 300 on condition that the execution format program 436 can be generated and the execution format program 436 can be transferred to the PLC 100. Therefore, it is possible to prevent a user program having a problem that cannot be transferred to the PLC 100 from being stored in the management server 300. As a result, it is possible to prevent in advance that program development is progressed using a defective user program or that a defective user program is introduced into the PLC 100 in advance.
 サポート装置200は、PLC100にインストールされたユーザプログラムに変更を加える際に、PLC100にインストールされているユーザプログラムと、管理サーバ300によって管理されているユーザプログラムとを比較し、比較結果を通知する。そのため、管理サーバ300が管理し得ない状況下で作成されたユーザプログラムについても、管理することができる。その結果、管理サーバ300が管理することのできる範囲が広がる。これにより、作成された機能を過って削除してしまうことを防止することができる。 When the support device 200 changes the user program installed in the PLC 100, the support device 200 compares the user program installed in the PLC 100 with the user program managed by the management server 300, and notifies the comparison result. Therefore, it is possible to manage user programs created under circumstances that cannot be managed by the management server 300. As a result, the range that can be managed by the management server 300 is expanded. Thereby, it is possible to prevent the created function from being deleted excessively.
 サポート装置200と、管理サーバ300とは別体である。そのため、サポート装置200の処理負担を軽減することができる。 The support device 200 and the management server 300 are separate bodies. Therefore, the processing load on the support device 200 can be reduced.
 §3 変形例
 <変形例1>
 上記の実施の形態において、サポート装置200のCPU201は、保存の指示を受け付けたことに基づいてステップS102以降の処理を実行するとした。すなわち、上記の実施の形態において、サポート装置200と管理サーバ300とは常時通信可能に接続されていることを前提とした上で、出力処理を実行する例を示した。なお、サポート装置200と管理サーバ300とは、常時、通信可能に接続されている必要はない。たとえば、サポート装置200のCPU201は、保存の指示を受け付けたか否かではなく、管理サーバ300との接続が開始されたことに応じて、ステップS102以降の処理を実行するようにしてもよい。これにより、管理サーバ300と接続されていない期間に作成または編集されたユーザプログラムに対する保存の指示を改めて行わなくとも、このユーザプログラムを管理することができる。すなわち、管理サーバ300と接続されていない期間に作成または編集されたユーザプログラムに対する管理を強化することができる。
§3 Modification <Modification 1>
In the above embodiment, the CPU 201 of the support device 200 executes the processes after step S102 based on the reception of the save instruction. That is, in the above embodiment, an example is shown in which the output processing is executed on the assumption that the support device 200 and the management server 300 are always connected to be communicable. Note that the support device 200 and the management server 300 need not always be connected so that they can communicate with each other. For example, the CPU 201 of the support device 200 may execute the processing after step S102 depending on whether the connection with the management server 300 is started, instead of whether or not a storage instruction is accepted. As a result, the user program can be managed without re-instructing the user program created or edited during a period in which it is not connected to the management server 300. That is, it is possible to strengthen management for a user program created or edited during a period when it is not connected to the management server 300.
 <変形例2>
 図11は、変形例2における制御システム1bの概略構成を示す模式図である。制御システム1bは、図2に示す制御システム1と比較して、PLC100の代わりにPLC100bを備え、サポート装置200の代わりにサポート装置200bを備える点で異なる。
<Modification 2>
FIG. 11 is a schematic diagram illustrating a schematic configuration of a control system 1b according to the second modification. The control system 1b differs from the control system 1 shown in FIG. 2 in that it includes a PLC 100b instead of the PLC 100 and a support device 200b instead of the support device 200.
 PLC100bは、PLC100と比較して、管理サーバ300と通信するためのアクセス部142を備える点で異なる。アクセス部142を備えるPLC100bは、サポート装置200が備える生成部220、出力部230、比較部250に係る機能を備えていてもよい(図11中の生成部144、出力部146、比較部148)。また、サポート装置200bは、サポート装置200と比較して、生成部220および出力部230を備えていない点で異なる。すなわち、変形例2における制御システム1bにおいて、PLC100bが管理サーバ300と通信可能であり、コンパイル機能をPLC100bが備える。 The PLC 100b is different from the PLC 100 in that an access unit 142 for communicating with the management server 300 is provided. The PLC 100b including the access unit 142 may include functions related to the generation unit 220, the output unit 230, and the comparison unit 250 included in the support device 200 (the generation unit 144, the output unit 146, and the comparison unit 148 in FIG. 11). . Further, the support device 200b differs from the support device 200 in that it does not include the generation unit 220 and the output unit 230. That is, in the control system 1b according to the second modification, the PLC 100b can communicate with the management server 300, and the PLC 100b includes a compilation function.
 サポート装置200bは、ソースプログラム530をPLC100bに転送する。PLC100bの生成部144は、ソースプログラム530を受信すると、受信したソースプログラム530に基づいて実行形式プログラム436を生成する。出力部146は、実行形式プログラム436が生成されたことに基づいて、ユーザプログラムを管理サーバ300に出力する。 The support device 200b transfers the source program 530 to the PLC 100b. Upon receiving the source program 530, the generation unit 144 of the PLC 100b generates an execution format program 436 based on the received source program 530. The output unit 146 outputs the user program to the management server 300 based on the generation of the execution format program 436.
 このように、PLC100bが出力部146を備えることにより、管理サーバ300が管理することのできない開発環境下で開発されたユーザプログラムのうち、PLC100bにインストールされたユーザプログラムについては管理することができる。なお、出力部146は、実行形式プログラム436を受信したことに基づいて、管理サーバ300にユーザプログラムを出力するようにしてもよい。 Thus, by providing the output unit 146 in the PLC 100b, it is possible to manage user programs installed in the PLC 100b among user programs developed in a development environment that cannot be managed by the management server 300. Note that the output unit 146 may output the user program to the management server 300 based on the reception of the execution format program 436.
 比較部148は、管理サーバ300と通信するためのネットワークに接続されたことに基づいて、インストールされている実行形式プログラム436と、管理サーバ300が管理している各バージョンのユーザプログラムとを比較し、比較結果を出力する。出力先は、たとえば、PLC100bに設けられたLEDなどであってもよく、また、PLC100bがサポート装置200や携帯端末やプリンターなどの機器と通信可能に接続されている場合には、これらの機器であってもよい。比較部148は、管理サーバ300が管理している各バージョンのユーザプログラムの中に、インストールされている実行形式プログラム436と一致するプログラムがない場合にのみ比較結果を出力するようにしてもよい。 The comparison unit 148 compares the installed executable program 436 with each version of the user program managed by the management server 300 based on being connected to the network for communicating with the management server 300. The comparison result is output. For example, the output destination may be an LED or the like provided in the PLC 100b. If the PLC 100b is communicably connected to a device such as the support device 200, a portable terminal, or a printer, these devices may be used. There may be. The comparison unit 148 may output the comparison result only when there is no program that matches the installed execution format program 436 among the user programs of each version managed by the management server 300.
 PLC100bが比較機能を備えることにより、管理サーバ300との通信手段を有していないサポート装置やメモリカード130からPLC100bに実行形式プログラム436をインストールした場合であっても、PLC100bにインストールされた全てのユーザプログラムについて管理することができる。 Even if the execution format program 436 is installed in the PLC 100b from the support device or the memory card 130 that does not have communication means with the management server 300, the PLC 100b has a comparison function. User programs can be managed.
 <変形例3>
 図12は、変形例3における制御システム1cの概略構成を示す模式図である。制御システム1cは、図2に示す制御システム1と比較して、PLC100の代わりにPLC100cを備え、PLC100cが管理サーバ300に係る機能として管理部300cを備える点で異なる。
<Modification 3>
FIG. 12 is a schematic diagram illustrating a schematic configuration of a control system 1c in the third modification. The control system 1c is different from the control system 1 shown in FIG. 2 in that it includes a PLC 100c instead of the PLC 100, and the PLC 100c includes a management unit 300c as a function related to the management server 300.
 PLC100cは、制御プログラムの変更履歴310を保存するための記憶部を有していてもよく、また、PLC100cと通信可能なサーバに変更履歴310を保存するようにしてもよい。PLC100cが、管理部300cを備えることで、管理サーバ300との通信手段を有していないサポート装置やメモリカード130からPLC100cに実行形式プログラム436をインストールした場合であっても、PLC100cにインストールされた全てのユーザプログラムについて管理することができる。 The PLC 100c may have a storage unit for storing the change history 310 of the control program, or the change history 310 may be stored in a server that can communicate with the PLC 100c. Since the PLC 100c includes the management unit 300c, the execution format program 436 is installed in the PLC 100c from the support device or the memory card 130 that does not have communication means with the management server 300. All user programs can be managed.
 なお、PLC100cが制御プログラムの変更履歴310を保存するための記憶部を有している場合、外部のサーバに変更履歴310を保存している場合に比べて、変更履歴310を早く取得することができる。一方、外部のサーバに変更履歴310を保存する場合、PLC100cの記憶領域を省力化することができる。 Note that when the PLC 100c has a storage unit for storing the change history 310 of the control program, the change history 310 can be acquired earlier than when the change history 310 is stored in an external server. it can. On the other hand, when the change history 310 is stored in an external server, the storage area of the PLC 100c can be saved.
 <変形例4>
 上記の実施の形態においては、サポート装置200がユーザプログラムを出力するか否かを判断するものとした。たとえば、サポート装置200は保存の指示を受け付けたことに基づいてユーザプログラムを管理サーバ300に出力するようにしてもよい。この場合、管理サーバ300は、実行形式プログラムを生成する機能と、出力されたユーザプログラムを管理対象とするか否か(保存するか否か)を決定する機能とを備えてもよい。
<Modification 4>
In the above embodiment, the support device 200 determines whether to output a user program. For example, the support device 200 may output the user program to the management server 300 based on the reception of the save instruction. In this case, the management server 300 may have a function of generating an executable program and a function of determining whether the output user program is to be managed (whether to save).
 また、管理サーバ300は、ユーザプログラムを保存しないと決定した場合に、保存しない旨をサポート装置200に通知する機能を備えてもよい。サポート装置200は、ユーザプログラムが保存されなかった旨の通知を受けて、ユーザにその通知を行ってもよい。 In addition, the management server 300 may have a function of notifying the support apparatus 200 that the user program is not stored when it is determined that the user program is not stored. The support device 200 may receive a notification that the user program has not been saved and notify the user of the notification.
 <変形例5>
 図13は、変形例5における制御システム1eの概略構成を示す模式図である。制御システム1eは、図2に示す制御システム1と比較して、PLC100の代わりにPLC100eを備え、サポート装置200の代わりにサポート装置200eを備える点で異なる。
<Modification 5>
FIG. 13 is a schematic diagram illustrating a schematic configuration of a control system 1e according to the fifth modification. The control system 1e differs from the control system 1 shown in FIG. 2 in that it includes a PLC 100e instead of the PLC 100, and a support device 200e instead of the support device 200.
 PLC100eは、PLC100と比較して、制御プログラムのバージョンを管理するための管理部154をさらに備える点で異なる。すなわち、制御システム1eは、PLC100eと、管理サーバ300との両方で制御プログラムのバージョンを管理する点で、制御システム1と異なる。なお、管理部154の機能は、管理サーバ300と共通するため、説明を省略する。ここで、変形例5にかかる管理部154は、PLC100eで実行される制御プログラムについて管理し、他のPLCで実行される制御プログラムについては管理しない。一方、管理サーバ300は、複数の制御プログラムについて管理することができる。 The PLC 100e is different from the PLC 100 in that it further includes a management unit 154 for managing the version of the control program. That is, the control system 1 e is different from the control system 1 in that the version of the control program is managed by both the PLC 100 e and the management server 300. The function of the management unit 154 is the same as that of the management server 300, and thus the description thereof is omitted. Here, the management unit 154 according to the modification 5 manages the control program executed by the PLC 100e and does not manage the control program executed by another PLC. On the other hand, the management server 300 can manage a plurality of control programs.
 たとえば、ユーザは、サポート装置200eを管理サーバ300と接続させない状態(オフライン)で、PLC100eを利用して制御プログラムを作成することもある。このような場合に、管理サーバ300のみで制御プログラムのバージョンを管理している場合に、オフラインで作成された制御プログラムについては管理対象から外れてしまう虞がある。 For example, the user may create a control program using the PLC 100e in a state where the support device 200e is not connected to the management server 300 (offline). In such a case, when the version of the control program is managed only by the management server 300, the control program created offline may be excluded from the management target.
 変形例5に係る制御システム1eにおいては、PLC100eと、管理サーバ300との両方で制御プログラムのバージョンを管理することで、オフラインで作成された制御プログラムについても管理対象に含めることができ、管理範囲が広いバージョン管理システムを提供できる。 In the control system 1e according to the modified example 5, by managing the version of the control program by both the PLC 100e and the management server 300, the control program created offline can be included in the management target. Can provide a wide version control system.
 PLC100eと、管理サーバ300との両方で制御プログラムのバージョンを管理することで、管理範囲が広いバージョン管理システムを提供できる一方、PLC100eと、管理サーバ300とで、変更履歴を同期させる必要がある。変更履歴310をPLC100eと、管理サーバ300とで同期させるため、サポート装置200eは、比較部250eを備える。比較部250eは、サポート装置200eがPLC100eおよび管理サーバ300のいずれとも通信可能に接続されているときに、管理部154が記憶する変更履歴154aと、管理サーバ300が記憶する変更履歴310とを比較し、比較結果を出力する。たとえば、比較結果はモニタ207に出力する。ユーザは、モニタ207に出力された比較結果に基づいて、変更履歴310と変更履歴154aとを同期させることができる。 While the version of the control program can be managed by both the PLC 100e and the management server 300, a version management system with a wide management range can be provided. On the other hand, it is necessary to synchronize the change history between the PLC 100e and the management server 300. In order to synchronize the change history 310 between the PLC 100e and the management server 300, the support device 200e includes a comparison unit 250e. The comparison unit 250e compares the change history 154a stored in the management unit 154 with the change history 310 stored in the management server 300 when the support device 200e is connected to be able to communicate with both the PLC 100e and the management server 300. And output the comparison result. For example, the comparison result is output to the monitor 207. The user can synchronize the change history 310 and the change history 154a based on the comparison result output to the monitor 207.
 なお、ユーザ操作に応じて変更履歴310と変更履歴154aとを同期させる例を示したが、ユーザ操作に関わらず、変更履歴310と変更履歴154aとが一致していない場合に同期させるようにしてもよい。 In addition, although the example which synchronizes the change history 310 and the change history 154a according to user operation was shown, it is made to synchronize when the change history 310 and the change history 154a do not correspond irrespective of a user operation. Also good.
 なお、PLC100eは、管理サーバ300と通信するためのアクセス部142eを備えてもよい。たとえば、PLC100eは、サポート装置200eから制御プログラムが送られる度に、管理部154は、アクセス部142eを介して接続されている管理サーバ300によって管理されている制御プログラムと送られた制御プログラムとを比較して変更履歴310と変更履歴154aとを同期させるようにしてもよい。 The PLC 100e may include an access unit 142e for communicating with the management server 300. For example, every time a control program is sent from the support device 200e, the PLC 100e sends a control program managed by the management server 300 connected via the access unit 142e and the sent control program. For comparison, the change history 310 and the change history 154a may be synchronized.
 また、変更履歴310と変更履歴154aとの比較について、比較部250eは、プログラムID532のみを比較するようにしてもよく、また、履歴情報314を含む情報を比較してもよい。たとえば、履歴情報314を含む情報を比較することで、プログラムIDは変更履歴310と変更履歴154aとで一致しているにも関わらず、履歴情報314が一致しないようなことも検出することができる。 Further, regarding the comparison between the change history 310 and the change history 154a, the comparison unit 250e may compare only the program ID 532, or may compare information including the history information 314. For example, by comparing the information including the history information 314, it is possible to detect that the history information 314 does not match even though the program ID matches in the change history 310 and the change history 154a. .
 §4 付記
 以上のように、上記の実施の形態および変形例は以下のような開示を含む。
§4 Supplementary Notes As described above, the above-described embodiments and modifications include the following disclosure.
 <構成1>
 制御対象を制御する制御装置(100,100e)で実行される制御プログラムの開発を支援するサポート装置(200,200e)であって、
 制御プログラムを作成または編集するための作成部(210,210a)と、
 前記作成部によって得られた作成プログラム(530)から前記制御装置が実行可能な形式の実行形式プログラム(436)を生成する生成部(220,220a)と、
 制御プログラムをバージョンごとに管理する管理サーバ(300,300c)に、前記作成部が作成または編集した制御プログラムを一のバージョンの制御プログラムとして保存するために、前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する出力部(230,230a)とを備え、
 前記出力部は、前記実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する、サポート装置。
<Configuration 1>
A support device (200, 200e) for supporting development of a control program executed by the control device (100, 100e) for controlling a control object;
A creation unit (210, 210a) for creating or editing a control program;
A generation unit (220, 220a) that generates an execution format program (436) in a format executable by the control device from the generation program (530) obtained by the generation unit;
A control program created or edited by the creating unit in order to save the control program created or edited by the creating unit as a version of the control program in a management server (300, 300c) that manages the control program for each version. And an output unit (230, 230a) for outputting to the management server,
The output device outputs a control program created or edited by the creation unit to the management server on condition that an output condition including at least that the generation of the executable program is successful is satisfied.
 <構成2>
 前記出力条件が成立しなかったことを通知する通知部(207)をさらに備える、構成1に記載のサポート装置。
<Configuration 2>
The support apparatus according to Configuration 1, further comprising a notification unit (207) that notifies that the output condition is not satisfied.
 <構成3>
 前記出力条件は、前記制御装置に前記実行形式プログラムを転送できたことを含む、構成1または構成2に記載のサポート装置。
<Configuration 3>
The support device according to Configuration 1 or Configuration 2, wherein the output condition includes that the execution format program has been transferred to the control device.
 <構成4>
 前記制御装置において実行されている制御プログラムを変更する操作を受け付けたときに、前記制御装置において実行されている制御プログラムと、前記管理サーバが管理している各バージョンの制御プログラムとを比較し、比較結果を出力する比較部(250)をさらに備える、構成1~構成3のうちいずれかに記載のサポート装置。
<Configuration 4>
When an operation to change the control program executed in the control device is received, the control program executed in the control device is compared with each version of the control program managed by the management server, 4. The support device according to any one of configurations 1 to 3, further comprising a comparison unit (250) that outputs a comparison result.
 <構成5>
 前記管理サーバは、前記サポート装置とは別に設けられている、構成1~構成4のうちいずれかに記載のサポート装置。
<Configuration 5>
The support device according to any one of Configurations 1 to 4, wherein the management server is provided separately from the support device.
 <構成6>
 前記作成部は、前記管理サーバと接続されているか否かに関わらず制御プログラムを作成または編集し、
 前記出力部は、前記管理サーバとの接続を開始したことに応じて、前記管理サーバと接続されていないときに作成または編集された制御プログラムを、前記出力条件が成立していることを条件に前記管理サーバに出力する、構成5に記載のサポート装置。
<Configuration 6>
The creation unit creates or edits a control program regardless of whether it is connected to the management server,
The output unit creates a control program created or edited when not connected to the management server in response to the start of connection with the management server, provided that the output condition is satisfied. The support device according to Configuration 5, which is output to the management server.
 <構成7>
 制御対象を制御する制御装置(100,100b,100c,100e)で実行される制御プログラムの開発を支援するための制御システム(1,1a,1b,1c,1e)であって、
 制御プログラムを作成または編集するための作成部(210,210a)と、
 前記作成部によって得られた作成プログラムから前記制御装置が実行可能な形式の実行形式プログラムを生成する生成部(220,220a,144)と、
 制御プログラムをバージョンごとに管理する管理サーバ(300,300a,300c)と、
 前記作成部が作成または編集した制御プログラムを一のバージョンの制御プログラムとして保存するために、前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する出力部(230,230a,146)とを備え、
 前記出力部は、前記実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する、制御システム。
<Configuration 7>
A control system (1, 1a, 1b, 1c, 1e) for supporting development of a control program executed by a control device (100, 100b, 100c, 100e) for controlling a controlled object,
A creation unit (210, 210a) for creating or editing a control program;
A generating unit (220, 220a, 144) that generates an executable program that can be executed by the control device from the generating program obtained by the generating unit;
A management server (300, 300a, 300c) for managing the control program for each version;
An output unit (230, 230a, 146) for outputting the control program created or edited by the creation unit to the management server in order to save the control program created or edited by the creation unit as a version of the control program; With
The control system, wherein the output unit outputs a control program created or edited by the creation unit to the management server on condition that an output condition including at least that the execution program has been successfully generated is satisfied.
 <構成8>
 制御プログラムをバージョンごとに管理する管理部(154)を有する制御装置(100e)と、
 前記管理部が管理している各バージョンの制御プログラム(154a)と、前記管理サーバが管理している各バージョンの制御プログラム(310)とを比較し、比較結果を出力する比較部(250e)をさらに備える、構成7に記載の制御システム。
<Configuration 8>
A control device (100e) having a management unit (154) for managing the control program for each version;
A comparison unit (250e) that compares the control program (154a) of each version managed by the management unit with the control program (310) of each version managed by the management server and outputs a comparison result. The control system according to Configuration 7, further comprising:
 <構成9>
 制御対象を制御する制御装置(100,100e)で実行される制御プログラムの開発を支援する開発支援プログラム(520)であって、
 前記開発支援プログラムはコンピュータに、
  作成または編集によって得られた作成プログラム(530)から前記制御装置が実行可能な形式の実行形式プログラム(436)を生成するステップ(S102)と、
  制御プログラムをバージョンごとに管理する管理サーバ(300)に、前記実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に、作成または編集によって得られた制御プログラムを一のバージョンの制御プログラムとして保存するために、作成または編集によって得られた制御プログラムを前記管理サーバに出力するステップ(S103,S107)とを実行させる、開発支援プログラム。
<Configuration 9>
A development support program (520) for supporting development of a control program executed by a control device (100, 100e) for controlling a control object,
The development support program is stored in a computer,
A step (S102) of generating an executable program (436) in a format executable by the control device from a creation program (530) obtained by creation or editing;
A control program obtained by creation or editing is provided on the condition that an output condition including at least that the execution program has been successfully generated is satisfied in the management server (300) that manages the control program for each version. A development support program for executing a step (S103, S107) of outputting a control program obtained by creation or editing to the management server in order to save as a control program of one version.
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims. In addition, the invention described in the embodiment and each modification is intended to be implemented alone or in combination as much as possible.
1,1a,1b,1c,1e 制御システム、9 CD-ROM、10 ローカルネットワーク、20 接続ケーブル、100,100b,100c,100e PLC、102 プロセッサ、104 チップセット、106 主メモリ、108 フラッシュメモリ、122 内部バスコントローラ、124 フィールドバスコントローラ、126 USBコネクタ、128 メモリカードインターフェイス、130 メモリカード、142,142e アクセス部、144,220,220a 生成部、146,230,230a 出力部、148,250,250e 比較部、154,300c 管理部、154a,310 変更履歴、200,200b,200e サポート装置、201 CPU、202 ROM、203 RAM、204 HDD、205 キーボード、206 マウス、207 モニタ、208 CDROMドライブ、209 通信IF、210,210a 作成部、300,300a 管理サーバ、312 プログラム情報、314 履歴情報、400 リアルタイムOS、410 システムプログラム、412 スケジューラプログラム、414 出力処理プログラム、416 入力処理プログラム、418 IO処理プログラム、420 その他のシステムプログラム、430 制御プログラム、432 シーケンス命令演算プログラム、434 モーション演算プログラム、436 実行形式プログラム、510 OS、520 PLCサポートプログラム、521 エディタプログラム、522 コンパイラプログラム、523 デバッガプログラム、524 管理プログラム、526 通信プログラム、530 ソースプログラム、532 プログラムID。 1, 1a, 1b, 1c, 1e control system, 9 CD-ROM, 10 local network, 20 connection cable, 100, 100b, 100c, 100e PLC, 102 processor, 104 chipset, 106 main memory, 108 flash memory, 122 Internal bus controller, 124 fieldbus controller, 126 USB connector, 128 memory card interface, 130 memory card, 142, 142e access unit, 144, 220, 220a generation unit, 146, 230, 230a output unit, 148, 250, 250e comparison Part, 154, 300c management part, 154a, 310 change history, 200, 200b, 200e support device, 201 CPU, 202 ROM, 203 RAM, 04 HDD, 205 keyboard, 206 mouse, 207 monitor, 208 CDROM drive, 209 communication IF, 210, 210a creation unit, 300, 300a management server, 312 program information, 314 history information, 400 real-time OS, 410 system program, 412 scheduler Program, 414 output processing program, 416 input processing program, 418 IO processing program, 420 other system programs, 430 control program, 432 sequence command operation program, 434 motion operation program, 436 execution format program, 510 OS, 520 PLC support program 521 Editor program, 522 Compiler program, 523 Debugger program Grams, 524 management program, 526 communication program, 530 source program, 532 a program ID.

Claims (9)

  1.  制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置であって、
     制御プログラムを作成または編集するための作成部と、
     前記作成部によって得られた作成プログラムから前記制御装置が実行可能な形式の実行形式プログラムを生成する生成部と、
     制御プログラムをバージョンごとに管理する管理サーバに、前記作成部が作成または編集した制御プログラムを一のバージョンの制御プログラムとして保存するために、前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する出力部とを備え、
     前記出力部は、前記実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する、サポート装置。
    A support device that supports development of a control program executed by a control device that controls a controlled object,
    A creation section for creating or editing a control program;
    A generating unit that generates an executable program in a format that can be executed by the control device from a generating program obtained by the generating unit;
    In order to save the control program created or edited by the creation unit as a version of the control program in the management server that manages the control program for each version, the control program created or edited by the creation unit is stored in the management server. An output unit for outputting,
    The output device outputs a control program created or edited by the creation unit to the management server on condition that an output condition including at least that the generation of the executable program is successful is satisfied.
  2.  前記出力条件が成立しなかったことを通知する通知部をさらに備える、請求項1に記載のサポート装置。 The support device according to claim 1, further comprising a notification unit that notifies that the output condition is not satisfied.
  3.  前記出力条件は、前記制御装置に前記実行形式プログラムを転送できたことを含む、請求項1または請求項2に記載のサポート装置。 3. The support apparatus according to claim 1, wherein the output condition includes that the execution format program has been transferred to the control apparatus.
  4.  前記制御装置において実行されている制御プログラムを変更する操作を受け付けたときに、前記制御装置において実行されている制御プログラムと、前記管理サーバが管理している各バージョンの制御プログラムとを比較し、比較結果を出力する比較部をさらに備える、請求項1~請求項3のうちいずれかに記載のサポート装置。 When an operation to change the control program executed in the control device is received, the control program executed in the control device is compared with each version of the control program managed by the management server, The support device according to any one of claims 1 to 3, further comprising a comparison unit that outputs a comparison result.
  5.  前記管理サーバは、前記サポート装置とは別に設けられている、請求項1~請求項4のうちいずれかに記載のサポート装置。 The support device according to any one of claims 1 to 4, wherein the management server is provided separately from the support device.
  6.  前記作成部は、前記管理サーバと接続されているか否かに関わらず制御プログラムを作成または編集し、
     前記出力部は、前記管理サーバとの接続を開始したことに応じて、前記管理サーバと接続されていないときに作成または編集された制御プログラムを、前記出力条件が成立していることを条件に前記管理サーバに出力する、請求項5に記載のサポート装置。
    The creation unit creates or edits a control program regardless of whether it is connected to the management server,
    The output unit creates a control program created or edited when not connected to the management server in response to the start of connection with the management server, provided that the output condition is satisfied. The support device according to claim 5, wherein the support device outputs to the management server.
  7.  制御対象を制御する制御装置で実行される制御プログラムの開発を支援するための制御システムであって、
     制御プログラムを作成または編集するための作成部と、
     前記作成部によって得られた作成プログラムから前記制御装置が実行可能な形式の実行形式プログラムを生成する生成部と、
     制御プログラムをバージョンごとに管理する管理サーバと、
     前記作成部が作成または編集した制御プログラムを一のバージョンの制御プログラムとして保存するために、前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する出力部とを備え、
     前記出力部は、前記実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に前記作成部が作成または編集した制御プログラムを前記管理サーバに出力する、制御システム。
    A control system for supporting development of a control program executed by a control device that controls a control object,
    A creation section for creating or editing a control program;
    A generating unit that generates an executable program in a format that can be executed by the control device from a generating program obtained by the generating unit;
    A management server that manages the control program for each version;
    An output unit that outputs the control program created or edited by the creation unit to the management server in order to save the control program created or edited by the creation unit as a version of the control program;
    The control system, wherein the output unit outputs a control program created or edited by the creation unit to the management server on condition that an output condition including at least that the execution program has been successfully generated is satisfied.
  8.  制御プログラムをバージョンごとに管理する管理部を有する制御装置と、
     前記管理部が管理している各バージョンの制御プログラムと、前記管理サーバが管理している各バージョンの制御プログラムとを比較し、比較結果を出力する比較部をさらに備える、請求項7に記載の制御システム。
    A control device having a management unit for managing the control program for each version;
    The comparison unit according to claim 7, further comprising: a comparison unit that compares each version of the control program managed by the management unit with each version of the control program managed by the management server and outputs a comparison result. Control system.
  9.  制御対象を制御する制御装置で実行される制御プログラムの開発を支援する開発支援プログラムであって、
     前記開発支援プログラムはコンピュータに、
      作成または編集によって得られた作成プログラムから前記制御装置が実行可能な形式の実行形式プログラムを生成するステップと、
      制御プログラムをバージョンごとに管理する管理サーバに、前記実行形式プログラムの生成が成功したことを少なくとも含む出力条件が成立していることを条件に、作成または編集によって得られた制御プログラムを一のバージョンの制御プログラムとして保存するために、作成または編集によって得られた制御プログラムを前記管理サーバに出力するステップとを実行させる、開発支援プログラム。
    A development support program for supporting the development of a control program executed by a control device that controls a controlled object,
    The development support program is stored in a computer,
    Generating an executable program that is executable by the control device from a creation program obtained by creation or editing;
    One version of the control program obtained by creation or editing is provided on the condition that an output condition including at least the successful generation of the executable program is satisfied in the management server that manages the control program for each version. And a step of outputting a control program obtained by creation or editing to the management server to be stored as a control program.
PCT/JP2019/017153 2018-05-29 2019-04-23 Support device, control system, and development assistance program WO2019230262A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018102261A JP7067273B2 (en) 2018-05-29 2018-05-29 Support equipment, control systems, and development support programs
JP2018-102261 2018-05-29

Publications (1)

Publication Number Publication Date
WO2019230262A1 true WO2019230262A1 (en) 2019-12-05

Family

ID=68696944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/017153 WO2019230262A1 (en) 2018-05-29 2019-04-23 Support device, control system, and development assistance program

Country Status (2)

Country Link
JP (1) JP7067273B2 (en)
WO (1) WO2019230262A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023145361A1 (en) * 2022-01-31 2023-08-03 オムロン株式会社 Robot control system and method for configuring robot control system
WO2023145362A1 (en) * 2022-01-31 2023-08-03 オムロン株式会社 Robot control system and method of configuring robot control system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282363A (en) * 2007-05-14 2008-11-20 Keyence Corp Programmable controller, program creation support device, computer program and programmable logic controller (plc) system
JP2013168031A (en) * 2012-02-15 2013-08-29 Fuji Electric Co Ltd Programmable controller system, support device thereof, and program
WO2015063831A1 (en) * 2013-10-28 2015-05-07 三菱電機株式会社 Development system, terminal device, development method, and program
JP2016081323A (en) * 2014-10-17 2016-05-16 株式会社東芝 Control program maintenance device, and control program maintenance method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282363A (en) * 2007-05-14 2008-11-20 Keyence Corp Programmable controller, program creation support device, computer program and programmable logic controller (plc) system
JP2013168031A (en) * 2012-02-15 2013-08-29 Fuji Electric Co Ltd Programmable controller system, support device thereof, and program
WO2015063831A1 (en) * 2013-10-28 2015-05-07 三菱電機株式会社 Development system, terminal device, development method, and program
JP2016081323A (en) * 2014-10-17 2016-05-16 株式会社東芝 Control program maintenance device, and control program maintenance method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023145361A1 (en) * 2022-01-31 2023-08-03 オムロン株式会社 Robot control system and method for configuring robot control system
WO2023145362A1 (en) * 2022-01-31 2023-08-03 オムロン株式会社 Robot control system and method of configuring robot control system

Also Published As

Publication number Publication date
JP7067273B2 (en) 2022-05-16
JP2019207534A (en) 2019-12-05

Similar Documents

Publication Publication Date Title
JP5039428B2 (en) Programmable controller and PLC system
JP4828271B2 (en) Software generation apparatus for multiple OS versions and software generation support program for multiple OS versions
US11080066B2 (en) Method for starting embedded apparatus, and apparatus
EP3336627B1 (en) Support device, method, and recording medium whereon support program is stored
JP2008282362A (en) Program editing support device, computer program, program editing support method, and plc system
US20110126179A1 (en) Method and System for Dynamic Patching Software Using Source Code
WO2019230262A1 (en) Support device, control system, and development assistance program
TW201721412A (en) Selecting and loading firmware volumes
CN110554861B (en) Software development environment with compile and read-evaluate-print-loop operations
US7861236B2 (en) System and method for version control for software development
JP2009157533A (en) Programmable controller system
JP2017142794A (en) Programmable controller system, controller thereof, support device, hci device, and duplex controller system
KR20200050886A (en) Engineering apparatus, control method of engineering apparatus, and program
JP5051377B2 (en) Operation specification management method for program development support device
JP6541902B1 (en) Program management system, programming support apparatus, program management method, and programming support program
JP4702194B2 (en) Program development support apparatus, program development support method, and program development support program
JP2006302066A (en) Maintenance system with remote execution function and method therefor
JP7151227B2 (en) Development system and support equipment
JP2013041546A (en) Debug support program, debug support method and debug support system
JP2009098963A (en) Automatic module generation system
JP2007004516A (en) Program debugging method of built-in system
JP2012093979A (en) Osgi bundle and deployment package automatic creation system, automatic creation method and automatic creation tool
WO2022190417A1 (en) Development support device, development support method, and development support program
WO2015136607A1 (en) Software development assistance system, software development assistance method, and software development assistance program
CN117348886A (en) Method for realizing downward compatibility of native compilation on OpenEuler system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19811401

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19811401

Country of ref document: EP

Kind code of ref document: A1