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

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

▶ 横河電機株式会社の特許一覧

特許5652648外部デバイスアクセス装置およびコンピュータプログラム
<>
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000002
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000003
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000004
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000005
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000006
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000007
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000008
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000009
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000010
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000011
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000012
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000013
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000014
  • 特許5652648-外部デバイスアクセス装置およびコンピュータプログラム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5652648
(24)【登録日】2014年11月28日
(45)【発行日】2015年1月14日
(54)【発明の名称】外部デバイスアクセス装置およびコンピュータプログラム
(51)【国際特許分類】
   G06F 13/10 20060101AFI20141218BHJP
   G06F 9/50 20060101ALI20141218BHJP
【FI】
   G06F13/10 330D
   G06F9/46 462A
【請求項の数】2
【全頁数】21
(21)【出願番号】特願2010-226759(P2010-226759)
(22)【出願日】2010年10月6日
(65)【公開番号】特開2012-79275(P2012-79275A)
(43)【公開日】2012年4月19日
【審査請求日】2013年9月20日
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(72)【発明者】
【氏名】矢倉 正毅
【審査官】 稲葉 崇
(56)【参考文献】
【文献】 特開平11−143800(JP,A)
【文献】 特開平08−241263(JP,A)
【文献】 国際公開第2009/113381(WO,A1)
【文献】 特開2001−209607(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/10−13/14
G06F 9/46−9/54
G06F 13/38−13/42
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
外部デバイスに対するアクセス処理を行なうための送信処理部と受信処理部とを含んだ処理実行単位を複数有し、前記処理実行単位を切替えて実行させる制御部と、
前記送信処理部による外部デバイスに対するアクセス要求を蓄積するバッファ部と、
前記バッファ部に空きがない場合に、前記アクセス要求に関する情報を蓄積する待ち行列部とを備え、
前記受信処理部は、外部デバイスからアクセス要求に対する応答を受信すると、応答処理を行ない、対応するバッファ部を解放した後、前記待ち行列部にアクセス要求に関する情報が蓄積されている場合には、他の処理実行単位が行なったアクセス要求であっても、当該アクセス要求に関する情報の前記バッファへの詰替を行なうとともに、当該アクセス要求に関する情報に対応するアクセス要求を、対応する外部デバイスに送信することを特徴とする外部デバイスアクセス装置。
【請求項2】
外部デバイスに対するアクセス処理を行なうための送信処理部と受信処理部とを含んだ処理実行単位を複数有し、前記処理実行単位を切替えて実行させる制御部と、
前記送信処理部による外部デバイスに対するアクセス要求を蓄積するバッファ部と、
前記バッファ部に空きがない場合に、前記アクセス要求に関する情報を蓄積する待ち行列部として情報処理装置を機能させるコンピュータプログラムであって、
前記受信処理部は、外部デバイスからアクセス要求に対する応答を受信すると、応答処理を行ない、対応するバッファ部を解放した後、前記待ち行列部にアクセス要求に関する情報が蓄積されている場合には、他の処理実行単位が行なったアクセス要求であっても、当該アクセス要求に関する情報の前記バッファへの詰替を行なうとともに、当該アクセス要求に関する情報に対応するアクセス要求を、対応する外部デバイスに送信することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の外部デバイスに対するアクセスが同時並行的に発生する外部デバイスアクセス装置および情報処理装置を外部デバイスアクセス装置として機能させるコンピュータプログラムに関する。
【背景技術】
【0002】
図7は、従来の外部デバイスアクセス装置の外部デバイスに対するアクセス手順について説明する図である。本図において、外部デバイスアクセス装置のMPU(Micro Processing Unit)300では、プログラム単位A310a、プログラム単位B310b、プログラム単位C310cが起動しており、プログラム切替部301により、プログラム単位310の実行が切替えられている(特に区別する必要がないときは、プログラム単位310と総称する。後述する送信処理モジュール311、受信処理モジュール312、外部デバイス201等および実施例の記載についても同様とする)。ここで、プログラム切替部301は、プログラム単位A310a、プログラム単位B310b、プログラム単位C310cの順で実行を切替えるものとする。
【0003】
各プログラム単位310は、送信処理モジュール311と、受信処理モジュール312を含んでおり、これらのモジュールにしたがって、外部デバイスアクセス装置に接続された外部デバイス(1)201a、外部デバイス(2)201b、外部デバイス(3)201c…外部デバイス(N)201nに対するアクセス処理を行なう。
【0004】
また、外部デバイスアクセス装置のメモリ領域にはバッファ321が設けられている。プログラム単位310は、外部デバイス201にアクセス要求を送ると、外部デバイス201から応答があるまでプログラムの実行が止まり、処理を保留する。バッファ321は、外部デバイス201からの応答を待つ間、アクセス要求を保持するために用いられる。プログラム単位310が外部デバイス201からの応答待ち状態になると、プログラム切替部301は、次のプログラム単位310に実行を切替える。
【0005】
外部デバイス201からの応答を待っているプログラム単位310が応答を受信すると、実行順にかかわらず、受信処理モジュール312が、応答処理を行ない、バッファ321を解放する。
【0006】
図7図8を参照して、プログラム単位310の外部デバイスへのアクセス手順について説明する。まず、実行対象となったプログラム単位A310aが、送信処理モジュール311aにしたがって、アクセス要求をバッファ321に蓄積し、外部デバイス201に送信する。そして、応答待ち状態となり、プログラム単位B310bに実行が切替えられる。
【0007】
プログラム単位B310bも同様に、送信処理モジュール311bにしたがって、アクセス要求をバッファ321に蓄積し、外部デバイス201に送信する。そして、応答待ち状態となり、プログラム単位B310cに実行が切替えられる。
【0008】
プログラム単位C310cも同様に、送信処理モジュール311cにしたがって、アクセス要求をバッファ321に蓄積し(図7図8の1]蓄積)、外部デバイス201に送信する(2]送信)。そして、応答待ち状態となる。
【0009】
プログラム単位A310aに外部デバイス201から応答があると、受信処理モジュール311aにしたがって、応答処理を行ない、バッファ321を解放する。プログラム単位B310bに外部デバイス201から応答があると、受信処理モジュール311bにしたがって、応答処理を行ない、バッファ321を解放する。プログラム単位C310cに外部デバイス201から応答があると(3]応答)、受信処理モジュール311bにしたがって、応答処理を行ない(4]応答処理)、バッファ321を解放する(5]解放)。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2006−139766号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
バッファ321の数は有限であるが、その上限を超えて送信要求が発生した場合にも対応できるように、外部デバイスアクセス装置のメモリ領域には、図9に示すように待ち行列322が設けられている。待ち行列322は、バッファ321の上限を超えて蓄積できなくなったアクセス要求に関する情報をFIFOで格納する領域である。なお、待ち行列322に蓄積されるアクセス要求に関する情報は、バッファ321に蓄積されるアクセス要求よりも情報量が少なく、サイズが小さいものとする。
【0012】
図9図10を参照し、待ち行列322を使用したときのアクセス手順についてプログラム単位C310cに注目して説明する。ここでは、プログラム単位A310aがアクセス要求をバッファ321に蓄積し、さらに、プログラム単位B310bがアクセス要求をバッファ321に蓄積した時点で、バッファ321がすべて埋まったものとする。
【0013】
このため、プログラム単位C310cからのアクセス要求は、バッファ321に蓄積することはできず、アクセス要求に関する情報が待ち行列322に蓄積される(図9図10の1]待ち行列に蓄積)。
【0014】
プログラム単位A310aに外部デバイス201から応答(2]応答)があると、プログラム単位A310aは、応答処理を行ない(3]応答処理)、バッファ321を解放する(4]バッファ解放)。また、プログラム単位B310bに外部デバイス201から応答があると、プログラム単位B310bは、応答処理を行ない、バッファ321を解放する。
【0015】
バッファが解放された後、実行順がプログラム単位C310cに切替えられると、プログラム単位C310cは、待ち行列322に蓄積されているアクセス要求に関する情報を、バッファ321に詰め替え(5]詰替)、外部デバイス201に送信する(6]送信)。そして、応答待ち状態となる。
【0016】
このように、待ち行列322に蓄積された後の詰替処理と外部デバイス201へのアクセス要求送信は、実行順が回ってきて送信処理実行の際に行なわれるため、図10に示すように、1]待ち行列に蓄積してから、6]送信するまでに送信遅延が発生する。
【0017】
この送信遅延は、送信関連処理だけでなく、送信関連処理以外の処理を行ないたいために、所定期間内に行なう送信関連処理の回数や、時間に制限を持たせている場合に顕著となる。例えば、図11に示すように、1秒間に行なえる送信関連処理を1回に制限している場合には、プログラム単位C310cの処理スケジュールが示すように、バッファ321が埋まっており、待ち行列に蓄積されると、プログラム単位A310aのバッファ解放によりバッファ321に空きができても、詰替を行なってアクセス要求を送信できるのは、次の1秒サイクルになってしまい、送信遅延が拡大することになり。この送信遅延は、通信以外の処理にも影響を与え、通信以外の処理の実行も遅延することになる。
【0018】
また、別例として、従来の外部デバイスアクセス装置の外部デバイスに対するアクセスは、図12図13に示すような手順で行なわれる場合もある。別例においても、バッファ321が埋まっている場合、プログラム単位C310cからのアクセス要求は、アクセス要求に関する情報が待ち行列322に蓄積される(図12図13の1]待ち行列に蓄積)。
【0019】
そして、プログラム単位A310aに外部デバイス201から応答(2]応答)があると、プログラム単位A310aは、応答処理を行ない(3]応答処理)、バッファ321を解放するとともに(4]バッファ解放)、待ち行列322に蓄積されているアクセス要求に関する情報を、バッファ321に詰め替える(5]詰替)。すなわち、バッファ321の解放を行なったプログラム単位310がアクセス要求の詰め替え処理を引き続き行なう。
【0020】
その後、実行順がプログラム単位C310cに切替えられると、プログラム単位C310cは、バッファ321に詰め替えられているアクセス要求を、外部デバイス201に送信する(6]送信)。そして、応答待ち状態となる。
【0021】
この場合も、実際にアクセス要求を送信するのは、実行順がプログラム単位C310cに切替えられたタイミングであるため、図13に示すように、1]待ち行列に蓄積してから、6]送信するまでに送信遅延が発生することになる。
【0022】
また、この送信遅延は、上記の例と同様に、送信関連処理だけでなく送信関連処理以外の処理を行ないたいために、所定期間内に行なう送信関連処理の回数や、時間に制限を持たせている場合に顕著となる。例えば、図14に示すように、1秒間に行なえる送信関連処理を1回に制限している場合には、プログラム単位C310cの処理スケジュールが示すように、バッファ321が埋まっており、待ち行列に蓄積されると、プログラム単位A310aがバッファ321を解放して詰替を行なっても、アクセス要求を送信できるのは、次の1秒サイクルになってしまい、送信遅延が拡大することになり。この遅延は、通信以外の処理にも影響を与え、通信以外の処理の実行も遅延することになる。
【0023】
そこで、本発明は、外部デバイスへのアクセス要求を蓄積するバッファに空きがない場合におけるアクセス要求の送信待ち時間を短縮することを目的とする。
【課題を解決するための手段】
【0024】
上記課題を解決するため、本発明によれば、外部デバイスに対するアクセス処理を行なうための送信処理部と受信処理部とを含んだ処理実行単位を複数有し、前記処理実行単位を切替えて実行させる制御部と、前記送信処理部による外部デバイスに対するアクセス要求を蓄積するバッファ部と、前記バッファ部に空きがない場合に、前記アクセス要求に関する情報を蓄積する待ち行列部とを備え、前記受信処理部は、外部デバイスからアクセス要求に対する応答を受信すると、応答処理を行ない、対応するバッファ部を解放した後、前記待ち行列部にアクセス要求に関する情報が蓄積されている場合には、当該アクセス要求に関する情報の前記バッファへの詰替を行なうとともに、当該アクセス要求に関する情報に対応するアクセス要求を、対応する外部デバイスに送信することを特徴とする外部デバイスアクセス装置が提供される。
【0025】
また、本発明によれば、外部デバイスに対するアクセス処理を行なうための送信処理部と受信処理部とを含んだ処理実行単位を複数有し、前記処理実行単位を切替えて実行させる制御部と、前記送信処理部による外部デバイスに対するアクセス要求を蓄積するバッファ部と、前記バッファ部に空きがない場合に、前記アクセス要求に関する情報を蓄積する待ち行列部として情報処理装置を機能させるコンピュータプログラムであって、前記受信処理部は、外部デバイスからアクセス要求に対する応答を受信すると、応答処理を行ない、対応するバッファ部を解放した後、前記待ち行列部にアクセス要求に関する情報が蓄積されている場合には、当該アクセス要求に関する情報の前記バッファへの詰替を行なうとともに、当該アクセス要求に関する情報に対応するアクセス要求を、対応する外部デバイスに送信することを特徴とするコンピュータプログラムが提供される。
【発明の効果】
【0026】
本発明によれば、受信処理において、バッファの解放を行なうとともに、待ち行列に蓄積されたアクセス要求に関する情報に対応するアクセス要求を外部デバイスに送信するため、外部デバイスへのアクセス要求を蓄積するバッファに空きがない場合におけるアクセス要求の送信待ち時間を短縮することができる。
【図面の簡単な説明】
【0027】
図1】本実施形態に係る外部デバイスアクセスシステムの構成を示すブロック図である。
図2】MPUで起動するプログラム単位について説明するための図である。
図3】本実施形態における受信処理モジュールの動作について説明するためのフローチャートである。
図4】本実施形態の受信処理の手順について説明するための図である。
図5】本実施形態の受信処理の手順について説明するための図である。
図6】1秒間に行なえる送信関連処理を1回に制限している場合の本実施形態の処理スケジュールを説明するための図である。
図7】従来の外部デバイスアクセス装置の外部デバイスに対するアクセス手順について説明するための図である。
図8】プログラム単位の外部デバイスへのアクセス手順について説明するための図である。
図9】待ち行列について説明するための図である。
図10】待ち行列を使用したときのアクセス手順について説明するための図である。
図11】1秒間に行なえる送信関連処理を1回に制限している場合の処理スケジュールを説明するための図である。
図12】従来の外部デバイスアクセス装置の外部デバイスに対するアクセス手順の他の例について説明するための図である。
図13】プログラム単位の外部デバイスへのアクセス手順の他の例について説明するための図である。
図14】1秒間に行なえる送信関連処理を1回に制限している場合の処理スケジュールを説明するための図である。
【発明を実施するための形態】
【0028】
本発明の実施の形態について図面を参照して説明する。図1は、本実施形態に係る外部デバイスアクセスシステムの構成を示すブロック図である。本図に示すように外部デバイスアクセスシステムは、外部デバイスアクセス装置10が、複数台の外部デバイス201と接続されて構成される。例えば、外部デバイスアクセス装置10は、フィールド・コントロール・システムとして、外部デバイス201をフィールド機器とすることができるが、外部デバイスアクセスシステムは、これらの装置に限られない。また、外部デバイスアクセス装置10は、所定のコンピュータプログラムをインストールした汎用的な情報処理装置を用いて構成することもできる。
【0029】
外部デバイスアクセス装置10は、MPU100と、メモリ120と、外部デバイスと通信を行なうための通信I/F140とを備えており、それぞれが内部バスによって接続されている。ここで、MPU100は、制御部として機能する。
【0030】
図2に示すように、外部デバイスアクセス装置10のMPU100では、プログラム単位A110a、プログラム単位B110b、プログラム単位C110cが起動しており、プログラム切替部101により、プログラム単位110の実行が切替えられている。ここで、プログラム切替部101は、プログラム単位A110a、プログラム単位B110b、プログラム単位C110cの順で実行を切替えるものとする。
【0031】
各プログラム単位110は、送信処理モジュール111と、受信処理モジュール112を含んでおり、これらのモジュールにしたがって、外部デバイスアクセス装置10に接続された外部デバイス(1)201a、外部デバイス(2)201b、外部デバイス(3)201c…外部デバイス(N)201nに対するアクセス処理を行なう。
【0032】
なお、プログラム単位110は、処理実行単位として機能し、送信処理モジュール111は、送信処理部として機能し、受信処理モジュール112は、受信処理部として機能する。
【0033】
また、外部デバイスアクセス装置10のメモリ120には、バッファ部として機能するバッファ121および待ち行列部として機能する待ち行列122が設けられている。バッファ121は、プログラム単位110が、外部デバイス201にアクセス要求送信後、外部デバイス201からの応答を待つ間、アクセス要求を保持するために用いられる。待ち行列122は、バッファ121が埋まっている場合に、アクセス要求に関する情報を蓄積するために用いられる。
【0034】
次に、本実施形態における受信処理モジュール112の動作について図3のフローチャートを参照して説明する。本図に示すように、送信処理モジュール111により、アクセス要求が外部デバイス201に送信され、応答待ち状態にあるときに、外部デバイス201から応答があった場合(S101:Yes)は、応答に対する応答処理を行なって(S102)、バッファ121を解放する(S103)。
【0035】
その後、待ち行列122にアクセス要求に関する情報が蓄積されているかどうかを判定し(S104)、待ち行列122にアクセス要求に関する情報が蓄積されていれば(S104:Yes)、アクセス要求の詰替を行なう(S105)。アクセス要求の詰替は、例えば、待ち行列122にアクセス要求に関する情報を蓄積したプログラム単位110を動作させたり、待ち行列122にアクセス要求に関する情報を蓄積したプログラム単位110から情報を取得することで行なうことができる。
【0036】
さらに、受信処理モジュール112は、詰め替えられたアクセス要求を外部デバイスに対して送信する(S106)。このように、本実施形態では、受信処理モジュール112における応答処理において、バッファの解放を行なった際に、待ち行列122にアクセス要求に関する情報が蓄積されている場合には、詰替を実行するのみならず、アクセス要求の送信まで実行することにより、待ち行列122への蓄積からアクセス要求送信までの送信遅延を短縮するようにしている。
【0037】
図4図5を参照して、本実施形態の受信処理の手順についてプログラム単位A110cに注目して説明する。ここでは、プログラム単位A110aが、アクセス要求をバッファ121に蓄積し、さらに、プログラム単位B110bが、アクセス要求をバッファ121に蓄積した時点で、バッファ121がすべて埋まったものとする。
【0038】
このため、プログラム単位C110cからのアクセス要求は、バッファ121に蓄積することはできず、アクセス要求に関する情報が待ち行列122に蓄積される(図4図5の1]待ち行列に蓄積)。
【0039】
プログラム単位A110aに外部デバイス201から応答(2]応答)があると、プログラム単位A110aは、応答処理を行ない(3]応答処理)、バッファ121を解放するとともに(4]バッファ解放)、待ち行列122に蓄積されているアクセス要求に関する情報を、バッファ121に詰め替える(5]詰替)。そして、さらに、詰め替えたアクセス要求を外部デバイス201に対して送信する(6]送信)。
【0040】
この結果、図5に示すように、プログラム単位C110cでは、従来のスケジュールと比較して、待ち行列122に蓄積してからアクセス要求が送信されるまでの送信待ち時間が短縮されることになる。
【0041】
また、この送信待ちの短縮は、送信関連処理だけでなく送信関連処理以外の処理を行ないたいために、所定期間内に行なう送信関連処理の回数や、時間に制限を持たせている場合にも効果を奏する。例えば、図6に示すように、1秒間に行なえる送信関連処理を1回に制限している場合には、プログラム単位C110cの処理スケジュールが示すように、プログラム単位A110aがバッファ121を解放した後、詰替および送信を行なうため、従来のスケジュールと比較して、待ち行列122に蓄積してからアクセス要求が送信されるまでの送信待ち時間が大きく短縮されることになる。また、この送信待ち時間の短縮により、通信以外の処理の実行待ち時間を短縮することができる。
【符号の説明】
【0042】
10…外部デバイスアクセス装置、101…プログラム切替部、110…プログラム単位、111…送信処理モジュール、112…受信処理モジュール、120…メモリ、121…バッファ、122…待ち行行列、140…通信I/F、201…外部デバイス、301…プログラム切替部、310…プログラム単位、311…送信処理モジュール、312…受信処理モジュール、321…バッファ、322…待ち行列
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14