JP5768627B2 - プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム - Google Patents

プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム Download PDF

Info

Publication number
JP5768627B2
JP5768627B2 JP2011210795A JP2011210795A JP5768627B2 JP 5768627 B2 JP5768627 B2 JP 5768627B2 JP 2011210795 A JP2011210795 A JP 2011210795A JP 2011210795 A JP2011210795 A JP 2011210795A JP 5768627 B2 JP5768627 B2 JP 5768627B2
Authority
JP
Japan
Prior art keywords
program
unit
control program
cache memory
control
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.)
Active
Application number
JP2011210795A
Other languages
English (en)
Other versions
JP2013073344A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2011210795A priority Critical patent/JP5768627B2/ja
Publication of JP2013073344A publication Critical patent/JP2013073344A/ja
Application granted granted Critical
Publication of JP5768627B2 publication Critical patent/JP5768627B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラムに関する。
従来、CPU(Central Processing Unit)等の汎用マイクロプロセッサを使用してプログラマブルコントローラを構成することが広く行われている。このようなマイクロプロセッサは、内部に高速な命令実行やデータ処理を行うためのキャッシュメモリを備えているものが多い。マイクロプロセッサは、外部のメモリから命令コードやデータ列をフェッチする際に、それらをキャッシュメモリに格納する。そのため、同じ処理が繰り返して実行されるような場合、キャッシュメモリにデータが保持されていれば、命令コードやデータ列は外部のメモリからではなく内部のキャッシュメモリから取り出されるため、高速に処理を行うことが可能となる。
特許文献1(特開平8−249177号公報)には、キャッシュメモリを備える汎用マイクロプロセッサユニットにおいて、処理プログラムの中で条件分岐等により局所的に繰り返される部分を前もってメモリからキャッシュメモリに格納しておき、格納した処理プログラムの命令を逐次読み込んで処理することで外部のメモリから命令を読み込むときのメモリアクセスの遅れを解消して処理速度を高めることが記載されている。
特開平8−249177号公報
上記のように繰り返しの多い部分を前もってキャッシュメモリに格納しておくことにより、当該部分をキャッシュメモリから読み込むことにより処理速度を高めることができ、処理全体を高速化できる可能性はある。しかし、使用率や出現頻度が高くなく、繰り返しの少ない部分であっても、特定処理を優先して、高速に動かしたいというユーザの要求がある。従来の手順では、このようなユーザの要求に沿うことができなかった。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、使用率や出現頻度に関わらず、ユーザが選定した制御プログラムの特定処理を優先して高速に動かせるようにする技術を提供することにある。
本発明によれば、
制御部に内蔵されたキャッシュメモリと、
複数の処理構成要素からなり、外部機器を制御するための制御プログラムと、当該制御プログラムの処理構成要素毎に、当該処理構成要素を前記キャッシュメモリにプリロードするプリロード設定の有無が設定されたプリロード設定情報とを記憶する記憶部と、
初期化処理中に、前記記憶部に記憶された前記プリロード設定情報を参照して、前記制御プログラムの各前記処理構成要素がプリロード設定ありとされているか否かを判断し、プリロード設定ありとされている場合に、前記制御プログラムの当該処理構成要素を実行することによりプリロード設定ありとされた当該処理構成要素を前記キャッシュメモリにプリロードするとともにロックするプログラム仮実行部と、
前記初期化処理の後に、前記キャッシュメモリにプリロードされた前記処理構成要素を優先して実行しつつ前記制御プログラムをサイクリックに実行するプログラム実行部と、
前記プログラム実行部により実行された前記制御プログラムの実行結果を制御データとして前記外部機器に出力する制御データ出力部と、
を含むプログラマブルコントローラが提供される。
この構成によれば、プログラマブルコントローラにおいて、制御プログラムを実際に実行する運用状態に先立ち、初期化処理中に、プログラム仮実行部が、プリロード設定情報に従い、制御プログラムのうちプリロード設定ありとされている処理構成要素を優先的にキャッシュメモリにプリロードしてロックする。これにより、キャッシュメモリにプリロードされた制御プログラムの処理構成要素については、運用状態において高速処理を行うことができる。また、プリロード設定ありとされた制御プログラムの処理構成要素を選択的にキャッシュメモリにプリロードするので、プリロードにかかる時間も短くすることができ、初期化処理を短時間で行うこともできる。
本発明によれば、
キャッシュメモリを内蔵する制御部を含むプログラマブルコントローラが実行する制御プログラム編集するプログラム作成支援装置であって、
前記制御プログラムの処理構成要素毎に、当該処理構成要素を前記プログラマブルコントローラの前記キャッシュメモリにプリロードするプリロード設定の有無を受け付けて、当該プリロード設定の有無が設定されたプリロード設定情報を生成する設定受付部と、
前記設定受付部が生成した前記プリロード設定情報を前記制御プログラムとともに前記プログラマブルコントローラに提供するデータ出力部と、
を含むプログラム作成支援装置が提供される。
この構成によれば、キャッシュメモリを内蔵する制御部を含むプログラマブルコントローラにより外部装置を制御するための制御プログラムについて、ユーザが当該制御プログラムの処理構成要素毎にプリロード設定の有無を決定することができるので、特定処理を優先して高速に動かせるようにすることができる。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、使用率や出現頻度に関わらず、制御プログラムの特定処理を優先して高速に動かせるようにすることができる。
本発明の実施の形態における外部機器、プログラマブルコントローラ(PLC)、およびプログラム作成支援装置の関係を示すブロック図である。 本発明の実施の形態におけるプログラム作成支援装置の構成の一例を示すブロック図である。 制御プログラムのプロパティであるプリロード設定情報を作成する際にプログラム作成支援装置の表示処理部により提供される設定画面の一例を示す図である。 本発明の実施の形態におけるPLCの構成の一例を示すブロック図である。 本発明の実施の形態におけるCPUの構成の一例を機能的に示すブロック図である。 本発明の実施の形態におけるPLCの処理手順を示すフローチャートである。 本発明の実施の形態におけるPLCの処理手順を示すフローチャートである。 本発明の実施の形態におけるPLCの処理手順を示すフローチャートである。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
プログラマブルコントローラ(PLC)は、たとえばモーションコントローラ、シーケンサ等、外部機器を制御するための制御プログラムを所定の周期でサイクリックに実行して外部機器を制御する構成とすることができる。
図1は、本実施の形態における外部機器170、PLC100、およびプログラム作成支援装置200の関係を示すブロック図である。
本実施の形態において、外部機器170を制御するための制御プログラムは、プログラム作成支援装置200のユーザにより作成されるユーザアプリケーションとすることができる。制御プログラムは、たとえば外部機器170を所定の周期毎に制御するためのシーケンス制御プログラムや外部機器170の位置決め制御を実行する位置決め制御プログラムとすることができる。制御プログラムが位置決め制御プログラムの場合、外部機器170は、たとえばサーボモータとすることができる。
PLC100は、外部機器170を制御するための制御プログラムを実行する。PLC100は、キャッシュメモリを含む制御部であるCPU(Central Processing Unit)を含む。PLC100の詳細な構成は後述する。
(プログラム作成支援装置)
まず、プログラム作成支援装置200の詳細な構成を説明する。
図2は、本実施の形態におけるプログラム作成支援装置200の構成の一例を示すブロック図である。
プログラム作成支援装置200は、設定受付部202、表示処理部204、データ出力部206、通信インタフェース210、および制御プログラム記憶部220を含む。
本実施の形態において、プログラム作成支援装置200のユーザは、制御プログラムの作成とともに、当該制御プログラムの処理構成要素毎に、当該処理構成要素をPLC100のCPUのキャッシュメモリにプリロードするプリロード設定の有無が設定されたプリロード設定情報も作成する。処理構成要素は、たとえば制御プログラムのプログラム構成要素単位(POU:Program Organization Unit)、タスク単位、機能単位、または処理単位とすることができる。POUには、実行プログラムを記述するプログラム、ならびにプログラムの部品化・再利用に用いるファンクション(関数)およびファンクションブロックが含まれる。
設定受付部202は、キーボードやマウス等の入力手段を介して、ユーザから制御プログラムやプリロード設定情報を作成するために必要な各種設定を受け付ける。入力された情報に基づき、制御プログラムおよびプリロード設定情報が生成される。表示処理部204は、ディスプレイ等の表示部を介して、ユーザが制御プログラムやプリロード設定情報を作成するために必要な各種情報を提供する。制御プログラム記憶部220は、ユーザが作成した制御プログラムおよびプリロード設定情報を記憶する。ここで、プリロード設定情報は、制御プログラムのプロパティに含まれる構成とすることができる。
データ出力部206は、ユーザが作成した制御プログラムおよびプリロード設定情報を制御プログラム記憶部220から読み出し、通信インタフェース210を介してPLC100に提供する。
なお、ここでは図示していないが、プログラム作成支援装置200は、ユーザによってプログラミングされたソースプログラムをコンパイルしてPLC100のCPUが直接実行可能なコンパイラ言語の制御プログラムを生成する機能を有している。データ出力部206は、コンパイラ言語の制御プログラムをPLC100に提供する。
図3は、制御プログラムのプロパティであるプリロード設定情報を作成する際に表示処理部204により提供される設定画面250の一例を示す図である。
ここで、制御プログラムの処理構成要素は、POUとすることができる。設定画面250は、POU名欄、POU種別欄、およびプリロード設定欄等を含む。図3(a)に示すように、プリロード設定欄には、たとえば「あり」と「なし」を選択可能なプルダウンボックス252が表示されるようにすることができる。これにより、ユーザは、設定画面250のプルダウンボックス252の「あり」と「なし」を選択することにより、各POU毎に、プリロード設定の有無を設定することができる。図3(b)は、各POUのプリロード設定の有無の設定が完了した状態を示す。
また、他の例において、プリロード設定欄は、デフォルトで「なし」が設定されており、ユーザがプリロード設定ありとしたいPOUのみ「あり」を設定する構成とすることもできる。
また、ここでは図示していないが、制御プログラムの各POUがタスクに割り当てられた状態で、ユーザが各POUが割り当てられたタスクを参考にしながらプリロード設定の有無を設定するようにすることもできる。ここで、タスクは、たとえばイベントタスク、定周期タスク、デフォルトタスクを含むことができる。このような構成とすることにより、ユーザはたとえばイベントタスクや定周期タスク等、割込み処理となるタスクに割り当てられたPOUを優先的にプリロード設定ありと設定することができる。割込み処理の一例として、たとえば、機械制御システムにおいて、モーションコントローラのアーム部分に配置された障害物検知センサが障害物を検知し、障害物を回避するために円弧補間計算を行って非常時のアーム回避ルートを算出する処理を挙げることができる。このような割込み処理をプリロード設定ありとしておくことにより、後述するように、割込み処理がキャッシュメモリにプリロードされるので、障害物が検知されるような状況となった場合に、非常時のアーム回避ルートを素早く算出して次の目標位置にアームを到達させるようにすることができる。
(PLC)
次に、PLC100の詳細な構成を説明する。
図4は、本実施の形態におけるPLC100の構成の一例を示すブロック図である。
PLC100は、CPUモジュール101および入出力モジュール108を含む。CPUモジュール101は、通信インタフェース102、バスインタフェース104、バス106、CPU110、制御プログラム記憶部150、作業メモリ152、ステータス情報管理メモリ154、制御データ保持メモリ156を含む。
CPU110は、中央演算部112、プログラムを高速に実行するための命令キャッシュメモリ140およびデータキャッシュメモリ142を含む。命令キャッシュメモリ140は、中央演算部112が実行したプログラムを一時的に保持する。データキャッシュメモリ142は、中央演算部112が実行した処理データを一時的に保持する。命令キャッシュメモリ140およびデータキャッシュメモリ142は、保持したプログラムや処理データが一定時間参照されない場合にそれらを消去または新たなプログラムや処理データで更新するエージング機能、ならびに保持したプログラムや処理データがエージング機能等により消去されないようにロックするロック機能を有する構成とすることができる。命令キャッシュメモリ140およびデータキャッシュメモリ142は、たとえば所定のロック命令でキャッシュメモリをロックすることにより、そのときにキャッシュメモリにロードされている命令が、消去されないように指定された領域に保持されるようにする構成とすることができる。
本実施の形態において、プログラム作成支援装置200で作成されたプリロード設定情報において、プリロード設定ありと設定された制御プログラムの処理構成要素は、PLC100の初期化処理時に命令キャッシュメモリ140にプリロードされるとともにロックされる。なお、プリロードされた制御プログラムの処理構成要素に占有されない命令キャッシュメモリ140のキャッシュ領域は、通常のキャッシュ領域として使用され、エージング機能により適宜消去等される。
入出力モジュール108は、CPUモジュール101と外部機器170とを接続する。
CPUモジュール101の各構成要素は、バス106により接続されている。バスインタフェース104は、CPUモジュール101の各構成要素と入出力モジュール108とのインタフェースを行う。
通信インタフェース102は、たとえばドライバ/レシーバとすることができる。通信インタフェース102は、たとえば汎用シリアル通信等の通信路を介してプログラム作成支援装置200と接続される。
図5は、CPU110の構成の一例を機能的に示すブロック図である。
CPU110は、プログラム取得部120、初期化処理部122、プログラム仮実行部126、プログラム実行部130、制御データ書込部132、および制御データ出力部134を含む。
CPU110のこれらの機能は、CPU110の中央演算部112、PLC100にインストールされているオペレーティングシステム(OS)、および制御プログラム等により実現することができる。
以下、図4および図5を参照して説明する。
プログラム取得部120は、通信インタフェース102および通信路を介してプログラム作成支援装置200からプログラム作成支援装置200のユーザにより作成された制御プログラムおよびプリロード設定情報をダウンロードする。プログラム取得部120は、ダウンロードした制御プログラムおよびプリロード設定情報を制御プログラム記憶部150に記憶する。制御プログラム記憶部150は、たとえば不揮発性メモリにより構成することができる。
初期化処理部122は、PLC100のパワーオンまたはリセットスタート後、作業メモリ152、ステータス情報管理メモリ154、および制御データ保持メモリ156等のメモリのメモリクリアや各種初期設定等の初期化処理を実行する。
初期化処理部122は、メモリクリア後、ステータス情報管理メモリ154に初期化処理中であることを示すステータス情報を書き込む。ステータス情報管理メモリ154は、PLC100が初期化処理中であることや、PLC100が実際に外部機器170を制御する運用状態であることを示すステータス情報を記憶する。
プログラム仮実行部126は、初期化処理部122からの指示に基づき、制御プログラム記憶部150に記憶された制御プログラムのプリロード設定情報を参照して、制御プログラムの各処理構成要素がプリロード設定ありとされているか否かを判断し、プリロード設定ありとされている場合に、当該処理構成要素を実行する。プログラム仮実行部126は、実行した制御プログラムの処理構成要素を命令キャッシュメモリ140にプリロードするとともにロックする。
プログラム仮実行部126による制御プログラムのプリロードおよびロックが終了し、初期化処理が終了すると、初期化処理部122は、ステータス情報管理メモリ154のステータス情報を運用状態であることを示すものに更新する。
運用状態において、プログラム実行部130は、命令キャッシュメモリ140にプリロードされた処理構成要素を優先して実行しつつ制御プログラムをサイクリックに実行する。
プログラム実行部130は、制御プログラムを実行するとともに、制御データ書込部132を起動する。制御データ書込部132は、プログラム実行部130により起動されると、プログラム実行部130により実行された制御プログラムの実行結果を制御データ保持メモリ156に書き込む。
制御データ出力部134は、プログラム実行部130により実行された制御プログラムの実行結果である外部機器170を制御する制御データを外部機器170に出力する。具体的には、制御データ出力部134は、制御データ保持メモリ156に保持された制御データを入出力モジュール108を介して外部機器170に出力するよう構成されている。これにより、外部機器170が制御される。
本実施の形態において、プログラム仮実行部126は、制御プログラムの処理構成要素を実行しても制御データ書込部132を起動することなく、その処理構成要素を命令キャッシュメモリ140にプリロードするとともにロックする。つまり、本実施の形態において、プログラム実行部130により実行された制御プログラムの実行結果である制御データのみが制御データ保持メモリ156に保持され、制御データ出力部134により外部機器170に出力される。このような構成により、本実施の形態において、プログラム仮実行部126により実行された制御プログラムの実行結果は、外部機器170には出力されないようにすることができる。ただし、プログラム仮実行部126により実行された制御プログラムの実行結果が、外部機器170には出力されないようにする構成としては、たとえば制御データ出力部134が、プログラム実行部130により実行された制御プログラムの実行結果である制御データのみを選択的に出力する等の制御を行う等、種々の構成とすることができる。これにより、運用状態におけるプログラム実行部130による初回の制御プログラムの実行から高速性が発揮されるようにすることができる。
なお、制御プログラム記憶部150に記憶された制御プログラムおよびプリロード設定情報は、プログラム仮実行部126およびプログラム実行部130の処理開始前に作業メモリ152に再配置され、プログラム仮実行部126およびプログラム実行部130は、作業メモリ152を参照して制御プログラムやプリロード設定情報を読み出す構成とすることもできる。また、プログラム仮実行部126およびプログラム実行部130が実行する制御プログラムは、作業メモリ152に展開されつつ、命令キャッシュメモリ140にもロードされる。
作業メモリ152、ステータス情報管理メモリ154、および制御データ保持メモリ156は、たとえばRAM(Random Access Memory)により構成することができる。
本実施の形態において、運用状態でプログラム実行部130が制御プログラムを実行するのに先立ち、予めプログラム作成支援装置200でプリロード設定ありとされた所定の処理構成要素が命令キャッシュメモリ140にプリロードされている。そのため、プログラム実行部130が制御プログラムのこのような処理構成要素を実行する際には制御プログラム記憶部150や作業メモリ152等から読み出す必要なく命令キャッシュメモリ140を参照して制御プログラムを実行することができる。そのため、制御プログラムの実行速度を高速化することができる。
図6から図8は、本実施の形態におけるPLC100の処理手順を示すフローチャートである。
図6は、初期化処理部122の処理手順を示す。初期化処理部122は、PLC100のパワーオンまたはリセットスタートを初期化指示として、初期化指示があると(S100のYES)、ステータス情報管理メモリ154、作業メモリ152、および制御データ保持メモリ156等のRAM等のメモリクリアを行う(S102)。つづいて、初期化処理部122は、ステータス情報管理メモリ154に初期化処理中であることを示すステータス情報を記憶する(S104)。次いで、初期化処理部122は、プログラム仮実行部126に制御プログラムの仮実行を指示する(S106)。
図7は、図6のステップS106の制御プログラムの仮実行の指示に基づくプログラム仮実行部126の処理手順を示す。
初期化処理部122から制御プログラムの仮実行指示があると(S120)、プログラム仮実行部126は、制御プログラム記憶部150から制御プログラムのプリロード設定情報を読み出し、処理構成要素毎に、プリロード設定の有無を確認する(S122)。プリロード設定ありの場合(S124のYES)、プログラム仮実行部126は、その処理構成要素を実行する(S126)。これにより、プログラム仮実行部126により実行された制御プログラムの処理構成要素が命令キャッシュメモリ140にロードされる。プログラム仮実行部126は、命令キャッシュメモリ140にロードされた制御プログラムの処理構成要素が他のデータに書き換えられること等により消去されないようにロックする(S128)。たとえば、プログラム仮実行部126は、制御プログラムの処理構成要素が命令キャッシュメモリ140の消去されないように指定された領域にロードされる命令とともに命令キャッシュメモリ140にアクセスすることにより、制御プログラムの処理構成要素をロックすることができる。次いで、制御プログラムの全処理構成要素の確認が終了したか否かを判断し(S130)、終了していない場合(S130のNO)、次の処理構成要素に進み(S132)、同様の処理を行う。ステップS128で制御プログラムの全処理構成要素の確認が終了した場合(S130のYES)、プログラム仮実行部126は、初期化処理部122に仮実行処理の終了を通知する(S134)。
以上の処理により、仮実行処理で実行された制御プログラムの処理構成要素は、命令キャッシュメモリ140に保持されロックされた状態となるので、この後プログラム実行部130が対応する制御プログラムの処理構成要素を実行する際、その処理構成要素は命令キャッシュメモリ140から読み出されることになり、高速処理を実現することができる。
図6に戻り、プログラム仮実行部126から仮実行処理の終了通知を受けると(S108のYES)、初期化処理部122はRAM等のメモリクリアを再度行う(S110)。これにより、制御プログラムの仮実行処理による作業データが、作業メモリ152等からクリアされ、運用状態での外部機器170の制御動作に影響を与えないようにすることができる。このステップでは、作業メモリ152のみを対象にしてメモリクリアしてもよい。
つづいて、初期化処理部122は、各種初期値の設定等、その他の初期化処理を行う(S112)。次いで、初期化処理部122は、ステータス情報管理メモリ154の初期化処理中であることを示すステータス情報を運用状態であることを示すものに更新する(S114)。この後、初期化処理部122は、プログラム実行部130に制御プログラムの実行を指示する(S116)。
図8は、図6のステップS116の制御プログラムの実行の指示に基づくプログラム実行部130の処理手順を示す。
初期化処理部122から制御プログラムの実行指示があると(S140)、プログラム実行部130は、制御プログラムを実行する(S142)。このとき、プログラム実行部130は、命令キャッシュメモリ140を優先的に参照するため、既に命令キャッシュメモリ140に保持されている制御プログラムの処理構成要素については、制御プログラム記憶部150や作業メモリ152にアクセスすることなく実行することができる。これにより、プログラム実行部130は、制御プログラムを高速に実行することができる。
プログラム実行部130は、制御プログラムを実行するのに伴い、制御データ書込部132を呼び出し、制御データ書込部132はプログラム実行部130の実行結果である制御データを制御データ保持メモリ156に書き込む(S144)。制御データ保持メモリ156に制御データが書き込まれると、制御データ出力部134がその制御データを外部機器170に出力する(S146)。これにより、外部機器170がPLC100により制御されることとなる。
本実施の形態において、プログラム仮実行部126は、制御プログラムの処理構成要素を実行しても、制御データ書込部132を起動せず処理を終了する。制御データ書込部132が起動されなければ、制御プログラムの実行結果である制御データが外部機器170に出力されることがないため、プログラム仮実行部126は、外部機器170の実際の制御を行わない状態で制御プログラムを実行することができる。
以上の構成により、PLC100において、制御プログラムを実際に実行する運用状態に先立ち、初期化処理中に、ユーザがプリロード設定ありとした制御プログラムの処理構成要素を優先的にPLC100のCPU110の命令キャッシュメモリ140にプリロードしてロックしておくことができる。これにより、命令キャッシュメモリ140にプリロードされた制御プログラムの処理構成要素については、運用状態において高速処理を行うことができる。また、たとえば使用率や出現頻度が低い処理構成要素であっても、ユーザが高速処理を所望する制御プログラムの処理構成要素を命令キャッシュメモリ140にプリロードしておくことができるので、ユーザのカスタマイズ性を向上することが可能となる。また、制御プログラムの局所的な高速化だけではなく、制御プログラムの実行サイクル全体の高速化も見込むことができる。また、ユーザが設定した制御プログラムの処理構成要素を選択的に命令キャッシュメモリ140にプリロードするので、プリロードにかかる時間も短くすることができ、初期化処理を短時間で行うこともできる。
このように、本実施の形態における構成によれば、たとえばイベントタスクに割り当てられた特定の処理構成要素のみをピンポイントで高速に動作させることができるので、そのような特定の処理構成要素を高速にするために全体の実行性能を向上させる必要がなくなり、ハードウェアシステムコストの面でもコストダウンの効果を見込むことができる。
さらに、一般にプログラマブルコントローラは、ユーザアプリケーションである制御プログラムのほかにシステムを維持するための処理、故障診断、データ交換処理等のバックグラウンド処理を行っている。本実施の形態におけるPLC100およびプログラム作成支援装置200によれば、このようなバックグラウンド処理に優先して制御プログラムの所望の処理構成要素を命令キャッシュメモリ140にプリロードしておくことができる。
図2および図5に示したプログラム作成支援装置200およびPLC100の各構成要素は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。プログラム作成支援装置200およびPLC100の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
以上の実施の形態において、PLC100の命令キャッシュメモリ140の容量が充分大きく、ユーザがプリロードすると設定する処理構成要素の全てをプリロードすることができると仮定して、ユーザの設定に制限を設けない構成として説明した。しかし、PLC100の命令キャッシュメモリ140において、制御プログラムをプリロード可能な容量がそれほど大きくない場合は、命令キャッシュメモリ140の容量に応じて、プログラム作成支援装置200において、設定可能な処理構成要素を制限するようにすることもできる。
プログラム作成支援装置200は、PLC100の命令キャッシュメモリ140において、制御プログラムをプリロード可能な容量を記憶する記憶部(不図示)と、設定受付部202が制御プログラムの処理構成要素毎に当該処理構成要素をPLC100の命令キャッシュメモリ140にプリロードするプリロード設定の有無を受け付ける際に、プリロード設定ありとされた処理構成要素のサイズの合計値をカウントするとともに、当該合計値がPLC100の命令キャッシュメモリ140において、制御プログラムをプリロード可能な容量を超えた場合に、警告を出力する警告出力部と、を含むことができる。
101 CPUモジュール
102 通信インタフェース
104 バスインタフェース
106 バス
108 入出力モジュール
112 中央演算部
120 プログラム取得部
122 初期化処理部
126 プログラム仮実行部
130 プログラム実行部
132 制御データ書込部
134 制御データ出力部
140 命令キャッシュメモリ
142 データキャッシュメモリ
150 制御プログラム記憶部
152 作業メモリ
154 ステータス情報管理メモリ
156 制御データ保持メモリ
170 外部機器
200 プログラム作成支援装置
202 設定受付部
204 表示処理部
206 データ出力部
210 通信インタフェース
220 制御プログラム記憶部
250 設定画面
252 プルダウンボックス

Claims (8)

  1. 制御部に内蔵されたキャッシュメモリと、
    複数の処理構成要素からなり、外部機器を制御するための制御プログラムと、当該制御プログラムの処理構成要素毎に、当該処理構成要素を前記キャッシュメモリにプリロードするプリロード設定の有無が設定されたプリロード設定情報とを記憶する記憶部と、
    初期化処理中に、前記記憶部に記憶された前記プリロード設定情報を参照して、前記制御プログラムの各前記処理構成要素がプリロード設定ありとされているか否かを判断し、プリロード設定ありとされている場合に、前記制御プログラムの当該処理構成要素を実行することによりプリロード設定ありとされた当該処理構成要素を前記キャッシュメモリにプリロードするとともにロックするプログラム仮実行部と、
    前記初期化処理の後に、前記キャッシュメモリにプリロードされた前記処理構成要素を優先して実行しつつ前記制御プログラムをサイクリックに実行するプログラム実行部と、
    前記プログラム実行部により実行された前記制御プログラムの実行結果を制御データとして前記外部機器に出力する制御データ出力部と、
    を含むプログラマブルコントローラ。
  2. 請求項1に記載のプログラマブルコントローラにおいて、
    前記プログラム実行部により起動され、当該プログラム実行部により実行された前記制御プログラムの実行結果を制御データ保持メモリに書き込む制御データ書込部をさらに含み、
    前記制御データ出力部は、前記制御データ保持メモリに保持された前記制御データを前記外部機器に出力するよう構成され、
    前記プログラム仮実行部は、前記制御プログラムの前記処理構成要素を実行しても前記制御データ書込部を起動することなく、当該処理構成要素を前記キャッシュメモリにプリロードするとともにロックするプログラマブルコントローラ。
  3. 請求項1または2に記載のプログラマブルコントローラにおいて、
    前記処理構成要素は、制御プログラムのプログラム構成要素単位、タスク単位、機能単位、または処理単位であるプログラマブルコントローラ。
  4. キャッシュメモリを内蔵する制御部を含むプログラマブルコントローラが実行する制御プログラム編集するプログラム作成支援装置であって、
    前記制御プログラムの処理構成要素毎に、当該処理構成要素を前記プログラマブルコントローラの前記キャッシュメモリにプリロードするプリロード設定の有無を受け付けて、当該プリロード設定の有無が設定されたプリロード設定情報を生成する設定受付部と、
    前記設定受付部が生成した前記プリロード設定情報を前記制御プログラムとともに前記プログラマブルコントローラに提供するデータ出力部と、
    を含むプログラム作成支援装置。
  5. 請求項4に記載のプログラム作成支援装置において、
    前記処理構成要素は、制御プログラムのプログラム構成要素単位、タスク単位、機能単位、または処理単位であるプログラム作成支援装置。
  6. 請求項4または5に記載のプログラム作成支援装置において、
    前記プログラマブルコントローラの前記キャッシュメモリにおいて、前記制御プログラムをプリロード可能な容量を記憶する記憶部と、
    前記設定受付部が前記制御プログラムの処理構成要素毎に当該処理構成要素を前記プログラマブルコントローラの前記キャッシュメモリにプリロードするプリロード設定の有無を受け付ける際に、プリロード設定ありとされた前記処理構成要素のサイズの合計値をカウントするとともに、当該合計値が前記プログラマブルコントローラの前記キャッシュメモリにおいて、前記制御プログラムをプリロード可能な前記容量を超えた場合に、警告を出力する警告出力部と、
    をさらに含むプログラム作成支援装置。
  7. 制御部に内蔵されたキャッシュメモリを含むコンピュータを、
    複数の処理構成要素からなり、外部機器を制御するための制御プログラムと、当該制御プログラムの処理構成要素毎に、当該処理構成要素を前記キャッシュメモリにプリロードするプリロード設定の有無が設定されたプリロード設定情報とを記憶する記憶手段、
    初期化処理中に、前記記憶手段に記憶された前記プリロード設定情報を参照して、前記制御プログラムの各前記処理構成要素がプリロード設定ありとされているか否かを判断し、プリロード設定ありとされている場合に、前記制御プログラムの当該処理構成要素を実行することによりプリロード設定ありとされた当該処理構成要素を前記キャッシュメモリにプリロードするとともにロックするプログラム仮実行手段、
    前記初期化処理の後に、前記キャッシュメモリにプリロードされた前記処理構成要素を優先して実行しつつ前記制御プログラムをサイクリックに実行するプログラム実行手段、
    前記プログラム実行手段により実行された前記制御プログラムの実行結果を制御データとして前記外部機器に出力する制御データ出力手段、
    として機能させるデジタル制御プログラム。
  8. キャッシュメモリを内蔵する制御部を含むプログラマブルコントローラが実行する制御プログラム編集するコンピュータを、
    前記制御プログラムの処理構成要素毎に、当該処理構成要素を前記プログラマブルコントローラの前記キャッシュメモリにプリロードするプリロード設定の有無を受け付けて、当該プリロード設定の有無が設定されたプリロード設定情報を生成する設定受付手段、
    前記設定受付手段が生成した前記プリロード設定情報を前記制御プログラムとともに前記プログラマブルコントローラに提供するデータ出力手段、
    として機能させるプログラム作成支援プログラム。
JP2011210795A 2011-09-27 2011-09-27 プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム Active JP5768627B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011210795A JP5768627B2 (ja) 2011-09-27 2011-09-27 プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011210795A JP5768627B2 (ja) 2011-09-27 2011-09-27 プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム

Publications (2)

Publication Number Publication Date
JP2013073344A JP2013073344A (ja) 2013-04-22
JP5768627B2 true JP5768627B2 (ja) 2015-08-26

Family

ID=48477823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011210795A Active JP5768627B2 (ja) 2011-09-27 2011-09-27 プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム

Country Status (1)

Country Link
JP (1) JP5768627B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015141648A (ja) * 2014-01-30 2015-08-03 三菱電機株式会社 プログラマブルコントローラ
JP5863855B2 (ja) 2014-02-26 2016-02-17 ファナック株式会社 分岐命令を高速に処理するためのインストラクションキャッシュを有するプログラマブルコントローラ
JP6212073B2 (ja) * 2015-06-29 2017-10-11 ファナック株式会社 プログラムの内容に応じて格納先を自動選択する機能を備えた数値制御装置
JP6668966B2 (ja) * 2016-06-16 2020-03-18 コニカミノルタ株式会社 画像形成装置
CN109491619A (zh) * 2018-11-21 2019-03-19 浙江中智达科技有限公司 缓存数据处理方法、装置和系统
JP7277292B2 (ja) * 2019-07-08 2023-05-18 ファナック株式会社 Plc装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0633204U (ja) * 1992-09-28 1994-04-28 東芝機械株式会社 Nc装置
JPH08137513A (ja) * 1994-11-10 1996-05-31 Fanuc Ltd メモリ管理方式
JP3476104B2 (ja) * 1995-03-14 2003-12-10 オムロン株式会社 デジタル制御装置
JPH08249041A (ja) * 1995-03-15 1996-09-27 Fanuc Ltd 数値制御装置
JPH11149307A (ja) * 1997-11-17 1999-06-02 Yaskawa Electric Corp 2次記憶装置を備えたロボット制御装置
JP5338528B2 (ja) * 2009-07-03 2013-11-13 富士電機株式会社 プログラマブルコントローラおよびアプリケーションプログラムの更新方法
JP5494243B2 (ja) * 2010-06-01 2014-05-14 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラのプログラム実行方法

Also Published As

Publication number Publication date
JP2013073344A (ja) 2013-04-22

Similar Documents

Publication Publication Date Title
JP5768627B2 (ja) プログラマブルコントローラ、プログラム作成支援装置、デジタル制御プログラム、およびプログラム作成支援プログラム
TWI479416B (zh) 韌體擴展方法以及韌體建立器
JP6317065B2 (ja) 再構成可能プロセッサ及びそのコード変換装置及び方法
JP4810172B2 (ja) 制御装置及びバージョンアップ方法並びにプログラム
JP2009505256A5 (ja)
US20110131364A1 (en) Reprogramming a non-volatile solid state memory system
JP2010039512A (ja) ソフトウェア更新装置、およびソフトウェア更新プログラム
US7478207B2 (en) Control system with a write filter for protection of data
JP2018055583A (ja) 制御装置、制御方法およびプログラム
US20160224325A1 (en) Hiding compilation latency
WO2006064605A1 (ja) ナビゲーションシステム
TW201324067A (zh) 定位裝置,以及可編程邏輯控制系統
JP6171385B2 (ja) コントローラおよび情報処理装置
JP2005100034A (ja) 情報処理制御システム
JP5451799B2 (ja) Pos装置
JP2015210769A (ja) 情報処理装置、情報処理方法およびプログラム
JP2004206716A (ja) ランタイム構成用にダウンロードするコードの判定方法
JP2006277280A (ja) コンピュータシステム、その日付時刻変更方法及び日付変更方法
JP4452158B2 (ja) 不揮発性メモリシステム
CN110442074B (zh) 可编程逻辑控制器程序的处理装置
JP2007538327A5 (ja)
JP2008059388A (ja) 情報処理装置および情報処理装置に適用されるハードディスクのデータ消去方法
JP4784355B2 (ja) プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法、プログラミング支援プログラム、プログラマブルコントローラのデバッグ制御プログラム
JP2007133602A (ja) 情報処理システムおよび車載装置
JP2008059339A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140813

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: 20150526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150608

R150 Certificate of patent or registration of utility model

Ref document number: 5768627

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250