特許第6776987号(P6776987)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社島津製作所の特許一覧

特許6776987タスク実行制御装置及び該装置用プログラム
<>
  • 特許6776987-タスク実行制御装置及び該装置用プログラム 図000002
  • 特許6776987-タスク実行制御装置及び該装置用プログラム 図000003
  • 特許6776987-タスク実行制御装置及び該装置用プログラム 図000004
  • 特許6776987-タスク実行制御装置及び該装置用プログラム 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6776987
(24)【登録日】2020年10月12日
(45)【発行日】2020年10月28日
(54)【発明の名称】タスク実行制御装置及び該装置用プログラム
(51)【国際特許分類】
   G06F 9/48 20060101AFI20201019BHJP
【FI】
   G06F9/48 300H
【請求項の数】5
【全頁数】10
(21)【出願番号】特願2017-75824(P2017-75824)
(22)【出願日】2017年4月6日
(65)【公開番号】特開2018-180716(P2018-180716A)
(43)【公開日】2018年11月15日
【審査請求日】2019年7月19日
(73)【特許権者】
【識別番号】000001993
【氏名又は名称】株式会社島津製作所
(74)【代理人】
【識別番号】110001069
【氏名又は名称】特許業務法人京都国際特許事務所
(72)【発明者】
【氏名】遠藤 直也
【審査官】 清木 泰
(56)【参考文献】
【文献】 特開昭63−217988(JP,A)
【文献】 特開2012−173845(JP,A)
【文献】 特開昭63−156247(JP,A)
【文献】 特開2002−202891(JP,A)
【文献】 特開2002−351509(JP,A)
【文献】 特開平10−171668(JP,A)
【文献】 特開2006−146789(JP,A)
【文献】 米国特許出願公開第2013/0081054(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455− 9/54
G06F15/78
G01N27/60 −27/70
G01N27/92
G01N30/00 −30/96
B01J20/281−20/292
(57)【特許請求の範囲】
【請求項1】
処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、を実施するタスク実行制御装置であって、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には、予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
を備えることを特徴とするタスク実行制御装置。
【請求項2】
請求項1に記載のタスク実行制御装置であって、
前記制御部は、異なる処理部に跨った制御を行う主制御部と、前記入力処理部、前記演算処理部、及び前記出力処理部の少なくとも一つにおけるその処理部内での制御を行う副制御部と、を含み、前記主制御部は、或る処理部において処理を実行する必要があるときに該処理部に対応する副制御部を起動し、該副制御部は主制御部による制御とは独立にその処理部での処理を実行するように該処理部を制御することを特徴とするタスク実行制御装置。
【請求項3】
請求項2に記載のタスク実行制御装置であって、
前記演算処理部はPID制御のための演算処理を実行するものであることを特徴とするタスク実行制御装置。
【請求項4】
処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、をコンピュータ上で実施するためのタスク実行制御装置用プログラムであって、コンピュータを、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
として動作させることを特徴とするタスク実行制御装置用プログラム。
【請求項5】
請求項4に記載のタスク実行制御装置用プログラムであって、
前記制御部は、異なる処理部に跨った制御を行う主制御部と、前記入力処理部、前記演算処理部、及び前記出力処理部の少なくとも一つにおけるその処理部内での制御を行う副制御部と、を含み、前記主制御部は、或る処理部において処理を実行する必要があるときに該処理部に対応する副制御部を起動し、該副制御部は主制御部による制御とは独立にその処理部での処理を実行するように該処理部を制御することを特徴とするタスク実行制御装置用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPUを含み、外部からの入力を受けて何らかのタスクを実行し、その処理結果に基づく情報や信号を出力するためのタスク実行制御装置、及び該装置のためのコンピュータプログラムに関する。本発明に係るタスク実行制御装置及び該装置用プログラムは例えば、クロマトグラフ、質量分析装置、分光測定装置など、様々な分析機器やそれを構成するユニットの動作を制御する制御装置などに利用することができる。
【背景技術】
【0002】
近年、クロマトグラフ(ガスクロマトグラフ、液体クロマトグラフ)装置、質量分析装置、分光測定装置などの分析機器における様々な制御には、CPUやRAM、ROM、タイマなどを備えた汎用のコンピュータが利用されており、該コンピュータにインストールされている専用の制御ソフトウェア(場合によってはファームウェア)が該コンピュータ上で動作することで、分析機器における様々な制御が達成されるようになっている。特に、質量分析装置における各部への印加電圧の制御など、比較的高速で且つ高い精度の制御が要求される場合、コンピュータによる演算処理を利用した制御はごく一般的に利用されている。
【0003】
こうした制御を担う制御装置では、通常、多入力・多出力で、マルチタスク制御が必要である。ここでいう入力は、例えば操作パネルに配置されているキーやスイッチ等(パーソナルコンピュータが利用される場合には、該コンピュータに付設されたキーボードやポインティングデバイス)をユーザが操作することで発生する指令等の入力、主制御部から送信されて来る分析条件などに基づくデータ、或いは、温度センサ、電流センサ、圧力センサ、振動センサなどの各種センサで検知された情報の入力、などを含む。一方、出力は、制御対象を駆動又は制御するためのデジタルデータ出力又はアナログ信号出力などである。
【0004】
マルチタスクの処理方式としては一般に、イベントドリブン方式やタイムシェアリング(タイムスライスともいう)方式がよく知られている。
イベントドリブン方式は、例えば何らかの入力があった等の事象(イベント)が発生すると、それを受けて、割込み処理によって所定のタスクを実行する方式である。この方式では、イベントの発生順に従って、又は優先順位が予め設定されている場合には発生したイベントの優先順位に従って、タスクが実行される。
【0005】
一方、タイムシェアリング方式(特許文献1等参照)は、周期が一定である所定の一周期の期間内に、予め一定の時間内に収まるように決められた(制限された)タスクを決められた順番に実行する方式である。この方式では、或るタスクを実行する必要がない場合であっても、そのタスクを実行すべき順番が来れば一定の実行時間が割り当てられることになる。
例えばグラフィカルユーザインターフェイス(GUI)を有するコンピュータプログラムでは、ユーザによる入力操作に応じたタスクを優先するために、イベントドリブン方式が利用されることが多い。
【0006】
上記二つの方式にはそれぞれ利点・欠点があり、特に入力数、出力数が多くなると次のような問題がある。
イベントドリブン方式では、タスクの処理の順番が決まっておらず、イベントが予期しないタイミングで発生する。そのため、優先順位の低いタスクの実行を開始したのと同時に優先順位の高いイベントの割込みが生じる等、プログラム作成時には予期していない順番で複数のタスクを実行する要求が発生することで制御が不安定になり、それに起因する不具合(例えばハングアップ等)が生じるおそれがある。また、優先順位の高いイベントが連続的に発生することによって優先順位の低いタスクが長い時間に亘り実行できなくなり、それによって不具合が生じることもあり得る。
一方、タイムシェアリング方式では、制御の周期と一つのタスクの処理時間が予め決められているため、予期しないタスクの割込みは生じず、制御は安定している。その反面、待ち時間が必要なタスクが制御全体を律速することになる。そのため、実際には何の処理も実行していない無駄な時間が増加するおそれがあり、制御の速度を上げることが難しい。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−63515号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は上記課題を解決するためになされたものであり、その目的とするところは、マルチタスク制御の安定化を図りつつ、無駄な待ち時間をできるだけ抑えることで制御の高速化を実現することができるタスク実行制御装置及び該装置用のコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために成された本発明に係るタスク実行制御装置は、処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、を実施するタスク実行制御装置であって、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には、予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
を備えることを特徴としている。
【0010】
また上記課題を解決するために成された本発明に係るタスク実行制御装置用プログラムは、処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、をコンピュータ上で実施するためのタスク実行制御装置用プログラムであって、コンピュータを、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
として動作させることを特徴としている。
【0011】
本発明に係るタスク実行制御装置用プログラムをコンピュータで実行することにより具現化される本発明に係るタスク実行制御装置において、複数の入力ポートには、それぞれ入力信号やコマンドが入力される。入力信号はデジタルデータ又はアナログ信号であり、アナログ信号が入力される場合にはそのアナログ信号は当該装置に備えられるアナログデジタル変換部によりデジタルデータに変換される。また、出力ポートから出力される出力信号もデジタルデータ又はアナログ信号であり、アナログ信号が出力される場合にはそのアナログ信号は当該装置に備えられるデジタルアナログ変換部によりデジタルデータから変換されたものである。
【0012】
本発明に係るタスク実行制御装置において、制御部は、入力処理、演算処理、及び出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認する。即ち、一サイクルにおいて三つの処理動作を実行する順番は予め決められており、制御部は、そのサイクルの繰り返しに従って処理の実行の要否を確認する。そのため、途中で処理の順番の入れ替わりは発生しない。そして、処理の実行の要否を確認した結果、処理の実行が不要である場合には速やかに、決められた順番に従った次処理の実行の要否の確認に移行する。一方、或る処理の実行が必要である場合には、その処理部、例えば演算処理部が予め決められた最大時間の範囲内だけ必要な処理を実行するように該処理部を制御する。
【0013】
例えば演算処理部では与えられたコマンドを解読することで処理内容を確定し、その処理内容に従った演算処理を入力信号に対して実行する。その演算処理が予め決められた最大時間の範囲内で終了したならば、制御部はその終了の時点で、決められた順番に従った次処理の実行の要否の確認に移行する。一方、その演算処理が予め決められた最大時間の範囲内で終了しない場合には、その続きを次回以降のサイクルにおいて演算処理の実行が可能な期間に実行する。したがって、一つのコマンドに対応する演算処理が一つのサイクルで完結することもあれば、複数のサイクルに跨って実行されることもある。また、例えば、演算途中で一サイクルの最大時間よりも長い待ち時間を必要とする演算処理を行う場合には、その待ち時間の間にもサイクルは循環する。そのため、一つのコマンドに対応する演算処理が複数のサイクル(連続したサイクルとは限らない)に跨って実行される間に、別の一つのコマンドに対応する演算処理が実施されることもあり得る。
【0014】
本発明に係るタスク実行制御装置及び該装置用プログラムにおいて、好ましくは、前記制御部は、異なる処理部に跨った制御を行う主制御部と、前記入力処理部、前記演算処理部、及び前記出力処理部の少なくとも一つにおけるその処理部内での制御を行う副制御部と、を含み、前記主制御部は、或る処理部において処理を実行する必要があるときに該処理部に対応する副制御部を起動し、該副制御部は主制御部による制御とは独立にその処理部での処理を実行するように該処理部を制御する構成とするとよい。
【0015】
この構成では、タスク制御部において主制御部が、入力処理、演算処理、及び出力処理、という三つの処理動作について処理の実行の要否を確認し、処理の実行の必要がある場合、主制御部は副制御部に処理の実行の命令を出す。副制御部はこの命令を受けて、目的とする処理を遂行するための複数の段階の処理を順次実行するように該当する処理部を制御する。
【0016】
この構成によれば、制御部において異なる処理部に跨る制御を行う主制御部と一つの処理部における制御を行う副制御部との機能を実現するプログラムを分けることができる。それにより、制御部を実現するためのプログラムの構造が簡単になり、例えばプログラムの変更等が容易になる。また、不具合発生時における解析も容易であるため、不具合を速やかに解消することが可能となる。
【0017】
なお、前記演算処理部で実行される演算処理の内容について特に限定はないが、本発明に係るタスク実行制御装置が例えば分析機器の制御装置として用いられる場合、前記演算処理部はPID(Proportional Integral Differential)制御のための演算処理を実行するものとすることができる。
【発明の効果】
【0018】
本発明に係るタスク実行制御装置及び該装置用プログラムによれば、入力処理、演算処理、及び、出力処理、とい三つの処理の順序は予め決まっており、予期しない順序で処理が実施されることがない。また、優先度の低い処理が長い時間に亘り実行されずに放置される事態も避けることができる。それにより、マルチタスク制御を安定的に行うことができる。また、本発明に係るタスク実行制御装置及び該装置用プログラムによれば、1サイクル中で一つの処理部で実行される処理の時間が所定の最大時間に制限されているため、例えば長い待ち時間を要するような処理がある場合に、その待ち時間の間に別の処理を実行することができる。それにより、何らの処理も実施していない無駄な待ち時間の発生を抑えることができ、時間を有効に利用して制御の高速化を実現することができる。
【図面の簡単な説明】
【0019】
図1】本発明の一実施例であるタスク実行制御装置を利用した分析システムにおける制御系の一例を示す図。
図2】本実施例のタスク実行制御装置の機能ブロック構成図。
図3】本実施例のタスク実行制御装置における主制御モジュールの処理手順の説明図。
図4】本実施例のタスク実行制御装置における副制御モジュールの処理手順の具体例の説明図。
【発明を実施するための形態】
【0020】
以下、本発明の一実施例であるタスク実行制御装置について、添付図面を参照して説明する。
図1は本実施例のタスク実行制御装置を利用した分析システムにおける制御系の一例を示す図、図2は本実施例のタスク実行制御装置の機能ブロック構成図である。
【0021】
本分析システムの制御系は、図1に示すように、ユーザが操作する入力部3、ユーザインターフェイスやシステム全体の統括的な制御を担う中央制御部1、制御対象の一例である電源部5、制御対象毎に設けられる個別制御部2、を含み、個別制御部2には、各種のセンサ4からの信号が入力される。例えばこの分析システムが四重極−飛行時間型(Q−TOF型)質量分析システムである場合、電源部5は、四重極マスフィルタの各ロッド電極に高周波電圧と直流電圧とを重畳した電圧を印加する電源部、直交加速式飛行時間型質量分析計の直交加速部にパルス状の直流高電圧を印加する電源部、或いは、四重極マスフィルタから直交加速部までイオンを輸送するためのイオン輸送光学系に所定の電圧を印加する電源部、などである。こうした制御対象は複数存在し、その制御対象毎に個別制御部2が設けられている構成が一般的である。
【0022】
図1における個別制御部2が図2に示すタスク実行制御装置10に相当する。本実施例のタスク実行制御装置10は、図示しないものの、ハードウェア構成として、CPU、ROM、RAM、D/A変換器、A/D変換器、タイマなどを含むコンピュータを中心としたものであり、機能ブロックとして、入力処理部16、演算処理部17、出力処理部18、及び制御部19、を備える。また、デジタルデータの入力が可能である複数のデジタル入力ポート11と、内部のA/D変換器でデジタルデータに変換されるアナログ入力信号が入力される複数のアナログ入力ポート12と、デジタルデータの出力が可能である複数のデジタル出力ポート13と、内部のD/A変換器で変換されたアナログ出力信号が出力される複数のアナログ出力ポート14と、データの入出力が可能である汎用I/Oポート15と、を備える。入力処理部16は複数のデジタル入力ポート11、アナログ入力ポート12及び汎用I/Oポート15に接続され、出力処理部18は複数のデジタル出力ポート13、アナログ出力ポート14及び汎用I/Oポート15に接続される。
【0023】
本実施例のタスク実行制御装置10により、図1に示したように、電源部5の制御を行う場合を例に挙げてその動作を説明する。
このとき、タスク実行制御装置10(個別制御部2)には、中央制御部1から処理内容を示すコマンド等が送信されてくるほか、制御対象である電源部5において電圧センサでモニタされた電圧検出信号や温度センサでモニタされた周囲温度の検出信号などが入力される。タスク実行制御装置10において演算処理部17はPID制御の演算処理を行うものであり、中央制御部1から与えられたコマンドに応じた演算処理をセンサ4等から入力された信号に対して実行し、その処理結果を電源部5に対して出力する。
【0024】
図2に示すように、制御部19は主制御モジュール19aと副制御モジュール19bとの二つのモジュールから成る。主制御モジュール19aは、入力処理部16、演算処理部17、出力処理部18という三つの処理部での処理の順序や処理を実行可能ある時間の割当て等を決めるものである。副制御モジュール19bは主制御モジュール19aの下位に位置し、主制御モジュール19a等からの指示に応じて各処理部16、17、18における所定の処理を実行するように該処理部を制御するものである。もちろん、主制御モジュール19a、副制御モジュール19bはそれぞれ機能ブロックであって、その実体はそれぞれプログラムである。
【0025】
図3は、本実施例のタスク実行制御装置10における主制御モジュール19aによる処理手順の説明図である。
主制御モジュール19aは、図3に示すような三つのパートを含むサイクルを繰り返しながら入力処理部16、演算処理部17、及び出力処理部18をそれぞれ制御する。その三つのパートとは、演算処理部17における演算処理、出力処理部18における出力設定処理、及び、入力処理部16における入力取得処理であり、それら三つのパートの実行順序は予め決められている。演算処理のパートでは、演算処理部17においてまずコマンドを解読し、そのコマンドに従ったPID処理を実施し、そのあと、それ以外の例外処理を実行する。出力設定処理のパートでは、デジタル出力ポート13を通したデータの出力、アナログ出力ポート14を通したアナログ信号の出力、汎用I/Oポート15を通したデータ出力を順次実行する。入力取得処理のパートでは、デジタル入力ポート11を通したコマンドの受信、アナログ入力ポート12を通したアナログ信号の入力、汎用I/Oポート15を通したデータ入力を順次実行する。
【0026】
上述したように、一つのサイクルにおいては、演算処理部17における演算処理、出力処理部18における出力設定処理、及び、入力処理部16における入力取得処理がその順序で実行されるが、必ずしも実行すべき処理が存在するとは限らない。そこで、主制御モジュール19aは演算処理、出力設定処理、及び、入力取得処理の実行の要否を、図3に示すように決められた順序で確認する。例えば演算処理の要否を確認し、演算処理を実行する必要がなければ演算処理を実行することなく、次に出力設定処理の要否を確認する。また、入力取得処理の実行の要否を確認した結果、入力取得処理を実行する必要がなければそのサイクルを終了して次のサイクルにおける最初のパートである演算処理の要否を確認する。
【0027】
また、1サイクルにおける、演算処理、出力設定処理、及び入力取得処理それぞれの最大実行時間は予め決められており、主制御モジュール19aはその最大実行時間を超えないように処理実行の所要時間を管理する。そのため、仮に、1サイクル中で演算処理、出力設定処理、及び入力取得処理のいずれもが実行される場合であっても、1サイクルの最大時間はそれら各処理の最大実行時間の和で制約され、それ以上に長くなることはない。なお、1サイクル中の各処理の最大実行時間は適宜に定めることができるが、例えば10ms程度にしておけばよい。
【0028】
即ち、1サイクルの所要時間は処理の有無や処理の内容によって変化するものの、その最大時間は予め決まっている。したがって、例えば或るサイクルにおいて演算処理を実行する場合であっても、その実行開始時点から上記1サイクルの最大時間が経過する時点以前に、次のサイクルにおいて演算処理の要否が確認されることになる。そのため、1サイクルの最大時間以内に少なくとも1回は、演算処理、出力設定処理、及び、入力取得処理の要否が確認されることになり、イベントドリブン方式のように優先順位の低いタスク(処理)が長い時間に亘って実行されずに放置される事態は起こらない。一方、実際の処理の要否に拘わらず、決まった順序で上記三つのパートの処理の要否が確認されるので、処理の順序の規則性が保たれる。そのため、処理の順序が定まらないことに起因する制御の不安定性はなくなり、常に安定的な制御が可能となる。
【0029】
上述したように、1サイクル中における、演算処理、出力設定処理、及び、入力取得処理の最大実行時間は決められているが、それぞれの処理がこの最大実行時間内に終了するとは限らない。そこで、例えば一連の演算処理の途中で1サイクル中の演算処理のパートに割り当てられている最大実行時間に達してしまった場合には、その実行を中断し、次のサイクルの同じ演算処理のパートにおいて、中断されていた処理を再開する。これは、演算処理に限らず、出力設定処理や入力取得処理でも同様である。このような手順で処理を遂行するので、或る一連の演算処理や出力設定処理、入力取得処理は、1サイクル中に終了する場合もあれば、複数サイクルに跨る場合もある。
【0030】
図4は、副制御モジュール19bによる処理手順の一例の説明図である。この例は、出力処理部18で実行される出力設定処理においてD/A変換器によるアナログ出力信号をアナログ出力ポート14から出力する際の処理である。図4は出力処理部18の状態の遷移を示す一種のステートマシン図である。
【0031】
上述したように主制御モジュール19aが出力設定処理の要否を確認しアナログ信号の出力処理を行う必要性を把握すると、それに対応した副制御モジュール19bを起動する。この副制御モジュール19bの制御の下で出力処理部18は、汎用I/Oポート15の一つであるPort1を”H”レベルにセットし(State 1)、そのあと、タイマの割込み処理(IRQ)により10msの期間待機する(State 2)。そして、タイマから10msが経過したことの通知を受けると、出力処理部18はD/A変換器の出力をアナログ出力ポート14に送出する(State 3)。
【0032】
そのあと、タイマの割込み処理(IRQ)により50msの期間待機し(State 4)、50ms経過後に、汎用I/Oポートの他の一つであるPort2を”L”レベルにセットして処理を終了する(State 5)。これにより、約50msの期間だけアナログ出力ポート14にD/A変換されたアナログ信号が出力される。なお、アナログ出力ポート14に出力されるアナログ出力信号を受け取る側の回路は、Port1、Port2の信号レベルの変化を利用してそのアナログ出力信号を読み込むようにすればよい。
【0033】
図4に示した出力処理部18における出力処理では、State 1の開始時点からState 5の終了時点までの所要時間が1サイクルの最大時間を超える。そのため、実際には上述したように複数サイクルに跨って上記処理が完了することになる。また、タイマの割込み処理によってアナログ出力信号の出力開始、終了のタイミングが決まるが、この割込み処理は割込み要求に応じて即座に実行されるとは限らず、通常、割込み要求があったあとの最初の出力処理のパートで実行されることになる。その場合でも、出力の時間遅れは殆ど無視できる程度である。
【0034】
なお、上記実施例では制御部19を主制御モジュール19aと副制御モジュール19bとに分けていたが、必ずしもこのように分けなくてもよいことは当然である。
また上記実施例は本発明の一例にすぎず、本発明の趣旨の範囲で適宜変形、修正、追加等を行っても、本願特許請求の範囲に包含されることは明らかである。
【符号の説明】
【0035】
1…中央制御部
2…個別制御部
3…入力部
4…センサ
5…電源部
10…タスク実行制御装置
11…デジタル入力ポート
12…アナログ入力ポート
13…デジタル出力ポート
14…アナログ出力ポート
15…汎用I/Oポート
16…入力処理部
17…演算処理部
18…出力処理部
19…制御部
19a…主制御モジュール
19b…副制御モジュール
図1
図2
図3
図4