JP2023151742A - Control system, controller, and control program - Google Patents
Control system, controller, and control program Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 118
- 238000007781 pre-processing Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000004083 survival effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 3
- 230000000717 retained effect Effects 0.000 abstract 2
- 238000003860 storage Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 231100000279 safety data Toxicity 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
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.
上述の先行技術は、単にデータ量を削減することをだけを目的としたものである。本発明は、制御演算をサイクリック実行する制御装置における装置内部のデータの書込を適切に行うための構成を提供するものである。 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.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 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
図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
制御装置100は、PLC(プログラマブルロジックコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス2を介してフィールド装置群10と接続される。フィールドバス2は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
The
フィールド装置群10は、生産現場などのフィールドから入力データを収集する装置と、制御装置100にて生成される指令(出力データ)に基づいて、フィールドに対して何らかの作用を与える装置を含む。
The
図1に示す構成例において、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、サーボドライバ18およびサーボモータ20とを含む。
In the configuration example shown in FIG. 1,
制御装置100は、フィールド装置群10からの入力データ、フィールド装置群10への出力データ、および、制御装置100の内部で管理される内部データなどを保持する。
The
サポート装置200は、後述するように、制御装置100に対して各種設定が可能である。
The
HMI300は、上位ネットワーク4を介して制御装置100と接続されており、制御装置100からの情報を表示するとともに、ユーザ操作に応じた指令を制御装置100へ送信する。また、HMI300は、後述するように、制御装置100に対して各種設定が可能である。
The
サーバ装置400は、上位ネットワーク4を介して制御装置100と接続されており、データを格納するデータベースや、MES(生産実行システム)などとして機能する。
The
<B.ハードウェア構成例>
次に、本実施の形態に従う制御システム1の主要な装置のハードウェア構成例について説明する。
<B. Hardware configuration example>
Next, an example of the hardware configuration of the main devices of the
(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
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御装置100に必要な処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
The
二次記憶装置108には、システムプログラム131と、制御演算の内容を記述したユーザプログラム132と、後述するような任意のアプリケーションを実行するための環境を提供するアプリケーション実行環境プログラム133と、任意の1または複数のアプリケーションを記述したアプリケーションプログラム134とが格納される。
The
二次記憶装置108に格納されるプログラムが実行されることで、コンピュータである制御装置100に本明細書に記載された処理を実行させるとともに、コンピュータである制御装置100において本明細書に記載された機能構成を実現させる。
By executing the program stored in the
上位ネットワークコントローラ110は、上位ネットワーク4を介した他の装置との間のデータのやり取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータのやり取りを制御する。
The
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
The
内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,…との間でデータをやり取りするインターフェイスである。
The
フィールドバスコントローラ120は、フィールドバス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
(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
図3を参照して、サポート装置200は、CPUやGPU(Graphics Processing Unit)などのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
Referring to FIG. 3,
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、任意の処理を実現する。
The
二次記憶装置208には、典型的には、OS222と、後述するような設定処理を行うためのユーザインターフェイス画面提供プログラム224とが格納される。二次記憶装置208には、図3に示すプログラム以外の必要なプログラムが格納されてもよい。
The
サポート装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られて二次記憶装置208などにインストールされる。
The
サポート装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置200が提供する機能は、OS222が提供するモジュールの一部を利用する形で実現される場合もある。
The various programs executed by the
USBコントローラ212は、USB接続を介して制御装置100との間のデータのやり取りを制御する。ネットワークコントローラ214は、任意のネットワークを介した他の装置との間のデータのやり取りを制御する。
The
入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
The
図3には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
FIG. 3 shows an example of a configuration in which necessary functions are provided by the
(b3:HMI300)
本実施の形態に従うHMI300は、一例として、汎用的なアーキテクチャに従うハードウェアを有する汎用コンピュータなどで構成される。基本的なハードウェア構成は、図3に示すサポート装置200と同様であるので、詳細な説明は繰り返さない。
(b3:HMI300)
The
<C.制御装置の機能構成例>
次に、本実施の形態に従う制御装置100の機能構成例について説明する。
<C. Example of functional configuration of control device>
Next, an example of the functional configuration of
図4は、本実施の形態に従う制御装置100の機能構成例を示す模式図である。図4を参照して、制御装置100は、PLCエンジン150およびアプリケーション実行環境160を含む。
FIG. 4 is a schematic diagram showing an example of the functional configuration of
PLCエンジン150は、第1処理部に相当し、制御演算をサイクリック実行する。典型的には、PLCエンジン150は、ユーザプログラム132を実行して、制御演算151を実現する。
The
アプリケーション実行環境160は、アプリケーションプログラム134を実行して、任意のアプリケーション処理166を実現する。アプリケーション実行環境160は、第2処理部に相当し、PLCエンジン150とは独立して、アプリケーションプログラム134を実行する。
制御装置100は、IOインターフェイス140と、通信インターフェイス142と、変数マネジャ144とをさらに含む。
IOインターフェイス140は、フィールド装置群10と周期的に通信することで、入力データを取得するとともに、出力データを送信する。
The
通信インターフェイス142は、サーバ装置400などとデータをやり取りする。
The
変数マネジャ144は、制御装置100において参照可能な変数を保持および更新する。より具体的には、変数マネジャ144は、IOインターフェイス140が取得した入力データで対応する変数の値を更新するとともに、通信インターフェイス142が取得したデータで対応する変数の値を更新する。また、変数マネジャ144は、PLCエンジン150およびアプリケーション実行環境160からのアクセスに従って、対応する変数の値を更新する。なお、IOインターフェイス140、通信インターフェイス142、PLCエンジン150、およびアプリケーション実行環境160は、変数マネジャ144が保持する変数を参照することができる。そのため、変数マネジャ144が保持および更新する変数は、グローバル変数であってもよい。
The
PLCエンジン150は、ローカルメモリ領域152と、データ交換管理部156とを含む。ローカルメモリ領域152は、変数マネジャ144が保持する変数の値を保持するためのグローバルデータ領域153と、制御演算151を実行するために必要な変数の値を保持するための内部データ領域154と、アプリケーション実行環境160から書き込まれる変数の値を保持するためのアプリケーションデータ領域155とを含む。アプリケーションデータ領域155は、アプリケーション実行環境160から書き込まれるデータを保持する書込領域に相当する。
データ交換管理部156は、アプリケーション実行環境160からPLCエンジン150への変数の値の書込を監視等する。データ交換管理部156の機能および処理については、後述する。
The data
アプリケーション実行環境160は、ローカルメモリ領域162と、データ書込部170とを含む。
ローカルメモリ領域162は、変数マネジャ144が保持する変数の値を保持するためのグローバルデータ領域163と、アプリケーション処理166を実行するために必要な変数の値を保持するための内部データ領域164とを含む。
The
データ書込部170は、アプリケーション処理166などによって算出される変数の値をPLCエンジン150(アプリケーションデータ領域155)に書き込む。
The
なお、以下の説明においては、アプリケーション実行環境160からPLCエンジン150に書き込まれる1または複数の変数の値を「データ」とも称す。
Note that in the following description, the values of one or more variables written from the
アプリケーション実行環境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
<D.データ書込処理>
次に、アプリケーション実行環境160からPLCエンジン150へのデータ書込について詳述する。
<D. Data writing process>
Next, data writing from the
図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
データ取得部171は、設定1770に従って、指定された1または複数の値(変数の値)を取得する。データ取得部171が1または複数の変数の値を取得するタイミングは、PLCエンジン150における制御演算151の実行周期(制御周期)と同期していてもよいし、PLCエンジン150とは独立した任意のタイミングであってもよい。
The
前処理部172は、データ取得部171が取得した1または複数の変数の値に対して、設定1770に従って前処理を行った上で、前処理後の値を今回データ領域173に書き込む。より具体的には、前処理部172は、予め定められた設定1770に従って、取得された1または複数の値に対して桁数を調整する。
The
今回データ領域173は、PLCエンジン150に書き込まれるデータ(1または複数の変数の今回値)を保持する。より具体的には、今回データ領域173は、前処理部172により桁数を調整された値を保持する。
The
前回データ領域174は、PLCエンジン150に書き込まれる前回のデータ(1または複数の変数の前回値)を保持する。書込実行部176がPLCエンジン150へのデータ書込を行うと、今回データ領域173に保持されているデータが前回データ領域174にコピーされる。
The
その結果、PLCエンジン150へのデータ書込毎に、前回データ領域174は、今回データ領域173に保持されているデータで更新される。すなわち、前回データ領域174は、今回データ領域173が前回の周期において保持していたデータを保持する。今回データ領域173および前回データ領域174の領域サイズは同じに設定されてもよい。
As a result, each time data is written to the
比較部175は、PLCエンジン150に書き込まれる変数の各々について、今回データ領域173に保持されているデータと前回データ領域174に保持されているデータとを比較する。比較部175は、値が異なっている変数を今回対象変数として決定し、今回データ領域173に保持されている今回対象変数の値(今回値)を書込実行部176へ出力する。
The
書込実行部176は、比較部175から出力された1または複数の値からデータセット1760を生成し、PLCエンジン150のアプリケーションデータ領域155に書き込む。なお、比較部175から値が出力されない場合(すなわち、今回データ領域173に保持されている値と前回データ領域174に保持されている値とが全く同じである場合)には、書込実行部176は、データセット1760を生成しなくてもよい。
The
このように、書込実行部176は、今回データ領域173が保持しているデータのうち前回データ領域174から値が変化したデータをアプリケーションデータ領域155(書込領域)に書き込む。
In this way, the
設定部177は、サポート装置200および/またはHMI300などを介したユーザ操作に従って、設定1770を生成する。そして、設定部177は、設定1770をデータ取得部171および前処理部172に反映する。
Setting
書込時間計測部178は、書込実行部176によるデータ書込に要する時間(書込時間1780)を計測する。より具体的には、書込時間計測部178は、書込実行部176がデータ書込を開始すると、書込開始信号をPLCエンジン150の書込監視部157へ送信する。書込監視部157は、書込対象変数名1570に従って、アプリケーションデータ領域155における書込対象変数の値の変化を監視する。そして、書込監視部157は、アプリケーションデータ領域155に書込対象変数の値(データ)が書き込まれると、書込終了信号を書込時間計測部178へ送信する。このように、書込監視部157は、書込実行部176によるアプリケーションデータ領域155(書込領域)への書込が完了すると、書込終了信号をアプリケーション実行環境160へ出力する。
The write
書込時間計測部178は、書込開始信号の送信から書込終了信号を受信するまでの時間長さを書込時間1780として算出する。すなわち、書込時間計測部178は、書込終了信号に基づいて、アプリケーションデータ領域155(書込領域)への書込に要している時間(書込時間1780)を計測する。
The write
なお、書込時間計測部178および/または書込監視部157は、後述するような統計情報(書込割合および全変数書込割合)を算出するためのデータ書込の履歴を所定回数分保持するようにしてもよい。
Note that the write
ハートビート部158およびハートビート部179は、PLCエンジン150およびアプリケーション実行環境160が正常に実行されていることを確認する。より具体的には、ハートビート部158およびハートビート部179は、互いに、生存信号を定期的に相手側に送信する。ハートビート部158およびハートビート部179は、生存信号を受信できない期間がしきい値を超えると、データ書込処理が正常に実行されていないとの警告などを出力する。
このように、ハートビート部158およびハートビート部179は、互いに、生存信号を定期的に相手側に送信することで、PLCエンジン150およびアプリケーション実行環境160の正常動作を監視するように構成されている。
In this way, the
一例として、図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
<E.前処理>
次に、データ書込部170の前処理部172が実行する前処理について説明する。
<E. Pretreatment>
Next, the preprocessing executed by the
本実施の形態に従う制御装置100のアプリケーション実行環境160は、今回取得された値と前回取得された値とが異なっていれば(変化していれば)、当該異なっている値をPLCエンジン150に書き込む。ここで、取得した値そのものではなく、値を丸めるような処理を行うことで、今回取得された値と前回取得された値とが同じであると見なすことができる確率が増加し得る。
The
そこで、前処理部172は、設定1770に従って、取得された値に対して、桁数の調整を前処理として実行する。
Therefore, the
図6は、本実施の形態に従う制御装置100の前処理の一例を説明するための図である。図6(A)には、データ取得部171が取得した変数の値(「生データ」と称する。)の一例を示す。図6(A)に示す生データは、小数点2桁を有している。図6(A)に示す生データについては、隣接する値の間で同一のものはないので、いずれも書き込まれることになる。
FIG. 6 is a diagram for explaining an example of preprocessing of
図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
図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
より具体的には、図7を参照して、ユーザインターフェイス画面250は、対象変数設定部260と、状態表示部270とを含む。
More specifically, with reference to FIG. 7,
対象変数設定部260は、アプリケーション実行環境160からPLCエンジン150に書き込まれる1または複数の変数の設定を受け付ける。より具体的には、対象変数設定部260は、1または複数の変数設定ロウ261を含む。変数設定ロウ261の数は、ユーザ操作によって任意に変更できる。
The target
変数設定ロウ261の各々は、変数名設定部262と、現在値表示部263と、桁数設定として、有効桁設定部264と、丸め処理設定部265と、書込割合表示部266と、割合算出サンプル数設定部267とを含む。
Each of the
変数名設定部262には、ユーザが任意に選択する変数名が入力される。変数名設定部262は、データ取得部171が取得する1または複数の値に対応する変数の設定を受け付ける。例えば、変数名設定部262のエリアをユーザが選択すると、選択可能な変数の一覧がプルダウンメニューとして表示されてもよい。ユーザは、プルダウンメニュー上で目的の変数を選択するようにしてもよい。あるいは、ユーザは、任意の変数名を直接入力するようにしてもよい。
A variable name arbitrarily selected by the user is input into the variable
現在値表示部263は、変数名設定部262において選択されている変数の現在値を表示する。表示される現在値は、ユーザインターフェイス画面250を提供する装置が制御装置100にアクセスして取得するようにしてもよい。
The current
有効桁設定部264および丸め処理設定部265は、前処理に係る設定を受け付ける。すなわち、有効桁設定部264は、設定1770の内容として、前処理部172が出力する桁数の設定を受け付ける。丸め処理設定部265は、設定1770の内容として、前処理部172が桁数を調整するために値を丸める方法の設定を受け付ける。
The effective
より具体的には、有効桁設定部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
丸め処理設定部265には、丸め処理の方法が入力される。例えば、丸め処理設定部265には、「四捨五入」、「切上」、「切捨」などが入力される。
A rounding method is input to the rounding
書込割合表示部266は、変数名設定部262において選択されている変数が、アプリケーション実行環境160からPLCエンジン150に書き込まれた割合を表示する。割合算出サンプル数設定部267には、書込割合表示部266に表示される割合を算出するためのサンプル数が入力される。ユーザインターフェイス画面250を提供する装置は、制御装置100にアクセスして、直近N回(割合算出サンプル数設定部267に入力された数)分のデータ書込の履歴を取得し、対象の変数が実際にPLCエンジン150に書き込まれた回数から、書込割合を算出して表示する。
The writing
状態表示部270は、全変数書込時間表示部271と、全変数書込平均時間表示部272と、平均時間算出サンプル数設定部273と、全変数書込割合表示部274と、書込周期表示部275とを含む。
The
全変数書込時間表示部271は、アプリケーション実行環境160からPLCエンジン150への直近のデータ書込に要した時間(全変数書込時間)を表示する。
The total variable write
全変数書込平均時間表示部272は、アプリケーション実行環境160からPLCエンジン150へのデータ書込に要した時間の平均値(全変数書込平均時間)を表示する。このとき、ユーザインターフェイス画面250を提供する装置は、制御装置100にアクセスして、直近N回(平均時間算出サンプル数設定部273)分のデータ書込の履歴を取得し、データ書込に要した時間の平均値を算出して表示する。
The all-variables write average
全変数書込割合表示部274は、アプリケーション実行環境160からPLCエンジン150にデータ書込された変数の割合(全変数書込割合)を表示する。すなわち、全変数書込割合表示部274は、データ取得部171が取得する値の数に対して、書込実行部176が書き込むデータに含まれる値の数の割合を表示する。あるいは、全変数書込割合表示部274は、データ書込の対象となっている書込対象変数の総数に対して、実際にデータ書込された変数の数の割合を表示する。
The total variable write
書込周期表示部275は、アプリケーション実行環境160からPLCエンジン150へのデータ書込が実行される周期(書込周期)を表示する。データ書込が実行される周期は、アプリケーション実行環境160においてアプリケーション処理166が実行される周期に相当する。
The write
なお、現在値(現在値表示部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
図7に示すユーザインターフェイス画面250において、ユーザが入力した設定内容は、任意のタイミングで、設定1770に反映される。
In the
ユーザインターフェイス画面250は、CSV出力ボタン252を含む。CSV出力ボタン252が選択されることで、全変数書込時間表示部271に表示される値、および、全変数書込割合表示部274に表示される値の時系列データが出力されるようにしてもよい。
典型的には、ユーザは、ユーザインターフェイス画面250を参照しつつ、全変数書込時間表示部271に表示される時間、および/または、全変数書込平均時間表示部272に表示される時間が、書込周期表示部275に表示される時間以内に収まるように、書込対象変数の数の調整、前処理の処理内容の調整などを行う。
Typically, the user, while referring to the
図7に示すユーザインターフェイス画面250は、制御装置100、サポート装置200、およびHMI300のいずれが提供するようにしてもよい。制御装置100がユーザインターフェイス画面250を提供する場合には、制御装置100はWebサーバモジュールを有しており、任意のコンピュータ上で実行されるブラウザアプリケーションが制御装置100にアクセスするような構成例が想定される。
The
図8は、本実施の形態に従う制御システム1がユーザインターフェイス画面250を提供するための構成例を示す模式図である。
FIG. 8 is a schematic diagram showing a configuration example for the
図8(A)には、ユーザインターフェイス画面250を提供するユーザインターフェイス画面提供モジュール230をサポート装置200が有している例を示す。ユーザインターフェイス画面提供モジュール230は、サポート装置200のユーザインターフェイス画面提供プログラム224により提供されてもよい。図8(A)に示す構成例においては、サポート装置200が制御装置100との間でデータをやり取りすることで、ユーザインターフェイス画面250が提供される。
FIG. 8A shows an example in which the
図8(B)には、ユーザインターフェイス画面250を提供するユーザインターフェイス画面提供モジュール230をHMI300が有している例を示す。ユーザインターフェイス画面提供モジュール230は、HMI300に格納されているプログラムなどにより提供されてもよい。図8(B)に示す構成例においては、HMI300が制御装置100との間でデータをやり取りすることで、ユーザインターフェイス画面250が提供される。
FIG. 8B shows an example in which the
図8(C)には、ユーザインターフェイス画面250を提供するユーザインターフェイス画面提供モジュール230を制御装置100が有している例を示す。この構成例においては、制御装置100がWebサーバモジュール130を有しており、実際にユーザが操作するサポート装置200および/またはHMI300は、ブラウザ240を有している。すなわち、サポート装置200またはHMI300で実行されるブラウザ240を介して、ユーザインターフェイス画面250がユーザに提供される。
FIG. 8C shows an example in which the
なお、図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
(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
図9を参照して、制御装置100は、データ書込周期が到来したか否かを判断する(ステップS100)。データ書込周期が到来していなければ(ステップS100においてNO)、ステップS100の処理が繰り返される。
Referring to FIG. 9,
データ書込周期が到来していれば(ステップ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
制御装置100は、前回データ領域174に有効なデータが保持されているか否かを判断する(ステップS110)。例えば、最初に1または複数の値が取得される初回実行時には、前回データ領域174には有効なデータが保持されていない。
The
前回データ領域174に有効なデータが保持されていなければ(ステップS110においてNO)、制御装置100は、今回データ領域173に保持されているすべてのデータをデータセット1760として生成する(ステップS112)。
If valid data is not held in the previous data area 174 (NO in step S110), the
前回データ領域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
続いて、制御装置100は、書込開始信号を発生し(ステップS120)、生成したデータセット1760について、アプリケーション実行環境160からPLCエンジン150へのデータ書込を行う(ステップS122)。制御装置100は、データ書込が完了すると、書込終了信号を発生する(ステップS124)。そして、制御装置100は、書込開始信号の発生から書込終了信号の発生までの時間を書込時間として算出する(ステップS126)。また、制御装置100は、算出された書込時間および書き込まれた変数の情報を格納する(ステップS128)。そして、ステップS100以下の処理が繰り返される。
Subsequently, the
(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
図10に示す制御装置100の各ステップは、典型的には、制御装置100のプロセッサ102がアプリケーション実行環境プログラム133および/またはアプリケーションプログラム134を実行することで実現される。また、図10に示すサポート装置200の各ステップは、典型的には、サポート装置200のプロセッサ202がユーザインターフェイス画面提供プログラム224を実行することで実現される。
Each step of the
図10を参照して、サポート装置200は、現在設定されている変数についての書込割合、全変数書込時間、全変数書込平均時間、全変数書込割合、および、書込周期を制御装置100から取得する(ステップS200)。なお、これらの情報のすべてを制御装置100が生成してもよいし、これらの情報の一部については、サポート装置200が算出することで生成してもよい。そして、サポート装置200は、ユーザインターフェイス画面250を表示する(ステップS202)。
Referring to FIG. 10,
続いて、サポート装置200は、ユーザインターフェイス画面250の変数名設定部262に、新たな変数名が入力されたか否かを判断する(ステップS204)。新たな変数名が入力されると(ステップS204においてYES)、サポート装置200は、入力された新たな変数を含む設定内容を制御装置100に送信する(ステップS206)。そして、制御装置100は、サポート装置200からの設定内容を設定1770に反映する(ステップS208)。新たな変数名が入力されなければ(ステップS204においてNO)、ステップS206およびステップS208の処理はスキップされる。
Subsequently, the
続いて、サポート装置200は、ユーザインターフェイス画面250の有効桁設定部264および/または丸め処理設定部265に、新たな値が入力されたか否かを判断する(ステップS210)。新たな値が入力されると(ステップS210においてYES)、サポート装置200は、入力された新たな値を含む設定内容を制御装置100に送信する(ステップS212)。そして、制御装置100は、サポート装置200からの設定内容を設定1770に反映する(ステップS214)。新たな値が入力されなければ(ステップS210においてNO)、ステップS212およびステップS214の処理はスキップされる。
Subsequently, the
サポート装置200は、ユーザインターフェイス画面250のリフレッシュ周期が到来したか否かを判断する(ステップS216)。リフレッシュ周期が到来していなければ(ステップS216においてNO)、ステップS216の処理が繰り返される。リフレッシュ周期が到来していれば(ステップS216においてYES)、ステップS200以下の処理が繰り返される。
The
<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
[構成3]
前記提供部は、前記設定の内容として、前記前処理部が桁数を調整するために値を丸める方法の設定(265)を受け付ける、構成1または2に記載の制御システム。
[Configuration 3]
The control system according to
[構成4]
前記提供部は、前記取得部が取得する1または複数の値に対応する変数の設定(262)を受け付ける、構成1~3のいずれか1項に記載の制御システム。
[Configuration 4]
4. The control system according to any one of
[構成5]
前記提供部は、前記取得部が取得する値の数に対して、前記書込実行部が書き込むデータに含まれる値の数の割合(274)を表示する、構成1~4のいずれか1項に記載の制御システム。
[Configuration 5]
Any one of
[構成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
[構成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
[構成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処理部とは独立して、アプリケーションプログラムを実行する第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.
前記第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.
前記第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.
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) |
-
2022
- 2022-04-01 JP JP2022061542A patent/JP2023151742A/en active Pending
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 | |
US9229871B2 (en) | Cache device, communication apparatus, and computer program product | |
US10891280B2 (en) | Controller for improved time-series data collection | |
CN108153670A (en) | A kind of interface test method, device and electronic equipment | |
JP6926539B2 (en) | Controls and programs | |
JP2018151918A (en) | Control device, data structure, and information processing method | |
US12008072B2 (en) | Control system and control method | |
EP3316197A1 (en) | Data provision apparatus and data provision method | |
JP7063292B2 (en) | Control system, configuration device, and configuration program | |
CN112654939B (en) | Control system and control device | |
JP2023151742A (en) | Control system, controller, and control program | |
US9069343B2 (en) | Generation and publication of shared tagsets | |
JP7102801B2 (en) | Control system, control device and display device | |
JP2010034809A (en) | Field bus system | |
JP7404789B2 (en) | Control system, communication control method for control system, and control device | |
JP2020052441A (en) | Master device, control method, information processing program, and recording medium of master device | |
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 | |
KR20240055386A (en) | Unified communications gateway | |
JP2024005142A (en) | Operation state management system, operation state management device, program, and operation state management method | |
CN115776528A (en) | Industrial equipment data acquisition method, computer device and readable storage medium | |
JPH04315247A (en) | Method for operating computer system |