JP5224923B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP5224923B2
JP5224923B2 JP2008155828A JP2008155828A JP5224923B2 JP 5224923 B2 JP5224923 B2 JP 5224923B2 JP 2008155828 A JP2008155828 A JP 2008155828A JP 2008155828 A JP2008155828 A JP 2008155828A JP 5224923 B2 JP5224923 B2 JP 5224923B2
Authority
JP
Japan
Prior art keywords
data
address
access
unit
storage unit
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.)
Expired - Fee Related
Application number
JP2008155828A
Other languages
English (en)
Other versions
JP2009301359A (ja
Inventor
直史 恵木
俊彦 小木曽
剛志 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008155828A priority Critical patent/JP5224923B2/ja
Publication of JP2009301359A publication Critical patent/JP2009301359A/ja
Application granted granted Critical
Publication of JP5224923B2 publication Critical patent/JP5224923B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、産業用機器の制御を行う制御装置に関するものである。
従来、産業用機器の制御を行うプログラマブルコントローラ(PLC)は、ラダー言語などで記述されるシーケンスプログラムを実行し、実行結果であるデバイスの状態を示すデータを格納するデバイスメモリあるいはデバイスメモリ領域(以下、デバイス記憶部という)を有する。該デバイス記憶部は、デバイス種別毎に異なる複数の記憶領域に分割されており、同じデバイス種別のデータは連続したアドレスが確保された1つの領域に一塊のデータ配列として格納されるように構成されている。そして、各デバイス種別について、デバイス種別名とデータ配列の先頭が配置されるデバイスメモリの絶対アドレスとを対応付けるアドレス変換テーブルを有している。
PLCのデバッグを行うプログラミング装置や、PLCの動作をモニタするプログラマブル表示器などの外部装置は、上記のように構成されているPLCのデバイス記憶部に配置されるデータにアクセスするとき、所望のデータのデバイス種別名と、該デバイス種別のデータが格納される領域における相対アドレスと、を指定するデータアクセス要求をPLCに送信する。PLCは、アドレス変換テーブルを参照して、データアクセス要求に指定されるデバイス種別名のデータ配列が配置される先頭の絶対アドレスと、データアクセス要求に指定される相対アドレスとから、所望のデータが配置されている絶対アドレスを導出する。外部装置は、導出された絶対アドレスに配置されるデータにアクセスする。
さて、近年、汎用高級言語で記述される高度な処理を実行する制御プログラムをPLC用のラダー言語に移植することなく使用することができ、かつ従来のラダー言語などのシーケンスプログラムを利用したPLCと同等以上の被制御装置に対する制御性能を実現する制御装置が開発されている。例えば、C言語を用いた制御装置によれば、過去のC言語プログラム資産が流用でき、かつ三角関数などラダー言語が不得意とする関数も簡単に扱うことができる。
特開昭58−200363号公報
しかしながら、C言語には、ソースコードにおいてメモリの絶対アドレスを指定する命令が用意されていない。したがって、例えばソースコード中でデバイス種別毎のデータ配列を配置するためにC言語における配列を定義しても、ソースコードをコンパイルすると、生成された実行コードは、定義された配列毎にアドレスが連続した領域を確保するとは限らず、アドレスが連続していない複数の領域を確保し、同じデバイス種別のデータ配列を複数に分断して配置する場合がある。この場合、デバイス種別名と相対アドレスとを指定してPLCから目的のデータを取得していた外部装置は、このような制御装置からはデータを取得できないという問題があった。
特許文献1には、実システムに対応した複数の仮想システムを実行するシステムにおいて、仮想システムのアドレスと実システムのアドレスとを対応付けるアドレス変換表と、仮想システムの入出力装置と実システムの入出力装置とを対応付ける入出力装置変換表とを備え、仮想システムから送出された入出力命令で直接実システムの入出力装置で駆動できるようにする技術が開示されている。しかしながら、このような技術は、一つの装置内に実行される複数のシステム間の入出力装置共有に関するものであって、前記する問題を解決するものとは異なる。
本発明は、上記に鑑みてなされたものであって、デバイス種別と該デバイス種別のデータ配列の先頭からの相対アドレスとを指定してアクセス要求する外部装置に対応できる制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、夫々のデバイス種別に対応して複数のデータから成るデータ配列が配置され、同じデバイス種別のデータ配列がアドレスが連続していない複数の記憶領域に分断して配置されるデバイス記憶部と、前記夫々の分断されたデータ配列が配置される夫々記憶領域について、該データ配列のデバイス種別と、該データ配列の分断される前のデータ配列における先頭からのオフセットと、記憶領域の先頭の絶対アドレスと、記憶領域の領域サイズと、を記述するアドレス変換テーブルと、デバイス種別と該デバイス種別の分断される前のデータ配列の先頭を基準とした相対アドレスとを指定するデータアクセス要求を外部装置から受信したとき、該データアクセス要求が指定するデバイス種別および相対アドレスに対応する前記デバイス記憶部の絶対アドレスを前記アドレス変換テーブルに基づいて導出するアドレス変換部と、前記受信したデータアクセス要求に対応して前記デバイス記憶部の前記導出した絶対アドレスにアクセスするデバイス記憶部アクセス部と、を備えることを特徴とする。
この発明によれば、デバイス種別と該デバイス種別のデータ配列の先頭からの相対アドレスとを指定してアクセス要求する外部装置に対応できる制御装置を得ることができる。
理解を助けるために、まず現在一般的に普及しているPLCについて説明する。図9は、PLCの機能構成を説明する図である。図9において、PLC1は、デバイスの状態を示すデータが配置されるデバイス記憶部11と、データアクセス要求に指定されるデバイス種別および相対アドレスからデバイス記憶部11の絶対アドレスに変換するためのアドレス変換テーブルを記憶するアドレス変換テーブル記憶部10と、産業用装置などの被制御装置を制御するラダー言語などで記述されたシーケンスプログラムである制御プログラムを格納する被制御装置制御プログラム記憶部12と、デバイス記憶部11にアクセスを行う動作を含むPLC1全体の動作の制御と、制御プログラムを実行してデバイス記憶部11に配置されるデータを適宜参照・上書きし、該データに基づいて行う被制御装置の制御とを実行する制御部14と、外部装置とのデータの送受信を行うための通信I/F(インターフェース)である通信I/F部15と、外部装置から通信I/F部15を介してデータアクセス要求を受信したとき、アドレス変換テーブルを参照して該データアクセス要求が要求するデータが配置される絶対アドレスを導出するアドレス変換部13と、を備える。
図10は、PLC1の動作を該動作に密接に関連する機能構成とともに概略的に説明する図である。PLC1のデバイス記憶部11は、デバイス種別毎に記憶領域が確保されているメモリ構成となっている。ここでは、デバイス種別名が、「D」、「W」、「M」、「B」の4種類のデータ配列を夫々される配置記憶領域が確保されている。そして、夫々のデバイス種別名の記憶領域の先頭アドレスがデバイス記憶部11の絶対アドレス表記で「0x10000000」、「0x20000000」、「0x30000000」、「0x40000000」となっており、アドレス変換テーブル記憶部10に記憶されるアドレス変換テーブル100には、デバイス種別名と該デバイス種別名のデータを格納する領域の先頭アドレスとの対応が記述されている。
ここで、わかりやすくするために、以降の説明において、デバイス記憶部11および後述する本発明の各実施の形態の制御装置のデバイス記憶部11Aの一つのアドレスは1バイトのデータを格納することができることとする。もちろん、一つのアドレスの容量が1バイト以外であるようにしてもよい。
また、外部装置2が例えばPLC1をモニターするプログラマブル表示器の場合、外部装置2はPLC1に、アクセス先に配置されているデータを取得する際にデータアクセス要求を送信する。また、外部装置2がPLCのデバッグを行うプログラミング装置の場合、外部装置2は、アクセス先に配置されているデータを取得する際、およびアクセス先に配置されているデータを変更するなどの設定を行う際にデータアクセス要求を送信する。以降の説明においては、外部装置2はPLC1からデータを取得するためにPLC1から該当するデータを送信させる命令を含んだデータアクセス要求である要求データをPLC1に送信する例を取り上げて説明する。
まず、外部装置2は、図示するように、デバイス種別名が「D」の領域の100バイト目のアドレスを先頭とし、サイズが10バイトのサイズのデータを取得する命令の要求データをPLC1に送信する。PLC1は、通信I/F部15を介して該要求データを受信すると、アドレス変換部13は、アドレス変換テーブル100を参照し、「D」のデバイス種別のデータを格納する領域の100バイト目のアドレスが「0x10000100」であることを導出する。そして、PLC1の制御部14は、通信I/F部15を介して、デバイス記憶部11のアドレス「0x10000100」から10バイトの範囲に配置されているデータであるデータの配列「1、2、3、4、5、6、7、8、9、10」を読み出して応答データとして外部装置2に送信する。
このように、PLCは、一般的に、同じデバイス種別のデータ配列を1つの連続した領域に配置し、デバイス種別名と該種別のデータ配列が格納される領域の先頭の絶対アドレスとを対応付けるアドレス変換テーブルを有するようにしているので、デバイス種別と該デバイス種別の配列の先頭からの相対アドレスとを指定して取得する命令に対応して該当するデータを返すことができる。
これに対して、C言語など、デバイス記憶部11へのメモリ割り当てを設計者が直接指定できない言語を用いて作成された制御プログラムを使用した制御装置は、デバイス種別毎に1つの連続した領域に配置されるようにメモリ割り当てを行うとは限らない。同じデバイス種別のデータ配列が複数の記憶領域に不連続に分断されると、例えば、図10のデバイス記憶部11に示すようなデバイス種別名「D」のデータの配列「1、2、3、4、5、6、7、8、9、10」が、図2のデバイス記憶部11Aに示すように、「0x10000100」から「0x10000103」までの4バイトに「1、2、3、4」が配置され、「0x50000104」から残りの「5、6、7、8、9、10」が配置される、というように、同じデバイス種別名のデータ配列が分断される。したがって、このような制御装置は、外部装置2から受信するデバイス種別と先頭からの相対アドレスとを指定する命令に対応できない。すなわち、このような制御装置は、一般的なPLCとの間に完全な互換性あるとは言いがたい。
本発明の実施の形態は、外部装置から受信するデバイス種別と先頭からの相対アドレスとを指定する命令に対応できるようにしたことが主たる特徴となっている。以下に、本発明にかかる制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかる制御装置の実施の形態1の機能構成を示す図である。図1において、制御装置1Aは、デバイスの状態を示すデータが配置されるデバイス記憶部11Aと、要求データに指定されるデバイス種別および相対アドレスからデバイス記憶部11Aの絶対アドレスに変換するためのアドレス変換テーブルを記憶するアドレス変換テーブル記憶部10Aと、C言語で記述されたソースコードから生成された実行コードである、被制御装置を制御する制御プログラムを格納する被制御装置制御プログラム記憶部12Aと、デバイス記憶部11Aにアクセスを行う動作を含む制御装置1A全体の動作の制御と、制御プログラムを実行してデバイス記憶部11Aに配置されるデータを適宜参照・上書きし、該データに基づいて行う被制御装置の制御とを実行する制御部14Aと、外部装置とのデータの送受信を行うための通信I/F(インターフェース)である通信I/F部15Aと、外部装置から通信I/F部15Aを介して要求データを受信したとき、アドレス変換テーブルを参照して該要求データが要求するデータが配置される絶対アドレスを導出するアドレス変換部13Aと、を備える。
C言語で記述された制御プログラムを用いると、制御部14Aは、該C言語で記述された制御プログラムの仕様に基づき、デバイス記憶部11Aにデータを配置するメモリ割り当てを決定する。C言語を用いると、一般的なPLC1で用いられるラダー言語などによる制御プログラムより簡単に高度な演算を行うことができるようになるが、C言語には直接にアドレスを指定してメモリ割り当てを行う手段が用意されていない。したがって、同じデバイス種別のデータ配列を1つの連続するアドレスの記憶領域に指定して割り当てさせることはできず、分断されてしまう場合がある。図2は、制御部14Aによりデータ配列のメモリ割り当てが決定されたデバイス記憶部11Aのメモリ構成の一例を示す図である。前記説明したように、デバイス種別名「D」のデータ配列の一部のデータの配列「1、2、3、4、5、6、7、8、9、10」が、図2のデバイス記憶部11Aに示すように、「0x10000100」から「0x10000103」までの4バイトに「1、2、3、4」が配置され、「0x50000104」から残りの「5、6、7、8、9、10」が配置される、というように、デバイス種別「D」のデータ配列が複数の記憶領域に分断されて配置されているとする。
図3は、アドレス変換テーブル記憶部10Aに記憶されるアドレス変換テーブルの一例を説明する図である。図3において、アドレス変換テーブル100Aは、夫々の分断されたデータ配列が配置される夫々記憶領域について、該データ配列のデバイス種別と、該データ配列の分断される前のデータ配列における先頭からの相対位置を示すオフセットと、記憶領域の先頭の絶対アドレスと、記憶領域の領域サイズ(エリアサイズ)と、を記述している。オフセットとは、分断前の同じデバイス種別のデータ配列において、分断されたデータ配列の前に配列されるデータ配列のトータルのサイズである。すなわち、図3の例においては、デバイス種別名「D」の記憶領域が2つの記憶領域に分断されており、アドレス変換テーブル100Aのコンテンツの上から2段目の行が示す断片化された記憶領域は、オフセットが「0x104」バイトとなっているので、断片化前のデバイス種別「D」のデータ配列における先頭から「0x105」バイト目から始まる分断されたデータ配列が配置されることとなる。
図4は、実施の形態1の制御装置1Aの動作を該動作と密接に関連する機能構成とともに概略的に説明する図である。まず、制御装置1Aは、外部装置2から要求データを受信する。要求データは、図10にて説明した一般的なPLC1に対する要求データの例と同じものであるとする。すると、アドレス変換部13Aは、アドレス変換テーブル100Aを参照して該要求データが要求するデータが配置される絶対アドレスを導出する。すなわち、まず、要求データが指定するデバイス種別「D」の100バイト目の絶対アドレスを求めるために、デバイス種別「D」かつオフセット「0」の行を検索する。ここでは、アドレス変換テーブル100Aの一段目のコンテンツが該当する行であり、アドレス変換部13Aは、デバイス種別「D」のデータが配置される一個目の記憶領域が先頭の絶対アドレスが「0x10000000」であり、該記憶領域のサイズが「0x104」バイトであることを知る。すなわち、アドレス変換部13Aは、要求データは、先頭から100バイト目から10バイトのデータを要求しているため、「0x10000100」から該分断された記憶領域の終端の「0x10000103」までに配置される4バイト分のデータの配列「1、2、3、4」が要求されるデータの一部であることを知る。
そして、アドレス変換部13Aは、続く6バイト分のデータの絶対アドレスを導出するために、デバイス種別が「D」かつオフセットが1個目の記憶領域のサイズと等しい「0x104」の行を検索する。アドレス変換テーブル100Aのコンテンツの二段目の行が該当する行であり、アドレス変換部13Aは、デバイス種別「D」の二個目の分断されたデータ配列が配置される記憶領域の先頭の絶対アドレスが「0x50000104」であり、該記憶領域のサイズが「0x3EFB」バイトであることを知る。すなわち、アドレス変換部13Aは、「0x50000104」から「0x10000109」までに配置される6バイト分のデータの配列「5、6、7、8、9、10」が要求される残りのデータであることを知る。
そして、制御装置1Aの制御部14Aは、「0x10000100」から「0x10000103」までに配置される4バイト分のデータの配列「1、2、3、4」と、「0x50000104」から「0x10000109」までに配置される6バイト分のデータの配列「5、6、7、8、9、10」と、を読み出してつなぎ合わせ、得た「1、2、3、4、5、6、7、8、9、10」を応答データとして通信I/F部15を介して外部装置2に送信する。
このように、アドレス変換テーブル100Aを工夫したので、制御装置1Aはデバイス種別と相対アドレスとを指定する要求データに対応することができる。換言すると、外部装置2からは11A´に示すように、仮想的に一般的なPLC1と同様にデータ配列が連続的に配置されているように見えるため、制御装置1Aは該一般的なPLC1との互換性が得られる。
このように、実施の形態1によれば、夫々の分断されたデータ配列が配置される夫々記憶領域について、該データ配列のデバイス種別と、該データ配列の分断される前のデータ配列における先頭からのオフセットと、記憶領域の先頭の絶対アドレスと、記憶領域の領域サイズと、を記述するアドレス変換テーブルを有するように構成したので、デバイス種別と該デバイス種別の配列の先頭からの相対アドレスとを指定してアクセスする外部装置に対応することができる。
実施の形態2.
実施の形態1における制御装置は、夫々の分断されたデータ配列が配置される夫々記憶領域について、該データ配列のデバイス種別と、該データ配列の分断される前のデータ配列における先頭からのオフセットと、記憶領域の先頭の絶対アドレスと、記憶領域の領域サイズと、を記述するアドレス変換テーブルを有することによって、一般的なPLCのように、デバイス種別と該デバイス種別の配列の先頭からの相対アドレスとを指定する命令に対応することができる。実施の形態2の制御装置は、このようなアドレス変換テーブルを複数有することが特徴となっている。
図5は、本発明にかかる実施の形態2の制御装置の動作を該動作に密接に関連する機能構成とともに概略的に説明する図である。実施の形態2の制御装置1Bは、実施の形態1の制御装置に加えて、アドレス変換テーブル記憶部10Bに複数のアドレス変換テーブル100Bを格納し、かつ複数のアドレス変換テーブル100Bから一つ指定するアドレス変換テーブル指定部16を備える。
複数のアドレス変換テーブル100Bは、例えば設計者がデバッグなどを行いやすいように、一つまたは複数のデバイス種別のデータ配列の中でデータの並びを組み替えることができるように作成されたものである。
制御装置1Bが外部装置2から要求データを受信したとき、アドレス変換部13Bは、アドレス変換テーブル記憶部10Bからアドレス変換テーブル指定部16が指定する一つのアドレス変換テーブル100Bを一つ読み出し、要求データが要求するデータが配置される絶対アドレスを導出する。アドレス変換部13Bは、デバイス記憶部11Aの導出した絶対アドレスに配置されているデータを読み出し、外部装置2に応答データとして送信する。
ここで、アドレス変換テーブル指定部16がどのアドレス変換テーブル100Bを指定するかを設定する方法は特に限定されるものではない。例えば、制御装置1Bが予めアドレス変換テーブルを一つ選択する入力を受け付け、該選択されたアドレス変換テーブルを指定するようにしてもよい。また、該入力は、外部装置2から要求データとともに受け付けるようにしてもよい。
このように、実施の形態2によれば、複数の異なるアドレス変換テーブルを有し、切り替えて使用できるようにしたので、外部装置からみた仮想的な連続したデータ配列のデータの配列パターンを切り替えることができ、デバッグなどが行われやすくなるという効果を奏する。
実施の形態3.
実施の形態3の制御装置によれば、受信した要求データと、導出した該要求データが要求するデータが配置されるデバイス記憶部11Aの絶対アドレスと、を対応付けて要求データ毎にアクセステーブルとして記憶し、新しく要求データを受信したとき、該記憶されているアクセステーブルを検索して該新しく受信した要求データと同じ要求データを過去に受信している場合、アドレス変換テーブル100Aを参照することなく該当するデータの絶対アドレスを導出することが特徴となっている。
図6は、実施の形態3の制御装置の動作を該動作に密接に関連する機能構成とともに概略的に説明する図である。図6に示すように、実施の形態3の制御装置1Cは、実施の形態1の制御装置1Aの構成に加えて、アクセステーブル記憶部17と、アクセステーブル記憶部17に記憶されているアクセステーブルを検索するアクセステーブル検索部18とをさらに有する。ここでは、アクセステーブル記憶部17は、要求データAおよび要求データBに関するアクセステーブルを記憶しているとしている。
図6において、制御装置1Cが外部装置2から要求データAを受信すると、まず、アクセステーブル検索部18は、要求データAに関するアクセステーブルを検索する。アクセステーブル記憶部17には要求データAに関するアクセステーブルが格納されているので、該アクセステーブルから要求データAに対応するデータが配置されている絶対アドレスを読み出し、制御装置1Cの制御部14Aは、デバイス記憶部11Aの該読み出した絶対アドレスからデータを読み出し、外部装置2に送信する。
制御装置1Cが、いままでに受信したことがない要求データ、すなわち要求データAおよびB以外の要求データを受信すると、アクセステーブル検索部18は、アクセステーブル記憶部17を検索するが、該要求データに関するアクセステーブルは記憶されていないので、検索に失敗する。すると、アドレス変換部13Cは、アドレス変換テーブル100Aを参照し、該要求データに対応する絶対アドレスを導出するとともに、該要求データと導出した絶対アドレスとの対応を新しいアクセステーブルとしてアクセステーブル記憶部17に追加で記憶させる。制御装置1Cの制御部14Aは、デバイス記憶部11Aの、前記導出した絶対アドレスからデータを読み出し、外部装置2に送信する。
このように、実施の形態3によると、受信した要求データごとに、要求データと導出した絶対アドレスとを対応付けたアクセステーブルとして記憶し、過去に受信したことがある要求データを再び受信したとき、該記憶されたアクセステーブルを用いて絶対アドレスを導出するようにしたので、実施の形態1の制御装置に比して高速に外部装置から要求されるデータの絶対アドレスを導出できるようになるという効果を奏する。
実施の形態4.
実施の形態4の制御装置においては、アクセステーブル検索部18は、要求データと該要求データに関するアクセステーブルが記憶されているアクセステーブル記憶部17における絶対アドレスとを対応付けるアクセステーブル記憶テーブルを有するとともに、アクセステーブルから絶対アドレスを読み出した回数をアクセステーブル毎に記録し、新しく要求データを受信したとき、絶対アドレスを読み出される回数が高いアクセステーブルから順番にアクセステーブルを検索することが特徴となっている。
図7は、アクセステーブル記憶テーブルの一例を示す図である。図7のアクセステーブル記憶テーブル180は、要求データと該要求データに関するアクセステーブルが記憶されているアクセステーブル記憶部17における絶対アドレスとを対応付けるとともに、要求データごとにアクセステーブルから絶対アドレスを読み出した回数が記録されている。
アクセステーブル検索部18は、過去に受信したことがある要求データ、例えば要求データBを受信したとき、アクセステーブル記憶テーブル180を検索して要求データBに関するアクセステーブルが記憶されている絶対アドレスを導出するとともに、アクセステーブル記憶テーブル180に記録されている要求データBに関する読み出した回数に1加算する。アクセステーブル検索部18は、アクセステーブル記憶部17における前記導出した絶対アドレスに格納されているアクセステーブルから、要求データBが要求するデータが格納されている絶対アドレスを導出する。
ここで、アクセステーブル記憶テーブル180は、読み出された回数の多いアクセステーブルから優先して検索されるようにする。例えば、アクセステーブル検索部18がアクセステーブル記憶テーブル180を上から検索する場合、各要求データに関するアクセステーブルの絶対アドレスの情報は、回数が多いほどアクセステーブル記憶テーブル180の上位に位置するように並べられている。アクセステーブル検索部18は、読み出した回数に1加算したとき、上下の要求データで読み出し回数が変化したとき、適宜アクセステーブル記憶テーブル180上の要求データの順位を入れ替える。図7のアクセステーブル記憶テーブル180では、要求データCの情報が、より読み出した回数の多い要求データBの情報よりも上になっているので、要求データCの情報と要求データBの情報とを並び替えてアクセステーブル記憶テーブル180´のようにする。
アクセステーブル検索部18は、過去に受信したことがない要求データを受信したとき、該要求データに関する情報はまだ保持されていないので、アクセステーブル記憶テーブル180の検索に失敗する。すると、アドレス変換部13Cは、アドレス変換テーブル100Aを検索して該要求データに対応するデバイス記憶部11A上の絶対アドレスを導出するとともに、該要求データに対応するアクセステーブルを作成してアクセステーブル記憶部17に格納し、該要求データと該アクセステーブルの格納先の絶対アドレスとを対応付けてアクセステーブル記憶テーブル180の最下部に追加する。
このように、実施の形態4によれば、絶対アドレスを読み出される回数が高いアクセステーブルから順番にアクセステーブルを検索するようにしたので、実施の形態3の制御装置よりもさらに高速に外部装置から要求されるデータの絶対アドレスを導出できるようになる。
実施の形態5.
実施の形態5の制御装置は、要求データと該要求データに関するアクセステーブルが記憶されているアクセステーブル記憶部17における絶対アドレスとを対応付けるアクセステーブル記憶テーブルに対して、ハッシュを用いて検索ができるようにすることが特徴となっている。
アクセステーブル記憶テーブルに対するハッシュの用い方は特に限定しないが、例えば、アクセステーブル検索部18は、要求データを所定のハッシュ関数を用いてハッシュ値化し、該要求データのハッシュ値とアクセステーブルの絶対アドレスとを対応付けたアクセステーブル記憶テーブルを保持するようにする。図8は、該アクセステーブル記憶テーブルの一例を示す図である。
すなわち、アクセステーブル検索部18は、過去に受信したことがある要求データを受信したとき、該受信した要求データから前記所定のハッシュ関数を用いてハッシュ値を算出する。そして、アクセステーブル検索部18は、算出したハッシュ値に対応するアクセステーブル記憶テーブル181を参照してアクセステーブルの記憶先の絶対アドレスを読み出す。例えば要求データBを受信したとき、ハッシュ関数によりハッシュ値3が得られ、アクセステーブル記憶テーブル181を参照してアクセステーブルが記憶されているアドレスが「0x87AB4323」であることを知る。
アクセステーブル検索部18は、過去に受信したことがない要求データを受信したとき、該要求データに関する情報はまだ保持されていないので、アクセステーブル記憶テーブルの検索に失敗する。すると、アドレス変換部13Eは、アドレス変換テーブル100Aを検索して該要求データに対応するデバイス記憶部11A上の絶対アドレスを導出するとともに、該要求データに対応するアクセステーブルを作成してアクセステーブル記憶部17に格納し、該要求データを元データとしたハッシュ値と該アクセステーブルの格納先の絶対アドレスとを対応付けてアクセステーブル記憶テーブル181に追加する。
このように、実施の形態5によれば、アクセステーブル記憶テーブルに対して、ハッシュを用いて検索ができるようにしたので、実施の形態3の制御装置に比してさらに高速に外部装置から要求されるデータの絶対アドレスを導出できるようになる。
なお、実施の形態1〜5の制御装置の説明においては、C言語の制御プログラムを用いる制御装置に適用する例を示したが、デバイス記憶部に夫々のデバイス種別に対応して複数のデータから成るデータ配列が配置され、同じデバイス種別のデータ配列がアドレスが連続していない複数の記憶領域に分断して配置される制御装置であれば、C言語の制御プログラムを用いる制御装置以外にも適用することが可能である。
また、以上の説明では、外部装置の例として、プログラミング装置およびプログラマブル表示器を挙げたが、他には本発明の各実施の形態の制御装置と協働して産業用装置を制御する他のPLCまたは制御装置なども本発明における外部装置に該当する。すなわち、外部装置は、デバイス種別と該デバイス種別の配列の先頭からの相対アドレスとを指定してPLCにアクセスする装置を指す。
以上のように、本発明にかかる制御装置は、デバイス記憶部に夫々のデバイス種別に対応して複数のデータから成るデータ配列が配置され、同じデバイス種別のデータ配列がアドレスが連続していない複数の記憶領域に分断して配置される制御装置に適用して好適である。
本発明にかかる制御装置の実施の形態1の機能構成を示す図である。 デバイス記憶部のメモリ構成の一例を示す図である。 アドレス変換テーブルの一例を説明する図である。 実施の形態1の制御装置の動作を機能構成とともに概略的に説明する図である。 実施の形態2の制御装置の動作を機能構成とともに概略的に説明する図である。 実施の形態3の制御装置の動作を機能構成とともに概略的に説明する図である。 実施の形態4の制御装置のアクセステーブル記憶テーブルの一例を示す図である。 実施の形態5の制御装置のアクセステーブル記憶テーブルの一例を示す図である。 一般的に普及しているPLCの機能構成を説明する図である。 一般的に普及しているPLCの動作を機能構成とともに概略的に説明する図である。
符号の説明
1 PLC
1A〜1C 制御装置
2 外部装置
10、10A、10B アドレス変換テーブル記憶部
11、11A デバイス記憶部
12、12A 被制御装置制御プログラム記憶部
13、13A〜13C アドレス変換部
14 制御部
15、15A 通信I/F部
16 アドレス変換テーブル指定部
17 アクセステーブル記憶部
18 アクセステーブル検索部
100、100A、100B アドレス変換テーブル
180、180´、181 アクセステーブル記憶テーブル

Claims (6)

  1. 夫々のデバイス種別に対応して複数のデータから成るデータ配列が配置され、同じデバイス種別のデータ配列がアドレスが連続していない複数の記憶領域に分断して配置されるデバイス記憶部と、
    前記夫々の分断されたデータ配列が配置される夫々記憶領域について、該データ配列のデバイス種別と、該データ配列の分断される前のデータ配列における先頭からのオフセットと、記憶領域の先頭の絶対アドレスと、記憶領域の領域サイズと、を記述するアドレス変換テーブルと、
    デバイス種別と該デバイス種別の分断される前のデータ配列の先頭を基準とした相対アドレスとを指定するデータアクセス要求を外部装置から受信したとき、該データアクセス要求が指定するデバイス種別および相対アドレスに対応する前記デバイス記憶部の絶対アドレスを前記アドレス変換テーブルに基づいて導出するアドレス変換部と、
    前記受信したデータアクセス要求に対応して前記デバイス記憶部の前記導出した絶対アドレスにアクセスするデバイス記憶部アクセス部と、
    を備えることを特徴とする制御装置。
  2. 前記データは、C言語で記述されたソースコードを元にC言語コンパイラによって生成された制御プログラムを制御部が実行した実行結果であって、
    前記制御部は、前記制御プログラムの仕様に基づいて前記夫々のデータ配列を配置する記憶領域を前記デバイス記憶部に割り当てる、
    ことを特徴とする請求項1に記載の制御装置。
  3. 複数の夫々異なるアドレス変換テーブルを保持するアドレス変換テーブル記憶部と、
    前記複数のアドレス変換テーブルから1つのアドレス変換テーブルを指定するアドレス変換テーブル指定部と、
    をさらに備え、
    前記アドレス変換部は、
    前記アドレス変換テーブル指定部が指定するアドレス変換テーブルに基づいて前記データアクセス要求に指定される情報に対応する絶対アドレスを導出する、
    ことを特徴とする請求項1または2に記載の制御装置。
  4. 受信したデータアクセス要求と前記アドレス変換部が導出した前記受信したデータアクセス要求に対応する絶対アドレスとを対応付けたアクセステーブルをデータアクセス要求毎に記憶するアクセステーブル記憶部と、
    前記外部装置から新たにデータアクセス要求を受信したとき、前記アクセステーブル記憶部を検索し、前記新たに受信したデータアクセス要求が対応付けられたアクセステーブルが前記アクセステーブル記憶部に記憶されている場合、該アクセステーブルを取得し、前記新たに受信したデータアクセス要求に対応する絶対アドレスを導出するアクセステーブル検索部と、
    をさらに備え、
    前記アドレス変換部は、
    前記新たに受信したデータアクセス要求が対応付けられたアクセステーブルが前記アクセステーブル記憶部に記憶されていない場合、前記新たに受信したデータアクセス要求が要求するデータが配置されている絶対アドレスを導出するとともに、前記新たに受信したデータアクセス要求と前記導出した絶対アドレスとを対応付けたアクセステーブルを新たに作成して前記アクセステーブル記憶部に追加記憶させ、
    前記デバイス記憶部アクセス部は、
    前記デバイス記憶部の、前記アドレス変換部または前記アクセステーブル検索部が導出した絶対アドレスにアクセスする、
    ことを特徴とする請求項1〜3の何れか1つに記載の制御装置。
  5. 前記アクセステーブル検索部は、
    データアクセス要求と該データアクセス要求に対応付けられたアクセステーブルの記憶される前記アクセステーブル記憶部における絶対アドレスとを対応付けるとともに、受信した回数をデータアクセス要求毎に記録するアクセステーブル記憶テーブルを保持し、前記アクセステーブル記憶テーブルを前記記録されている受信した回数が多いデータアクセス要求から検索し、前記新たに受信したデータアクセス要求に対応付けられたアクセステーブルが記憶されている絶対アドレスを導出する、
    ことを特徴とする請求項4に記載の制御装置。
  6. 前記アクセステーブル検索部は、
    データアクセス要求と該データアクセス要求に対応付けられたアクセステーブルの記憶される前記アクセステーブル記憶部における絶対アドレスとを対応付けるアクセステーブル記憶テーブルを保持し、ハッシュを用いて前記アクセステーブル記憶テーブルを検索することによって前記新たに受信したデータアクセス要求に対応付けられたアクセステーブルが記憶されている絶対アドレスを導出する、
    ことを特徴とする請求項4に記載の制御装置。
JP2008155828A 2008-06-13 2008-06-13 制御装置 Expired - Fee Related JP5224923B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008155828A JP5224923B2 (ja) 2008-06-13 2008-06-13 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008155828A JP5224923B2 (ja) 2008-06-13 2008-06-13 制御装置

Publications (2)

Publication Number Publication Date
JP2009301359A JP2009301359A (ja) 2009-12-24
JP5224923B2 true JP5224923B2 (ja) 2013-07-03

Family

ID=41548172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008155828A Expired - Fee Related JP5224923B2 (ja) 2008-06-13 2008-06-13 制御装置

Country Status (1)

Country Link
JP (1) JP5224923B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780304B (zh) 2016-03-31 2021-03-23 东芝三菱电机产业系统株式会社 成套设备监视控制系统用数据再生装置
EP3418829B1 (en) * 2017-06-21 2022-08-24 Tetra Laval Holdings & Finance S.A. Method of logging process data in a plc controlled equipment
CN112840278B (zh) 2018-10-15 2022-05-10 三菱电机株式会社 可编程逻辑控制器、外部仪器、方法及程序
JP6950665B2 (ja) * 2018-11-02 2021-10-13 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099498A (ja) * 2000-09-25 2002-04-05 Mitsubishi Electric Corp プログラム実行装置およびプログラム開発支援装置
JP2006018759A (ja) * 2004-07-05 2006-01-19 Toshiba Corp 制御装置及び方法
JP4588671B2 (ja) * 2006-07-21 2010-12-01 三菱電機株式会社 プログラマブルコントローラ

Also Published As

Publication number Publication date
JP2009301359A (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
US10754869B2 (en) Managing data format of data received from devices in an internet of things network
US9940029B2 (en) Semiconductor memory device that switches between states and moves data in accordance with a current state
JP5224923B2 (ja) 制御装置
JP2011039841A (ja) データ移行方法、及びプログラム
JP4831793B2 (ja) データ制御装置
CN103823638A (zh) 一种虚拟设备访问方法及装置
CN103678098A (zh) 一种hadoop程序测试的方法和系统
KR101672682B1 (ko) 제어 시스템, 마스터국, 및 리모트국
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP6240136B2 (ja) Plcシステム及びその動作方法
JP6419400B1 (ja) Plc、ネットワークユニット、cpuユニット、及びデータ転送方法
JP2006202233A (ja) コントローラ、そのプログラム
JP6843823B2 (ja) Plcプログラム処理装置
JP2015005224A (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
JP6746040B1 (ja) 命令変換装置、方法、及びプログラム
WO2012049773A1 (ja) プログラマブルコントローラ
JP6146306B2 (ja) I/oデバイス制御システムおよびi/oデバイス制御システムの制御方法
CN112769966A (zh) 一种地址信息分配方法、装置以及电子设备
JP2021077219A (ja) 制御装置
JP2008210280A (ja) 半導体装置及びdmaコントローラ
JP2020140284A (ja) ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム
US20090037917A1 (en) Apparatus and method capable of using reconfigurable descriptor in system on chip
US10904208B2 (en) Controller for changing a conversion destination of a virtual area
JP3544886B2 (ja) プログラマブルコントローラ
JP7361669B2 (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees