Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6926841B2 - Control system, development support device, and control method - Google Patents
[go: Go Back, main page]

JP6926841B2 - Control system, development support device, and control method - Google Patents

Control system, development support device, and control method Download PDF

Info

Publication number
JP6926841B2
JP6926841B2 JP2017167210A JP2017167210A JP6926841B2 JP 6926841 B2 JP6926841 B2 JP 6926841B2 JP 2017167210 A JP2017167210 A JP 2017167210A JP 2017167210 A JP2017167210 A JP 2017167210A JP 6926841 B2 JP6926841 B2 JP 6926841B2
Authority
JP
Japan
Prior art keywords
program
setting
information
forced
machine language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017167210A
Other languages
Japanese (ja)
Other versions
JP2019046052A (en
Inventor
吉原 大助
大助 吉原
史彦 藤田
史彦 藤田
一人 永塚
一人 永塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2017167210A priority Critical patent/JP6926841B2/en
Publication of JP2019046052A publication Critical patent/JP2019046052A/en
Application granted granted Critical
Publication of JP6926841B2 publication Critical patent/JP6926841B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、コントロールシステム、開発支援装置、及びコントロール方法に関する。 The present invention relates to a control system, a development support device, and a control method.

プラントシステムの稼働中に、一部の計器等が故障して正常な値が取り込めない事態が発生することがある。このような場合においてオペレータは、当該システムの稼働に影響が出るのを防ぐため、監視装置等を用いて、故障した計器から出力等される値を代入するための変数に、強制的に値を設定(以下、当該設定を強制設定とも記載し、当該強制的に設定された値を強制設定値とも記載する)し、システムの稼働を継続することが求められ得る。しかし多くの場合、オペレータは、システムのコントローラ内で動作するプログラムに詳しくはないため、例えばエンジニアリングツールを用いて強制設定を行うことに困難が生じ得る。 During the operation of the plant system, some instruments may break down and normal values may not be captured. In such a case, the operator forcibly sets the value to the variable for substituting the value output from the failed instrument by using a monitoring device or the like in order to prevent the operation of the system from being affected. It may be required to set (hereinafter, the setting is also described as a compulsory setting, and the compulsorily set value is also described as a compulsory setting value) and continue the operation of the system. However, in many cases, the operator is not familiar with the program running within the controller of the system, which can make it difficult to perform forced settings, for example using engineering tools.

特開2010―122824号公報Japanese Unexamined Patent Publication No. 2010-122824

システムのコントローラ内で動作するプログラムは、開発の効率化と品質向上等のため、部品化されている場合が多い。部品化されているプログラムは、オペレータによりその中身を見られる可能性が高いとは言えず、またその中身が見られないよう隠蔽されている場合も少なくない。そのため、プラント内におけるシステムの正常処理のために、オペレータが部品化されているプログラムの変数の値を強制設定する可能性は低い。ここでシステムの稼動のために必要なプログラムのコンパイルにおいて、部品化されているプログラムにおける変数に対しても、強制設定を行う機械語オブジェクトが生成されても、当該機械語オブジェクトを用いる強制設定処理はオペレータによる処理負荷の軽減には結びつかず、またこのような強制設定は無駄な処理になることも多く、アプリケーションの実行時間が不必要に長くなり得るという問題がある。 Programs that run in the system controller are often made into parts in order to improve development efficiency and quality. It cannot be said that the contents of a program that has been made into parts are likely to be seen by the operator, and the contents are often hidden so that the contents cannot be seen. Therefore, it is unlikely that the operator will forcibly set the value of the variable of the program that is partized for the normal processing of the system in the plant. Here, in compiling the program necessary for operating the system, even if a machine language object for forcibly setting is generated for the variables in the program that is made into parts, the forcible setting process using the machine language object is generated. Does not lead to reduction of the processing load by the operator, and such forced setting is often useless processing, and there is a problem that the execution time of the application may become unnecessarily long.

本発明の目的は、上述した現状に鑑み、最適化した機械語オブジェクトを生成し、制御処理の実行時間を短くすることである。 An object of the present invention is to generate an optimized machine language object in view of the above-mentioned current situation and to shorten the execution time of the control process.

態様の一例に係るコントロールシステムは、入力されたソースコードにおける1以上のプログラムの各々から機械語オブジェクトを生成する開発支援装置と、開発支援装置から取得した機械語オブジェクトを実行する制御装置と、を備える。開発支援装置は、1以上のプログラムの各々の間の呼出関係を用いて、1以上のプログラムのうち、ライブラリに含まれ、且つ呼出元のプログラムもライブラリに含まれる第1のプログラムに対し強制設定を行わないとする強制設定可否情報を生成し、強制設定可否情報に基づき、第1のプログラムから第1の機械語オブジェクトを生成する。制御装置は、第1の機械語オブジェクトに基づき、第1のプログラムにおける第1の変数に対応する第1の制御対象装置を、強制設定を行わずに制御する。 The control system according to an example of the embodiment includes a development support device that generates a machine language object from each of one or more programs in the input source code, and a control device that executes the machine language object acquired from the development support device. Be prepared. The development support device is forcibly set for the first program included in the library and the calling program is also included in the library among the one or more programs by using the calling relationship between each of the one or more programs. Is generated, and the first machine language object is generated from the first program based on the forced setting possibility information. The control device controls the first controlled device corresponding to the first variable in the first program based on the first machine language object without forcibly setting.

最適化した機械語オブジェクトを生成し、制御処理の実行時間を短くすることができる。 It is possible to generate an optimized machine language object and shorten the execution time of control processing.

第1の実施形態に係るコントロールシステムの構成を例示する図である。It is a figure which illustrates the structure of the control system which concerns on 1st Embodiment. ユーザに提供される開発環境を例示する図である。It is a figure which illustrates the development environment provided to a user. 呼出関係情報を例示する図である。It is a figure which illustrates the call relation information. インスタンス・プログラム対応情報を例示する図である。It is a figure which illustrates the instance program correspondence information. 強制設定可否情報一覧を例示する図である。It is a figure which illustrates the list of compulsory setting possibility information. フロントエンドコンパイラによる強制設定可否情報一覧の生成処理のフローを例示する図である。It is a figure which illustrates the flow of the generation processing of the compulsory setting possibility information list by a front-end compiler. 呼び出し元のプログラムの名称の取得処理のフローを例示する図である。It is a figure which illustrates the flow of the acquisition process of the name of the calling program. バックエンドコンパイラによる処理のフローを例示する図である。It is a figure which illustrates the flow of processing by a back-end compiler. バックエンドコンパイラによって生成された機械語を例示する図である。It is a figure which illustrates the machine language generated by the back-end compiler. 支援装置のハードウェア構成を例示する図である。It is a figure which illustrates the hardware configuration of the support device. コントローラのハードウェア構成を例示する図である。It is a figure which illustrates the hardware configuration of a controller. 第2の実施形態に係るコントロールシステムの構成を例示する図である。It is a figure which illustrates the structure of the control system which concerns on 2nd Embodiment. 強制設定画面に表示される画像の例を示す図である。It is a figure which shows the example of the image displayed on the forced setting screen. 第2の実施形態に係る監視装置により生成される強制設定指示情報を例示する図である。It is a figure which illustrates the forced setting instruction information generated by the monitoring apparatus which concerns on 2nd Embodiment. 第2の実施形態における強制設定支援情報一覧の表示例を示す図である。It is a figure which shows the display example of the compulsory setting support information list in 2nd Embodiment. 第2の実施形態における強制設定アドレス情報一覧を例示する図である。It is a figure which illustrates the list of compulsory setting address information in 2nd Embodiment. 監視装置のハードウェア構成を例示する図である。It is a figure which illustrates the hardware configuration of the monitoring apparatus.

(第1の実施形態)
図1は、本実施形態に係るプログラマブルコントローラシステム1の構成の一例を示す。なお、プログラマブルコントローラシステム1を、コントロールシステム1と記載することもあるものとする。コントロールシステム1は、それぞれ1以上の開発支援装置2と制御装置3とを備える。開発支援装置2を支援装置2、制御装置3をコントローラ3と記載することもあるものとする。図1には、理解容易のために、コントロールシステム1における支援装置2とコントローラ3とが、それぞれ1つずつ示される。
(First Embodiment)
FIG. 1 shows an example of the configuration of the programmable controller system 1 according to the present embodiment. The programmable controller system 1 may be referred to as a control system 1. The control system 1 includes one or more development support devices 2 and a control device 3, respectively. The development support device 2 may be referred to as a support device 2, and the control device 3 may be referred to as a controller 3. In FIG. 1, for easy understanding, one support device 2 and one controller 3 in the control system 1 are shown.

支援装置2は、ユーザから入力されたソースコードに基づいて、コントローラ3が実行する機械語のコードの生成を行う。この際に支援装置2は、コントローラ3が制御する装置(制御対象装置とも記載する)に対応する変数、又は制御対象装置の制御対象項目に対応する変数が、強制設定の対象になり得る否かの判定を行い、これに応じた機械語を生成する。 The support device 2 generates a machine language code executed by the controller 3 based on the source code input from the user. At this time, in the support device 2, whether or not the variable corresponding to the device controlled by the controller 3 (also referred to as the control target device) or the variable corresponding to the control target item of the control target device can be the target of the compulsory setting. Is determined, and a machine language corresponding to this is generated.

ここでの変数には、基本型の変数以外にも、例えばC言語における構造体のメンバー等が含まれるものとする。変数は、プログラムのソースコード中に記述され、制御対象装置や制御対象項目(制御対象装置と制御対象項目とをまとめて制御対象装置とも記載する)と対応付けられる。この変数に強制設定値が代入されることにより、制御対象装置は強制設定される。なおプログラムにおける変数への強制設定値の代入を、プログラムの強制設定、プログラムに対する強制設定などとも記載する。 It is assumed that the variables here include, for example, members of a structure in C language, etc., in addition to the variables of the basic type. The variables are described in the source code of the program and are associated with the control target device and the control target item (the control target device and the control target item are collectively referred to as the control target device). By substituting the forced setting value into this variable, the controlled device is forcibly set. It should be noted that the assignment of the compulsory setting value to the variable in the program is also described as the compulsory setting of the program, the compulsory setting for the program, and the like.

なお、プログラムとは、広義の意味におけるプログラムを指し、例えば、IEC61131においては、POU(Program organization unit)であって、PG(Program)より広い意味を持つものとする。
また、機械語に変換されたプログラムを機械語オブジェクトと記載する。
The program refers to a program in a broad sense. For example, in IEC61131, it is a POU (Program organization unit) and has a broader meaning than a PG (Program).
In addition, the program converted into machine language is described as a machine language object.

コントローラ3は、支援装置から機械語オブジェクトを取得して、これを実行することにより、制御対象装置を制御する。コントローラ3には、後述する記憶部(第1記憶部32)が設けられ、当該記憶部のアドレスには1以上の変数が割り当てられている。なお、ここでは理解容易のために1つのアドレスには1つの変数が割り当てられている場合について述べる。 The controller 3 controls the controlled device by acquiring the machine language object from the support device and executing the machine language object. The controller 3 is provided with a storage unit (first storage unit 32) described later, and one or more variables are assigned to the addresses of the storage units. Here, for the sake of comprehension, a case where one variable is assigned to one address will be described.

コントローラ3は、強制設定処理を実行する場合に、当該強制設定の対象となる変数が割り当てられたアドレスの記憶領域に強制設定値を格納する。 When executing the compulsory setting process, the controller 3 stores the compulsory setting value in the storage area of the address to which the variable to be the compulsory setting is assigned.

図1に示すように、支援装置2は、ユーザインターフェース20、プロジェクト管理部21、コンパイラ22、記憶部23、及び通信部24等を備える。コンパイラ22は、フロントエンドコンパイラ220及びバックエンドコンパイラ221を備える。記憶部23には、プロジェクトプログラム一覧230、変数・アドレス対応情報231、インスタンス・プログラム対応情報232、呼出関係情報233、強制設定可否情報一覧234、及び強制設定位置情報一覧235等が記憶されている。 As shown in FIG. 1, the support device 2 includes a user interface 20, a project management unit 21, a compiler 22, a storage unit 23, a communication unit 24, and the like. The compiler 22 includes a front-end compiler 220 and a back-end compiler 221. The storage unit 23 stores a project program list 230, variable / address correspondence information 231, instance / program correspondence information 232, call-related information 233, forced setting availability information list 234, forced setting position information list 235, and the like. ..

プロジェクト管理部21は、ユーザインターフェース20とコンパイラ22と記憶部23とに接続されている。またコンパイラ22は、記憶部23と通信部24とに接続されている。なお、これら以外の接続関係があってもよく、接続関係は上記のものに限定されない。 The project management unit 21 is connected to the user interface 20, the compiler 22, and the storage unit 23. Further, the compiler 22 is connected to the storage unit 23 and the communication unit 24. Note that there may be a connection relationship other than these, and the connection relationship is not limited to the above.

コントローラ3は、通信部30、プログラム実行管理部31、第1記憶部32、及び第2記憶部33を備える。プログラム実行管理部31は、プログラム実行部310及び強制設定管理部311を備える。プログラム実行管理部31は、通信部30と第1記憶部32と第2記憶部33とに接続されている。また通信部30は、第1記憶部32と第2記憶部33とに接続されている。なお、接続関係は上記のものに限定されない。 The controller 3 includes a communication unit 30, a program execution management unit 31, a first storage unit 32, and a second storage unit 33. The program execution management unit 31 includes a program execution unit 310 and a compulsory setting management unit 311. The program execution management unit 31 is connected to the communication unit 30, the first storage unit 32, and the second storage unit 33. Further, the communication unit 30 is connected to the first storage unit 32 and the second storage unit 33. The connection relationship is not limited to the above.

第2記憶部33は、強制設定アドレス情報一覧330と強制設定位置情報一覧235等を記憶する。 The second storage unit 33 stores the forced setting address information list 330, the forced setting position information list 235, and the like.

まず、支援装置2の各機能ブロックについて説明する。ユーザインターフェース20は、例えばキーボード等の入力装置や、表示装置等の出力装置を、支援装置2と接続するためのインターフェースである。ユーザインターフェース20を介して、支援装置2は、開発者等のユーザからソースコード等の入力を受け付け、またユーザが開発を行うための画像を表示装置に表示する。 First, each functional block of the support device 2 will be described. The user interface 20 is an interface for connecting an input device such as a keyboard or an output device such as a display device to the support device 2. Through the user interface 20, the support device 2 accepts input of a source code or the like from a user such as a developer, and displays an image for the user to develop on the display device.

プロジェクト管理部21は、ユーザによる開発の支援のため、ユーザに対し開発環境を提供する。プロジェクト管理部21は、ユーザインターフェース20を介し入力されたソースコードを管理すると共に、これを適宜コンパイラ22へ出力する。またプロジェクト管理部21は、記憶部23に記憶されているプロジェクトプログラム一覧を管理する。またプロジェクト管理部21は、管理対象の1以上のプログラムの各々に対し、一意的な、例えば固定長の番号等を割り当てる。支援装置2における各プログラムは、この番号により管理される。なお、以下においてプログラム名、又はプログラムの名称と記載する場合には、これらは、このような番号である場合もあるものとする。 The project management unit 21 provides a development environment to the user in order to support the development by the user. The project management unit 21 manages the source code input via the user interface 20 and outputs the source code to the compiler 22 as appropriate. Further, the project management unit 21 manages a list of project programs stored in the storage unit 23. Further, the project management unit 21 assigns a unique, for example, fixed-length number or the like to each of one or more programs to be managed. Each program in the support device 2 is managed by this number. In the following, when the program name or the program name is described, these may be such numbers.

フロントエンドコンパイラ220は、ソースコードから中間コードを生成する。この際に、フロントエンドコンパイラ220は、ソースコード中の変数を、後述する第1記憶部32における直接アドレスか間接アドレスのいずれかに対応付けて、中間コードを生成する。直接アドレスとは、変数が格納される記憶領域の位置を直接的に指し示すアドレスであり、ここでは相対的なアドレスも含まれるとする。間接アドレスとは、例えばポインタ等であり、間接アドレスが含まれるコード又は当該コードを機械語へと変換したコード等の実行がされないと、アクセス先の第1記憶部32のアドレスが特定できないものである。中間コードには、演算子と被演算子(オペランドとも記載する)が含まれる。オペランドは、変数が割り当てられる直接アドレス又は間接アドレスである。 The front-end compiler 220 generates intermediate code from the source code. At this time, the front-end compiler 220 associates the variables in the source code with either the direct address or the indirect address in the first storage unit 32, which will be described later, to generate the intermediate code. The direct address is an address that directly indicates the position of the storage area in which the variable is stored, and here, it is assumed that a relative address is also included. The indirect address is, for example, a pointer or the like, and the address of the access destination first storage unit 32 cannot be specified unless the code including the indirect address or the code obtained by converting the code into a machine language is executed. be. The intermediate code contains operators and operands (also referred to as operands). Operands are direct or indirect addresses to which variables are assigned.

また後述するように、フロントエンドコンパイラ220は、ソースコード中の1以上のインスタンスの互いの呼出関係に基づき、それらのインスタンスの元となる各プログラム間の呼出関係に係る呼出関係情報233を生成する。この際に、フロントエンドコンパイラ220は、記憶部23が記憶するインスタンス・プログラム対応情報232を用いる。なお、インスタンスとは、プログラムにデータを付加したものであり、例えば、プログラム中の変数に値を代入したものである。 Further, as will be described later, the front-end compiler 220 generates call relationship information 233 related to the call relationship between each program that is the source of those instances, based on the mutual call relationship of one or more instances in the source code. .. At this time, the front-end compiler 220 uses the instance program correspondence information 232 stored in the storage unit 23. An instance is an instance in which data is added to a program, for example, a value is assigned to a variable in the program.

フロントエンドコンパイラ220は、生成した呼出関係情報233に基づき、更に強制設定可否情報一覧234の生成を行う。強制設定可否情報一覧234とは、後述するように、プログラム毎に、強制設定を行うことが有り得るか否かを示す情報であり、例えば、プログラムの名称と当該プログラムに対する強制設定の可否を示す情報とを含む。 The front-end compiler 220 further generates a compulsory setting possibility information list 234 based on the generated call-related information 233. As will be described later, the forced setting availability information list 234 is information indicating whether or not forced setting can be performed for each program. For example, information indicating the name of the program and whether or not forced setting is possible for the program. And include.

バックエンドコンパイラ221は、フロントエンドコンパイラ220が生成した中間コードから機械語を生成する。この際に、バックエンドコンパイラ221は、強制設定可否情報一覧234を参照し、これに基づいて、強制設定処理を行うことが有るとしたプログラムについては、強制設定処理へのジャンプコードを含ませた機械語オブジェクトを生成し、一方、強制設定処理を行わないとしたプログラムについては、強制設定処理へのジャンプコードを含まない機械語オブジェクトを生成する。 The back-end compiler 221 generates machine language from the intermediate code generated by the front-end compiler 220. At this time, the back-end compiler 221 refers to the forced setting possibility information list 234, and includes a jump code to the forced setting process for the program that may perform the forced setting process based on the reference. For a program that generates a machine language object and does not perform forced setting processing, a machine language object that does not include a jump code to the forced setting processing is generated.

フロントエンドコンパイラ220又はバックエンドコンパイラ221は、後述する強制設定位置情報235を生成し、これを記憶部23に記憶する。 The front-end compiler 220 or the back-end compiler 221 generates forced setting position information 235, which will be described later, and stores this in the storage unit 23.

記憶部23に記憶されているプロジェクトプログラム一覧230は、プロジェクト管理部21により管理されているプログラムの一覧である。またこのプロジェクトプログラム一覧230には、ユーザにより直接入力されたプログラムや部品化されたプログラム等が含まれている。 The project program list 230 stored in the storage unit 23 is a list of programs managed by the project management unit 21. Further, the project program list 230 includes programs directly input by the user, programs made into parts, and the like.

変数・アドレス対応情報231は、プログラム中の変数と、コントローラ3の第1記憶部32のアドレスとを関係付けした情報である。フロントエンドコンパイラ220は、変数・アドレス対応情報231を用いることにより、変数を含むソースコードから、第1記憶部32における直接アドレスであって当該変数が割り当てられたアドレスを含む中間コードを作成する。 The variable / address correspondence information 231 is information in which the variable in the program is associated with the address of the first storage unit 32 of the controller 3. The front-end compiler 220 uses the variable / address correspondence information 231 to create an intermediate code including the address to which the variable is assigned, which is the direct address in the first storage unit 32, from the source code including the variable.

インスタンス・プログラム対応情報232は、プロジェクト管理部21により生成されるものであり、インスタンスと、その元のプログラムとを対応付けした情報である。フロントエンドコンパイラ220は、インスタンス・プログラム対応情報232を用いて呼出関係情報233を生成する。 The instance program correspondence information 232 is generated by the project management unit 21, and is information in which the instance is associated with the original program. The front-end compiler 220 generates call-related information 233 using the instance program correspondence information 232.

呼出関係情報233は、フロントエンドコンパイラ220により生成される情報であり、フロントエンドコンパイラ220が読み込んだプログラムがどのプログラムに呼び出されているのか、又はどのプログラムを呼び出すかを示す情報である。 The call-related information 233 is information generated by the front-end compiler 220, and is information indicating which program the program read by the front-end compiler 220 is called or which program is called.

強制設定可否情報一覧234は、フロントエンドコンパイラ220により生成され、ソースコードに含まれる各インスタンスの元となるプログラムに対する強制設定の可否を示す情報である。ここで、フロントエンドコンパイラ220が強制設定可能なプログラムとするものは、隠蔽され部品化されたプログラムではないプログラム、又は、隠蔽され部品化されたプログラムではないプログラムから直接呼び出されるプログラムである。隠蔽され部品化されたプログラムであって、且つ隠蔽され部品化されたプログラムではないプログラムから直接呼び出されないプログラムについては、フロントエンドコンパイラ220は、強制設定を行わない。 The compulsory setting possibility information list 234 is information generated by the front-end compiler 220 and indicating whether or not the compulsory setting is possible for the program that is the source of each instance included in the source code. Here, the program that can be forcibly set by the front-end compiler 220 is a program that is not a hidden and componentized program or a program that is directly called from a program that is not a hidden componentized program. The front-end compiler 220 does not forcibly set a program that is a hidden and componentized program and is not directly called from a program that is not a hidden componentized program.

強制設定位置情報一覧235は、フロントエンドコンパイラ220又はバックエンドコンパイラ221により生成される情報であり、機械語オブジェクトにおける強制設定処理へのジャンプコードの位置(例えば機械語オブジェクトのコードにおけるジャンプコードの行番号)と、当該強制設定処理の対象となる変数が格納される記憶領域を指し示すアドレスとを関係付けした情報の一覧である。なお、ここでは強制設定位置情報235におけるアドレスは直接アドレスであるとするが、間接アドレスであってもよい。 The forced setting position information list 235 is information generated by the front-end compiler 220 or the back-end compiler 221 and is the position of the jump code to the forced setting process in the machine language object (for example, the line of the jump code in the code of the machine language object). It is a list of information in which the number) is associated with the address indicating the storage area in which the variable to be the target of the forced setting process is stored. Although the address in the forced setting position information 235 is assumed to be a direct address here, it may be an indirect address.

通信部24は、バックエンドコンパイラ221により生成された機械語オブジェクトや強制設定位置情報一覧235等をコントローラ3に送信する。 The communication unit 24 transmits the machine language object generated by the back-end compiler 221, the forced setting position information list 235, and the like to the controller 3.

なお、支援装置2からコントローラ3に対し、強制設定指示情報が送信されてもよい。この強制設定指示情報とは、例えばコントローラ3における第1記憶部32のアドレス(直接アドレス)と、このアドレスの記憶領域に記憶されている変数に代入するための強制設定値とを関係付けした情報である。なお、当該強制設定指示情報に強制設定値が含まれない場合があってもよく、この場合、コントローラ3は当該変数に対しその初期値等を設定してもよい。当該初期値等の値は、後述する第2記憶部33又はプログラム実行管理部31において予め記憶されている。なお、この場合の初期値等の値も強制設定値と記載する。 The forced setting instruction information may be transmitted from the support device 2 to the controller 3. The forced setting instruction information is, for example, information in which the address (direct address) of the first storage unit 32 in the controller 3 is associated with the forced setting value to be assigned to the variable stored in the storage area of this address. Is. The compulsory setting instruction information may not include the compulsory setting value. In this case, the controller 3 may set the initial value or the like for the variable. Values such as the initial value are stored in advance in the second storage unit 33 or the program execution management unit 31, which will be described later. In addition, the value such as the initial value in this case is also described as the compulsory set value.

強制設定指示情報が支援装置2からコントローラ3へ送信される場合、ユーザインターフェース20を介し、ユーザにより、強制設定の対象の変数の変数名と、この変数に代入する強制設定値が、支援装置2に入力される。入力された変数名と強制設定値は、支援装置2における図示しない設定部に入力される。なお設定部は、ユーザインターフェース20、記憶部23、及び通信部24と接続されている。但し、これ以外の接続関係があってもよい。設定部は、記憶部23の変数・アドレス対応情報231を参照し、強制設定の対象の変数が格納される、コントローラ3の第1記憶部32のアドレスを取得する。そして設定部は、取得したアドレスと強制設定値とを関係付けした強制設定指示情報を、通信部24に出力する。通信部24は、当該強制設定指示情報をコントローラ3へ送信する。なお、強制設定指示情報は、支援装置2に代わり、又は支援装置2と共に、後述する監視装置からコントローラ3へ送信されてもよい。 When the compulsory setting instruction information is transmitted from the support device 2 to the controller 3, the variable name of the variable to be forcibly set by the user and the compulsory setting value assigned to this variable are set by the support device 2 via the user interface 20. Is entered in. The input variable name and forced setting value are input to a setting unit (not shown) in the support device 2. The setting unit is connected to the user interface 20, the storage unit 23, and the communication unit 24. However, there may be a connection relationship other than this. The setting unit refers to the variable / address correspondence information 231 of the storage unit 23, and acquires the address of the first storage unit 32 of the controller 3 in which the variable to be forcibly set is stored. Then, the setting unit outputs the compulsory setting instruction information in which the acquired address and the compulsory setting value are related to the communication unit 24. The communication unit 24 transmits the forced setting instruction information to the controller 3. The forced setting instruction information may be transmitted from the monitoring device described later to the controller 3 instead of the support device 2 or together with the support device 2.

コントローラ3の通信部30は、支援装置2から機械語オブジェクト、強制設定位置情報一覧235、及び強制設定指示情報等を受信し、これらをプログラム実行管理部31へ出力する。通信部30を介してプログラム実行管理部31が支援装置2から受信した機械語オブジェクトは、プログラム実行部310において処理され、強制設定位置情報一覧235は、強制設定管理部311により第2記憶部33へ記憶される。また支援装置2又は監視装置からの強制設定指示情報は、ここでは強制設定管理部311において処理されるものとするが、プログラム実行部310により処理されてもよい。 The communication unit 30 of the controller 3 receives the machine language object, the forced setting position information list 235, the forced setting instruction information, and the like from the support device 2, and outputs these to the program execution management unit 31. The machine language object received from the support device 2 by the program execution management unit 31 via the communication unit 30 is processed by the program execution unit 310, and the forced setting position information list 235 is stored in the second storage unit 33 by the forced setting management unit 311. Is memorized in. Further, the compulsory setting instruction information from the support device 2 or the monitoring device is processed by the compulsory setting management unit 311 here, but may be processed by the program execution unit 310.

プログラム実行管理部31におけるプログラム実行部310は、機械語オブジェクトを実行する。プログラム実行部310は、強制設定処理へのジャンプコードを伴わない機械語オブジェクトについては、これをそのまま実行し、強制設定処理へのジャンプコードを伴う機械語オブジェクトについては、当該機械語オブジェクト中のジャンプコードをNOP(No Operation)命令に置き換えたコード、又はジャンプコードが示すジャンプ先の強制設定処理のコードを実行する。このジャンプコードのNOP命令への置き換えは、プログラム実行部310の機械語オブジェクトの実行に先立ち、プログラム実行部310又は強制設定管理部311により行われる。 The program execution unit 310 in the program execution management unit 31 executes the machine language object. The program execution unit 310 executes the machine language object as it is without a jump code to the forced setting process, and jumps in the machine language object with a jump code to the forced setting process. The code in which the code is replaced with the NOP (No Operation) instruction or the code for the forced setting process of the jump destination indicated by the jump code is executed. The replacement of the jump code with the NOP instruction is performed by the program execution unit 310 or the compulsory setting management unit 311 prior to the execution of the machine language object of the program execution unit 310.

ジャンプ先の、強制設定処理に係るコード(ジャンプ先コードとも記載する)は、プログラム実行部310、強制設定管理部311、第2記憶部33、又はその他の不図示の記憶部等に記憶されている。 The code related to the forced setting process (also referred to as the jump destination code) of the jump destination is stored in the program execution unit 310, the forced setting management unit 311, the second storage unit 33, or other storage unit (not shown). There is.

プログラム実行部310は、強制設定指示情報を受け取らない間は、ジャンプコードに代わりNOP命令を実行する。これにより、無駄な強制設定処理の実行が回避できる。 The program execution unit 310 executes a NOP instruction instead of the jump code while the forced setting instruction information is not received. As a result, unnecessary execution of forced setting processing can be avoided.

強制設定管理部311(又はプログラム実行部310)は、強制設定指示情報を取得した場合、当該強制設定指示情報中のアドレスを、第2記憶部33に記憶されている強制設定位置情報一覧235において検索する。そして、強制設定管理部311(又はプログラム実行部310)は、このアドレスと関係付けられた、ジャンプコードの機械語オブジェクトにおける位置を取得する。強制設定管理部311が当該位置を取得する場合、強制設定管理部311は、機械語オブジェクトにおいてNOP命令に置き換えられていた当該位置のコードをジャンプコードへと戻して処理を実行するよう、プログラム実行部310に指示する。これに応じてプログラム実行部310は、当該位置におけるNOP命令をジャンプコードへ戻し、これを実行する。なお、NOP命令をジャンプコードへ変更する処理は、強制設定管理部311が行ってもよい。プログラム実行部310が上記位置を取得する場合、プログラム実行部310は、当該位置のNOP命令をジャンプコードに戻し、これを実行する。 When the compulsory setting management unit 311 (or the program execution unit 310) acquires the compulsory setting instruction information, the address in the compulsory setting instruction information is stored in the second storage unit 33 in the compulsory setting position information list 235. Search for. Then, the forced setting management unit 311 (or the program execution unit 310) acquires the position of the jump code in the machine language object associated with this address. When the forced setting management unit 311 acquires the position, the forced setting management unit 311 executes a program so as to return the code at the position replaced by the NOP instruction in the machine language object to the jump code and execute the process. Instruct unit 310. In response to this, the program execution unit 310 returns the NOP instruction at the position to the jump code and executes it. The process of changing the NOP instruction to the jump code may be performed by the forced setting management unit 311. When the program execution unit 310 acquires the above position, the program execution unit 310 returns the NOP instruction at the position to the jump code and executes it.

強制設定管理部311は、強制設定指示情報において強制設定の対象となるアドレスが、第2記憶部33に記憶されている強制設定アドレス情報一覧330に記憶されていない場合に、当該アドレスを強制設定アドレス情報一覧330に登録する。なお、強制設定アドレス情報一覧330は、コントローラ3が受信した1以上の強制設定指示情報の各々における、第1記憶部32のアドレスと、当該アドレスが示す記憶領域に設定される強制設定値とを互いに対応付けた情報の一覧である。 When the address to be forcibly set in the forced setting instruction information is not stored in the forced setting address information list 330 stored in the second storage unit 33, the forced setting management unit 311 forcibly sets the address. Register in the address information list 330. The forced setting address information list 330 contains the address of the first storage unit 32 and the forced setting value set in the storage area indicated by the address in each of the one or more forced setting instruction information received by the controller 3. It is a list of information associated with each other.

プログラム実行部310は、ジャンプ先コードの実行の際に、強制設定アドレス情報一覧330を参照し、強制設定の対象となるアドレスが指し示す記憶領域に格納するための強制設定値を取得する。あるいは、強制設定管理部311が、強制設定アドレス情報一覧330から取得した強制設定値を、プログラム実行部310へ通知してもよい。 When executing the jump destination code, the program execution unit 310 refers to the compulsory setting address information list 330 and acquires the compulsory setting value to be stored in the storage area pointed to by the address to be compulsorily set. Alternatively, the compulsory setting management unit 311 may notify the program execution unit 310 of the compulsory setting value acquired from the compulsory setting address information list 330.

強制設定管理部311は、コントローラ3が支援装置2等から強制設定の解除の指示を受けた場合に、当該解除指示のアドレスに係る情報が強制設定アドレス記憶部330にある場合に、これを消去してもよいし、当該情報に解除指示があった旨を付加してもよい。 When the controller 3 receives an instruction to cancel the forced setting from the support device 2 or the like, the forced setting management unit 311 deletes the information related to the address of the release instruction when the information related to the address of the release instruction is in the forced setting address storage unit 330. Alternatively, the fact that the cancellation instruction has been given may be added to the information.

強制設定管理部311は、コントローラ3が支援装置2等から強制設定の解除の指示を受けた場合に、当該解除指示におけるアドレスと関係付けられた、コードの位置を、強制設定位置情報一覧235を参照して取得する。強制設定管理部311は、当該位置における機械語オブジェクトをNOP命令に戻すようプログラム実行部310に指示、又は、機械語オブジェクトにおける当該位置のジャンプコードをNOP命令に戻す。強制設定管理部311からジャンプコードをNOP命令へと戻す指示を受けたプログラム実行部310は、ジャンプコードをNOP命令へと戻す。 When the controller 3 receives an instruction to cancel the forced setting from the support device 2 or the like, the forced setting management unit 311 sets the position of the code associated with the address in the release instruction to the forced setting position information list 235. Refer to and get. The forced setting management unit 311 instructs the program execution unit 310 to return the machine language object at the position to the NOP instruction, or returns the jump code at the position in the machine language object to the NOP instruction. Upon receiving an instruction from the forced setting management unit 311 to return the jump code to the NOP instruction, the program execution unit 310 returns the jump code to the NOP instruction.

第1記憶部32の各アドレスの記憶領域には、上述したように、制御対象装置の制御に係るパラメータに相当する変数などが記憶されている。このような変数に対し、強制設定値が代入されることにより、制御対象装置を手動でコントロールすることが可能となる。 As described above, variables and the like corresponding to the parameters related to the control of the control target device are stored in the storage area of each address of the first storage unit 32. By substituting the forced setting value for such a variable, it becomes possible to manually control the controlled device.

第2記憶部33は、強制設定アドレス情報一覧330と強制設定位置情報一覧235等を記憶する。 The second storage unit 33 stores the forced setting address information list 330, the forced setting position information list 235, and the like.

図2は、支援装置2においてユーザインターフェース20を介し表示装置によりユーザに提供される開発環境を例示する。図2における上部のウィンドウにおいて左側に示された、「プロジェクトツリーウィンドウ」とある部分には、記憶部23に記憶されるプロジェクトプログラム一覧230におけるプログラム間の関係が示されている。ここで示されるように、一連のプログラムのまとまりであるプロジェクトには、ライブラリとして、「LibProject」が含まれていることがわかる。なお、ライブラリとは、部品化したプログラムをひとまとめにしたものであり、ここではユーザに対し内部が隠蔽されたものを指すものとする。またプロジェクトには、ライブラリに含まれないプログラムとしてUFB2やLADDER等が含まれている。 FIG. 2 illustrates a development environment provided to the user by the display device via the user interface 20 in the support device 2. The "project tree window" shown on the left side of the upper window in FIG. 2 shows the relationship between the programs in the project program list 230 stored in the storage unit 23. As shown here, it can be seen that the project, which is a set of programs, includes "LiveProject" as a library. It should be noted that the library is a collection of programs that have been made into parts, and here, it is assumed that the inside is hidden from the user. In addition, the project includes UFB2, LADDER, and the like as programs that are not included in the library.

図2において上に示されるウィンドウの中央から右側における部分(プロジェクトツリーウィンドウの右側)は、エディタ部分である。ユーザは、このエディタを用いることにより、プログラムにおける変数に値を代入するなどしてインスタンスの作成を行える。図2におけるエディタ部分には、インスタンス(Lib1_1_1)が示されている。当該インスタンスLib1_1_1は、プログラムLib1_1のインスタンスであって、プログラムLib1_1の変数V000に値が代入され、V001の値の出力するものである。また当該図におけるNewVar1、2は、端子を示し、プログラムLib1_1に含まれるコードに対応する。NewVar1を介してV000の値がLib1_1に代入され、NewVar2を介してV001の値がLib1_1から出力される。 The part from the center to the right side of the window shown above in FIG. 2 (the right side of the project tree window) is the editor part. By using this editor, the user can create an instance by assigning a value to a variable in the program. An instance (Lib1_1_1) is shown in the editor portion in FIG. The instance Lib1_1_1 is an instance of the program Lib1_1, and a value is assigned to the variable V000 of the program Lib1_1 and the value of V001 is output. Further, NewVar1 and 2 in the figure indicate terminals and correspond to the codes included in the program Lib1-1. The value of V000 is assigned to Lib1-1 via NewVar1, and the value of V001 is output from Lib1-1 via NewVar2.

図2の下部に示される「プロジェクトツリーウィンドウ」を参照すると、ライブラリ「LibProject」には、プログラム「Lib1_1」と「Lib1_2」が含まれることがわかる。
図2を参照して説明した上記開発環境は、プロジェクト管理部21により生成される。
With reference to the "project tree window" shown at the bottom of FIG. 2, it can be seen that the library "LibProject" includes the programs "Lib1_1" and "Lib1_2".
The development environment described with reference to FIG. 2 is generated by the project management unit 21.

図3は、呼出関係情報233を例示する。呼出関係情報233は、入力されたソースコードの行をフロントエンドコンパイラ220が順次読み出す際に、呼び出されるプログラムを呼出元のプログラムに関係付け、階層的に表したものである。なお、ソースコード上においては、インスタンスがインスタンスを呼び出す。フロントエンドコンパイラ220は、呼出関係情報233の生成において、インスタンス・プログラム対応情報232を用いて、呼出関係情報233を生成する。ここで、インスタンス・プログラム対応情報の一例を図4に示す。図4を参照すると、例えば「_siLAG2」から「_siLAG16」までの各インスタンスは、プログラム「_siLAG」に対しデータが付加されたものであることがわかる。 FIG. 3 illustrates the call-related information 233. The call-related information 233 is hierarchically represented by associating the called program with the calling program when the front-end compiler 220 sequentially reads the input source code line. In the source code, the instance calls the instance. The front-end compiler 220 uses the instance program correspondence information 232 to generate the call-related information 233 in the generation of the call-related information 233. Here, an example of the instance program correspondence information is shown in FIG. With reference to FIG. 4, for example, it can be seen that each instance from "_siLAG2" to "_siLAG16" has data added to the program "_siLAG".

図3に戻ると、この上部に示される呼出関係情報233は、プログラム名を行毎に並べたものである。当該呼出関係情報233において、左側に示される数字は、右側にその名称が示されるプログラムの呼び出しの階層を表す。なお、図3におけるプログラムは、図2のプロジェクトツリーウィンドウに示されているものである。図3を参照して呼出関係情報233について具体的に説明すると、まずソースコード上、フロントエンドコンパイラ220によりプログラム「LADDER」のインスタンスが呼び出される。この「LADDER」のインスタンスの階層は1となる。次に、この「LADDER」のインスタンスにより呼び出されるものは、プログラム「Lib1_1」とプログラム「UFB2」の各インスタンスである。このため、これらの階層は、上記「LADDER」のインスタンスの階層1の次の2となる。続いて、「Lib1_1」のインスタンスから呼び出されるインスタンスは、プログラム「Lib1_2」のインスタンスであり、呼び出し元の「Lib1_1」のインスタンスの階層2の次の3となる。 Returning to FIG. 3, the call-related information 233 shown at the upper part is a program name arranged line by line. In the call relationship information 233, the number shown on the left side represents the call hierarchy of the program whose name is shown on the right side. The program in FIG. 3 is shown in the project tree window of FIG. To specifically explain the call-related information 233 with reference to FIG. 3, first, an instance of the program "LADDER" is called by the front-end compiler 220 on the source code. The hierarchy of the instance of this "LADDER" is 1. Next, what is called by this "LADDER" instance is each instance of the program "Lib1-1" and the program "UFB2". Therefore, these layers are next to the layer 1 of the above-mentioned "LADDER" instance. Subsequently, the instance called from the instance of "Lib1_1" is an instance of the program "Lib1_2", and becomes 3 next to the layer 2 of the instance of the calling "Lib1_1".

図3に示されるように、フロントエンドコンパイラは、インスタンスの階層と共に、そのインスタンスの名称に代え、そのインスタンスの元となるプログラムの名称を、呼出関係情報233に含ませる。この際に、上述したインスタンス・プログラム対応情報232が参照される。図3の呼出関係情報233から、呼び出し側のインスタンスは、呼び出される側のインスタンスの階層から1を差し引いた数の階層にあることがわかる。また、呼び出し側のインスタンスの元のプログラムの名称は、呼び出される側のインスタンスの元のプログラムの名称よりも前(上の行)に置かれる。そして、呼び出し側のインスタンスの元のプログラムの名称を含む行は、これと同じ名称を含む他の行に比べ、呼び出される側のインスタンスの元のプログラムの名称を含む行から最も近いところに配置される。このため、階層3の「Lib1_1」の呼び出し元は、階層2の「UFB2」のインスタンスとなる。また、階層4の「Lib1_2」のインスタンスの呼び出し元は、階層3の「Lib1_1」のインスタンスである。 As shown in FIG. 3, the front-end compiler includes the name of the program that is the source of the instance in the call relationship information 233 instead of the name of the instance together with the hierarchy of the instance. At this time, the above-mentioned instance program correspondence information 232 is referred to. From the call relationship information 233 of FIG. 3, it can be seen that the calling instance is in the hierarchy of the number obtained by subtracting 1 from the hierarchy of the called instance. Also, the name of the original program of the calling instance is placed before (upper line) the name of the original program of the called instance. Then, the line containing the name of the original program of the calling instance is placed closest to the line containing the name of the original program of the called instance compared to other lines containing the same name. NS. Therefore, the caller of "Lib1_1" in layer 3 becomes an instance of "UFB2" in layer 2. Further, the caller of the instance of "Lib1_2" in the layer 4 is the instance of "Lib1_1" in the layer 3.

フロントエンドコンパイラ220は、階層の数を用いる呼出関係情報233に代わり、インスタンスの元のプログラムの呼出関係をツリーで表した呼出関係情報233を生成してもよい。このツリーを用いた呼出関係情報233を、図4の下部に示す。この図から、「LADDER」のインスタンスは、「Lib1_1」と「UFB2」の各インスタンスを呼び出し、「LADDER」のインスタンスに呼び出された「Lib1_1」のインスタンスは、「Lib1_2」のインスタンスを呼び出すことがわかる。また「LADDER」のインスタンスに呼び出された「UFB2」のインスタンスは、「Lib1_1」のインスタンスを呼び出し、この呼び出された「Lib1_1」のインスタンスは、「Lib1_2」のインスタンスを呼び出すことがわかる。 The front-end compiler 220 may generate call-relationship information 233 that represents the call-relationship of the original program of the instance in a tree instead of the call-relationship information 233 that uses the number of layers. Call-related information 233 using this tree is shown at the bottom of FIG. From this figure, it can be seen that the instance of "LADDER" calls each instance of "Lib1_1" and "UFB2", and the instance of "Lib1_1" called by the instance of "LADDER" calls the instance of "Lib1_2". .. It can also be seen that the instance of "UFB2" called by the instance of "LADDER" calls the instance of "Lib1_1", and the called instance of "Lib1_1" calls the instance of "Lib1_2".

呼出関係情報233は、フロントエンドコンパイラ220により、以下に詳述する強制設定可否情報一覧234の生成に先立ち生成される。フロントエンドコンパイラ220は、生成した呼出関係情報233を用いて、強制設定可否情報一覧234を生成する。なお、呼出関係情報233の生成方法は既知のものであることから、説明を省略する。 The call-related information 233 is generated by the front-end compiler 220 prior to the generation of the compulsory setting availability information list 234 described in detail below. The front-end compiler 220 uses the generated call-related information 233 to generate a forced setting availability information list 234. Since the method of generating the call-related information 233 is known, the description thereof will be omitted.

図5を参照して、強制設定可否情報一覧234についての説明を行う。図5は、強制設定処理情報一覧234を例示する。強制設定可否情報一覧234は、ライブラリに含まれないプログラムから直接呼び出されない、ライブラリに含まれるプログラム(第1のプログラムとも記載する)に対し、コントローラ3が強制設定を行わないようにするための情報であり、また、ライブラリに含まれないプログラム、又はライブラリに含まれないプログラムから直接呼び出されるプログラム(これらのプログラムを第2のプログラムとも記載する)に対して強制設定が行われることを可能とするための情報である。 The compulsory setting possibility information list 234 will be described with reference to FIG. FIG. 5 illustrates a list of forced setting processing information 234. The forced setting availability information list 234 is for preventing the controller 3 from performing forced setting for a program included in the library (also referred to as the first program) that is not directly called from a program not included in the library. It is information, and it is possible to force settings for programs that are not included in the library or programs that are called directly from programs that are not included in the library (these programs are also referred to as the second program). Information to do.

強制設定可否情報一覧234は、フロントエンドコンパイラ220により生成され、バックエンドコンパイラ221は、強制設定可否情報一覧234に基づいて、機械語を生成する。なお、ライブラリに含まれるプログラムであっても、ライブラリに含まれないプログラムから直接呼び出されるプログラムについては、当該プログラムにおける変数にユーザが強制設定値を格納する場合もあるため、このようなプログラムの強制設定を可能とした。 The compulsory setting possibility information list 234 is generated by the front-end compiler 220, and the back-end compiler 221 generates a machine language based on the compulsory setting possibility information list 234. Even if the program is included in the library, for a program that is called directly from a program that is not included in the library, the user may store the forced setting value in the variable in the program. The setting is possible.

図5に例示される強制設定可否情報一覧234は、図3の上部に示す呼出関係情報233をフロントエンドコンパイラ220が読み出し生成したものである。図5の上部に示される強制設定可否情報一覧234は、初期状態におけるものである。また図5の下部に示される強制設定可否情報一覧234は、図3上部の呼出関係情報233において4行目となる「2 UFB2」までをフロンドエンドコンパイラ220が読み込んで生成したものである。 The compulsory setting availability information list 234 exemplified in FIG. 5 is generated by reading the call-related information 233 shown in the upper part of FIG. 3 by the front-end compiler 220. The compulsory setting availability information list 234 shown at the upper part of FIG. 5 is in the initial state. Further, the compulsory setting possibility information list 234 shown at the lower part of FIG. 5 is generated by reading up to "2 UFB2" which is the fourth line in the call relation information 233 at the upper part of FIG. 3 by the front-end compiler 220.

「管理番号」とは、フロントエンドコンパイラ220が、呼出関係情報233から順次読み出すインスタンスの元となるプログラムに対して付す連番である。また「強制設定の可否」とは、プログラムが強制設定の対象となり得るかを示すものであり、第1のプログラムの場合は「否」、第2のプログラムの場合は「可」が登録される。なお、初期状態の強制設定可否情報一覧234においては、プログラム名とその強制設定の可否が登録される各欄は、初期値のNULLが登録されている。 The "management number" is a serial number assigned to the program that is the source of the instances that the front-end compiler 220 sequentially reads from the call-related information 233. Further, "whether or not compulsory setting is possible" indicates whether or not the program can be subject to compulsory setting, and "no" is registered in the case of the first program and "possible" is registered in the case of the second program. .. In the compulsory setting possibility information list 234 in the initial state, the initial value NULL is registered in each column in which the program name and the compulsory setting propriety are registered.

図3よりフロントエンドコンパイラ220は、最初に(管理番号:1)、プログラム名「LADDER」を読み出す。このプログラム「LADDER」は、図2を参照するとライブラリに含まれないことから、フロントエンドコンパイラ220は強制設定が可能と判定する。なお、この判定処理については後に詳述する。 From FIG. 3, the front-end compiler 220 first reads the program name "LADDER" (control number: 1). Since this program "LADDER" is not included in the library with reference to FIG. 2, the front-end compiler 220 determines that forced setting is possible. The determination process will be described in detail later.

同様に、フロントエンドコンパイラ220は、次に(管理番号:2)、呼出関係情報233(図3)から、プログラム名「Lib1_1」を読み出す。このプログラム「Lib1_1」は、図2を参照するとライブラリに含まれているが、ライブラリに含まれないプログラム「LADDER」より直接呼び出されている。このため、フロントエンドコンパイラ220は、プログラム「Lib1_1」に対し強制設定処理が可能であると判定する。 Similarly, the front-end compiler 220 then reads the program name "Lib1-1" from the call-related information 233 (FIG. 3) (control number: 2). This program "Lib1-1" is included in the library with reference to FIG. 2, but is directly called by the program "LADDER" not included in the library. Therefore, the front-end compiler 220 determines that the forced setting process can be performed on the program "Lib1-1".

なお、図3の上部に示す呼出関係情報233において、同じプログラム名の「Lib1_1」が含まれる行が後の行において他にもある。そしてその異なる行では、同じプログラム名であっても、そのインスタンスの呼出元や階層等が異なることもある。これにより、呼出関係情報233において、先の行では或るプログラムが第2のプログラムであっても、後の行において第1のプログラムになる場合もあり得る。そしてこの場合、フロントエンドコンパイラ220が、一旦、呼出関係情報233における先の行のプログラムに対し強制設定を可能としてしまえば、その行より後の行の同じ名称のプログラムについては、これがその行において第1のプログラムであっても、そのプログラムについては強制設定可否情報234上では強制設定が可能なままとなる。これにより、そのようなプログラムからバックエンドコンパイラ221が生成する機械語オブジェクトには、強制設定処理へのジャンプコードが含められることが不可能にはならなくなる。このようなことは、ライブラリに含まれる他のプログラムについても同様である。詳細は後述する。 In the call-related information 233 shown at the upper part of FIG. 3, there is another line in a later line that includes "Lib1-1" of the same program name. And in the different lines, even if the program name is the same, the caller, hierarchy, etc. of the instance may be different. As a result, in the call relationship information 233, even if a certain program is the second program in the previous line, it may become the first program in the later line. Then, in this case, once the front-end compiler 220 enables forcible setting for the program on the previous line in the call relationship information 233, this is on that line for the program with the same name on the line after that line. Even if it is the first program, the compulsory setting remains possible on the compulsory setting possibility information 234 for that program. This makes it possible for the machine language object generated by the backend compiler 221 from such a program to include a jump code to the forced setting process. The same is true for other programs included in the library. Details will be described later.

また同様に、フロントエンドコンパイラ220は、呼出関係情報233(図3)において、次に(管理番号:3)、プログラム名「Lib1_2」を読み出す。プログラム「Lib1_2」は、図2より、ライブラリに含まれ、また呼び出し関係情報233(図3)より、ライブラリに含まれないプログラムから直接呼び出されないプログラムであることがわかる。これによりプログラム「Lib1_2」は、第1のプログラムであり、フロントエンドコンパイラ220は、このプログラム「Lib1_2」に対し強制設定処理を行わないとしている。なお、呼出関係情報233において、プログラム名「Lib1_2」が含まれる行が、これより後の行にもある場合で、その行のプログラム「Lib1_2」がライブラリに含まれないプログラムより直接呼び出される場合には、強制設定処理情報232における「強制設定の可否」は「可」に更新され、これによりプログラム「Lib1_2」に対応する機械語オブジェクトは、強制設定処理へのジャンプコード等が含められることが可能になる。 Similarly, the front-end compiler 220 reads the program name "Lib1_2" next (control number: 3) in the call-related information 233 (FIG. 3). From FIG. 2, it can be seen that the program "Lib1-2" is included in the library, and from the call-related information 233 (FIG. 3), it can be seen that the program is not directly called from a program not included in the library. As a result, the program "Lib1_2" is the first program, and the front-end compiler 220 does not perform compulsory setting processing on this program "Lib1-2". In the call-related information 233, when the line containing the program name "Lib1-2" is also in a line after this, and the program "Lib1-2" in that line is directly called from a program not included in the library. Is updated to "Yes" in the forced setting processing information 232, so that the machine language object corresponding to the program "Lib1-2" can include a jump code to the forced setting processing. become.

図6は、フロントエンドコンパイラ220による強制設定処理情報の生成処理のフローを例示する。 FIG. 6 illustrates a flow of forced setting processing information generation processing by the front-end compiler 220.

まずフロントエンドコンパイラ220は、呼出関係情報233の先頭の行を読み込み、「処理対象行」に1を設定する(ステップS100)。フロントエンドコンパイラ220は、プログラム名と、そのプログラムのインスタンスの階層の情報(階層情報とも記載する)とを取得した場合(ステップS101:Yes)、当該プログラム名が強制設定可否情報一覧234に既に登録されているか、検索を行う(ステップS102)。プログラム名が登録されていない場合(ステップS103:No)、フロントエンドコンパイラ220は、強制設定可否情報一覧234に、このプログラム名を登録すると共に、このプログラムに対する強制設定の可否として「否」を登録する(ステップS104)。 First, the front-end compiler 220 reads the first line of the call-related information 233 and sets 1 in the “processed line” (step S100). When the front-end compiler 220 acquires the program name and the hierarchical information (also described as the hierarchical information) of the instance of the program (step S101: Yes), the program name is already registered in the compulsory setting availability information list 234. It is searched for whether or not it has been performed (step S102). When the program name is not registered (step S103: No), the front-end compiler 220 registers this program name in the compulsory setting availability information list 234 and also registers "No" as the compulsory setting availability for this program. (Step S104).

続いて、フロントエンドコンパイラ220は、プロジェクトプログラム一覧230におけるライブラリにおいて、ステップS100(又はステップS111)において読み出したプログラム名の検索処理を実行する(ステップS105)。 Subsequently, the front-end compiler 220 executes a search process for the program name read in step S100 (or step S111) in the library in the project program list 230 (step S105).

なお、ステップS103において、ステップS100(又はステップS111)で読み込んだプログラム名が既に強制設定可否情報一覧234に登録されている場合には(ステップS103:Yes)、フロントエンドコンパイラ220は、ステップS104の処理を行わず、ステップS105の処理を実行する。 In step S103, if the program name read in step S100 (or step S111) is already registered in the compulsory setting availability information list 234 (step S103: Yes), the front-end compiler 220 is set in step S104. The process of step S105 is executed without performing the process.

ステップS105において、ステップS100(又はステップS111)で読み出したプログラムがライブラリにない場合(ステップS106:No)、フロントエンドコンパイラ220は、強制設定可否情報一覧234において、当該プログラムは強制設定が可能であるとして「強制設定の可否」に「可」を登録する(ステップS107)。この処理により、フロントエンドコンパイラ220は、呼出関係情報233において順次その名称が読み出されるプログラムのうち、ライブラリにないプログラムを抽出して、これに対し強制設定を可能とできる。 In step S105, when the program read in step S100 (or step S111) does not exist in the library (step S106: No), the front-end compiler 220 can forcibly set the program in the compulsory setting availability information list 234. As a result, "possible" is registered in "possible or not forcible setting" (step S107). By this process, the front-end compiler 220 can extract a program whose name is sequentially read out in the call-related information 233 and which is not in the library, and can make a compulsory setting for the program.

ステップS105において、ステップS100(又はステップS111)で読み出したプログラムがライブラリにある場合には(ステップS106:Yes)、フロントエンドコンパイラ220は、当該プログラムの呼び出し元のプログラムの名称を取得する(ステップS108)。このステップS108の処理については、より詳しく後述する。 In step S105, if the program read in step S100 (or step S111) is in the library (step S106: Yes), the front-end compiler 220 acquires the name of the program that called the program (step S108). ). The process of step S108 will be described in more detail later.

フロントエンドコンパイラ220は、ステップS108において取得したプログラム名がライブラリにあるか検索する(ステップS109)。 The front-end compiler 220 searches the library for the program name acquired in step S108 (step S109).

ステップS108において取得したプログラム名がライブラリにない場合(ステップS110:No)、フロントエンドコンパイラ220は、ステップS105において名称を検索対象としたプログラムは強制設定処理が可能であるとして、「強制設定の可否」に「可」を登録する(ステップS107)。この処理により、フロントエンドコンパイラ220は、呼出関係情報233において順次その名称が読み出されるプログラムのうち、ライブラリに含まれないプログラムから直接呼び出されるプログラムを抽出し、これに対し強制設定を可能とできる。 When the program name acquired in step S108 is not in the library (step S110: No), the front-end compiler 220 considers that the program whose name is searched in step S105 can be forcibly set, and "whether or not forcible setting is possible". Is registered in "OK" (step S107). By this process, the front-end compiler 220 can extract a program that is directly called from a program that is not included in the library from the programs whose names are sequentially read out in the call-related information 233, and can make a compulsory setting for the program.

フロントエンドコンパイラ220は、「処理対象行」に1を加算し、呼出関係情報233における次の行を読み出し(ステップS111)、この行におけるプログラムについて、上記ステップS101からステップS107(ステップS106においてYesの場合には、ステップS108からステップS110の処理を含む)を繰り返す。 The front-end compiler 220 adds 1 to the "processed line", reads the next line in the call relationship information 233 (step S111), and describes the program in this line from step S101 to step S107 (Yes in step S106). In the case, the process of steps S108 to S110 is included) is repeated.

ステップS106及びステップS110における各処理により、第2のプログラムとして判定されたプログラムは、ステップS107において強制設定が可能なプログラムとして強制設定可否情報一覧234に登録される。そして一旦、強制設定が可能なプログラムとして登録されたものは、その後に同じ名称が呼出関係情報233から読み込まれても、強制設定可否情報一覧234において「強制設定の可否」に「否」を登録されない。同様に、呼出関係情報233の或る行からそのプログラム名を読み込まれ、強制設定可否情報一覧234において「強制設定の可否」に「否」を登録されたプログラムであっても、呼出関係情報233のその後の行から同じプログラム名が呼び出され、第2のプログラムとして判定され、強制設定が可能になることもある。 The program determined as the second program by each process in step S106 and step S110 is registered in the compulsory setting possibility information list 234 as a program that can be compulsorily set in step S107. Then, once the program is registered as a program that can be forcibly set, even if the same name is subsequently read from the call-related information 233, "No" is registered in "Forcible setting" in the "Forced setting availability information list 234". Not done. Similarly, even if the program name is read from a certain line of the call-related information 233 and "No" is registered in "Forcible setting" in the Forced setting availability information list 234, the call-related information 233 is registered. The same program name is called from the line after, and it is determined as the second program, and forced setting may be possible.

図7は、ステップS108における処理のフローを例示する。まずフロントエンドコンパイラ220は、「呼出元検索行」に処理対象行−1を設定する(ステップS400)。呼出元検索行が0であれば(ステップS401:Yes)、フロントエンドコンパイラ220は、呼び出し元のプログラム名が無い状態でリターンし(ステップS402)、上述したステップS109の処理に移る。なおこの場合、ステップS109に続くステップS110の判定結果は、Noとなる。 FIG. 7 illustrates a flow of processing in step S108. First, the front-end compiler 220 sets the processing target line-1 in the "caller search line" (step S400). If the caller search line is 0 (step S401: Yes), the front-end compiler 220 returns without the caller's program name (step S402), and proceeds to the process of step S109 described above. In this case, the determination result of step S110 following step S109 is No.

ステップS401において、呼出元検索行が0でなければ(ステップS401:No)、フロントエンドコンパイラ220は、呼出関係情報233における呼出元検索行のプログラムの階層情報を取得する(ステップS403)。このステップS403において取得した階層情報における階層が、処理対象行におけるプログラムの階層から1を引いた数の場合(ステップS404:Yes)、フロントエンドコンパイラ220は、呼出元検索行におけるプログラムを呼び出し元とし、この呼び出し元のプログラムの名称を取得してリターンする(ステップS405)。フロントエンドコンパイラ220は、これに続いてステップS109の上述した処理を実行する。 If the caller search line is not 0 in step S401 (step S401: No), the front-end compiler 220 acquires the hierarchical information of the program of the caller search line in the call relationship information 233 (step S403). When the hierarchy in the hierarchy information acquired in step S403 is the number obtained by subtracting 1 from the hierarchy of the program in the processing target line (step S404: Yes), the front-end compiler 220 uses the program in the caller search line as the caller. , Acquires the name of the calling program and returns (step S405). The front-end compiler 220 subsequently executes the above-described processing in step S109.

ステップS403においてフロントエンドコンパイラ220が取得した階層情報における階層が、処理対象行におけるプログラムの階層から1を引いたものと等しくない場合(ステップS404:No)、フロントエンドコンパイラ220は、呼出元検索行から1を引いたものを、新たに呼出元検索行として置き換えて(ステップS406)、ステップS400の処理へ戻り、同様の処理を繰り返す。 When the hierarchy in the hierarchical information acquired by the front-end compiler 220 in step S403 is not equal to the program hierarchy in the processing target line minus 1 (step S404: No), the front-end compiler 220 uses the caller search line. Subtracting 1 from is replaced with a new caller search line (step S406), the process returns to step S400, and the same process is repeated.

図6、7に示されるフロントエンドコンパイラ220の処理により、図5の上部に例示される初期状態の強制設定可否情報234から、同図の下部に例示される強制設定可否情報234が生成される。 By the processing of the front-end compiler 220 shown in FIGS. ..

なおここではフロントエンドコンパイラ220は、インスタンス・プログラム対応情報232を参照して、プログラム同士の呼出関係情報233を作成し、これを用いて強制設定可否情報234を作成したが、これに代わりフロントエンドコンパイラ220は、インスタンス同士の呼出関係に係る呼出関係情報233を生成し、これを用いて強制設定処理情報234を生成してもよい。この場合、上記ステップS100において、フロントエンドコンパイラ220が取得するのは、プログラム名ではなく、インスタンス名となり、またフロントエンドコンパイラ220は、ステップS101に続き、ステップS102に先立ち、インスタンス・プログラム対応情報234を参照して、ステップS100で取得したインスタンス名からプログラム名を取得する。 Here, the front-end compiler 220 creates call-relationship information 233 between programs with reference to the instance program correspondence information 232, and uses this to create compulsory setting availability information 234, but instead of this, the front-end compiler 220 The compiler 220 may generate call relationship information 233 related to the call relationship between instances, and may use this to generate forced setting processing information 234. In this case, in step S100, the front-end compiler 220 acquires the instance name instead of the program name, and the front-end compiler 220 follows step S101 and prior to step S102, instance program correspondence information 234. The program name is acquired from the instance name acquired in step S100 with reference to.

バックエンドコンパイラ221は、フロントエンドコンパイラ220が生成した強制設定可否情報234に基づいて、機械語オブジェクトを生成する。 The back-end compiler 221 generates a machine language object based on the compulsory setting possibility information 234 generated by the front-end compiler 220.

図8は、バックエンドコンパイラ221による処理のフローを例示する。まずステップS500において、バックエンドコンパイラ221は、中間コードにおける最初の処理対象のプログラムの名称を取得するための処理を実行する。ここで、プログラム名を取得できない場合(ステップS501:No)、バックエンドコンパイラ221は、それまでに生成した機械語を、例えば通信部24へ出力する(ステップS502)。プログラム名を取得できた場合(ステップS501:Yes)、バックエンドコンパイラ221は、強制設定可否情報一覧234において、取得したプログラム名を検索し、そのプログラムの強制設定の可否に係る情報を取得する(ステップS503)。 FIG. 8 illustrates a processing flow by the back-end compiler 221. First, in step S500, the back-end compiler 221 executes a process for acquiring the name of the first program to be processed in the intermediate code. Here, when the program name cannot be acquired (step S501: No), the back-end compiler 221 outputs the machine language generated up to that point to, for example, the communication unit 24 (step S502). When the program name can be acquired (step S501: Yes), the back-end compiler 221 searches the acquired program name in the compulsory setting availability information list 234 and acquires the information related to the compulsory setting availability of the program (step S501: Yes). Step S503).

プログラムの強制設定が可能の場合(ステップS504:Yes)、バックエンドコンパイラ221は、強制設定処理に係るジャンプコードを適宜含ませた、当該プログラムの機械語を生成する(ステップS505)。 When the program can be forcibly set (step S504: Yes), the back-end compiler 221 generates a machine language of the program including a jump code related to the forcible setting process as appropriate (step S505).

強制設定可否情報一覧234において、当該プログラムの「強制設定の可否」に「否」が登録されている場合(ステップS504:No)、バックエンドコンパイラ221は、強制設定処理に係るジャンプコードを含まない、当該プログラムの機械語を生成する(ステップS506)。 In the forced setting possibility information list 234, when "No" is registered in the "Forced setting possibility" of the program (step S504: No), the backend compiler 221 does not include the jump code related to the forced setting process. , Generate the machine language of the program (step S506).

バックエンドコンパイラ221は、ステップS505又はステップS506において生成した機械語を、ステップS502において出力するまで一時的に保持する。なお、この保持は一時的でなくともよい。 The back-end compiler 221 temporarily holds the machine language generated in step S505 or step S506 until it is output in step S502. This retention does not have to be temporary.

ステップS505又はステップS506の後、バックエンドコンパイラ221は、中間コードにおける次の処理対象のプログラムの名称を取得するための処理を実行する(ステップS507)。バックエンドコンパイラ221は、ステップS507において、次の処理対象のプログラムの名称を取得できない場合には(ステップS501:No)、ステップS502の処理を実行する。この際に、バックエンドコンパイラ221は、一時的に保持していた機械語を通信部24等へ出力する。 After step S505 or step S506, the back-end compiler 221 executes a process for acquiring the name of the next program to be processed in the intermediate code (step S507). If the back-end compiler 221 cannot acquire the name of the next program to be processed in step S507 (step S501: No), the back-end compiler 221 executes the process of step S502. At this time, the back-end compiler 221 outputs the temporarily held machine language to the communication unit 24 or the like.

一方、バックエンドコンパイラ221は、処理対象のプログラムの名称を取得できた場合には(ステップS501:Yes)、上述したステップS503以降の動作を、ステップS507により取得したプログラム名のプログラムについて繰り返す。 On the other hand, when the back-end compiler 221 can acquire the name of the program to be processed (step S501: Yes), the back-end compiler 221 repeats the operations after step S503 described above for the program with the program name acquired in step S507.

図9は、バックエンドコンパイラ221によって生成された機械語を例示する。図9の上には、強制設定処理が無い場合の機械語が示され、同図の下には、強制設定処理が有る場合の機械語が示される。この2つの機械語は、共に同じ中間コードより生成されたものであるが、図9の下に示される機械語には、強制設定処理へのジャンプコードが含まれる。 FIG. 9 illustrates the machine language generated by the backend compiler 221. The machine language when there is no forced setting process is shown in the upper part of FIG. 9, and the machine language when there is a forced setting process is shown in the lower part of the figure. Both of these two machine languages are generated from the same intermediate code, but the machine language shown at the bottom of FIG. 9 includes a jump code to the forced setting process.

図9について詳述すると、「LD」、「ADD」、及び「ST」は、それぞれロード命令、加算命令、書込(記憶)命令を示す。本実施形態において、強制設定処理のジャンプコードの付加は、書込命令に対して行われる。上述したように第1記憶部32は、各制御対象装置の変数を格納する記憶領域を有するが、プラントシステム等に異常が発生した場合、コントローラ3は、書込命令において強制設定処理へのジャンプコードがあることにより、制御対象装置に対応するアドレスの記憶領域に強制設定値を書込み、これにより不正な値の当該記憶領域への書き込みを防ぐことができるからである。但しこれに限定されず、機械語における書込命令以外の他の命令に、強制設定処理へのジャンプコードが含まれてもよい。 More specifically in FIG. 9, "LD", "ADD", and "ST" indicate a load instruction, an addition instruction, and a write (memory) instruction, respectively. In the present embodiment, the jump code of the forced setting process is added to the write command. As described above, the first storage unit 32 has a storage area for storing the variables of each controlled device, but when an abnormality occurs in the plant system or the like, the controller 3 jumps to the forced setting process in the write command. This is because the presence of the code makes it possible to write the forced setting value to the storage area of the address corresponding to the controlled device, thereby preventing the writing of an invalid value to the storage area. However, the present invention is not limited to this, and a jump code to the forced setting process may be included in an instruction other than the write instruction in the machine language.

図9における強制設定処理に関するコードは、破線の四角に囲まれた部分のコードである。このうちの「LDR pc,[wk1,#64]」が、強制設定処理へのジャンプコードである。また「MOV lr,pc」は、ジャンプ先から戻るためのコードである。 The code related to the forced setting process in FIG. 9 is the code of the portion surrounded by the broken line square. Of these, "LDR pc, [wk1, # 64]" is a jump code to the forced setting process. Further, "MOV lr, pc" is a code for returning from the jump destination.

なお、強制設定可否情報一覧234の「強制設定の可否」が「否」であるプログラムの機械語には、強制設定処理に関するコードは含まれない。 Note that the machine language of the program in which the "possibility of forced setting" is "no" in the forced setting possibility information list 234 does not include the code related to the forced setting process.

コントローラ3のプロジェクト実行部310は、支援装置2から取得した機械語オブジェクトを実行することで、強制設定処理が必要な場合に強制設定処理を実行し、そうでない場合に無駄な処理を行わない。 By executing the machine language object acquired from the support device 2, the project execution unit 310 of the controller 3 executes the forced setting process when the forced setting process is required, and does not perform unnecessary processing when the forced setting process is not required.

図10は、支援装置2のハードウェア構成を例示する。ここでは、支援装置2は、一般的なコンピュータとしてハードウェアを有し、支援装置2による処理は、以下に示すハードウェア5を具体的に利用することにより実行される。ハードウェア5は、互いにバス50によって接続されたプロセッサ51、メモリ52、記憶装置53、通信インターフェース回路54、及びユーザインターフェース回路55を備える。 FIG. 10 illustrates the hardware configuration of the support device 2. Here, the support device 2 has hardware as a general computer, and the processing by the support device 2 is executed by specifically using the hardware 5 shown below. The hardware 5 includes a processor 51, a memory 52, a storage device 53, a communication interface circuit 54, and a user interface circuit 55, which are connected to each other by a bus 50.

プロセッサ51は、例えばシングルコア、デュアルコア、またはマルチコアのプロセッサである。 The processor 51 is, for example, a single-core, dual-core, or multi-core processor.

メモリ52は、例えばROM(Read Only Memory)、RAM(Random Access Memory)、又は半導体メモリである。 The memory 52 is, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), or a semiconductor memory.

プロセッサ51が、メモリ52に記憶された情報、又は後述する記憶装置53からメモリ52に読み込んだ情報を用いて、メモリ52に記憶された各種プログラムを実行することにより、プロジェクト管理部21とコンパイラ22の各機能が実現される。また、メモリ52により、上記記憶部23の一部の機能が実現されてもよい。例えば、メモリ52が、コンパイラ22が生成した呼出関係情報233を一時的に記憶し、以下に記載する記憶装置23がプロジェクトプログラム一覧230、変数・アドレス対応情報231、インスタンス・プログラム対応情報232、強制設定可否情報一覧234、及び強制設定位置情報一覧235を記憶してもよい。 The processor 51 executes various programs stored in the memory 52 by using the information stored in the memory 52 or the information read from the storage device 53 described later into the memory 52, thereby causing the project management unit 21 and the compiler 22 to execute various programs. Each function of is realized. Further, the memory 52 may realize some functions of the storage unit 23. For example, the memory 52 temporarily stores the call-related information 233 generated by the compiler 22, and the storage device 23 described below temporarily stores the project program list 230, the variable / address correspondence information 231 and the instance / program correspondence information 232. The setability information list 234 and the forced setting position information list 235 may be stored.

記憶装置53は、例えばハードディスクドライブ、光ディスク装置等であり、外部記憶装置や可搬型記憶媒体でもよい。記憶装置53により、記憶部23の全部又は一部の機能が実現される。 The storage device 53 is, for example, a hard disk drive, an optical disk device, or the like, and may be an external storage device or a portable storage medium. The storage device 53 realizes all or part of the functions of the storage unit 23.

通信インターフェース回路54は、LAN(Local Area Network)、インターネット、またはイントラネット等を介して、支援装置2がコントローラ3等と通信を行えるようにするためのインターフェースである。通信インターフェース回路54により上記通信部24の機能が実現される。 The communication interface circuit 54 is an interface for enabling the support device 2 to communicate with the controller 3 and the like via a LAN (Local Area Network), the Internet, an intranet, and the like. The function of the communication unit 24 is realized by the communication interface circuit 54.

ユーザインターフェース回路55は、キーボードやタッチパネル等の入力装置、又は液晶ディスプレイ等の表示装置を、支援装置2と接続するための回路である。ユーザインターフェース回路55により、上記ユーザインターフェース20の機能が実現される。 The user interface circuit 55 is a circuit for connecting an input device such as a keyboard or a touch panel, or a display device such as a liquid crystal display, to the support device 2. The function of the user interface 20 is realized by the user interface circuit 55.

なお、上述した場合以外にも、支援装置2の機能ブロックの全て、又はその一部の機能は、適宜、専用のハードウェアにより実現されることもできる。 In addition to the above cases, all or a part of the functions of the functional blocks of the support device 2 can be appropriately realized by dedicated hardware.

図11は、コントローラ3のハードウェア構成を例示する。ここでは、コントローラ3は、一般的なコンピュータとしてハードウェアを有し、コントローラ3による処理は、以下に示すハードウェア6を具体的に利用することにより実行される。ハードウェア6は、互いにバス60によって接続されたプロセッサ61、第1メモリ62、第2メモリ63、記憶装置64、及び通信インターフェース回路65を備える。 FIG. 11 illustrates the hardware configuration of the controller 3. Here, the controller 3 has hardware as a general computer, and the processing by the controller 3 is executed by specifically using the hardware 6 shown below. The hardware 6 includes a processor 61, a first memory 62, a second memory 63, a storage device 64, and a communication interface circuit 65, which are connected to each other by a bus 60.

プロセッサ61は、例えばシングルコア、デュアルコア、またはマルチコアのプロセッサである。 The processor 61 is, for example, a single-core, dual-core, or multi-core processor.

第1メモリ62及び第2メモリ63は、例えばROM(Read Only Memory)、RAM(Random Access Memory)、半導体メモリである。 The first memory 62 and the second memory 63 are, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a semiconductor memory.

プロセッサ61が、第1メモリ62に記憶された情報、又は後述する記憶装置64から第1メモリ62に読み込んだ情報を用いて、第1メモリ62に記憶された各種プログラムを実行することにより、プログラム実行管理部31の機能が実現される。また、第1メモリ62により、上記第2記憶部33の機能の一部が実現されてもよい。例えば、第1メモリ62は、強制設定アドレス情報一覧330等を記憶してもよい。 The processor 61 executes various programs stored in the first memory 62 by using the information stored in the first memory 62 or the information read from the storage device 64 described later into the first memory 62. The function of the execution management unit 31 is realized. Further, a part of the functions of the second storage unit 33 may be realized by the first memory 62. For example, the first memory 62 may store the compulsory setting address information list 330 and the like.

第2メモリ63は、その全部又は一部の記憶領域が制御対象装置に対応付けられているメモリであり、プログラム実行管理部31の処理対象となるメモリである。第2メモリ63により、上記第1記憶部32の機能が実現される。なお、第2メモリ63に代わり、あるいはこれと共に、ハードディスクドライブ等の記憶装置により第1記憶部32の機能が実現されてもよい。 The second memory 63 is a memory in which all or a part of the storage area is associated with the control target device, and is a memory to be processed by the program execution management unit 31. The function of the first storage unit 32 is realized by the second memory 63. The function of the first storage unit 32 may be realized by a storage device such as a hard disk drive instead of or in combination with the second memory 63.

記憶装置64は、例えばハードディスクドライブ、光ディスク装置等であり、外部記憶装置や可搬型記憶媒体でもよい。記憶装置64により、第2記憶部33の機能が実現される。 The storage device 64 is, for example, a hard disk drive, an optical disk device, or the like, and may be an external storage device or a portable storage medium. The storage device 64 realizes the function of the second storage unit 33.

通信インターフェース回路65は、LAN(Local Area Network)、インターネット、またはイントラネット等を介して、コントローラ3が支援装置2等と通信を行えるようにするためのインターフェースである。通信インターフェース回路65により上記通信部30の機能が実現される。 The communication interface circuit 65 is an interface for allowing the controller 3 to communicate with the support device 2 or the like via a LAN (Local Area Network), the Internet, an intranet, or the like. The function of the communication unit 30 is realized by the communication interface circuit 65.

なお、上述した場合以外にも、コントローラ3の機能ブロックの全て、又はその一部の機能は、適宜、専用のハードウェアにより実現されることもできる。 In addition to the above cases, all or a part of the functions of the functional blocks of the controller 3 can be appropriately realized by dedicated hardware.

本実施形態に係るコントロールシステム1によれば、オペレータが強制設定の対象としない部品化されたプログラムについて、支援装置2は、強制設定処理に関するコードを含めない機械語を生成する。またコントローラ3は、当該機械語に基づき、強制設定処理が不要の変数に対しては、強制設定処理を行わない。これらのことより、コントローラ3によるコードの実行に費やされる時間の削減ができると共に、プラントにおける制御対象装置の制御処理がより迅速になる。 According to the control system 1 according to the present embodiment, the support device 2 generates a machine language that does not include the code related to the forced setting process for the componentized program that the operator does not target for the forced setting. Further, the controller 3 does not perform the forced setting process for the variable that does not require the forced setting process based on the machine language. As a result, the time spent for executing the code by the controller 3 can be reduced, and the control process of the controlled device in the plant becomes faster.

(第2の実施形態)
プラントシステムにおいては、必要に応じて、複数人のオペレータが、その各々に割り当てられた監視装置を介し、強制設定指示情報の生成等の強制設定機能を使用する。しかし個々の監視装置においては、強制設定時の履歴情報はあるもののプラントシステム全体における強制設定の対象となっている変数の情報を総括的に管理することができなかった。つまり或る時点において、どの変数にどの値を強制設定しているかをオペレータが認識できなかった。本実施形態に係るコントロールシステム1’は、このような問題を解消するためのものである。
(Second Embodiment)
In the plant system, if necessary, a plurality of operators use a compulsory setting function such as generation of compulsory setting instruction information via a monitoring device assigned to each operator. However, in each monitoring device, although there is history information at the time of compulsory setting, it is not possible to comprehensively manage the information of the variables that are the target of compulsory setting in the entire plant system. In other words, at some point, the operator could not recognize which value was forcibly set for which variable. The control system 1'according to the present embodiment is for solving such a problem.

図12は、本実施形態に係るコントロールシステム1’の構成を例示する。本実施形態に係るコントロールシステム1’は、それぞれ1以上の監視装置(HCI装置、HCI:Human Computer Interaction)7とコントローラ3’と上述した支援装置2とを備える。なお、図12においては、コントロールシステム1’における監視装置7とコントローラ3’と支援装置2が、それぞれ1つ示されている。 FIG. 12 illustrates the configuration of the control system 1'according to the present embodiment. The control system 1'according to the present embodiment includes one or more monitoring devices (HCI device, HCI: Human Computer Interaction) 7, a controller 3', and the support device 2 described above. In FIG. 12, one monitoring device 7, one controller 3', and one support device 2 in the control system 1'are shown.

監視装置7は、ユーザインターフェース70、記憶部71、処理部72、及び通信部73等を備える。処理部72は、ユーザインターフェース70、記憶部72、及び通信部73と接続されている。なおこれ以外の接続関係があってもよい。 The monitoring device 7 includes a user interface 70, a storage unit 71, a processing unit 72, a communication unit 73, and the like. The processing unit 72 is connected to the user interface 70, the storage unit 72, and the communication unit 73. Note that there may be a connection relationship other than this.

コントローラ3’は、上記実施形態におけるコントローラ3の備える強制設定管理部311に代えて、強制設定管理部311’を備え、プログラム実行管理部31に代えて、プログラム実行管理部31’を備える。またコントローラ3’は、上記実施形態における第2記憶部33に代えて、第2記憶部33’を備える。そして第2記憶部33’は、上記実施形態における強制設定アドレス情報一覧330に代えて、強制設定アドレス情報330’を記憶する。 The controller 3'includes a compulsory setting management unit 311'in place of the compulsory setting management unit 311 included in the controller 3 in the above embodiment, and includes a program execution management unit 31'instead of the program execution management unit 31. Further, the controller 3'provides a second storage unit 33'instead of the second storage unit 33 in the above embodiment. Then, the second storage unit 33'stores the forced setting address information 330'instead of the forced setting address information list 330 in the above embodiment.

監視装置7のユーザインターフェース70は、表示装置等の出力装置やタッチパネル等の入力装置を、監視装置7に接続する。表示装置等に表示された制御対象装置の状態を確認したオペレータは、必要に応じ、入力装置を介して監視装置7に強制設定指示の入力を行う。 The user interface 70 of the monitoring device 7 connects an output device such as a display device or an input device such as a touch panel to the monitoring device 7. The operator who has confirmed the state of the controlled device displayed on the display device or the like inputs a forced setting instruction to the monitoring device 7 via the input device as necessary.

記憶部71は、監視装置7に対し一意的に割り当てられている自己の識別情報710、監視装置7の監視対象の1以上のTAGに係るTAG情報711、強制設定支援情報一覧712、及び支援装置2から通信部73を介して取得した変数・アドレス対応情報231等を記憶する。 The storage unit 71 has its own identification information 710 uniquely assigned to the monitoring device 7, TAG information 711 related to one or more TAGs to be monitored by the monitoring device 7, forced setting support information list 712, and the support device. The variable / address correspondence information 231 and the like acquired from 2 via the communication unit 73 are stored.

ここで、TAGとは、制御対象装置の制御に係るパラメータを意味し、上記変数と対応付けられる。TAG情報711には、各TAGの、コード中における変数名と同等又は対応するTAGの番号(TAGNoとも記載する)と、TAGの名称とが互いに関係付けられ、含まれる。ここで、バルブを例に取れば、TAGはそのバルブの開閉度合いを示す変数に対応し、TAGの名称は「バルブの開閉度」等となる。 Here, the TAG means a parameter related to the control of the control target device, and is associated with the above variable. The TAG information 711 includes a TAG number (also referred to as TAGNo) equivalent to or corresponding to the variable name in the code of each TAG, and the TAG name are related to each other. Here, taking a valve as an example, the TAG corresponds to a variable indicating the degree of opening / closing of the valve, and the name of the TAG is "the degree of opening / closing of the valve" or the like.

強制設定支援情報一覧712は、コントローラ3’から受信した強制設定支援情報を元に生成されたものであり、オペレータによる強制設定の支援のためのものである。 The compulsory setting support information list 712 is generated based on the compulsory setting support information received from the controller 3', and is for the operator to support the compulsory setting.

処理部72は、ユーザインターフェース70を介し入力された強制設定指示に基づき、記憶部71から必要な情報を読み出し、コントローラ3’に送信するための強制設定指示情報を生成する。 The processing unit 72 reads necessary information from the storage unit 71 based on the forced setting instruction input via the user interface 70, and generates forced setting instruction information for transmission to the controller 3'.

また処理部72は、通信部73を介してコントローラ3’から後述する強制設定支援情報を取得すると、記憶部72の強制設定支援情報一覧712にこれを蓄積するか、又は、強制設定支援情報一覧712を適宜更新する。この蓄積の際に処置部72は、ユーザインターフェース70を介しての表示装置における表示用に、強制設定支援情報を表示用に変換してもよい。また処理部72は、オペレータからの強制設定支援情報一覧712の表示指示をトリガとして、これを表示用に加工する処理を行い、ユーザインターフェース70を介して表示装置に出力してもよい。 Further, when the processing unit 72 acquires the forced setting support information described later from the controller 3'via the communication unit 73, the processing unit 72 stores this in the forced setting support information list 712 of the storage unit 72, or the forced setting support information list. 712 is updated as appropriate. At the time of this accumulation, the treatment unit 72 may convert the forced setting support information for display on the display device via the user interface 70. Further, the processing unit 72 may use the display instruction of the compulsory setting support information list 712 from the operator as a trigger to perform processing for processing the information and output it to the display device via the user interface 70.

強制設定支援情報一覧712には、監視装置7の運用当初から現在に至るまでの全ての強制設定支援情報が記憶されてもよいし、ある一定期間における強制設定支援情報が記憶されてもよい。 The compulsory setting support information list 712 may store all the compulsory setting support information from the beginning of the operation of the monitoring device 7 to the present, or may store the compulsory setting support information for a certain period of time.

通信部73は、監視装置7がコントローラ3’及び支援装置2との間で情報の授受を行うための機能ブロックである。通信部73は、処理部72の指示に従い強制設定指示情報をコントローラ3’に送信し、強制設定支援情報をコントローラ3’から受信し、これを処理部72へ出力する。 The communication unit 73 is a functional block for the monitoring device 7 to exchange information with the controller 3'and the support device 2. The communication unit 73 transmits the forced setting instruction information to the controller 3'according to the instruction of the processing unit 72, receives the forced setting support information from the controller 3', and outputs this to the processing unit 72.

コントローラ3’の強制設定管理部311’は、通信部30を介して、監視装置7から強制設定指示情報を取得する。そして強制設定管理部311’は、強制設定指示情報におけるアドレスが強制設定アドレス情報一覧330’に未登録の場合には、強制設定指示情報に含まれる情報を登録する。一方、強制設定指示情報におけるアドレスが既に強制設定アドレス情報一覧330’に登録されている場合には、強制設定管理部311は、当該アドレスにかかる強制設定アドレス情報一覧330’中のレコードを強制設定指示情報に基づき更新してもよいし、当該アドレスの変数に対し強制設定の解除がされていないレコード、すなわち現在において強制設定中の変数に係るレコードについては、更新せずに、通信部30を介して、強制設定が行えない旨の通知を当該強制設定指示情報の送信元へ送信してもよい。なお、コントローラ3’において、強制設置指示情報の送信元の支援装置2や1以上の監視装置7に対し、それぞれ優先順位が設けられていてもよい。この場合、強制設定管理部311’は、低い優先順位の監視装置7等により既に設定されている強制設定値等を、それより高い優先順位の監視装置7等から取得した強制設定指示情報に基づき上書きしてもよく、高い優先順位の監視装置7等により既に設定されている強制設定値等を、それより低い優先順位の監視装置7等からの強制設定指示情報に応じた上書きをしないこととしてもよい。 The compulsory setting management unit 311'of the controller 3'acquires compulsory setting instruction information from the monitoring device 7 via the communication unit 30. Then, when the address in the forced setting instruction information is not registered in the forced setting address information list 330', the forced setting management unit 311'registers the information included in the forced setting instruction information. On the other hand, when the address in the forced setting instruction information is already registered in the forced setting address information list 330', the forced setting management unit 311 forcibly sets the record in the forced setting address information list 330' related to the address. It may be updated based on the instruction information, and the communication unit 30 is not updated for the record for which the forced setting has not been released for the variable at the address, that is, the record for the variable currently being forcibly set. A notification to the effect that the compulsory setting cannot be performed may be sent to the source of the compulsory setting instruction information. In the controller 3', a priority may be provided for each of the support device 2 and the monitoring device 7 of 1 or more, which are the transmission sources of the forced installation instruction information. In this case, the compulsory setting management unit 311'based on the compulsory setting value or the like already set by the monitoring device 7 or the like having a lower priority based on the compulsory setting instruction information acquired from the monitoring device 7 or the like having a higher priority. It may be overwritten, and the forced setting value or the like already set by the monitoring device 7 or the like having a higher priority is not overwritten according to the forced setting instruction information from the monitoring device 7 or the like having a lower priority. May be good.

強制設定管理部311’は、監視装置7が強制設定支援情報の送信を要求した場合や監視装置7の起動等をトリガとして、強制設定アドレス情報一覧330’を用いて、強制設定支援情報を生成し、監視装置7に通信部30を介して送信する。なお、強制設定支援情報には、監視装置7を用いるオペレータの強制設定処理に必要な、強制設定アドレス情報一覧330’の内容の全部又は一部が含まれる。 The compulsory setting management unit 311'generates compulsory setting support information using the compulsory setting address information list 330', triggered by the monitoring device 7 requesting the transmission of the compulsory setting support information or the activation of the monitoring device 7. Then, the information is transmitted to the monitoring device 7 via the communication unit 30. The forced setting support information includes all or a part of the contents of the forced setting address information list 330'necessary for the forced setting process of the operator using the monitoring device 7.

強制設定管理部311’は、強制設定支援情報の生成の際に、強制設定アドレス情報一覧330’の強制設定に係る各アドレスに設定されている値を第1記憶部32から読み込むか、又は、強制設定アドレス情報一覧330’の強制設定に係る各アドレスに対応する制御対象装置のパラメータの値をその制御対象装置等から読み込むなどし、制御対象装置の源値として強制設定アドレス情報一覧330’に付加し、強制設定支援情報に含ませる。 The compulsory setting management unit 311'reads the value set for each address related to the compulsory setting of the compulsory setting address information list 330' from the first storage unit 32 when generating the compulsory setting support information, or The parameter value of the controlled device corresponding to each address related to the forced setting of the forced setting address information list 330'is read from the controlled device, etc., and the forced setting address information list 330'is set as the source value of the controlled device. Add it and include it in the compulsory setting support information.

また、強制設定管理部311’は、強制設定アドレス情報330’における各アドレスに対し強制設定を行った時刻、又は各アドレスに対する強制設定指示情報を受信した時刻を、アドレスに紐付けして第2記憶部33に記憶し、強制設定支援情報生成の際に用いる。 Further, the compulsory setting management unit 311'associates the time when the compulsory setting is performed for each address in the compulsory setting address information 330' or the time when the compulsory setting instruction information for each address is received with the address to the second. It is stored in the storage unit 33 and used when generating the forced setting support information.

また、第2記憶部33は、強制設定アドレス情報一覧330’のアドレスに対応する制御対象装置が含まれるステーションを識別するための番号(ステーションNo、ST Noとも記載する)を、そのアドレスに対応付け、記憶していてもよい。この場合、強制設定管理部311’は、強制設定支援情報に、強制設定アドレス情報一覧330’における各アドレスに対応付けられたステーションNoを付加する。ただし、第2記憶部33のアドレス(又は変数)とステーションNoとの対応関係に係る情報を、監視装置7が保持していてもよく、監視装置7が強制設定支援情報を表示する際に、強制設定支援情報中のアドレス(又は変数)からステーションNoを取得してもよい。 Further, the second storage unit 33 assigns a number (also referred to as a station No. and ST No.) for identifying the station including the controlled target device corresponding to the address of the compulsory setting address information list 330'corresponding to the address. You may attach and remember. In this case, the compulsory setting management unit 311'adds the station No. associated with each address in the compulsory setting address information list 330'to the compulsory setting support information. However, the monitoring device 7 may hold information related to the correspondence between the address (or variable) of the second storage unit 33 and the station No. When the monitoring device 7 displays the compulsory setting support information, the monitoring device 7 may hold the information. The station No. may be acquired from the address (or variable) in the compulsory setting support information.

強制設定支援情報を取得した監視装置7の処理部72は、これを強制設定支援情報一覧712へ登録、又は強制設定支援情報一覧712を更新する。 The processing unit 72 of the monitoring device 7 that has acquired the forced setting support information registers it in the forced setting support information list 712, or updates the forced setting support information list 712.

図13は、監視装置7を介してのオペレータによる強制設定に供される画面に表示される画像の例を示す。このようなオペレータの強制設定や監視等に供される画面を強制設定画面とも記載する。なお図13の強制設定画面には、背景が白、文字が黒で示されているが、これに限らず、例えば背景が黒で文字が白等で表示されてもよい。 FIG. 13 shows an example of an image displayed on the screen subjected to forced setting by the operator via the monitoring device 7. A screen used for forced setting or monitoring of such an operator is also described as a forced setting screen. The forced setting screen of FIG. 13 shows a white background and black characters, but the present invention is not limited to this, and for example, the background may be black and the characters may be displayed in white or the like.

図13において「PID001.PV」とあるのは、或るTAGのTAGNoである。ここでは、TAGNoが「PID001.PV」のTAGについて示されている。また、「This_is_Tagname」の欄には、通常、TAGの名称が表示される。 In FIG. 13, "PID001.PV" is a TAG No of a certain TAG. Here, the TAG No. is shown for the TAG of "PID001.PV". In addition, the name of TAG is usually displayed in the column of "This_is_Tagname".

図13に示される「Source Value」とは、TAGの源値を意味する。ここではTAGNoが「PID001.PV」のTAGの源値として100.0kg/mが示されている。なお図中においてkg/mは「kg/m2」と表されている。当該単位は、TAGに単位の定義がある場合に表示される。また設定がアナログの場合にこのような単位を表示する。すなわち、設定が、例えば「ON」と「OFF」しかないような場合には、単位の表示はされない。「Force Value」とは、強制設定値を意味し、ここではTAGNo「PID001.PV」のTAGに対し強制設定値として100.0kg/mが入力されている、又は設定されていることがわかる。 The “Source Value” shown in FIG. 13 means the source value of TAG. Here, 100.0 kg / m 2 is shown as the source value of TAG with a TAG No of "PID001.PV". In the figure, kg / m 2 is represented as “kg / m 2”. The unit is displayed when the TAG has a definition of the unit. Also, when the setting is analog, such a unit is displayed. That is, when the setting is, for example, only "ON" and "OFF", the unit is not displayed. "Force Value" means a compulsory setting value, and here, it can be seen that 100.0 kg / m 2 is input or set as a compulsory setting value for the TAG of TAG No. "PID001.PV". ..

図13中の「FON」は、TAGに対し、既に強制設定が行われているときに表示されるものであり、他の文字と比較して目立つ色彩にて表示される。例えば、背景が黒で他の文字が白で表示されるような場合に、「FON」は例えば赤で表示される。ここでは、TAGNoが「PID001.PV」のTAGに対し、強制設定がされていることがわかる。この「FON」は、コントローラ3’における強制設定アドレス情報一覧330’において、登録されているアドレスであって、且つ強制設定指示の解除がされていないアドレスに対応付けられているTAGに対し、表示される。 “FON” in FIG. 13 is displayed when the forced setting has already been made for the TAG, and is displayed in a color that stands out as compared with other characters. For example, when the background is black and other characters are displayed in white, "FON" is displayed in red, for example. Here, it can be seen that the TAG No. is forcibly set for the TAG of "PID001.PV". This "FON" is displayed for the TAG associated with the registered address in the compulsory setting address information list 330'in the controller 3'and the address for which the compulsory setting instruction has not been released. Will be done.

「USER」とは、強制設定画面を使用中のオペレータ等を識別する情報(ユーザIDとも記載する)であり、ここでは当該オペレータのユーザIDが「user001」であることがわかる。「Remark」とは、強制設定を行うための理由などの備考を意味し、すぐ下の欄が当該備考を入力又は表示するための備考欄に該当する。この備考欄の右隣の直方体のマークをタッチ又はクリック等することにより、オペレータは備考欄に記載した内容を消去できる。 “USER” is information (also described as a user ID) that identifies an operator or the like who is using the forced setting screen, and here it can be seen that the user ID of the operator is “user001”. "Remark" means a remark such as a reason for performing compulsory setting, and the column immediately below corresponds to a remark column for inputting or displaying the remark. By touching or clicking the rectangular parallelepiped mark to the right of this remarks column, the operator can delete the contents described in the remarks column.

「Force」は、TAGに対し、「Force Value」の欄にオペレータが入力した値を強制設定することを監視装置7に指示するための表示であり、「Force」部分をタッチ等することにより、当該指示がなされる。これにより監視装置7の処理部72は、後述する本実施形態における強制設定指示情報を生成する。 "Force" is a display for instructing the monitoring device 7 to forcibly set the value input by the operator in the "Force Value" field to the TAG, and by touching the "Force" part or the like, the TAG is displayed. The instruction is given. As a result, the processing unit 72 of the monitoring device 7 generates the compulsory setting instruction information in the present embodiment described later.

「UnForce」は、強制設定が行われているTAGに対し、当該設定の解除を指示するための表示である。画面上の「UnForce」の部分のタッチ等により、強制設定の解除指示が監視装置7からコントローラ3’に対しなされる。 "UnForce" is a display for instructing a TAG for which a forced setting has been made to cancel the setting. By touching the "UnForce" part on the screen or the like, the monitoring device 7 gives an instruction to cancel the forced setting to the controller 3'.

「Cancel」は、強制設定画面における入力を中止し、入力した内容を破棄するための表示である。オペレータが、「Cancel」の部分をタッチ等することにより、このような中止処理は行われる。 "Cancel" is a display for canceling the input on the compulsory setting screen and discarding the input contents. Such a stop process is performed by the operator touching the "Cancel" part or the like.

図14は、本実施形態に係る監視装置7により生成される強制設定指示情報を例示する。図14に示されるように、強制設定指示情報には、第1の実施形態の強制設定指示情報が含むアドレス情報と強制設定値に加え、強制設定の対象となる変数と、識別情報710が含まれる。図15における強制設定指示情報において、強制設定の対象となるアドレスは「M,WI,65552」、当該アドレスが指す記憶領域に設定される強制設定値は「100」、当該強制設定値が代入される変数は「V002」、強制設定の指示元の監視装置7の識別情報710は、「XXX」である。なお、図示はされていないが、強制設定指示情報には、強制設定を行ったオペレータのユーザIDと強制設定の理由等が含まれている。 FIG. 14 illustrates the compulsory setting instruction information generated by the monitoring device 7 according to the present embodiment. As shown in FIG. 14, the compulsory setting instruction information includes the variable to be the compulsory setting and the identification information 710 in addition to the address information and the compulsory setting value included in the compulsory setting instruction information of the first embodiment. Is done. In the compulsory setting instruction information in FIG. 15, the address to be forcibly set is "M, WI, 65552", the compulsory setting value set in the storage area pointed to by the address is "100", and the compulsory setting value is substituted. The variable is "V002", and the identification information 710 of the monitoring device 7 that is the instruction source of the forced setting is "XXX". Although not shown, the forced setting instruction information includes the user ID of the operator who performed the forced setting, the reason for the forced setting, and the like.

なお、図14において強制設定指示情報は、表形式にて表されるが、これに限らず、アドレスと強制設定値と変数と識別情報710等の各値が互いに関係付けられており、またこれらの各値が何を示すかを監視装置7とコントローラ3’等が認識可能であれば、強制設定指示情報は表形式には限定されない。 The compulsory setting instruction information is represented in a table format in FIG. 14, but is not limited to this, and each value such as an address, a compulsory setting value, a variable, and identification information 710 is related to each other, and these The compulsory setting instruction information is not limited to the tabular format as long as the monitoring device 7 and the controller 3'and the like can recognize what each value of is indicated.

図15は、本実施形態における強制設定支援情報一覧712の表示例を示す。図15において「ST101」、「ST20C」、「ST11C」の各々は、強制設定の対象となった制御対象装置が配置されているステーションのステーションNoである。ステーションNoは、ここではSTmnk(m、n、kには数字や英字等が入る)にて表されているが、これに限定されない。 FIG. 15 shows a display example of the compulsory setting support information list 712 in this embodiment. In FIG. 15, each of “ST101”, “ST20C”, and “ST11C” is a station No. of the station where the control target device that is the target of the forced setting is arranged. The station No. is represented here by STmnk (numbers, letters, etc. are entered in m, n, and k), but the station number is not limited to this.

「Force Time」は、強制設定がされた日時である。また「Force User」は、強制設定処理を行ったオペレータのユーザIDである。また「Place」は、強制設定を行った監視装置7を識別するための識別情報(識別情報710)である。 "Force Time" is the date and time when the compulsory setting was made. Further, "Force User" is a user ID of the operator who performed the forced setting process. Further, "Place" is identification information (identification information 710) for identifying the monitoring device 7 for which the forced setting has been performed.

図15の強制設定支援情報一覧712において、例えば1行目を参照すると、2015年9月1日の13時15分5秒に、ユーザID「user001」のオペレータが、「Sensor bad(センサの不調)」を理由に、識別情報「XOS3000−1」の監視装置7を用いて、ステーションNo「ST101」のステーションにおける、TAGNo「PID001.PV」のTAGであって源値が「0.0」のTAGに対して、強制設定値「100.0」を強制的に設定したことがわかる。 In the forced setting support information list 712 of FIG. 15, for example, referring to the first line, at 13:15:05 on September 1, 2015, the operator of the user ID "user001" was asked to "Sensor bad (sensor malfunction). ) ”, Using the monitoring device 7 of the identification information“ XOS3000-1 ”, the TAG of the TAG No.“ PID001.PV ”at the station of the station No.“ ST101 ”and the source value is“ 0.0 ”. It can be seen that the forced setting value "100.0" was forcibly set for the TAG.

図16は、本実施形態における強制設定アドレス情報一覧330’を例示する。ここに示される強制設定アドレス情報一覧330’は、コントローラ3’が、図14に示す強制設定指示情報を1つだけ取得したときに、強制設定管理部311’により生成されたものである。図16に示されるように、管理番号が1の行には、アドレスの列に「M,WI,65552」、変数の列に「V002」、識別情報(識別情報710)の列に「XXX」が登録されている。なお、ここでの管理番号は、強制設定管理部330’により付される番号であり、上記支援装置2のフロントエンドコンパイラ210が付した、強制設定処理情報一覧232における管理番号とは別のものである。また強制設定アドレス情報一覧330’には、図示はされていないが、各行の情報には、強制設定を行ったオペレータのユーザID、強制設定の理由、強制設定値等が含まれる。以下、強制設定管理部311’による強制設定アドレス情報一覧330’の生成について端的に説明する。 FIG. 16 illustrates the compulsory setting address information list 330'in this embodiment. The compulsory setting address information list 330'shown here is generated by the compulsory setting management unit 311'when the controller 3'acquires only one compulsory setting instruction information shown in FIG. As shown in FIG. 16, in the row where the control number is 1, "M, WI, 65552" is in the address column, "V002" is in the variable column, and "XXX" is in the identification information (identification information 710) column. Is registered. The management number here is a number assigned by the forced setting management unit 330', and is different from the management number in the forced setting processing information list 232 attached by the front-end compiler 210 of the support device 2. Is. Although not shown in the compulsory setting address information list 330', the information in each line includes the user ID of the operator who performed the compulsory setting, the reason for the compulsory setting, the compulsory setting value, and the like. Hereinafter, the generation of the compulsory setting address information list 330'by the compulsory setting management unit 311' will be briefly described.

強制設定管理部311’は、強制設定指示情報を取得すると、当該強制設定指示情報におけるアドレスが強制設定アドレス情報一覧330’に含まれるか判定する。当該アドレスが、強制設定アドレス情報一覧330’に含まれなければ、強制設定管理部311’は、強制設定アドレス情報一覧330’のうち、アドレスについてNULL等が登録されているなど、アドレスが未登録の行のうち管理番号が最も小さい行に、受信した当該強制設定指示情報におけるアドレス、変数、及び識別情報710等を記録する。一方、受信した強制設定指示情報におけるアドレスが強制設定アドレス情報一覧330’に含まれる場合には、強制設定管理部311’は、当該アドレスが登録されている行における識別情報(識別情報710)や強制設定値等の各々を、受信した強制設定指示情報に含まれる、対応する情報へと更新等する。 When the compulsory setting management unit 311'acquires the compulsory setting instruction information, it determines whether the address in the compulsory setting instruction information is included in the compulsory setting address information list 330'. If the address is not included in the compulsory setting address information list 330', the compulsory setting management unit 311'has not registered the address in the compulsory setting address information list 330', such as NULL being registered for the address. The address, variable, identification information 710, etc. in the received forced setting instruction information are recorded in the line having the smallest management number among the lines of. On the other hand, when the address in the received compulsory setting instruction information is included in the compulsory setting address information list 330', the compulsory setting management unit 311'is used as identification information (identification information 710) in the line in which the address is registered. Each of the compulsory setting values and the like is updated to the corresponding information included in the received compulsory setting instruction information.

なお、上述したように強制設定管理部311’は、監視装置7から強制設定の解除指示を受けた場合には、強制設定アドレス情報一覧330’における、該当するアドレスの記録を削除、又は当該記録に対し解除の旨を付加する。 As described above, when the forced setting management unit 311'receives an instruction to cancel the forced setting from the monitoring device 7, the forced setting management unit 311'deletes or records the corresponding address in the forced setting address information list 330'. Is added to the effect of cancellation.

図16における強制設定アドレス情報一覧330’は、表形式で表されているが、アドレス、変数、及び識別情報710等が互いに関係付けされ記憶されていれば、表形式に限定されない。 The compulsory setting address information list 330'in FIG. 16 is represented in a table format, but is not limited to the table format as long as the addresses, variables, identification information 710, and the like are related to each other and stored.

図17は、監視装置7のハードウェア構成を例示する。ここでは、監視装置7は、一般的なコンピュータとしてハードウェアを有し、監視装置7による処理は、以下に示すハードウェア8を具体的に利用することにより実行される。ハードウェア8は、互いにバス80によって接続されたプロセッサ81、メモリ82、記憶装置83、及び通信インターフェース回路84等を備える。 FIG. 17 illustrates the hardware configuration of the monitoring device 7. Here, the monitoring device 7 has hardware as a general computer, and the processing by the monitoring device 7 is executed by specifically using the hardware 8 shown below. The hardware 8 includes a processor 81, a memory 82, a storage device 83, a communication interface circuit 84, and the like connected to each other by a bus 80.

プロセッサ81は、例えばシングルコア、デュアルコア、またはマルチコアのプロセッサである。 The processor 81 is, for example, a single-core, dual-core, or multi-core processor.

メモリ82は、例えばROM(Read Only Memory)、RAM(Random Access Memory)、又は半導体メモリである。 The memory 82 is, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), or a semiconductor memory.

プロセッサ81が、メモリ82に記憶された情報、又は後述する記憶装置83からメモリ82に読み込んだ情報を用いて、メモリ82に記憶された各種プログラムを実行することにより、処理部72の機能が実現される。 The function of the processing unit 72 is realized by the processor 81 executing various programs stored in the memory 82 by using the information stored in the memory 82 or the information read from the storage device 83 described later into the memory 82. Will be done.

記憶装置83は、例えばハードディスクドライブ、光ディスク装置等であり、外部記憶装置や可搬型記憶媒体でもよい。記憶装置83により、記憶部71の機能が実現される。 The storage device 83 is, for example, a hard disk drive, an optical disk device, or the like, and may be an external storage device or a portable storage medium. The storage device 83 realizes the function of the storage unit 71.

通信インターフェース回路84は、LAN(Local Area Network)、インターネット、またはイントラネット等を介して、監視装置7がコントローラ3等と通信を行えるようにするためのインターフェースである。通信インターフェース回路84により上記通信部73の機能が実現される。 The communication interface circuit 84 is an interface for enabling the monitoring device 7 to communicate with the controller 3 and the like via a LAN (Local Area Network), the Internet, an intranet, and the like. The function of the communication unit 73 is realized by the communication interface circuit 84.

ユーザインターフェース回路85は、キーボードやタッチパネル等の入力装置、又は液晶ディスプレイ等の表示装置を、監視装置7と接続するための回路である。ユーザインターフェース回路85により、上記ユーザインターフェース70の機能が実現される。 The user interface circuit 85 is a circuit for connecting an input device such as a keyboard or a touch panel, or a display device such as a liquid crystal display, to the monitoring device 7. The function of the user interface 70 is realized by the user interface circuit 85.

なお、上述した場合以外にも、監視装置7の機能ブロックの全て、又はその一部の機能は、適宜、専用のハードウェアにより実現されることもできる。 In addition to the above cases, all or a part of the functions of the functional blocks of the monitoring device 7 can be appropriately realized by dedicated hardware.

なお、支援装置2とコントローラ3の各ハードウェアについては、上記実施形態の場合と同様であるので、説明を省略する。 Since the hardware of the support device 2 and the controller 3 is the same as that of the above embodiment, the description thereof will be omitted.

本実施形態によれば、オペレータは、どの制御対象装置がどの監視装置からの指示に基づいてどのように強制的に制御されているかを、監視装置7から確認することができ、無駄な強制設定や、互いに矛盾する強制設定や、制御対象装置に過分な付加のかかる強制設定等を排除することができ、プラント内の制御対象装置の運用がより容易で安全なものになる。 According to the present embodiment, the operator can confirm from the monitoring device 7 how and which controlled device is forcibly controlled based on the instruction from which monitoring device, which is a useless forced setting. In addition, it is possible to eliminate forced settings that contradict each other and forced settings that are excessively added to the controlled device, and the operation of the controlled device in the plant becomes easier and safer.

本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態および変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。特許請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形も、本発明の範囲内とみなされる。 The present invention allows for various embodiments and modifications without departing from the broad spirit and scope of the present invention. Moreover, the above-described embodiment is for explaining the present invention, and does not limit the scope of the present invention. Various modifications made within the scope of the claims and within the equivalent meaning of the invention are also considered to be within the scope of the present invention.

1、1’ コントロールシステム、プログラマブルコントローラシステム
2 支援装置、開発支援装置
3、3’ コントローラ、制御装置
5、6、8 ハードウェア
7 監視装置
20、70 ユーザインターフェース
21 プロジェクト管理部
22 コンパイラ
23、71 記憶部
24、30、73 通信部
31、31’ プログラム実行管理部
32 第1記憶部
33、33’ 第2記憶部
50、60、80 バス
51、61、81 プロセッサ
52、82 メモリ
53、64、83 記憶装置
54、65、84 通信インターフェース回路
55、85 ユーザインターフェース回路
62 第1メモリ
63 第2メモリ
72 処理部
220 フロントエンドコンパイラ
221 バックエンドコンパイラ
230 プロジェクトプログラム一覧
231 変数・アドレス対応情報
232 インスタンス・プログラム対応情報
233 呼出関係情報
234 強制設定可否情報一覧
235 強制設定位置情報一覧
310 プログラム実行部
311、311’ 強制設定管理部
330、330’ 強制設定アドレス情報一覧
710 識別情報
711 TAG情報
712 強制設定支援情報一覧
1, 1'control system, programmable controller system 2 support device, development support device 3, 3'controller, control device 5, 6, 8 hardware 7 monitoring device 20, 70 user interface 21 project management department 22 compiler 23, 71 storage Units 24, 30, 73 Communication unit 31, 31'Program execution management unit 32 First storage unit 33, 33'Second storage unit 50, 60, 80 Bus 51, 61, 81 Processor 52, 82 Memory 53, 64, 83 Storage device 54, 65, 84 Communication interface circuit 55, 85 User interface circuit 62 First memory 63 Second memory 72 Processing unit 220 Front-end compiler 221 Back-end compiler 230 Project program list 231 Variable / address correspondence information 232 Instance program support Information 233 Call-related information 234 Forced setting availability information list 235 Forced setting position information list 310 Program execution unit 311, 311'Forced setting management unit 330, 330' Forced setting address information list 710 Identification information 711 TAG information 712 Forced setting support information list

Claims (7)

入力されたソースコードにおける1以上のプログラムの各々から機械語オブジェクトを生成する開発支援装置と、該開発支援装置から取得した前記機械語オブジェクトを実行する制御装置と、
を備え、
前記開発支援装置は、
前記1以上のプログラムの各々の間の呼出関係を用いて、前記1以上のプログラムのうち、ライブラリに含まれ、且つ呼出元のプログラムもライブラリに含まれる第1のプログラムに対し強制設定を行わないとする強制設定可否情報を生成し、
前記強制設定可否情報に基づき、前記第1のプログラムから第1の前記機械語オブジェクトを生成し、
前記制御装置は、
前記第1の機械語オブジェクトに基づき、前記第1のプログラムにおける第1の変数に対応する第1の制御対象装置を、強制設定を行わずに制御する、
ことを特徴とするコントロールシステム。
A development support device that generates a machine language object from each of one or more programs in the input source code, and a control device that executes the machine language object acquired from the development support device.
With
The development support device is
Using the calling relationship between each of the one or more programs, the first program among the one or more programs that is included in the library and the calling program is also included in the library is not forcibly set. Generates compulsory setting availability information and
Based on the forced setting availability information, the first machine language object is generated from the first program, and the machine language object is generated.
The control device is
Based on the first machine language object, the first controlled device corresponding to the first variable in the first program is controlled without forcibly setting.
A control system that features that.
前記開発支援装置は、
前記1以上のプログラムのうち、ライブラリに含まれないプログラム、又は呼出元のプログラムがライブラリに含まれないプログラムである、第2のプログラムを抽出し、
前記1以上のプログラムのうち、前記第2のプログラムとして抽出されなかったプログラムを第1のプログラムとする、
ことを特徴とする請求項1に記載のコントロールシステム。
The development support device is
From the above one or more programs, a second program in which the program not included in the library or the calling program is not included in the library is extracted.
Of the one or more programs, the program not extracted as the second program is defined as the first program.
The control system according to claim 1.
前記開発支援装置は、
前記第2のプログラムに対しては強制設定を可能とする強制設定可否情報を生成し、該強制設定可否情報に基づき、第2の前記機械語オブジェクトを生成し、
前記制御装置は、
前記第2のプログラムにおける第2の変数に対応する第2の制御対象装置に対する強制設定指示を受けた場合に、該強制設定指示と前記第2の機械語オブジェクトとに基づき、前記第2の制御対象装置を制御する、
ことを特徴とする請求項2に記載のコントロールシステム。
The development support device is
For the second program, the compulsory setting enable / disable information that enables the compulsory setting is generated, and based on the compulsory setting enable / fail information, the second machine language object is generated.
The control device is
When a forced setting instruction is received for the second controlled device corresponding to the second variable in the second program, the second control is performed based on the forced setting instruction and the second machine language object. Control the target device,
The control system according to claim 2.
前記コントロールシステムは、更に、
前記強制設定指示の入力を受け付ける1以上の監視装置を備え、
前記強制設定指示が入力された前記監視装置は、
前記強制設定指示を前記制御装置に通知し、
前記制御装置は、
前記強制設定指示と前記第2の機械語オブジェクトとに基づき、前記第2の制御対象装置に対し強制設定を行い、
前記強制設定の対象となった前記第2の制御対象装置についての強制設定支援情報を生成し、該強制設定支援情報を前記1以上の監視装置に対して通知し、
前記1以上の監視装置は、前記制御装置から通知された前記強制設定支援情報を表示する、
ことを特徴とする請求項3に記載のコントロールシステム。
The control system further
It is equipped with one or more monitoring devices that accept the input of the forced setting instruction.
The monitoring device to which the forced setting instruction is input is
Notifying the control device of the forced setting instruction,
The control device is
Based on the forced setting instruction and the second machine language object, the second controlled device is forcibly set.
The forced setting support information for the second control target device that is the target of the forced setting is generated, and the forced setting support information is notified to the one or more monitoring devices.
The one or more monitoring devices display the forced setting support information notified from the control device.
The control system according to claim 3.
前記強制設定支援情報には、前記強制設定指示を前記制御装置に通知した前記監視装置の識別情報と、前記強制設定の対象となった前記第2の制御対象装置の強制設定値が含まれることを特徴とする請求項4に記載のコントロールシステム。 The forced setting support information includes the identification information of the monitoring device that has notified the control device of the forced setting instruction and the forced setting value of the second control target device that is the target of the forced setting. The control system according to claim 4. 入力されたソースコードにおける1以上のプログラムの各々の間の呼出関係を用いて、前記1以上のプログラムのうち、ライブラリに含まれ、且つ呼出元のプログラムもライブラリに含まれる第1のプログラムに対し強制設定を行わないとする強制設定可否情報を生成するフロントエンドコンパイラと、
前記強制設定可否情報に基づき、前記第1のプログラムから第1の機械語オブジェクトを生成するバックエンドコンパイラと、
前記第1のプログラムにおける第1の変数に対応する第1の制御対象装置を、前記第1の機械語オブジェクトに基づき制御する制御装置に対し、前記機械語オブジェクトを送信する通信部と、
を備えることを特徴とする開発支援装置。
Using the calling relationship between each of the one or more programs in the input source code, for the first program among the one or more programs that is included in the library and the calling program is also included in the library. A front-end compiler that generates information on whether or not forced setting is possible, and a front-end compiler that does not perform forced setting.
A back-end compiler that generates a first machine language object from the first program based on the forced setting availability information, and
A communication unit that transmits the machine language object to a control device that controls the first controlled device corresponding to the first variable in the first program based on the first machine language object.
A development support device characterized by being equipped with.
入力されたソースコードにおける1以上のプログラムの各々から機械語オブジェクトを生成する開発支援装置と、該開発支援装置から取得した前記機械語オブジェクトを実行する制御装置と、
を備えるコントロールシステムにおいて実行される方法であって、
前記開発支援装置が、
前記1以上のプログラムの各々の間の呼出関係を用いて、前記1以上のプログラムのうち、ライブラリに含まれ、且つ呼出元のプログラムもライブラリに含まれる第1のプログラムに対し強制設定を行わないとする強制設定可否情報を生成し、
前記強制設定可否情報に基づき、前記第1のプログラムから第1の前記機械語オブジェクトを生成し、
前記制御装置が、
前記第1の機械語オブジェクトに基づき、前記第1のプログラムにおける第1の変数に対応する第1の制御対象装置を、強制設定を行わずに制御する、
ことを特徴とするコントロール方法。
A development support device that generates a machine language object from each of one or more programs in the input source code, and a control device that executes the machine language object acquired from the development support device.
A method performed in a control system that comprises
The development support device
Using the calling relationship between each of the one or more programs, the first program among the one or more programs that is included in the library and the calling program is also included in the library is not forcibly set. Generates compulsory setting availability information and
Based on the forced setting availability information, the first machine language object is generated from the first program, and the machine language object is generated.
The control device
Based on the first machine language object, the first controlled device corresponding to the first variable in the first program is controlled without forcibly setting.
A control method characterized by that.
JP2017167210A 2017-08-31 2017-08-31 Control system, development support device, and control method Active JP6926841B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017167210A JP6926841B2 (en) 2017-08-31 2017-08-31 Control system, development support device, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017167210A JP6926841B2 (en) 2017-08-31 2017-08-31 Control system, development support device, and control method

Publications (2)

Publication Number Publication Date
JP2019046052A JP2019046052A (en) 2019-03-22
JP6926841B2 true JP6926841B2 (en) 2021-08-25

Family

ID=65816562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017167210A Active JP6926841B2 (en) 2017-08-31 2017-08-31 Control system, development support device, and control method

Country Status (1)

Country Link
JP (1) JP6926841B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7224261B2 (en) * 2019-08-30 2023-02-17 三菱電機株式会社 Plant monitoring control system
JP7020467B2 (en) * 2019-10-24 2022-02-16 横河電機株式会社 Operation monitoring terminal, safety instrumented system, and information display method
JP2021101317A (en) * 2019-12-24 2021-07-08 株式会社東芝 Control program management device
CN112181370B (en) * 2020-09-17 2023-02-28 武汉联影医疗科技有限公司 Method for generating data interaction relationship, computer equipment and storage medium
JP7673490B2 (en) * 2021-05-21 2025-05-09 オムロン株式会社 Development support device, control method for development support device, information processing program, and recording medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067015A (en) * 2001-08-23 2003-03-07 Yokogawa Electric Corp Sequence controller
WO2007096935A1 (en) * 2006-02-20 2007-08-30 Fujitsu Limited Program analysis method, program analysis device, and program analysis program
JP2008293486A (en) * 2007-04-25 2008-12-04 Hitachi Ltd Source code analysis device, analysis program, and analysis method
JP6002507B2 (en) * 2012-08-31 2016-10-05 日立オートモティブシステムズ株式会社 Software verification program and software verification system
US9430200B1 (en) * 2015-06-04 2016-08-30 Microsoft Technology Licensing Llc Cross-library framework architecture feature sets
JP2017102528A (en) * 2015-11-30 2017-06-08 株式会社日立産機システム Programmable controller
JP6866663B2 (en) * 2016-02-05 2021-04-28 富士電機株式会社 Programmable controller system, programmable controller, support device, HCI device, redundant programmable controller system

Also Published As

Publication number Publication date
JP2019046052A (en) 2019-03-22

Similar Documents

Publication Publication Date Title
JP6926841B2 (en) Control system, development support device, and control method
US20110131479A1 (en) Automated form layout based upon usage patterns
JP2015176370A (en) Control system, method, program and information processor
CN112987658B (en) Production system, repair system, production method and information storage medium
WO2015121930A1 (en) Plotting device and control system
CN114358742A (en) Workflow execution method, device, equipment and storage medium
JP2017142767A (en) Controller system, variable linkage support device
JPWO2014136228A1 (en) Programmable controller, programmable controller system, and execution error information creation method
CN107615191B (en) Debugging device and debugging method
WO2019186778A1 (en) Work assistance device, work assistance system, work assistance method, and work assistance program
EP3540593A2 (en) Program development assist system, program development assist method, and program development assist program
JP2017142794A (en) Programmable controller system, its controller, support device, HCI device, duplex controller system
CN112272821B (en) Control device and control method
WO2021044654A1 (en) Information processing system, programmable display device, and information processing device
JP2011186607A (en) Field device, setting method for the same, field device management method and program
JP2020091766A (en) Electronic computer, method and program
JP2014199485A (en) Information processor and information processing program
EP4261678A1 (en) Generation of a technical instruction
JP7741203B2 (en) Robot or machine tool simulation device
US11803376B2 (en) Programming support apparatus for developing a user program to be executed by a programmable logic controller
JP4925514B2 (en) Program execution control method, program, execution control apparatus, and recording medium by internal / external event driven system
JPWO2014091623A1 (en) Programmable controller system, its programmable display, support device, program
US11215974B2 (en) Factory automation (FA) system, controller, and control method
WO2022185670A1 (en) Development support device, method for controlling development support device, information processing program, and recording medium
JP2006318102A (en) Field device management apparatus and field device management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210628

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210719

R150 Certificate of patent or registration of utility model

Ref document number: 6926841

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