JP6594533B2 - コントローラシステム - Google Patents

コントローラシステム Download PDF

Info

Publication number
JP6594533B2
JP6594533B2 JP2018518074A JP2018518074A JP6594533B2 JP 6594533 B2 JP6594533 B2 JP 6594533B2 JP 2018518074 A JP2018518074 A JP 2018518074A JP 2018518074 A JP2018518074 A JP 2018518074A JP 6594533 B2 JP6594533 B2 JP 6594533B2
Authority
JP
Japan
Prior art keywords
shot timer
input
output control
activation
control device
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
JP2018518074A
Other languages
English (en)
Other versions
JPWO2017199469A1 (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
Publication of JPWO2017199469A1 publication Critical patent/JPWO2017199469A1/ja
Application granted granted Critical
Publication of JP6594533B2 publication Critical patent/JP6594533B2/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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25054Calibration timer, compare 1st, number of pulses during calibration with second counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、コントローラと、それぞれがセンサ機器と接続可能な複数の入出力制御装置とを備えるコントローラシステムに関する。
従来、周期割込み発生回路は、一定周期でプロセッサへハードウェアの周期割込み信号を出力する。プロセッサ内の制御プログラムは、周期割込み信号により起動されるタイマ割込みルーチンのタイマ処理により、制御プログラムが持つタイマを加算または減算し、加算値または減算値により所定の制御を起動する。また、プロセッサ内の制御プログラムは、ハードウェア周期割込み発生回路の故障によるカウンタ加算または減算及び停止を監視し、監視結果に基づいて障害を検出する。このような技術は、例えば特許文献1に開示されている。
また、CPU(Central Processing Unit)と、このCPUに対して周期性の割込み信号を発生する割込み信号発生回路とを含むシステムにおいて、クロックパルスのカウントが、前記割込み信号発生回路から発生された割込み信号においてリセットされる。そして、リセットされずにカウント値が特定値に達したときにCPUへ割込み信号を出力し、カウンタのリセット前の値が正常値か異常値かを判別することで割込み発生回路の異常を検出する。このような技術は、例えば特許文献2に開示されている。
また、CPUに対して、割込み信号を出力する割込み回路を有する割込み信号監視回路において、計時手段により設定された監視時間内に発生した割込み信号の発生回数を計数し、その計数値が所定値以上である場合にCPUに割込み信号が異常であることを通知する。このような技術は、例えば特許文献3に開示されている。
特開平9−146796号公報 特開昭63−049855号公報 特開平3−097041号公報
上記技術においては、一定周期でCPUへ割込みを発生させ、割込みによって起動したプログラム内でカウンタを増減したり、割込みの発生回数が正常であるか異常であるかの判断を行ったりしている。しかしながら、このような構成においては、一定周期の割込みを管理する際、OS(Operating system)が管理するタイムイベントキューを探索し、特定タイミングでタイマ間隔算出や異常報告処理を起動する必要がある。このため、一定周期ごとに起動検出及びタイムアウト検出を行うためのキュー探索が必要となり、CPU、ひいてはCPUを備えるコントローラの負荷が増加する課題がある。
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、コントローラの負荷を抑制可能な技術を提供することを目的とする。
本発明に係るコントローラシステムは、コントローラと、前記コントローラと通信可能に直列接続され、それぞれがセンサ機器と接続可能な複数の入出力制御装置とを備える。前記複数の入出力制御装置のそれぞれは、定期的にワンショットタイマカウントをインクリメントまたはデクリメントするワンショットタイマと、前記ワンショットタイマカウントとワンショットタイマ起動カウンタとに基づいて、ワンショットタイマ割込みを発生させるワンショットタイマ割込み発生部とを備える。前記複数の入出力制御装置のそれぞれは、自入出力制御装置と前記コントローラとの間の他の入出力制御装置に接続された前記センサ機器のうち、前記ワンショットタイマを起動させる対象となっている前記センサ機器の合計数に基づいて、前記ワンショットタイマ起動カウンタを算出する起動カウンタ算出部を備える。
本発明によれば、複数の入出力制御装置のそれぞれは、自入出力制御装置とコントローラとの間の他の入出力制御装置に接続されたセンサ機器のうち、ワンショットタイマを起動させる対象となっているセンサ機器の合計数に基づいて、ワンショットタイマ起動カウンタを算出する。これにより、コントローラの負荷を抑制することができる。
本発明の目的、特徴、態様及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
実施の形態1に係るコントローラシステムの全体構成を示すブロック図である。 実施の形態1に係る入出力制御装置の構成を示すブロック図である。 実施の形態1に係るワンショットタイマ制御レジスタに格納されたパラメータを示す図である。 実施の形態1に係るコントローラシステムの処理を説明するための図である。 実施の形態1に係るコントローラシステムの処理を説明するためのタイミングチャートである。 実施の形態1に係る入出力制御装置の処理を示すフローチャートである。 実施の形態2に係る入出力制御装置の構成を示すブロック図である。 実施の形態2に係るワンショットタイマ制御レジスタに格納されたパラメータを示す図である。 実施の形態2に係るコントローラシステムの処理を説明するための図である。 実施の形態2に係る入出力制御装置の処理を示すフローチャートである。 実施の形態3に係るワンショットタイマ制御レジスタに格納されたパラメータを示す図である。 実施の形態3に係るコントローラシステムの処理を説明するための図である。 実施の形態3に係るコントローラシステムの処理を説明するためのタイミングチャートである。 実施の形態3に係る入出力制御装置の処理を示すフローチャートである。 実施の形態4に係るワンショットタイマ制御レジスタに格納されたパラメータを示す図である。 実施の形態4に係るコントローラシステムの処理を説明するための図である。 実施の形態4に係るコントローラシステムの処理を説明するためのタイミングチャートである。 実施の形態4に係る重ねモード起動間隔管理テーブルを示す図である。 実施の形態4に係る入出力制御装置の処理を示すフローチャートである。 実施の形態5に係る入出力制御装置の構成を示すブロック図である。 実施の形態5に係るワンショットタイマ制御レジスタに格納されたパラメータを示す図である。 実施の形態5に係るコントローラシステムの処理を説明するための図である。 実施の形態5に係るコントローラシステムの処理を説明するためのタイミングチャートである。 実施の形態5に係る入出力制御装置の処理を示すフローチャートである。 実施の形態5に係る入出力制御装置の処理を示すフローチャートである。 実施の形態6に係るワンショットタイマ制御レジスタに格納されたパラメータを示す図である。 実施の形態6に係るコントローラシステムの処理を説明するための図である。 実施の形態6に係る入出力制御装置の処理を示すフローチャートである。
<実施の形態1>
図1は、本発明の実施の形態1に係るコントローラシステムの全体構成を示すブロック図である。なお、後述される他の実施の形態に係るコントローラシステムの全体構成も、図1のコントローラシステムの全体構成と同様である。
図1のコントローラシステムは、コントローラ1と、入出力制御装置4−1,4−2,4−3とを備える。以下の説明では、入出力制御装置4−1〜入出力制御装置4−3を特定しない場合には、それぞれを単に「入出力制御装置4」と記すこともある。なお、本発明に係る複数の入出力制御装置は、3つの入出力制御装置4に限ったものではなく、3つ以外の2つ以上の入出力制御装置であってもよい。
コントローラ1は、プロセッサ2と、通信機能3とを備えている。プロセッサ2は、例えばCPUなどから構成される。通信機能3は、入出力制御装置4と通信を行うことが可能となっており、ここでは入出力制御装置4−1と通信を行う。
コントローラ1は、入出力制御装置4−1と通信可能に通信バス6を介して接続されている。また、入出力制御装置4−1は、入出力制御装置4−2と通信可能に通信バス6を介して接続され、入出力制御装置4−2は、入出力制御装置4−3と通信可能に通信バス6を介して接続されている。このように、複数の入出力制御装置4が、コントローラ1と通信可能に直列接続されている。
図1の例では、入出力制御装置4−1はセンサ機器5−1,5−2と接続され、入出力制御装置4−2はセンサ機器5−3と接続され、入出力制御装置4−3はセンサ機器5−4,5−5,5−6と接続されている。以下の説明では、センサ機器5−1〜5−6を特定しない場合には、それぞれを単に「センサ機器5」と記すこともある。なお、本発明に係るセンサ機器は、6つのセンサ機器5に限ったものではなく、6つ以外の1つ以上のセンサ機器であってもよい。
センサ機器5は、センサ機器5の外部とセンサデータの入出力を行う。以上のように、入出力制御装置4は、センサ機器5と接続可能となっており、接続されたセンサ機器5とセンサデータの入出力を行う。
入出力制御装置4−1は、入出力機能7−1と、ワンショットタイマ機能8−1と、通信機能9−1とを備える。同様に、入出力制御装置4−2は、入出力機能7−2と、ワンショットタイマ機能8−2と、通信機能9−2とを備え、入出力制御装置4−3は、入出力機能7−3と、ワンショットタイマ機能8−3と、通信機能9−3とを備える。
なお、以下の説明では、入出力機能7−1〜7−3を特定しない場合には、それぞれを単に「入出力機能7」と記すこともある。ワンショットタイマ機能8−1〜8−3を特定しない場合には、それぞれを単に「ワンショットタイマ機能8」と記すこともある。通信機能9−1〜9−3を特定しない場合には、それぞれを単に「通信機能9」と記すこともある。
入出力機能7は、センサ機器5とセンサデータなどのデータを入出力する。ワンショットタイマ機能8は、コントローラ1からワンショットタイマ12の起動要求を取得してからカウントしたカウンタが、後述するワンショットタイマ起動カウンタと等しい場合に割込みを発生させる。通信機能9は、センサデータなどのデータを、コントローラ1及び1つの入出力制御装置4、または、2つの入出力制御装置4などと送受信する。
ここで、ワンショットタイマ12とは、起動時刻を設定して起動した後、1回だけ一定時間のパルス信号を出力する回路のことである。また、カウンタとは、ソフトウェアまたはハードウェアで使用するレジスタである。明細書の全文を通じて、カウンタは、機器ごとの周波数に基づいて時間をカウントして算出した値である。また明細書の全文を通じて、ソフトウェアまたはハードウェアで比較する値または時間は、間隔または時刻を定義するものとして使用している。
図2は、本実施の形態1に係る入出力制御装置4の構成を示すブロック図である。なお、以下の説明において、複数の入出力制御装置4のうち着目している1つの入出力制御装置4を「自装置」と記すこともある。
図2のワンショットタイマ機能8は、タイマ生成部11と接続されるとともに、ワンショットタイマ12と、ワンショットタイマ割込み発生部13と、ワンショットタイマ制御レジスタ14と、起動カウンタ算出部15とを備える。
タイマ生成部11は、各入出力制御装置で共通のタイマ生成用周波数を持ち、定期的にカウントをインクリメントするトリガを生成する。ワンショットタイマ12は、起動されている場合に、タイマ生成部11からのトリガに基づいて、定期的にワンショットタイマカウントをインクリメントする。ワンショットタイマ割込み発生部13は、ワンショットタイマカウントが、タイマ起動カウンタと等しい場合に、ワンショットタイマ割込みを発生させる。ワンショットタイマ制御レジスタ14は、入出力制御装置4の動作を制御するパラメータを格納する。起動カウンタ算出部15は、自装置とコントローラ1との間の他の入出力制御装置4に接続されたセンサ機器5のうち、ワンショットタイマ12を起動させる対象となっているセンサ機器5の合計数と、ワンショットタイマ起動時間をタイマ生成用周波数に基づき変換した単位変換係数とに基づいて、ワンショットタイマ起動カウンタを算出する。起動カウンタ算出部15の算出結果は、ワンショットタイマ制御レジスタ14に格納される。
ここで、ワンショットタイマカウンタとは、ワンショットタイマ起動後にクロック信号が有効になった回数を示すレジスタのことである。また、タイマ起動カウンタとは、ワンショットタイマカウンタと比較し、等しいときにワンショットタイマがパルス信号を出力するためのレジスタのことである。さらに、ワンショットタイマ起動時間とは、装置の周波数に依存しない共通の間隔・時刻を示すものである。また、ワンショットタイマ起動カウンタとは、装置の周波数に基づいて時間をカウンタとして算出した値を格納するレジスタのことである。
図3は、本実施の形態1に係るワンショットタイマ制御レジスタ14に格納されたパラメータを示す図である。ワンショットタイマ制御レジスタ14は、パラメータとして、タイマ起動カウンタ21と、センサ接続数22とを格納している。
タイマ起動カウンタ21は、ワンショットタイマ割込みを発生すべきか否かを判定するために、ワンショットタイマ12のワンショットタイマカウントと比較されるカウンタである。センサ接続数22は、自装置とコントローラ1との間の、他の入出力制御装置4に接続されたセンサ機器5のうち、ワンショットタイマ12を起動させる対象となっているセンサ機器5の合計数である。
図4は、本実施の形態1に係るコントローラシステムの処理を説明するための図である。なお、下記のワンショットタイマ起動カウンタの算出は、入出力制御装置4−1〜4−3のそれぞれの起動カウンタ算出部15などによって行われる。
コントローラ1は、ワンショットタイマ制御レジスタ14のパラメータを規定するためのデータである初期化時登録データ31−1を、入出力制御装置4−1に送信する。本実施の形態1に係る初期化時登録データ31−1は、単一のワンショットタイマ12を起動するための予め定められた時間である基本起動時間と、センサ接続数とを含んでいる。図4の例では、初期化時登録データ31−1の基本起動時間は「100」であり、初期化時登録データ31−1のセンサ接続数は初期値の「0」である。
入出力制御装置4−1は、センサ接続数に基づいてワンショットタイマ起動カウンタを算出する。本実施の形態1では、入出力制御装置4−1が、基本起動時間+基本起動時間×センサ接続数によって得られる値を、ワンショットタイマ起動カウンタとして算出し、算出されたワンショットタイマ起動カウンタ及び受信したセンサ接続数をワンショットタイマ制御レジスタ14に格納する。図4の例では、ワンショットタイマ起動時間がミリ秒で定義され、タイマ生成用周波数が1MHzのとき、タイマは1マイクロ秒ごとにカウントアップされるため、入出力制御装置4−1のワンショットタイマ起動カウンタは、「100000(=(100+100×0)×1000)」となる。
入出力制御装置4−1は、初期化時登録データ31−1と同様の初期化時登録データ31−2を、入出力制御装置4−2に送信する。初期化時登録データ31−2の基本起動時間は「100」である。初期化時登録データ31−2のセンサ接続数は、初期化時登録データ31−1のセンサ接続数の「0」に、入出力制御装置4−1に接続されたセンサ機器5−1,5−2の「2」が加えられた「2」である。
入出力制御装置4−2は、センサ接続数に基づいてワンショットタイマ起動カウンタを算出する。本実施の形態1では、入出力制御装置4−2が、入出力制御装置4−1によるワンショットタイマ起動カウンタの算出と同様に、ワンショットタイマ起動カウンタを算出し、算出されたワンショットタイマ起動カウンタ及び受信したセンサ接続数をワンショットタイマ制御レジスタ14に格納する。図4の例では、入出力制御装置4−2のワンショットタイマ起動カウンタは、「300000(=(100+100×2)×1000」となる。
入出力制御装置4−2は、初期化時登録データ31−1と同様の初期化時登録データ31−3を、入出力制御装置4−3に送信する。初期化時登録データ31−3の基本起動時間は「100」である。初期化時登録データ31−3のセンサ接続数は、初期化時登録データ31−2のセンサ接続数の「2」に、入出力制御装置4−2に接続されたセンサ機器5−3の「1」が加えられた「3」である。
入出力制御装置4−3は、センサ接続数に基づいてワンショットタイマ起動カウンタを算出する。本実施の形態1では、入出力制御装置4−3が、入出力制御装置4−1によるワンショットタイマ起動カウンタの算出と同様に、ワンショットタイマ起動カウンタを算出し、算出されたワンショットタイマ起動カウンタ及び受信したセンサ接続数をワンショットタイマ制御レジスタ14に格納する。図4の例では、入出力制御装置4−3のワンショットタイマ起動カウンタは、「400000(=(100+100×3)×1000)」となる。
なお、以下の説明では、初期化時登録データ31−1〜31−3を特定しない場合には、それぞれを単に「初期化時登録データ31」と記すこともある。
図5は、本実施の形態1に係るコントローラシステムにおいて、ワンショットタイマ割込みによって、コントローラ1へセンサデータを送信するタイミングを示すタイミングチャートである。
なお、図5の入出力制御装置1,2,3は、図1の入出力制御装置4−1,4−2,4−3に対応し、図5の入出力制御装置1起動カウンタなどは、入出力制御装置4−1のワンショットタイマ起動カウンタなどに対応する。また、図5の初期化は、図4で説明した初期化時登録データ31に対応し、図5のセンサ1,2,3,4,5,6は、図1のセンサ機器5−1,5−2,5−3,5−4,5−5,5−6のセンサデータに対応する。これらの表記は、以降のタイミングチャートにおいて同様に用いられる。
さて、図4で説明したように、コントローラ1からの初期化時登録データ31が、入出力制御装置4−1,4−2,4−3に順に送信されることによって、入出力制御装置4−1,4−2,4−3のワンショットタイマ制御レジスタ14にてワンショットタイマ起動カウンタが順に設定される。
入出力制御装置4−1のワンショットタイマ起動カウンタが設定された際に、入出力制御装置4−1のワンショットタイマ12が起動する。そして、ワンショットタイマカウントが、入出力制御装置4−1のワンショットタイマ起動カウンタ(この例では「100000」)と等しくなった場合に、入出力制御装置4−1は、接続されたセンサ機器5−1,5−2のセンサデータを順に、コントローラ1に送信する。
同様に、入出力制御装置4−2のワンショットタイマ起動カウンタが設定された際に、入出力制御装置4−2のワンショットタイマ12が起動する。そして、ワンショットタイマカウントが、入出力制御装置4−2のワンショットタイマ起動カウンタ(この例では「300000」)と等しくなった場合に、入出力制御装置4−2は、接続されたセンサ機器5−3のセンサデータを、入出力制御装置4−1を介してコントローラ1に送信する。
同様に、入出力制御装置4−3のワンショットタイマ起動カウンタが設定された際に、入出力制御装置4−3のワンショットタイマ12が起動する。そして、ワンショットタイマカウントが、入出力制御装置4−3のワンショットタイマ起動カウンタ(この例では「400000」)と等しくなった場合に、入出力制御装置4−3は、接続されたセンサ機器5−4,5−5,5−6のセンサデータを順に、入出力制御装置4−1,4−2を介してコントローラ1に送信する。
図6は、本実施の形態1に係る入出力制御装置4における、ワンショットタイマ割込み発生処理を示すフローチャートである。本フローチャートの処理は、タイマ生成部11でトリガが生成された場合、換言すればトリガが受信された場合に実行される。
最初にステップS1にて、入出力制御装置4は、ワンショットタイマ割込みをオフ状態にする。
ステップS2にて、入出力制御装置4は、現時点でワンショットタイマ12が起動しているか否かを判定する。起動していると判定された場合には処理がステップS3に進み、停止していると判定された場合には処理がステップS6に進む。
ステップS3にて、ワンショットタイマ12は、ワンショットタイマカウントをインクリメントする。
ステップS4にて、ワンショットタイマ割込み発生部13は、ワンショットタイマカウントがワンショットタイマ起動カウンタと等しいか否かを判定する。等しいと判定された場合には処理がステップS5に進み、等しくないと判定された場合には図6の処理が終了する。
ステップS5にて、ワンショットタイマ割込み発生部13は、ワンショットタイマ割込みをオン状態にし、ワンショットタイマ割込みを発生させる。また、入出力制御装置4は、ワンショットタイマ12の起動を停止する。その後、図6の処理が終了する。
ステップS2からステップS6に処理が進んだ場合、入出力制御装置4は、コントローラ1から、ワンショットタイマ12の起動要求、例えば初期化時登録データ31などを取得したか否かを判定する。取得したと判定された場合には処理がステップS7に進み、取得していないと判定された場合には図6の処理が終了する。
ステップS7にて、入出力制御装置4は、ワンショットタイマカウントをリセットして0にするとともに、ワンショットタイマ12を起動させる。その後、図6の処理が終了する。
以上のような本実施の形態1に係るコントローラシステムによれば、複数の入出力制御装置4のそれぞれの起動カウンタ算出部15が、センサ接続数に基づいて、ワンショットタイマ起動カウンタを算出する。このような構成によれば、コントローラ1内にタイマを設けて、コントローラ1が、タイムイベントキューの管理、つまり割込み発生のための時間の管理を行わなくても、コントローラ1は、時分割でデータを取得することが可能となる。このため、コントローラ1の負荷を抑制することができる。また、コントローラシステムの応答性の向上化も期待できる。
なお、以上の説明では、ワンショットタイマ割込み発生部13は、ワンショットタイマカウントがワンショットタイマ起動カウンタと等しい場合に、ワンショットタイマ割込みを発生させた。しかしこの例に限ったものではなく、ワンショットタイマ割込み発生部13は、ワンショットタイマカウントがワンショットタイマ起動カウンタ以上である場合に、ワンショットタイマ割込みを発生させてもよい。
また、以上の説明では、ワンショットタイマ12は、定期的にワンショットタイマカウントをインクリメントした。しかしこの例に限ったものではなく、ワンショットタイマ12は、比較的大きな値に初期値が設定されたワンショットタイマカウントを定期的にデクリメントしてもよい。そして、ワンショットタイマ割込み発生部13は、初期値とワンショットタイマカウントとの差が、ワンショットタイマ起動カウンタ以上である場合に、ワンショットタイマ割込みを発生させてもよい。つまり、ワンショットタイマ割込み発生部13は、ワンショットタイマカウントとワンショットタイマ起動カウンタとに基づいて、ワンショットタイマ割込みを発生させるように構成されてもよい。
<実施の形態2>
図7は、本発明の実施の形態2に係る入出力制御装置の構成を示すブロック図である。以下、本実施の形態2で説明する構成要素のうち、実施の形態1と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
図7のワンショットタイマ機能8は、図2の実施の形態1に係るワンショットタイマ機能8に加えて、ワンショットタイマ起動間隔異常管理部16と、規定起動間隔算出部17とを備える。
本実施の形態2に係るワンショットタイマ起動間隔異常管理部16は、ワンショットタイマ12が前回起動された時刻と次回起動される時刻との間隔、つまりワンショットタイマ12の起動の間隔が、規定起動間隔以上か否かを検出する。そして、ワンショットタイマ起動間隔異常管理部16は、ワンショットタイマ12の起動の間隔が、規定起動間隔以上である場合に起動間隔異常をコントローラ1に通知する。
規定起動間隔算出部17は、複数の入出力制御装置1に接続された全てのセンサ機器5のうち、ワンショットタイマ12を起動させる対象となっているセンサ機器5の合計数に基づいて、規定起動間隔カウンタを算出する。規定起動間隔算出部17の算出結果は、ワンショットタイマ制御レジスタ14に格納される。なお、規定起動間隔算出部17は、複数の入出力制御装置1のそれぞれに備えられる必要はなく、複数の入出力制御装置1の少なくともいずれか1つに備えられればよい。
図8は、本実施の形態2に係るワンショットタイマ制御レジスタ14に格納されたパラメータを示す図である。本実施の形態2に係るワンショットタイマ制御レジスタ14は、図3のパラメータに加えて、規定起動間隔カウンタ23と、総センサ接続数24とを格納している。
規定起動間隔カウンタ23は、ワンショットタイマ12の起動の間隔が異常か否かを判定するための予め規定されたカウンタである。総センサ接続数24は、入出力制御装置4−1〜4−3に接続された全てのセンサ機器5−1〜5−6のうち、ワンショットタイマ12を起動させる対象となっているセンサ機器の合計数である。つまり、総センサ接続数24は、コントローラシステムに接続されている全てのセンサ機器5のうち、ワンショットタイマ12を起動させる対象となっているセンサ機器の合計数である。
図9は、本実施の形態2に係るコントローラシステムの処理を説明するための図である。
コントローラ1は、実施の形態1と同様に、初期化時登録データ31−1を入出力制御装置4−1に送信する。ただし、本実施の形態2に係る初期化時登録データ31−1は、図4の実施の形態1に係る初期化時登録データ31−1に加えて、基本起動間隔を含んでいる。同様に、本実施の形態2に係る初期化時登録データ31−2,31−3は、基本起動間隔をさらに含んでいる。なお、図9の例では、初期化時登録データ31−1〜31−3の基本起動間隔は「2000000」である。
規定起動間隔算出部17は、総センサ接続数に基づいて、規定起動間隔カウンタを算出する。本実施の形態2では、規定起動間隔算出部17が、入出力制御装置4−1〜4−3の列における終端装置である入出力制御装置4−3に備えられており、基本起動間隔×総センサ接続数×単位変換係数によって得られる値を規定起動間隔カウンタとして算出する。
図9の例では、入出力制御装置4−3は、初期化時登録データ31−3のセンサ接続数の「3」に、入出力制御装置4−3に接続されたセンサ機器5−4,5−5,5−6の「3」を加えた「6」を、総センサ接続数として算出する。そして、規定起動間隔算出部17は、「12000000(=(2000×6)×1000)」を、規定起動間隔カウンタとして算出する。
入出力制御装置4−3は、算出された総センサ接続数及び規定起動間隔カウンタを、入出力制御装置4−3のワンショットタイマ制御レジスタ14に格納する。また、入出力制御装置4−3は、総センサ接続数及び規定起動間隔カウンタを含む初期化時返送データ41−3を、入出力制御装置4−2に送信する。
入出力制御装置4−2は、送信された総センサ接続数及び規定起動間隔カウンタを、入出力制御装置4−2のワンショットタイマ制御レジスタ14に格納する。また、入出力制御装置4−2は、総センサ接続数及び規定起動間隔カウンタを含む初期化時返送データ41−2を、入出力制御装置4−1に送信する。
入出力制御装置4−1は、送信された総センサ接続数及び規定起動間隔カウンタを、入出力制御装置4−1のワンショットタイマ制御レジスタ14に格納する。また、入出力制御装置4−1は、総センサ接続数及び規定起動間隔カウンタを含む初期化時返送データ41−1を、コントローラ1に送信する。
なお、以下の説明では、初期化時返送データ41−1〜41−3を特定しない場合には、それぞれを単に「初期化時返送データ41」と記すこともある。
その後、入出力制御装置4のワンショットタイマ起動間隔異常管理部16は、ワンショットタイマカウントが規定起動間隔カウンタ以上になったときにコントローラ1に起動間隔異常を通知する。
図10は、本実施の形態2に係る入出力制御装置4における、総センサ接続数及び規定起動間隔カウンタの算出処理などを示すフローチャートである。
最初にステップS11にて、入出力制御装置4は、基本起動時間、センサ接続数及び基本起動間隔を含む初期化時登録データ31を受信すると、受信したセンサ接続数に、自装置に接続されたセンサ機器5の数を加えた値を、自装置のセンサ接続数として自装置のワンショットタイマ制御レジスタ14に格納する。
ステップS12にて、入出力制御装置4は、自装置が、複数の入出力制御装置4の列における終端装置であるか否かを判定する。終端装置ではないと判定された場合には処理がステップS13に進み、終端装置であると判定された場合には処理がステップS14に進む。
ステップS13にて、入出力制御装置4は、算出されたセンサ接続数と、受信した基本起動時間及び基本起動間隔とを含む初期化時登録データ31を、終端側の入出力制御装置4に送信する。その後、図10の処理が終了する。
ステップS12からステップS14に処理が進んだ場合、入出力制御装置4は、終端装置であることから、算出されたセンサ接続数を、総センサ接続数として自装置のワンショットタイマ制御レジスタ14に格納する。そして、規定起動間隔算出部17は、基本起動間隔と総センサ接続数と単位変換係数との乗算を行い、その結果を規定起動間隔カウンタとして自装置のワンショットタイマ制御レジスタ14に格納する。
ステップS15にて、入出力制御装置4は、総センサ接続数及び規定起動間隔カウンタを含む初期化時返送データ41を、コントローラ1側の入出力制御装置4、または、コントローラ1に送信する。その後、図10の処理が終了する。
以上のような本実施の形態2に係るコントローラシステムによれば、総センサ接続数に基づいて、規定起動間隔カウンタが算出される。このような構成によれば、総センサ接続数が増減した場合であっても、規定起動間隔カウンタを適切に変更することができる。これにより、起動間隔異常を適切に検出することができる。
<実施の形態3>
本発明の実施の形態3に係る入出力制御装置の構成は、図7の実施の形態2に係る入出力制御装置の構成と同様である。以下、本実施の形態3で説明する構成要素のうち、実施の形態2と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
本実施の形態3に係るワンショットタイマ起動間隔異常管理部16は、ワンショットタイマ12の予め定められた複数回の起動の間隔を単位とする単位間隔カウンタが、規定起動間隔カウンタ以上か否かを検出する。そして、ワンショットタイマ起動間隔異常管理部16は、ワンショットタイマ12の単位間隔カウンタが、規定起動間隔カウンタ以上である場合に起動間隔異常をコントローラ1に通知する。
規定起動間隔算出部17は、複数の入出力制御装置1に接続された全てのセンサ機器5のうち、ワンショットタイマ12を起動させる対象となっているセンサ機器5の合計数と、単位変換係数と、上述の複数回とに基づいて、規定起動間隔カウンタを算出する。なお、規定起動間隔算出部17は、複数の入出力制御装置1のそれぞれに備えられる必要はなく、複数の入出力制御装置1の少なくともいずれか1つに備えられればよい。
図11は、本実施の形態3に係るワンショットタイマ制御レジスタ14に格納されたパラメータを示す図である。本実施の形態3に係るワンショットタイマ制御レジスタ14は、図8のパラメータに加えて、起動間隔数25を格納している。起動間隔数25は、単位間隔における上述の複数回を示す。
図12は、本実施の形態3に係るコントローラシステムの処理を説明するための図である。
コントローラ1は、実施の形態2と同様に、初期化時登録データ31−1を入出力制御装置4−1に送信する。ただし、本実施の形態3に係る初期化時登録データ31−1は、図9の実施の形態2に係る初期化時登録データ31−1に加えて、起動間隔数を含んでいる。同様に、本実施の形態3に係る初期化時登録データ31−2,31−3は、起動間隔数をさらに含んでいる。なお、図12の例では、初期化時登録データ31−1〜31−3の起動間隔数は「2」である。
規定起動間隔算出部17は、総センサ接続数及び起動間隔数に基づいて、規定起動間隔カウンタを算出する。本実施の形態3では、規定起動間隔算出部17が、終端装置である入出力制御装置4−3に備えられており、基本起動間隔×総センサ接続数×起動間隔数×単位変換係数によって得られる値を規定起動間隔カウンタとして算出する。図9の例では、規定起動間隔算出部17は、「24000000(=(2000×6×2)×1000」を、規定起動間隔カウンタとして算出する。
入出力制御装置4は、総センサ接続数及び規定起動間隔カウンタを、自装置のワンショットタイマ制御レジスタ14に格納する。そして、入出力制御装置4は、総センサ接続数及び規定起動間隔カウンタを含む初期化時返送データ41を、コントローラ1側の入出力制御装置4、または、コントローラ1に送信する。
図13は、本実施の形態3に係るコントローラシステムにおける、起動間隔異常を検出する間隔と、実施の形態2に係るコントローラシステムにおける、起動間隔異常を検出する間隔とを示すタイミングチャートである。なお、図13では、入出力制御装置4−1について示されているが、入出力制御装置4−2,4−3についても同様である。
図13の起動間隔数がないときの監視区間は、正確には起動間隔数が1であるときの監視区間を意味し、実施の形態2における起動間隔異常の検出間隔に対応する。実施の形態2における起動間隔異常の検出間隔は、ワンショットタイマ12の1回分の起動の間隔に対応している。
図13の起動間隔数が2のときの監視区間は、実施の形態3における起動間隔異常の検出間隔に対応する。実施の形態3における起動間隔異常の検出間隔は、ワンショットタイマ12の2回分の起動の間隔、つまり起動間隔数の起動の間隔に対応している。
図14は、本実施の形態3に係る入出力制御装置4における、起動間隔異常の検出処理を示すフローチャートである。なお、タイマ生成部11のトリガが受信されて、割込みハンドラがすでに起動されていることを前提にして、以下説明する。
最初にステップS21にて、入出力制御装置4の図示しない起動間隔タイマは、起動間隔タイマカウントをインクリメントする。
ステップS22にて、ワンショットタイマ起動間隔異常管理部16は、起動間隔タイマカウントが、規定起動間隔カウンタと一致するか否かを判定する。一致すると判定された場合にはステップS23に処理が進み、一致しないと判定された場合にはステップS24に処理が進む。
ステップS23にて、ワンショットタイマ起動間隔異常管理部16は、ワンショットタイマの起動間隔異常割込みを起動し、コントローラ1へ起動間隔異常を通知する。その後、図14の処理が終了する。
ステップS22からステップS24に処理が進んだ場合、ワンショットタイマ起動間隔異常管理部16は、コントローラ1から、ワンショットタイマ12の起動要求、例えば初期化時登録データ31などを取得したか否かを判定する。取得したと判定された場合には処理がステップS25に進み、取得していないと判定された場合には処理がステップS26に進む。
ステップS25にて、ワンショットタイマ起動間隔異常管理部16は、起動カウントをインクリメントする。そして、処理がステップS26に進む。
ステップS26にて、ワンショットタイマ起動間隔異常管理部16は、起動カウントが、起動間隔数と一致するか否かを判定する。一致すると判定された場合にはステップS27に処理が進み、一致しないと判定された場合には図14の処理が終了する。
ステップS27にて、ワンショットタイマ起動間隔異常管理部16は、起動カウント及び起動間隔タイマカウントをリセットして0にする。その後、図14の処理が終了する。
以上のような本実施の形態3に係るコントローラシステムによれば、総センサ接続数と起動間隔数と単位変換係数とに基づいて、規定起動間隔カウンタが算出されるので、実施の形態2と同様の効果を得ることができる。また、起動間隔数のワンショットタイマ12の起動が、規定起動間隔内において行われなかった場合に、起動間隔異常を検出することができる。
<実施の形態4>
本発明の実施の形態4に係る入出力制御装置の構成は、図7の実施の形態2に係る入出力制御装置の構成と同様である。以下、本実施の形態4で説明する構成要素のうち、実施の形態3と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
本実施の形態4に係るワンショットタイマ起動間隔異常管理部16は、ワンショットタイマ12の1回の起動を起点として起動間隔異常の検出を行う第1モードと、ワンショットタイマの起動間隔数の起動を起点として起動間隔異常の検出を行う第2モードとを有している。そして、ワンショットタイマ起動間隔異常管理部16は、第1モードと第2モードとを選択的に実施する。以下、第1モードを重ねモードと記し、第2モードを通常モードと記して説明する。
図15は、本実施の形態4に係るワンショットタイマ制御レジスタ14に格納されたパラメータを示す図である。本実施の形態4に係るワンショットタイマ制御レジスタ14は、図11のパラメータに加えて、動作モード26を格納している。動作モード26は、ワンショットタイマの起動間隔を監視する制御方式が、通常モード及び重ねモードのいずれであるかを示す。ここでは、動作モード26が「0」であれば、制御方式が通常モードであることを、動作モード26が「1」であれば、制御方式が重ねモードであることを示してもよいように構成されている。
図16は、本実施の形態4に係るコントローラシステムの処理を説明するための図である。
コントローラ1は、実施の形態3と同様に、初期化時登録データ31−1を入出力制御装置4−1に送信する。ただし、本実施の形態4に係る初期化時登録データ31−1は、図12の実施の形態3に係る初期化時登録データ31−1に加えて、動作モードを含んでいる。同様に、本実施の形態4に係る初期化時登録データ31−2,31−3は、動作モードをさらに含んでいる。なお、図16の例では、初期化時登録データ31−1〜31−3の動作モードは「重ねモード」である。この場合、コントローラ1からの初期化時登録データ31が、入出力制御装置4−1,4−2,4−3に順に送信されることによって、入出力制御装置4−1,4−2,4−3のワンショットタイマ制御レジスタ14にて「重ねモード」が順に設定される。
図17は、本実施の形態4に係るコントローラシステムにおける、起動間隔異常を検出する間隔を示すタイミングチャートである。なお、図17では、入出力制御装置4−1について示されているが、入出力制御装置4−2,4−3についても同様である。また、ここでは、起動間隔数は「2」である。
図17に示される、通常モード時、かつ、起動間隔数が2のときの監視区間は、ワンショットタイマ12の2回分の起動の間隔に対応している。このように、通常モード時では、ワンショットタイマ12の起動間隔数と同じ数の起動を起点として、起動間隔の監視を開始し、起動間隔異常の検出が行われる。
図17に示される、重ねモード時、かつ、起動間隔数が2のときの監視区間は、ワンショットタイマ12の1回の起動の間隔に対応している。このように、重ねモード時では、ワンショットタイマ12の1回の起動を起点として、全ての起動間隔の監視を開始し、起動間隔異常の検出が行われる。
図18は、重ねモード起動間隔管理テーブルについて示す図である。この重ねモード起動間隔管理テーブルは、重ねモードを用いて全ての起動間隔を管理するための情報を格納している。
本テーブルは、起動間隔数と同じ数のレコードを持つ。タイマ番号は、レコードのIDを示す番号であり、0,1,2,…の順に数字が付与される。起動間隔タイマカウントは、起動間隔を監視するためにカウントアップされ、その一方で起動時にはリセットされる。リセットトリガは、何回目の起動要求がきたときに起動間隔タイマカウントをリセットするかを決めるためのデータであり、処理が進むと変更される変数である。規定起動間隔カウンタは、これまで説明したものと同じである。起動要求数は、入出力制御装置4に設けられた図示しない起動間隔タイマが現時点までに起動された回数であり、処理が進むと変更される変数である。
図19は、本実施の形態4に係る入出力制御装置4において、重ねモードを適用したときの起動間隔異常の検出処理を示すフローチャートである。なお、タイマ生成部11のトリガが受信されて、割込みハンドラがすでに起動されていることを前提にして、以下説明する。
以下で説明するステップS31〜S38のフローは、起動間隔数、ひいてはタイマ番号の個数と同じ数だけ繰り返し実行される。そして、ステップS31で比較されるタイマ番号は、ステップS31〜S38のフローが繰り返されるごとに、0,1,2,…と順に大きくなるように変更される。
最初にステップS31にて、入出力制御装置4は、起動要求数がタイマ番号よりも大きいか否かを判定する。起動要求数がタイマ番号より大きいと判定された場合にはステップS32に進み、起動要求数がタイマ番号以下であると判定された場合には、実質的に図19の処理が終了する。これにより、起動要求を受けた場合にのみ、ステップS32に進んで各タイマは異常検出をすることになる。
ステップS32にて、入出力制御装置4の図示しない起動間隔タイマは、起動間隔タイマカウントをインクリメントする。
ステップS33にて、ワンショットタイマ起動間隔異常管理部16は、起動間隔タイマカウントが、規定起動間隔カウンタと一致するか否かを判定する。一致すると判定された場合にはステップS34に処理が進み、一致しないと判定された場合にはステップS35に処理が進む。
ステップS34にて、ワンショットタイマ起動間隔異常管理部16は、ワンショットタイマの起動間隔異常割込みを起動し、コントローラ1へ起動間隔異常を通知する。その後、ステップS31〜S38のフローを繰り返した回数が、起動間隔数に達していなければ処理がステップS31に戻り、起動間隔数に達していれば図19の処理が終了する。
ステップS33からステップS35に処理が進んだ場合、ワンショットタイマ起動間隔異常管理部16は、コントローラ1から、ワンショットタイマ12の起動要求、例えば初期化時登録データ31などを取得したか否かを判定する。取得したと判定された場合には処理がステップS36に進み、取得していないと判定された場合には処理がステップS37に進む。
ステップS36にて、ワンショットタイマ起動間隔異常管理部16は、起動要求数をインクリメントする。そして、処理がステップS37に進む。
ステップS37にて、ワンショットタイマ起動間隔異常管理部16は、起動要求数がリセットトリガと一致するか否かを判定する。一致すると判定された場合には処理がステップS38に進む。一致しないと判定された場合には、ステップS31〜S38のフローを繰り返した回数が、起動間隔数に達していなければ処理がステップS31に戻り、起動間隔数に達していれば図19の処理が終了する。
ステップS38にて、ワンショットタイマ起動間隔異常管理部16は、起動間隔タイマカウントをリセットして0にするとともに、リセットトリガに起動間隔数を加算する。その後、ステップS31〜S38のフローを繰り返した回数が、起動間隔数に達していなければ処理がステップS31に戻り、起動間隔数に達していれば図19の処理が終了する。
以上のような本実施の形態4に係るコントローラシステムによれば、ワンショットタイマ12の1回の起動ごとに起動間隔異常の検出を行うことが可能な重ねモードと、ワンショットタイマ12の起動間隔数の起動ごとに起動間隔異常の検出を行うことが可能な通常モードとが、選択的に実施される。これにより、必要に応じて回路内の使用電力を低減することができる。
<実施の形態5>
図20は、本発明の実施の形態5に係る入出力制御装置の構成を示すブロック図である。以下、本実施の形態5で説明する構成要素のうち、実施の形態4と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
図20のワンショットタイマ機能8は、図7の実施の形態2に係るワンショットタイマ機能8に加えて、ワンショットタイマ禁止及び許可部18を備える。
本実施の形態5では、ワンショットタイマ12は、ワンショットタイマカウントのインクリメントを行う。そして、ワンショットタイマ禁止及び許可部18は、ワンショットタイマ12の起動及び停止を制御することによって、ワンショットタイマカウントのインクリメントの許可及び禁止を制御する。ただしこの例に限ったものではなく、ワンショットタイマ12がデクリメントを行う場合には、ワンショットタイマ禁止及び許可部18は、ワンショットタイマ12の起動及び停止を制御することによって、ワンショットタイマカウントのデクリメントの許可及び禁止を制御してもよい。
また、本実施の形態5に係る入出力制御装置4は、自装置に接続されたセンサ機器5の全てが、ワンショットタイマ12を起動させる対象となっていない場合に、起動間隔異常の検出を禁止する。
図21は、本実施の形態5に係るワンショットタイマ制御レジスタ14に格納されたパラメータを示す図である。本実施の形態5に係るワンショットタイマ制御レジスタ14は、図15のパラメータに加えて、タイマイネーブル27を格納している。タイマイネーブル27は、センサ機器5ごとのワンショットタイマ12のカウントアップ、つまりインクリメントの許可及び禁止を示す。ここでは、タイマイネーブル27が「0」であれば、ワンショットタイマ12の起動及びインクリメントが禁止されていることを示し、タイマイネーブル27が「1」であれば、ワンショットタイマ12の起動及びインクリメントが許可されていることを示す。
図22は、本実施の形態5に係るコントローラシステムの処理を説明するための図である。
コントローラ1は、実施の形態4と同様に、初期化時登録データ31−1を入出力制御装置4−1に送信する。ただし、本実施の形態5に係る初期化時登録データ31−1は、図16の実施の形態4に係る初期化時登録データ31−1に加えて、タイマイネーブルを含んでいる。同様に、本実施の形態5に係る初期化時登録データ31−2,31−3は、タイマイネーブルをさらに含んでいる。なお、図22の例では、初期化時登録データ31−1〜31−3のタイマイネーブルは、入出力制御装置4−1のワンショットタイマ12の起動を許可する「1」と、入出力制御装置4−2のワンショットタイマ12の起動を禁止する「0」と、入出力制御装置4−3のワンショットタイマ12の起動を許可する「1」と、を並べた3ビットの「101」である。
この場合、コントローラ1から入出力制御装置4−1に初期化時登録データ31−1が送信されると、入出力制御装置4−1は、受信した初期化時登録データ31−1のタイマイネーブルの「1」及びセンサ接続数の「0」を、自装置のワンショットタイマ制御レジスタ14に格納する。そして、入出力制御装置4−1は、初期化時登録データ31−2を、入出力制御装置4−2に送信する。なお、入出力制御装置4−1に接続されたセンサ機器5−1,5−2は、ワンショットタイマ12を起動させる対象、つまりワンショットタイマ12がカウントする対象である。このため、初期化時登録データ31−2のセンサ接続数は、初期化時登録データ31−1のセンサ接続数の「0」に、センサ機器5−1,5−2の「2」が加えられた「2」である。
入出力制御装置4−1から入出力制御装置4−2に初期化時登録データ31−2が送信されると、入出力制御装置4−2は、受信した初期化時登録データ31−2のタイマイネーブルの「0」を、自装置のワンショットタイマ制御レジスタ14に格納する。そして、入出力制御装置4−2は、初期化時登録データ31−3を、入出力制御装置4−3に送信する。なお、入出力制御装置4−2のタイマイネーブルは「0」であることから、入出力制御装置4−2に接続されたセンサ機器5−3は、ワンショットタイマ12を起動させる対象ではない。このため、初期化時登録データ31−3のセンサ接続数は、センサ機器5−3の「1」が加えられずに、初期化時登録データ31−2のセンサ接続数の「2」のままとなる。
入出力制御装置4−2から入出力制御装置4−3に初期化時登録データ31−3が送信されると、入出力制御装置4−3は、受信した初期化時登録データ31−3のタイマイネーブルの「1」及びセンサ接続数の「2」を、自装置のワンショットタイマ制御レジスタ14に格納する。また、入出力制御装置4−3は、終端装置であることから、受信した初期化時登録データ31−3のセンサ接続数の「2」に、自装置に接続されたセンサ機器5−4,5−5,5−6の「3」を加えた「5」を、総センサ接続数として自装置のワンショットタイマ制御レジスタ14に格納する。この総センサ接続数は、実施の形態2で説明したように、初期化時返送データ41として送信される。
図23は、本実施の形態5に係るコントローラシステムにおいて、ワンショットタイマ割込みによって、コントローラ1へセンサデータを送信するタイミングを示すタイミングチャートである。なお、図23のうち、図5に記載されていない初期化は、図22の初期化時返送データに対応する。
本実施の形態5では、入出力制御装置4−2のセンサ機器5−3に対してワンショットタイマ12を起動しない。このため、センサ機器5−3のセンサデータは、入出力制御装置4−2から入出力制御装置4−1を介してコントローラ1に送信されない。
図24は、本実施の形態5に係る入出力制御装置4における、ワンショットタイマ割込み発生処理を示すフローチャートである。本フローチャートの処理は、タイマ生成部11でトリガが生成された場合、換言すればトリガが受信された場合に実行される。なお、図24の処理は、図6の処理において、ステップS41を追加し、ステップS5をステップS42に変更したものである。このため、図24の処理のうちステップS41及びS42以外の処理については適宜説明を省略する。
最初にステップS41にて、ワンショットタイマ禁止及び許可部18は、タイマイネーブルが「1」であるか否か、つまりワンショットタイマ12の起動及びインクリメントが許可されているか否かを判定する。タイマイネーブルが「1」であると判定された場合には処理がステップS1に進み、タイマイネーブルが「0」であると判定された場合には図24の処理が終了する。
ステップS1からステップS2及びS3を経たステップS4にて、ワンショットタイマカウントがワンショットタイマ起動カウンタと等しいと判定された場合には処理がステップS42に進む。
ステップS42にて、ワンショットタイマ割込み発生部13は、ワンショットタイマ割込みをオン状態にし、ワンショットタイマ割込みを発生させる。また、入出力制御装置4は、ワンショットタイマ12の起動を停止するとともに、ワンショットタイマカウントをリセットして0にする。その後、図24の処理が終了する。
図25は、本実施の形態5に係る入出力制御装置4における、起動間隔異常の検出処理を示すフローチャートである。なお、図25の処理は、重ねモードを用いる実施の形態4の図19の処理において、ステップS51を追加したものである。このため、図25の処理のうちステップS51以外の処理については適宜説明を省略する。
最初にステップS51にて、入出力制御装置4は、タイマイネーブルが「1」であるか否か、つまりワンショットタイマ12の起動及びインクリメントが許可されているか否かを判定する。タイマイネーブルが「1」であると判定された場合には、タイマ生成部11のトリガが受信されて、割込みハンドラがすでに起動された後に、処理がステップS31に進む。その後、図19の実施の形態4と同様の処理が行われる。一方、タイマイネーブルが「0」であると判定された場合には図25の処理が終了する。
以上の本実施の形態5に係るコントローラシステムによれば、各ワンショットタイマ12の起動及び停止を制御するので、必要な入出力制御装置4のみのワンショットタイマ12を起動することができる。この結果、不要なセンサデータの収集及び送信を行わなくて済むことから、コントローラ1の負荷を抑制することができる。
また、本実施の形態5に係るコントローラシステムによれば、ワンショットタイマ12を起動させる対象となっていない場合に、起動間隔異常の検出を禁止する。この結果、不要な起動間隔異常の検出及び送信を行わなくて済むことから、コントローラ1の負荷を抑制することができる。
<実施の形態6>
本発明の実施の形態6に係る入出力制御装置の構成は、図20の実施の形態5に係る入出力制御装置の構成と同様である。以下、本実施の形態6で説明する構成要素のうち、実施の形態5と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
本実施の形態6に係る入出力制御装置4は、自装置に接続されたセンサ機器5が、ワンショットタイマ12を起動させる対象となっている場合に、起動間隔異常の検出の許可及び禁止を制御可能することが可能となっている。
図26は、本実施の形態6に係るワンショットタイマ制御レジスタ14に格納されたパラメータを示す図である。本実施の形態6に係るワンショットタイマ制御レジスタ14は、図21のパラメータに加えて、起動間隔イネーブル28を格納している。起動間隔イネーブル28は、起動間隔異常の検出の許可及び禁止、ひいてはコントローラ1への起動間隔異常の通知及び非通知を示す。ここでは、起動間隔イネーブル28が「0」であれば、起動間隔異常の検出が禁止されていることを示し、起動間隔イネーブル28が「1」であれば、起動間隔異常の検出が許可されていることを示す。
図27は、本実施の形態6に係るコントローラシステムの処理を説明するための図である。
コントローラ1は、実施の形態5と同様に、初期化時登録データ31−1を入出力制御装置4−1に送信する。ただし、本実施の形態6に係る初期化時登録データ31−1は、図22の実施の形態5に係る初期化時登録データ31−1に加えて、起動間隔イネーブルを含んでいる。同様に、本実施の形態6に係る初期化時登録データ31−2,31−3は、起動間隔イネーブルをさらに含んでいる。なお、図27の例では、初期化時登録データ31−1〜31−3の起動間隔イネーブルは、入出力制御装置4−1の起動間隔異常の検出を禁止する「0」と、入出力制御装置4−2の起動間隔異常の検出を許可する「1」と、入出力制御装置4−3の起動間隔異常の検出を許可する「1」と、を並べた3ビットの「01」である。
この場合、コントローラ1からの初期化時登録データ31が、入出力制御装置4−1,4−2,4−3に順に送信されることによって、入出力制御装置4−1のワンショットタイマ制御レジスタ14に「0」が起動間隔イネーブル28として設定され、入出力制御装置4−2,4−3のワンショットタイマ制御レジスタ14に「1」が起動間隔イネーブル28として設定される。
この結果、入出力制御装置4−1は、起動間隔イネーブルによって起動間隔異常の検出が禁止されるので、起動間隔異常の検出を行わない。入出力制御装置4−2は、起動間隔イネーブルによって起動間隔異常の検出が許可されているが、タイマイネーブルによってワンショットタイマ12の起動そのものが禁止されているので、起動間隔異常の検出を行わない。入出力制御装置4−3は、起動間隔イネーブルによって起動間隔異常の検出が許可され、かつ、タイマイネーブルによってワンショットタイマ12の起動が許可されているので、起動間隔異常の検出を行う。
図28は、本実施の形態6に係る入出力制御装置4における、起動間隔異常の検出処理を示すフローチャートである。なお、図28の処理は、重ねモードを用いる実施の形態4の図19の処理において、ステップS51及びS61を追加したものである。このため、図28の処理のうちステップS51及びS61以外の処理については適宜説明を省略する。
最初にステップS51にて、入出力制御装置4は、タイマイネーブルが「1」であるか否か、つまりワンショットタイマ12の起動及びインクリメントが許可されているか否かを判定する。タイマイネーブルが「1」であると判定された場合には処理がステップS61に進み、タイマイネーブルが「0」であると判定された場合には図28の処理が終了する。
ステップS61にて、入出力制御装置4は、起動間隔イネーブルが「1」であるか否か、つまり起動間隔異常の検出が許可されているか否かを判定する。起動間隔イネーブルが「1」であると判定された場合には、タイマ生成部11のトリガが受信されて、割込みハンドラがすでに起動された後に、処理がステップS31に進む。その後、図19の実施の形態4と同様の処理が行われる。一方、起動間隔イネーブルが「0」であると判定された場合には図28の処理が終了する。
以上の実施の形態6に係るコントローラシステムによれば、センサ機器5が、ワンショットタイマ12を起動させる対象となっている場合であっても、起動間隔異常の検出の許可及び禁止を制御するので、必要な入出力制御装置4のみの起動間隔異常の検出を行うことができる。この結果、不要な起動間隔異常の検出及び送信を行わなくて済むという効果をさらに高めることができ、コントローラ1の負荷を抑制することができる。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。
1 コントローラ、4−1〜4−3 入出力制御装置、5−1〜5−6 センサ機器、12 ワンショットタイマ、13 ワンショットタイマ割込み発生部、15 起動カウンタ算出部、16 ワンショットタイマ起動間隔異常管理部、17 規定起動間隔算出部、18 ワンショットタイマ禁止及び許可部。

Claims (7)

  1. コントローラと、
    前記コントローラと通信可能に直列接続され、それぞれがセンサ機器と接続可能な複数の入出力制御装置と
    を備え、
    前記複数の入出力制御装置のそれぞれは、
    定期的にワンショットタイマカウントをインクリメントまたはデクリメントするワンショットタイマと、
    前記ワンショットタイマカウントとワンショットタイマ起動カウンタとに基づいて、ワンショットタイマ割込みを発生させるワンショットタイマ割込み発生部と、
    自入出力制御装置と前記コントローラとの間の他の入出力制御装置に接続された前記センサ機器のうち、前記ワンショットタイマを起動させる対象となっている前記センサ機器の合計数に基づいて、前記ワンショットタイマ起動カウンタを算出する起動カウンタ算出部と
    を備える、コントローラシステム。
  2. 請求項1に記載のコントローラシステムであって、
    前記複数の入出力制御装置のそれぞれは、
    前記ワンショットタイマの起動の間隔が、規定起動間隔カウンタ以上か否かを検出し、前記間隔が前記規定起動間隔カウンタ以上である場合に起動間隔異常を前記コントローラに通知するワンショットタイマ起動間隔異常管理部をさらに備え、
    前記複数の入出力制御装置の少なくとも1つは、
    前記複数の入出力制御装置に接続された全ての前記センサ機器のうち、前記ワンショットタイマを起動させる対象となっている前記センサ機器の合計数に基づいて、前記規定起動間隔カウンタを算出する規定起動間隔算出部をさらに備える、コントローラシステム。
  3. 請求項1に記載のコントローラシステムであって、
    前記複数の入出力制御装置のそれぞれは、
    前記ワンショットタイマの予め定められた複数回の起動の間隔を単位とする単位間隔カウンタが、規定起動間隔カウンタ以上か否かを検出し、前記単位間隔カウンタが前記規定起動間隔カウンタ以上である場合に起動間隔異常を前記コントローラに通知するワンショットタイマ起動間隔異常管理部をさらに備え、
    前記複数の入出力制御装置の少なくとも1つは、
    前記複数の入出力制御装置に接続された全ての前記センサ機器のうち、前記ワンショットタイマを起動させる対象となっている前記センサ機器の合計数と、前記単位間隔カウンタの間における前記ワンショットタイマの起動回数とに基づいて、前記規定起動間隔カウンタを算出する規定起動間隔算出部をさらに備える、コントローラシステム。
  4. 請求項3に記載のコントローラシステムであって、
    前記ワンショットタイマ起動間隔異常管理部は、
    前記ワンショットタイマの1回の起動を起点として前記検出を行う第1モードと、前記ワンショットタイマの前記複数回の起動を起点として前記検出を行う第2モードと、を選択的に実施する、コントローラシステム。
  5. 請求項1から請求項4のうちのいずれか1項に記載のコントローラシステムであって、
    前記複数の入出力制御装置のそれぞれは、
    前記ワンショットタイマの起動及び停止を制御することによって、前記ワンショットタイマカウントのインクリメントまたはデクリメントの許可及び禁止を制御するワンショットタイマ禁止及び許可部をさらに備える、コントローラシステム。
  6. 請求項2から請求項4のうちのいずれか1項に記載のコントローラシステムであって、
    前記複数の入出力制御装置のそれぞれは、
    前記ワンショットタイマの起動及び停止を制御することによって、前記ワンショットタイマカウントのインクリメントまたはデクリメントの許可及び禁止を制御するワンショットタイマ禁止及び許可部をさらに備え、
    前記複数の入出力制御装置のそれぞれは、
    自入出力制御装置に接続された前記センサ機器の全てが、前記ワンショットタイマを起動させる対象となっていない場合に前記検出を禁止する、コントローラシステム。
  7. 請求項6に記載のコントローラシステムであって、
    前記複数の入出力制御装置のそれぞれは、
    自入出力制御装置に接続された前記センサ機器が、前記ワンショットタイマを起動させる対象となっている場合に前記検出の許可及び禁止を制御可能である、コントローラシステム。
JP2018518074A 2016-05-17 2017-01-26 コントローラシステム Active JP6594533B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016098938 2016-05-17
JP2016098938 2016-05-17
PCT/JP2017/002707 WO2017199469A1 (ja) 2016-05-17 2017-01-26 コントローラシステム

Publications (2)

Publication Number Publication Date
JPWO2017199469A1 JPWO2017199469A1 (ja) 2018-08-09
JP6594533B2 true JP6594533B2 (ja) 2019-10-23

Family

ID=60325805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018518074A Active JP6594533B2 (ja) 2016-05-17 2017-01-26 コントローラシステム

Country Status (5)

Country Link
US (1) US10935949B2 (ja)
JP (1) JP6594533B2 (ja)
CN (1) CN109074046B (ja)
DE (1) DE112017002556B4 (ja)
WO (1) WO2017199469A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108333969A (zh) * 2018-02-12 2018-07-27 凯立自动化有限公司 串列式信号传输控制模块
JP1710763S (ja) * 2021-07-21 2022-03-25 プログラマブルコントローラ用メモリーカードリーダー

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4124285A (en) 1977-05-23 1978-11-07 Levi Strauss & Co. Marker projector system
JPS6349855A (ja) * 1986-08-18 1988-03-02 Sansha Electric Mfg Co Ltd Cpuの割込み周期異常検出装置
CN1010621B (zh) * 1986-09-06 1990-11-28 福建省机械科学研究院 多功能可编程时间控制器
JPH0397041A (ja) * 1989-09-11 1991-04-23 Nec Corp 割込信号監視回路
US5177606A (en) * 1990-09-28 1993-01-05 Isuzu Motors Limited Image detection system for a car with adjustment for wiper image
JPH05307617A (ja) 1992-04-28 1993-11-19 Mitsubishi Electric Corp 半導体装置
EP0869417B1 (en) * 1993-07-26 2003-03-26 Hitachi, Ltd. Control unit for vehicle
JPH0887752A (ja) * 1994-09-14 1996-04-02 Canon Inc 光学的情報記録再生装置
EP0704642B1 (en) * 1994-09-30 1999-07-21 Mazda Motor Corporation Automatic transmission control system
JPH09146796A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd ハードウェア周期割込み回路の故障回復方法
US5911083A (en) * 1996-12-27 1999-06-08 Unisys Corporation Programmable processor execution rate controller
EP1421490B1 (en) * 2001-08-29 2006-04-12 Analog Devices, Inc. Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss
CA2418612C (en) * 2002-12-06 2005-12-27 Marian Gavrila Hybrid communication terminal - alarm system
DE10326542B4 (de) * 2003-06-12 2016-12-08 Siemens Aktiengesellschaft Betriebsverfahren und Steuerungsprogramm für eine Zentraleinheit eines Automatisierungssystems sowie Zentraleinheit eines Automatisierungssystems und Automatisierungssystem selbst
JP2006215873A (ja) * 2005-02-04 2006-08-17 Toshiba Corp 制御装置、情報処理装置、及び転送処理方法
US7986287B2 (en) * 2005-08-26 2011-07-26 Semiconductor Energy Laboratory Co., Ltd. Display device and method of driving the same
JP4851855B2 (ja) * 2006-06-09 2012-01-11 株式会社日立製作所 作業実績収集システム
EP2513792B1 (en) * 2009-12-17 2016-08-17 Intel Corporation Cooperated interrupt moderation for a virtualization environment
JP2014160367A (ja) * 2013-02-20 2014-09-04 Mitsubishi Electric Corp 演算処理装置
US8914551B2 (en) * 2013-04-09 2014-12-16 Analog Devices, Inc. Sensor polling unit for microprocessor integration
JP2016031274A (ja) * 2014-07-29 2016-03-07 日本電気株式会社 抵抗変化素子を用いたデジタル温度センサ及びコントローラ
WO2016056113A1 (ja) * 2014-10-10 2016-04-14 三菱電機株式会社 省エネルギ化診断装置、省エネルギ化診断方法およびプログラム

Also Published As

Publication number Publication date
DE112017002556T5 (de) 2019-01-31
US20190129370A1 (en) 2019-05-02
WO2017199469A1 (ja) 2017-11-23
DE112017002556B4 (de) 2024-03-28
US10935949B2 (en) 2021-03-02
JPWO2017199469A1 (ja) 2018-08-09
CN109074046B (zh) 2021-07-13
CN109074046A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
JP5176813B2 (ja) 冷却ファンの故障診断システム、故障診断装置、故障診断方法、故障診断プログラムおよび冷却装置
JP6594533B2 (ja) コントローラシステム
US9910423B2 (en) Control apparatus for giving notification of maintenance and inspection times of signal-controlled peripheral devices
JP6655926B2 (ja) 異常診断システム
JP2017208108A (ja) 車載用電子機器の制御装置及び制御方法
JP2008532125A (ja) プロセス実行を監視するための方法および装置
JP6962176B2 (ja) 電力変換装置の制御装置
JP2016081340A (ja) 多重化制御装置
JP6246447B1 (ja) コントローラシステム
JP2010282352A (ja) Dma転送制御装置
JP3714141B2 (ja) 電子制御システムの暴走監視装置
KR101988723B1 (ko) Mcu 동작 감시 시스템 및 제어방법
JP5987723B2 (ja) 通信用スレーブ
JP6925954B2 (ja) 車両制御装置
TWI833975B (zh) 狀態管理系統及狀態管理方法
JP2012196071A (ja) 電力変換器
JP2015112962A (ja) 情報処理装置
JP2014146222A (ja) 車両用マイクロコンピュータ装置
JP2015219896A (ja) 複数の演算サーバを備えるクラウド制御システム、その制御プログラムのスケジューリング方法、及び演算サーバの冗長化方法
WO2019082659A1 (ja) データ取得方法およびデータ取得装置
JP6248502B2 (ja) 測定システムおよび測定方法
JP5916785B2 (ja) 送信アンテナをグループ毎に駆動制御する磁気共鳴設備およびその動作方法
JP2017037606A (ja) 駆動制御システムおよび異常監視装置
WO2019198169A1 (ja) コンピュータシステムおよびコンピュータプログラム
JP6960531B2 (ja) エンジン制御装置及びエンジン制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190314

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190924

R150 Certificate of patent or registration of utility model

Ref document number: 6594533

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