(57)【要約】【課題】マルチタスク制御の安定化を図りつつ、無駄な待ち時間を抑えて制御の高速化を図る。【解決手段】制御部は、演算処理、出力設定処理及び入力取得処理という決まった順序の三つのパートを含むサイクルを繰り返しながら、入力処理部、演算処理部及び出力処理部をそれぞれ制御する。制御部は三つのパートにおいて各々処理の要否を確認し、処理が不要であれば次のパート（又はサイクル）に移行する。或るパートの処理がそのパートに定められた最大実行時間内に終了しなければ、次のサイクルの同じパートで処理が継続される。これにより、処理の順序が不規則にならず安定的な制御が行える。また、演算処理、出力設定処理及び入力取得処理の要否の確認が所定時間内に必ず１回実行されるので、優先順位の低い処理が長い時間放置されることもなくなる。また、何の処理も行わない無駄な時間が削減されるので、制御を高速化することができる。【選択図】図３
2018180716.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、を実施するタスク実行制御装置であって、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には、予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
を備えることを特徴とするタスク実行制御装置。
【請求項２】
請求項１に記載のタスク実行制御装置であって、
前記制御部は、異なる処理部に跨った制御を行う主制御部と、前記入力処理部、前記演算処理部、及び前記出力処理部の少なくとも一つにおけるその処理部内での制御を行う副制御部と、を含み、前記主制御部は、或る処理部において処理を実行する必要があるときに該処理部に対応する副制御部を起動し、該副制御部は主制御部による制御とは独立にその処理部での処理を実行するように該処理部を制御することを特徴とするタスク実行制御装置。
【請求項３】
請求項２に記載のタスク実行制御装置であって、
前記演算処理部はＰＩＤ制御のための演算処理を実行するものであることを特徴とするタスク実行制御装置。
【請求項４】
処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、をコンピュータ上で実施するためのタスク実行制御装置用プログラムであって、コンピュータを、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
として動作させることを特徴とするタスク実行制御装置用プログラム。
【請求項５】
請求項４に記載のタスク実行制御装置用プログラムであって、
前記制御部は、異なる処理部に跨った制御を行う主制御部と、前記入力処理部、前記演算処理部、及び前記出力処理部の少なくとも一つにおけるその処理部内での制御を行う副制御部と、を含み、前記主制御部は、或る処理部において処理を実行する必要があるときに該処理部に対応する副制御部を起動し、該副制御部は主制御部による制御とは独立にその処理部での処理を実行するように該処理部を制御することを特徴とするタスク実行制御装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵを含み、外部からの入力を受けて何らかのタスクを実行し、その処理結果に基づく情報や信号を出力するためのタスク実行制御装置、及び該装置のためのコンピュータプログラムに関する。本発明に係るタスク実行制御装置及び該装置用プログラムは例えば、クロマトグラフ、質量分析装置、分光測定装置など、様々な分析機器やそれを構成するユニットの動作を制御する制御装置などに利用することができる。
【背景技術】
【０００２】
近年、クロマトグラフ（ガスクロマトグラフ、液体クロマトグラフ）装置、質量分析装置、分光測定装置などの分析機器における様々な制御には、ＣＵＰやＲＡＭ、ＲＯＭ、タイマなどを備えた汎用のコンピュータが利用されており、該コンピュータにインストールされている専用の制御ソフトウェア（場合によってはファームウェア）が該コンピュータ上で動作することで、分析機器における様々な制御が達成されるようになっている。特に、質量分析装置における各部への印加電圧の制御など、比較的高速で且つ高い精度の制御が要求される場合、コンピュータによる演算処理を利用した制御はごく一般的に利用されている。
【０００３】
こうした制御を担う制御装置では、通常、多入力・多出力で、マルチタスク制御が必要である。ここでいう入力は、例えば操作パネルに配置されているキーやスイッチ等（パーソナルコンピュータが利用される場合には、該コンピュータに付設されたキーボードやポインティングデバイス）をユーザが操作することで発生する指令等の入力、主制御部から送信されて来る分析条件などに基づくデータ、或いは、温度センサ、電流センサ、圧力センサ、振動センサなどの各種センサで検知された情報の入力、などを含む。一方、出力は、制御対象を駆動又は制御するためのデジタルデータ出力又はアナログ信号出力などである。
【０００４】
マルチタスクの処理方式としては一般に、イベントドリブン方式やタイムシェアリング（タイムスライスともいう）方式がよく知られている。
イベントドリブン方式は、例えば何らかの入力があった等の事象（イベント）が発生すると、それを受けて、割込み処理によって所定のタスクを実行する方式である。この方式では、イベントの発生順に従って、又は優先順位が予め設定されている場合には発生したイベントの優先順位に従って、タスクが実行される。
【０００５】
一方、タイムシェアリング方式（特許文献１等参照）は、周期が一定である所定の一周期の期間内に、予め一定の時間内に収まるように決められた（制限された）タスクを決められた順番に実行する方式である。この方式では、或るタスクを実行する必要がない場合であっても、そのタスクを実行すべき順番が来れば一定の実行時間が割り当てられることになる。
例えばグラフィカルユーザインターフェイス（ＧＵＩ）を有するコンピュータプログラムでは、ユーザによる入力操作に応じたタスクを優先するために、イベントドリブン方式が利用されることが多い。
【０００６】
上記二つの方式にはそれぞれ利点・欠点があり、特に入力数、出力数が多くなると次のような問題がある。
イベントドリブン方式では、タスクの処理の順番が決まっておらず、イベントが予期しないタイミングで発生する。そのため、優先順位の低いタスクの実行を開始したのと同時に優先順位の高いイベントの割込みが生じる等、プログラム作成時には予期していない順番で複数のタスクを実行する要求が発生することで制御が不安定になり、それに起因する不具合（例えばハングアップ等）が生じるおそれがある。また、優先順位の高いイベントが連続的に発生することによって優先順位の低いタスクが長い時間に亘り実行できなくなり、それによって不具合が生じることもあり得る。
一方、タイムシェアリング方式では、制御の周期と一つのタスクの処理時間が予め決められているため、予期しないタスクの割込みは生じず、制御は安定している。その反面、待ち時間が必要なタスクが制御全体を律速することになる。そのため、実際には何の処理も実行していない無駄な時間が増加するおそれがあり、制御の速度を上げることが難しい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−６３５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は上記課題を解決するためになされたものであり、その目的とするところは、マルチタスク制御の安定化を図りつつ、無駄な待ち時間をできるだけ抑えることで制御の高速化を実現することができるタスク実行制御装置及び該装置用のコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために成された本発明に係るタスク実行制御装置は、処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、を実施するタスク実行制御装置であって、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には、予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
を備えることを特徴としている。
【００１０】
また上記課題を解決するために成された本発明に係るタスク実行制御装置用プログラムは、処理対象の入力信号及び処理内容を示すコマンドを受け付ける入力動作と、前記入力信号に対し前記コマンドに対応する演算処理をタスクとして実行する演算処理動作と、該演算処理動作により得られる処理結果を出力する出力動作と、をコンピュータ上で実施するためのタスク実行制御装置用プログラムであって、コンピュータを、
a)複数の入力ポートにそれぞれ入力される入力信号及びコマンドを取り込む処理を実行する入力処理部と、
b)前記コマンドを解読するとともにその解読結果に基づいて演算処理を実行する演算処理部と、
c)前記演算処理部による処理結果である出力信号を出力ポートから出力する出力処理部、
d)前記入力処理部による入力処理、前記演算処理部による演算処理、及び、前記出力処理部による出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認し、或る処理の実行が不要である場合には該所定の順序に従った次処理の実行の要否の確認に移行し、或る処理の実行が必要である場合には予め決められた最大時間の範囲内だけその処理を実行するように各部を制御する制御部と、
として動作させることを特徴としている。
【００１１】
本発明に係るタスク実行制御装置用プログラムをコンピュータで実行することにより具現化される本発明に係るタスク実行制御装置において、複数の入力ポートには、それぞれ入力信号やコマンドが入力される。入力信号はデジタルデータ又はアナログ信号であり、アナログ信号が入力される場合にはそのアナログ信号は当該装置に備えられるアナログデジタル変換部によりデジタルデータに変換される。また、出力ポートから出力される出力信号もデジタルデータ又はアナログ信号であり、アナログ信号が出力される場合にはそのアナログ信号は当該装置に備えられるデジタルアナログ変換部によりデジタルデータから変換されたものである。
【００１２】
本発明に係るタスク実行制御装置において、制御部は、入力処理、演算処理、及び出力処理、という三つの処理動作について、所定の順序で循環的に処理の実行の要否を確認する。即ち、一サイクルにおいて三つの処理動作を実行する順番は予め決められており、制御部は、そのサイクルの繰り返しに従って処理の実行の要否を確認する。そのため、途中で処理の順番の入れ替わりは発生しない。そして、処理の実行の要否を確認した結果、処理の実行が不要である場合には速やかに、決められた順番に従った次処理の実行の要否の確認に移行する。一方、或る処理の実行が必要である場合には、その処理部、例えば演算処理部が予め決められた最大時間の範囲内だけ必要な処理を実行するように該処理部を制御する。
【００１３】
例えば演算処理部では与えられたコマンドを解読することで処理内容を確定し、その処理内容に従った演算処理を入力信号に対して実行する。その演算処理が予め決められた最大時間の範囲内で終了したならば、制御部はその終了の時点で、決められた順番に従った次処理の実行の要否の確認に移行する。一方、その演算処理が予め決められた最大時間の範囲内で終了しない場合には、その続きを次回以降のサイクルにおいて演算処理の実行が可能な期間に実行する。したがって、一つのコマンドに対応する演算処理が一つのサイクルで完結することもあれば、複数のサイクルに跨って実行されることもある。また、例えば、演算途中で一サイクルの最大時間よりも長い待ち時間を必要とする演算処理を行う場合には、その待ち時間の間にもサイクルは循環する。そのため、一つのコマンドに対応する演算処理が複数のサイクル（連続したサイクルとは限らない）に跨って実行される間に、別の一つのコマンドに対応する演算処理が実施されることもあり得る。
【００１４】
本発明に係るタスク実行制御装置及び該装置用プログラムにおいて、好ましくは、前記制御部は、異なる処理部に跨った制御を行う主制御部と、前記入力処理部、前記演算処理部、及び前記出力処理部の少なくとも一つにおけるその処理部内での制御を行う副制御部と、を含み、前記主制御部は、或る処理部において処理を実行する必要があるときに該処理部に対応する副制御部を起動し、該副制御部は主制御部による制御とは独立にその処理部での処理を実行するように該処理部を制御する構成とするとよい。
【００１５】
この構成では、タスク制御部において主制御部が、入力処理、演算処理、及び出力処理、という三つの処理動作について処理の実行の要否を確認し、処理の実行の必要がある場合、主制御部は副制御部に処理の実行の命令を出す。副制御部はこの命令を受けて、目的とする処理を遂行するための複数の段階の処理を順次実行するように該当する処理部を制御する。
【００１６】
この構成によれば、制御部において異なる処理部に跨る制御を行う主制御部と一つの処理部における制御を行う副制御部との機能を実現するプログラムを分けることができる。それにより、制御部を実現するためのプログラムの構造が簡単になり、例えばプログラムの変更等が容易になる。また、不具合発生時における解析も容易であるため、不具合を速やかに解消することが可能となる。
【００１７】
なお、前記演算処理部で実行される演算処理の内容について特に限定はないが、本発明に係るタスク実行制御装置が例えば分析機器の制御装置として用いられる場合、前記演算処理部はＰＩＤ（Proportional Integral Differential）制御のための演算処理を実行するものとすることができる。
【発明の効果】
【００１８】
本発明に係るタスク実行制御装置及び該装置用プログラムによれば、入力処理、演算処理、及び、出力処理、とい三つの処理の順序は予め決まっており、予期しない順序で処理が実施されることがない。また、優先度の低い処理が長い時間に亘り実行されずに放置される事態も避けることができる。それにより、マルチタスク制御を安定的に行うことができる。また、本発明に係るタスク実行制御装置及び該装置用プログラムによれば、１サイクル中で一つの処理部で実行される処理の時間が所定の最大時間に制限されているため、例えば長い待ち時間を要するような処理がある場合に、その待ち時間の間に別の処理を実行することができる。それにより、何らの処理も実施していない無駄な待ち時間の発生を抑えることができ、時間を有効に利用して制御の高速化を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施例であるタスク実行制御装置を利用した分析システムにおける制御系の一例を示す図。
【図２】本実施例のタスク実行制御装置の機能ブロック構成図。
【図３】本実施例のタスク実行制御装置における主制御モジュールの処理手順の説明図。
【図４】本実施例のタスク実行制御装置における副制御モジュールの処理手順の具体例の説明図。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施例であるタスク実行制御装置について、添付図面を参照して説明する。
図１は本実施例のタスク実行制御装置を利用した分析システムにおける制御系の一例を示す図、図２は本実施例のタスク実行制御装置の機能ブロック構成図である。
【００２１】
本分析システムの制御系は、図１に示すように、ユーザが操作する入力部３、ユーザインターフェイスやシステム全体の統括的な制御を担う中央制御部１、制御対象の一例である電源部５、制御対象毎に設けられる個別制御部２、を含み、個別制御部２には、各種のセンサ４からの信号が入力される。例えばこの分析システムが四重極−飛行時間型（Ｑ−ＴＯＦ型）質量分析システムである場合、電源部５は、四重極マスフィルタの各ロッド電極に高周波電圧と直流電圧とを重畳した電圧を印加する電源部、直交加速式飛行時間型質量分析計の直交加速部にパルス状の直流高電圧を印加する電源部、或いは、四重極マスフィルタから直交加速部までイオンを輸送するためのイオン輸送光学系に所定の電圧を印加する電源部、などである。こうした制御対象は複数存在し、その制御対象毎に個別制御部２が設けられている構成が一般的である。
【００２２】
図１における個別制御部２が図２に示すタスク実行制御装置１０に相当する。本実施例のタスク実行制御装置１０は、図示しないものの、ハードウェア構成として、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｄ／Ａ変換器、Ａ／Ｄ変換器、タイマなどを含むコンピュータを中心としたものであり、機能ブロックとして、入力処理部１６、演算処理部１７、出力処理部１８、及び制御部１９、を備える。また、デジタルデータの入力が可能である複数のデジタル入力ポート１１と、内部のＡ／Ｄ変換器でデジタルデータに変換されるアナログ入力信号が入力される複数のアナログ入力ポート１２と、デジタルデータの出力が可能である複数のデジタル出力ポート１３と、内部のＤ／Ａ変換器で変換されたアナログ出力信号が出力される複数のアナログ出力ポート１４と、データの入出力が可能である汎用Ｉ／Ｏポート１５と、を備える。入力処理部１６は複数のデジタル入力ポート１１、アナログ入力ポート１２及び汎用Ｉ／Ｏポート１５に接続され、出力処理部１７は複数のデジタル出力ポート１３、アナログ出力ポート１４及び汎用Ｉ／Ｏポート１５に接続される。
【００２３】
本実施例のタスク実行制御装置１０により、図１に示したように、電源部５の制御を行う場合を例に挙げてその動作を説明する。
このとき、タスク実行制御装置１０（個別制御部２）には、中央制御部１から処理内容を示すコマンド等が送信されてくるほか、制御対象である電源部５において電圧センサでモニタされた電圧検出信号や温度センサでモニタされた周囲温度の検出信号などが入力される。タスク実行制御装置１０において演算処理部１７はＰＩＤ制御の演算処理を行うものであり、中央制御部１から与えられたコマンドに応じた演算処理をセンサ４等から入力された信号に対して実行し、その処理結果を電源部５に対して出力する。
【００２４】
図２に示すように、制御部１９は主制御モジュール１９ａと副制御モジュール１９ｂとの二つのモジュールから成る。主制御モジュール１９ａは、入力処理部１６、演算処理部１７、出力処理部１８という三つの処理部での処理の順序や処理を実行可能ある時間の割当て等を決めるものである。副制御モジュール１９ｂは主制御モジュール１９ａの下位に位置し、主制御モジュール１９ａ等からの指示に応じて各処理部１６、１７、１８における所定の処理を実行するように該処理部を制御するものである。もちろん、主制御モジュール１９ａ、副制御モジュール１９ｂはそれぞれ機能ブロックであって、その実体はそれぞれプログラムである。
【００２５】
図３は、本実施例のタスク実行制御装置１０における主制御モジュール１９ａによる処理手順の説明図である。
主制御モジュール１９ａは、図３に示すような三つのパートを含むサイクルを繰り返しながら入力処理部１６、演算処理部１７、及び出力処理部１８をそれぞれ制御する。その三つのパートとは、演算処理部１７における演算処理、出力処理部１８における出力設定処理、及び、入力処理部１６における入力取得処理であり、それら三つのパートの実行順序は予め決められている。演算処理のパートでは、演算処理部１７においてまずコマンドを解読し、そのコマンドに従ったＰＩＤ処理を実施し、そのあと、それ以外の例外処理を実行する。出力設定処理のパートでは、デジタル出力ポート１３を通したデータの出力、アナログ出力ポート１４を通したアナログ信号の出力、汎用Ｉ／Ｏポート１５を通したデータ出力を順次実行する。入力取得処理のパートでは、デジタル入力ポート１１を通したコマンドの受信、アナログ入力ポート１２を通したアナログ信号の入力、汎用Ｉ／Ｏポート１５を通したデータ入力を順次実行する。
【００２６】
上述したように、一つのサイクルにおいては、演算処理部１７における演算処理、出力処理部１８における出力設定処理、及び、入力処理部１６における入力取得処理がその順序で実行されるが、必ずしも実行すべき処理が存在するとは限らない。そこで、主制御モジュール１９ａは演算処理、出力設定処理、及び、入力取得処理の実行の要否を、図３に示すように決められた順序で確認する。例えば演算処理の要否を確認し、演算処理を実行する必要がなければ演算処理を実行することなく、次に出力設定処理の要否を確認する。また、入力取得処理の実行の要否を確認した結果、入力取得処理を実行する必要がなければそのサイクルを終了して次のサイクルにおける最初のパートである演算処理の要否を確認する。
【００２７】
また、１サイクルにおける、演算処理、出力設定処理、及び入力取得処理それぞれの最大実行時間は予め決められており、主制御モジュール１９ａはその最大実行時間を超えないように処理実行の所要時間を管理する。そのため、仮に、１サイクル中で演算処理、出力設定処理、及び入力取得処理のいずれもが実行される場合であっても、１サイクルの最大時間はそれら各処理の最大実行時間の和で制約され、それ以上に長くなることはない。なお、１サイクル中の各処理の最大実行時間は適宜に定めることができるが、例えば１０ms程度にしておけばよい。
【００２８】
即ち、１サイクルの所要時間は処理の有無や処理の内容によって変化するものの、その最大時間は予め決まっている。したがって、例えば或るサイクルにおいて演算処理を実行する場合であっても、その実行開始時点から上記１サイクルの最大時間が経過する時点以前に、次のサイクルにおいて演算処理の要否が確認されることになる。そのため、１サイクルの最大時間以内に少なくとも１回は、演算処理、出力設定処理、及び、入力取得処理の要否が確認されることになり、イベントドリブン方式のように優先順位の低いタスク（処理）が長い時間に亘って実行されずに放置される事態は起こらない。一方、実際の処理の要否に拘わらず、決まった順序で上記三つのパートの処理の要否が確認されるので、処理の順序の規則性が保たれる。そのため、処理の順序が定まらないことに起因する制御の不安定性はなくなり、常に安定的な制御が可能となる。
【００２９】
上述したように、１サイクル中における、演算処理、出力設定処理、及び、入力取得処理の最大実行時間は決められているが、それぞれの処理がこの最大実行時間内に終了するとは限らない。そこで、例えば一連の演算処理の途中で１サイクル中の演算処理のパートに割り当てられている最大実行時間に達してしまった場合には、その実行を中断し、次のサイクルの同じ演算処理のパートにおいて、中断されていた処理を再開する。これは、演算処理に限らず、出力設定処理や入力取得処理でも同様である。このような手順で処理を遂行するので、或る一連の演算処理や出力設定処理、入力取得処理は、１サイクル中に終了する場合もあれば、複数サイクルに跨る場合もある。
【００３０】
図４は、副制御モジュール１９ｂによる処理手順の一例の説明図である。この例は、出力処理部１８で実行される出力設定処理においてＤ／Ａ変換器によるアナログ出力信号をアナログ出力ポート１４から出力する際の処理である。図４は出力処理部１８の状態の遷移を示す一種のステートマシン図である。
【００３１】
上述したように主制御モジュール１９ａが出力設定処理の要否を確認しアナログ信号の出力処理を行う必要性を把握すると、それに対応した副制御モジュール１９ｂを起動する。この副制御モジュール１９ｂの制御の下で出力処理部１８は、汎用Ｉ／Ｏポート１５の一つであるPort1を”Ｈ”レベルにセットし（State 1）、そのあと、タイマの割込み処理（IRQ）により１０msの期間待機する（State 2）。そして、タイマから１０msが経過したことの通知を受けると、出力処理部１８はＤ／Ａ変換器の出力をアナログ出力ポート１４に送出する（State 3）。
【００３２】
そのあと、タイマの割込み処理（IRQ）により５０msの期間待機し（State 4）、５０ms経過後に、汎用Ｉ／Ｏポートの他の一つであるPort2を”Ｌ”レベルにセットして処理を終了する（State 5）。これにより、約５０msの期間だけアナログ出力ポート１４にＤ／Ａ変換されたアナログ信号が出力される。なお、アナログ出力ポート１４に出力されるアナログ出力信号を受け取る側の回路は、Port1、Port2の信号レベルの変化を利用してそのアナログ出力信号を読み込むようにすればよい。
【００３３】
図４に示した出力処理部１８における出力処理では、State 1の開始時点からState 5の終了時点までの所要時間が１サイクルの最大時間を超える。そのため、実際には上述したように複数サイクルに跨って上記処理が完了することになる。また、タイマの割込み処理によってアナログ出力信号の出力開始、終了のタイミングが決まるが、この割込み処理は割込み要求に応じて即座に実行されるとは限らず、通常、割込み要求があったあとの最初の出力処理のパートで実行されることになる。その場合でも、出力の時間遅れは殆ど無視できる程度である。
【００３４】
なお、上記実施例では制御部１９を主制御モジュール１９ａと副制御モジュール１９ｂとに分けていたが、必ずしもこのように分けなくてもよいことは当然である。
また上記実施例は本発明の一例にすぎず、本発明の趣旨の範囲で適宜変形、修正、追加等を行っても、本願特許請求の範囲に包含されることは明らかである。
【符号の説明】
【００３５】
１…中央制御部
２…個別制御部
３…入力部
４…センサ
５…電源部
１０…タスク実行制御装置
１１…デジタル入力ポート
１２…アナログ入力ポート
１３…デジタル出力ポート
１４…アナログ出力ポート
１５…汎用Ｉ／Ｏポート
１６…入力処理部
１７…演算処理部
１８…出力処理部
１９…制御部
１９ａ…主制御モジュール
１９ｂ…副制御モジュール
【図１】
2018180716.tif 000003
【図２】
2018180716.tif 000004
【図３】
2018180716.tif 000005
【図４】
2018180716.tif 000006