JP2023151742A - Control system, controller, and control program - Google Patents

Control system, controller, and control program Download PDF

Info

Publication number
JP2023151742A
JP2023151742A JP2022061542A JP2022061542A JP2023151742A JP 2023151742 A JP2023151742 A JP 2023151742A JP 2022061542 A JP2022061542 A JP 2022061542A JP 2022061542 A JP2022061542 A JP 2022061542A JP 2023151742 A JP2023151742 A JP 2023151742A
Authority
JP
Japan
Prior art keywords
unit
data
processing unit
write
area
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.)
Pending
Application number
JP2022061542A
Other languages
Japanese (ja)
Inventor
紳太郎 山本
Shintaro Yamamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2022061542A priority Critical patent/JP2023151742A/en
Publication of JP2023151742A publication Critical patent/JP2023151742A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

To provide a constitution for appropriately writing data inside a controller that cyclically performs control arithmetic.SOLUTION: A control system includes a first processing unit, a second processing unit that runs an application program, and a provision unit that provides a user interface screen image. The first processing unit has a write area that retains data written by the second processing unit. The second processing unit includes an acquisition block that acquires one or plural values, a preprocessing block that adjusts the number of digits for the acquired one or plural values according to predefined settings, a current data area that retains a value which has the number of digits adjusted, a previous data area that retains data held in the current data area during the previous cycle, and a write execution unit that writes in the write area the data, the value of which has changed from that retained in the previous data area, out of data items retained in the current data area. The provision unit displays the contents of the settings and the time required for writing in the write area, and accepts a change in the settings.SELECTED DRAWING: Figure 5

Description

本発明は、制御システム、制御装置および制御プログラムに関する。 The present invention relates to a control system, a control device, and a control program.

データ転送に係る技術として、転送量を削減するために、差分のみを送信するような技術が知られている。 As a technique related to data transfer, a technique is known in which only the difference is transmitted in order to reduce the amount of transfer.

例えば、特開2020-173689号公報(特許文献1)は、所定の処理周期で反転データを更新する際に、安全データと更新前の反転データの反転値とを比較し、安全データの1周期前からの変更データを生成する生成部を備える制御装置を開示する。 For example, in Japanese Patent Application Publication No. 2020-173689 (Patent Document 1), when updating inverted data at a predetermined processing cycle, safety data is compared with the inverted value of the inverted data before updating, and A control device is disclosed that includes a generation unit that generates change data from before.

また、特開2000-165965号公報(特許文献2)は、情報入力手段の入力データが前回の送信データから変化しているときだけ中央制御部へ送信するように要求する構成を開示する。 Furthermore, Japanese Patent Application Laid-open No. 2000-165965 (Patent Document 2) discloses a configuration in which a request is made to transmit data to a central control unit only when input data of an information input means has changed from the previous transmitted data.

特開2020-173689号公報Japanese Patent Application Publication No. 2020-173689 特開2000-165965号公報Japanese Patent Application Publication No. 2000-165965

上述の先行技術は、単にデータ量を削減することをだけを目的としたものである。本発明は、制御演算をサイクリック実行する制御装置における装置内部のデータの書込を適切に行うための構成を提供するものである。 The above-mentioned prior art is merely aimed at reducing the amount of data. The present invention provides a configuration for appropriately writing data inside a control device that cyclically executes control calculations.

本発明の一例に従う制御システムは、制御演算をサイクリック実行する第1処理部と、第1処理部とは独立して、アプリケーションプログラムを実行する第2処理部と、ユーザインターフェイス画面を提供する提供部とを含む。第1処理部は、第2処理部から書き込まれるデータを保持する書込領域を含む。第2処理部は、1または複数の値を取得する取得部と、予め定められた設定に従って、取得された1または複数の値に対して桁数を調整する前処理部と、桁数を調整された値を保持する今回データ領域と、今回データ領域が前回の周期において保持していたデータを保持する前回データ領域と、今回データ領域が保持しているデータのうち前回データ領域から値が変化したデータを書込領域に書き込む書込実行部とを含む。提供部は、設定の内容および書込領域への書込に要している時間を表示するとともに、設定の変更を受け付ける。 A control system according to an example of the present invention includes a first processing section that cyclically executes control calculations, a second processing section that executes an application program independently of the first processing section, and a user interface screen. including the section. The first processing section includes a write area that holds data written from the second processing section. The second processing unit includes an acquisition unit that acquires one or more values, a preprocessing unit that adjusts the number of digits for the one or more acquired values according to predetermined settings, and a preprocessing unit that adjusts the number of digits. The current data area holds the value that was stored in the current data area, the previous data area holds the data that the current data area held in the previous cycle, and the current data area holds the data that has changed from the previous data area. and a write execution unit that writes the data to the write area. The providing unit displays the contents of the settings and the time required for writing to the writing area, and also accepts changes to the settings.

この構成によれば、ユーザは、書込領域への書込に要している時間を確認しながら、当該時間が所定時間内に収まるように、設定の内容を適宜変更および修正できる。 According to this configuration, the user can change and modify the settings as appropriate while checking the time required for writing to the writing area so that the time falls within the predetermined time.

提供部は、設定の内容として、前処理部が出力する桁数の設定を受け付けるようにしてもよい。この構成によれば、前処理部が出力する桁数を調整することができ、これによって、書込領域への書込の頻度(確率)を調整できる。 The providing unit may accept a setting for the number of digits to be output by the preprocessing unit as the setting content. According to this configuration, the number of digits output by the preprocessing section can be adjusted, and thereby the frequency (probability) of writing to the writing area can be adjusted.

提供部は、設定の内容として、前処理部が桁数を調整するために値を丸める方法の設定を受け付けるようにしてもよい。この構成によれば、前処理部が桁数を調整するために値を丸める方法を調整することができ、これによって、書込対象の値の特性に応じた方法を設定できる。 The providing unit may accept, as the setting content, a setting for a method for the preprocessing unit to round a value in order to adjust the number of digits. According to this configuration, the preprocessing unit can adjust the method of rounding the value in order to adjust the number of digits, and thereby it is possible to set the method according to the characteristics of the value to be written.

提供部は、取得部が取得する1または複数の値に対応する変数の設定を受け付けるようにしてもよい。この構成によれば、第1処理部で必要な任意の変数を設定できる。 The providing unit may accept settings of variables corresponding to one or more values acquired by the acquiring unit. According to this configuration, any necessary variables can be set in the first processing section.

提供部は、取得部が取得する値の数に対して、書込実行部が書き込むデータに含まれる値の数の割合を表示するようにしてもよい。この構成によれば、取得するように設定されている値のうち、どの程度の割合の値が実際に書き込まれているのかを把握できる。 The providing unit may display the ratio of the number of values included in the data written by the write execution unit to the number of values acquired by the acquisition unit. With this configuration, it is possible to know what percentage of the values set to be acquired are actually written.

第1処理部は、書込実行部による書込領域への書込が完了すると、書込終了信号を第2処理部へ出力する監視部を含んでいてもよい。第2処理部は、書込終了信号に基づいて、書込領域への書込に要している時間を計測する計測部をさらに含んでいてもよい。この構成によれば、第1処理部と第2処理部との間のやり取りによって、書込領域への書込に要している時間を簡素化された構成で測定できる。 The first processing section may include a monitoring section that outputs a write end signal to the second processing section when the writing execution section completes writing to the write area. The second processing unit may further include a measuring unit that measures the time required to write to the write area based on the write end signal. According to this configuration, the time required for writing to the write area can be measured with a simplified configuration by the exchange between the first processing section and the second processing section.

第1処理部は、第1ハートビート部をさらに含んでいてもよい。第2処理部は、第2ハートビート部をさらに含んでいてもよい。第1ハートビート部および第2ハートビート部は、互いに、生存信号を定期的に相手側に送信することで、第1処理部および第2処理部の正常動作を監視するように構成されていてもよい。この構成によれば、第1処理部および第2処理部が相互にするので、信頼性をより高めることができる。 The first processing section may further include a first heartbeat section. The second processing section may further include a second heartbeat section. The first heartbeat section and the second heartbeat section are each configured to monitor the normal operation of the first processing section and the second processing section by periodically transmitting a survival signal to the other side. Good too. According to this configuration, since the first processing section and the second processing section are mutually connected, reliability can be further improved.

本発明の別の一例に従う制御装置は、制御演算をサイクリック実行する第1処理部と、第1処理部とは独立して、アプリケーションプログラムを実行する第2処理部とを含む。第1処理部は、第2処理部から書き込まれるデータを保持する書込領域を含む。第2処理部は、1または複数の値を取得する取得部と、予め定められた設定に従って、取得された1または複数の値に対して桁数を調整する前処理部と、桁数を調整された値を保持する今回データ領域と、今回データ領域が前回の周期において保持していたデータを保持する前回データ領域と、今回データ領域が保持しているデータのうち前回データ領域から値が変化したデータを書込領域に書き込む書込実行部とを含む。制御装置は、設定の内容および書込領域への書込に要している時間を表示するとともに、設定の変更を受け付けるユーザインターフェイス画面を提供する。 A control device according to another example of the present invention includes a first processing section that cyclically executes control calculations, and a second processing section that executes an application program independently of the first processing section. The first processing section includes a write area that holds data written from the second processing section. The second processing unit includes an acquisition unit that acquires one or more values, a preprocessing unit that adjusts the number of digits for the one or more acquired values according to predetermined settings, and a preprocessing unit that adjusts the number of digits. The current data area holds the value that was stored in the current data area, the previous data area holds the data that the current data area held in the previous cycle, and the current data area holds the data that has changed from the previous data area. and a write execution unit that writes the data to the write area. The control device displays the contents of the settings and the time required for writing to the writing area, and provides a user interface screen that accepts changes to the settings.

本発明のさらに別の一例に従う制御プログラムは、コンピュータを、制御演算をサイクリック実行する第1処理部と、第1処理部とは独立して、アプリケーションプログラムを実行する第2処理部として機能させる。第1処理部は、第2処理部から書き込まれるデータを保持する書込領域を含む。第2処理部は、1または複数の値を取得する取得部と、予め定められた設定に従って、取得された1または複数の値に対して桁数を調整する前処理部と、桁数を調整された値を保持する今回データ領域と、今回データ領域が前回の周期において保持していたデータを保持する前回データ領域と、今回データ領域が保持しているデータのうち前回データ領域から値が変化したデータを書込領域に書き込む書込実行部とを含む。制御プログラムは、コンピュータに、設定の内容および書込領域への書込に要している時間を表示するとともに、設定の変更を受け付けるユーザインターフェイス画面を提供する処理を実行させる。 A control program according to yet another example of the present invention causes a computer to function as a first processing section that cyclically executes control calculations and a second processing section that executes an application program independently of the first processing section. . The first processing section includes a write area that holds data written from the second processing section. The second processing unit includes an acquisition unit that acquires one or more values, a preprocessing unit that adjusts the number of digits for the one or more acquired values according to predetermined settings, and a preprocessing unit that adjusts the number of digits. The current data area holds the value that was stored in the current data area, the previous data area holds the data that the current data area held in the previous cycle, and the current data area holds the data that has changed from the previous data area. and a write execution unit that writes the data to the write area. The control program causes the computer to display the contents of the settings and the time required for writing to the writing area, and also executes a process of providing a user interface screen that accepts changes to the settings.

本発明によれば、制御演算をサイクリック実行する制御装置における装置内部のデータの書込を適切に行うことができる。 According to the present invention, it is possible to appropriately write data inside a control device that cyclically executes control calculations.

本実施の形態に従う制御システムの全体構成例を示す模式図である。FIG. 1 is a schematic diagram showing an example of the overall configuration of a control system according to the present embodiment. 本実施の形態に従う制御システムの制御装置のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of a hardware configuration of a control device of a control system according to the present embodiment. 本実施の形態に従う制御システムのサポート装置のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of a hardware configuration of a support device for a control system according to the present embodiment. 本実施の形態に従う制御装置の機能構成例を示す模式図である。FIG. 2 is a schematic diagram showing an example of the functional configuration of a control device according to the present embodiment. 本実施の形態に従う制御装置のデータ書込処理に関係する機能構成例を示す模式図である。FIG. 2 is a schematic diagram showing an example of a functional configuration related to data writing processing of the control device according to the present embodiment. 本実施の形態に従う制御装置の前処理の一例を説明するための図である。FIG. 3 is a diagram for explaining an example of preprocessing of the control device according to the present embodiment. 本実施の形態に従う制御システムが提供するデータ書込に係る設定を行うためのユーザインターフェイス画面の一例である。It is an example of a user interface screen for making settings related to data writing provided by the control system according to the present embodiment. 本実施の形態に従う制御システムがユーザインターフェイス画面を提供するための構成例を示す模式図である。FIG. 2 is a schematic diagram showing a configuration example for the control system according to the present embodiment to provide a user interface screen. 本実施の形態に従う制御装置のデータ書込に関する処理手順の一例を示すフローチャートである。3 is a flowchart illustrating an example of a processing procedure regarding data writing of the control device according to the present embodiment. 本実施の形態に従う制御システムのデータ書込に係る設定の処理手順の一例を示すシーケンスチャートである。3 is a sequence chart illustrating an example of a processing procedure for settings related to data writing of the control system according to the present embodiment.

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

<A.全体構成例>
次に、本実施の形態に従う制御装置100を含む制御システム1の全体構成例について説明する。
<A. Overall configuration example>
Next, an example of the overall configuration of the control system 1 including the control device 100 according to the present embodiment will be described.

図1は、本実施の形態に従う制御システム1の全体構成例を示す模式図である。図1を参照して、本実施の形態に従う制御システム1は、主たるコンポーネントとして、制御装置100と、サポート装置200と、HMI(Human Machine Interface)300と、サーバ装置400とを含む。 FIG. 1 is a schematic diagram showing an example of the overall configuration of a control system 1 according to the present embodiment. Referring to FIG. 1, a control system 1 according to the present embodiment includes a control device 100, a support device 200, an HMI (Human Machine Interface) 300, and a server device 400 as main components.

制御装置100は、PLC(プログラマブルロジックコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス2を介してフィールド装置群10と接続される。フィールドバス2は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。 The control device 100 may be implemented as a type of computer such as a PLC (programmable logic controller). The control device 100 is connected to the field device group 10 via the field bus 2. It is preferable that the field bus 2 adopts an industrial communication protocol. As such communication protocols, EtherCAT (registered trademark), EtherNet/IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), etc. are known.

フィールド装置群10は、生産現場などのフィールドから入力データを収集する装置と、制御装置100にて生成される指令(出力データ)に基づいて、フィールドに対して何らかの作用を与える装置を含む。 The field device group 10 includes devices that collect input data from a field such as a production site, and devices that perform some action on the field based on commands (output data) generated by the control device 100.

図1に示す構成例において、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、サーボドライバ18およびサーボモータ20とを含む。 In the configuration example shown in FIG. 1, field device group 10 includes a remote I/O (Input/Output) device 12, a relay group 14, a servo driver 18, and a servo motor 20.

制御装置100は、フィールド装置群10からの入力データ、フィールド装置群10への出力データ、および、制御装置100の内部で管理される内部データなどを保持する。 The control device 100 holds input data from the field device group 10, output data to the field device group 10, internal data managed within the control device 100, and the like.

サポート装置200は、後述するように、制御装置100に対して各種設定が可能である。 The support device 200 is capable of various settings for the control device 100, as will be described later.

HMI300は、上位ネットワーク4を介して制御装置100と接続されており、制御装置100からの情報を表示するとともに、ユーザ操作に応じた指令を制御装置100へ送信する。また、HMI300は、後述するように、制御装置100に対して各種設定が可能である。 The HMI 300 is connected to the control device 100 via the upper network 4, displays information from the control device 100, and transmits commands according to user operations to the control device 100. Further, the HMI 300 can perform various settings for the control device 100, as described later.

サーバ装置400は、上位ネットワーク4を介して制御装置100と接続されており、データを格納するデータベースや、MES(生産実行システム)などとして機能する。 The server device 400 is connected to the control device 100 via the upper network 4, and functions as a database for storing data, an MES (production execution system), and the like.

<B.ハードウェア構成例>
次に、本実施の形態に従う制御システム1の主要な装置のハードウェア構成例について説明する。
<B. Hardware configuration example>
Next, an example of the hardware configuration of the main devices of the control system 1 according to the present embodiment will be described.

(b1:制御装置100)
図2は、本実施の形態に従う制御システム1の制御装置100のハードウェア構成例を示すブロック図である。図2を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ120と、I/Oユニット124-1,124-2,…とを含む。
(b1: control device 100)
FIG. 2 is a block diagram showing an example of the hardware configuration of the control device 100 of the control system 1 according to the present embodiment. Referring to FIG. 2, control device 100 includes a processor 102 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a chipset 104, a main storage device 106, a secondary storage device 108, Includes a host network controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, an internal bus controller 122, a fieldbus controller 120, and I/O units 124-1, 124-2, . . . .

プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御装置100に必要な処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。 The processor 102 reads various programs stored in the secondary storage device 108, expands them to the main storage device 106, and executes them, thereby realizing processing necessary for the control device 100. The chipset 104 controls data transmission between the processor 102 and each component.

二次記憶装置108には、システムプログラム131と、制御演算の内容を記述したユーザプログラム132と、後述するような任意のアプリケーションを実行するための環境を提供するアプリケーション実行環境プログラム133と、任意の1または複数のアプリケーションを記述したアプリケーションプログラム134とが格納される。 The secondary storage device 108 stores a system program 131, a user program 132 that describes the contents of control calculations, an application execution environment program 133 that provides an environment for executing any application as described later, and an arbitrary program. An application program 134 that describes one or more applications is stored.

二次記憶装置108に格納されるプログラムが実行されることで、コンピュータである制御装置100に本明細書に記載された処理を実行させるとともに、コンピュータである制御装置100において本明細書に記載された機能構成を実現させる。 By executing the program stored in the secondary storage device 108, the control device 100, which is a computer, executes the processes described in this specification, and the control device 100, which is a computer, executes the processes described in this specification. Achieve a functional configuration with

上位ネットワークコントローラ110は、上位ネットワーク4を介した他の装置との間のデータのやり取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータのやり取りを制御する。 The upper network controller 110 controls data exchange with other devices via the upper network 4. The USB controller 112 controls data exchange with the support device 200 via a USB connection.

メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。 The memory card interface 114 is configured to allow a memory card 116 to be attached or removed, and is capable of writing data to the memory card 116 and reading various data (user programs, trace data, etc.) from the memory card 116. There is.

内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,…との間でデータをやり取りするインターフェイスである。 The internal bus controller 122 is an interface that exchanges data with the I/O units 124-1, 124-2, . . . installed in the control device 100.

フィールドバスコントローラ120は、フィールドバス2を介した他の装置との間のデータのやり取りを制御する。 Fieldbus controller 120 controls data exchange with other devices via fieldbus 2.

図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。 FIG. 2 shows an example of a configuration in which necessary functions are provided by the processor 102 executing a program. (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)). Alternatively, the main parts of the control device 100 may be realized using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to run multiple OSs (Operating Systems) for different purposes in parallel, and to run necessary applications on each OS.

(b2:サポート装置200)
図3は、本実施の形態に従う制御システム1のサポート装置200のハードウェア構成例を示すブロック図である。本実施の形態に従うサポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェアを有する汎用コンピュータなどで構成される。
(b2: Support device 200)
FIG. 3 is a block diagram showing an example of the hardware configuration of the support device 200 of the control system 1 according to the present embodiment. The support device 200 according to this embodiment is configured, for example, by a general-purpose computer having hardware according to a general-purpose architecture.

図3を参照して、サポート装置200は、CPUやGPU(Graphics Processing Unit)などのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。 Referring to FIG. 3, support device 200 includes a processor 202 such as a CPU or GPU (Graphics Processing Unit), an optical drive 204, a main storage device 206, a secondary storage device 208, a USB controller 212, and a network. It includes a controller 214, an input section 216, and a display section 218. These components are connected via bus 220.

プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、任意の処理を実現する。 The processor 202 reads various programs stored in the secondary storage device 208, expands them to the main storage device 206, and executes them, thereby realizing arbitrary processing.

二次記憶装置208には、典型的には、OS222と、後述するような設定処理を行うためのユーザインターフェイス画面提供プログラム224とが格納される。二次記憶装置208には、図3に示すプログラム以外の必要なプログラムが格納されてもよい。 The secondary storage device 208 typically stores an OS 222 and a user interface screen providing program 224 for performing setting processing as described below. The secondary storage device 208 may store necessary programs other than the programs shown in FIG.

サポート装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られて二次記憶装置208などにインストールされる。 The support device 200 has an optical drive 204, and a recording medium 205 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that non-temporarily stores a computer-readable program. The stored program is read and installed in the secondary storage device 208 or the like.

サポート装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置200が提供する機能は、OS222が提供するモジュールの一部を利用する形で実現される場合もある。 The various programs executed by the support device 200 may be installed via the computer-readable recording medium 205, or may be installed by being downloaded from a server device on a network. Further, the functions provided by the support device 200 according to this embodiment may be realized by using some of the modules provided by the OS 222.

USBコントローラ212は、USB接続を介して制御装置100との間のデータのやり取りを制御する。ネットワークコントローラ214は、任意のネットワークを介した他の装置との間のデータのやり取りを制御する。 The USB controller 212 controls data exchange with the control device 100 via a USB connection. Network controller 214 controls data exchange with other devices via any network.

入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。 The input unit 216 includes a keyboard, a mouse, and the like, and accepts user operations. The display unit 218 includes a display, various indicators, a printer, and the like, and outputs processing results from the processor 202 and the like.

図3には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。 FIG. 3 shows an example of a configuration in which necessary functions are provided by the processor 202 executing a program. or FPGA, etc.).

(b3:HMI300)
本実施の形態に従うHMI300は、一例として、汎用的なアーキテクチャに従うハードウェアを有する汎用コンピュータなどで構成される。基本的なハードウェア構成は、図3に示すサポート装置200と同様であるので、詳細な説明は繰り返さない。
(b3:HMI300)
The HMI 300 according to this embodiment is configured, for example, by a general-purpose computer having hardware according to a general-purpose architecture. The basic hardware configuration is the same as that of the support device 200 shown in FIG. 3, so detailed description will not be repeated.

<C.制御装置の機能構成例>
次に、本実施の形態に従う制御装置100の機能構成例について説明する。
<C. Example of functional configuration of control device>
Next, an example of the functional configuration of control device 100 according to this embodiment will be described.

図4は、本実施の形態に従う制御装置100の機能構成例を示す模式図である。図4を参照して、制御装置100は、PLCエンジン150およびアプリケーション実行環境160を含む。 FIG. 4 is a schematic diagram showing an example of the functional configuration of control device 100 according to the present embodiment. Referring to FIG. 4, control device 100 includes a PLC engine 150 and an application execution environment 160.

PLCエンジン150は、第1処理部に相当し、制御演算をサイクリック実行する。典型的には、PLCエンジン150は、ユーザプログラム132を実行して、制御演算151を実現する。 The PLC engine 150 corresponds to a first processing section and cyclically executes control calculations. Typically, PLC engine 150 executes user program 132 to implement control calculations 151.

アプリケーション実行環境160は、アプリケーションプログラム134を実行して、任意のアプリケーション処理166を実現する。アプリケーション実行環境160は、第2処理部に相当し、PLCエンジン150とは独立して、アプリケーションプログラム134を実行する。 Application execution environment 160 executes application program 134 to implement arbitrary application processing 166. The application execution environment 160 corresponds to a second processing unit and executes the application program 134 independently of the PLC engine 150.

制御装置100は、IOインターフェイス140と、通信インターフェイス142と、変数マネジャ144とをさらに含む。 Control device 100 further includes an IO interface 140, a communication interface 142, and a variable manager 144.

IOインターフェイス140は、フィールド装置群10と周期的に通信することで、入力データを取得するとともに、出力データを送信する。 The IO interface 140 periodically communicates with the field device group 10 to acquire input data and transmit output data.

通信インターフェイス142は、サーバ装置400などとデータをやり取りする。 The communication interface 142 exchanges data with the server device 400 and the like.

変数マネジャ144は、制御装置100において参照可能な変数を保持および更新する。より具体的には、変数マネジャ144は、IOインターフェイス140が取得した入力データで対応する変数の値を更新するとともに、通信インターフェイス142が取得したデータで対応する変数の値を更新する。また、変数マネジャ144は、PLCエンジン150およびアプリケーション実行環境160からのアクセスに従って、対応する変数の値を更新する。なお、IOインターフェイス140、通信インターフェイス142、PLCエンジン150、およびアプリケーション実行環境160は、変数マネジャ144が保持する変数を参照することができる。そのため、変数マネジャ144が保持および更新する変数は、グローバル変数であってもよい。 The variable manager 144 holds and updates variables that can be referenced in the control device 100. More specifically, the variable manager 144 updates the value of the corresponding variable with the input data obtained by the IO interface 140, and updates the value of the corresponding variable with the data obtained by the communication interface 142. Further, the variable manager 144 updates the values of corresponding variables according to accesses from the PLC engine 150 and the application execution environment 160. Note that the IO interface 140, the communication interface 142, the PLC engine 150, and the application execution environment 160 can refer to variables held by the variable manager 144. Therefore, the variables held and updated by the variable manager 144 may be global variables.

PLCエンジン150は、ローカルメモリ領域152と、データ交換管理部156とを含む。ローカルメモリ領域152は、変数マネジャ144が保持する変数の値を保持するためのグローバルデータ領域153と、制御演算151を実行するために必要な変数の値を保持するための内部データ領域154と、アプリケーション実行環境160から書き込まれる変数の値を保持するためのアプリケーションデータ領域155とを含む。アプリケーションデータ領域155は、アプリケーション実行環境160から書き込まれるデータを保持する書込領域に相当する。 PLC engine 150 includes a local memory area 152 and a data exchange manager 156. The local memory area 152 includes a global data area 153 for holding the values of variables held by the variable manager 144, and an internal data area 154 for holding the values of variables necessary for executing the control operation 151. and an application data area 155 for holding the values of variables written from the application execution environment 160. The application data area 155 corresponds to a write area that holds data written from the application execution environment 160.

データ交換管理部156は、アプリケーション実行環境160からPLCエンジン150への変数の値の書込を監視等する。データ交換管理部156の機能および処理については、後述する。 The data exchange management unit 156 monitors writing of variable values from the application execution environment 160 to the PLC engine 150. The functions and processing of the data exchange management section 156 will be described later.

アプリケーション実行環境160は、ローカルメモリ領域162と、データ書込部170とを含む。 Application execution environment 160 includes a local memory area 162 and a data writing unit 170.

ローカルメモリ領域162は、変数マネジャ144が保持する変数の値を保持するためのグローバルデータ領域163と、アプリケーション処理166を実行するために必要な変数の値を保持するための内部データ領域164とを含む。 The local memory area 162 includes a global data area 163 for holding the values of variables held by the variable manager 144, and an internal data area 164 for holding the values of variables necessary for executing the application processing 166. include.

データ書込部170は、アプリケーション処理166などによって算出される変数の値をPLCエンジン150(アプリケーションデータ領域155)に書き込む。 The data writing unit 170 writes the values of variables calculated by the application processing 166 and the like into the PLC engine 150 (application data area 155).

なお、以下の説明においては、アプリケーション実行環境160からPLCエンジン150に書き込まれる1または複数の変数の値を「データ」とも称す。 Note that in the following description, the values of one or more variables written from the application execution environment 160 to the PLC engine 150 are also referred to as "data."

アプリケーション実行環境160からPLCエンジン150へのデータ書込の一例としては、まず、(1)ローカルメモリ領域162に保持されている1または複数の変数の値を用いてアプリケーション処理166が任意の処理を実行し、実行により算出された処理結果を内部データ領域154に書き込む。続いて、(2)データ書込部170は、内部データ領域154に保持されている1または複数の変数の値を取得する。(3)データ書込部170は、取得した1または複数の変数の値に対して、後述するような前処理を行った上で、前回のデータ書込から値が変化している変数を特定する。そして、(4)データ書込部170は、前回のデータ書込から値が変化している変数について、最新の値をPLCエンジン150のアプリケーションデータ領域155に書き込む。 As an example of writing data from the application execution environment 160 to the PLC engine 150, first, (1) the application processing 166 performs arbitrary processing using the values of one or more variables held in the local memory area 162; The processing result calculated by the execution is written into the internal data area 154. Subsequently, (2) the data writing unit 170 obtains the values of one or more variables held in the internal data area 154. (3) The data writing unit 170 performs preprocessing as described below on the acquired values of one or more variables, and then identifies variables whose values have changed since the previous data writing. do. (4) The data writing unit 170 writes the latest values of variables whose values have changed since the previous data writing into the application data area 155 of the PLC engine 150.

<D.データ書込処理>
次に、アプリケーション実行環境160からPLCエンジン150へのデータ書込について詳述する。
<D. Data writing process>
Next, data writing from the application execution environment 160 to the PLC engine 150 will be described in detail.

図5は、本実施の形態に従う制御装置100のデータ書込処理に関係する機能構成例を示す模式図である。図5を参照して、アプリケーション実行環境160のデータ書込部170は、データ取得部171と、前処理部172と、今回データ領域173と、前回データ領域174と、比較部175と、書込実行部176と、設定部177と、書込時間計測部178と、ハートビート部179とを含む。一方、PLCエンジン150のデータ交換管理部156は、書込監視部157およびハートビート部158を含む。 FIG. 5 is a schematic diagram showing an example of a functional configuration related to data writing processing of control device 100 according to the present embodiment. Referring to FIG. 5, the data writing unit 170 of the application execution environment 160 includes a data acquisition unit 171, a preprocessing unit 172, a current data area 173, a previous data area 174, a comparison unit 175, and a writing unit 170. It includes an execution section 176, a setting section 177, a write time measurement section 178, and a heartbeat section 179. On the other hand, the data exchange management section 156 of the PLC engine 150 includes a write monitoring section 157 and a heartbeat section 158.

データ取得部171は、設定1770に従って、指定された1または複数の値(変数の値)を取得する。データ取得部171が1または複数の変数の値を取得するタイミングは、PLCエンジン150における制御演算151の実行周期(制御周期)と同期していてもよいし、PLCエンジン150とは独立した任意のタイミングであってもよい。 The data acquisition unit 171 acquires one or more specified values (values of variables) according to the settings 1770. The timing at which the data acquisition unit 171 acquires the values of one or more variables may be synchronized with the execution cycle (control cycle) of the control calculation 151 in the PLC engine 150, or may be at any timing independent of the PLC engine 150. It may be timing.

前処理部172は、データ取得部171が取得した1または複数の変数の値に対して、設定1770に従って前処理を行った上で、前処理後の値を今回データ領域173に書き込む。より具体的には、前処理部172は、予め定められた設定1770に従って、取得された1または複数の値に対して桁数を調整する。 The preprocessing unit 172 performs preprocessing on the values of one or more variables acquired by the data acquisition unit 171 according to the settings 1770, and then writes the preprocessed values into the current data area 173. More specifically, the preprocessing unit 172 adjusts the number of digits for the obtained one or more values according to predetermined settings 1770.

今回データ領域173は、PLCエンジン150に書き込まれるデータ(1または複数の変数の今回値)を保持する。より具体的には、今回データ領域173は、前処理部172により桁数を調整された値を保持する。 The current data area 173 holds data (current values of one or more variables) written to the PLC engine 150. More specifically, the current data area 173 holds a value whose number of digits has been adjusted by the preprocessing unit 172.

前回データ領域174は、PLCエンジン150に書き込まれる前回のデータ(1または複数の変数の前回値)を保持する。書込実行部176がPLCエンジン150へのデータ書込を行うと、今回データ領域173に保持されているデータが前回データ領域174にコピーされる。 The previous data area 174 holds the previous data (previous values of one or more variables) written to the PLC engine 150. When the write execution unit 176 writes data to the PLC engine 150, the data held in the current data area 173 is copied to the previous data area 174.

その結果、PLCエンジン150へのデータ書込毎に、前回データ領域174は、今回データ領域173に保持されているデータで更新される。すなわち、前回データ領域174は、今回データ領域173が前回の周期において保持していたデータを保持する。今回データ領域173および前回データ領域174の領域サイズは同じに設定されてもよい。 As a result, each time data is written to the PLC engine 150, the previous data area 174 is updated with the data held in the current data area 173. That is, the previous data area 174 holds the data that the current data area 173 held in the previous cycle. The area sizes of the current data area 173 and the previous data area 174 may be set to be the same.

比較部175は、PLCエンジン150に書き込まれる変数の各々について、今回データ領域173に保持されているデータと前回データ領域174に保持されているデータとを比較する。比較部175は、値が異なっている変数を今回対象変数として決定し、今回データ領域173に保持されている今回対象変数の値(今回値)を書込実行部176へ出力する。 The comparison unit 175 compares the data held in the current data area 173 and the data held in the previous data area 174 for each variable written to the PLC engine 150. Comparison unit 175 determines a variable with a different value as the current target variable, and outputs the value of the current target variable held in current data area 173 (current value) to write execution unit 176.

書込実行部176は、比較部175から出力された1または複数の値からデータセット1760を生成し、PLCエンジン150のアプリケーションデータ領域155に書き込む。なお、比較部175から値が出力されない場合(すなわち、今回データ領域173に保持されている値と前回データ領域174に保持されている値とが全く同じである場合)には、書込実行部176は、データセット1760を生成しなくてもよい。 The write execution unit 176 generates a data set 1760 from one or more values output from the comparison unit 175, and writes it into the application data area 155 of the PLC engine 150. Note that if no value is output from the comparison unit 175 (that is, if the value held in the data area 173 this time and the value held in the data area 174 last time are exactly the same), the write execution unit 176 may not generate data set 1760.

このように、書込実行部176は、今回データ領域173が保持しているデータのうち前回データ領域174から値が変化したデータをアプリケーションデータ領域155(書込領域)に書き込む。 In this way, the write execution unit 176 writes data whose value has changed from the previous data area 174 among the data held in the current data area 173 to the application data area 155 (write area).

設定部177は、サポート装置200および/またはHMI300などを介したユーザ操作に従って、設定1770を生成する。そして、設定部177は、設定1770をデータ取得部171および前処理部172に反映する。 Setting unit 177 generates settings 1770 according to user operations via support device 200 and/or HMI 300. The setting unit 177 then reflects the settings 1770 on the data acquisition unit 171 and the preprocessing unit 172.

書込時間計測部178は、書込実行部176によるデータ書込に要する時間(書込時間1780)を計測する。より具体的には、書込時間計測部178は、書込実行部176がデータ書込を開始すると、書込開始信号をPLCエンジン150の書込監視部157へ送信する。書込監視部157は、書込対象変数名1570に従って、アプリケーションデータ領域155における書込対象変数の値の変化を監視する。そして、書込監視部157は、アプリケーションデータ領域155に書込対象変数の値(データ)が書き込まれると、書込終了信号を書込時間計測部178へ送信する。このように、書込監視部157は、書込実行部176によるアプリケーションデータ領域155(書込領域)への書込が完了すると、書込終了信号をアプリケーション実行環境160へ出力する。 The write time measurement unit 178 measures the time required for the write execution unit 176 to write data (write time 1780). More specifically, when the write execution unit 176 starts writing data, the write time measurement unit 178 transmits a write start signal to the write monitoring unit 157 of the PLC engine 150. The write monitoring unit 157 monitors changes in the value of the write target variable in the application data area 155 according to the write target variable name 1570. Then, when the value (data) of the write target variable is written into the application data area 155, the write monitoring unit 157 transmits a write end signal to the write time measurement unit 178. In this manner, the write monitoring unit 157 outputs a write end signal to the application execution environment 160 when the write execution unit 176 completes writing to the application data area 155 (write area).

書込時間計測部178は、書込開始信号の送信から書込終了信号を受信するまでの時間長さを書込時間1780として算出する。すなわち、書込時間計測部178は、書込終了信号に基づいて、アプリケーションデータ領域155(書込領域)への書込に要している時間(書込時間1780)を計測する。 The write time measuring unit 178 calculates the length of time from sending the write start signal to receiving the write end signal as a write time 1780. That is, the write time measurement unit 178 measures the time (write time 1780) required to write to the application data area 155 (write area) based on the write end signal.

なお、書込時間計測部178および/または書込監視部157は、後述するような統計情報(書込割合および全変数書込割合)を算出するためのデータ書込の履歴を所定回数分保持するようにしてもよい。 Note that the write time measuring unit 178 and/or the write monitoring unit 157 retain a history of data writing for a predetermined number of times for calculating statistical information (writing ratio and all variable writing ratio) as described later. You may also do so.

ハートビート部158およびハートビート部179は、PLCエンジン150およびアプリケーション実行環境160が正常に実行されていることを確認する。より具体的には、ハートビート部158およびハートビート部179は、互いに、生存信号を定期的に相手側に送信する。ハートビート部158およびハートビート部179は、生存信号を受信できない期間がしきい値を超えると、データ書込処理が正常に実行されていないとの警告などを出力する。 Heartbeat unit 158 and heartbeat unit 179 confirm that PLC engine 150 and application execution environment 160 are being executed normally. More specifically, heartbeat unit 158 and heartbeat unit 179 each periodically transmit a survival signal to the other party. When the period during which a survival signal cannot be received exceeds a threshold value, the heartbeat section 158 and the heartbeat section 179 output a warning that the data write process is not being executed normally.

このように、ハートビート部158およびハートビート部179は、互いに、生存信号を定期的に相手側に送信することで、PLCエンジン150およびアプリケーション実行環境160の正常動作を監視するように構成されている。 In this way, the heartbeat section 158 and the heartbeat section 179 are configured to monitor the normal operation of the PLC engine 150 and the application execution environment 160 by periodically transmitting the alive signal to the other side. There is.

一例として、図5には、変数Bの値のみが変化している状態を示す。すなわち、変数Aおよび変数Cについては、今回値および前回値とも、それぞれ値A’および値C’であるのに対して、変数Bについては、今回値が値Bであり、前回値が値B’となっている。 As an example, FIG. 5 shows a state where only the value of variable B is changing. That is, for variables A and C, the current value and previous value are value A' and value C', respectively, whereas for variable B, the current value is value B and the previous value is value B. '.

このような場合には、変数Bのみが値が変化しているので、データセット1760には、変数Bの今回値である値Bのみが格納される。その結果、PLCエンジン150のアプリケーションデータ領域155においては、変数Bの値のみが更新されることになる。 In such a case, only the value of variable B has changed, so only value B, which is the current value of variable B, is stored in the data set 1760. As a result, in the application data area 155 of the PLC engine 150, only the value of variable B is updated.

<E.前処理>
次に、データ書込部170の前処理部172が実行する前処理について説明する。
<E. Pretreatment>
Next, the preprocessing executed by the preprocessing unit 172 of the data writing unit 170 will be described.

本実施の形態に従う制御装置100のアプリケーション実行環境160は、今回取得された値と前回取得された値とが異なっていれば(変化していれば)、当該異なっている値をPLCエンジン150に書き込む。ここで、取得した値そのものではなく、値を丸めるような処理を行うことで、今回取得された値と前回取得された値とが同じであると見なすことができる確率が増加し得る。 The application execution environment 160 of the control device 100 according to the present embodiment transmits the different value to the PLC engine 150 if the currently acquired value and the previously acquired value are different (if they have changed). Write. Here, by performing processing such as rounding the value rather than the acquired value itself, the probability that the currently acquired value and the previously acquired value can be considered to be the same can be increased.

そこで、前処理部172は、設定1770に従って、取得された値に対して、桁数の調整を前処理として実行する。 Therefore, the preprocessing unit 172 performs preprocessing to adjust the number of digits on the obtained value according to the settings 1770.

図6は、本実施の形態に従う制御装置100の前処理の一例を説明するための図である。図6(A)には、データ取得部171が取得した変数の値(「生データ」と称する。)の一例を示す。図6(A)に示す生データは、小数点2桁を有している。図6(A)に示す生データについては、隣接する値の間で同一のものはないので、いずれも書き込まれることになる。 FIG. 6 is a diagram for explaining an example of preprocessing of control device 100 according to this embodiment. FIG. 6A shows an example of variable values (referred to as "raw data") acquired by the data acquisition unit 171. The raw data shown in FIG. 6(A) has two decimal places. Regarding the raw data shown in FIG. 6(A), since no adjacent values are the same, all of them will be written.

図6(B)には、図6(A)に示す生データを小数点1桁に丸めた結果を示す。値の丸め方については、四捨五入、切上、切捨のいずれであってもよいし、さらに別の方法を採用してもよい。図6(B)には、一例として、四捨五入で値を丸めた例を示す。 FIG. 6(B) shows the result of rounding the raw data shown in FIG. 6(A) to one decimal place. The method of rounding the value may be rounding off, rounding up, or cutting down, or another method may be used. As an example, FIG. 6B shows an example in which values are rounded off.

図6(B)に示すデータにおいて、3番目の値と4番目の値とが同一であるため、データ書込の対象にはならない。すなわち、本来4回のデータ書込が行われるところ、3回のデータ書込のみが行われることになる。 In the data shown in FIG. 6(B), since the third value and the fourth value are the same, they are not subject to data writing. That is, data writing is performed only three times, whereas data writing would normally be performed four times.

図6(C)には、図6(A)に示す生データを整数部分のみに丸めた結果を示す。図6(C)には、一例として、四捨五入で値を丸めた例を示す。 FIG. 6(C) shows the result of rounding the raw data shown in FIG. 6(A) to only integer parts. As an example, FIG. 6C shows an example in which values are rounded off.

図6(C)に示すデータにおいて、1~4番目の値はいずれも同一であるため、最初の値のみがデータ書込の対象となり、それ以外のデータ書込の対象にはならない。すなわち、本来4回のデータ書込が行われるところ、1回のデータ書込のみが行われることになる。 In the data shown in FIG. 6(C), the first to fourth values are all the same, so only the first value is the target of data writing, and no other data is the target of data writing. That is, data writing is performed only once, whereas data writing would normally be performed four times.

このように、桁数の調整(値を丸める処理)を前処理として採用することで、データ書込の頻度を調整することができる。 In this way, by employing adjustment of the number of digits (processing of rounding a value) as preprocessing, it is possible to adjust the frequency of data writing.

<F.データ書込に係る設定>
上述したように、前処理を適切に設定することで、アプリケーション実行環境160からPLCエンジン150へのデータ書込の頻度を調整することができる。本実施の形態に従う制御システム1は、データ書込に係る設定(設定1770)をユーザが任意に行える機能を提供する。
<F. Settings related to data writing>
As described above, by appropriately setting the preprocessing, the frequency of data writing from the application execution environment 160 to the PLC engine 150 can be adjusted. The control system 1 according to this embodiment provides a function that allows the user to arbitrarily make settings related to data writing (settings 1770).

図7は、本実施の形態に従う制御システム1が提供するデータ書込に係る設定を行うためのユーザインターフェイス画面の一例である。ユーザインターフェイス画面250は、設定1770の内容およびアプリケーションデータ領域155(書込領域)への書込に要している時間(図7に示す全変数書込時間および/または全変数書込平均時間)を表示するとともに、設定1770の変更を受け付ける。 FIG. 7 is an example of a user interface screen for making settings related to data writing provided by the control system 1 according to the present embodiment. The user interface screen 250 displays the contents of the settings 1770 and the time required to write to the application data area 155 (write area) (all variable write time and/or all variable write average time shown in FIG. 7). is displayed, and changes to settings 1770 are accepted.

より具体的には、図7を参照して、ユーザインターフェイス画面250は、対象変数設定部260と、状態表示部270とを含む。 More specifically, with reference to FIG. 7, user interface screen 250 includes a target variable setting section 260 and a status display section 270.

対象変数設定部260は、アプリケーション実行環境160からPLCエンジン150に書き込まれる1または複数の変数の設定を受け付ける。より具体的には、対象変数設定部260は、1または複数の変数設定ロウ261を含む。変数設定ロウ261の数は、ユーザ操作によって任意に変更できる。 The target variable setting unit 260 receives settings for one or more variables written to the PLC engine 150 from the application execution environment 160. More specifically, the target variable setting section 260 includes one or more variable setting rows 261. The number of variable setting rows 261 can be changed arbitrarily by user operation.

変数設定ロウ261の各々は、変数名設定部262と、現在値表示部263と、桁数設定として、有効桁設定部264と、丸め処理設定部265と、書込割合表示部266と、割合算出サンプル数設定部267とを含む。 Each of the variable setting rows 261 includes a variable name setting section 262, a current value display section 263, a valid digit setting section 264 for setting the number of digits, a rounding processing setting section 265, a writing ratio display section 266, and a ratio display section 266. The calculation sample number setting unit 267 is also included.

変数名設定部262には、ユーザが任意に選択する変数名が入力される。変数名設定部262は、データ取得部171が取得する1または複数の値に対応する変数の設定を受け付ける。例えば、変数名設定部262のエリアをユーザが選択すると、選択可能な変数の一覧がプルダウンメニューとして表示されてもよい。ユーザは、プルダウンメニュー上で目的の変数を選択するようにしてもよい。あるいは、ユーザは、任意の変数名を直接入力するようにしてもよい。 A variable name arbitrarily selected by the user is input into the variable name setting section 262. The variable name setting unit 262 accepts settings of variables corresponding to one or more values acquired by the data acquisition unit 171. For example, when the user selects the variable name setting area 262, a list of selectable variables may be displayed as a pull-down menu. The user may select the desired variable on a pull-down menu. Alternatively, the user may directly input any variable name.

現在値表示部263は、変数名設定部262において選択されている変数の現在値を表示する。表示される現在値は、ユーザインターフェイス画面250を提供する装置が制御装置100にアクセスして取得するようにしてもよい。 The current value display section 263 displays the current value of the variable selected in the variable name setting section 262. The displayed current value may be obtained by a device that provides the user interface screen 250 by accessing the control device 100.

有効桁設定部264および丸め処理設定部265は、前処理に係る設定を受け付ける。すなわち、有効桁設定部264は、設定1770の内容として、前処理部172が出力する桁数の設定を受け付ける。丸め処理設定部265は、設定1770の内容として、前処理部172が桁数を調整するために値を丸める方法の設定を受け付ける。 The effective digit setting unit 264 and the rounding process setting unit 265 accept settings related to preprocessing. That is, the effective digit setting section 264 accepts the setting of the number of digits output by the preprocessing section 172 as the content of the setting 1770. The rounding process setting section 265 receives, as the contents of the setting 1770, the setting of a method for the preprocessing section 172 to round a value in order to adjust the number of digits.

より具体的には、有効桁設定部264には、アプリケーション実行環境160が保持する変数の値の桁数が入力される。有効桁設定部264には、小数点の桁数を示す整数値が入力されるようにしてもよい。例えば、「0」が指定された場合には、整数値(小数点部分は無し)の値を意味し、「1」が指定された場合には、整数値と小数点1桁の値を意味し、「2」が指定された場合には、整数値と小数点2桁の値を意味する。「-1」が指定された場合には、1桁目が「0」に固定された整数値(すなわち、10の倍数)の値を意味する。 More specifically, the number of digits of the value of the variable held by the application execution environment 160 is input to the significant digit setting unit 264. An integer value indicating the number of digits of the decimal point may be input to the effective digit setting section 264. For example, if "0" is specified, it means an integer value (no decimal point), and if "1" is specified, it means an integer value and a value with one decimal place, If "2" is specified, it means an integer value and a value with two decimal places. When "-1" is specified, it means an integer value (that is, a multiple of 10) with the first digit fixed at "0".

丸め処理設定部265には、丸め処理の方法が入力される。例えば、丸め処理設定部265には、「四捨五入」、「切上」、「切捨」などが入力される。 A rounding method is input to the rounding setting section 265. For example, "round off", "round up", "round down", etc. are input to the rounding process setting section 265.

書込割合表示部266は、変数名設定部262において選択されている変数が、アプリケーション実行環境160からPLCエンジン150に書き込まれた割合を表示する。割合算出サンプル数設定部267には、書込割合表示部266に表示される割合を算出するためのサンプル数が入力される。ユーザインターフェイス画面250を提供する装置は、制御装置100にアクセスして、直近N回(割合算出サンプル数設定部267に入力された数)分のデータ書込の履歴を取得し、対象の変数が実際にPLCエンジン150に書き込まれた回数から、書込割合を算出して表示する。 The writing rate display section 266 displays the rate at which the variable selected in the variable name setting section 262 is written from the application execution environment 160 to the PLC engine 150. The number of samples for calculating the ratio displayed on the writing ratio display section 266 is input to the ratio calculation sample number setting section 267. The device that provides the user interface screen 250 accesses the control device 100, obtains the history of data writing for the most recent N times (the number input to the ratio calculation sample number setting section 267), and determines whether the target variable is The write ratio is calculated and displayed from the number of times the data is actually written to the PLC engine 150.

状態表示部270は、全変数書込時間表示部271と、全変数書込平均時間表示部272と、平均時間算出サンプル数設定部273と、全変数書込割合表示部274と、書込周期表示部275とを含む。 The status display section 270 includes an all variables write time display section 271, an all variable average write time display section 272, an average time calculation sample number setting section 273, an all variables write ratio display section 274, and a write cycle. A display section 275 is included.

全変数書込時間表示部271は、アプリケーション実行環境160からPLCエンジン150への直近のデータ書込に要した時間(全変数書込時間)を表示する。 The total variable write time display section 271 displays the time required to write the most recent data from the application execution environment 160 to the PLC engine 150 (all variable write time).

全変数書込平均時間表示部272は、アプリケーション実行環境160からPLCエンジン150へのデータ書込に要した時間の平均値(全変数書込平均時間)を表示する。このとき、ユーザインターフェイス画面250を提供する装置は、制御装置100にアクセスして、直近N回(平均時間算出サンプル数設定部273)分のデータ書込の履歴を取得し、データ書込に要した時間の平均値を算出して表示する。 The all-variables write average time display section 272 displays the average value of the time required to write data from the application execution environment 160 to the PLC engine 150 (all-variables write average time). At this time, the device that provides the user interface screen 250 accesses the control device 100, obtains the history of data writing for the most recent N times (average time calculation sample number setting unit 273), and obtains the history of data writing required for data writing. Calculate and display the average value of the time taken.

全変数書込割合表示部274は、アプリケーション実行環境160からPLCエンジン150にデータ書込された変数の割合(全変数書込割合)を表示する。すなわち、全変数書込割合表示部274は、データ取得部171が取得する値の数に対して、書込実行部176が書き込むデータに含まれる値の数の割合を表示する。あるいは、全変数書込割合表示部274は、データ書込の対象となっている書込対象変数の総数に対して、実際にデータ書込された変数の数の割合を表示する。 The total variable write ratio display section 274 displays the ratio of variables whose data is written to the PLC engine 150 from the application execution environment 160 (total variable write ratio). That is, the total variable write ratio display section 274 displays the ratio of the number of values included in the data written by the write execution section 176 to the number of values acquired by the data acquisition section 171. Alternatively, the total variable writing ratio display section 274 displays the ratio of the number of variables for which data has actually been written to the total number of writing target variables that are data writing targets.

書込周期表示部275は、アプリケーション実行環境160からPLCエンジン150へのデータ書込が実行される周期(書込周期)を表示する。データ書込が実行される周期は、アプリケーション実行環境160においてアプリケーション処理166が実行される周期に相当する。 The write cycle display section 275 displays the cycle (write cycle) in which data is written from the application execution environment 160 to the PLC engine 150. The cycle in which data writing is executed corresponds to the cycle in which application processing 166 is executed in application execution environment 160.

なお、現在値(現在値表示部263)、全変数書込時間(全変数書込時間表示部271)、および、書込周期(書込周期表示部275)については、制御装置100から取得される。一方、書込割合(書込割合表示部266)、全変数書込平均時間(全変数書込平均時間表示部272)、および、全変数書込割合(全変数書込割合表示部274)については、ユーザインターフェイス画面250を提供する装置が制御装置100から取得した情報に基づいて都度算出するようにしてもよい。 Note that the current value (current value display section 263), all variable write time (all variable write time display section 271), and write cycle (write cycle display section 275) are obtained from the control device 100. Ru. On the other hand, regarding the write rate (write rate display section 266), all variables write average time (all variables write average time display section 272), and all variables write rate (all variables write rate display section 274) may be calculated each time based on information acquired from the control device 100 by the device that provides the user interface screen 250.

図7に示すユーザインターフェイス画面250において、ユーザが入力した設定内容は、任意のタイミングで、設定1770に反映される。 In the user interface screen 250 shown in FIG. 7, the settings input by the user are reflected in the settings 1770 at an arbitrary timing.

ユーザインターフェイス画面250は、CSV出力ボタン252を含む。CSV出力ボタン252が選択されることで、全変数書込時間表示部271に表示される値、および、全変数書込割合表示部274に表示される値の時系列データが出力されるようにしてもよい。 User interface screen 250 includes a CSV output button 252. By selecting the CSV output button 252, time-series data of the values displayed in the all variables writing time display section 271 and the values displayed in the all variables writing ratio display section 274 are output. It's okay.

典型的には、ユーザは、ユーザインターフェイス画面250を参照しつつ、全変数書込時間表示部271に表示される時間、および/または、全変数書込平均時間表示部272に表示される時間が、書込周期表示部275に表示される時間以内に収まるように、書込対象変数の数の調整、前処理の処理内容の調整などを行う。 Typically, the user, while referring to the user interface screen 250, selects the time displayed on the all variable write time display section 271 and/or the time displayed on the all variable write average time display section 272. , the number of write target variables is adjusted, the processing contents of preprocessing, etc. are adjusted so that the write period is within the time displayed on the write cycle display section 275.

図7に示すユーザインターフェイス画面250は、制御装置100、サポート装置200、およびHMI300のいずれが提供するようにしてもよい。制御装置100がユーザインターフェイス画面250を提供する場合には、制御装置100はWebサーバモジュールを有しており、任意のコンピュータ上で実行されるブラウザアプリケーションが制御装置100にアクセスするような構成例が想定される。 The user interface screen 250 shown in FIG. 7 may be provided by any one of the control device 100, the support device 200, and the HMI 300. When the control device 100 provides the user interface screen 250, the control device 100 has a web server module, and a configuration example in which a browser application executed on any computer accesses the control device 100 is possible. is assumed.

図8は、本実施の形態に従う制御システム1がユーザインターフェイス画面250を提供するための構成例を示す模式図である。 FIG. 8 is a schematic diagram showing a configuration example for the control system 1 according to the present embodiment to provide the user interface screen 250.

図8(A)には、ユーザインターフェイス画面250を提供するユーザインターフェイス画面提供モジュール230をサポート装置200が有している例を示す。ユーザインターフェイス画面提供モジュール230は、サポート装置200のユーザインターフェイス画面提供プログラム224により提供されてもよい。図8(A)に示す構成例においては、サポート装置200が制御装置100との間でデータをやり取りすることで、ユーザインターフェイス画面250が提供される。 FIG. 8A shows an example in which the support device 200 includes a user interface screen providing module 230 that provides a user interface screen 250. The user interface screen providing module 230 may be provided by the user interface screen providing program 224 of the support device 200. In the configuration example shown in FIG. 8A, a user interface screen 250 is provided by the support device 200 exchanging data with the control device 100.

図8(B)には、ユーザインターフェイス画面250を提供するユーザインターフェイス画面提供モジュール230をHMI300が有している例を示す。ユーザインターフェイス画面提供モジュール230は、HMI300に格納されているプログラムなどにより提供されてもよい。図8(B)に示す構成例においては、HMI300が制御装置100との間でデータをやり取りすることで、ユーザインターフェイス画面250が提供される。 FIG. 8B shows an example in which the HMI 300 includes a user interface screen providing module 230 that provides a user interface screen 250. The user interface screen providing module 230 may be provided by a program stored in the HMI 300. In the configuration example shown in FIG. 8B, a user interface screen 250 is provided by the HMI 300 exchanging data with the control device 100.

図8(C)には、ユーザインターフェイス画面250を提供するユーザインターフェイス画面提供モジュール230を制御装置100が有している例を示す。この構成例においては、制御装置100がWebサーバモジュール130を有しており、実際にユーザが操作するサポート装置200および/またはHMI300は、ブラウザ240を有している。すなわち、サポート装置200またはHMI300で実行されるブラウザ240を介して、ユーザインターフェイス画面250がユーザに提供される。 FIG. 8C shows an example in which the control device 100 includes a user interface screen providing module 230 that provides a user interface screen 250. In this configuration example, the control device 100 has a web server module 130, and the support device 200 and/or HMI 300 actually operated by the user has a browser 240. That is, the user interface screen 250 is provided to the user via the browser 240 executed on the support device 200 or HMI 300.

なお、図8に示す構成例に限らず、ユーザインターフェイス画面を提供することが可能であれば、どのような構成を採用してもよい。 Note that the present invention is not limited to the configuration example shown in FIG. 8, and any configuration may be adopted as long as it is possible to provide a user interface screen.

<G.処理手順>
次に、本実施の形態に従う制御システム1において実行される処理の手順例について説明する。
<G. Processing procedure>
Next, an example of a procedure executed in the control system 1 according to the present embodiment will be described.

(g1:データ書込)
図9は、本実施の形態に従う制御装置100のデータ書込に関する処理手順の一例を示すフローチャートである。図9に示す各ステップは、典型的には、制御装置100のプロセッサ102がアプリケーション実行環境プログラム133および/またはアプリケーションプログラム134を実行することで実現される。
(g1: data write)
FIG. 9 is a flowchart illustrating an example of a processing procedure regarding data writing by control device 100 according to the present embodiment. Each step shown in FIG. 9 is typically realized by the processor 102 of the control device 100 executing the application execution environment program 133 and/or the application program 134.

図9を参照して、制御装置100は、データ書込周期が到来したか否かを判断する(ステップS100)。データ書込周期が到来していなければ(ステップS100においてNO)、ステップS100の処理が繰り返される。 Referring to FIG. 9, control device 100 determines whether a data write cycle has arrived (step S100). If the data write cycle has not arrived (NO in step S100), the process of step S100 is repeated.

データ書込周期が到来していれば(ステップS100においてYES)、制御装置100は、今回データ領域173に保持されているデータを前回データ領域174にコピーする(ステップS102)。そして、制御装置100は、設定1770に従って、指定された1または複数の変数の値を取得し(ステップS104)、取得した値に対して前処理を行い(ステップS106)、前処理後の値を今回データ領域173に書き込む(ステップS108)。 If the data write cycle has arrived (YES in step S100), the control device 100 copies the data held in the current data area 173 to the previous data area 174 (step S102). Then, the control device 100 obtains the value of the specified one or more variables according to the settings 1770 (step S104), performs preprocessing on the obtained value (step S106), and converts the preprocessed value into a value. This time, it is written to the data area 173 (step S108).

制御装置100は、前回データ領域174に有効なデータが保持されているか否かを判断する(ステップS110)。例えば、最初に1または複数の値が取得される初回実行時には、前回データ領域174には有効なデータが保持されていない。 The control device 100 determines whether valid data is held in the previous data area 174 (step S110). For example, during the first execution when one or more values are acquired for the first time, no valid data is held in the previous data area 174.

前回データ領域174に有効なデータが保持されていなければ(ステップS110においてNO)、制御装置100は、今回データ領域173に保持されているすべてのデータをデータセット1760として生成する(ステップS112)。 If valid data is not held in the previous data area 174 (NO in step S110), the control device 100 generates all the data held in the current data area 173 as the data set 1760 (step S112).

前回データ領域174に有効なデータが保持されていれば(ステップS110においてYES)、制御装置100は、今回データ領域173に保持されているデータと前回データ領域174に保持されているデータとを比較し(ステップS114)、値が異なっている変数を今回対象変数として決定し(ステップS116)、今回データ領域173に保持されている今回対象変数の値(今回値)をデータセット1760として生成する(ステップS118)。 If valid data is held in the previous data area 174 (YES in step S110), the control device 100 compares the data held in the current data area 173 and the data held in the previous data area 174. (Step S114), a variable with a different value is determined as the current target variable (Step S116), and the value of the current target variable held in the current data area 173 (current value) is generated as a data set 1760 ( Step S118).

続いて、制御装置100は、書込開始信号を発生し(ステップS120)、生成したデータセット1760について、アプリケーション実行環境160からPLCエンジン150へのデータ書込を行う(ステップS122)。制御装置100は、データ書込が完了すると、書込終了信号を発生する(ステップS124)。そして、制御装置100は、書込開始信号の発生から書込終了信号の発生までの時間を書込時間として算出する(ステップS126)。また、制御装置100は、算出された書込時間および書き込まれた変数の情報を格納する(ステップS128)。そして、ステップS100以下の処理が繰り返される。 Subsequently, the control device 100 generates a write start signal (step S120), and writes data from the application execution environment 160 to the PLC engine 150 for the generated data set 1760 (step S122). When the data writing is completed, the control device 100 generates a write end signal (step S124). Then, the control device 100 calculates the time from generation of the write start signal to generation of the write end signal as the write time (step S126). Furthermore, the control device 100 stores information on the calculated writing time and written variables (step S128). Then, the processing from step S100 onwards is repeated.

(g2:設定)
図10は、本実施の形態に従う制御システム1のデータ書込に係る設定の処理手順の一例を示すシーケンスチャートである。説明の便宜上、図10には、サポート装置200がユーザインターフェイス画面250(図7参照)を提供する構成例を示すが、ユーザインターフェイス画面250は制御装置100と通信可能な任意の装置により提供される。
(g2: Setting)
FIG. 10 is a sequence chart illustrating an example of a processing procedure for setting data writing in the control system 1 according to the present embodiment. For convenience of explanation, FIG. 10 shows a configuration example in which the support device 200 provides the user interface screen 250 (see FIG. 7), but the user interface screen 250 may be provided by any device that can communicate with the control device 100. .

図10に示す制御装置100の各ステップは、典型的には、制御装置100のプロセッサ102がアプリケーション実行環境プログラム133および/またはアプリケーションプログラム134を実行することで実現される。また、図10に示すサポート装置200の各ステップは、典型的には、サポート装置200のプロセッサ202がユーザインターフェイス画面提供プログラム224を実行することで実現される。 Each step of the control device 100 shown in FIG. 10 is typically realized by the processor 102 of the control device 100 executing the application execution environment program 133 and/or the application program 134. Further, each step of the support device 200 shown in FIG. 10 is typically realized by the processor 202 of the support device 200 executing the user interface screen providing program 224.

図10を参照して、サポート装置200は、現在設定されている変数についての書込割合、全変数書込時間、全変数書込平均時間、全変数書込割合、および、書込周期を制御装置100から取得する(ステップS200)。なお、これらの情報のすべてを制御装置100が生成してもよいし、これらの情報の一部については、サポート装置200が算出することで生成してもよい。そして、サポート装置200は、ユーザインターフェイス画面250を表示する(ステップS202)。 Referring to FIG. 10, support device 200 controls the write rate, all variable write time, all variable write average time, all variable write rate, and write cycle for currently set variables. It is acquired from the device 100 (step S200). Note that all of this information may be generated by the control device 100, or some of this information may be generated by calculation by the support device 200. The support device 200 then displays the user interface screen 250 (step S202).

続いて、サポート装置200は、ユーザインターフェイス画面250の変数名設定部262に、新たな変数名が入力されたか否かを判断する(ステップS204)。新たな変数名が入力されると(ステップS204においてYES)、サポート装置200は、入力された新たな変数を含む設定内容を制御装置100に送信する(ステップS206)。そして、制御装置100は、サポート装置200からの設定内容を設定1770に反映する(ステップS208)。新たな変数名が入力されなければ(ステップS204においてNO)、ステップS206およびステップS208の処理はスキップされる。 Subsequently, the support device 200 determines whether a new variable name has been input to the variable name setting section 262 of the user interface screen 250 (step S204). When a new variable name is input (YES in step S204), the support device 200 transmits the setting contents including the input new variable to the control device 100 (step S206). Then, the control device 100 reflects the settings from the support device 200 in the settings 1770 (step S208). If a new variable name is not input (NO in step S204), the processes of step S206 and step S208 are skipped.

続いて、サポート装置200は、ユーザインターフェイス画面250の有効桁設定部264および/または丸め処理設定部265に、新たな値が入力されたか否かを判断する(ステップS210)。新たな値が入力されると(ステップS210においてYES)、サポート装置200は、入力された新たな値を含む設定内容を制御装置100に送信する(ステップS212)。そして、制御装置100は、サポート装置200からの設定内容を設定1770に反映する(ステップS214)。新たな値が入力されなければ(ステップS210においてNO)、ステップS212およびステップS214の処理はスキップされる。 Subsequently, the support device 200 determines whether a new value has been input to the effective digit setting section 264 and/or the rounding processing setting section 265 of the user interface screen 250 (step S210). When a new value is input (YES in step S210), the support device 200 transmits the setting contents including the input new value to the control device 100 (step S212). Then, the control device 100 reflects the settings from the support device 200 in the settings 1770 (step S214). If a new value is not input (NO in step S210), the processes of step S212 and step S214 are skipped.

サポート装置200は、ユーザインターフェイス画面250のリフレッシュ周期が到来したか否かを判断する(ステップS216)。リフレッシュ周期が到来していなければ(ステップS216においてNO)、ステップS216の処理が繰り返される。リフレッシュ周期が到来していれば(ステップS216においてYES)、ステップS200以下の処理が繰り返される。 The support device 200 determines whether the refresh cycle of the user interface screen 250 has arrived (step S216). If the refresh period has not arrived (NO in step S216), the process of step S216 is repeated. If the refresh cycle has arrived (YES in step S216), the processes from step S200 onwards are repeated.

<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
<H. Additional notes>
This embodiment as described above includes the following technical idea.

[構成1]
制御演算(151)をサイクリック実行する第1処理部(150)と、
前記第1処理部とは独立して、アプリケーションプログラム(134)を実行する第2処理部(160)と、
ユーザインターフェイス画面(250)を提供する提供部(230)とを備え、
前記第1処理部は、前記第2処理部から書き込まれるデータ(1760)を保持する書込領域(155)を備え、
前記第2処理部は、
1または複数の値を取得する取得部(171)と、
予め定められた設定(1770)に従って、前記取得された1または複数の値に対して桁数を調整する前処理部(172)と、
前記桁数を調整された値を保持する今回データ領域(173)と、
前記今回データ領域が前回の周期において保持していたデータを保持する前回データ領域(174)と、
前記今回データ領域が保持しているデータのうち前記前回データ領域から値が変化したデータを前記書込領域に書き込む書込実行部(176)とを備え、
前記提供部は、前記設定の内容および前記書込領域への書込に要している時間(1780;271,272)を表示するとともに、前記設定の変更を受け付ける、制御システム。
[Configuration 1]
a first processing unit (150) that cyclically executes a control calculation (151);
a second processing unit (160) that executes an application program (134) independently of the first processing unit;
a providing unit (230) that provides a user interface screen (250);
The first processing unit includes a write area (155) that holds data (1760) written from the second processing unit,
The second processing unit includes:
an acquisition unit (171) that acquires one or more values;
a preprocessing unit (172) that adjusts the number of digits for the obtained one or more values according to predetermined settings (1770);
a current data area (173) that holds the value with the adjusted number of digits;
a previous data area (174) that holds data that the current data area held in the previous cycle;
a write execution unit (176) that writes data whose value has changed from the previous data area among the data held in the current data area to the write area;
The provision unit is a control system in which the provision unit displays the content of the settings and the time required for writing to the writing area (1780; 271, 272), and accepts changes to the settings.

[構成2]
前記提供部は、前記設定の内容として、前記前処理部が出力する桁数の設定(264)を受け付ける、構成1に記載の制御システム。
[Configuration 2]
The control system according to configuration 1, wherein the providing unit receives a setting (264) of the number of digits output by the preprocessing unit as the content of the setting.

[構成3]
前記提供部は、前記設定の内容として、前記前処理部が桁数を調整するために値を丸める方法の設定(265)を受け付ける、構成1または2に記載の制御システム。
[Configuration 3]
The control system according to configuration 1 or 2, wherein the providing unit receives, as the setting content, a setting (265) of a method for the preprocessing unit to round a value in order to adjust the number of digits.

[構成4]
前記提供部は、前記取得部が取得する1または複数の値に対応する変数の設定(262)を受け付ける、構成1~3のいずれか1項に記載の制御システム。
[Configuration 4]
4. The control system according to any one of configurations 1 to 3, wherein the providing unit receives a setting (262) of a variable corresponding to one or more values acquired by the acquiring unit.

[構成5]
前記提供部は、前記取得部が取得する値の数に対して、前記書込実行部が書き込むデータに含まれる値の数の割合(274)を表示する、構成1~4のいずれか1項に記載の制御システム。
[Configuration 5]
Any one of configurations 1 to 4, wherein the providing unit displays a ratio (274) of the number of values included in the data written by the writing execution unit to the number of values acquired by the acquisition unit. Control system described in.

[構成6]
前記第1処理部は、前記書込実行部による前記書込領域への書込が完了すると、書込終了信号を前記第2処理部へ出力する監視部(157)を備え、
前記第2処理部は、前記書込終了信号に基づいて、前記書込領域への書込に要している時間を計測する計測部(178)をさらに備える、構成1~5のいずれか1項に記載の制御システム。
[Configuration 6]
The first processing unit includes a monitoring unit (157) that outputs a write end signal to the second processing unit when the write execution unit completes writing to the write area,
Any one of configurations 1 to 5, wherein the second processing unit further includes a measurement unit (178) that measures the time required for writing to the write area based on the write end signal. The control system described in Section.

[構成7]
前記第1処理部は、第1ハートビート部(156)をさらに備え、
前記第2処理部は、第2ハートビート部(179)をさらに備え、
前記第1ハートビート部および前記第2ハートビート部は、互いに、生存信号を定期的に相手側に送信することで、前記第1処理部および前記第2処理部の正常動作を監視するように構成されている、構成1~6のいずれか1項に記載の制御システム。
[Configuration 7]
The first processing unit further includes a first heartbeat unit (156),
The second processing unit further includes a second heartbeat unit (179),
The first heartbeat unit and the second heartbeat unit monitor the normal operation of the first processing unit and the second processing unit by periodically transmitting a survival signal to the other party. The control system according to any one of configurations 1 to 6, which is configured.

[構成8]
制御装置(100)であって、
制御演算(151)をサイクリック実行する第1処理部(150)と、
前記第1処理部とは独立して、アプリケーションプログラム(134)を実行する第2処理部(160)とを備え、
前記第1処理部は、前記第2処理部から書き込まれるデータ(1760)を保持する書込領域(155)を備え、
前記第2処理部は、
1または複数の値を取得する取得部(171)と、
予め定められた設定(1770)に従って、前記取得された1または複数の値に対して桁数を調整する前処理部(172)と、
前記桁数を調整された値を保持する今回データ領域(173)と、
前記今回データ領域が前回の周期において保持していたデータを保持する前回データ領域(174)と、
前記今回データ領域が保持しているデータのうち前記前回データ領域から値が変化したデータを前記書込領域に書き込む書込実行部(176)とを備え、
前記制御装置は、前記設定の内容および前記書込領域への書込に要している時間(1780;271,272)を表示するとともに、前記設定の変更を受け付けるユーザインターフェイス画面(250)を提供する、制御装置。
[Configuration 8]
A control device (100),
a first processing unit (150) that cyclically executes a control calculation (151);
a second processing unit (160) that executes an application program (134) independently of the first processing unit;
The first processing unit includes a write area (155) that holds data (1760) written from the second processing unit,
The second processing unit includes:
an acquisition unit (171) that acquires one or more values;
a preprocessing unit (172) that adjusts the number of digits for the obtained one or more values according to predetermined settings (1770);
a current data area (173) that holds the value with the adjusted number of digits;
a previous data area (174) that holds data that the current data area held in the previous cycle;
a write execution unit (176) that writes data whose value has changed from the previous data area among the data held in the current data area to the write area;
The control device displays the contents of the settings and the time required for writing to the writing area (1780; 271, 272), and provides a user interface screen (250) for accepting changes to the settings. control device.

[構成9]
制御プログラム(131,132,133,134)であって、コンピュータ(100)を、
制御演算(151)をサイクリック実行する第1処理部(150)と、
前記第1処理部とは独立して、アプリケーションプログラム(134)を実行する第2処理部(160)として機能させ、
前記第1処理部は、前記第2処理部から書き込まれるデータ(1760)を保持する書込領域(155)を備え、
前記第2処理部は、
1または複数の値を取得する取得部(171)と、
予め定められた設定(1770)に従って、前記取得された1または複数の値に対して桁数を調整する前処理部(172)と、
前記桁数を調整された値を保持する今回データ領域(173)と、
前記今回データ領域が前回の周期において保持していたデータを保持する前回データ領域(174)と、
前記今回データ領域が保持しているデータのうち前記前回データ領域から値が変化したデータを前記書込領域に書き込む書込実行部(176)とを備え、
前記制御プログラムは、前記コンピュータに、前記設定の内容および前記書込領域への書込に要している時間(1780;271,272)を表示するとともに、前記設定の変更を受け付けるユーザインターフェイス画面(250)を提供する処理を実行させる、制御プログラム。
[Configuration 9]
A control program (131, 132, 133, 134) that controls the computer (100),
a first processing unit (150) that cyclically executes a control calculation (151);
function as a second processing unit (160) that executes an application program (134) independently of the first processing unit;
The first processing unit includes a write area (155) that holds data (1760) written from the second processing unit,
The second processing unit includes:
an acquisition unit (171) that acquires one or more values;
a preprocessing unit (172) that adjusts the number of digits for the obtained one or more values according to predetermined settings (1770);
a current data area (173) that holds the value with the adjusted number of digits;
a previous data area (174) that holds data that the current data area held in the previous cycle;
a write execution unit (176) that writes data whose value has changed from the previous data area among the data held in the current data area to the write area;
The control program displays on the computer the contents of the settings and the time required for writing to the write area (1780; 271, 272), and also displays a user interface screen (1780; 271, 272) for accepting changes to the settings. 250).

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims rather than the above description, and it is intended that all changes within the meaning and range equivalent to the claims are included.

1 制御システム、2 フィールドバス、4 上位ネットワーク、10 フィールド装置群、12 リモートI/O装置、14 リレー群、18 サーボドライバ、20 サーボモータ、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110 上位ネットワークコントローラ、112,212 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、120 フィールドバスコントローラ、122 内部バスコントローラ、124 I/Oユニット、130 Webサーバモジュール、131 システムプログラム、132 ユーザプログラム、133 アプリケーション実行環境プログラム、134 アプリケーションプログラム、140 IOインターフェイス、142 通信インターフェイス、144 変数マネジャ、150 PLCエンジン、151 制御演算、152,162 ローカルメモリ領域、153,163 グローバルデータ領域、154,164 内部データ領域、155 アプリケーションデータ領域、156 データ交換管理部、157 書込監視部、158,179 ハートビート部、160 アプリケーション実行環境、166 アプリケーション処理、170 データ書込部、171 データ取得部、172 前処理部、173 今回データ領域、174 前回データ領域、175 比較部、176 書込実行部、177 設定部、178 書込時間計測部、200 サポート装置、204 光学ドライブ、205 記録媒体、214 ネットワークコントローラ、216 入力部、218 表示部、220 バス、222 OS、224 ユーザインターフェイス画面提供プログラム、230 ユーザインターフェイス画面提供モジュール、240 ブラウザ、250 ユーザインターフェイス画面、252 出力ボタン、260 対象変数設定部、261 変数設定ロウ、262 変数名設定部、263 現在値表示部、264 有効桁設定部、265 処理設定部、266 書込割合表示部、267 割合算出サンプル数設定部、270 状態表示部、271 全変数書込時間表示部、272 全変数書込平均時間表示部、273 平均時間算出サンプル数設定部、274 全変数書込割合表示部、275 書込周期表示部、300 HMI、400 サーバ装置、1570 書込対象変数名、1760 データセット、1770 設定、1780 書込時間。 1 control system, 2 fieldbus, 4 host network, 10 field device group, 12 remote I/O device, 14 relay group, 18 servo driver, 20 servo motor, 100 control device, 102, 202 processor, 104 chipset, 106 , 206 main storage device, 108, 208 secondary storage device, 110 upper network controller, 112, 212 USB controller, 114 memory card interface, 116 memory card, 120 fieldbus controller, 122 internal bus controller, 124 I/O unit, 130 Web server module, 131 system program, 132 user program, 133 application execution environment program, 134 application program, 140 IO interface, 142 communication interface, 144 variable manager, 150 PLC engine, 151 control calculation, 152, 162 local memory area, 153, 163 Global data area, 154, 164 Internal data area, 155 Application data area, 156 Data exchange management section, 157 Write monitoring section, 158, 179 Heartbeat section, 160 Application execution environment, 166 Application processing, 170 Data writing 171 data acquisition unit, 172 preprocessing unit, 173 current data area, 174 previous data area, 175 comparison unit, 176 write execution unit, 177 setting unit, 178 write time measurement unit, 200 support device, 204 optics drive, 205 recording medium, 214 network controller, 216 input unit, 218 display unit, 220 bus, 222 OS, 224 user interface screen providing program, 230 user interface screen providing module, 240 browser, 250 user interface screen, 252 output button, 260 Target variable setting section, 261 Variable setting row, 262 Variable name setting section, 263 Current value display section, 264 Valid digit setting section, 265 Processing setting section, 266 Writing ratio display section, 267 Ratio calculation sample number setting section, 270 Status display section, 271 All variables write time display section, 272 All variables average write time display section, 273 Average time calculation sample number setting section, 274 All variables write ratio display section, 275 Write cycle display section, 300 HMI , 400 Server device, 1570 Write target variable name, 1760 Data set, 1770 Settings, 1780 Write time.

Claims (9)

制御演算をサイクリック実行する第1処理部と、
前記第1処理部とは独立して、アプリケーションプログラムを実行する第2処理部と、
ユーザインターフェイス画面を提供する提供部とを備え、
前記第1処理部は、前記第2処理部から書き込まれるデータを保持する書込領域を備え、
前記第2処理部は、
1または複数の値を取得する取得部と、
予め定められた設定に従って、前記取得された1または複数の値に対して桁数を調整する前処理部と、
前記桁数を調整された値を保持する今回データ領域と、
前記今回データ領域が前回の周期において保持していたデータを保持する前回データ領域と、
前記今回データ領域が保持しているデータのうち前記前回データ領域から値が変化したデータを前記書込領域に書き込む書込実行部とを備え、
前記提供部は、前記設定の内容および前記書込領域への書込に要している時間を表示するとともに、前記設定の変更を受け付ける、制御システム。
a first processing unit that cyclically executes control calculations;
a second processing unit that executes an application program independently of the first processing unit;
and a providing section that provides a user interface screen,
The first processing unit includes a write area that holds data written from the second processing unit,
The second processing unit includes:
an acquisition unit that acquires one or more values;
a preprocessing unit that adjusts the number of digits for the obtained one or more values according to predetermined settings;
a current data area that holds the value with the adjusted number of digits;
a previous data area that holds data that the current data area held in the previous cycle;
a write execution unit that writes data whose value has changed from the previous data area among the data held in the current data area to the write area,
The provision unit is a control system in which the provision unit displays the content of the settings and the time required for writing to the writing area, and accepts changes to the settings.
前記提供部は、前記設定の内容として、前記前処理部が出力する桁数の設定を受け付ける、請求項1に記載の制御システム。 The control system according to claim 1, wherein the providing unit receives a setting of the number of digits output by the preprocessing unit as the content of the setting. 前記提供部は、前記設定の内容として、前記前処理部が桁数を調整するために値を丸める方法の設定を受け付ける、請求項1に記載の制御システム。 The control system according to claim 1, wherein the providing unit receives, as the setting content, a setting of a method for the preprocessing unit to round a value in order to adjust the number of digits. 前記提供部は、前記取得部が取得する1または複数の値に対応する変数の設定を受け付ける、請求項1~3のいずれか1項に記載の制御システム。 The control system according to any one of claims 1 to 3, wherein the providing unit receives settings of variables corresponding to one or more values acquired by the acquiring unit. 前記提供部は、前記取得部が取得する値の数に対して、前記書込実行部が書き込むデータに含まれる値の数の割合を表示する、請求項1~3のいずれか1項に記載の制御システム。 4. The providing unit displays a ratio of the number of values included in the data written by the writing execution unit to the number of values acquired by the acquisition unit. control system. 前記第1処理部は、前記書込実行部による前記書込領域への書込が完了すると、書込終了信号を前記第2処理部へ出力する監視部を備え、
前記第2処理部は、前記書込終了信号に基づいて、前記書込領域への書込に要している時間を計測する計測部をさらに備える、請求項1~3のいずれか1項に記載の制御システム。
The first processing unit includes a monitoring unit that outputs a write completion signal to the second processing unit when the write execution unit completes writing to the write area,
4. The method according to claim 1, wherein the second processing section further includes a measuring section that measures the time required for writing to the writing area based on the writing end signal. Control system as described.
前記第1処理部は、第1ハートビート部をさらに備え、
前記第2処理部は、第2ハートビート部をさらに備え、
前記第1ハートビート部および前記第2ハートビート部は、互いに、生存信号を定期的に相手側に送信することで、前記第1処理部および前記第2処理部の正常動作を監視するように構成されている、請求項1~3のいずれか1項に記載の制御システム。
The first processing unit further includes a first heartbeat unit,
The second processing unit further includes a second heartbeat unit,
The first heartbeat unit and the second heartbeat unit monitor the normal operation of the first processing unit and the second processing unit by periodically transmitting a survival signal to the other party. A control system according to any one of claims 1 to 3, comprising:
制御装置であって、
制御演算をサイクリック実行する第1処理部と、
前記第1処理部とは独立して、アプリケーションプログラムを実行する第2処理部とを備え、
前記第1処理部は、前記第2処理部から書き込まれるデータを保持する書込領域を備え、
前記第2処理部は、
1または複数の値を取得する取得部と、
予め定められた設定に従って、前記取得された1または複数の値に対して桁数を調整する前処理部と、
前記桁数を調整された値を保持する今回データ領域と、
前記今回データ領域が前回の周期において保持していたデータを保持する前回データ領域と、
前記今回データ領域が保持しているデータのうち前記前回データ領域から値が変化したデータを前記書込領域に書き込む書込実行部とを備え、
前記制御装置は、前記設定の内容および前記書込領域への書込に要している時間を表示するとともに、前記設定の変更を受け付けるユーザインターフェイス画面を提供する、制御装置。
A control device,
a first processing unit that cyclically executes control calculations;
a second processing unit that executes an application program independently of the first processing unit;
The first processing unit includes a write area that holds data written from the second processing unit,
The second processing unit includes:
an acquisition unit that acquires one or more values;
a preprocessing unit that adjusts the number of digits for the obtained one or more values according to predetermined settings;
a current data area that holds the value with the adjusted number of digits;
a previous data area that holds data that the current data area held in the previous cycle;
a write execution unit that writes data whose value has changed from the previous data area among the data held in the current data area to the write area,
The control device is configured to display the contents of the settings and the time required for writing to the write area, and to provide a user interface screen that accepts changes to the settings.
制御プログラムであって、コンピュータを、
制御演算をサイクリック実行する第1処理部と、
前記第1処理部とは独立して、アプリケーションプログラムを実行する第2処理部として機能させ、
前記第1処理部は、前記第2処理部から書き込まれるデータを保持する書込領域を備え、
前記第2処理部は、
1または複数の値を取得する取得部と、
予め定められた設定に従って、前記取得された1または複数の値に対して桁数を調整する前処理部と、
前記桁数を調整された値を保持する今回データ領域と、
前記今回データ領域が前回の周期において保持していたデータを保持する前回データ領域と、
前記今回データ領域が保持しているデータのうち前記前回データ領域から値が変化したデータを前記書込領域に書き込む書込実行部とを備え、
前記制御プログラムは、前記コンピュータに、前記設定の内容および前記書込領域への書込に要している時間を表示するとともに、前記設定の変更を受け付けるユーザインターフェイス画面を提供する処理を実行させる、制御プログラム。
A control program that controls a computer,
a first processing unit that cyclically executes control calculations;
function as a second processing unit that executes an application program independently of the first processing unit;
The first processing unit includes a write area that holds data written from the second processing unit,
The second processing unit includes:
an acquisition unit that acquires one or more values;
a preprocessing unit that adjusts the number of digits for the obtained one or more values according to predetermined settings;
a current data area that holds the value with the adjusted number of digits;
a previous data area that holds data that the current data area held in the previous cycle;
a write execution unit that writes data whose value has changed from the previous data area among the data held in the current data area to the write area,
The control program causes the computer to execute a process of displaying the contents of the settings and the time required for writing to the writing area, and providing a user interface screen that accepts changes to the settings. control program.
JP2022061542A 2022-04-01 2022-04-01 Control system, controller, and control program Pending JP2023151742A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022061542A JP2023151742A (en) 2022-04-01 2022-04-01 Control system, controller, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022061542A JP2023151742A (en) 2022-04-01 2022-04-01 Control system, controller, and control program

Publications (1)

Publication Number Publication Date
JP2023151742A true JP2023151742A (en) 2023-10-16

Family

ID=88327153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022061542A Pending JP2023151742A (en) 2022-04-01 2022-04-01 Control system, controller, and control program

Country Status (1)

Country Link
JP (1) JP2023151742A (en)

Similar Documents

Publication Publication Date Title
JP6399136B1 (en) Control device, control program, and control system
EP3379358B1 (en) Control system, control device, control program, and control method
US10891280B2 (en) Controller for improved time-series data collection
US20130191597A1 (en) Cache device, communication apparatus, and computer program product
CN108153670A (en) A kind of interface test method, device and electronic equipment
JP2018151918A (en) Control device, data structure, and information processing method
WO2020189086A1 (en) Control system, setting device and setting program
JP2022028338A (en) Prediction system, information processing apparatus, and information processing program
EP3316197A1 (en) Data provision apparatus and data provision method
JP2023151742A (en) Control system, controller, and control program
JP7028133B2 (en) Control system and control method
JP2007011936A (en) Programmable display unit
CN112654939B (en) Control system and control device
JP2010034809A (en) Field bus system
JP7404789B2 (en) Control system, communication control method for control system, and control device
JP2019159868A (en) Control system, controller and display device
US12009914B2 (en) Control system, communication control method of control system, and control device
US12008072B2 (en) Control system and control method
JP4584235B2 (en) CPU unit, system processing execution method, and program for causing CPU unit to execute the method
WO2023248547A1 (en) Control system, relay device, and communication method
JP5672225B2 (en) HARDWARE MANAGEMENT DEVICE, INFORMATION PROCESSING DEVICE, HARDWARE MANAGEMENT METHOD, AND COMPUTER PROGRAM
JP2010146236A (en) Distributed system analysis apparatus and program
JP2024005142A (en) Operation state management system, operation state management device, program, and operation state management method
JPH04315247A (en) Method for operating computer system