JP6163842B2 - プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム - Google Patents

プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム Download PDF

Info

Publication number
JP6163842B2
JP6163842B2 JP2013083323A JP2013083323A JP6163842B2 JP 6163842 B2 JP6163842 B2 JP 6163842B2 JP 2013083323 A JP2013083323 A JP 2013083323A JP 2013083323 A JP2013083323 A JP 2013083323A JP 6163842 B2 JP6163842 B2 JP 6163842B2
Authority
JP
Japan
Prior art keywords
program
execution
cycle
fixed
phase
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
JP2013083323A
Other languages
English (en)
Other versions
JP2014206830A (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 JP2013083323A priority Critical patent/JP6163842B2/ja
Publication of JP2014206830A publication Critical patent/JP2014206830A/ja
Application granted granted Critical
Publication of JP6163842B2 publication Critical patent/JP6163842B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラ(PLC:Programmable Logic Controller)のプログラム実行制御に関する。
プログラマブルコントローラ(PLC:Programmable Logic Controller)において実行されるプログラムには、アプリケーションプログラムを繰り返し実行するサイクリックプログラムと、予め決められた周期でアプリケーションプログラムを実行する定周期プログラムがある。サイクリックプログラムは特に周期性を必要としない処理に使用され、定周期プログラムは微分や積分などの一定周期で実行しなければならない演算を含む処理で使用される。特に計測制御(プロセス制御)で使用されるPID演算では微分/積分処理が含まれる為、必ず定周期プログラムで実行される。
計測制御においては制御対象のプロセスの反応が遅いため、頻繁に演算を行う必要はなく、定周期ではあるが毎周期(タイマ割込周期毎など)の実行ではなく、間欠的に実行すればよい場合がある。つまり、定周期プログラムにおいて、その実行サイクルを、毎周期(例えば定周期タイマ割込処理が発生する毎;タイマ周期毎とも言える;タイマ周期は例えば0.1s毎)ではなく、タイマ周期の2回に1回実行や、タイマ周期の5回に1回実行などと実行回数を間引くことで、1台のコントローラで多くの制御を行うことを可能にしている場合がある。
プログラムを間欠的に実行する方式として、例えば特許文献1に開示されている従来技術が知られている。
但し、上記のように定周期プログラムを間欠的に実行する場合であっても、複数の定周期プログラムの実行サイクルが同一である場合等、実行タイミングが重なると実行時に演算負荷が増大することにより定周期性を守れなくなるなどの問題が発生することがある。
例えば、複数の定周期プログラムの実行タイミングが重なった場合に、図10(a)に示すように予め決められた順番で順次実行することで(図示に例ではプログラムAとプログラムBの実行タイミングが重なった場合、常に、まずAを実行して続いてBを実行する)、定周期性が守られる手法がある(図示の例では、プログラムBは、常に、実行サイクルからプログラムAの処理時間分遅れたタイミングで実行されるので、実質的に定周期性が守られることになる)。しかしながら、この手法では、プログラムAの実行時間が変動すると、その直後に実行するプログラムBの実行タイミングがずれるので、プログラムBに関しては定周期性を守ることが出来なくなる。
但し、実行タイミングが重なる定周期プログラムの数が、図示のように2つの場合には、この問題はそれほど大きな問題とはならないかもしれない。しかしながら、実行タイミングが重なる定周期プログラムの数が3つや4つとなった場合、最後に実行される定周期プログラムの実行タイミングが、大きくズレるという問題が生じる可能性がある。
この問題に対処するため、例えば図10(b)に示すように、定周期プログラム毎に異なる位相を設定しておくことで、実行サイクルが同じであっても実行タイミングがズレるようにする手法が知られている、これによって、図示の例の場合、たとえプログラムAの実行時間が変動した場合でも、プログラムBの定周期性を守ることができる。
その為に、従来では、例えば図11(a)に示すように、予め各定周期プログラム毎に周期と位相を設定しておくことで(実行周期が同じ定周期プログラム同士は、位相が同じにならないように設定する)、図11(b)に示すように、プログラムAとプログラムBとは、実行周期が同じであっても実行タイミングがズレる。
従来では、例えば図11(a)に示すような周期と位相が設定されていれば、PLCのOSの処理機能によって、各定周期プログラムの実行タイミングを図11(b)に示すようにすることができる。
この様なPLCのOSの処理例を、図12に示す。尚、これは、PLCのOSが有する“定周期プログラムの間欠実行機能”の処理フローチャートということもできる。
図12の処理は、定周期(ここでは仮に100msとする)のタイマ割込みによって起動される。つまり、図12の処理は、タイマ割込み周期毎(本例では100(ms)毎)に実行される。しかし、図12の処理によって、上記のように実質的にタイマ割込み周期の整数倍の周期で、すなわちタイマ割込みの2回に1回(つまり、実質的に200(ms)周期で)や5回に1回(つまり、実質的に500(ms)周期で)の割合で、プログラム実行されることになる。
また、図12の処理実行の為に、PLCの不図示のメモリには、図13に示すタスクテーブル100が格納されている。
図13に示す例のタスクテーブル100は、タスク101、実行周期102、位相103、時間104の各データ項目より成る。
タスク101は、各プログラム(タスク)の名称や識別用ID等である。ここでは、仮に、プログラムA,B,Cの3つのプログラム(タスク)が登録されているものとする。
実行周期102と位相103は、各プログラム(A,B,C)の実行周期と位相である。尚、ここでは、実行周期毎の任意のタイミング(例えば800ms毎のタイミング)を、実行周期タイミングと呼ぶものとする。任意の実行周期タイミングから例えば800(ms)経過した時点が、次の実行周期タイミングとなる。基本的には(プログラムCの場合には)実行周期タイミングがプログラム(タスク)実行のタイミングとなるが、本例ではプログラムA,Bについては位相によって実行タイミングをズラしている。
つまり、各プログラムは、実行周期102毎(例えば800ms毎)に実行されるが、実行周期タイミングから位相103経過したタイミングで実行される。尚、タスク101と実行周期102と位相103に係わる図示のデータ例は、図11に示す例に対応している。つまり、例えばプログラムBは、図11(b)に示すタイミングで実行されることになる。
尚、各実行周期102は、基本的に、タイマ割込み周期の整数倍となるように設定される。
時間104には、そのプログラムの直近の実行周期タイミングからの経過時間が格納される。よって、時間104は、随時更新されると共に、そのプログラムの実行周期タイミングとなる毎に‘0’リセットされる。
尚、本説明における「実行周期」は、所謂「制御周期」(PID等の制御演算周期)と同義と見做しても構わないが、この例に限らない。
図12処理では、まず、タスクテーブル100の全てのプログラム(全てのレコード)の時間104を更新する(例えば、タイマ割込み周期分を加算する;本例では+100(ms)インクリメントする)(ステップS51)。
そして、タスクテーブル100の各プログラム(各レコード)を順次処理対象として、処理対象プログラムについてステップS52〜S56の処理を実行することを繰り返す(ループ処理)。そして、全てのプログラムについて処理実行したら(ステップS56,YES)本処理を終了する。
上記ループ処理では、まず、処理対象プログラムの実行周期102と時間104とを比較して、両者が一致するか否かを判定する(ステップS52)。両者が一致する場合には(ステップS52,YES)、それは現時点が処理対象プログラムの実行周期タイミングであることを意味し、時間104を‘0’リセットする(ステップS53)。
続いて、上記ステップS52の判定結果に係わらず、処理対象プログラムの位相103と時間104とを比較して、両者が一致するか否かを判定する(ステップS54)。両者が一致する場合には(ステップS54,YES)、処理対象プログラムの実行タイミングであると見做して、当該プログラムを実行させる(ステップS55)。尚、本例では、任意のプログラムを実行させる際にはこのプログラムの識別情報等を所定のキューに格納するものとする。勿論、PLCのOSには、所定のキューからデータを取り出してプログラム実行する機能が、別途、備わっているが、これについては特に説明しない。
尚、図13には、タスクテーブル100の図上右側に、時間104の更新例とプログラム実行タイミングを示している。尚、星印(☆)で示す時点が、各プログラムの実行タイミングであり、上記ステップS55の処理が行われていることになる。例えば、プログラムCを例にすると、実行周期102が200(ms)であることから、時間104が200(ms)となる毎に時間104が‘0’にリセットされると共に、当該時間104(=0)と位相(=0ms)とが一致することから、ステップS55の処理が実行されることになる。他のプログラムについても略同様である。
また、上記の通り、図13に示すデータ例に基づいて図12の処理を実行すると、各プログラムの実行タイミングは図11(b)に示すようになるが、図示のように2つのプログラム(プログラムCと他のプログラム)の実行タイミングが重なる場合があるが、同時に実行されるわけではない。すなわち、各プログラムA,B,Cは、例えば図14に示すタイミングで実行される。
尚、ここでは、予め各プログラムに優先順位(タスクレベル)が割り当てられており、複数のプログラムの実行タイミングが重なった場合、タスクレベルが高いものから順に実行されるものとする。尚、図14に示す例では、タスクレベルは「A>B>C」であるものとする。
よって、図14に示すように、例えばプログラムAとプログラムCの実行タイミングが重なった場合、まずプログラムAが実行されて処理終了したら直ちにプログラムCが実行される。この場合、上記のように、プログラムAの実行時間が変動するとプログラムCの実行開始が変動するので、プログラムCの定周期性に多少影響するが、それだけでは問題とはならない。しかし、プログラムA,B,Cの実行タイミングが重なった場合、プログラムA,Bの実行時間が変動することで、プログラムCの定周期性に大きく影響する可能性がある。それ故、従来では上記のように位相を用いることで、実行タイミングをズラして、実行タイミングが重なるプログラム数を減少させている。
特開平07−200012号公報
ここで、従来より、例えば計測制御で用いられるプログラマブルコントローラでは、そのOSに上記図12の処理機能が実装されている。計測制御では、上記実行周期と位相により、制御処理の時間的な均一化を図っている。
一方、機械制御などのシーケンス制御では、特に定周期性は必要なく、入力に応じて逐次演算を実行して出力を行っていけばよく、その繰り返しを高速に行うことが求められており、従来はサイクリックプログラム実行が中心であった。
しかし、機械制御でも定期的な実行が求められる処理があり、それは定周期プログラムで実行されている。しかし、機械制御分野では制御対象の応答が高速であるため、プログラムの間欠実行は求められていないことが多く、PLCにこのような間欠実行機能が実装されていないことがある。例えば、PLCのプログラム言語の国際標準であるIEC61131-3においては、このような間欠実行機能は定義されていない(定周期プログラムは定義されている)。つまり、IEC61131-3標準に対応したPLCの場合、上記間欠実行機能は実装されていない。
尚、ここでいう“間欠実行機能”とは、例えば図12の処理で実現させるような機能であり、周期設定だけでなく、例えば位相設定等によって実行タイミングをズラす機能である。尚、その意味で、“間欠実行機能”は、“位相制御機能”と言ってもよいし、あるいは“位相制御機能”を含むものと見做してもよい。
従って、周期設定だけによって単にタイマ割込周期の数倍(2回に1回など)をプログラム実行周期とする機能だけでは、そのPLCは“間欠実行機能”(“位相制御機能”)は有していないものと見做すものとする。但し、上記位相を用いるのは一例であり、この例に限らない。すなわち、“間欠実行機能”とは、そのプログラムの実行タイミングを実行周期タイミングからズラすようにして決定する機能であると言える。
この為、定周期プログラムの間欠実行機能により制御を行っていたPLCのプログラムを、間欠実行機能を持たないPLC(上記IEC61131-3標準に対応したPLC等)で実行させたい要望があっても、この要望は容易には実現できなかった(少なくとも単にプログラムを移植するだけでは実現できなかった)。
尚、IEC61131-3標準に対応したPLCでは間欠実行機能を実現できない理由は、そのOSの機能が位相に対応していない為である(周期には対応している)。
本発明の課題は、位相制御機能を持たないPLC(例えばIEC61131-3標準に対応したPLC)であっても定周期プログラムの定周期性を守ることが出来るプログラマブルコントローラの支援装置等を提供することである。
本発明のプログラマブルコントローラの支援装置は、複数の定周期プログラムを記憶する定周期プログラム記憶手段と、予め任意に設定された前記各定周期プログラム毎の実行周期と位相を記憶する実行周期・位相記憶手段と、全ての前記定周期プログラムの前記実行周期及び位相の最大公約数を算出し、前記各定周期プログラム毎に、その前記実行周期と位相と、前記最大公約数とに基づいて、“変換後の定周期プログラム”を生成する“変換後の定周期プログラム”生成手段と、該各“変換後の定周期プログラム”を、位相制御機能を持たないPLCに転送して記憶させる転送手段と、前記PLCにおける前記各“変換後の定周期プログラム”の実行周期を、前記最大公約数の時間とする実行周期設定手段とを有する。
本発明のプログラマブルコントローラの支援装置等によれば、位相制御機能を持たないPLC(例えばIEC61131-3標準に対応したPLC)であっても定周期プログラムの定周期性を守ることが出来る。
プログラマブルコントローラシステムの概略構成図である。 本例の支援装置の機能ブロック図である。 「変換後の定周期プログラム」の雛形(フォーマット)の例である。 プログラム変換部の処理フローチャート図である。 (a)、(b)は、位相・周期定義表の具体例(その1)、(その2)である。 (b)、(c)は周期定義値、位相定義値の具体例(その1)、(その2)であり、(a)は「変換後の定周期プログラム」の具体例である。 PLCのOSの処理フローチャート図である。 「補正後のタスクテーブル」の一例である。 (a)、(b)は、処理実行の有無等に係わる具体例である。 (a)、(b)は、実行周期が同じプログラムの実行処理例である。 (a),(b)は、従来において位相を用いて実行タイミングをズラす例である。 従来のPLCのOSの処理フローチャート図である。 従来のPLC側で保持するタスクテーブルの一例である。 従来のプログラム実行タイミング例である。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本例のプログラマブルコントローラ(PLC)やその支援装置等から成るプログラマブルコントローラシステムの概略システム構成図である。
図示のPLCシステム1は、PLC2と支援装置3とが通信線4等によって接続された構成である。
支援装置3は、PLC用のプログラム(特に上記定周期プログラム等)を開発者に任意に作成させるように支援するプログラム作成支援機能を有する。また、PLC用のプログラムをPLC2にダウンロードして記憶させるダウンロード機能を有する。尚、これらプログラム作成支援機能やダウンロード機能自体は、従来の支援装置と略同様であってよく、ここでは特に説明しない。
ここで、PLC2は、上記“間欠実行機能(位相制御機能)を持たないPLC”(例えば上記IEC61131-3標準に対応したPLC等)である。また、後述する“変換元となる定周期プログラム”は、例えば間欠実行機能を有するPLC用に作成されていたプログラムである。従って、“変換元となる定周期プログラム”をそのままPLC2にダウンロードして実行させても、位相をズラしつつ間欠実行することは行われないことになる(正常動作しないと見做してよい)。
尚、上述したように、ここでは、“間欠実行機能”とは、例えば上記図12の処理で実現させるような機能であり、周期設定だけでなく、例えば位相設定等によって実行タイミングをズラす機能である。尚、その意味で、“間欠実行機能”は、“位相制御機能”と言ってもよいし、あるいは“位相制御機能”を含むものと見做してもよい。
尚、本説明において、「変換」を「補完」に置き換えても構わない。後述するように、本手法では、“変換元となる定周期プログラム”に対して後述するステップS1,S2,S3,S5の処理を追加したり後述する実行周期52を補正することで(つまり、PLC2で正常操作させる為に必要な処理やデータを補完することで)、後述する「変換後の定周期プログラム」を生成するものであるからである。
何れにしても、本手法における“定周期プログラムの「変換」(または「補完」)”とは、一例として後述する図6(a)のような「変換後の定周期プログラム」を生成することである(更に、実行周期52を補正することである)。つまり、例えば位相制御機能を持つPLC用に作成されていた複数の定周期プログラムを、位相制御機能を持たないPLC2(例えばIEC61131-3標準に対応したPLC)で問題なく実行できる(定周期性を守ることが出来る)ようにする為に、“定周期プログラムの「変換」(または「補完」)”を行うものである。
尚、既に述べたように、“間欠実行機能”は、そのプログラムの実行タイミングを実行周期タイミングからズラすようにして決定する(実行タイミングが出来るだけ他のプログラムと重複しないようにする)機能(位相制御機能)も有する。従って、実行周期だけによって単にタイマ割込周期の整数倍の周期で実行させるだけでは、“間欠実行機能”(位相制御機能)は有していないものと見做すものとする。
本例の支援装置3は、更に、定周期プログラムの変換(補完)機能を有する。
これについて、図2を参照して説明する。
図2は、主に支援装置3の機能ブロック図である(但し、PLC2の機能も一部示されている)。
図示の例では、支援装置3は、変換元プログラム格納部11、“実行周期・位相定義情報格納部”12、プログラム変換部13、変換先プログラム格納部14、プログラム転送部15等を有する。
変換元プログラム格納部11には、変換元となる任意の複数の定周期プログラムが格納される。これら“変換(補完)元となる定周期プログラム”は、例えば間欠実行機能を有するPLC用に作成されていたプログラムである。つまり、一例としては、上記従来技術の説明で用いた定周期プログラムA,B,Cであってよく、以下、具体例としてはこの例を用いて説明するものとする。
尚、上記複数の“変換元となる定周期プログラム”は、当該支援装置3において作成されたものであってもよいし、他の何らかの情報処理装置で作成されたもの(間欠実行機能を有するPLCで運用されていたものであっても構わない)が、何等の方法で当該支援装置3に格納されたものであってもよい。
ここで、ダウンロード先のPLCが上記間欠実行機能を有する不図示のPLCである場合には、変換元プログラム格納部11に格納されている上記複数の“変換元となる定周期プログラム”を、そのまま、当該PLCにダウンロードすればよい(PLCのOSの機能によって、図11(b)等に示す例のように定周期プログラムが実行される)。尚、逐一述べないが、当該PLCは、当然、上記タスクテーブル100に相当する情報を保持している。
一方、ダウンロード先が上記PLC2のような“間欠実行機能を持たないPLC”である場合には、上記複数の“変換元となる定周期プログラム”(A,B,C)を、そのまま、PLC2にダウンロードした場合、PLC2のOSは位相に応じて実行タイミングをズラすことは出来ないので、図11(b)等に示す例のような実行タイミングを実現できない。これは、PLC2が上記タスクテーブル100に相当する情報(各周期プログラム毎の周期と位相の設定情報等)を保持していても実現できない。位相の設定情報があっても、OSにはそれを活かす機能が無いからである。
尚、PLC2のOSの処理例は、図7に示し、後に説明する。
この問題に対して、本手法では、主に“実行周期・位相定義情報格納部”12とプログラム変換部13を設けている。
“実行周期・位相定義情報格納部”12には、上記複数の“変換元となる定周期プログラム”に係わる実行周期と位相の情報(後述する位相・周期定義表等)が格納されている。尚、この情報は上記タスクテーブル100に相当すると見做してもよい(但し、上記時間104は必要ない)。
プログラム変換部13は、上記“実行周期・位相定義情報格納部”12の格納データ等に基づいて、上記複数の“変換元となる定周期プログラム”をそれぞれ変換して、これら各「変換(補完)後の定周期プログラム」を変換先プログラム格納14に格納する。この変換方法については後述する。
プログラム転送部15は、上記変換先プログラム格納14に格納されたプログラム(変換後の定周期プログラム)を、上記通信線4等を介してPLC2にダウンロードして記憶させる。
また、プログラム変換部13は、上記変換処理に伴って、PLC2側で保持させるタスクテーブル等の内容を補正する。これは特に実行周期を補正するものであり、詳しくは後述する。尚、PLC2側で保持されているタスクテーブルは、上記従来のタスクテーブル100と略同様であっても構わない(但し、位相の情報は無くても構わない。また補正を行う必要がある)。
尚、この補正処理は、例えば上記タスクテーブルを既にPLC2側で保持している場合には、その実行周期に対して上記変換処理に応じた補正を行うことで、例えば後述するタスクテーブル50を生成する。一方、タスクテーブルがPLC2側に保持されていない場合には、例えば上記“実行周期・位相定義情報格納部”12の格納データにおける実行周期に対して上記変換処理に応じた補正を行うこと等によって後述するタスクテーブル50を生成し、これをPLC2にダウンロードして記憶させる。
尚、後述するタスクテーブル50は、「補正後のタスクテーブル」の一例ということもできる。
何れにしても、PLC2には、上記「変換後の定周期プログラム」と「補正後のタスクテーブル」等が記憶された状態になる。そして、PLC2が有する制御プログラム実行部21は、これら「変換後の定周期プログラム」と「補正後のタスクテーブル」を用いて定周期プログラム実行制御を行うことで、実質的に、定周期プログラムの間欠実行を実現できる。
尚、プログラム変換部13の変換処理は、主に例えば後述する図3のフォーマットへと変換するものであるが、これだけに限らず、変換元/変換先のプログラム言語の組み合わせに応じた適切な変換処理が行われるものであっても構わない(但し、これについては特に説明しない)。
尚、変換元プログラム格納部11と変換先プログラム格納部14には、そのプログラムを実行するプログラマブルコントローラ固有の方式によってプログラムが格納されている。
尚、本説明における「実行周期」は、所謂「制御周期」(PID等の制御演算周期)と同義と見做しても構わないが、この例に限らない。
以下、具体例等を用いながら更に詳しく説明する。
まず、図3に、上記「変換後の定周期プログラム」の雛形(フォーマット)の例を示す。
例えば図3に示すような「変換後の定周期プログラム」の雛形が、予め作成されて支援装置3内の不図示の記憶装置(ハードディスク等)に記憶されている。そして、この雛形などに基づいて、各「変換後の定周期プログラム」が作成される。
図3において、ステップS4の「制御処理」が、上記「変換元となる定周期プログラム」の処理に相当する。つまり、基本的には、プログラム変換部13が、「変換元となる定周期プログラム」に対して、図3のステップS1,S2,S3,S5の処理を付加することによって、上記「変換後の定周期プログラム」が生成されることになる。
但し、プログラム変換部13は、ステップS1の周期定義値と、ステップS3の位相定義値について、各定周期プログラム毎に実行周期や位相等に応じた値を決定したうえで、ステップS1,S2,S3,S5の処理を付加する。例えば、上記定周期プログラムAに応じた周期定義値と位相定義値の具体値を決定したうえで、定周期プログラムAの処理をステップS4の処理としてステップS1,S2,S3,S5の処理を付加することで、「変換後の定周期プログラムA」が生成されることになる。他の定周期プログラムB,Cについても同様にして、「変換後の定周期プログラムB」、「変換後の定周期プログラムC」が生成されることになる。
ここで、図3に示す例では、上記ステップS1の処理は「実行カウンタ=周期定義値?」の判定処理であり、ステップS2は「実行カウンタ0クリア」である。ステップS1の判定がYESの場合にステップS2の処理が実行される。ステップS3は「実行カウンタ=位相定義値?」の判定処理であり、ステップS3の判定がYESの場合に上記「制御処理」(ステップS4)が実行される。最後に、上記実行カウンタを+1インクリメントする処理(ステップS5)が実行される。
図4は、プログラム変換部13の処理フローチャートを示すものである。
図4の処理例では、まず、“実行周期・位相定義情報格納部”12に格納されている位相・周期定義表に基づいて、実行周期及び位相の最大公約数を求める(ステップS11)。これは、例えば、全ての定周期プログラム(A,B,C)の実行周期及び位相に基づいて、これらの最大公約数を求めるものである。
そして、各「変換元となる定周期プログラム」を、順次、処理対象プログラムとして、各処理対象プログラム毎に、当該プログラムの実行周期、位相や上記最大公約数等に基づいて、上記周期定義値と位相定義値を決定する。そして、決定した周期定義値と位相定義値とを用いた上記S1,S3の処理を生成する(ステップS12)。
ここで、周期定義値、位相定義値の算出式は、例えば下記の通りであるが、この例に限らない。
・周期定義値=実行周期÷最大公約数
・位相定義値=位相÷最大公約数
そして、処理対象プログラムの処理を上記ステップS4とし、当該ステップS4に対して上記ステップS1,S2,S3,S5の処理を図3のフォーマットに従って追加することで、処理対象プログラムを上記「変換後の定周期プログラム」に変換する(ステップS13)。
尚、全ての定周期プログラムを処理対象プログラムとして上記変換処理を実施したならば(ステップS14,YES)、ループ処理を抜けてステップS15の処理を実行して本処理は終了する。ステップS15の処理については後述する。
上記ステップS11、S12の処理について、図5に示す具体例を用いて説明する。
図5(a)、(b)には、上記位相・周期定義表の具体例(その1)、(その2)を示す。
尚、位相・周期定義表30は、そのデータ構造に関しては、タスク31、実行周期32、位相33等を有するものであり、これらは上記従来のタスク101、実行周期102、位相103と略同様と見做してよい。
そして、図5(a)に示す具体例(その1)は、上記従来のタスクテーブル100のデータ例と略同様のデータ内容となっている。すなわち、図示の例の位相・周期定義表30では、プログラムAは実行周期32が800(ms)で位相33が200(ms)、プログラムBは実行周期32が800(ms)で位相33が400(ms)、プログラムCは実行周期32が200(ms)で位相33が0(ms)となっている。
この例の場合(0は除外するものとする)、ステップS11では800と400と200との最大公約数を求めることになるので、最大公約数=200となる。
これより、上記周期定義値、位相定義値の算出式を用いた場合、各定周期プログラムA,B,Cそれぞれの周期定義値、位相定義値は、図6(b)に示すようになる。一例として、定周期プログラムAを用いて説明するならば、その実行周期は800(ms)、位相は200(ms)であるので、
・周期定義値=800÷200=4
・位相定義値=200÷200=1
となる。
そして、この例の場合、「変換後の定周期プログラムA」は、図6(a)に示すようになる。
すなわち、この例では、ステップS1は「実行カウンタ=4?」となり、ステップS3は「実行カウンタ=1?」となる。
尚、特に図示しないが、「変換後の定周期プログラムB」におけるステップS1は「実行カウンタ=4?」となり、ステップS3は「実行カウンタ=2?」となる。変換後の定周期プログラムCにおけるステップS1は「実行カウンタ=1?」となり、ステップS3は「実行カウンタ=0?」となる。
尚、これら各「変換後の定周期プログラム」を用いるPLC2の動作については、後に説明するものとする。
次に、図5(b)に示す具体例(その2)について説明する。
具体例(その2)は、上記具体例(その1)とほぼ同じであり、違いはプログラムAの位相が300(ms)となっている点だけである。
この例の場合には、ステップS11では800と400と300と200との最大公約数を求めることになるので、最大公約数=100となる。
そして、最大公約数=100を用いて上記の周期定義値、位相定義値の算出処理等を行うことになり、周期定義値、位相定義値は例えば図6(c)に示す通りとなる。そして、例えば図6(c)に示す周期定義値、位相定義値に基づいて各「変換後の定周期プログラム」が生成されるが、これについては説明を省略する。
ここで、ステップS15の処理について説明する。
ここでは、PLC2には既に上記位相・周期定義表30と略同一のタスクテーブルを既に保持しているものとする。そして、上記具体例(その1)を例にするならば、PLC2は上記タスクテーブル100を保持しているものと見做してもよいものとする。
この例の場合、ステップS15の処理は、上記最大公約数を用いてタスクテーブル100の実行周期102を補正する処理となる。図13に示す例では、タスクテーブル100の各実行周期102は、800(ms)、800(ms)、200(ms)となっているが、これらを全て最大公約数(=200(ms))とする補正を行う。これによって後述するタスクテーブル50(補正後のタスクテーブル)が生成されることになる。
尚、ステップS15の処理は上記一例に限らない。例えば、上記位相・周期定義表30のコピーに対して、その実行周期を全て最大公約数(=200(ms))とする補正を行うことで、「補正された位相・周期定義表(コピー)」を生成して、これをPLC2にダウンロードして(時間54を付加して)上記タスクテーブル50として記憶させるように構成してもよい。
以下、上記「変換後の定周期プログラム」や「補正後のタスクテーブル」を保持している状態のPLC2の動作について説明する。
ここで、本例のPLC2は、上記の通り、“間欠実行機能を持たないPLC”であるので、そのOSの機能・動作は、上記従来の図12等とは異なることになる。
図7に、PLC2のOS(オペレーティングシステム)の処理フローチャート図を示す。
尚、図7の処理は、概略的には、上記図12の処理においてステップS54の処理が無いものと略同様と見做しても構わない。また、図7の処理は、図12と同様に、定周期タイマ割込みによって100(ms)毎に起動・実行されるものとする。
また、図8には、上記「補正後のタスクテーブル」の一例を示す。
「補正後のタスクテーブル」50は、データ構造自体は、上記タスクテーブル100と略同様と見做してもよい。但し、格納されるデータの内容が、上記の通り補正されている。
図8に示す例の「補正後のタスクテーブル」50は、タスク51、実行周期52、位相53、時間54の各データ項目より成る。これら各データ項目の意味は、上記タスクテーブル100のタスク101、実行周期102、位相103、時間104と略同様と見做してよく、ここでの説明は省略する。但し、全てのレコードの実行周期52が(上記の通り)最大公約数(=200(ms))とする補正が行われている。
図7の処理例では、まず、「補正後のタスクテーブル」50の全レコードの時間54を更新する(例えば、タイマ割込み周期分を加算する;よって本例では+100(ms)インクリメントする)(ステップS21)。
そして、「補正後のタスクテーブル」50の各レコード(各定周期プログラム)を、順次処理対象として、ステップS22〜24の処理を繰り返し実行する。そして、全レコードについて処理実行したら(ステップS25,YES)本処理を終了する。
ステップS22〜24の処理について以下に説明する。
まず、処理対象レコードの実行周期52と時間54とが一致するか否かを判定する(ステップS22)。これは、処理対象レコードに係わる上記「変換後の定周期プログラム」の実行タイミングとなったか否かを判定するものと言うこともできる。但し、本手法では、「変換後の定周期プログラム」の実行タイミングとなっても、それがその定周期プログラムの実質的な実行タイミングを意味するとは限らない。つまり、「変換後の定周期プログラム」の実行タイミングとなる毎に「変換後の定周期プログラム」は実行されるが、そのステップS4の処理が実行されるとは限らない。
尚、各「変換後の定周期プログラム」の実行に関して、例えばタスクテーブル50の各定周期プログラム毎に対応する上記“実行カウンタ”が設けられるものとする(例えばタスクテーブル50には不図示の実行カウンタ55のデータ項目が更にあってもよい)。
実行周期52と時間54とが一致する場合には(ステップS22,YES)、処理対象レコードに係わる上記「変換後の定周期プログラム」の識別情報等を、不図示のキュー等に格納することで、当該「変換後の定周期プログラム」を実行させる(ステップS23)。更に、処理対象レコードの時間54を‘0’にリセットして(ステップS24)、ステップS25に移行する。一方、実行周期52と時間54とが不一致の場合には(ステップS22,NO)、そのままステップS25へ移行する。
ここで、本手法では、上記ステップS23によって「変換後の定周期プログラム」が実行されても、実質的にその定周期プログラムは実行されない(つまり、上記ステップS4の処理が実行されない)場合がある。
ここで、図9(a)には、任意の経過時間(ms)に応じた上記各レコードの時間54の値とステップS23、S24の処理の実行の有無(実行する場合は三角印(△)を記す)を示している。図9(b)には図9(a)に示す例に応じた実行カウンタの値と実質的な定周期プログラム実行の有無(ステップS4の実行の有無(実行する場合は星印(☆)を記す)を示している。
上記のようにタスクテーブル50の実行周期52は全プログラム一律“200(ms)”(最大公約数)となるように補正されていることから、図9(a)に示すように、全ての「変換後の定周期プログラム」は200(ms)周期で実行されるようになる。但し、図9(b)に示すように、三角印(△)があるタイミングであっても星印(☆)があるとは限らない。
この例では、経過時間=0(前回の800(ms)に相当すると見做してもよい)において全プログラムA,B,CでステップS1の判定がYESとなって(当然、ステップS23が行われている)各実行カウンタが‘0’にリセットされている(但し、ステップS5で‘1’になっている)ものとする。
これより、まず、経過時間=100(ms)のタイミングでは、全レコードでステップS21で時間54=100(ms)となり、且つ、全レコードで実行周期52=200(ms)であるので、図示のように全レコードでステップS22の判定はNOとなる(よって三角印(△)は無い)。また、これより、全プログラムA,B,Cの実行カウンタは‘1’のままである。
次に、経過時間=200(ms)のタイミングでは、全レコードでステップS21で時間54=200(ms)となり、且つ、全レコードで実行周期52=200(ms)であるので、図示のように全レコードでステップS22の判定はYESとなる(よって三角印(△)がある)。
これより、「変換後の定周期プログラムA」、「変換後の定周期プログラムB」、「変換後の定周期プログラムC」が順次実行されることになる。尚、これに伴って、全レコードで時間54が‘0’にリセットされる(ステップS24)。
ここで、この時点では全ての「変換後の定周期プログラム」に関して、その実行カウンタは‘1’となっている。
これより、まず、「変換後の定周期プログラムA」におけるステップS3の判定はYESとなるので(位相定義値=1なので)、ステップS4の処理が実行される(定周期プログラムAの実質的な実行が成される;よって星印(☆)がある)。そして、ステップS5で実行カウンタが+1インクリメントされる(実行カウンタ=2となる)。
また、「変換後の定周期プログラムB」におけるステップS3の判定はNOとなるので(位相定義値=2なので)、ステップS4の処理が実行されることなく、ステップS5が実行される(実行カウンタ=2となる)。
「変換後の定周期プログラムC」の実行に関しては、まず、ステップS1の判定がYESとなるので(周期定義値=1なので)、実行カウンタは0クリアされる。これより、ステップS3の判定はYESとなるので(位相定義値=0なので)、ステップS4の処理が実行され(定周期プログラムCの実質的な実行が成される;よって星印(☆)がある)、ステップS5が実行される(実行カウンタ=1となる)。
次に、経過時間=300(ms)のタイミングでは、全レコードでステップS21で時間54=100(ms)となり、且つ、全レコードで実行周期52=200(ms)であるので、図示のように全レコードでステップS22の判定はNOとなる(よって三角印(△)は無い)。また、これより、プログラムA,Bの実行カウンタは‘2’のままであり、プログラムCの実行カウンタが‘1’のままである。
次に、経過時間=400(ms)のタイミングでは、全レコードでステップS21で時間54=200(ms)となり、且つ、全レコードで実行周期52=200(ms)であるので、図示のように全レコードでステップS22の判定はYESとなる(よって三角印(△)がある)。
これより、「変換後の定周期プログラムA」、「変換後の定周期プログラムB」、「変換後の定周期プログラムC」が順次実行されることになる。尚、これに伴って、全レコードで時間54が‘0’にリセットされる(ステップS24)。
ここで、この時点では各「変換後の定周期プログラム」に関して、プログラムA,Bの実行カウンタは‘2’であり、プログラムCの実行カウンタが‘1’である。
これより、まず、「変換後の定周期プログラムA」におけるステップS3の判定はNOとなるので(位相定義値=なので)、ステップS4の処理が実行されることなく、ステップS5が実行される(実行カウンタ=3となる)。
また、「変換後の定周期プログラムB」におけるステップS3の判定はYESとなるので(位相定義値=2なので)、ステップS4の処理が実行される(定周期プログラムBの実質的な実行が成される;よって星印(☆)がある)。そして、ステップS5で実行カウンタが+1インクリメントされる(実行カウンタ=3となる)。
「変換後の定周期プログラムC」の実行に関しては、まず、ステップS1の判定がYESとなるので(周期定義値=1なので)、実行カウンタは0クリアされる。これより、ステップS3の判定はYESとなるので(位相定義値=0なので)、ステップS4の処理が実行され(定周期プログラムCの実質的な実行が成される;よって星印(☆)がある)、ステップS5が実行される(実行カウンタ=1となる)。
経過時間=500(ms)以降の処理については説明を省略するが、800(ms)経過時点で、上記0(ms)のときと同じく、全定周期プログラム(特にプログラムA,B)の実行カウンタは‘0’にリセットされる。つまり、プログラムA,Bに関しては、実質的に800(ms)周期で動作することになる。そして、図9(b)に示すように、プログラムAに関しては実質的な実行周期タイミング(0(ms)時点)から200(ms)後に実行されることになり、これは実質的に位相(200(ms))が反映された形となる。プログラムBに関しても同様に、実質的な実行周期タイミング(0(ms)時点)から400(ms)後に実行されることになり、これは実質的に位相(400(ms))が反映された形となる。
上述したように、PLC2の場合、位相の設定があっても、そのOS処理自体では位相の設定内容は反映されないが、本手法によって、実行周期が上記最大公約数へと変更されており且つ「変換後の定周期プログラム」を実行することによって、実質的に、位相の設定内容が反映される形で各定周期プログラムの実質的な実行タイミングが決定される。つまり、PLC2のようなPLCで実行される場合であっても、図9(b)に示すように、例えば図11(b)に示す例と同様のタイミングで各定周期プログラムが実行されるようになる。
以上説明したように、本例の支援装置3では、“間欠実行機能を持たないPLC”(例えば上記IEC61131-3標準に対応したPLC等)であるPLC2で各定周期プログラムを間欠実行させる為に、各定周期プログラムを下記のように変換する。
すなわち、まず、間欠実行させる定周期プログラム全ての実行周期および位相の最大公約数となる時間を求める。そして、この最大公約数を元に、実行周期、位相の約数を算出する。例えば、各定周期プログラム毎に、その実行周期、位相を、各々、最大公約数で除算することで得られる各算出値は、実行周期、位相各々の約数の1つと言える(最大公約数に応じた約数と言える)。
そして、各定周期プログラム毎に、その“最大公約数に応じた約数”を用いて、「変換後の定周期プログラム」を生成する。「変換後の定周期プログラム」は、その定周期プログラムに係わる上記“最大公約数に応じた約数”に基づく所定の条件を満たす場合に、その定周期プログラムが実行されるようにするものである。その為の一例が、上記図3に示す「変換後の定周期プログラム」のフォーマット(雛形)である。
図3の例では、「変換後の定周期プログラム」の実行回数(実行カウンタ値)と、“最大公約数に応じた約数”とに基づいて、その定周期プログラムの実質的な実行タイミング(ステップS4の処理を実行すること)が決定される。実行カウンタ値と“最大公約数に応じた実行周期の約数”(=実行周期÷最大公約数)との比較判定によって、上記実行周期タイミングを判定する。実行周期タイミングとなる毎に、実行カウンタ値を‘0’リセットする。そして、実行周期タイミングから位相分の時間経過したことを、実行カウンタ値と“最大公約数に応じた位相の約数”(=位相÷最大公約数)との比較判定によって判定する。これによって、実行周期タイミングから位相分の時間経過時に、その定周期プログラムの実質的な実行(ステップS4の処理)が行われることになる。
尚、上記“約数”を用いる例は、PLC2側においては「変換後の定周期プログラム」を上記最大公約数の周期で実行させることを前提としている。但し、この例に限らない。
尚、図3に示すように、実行カウンタ値は、「変換後の定周期プログラム」の実行毎に+1インクリメントされる。
PLC2においては、全ての「変換後の定周期プログラム」を、上記最大公約数の周期でそれぞれ実行させる。これは、例えば、PLC2側で保持するタスクテーブル50の実行周期52を、全て、上記最大公約数に書き換えることで実現するが、この例に限らない。
上記のように各定周期プログラムは、上記最大公約数の時間周期で起動が行われるが、「変換後の定周期プログラム」に含まれる元々の定周期プログラムは、実質的に実行周期タイミングから位相分の時間経過したタイミングになるまで実行されない。つまり、実質的に、定周期プログラムを位相分ズラして実行させることができる(つまり、各定周期プログラムの実質的な実行タイミングが出来るだけ重ならないようにでき、以って定周期性を守ることが出来るようになる)。
以上説明したように、本例のプログラマブルコントローラシステム1(その支援装置3、PLC2など)は、例えば位相制御機能を持つPLC用に作成されていた複数の定周期プログラムを、位相制御機能を持たないPLC2(例えばIEC61131-3標準に対応したPLC)で問題なく実行できる(定周期性を守ることが出来る)ように、当該“定周期プログラムを「変換」(または「補完」)”するものである(但し、更に、実行周期52を上記最大公約数となるように補正する必要がある)。変換後(補完後)の定周期プログラムの一例を図6(a)に示しているが、この例に限らない。
この様に、本例のプログラマブルコントローラシステム1(その支援装置3、PLC2など)によれば、位相制御機能を持たないPLC2(例えばIEC61131-3標準に対応したPLC)であっても、定周期プログラムの定周期性を守ることが出来る。
本例のプログラマブルコントローラシステム1(その支援装置3、PLC2など)によれば、例えば位相制御機能を持つPLC用に作成されていた複数の定周期プログラムを、位相制御機能を持たないPLCに、容易に(手間が掛からない)移植することができる。
1 PLCシステム
2 PLC
3 支援装置
4 通信線
11 変換元プログラム格納部
12 実行周期・位相定義情報格納部
13 プログラム変換部
14 変換先プログラム格納部
15 プログラム転送部
21 制御プログラム実行部
30 位相・周期定義表
31 タスク
32 実行周期
33 位相
50 補正後のタスクテーブル」
51 タスク
52 実行周期
53 位相
54 時間

Claims (8)

  1. 位相制御機能を持つプログラマブルコントローラ用に作成された複数の定周期プログラムを記憶する定周期プログラム記憶手段と、
    予め任意に設定された前記各定周期プログラム毎の実行周期と位相を記憶する実行周期・位相記憶手段と、
    前記複数の定周期プログラムの前記実行周期及び位相の最大公約数を算出し、前記各定周期プログラム毎に、その前記実行周期と位相と、前記最大公約数とに基づいて、“変換後の定周期プログラム”を生成する“変換後の定周期プログラム”生成手段と、
    該各“変換後の定周期プログラム”を、位相制御機能を持たないプログラマブルコントローラに転送して記憶させる転送手段と、
    前記位相制御機能を持たないプログラマブルコントローラにおける前記各“変換後の定周期プログラム”の実行周期を、前記最大公約数の時間とする実行周期設定手段と、
    を有することを特徴とするプログラマブルコントローラの支援装置。
  2. 前記“変換後の定周期プログラム”は、前記定周期プログラムに対して、その前記実行周期と位相と前記最大公約数とに基づいて得られる定義値を用いた所定の条件を満たす場合に該定周期プログラムが実行される処理が、追加されることで生成されるものであることを特徴とする請求項1記載のプログラマブルコントローラの支援装置。
  3. 前記実行周期と位相と最大公約数とに基づいて得られる定義値は、前記実行周期を前記最大公約数で除算することで得られる周期定義値と、前記位相を前記最大公約数で除算することで得られる位相定義値とであることを特徴とする請求項2記載のプログラマブルコントローラの支援装置。
  4. 前記“変換後の定周期プログラム”には、該“変換後の定周期プログラム”の実行回数をカウントする処理が含まれると共に、該実行回数カウント値が前記周期定義値に達する毎に該実行回数カウント値を初期化する処理が含まれることを特徴とする請求項3記載のプログラマブルコントローラの支援装置。
  5. 前記“変換後の定周期プログラム”には、前記実行回数カウント値が初期化された後に該実行回数カウント値が前記位相定義値となったときに、前記定周期プログラムを実行させる処理が含まれることを特徴とする請求項4記載のプログラマブルコントローラの支援装置。
  6. プログラマブルコントローラの支援装置のコンピュータを、
    全ての定周期プログラムの実行周期及び位相の最大公約数を算出し、前記各定周期プログラム毎に、その前記実行周期と位相と、前記最大公約数とに基づいて、“変換後の定周期プログラム”を生成する“変換後の定周期プログラム”生成手段であって、前記定周期プログラムは、位相制御機能を持つプログラマブルコントローラ用に作成された定周期プログラムである、“変換後の定周期プログラム”生成手段と、
    該各“変換後の定周期プログラム”を、位相制御機能を持たないプログラマブルコントローラに転送して記憶させる転送手段と、
    前記位相制御機能を持たないプログラマブルコントローラにおける前記各“変換後の定周期プログラム”の実行周期を、前記最大公約数の時間とする実行周期設定手段、
    として機能させる為のプログラム。
  7. 位相制御機能を持たないプログラマブルコントローラと、プログラマブルコントローラの支援装置とを有するプログラマブルコントローラシステムであって、
    前記プログラマブルコントローラの支援装置は、
    位相制御機能を持つプログラマブルコントローラ用に作成された複数の定周期プログラムを記憶する定周期プログラム記憶手段と、
    予め任意に設定された前記各定周期プログラム毎の実行周期と位相を記憶する実行周期・位相記憶手段と、
    全ての前記定周期プログラムの前記実行周期及び位相の最大公約数を算出し、前記各定周期プログラム毎に、その前記実行周期と位相と、前記最大公約数とに基づいて、“変換後の定周期プログラム”を生成する“変換後の定周期プログラム”生成手段と、
    該各“変換後の定周期プログラム”を、前記位相制御機能を持たないプログラマブルコントローラに転送して記憶させる転送手段と、
    前記位相制御機能を持たないプログラマブルコントローラにおける前記各“変換後の定周期プログラム”の実行周期を、前記最大公約数の時間とする実行周期設定手段と、
    を有することを特徴とするプログラマブルコントローラシステム。
  8. 前記位相制御機能を持たないプログラマブルコントローラは、
    前記記憶された全ての前記“変換後の定周期プログラム”を、前記最大公約数の時間とされた前記実行周期で実行する制御プログラム実行手段を有し、
    該実行される各“変換後の定周期プログラム”のなかでそのときに所定の条件を満たす“変換後の定周期プログラム”に含まれる定周期プログラムが実行されることを特徴とする請求項記載のプログラマブルコントローラシステム。
JP2013083323A 2013-04-11 2013-04-11 プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム Active JP6163842B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013083323A JP6163842B2 (ja) 2013-04-11 2013-04-11 プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013083323A JP6163842B2 (ja) 2013-04-11 2013-04-11 プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム

Publications (2)

Publication Number Publication Date
JP2014206830A JP2014206830A (ja) 2014-10-30
JP6163842B2 true JP6163842B2 (ja) 2017-07-19

Family

ID=52120344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013083323A Active JP6163842B2 (ja) 2013-04-11 2013-04-11 プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム

Country Status (1)

Country Link
JP (1) JP6163842B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253806A (ja) * 1994-03-15 1995-10-03 Fuji Facom Corp スケジューラ定義作成装置
JPH09160791A (ja) * 1995-12-06 1997-06-20 Fuji Electric Co Ltd プログラム負荷調整装置
JP2010160600A (ja) * 2009-01-07 2010-07-22 Yamatake Corp 情報処理装置、スケジューラ、及びスケジューリング方法

Also Published As

Publication number Publication date
JP2014206830A (ja) 2014-10-30

Similar Documents

Publication Publication Date Title
JP5747584B2 (ja) 制御装置およびシステムプログラム
US10324438B2 (en) Sequence-control programming apparatus, sequence-control programming method, and operating system
CN113811852A (zh) 依赖性版本冲突自动解决
US11966731B2 (en) Method for real-time updating of process software
CA2433379A1 (en) Modulo scheduling of multiple instruction chains
JP2875842B2 (ja) プログラマブルコントローラ
JP6879625B2 (ja) プログラマブルコントローラ、管理装置および制御システム
CN104303150B (zh) 用于管理计算机系统中的任务执行的方法
US11287793B2 (en) Control device, control method for control device, information processing program, and recording medium
JP6163842B2 (ja) プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム
CN111160558A (zh) 量子芯片控制器、量子计算处理系统和电子设备
WO2018096717A1 (ja) コントロールシステム及びコントロール方法
JP2019133206A (ja) モータ駆動システム、モータ制御システムおよび自走ロボット
JP6403919B1 (ja) 作画ソフトウェア、記憶媒体および作画装置
US8621430B2 (en) Method for code transformation supporting temporal abstraction of parameters
JPWO2019229845A1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
EP3521950B1 (en) Control unit, data refreshing method, data refreshing program
JP6648663B2 (ja) 演算装置、電子制御装置及び演算方法
JP2002055848A (ja) プログラム実行方式及び当該プログラム実行方式を格納した記憶媒体
JP2010238232A (ja) 産業用コントローラ
JP5511299B2 (ja) データ演算装置の制御回路及びデータ演算装置
JP2008289259A (ja) 位置決め制御装置、駆動制御装置および制御システム演算交信処理方法
JP6357806B2 (ja) コントローラ冗長化システム、そのコントローラ
JP4305400B2 (ja) マイクロコンピュータ
JP2020027346A (ja) コントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170509

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6163842

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