JP2013250810A - Programmable controller, support device of the same, program and program transfer method - Google Patents

Programmable controller, support device of the same, program and program transfer method Download PDF

Info

Publication number
JP2013250810A
JP2013250810A JP2012125430A JP2012125430A JP2013250810A JP 2013250810 A JP2013250810 A JP 2013250810A JP 2012125430 A JP2012125430 A JP 2012125430A JP 2012125430 A JP2012125430 A JP 2012125430A JP 2013250810 A JP2013250810 A JP 2013250810A
Authority
JP
Japan
Prior art keywords
facility
program
programmable controller
control program
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012125430A
Other languages
Japanese (ja)
Other versions
JP5978775B2 (en
Inventor
Daisuke Yoshihara
大助 吉原
Yoshio Kitamura
純郎 北村
Koji Fukushima
幸治 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2012125430A priority Critical patent/JP5978775B2/en
Publication of JP2013250810A publication Critical patent/JP2013250810A/en
Application granted granted Critical
Publication of JP5978775B2 publication Critical patent/JP5978775B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To distinguish and download all updated programs related to a predetermined facility, in a support device.SOLUTION: A compiler function part 12 compiles each source code 15 of each control program corresponding to each device of each facility, and generates a machine language object 16 for each. At that time, there is also generated a used variable list 17 or the like indicating correspondence between each control program and each I/O module. A system configuration definition function part 13 registers module information 19 indicating correspondence between each facility and each I/O module. At the time of transfer processing for which an arbitrary facility is specified, the used variable list 17 and the module information 19 are referred to, and thereby only a machine language object 16 related to the specified facility is transferred to a PLC 30.

Description

本発明は、プログラマブルコントローラと支援装置を有するプログラマブルコントローラシステムに関する。   The present invention relates to a programmable controller system having a programmable controller and a support device.

各I/Oモジュール等を介して各種制御対象機器(各設備の各機器など)を制御するプログラマブルコントローラ(PLC)は、自己が保持する制御プログラムを実行することで当該制御を行う。   A programmable controller (PLC) that controls various devices to be controlled (each device of each facility) via each I / O module or the like performs the control by executing a control program held by itself.

この制御プログラムは、PLCに接続された支援装置上で作成されて、PLCにダウンロードされる。これは、既にPLC上で保持されて実行されている制御プログラムの更新版(バージョンアップ版など)が作成されて、PLCにダウンロードされる場合が多い。これに対してPLC側では、制御プログラムを旧版から新版(バージョンアップ版等)に切り換えて、引き続き上記各種制御対象機器を制御することになる。制御対象機器を停止できない場合も少なくない為、この様なプログラムのダウンロードと切り換えは、システム運用中(PLC稼働中)に行われることも少なくない。   This control program is created on the support device connected to the PLC and downloaded to the PLC. In many cases, an updated version (such as an upgraded version) of a control program that is already held and executed on the PLC is created and downloaded to the PLC. On the other hand, on the PLC side, the control program is switched from the old version to the new version (upgraded version, etc.), and the various devices to be controlled are continuously controlled. Since there are many cases where the control target device cannot be stopped, such program download and switching are often performed during system operation (PLC operation).

ここで、例えば、特許文献1に記載の従来技術が知られている。
特許文献1は、プログラム実行中に、そのプログラムをオンラインで変更可能とするプログラマブルコントローラに関する発明である。
Here, for example, the prior art described in Patent Document 1 is known.
Patent Document 1 is an invention related to a programmable controller that enables online change of a program during program execution.

特許文献1の発明は、実行用と変更用のプログラムメモリとパルスメモリをそれぞれ装備したプログラマブルコントローラにおいて、実行中に変化したパルスメモリの内容を保証し、プログラムの変更量が多くてもプログラム制御のリアルタイム制御性を維持し、プログラムの変更内容と実行内容の同一性を維持し、上記実行用と変更用の切替を高速に行うことができるようにする発明である。   The invention of Patent Document 1 guarantees the contents of a pulse memory that has changed during execution in a programmable controller equipped with a program memory and a pulse memory for execution and change, respectively. It is an invention that maintains real-time controllability, maintains the sameness between the contents of program changes and the contents of execution, and can perform switching between execution and change at high speed.

特開平9−120306号公報JP-A-9-120306

PLCが稼働中に、ユーザが支援装置を利用して、PLC上で動作している制御プログラムを安全に変更する方法は、上記の通り既知の技術である。
ところで、上記制御プログラムの更新は、様々な理由で行われるものであるが、例えば、上記設備の更新(リプレース;改造など)に伴って行われる場合がある。システムの規模が大きい場合、当該システムの複数の設備の更新(リプレース)を行う場合が多いが、更新(リプレース)対象の設備全てを一度に更新するのではなく、順次、各設備のリプレースを実施する。システム規模が大きい場合のリプレース作業は、システムの設備全てを一度にリプレースするのではなく、部分リプレースを繰り返して順番にリプレースしていく必要がある。
A method in which the user safely changes the control program operating on the PLC using the support device while the PLC is operating is a known technique as described above.
Incidentally, the control program is updated for various reasons. For example, the control program may be updated along with the update (replacement, remodeling, etc.) of the equipment. When the scale of the system is large, multiple facilities in the system are often updated (replaced), but instead of updating all the devices to be updated (replaced at once), each facility is replaced sequentially. To do. When the system scale is large, the replacement work does not need to replace all the system equipment at once, but it is necessary to repeat the partial replacement in order.

尚、上記“設備”とは、明確な定義はないが、例えばシステムを構成する多数の機器を機能単位で分類したものであり、1以上(通常は複数)の機器から成るものである。機能単位とは、例えばベルトコンベアを駆動する機器(モータ等)と、このベルトコンベア上を搬送される加工対象品に穴を空ける機器(ドリル等)とから成るもののように、相互に関連して何らかの機能(ここでは搬送物に順次穴を空ける)を実現するものである。それ故に、リプレース作業も“設備”単位で行われる場合が多い。   The “equipment” is not clearly defined, but, for example, a large number of devices constituting the system are classified by functional unit, and is composed of one or more (usually a plurality of) devices. Functional units are related to each other, for example, a device that drives a belt conveyor (such as a motor) and a device that drills holes in a workpiece to be processed that is conveyed on the belt conveyor (such as a drill). It realizes some function (here, holes are made sequentially in the conveyed product). Therefore, the replacement work is often performed in units of “equipment”.

一方、PLCの制御プログラムの開発は、システム全体の最終形態(リプレースすべき設備は全てリプレースした状態)で設計・製作・試験を実施するため、変更する設備だけを対象に制御プログラムの開発を実施することは、困難であり、ユーザにとって大きな負担になる。   On the other hand, the PLC control program is developed, designed, manufactured, and tested in the final form of the entire system (all the equipment to be replaced is replaced), so the control program is developed only for the equipment to be changed. It is difficult to do and is a heavy burden on the user.

この為、ユーザは上記支援装置において、更新(リプレース;改造等)対象の設備全ての制御プログラムの更新版の作成をまとめて行う場合が多い。この為、任意の設備のリプレース作業が完了する毎に、リプレースした設備を制御する1または複数の制御プログラム(その更新版)だけをPLCにダウンロードして変更させる必要がある。未だリプレースされていない設備に対応する制御プログラム(その更新版)までもPLCにダウンロードして変更させてしまうと、当然、システムの動作に悪影響を及ぼす可能性があるからである。   For this reason, in many cases, the user collectively creates an updated version of the control program for all the equipment to be updated (replaced, remodeled, etc.) in the support device. For this reason, each time a replacement operation for an arbitrary facility is completed, only one or a plurality of control programs (updated versions) for controlling the replaced facility need to be downloaded to the PLC and changed. This is because, even if a control program (updated version) corresponding to equipment that has not yet been replaced is downloaded to the PLC and changed, the operation of the system may naturally be adversely affected.

これに対して、例えば支援装置側で保持・管理する全ての制御プログラム一覧を表示する等して、ユーザに所望の1以上の制御プログラム(ここでは特に、リプレースした設備に対応する制御プログラム(その更新版))を選択・指定させることで、ユーザが指定した制御プログラムのみをPLCに転送する方法が考えられる。   On the other hand, for example, by displaying a list of all control programs held and managed on the support device side, the user can select one or more desired control programs (in this case, a control program corresponding to the replaced equipment (particularly, A method of transferring only the control program specified by the user to the PLC by selecting and specifying the update version)) is conceivable.

しかしながら、通常、各設備毎にその設備に係わる制御プログラムは複数(場合によっては多数)存在するものであり、ユーザが正しく指定を行うことは困難である。つまり、ユーザは、更新対象の設備に対応する制御プログラムを全て選択・指定すると共に、それ以外の制御プログラムを誤って指定することがないようにする必要があるが、これは手間が掛かることになり、更にミスが生じる場合もある。つまり、指定すべき制御プログラムを指定しなかったり(指定漏れが生じる)、その逆に、未だリプレースされていない設備に対応する制御プログラム(更新版)を誤って選択・指定して、PLC側でプログラム更新させてしまう等のミスが生じる可能性があり、システムの動作に悪影響を与えることになる。   However, normally, there are a plurality of control programs (a number in some cases) for each facility, and it is difficult for the user to specify correctly. In other words, the user needs to select and specify all the control programs corresponding to the equipment to be updated, and not to specify other control programs by mistake, but this takes time and effort. And further mistakes may occur. In other words, the control program to be specified is not specified (specified omission occurs), and conversely, the control program (updated version) corresponding to the equipment that has not been replaced is selected and specified by mistake, and the PLC side There is a possibility that a mistake such as updating the program may occur, which adversely affects the operation of the system.

本発明の課題は、複数の設備を制御対象とするプログラマブルコントローラシステムに係わり、複数の設備を順次変更するがそれらの制御プログラム変更は支援装置でまとめて行われる場合において、支援装置において任意の設備に係わる変更版プログラムを全て判別してダウンロードすることができるプログラマブルコントローラシステム、その支援装置等を提供することである。   An object of the present invention relates to a programmable controller system that controls a plurality of facilities, and when a plurality of facilities are sequentially changed, but those control program changes are collectively performed by the support device, any facility in the support device A programmable controller system capable of discriminating and downloading all the modified versions of the program, a support device thereof, and the like are provided.

本発明のプログラマブルコントローラシステムは、複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムであって、前記支援装置は、前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶するシステム構成登録手段と、前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶するコンパイル手段と、任意の設備が指定されると、前記システム構成登録手段と前記記憶部とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送する転送管理手段とを有する。   The programmable controller system of the present invention has a system configuration composed of a plurality of facilities, and controls the various devices of each facility by executing the control programs with the plurality of facilities as control targets. A programmable controller system comprising a programmable controller that performs control via one or more I / O modules for each facility, and a support device connected to the programmable controller, wherein the support device includes the I / O modules. System configuration registration means for registering and storing the correspondence relationship between each facility and each facility, and generating a machine language object by compiling the source code of each control program, and each control program obtained at the time of the compilation A component that stores the correspondence with the I / O module in the storage unit. If any facility is specified, the system configuration registration unit and the storage unit are referred to determine all the control programs corresponding to the specified facility, and the determined control is performed. Transfer management means for transferring the entire program to the programmable controller.

本発明のプログラマブルコントローラシステム、その支援装置等によれば、複数の設備を制御対象とするプログラマブルコントローラシステムに係わり、複数の設備を順次に変更するがそれらのプログラム変更は支援装置でまとめて行われる場合において、支援装置において任意の設備に係わる変更版プログラムを全て判別してダウンロードすることができる。   According to the programmable controller system of the present invention, its support device, etc., it is related to the programmable controller system that controls a plurality of facilities, and the plurality of facilities are changed sequentially, but those program changes are collectively performed by the support device. In some cases, the support apparatus can discriminate and download all the modified programs related to arbitrary equipment.

本例のプログラマブルコントローラシステムの全体構成図である。It is a whole block diagram of the programmable controller system of this example. PLCによる各設備の制御に係わる構成を示す図である。It is a figure which shows the structure regarding control of each installation by PLC. 使用変数一覧のデータ構成例である。It is an example of a data structure of a used variable list. (a)は設定画面、(b)はモジュール情報の具体例である。(A) is a setting screen, (b) is a specific example of module information. (a)、(b)は、各プログラム一覧のデータ構成例である。(A), (b) is a data structural example of each program list. 転送選択画面例である。It is an example of a transfer selection screen. プログラムダウンロードに係わる前処理のフローチャート図である。It is a flowchart figure of the pre-process regarding a program download. プログラムダウンロード処理のフローチャート図である。It is a flowchart figure of a program download process.

以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のプログラマブルコントローラシステムの全体構成図である。
本例のプログラマブルコントローラシステムは、PLC(プログラマブルコントローラ)30と、その支援装置(ローダ)10とが、(不図示の通信線等を介して)相互に通信可能な状態で接続されて成る。また、図1には示していないが、図2に示すように、更に、PLC30は、各I/Oモジュールを介して、各設備の各種制御対象機器を制御可能となっている。I/Oモジュールは、例えばサーボ、インバータ等であるが、この例に限らない。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is an overall configuration diagram of the programmable controller system of this example.
The programmable controller system of this example includes a PLC (programmable controller) 30 and a support device (loader) 10 that are connected in a communicable state (via a communication line (not shown)). Although not shown in FIG. 1, as shown in FIG. 2, the PLC 30 can further control various devices to be controlled in each facility via each I / O module. The I / O module is, for example, a servo or an inverter, but is not limited to this example.

PLC30は、例えば不図示の各種制御対象(各設備の各種機器)を制御するものであり、その為のプログラム(制御プログラム;その機械語オブジェクト33)を保持している。この制御プログラムは、任意のときに更新(バージョンアップなど)する必要が生じる場合がある。   The PLC 30 controls, for example, various control objects (not shown) (equipment of each facility), and holds a program (control program; machine language object 33) therefor. This control program may need to be updated (such as version upgrade) at any time.

支援装置(ローダ)10は、上記制御プログラム(そのソースコード15)をユーザが任意に作成/更新/変更できるように支援する機能等を有する。支援装置(ローダ)10は、例えばパソコン等によって実現されるものであり、不図示のCPU、記憶装置や、図示のディスプレイ20、入力装置21(キーボード、マウス、タッチパネル等)を備えている。   The support device (loader) 10 has a function of supporting the user so that the user can arbitrarily create / update / change the control program (its source code 15). The support device (loader) 10 is realized by a personal computer, for example, and includes a CPU and storage device (not shown), a display 20 and an input device 21 (keyboard, mouse, touch panel, etc.) shown in the figure.

支援装置(ローダ)10は、ユーザインターフェース機能部11、コンパイラ機能部12、システム構成定義機能部13、通信機能部14等の各種機能部を有する。そして、これら各種機能部によって、図示のソースコード15、機械語オブジェクト16、使用変数一覧17、プログラム一覧(支援)18、モジュール情報19などが作成・生成・保持されることになる。   The support device (loader) 10 includes various function units such as a user interface function unit 11, a compiler function unit 12, a system configuration definition function unit 13, and a communication function unit 14. These various functional units create, generate, and hold the illustrated source code 15, machine language object 16, used variable list 17, program list (support) 18, module information 19, and the like.

上記不図示の記憶装置には、予め所定のアプリケーションプログラム等が記憶されており、上記不図示のCPUがこのアプリケーションプログラムを実行することにより、上記各種機能部11,12,13、14等の処理機能が実現される。   A predetermined application program or the like is stored in advance in the storage device (not shown), and the processing of the various functional units 11, 12, 13, 14 and the like is executed by the CPU (not shown) executing the application program. Function is realized.

ユーザインターフェース機能部11は、ユーザによる任意の制御プログラムのソースコード15の作成作業を支援する機能(この機能自体は既存の一般的な機能)を有する。ユーザインターフェース機能部11は、例えばディスプレイ20上に所定のプログラム作成支援画面を表示する。ユーザは、上記入力装置21を操作して、このプログラム作成支援画面上で所望のソースコード15を記述する。作成されたソースコード15は、基本的に、後述する機械語オブジェクト16の生成・転送後も、支援装置10側で保持される。   The user interface function unit 11 has a function for assisting the user in creating the source code 15 of an arbitrary control program (this function itself is an existing general function). The user interface function unit 11 displays a predetermined program creation support screen on the display 20, for example. The user operates the input device 21 to describe the desired source code 15 on the program creation support screen. The generated source code 15 is basically held on the support apparatus 10 side even after generation and transfer of a machine language object 16 described later.

ここで、制御プログラムは、例えば、上記各設備の各種機器毎に対応して作成されるものであり、また、上述した設備の更新(リプレース)等に応じて変更(バージョンアップ等)されるものである。バージョンアップ等の際には、上記保持されているソースコード15に対して、ユーザインターフェース機能部11によりユーザが編集等を行うことになる。また、任意の1つの設備がリプレースされる場合、それに伴って、通常は、この設備に係る全ての制御プログラムを変更(バージョンアップ等)することになる。   Here, for example, the control program is created corresponding to each device of each of the above-mentioned facilities, and is changed (version-up etc.) in accordance with the above-described facility update (replacement) or the like. It is. At the time of version upgrade or the like, the user interface function unit 11 edits the stored source code 15 by the user. When any one piece of equipment is replaced, normally, all control programs related to this equipment are changed (upgrading, etc.).

尚、上述したことから、ソースコード15や機械語オブジェクト16、33は、逐一述べないが、上記各設備の各種機器毎に対応して複数存在するものであり、よって、例えばソースコード群や機械語オブジェクト群などと見做してよいものとする。但し、これに限らず、本説明においてソースコード15や機械語オブジェクト16、33が、上記ソースコード群や機械語オブジェクト群のうちの任意の1つのソースコードや機械語オブジェクトを意味する場合もあるものとする。   From the above, the source code 15 and the machine language objects 16 and 33 are not described one by one. However, there are a plurality of source codes 15 and machine language objects 16 and 33 corresponding to various devices of each facility. It may be regarded as a word object group. However, the present invention is not limited to this, and in this description, the source code 15 and machine language objects 16 and 33 may mean any one source code or machine language object in the source code group or machine language object group. Shall.

コンパイラ機能部12は、上記ユーザインターフェース機能部11によってユーザにより作成されたソースコード15を、ターゲット(PLC30)上で動作する機械語オブジェクト16に変換する。更に、このコンパイル処理に伴って、使用変数一覧17、プログラム一覧18を生成するが、これについては後に説明する。   The compiler function unit 12 converts the source code 15 created by the user by the user interface function unit 11 into a machine language object 16 that operates on the target (PLC 30). Further, along with this compilation process, a used variable list 17 and a program list 18 are generated, which will be described later.

システム構成定義機能部13は、ユーザに任意のシステム構成情報を入力させて、これに基づいてモジュール情報19を生成する。これについても後に説明する。
通信機能部14は、生成された機械語オブジェクト16をターゲット(PLC30)にダウンロードする。但し、生成された機械語オブジェクト16全てをPLC30にダウンロードするのではなく、ユーザ指定に応じて決定された1以上の(基本的には複数の)機械語オブジェクト16のみをダウンロードする。
The system configuration definition function unit 13 allows the user to input arbitrary system configuration information, and generates module information 19 based on the system configuration information. This will also be described later.
The communication function unit 14 downloads the generated machine language object 16 to the target (PLC 30). However, not all of the generated machine language objects 16 are downloaded to the PLC 30, but only one or more (basically a plurality of) machine language objects 16 determined according to the user designation are downloaded.

PLC30は、制御プログラム(そのソースコード15)の更新/修正等に伴い更新/修正版等の機械語オブジェクト16が上記支援装置10からダウンロードされた場合には、それまで保持・実行していた旧プログラム(その時点で保持している機械語オブジェクト33)に代えて、受信した機械語オブジェクトを新たな機械語オブジェクト33として保持して実行開始する。このように、PLC30は、稼働中に制御プログラムを新版(バージョンアップ版)に切り換える。   When the machine language object 16 such as an update / correction version is downloaded from the support device 10 in accordance with the update / correction of the control program (its source code 15), the PLC 30 retains and executes the old one. Instead of the program (the machine language object 33 held at that time), the received machine language object is held as a new machine language object 33 and the execution is started. In this way, the PLC 30 switches the control program to the new version (upgraded version) during operation.

PLC(ターゲット)30は、プログラム実行管理機能部31、通信機能部32等の各種機能部を有する。
通信機能部32は、上記支援装置10の通信機能部14との通信処理を行って、例えば上記ダウンロードされる機械語オブジェクト16等をデータを受信すると、これを上記の通り新たな機械語オブジェクト33として不図示のメモリ等に格納する。通信機能部32は、更に、この受信データに基づいてプログラム一覧(PLC)34を生成格納する。これについては後に説明する。また、通信機能部32は、例えば支援装置10からの要求に応じて、機械語オブジェクト33やプログラム一覧(PLC)34を、支援装置10に送信する(アップロード)。
The PLC (target) 30 has various function units such as a program execution management function unit 31 and a communication function unit 32.
When the communication function unit 32 performs communication processing with the communication function unit 14 of the support apparatus 10 and receives, for example, the downloaded machine language object 16 or the like, the data is transmitted to the new machine language object 33 as described above. Is stored in a memory (not shown). The communication function unit 32 further generates and stores a program list (PLC) 34 based on the received data. This will be described later. The communication function unit 32 transmits, for example, a machine language object 33 and a program list (PLC) 34 to the support apparatus 10 (upload) in response to a request from the support apparatus 10.

プログラム実行管理機能部31は、上記保持している機械語オブジェクト33を実行することで、各種制御対象機器(後述する図2に示す各設備の各種機器)を制御する。
PLC30は、不図示のCPU、メモリ等を有しており、当該不図示のメモリ等には、予め所定のアプリケーションプログラム等が記憶されており、上記不図示のCPUがこのアプリケーションプログラムを実行することにより、上記各種機能部31、32等の処理機能が実現される。
The program execution management function unit 31 controls various devices to be controlled (various devices in each facility shown in FIG. 2 described later) by executing the machine language object 33 held above.
The PLC 30 includes a CPU, memory, and the like (not shown), and a predetermined application program and the like are stored in advance in the memory (not shown), and the CPU (not shown) executes the application program. Thus, the processing functions of the various functional units 31 and 32 are realized.

ここで、上記支援装置10のソースコード15と機械語オブジェクト16について、図2に示す一例を参照しながら説明する。
図2は、PLCによる各設備の制御に係わる構成を示す図である。
Here, the source code 15 and the machine language object 16 of the support apparatus 10 will be described with reference to an example shown in FIG.
FIG. 2 is a diagram illustrating a configuration relating to control of each facility by the PLC.

図1では不図示であった上記各種制御対象(各設備の各種機器)の一例が、図2に示す設備1、設備2の2つの設備である。これら設備1,設備2は、それぞれ1以上の機器(通常は複数の機器)より構成される。ここでは、仮に、設備1は図示の機器1−1、機器1−2から成り,設備2は図示の機器2−1、機器2−2から成るものとする。尚、図2は、システム全体を構成する設備全てを図示しているとは限らない(3つ以上の設備があってもよい)。   One example of the various control objects (various devices of each facility) not shown in FIG. 1 is two facilities, facility 1 and facility 2 shown in FIG. Each of these facilities 1 and 2 is composed of one or more devices (usually a plurality of devices). Here, it is assumed that the facility 1 includes the illustrated device 1-1 and the device 1-2, and the facility 2 includes the illustrated device 2-1 and the device 2-2. Note that FIG. 2 does not necessarily illustrate all the facilities constituting the entire system (there may be more than two facilities).

上述したように、PLC30は、各I/Oモジュールを介して各設備(例えば上記設備1,設備2)の各種機器を制御する。例えば、1つの機器に対して1つのI/Oモジュールが設けられている。そして、上記各制御プログラムは、それぞれが特定の(重複しない)1つの設備に係わる1以上のI/Oモジュールを介して、この設備の1以上の機器を制御するものと見做してもよい。   As described above, the PLC 30 controls various devices of each facility (for example, the facility 1 and the facility 2) via each I / O module. For example, one I / O module is provided for one device. Each of the above control programs may be regarded as controlling one or more devices of this facility via one or more I / O modules related to one specific (non-overlapping) facility. .

そして、上述したように、本説明における制御プログラム(そのソースコード15や、その機械語オブジェクト16、33)は、上記各制御プログラムより成る制御プログラム群と言えるものである。   As described above, the control program (the source code 15 and the machine language objects 16 and 33) in this description can be said to be a control program group including the control programs.

例えば図示の制御プログラムPG1、PG2、PG3、PG4の4つの制御プログラムがあるものとする。例えば制御プログラムPG1は設備2の機器2−1を制御するプログラムであり、制御プログラムPG2は設備2の機器2−2を制御するプログラムである。また、例えば制御プログラムPG3は設備1の機器1−1を制御するプログラムであり、制御プログラムPG4は設備1の機器1−2を制御するプログラムであるものとする。   For example, assume that there are four control programs PG1, PG2, PG3, and PG4 shown in the figure. For example, the control program PG1 is a program for controlling the device 2-1 of the facility 2, and the control program PG2 is a program for controlling the device 2-2 of the facility 2. Further, for example, it is assumed that the control program PG3 is a program for controlling the device 1-1 of the facility 1, and the control program PG4 is a program for controlling the device 1-2 of the facility 1.

ここで、既に述べた通り、ユーザ負担や作業効率等を考慮して、上記制御プログラムPG1、PG2、PG3、PG4の各ソースコード15を一度にまとめて作成(編集/更新)すると共に、一度にまとめてコンパイルして各機械語オブジェクト16を生成する場合が多い。また、ソースコード15の作成は、新規作成に限らず、むしろ何らかのバージョンアップ版の作成(例えば設備のリプレースに応じたもの)を行う場合が多い。   Here, as described above, the source code 15 of the control programs PG1, PG2, PG3, and PG4 is created (edited / updated) at a time in consideration of the user burden and work efficiency, and at the same time. In many cases, the machine language objects 16 are generated by compiling them together. In addition, the creation of the source code 15 is not limited to a new creation, but rather some kind of upgraded version (for example, in accordance with the replacement of equipment) is often performed.

ここで、設備1、設備2の変更を行う場合に、これに伴って上記制御プログラムPG1、PG2、PG3、PG4の各ソースコード15をまとめて変更する場合が考えられる。しかし、設備の変更(リプレース)は、複数の設備を一度にまとめて行うことは困難であり、通常は、順次、変更作業が行われる。   Here, when the facilities 1 and 2 are changed, the source codes 15 of the control programs PG1, PG2, PG3, and PG4 may be changed together. However, it is difficult to change (replace) equipment at the same time, and usually the change work is performed sequentially.

例えば、今週は設備1を変更し、来週は設備2を変更する等している。この場合、設備1の変更作業が完了したら、制御プログラムPG3、PG4の変更版をターゲット(PLC30)にダウンロードすることで、PLC30側で保持・実行する制御プログラムを変更させる必要がある一方で、制御プログラムPG1、PG2の変更版は未だターゲット(PLC30)にダウンロードしないようにする必要がある(尚、逐一述べないが、既に説明してある通り、ダウンロードするのは機械語オブジェクト16であり、ソースコード15はダウンロードしない)。   For example, the equipment 1 is changed this week, and the equipment 2 is changed next week. In this case, when the change work of the facility 1 is completed, it is necessary to change the control program held and executed on the PLC 30 side by downloading the modified version of the control programs PG3 and PG4 to the target (PLC30). It is necessary not to download the modified versions of the programs PG1 and PG2 to the target (PLC 30) (note that although not described one by one, as already explained, it is the machine language object 16 that is downloaded, and the source code 15 is not downloaded).

この様に、例えば任意の設備の変更(リプレース)が完了したら、上記制御プログラム群の中から当該設備に係わる1以上の(基本的には複数の)制御プログラムのみを、ターゲット(PLC30)にダウンロードする必要がある。しかしながら、この様な選択・判断をユーザが行うことは困難であるし、ミスが生じる可能性がある。ユーザにとって、例えば上記の例では、変更作業が完了した設備が設備1であることを認識することは容易であるが、設備1に係わる制御プログラムを全て認識していることは困難である(上記の例では2つであるが、実際には多数ある場合も少なくない)。   In this way, for example, when the change (replacement) of an arbitrary facility is completed, only one or more (basically a plurality of) control programs related to the facility are downloaded to the target (PLC 30) from the control program group. There is a need to. However, it is difficult for the user to make such selection / determination, and mistakes may occur. For example, in the above example, it is easy for the user to recognize that the equipment for which the change work has been completed is the equipment 1, but it is difficult to recognize all the control programs related to the equipment 1 (see above). In this example, there are two, but in reality there are many cases where there are many).

本手法は、この様な問題を解消するものであるが、これについては後に説明するものとし、ここでは本例のプログラマブルコントローラシステムについて図2を参照しながら更に詳細に説明するものとする。   This method solves such a problem, which will be described later. Here, the programmable controller system of this example will be described in more detail with reference to FIG.

既に述べたように、PLC30は、上記各種制御プログラムを実行することで、各種制御対象機器を制御する。これは、例えば、図2に示すように、各I/Oモジュールを介して各機器を制御するものである。PLC30は、例えばシリアル線等を介して、基本的には全てのI/Oモジュールと接続している。各I/Oモジュールは、それぞれ、基本的に、1台の機器と1対1で接続している。各I/Oモジュールには、予め所定の識別番号(局番という)が割り当てられている。   As already described, the PLC 30 controls various devices to be controlled by executing the various control programs. For example, as shown in FIG. 2, each device is controlled via each I / O module. The PLC 30 is basically connected to all I / O modules via, for example, a serial line. Each I / O module is basically connected to one device on a one-to-one basis. Each I / O module is assigned a predetermined identification number (referred to as a station number) in advance.

例えば、図示の各I/Oモジュールに記載の1,2,3、・・・7の各番号が、そのI/Oモジュールに割り当てられている局番を意味するものとする。これより、以下、この局番を用いて、例えばI/Oモジュール‘1’等と記すものとする。図示の例では、I/Oモジュール‘2’とI/Oモジュール‘3’が、設備2の各機器に対応するI/Oモジュールである。I/Oモジュール‘1’とI/Oモジュール‘4’が、設備1の各機器に対応するI/Oモジュールである。   For example, each number of 1, 2, 3,... 7 described in each illustrated I / O module means a station number assigned to that I / O module. Henceforth, using this station number, for example, I / O module "1" etc. shall be described. In the illustrated example, the I / O module ‘2’ and the I / O module ‘3’ are I / O modules corresponding to each device of the facility 2. The I / O module ‘1’ and the I / O module ‘4’ are I / O modules corresponding to each device of the facility 1.

また、上記各制御プログラムにおいては、通常、任意の機器に対する制御に関して、その機器に対応するI/Oモジュールの局番が記述されている。これは、制御プログラムのソースコード15には、各変数に係わる記述があるが、これは例えば変数名とアクセス情報等である。アクセス情報はメモリアドレス等であるが、対応するI/Oモジュールの局番が含まれる場合もある。尚、この例の場合、局番が記述されていない変数は、I/Oモジュールに割り付けられるものではなく、PLC30内部で使用する変数であることを意味している。   Further, in each control program described above, the station number of the I / O module corresponding to the device is usually described with respect to control of an arbitrary device. This is because the source code 15 of the control program has a description related to each variable, such as a variable name and access information. The access information is a memory address or the like, but may include a station number of the corresponding I / O module. In the case of this example, a variable for which the station number is not described means that the variable is not allocated to the I / O module but is used inside the PLC 30.

尚、I/Oモジュールに割り付けられる変数であっても、PLC30内部で使用する変数であっても、割付先メモリは、PLC30内のメモリである。このメモリには、各I/Oモジュールに割り当てられた各記憶領域がある。これより、たとえ変数に係わる記述に局番が無い場合であっても、アクセス先アドレスが記述されていれば、それが属する記憶領域を判別することで、対応するI/Oモジュールを判別できる。   Note that the allocation destination memory is a memory in the PLC 30, whether it is a variable allocated to the I / O module or a variable used in the PLC 30. This memory has each storage area assigned to each I / O module. Thus, even if there is no station number in the description related to the variable, if the access destination address is described, the corresponding I / O module can be determined by determining the storage area to which the address belongs.

以上、既存のプログラマブルコントローラシステムの構成や制御プログラムの一例について説明した。この例に応じた使用変数一覧17、モジュール情報19の具体例を、図3、図4(b)に示す。以下、これら具体例について説明する。   The configuration of the existing programmable controller system and an example of the control program have been described above. Specific examples of the used variable list 17 and the module information 19 corresponding to this example are shown in FIGS. 3 and 4B. Hereinafter, these specific examples will be described.

まず、既に述べたように、コンパイル機能部12は、各制御プログラム毎に、そのソースコード15を機械語オブジェクト16に変換する際に、プログラム中の各変数に係わる記述に基づいて、上記使用変数一覧17を生成する。これは、既存の一般的なコンパイル機能として、ソースコード15中に記述されている各変数のアクセス情報(メモリのアドレス割り当て等)を生成する機能があり、これに基づいて使用変数一覧17を生成する。   First, as already described, when the compile function unit 12 converts the source code 15 into the machine language object 16 for each control program, based on the description relating to each variable in the program, the use variable A list 17 is generated. This is a function for generating access information (memory address allocation, etc.) of each variable described in the source code 15 as an existing general compiling function, and a used variable list 17 is generated based on this function. To do.

図3に、使用変数一覧17のデータ構成例を示す。
図示の例では、使用変数一覧(テーブル)17は、プログラム名41、変数名42、局番43の各データ項目より成る。プログラム名41には、ソースコード15のプログラム名(ファイル名;ユーザが任意に決めている)が格納される。変数名42には、プログラム(ソースコード15)中に記述されている各変数の変数名が格納される。変数名は、ユーザが任意に決めて記述している。局番43は、上記プログラム名41のプログラム(ソースコード15)において、上記変数名42の変数に係わるアクセス情報に含まれる局番が格納される。このアクセス情報(割当てアドレスの指定等)は、ユーザが任意に決めて記述してもよいが、アドレス指定が無い変数もある。アドレス指定が無い変数に対しては、例えばコンパイラ機能部11が任意のアドレスを割り当てる。
FIG. 3 shows a data configuration example of the used variable list 17.
In the illustrated example, the used variable list (table) 17 includes data items of a program name 41, a variable name 42, and a station number 43. The program name 41 stores the program name of the source code 15 (file name; arbitrarily determined by the user). The variable name 42 stores the variable name of each variable described in the program (source code 15). The variable name is arbitrarily determined by the user. The station number 43 stores the station number included in the access information related to the variable with the variable name 42 in the program with the program name 41 (source code 15). This access information (designation of assigned address, etc.) may be arbitrarily determined and described by the user, but there are variables for which no address is designated. For example, the compiler function unit 11 assigns an arbitrary address to a variable for which no address is specified.

図3に示す使用変数一覧17の格納内容は、例えば下記のような制御プログラム(そのソースコード15)が処理対象であった場合の例を示している。尚、下記の制御プログラムのファイル名は、“プログラム1”であるものとし、その一部を示しているものとする。   The stored content of the used variable list 17 shown in FIG. 3 shows an example in the case where the following control program (its source code 15) is a processing target, for example. It is assumed that the file name of the following control program is “program 1” and a part thereof is shown.

ここで、ユーザは、通常、そのプログラムで使用する変数の宣言を記述する。
以下がIEC61131-3での変数宣言例である。
VAR
変数1 : INT;
変数2 AT %IW 2.0 : INT;
変数3 AT %QW 3.0 : INT;
END_VAR
変数名の後にある「AT」は、変数の割当てアドレス(アドレスは、%の後で指定する)をユーザが指定する場合に記述する。
Here, the user usually describes the declaration of variables used in the program.
The following is an example of variable declaration in IEC61131-3.
VAR
Variable 1: INT;
Variable 2 AT% IW 2.0: INT;
Variable 3 AT% QW 3.0: INT;
END_VAR
“AT” after the variable name is described when the user specifies the variable assignment address (the address is specified after “%”).

変数宣言のアドレスの指定は、I/Oモジュールの場合、以下の規則で定義する。
・入力モジュールの場合; %IW 局番.ワード位置
・出力モジュールの場合; %QW 局番.ワード位置
つまり、上記変数2は入力モジュール、変数3は出力モジュールに関する記述であることになる。そして、変数2に関して指定されているアドレス(局番.ワード位置)は‘2.0’、変数3に関して指定されているアドレス(局番.ワード位置)は‘3.0’であることになる。よって、変数2に対応する局番は‘2’、変数3に対応する局番は‘3’であると判別できることになる。尚、局番は、各I/Oモジュールを識別するための管理番号であり、I/Oモジュール毎に一意な番号である。
The specification of the address of the variable declaration is defined by the following rules in the case of an I / O module.
・ In the case of an input module;% IW station number.word position / in the case of an output module; Then, the address (station number. Word position) specified for the variable 2 is “2.0”, and the address (station number. Word position) specified for the variable 3 is “3.0”. Therefore, it can be determined that the station number corresponding to the variable 2 is “2” and the station number corresponding to the variable 3 is “3”. The station number is a management number for identifying each I / O module, and is a unique number for each I / O module.

コンパイラ機能部12は、上記規則に従って各変数名とそれに対応する局番を抽出することができる。勿論、上記のようにファイル名(プログラム名)も取得できる。そして、このようにして取得したプログラム名、変数名、局番を、使用変数一覧17のプログラム名41、変数名42、局番43に格納する。この処理を、各制御プログラムについてコンパイルする際に実行することになる。   The compiler function unit 12 can extract each variable name and the corresponding station number according to the above rules. Of course, the file name (program name) can also be acquired as described above. The program name, variable name, and station number acquired in this way are stored in the program name 41, variable name 42, and station number 43 of the used variable list 17. This process is executed when compiling each control program.

尚、変数1のように「AT」の記述が無い(よってアドレス指定もない)場合は、コンパイラ機能部12が自動で任意のアドレスを割り付ける。但し、この場合は上記の通りこの変数はI/Oモジュールに割り付けられるものではないので、局番は存在しない。よって、図3に示すように、変数名42が“変数1”の局番43には、データ(局番)は格納されない。   If there is no description of “AT” (and therefore there is no address designation) as in variable 1, the compiler function unit 12 automatically assigns an arbitrary address. However, in this case, since this variable is not assigned to the I / O module as described above, there is no station number. Therefore, as shown in FIG. 3, no data (station number) is stored in the station number 43 whose variable name 42 is “variable 1”.

この例のように、1つの制御プログラム(プログラム1)に関して、局番なし、局番=‘2’、局番=‘3’等の様々な変数があっても、I/Oモジュールへのアクセスに関しては同じ設備に係わるI/Oモジュールに限るものとなっている(図の例では設備2に係わるI/Oモジュールのみ)。   As in this example, for one control program (program 1), even if there are various variables such as no station number, station number = '2', station number = '3', etc., the access to the I / O module is the same. It is limited to the I / O module related to the facility (in the example of the figure, only the I / O module related to the facility 2).

システム構成定義機能部13は、ユーザにシステム構成(たとえば、プログラマブルコントローラシステムで使用するI/Oモジュールの構成等)を入力させるための機能部である。ユーザは、実際のシステム構成に準じて入力するものであり、図4には図2に示すシステム構成に従った入力例を示している。   The system configuration definition function unit 13 is a function unit for allowing a user to input a system configuration (for example, a configuration of an I / O module used in a programmable controller system). The user inputs according to the actual system configuration, and FIG. 4 shows an input example according to the system configuration shown in FIG.

システム構成定義機能部13は、ディスプレイ20に、例えば図4(a)に示すようなシステム構成定義画面50を表示する。ユーザは、この画面50上で、システム構成に関する所望の定義を入力することができる。   The system configuration definition function unit 13 displays a system configuration definition screen 50 as shown in FIG. The user can input a desired definition regarding the system configuration on this screen 50.

ユーザは、システムを構築する場合、どのようなモジュール構成を組むのか考えたうえで、システム構成定義画面50を使用してモジュールの構成定義を実施する。特にI/Oモジュールを定義する時、そのI/Oモジュールがどの設備に関係するのか設定する。これより、例えば図示のように、各I/Oモジュールに関しては、そのI/Oモジュールの識別情報(名称や局番など)、そのI/Oモジュールが対応する設備(接続している機器が設けられている設備)の識別情報(設備名など)等が定義される。   When the user constructs a system, the user uses the system configuration definition screen 50 to define the module configuration after considering what kind of module configuration is to be assembled. In particular, when defining an I / O module, it is set which equipment the I / O module is related to. Thus, for example, as shown in the figure, for each I / O module, the identification information (name, station number, etc.) of the I / O module and the equipment (connected equipment) corresponding to the I / O module are provided. Identification information (equipment name etc.) etc. is defined.

この様な定義内容に基づいて、モジュール情報19が生成・記憶される。
尚、図4(a)に示す定義内容は、図2に示すシステム構成に従っている。これより図示の通り、I/Oモジュール‘1’及びI/Oモジュール‘4’は設備1に関連するI/Oモジュールであり、I/Oモジュール‘2’及びI/Oモジュール‘3’は設備2に関連するI/Oモジュールであることが定義されている。また、図2には示されていないが、図4(a)に示す定義内容によれば、I/Oモジュール‘5’‘6’‘7’は、不図示の設備3に関連するI/Oモジュールであることになる。
Based on such definition contents, module information 19 is generated and stored.
The definition content shown in FIG. 4A conforms to the system configuration shown in FIG. As shown in the figure, the I / O module '1' and the I / O module '4' are I / O modules related to the facility 1, and the I / O module '2' and the I / O module '3' are It is defined to be an I / O module related to the facility 2. Although not shown in FIG. 2, according to the definition shown in FIG. 4A, the I / O modules '5''6''7' It is an O module.

図4(b)に、モジュール情報19の具体例を示す。
図示のモジュール情報19では、局番61に対応付けて設備名62が格納されている。但し、この例に限らず、更に上記モジュール名が格納されてもよいし、局番61の代わりにモジュール名が格納されてもよい。各I/Oモジュールの識別情報は、局番とモジュール名のどちらか一方があればよいからである。また、I/Oモジュールの識別情報は、局番やモジュール名に限らず、他の何らかの情報としてもよい。但し、本例では局番を用いるものとして説明する。
FIG. 4B shows a specific example of the module information 19.
In the illustrated module information 19, an equipment name 62 is stored in association with the station number 61. However, the present invention is not limited to this example, and the module name may be further stored, or the module name may be stored instead of the station number 61. This is because the identification information of each I / O module only needs to have either a station number or a module name. Further, the identification information of the I / O module is not limited to the station number and the module name, and may be some other information. However, in this example, it is assumed that the station number is used.

尚、図示の局番61と設備名62の各データ内容は、図4(a)に示す定義に従っている。上記の通り、これは図2に示すシステム構成に応じた定義であることになる。
また、コンパイラ機能部12は、上記コンパイル処理に伴って、上記使用変数一覧17だけでなく更にプログラム一覧(支援)18も生成する。つまり、ソースプログラムをコンパイルした場合、それによって生成した機械語オブジェクトと元のソースプログラムとを関連付けるための情報を生成する。
The data contents of the station number 61 and the equipment name 62 shown in FIG. 4 conform to the definition shown in FIG. As described above, this is a definition corresponding to the system configuration shown in FIG.
The compiler function unit 12 generates not only the used variable list 17 but also a program list (support) 18 along with the compilation process. That is, when the source program is compiled, information for associating the machine language object generated thereby with the original source program is generated.

図5(a)に、プログラム一覧(支援)18の具体例を示す。
図示の例では、プログラム一覧(支援)18は、管理番号71、プログラム名72、機械語オブジェクトファイル名73、機械語オブジェクトサイズ74のデータ項目から成る。
FIG. 5A shows a specific example of the program list (support) 18.
In the illustrated example, the program list (support) 18 includes data items of a management number 71, a program name 72, a machine language object file name 73, and a machine language object size 74.

管理番号71は、支援装置10が各制御プログラムを識別するための一意の番号である。プログラム名72はソースコード15のプログラム名(ファイル名)であり、このプログラム名72のソースコード15をコンパイルして生成した機械語オブジェクト16のファイル名が、機械語オブジェクトファイル名73に格納される。更に、この機械語オブジェクト16のデータサイズが、機械語オブジェクトサイズ74に格納される。尚、各機械語オブジェクト16のファイル名は、例えばコンパイラ機能部12が任意に決定している。   The management number 71 is a unique number for the support apparatus 10 to identify each control program. The program name 72 is the program name (file name) of the source code 15, and the file name of the machine language object 16 generated by compiling the source code 15 of the program name 72 is stored in the machine language object file name 73. . Further, the data size of the machine language object 16 is stored in the machine language object size 74. For example, the compiler function unit 12 arbitrarily determines the file name of each machine language object 16.

支援装置10(例えばその通信機能部14など)は、上記コンパイル処理によって生成した機械語オブジェクト16をPLC30にダウンロードする際に、上記プログラム一覧(支援)18を参照するなどして、その管理番号と機械語オブジェクト情報も一緒に送信する。機械語オブジェクト情報とは、例えば上記機械語オブジェクトサイズ74等であるが、この例に限らない。   When the support device 10 (for example, the communication function unit 14) downloads the machine language object 16 generated by the compile processing to the PLC 30, the support device 10 refers to the program list (support) 18 and the management number and Machine language object information is also transmitted. The machine language object information is, for example, the machine language object size 74 or the like, but is not limited to this example.

PLC30は、これらのダウンロード情報を受信すると、これに基づいてプログラム一覧(PLC)34を生成する。
図5(b)に、プログラム一覧(PLC)34の具体例を示す。
When receiving the download information, the PLC 30 generates a program list (PLC) 34 based on the download information.
FIG. 5B shows a specific example of the program list (PLC) 34.

図示の例のプログラム一覧(PLC)34は、管理番号81、機械語オブジェクト格納先アドレス82、機械語オブジェクトサイズ83のデータ項目より成る。
管理番号81と機械語オブジェクトサイズ83には、それぞれ、上記支援装置10から機械語オブジェクト16と共にダウンロードされた上記管理番号と機械語オブジェクト情報が、格納される。
The program list (PLC) 34 in the illustrated example includes data items of a management number 81, a machine language object storage destination address 82, and a machine language object size 83.
In the management number 81 and the machine language object size 83, the management number and machine language object information downloaded together with the machine language object 16 from the support device 10 are stored.

また、PLC30は、上記支援装置10からダウンロードされた機械語オブジェクト16を、任意の記憶領域に格納する(新たな機械語オブジェクト33として保持する)。この格納領域の先頭アドレスが、上記機械語オブジェクト格納先アドレス82に登録される。   Further, the PLC 30 stores the machine language object 16 downloaded from the support device 10 in an arbitrary storage area (holds it as a new machine language object 33). The start address of this storage area is registered in the machine language object storage destination address 82.

後に、支援装置10から所定の機械語オブジェクト33(管理番号により指定)のアップロード指示があった場合、指定された管理番号を用いて上記プログラム一覧(PLC)34を参照すれば、該当する機械語オブジェクト33が記憶された記憶領域(先頭アドレスとサイズ)が分かるので、この記憶領域から機械語オブジェクト33を読み出して支援装置10に送信(アップロード)することができる。   Later, when there is an upload instruction for a predetermined machine language object 33 (specified by a management number) from the support apparatus 10, the corresponding machine language can be obtained by referring to the program list (PLC) 34 using the specified management number. Since the storage area (start address and size) in which the object 33 is stored is known, the machine language object 33 can be read from the storage area and transmitted (uploaded) to the support apparatus 10.

ここで、PLC30は、システムを構成する複数の設備(ここでは、設備1、設備2、設備3であるものとする)を制御するものであり、これら各設備を制御する為の各制御プログラム(各機械語オブジェクト33)を保持・実行しているものとする。PLC30のプログラム実行管理機能部31は、例えば予め設定されるスケジュール情報に従って、これら各機械語オブジェクト33を実行する。また、これら各機械語オブジェクト33に応じたプログラム一覧(PLC)34が格納されている。   Here, the PLC 30 controls a plurality of facilities constituting the system (here, it is assumed that the facility 1, the facility 2, and the facility 3), and each control program for controlling these facilities ( Assume that each machine language object 33) is held and executed. The program execution management function unit 31 of the PLC 30 executes these machine language objects 33 in accordance with, for example, preset schedule information. In addition, a program list (PLC) 34 corresponding to each machine language object 33 is stored.

一方、支援装置10側には、上記各ソースコード15や、これらをコンパイルして生成した各機械語オブジェクト16が保持されている。ある時点において、ある制御プログラムの機械語オブジェクト33と機械語オブジェクト16とがもし一致するならば、PLC30はこの制御プログラムの最新版を保持・実行しているものと見做してよい。従って、この制御プログラムの機械語オブジェクト33は、PLC30にダウンロードする必要はないことになる。   On the other hand, on the support apparatus 10 side, the source codes 15 and machine language objects 16 generated by compiling them are held. At some point, if the machine language object 33 and the machine language object 16 of a certain control program match, the PLC 30 may be regarded as holding and executing the latest version of this control program. Therefore, it is not necessary to download the machine language object 33 of this control program to the PLC 30.

一方、ある時点において、ある制御プログラムの機械語オブジェクト33と機械語オブジェクト16とがもし不一致であるならば、基本的には、機械語オブジェクト16が最新版であり、機械語オブジェクト33は旧版であると見做してよい。従って、この場合には基本的には、この制御プログラムの機械語オブジェクト33は、PLC30にダウンロードして、PLC30で保持・実行する制御プログラムを最新版へと更新したほうがよいことになる。しかしながら、既に述べた通り、本手法で想定している状況では、未だ最新版へと更新しないほうがよい場合もある。つまり、未だ対応する設備の更新(リプレース)が実行されていない制御プログラム(最新版;更新版)は、未だPLC30にダウンロードしてはならないことになる。尚、バージョンアップが行われてもファイル名は変更されない。   On the other hand, if the machine language object 33 and the machine language object 16 of a certain control program do not match at a certain point in time, basically, the machine language object 16 is the latest version and the machine language object 33 is the old version. You can assume that there is. Therefore, in this case, basically, it is better to download the machine language object 33 of this control program to the PLC 30 and update the control program held and executed by the PLC 30 to the latest version. However, as already mentioned, there are cases where it is better not to update to the latest version in the situation assumed in this method. That is, the control program (latest version; updated version) for which the corresponding equipment update (replacement) has not yet been executed must not be downloaded to the PLC 30 yet. Note that the file name is not changed even if the version is upgraded.

上記ソースコード15のバージョンアップ等は、上述したように作業効率等を考えて、一度に全て行われる場合が多い。仮に、設備1と設備2の改造が行われるものとし、今週は設備2の改造、来週は設備1の改造が行われるとした場合でも、設備1と設備2の両方に係る制御プログラムのソースコード15のバージョンアップ作業が、まとめて行われることになる。そして、これら更新版のソースコード15に対してコンパイル機能部12によるコンパイル処理が実行されて、更新版の機械語オブジェクト16が生成されると共に、使用変数一覧17、プログラム一覧(支援)18も新たに生成されることになる。   In many cases, the source code 15 is upgraded all at once in consideration of work efficiency and the like as described above. Even if equipment 1 and equipment 2 are remodeled and equipment 2 is remodeled this week and equipment 1 is remodeled next week, the source code of the control program for both equipment 1 and 2 Fifteen version upgrade operations are performed collectively. Then, the compile function unit 12 executes compile processing on the updated version of the source code 15 to generate an updated version of the machine language object 16, and a new used variable list 17 and program list (support) 18 are also added. Will be generated.

また、もし、上記設備の改造に伴ってシステム構成が変化した場合には、モジュール情報19の再定義を行う必要がある。例えば、設備1に対して局番=8のI/Oモジュールが追加された場合には、この情報がモジュール情報19に追加される必要がある。   Also, if the system configuration changes with the modification of the equipment, it is necessary to redefine the module information 19. For example, when an I / O module with a station number = 8 is added to the facility 1, this information needs to be added to the module information 19.

ユーザが、以上の作業を完了後、支援装置10を操作して、例えばプログラム−設備関連付け処理の実行を指示すると、図7の処理が実行される。更に、その後に、ユーザが制御プログラムのダウンロード実行を指示すると、図8の処理が実行される。以下、図7、図8の処理について説明する。   When the user completes the above work and operates the support apparatus 10 to instruct execution of the program-facility association process, for example, the process of FIG. 7 is executed. Further, after that, when the user instructs execution of downloading the control program, the processing of FIG. 8 is executed. Hereinafter, the processing of FIGS. 7 and 8 will be described.

尚、図7、図8の処理は、支援装置10の図1に示す何れかの機能部(例えばユーザインタフェース機能部11や通信機能部14等)が実行してもよいし、不図示の機能部が行っても良い。何れにしても、支援装置10において実行されることに変わりはなく、図7、図8の処理を実行する機能部を例えば「転送管理機能部」等と呼ぶものとする。   7 and 8 may be executed by any one of the function units (for example, the user interface function unit 11 and the communication function unit 14) shown in FIG. Department may do. In any case, there is no change in execution in the support apparatus 10, and the function unit that executes the processes in FIGS. 7 and 8 is called, for example, a “transfer management function unit”.

また、図7、図8の処理は、支援装置10の上記不図示のCPUが、上記不図示の記憶装置に記憶されているアプリケーションプログラムを実行することにより実現される。
まず、図7の処理について説明する。
7 and 8 is realized by the CPU (not shown) of the support apparatus 10 executing an application program stored in the storage device (not shown).
First, the process of FIG. 7 will be described.

図7は、プログラムダウンロードに係わる前処理のフローチャート図である。
上記の通り、図7の処理は、支援装置10が実行する。
支援装置10は、上記指示に応じて図7の処理を実行開始すると、まず、上記プログラム一覧(支援)18を読み込みと共に(ステップS1)、PLC30から上記プログラム一覧(PLC)34を取得し読み込む(ステップS2)。
FIG. 7 is a flowchart of pre-processing related to program download.
As described above, the support apparatus 10 executes the process of FIG.
When the support apparatus 10 starts executing the processing of FIG. 7 in response to the instruction, first, the program list (support) 18 is read (step S1), and the program list (PLC) 34 is acquired and read from the PLC 30 (step S1). Step S2).

そして、これらプログラム一覧18、34を参照して、順次、同じ制御プログラムに係わる(管理番号が同一の)機械語オブジェクト同士を比較して一致するか否かを判定し(ステップS3〜S5)、一致しない場合にはステップS7〜S10を実行する。これは、例えば、プログラム一覧(支援)18の各レコードを順次処理対象とするものである。   Then, referring to these program lists 18 and 34, machine language objects (same management numbers) related to the same control program are sequentially compared to determine whether or not they match (steps S3 to S5). If they do not match, steps S7 to S10 are executed. For example, each record in the program list (support) 18 is sequentially processed.

尚、ここでは、管理番号が同一であれば例えばバージョンが異なっていても「同じ制御プログラム」であるものとしている。換言すれば、支援装置10においては、任意の新規制御プログラムが作成された際に当該プログラムに任意の管理番号が割り当てられた後は、後に、当該プログラムをバージョンアップ等する変更が行われても、管理番号は変更されないし、新たな管理番号が割り当てられることもないように、管理・制御されている。   Here, if the management numbers are the same, for example, even if the versions are different, it is assumed that they are “the same control program”. In other words, in the support device 10, after an arbitrary management number is assigned to the program when an arbitrary new control program is created, the program may be later changed to upgrade the program. The management number is not changed and is managed and controlled so that a new management number is not assigned.

上記ステップS3〜S5の処理は、例えば下記のように行う。
すなわち、プログラム一覧(支援)18の任意の処理対象レコードを参照して、その機械語オブジェクトファイル名73を取得し、このファイル名の機械語オブジェクト16を読み込む(ステップS3)。次に、この機械語オブジェクト16に対応する機械語オブジェクト33をPLC30から読み込む。すなわち、上記処理対象レコードの管理番号71を用いて、プログラム一覧(PLC)34における該当レコードを認識して、この該当レコードの機械語オブジェクト格納先アドレス82と機械語オブジェクトサイズ83によって示されるPLC30の記憶領域から、データ(該当する機械語オブジェクト33)を読み出す(ステップS4)。
The processes in steps S3 to S5 are performed as follows, for example.
That is, the machine language object file name 73 is acquired by referring to an arbitrary processing target record in the program list (support) 18, and the machine language object 16 having this file name is read (step S3). Next, the machine language object 33 corresponding to the machine language object 16 is read from the PLC 30. That is, by using the management number 71 of the processing target record, the corresponding record in the program list (PLC) 34 is recognized, and the PLC 30 indicated by the machine language object storage destination address 82 and the machine language object size 83 of the corresponding record is stored. Data (corresponding machine language object 33) is read from the storage area (step S4).

上記処理は、例えばプログラム一覧(支援)18の先頭レコードが処理対象である場合には、まずステップS3でファイル名=“PG0001.dat”の機械語オブジェクト16が読み込まれる。更に、先頭レコードの管理番号71=‘1’であることから、プログラム一覧(PLC)34における該当レコードは、管理番号81=‘1’のレコードであり、そのアドレス82=‘10000’とサイズ83=‘100’とが取得されて、これらに基づいてPLC30のメモリの該当記憶領域のデータ(該当する機械語オブジェクト33)が読み込まれることになる。   For example, when the first record of the program list (support) 18 is a processing target, the machine language object 16 with the file name = “PG0001.dat” is first read in step S3. Further, since the management number 71 of the first record is “1”, the corresponding record in the program list (PLC) 34 is a record of the management number 81 = “1”, and its address 82 = “10000” and size 83. = '100' is acquired, and based on these, the data (corresponding machine language object 33) in the corresponding storage area of the memory of the PLC 30 is read.

そして、ステップS3で取得した機械語オブジェクト16とステップS4で取得した機械語オブジェクト33とを相互に比較して、両者が同一であるか否かを判定する(ステップS5)。そして、両者が同一である場合には(ステップS5,YES)、ステップS6へ移行し、全てのプログラム(全ての処理対象レコード)について処理実行済みとならない限りは(ステップS6,NO)ステップS3に戻り、次の処理対象レコードについて同様の処理を行う。   Then, the machine language object 16 acquired in step S3 and the machine language object 33 acquired in step S4 are compared with each other to determine whether or not they are the same (step S5). If both are the same (step S5, YES), the process proceeds to step S6, and unless all the programs (all processing target records) have been processed (NO in step S6), the process proceeds to step S3. Returning, the same processing is performed for the next processing target record.

一方、両者が同一ではない場合には(ステップS5,NO)、ステップS7〜S10の処理を実行する。この場合、基本的には、機械語オブジェクト16が最新版であり、機械語オブジェクト33は旧版であるはずであるので、最新版をPLC30にダウンロードすることで、PLC30側の機械語オブジェクト33を最新版に置き換える必要がある。但し、本手法では必ずしもその時点でダウンロードすべき状況とは限らないので、ダウンロード候補として登録するが、その際、ステップS7〜S10の処理によって、該当する設備名と対応付けて登録しておくことで、これを例えば後に図6に示すような転送選択画面90の表示や、後述する図8の処理に用いる。尚、後述する図8の処理は、転送選択画面90の表示、この画面90上でのユーザによる任意の選択、この選択に応じたダウンロード処理実行等である。   On the other hand, when both are not the same (step S5, NO), the process of step S7-S10 is performed. In this case, basically, the machine language object 16 should be the latest version and the machine language object 33 should be the old version. Therefore, by downloading the latest version to the PLC 30, the machine language object 33 on the PLC 30 side is updated to the latest version. It must be replaced with a version. However, since this method is not necessarily a situation that should be downloaded at that time, it is registered as a download candidate. At that time, it is registered in association with the corresponding equipment name by the processing of steps S7 to S10. Thus, this is used for, for example, the display of the transfer selection screen 90 as shown in FIG. 6 later and the processing of FIG. Note that the processing of FIG. 8 described later includes display of the transfer selection screen 90, arbitrary selection by the user on this screen 90, execution of download processing according to this selection, and the like.

以下、ステップS7〜S10の処理について説明する。
まず、上記処理対象レコードのプログラム名72を用いて、使用変数一覧17を検索して、そのプログラムの各変数に係る局番(そのプログラムがアクセスするI/Oモジュールの識別情報)を取得する(ステップS7)。例えば、プログラム名72が“プログラム1”である場合には、局番‘2’や局番‘3’が取得されることになる。但し、1つの局番が取得された時点でステップS7の処理を終了させてもよい。通常、1つのプログラムが複数の設備を制御するようなことはないので、複数の局番を取得してもそれは全て同じ設備に係わるI/Oモジュールの局番であるはずだからである。
Hereinafter, the process of steps S7 to S10 will be described.
First, the used variable list 17 is searched using the program name 72 of the processing target record, and the station number (identification information of the I / O module accessed by the program) related to each variable of the program is obtained (step) S7). For example, when the program name 72 is “program 1”, the station number “2” and the station number “3” are acquired. However, the process of step S7 may be terminated when one station number is acquired. Usually, one program does not control a plurality of facilities, and even if a plurality of station numbers are acquired, they should all be station numbers of I / O modules related to the same facility.

次に、ステップS7で得た局番を用いてモジュール情報19を検索して、該当する設備名を取得する(ステップS8)。上記の例では局番‘2’や局番‘3’が取得されるので、どちらも該当する設備名は“設備2”である。   Next, the module information 19 is searched using the station number obtained in step S7, and the corresponding equipment name is acquired (step S8). In the above example, the station number “2” and the station number “3” are acquired, so the corresponding facility name is “facility 2”.

そして、上記プログラム名(本例では“プログラム1”)とステップS8で得た設備名(本例では“設備2”)とを対応付けてメモリに記憶する(不図示のプログラム−設備テーブルに記憶するものとする)(ステップS9)。これは例えばダウンロード候補として記憶するものである。   The program name (in this example, “program 1”) and the equipment name obtained in step S8 (in this example, “equipment 2”) are stored in association with each other (stored in a program-equipment table (not shown)). (Step S9). This is stored, for example, as a download candidate.

その後、ステップS10の処理を行ってもよいが、行わずにそのままステップS6へ移行してもよい。尚、ステップS10では上記処理対象のプログラム(本例では“プログラム1”)の変数全てについて上記ステップS7〜S9の処理を実行しない限り、ステップS6に移行することなくステップS7に戻るようにする処理である。   Then, although the process of step S10 may be performed, you may transfer to step S6 as it is, without performing. In step S10, the process returns to step S7 without proceeding to step S6 unless the processes in steps S7 to S9 are executed for all variables of the program to be processed (in this example, “program 1”). It is.

上記図7の処理を実行完了した後に、ユーザが所定のプログラム転送指示を行うと、図6に示す転送選択画面90が表示される。
ここで、図6の転送選択画面90の例について説明しておく。
When the user gives a predetermined program transfer instruction after completing the processing of FIG. 7, a transfer selection screen 90 shown in FIG. 6 is displayed.
Here, an example of the transfer selection screen 90 in FIG. 6 will be described.

図示の転送選択画面90における一覧表示部91には、上記不図示のプログラム−設備テーブルの内容が表示される。つまり、ダウンロード候補のプログラム名と対応する設備名のペアが一覧表示される。更に、これら各ペア毎に図示の「転送有無」に示すチェックボックスが表示される。つまり、「転送有無」は、ユーザに所望のプログラム(または設備)を選択させる為のチェックボックス欄である。   The contents of the program-equipment table (not shown) are displayed in the list display section 91 on the transfer selection screen 90 shown in the figure. That is, a list of pairs of download candidate program names and corresponding equipment names is displayed. Further, for each of these pairs, a check box indicating “transfer presence / absence” is displayed. In other words, “transfer presence / absence” is a check box field for allowing the user to select a desired program (or equipment).

ユーザは、例えば任意の設備のリプレース作業等が完了する毎に、転送選択画面90を表示させる。本手法では、ユーザは、どの設備のリプレース作業が完了したのか程度は、把握しているものとする。これより、ユーザは、転送選択画面90を参照することで、その時点で転送すべきプログラムを容易に的確に認識できる。   For example, the user displays the transfer selection screen 90 every time a replacement operation of an arbitrary facility is completed. In this method, it is assumed that the user knows the degree of which equipment has been replaced. Thus, the user can easily and accurately recognize the program to be transferred at that time by referring to the transfer selection screen 90.

仮に、設備2のリプレース作業が完了した状況であったら、図6の例では、少なくとも“プログラム1”と“プログラム2”は今回ダウンロードすべきプログラムであり、その一方で少なくとも“プログラム3”は今回はダウンロードすべきではないプログラムであることが把握できる。   If the replacement work of the equipment 2 is completed, in the example of FIG. 6, at least “Program 1” and “Program 2” are programs to be downloaded at this time, while at least “Program 3” is at this time. Can be grasped as a program that should not be downloaded.

これより、ユーザが、“プログラム1”に対応するチェックボックスと“プログラム2”に対応するチェックボックスとをチェック状態とすることで(その後、「転送開始」ボタン92を押下することで)、“プログラム1”と“プログラム2”の機械語オブジェクト16を、PLC30にダウンロードさせることができる。   As a result, when the user sets the check box corresponding to “Program 1” and the check box corresponding to “Program 2” (by pressing the “Transfer Start” button 92 thereafter), “ The machine language objects 16 of “program 1” and “program 2” can be downloaded to the PLC 30.

この様に、ユーザは、プログラム更新対象の設備名を把握しておけば、この設備に対応するプログラム名等を把握していなくても問題なく、その時点で必要なプログラムのみをダウンロードさせることができ、誤ってその時点ではダウンロードすべきでないプログラムがダウンロードされてしまう事態を抑止できる。   In this way, if the user knows the name of the equipment to be updated, the user can download only the necessary program at that time without having to know the name of the program corresponding to this equipment. It is possible to prevent a situation where a program that should not be downloaded at that time is accidentally downloaded.

尚、上記図7の処理によって、ダウンロードの必要がないプログラム(例えば既に最新版がPLC30側で保持・実行されているもの)は、そもそも一覧表示部91に表示されないので、ダウンロードもされないことになる。この様に、無駄な選択作業や無駄なダウンロード処理を回避できる効果も得られる。   Note that a program that does not need to be downloaded by the processing of FIG. 7 (for example, a program whose latest version is already held and executed on the PLC 30 side) is not displayed in the list display portion 91 in the first place, and therefore is not downloaded. . In this way, an effect of avoiding useless selection work and useless download processing can be obtained.

しかしながら、その一方で、例えば、全体のプログラム数が多数であり、転送選択画面90の一覧表示部91に表示される上記ペアも多く、上記設備2に対応するプログラムの数も少なくない場合も有り得る。この様な場合、ユーザは、例えば表示をスクロールさせながら設備2に対応する全てのプログラムに対応するチェックボックスを順次チェック(指定)していく必要があり、作業負担が少なくなく、ミス(指定漏れ等)が生じる可能性もある。   However, on the other hand, for example, the number of programs as a whole is large, there are many pairs displayed on the list display unit 91 of the transfer selection screen 90, and the number of programs corresponding to the equipment 2 may be small. . In such a case, for example, the user needs to sequentially check (specify) the check boxes corresponding to all the programs corresponding to the equipment 2 while scrolling the display. Etc.) may occur.

これより、図8には、この様な手間を軽減できる処理を示す。
この例では、ユーザは、例えば設備2の例の場合、設備2に対応するプログラムのうちの1つだけを指定すれば済む(図6ではプログラム1についてのみ、対応するチェックボックスをチェック状態としている)。そして、この状態で「転送開始」ボタン92を押下すれば(図8のステップS11)、図8のステップS12以降の処理が実行される。
Thus, FIG. 8 shows a process that can reduce such time and effort.
In this example, for example, in the case of the facility 2, the user only has to specify one of the programs corresponding to the facility 2 (in FIG. 6, the corresponding check box is checked only for the program 1. ). If the “transfer start” button 92 is pressed in this state (step S11 in FIG. 8), the processing after step S12 in FIG. 8 is executed.

まず最初は、上記一覧表示部91に係わる上記不図示のプログラム−設備テーブルの先頭レコードを、デフォルトの処理対象とする(ステップS12)。そして、処理対象レコードのプログラムが転送対象か否かを判定する(ステップS13)。これは、処理対象レコードの上記チェックボックスにチェックが入っている場合には転送対象と判定し(ステップS13、YES)、ステップS14〜S16の処理を実行する。一方、チェックボックスにチェックが入っていない場合には転送対象ではないと判定し(ステップS13、NO)、ステップS17へ移行する。   First, the first record of the program-equipment table (not shown) related to the list display unit 91 is set as a default processing target (step S12). Then, it is determined whether or not the processing target record program is a transfer target (step S13). This is determined as a transfer target when the check box of the processing target record is checked (step S13, YES), and the processing of steps S14 to S16 is executed. On the other hand, when the check box is not checked, it is determined that it is not a transfer target (NO in step S13), and the process proceeds to step S17.

ステップS14では、上記プログラム−設備テーブルにおいて処理対象レコードの設備名を取得して、この設備名を用いて当該プログラム−設備テーブルを検索して、該当するレコードを全て抽出し、各該当レコードの各プログラム名も転送対象と判定する(ステップS15)。例えば図6の例では、先頭レコードにはチェックが入っているので、その設備名である「設備2」を取得することになる。そして、この場合、上記検索を行うことで、他のレコードの中で設備名が「設備2」であるレコードを全て抽出することになる。図6の例では、2番目のレコードが該当レコードとなり、そのプログラム名「プログラム2」の制御プログラムも転送対象と判定されることになる。   In step S14, the equipment name of the processing target record is acquired in the program-equipment table, the program-equipment table is searched using the equipment name, and all the corresponding records are extracted. The program name is also determined as a transfer target (step S15). For example, in the example of FIG. 6, since the first record is checked, the equipment name “equipment 2” is acquired. In this case, by performing the above search, all records having the equipment name “equipment 2” among the other records are extracted. In the example of FIG. 6, the second record becomes the corresponding record, and the control program with the program name “program 2” is also determined as the transfer target.

そして、転送対象と判定されたプログラム名の制御プログラム(その機械語オブジェクト16)全てを、PLC30へダウンロードする(ステップS16)。つまり、上記処理対象レコードの制御プログラム(例ではプログラム1)だけでなく、上記ステップS15の処理で転送対象となったプログラム全ても、PLC30へダウンロードする。換言すれば、ユーザが指定(チェック)した設備に係るプログラム全てを、PLC30へダウンロードする。そして、ステップS17へ移行する。   And all the control programs (the machine language object 16) of the program name determined to be transferred are downloaded to the PLC 30 (step S16). That is, not only the control program for the record to be processed (program 1 in the example) but also all the programs to be transferred in the process of step S15 are downloaded to the PLC 30. In other words, all the programs related to the equipment specified (checked) by the user are downloaded to the PLC 30. Then, the process proceeds to step S17.

尚、上記ステップS16のダウンロード処理の際には、上記転送対象と判定されたプログラム名を用いて上記プログラム一覧(支援)18を検索することで、該当する機械語オブジェクト16を判別することになる(該当レコードの機械語オブジェクトファイル名73を取得する)。   In the download process in step S16, the corresponding machine language object 16 is determined by searching the program list (support) 18 using the program name determined as the transfer target. (The machine language object file name 73 of the corresponding record is acquired).

この様にすることで、ユーザは、任意の設備に係る制御プログラム全てをPLC30へダウンロードして更新させたい場合に、これら全てについて逐一指定する必要はなく、そのうちの1つを指定(チェックボックスでチェック等)すれば済むようになる。よって、作業負担が軽減されると共に、ミス(指定漏れなど)が生じることになくなる。   In this way, when the user wants to download and update all the control programs related to an arbitrary facility to the PLC 30, it is not necessary to specify all of them one by one. Check etc.). Thus, the work load is reduced and no mistakes (designated omissions) occur.

ステップS17において上記不図示のプログラム−設備テーブルの次のレコードを新たな処理対象レコードとし、ステップS13に戻る。但し、次のレコードが無い場合、つまり全てのレコードについて処理完了した場合には(ステップS18,YES)本処理を終了する。   In step S17, the next record in the program-equipment table (not shown) is set as a new process target record, and the process returns to step S13. However, when there is no next record, that is, when the processing is completed for all the records (step S18, YES), this processing is terminated.

尚、ステップS17において、次のレコードの制御プログラムが既にダウンロード済みである場合には、更に次のレコードを新たな処理対象レコードとする。
尚、転送選択画面90は、図6に示す例に限らず、例えば設備名だけを一覧表示するようにしてもよい(勿論、チェックボックスは表示する)。そして、ユーザに、所望の設備名を選択指定させるようにしてもよい。この様にした場合でも、上記図8と略同様の処理が実行されて、同様の効果が得られることになる。つまり、何れにしても少なくとも設備名は表示されることになり、ユーザは設備名の表示を見ることで的確な判断を行えて的確な選択を行うことができ、以って的確なダウンロードが行われるようになる。
In step S17, if the control program for the next record has already been downloaded, the next record is set as a new processing target record.
Note that the transfer selection screen 90 is not limited to the example shown in FIG. 6, and for example, only the facility names may be displayed as a list (of course, a check box is displayed). Then, the user may be allowed to select and specify a desired facility name. Even in this case, processing similar to that shown in FIG. 8 is executed, and the same effect can be obtained. In other words, in any case, at least the equipment name will be displayed, and the user can make an accurate decision by looking at the display of the equipment name and make an accurate selection. Will come to be.

尚、上述した一例では、局番を用いて説明をしたが、これはI/Oモジュールの識別情報の一例を示すものであり、識別情報は局番に限るわけではない。例えば、支援装置10のコンパイラは、一般的に、各変数をPLC内のメモリに割り付ける。これは、PLC自体に係わる変数(例では変数1)だけでなく、I/Oモジュールに係わる変数(例では、変数2、変数3である)も、PLC内のメモリに割り付ける。これより、局番の代わりに割付けアドレスを用いて設備名と変数(プログラム名)との関連付けを実施しても、上述した一例と同様の処理が実現可能である。尚、この場合、割付けアドレスによって該当するI/Oモジュールが判別できるようにする登録情報が、別途必要かもしれない。   In the above example, the station number is used for explanation, but this shows an example of the identification information of the I / O module, and the identification information is not limited to the station number. For example, the compiler of the support apparatus 10 generally assigns each variable to a memory in the PLC. This assigns not only the variable related to the PLC itself (variable 1 in the example) but also the variables related to the I / O module (variable 2 and variable 3 in the example) to the memory in the PLC. As a result, even if the facility name is associated with the variable (program name) using the assigned address instead of the station number, the same processing as in the above example can be realized. In this case, registration information that allows the corresponding I / O module to be identified by the assigned address may be separately required.

ここで、PLCが保持・実行する各制御プログラムを、PLCを停止させることなく(運用中に)実行する処理(オンライン更新処理と呼ぶ)について、説明する。ここでは、本出願人による方式を示すものとする。これは、例えば特願2001−100991号などでも述べているものである。   Here, processing (referred to as online update processing) for executing each control program held and executed by the PLC without stopping the PLC (during operation) will be described. Here, the method by the present applicant is shown. This is also described in, for example, Japanese Patent Application No. 2001-100991.

尚、本手法は、オンライン更新処理が行われない場合であっても適用可能であるが、オンライン更新処理が行われる場合の方が、より顕著な効果を奏するものである。特に、その時点ではダウンロードすべきでない制御プログラムに係わる設備に関しては、もし誤ってこの様な制御プログラムがPLCにダウンロードされてしまうと、PLC側では当該設備の運用中に誤ったプログラムに更新されてしまうことになり、それによって当該設備に何らかの障害が発生する可能性が高いからである。   Note that this method can be applied even when the online update process is not performed, but the case where the online update process is performed has a more remarkable effect. In particular, regarding equipment related to a control program that should not be downloaded at that time, if such a control program is accidentally downloaded to the PLC, it will be updated to the wrong program during operation of the equipment. This is because there is a high possibility that some trouble will occur in the equipment.

PLC(プログラマブルコントローラ)の支援ツールは、ユーザが記述したプログラム(ソースコード;変数含む)をコンパイルして、PLCで動作する機械語オブジェクトを生成し、その際、PLC上の有限なメモリに(その任意のアドレスに)各変数を割り付ける(アドレス割当てを行う)。そして、機械語オブジェクトをPLCにダウンロードして記憶させる。これより、PLCは、このプログラムを実行することで各種処理を実行し、各変数の値のリード/ライト等の処理の際には、その変数に割り付けられたアドレス(割当位置)にアクセスすることになる。   The PLC (programmable controller) support tool compiles a program written by the user (source code; including variables) to generate a machine language object that operates on the PLC. Assign each variable (to any address) (perform address assignment). Then, the machine language object is downloaded and stored in the PLC. As a result, the PLC executes various processes by executing this program, and accesses the address (allocation position) assigned to the variable in the process of reading / writing the value of each variable. become.

尚、上記各変数へのアドレス割当ては、ソースコードにおいてアドレス指定されている場合には、この指定アドレスを用いる。アドレス指定が無い変数に関しては、例えばコンパイラが任意のアドレスを割り当てるが、この例に限らない。   In addition, when the address is assigned in the source code, the address assigned to each variable is used. For variables that are not addressed, for example, the compiler assigns an arbitrary address, but this is not restrictive.

PLCが稼動中にそのプログラムを変更する場合は(プログラムのバージョンアップ等)、既に割り付けた変数(既存の変数というものとする)のアドレスを変更することができない(変数の割当位置が変化すると、変更前と変更後とで変数の値がプログラムで正常に扱えないため、誤動作する。;変数のアドレスが変更されることにより、アドレスの変更前と変更後とでデータを引き継ぐことができない)。   If the program is changed while the PLC is running (program version upgrade, etc.), the address of a variable that has already been assigned (referred to as an existing variable) cannot be changed (if the variable assignment position changes, (Because the variable value cannot be handled normally by the program before and after the change, it malfunctions.) By changing the address of the variable, data cannot be transferred before and after the change of the address).

そのため、従来は、変数を追加しても既存の変数のアドレスが変更されないようにするために予備領域を設けて、追加した変数(追加変数というものとする)をこの予備領域に割り付けるようにしている。予備領域に追加変数を割り付けることにより、既に割り付けた変数(既存の変数)の割当位置を変更しないで、変数の追加が可能になる。予備領域は、プログラム構成単位(以下POUと示す)単位で持つため、予備領域のサイズは、大抵、数W(WORD)から数10Wである。   Therefore, conventionally, a spare area is provided to prevent the address of an existing variable from being changed even if a variable is added, and the added variable (referred to as an additional variable) is assigned to this spare area. Yes. By assigning the additional variable to the spare area, it is possible to add the variable without changing the assignment position of the already assigned variable (existing variable). Since the spare area has a program configuration unit (hereinafter referred to as POU), the size of the spare area is usually from several W (WORD) to several tens of W.

ここで、上記POUには、PG(プログラム)、FB(ファンクションブロック)、FCT(ファンクション)等の種類がある。基本的には、PGがメインプログラムでFBやFCTがサブプログラムと見做してよく、PGが、その処理実行中にFBやFCT等を呼び出す。また、FBが、その処理実行中に他のFBやFCTを呼び出す場合もある。   Here, the POU includes types such as PG (program), FB (function block), and FCT (function). Basically, PG may be regarded as a main program and FB or FCT as a subprogram, and PG calls FB, FCT, or the like during execution of the processing. In addition, the FB may call another FB or FCT during execution of the process.

上述したプログラム1、プログラム2等は、例えば上記PG(プログラム)であるが、この例に限るものではない。
ここで、上記PG(プログラム)、FB(ファンクションブロック)、FCT(ファンクション)等の各種POUのソースコードには、通常、任意の変数が記述されている。そして、各種POUを有するプログラムをコンパイルする際には、コンパイラ機能により各POUのインスタンス化(各POUの各変数をメモリに割り付ける)を実施する。そして、後にプログラムを修正(バージョンアップ)する等して、任意のPOUにおける変数に追加があった場合、この追加変数を上記予備領域に割り付けることになる。
The above-described program 1, program 2, and the like are, for example, the above PG (program), but are not limited to this example.
Here, in the source code of various POUs such as PG (program), FB (function block), and FCT (function), an arbitrary variable is usually described. When compiling a program having various POUs, instantiating each POU (assigning each variable of each POU to a memory) is performed by a compiler function. If a variable is added to an arbitrary POU, for example, by correcting (upgrading) the program later, this additional variable is allocated to the spare area.

ここで、PLC30の稼働中に、ユーザが支援装置10上でプログラム修正(例えばバージョンアップしたソースコード15の作成等)を行った場合であって、特にPLC30を止めないでPLC30の制御プログラム(機械語オブジェクト33)の変更を実施しても異常動作しないようにするためには、既にメモリに割付けた変数(既存の変数)のメモリ割付け位置を変更しないようにする必要がある。これは、上記プログラム1の変数2、変数3のようにソースコード15でアドレス指定されているものについては、ユーザがソースコード15修正の際に誤ってアドレスを変えない限りは、特に問題はない。   Here, it is a case where the user makes a program correction (for example, creation of upgraded source code 15) on the support device 10 while the PLC 30 is in operation, and the control program (machine) of the PLC 30 without stopping the PLC 30 in particular. In order to prevent abnormal operation even if the word object 33) is changed, it is necessary not to change the memory allocation position of the variable (existing variable) already allocated to the memory. This is not particularly problematic for those addressed in the source code 15 such as the variables 2 and 3 of the program 1 as long as the user does not change the address by mistake when modifying the source code 15. .

しかし、上記変数1の場合、コンパイラがコンパイル実行の都度、任意のアドレスを割り当てると、メモリ割付け位置が変わってしまう。これより、コンパイラ機能部12は、例えば初版のソースコード15のコンパイル実行の際に、各変数のメモリ割当て状況を記憶しておく。つまり、どの変数をどの記憶領域(アドレス)に割り当てたのかを示す情報を、不図示のテーブルに記憶しておく。そして、その後、バージョンアップ版のソースコード15のコンパイル実行の際には、上記不図示のテーブルを参照することで、既存の変数に対しては現状と同じアドレスを割り当てるようにする。また、新規変数があった場合には、任意のアドレスを割り当てると共に上記不図示のテーブルに追加登録する。   However, in the case of the variable 1, if the compiler assigns an arbitrary address every time the compilation is executed, the memory allocation position changes. Thus, the compiler function unit 12 stores the memory allocation status of each variable, for example, when the first version of the source code 15 is compiled. That is, information indicating which variable is assigned to which storage area (address) is stored in a table (not shown). After that, when compiling the upgraded version of the source code 15, the same address as the current state is assigned to the existing variable by referring to the table (not shown). If there is a new variable, an arbitrary address is assigned and additionally registered in the table (not shown).

尚、例えば、上記変数のアドレス割当ては、各プログラム毎(各POU毎に)に一塊の記憶領域が割り当てられる。
以上説明したように、本手法では、プログラマブルコントローラと支援装置を有するプログラマブルコントローラシステムにおいて、下記の構成・動作を供する。
For example, in the variable address assignment, a single storage area is assigned for each program (for each POU).
As described above, in the present technique, the following configuration / operation is provided in a programmable controller system having a programmable controller and a support device.

支援装置は、既存の機能として、ユーザにPLCの制御プログラム(そのソースコード)の作成を任意に行わせるためのプログラム作成支援機能や、このソースコードをコンパイルしてPLCで実行出来る形式(機械語オブジェクト)に変換するコンパイル機能や、この機械語オブジェクトをPLCにダウンロードする転送機能などを有する。   The support device has, as an existing function, a program creation support function for allowing the user to arbitrarily create a PLC control program (its source code), and a format (machine language) that can compile this source code and execute it on the PLC. A compiling function for converting to an object) and a transfer function for downloading the machine language object to the PLC.

一般的に、コンパイル機能は、上記コンパイル処理実行中、ソースコードの各変数にアドレス割当てを行うものであるが、本例では更に、処理対象のプログラム名(ソースコードファイル名など)、各変数名、各変数に係わるI/Oモジュール(各変数によるアクセス先のI/Oモジュール;割当てたアドレスに対応するI/Oモジュール)を示す情報等を関連付けて登録する。   In general, the compile function assigns an address to each variable of the source code during execution of the compile process. In this example, the program name (source code file name, etc.) to be processed and the name of each variable are further added. , Information indicating the I / O module related to each variable (access destination I / O module by each variable; I / O module corresponding to the assigned address) is registered in association with each other.

更に、ユーザにプログラマブルコントローラシステムのシステム構成定義を設定させる機能であって、各I/Oモジュール名等を設定させると共に、各I/Oモジュールが係わる設備の情報を設定させて登録する機能も有する。   Furthermore, it is a function that allows the user to set the system configuration definition of the programmable controller system, and has the function of setting and registering information on the equipment related to each I / O module as well as setting the name of each I / O module. .

PLCに制御プログラムを転送する場合、PLCで動作している制御プログラム(機械語)と支援装置のコンパイラが生成した制御プログラム(機械語)とを比較し、同一ではないプログラムを転送候補とする。そして、転送候補プログラム群のなかから転送対象プログラム(1以上;基本的には複数)を決定してPLCに転送する。   When a control program is transferred to the PLC, the control program (machine language) operating on the PLC is compared with the control program (machine language) generated by the compiler of the support apparatus, and non-identical programs are determined as transfer candidates. Then, a transfer target program (one or more; basically a plurality) is determined from the transfer candidate program group and transferred to the PLC.

この決定処理に上記登録データを利用する。すなわち、上記登録データを参照することで、任意の設備に係わるI/Oモジュールが判別でき、このI/Oモジュールに係わるプログラムが判別できる。これによって、任意の設備に係わるプログラムは、全て、PLCに転送されると共に、当該設備に係わらないプログラムが誤ってPLCに転送されることはない。上記任意の設備は、例えばユーザが任意に指定するものであり、例えば複数の設備が順次更新される場合において、その時点で更新作業が完了した設備等である。   The registration data is used for this determination process. That is, by referring to the registration data, an I / O module related to an arbitrary facility can be determined, and a program related to the I / O module can be determined. As a result, all programs related to any equipment are transferred to the PLC, and programs not related to the equipment are not erroneously transferred to the PLC. The above-mentioned arbitrary equipment is, for example, arbitrarily designated by the user. For example, in the case where a plurality of equipment is sequentially updated, it is equipment that has been updated at that time.

尚、ユーザによる指定は、上記設備の指定に限るものではなく、例えばプログラムの指定等であっても構わない。この場合でも、上記登録データを参照すれば、指定プログラムが係わるI/Oモジュールが判別でき、このI/Oモジュールに係わる設備が判別できるので、当該判別された設備に係わるプログラム全てを判別することができる。例えば、更新作業が完了した設備の設備名は分からないが、当該設備に係わるプログラムの名称は1つは分かっている場合等には、この方法が適用できる。   The designation by the user is not limited to the designation of the equipment, and may be designation of a program, for example. Even in this case, by referring to the registered data, the I / O module related to the designated program can be determined, and the equipment related to the I / O module can be determined, so that all the programs related to the determined equipment can be determined. Can do. For example, this method can be applied when the name of the facility for which the update work has been completed is not known but one program name related to the facility is known.

上述した本手法により、特に複数の設備を制御するプログラマブルコントローラのプログラム更新に関して、各設備を順次更新(リプレース)する場合において、当該設備更新に伴う全制御プログラムの更新(バージョンアップ等)をまとめて行う場合における問題を解消できる。すなわち、上記更新版のプログラム群のうち、その時点においてPLCへ転送して更新させるべき1以上(通常、複数)の制御プログラムを自動的に決定して、転送させることができる。逆に、その時点ではPLCへ転送するべきではない制御プログラムを、誤ってPLCに転送することがないようにできる。つまり、PLCへ転送して更新させるべき制御プログラムの決定を、ユーザが手作業で行う手法に比べて、ユーザの作業負担を軽減できると共にミスが生じることがない。   By this method described above, especially when updating each facility sequentially (replacement) with respect to program update of a programmable controller that controls a plurality of facilities, all control program updates (version upgrades, etc.) associated with the facility update are collected. Can solve the problem of doing. That is, one or more (usually a plurality of) control programs to be transferred to the PLC and updated at that time in the updated version program group can be automatically determined and transferred. Conversely, a control program that should not be transferred to the PLC at that time can be prevented from being erroneously transferred to the PLC. That is, as compared with a method in which the user manually determines the control program to be transferred to the PLC and updated, the user's workload can be reduced and no mistakes occur.

PLCへ転送するべきではない制御プログラムとは、例えば未だ更新(リプレース)が行われていない設備に係わる更新版プログラムである。更新版プログラムは、更新後の設備に応じた制御内容となっているので、これがPLCに転送されて旧プログラムと置き換えられて実行されてしまうと、システム動作に悪影響を及ぼすことになる。従来ではユーザのミス等によってこのような問題が生じることがあり得たが、本手法によればこの様な問題が生じることはない。   The control program that should not be transferred to the PLC is, for example, an updated program related to equipment that has not yet been updated (replaced). Since the updated version program has control contents corresponding to the equipment after the update, if it is transferred to the PLC and replaced with the old program and executed, the system operation will be adversely affected. Conventionally, such a problem may occur due to a user's mistake or the like, but according to the present technique, such a problem does not occur.

但し、上述した説明は、一例であり、この例に限らず、本手法はシステム構成が変更される場合全般に適用可能である。システム構成が変更される場合とは、例えば上述した一例では既存の設備が更新(リプレース)される場合を示したが、設備の更新(リプレース)には、新規設備の追加等も含まれるものとする。この場合、支援装置では新規設備に応じた新規の制御プログラムを追加作成してPLCにダウンロードする必要がある。尚、この場合、当該新規プログラムに該当するプログラムはPLCには無いので、これを以って上記ステップS5の判定はNOとなる(プログラムは同一ではない)ものとする。あるいは、既存の設備が更新(リプレース)される場合であっても、上記のようにそれに伴って既存の制御プログラムを更新する例に限らず、新規の制御プログラムを作成する場合も有り得る。本手法は、この様な各種ケースに対しても適用可能である。また、この様な各種ケースが混在する場合も有り得る。   However, the above description is an example, and the present method is not limited to this example, and the present technique can be applied to all cases where the system configuration is changed. When the system configuration is changed, for example, the case where the existing equipment is updated (replaced) is shown in the above-described example. However, the equipment update (replacement) includes addition of new equipment and the like. To do. In this case, the support apparatus needs to additionally create a new control program corresponding to the new facility and download it to the PLC. In this case, since there is no program corresponding to the new program in the PLC, the determination in step S5 is NO (the programs are not the same). Alternatively, even when existing equipment is updated (replaced), the present invention is not limited to an example in which an existing control program is updated as described above, and a new control program may be created. This technique can be applied to such various cases. In addition, there may be cases where such various cases are mixed.

このように、本手法によれば、システム構成が変更される場合において、支援装置におけるユーザのプログラム開発効率向上と、設備の更新等に合わせたPLCのプログラムの効率良く的確な更新が可能になり、大規模なシステムでも設備の更新計画に合わせて、手間が掛からずに、稼働中のPLCのプログラムを安全に更新することができる。   As described above, according to this method, when the system configuration is changed, it is possible to improve the efficiency of the user program development in the support apparatus and to efficiently and accurately update the PLC program in accordance with the facility update or the like. Even in a large-scale system, it is possible to safely update the operating PLC program without taking time and effort in accordance with the facility update plan.

10 支援装置(ローダ)
11 ユーザインターフェース機能部
12 コンパイラ機能部
13 システム構成定義機能部
14 通信機能部
15 ソースコード
16 機械語オブジェクト
17 使用変数一覧
18 プログラム一覧(支援)
19 モジュール情報
20 ディスプレイ
21 入力装置
30 PLC(ターゲット)
31 プログラム実行管理機能部
32 通信機能部
33 機械語オブジェクト
34 プログラム一覧(PLC)
35 識別情報
41 プログラム名
42 変数名
43 局番
50 システム構成定義画面
61 局番
62 設備名
71 管理番号
72 プログラム名
73 機械語オブジェクトファイル名
74 機械語オブジェクトサイズ
81 管理番号
82 機械語オブジェクト格納先アドレス
83 機械語オブジェクトサイズ
90 転送選択画面90
91 一覧表示部
92 「転送開始」ボタン
10 Support device (loader)
11 User Interface Function Unit 12 Compiler Function Unit 13 System Configuration Definition Function Unit 14 Communication Function Unit 15 Source Code 16 Machine Language Object 17 Used Variable List 18 Program List (Support)
19 Module information 20 Display 21 Input device 30 PLC (target)
31 Program Execution Management Function Unit 32 Communication Function Unit 33 Machine Language Object 34 Program List (PLC)
35 Identification information 41 Program name 42 Variable name 43 Station number 50 System configuration definition screen 61 Station number 62 Equipment name 71 Management number 72 Program name 73 Machine language object file name 74 Machine language object size 81 Management number 82 Machine language object storage destination address 83 Machine Word object size 90 Transfer selection screen 90
91 List Display 92 “Start Transfer” Button

Claims (10)

複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムであって、
前記支援装置は、
前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶するシステム構成登録手段と、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶するコンパイル手段と、
任意の設備が指定されると、前記システム構成登録手段と前記記憶部とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送する転送管理手段と、
を有することを特徴とするプログラマブルコントローラシステム。
It has a system configuration composed of a plurality of facilities, and controls the various devices of each facility by executing each control program with the plurality of facilities being controlled, and each facility has one or more I A programmable controller system having a programmable controller that performs control via the / O module and a support device connected to the programmable controller,
The support device includes:
System configuration registration means for registering and storing the correspondence between each I / O module and each facility;
Compiling means for generating a machine language object by compiling the source code of each control program, and storing a correspondence relationship between each control program and the I / O module obtained in the compilation in a storage unit;
When an arbitrary facility is specified, all the control programs corresponding to the specified facility are determined by referring to the system configuration registration unit and the storage unit, and all the determined control programs are Transfer management means for transferring to a programmable controller;
A programmable controller system comprising:
前記システム構成の変更に伴って前記設備に関して順次リプレースが行われる場合において、前記転送管理手段で最初の設備が指定される前に、前記支援装置が保持する前記制御プログラムは全て変更後のシステム構成に応じた制御プログラムとなっており、
前記指定された設備は、前記リプレース済みの設備であることを特徴とする請求項1記載のプログラマブルコントローラシステム。
When the equipment is sequentially replaced with the change in the system configuration, the control program held by the support device is all changed before the first equipment is designated by the transfer management unit. It is a control program according to
The programmable controller system according to claim 1, wherein the designated facility is the replaced facility.
前記転送管理手段は、前記支援装置が保持する各制御プログラムのうち、前記プログラマブルコントローラが保持する制御プログラムと異なる制御プログラムを転送候補として、前記システム構成登録手段と前記記憶部とを参照することで該転送候補の各制御プログラムが係わる設備を判別して、少なくとも該転送候補の各制御プログラムが係わる設備を一覧表示して前記指定を行わせる為の選択画面を表示することを特徴とする請求項1記載のプログラマブルコントローラシステム。   The transfer management unit refers to the system configuration registration unit and the storage unit by using, as transfer candidates, control programs different from the control programs held by the programmable controller among the control programs held by the support device. The equipment related to each control program of the transfer candidate is discriminated, and at least the equipment related to each control program of the transfer candidate is displayed as a list, and a selection screen for performing the designation is displayed. The programmable controller system according to 1. 前記選択画面は、前記転送候補の各制御プログラムを、当該制御プログラムに係わる前記設備と対応付けて一覧表示することを特徴とする請求項3記載のプログラマブルコントローラシステム。   4. The programmable controller system according to claim 3, wherein the selection screen displays a list of each control program of the transfer candidate in association with the equipment related to the control program. 前記プログラマブルコントローラは、稼働中に、前記転送管理手段によって転送されてきた前記各制御プログラムを、自己が保持・実行していた制御プログラムに代えて保持・実行することを特徴とする請求項1記載のプログラマブルコントローラシステム。   2. The programmable controller holds and executes each control program transferred by the transfer management unit during operation instead of the control program held and executed by itself. Programmable controller system. 前記コンパイル手段は、前記コンパイルの際に前記ソースコードの各変数に対して割り当てたアドレスを保持しており、過去のコンパイルの際に既にアドレスを割り当て済みの変数に対しては同じアドレスを割り当てることを特徴とする請求項5記載のプログラマブルコントローラシステム。   The compiling means holds an address assigned to each variable of the source code at the time of compilation, and assigns the same address to a variable that has already been assigned an address at the time of past compilation. The programmable controller system according to claim 5. 前記ソースコードの各変数のうちアドレス指定がある変数に関しては、該アドレス指定に前記I/Oモジュールの識別情報が含まれており、
前記コンパイル手段は、該I/Oモジュール識別情報を用いて、前記制御プログラムと前記I/Oモジュールとの対応関係を生成することを特徴とする請求項1〜6の何れかに記載のプログラマブルコントローラシステム。
For each variable of the source code that has an address specification, the address specification includes identification information of the I / O module,
The programmable controller according to any one of claims 1 to 6, wherein the compiling unit generates a correspondence relationship between the control program and the I / O module using the I / O module identification information. system.
複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムにおける前記支援装置であって、
前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶するシステム構成登録手段と、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶するコンパイル手段と、
任意の設備が指定されると、前記システム構成登録手段と前記記憶部とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送する転送管理手段と、
を有することを特徴とするプログラマブルコントローラシステムの支援装置。
It has a system configuration composed of a plurality of facilities, and controls the various devices of each facility by executing each control program with the plurality of facilities being controlled, and each facility has one or more I A support device in a programmable controller system comprising a programmable controller that performs control via a / O module and a support device that is connected to the programmable controller,
System configuration registration means for registering and storing the correspondence between each I / O module and each facility;
Compiling means for generating a machine language object by compiling the source code of each control program, and storing a correspondence relationship between each control program and the I / O module obtained in the compilation in a storage unit;
When an arbitrary facility is specified, all the control programs corresponding to the specified facility are determined by referring to the system configuration registration unit and the storage unit, and all the determined control programs are Transfer management means for transferring to a programmable controller;
An apparatus for supporting a programmable controller system, comprising:
複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムにおける前記支援装置のコンピュータを、
前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶するシステム構成登録手段と、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶するコンパイル手段と、
任意の設備が指定されると、前記システム構成登録手段と前記記憶部とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送する転送管理手段、
として機能させるためのプログラム。
It has a system configuration composed of a plurality of facilities, and controls the various devices of each facility by executing each control program with the plurality of facilities being controlled, and each facility has one or more I A computer of the support device in a programmable controller system having a programmable controller that performs control via the / O module and a support device connected to the programmable controller;
System configuration registration means for registering and storing the correspondence between each I / O module and each facility;
Compiling means for generating a machine language object by compiling the source code of each control program, and storing a correspondence relationship between each control program and the I / O module obtained in the compilation in a storage unit;
When an arbitrary facility is specified, all the control programs corresponding to the specified facility are determined by referring to the system configuration registration unit and the storage unit, and all the determined control programs are Transfer management means for transferring to a programmable controller;
Program to function as.
複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムの前記支援装置における前記制御プログラムの前記プログラマブルコントローラへの転送方法であって、
予め前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶し、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶し、
任意の設備が指定されると、前記登録した対応関係と前記記憶部に記憶した対応関係とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送することを特徴とするプログラム転送方法。
It has a system configuration composed of a plurality of facilities, and controls the various devices of each facility by executing each control program with the plurality of facilities being controlled, and each facility has one or more I A method of transferring the control program to the programmable controller in the support device of the programmable controller system having a programmable controller that performs control via the / O module and a support device connected to the programmable controller,
The correspondence between each I / O module and each facility is registered and stored in advance.
Compiling source code of each control program to generate a machine language object, and storing a correspondence relationship between each control program and the I / O module obtained at the time of compilation in a storage unit,
When an arbitrary facility is specified, all the control programs corresponding to the specified facility are determined by referring to the registered corresponding relationship and the corresponding relationship stored in the storage unit, and the determined A program transfer method comprising transferring all control programs to the programmable controller.
JP2012125430A 2012-05-31 2012-05-31 PROGRAMMABLE CONTROLLER, ITS SUPPORT DEVICE, PROGRAM, PROGRAM TRANSFER METHOD Active JP5978775B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012125430A JP5978775B2 (en) 2012-05-31 2012-05-31 PROGRAMMABLE CONTROLLER, ITS SUPPORT DEVICE, PROGRAM, PROGRAM TRANSFER METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012125430A JP5978775B2 (en) 2012-05-31 2012-05-31 PROGRAMMABLE CONTROLLER, ITS SUPPORT DEVICE, PROGRAM, PROGRAM TRANSFER METHOD

Publications (2)

Publication Number Publication Date
JP2013250810A true JP2013250810A (en) 2013-12-12
JP5978775B2 JP5978775B2 (en) 2016-08-24

Family

ID=49849417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012125430A Active JP5978775B2 (en) 2012-05-31 2012-05-31 PROGRAMMABLE CONTROLLER, ITS SUPPORT DEVICE, PROGRAM, PROGRAM TRANSFER METHOD

Country Status (1)

Country Link
JP (1) JP5978775B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112241141A (en) * 2020-11-12 2021-01-19 上海电气风电集团股份有限公司 Hardware configuration method, system, device and medium of PLC control system
CN113785268A (en) * 2019-05-22 2021-12-10 欧姆龙株式会社 Information providing system, server, and information providing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290518A (en) * 2000-04-05 2001-10-19 Mitsubishi Electric Corp Programmable controller
JP2003295910A (en) * 2002-03-29 2003-10-17 Omron Corp Unit, tool equipment, and program product
JP2008186392A (en) * 2007-01-31 2008-08-14 Mitsubishi Electric Corp Automatic software update device and terminal automatically updated by the same device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290518A (en) * 2000-04-05 2001-10-19 Mitsubishi Electric Corp Programmable controller
JP2003295910A (en) * 2002-03-29 2003-10-17 Omron Corp Unit, tool equipment, and program product
JP2008186392A (en) * 2007-01-31 2008-08-14 Mitsubishi Electric Corp Automatic software update device and terminal automatically updated by the same device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113785268A (en) * 2019-05-22 2021-12-10 欧姆龙株式会社 Information providing system, server, and information providing method
CN113785268B (en) * 2019-05-22 2023-12-15 欧姆龙株式会社 Information providing system, server, and information providing method
CN112241141A (en) * 2020-11-12 2021-01-19 上海电气风电集团股份有限公司 Hardware configuration method, system, device and medium of PLC control system

Also Published As

Publication number Publication date
JP5978775B2 (en) 2016-08-24

Similar Documents

Publication Publication Date Title
US20100161085A1 (en) Peripheral device of programmable controller, method of variable substitution, and computer program product thereof
JP6786984B2 (en) Program processing equipment and programs
JP2009146229A (en) Programmable controller system
JP5790128B2 (en) Programmable controller system and its support device
US9811071B2 (en) System construction support apparatus
JP2009157533A (en) Programmable controller system
JP6866663B2 (en) Programmable controller system, programmable controller, support device, HCI device, redundant programmable controller system
JP6292096B2 (en) Programmable controller system and its support device
JP5849592B2 (en) Programmable controller system, programming device thereof, programmable controller, program, and debugging method
JP5978775B2 (en) PROGRAMMABLE CONTROLLER, ITS SUPPORT DEVICE, PROGRAM, PROGRAM TRANSFER METHOD
JP2016224557A (en) Program creation support device, program, and determination method
JP4842541B2 (en) Display device for control, screen data generation device, and program and recording medium thereof
JP2002268730A (en) Maintenance system for field device
JP4319082B2 (en) Programming system
JP6119452B2 (en) Programmable controller system, its support device, programmable controller, program
JP2008198143A (en) Program preparation support device and program preparation support method for programmable controller
JP6205934B2 (en) Programmable controller system, its support device, program
JP2016224559A (en) Program creation support device, control method and program
CN104572233A (en) Continuous function chart programming method
JP4778312B2 (en) Data processing device, program, editor device, and recording medium
US7231272B2 (en) System and method for programming and/or operating an automation system with execution-oriented combination logic
JP2000235444A (en) Method and device for managing and displaying large-size built software system
JP4877257B2 (en) Programmable controller, programmable controller support apparatus, and programmable controller system
JP7318829B2 (en) Production system, programming device, production method, and program
JP2009157534A (en) Programming support system, its programmable controller support device, and programmable indicator support device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160520

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160711

R150 Certificate of patent or registration of utility model

Ref document number: 5978775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250