図面 (/)

技術 制御システム、エンジニアリングツール、およびコントローラ

出願人 株式会社東芝東芝インフラシステムズ株式会社
発明者 立野元気
出願日 2018年9月19日 (2年3ヶ月経過) 出願番号 2018-175001
公開日 2020年3月26日 (9ヶ月経過) 公開番号 2020-046954
状態 未査定
技術分野 プログラマブルコントロ-ラ
主要キーワード 既設システム ツールインタフェース 実行時間データ 入力用メモリ 直接入出力 命令実行時間 メインスキャン スキャン周期
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年3月26日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題

コントローラ演算部の交換によって、プラントラインの工程やプラント内の各種機器に対する負荷のずれが発生することを防止する。

解決手段

実施形態の制御システムは、コントローラ2a〜2nと、エンジニアリングツール3と、を備える。コントローラは、入力用メモリ202aと、出力用メモリ202bと、演算部と、を備える。エンジニアリングツール3は、記憶部と、補正部と、を備える。記憶部は、演算部毎に、制御プログラム命令語の実行に要する命令語実行時間を示す命令語実行時間データベースを記憶する。補正部は、命令語実行時間データベースに基づいて、交換前の演算部および交換後の演算部のそれぞれによる、直接入出力機能に先立って行われる命令語である対象命令語の命令語実行時間の差分である補正時間を算出し、対象命令語の実行から補正時間待機した後に直接入出力機能が実行されるように、制御プログラムを補正する。

概要

背景

コントローラは、プラントセンサ等から入力される入力情報に基づいて、制御対象機器の制御に関わる制御プログラム(以下、POUと言う)を実行し、POUの実行結果を含む出力情報を制御対象機器に出力する。入力情報の入力方法および出力情報の出力方法には、一括入出力機能および直接入出力機能がある。一括入出力機能は、予め設定されたスキャン周期先頭または最後に、入力用メモリからの入力情報の読み出しおよび出力用メモリへの出力情報の書き込みを行う。一方、直接入出力機能は、スキャン周期内の任意のタイミングにおいて、入力用メモリから入力情報を読み出しかつ当該読み出した入力情報に基づく演算により得られる出力情報を出力用メモリに書き込む。

概要

コントローラの演算部の交換によって、プラントのラインの工程やプラント内の各種機器に対する負荷のずれが発生することを防止する。実施形態の制御システムは、コントローラ2a〜2nと、エンジニアリングツール3と、を備える。コントローラは、入力用メモリ202aと、出力用メモリ202bと、演算部と、を備える。エンジニアリングツール3は、記憶部と、補正部と、を備える。記憶部は、演算部毎に、制御プログラムの命令語の実行に要する命令語実行時間を示す命令語実行時間データベースを記憶する。補正部は、命令語実行時間データベースに基づいて、交換前の演算部および交換後の演算部のそれぞれによる、直接入出力機能に先立って行われる命令語である対象命令語の命令語実行時間の差分である補正時間を算出し、対象命令語の実行から補正時間待機した後に直接入出力機能が実行されるように、制御プログラムを補正する。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コントローラは、センサからの入力情報を記憶する入力用メモリと、制御対象機器への出力情報を記憶する出力用メモリと、予め設定されたスキャン周期内の任意のタイミングにおいて、前記入力用メモリからの前記入力情報読み出しまたは前記出力用メモリへの前記出力情報の書き込みを行う直接入出力機能を含む制御プログラムを実行する演算部と、を備え、エンジニアリングツールは、前記演算部毎に、前記制御プログラムの命令語の実行に要する命令語実行時間を示す命令語実行時間データベースを記憶する記憶部と、前記命令語実行時間データベースに基づいて、交換前の前記演算部および交換後の前記演算部のそれぞれによる、前記直接入出力機能に先立って行われる前記命令語である対象命令語の前記命令語実行時間の差分である補正時間を算出し、前記対象命令語の実行から前記補正時間待機した後に前記直接入出力機能が実行されるように、前記制御プログラムを補正する補正部と、を備える制御システム

請求項2

前記コントローラは、さらに、前記交換前の演算部よび前記交換後の演算部それぞれの前記命令語実行時間の計測結果を記憶する命令語実行時間記録用メモリ、を備え、前記補正部は、さらに、前記命令語実行時間記録用メモリに記憶される前記命令語実行時間、または前記命令語実行時間データベースに基づいて、前記補正時間を算出する請求項1に記載の制御システム。

請求項3

センサからの入力情報を記憶する入力用メモリおよび制御対象機器への出力情報を記憶する出力用メモリを備えるコントローラが有する演算部毎に、予め設定されたスキャン周期内の任意のタイミングにおいて前記入力用メモリからの前記入力情報の読み出しまたは前記出力用メモリへの前記出力情報の書き込みを行う直接入出力機能を含む制御プログラムの命令語の実行に要する命令語実行時間を示す命令語実行時間データベースを記憶する記憶部と、前記命令語実行時間データベースに基づいて、交換前の前記演算部および交換後の前記演算部のそれぞれによる、前記直接入出力機能に先立って行われる前記命令語である対象命令語の前記命令語実行時間の差分である補正時間を算出し、前記対象命令語の実行から前記補正時間待機した後に前記直接入出力機能が実行されるように、前記制御プログラムを補正する補正部と、を備えるエンジニアリングツール。

請求項4

前記補正部は、コントローラが有する命令語実行時間記録用メモリに記憶される、前記交換前の演算部よび前記交換後の演算部それぞれの前記命令語実行時間の計測結果、または前記命令語実行時間データベースに基づいて、前記補正時間を算出する請求項3に記載のエンジニアリングツール。

請求項5

センサからの入力情報を記憶する入力用メモリと、制御対象機器への出力情報を記憶する出力用メモリと、予め設定されたスキャン周期内の任意のタイミングにおいて、前記入力用メモリからの前記入力情報の読み出しまたは前記出力用メモリへの前記出力情報の書き込みを行う直接入出力機能を含む制御プログラムを実行する演算部と、を備え、前記制御プログラムは、当該制御プログラムの命令語のうち前記直接入出力機能に先立って行われる対象命令語の実行から、交換前の前記演算部および交換後の前記演算部のそれぞれによる前記対象命令語の実行に要する命令語実行時間の差分である補正時間待機した後、前記直接入出力機能を実行する、コントローラ。

請求項6

前記交換前の演算部よび前記交換後の演算部それぞれの前記命令語実行時間の計測結果を記憶する命令語実行時間記録用メモリをさらに備える請求項5に記載のコントローラ。

技術分野

0001

本発明の実施形態は、制御システムエンジニアリングツール、およびコントローラに関する。

背景技術

0002

コントローラは、プラントセンサ等から入力される入力情報に基づいて、制御対象機器の制御に関わる制御プログラム(以下、POUと言う)を実行し、POUの実行結果を含む出力情報を制御対象機器に出力する。入力情報の入力方法および出力情報の出力方法には、一括入出力機能および直接入出力機能がある。一括入出力機能は、予め設定されたスキャン周期先頭または最後に、入力用メモリからの入力情報の読み出しおよび出力用メモリへの出力情報の書き込みを行う。一方、直接入出力機能は、スキャン周期内の任意のタイミングにおいて、入力用メモリから入力情報を読み出しかつ当該読み出した入力情報に基づく演算により得られる出力情報を出力用メモリに書き込む。

先行技術

0003

特開2009−91101号公報
特開2004−265021号公報
特開平03−269624号公報

発明が解決しようとする課題

0004

ところで、既設の制御システムにおいて、故障等によって、コントローラのCPU(Central Processing Unit)等の演算部のみが交換される場合がある。この場合、通常は、同じモデルのCPUに交換されるが、部品改廃等によって同じモデルのCPUに交換することが困難なため、新しいモデルのCPUで交換せざるを得ない場合がある。

0005

しかしながら、新しいモデルのCPUが、既設の制御システム内の他の機器との互換性を維持していたとしても、CPUの性能の向上によって、直接入出力機能を実行する際に、入力用メモリからの入力情報の読み出しおよび出力用メモリへの出力情報の書き込みのタイミングが微妙にずれてしまうことがある。このずれは、プラントのラインの工程やプラント内の各種機器に対する負荷のずれに繋がり、新しいモデルのCPUへの交換を起因として、既設の制御システムに対して意図しない異常(例えば、プラント内の各種機器の故障)を引き起こす可能性がある。

課題を解決するための手段

0006

実施形態の制御システムは、コントローラと、エンジニアリングツールと、を備える。コントローラは、入力用メモリと、出力用メモリと、演算部と、を備える。エンジニアリングツールは、記憶部と、補正部と、を備える。入力用メモリは、センサからの入力情報を記憶する。出力用メモリは、制御対象機器への出力情報を記憶する。演算部は、予め設定されたスキャン周期内の任意のタイミングにおいて、入力用メモリからの入力情報の読み出しまたは出力用メモリへの出力情報の書き込みを行う直接入出力機能を含む制御プログラムを実行する。記憶部は、演算部毎に、制御プログラムの命令語の実行に要する命令語実行時間を示す命令語実行時間データベースを記憶する。補正部は、命令語実行時間データベースに基づいて、交換前の演算部および交換後の演算部のそれぞれによる、直接入出力機能に先立って行われる命令語である対象命令語の命令語実行時間の差分である補正時間を算出し、対象命令語の実行から補正時間待機した後に直接入出力機能が実行されるように、制御プログラムを補正する。

図面の簡単な説明

0007

図1は、第1の実施形態にかかる制御システムの全体構成の一例を示す図である。
図2は、第1の実施形態にかかるコントローラにより実行されるタスクの構成の一例を示す図である。
図3は、第1の実施形態にかかるコントローラにおけるタスクの実行するタイミングチャートの一例である。
図4は、第1の実施形態にかかるコントローラにおいて実行される制御プログラムで用いられる情報の一例を説明するための図である。
図5は、第1の実施形態にかかるコントローラにおいて実行される制御プログラムの一例を説明するための図である。
図6は、第1の実施形態にかかるコントローラにおける入力用メモリからの入力情報の読み出しおよび出力用メモリへの出力情報の書き込みのタイミングの一例を説明するための図である。
図7は、第1の実施形態にかかる制御システムにおける命令語の実行のタイミングの一例を示す図である。
図8は、第1の実施形態にかかるエンジニアリングツールによる制御プログラムのダウンロード処理の流れの一例を示すフローチャートである。
図9は、第2の実施形態にかかる制御システムの全体構成の一例を示す図である。
図10は、第2の実施形態にかかる制御システムにおける命令語実行時間の計測処理の一例を説明するための図である。
図11は、第2の実施形態にかかる制御システムにおける補正時間の算出処理に用いる補正時間算出処理画面の一例を示す図である。

実施例

0008

以下、添付の図面を用いて、本実施形態にかかる制御システム、エンジニアリングツール、およびコントローラを適用した制御システムについて説明する。

0009

(第1の実施形態)
図1は、第1の実施形態にかかる制御システムの全体構成の一例を示す図である。図1に示すように、本実施形態にかかる制御システムは、コントローラ2a〜2nと、HMI(Human Machine Interface)1a〜1nと、エンジニアリングツール3と、を有する。コントローラ2a〜2nと、HMI1a〜1nと、エンジニアリングツール3とは、LAN(Local Area Network)5を介して通信可能に接続されている。

0010

コントローラ2a〜2nは、制御システム(DCS)用のコントローラである。具体的には、コントローラ2a〜2nは、プラントのセンサ等から入力される各種入力情報に基づいて制御プログラム(POU)を実行し、制御対象であるバルブ等の制御対象機器に対して、制御プログラムの実行結果を含む出力情報を出力することによって、制御対象機器を制御する。

0011

ここで、制御プログラムは、プラントの特性に応じて、エンジニアリングツール3によって生成される。一般に、1つの制御システムには、複数のコントローラ2a〜2nが含まれる。以下の説明では、コントローラ2a〜2nを区別する必要がない場合には、単に、コントローラ2と記載する。

0012

コントローラ2は、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、ツールインタフェース203と、FROM(Flash Read Only Memory)204と、I/Oインタフェース205と、バス206と、を備えるコンピュータである。

0013

RAM202は、CPU201が制御プログラム等の各種プログラムを実行する際に作業領域として用いられる。本実施形態では、RAM202は、プラントのセンサ等から入力される入力情報を記憶する入力用メモリ202a、および制御対象機器に対して出力する出力情報を記憶する出力用メモリ202bを有する。FROM204は、制御プログラム等の各種情報を記憶する記憶媒体である。

0014

CPU201は、コントローラ2全体を制御する制御部である。本実施形態では、CPU201は、RAM202を作業領域として用いて、FROM204に記憶される制御プログラム等の各種プログラムを実行する。具体的には、CPU201は、予め設定されたスキャン周期内の任意のタイミングにおいて、入力用メモリ202aからの入力情報の読み出し、または出力用メモリ203bへの出力情報の書き込みを行う直接入出力機能を含む制御プログラムを実行する演算部の一例として機能する。

0015

ツールインタフェース203は、他のコントローラ2や、HMI1a〜1n、エンジニアリングツール3との間で各種情報を送受信するためのインタフェースである。I/Oインタフェース205は、制御対象機器や、各種のセンサ等との間で各種情報(例えば、入力用メモリ202aに記憶される入力情報、出力用メモリ202bに記憶される出力情報)を送受信するためのインタフェースである。バス206は、CPU201、RAM202、ツールインタフェース203、FROM204、およびI/Oインタフェース205を互いに接続する。

0016

HMI1a〜1nは、コントローラ2で実行される処理の状況等を、オペレータ監視するために用いられる装置である。一般に、1つの制御システムには、複数のHMI1a〜1nが含まれる。以下の説明では、HMI1a〜1nを区別する必要がない場合には、単に、HMI1と記載する。

0017

エンジニアリングツール3は、PC(Personal Computer)等であり、コントローラ2において実行される制御プログラムやタスクの生成等を行う。エンジニアリングツール3は、当該エンジニアリングツール3のユーザであるエンジニアによって操作され、制御プログラム等を生成する。そして、エンジニアリングツール3により生成される制御プログラム等がLAN5を介してコントローラ2にダウンロードされることにより、コントローラ2がプラントを制御するための処理を実行可能となる。

0018

具体的には、エンジニアリングツール3は、CPU301と、RAM302と、HDD(Hard Disk Drive)303と、FROM304と、ディスプレイ305と、入力装置306と、通信インタフェース307と、バス308と、を備える。通信インタフェース307は、コントローラ2、HMI1、他のエンジニアリングツール3等の外部装置との間で各種情報を送受信するためのインタフェースである。

0019

RAM302は、CPU301が各種のプログラムを実行する際に作業領域として用いられる。FROM304は、CPU301により実行されるプログラム等の各種情報を記憶する。HDD303は、CPU301により生成される制御プログラムやタスク等の各種情報を記憶する。本実施形態では、HDD303は、命令語実行時間データベースを記憶する記憶部の一例として機能する。ここで、命令語実行時間データベースは、コントローラ2が有するCPU201毎に、制御プログラムが含む命令語の実行に要する時間である命令語実行時間を示すデータベースである。

0020

CPU301は、エンジニアリングツール3全体を制御する制御部である。本実施形態では、CPU301は、RAM302を作業領域として用いて、FROM304に記憶される各種のプログラムを実行することによって、制御プログラムやタスクの生成等を行う。また、本実施形態では、CPU301は、補正時間算出処理および制御プログラム補正処理を実行する。

0021

補正時間算出処理は、HDD303に記憶される命令語実行時間データベースに基づいて、コントローラ2の交換前のCPU201および交換後のCPU201のそれぞれによる対象命令語の命令語実行時間の差分を補正時間として算出する処理である。ここで、対象命令語は、制御プログラムが含む命令語のうち、直接入出力機能に先立って行われる命令語である。また、制御プログラム補正処理は、対象命令語の実行から補正時間待機した後に直接入出力機能が実行されるように、制御プログラムを補正する処理である。

0022

ディスプレイ305は、LCD(Liquid Crystal Display)等であり、各種情報を表示可能な表示部である。入力装置306は、マウスキーボード等であり、エンジニアリングツール3のオペレータが各種情報を入力可能とする。通信インタフェース307は、HMI1、コントローラ2、他のエンジニアリングツール3等との間で各種情報を送受信するためのインタフェースである。バス308は、CPU301、RAM302、HDD303、FROM304、ディスプレイ305、入力装置306、および通信インタフェース307を互いに接続する。

0023

図2は、第1の実施形態にかかるコントローラにより実行されるタスクの構成の一例を示す図である。制御プログラムは、コントローラ2のタスクに配置されたタスクエントリにおいて実行される。エンジニアリングツール3のオペレータであるエンジニアは、コントローラ2のタスク毎に、その応答性(制御プログラムが実行されるまでの時間。言い換えると、スキャン周期。)を予め設定する。したがって、エンジニアは、スキャン周期を考慮して制御プログラムを生成する。

0024

例えば、図2に示すように、コントローラ2がメインスキャンタスク(以下、MSタスクと言う)およびハイスピードタスク(以下、HSタスクと言う)を実行する場合、エンジニアは、それぞれのタスクのスキャン周期を考慮して制御プログラムを作成する。ここで、MSタスクは、タスクの実行に許容される最大の時間(例えば、1000ms。以下、最大許容実行時間と言う)が長いタスクである。一方、HSタスクは、最大許容実行時間(例えば、100ms)が短いタスクである。

0025

そして、図2に示すように、MSタスクのタスクエントリ1〜3では、制御プログラム1〜3を実行し、MSタスクのタスクエントリ4は、空である(言い換えると、制御プログラムを実行しない)。ここで、タスクにおいて制御プログラムが実行される順番は、タスクエントリの昇順である。また、図2に示すように、HSタスクのタスクエントリ1,2では、制御プログラム4,5を実行し、MSタスクのタスクエントリ3,4は、空である。コントローラ2が有するCPU201がシングルコアである場合、タスク間優先順位を設定し、当該優先順位に従ってタスクを実行する。例えば、CPU201は、スキャン周期の短いタスク(例えば、HSタスク)を優先的に実行する。

0026

図3は、第1の実施形態にかかるコントローラにおけるタスクの実行するタイミングチャートの一例である。ここでは、MSタスク、HSタスク、I/O割込タスクの順に優先順位が高い例について説明する。図3に示すように、HSタスクの実行中に、MSタスクを実行するタイミングt1となった場合、CPU201は、HSタスクの実行を一時中断して、MSタスクを実行する。また、図3に示すように、HSタスクの実行中に、I/O割込タスクを実行するタイミングt2となった場合、CPU201は、HSタスクの実行を一時中断して、I/O割込タスクを実行する。また、図3に示すように、MSタスクの実行中にI/O割込タスクを実行するタイミングt3となった場合、CPU201は、MSタスクの実行を一時中断して、I/O割込タスクを実行する。なお、各タスクのスキャン周期内において、各タスク内の全ての制御プログラムが実行された後は、各タスクは、待機状態となる。

0027

図4は、第1の実施形態にかかるコントローラにおいて実行される制御プログラムで用いられる情報の一例を説明するための図である。制御プログラムで使用される情報(例えば、プラント内のセンサ等から入力される入力情報)は、制御プログラムの変数として扱われる。変数の実体は、コントローラ2内のメモリであり、当該メモリに変数を割り当てて(定義して)、制御プログラムにおいて使用される。そのメモリには、制御プログラムがローカルで使用するローカル変数、制御プログラム間で共有するグローバル変数がある。また、制御プログラムの設計には、ファンクションブロック(FB)と呼ばれるベンダまたはエンジニアによって予め用意される機能(関数)を用いる。

0028

ファンクションブロックは、図4に示すように、入力情報が入力変数1および入力変数2として与えられると、所定の演算を行い、その演算結果である出力変数1を出力情報として出力する。例えば、ファンクションブロックが積演算である場合、ファンクションブロックは、入力変数1:「5」および入力変数2:「5」が与えられると、出力変数1:「25」を出力する。ファンクションブロックに与える入力変数の数やファンクションブロックから出力する出力変数の数は任意に設定可能である。また、ファンクションブロックから出力される出力変数を、出力変数以外の変数に格納することも可能である。

0029

図5は、第1の実施形態にかかるコントローラにおいて実行される制御プログラムの一例を説明するための図である。例えば、コントローラ2のタスクにおいて実行される制御プログラム(例えば、POU1)は、図5に示すように、ファンクションブロック20a〜20eを含む。コントローラ2のエンジニアリング(例えば、コントローラ2の登録、制御プログラムの設計、変数の割当)は、専用のツールを使用して、エンジニアリングツール3から制御プログラム(例えば、POU1)をダウンロードすることにより実現する。

0030

図6は、第1の実施形態にかかるコントローラにおける入力用メモリからの入力情報の読み出しおよび出力用メモリへの出力情報の書き込みのタイミングの一例を説明するための図である。例えば、図6に示すように、MSタスクを実行する場合、コントローラ2のCPU201は、MSタスクのスキャン周期内の任意のタイミングにおいて、入力用メモリ202aからの入力情報の読み出し、または読み出した入力情報に基づく演算によって得られる出力情報の出力用メモリ202bへの書き込みを行う直接入出力機能を含む制御プログラム(POU)を実行する。

0031

ところで、制御プログラム内では、四則演算や各種の命令語が実行されるが、CPU201の交換によって、当該CPU201の性能が向上すると、制御プログラム内における四則演算や各種の命令語の実行に要する時間が短縮される場合がある。この場合、図6に示すように、直接入出力機能によって入力用メモリ202aから入力情報を読み出すタイミングt4や、直接入出力機能によって出力用メモリ202bに出力情報を書き込むタイミングt5が早くなる。このタイミングt4やタイミングt5が早くなると、プラントのラインの工程やプラント内の各種機器に対する負荷のずれに繋がり、既設の分散制御システムに対して意図しない異常(例えば、プラント内の各種機器の故障)を引き起こす可能性がある。

0032

そこで、本実施形態では、エンジニアリングツール3のCPU301が、HDD303に記憶される命令語実行時間データベースに基づいて、コントローラ2の交換前のCPU201および交換後のCPU201のそれぞれによる対象命令語の命令語実行時間の差分を補正時間として算出する補正時間算出処理を実行する。さらに、エンジニアリングツール3のCPU301は、対象命令語の実行から補正時間待機した後に直接入出力機能が実行されるように、制御プログラムを補正する制御プログラム補正処理を実行する。

0033

これにより、コントローラ2のCPU201が交換された場合でも、入力用メモリ202aから入力情報が読み出されるタイミングおよび出力用メモリ202bに対して出力情報が書き込まれるタイミングが、コントローラ2のCPU201の交換前と変わらない。その結果、コントローラ2のCPU201の交換によって、プラントのラインの工程やプラント内の各種機器に対する負荷のずれが発生することを防止でき、CPU201の交換を起因として、既設の制御システムに対して意図しない異常が発生することを防止できる。

0034

図7は、第1の実施形態にかかる制御システムにおける命令語の実行のタイミングの一例を示す図である。例えば、コントローラ2のCPU201がCPU_AAAからCPU_BBBに交換された場合に、命令語1および命令語2による出力情報の出力用メモリ202bへ書き込みを待機する例について説明する。

0035

エンジニアリングツール3のCPU301は、下記の表1に示す命令語実行時間データベースに基づいて、CPU_AAA(交換前のCPU201)における命令語1(対象命令語)の命令語実行時間(10ms)および命令語2(対象命令語)の命令語実行時間(100ms)を特定する。また、CPU301は、下記の表1に示す命令語実行時間データベースに基づいて、CPU_BBB(交換後のCPU201)における命令語1の命令語実行時間(10ms)および命令語2の命令語実行時間(50ms)を特定する。

0036

次いで、CPU301は、CPU_AAAにおける命令語1の命令語実行時間(10ms)と命令語2の命令語実行時間(100ms)の合計時間(110ms)と、CPU_BBBにおける命令語1の命令語実行時間(10ms)と命令語2の命令語実行時間(60ms)の合計(60ms)との差分(50ms)を、補正時間として算出する。さらに、CPU301は、命令語1および命令語2の実行から補正時間(50ms)待機した後に直接入出力機能が実行される制御プログラムを作成する。

0037

そして、エンジニアリングツール3のCPU301は、コントローラ2への制御プログラムのダウンロードを実行する。これにより、CPU201は、図7に示すように、命令語1および命令語2の実行から補正時間(50ms)だけ待機する。その後、コントローラ2のCPU201は、命令語1および命令語2による出力情報を出力用メモリ202bへ書き込む直接入出力機能を実行する。

0038

これにより、コントローラ2のCPU201がCPU_AAAからCPU_BBBに交換された場合でも、出力用メモリ202bに対して出力情報が書き込まれるタイミングが、コントローラ2のCPU201がCPU_AAAの場合と変わらない。その結果、コントローラ2のCPU201の交換によって、プラントのラインの工程やプラント内の各種機器に対する負荷のずれが発生することを防止でき、CPU201の交換を起因として、既設の制御システムに対して意図しない異常が発生することを防止できる。

0039

図8は、第1の実施形態にかかるエンジニアリングツールによる制御プログラムのダウンロード処理の流れの一例を示すフローチャートである。エンジニアリングツール3のCPU301は、HDD303に記憶される命令語実行時間データベースを最新版にアップデートする(ステップS801)。ここで、最新版の命令語実行時間データベースは、少なくとも、コントローラ2の交換前のCPU201の命令語実行時間、およびコントローラ2の交換後のCPU201の命令語実行時間を含むものとする。

0040

次に、CPU301は、コントローラ2から、既設システム(コントローラ2に既にダウンロードされている制御プログラム)を読み込む(ステップS802)。そして、CPU301は、最新版の命令実行時間データベースに基づいて、コントローラ2の交換前のCPU201による既設システムが含む対象命令語の命令語実行時間と、コントローラ2の交換後のCPU201による既設システムが含む対象命令語実行時間との差分を補正時間として算出する補正時間算出処理を実行する(ステップS803)。

0041

さらに、CPU301は、既設システムが含む対象命令語の実行から当該算出した補正時間待機した後に直接入出力機能を実行する新たな制御プログラムを作成する(ステップS804)。そして、CPU301は、作成した新たな制御プログラムをコントローラ2に保存するか否かを判断する(ステップS805)。新たな制御プログラムをコントローラ2に保存する場合(ステップS805:Yes)、CPU301は、CPU201が新たなCPUに交換されたコントローラ2に対して、新たな制御プログラムをダウンロードする(ステップS806)。

0042

このように、第1の実施形態にかかる分散制御システムによれば、コントローラ2のCPU201の交換によって、プラントのラインの工程やプラント内の各種機器に対する負荷のずれが発生することを防止でき、CPU201の交換を起因として、既設の制御システムに対して意図しない異常が発生することを防止できる。

0043

(第2の実施形態)
本実施形態は、コントローラが、当該コントローラの交換前のCPUおよび交換後のCPUそれぞれによる命令語実行時間の計測結果を記憶する命令語実行時間記録用メモリを有し、エンジニアリングツールが、命令語実行時間記録用メモリに記憶される命令語実行時間、または命令語実行時間データベースに基づいて、補正時間を算出する例である。以下の説明では、第1の実施形態と同様の構成については説明を省略する。

0044

図9は、第2の実施形態にかかる制御システムの全体構成の一例を示す図である。図9に示すように、本実施形態にかかるコントローラ900a〜900nは、CPU901と、RAM902と、ツールインタフェース203と、FROM204と、I/Oインタフェース205と、バス206と、を備えるコンピュータである。以下、コントローラ900a〜900nを区別する必要がない場合には、単に、コントローラ900と記載する。

0045

CPU901は、当該CPU901による命令語実行時間を計測する計測部の一例として機能する。RAM902は、命令語実行時間記録用メモリ902aを有する。命令語実行時間記録用メモリ902aは、交換前のCPU901および交換後のCPU901それぞれによる命令語実行時間を記憶する。

0046

また、図9に示すように、本実施形態にかかるエンジニアリングツール910は、CPU911と、RAM302と、HDD303と、FROM304と、ディスプレイ305と、入力装置306と、通信インタフェース307と、バス308と、を有する。

0047

CPU911は、コントローラ900の命令語実行時間記録用メモリ902aから、交換前のCPU901および交換後のCPU901それぞれの命令語実行時間の計測結果を取得する。そして、CPU911は、コントローラ900から取得した命令語実行時間または命令語実行時間データベースに基づいて、補正時間を算出する補正時間算出処理を実行する。

0048

これにより、交換前のCPU901および交換後のCPU901それぞれの実際の命令語実行時間に基づいて、補正時間を算出することが可能となるので、コントローラ900のCPU901が交換された場合に、入力用メモリ202aから入力情報が読み出されるタイミングおよび出力用メモリ202bに対して出力情報が書き込まれるタイミングのずれをより高精度に補正できる。

0049

図10は、第2の実施形態にかかる制御システムにおける命令語実行時間の計測処理の一例を説明するための図である。例えば、コントローラ900のCPU901が命令語1および命令語2それぞれの命令語実行時間を計測する例について説明する。

0050

コントローラ900の命令語実行時間記録用メモリ902aは、交換前のCPU901および交換後のCPU901それぞれについて、下記の表2に示すように、コントローラ900で実行する制御プログラムの命令語毎に、命令語実行時間の平均、最大の命令語実行時間、最小の命令語実行時間、過去に計測した命令語実行時間の積算値、最新の命令語実行前時刻、および最新の命令語実行後時刻を記憶する。

0051

コントローラ900のCPU901は、命令語実行時間を記録する命令語実行時間記録機能がONされている場合、予め設定されたスキャン周期で制御プログラム内の命令語1および命令語2が実行される度に、図10に示すように、命令語1および命令語2それぞれを実行する前の時刻を最新の命令語実行前時刻として計測し、かつ命令語1および命令語2それぞれを実行した後の時刻を最新の命令語実行後時刻として計測する。

0052

そして、CPU901は、取得した最新の命令語実行前時刻および最新の命令語実行後時刻を、命令語実行時間記録用メモリ902aに保存する命令語実行時間記録機能を実行する。命令語実行時間記録機能は、エンジニアリングツール910のユーザがONまたはOFFを選択し、その選択結果をコントローラ900にダウンロードする。例えば、命令語実行時間記録機能は、制御システムの設計中立ち上げ時にONされ、プラントの稼働中はOFFされることが好ましい。

0053

また、CPU901は、スキャン周期毎に、制御プログラムの実行後、命令語実行時間記録用メモリ902aに記憶される最新の命令語実行前時刻および最新の命令語実行後時刻を用いて、命令語実行時間記録用メモリ902aに記憶される命令語実行時間の平均、最大の命令語実行時間、および最小の命令語実行時間を更新する。

0054

具体的には、CPU901は、最新の命令語実行前時刻と最新の命令語実行後時刻の差分と、過去に計測した命令後実行時間の積算値とを加算した時間を、命令語実行時間を計測した回数によって除算した値を、命令語実行時間の平均として取得する。本実施形態では、CPU901は、命令語実行時間記録機能がONしている間のスキャン周期毎にインクリメントした回数を、命令語実行時間を計測した回数として取得する。

0055

また、CPU901は、最新の命令語実行前時刻と最新の命令語実行後時刻の差分が、命令語実行時間記録用メモリ902aに記憶される最大の命令語実行時間より長い場合には、当該差分によって最大の命令語実行時間を更新する。また、CPU901は、最新の命令語実行前時刻と最新の命令語実行後時刻の差分が、命令語実行時間記録用メモリ902aに記憶される最小の命令語実行時間より短い場合には、当該差分によって最小の命令語実行時間を更新する。

0056

エンジニアリングツール910は、コントローラ900の命令語実行時間記録用メモリ902aから、交換前のCPU901および交換後のCPU901のそれぞれの命令語実行時間の平均、最大の命令語実行時間、最小の命令語実行時間、過去に計測した命令語実行時間の積算値、最新の命令語実行前時刻、および最新の命令語実行後時刻を読み出すファイルエクスポート機能を有する。そして、CPU911は、交換前のCPU901および交換後のCPU901それぞれの命令語実行時間の平均、最大の命令語実行時間、および最小の命令語実行時間のいずれかを命令語実行時間の計測結果として取得し、当該取得した命令語実行時間に基づいて補正時間を算出する補正時間算出処理を実行する。

0057

図11は、第2の実施形態にかかる制御システムにおける補正時間の算出処理に用いる補正時間算出処理画面の一例を示す図である。本実施形態では、エンジニアリングツール910のディスプレイ305は、補正時間算出処理が実行される場合、図11に示すように、補正時間算出処理画面Gを表示する。

0058

補正時間算出処理画面Gは、命令語実行時間データベースおよび命令語実行時間記録用メモリ902aのうち、交換前のCPU901および交換後のCPU901のそれぞれの命令語実行時間の参照先を選択するための画面である。エンジニアリングツール910のCPU911は、補正時間算出処理画面Gの操作に応じて、命令語実行時間データベース、または命令語実行時間記録用メモリ902aから読み出した命令語実行時間の計測結果の保存先を、交換前のCPU901および交換後のCPU901のそれぞれの命令語実行時間の参照先として選択する。本実施形態では、エンジニアリングツール910のCPU911は、コントローラ900の命令語実行時間記録用メモリ902aから命令語実行時間の計測結果を予め取得してHDD303に保存しておくものとする。そして、CPU911は、選択した参照先に基づいて補正時間を算出する補正時間算出処理を実行する。

0059

具体的には、補正時間算出処理画面Gは、図11に示すように、交換前データベース選択ボタンB1、交換後データベース選択ボタンB2、交換前ファイル選択ボタンB3、交換後ファイル選択ボタンB4、交換前CPU入力欄B5、交換後CPU入力欄B6、更新前ファイル入力欄B7、更新後ファイル入力欄B8、OKボタンB9、およびキャンセルボタンB10を含む。OKボタンB9は、補正時間算出処理の実行を指示するためのボタンである。キャンセルボタンB10は、補正時間算出処理の実行の中止を指示するためのボタンである。

0060

交換前データベース選択ボタンB1は、命令語実行時間データベースを、交換前のCPU901の命令語実行時間の参照先として選択するためのボタン(例えば、ラジオボタン)である。交換後データベース選択ボタンB2は、命令語実行時間データベースを、交換後のCPU901の命令語実行時間の参照先として選択するためのボタン(例えば、ラジオボタン)である。交換前CPU入力欄B5は、交換前のCPU901を入力可能である。交換後CPU入力欄B6は、交換後のCPU901を入力可能である。

0061

交換前ファイル選択ボタンB3は、命令語実行時間記録用メモリ902aを、交換前のCPU901の命令語実行時間の参照先として選択するためのボタン(例えば、ラジオボタン)である。交換後ファイル選択ボタンB4は、命令語実行時間記録用メモリ902aを、交換後のCPU901の命令語実行時間の参照先として選択するためのボタン(例えば、ラジオボタン)である。更新前ファイル入力欄B7は、命令語実行時間記録用メモリ902aに記憶される命令語実行時間のファイルのうち、交換前のCPU901の命令語実行時間のファイルの参照先を入力可能である。更新後ファイル入力欄B8は、命令語実行時間記録用メモリ902aに記憶される命令語実行時間のファイルのうち、交換後のCPU901の命令語実行時間のファイルの参照先を入力可能である。

0062

CPU911は、交換前データベース選択ボタンB1が選択された場合、命令語実行時間データベースから、交換前CPU入力欄B5に入力されたCPUの命令語実行時間を、交換前のCPU901の命令語実行時間として取得する。一方、CPU911は、交換前ファイル選択ボタンB3が選択された場合、命令語実行時間記録用メモリ902aに記憶される命令語実行時間のファイルのうち、更新前ファイル入力欄B7に入力された参照先に記憶される命令語実行時間の計測結果を、交換前のCPU901の命令語実行時間として取得する。

0063

また、CPU911は、交換後データベース選択ボタンB2が選択された場合、命令語実行時間データベースから、交換後CPU入力欄B6に入力されたCPUの命令語実行時間を、交換後のCPU901の命令語実行時間として取得する。一方、CPU911は、交換後ファイル選択ボタンB4が選択された場合、命令語実行時間記録用メモリ902aに記憶される命令語実行時間のファイルのうち、更新後ファイル入力欄B8に入力された参照先に記憶される命令語実行時間の計測結果を、交換後のCPU901の命令語実行時間として取得する。

0064

その後、CPU911は、交換前のCPU901の命令語実行時間と、交換後のCPU901の命令語実行時間との差分を、補正時間として算出する補正時間算出処理を実行する。

0065

このように、第2の実施形態にかかる制御システムによれば、コントローラ900のCPU901の交換によって、プラントのラインの工程やプラント内の各種機器に対する負荷のずれの発生をより高精度に防止でき、CPU901の交換を起因として、既設の制御システムに対して意図しない異常が発生することをより高精度に防止できる。

0066

以上説明したとおり、第1,2の実施形態によれば、コントローラ2のCPU201の交換によって、プラントのラインの工程やプラント内の各種機器に対する負荷のずれが発生することを防止でき、CPU201の交換を起因として、既設の制御システムに対して意図しない異常が発生することを防止できる。

0067

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

0068

1a〜1n HMI
2a〜2n,900a〜900nコントローラ
3,910エンジニアリングツール
201,301,901,911 CPU
202,302,902 RAM
202a入力用メモリ
202b出力用メモリ
203ツールインタフェース
204,304 FROM
205 I/Oインタフェース
303 HDD
305ディスプレイ
306入力装置
307通信インタフェース
902a命令語実行時間記録用メモリ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ