IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社明電舎の特許一覧

特許6992264プログラマブルロジックコントローラのメモリ管理方法
<>
  • 特許-プログラマブルロジックコントローラのメモリ管理方法 図1
  • 特許-プログラマブルロジックコントローラのメモリ管理方法 図2
  • 特許-プログラマブルロジックコントローラのメモリ管理方法 図3
  • 特許-プログラマブルロジックコントローラのメモリ管理方法 図4
  • 特許-プログラマブルロジックコントローラのメモリ管理方法 図5
  • 特許-プログラマブルロジックコントローラのメモリ管理方法 図6
  • 特許-プログラマブルロジックコントローラのメモリ管理方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-13
(45)【発行日】2022-01-13
(54)【発明の名称】プログラマブルロジックコントローラのメモリ管理方法
(51)【国際特許分類】
   G05B 19/05 20060101AFI20220105BHJP
【FI】
G05B19/05 Z
【請求項の数】 2
(21)【出願番号】P 2017054082
(22)【出願日】2017-03-21
(65)【公開番号】P2018156511
(43)【公開日】2018-10-04
【審査請求日】2019-12-13
(73)【特許権者】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【弁理士】
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【弁理士】
【氏名又は名称】富岡 潔
(74)【代理人】
【識別番号】100104938
【弁理士】
【氏名又は名称】鵜澤 英久
(72)【発明者】
【氏名】大嶽 和洋
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2012-118715(JP,A)
【文献】特開2001-142510(JP,A)
【文献】特開2010-072892(JP,A)
【文献】特開平08-147013(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
POU(Program Organization Unit)によって構成されたタスクを制御するプログラマブルロジックコントローラのメモリを管理する方法であって、
前記POUを用途ごとにグループに分類し、該分類されたグループ単位で管理する分類管理ステップと、
前記分類管理ステップで分類されたグループのうち、POUのサイズが予め定められた閾値のサイズよりも大きい場合には専用グループに分類するグループ分類ステップと、
プログラマブルロジックコントローラの動作中において前記POUや変数について追加または変更するオンライン変更があれば、該POUに応じたインスタンス領域における変数定義の追加・変更・初期化情報に印を付与する印付与ステップと、
前記プログラマブルロジックコントローラがマスター/スレーブに二重化されていれば、マスターからスレーブにコピーされない部分を前記変数定義において定義するオンライン変更時等化フィルタステップと、
を有することを特徴とするプログラマブルロジックコントローラのメモリ管理方法。
【請求項2】
前記印付与ステップにおいて、
プログラマブルコントローラが、追加/変更された部分のデータを取得すれば前記各印を消去することを特徴とする請求項1記載のプログラマブルロジックコントローラのメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルロジックコントローラ(programmable logic controller:以下、PLCとする。)のメモリ管理方法に関する。
【背景技術】
【0002】
現在、コントローラの動作は、専用のプログラムによって制御されることが一般的となっている。このプログラムの記述言語としては、例えばIEC(International Electrotechnical Commission)611131-3規格(JISB3503)に準拠した言語などが使用されている。
【0003】
このIEC611131-3規格に準拠した言語によって作成されるプログラミングは、特許文献1のプログラム作成支援装置などを使用して作成され、次のような特徴を有している。
【0004】
(1)POU定義,パラメータの設定
IEC61131-3規格では、ユーザが作成するプログラムをPOU(Program Organization Unit)という型として定義し、これらをタスクや他のPOUに登録することでインスタンス化する。また、汎用のプログラムとは別に数値表示、数値演算、フィードバック制御などの機能を限定したPOUも用意されている。これらのプログラムを効率よく、運用後もなるべくPLCを停止しないように作成することが求められている。なお、PLCは、一般的にシーケンサという商品名も用いられている。
【0005】
(2)POU,変数定義,変数パラメータのオンライン変更
PLCの運転開始後は、PLCを停止せずにPOUなどを入れ替えるオンライン変更が行われるため、インスタンスとしてのサイズやアドレス、POU内部の変数がプログラム変更前後で変わらないようにプログラミングツールで管理されている。この状態の入れ替えは、オンライン変更と呼ばれている。
【0006】
(3)二重化されたPLCでのプログラムのオンライン変更
PLCは、冗長化機能(障害発生時のバックアップ等)としてマスター・スレーブの二重化構成を組むことが少なくない。この二重化構成によれば、プログラムの入れ替えはマスター側で行われ、スレーブ側には入れ替えられたプログラムがコピーされる。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2008-204237
【発明の概要】
【発明が解決しようとする課題】
【0010】
7に示すように、POUは、大きく分けると、変数定義の部分とロジックの定義部分との2つに分かれ、この両者をアプリケーションファイルとして転送する。この変数定義の部分には現場機器から計測値などがコピーされ、ロジックの定義部分には該計測値を参照しながら演算を行う。
【0011】
このとき二重化されたPLCでは、マスターからスレーブにデータをコピーすることでマスターに異常があった場合にスレーブが瞬時にマスターに切り替わることを可能としている。ところが、スレーブにはスレーブ固有の情報があり、そのデータをマスターからデータをコピーすることはできない。
【0012】
また、積算などのPOUについても、積算の計算途中でマスターからスレーブへとデータコピーしてよい部分と、よくない部分が存在し、その内容はPOUごとに異なっている。
【0013】
本発明は、このような従来の問題を解決するためになされ、マスター・スレーブに二重化されたPLCにおいてPOUのオンライン変更を安全・確実に実行することを解決課題としている。
【課題を解決するための手段】
【0014】
本発明は、POU(Program Organization Unit)によって構成されたタスクを制御するプログラマブルロジックコントローラのメモリを管理する方法に関する。この方法は、前記POUを用途ごとにグループに分割し、該分割されたグループ単位で前記POUをメモリ内に配置して管理する分割管理ステップと、前記分割管理ステップで分割されたグループのうち、POUが一定値よりも大きい場合には専用グループに分類するグループ分類ステップと、を有する。
【0015】
本発明の一態様は、プログラマブルロジックコントローラの動作中において、前記POUや変数について追加または変更するオンライン変更があれば、該POUに応じたインスタンス領域における変数定義の追加・変更・初期化情報に印を付与する印付与ステップをさらに有している。
【0016】
この場合、前記印付与ステップにおいて、前記オンライン変更時の情報が予め定められた大きさを越えていれば、前記変数定義の変更・等化マップに印を付与することもできる。
【0017】
また、前記プログラマブルロジックコントローラが、マスター/スレーブに二重化されていれば、マスターからスレーブにコピーされない部分を、前記変数定義において定義するオンライン変更時等化フィルタステップを有していてもよい。
【0018】
なお、前記印付与ステップにおいて、プログラマブルロジックコントローラが、追加/変更された部分のデータを取得すれば、前記各印を消去することもできる。
【発明の効果】
【0019】
本発明によれば、マスター・スレーブに二重化されたPLCにおいてPOUのオンライン変更を安全・確実に実行することができる。
【図面の簡単な説明】
【0020】
図1】本発明の実施形態に係るメモリ管理方法におけるメモリ配置の概念図。
図2】同 変数定義の詳細図。
図3】(a)は同メモリ管理方法を実行するシステムの構成図、(b)は(a)に示すPLCの構成図。
図4図3のシステムに基づきプログラミングの作業フロー図。
図5】自動生成されたプログラムPOUの一例を示す図。
図6】個別パラメータ調整画面図。
図7】従来例のメモリ配置の概念図。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態に係るメモリ管理方法を説明する。このメモリ管理方法は、PLCの記憶装置内にPOUのインスタンス格納領域をタスクごとに確保し、該インスタンス格納領域内にPOUのインスタンス領域を置いてPLCのメモリを管理する。
【0022】
≪実行システム≫
図3に基づき前記メモリ管理方法を実行するシステム1の構成を説明する。図3(a)中のPLC2は、主にJISB3503規格に沿った計装用のアプリケーション作成に使用されている。
【0023】
このPLC2は、計装用の様々な機能ごとにPOUが用意され、PADT(Programing And Debug Tool)4からの指示にしたがってプログラムの作成・編集(変更)・デバッグなどの処理を実行する。このPADT4は、PLC2とイーサネット(登録商標)7で接続されたコンピュータ3に実装され、該コンピュータ3には計器作成支援ツール5が実装されている。
【0024】
また、PLC2は、図3(b)に示すように、各種演算制御を実行する管理CPU(Central Processing Unit)11aと、POUを格納して管理するプログラムメモリ11bと、各POUに対応するインスタンス格納領域に配置されたデータメモリ11cとを備えている。この図3(b)中では、POU(1)に対応してインスタンス格納領域i1が配置され、POU(2)に対応してインスタンス格納領域i2が配置され、POU(n)に対応してインスタンス格納領域inが配置されている。
【0025】
この各インスタンス格納領域i1~inには、図2に示すタスク単位のインスタンス領域(以下、インスタンス領域と省略する。)12が置かれ、インスタンス領域12には、POUの変数定義13が記憶されている。具体的には一般変数定義11aの場合は、型情報13c,初期値13d,現在値13e,追加・変更・初期化情報13f,等化フィルタ情報13gが格納される。また、一定サイズ以上の大きさの変数定義13bでは、さらに変更・等化マップ13hが追加されている。なお、前記変数定義13bに該当するか否かは、予め定められた閾値との対比により決定してもよい。
【0026】
管理CPU11aは、図示省略の二枚のベースボード間がケーブルによって接続され、それぞれに管理CPUモジュールが実装され、各管理CPUモジュールの電源断・故障や動作モード、即ちマスター(常用)モード/スレーブ(待機)モードを通知し、マルチCPUによるPLC二重化システムを実現させる。このPLC二重化システムによれば、各管理CPUモジュールは、同じメモリ構成であり、かつ同じアプリケーションプログラムを動作させる。なお、前記各管理CPUモジュールは、図1中では、CPU(1)(2)として示され、CPU(1)はマスター側に実装され、CPU(2)はスレーブ側に実装されている。
【0027】
≪作業手順≫
(1)入力支援
前記システム1を用いた作業手順(ステップ)を説明する。従来は、図4に示すように、計装項目表Dを元に数値表示や数値積算などの機能をつくりこんだPOU(以下、機能POUとする。)を配置してパラメータを設定する単純作業の繰り返しにより、プログラミングできるように工夫されてきた。
【0028】
しかしながら、計測項目表Dを見ながらユーザ(人間)がパラメータをプログラミングするため、入力ミスが多く見受けられた。そこで、前記システム1では、計器作成支援ツール5を用いることで自動生成する部分を増加させ、ユーザの入力の手間を省いている。
【0029】
詳細を説明すれば、ユーザは、従来のS01,S02と同じく、作成するプロラムの計数項目表Dを作成し、手入力によりシステム構成を定義する(S01,S02)。ただし、S03,S04に示すグローバル変数の定義と機能POUの定義に計器作成支援ツール5が用いられている点で従来と相違する。
【0030】
すなわち、計器作成支援ツール5にて計装項目表Dと計装初期値ファイルF1からデータを読み込み、作成する機能POU数や名前のルールを計器作成支援ツール5で設定する。ここでは機能POUに入力するグローバル変数を構造体として定義し、登録された機能POUの部品ごとにパラメータ設定ダイアログを用意し、入力を容易化させることができる。
【0031】
そして、計器作成支援ツール5にて、計装項目表Dおよび計装初期値ファイルF1から機能POUのグローバル変数用CSVファイルF2と、機能POUを配置したプログラムPOU用XMLファイルF3とをPADT4に出力する。
【0032】
また、PADA4は、前記CSVファイルF2および前記XMLファイルF3を読み込み、グローバル変数と機能POUを自動プログラミングする。ここで計装項目表Dと計装初期値ファイルF1と違うパラメータを設定する場合にはPADT4にて設定する。なお、図5は、計器作成支援ツール5から出力された前記XMLファイルF3を取り込んで自動生成された機能POUの画面表示G1を示し、表1は、計器作成支援ツール5から出力されたCSVファイルF2を取り込んで自動生成されたグローバル変数を示している。
【0033】
【表1】
【0034】
このとき計装項目表と計装初期値ファイルF1とは違うパラメータを設定する場合はプログラミングツールで設定する。ここでは図6の矢印G1に示すように、前記自動生成後に表1中のパラメータ(変数名称)をダブルクリックすることで各計装部品用の画面G2が表示され、パラメータを変更することができる。
【0035】
(2)オンライン変更等
PADT4でコンパイルを実行し(S05)、アプリケーション6のファイルを生成する。このとき作成されたアプリケーション6は、図1(a)に示すように、用途ごとにグループに分されている。すなわち、ユーザが作成するアプリケーションは、機能ごとに目的の異なるグループに分することができる。ここではユーザが行う作業は、グループ単位に集中して行うことが多いため、機能POUをグループ単位に管理する。
【0036】
例えば図1(a)のアプリケーションプログラム6においては、グループ1でPOU1(ロジック最大設定)が管理され、グループ2(変数最大設定)で機能POU2,3が管理されている。ここでは分されたグループのうち機能POUが、予め定められた閾値よりも大きいものついては、機能POU毎の専用グループとして分類する。例えば図1(a)中の機能POU3のサイズが閾値よりも大きければ、機能POU2とは別の専用グループとして分類することができる。
【0037】
そして、生成されたアプリケーションプログラム6は、イーサネット6経由でPLC2に転送され(S06)、運転が開始される(S07)。このときPLC2は、二重化されているため、マスターからスレーブにコピーされ、マスターに異常があればスレーブが瞬時にマスター側に切り替わる。
【0038】
ただし、マスター側のアプリケーションファイル6aからスレーブ側のアプリケーションプログラム6bにコピーされない部分を定義するオンライン変更時等化フィルタ14が用意されている。このオンライン変更時等化フィルタ14は、マスターからスレーブへとデータコピーしてよい部分と、コピーしてよくない部分とを区別し、後者の部分を定義する。ここで定義された情報が等化フィルタ情報13gに記述される。なお、オンライン変更時等化フィルタ14に定義される部分の内容は機能POU毎に異なるものとする。
【0039】
また、PADT4がオンライン変更モード(S08,S09)での動作中は、修正・追加した機能POUおよび変数の追加・変更・初期化情報13fに印を付与する。このときサイズの大きい構造体などの変数定義については、追加・変更・初期化情報13fも大きくなるおそれがある。そこで、処理高速の観点から修正や追加などの箇所をビット単位で分かるように変更・等化マップ13hに印を付与する。例えば2バイト単位のビットインデックスを用いることができる。
【0040】
このように追加変更初期化情報13fや変更・等化マップ13hに印を付与した場合にPLC2に追加・修正部分などのダウンロード(S10)が完了すれば、前記各印を消去するものとする。なお、前記ダウンロードを実行していなくても、PADT4の通常モードでビルドを行った場合も同様に前記各印は消去される。
【0041】
≪作用効果≫
(1)ユーザのアプリケーションに既存の数Kバイトの大きな機能POUを張り付けても、オンラインで変更することが可能となる。
【0042】
従来、ラダーなどの軽微な変更や設定値などの変更については、オンライン変更が可能なものの、入れ替えたいプログラムが元のプログラムの大きさの何倍にもなる場合には入れ替えができなかった。
すなわち、従来の技術でもオンライン変更は可能ではあるが、予めメモリ上に空き領域を持っておかなければならないため、全体が肥大化してしまうため、変更できるPOUのメモリ上の大きさが数十バイトまでに制限されていた。
これに対して機能POUをグループに分し、グループ単位,POU単位,変数単位に変更を管理できるようにし、かつ予め数Kバイト安易の追加変更を行うグループを全体が最大サイズの固定長で作成できるようにしたことで大きな部品についてもオンライン変更が可能となった。
【0043】
(2)オンライン変更時等化フィルタ14と変更・等化マップ13hとによりデータ等化処理が制限され、二重化運転中のオンライン変更も安全・高速に行える。また、機能POUのパラメータ部分をグローバル変数にすることで、変数のアドレスが固定化され、安全にオンライン変更することができる。
【0044】
(3)なお、機能POUのパラメータ部分をグローバル変数にすることで、プログラミングの手間は増えるものの、計器作成支援ツール5で自動生成される部分が増加するため、トータルではプログラミングのコストを低く抑えることができる。
【符号の説明】
【0045】
1…システム
2…PLC
3…コンピュータ
4…PADT
5…計器作成支援ツール
6…アプリケーション
7…イーサネット
11a…管理CPU
11b…プログラムメモリ
11c…データメモリ
12…タスク単位 インスタンス領域
13…変数定義
13a…一般変数定義
13b…一定サイズ以上の大きな変数定義
13c…型情報
13d…初期値
13e…現在値
13f…追加・変更・初期化情報
13g…等化フィルタ情報
13h…変更・等化マップ
14…オンライン変更時等化フィルタ
図1
図2
図3
図4
図5
図6
図7