JP5866082B1 - プログラマブルコントローラおよびプログラマブルコントローラの制御方法 - Google Patents

プログラマブルコントローラおよびプログラマブルコントローラの制御方法 Download PDF

Info

Publication number
JP5866082B1
JP5866082B1 JP2015550878A JP2015550878A JP5866082B1 JP 5866082 B1 JP5866082 B1 JP 5866082B1 JP 2015550878 A JP2015550878 A JP 2015550878A JP 2015550878 A JP2015550878 A JP 2015550878A JP 5866082 B1 JP5866082 B1 JP 5866082B1
Authority
JP
Japan
Prior art keywords
execution
programmable controller
time
service
service processing
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
JP2015550878A
Other languages
English (en)
Other versions
JPWO2016207937A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5866082B1 publication Critical patent/JP5866082B1/ja
Publication of JPWO2016207937A1 publication Critical patent/JPWO2016207937A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本技術は、通信要求に対する応答時間の悪化を抑制することができるプログラマブルコントローラおよびその制御方法に関する。プログラマブルコントローラは、サービス処理の実行要求を受け付ける受け付け部(13)と、受け付け部でサービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてシーケンス処理プログラムの実行が行われている場合、サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値を超えた時点で、プログラマブルコントローラにおいてシーケンス処理プログラムの実行から切り換えて実行要求に対応するサービス処理の実行を行わせる制御部(12)とを備える。

Description

本技術は、プログラマブルコントローラおよびプログラマブルコントローラの制御方法に関し、特に、機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラおよびプログラマブルコントローラの制御方法に関するものである。
プログラマブルコントローラは、工場などに設置されている多様な機械設備またはプラント設備などを制御するための汎用制御装置として広く用いられる。
近年のプログラマブルコントローラは、多機能化が進んでおり、主用途である機械設備または機械システムなどの制御を行うシーケンス処理プログラムの実行機能に加えて、ネットワーク通信機能またはファイルアクセス機能などのサービス処理の実行機能を搭載した製品が存在する。
ネットワーク通信機能は、外部コンピュータからプログラマブルコントローラの稼働状況をモニタリングする場合などに使用される。ファイルアクセス機能は、プログラマブルコントローラの稼働データまたはユーザープログラムの実行情報を、内蔵メモリ領域または取り外し可能な外部メモリ領域にファイルとして出力する場合などに使用される。
複数の機能の同時実行を行う方式としては、処理を時分割で切り換えて実行する方式が知られる。この方式では、シーケンス処理プログラムの実行と、サービス処理の実行とを一定時間ごとに切り換えることによって、複数の機能の実行を同時に行う。
特許文献1では、シーケンス処理プログラムと、通信処理とを同時に実行するプログラマブルコントローラが開示される。特許文献1では、通信処理の応答時間を改善するために、通信処理に割り当てる時間を、発生した通信処理の種別に応じて動的に変更する。
特開2011−134197号公報
特許文献1に記載されたプログラマブルコントローラが用いられる場合、シーケンス処理プログラムの実行中に通信要求が発生すると、あらかじめ設定されたシーケンス処理プログラムの実行のための割り当て時間が経過した後に、通信要求に対する応答が行われる。よって、たとえば、当該通信要求がシーケンス処理プログラムの実行開始直後に発生した場合には、通信要求に対する応答が行われるまでに長い時間がかかってしまう。その結果として、通信要求に対する応答時間が悪化する。
本技術は、上記のような問題を解決するためのものであり、通信要求に対する応答時間の悪化を抑制することができるプログラマブルコントローラおよびプログラマブルコントローラの制御方法に関するものである。
本技術の一態様に関するプログラマブルコントローラは、機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラであり、前記サービス処理の実行要求を受け付ける受け付け部と、前記受け付け部で前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行が行われている場合、前記サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行から切り換えて前記実行要求に対応する前記サービス処理の実行を行わせる制御部とを備える。
本技術の一態様に関するプログラマブルコントローラの制御方法は、機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラにおいて、前記サービス処理の実行要求を受け付け、前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行が行われている場合、前記サービス処理の前記実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行から切り換えて前記実行要求に対応する前記サービス処理の実行を行わせる。
本技術の一態様に関するプログラマブルコントローラは、機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラであり、前記サービス処理の実行要求を受け付ける受け付け部と、前記受け付け部で前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行が行われている場合、前記サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行から切り換えて前記実行要求に対応する前記サービス処理の実行を行わせる制御部とを備える。
このような構成によれば、サービス処理の実行要求が第1しきい値の時間よりも待たされることがなくなり、通信要求に対する応答時間が改善される。
本技術の一態様に関するプログラマブルコントローラの制御方法は、機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラにおいて、前記サービス処理の実行要求を受け付け、前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行が行われている場合、前記サービス処理の前記実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行から切り換えて前記実行要求に対応する前記サービス処理の実行を行わせる。
このような構成によれば、サービス処理の実行要求が第1しきい値の時間よりも待たされることがなくなり、通信要求に対する応答時間が改善される。
本技術に関する目的と、特徴と、局面と、利点とは、以下に示される詳細な説明と添付図面とによって、より明白となる。
実施形態に関する、プログラマブルコントローラの構成およびその他の構成を概念的に示す図である。 実施形態に関する、図1に示された処理実行部の構成をさらに詳細に示す図である。 実施形態に関する、図1および図2に例示されるプログラマブルコントローラを実際に運用する場合のハードウェア構成を概略的に示す図である。 実施形態に関する、図1および図2に例示されるプログラマブルコントローラを実際に運用する場合のハードウェア構成を概略的に示す図である。 実施形態に関する、シーケンス処理プログラムの実行開始から9ms後に通信要求が発生した場合の、処理実行部における処理切り換えの実施状況を例示する図である。 実施形態に関する、図5に例示される場合の、処理実行部の動作を例示するフローチャートである。 実施形態に関する、シーケンス処理プログラムの実行開始から9ms後に第1通信要求が発生し、さらにシーケンス処理プログラムの実行開始から12ms後に第2通信要求が発生した場合の、処理実行部における処理切り換えの実施状況を例示する図である。 実施形態に関する、図7に例示される場合の、処理実行部の動作を例示するフローチャートである。 実施形態に関する、優先度値、待ち時間上限値(thres)および比率値(ratio)の対応関係を例示する図である。 実施形態に関する、通信要求が発生した場合の処理実行部における処理切り換えの実施状況(pri=3)を例示する図である。 実施形態に関する、通信要求が発生した場合の処理実行部における処理切り換えの実施状況(pri=5)を例示する図である。 実施形態に関する、シーケンス処理プログラムの実行開始から9ms後に通信要求が発生した場合の、処理実行部における処理切り換えの実施状況(pri=0)を例示する図である。 実施形態に関する、シーケンス処理プログラムの実行開始から9ms後に通信要求が発生した場合の、処理実行部における処理切り換えの実施状況(pri=4)を例示する図である。
以下、添付される図面を参照しながら実施形態について説明する。なお、図面は模式的に示されるものであり、異なる図面にそれぞれ示されている画像の大きさと位置との相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得るものである。また、以下に示される説明では、同様の構成要素には同じ符号を付して図示し、それらの名称と機能とについても同様のものとする。よって、それらについての詳細な説明を省略する場合がある。
<第1実施形態>
<構成>
以下、本実施形態に関する、機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラについて説明する。
図1は、本実施形態に関するプログラマブルコントローラの構成およびその他の構成を概念的に示す図である。
図1に例示されるように、プログラマブルコントローラ1は、処理実行部2と、待ち時間上限値4、比率値5および優先度値6を記憶する書き換え可能な記憶装置であるデータ保持部3と、優先度設定部7と、コンピュータ装置9と接続するための周辺器インターフェイス8とを備えている。
処理実行部2は、シーケンス処理プログラムの実行、サービス処理の実行、および、シーケンス処理とサービス処理との間の切り換え制御などを行う。
処理実行部2が利用するデータとしては、待ち時間上限値4、比率値5および優先度値6が例示される。待ち時間上限値4は、サービス処理要求の待ち時間を規定するデータである。比率値5は、シーケンス処理プログラムの実行時間とサービス処理の実行時間との比率を規定するデータである。優先度値6は、シーケンス処理プログラムの実行とサービス処理の実行とのいずれの処理を、どの程度優先するかを規定するデータである。
優先度設定部7は、優先度値6を外部から変更可能に設定するための機能部である。また、図1に例示されるコンピュータ装置9は、プログラマブルコントローラ1の外部に配置される。
以下、本実施形態に関するシーケンス処理とサービス処理との双方の処理を、時分割で実行する場合について説明する。
図2は、図1に示された処理実行部2の構成をさらに詳細に示す図である。
図2に例示されるように、処理実行部2は、シーケンス処理部10と、サービス処理部11と、受け付けおよび計測部13と、待ち時間超過検出部14と、サービス処理超過検出部15と、切り換え制御部12とを備える。
シーケンス処理部10は、シーケンス処理プログラムの実行を行うとともに、シーケンス処理プログラムの実行時間を計測する。サービス処理部11は、サービス処理の実行を行うとともに、サービス処理の実行時間を計測する。
受け付けおよび計測部13は、サービス処理の実行要求を受け付ける。また、受け付けおよび計測部13は、実行要求の発生時点からの経過時間を計測する。
待ち時間超過検出部14は、受け付けおよび計測部13がサービス処理の実行要求を受け付けた時点からの経過時間が、規定された待ち時間上限値4を超えたか否かを検出する。
サービス処理超過検出部15は、サービス処理の実行が行われた時間がサービス処理の上限値を超えたか否かを検出する。
切り換え制御部12は、待ち時間超過検出部14からの情報および受け付けおよび計測部13からの情報に基づいて、実行中のシーケンス処理または実行中のサービス処理の処理切り換えを行う。
図3および図4は、図1および図2に例示されるプログラマブルコントローラを実際に運用する場合のハードウェア構成を概略的に示す図である。
図3では、図1および図2に例示されるプログラマブルコントローラを実現するハードウェア構成として、演算を行う処理回路102aと、情報を記憶することができる記憶装置103と、情報を入力および出力することができる、入力および出力装置104とが示される。これらの構成は、後述する他の実施形態においても同様である。
図4では、図1および図2に例示されるプログラマブルコントローラを実現するハードウェア構成として、演算を行う処理回路102bと、情報を入力および出力することができる、入力および出力装置104とが示される。これらの構成は、後述する他の実施形態においても同様である。
データ保持部3は、記憶装置103によって実現される。記憶装置103は、たとえば、ハードディスク(Hard disk drive、すなわちHDD)、ランダムアクセスメモリ(random access memory、すなわちRAM)、リードオンリーメモリ(read only memory、すなわちROM)、フラッシュメモリ、erasable programmable read only memory(EPROM)およびelectrically erasable programmable read−only memory(EEPROM)などの、揮発性または不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVDなどを含むメモリ(記憶媒体)などによって構成されるなどを含むメモリ(記憶媒体)などによって構成される。
処理回路102aは、記憶装置103に格納されたプログラムを実行するものであってもよい。すなわち、たとえば、中央演算処理装置(central processing unit、すなわちCPU)、マイクロプロセッサ、マイクロコンピュータ、デジタルシグナルプロセッサ(digital signal pocessor、すなわちDSP)であってもよい。
処理回路102aが記憶装置103に格納されたプログラムを実行するものである場合、処理実行部2と、優先度設定部7とは、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、これらの機能は、たとえば、複数の処理回路が連携することによって実現されてもよい。
ソフトウェアおよびファームウェアはプログラムとして記述され、記憶装置103に記憶される。処理回路102aは、記憶装置103に格納されたプログラムを読み出して実行することにより、上記の機能を実現する。すなわち、記憶装置103は、処理回路102aに実行されることにより、上記の機能が結果的に実現されるプログラムを記憶する。
また、処理回路102bは、専用のハードウェアであってもよい。すなわち、たとえば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、集積回路(application specific integrated circuit、すなわちASIC)、field−programmable gate array(FPGA)またはこれらを組み合わせた回路であってもよい。
処理回路102bが専用のハードウェアである場合、処理実行部2と、優先度設定部7とは、処理回路102bが動作することにより実現される。なお、これらの機能は、別々の回路で実現されてもよいし、単一の回路で実現されてもよい。
なお、上記の処理実行部2および優先度設定部7の機能は、一部が記憶装置103に格納されたプログラムを実行するものである処理回路102aにおいて実現され、一部が専用のハードウェアである処理回路102bにおいて実現されてもよい。
また、周辺器インターフェイス8は、入力および出力装置104によって実現される。
<作用>
次に、処理実行部2の動作について、図5および図6を参照しつつ説明する。以下では、記述を簡単化するため、待ち時間上限値4をthres、比率値5をratioとする。
図5は、シーケンス処理プログラムの実行開始から9ms後に通信要求が発生した場合の、処理実行部2における処理切り換えの実施状況を例示する図である。図5においては、縦軸がサービス処理の待ち時間の長さを示し、横軸がシーケンス処理またはサービス処理の時間経過を示す。
また、図6は、図5に例示される場合の、処理実行部2の動作を例示するフローチャートである。
ここでは、たとえば、
Figure 0005866082
Figure 0005866082
として説明する。
まず、シーケンス処理プログラムの実行中に通信要求が発生する状況を想定する。ここで、通信要求とは、少なくともサービス処理による応答が必要となる要求である。
次に、切り換え制御部12は、通信要求が発生したか否かを判断する(図6におけるステップST1を参照)。具体的には、受け付けおよび計測部13が通信要求を受け付けたか否かを判断する。そして、切り換え制御部12は、通信要求が発生したと判断される場合、図6におけるステップST2へ進む。一方で、通信要求が発生していないと判断される場合、図6におけるステップST1へ戻る。
次に、切り換え制御部12は、当該通信要求が発生した時点からの待ち時間が、thresで与えられる時間(上記の設定では3ms)を超えたか否かを判断する(図6におけるステップST2を参照)。具体的には、待ち時間超過検出部14が、サービス処理の実行要求を受け付けた時からの経過時間がthresで与えられる時間を超えたことを検出したか否かを判断する。なお、サービス処理の実行要求を受け付けた時からの経過時間は、受け付けおよび計測部13において計測される。そして、当該通信要求が発生した時点からの待ち時間がthresで与えられる時間を超えた場合、切り換え制御部12は、シーケンス処理からサービス処理への処理切り換えを行う(図6におけるステップST3を参照)。一方で、当該通信要求が発生した時点からの待ち時間がthresで与えられる時間を超えない場合、図6におけるステップST2へ戻る。
なお、通信要求が発生した時点とは、プログラマブルコントローラにおいて通信要求を受け付けた時点をいうものとする。
図5に例示される例では、シーケンス処理プログラムの実行開始から12ms後に、切り換え制御部12は、シーケンス処理からサービス処理への処理切り換えを行う(図6におけるステップST3を参照)。
当該処理切り換えの後の、サービス処理の実行時間は、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratio(本例では1/3)とを掛け合わせることで算出される。上記にしたがうと、図5に例示される例では、12ms×ratio(すなわち1/3)=4msだけサービス処理が実行される。
次に、切り換え制御部12は、サービス処理の実行時間が、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratioとを掛け合わせた時間を超えたか否かを判断する(図6におけるステップST4を参照)。具体的には、サービス処理超過検出部15が、サービス処理の実行が行われた時間が、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratioとを掛け合わせた時間を超えたことを検出したか否かを判断する。そして、当該時間を超えた場合、切り換え制御部12は、サービス処理からシーケンス処理への処理切り換えを行う(図6におけるステップST5を参照)。一方で、当該時間を超えない場合、図6におけるステップST4へ戻る。
その後は、発生した通信要求に対する待ち時間がthresで与えられる時間を超えるまでシーケンス処理プログラムを実行する。すなわち、図6におけるステップST1に戻る。
図5に例示される例では、シーケンス処理プログラムの実行中に発生した通信要求が1つである。しかし、シーケンス処理プログラムの実行中に発生する通信要求が複数である場合にも、同様の処理方式に基づいて対応することが可能である。
また、複数の通信要求が発生した場合に、上記とは別の方式を用いて処理切り換えを行うこともできる。たとえば、各通信要求に対する待ち時間を合算した値がthresを超えた時点で、切り換え制御部12が処理切り換えを実施してもよい。
次に、複数の通信要求が発生した場合の処理実行部2の動作について、図7および図8を参照しつつ説明する。以下では、記述を簡単化するため、待ち時間上限値4をthres、比率値5をratioとする。
図7は、シーケンス処理プログラムの実行開始から9ms後に第1通信要求が発生し、さらにシーケンス処理プログラムの実行開始から12ms後に第2通信要求が発生した場合の、処理実行部2における処理切り換えの実施状況を例示する図である。図7においては、縦軸がサービス処理の待ち時間の長さを示し、横軸がシーケンス処理またはサービス処理の時間経過を示す。
また、図8は、図7に例示される場合の、処理実行部2の動作を例示するフローチャートである。
ここでは、
Figure 0005866082
Figure 0005866082
として説明する。
まず、シーケンス処理プログラムの実行中に第1通信要求が発生し、さらに、第1通信要求が発生してから3ms後に、第2通信要求が発生する状況を想定する。
次に、切り換え制御部12は、通信要求が発生したか否かを判断する(図8におけるステップST11を参照)。具体的には、受け付けおよび計測部13が通信要求を受け付けたか否かを判断する。そして、切り換え制御部12は、そして、通信要求が発生したと判断される場合、図8におけるステップST12へ進む。一方で、通信要求が発生していないと判断される場合、図8におけるステップST11へ戻る。
次に、切り換え制御部12は、現時点で発生したすべての通信要求について、通信要求が発生した時点からの待ち時間がthresで与えられる時間(上記の設定では7ms)を超えたか否かを判断する(図8におけるステップST12を参照)。具体的には、待ち時間超過検出部14が、サービス処理の実行要求を受け付けた時からの経過時間がthresで与えられる時間を超えたことを検出したか否かを判断する。なお、サービス処理の実行要求を受け付けた時からの経過時間は、受け付けおよび計測部13において計測される。ここで、現時点で複数の通信要求(図7においては第1通信要求および第2通信要求)が発生している場合、複数の通信要求の待ち時間を合算した時間を、thresで与えられる時間と比較する待ち時間とする。
図7における、第1通信要求の発生から3msが経過した時点では、未だthresで与えられる時間(=7ms)を超えないため、切り換え制御部12は、シーケンス処理を続行させる。すなわち、切り換え制御部12は、第1通信要求に対する応答および第2通信要求に対する応答を一時的に保留して、処理切り換えを行わない。
そして、当該通信要求が発生した時点からの待ち時間がthresで与えられる時間を超えた場合、切り換え制御部12は、シーケンス処理からサービス処理への処理切り換えを行う(図8におけるステップST13を参照)。一方で、当該通信要求が発生した時点からの待ち時間がthresで与えられる時間を超えない場合、図8におけるステップST12へ戻る。
図7における、第2通信要求の発生から2msが経過した時点では、第1通信要求の待ち時間は5msとなり、第2通信要求の待ち時間は2msとなる。よって、第1通信要求の待ち時間と第2通信要求の待ち時間とを合算した値がthres(=7ms)を超えるため、切り換え制御部12は、シーケンス処理からサービス処理への処理切り換えを行う。
当該処理切り換えの後の、サービス処理の実行時間は、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratio(本例では1/3)とを掛け合わせることで算出される。上記にしたがうと、図7に例示される例では、16ms×ratio(すなわち1/4)=4msだけサービス処理が実行される。
サービス処理の実行に際しては、まず、先に発生した要求である第1通信要求に対して応答(図7における第1通信応答)が行われる。その後、第2通信要求に対して応答(図7における第2通信応答)が行われる。
なお、本実施形態では、要求が発生した順に応答を行うものとして説明されたが、たとえばサービス処理種別ごとに優先度を設けて、優先度の高いサービス処理から応答を行うなど、サービス処理の実行順序を決定するために他の方法が用いられてもよい。
次に、切り換え制御部12は、サービス処理の実行時間が、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratioとを掛け合わせた時間を超えたか否かを判断する(図8におけるステップST14を参照)。具体的には、サービス処理超過検出部15が、サービス処理の実行が行われた時間が、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratioとを掛け合わせた時間を超えたことを検出したか否かを判断する。そして、当該時間を超えた場合、切り換え制御部12は、サービス処理からシーケンス処理への処理切り換えを行う(図8におけるステップST15を参照)。一方で、当該時間を超えない場合、図8におけるステップST14へ戻る。
その後は、発生した通信要求に対する待ち時間がthresで与えられる時間を超えるまでシーケンス処理プログラムを実行する。すなわち、図8におけるステップST11に戻る。
ここで、thresとratioとは、設定された優先度値6に基づいて設定することが可能である。また、当該優先度値6は、優先度設定部7またはコンピュータ装置9によって設定することができる。図2には図示されないが、処理実行部2は、コンピュータ装置9により設定された優先度値6をデータ保持部3に書き込む機能を有しており、コンピュータ装置9により優先度値6が設定された場合には、本機能を用いて優先度値6を変更する。
優先度設定部7またはコンピュータ装置9により設定された優先度値6に基づいて、待ち時間上限値4(thres)と比率値5(ratio)とを算出する方法について、以下説明する。
図9は、優先度値6、待ち時間上限値4(thres)および比率値5(ratio)の対応関係を例示する図である。図9においては、縦軸が待ち時間上限値4(thres)を示し、横軸が比率値5(ratio)を示す。さらに、図9においては、優先度値6が設定されるようすも併せて示される。ここでは、優先度値6に比例させて、待ち時間上限値4(thres)の値および比率値5(ratio)の値を決定する場合について説明する。
thresとratioとには、それぞれ設定可能な最大値と最小値とが設けられるものとする。また、thresの最大値をmaxとし、thresの最小値をminとする。さらに、ratioの最大値をmaxとし、ratioの最小値をminとする。
また、優先度値6をpriとし、priのとりうる値は、0からn−1の実数であるとする(図9に例示される場合では、n=11)。また、priが0に近いほどシーケンス処理が優先されることを意味し、priがn−1に近いほどサービス処理が優先されることを意味するものとする。
この場合、thresとratioとは、以下の計算式にしたがって算出される。
Figure 0005866082
Figure 0005866082
本実施形態においては、具体例を示すために、上記のような計算式を用いてratioの算出方法およびthresの算出方法を説明するが、priに比例するような計算式、たとえば、a、b、cおよびdを任意の定数として、
Figure 0005866082
Figure 0005866082
の一般式で表現することができるような計算式であれば、どのような計算式が用いられてもよい。
図10および図11は、通信要求が発生した場合の、処理実行部2における処理切り換えの実施状況を例示する図である。
図10および図11において、
Figure 0005866082
Figure 0005866082
Figure 0005866082
Figure 0005866082
Figure 0005866082
とする。また、図10および図11においては、シーケンス処理プログラムの実行開始から9ms後に第1通信要求が発生し、さらにシーケンス処理プログラムの実行開始から30ms後に第2通信要求が発生した場合の、処理実行部2における処理切り換えの実施状況が示される。
図10は、pri=3とした場合の実施状況を示すものであり、式(1)および式(2)にそれぞれ代入すると、
Figure 0005866082
Figure 0005866082
となる。
本実施形態においては、第1通信要求が発生した後、thresで設定された時間(8ms)を超えた時点でシーケンス処理からサービス処理への処理切り換えが実施される。そして、サービス処理の実行中に応答(図10における第1通信応答)が行われる。
サービス処理は、シーケンス処理プログラムの実行時間とratioとを掛け合わせた時間、すなわち、
Figure 0005866082
だけ実行され、シーケンス処理に切り換えられる。
第2通信要求が発生した際にはシーケンス処理プログラムが実行中であるため、即座に応答を行うことはできない。しかし、thresで設定された時間(8ms)を超えた時点でシーケンス処理からサービス処理への処理切り換えが実施され、応答(図10における第2通信応答)が行われる。
図11は、pri=5とした場合、すなわち、図10に例示される場合よりもサービス処理を優先とした場合の実施状況を例示する図であり、式(1)および式(2)にそれぞれ代入すると、
Figure 0005866082
Figure 0005866082
となる。
本実施形態においては、第1通信要求が発生した後、thresで設定された時間(6ms)を超えた時点でシーケンス処理からサービス処理への処理切り換えが実施される。そして、サービス処理の実行中に応答が行われる(図11における第1通信応答)。
サービス処理は、シーケンス処理プログラムの実行時間とratioとを掛け合わせた時間、すなわち、
Figure 0005866082
だけ実行され、シーケンス処理に切り換えられる。
第2通信要求が発生した際にはサービス処理が実行中であるため、即座に応答を行うことができる(図11における第2通信応答)。
このように、図11に例示される場合では、図10に例示される場合に比べて、2つの通信要求いずれに対しても応答時間が短くなる。一方で、図11に例示される場合では、シーケンス処理に割り当て可能な時間は、図10に例示される場合よりも短くなる。
このように、本実施形態においては、サービス処理に対し処理の実行を要求する通信要求が発生した時点からの待ち時間がthresを超えた時点において、シーケンス処理プログラムからサービス処理に処理切り換えを行う。
また、本実施形態においては、サービス処理の実行中にその実行時間が、シーケンス処理プログラムの実行時間とratioとを掛け合わせた時間を超えた時点で、シーケンス処理プログラムの実行に処理切り換えを行う。
このように処理することで、サービス処理がthresの値よりも待たされることがなくなり、サービス処理の応答時間が改善される。また、ratioの設定値によって、サービス処理を行う時間を調整することができる。
さらに、本実施形態に示された計算式にしたがって、優先度値priに基づいてthresおよびratioを算出することができる。よって、優先度値をサービス処理優先に設定した場合には、サービス処理の応答時間を改善することができる。また、優先度値をシーケンス処理優先に設定した場合には、シーケンス処理への割り当て可能な時間を増加させることができる。
本実施形態では、プログラマブルコントローラ1上で実行されるサービス処理として、外部接続されたコンピュータ装置9との間で、プログラマブルコントローラの稼働状況に関する情報、または、シーケンス処理プログラムなどに関する情報を送受信するための通信処理が示されたが、プログラマブルコントローラ上で実行されるサービス処理はこれに限定されるものではない。すなわち、たとえば、プログラマブルコントローラ1に接続されたメモリ領域へのファイル書き込み処理、または、当該メモリ領域からのファイル読み出し処理などであってもよい。
<第2実施形態>
本実施形態に関するプログラマブルコントローラについて説明する。以下では、上記の実施形態で説明された構成と同様の構成については同じ符号を付して図示し、その詳細な説明については適宜省略する。
上記の実施形態では、優先度値6に比例して、待ち時間上限値4および比率値5が決定される計算式が用いられた。しかし、使用者の意図に沿うように、プログラマブルコントローラ1のシーケンス処理プログラムの実行性能およびサービス処理の応答性能を調整可能となる、下記の式(3)および式(4)が用いられてもよい。
すなわち、ratiocurとthrescurをそれぞれratioとthresの現在値、Tseqをシーケンス処理プログラムの実行時間の平均値とすると、優先度値priをprioldからprinewに変更した場合、更新後のratioの値rationextと、更新後のthresの値thresnextはそれぞれ次のようになる。
Figure 0005866082
Figure 0005866082
上記計算式は、優先度値priの変量に対して、シーケンスプログラムの実行時間と、サービス処理の実行時間とが比例的に変更されるように、構成したものである。
以下、式(3)および式(4)の算出方法について説明する。ここで、Tsvcをサービス処理実行時間の平均値、Sを、切り換え制御部12が、処理実行部2上で実行される処理をシーケンス処理からサービス処理またはその逆に切り換える際に必要な時間の合計値とする。
thresを小さくすると、処理の切り換え頻度が高くなる関係があるため、Sはthresの関数となる。
本実施形態においては、
Figure 0005866082
として説明されるが、Sをthresに反比例となるように構成するなど、これ以外の関数としてもよい。
処理実行部2上で実行される処理が、シーケンス処理、サービス処理、およびこれら処理の切り換えのみであると仮定すれば、Cを定数として、
Figure 0005866082
が成り立つ。式(5)より、その変分は以下であることが分かる。
Figure 0005866082
また、サービス処理実行時間は、シーケンス処理プログラムの実行時間に対してratioを掛け合わせることで算出されるので、
Figure 0005866082
であり、式(7)よりTsvcの変分を求めると、
Figure 0005866082
が得られる。
ここで、
Figure 0005866082
であるので、
Figure 0005866082
となる。
以上より、式(6)に、式(8)および式(9)を代入し、整理すると、
Figure 0005866082
が得られる。また、式(6)に式(9)を代入することで、
Figure 0005866082
が得られる。
ratioおよびthresは、優先度値priにより算出される変数とみなせるため、priの関数となり、それぞれratio=f(pri)、thres=g(pri)とすれば、変分値は、
Figure 0005866082
Figure 0005866082
となる。
ここで、式(10)に式(12)および式(13)を代入することで、
Figure 0005866082
となる。さらに、式(11)に式(13)および式(14)を代入することで、
Figure 0005866082
が得られる。
優先度値priの変量に対して、シーケンスプログラムの実行時間と、サービス処理の実行時間とが比例的に変更されるためには、ΔTseqおよびΔTsvcがΔpriに比例して変動する必要がある。よって、αとβを任意の定数とすれば、
Figure 0005866082
Figure 0005866082
とならなければならない。
ここで、式(14)および式(16)より、
Figure 0005866082
が得られる。また、式(15)および式(17)より、
Figure 0005866082
が得られる。
式(18)および式(19)を解くことにより、
Figure 0005866082
Figure 0005866082
が得られる。
以上より、式(20)および式(21)をそれぞれ式(12)と式(13)とに代入すると、
Figure 0005866082
Figure 0005866082
となる。
よって、ratioの変化量は、priの変化量に対して、
Figure 0005866082
を掛けることで算出することができる。また、thresの変化量は、priの変化量に対して、
Figure 0005866082
を掛けることで算出することができる。
α=−2、β=1、および、γ=1とした場合、式(22)および式(23)はそれぞれ、
Figure 0005866082
Figure 0005866082
となり、式(22)および式(23)において、
Figure 0005866082
Figure 0005866082
Figure 0005866082
Figure 0005866082
と置けば、式(3)および式(4)を導くことができる。
次に、処理実行部2の動作について、図12および図13を参照しつつ説明する。
図12および図13は、シーケンス処理プログラムの実行開始から9ms後に通信要求が発生した場合の、処理実行部2における処理切り換えの実施状況を例示する図である。
図12は、pri=0の場合を示す。このとき、
Figure 0005866082
Figure 0005866082
となる。
通信要求が発生した後、thresで設定された時間(11ms)を超えた時点でシーケンス処理からサービス処理への処理切り換えが実施される。そして、サービス処理の実行中に応答(図12における通信応答)が行われる。
また、サービス処理の実行時間は、シーケンス処理プログラムの実行時間(=20ms)とratioとを掛け合わせることで算出され、
Figure 0005866082
となる。
図13は、優先度値をpri=0からpri=4に変更した場合、すなわち、図12に例示される場合よりもサービス処理を優先とした場合の実施状況を示すものであり、式(1)および式(2)にそれぞれ代入して変更後のratioの値とthresの値とをそれぞれ算出すると、
Figure 0005866082
Figure 0005866082
となる。
図13に例示される場合では、通信要求が発生した時間から7ms後にthresを超えるため、その時点でシーケンス処理からサービス処理への処理切り換えが実施される。そして、サービス処理の実行中に応答が行われる(図13における通信応答)。
また、サービス処理の実行時間は、シーケンス処理プログラムの実行時間とratioを掛け合わせることで算出することができ、
Figure 0005866082
となる。
以上より、図12に例示される場合よりも図13に例示される場合の方が、シーケンス処理への割り当て時間が短くなる。一方逆に、図12に例示される場合よりも図13に例示される場合の方が、サービス処理への割り当て時間が長くなっているため、よりサービス処理を優先するようにthresとratioとを調整したことになる。
本実施形態では、thresとratioを求める計算式が、優先度値priの変量に対して、シーケンスプログラムの実行時間とサービス処理の実行時間とが比例的に変更されるように構成された。このことにより、プログラマブルコントローラの使用者が意図した通りに、処理切り換えの動作を変更させることができる。
なお、本実施形態においては、式(3)および式(4)を用いて、thresnextおよびrationextを計算されたが、これ以外の計算式を用いてもよい。
たとえば、本実施形態では、式(3)および式(4)を導出する過程で、
Figure 0005866082
として計算したが、Sをthresに反比例するような計算式を用いて導出してもよい。
また、本実施形態においては、優先度値priの変動値(prinew−priold)が1以上となるように変更された場合において、即座にthresおよびratioに値が適用されるものとして説明された。しかし、priの変動値が1以上となるように変更された場合には、priの変動値を1としてthresの値とratioの値とを変更する作業を、実際の変動値分だけ一定時間ごとに繰り返し実施してもよい。
<効果>
以下に、上記の実施形態による効果を例示する。
上記の実施形態によれば、プログラマブルコントローラが、受け付け部としての受け付けおよび計測部13と、制御部としての切り換え制御部12とを備える。
受け付けおよび計測部13は、サービス処理の実行要求を受け付ける。
切り換え制御部12は、受け付けおよび計測部13でサービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてシーケンス処理プログラムの実行が行われている場合、サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値としてのthresを超えた時点で、プログラマブルコントローラ1においてシーケンス処理プログラムの実行から切り換えて実行要求に対応するサービス処理の実行を行わせる。
また、上記の実施形態によれば、プログラマブルコントローラは、プログラムを実行する処理回路102aと、プログラムを記憶する記憶装置103とを備える。
そして、処理回路102aがプログラムを実行することによって、以下の動作が実現される。
すなわち、サービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてシーケンス処理プログラムの実行が行われている場合、サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められたthresを超えた時点で、プログラマブルコントローラ1においてシーケンス処理プログラムの実行から切り換えて実行要求に対応するサービス処理の実行を行わせる。
また、上記の実施形態によれば、プログラマブルコントローラは、処理回路102bを備える。
そして、処理回路102bは、以下の動作を行う。
すなわち、処理回路102bは、サービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてシーケンス処理プログラムの実行が行われている場合、サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められたthresを超えた時点で、プログラマブルコントローラ1においてシーケンス処理プログラムの実行から切り換えて実行要求に対応するサービス処理の実行を行わせる。
このような構成によれば、たとえば、サービス処理の実行要求がシーケンス処理プログラムの実行開始直後に受け付けられた場合でも、サービス処理の実行要求がthresの時間よりも待たされることがなくなり、サービス処理の実行要求(通信要求)に対する応答時間が改善される。
また、サービス処理の実行要求がない場合にはシーケンス処理が連続実行されるため、シーケンス処理の実行性能が向上する。
なお、これらの構成以外の構成については適宜省略することができるが、本明細書に示される他の構成のうちの少なくとも1つを適宜追加した場合でも、上記の効果を生じさせることができる。
また、上記の実施形態によれば、切り換え制御部12は、シーケンス処理プログラムの実行から切り換えてサービス処理の実行が行われた時間があらかじめ定められた第2しきい値を超えた時点で、プログラマブルコントローラ1においてシーケンス処理プログラムの実行を行わせる。
ここで、第2しきい値は、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratioとを掛け合わせることで算出される。
このような構成によれば、サービス処理の実行時間に上限値が設けられることにより、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。具体的には、ratioの値を変更することで、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。
また、サービス処理の内容によってサービス処理の実行時間が長くなることが抑制されるため、シーケンス処理プログラムを実行時間が、サービス処理の実行時間と比較して短くなることが抑制される。
また、上記の実施形態によれば、第2しきい値は、サービス処理の実行に切り換える前のシーケンス処理プログラムの実行が行われた時間に、あらかじめ定められた第3しきい値としてのratioが乗算された値である。
このような構成によれば、サービス処理の実行時間に上限値が設けられることにより、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。具体的には、ratioの値を変更することで、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。
また、サービス処理の内容によってサービス処理の実行時間が長くなることが抑制されるため、シーケンス処理プログラムを実行時間が、サービス処理の実行時間と比較して短くなることが抑制される。
また、上記の実施形態によれば、プログラマブルコントローラが、サービス処理の実行をシーケンス処理プログラムの実行よりも優先させる度合いを示す優先度値を外部から変更可能に設定する優先度値設定部7を備える。
優先度値は、優先度値設定部7において設定変更することができる。また、優先度値は、プログラマブルコントローラ1に外部接続したコンピュータ装置9から設定変更することができる。
そして、thresおよびratioのうちの少なくとも一方は、優先度値に基づいてあらかじめ定められる。
このような構成によれば、使用環境に合わせて、使用者が、プログラマブルコントローラ1のシーケンス処理プログラムの実行とサービス処理の実行とのバランスを簡単に調整することができる。
具体的には、優先度値を変更することでthresを調整し、シーケンス処理プログラムの実行からサービス処理の実行へ切り換えを行うまでの時間を調整することができる。また、優先度値を変更することでratioを調整し、サービス処理の実行からシーケンス処理プログラムの実行へ切り換えを行うまでの時間を調整することができる。
シーケンス処理プログラムの実行性能と通信処理の応答性能とを規定する優先度は、プログラマブルコントローラが設備または機械システムに取り付けた後に調整可能であることが望ましい。そのためには、プログラマブルコントローラ本体に取り付けられた機能部を用いて、優先度値が設定可能である必要がある。
また、取り付けられる設備または機械システムによっては、プログラマブルコントローラが、人手では直接触れることのできない場所に取り付けられる場合がある。この場合には、プログラマブルコントローラに接続された外部装置から優先度値が設定可能である必要がある。
これに対し、上記の実施形態によれば、優先度値は、優先度値設定部7において設定変更することができる。また、上記の実施形態によれば、優先度値は、プログラマブルコントローラ1に外部接続したコンピュータ装置9から設定変更することができる。そのため、優先度値が、プログラマブルコントローラが設備または機械システムに取り付けた後においても容易に調整可能である。
また、上記の実施形態によれば、プログラマブルコントローラが、シーケンス処理部10と、サービス処理部11と、待ち時間超過検出部14と、サービス処理超過検出部15とを備える。
シーケンス処理部10は、シーケンス処理プログラムの実行と、シーケンス処理プログラムの実行が行われた時間の計測とを行う。サービス処理部11は、サービス処理の実行と、サービス処理の実行が行われた時間の計測とを行う。
待ち時間超過検出部14は、サービス処理の実行要求を受け付けた時からの経過時間がthresを超えたことを検出する。サービス処理超過検出部15は、サービス処理の実行が行われた時間が第2しきい値を超えたことを検出する。
受け付けおよび計測部13は、サービス処理の実行要求を受け付けた時からの経過時間を計測する。
切り換え制御部12は、受け付けおよび計測部13でサービス処理の実行要求を受け付けた時にシーケンス処理部10においてシーケンス処理プログラムの実行が行われている場合、待ち時間超過検出部14における検出情報およびサービス処理超過検出部15における検出情報に基づいて、シーケンス処理プログラムの実行から切り換えてサービス処理部11において実行要求に対応するサービス処理の実行を行わせる。
このような構成によれば、たとえば、サービス処理の実行要求がシーケンス処理プログラムの実行開始直後に受け付けられた場合でも、サービス処理の実行要求がthresの時間よりも待たされることがなくなり、サービス処理の実行要求(通信要求)に対する応答時間が改善される。
また、サービス処理の実行要求がない場合にはシーケンス処理が連続実行されるため、シーケンス処理の実行性能が向上する。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、サービス処理の実行要求を受け付け、サービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてシーケンス処理プログラムの実行が行われている場合、サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められたthresを超えた時点で、プログラマブルコントローラ1においてシーケンス処理プログラムの実行から切り換えて実行要求に対応するサービス処理の実行を行わせる。
このような構成によれば、たとえば、サービス処理の実行要求がシーケンス処理プログラムの実行開始直後に受け付けられた場合でも、サービス処理の実行要求がthresの時間よりも待たされることがなくなり、サービス処理の実行要求に対する応答時間が改善される。
また、サービス処理の実行要求がない場合にはシーケンス処理が連続実行されるため、シーケンス処理の実行性能が向上する。
なお、これらの構成以外の構成については適宜省略することができるが、本明細書に示される他の構成のうちの少なくとも1つを適宜追加した場合でも、上記の効果を生じさせることができる。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、サービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてサービス処理の実行が行われている場合、実行要求に対応するサービス処理の実行を行わせる。
このような構成によれば、サービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてサービス処理の実行が行われている場合には、即座に実行要求に対応するサービス処理の実行を行わせることができる。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、サービス処理の実行要求を複数受け付け、サービス処理の実行要求を受け付けた時にプログラマブルコントローラ1においてシーケンス処理プログラムの実行が行われている場合、各サービス処理の実行要求を受け付けた時からの経過時間を合算した時間がthresを超えた時点で、プログラマブルコントローラ1においてシーケンス処理プログラムの実行から切り換えて実行要求に対応するサービス処理の実行を行わせる。
このような構成によれば、サービス処理の実行要求が複数受け付けられた場合でも、各サービス処理の実行要求がthresの時間よりも待たされることがなくなり、サービス処理の実行要求に対する応答時間が改善される。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、シーケンス処理プログラムの実行から切り換えてサービス処理の実行が行われた時間があらかじめ定められた第2しきい値を超えた時点で、プログラマブルコントローラ1においてシーケンス処理プログラムの実行を行わせる。
ここで、第2しきい値は、処理切り換えを行うまでに実行されたシーケンス処理プログラムの実行時間と、ratioとを掛け合わせることで算出される。
このような構成によれば、サービス処理の実行時間に上限値が設けられることにより、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。具体的には、ratioの値を変更することで、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。
また、サービス処理の内容によってサービス処理の実行時間が長くなることが抑制されるため、シーケンス処理プログラムを実行時間が、サービス処理の実行時間と比較して短くなることが抑制される。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、第2しきい値は、サービス処理の実行に切り換える前のシーケンス処理プログラムの実行が行われた時間に、あらかじめ定められたratioが乗算された値である。
このような構成によれば、サービス処理の実行時間に上限値が設けられることにより、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。具体的には、ratioの値を変更することで、シーケンス処理プログラムの実行時間と、サービス処理の実行時間との比率を調整することができる。
また、サービス処理の内容によってサービス処理の実行時間が長くなることが抑制されるため、シーケンス処理プログラムを実行時間が、サービス処理の実行時間と比較して短くなることが抑制される。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、サービス処理の実行をシーケンス処理プログラムの実行よりも優先させる度合いを示す優先度値に基づいて、thresおよびratioのうちの少なくとも一方があらかじめ定められる。
このような構成によれば、使用環境に合わせて、使用者が、プログラマブルコントローラ1のシーケンス処理プログラムの実行とサービス処理の実行とのバランスを簡単に調整することができる。
具体的には、優先度値を変更することでthresを調整し、シーケンス処理プログラムの実行からサービス処理の実行へ切り換えを行うまでの時間を調整することができる。また、優先度値を変更することでratioを調整し、サービス処理の実行からシーケンス処理プログラムの実行へ切り換えを行うまでの時間を調整することができる。
シーケンス処理プログラムの実行性能と通信処理の応答性能とのいずれを優先させるかは、プログラマブルコントローラが使用される設備の実現要件、プログラマブルコントローラが使用される機械システムの実現要件、または、これらを運用する間のシステム状況によって異なる。そのため、その優先度を簡易に変更することができることが望ましい。
特許文献1に記載された技術では、通信処理の種別ごとの実行する時間を規定したテーブルを編集することで、通信処理の実行に割り当てる時間を変更することができる。しかし、通信処理の種別ごとに実行する時間を規定するには、各通信処理に関する高度な知識が必要となるため、一般のプログラマブルコントローラの使用者が通信種別ごとの実行する時間を規定することは困難である。
特に、通信処理の種別ごとの割り当て時間を使用者が個別に規定する作業では、使用者が意図した通りにプログラマブルコントローラの性能を調整することが困難であった。
これに対し、上記の実施形態によれば、使用環境に合わせて、使用者が、プログラマブルコントローラ1のシーケンス処理プログラムの実行とサービス処理の実行とのバランスを簡単に調整することができる。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、優先度値に基づいて、thresおよびratioを同時に定められる。
このような構成によれば、使用環境に合わせて、使用者が、プログラマブルコントローラ1のシーケンス処理プログラムの実行とサービス処理の実行とのバランスを簡単に調整することができる。
具体的には、優先度値を変更することでthresとratioとを同時に調整し、シーケンス処理プログラムの実行時間とサービス処理の実行時間との比率を調整することができる。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法において、thresおよびratioが、優先度値に比例する。
このような構成によれば、使用環境に合わせて、使用者が、プログラマブルコントローラ1のシーケンス処理プログラムの実行とサービス処理の実行とのバランスを簡単に調整することができる。
具体的には、優先度値を変更することでthresとratioとを同時に調整し、シーケンス処理プログラムの実行時間とサービス処理の実行時間との比率を使用者の意図した通りに調整することができる。
また、上記の実施形態によれば、プログラマブルコントローラの制御方法が、thresは、優先度値が大きくなるにしたがって小さくなる。また、ratioは、優先度値が大きくなるにしたがって大きくなる。
このような構成によれば、使用環境に合わせて、使用者が、プログラマブルコントローラ1のシーケンス処理プログラムの実行とサービス処理の実行とのバランスを簡単に調整することができる。
具体的には、優先度値を変更することでthresとratioとを同時に調整し、シーケンス処理プログラムの実行時間とサービス処理の実行時間との比率を使用者の意図した通りに調整することができる。
<変形例>
上記実施形態では、各構成要素の寸法、形状、相対的配置関係または実施の条件などについても記載している場合があるが、これらはすべての局面において例示であって、本明細書に記載されたものに限られることはない。よって、例示されていない無数の変形例が、本技術の範囲内において想定される。たとえば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの実施形態における少なくとも1つの構成要素を抽出し、他の実施形態の構成要素と組み合わせる場合が含まれる。
また、矛盾が生じない限り、上記実施形態において「1つ」備えられるものとして記載された構成要素は、「1つ以上」備えられていてもよい。さらに、各構成要素は概念的な単位であって、1つの構成要素が複数の構造物から成る場合と、1つの構成要素がある構造物の一部に対応する場合と、さらには、複数の構成要素が1つの構造物に備えられる場合とを含む。また、各構成要素には、同一の機能を発揮する限り、他の構造または形状を有する構造物が含まれる。
また、本明細書における説明は、本技術に関するすべての目的のために参照され、いずれも、従来技術であると認めるものではない。
また、上記実施形態で記載された各構成要素は、ソフトウェアまたはファームウェアとしても、それと対応するハードウェアとしても想定され、その双方の概念において、各構成要素は「部」または「処理回路」などと称される。
本技術は、各構成要素が複数の装置に分散して備えられる場合(すなわち、システムのような態様)であってもよい。たとえば、データ保持部3は、図1においてはプログラマブルコントローラ1内に搭載されるものとして示されているが、外部の機能部であってもよい。その場合、プログラマブルコントローラ1内の他の機能部と互いに作用しあうことによって、全体としてデータ保持部3の機能を果たすものとする。
1 プログラマブルコントローラ、2 処理実行部、3 データ保持部、4 待ち時間上限値、5 比率値、6 優先度値、7 優先度設定部、8 周辺器インターフェイス、9 コンピュータ装置、10 シーケンス処理部、11 サービス処理部、12 切り換え制御部、13 受け付けおよび計測部、14 待ち時間超過検出部、15 サービス処理超過検出部、102a,102b 処理回路、103 記憶装置、104 入力および出力装置。

Claims (14)

  1. 機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラであり、
    前記サービス処理の実行要求を受け付ける受け付け部と
    前記受け付け部で前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行が行われている場合、前記サービス処理の実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行から切り換えて前記実行要求に対応する前記サービス処理の実行を行わせる制御部とを備える、
    プログラマブルコントローラ。
  2. 前記制御部は、前記シーケンス処理プログラムの実行から切り換えて前記サービス処理の実行が行われた時間があらかじめ定められた第2しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行を行わせる、
    請求項1に記載のプログラマブルコントローラ。
  3. 前記第2しきい値は、前記サービス処理の実行に切り換える前の前記シーケンス処理プログラムの実行が行われた時間に、あらかじめ定められた所定値を乗算た値である、
    請求項2に記載のプログラマブルコントローラ。
  4. 前記プログラマブルコントローラにおいて、サービス処理の実行をシーケンス処理プログラムの実行よりも優先させる度合いを示す優先度値を外部から変更可能に設定する優先度値設定部をさらに備え、
    前記第1しきい値および前記所定値のうちの少なくとも一方は、前記優先度値に基づいてあらかじめ定められる、
    請求項3に記載のプログラマブルコントローラ。
  5. 前記シーケンス処理プログラムの実行と、前記シーケンス処理プログラムの実行が行われた時間の計測とを行うシーケンス処理部と
    前記サービス処理の実行と、前記サービス処理の実行が行われた時間の計測とを行うサービス処理部と
    前記サービス処理の実行要求を受け付けた時からの経過時間が前記第1しきい値を超えたことを検出する待ち時間超過検出部と
    前記サービス処理の実行が行われた時間が前記第2しきい値を超えたことを検出するサービス処理超過検出部とをさらに備え、
    前記受け付け部は、前記サービス処理の実行要求を受け付けた時からの前記経過時間を計測し、
    前記制御部は、前記受け付け部で前記サービス処理の実行要求を受け付けた時に前記シーケンス処理部において前記シーケンス処理プログラムの実行が行われている場合、待ち時間超過検出部における検出情報およびサービス処理超過検出部における検出情報に基づいて、前記シーケンス処理プログラムの実行から切り換えて前記サービス処理部において前記実行要求に対応する前記サービス処理の実行を行わせる、
    請求項2から請求項4のうちのいずれか1項に記載のプログラマブルコントローラ。
  6. 機器を制御するためのシーケンス処理プログラムの実行と、ネットワーク通信処理を含むサービス処理の実行とを排他的に行うプログラマブルコントローラにおいて、
    前記サービス処理の実行要求を受け付け、
    前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行が行われている場合、前記サービス処理の前記実行要求を受け付けた時からの経過時間があらかじめ定められた第1しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行から切り換えて前記実行要求に対応する前記サービス処理の実行を行わせる、
    プログラマブルコントローラの制御方法。
  7. 前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記サービス処理の実行が行われている場合、前記実行要求に対応する前記サービス処理の実行を行わせる、
    請求項6に記載のプログラマブルコントローラの制御方法。
  8. 前記サービス処理の実行要求を複数受け付け、
    前記サービス処理の実行要求を受け付けた時に前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行が行われている場合、各前記サービス処理の実行要求を受け付けた時からの経過時間を合算した時間が前記第1しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行から切り換えて前記実行要求に対応する前記サービス処理の実行を行わせる、
    請求項6または請求項7に記載のプログラマブルコントローラの制御方法。
  9. 前記シーケンス処理プログラムの実行から切り換えて前記サービス処理の実行が行われた時間があらかじめ定められた第2しきい値を超えた時点で、前記プログラマブルコントローラにおいて前記シーケンス処理プログラムの実行を行わせる、
    請求項6または請求項7に記載のプログラマブルコントローラの制御方法。
  10. 前記第2しきい値は、前記サービス処理の実行に切り換える前の前記シーケンス処理プログラムの実行が行われた時間に、あらかじめ定められた所定値を乗算た値である、
    請求項9に記載のプログラマブルコントローラの制御方法。
  11. 前記プログラマブルコントローラにおいて、前記サービス処理の実行を前記シーケンス処理プログラムの実行よりも優先させる度合いを示す優先度値に基づいて、前記第1しきい値および前記所定値のうちの少なくとも一方があらかじめ定められる、
    請求項10に記載のプログラマブルコントローラの制御方法。
  12. 前記優先度値に基づいて、前記第1しきい値および前記所定値を同時に定められる、
    請求項11に記載のプログラマブルコントローラの制御方法。
  13. 前記第1しきい値および前記所定値が、前記優先度値に比例する、
    請求項11に記載のプログラマブルコントローラの制御方法。
  14. 前記第1しきい値は、前記優先度値が大きくなるにしたがって小さくなり、
    前記所定値は、前記優先度値が大きくなるにしたがって大きくなる、
    請求項11に記載のプログラマブルコントローラの制御方法。
JP2015550878A 2015-06-22 2015-06-22 プログラマブルコントローラおよびプログラマブルコントローラの制御方法 Active JP5866082B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/067826 WO2016207937A1 (ja) 2015-06-22 2015-06-22 プログラマブルコントローラおよびプログラマブルコントローラの制御方法

Publications (2)

Publication Number Publication Date
JP5866082B1 true JP5866082B1 (ja) 2016-02-17
JPWO2016207937A1 JPWO2016207937A1 (ja) 2017-07-06

Family

ID=55347015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015550878A Active JP5866082B1 (ja) 2015-06-22 2015-06-22 プログラマブルコントローラおよびプログラマブルコントローラの制御方法

Country Status (2)

Country Link
JP (1) JP5866082B1 (ja)
WO (1) WO2016207937A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165623A (ja) * 1997-08-20 1999-03-09 Denso Corp プログラマブルコントローラ
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
JP2004362100A (ja) * 2003-06-03 2004-12-24 Sony Corp 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2005293312A (ja) * 2004-03-31 2005-10-20 Omron Corp コントローラおよびツール
JP2010277158A (ja) * 2009-05-26 2010-12-09 Fujitsu Semiconductor Ltd 割り込み通知制御装置および半導体集積回路
JP2011134197A (ja) * 2009-12-25 2011-07-07 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ、及びプログラマブルコントローラにおける複数処理の時分割方法
JP2012203519A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 制御装置およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165623A (ja) * 1997-08-20 1999-03-09 Denso Corp プログラマブルコントローラ
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
JP2004362100A (ja) * 2003-06-03 2004-12-24 Sony Corp 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2005293312A (ja) * 2004-03-31 2005-10-20 Omron Corp コントローラおよびツール
JP2010277158A (ja) * 2009-05-26 2010-12-09 Fujitsu Semiconductor Ltd 割り込み通知制御装置および半導体集積回路
JP2011134197A (ja) * 2009-12-25 2011-07-07 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ、及びプログラマブルコントローラにおける複数処理の時分割方法
JP2012203519A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 制御装置およびプログラム

Also Published As

Publication number Publication date
WO2016207937A1 (ja) 2016-12-29
JPWO2016207937A1 (ja) 2017-07-06

Similar Documents

Publication Publication Date Title
JP6886964B2 (ja) 負荷平衡方法及び装置
JP6669961B2 (ja) プロセッサ、再構成可能回路の制御方法及びプログラム
CN106330754B (zh) 访问请求的控制方法和装置
KR101942027B1 (ko) 디바이스의 온도 예측 방법
CN109361750B (zh) 资源分配方法、装置、电子设备、存储介质
JP2007133481A (ja) 分散システム
US20140344518A1 (en) Apparatus and method for performing data transfer between storages
JP5866082B1 (ja) プログラマブルコントローラおよびプログラマブルコントローラの制御方法
JP2009277022A (ja) 情報処理システム、負荷制御方法、および負荷制御プログラム
JP2005327138A (ja) データベースサーバ、プログラム、記録媒体、及び制御方法
JP2018169999A (ja) モデル構築システムおよびモデル構築方法
US9537740B2 (en) Monitoring device usage
US20160036677A1 (en) Monitoring device usage
JP2010282352A (ja) Dma転送制御装置
US9876713B2 (en) Cross-domain service request placement in a software defined environment (SDE)
JP2019144715A (ja) 情報処理装置、情報処理システム、及びプログラム
JP2017228223A (ja) 信号処理装置
JP6331549B2 (ja) 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム
JP5056346B2 (ja) 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム
JP2018041282A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
JP2021105772A (ja) リソース利用量の予測管理システム、リソース利用量の予測管理方法
CN112015539A (zh) 任务分配方法、装置和计算机存储介质
US10169182B2 (en) Monitoring levels of utilization of device
JP6655034B2 (ja) 制御装置、制御方法、および制御プログラム
JP6281354B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及び、プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20151125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151228

R150 Certificate of patent or registration of utility model

Ref document number: 5866082

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