計量機器は、高性能・高精度に進化し続けている。高性能、高精度化を可能にしているのは、ハードの面では、低価格で高機能のCPU(マイクロプロセッサ)の登場である。ソフトの面では、RTOS(リアルタイム・オペレーティング・システム)の高性能化が寄与している。
また、LANに使用されるアークネット(ARCNET;米国、データポイント社の登録商標)伝送方式をコントロールできる低価格で1チップのコントローラ(以下、アークネット・コントローラICという)が出現し、基板に容易に実装できるようになった。
1台の計量機器の中に使われているCPUの数は、高性能、高精度を追求していくと増加する。これらのCPUは、アークネット等の通信技術により相互に接続されて、一種の分散システムを構成している。
ネットワークのデータ伝送方式として代表的なものは、イーサーネット伝送方式とアークネット伝送方式がある。アークネット伝送方式は、機器制御を行なう産業用オートメーション分野に適している。
上記のネットワーク技術を計量機器に応用した例が、特許文献1および特許文献2に記載されている。これらの文献では、計量システムを構成する複数のユニットの各々に設けられているCPUが、LANインターフェイスを通じてLANケーブルで繋がって機能している構成が開示されている。
このようなネットワークで接続されて構成された従来の計量機器について、以下図面を参照して説明する。
図14は従来の計量機器の第1の例であるアークネット伝送方式を利用した組合せ計量装置の機能構成の概略を示すブロック図である。図16は組合せ計量装置の外観構成の概略を示す模式図である。
この組合せ計量装置は、図16に示すように、装置上部の中央に、外部の供給装置26から供給される物品を振動によって放射状に分散させる円錐形の分散フィーダ11が設けられている。分散フィーダ11の周囲には、分散フィーダ11から送られてきた物品を振動によって各供給ホッパ17に送りこむためのリニアフィーダ20が設けられている。リニアフィーダ20の下方には、複数の供給ホッパ17、計量ホッパ18及びメモリホッパ19がそれぞれ対応して設けられ、円状に配置されている。供給ホッパ17はリニアフィーダ20から送りこまれた物品を受け取り、その下方に配置された計量ホッパ18が空になるとゲートを開いて計量ホッパ18へ物品を投入する。計量ホッパ18にはロードセルを用いた重量センサ14が取り付けられており、この重量センサ14が計量ホッパ18内の物品の重量を計測する。ここでは、計量ホッパ18は、その保持している物品をメモリホッパ19と集合シュート24へ選択的に排出可能なようにメモリホッパ側ゲートと集合シュート側ゲートを備えている。メモリホッパ19は計量ホッパ18の斜め下方に配置され、空になると計量ホッパ18から物品が投入される。組合せ演算により複数の計量ホッパ18およびメモリホッパ19の中から排出すべきホッパの組合せが求められ、その組合せに該当するホッパのゲートが開かれることによりホッパ内の物品が集合シュート24上へ排出される。集合シュート24は、計量ホッパ18およびメモリホッパ19の下方に設けられ、また、その下部には集合ファンネル25が配設されている。計量ホッパ18およびメモリホッパ19から排出された物品は集合シュート24上を滑り集合ファンネル25で集められ、例えば包装機(図示せず)へ送出される。
このような外観構成の組合せ計量装置は、図14に示すように、操作表示ユニットAと、ハブユニットBと、複数の計量ユニットC1〜Cnと、各ユニット間で相互に通信を行うための1本のLANケーブル1とを備えている。これらの各ユニットには、各ユニット内のCPU301、71、131をそれぞれLANケーブル1に接続するためのLANインターフェイス回路2,6,12が備えられている。LANインターフェイス回路2,6,12は、LANインターフェイスカードに搭載されたアークネット・コントローラICで構成され、それぞれ、Node.1,Node.2,・・・,Node.n+2で示されたノード番号が割り付けられ、LANケーブル1を介して相互通信を行う機能を有している。したがって、LANインターフェイス回路2,6,12によってLANケーブル1とCPU301、71、131とが接続されたネットワークが構成され、このネットワークで各CPU301、71、131間の通信を行うことができる。
以下、各部の構成について詳細に説明する。
複数の計量ユニットC1〜Cnの各々は、LANインターフェイス回路12と、アクチュエータ制御用CPU搭載基板13と、ロードセルを用いた重量センサ14と、ゲート駆動回路15と、リニアフィーダ駆動回路16と、供給ホッパ17と、計量ホッパ18と、メモリホッパ19と、リニアフィーダ20とを備えている。アクチュエータ制御用CPU搭載基板13には、アクチュエータ制御用CPU131と、記憶部132と、A/D変換部133とが備えられている。A/D変換部133は、計量ホッパ18に連結されている重量センサ14からの重量信号をA/D変換してCPU131へ出力する。アクチュエータ制御用CPU131は、A/D変換部133の出力信号から計量値を算出し、その計量値(信号)をLANインターフェイス回路12、LANケーブル1を介してハブユニットBに送信する。また、ゲート駆動回路15は、アクチュエータ制御用CPU131に制御されて、供給ホッパ17、計量ホッパ18、メモリホッパ19のそれぞれのゲートの開閉動作を行わせるアクチュエータを駆動する。また、リニアフィーダ駆動回路16は、アクチュエータ制御用CPU131に制御されて、リニアフィーダ20の振動装置を駆動する。
ハブユニットBは、LANインターフェイス回路6と、ハブ制御用CPU搭載基板7と、プリンタ8と、I/F(インターフェイス)回路9と、分散フィーダ制御回路10と、分散フィーダ20とを備えている。ハブ制御用CPU搭載基板7には、ハブ制御用CPU71と、記憶部72とが備えられている。このハブユニットBでは、各計量ユニットC1〜Cnから送信されてきた計量値(信号)が、LANインターフェイス回路6を介してハブ制御用CPU搭載基板7のハブ制御用CPU71に送られる。これらの計量値を基にハブ制御用CPU71は、組合せ演算を行い、複数の計量ホッパ18およびメモリホッパ19の中から、各々が保有している物品の計量値の合計が目標重量に対して許容範囲となるホッパの組合せを1つ求める。ハブ制御用CPU71は、LANインターフェイス回路6、LANケーブル1を介して、組合せ演算の結果(どのホッパが組合せに選択されているかの情報と、その組合せに選択されているホッパに保有されている物品の計量値の合計である組合せ計量値)を操作表示ユニットAへ送信する。また、外部との信号の授受をするI/F回路9を介して、例えば包装機からの排出要求信号を受けると、組合せに選ばれている計量ホッパ18、メモリホッパ19を制御しているアクチュエータ制御用CPU131に、それらのホッパのゲート開信号をLANインターフェイス回路6、LANケーブル1を介して送信する。このゲート開信号を受けてアクチュエータ制御用CPU131は、ゲート駆動回路15を制御し、組合せに選ばれている計量ホッパ18、メモリホッパ19のゲートの開閉動作を行わせる。また、ハブ制御用CPU71は、プリンタ8を制御し、分散フィーダ制御回路10へ制御信号を送信して分散フィーダ11の振動装置を制御する。
操作表示ユニットAは、LANインターフェイス回路2と、操作表示用CPU搭載基板3と、運転速度、組合せ演算の結果等を画面に表示する表示装置4と、組合せ計量装置の操作およびその動作設定(運転条件の設定)等を行うための入力手段であるタッチスイッチ5とを備えている。操作表示用CPU搭載基板3には、操作表示用CPU301と、記憶部302とが備えられている。操作表示用CPU301は、タッチスイッチ5からの入力信号に応じて所定の処理を実行し、また、表示装置4の制御を行う。例えば、タッチスイッチ5の操作により、表示装置4にプロンプト画面を表示して、ホッパ17,18,19のゲート開閉時間、各種動作の遅延時間、リニアフィーダ20の振動強度及び振動時間等の運転条件の設定データが入力されると、操作表示用CPU301はそれらの運転条件の設定データを記憶部302に記憶させるとともに、LANインターフェイス回路2、LANケーブル1を介してハブ制御用CPU71および各アクチュエータ制御用CPU131に送信する。ハブ制御用CPU71および各アクチュエータ制御用CPU131は受信した運転条件の設定データをそれぞれの記憶部72、132に記憶させる。
この組合せ計量装置では、操作表示用CPU301とハブ制御用CPU71と複数のアクチュエータ制御用CPU131とがネットワークに接続されて相互に通信をおこない、それぞれの機能をはたすことにより、組合せ計量装置としての機能を実現している。このような構成とすることにより、処理速度の向上を図ることが可能になる。
図15は従来の計量機器の第2の例であるアークネット伝送方式を利用したマルチ型重量式選別装置の機能構成の概略を示すブロック図である。図17はマルチ型重量式選別装置の上方から視た外観構成の概略を示す模式図であり、図18はマルチ型重量式選別装置の側方から視た外観構成の概略を示す模式図である。
このマルチ型重量式選別装置は、図17及び図18に示すように、包装機等から図示されないコンベアによって搬送されてくる物品をその重量によって良品と不良品に振り分ける複数の選別ユニットF1〜Fnを備えている。各選別ユニットF1〜Fnは、送込コンベア45と、計量コンベア46と、振分コンベア47と、計量コンベア46に取り付けられている重量センサ42と、振分コンベア47に取り付けられている振分装置48とを有している。
各選別ユニットにおいて、送込コンベア45は、包装機等から図示されないコンベアによって搬送されてくる包装品等の物品(P)を順次連続して受け取り、計量コンベア46に移送する。計量コンベア46は、送込コンベア45によって搬送されてくる物品を順次連続して受け取り、移送する。計量コンベア46はロードセル等からなる重量センサ42によって支持されていて、重量センサ42によって計量コンベア46上の物品の重量が計量される。振分コンベア47は、計量コンベア46によって搬送されてくる物品を順次連続して受け取り、振分装置48によって物品が良品と不良品に振り分けられる。この振分装置48は、振分コンベア47を水平状態と傾斜状態に切り替えるスイング式の振分装置であり、物品が良品の場合は振分コンベア47を水平にした状態で物品を振分コンベア47の下流方向へ搬送させ、不良品の場合には振分コンベア47を傾斜させて物品を下方へ排出させる。
このような外観構成のマルチ型重量式選別装置は、図15に示すように、操作表示ユニットDと、ハブユニットEと、複数の選別ユニットF1〜Fnとを備えている。これらの各ユニットには、各ユニット内のCPU331、371、411をそれぞれLANケーブル31に接続するためのLANインターフェイス回路32,36,40が備えられている。LANインターフェイス回路32,36,40は、LANインターフェイスカードに搭載されたアークネット・コントローラICで構成され、それぞれ、Node.1,Node.2,・・・,Node.n+2で示されたノード番号が割り付けられ、LANケーブル31を介して相互通信を行う機能を有している。したがって、LANインターフェイス回路32,36,40によってLANケーブル31とCPU331、371、411とが接続されたネットワークが構成され、このネットワークで各CPU331、371、411間の通信を行うことができる。
以下、各部の構成について詳細に説明する。
複数の選別ユニットF1〜Fnの各々は、LANインターフェイス回路40と、選別機制御用CPU搭載基板41と、ロードセルを用いた重量センサ42と、モータ制御回路43と、振分装置駆動回路44と、送込コンベア45と、計量コンベア46と、振分コンベア47と、振分装置48とを備えている。1台のマルチ型重量式選別装置には、例えば4個の選別ユニットF1〜F4が設けられている。選別機制御用CPU搭載基板41には、選別機制御用CPU411と、記憶部412と、A/D変換部413とが備えられている。A/D変換部413は、計量コンベア46に連結されている重量センサ42からの重量信号をA/D変換してCPU411へ出力する。選別機制御用CPU411は、A/D変換部413の出力信号から計量値を算出し、その計量値が所定重量範囲内に入っているか否か、すなわち良品か不良品かを、記憶部412に予め記憶されている振分条件の設定データを基に判別し、振分け信号を振分装置駆動回路44に送り、振分装置48の振分動作を制御する。また、選別機制御用CPU411は、前述の算出した計量値及び判別結果(信号)を、LANインターフェイス回路40、LANケーブル31を介してハブユニットEに送信する。また、選別機制御用CPU411は、モータ制御回路43へ制御信号を送信して、送込コンベア45、計量コンベア46、振分コンベア47のそれぞれの駆動用モータを制御する。
ハブユニットEは、LANインターフェイス回路36と、ハブ制御用CPU搭載基板37と、プリンタ38と、I/F(インターフェイス)回路39とを備えている。ハブ制御用CPU搭載基板37には、ハブ制御用CPU371と、記憶部372とが備えられている。このハブユニットEでは、各選別ユニットF1〜Fnから送信されてきた計量値及び判別結果(信号)が、例えばLANインターフェイス回路36を介してハブ制御用CPU搭載基板37のハブ制御用CPU371に送られる。ハブ制御用CPU371は、各選別ユニットF1〜Fnからの計量値及び判別結果を収集し、それらの収集データを、LANインターフェイス回路36、LANケーブル31を介して操作表示ユニットDへ送信する。また、ハブ制御用CPU371は、プリンタ38を制御して上記の収集データや振分条件等を含む運転条件の設定データを印字する。また、I/F回路39を介して前後工程の外部装置(例えば前工程の包装機)との信号の送受信を行う。
操作表示ユニットDは、LANインターフェイス回路32と、操作表示用CPU搭載基板33と、運転条件、計量値及び判別結果の収集データ等を画面に表示する表示装置34と、マルチ型重量式選別装置の操作およびその動作設定(運転条件の設定)等を行うための入力手段であるタッチスイッチ35とを備えている。操作表示用CPU搭載基板33には、操作表示用CPU331と、記憶部332とが備えられている。操作表示用CPU331は、タッチスイッチ35からの入力信号に応じて所定の処理を実行し、また、表示装置34の制御を行う。例えば、タッチスイッチ35の操作により、表示装置34にプロンプト画面を表示して、送込コンベア45、計量コンベア46、振分コンベア47の運転速度や振分装置48の振分条件等の運転条件の設定データが入力されると、操作表示用CPU331はそれらの運転条件の設定データを記憶部332に記憶させるとともに、LANインターフェイス回路32、LANケーブル31を介してハブ制御用CPU371および各選別機制御用CPU411に送信する。ハブ制御用CPU371および各選別機制御用CPU411は受信した運転条件の設定データをそれぞれの記憶部372、412に記憶させる。
このマルチ型重量式選別装置では、操作表示用CPU331とハブ制御用CPU411と複数の選別機制御用CPU411とがネットワークに接続されて相互に通信をおこない、それぞれの機能をはたすことにより、マルチ型重量式選別装置としての機能を実現している。このような構成とすることにより、処理速度の向上とコストダウンを図ることが可能になる。1つの操作表示ユニットDで複数の選別ユニットF1〜Fnを制御する構成であるため、装置を安く製作することができる。
特開平10−115544号公報
特開平10−115545号公報
特開昭53−114630号公報
特公平6−3907号公報
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。
(実施の形態1)
図1は本発明の実施の形態1における計量機器であるアークネット伝送方式を利用した組合せ計量装置の機能構成の概略を示すブロック図である。この組合せ計量装置の外観構成の模式図は、従来例で用いた図16と同じであり、その説明を省略する。
本実施の形態における組合せ計量装置は、図1に示すように、操作表示ユニットAと、ハブユニットBと、複数の計量ユニットC1〜Cnと、各ユニット間で相互に通信を行うための2本のLANケーブル1a,1bとを備えている。これらの各ユニットには、各ユニット内のCPU301、71、131をそれぞれLANケーブル1aに接続するためのLANインターフェイス回路2,6,12と、LANケーブル1bに接続するためのLANインターフェイス回路21,22,23とが備えられている。LANインターフェイス回路2,6,12は、LANインターフェイスカードに搭載されたアークネット・コントローラICで構成され、それぞれ、Node.1,Node.2,・・・,Node.n+2で示されたノード番号が割り付けられ、LANケーブル1aを介して相互通信を行う機能を有している。同様に、LANインターフェイス回路21,22,23は、LANインターフェイスカードに搭載されたアークネット・コントローラICで構成され、それぞれ、Node.1’,Node.2’,・・・,Node.n+2’で示されたノード番号が割り付けられ、LANケーブル1bを介して相互通信を行う機能を有している。したがって本実施の形態では、LANインターフェイス回路2,6,12によってLANケーブル1aとCPU301、71、131とが接続された第1ネットワークが構成され、LANインターフェイス回路21,22,23によってLANケーブル1bとCPU301、71、131とが接続された第2ネットワークが構成されており、第1ネットワークと第2のネットワークの両方で各CPU301、71、131間の通信を行うことができる。ハード的には、このようにネットワークを2つ備えている点が、ネットワークを1つしか備えていない図14の従来例と異なる。本実施の形態では、第1ネットワークを計量機器(組合せ計量装置)の主要動作を行うための通信に使用する主ネットワークとし、第2ネットワークを第1ネットワークの異常時等に使用する副ネットワークとする。
以下、各部の構成について詳細に説明する。
複数の計量ユニットC1〜Cnの各々は、LANインターフェイス回路12、23と、アクチュエータ制御用CPU搭載基板13と、ロードセルを用いた重量センサ14と、ゲート駆動回路15と、リニアフィーダ駆動回路16と、供給ホッパ17と、計量ホッパ18と、メモリホッパ19と、リニアフィーダ20とを備えている。例えば14連式の組合せ計量装置では、14個の計量ユニットC1〜C14が設けられている。アクチュエータ制御用CPU搭載基板13には、アクチュエータ制御用CPU131と、RAM,ROM,EEPROM等のメモリで構成された記憶部132と、A/D変換部133と、周辺IC(図示せず)とが備えられている。A/D変換部133は、例えばICチップで構成されてCPU搭載基板13に搭載され、計量ホッパ18に連結されている重量センサ14からの重量信号をA/D変換してCPU131へ出力する。アクチュエータ制御用CPU131は、A/D変換部133の出力信号をフィルタリング処理し、スパン演算等をおこなって計量値を算出し、その計量値(信号)を例えばLANインターフェイス回路12、LANケーブル1aを介してハブユニットBに送信する。また、アクチュエータ制御用CPU131は、ゲート駆動回路15及びリニアフィーダ駆動回路16を制御する。ゲート駆動回路15は、アクチュエータ制御用CPU131に制御されて、供給ホッパ17、計量ホッパ18、メモリホッパ19のそれぞれのゲートの開閉動作を行わせるアクチュエータを駆動する。これらのアクチュエータとして例えばパルスモータを用いれば、モータの回転速度を加速もしくは減速することができるため、ゲートの開閉速度を自在にコントロールすることができる。1個のCPUで全ての計量ユニットのパルスモータを制御することは困難であり、各々の計量ユニットにアクチュエータ制御用CPU131を設けていることにより、このような制御が可能になる。また、リニアフィーダ駆動回路16は、アクチュエータ制御用CPU131に制御されて、リニアフィーダ20の振動装置を駆動する。
ハブユニットBは、LANインターフェイス回路6、22と、ハブ制御用CPU搭載基板7と、プリンタ8と、I/F(インターフェイス)回路9と、分散フィーダ制御回路10と、分散フィーダ20とを備えている。ハブ制御用CPU搭載基板7には、ハブ制御用CPU71と、RAM,ROM,EEPROM等のメモリで構成された記憶部72と、周辺IC(図示せず)とが備えられている。このハブユニットBでは、各計量ユニットC1〜Cnから送信されてきた計量値(信号)が、例えばLANインターフェイス回路6を介してハブ制御用CPU搭載基板7のハブ制御用CPU71に送られる。これらの計量値を基にハブ制御用CPU71は、組合せ演算を行い、複数の計量ホッパ18およびメモリホッパ19の中から、各々が保有している物品の計量値の合計が目標重量に対して許容範囲となるホッパの組合せを1つ求める。この組合せ演算では、計量ホッパ18内の物品の計量値には重量センサ14による計測値が用いられ、メモリホッパ19内の物品の計量値には、その上の計量ホッパ18において重量センサ14により計測されたときの値がハブ制御用CPU搭載基板7の記憶部72に保持されており、その値が用いられる。ハブ制御用CPU71は、例えばLANインターフェイス回路6、LANケーブル1aを介して、組合せ演算の結果(どのホッパが組合せに選択されているかの情報と、その組合せに選択されているホッパに保有されている物品の計量値の合計である組合せ計量値)を操作表示ユニットAへ送信する。また、外部との信号の授受をするI/F回路9を介して、例えば包装機からの排出要求信号を受けると、組合せに選ばれている計量ホッパ18、メモリホッパ19を制御しているアクチュエータ制御用CPU131に、例えばLANインターフェイス回路6、LANケーブル1aを介して組合せに選ばれている計量ホッパ18、メモリホッパ19のゲート開信号を送信する。また、ハブ制御用CPU71は、プリンタ8を制御し、分散フィーダ制御回路10へ制御信号を送信して分散フィーダ11の振動装置を制御する。なお、組合せに選ばれている計量ホッパ18、メモリホッパ19を有する計量ユニットのアクチュエータ制御用CPU131は、上記のゲート開信号を受けてゲート駆動回路15を制御し、組合せに選ばれている計量ホッパ18、メモリホッパ19のゲートの開閉動作を行わせる。
操作表示ユニットAは、LANインターフェイス回路2、21と、操作表示用CPU搭載基板3と、運転速度、組合せ演算の結果等を画面に表示する表示装置4と、組合せ計量装置の操作およびその動作設定(運転条件の設定)等を行うための入力手段であるタッチスイッチ5とを備えている。操作表示用CPU搭載基板3には、操作表示用CPU301と、RAM,ROM,EEPROM等のメモリで構成された記憶部302とが備えられている。操作表示用CPU301は、タッチスイッチ5からの入力信号に応じて所定の処理を実行し、また、表示装置4の制御を行う。例えば、タッチスイッチ5の操作により、表示装置4にプロンプト画面を表示して、ホッパ17,18,19のゲート開閉時間、各種動作の遅延時間、リニアフィーダ20の振動強度及び振動時間等の運転条件の設定データが入力されると、操作表示用CPU301はそれらの運転条件の設定データを記憶部302に記憶させるとともに、例えばLANインターフェイス回路2、LANケーブル1aを介してハブ制御用CPU71および各アクチュエータ制御用CPU131に送信する。ハブ制御用CPU71および各アクチュエータ制御用CPU131は受信した運転条件の設定データをそれぞれの記憶部72、132に記憶させる。
次に、図2は操作表示用CPU301が実行するマルチタスク方式プログラムの構造を示し、このプログラムは記憶部302に記憶されている。図3はハブ制御用CPU71が実行するマルチタスク方式プログラムの構造を示し、このプログラムは記憶部72に記憶されている。図4は各アクチュエータ制御用CPU131が実行するマルチタスク方式プログラムの構造を示し、このプログラムは各記憶部132に記憶されている。
本来、コンピュータは、プログラムコードを逐次処理することしかできず、厳密にはまったく同時に複数の処理を行うことはできない。しかし逐次処理は非常に高速に実行されるため、マルチタスク方式では、あるタスクをごく短い時間だけ処理し、次に別のタスクを短時間だけ処理する、ということを繰り返し行うことで、人間の目からはあたかも複数の処理が同時に実行されているように見える。
図2〜図4に示すように、タスクはタスク管理プログラム、すなわちOS(Operating System)で制御されており、各タスクの処理状態(プログラムの進捗状態)はタスク管理プログラムでモニターされている。また、タスクには優先順位があり、若い番号のタスクが優先して処理される。タスク0は、最優先のタスクで、一定時間毎にON(実行)され、時間的処理が必要なタイマー等の処理がされる。タスク1は、第2ネットワークを使用して制御信号やデータ信号の送受信を行うための第2ネットワーク通信処理プログラムであり、タスク3は、第1ネットワークを使用して制御信号やデータ信号の送受信を行うための第1ネットワーク通信処理プログラムである。タスク2は、タスク3の第1ネットワーク通信処理プログラムより優先度の高い緊急処理プログラムである。この緊急処理プログラムは、第1ネットワークを使用して他のCPUと通信ができているか否かを判定し、通信ができていない場合、第2ネットワークを使用して他のCPUと通信し、他のCPUのタスク管理プログラムによるタスク3のモニター・データを検索し、そのタスク3の第1ネットワーク通信処理プログラムの処理状態を調べることにより、通信不良となっている原因の特定等を行うためのプログラムであり、その詳細については後述する。なお、プログラムのバグ、オーバーフロー等のソフト上のエラーでタスクがハングアップした時、エラーを起こしたタスクより優先度の高いタスクは生き残る率が高いため、タスク3の第1ネットワーク通信処理プログラムより優先度の高いタスク1、2で、第2ネットワーク通信プログラム、緊急処理プログラムを実行するようにしている。
また、図2のタスク4は、タッチスイッチ5の操作による入力信号の処理を行うプログラムであり、タスク5は、表示装置4に対し出力処理を行うためのプログラムである。図3のタスク4は、プリンタ8を制御するためのプログラムであり、タスク5は、包装機等の外部装置からの入力信号あるいは外部装置への出力信号に対してインターフェイス処理(I/F回路9の制御処理)を行うためのプログラムであり、タスク6は、分散フィーダ11を制御するためのプログラムである。図4のタスク4は、重量センサ14からの重量信号がA/D変換されたA/D変換部133の出力信号から計量値を算出するためにフィルタリング処理、スパン演算等を行うためのプログラムであり、タスク5は、ホッパ17,18,19のゲートの開閉動作をさせるゲート駆動回路15を制御するためのプログラムであり、タスク6は、リニアフィーダ駆動回路16を制御するためのプログラムである。
次に、各CPU301,71,131が実行するそれぞれのタスク2の緊急処理プログラムについて詳細に説明する。それぞれの緊急処理プログラムは、それぞれのタスク管理プログラムによって所定時間ごとあるいは必要に応じて実行されるように制御される。
図5及び図6は、操作表示用CPU301が実行するマルチタスク方式プログラムにおけるタスク2の緊急処理プログラムの処理を示すフローチャートである。
まず、LANケーブル1aを有する第1ネットワーク(主ネットワーク)を用いて各ユニット間の通信を行い組合せ計量装置の主要動作を実行している際に、操作表示用CPU301は、第1ネットワークでハブ制御用CPU71と通信できているか否かを判定する(ステップS1)。このステップS1では、例えば、ハブ制御用CPU71が、定期的に、自ら存在することを示す信号を第1ネットワークを用いて操作表示用CPU301に対し発信している場合、一定時間内にその信号を受信するか否かによって通信できているか否かを判定する。あるいは、操作表示用CPU301が、応答信号を要求する所定の信号を第1ネットワークを用いてハブ制御用CPU71へ送信し、所定時間内にハブ制御用CPU71からの応答信号を受信するか否かによって通信できているか否かを判定する。
ステップS1の結果、通信できていなければ、第2ネットワークを用いてハブ制御用CPU71と通信し、ハブ制御用CPU71のタスク管理プログラムがモニターしている各タスク(タスク0,1,2,3,・・・)の処理状態を示すデータを読み込む処理を行う(ステップS2)。このステップS2では、操作表示用CPU301がハブ制御用CPU71へ各タスクの処理状態を示すデータの送信要求の信号を出力し、この送信要求の信号を受けてハブ制御用CPU71は、各タスクの処理状態を示すデータを操作表示用CPU301へ送信する(但し、ハブ制御用CPU71が動作している場合)。
次にステップS3で、ハブ制御用CPU71のプログラムの各タスクの処理状態を示すデータを読み込むことができなければ、ハブ制御用CPU71が動作していないと判断し、表示装置4に「ハブ制御用CPUに動作異常がある」旨を示す表示を行わせる(ステップS4)。この場合、ハブ制御用CPU71とともにハブ制御用CPU搭載基板7に搭載されている周辺IC(図示せず)の不良、または、周辺ICとハブ制御用CPU71との間の電気的接続不良(半田付け不良等)などの原因により、ハブ制御用CPU71が動作していないと考えられる。ハブ制御用CPU71が動作していないと、組合せ計量装置は正常に機能していないので、第2ネットワークを用いて全てのアクチュエータ制御用CPU131に対し停止命令を送信する(ステップS5)。この停止命令を受けたアクチュエータ制御用CPU131は、ホッパ17,18,19のそれぞれのゲートの開閉動作を行わせるアクチュエータ及びリニアフィーダ20の振動装置を停止状態とするように、ゲート駆動回路15及びリニアフィーダ駆動回路16を制御する。
ステップS3でハブ制御用CPU71のプログラムの各タスクの処理状態を示すデータを読み込むことができた場合は、ステップS6でハブ制御用CPU71のタスク3が通信待ち状態であるか否かを調べ、通信待ち状態であればタスク3の第1ネットワーク通信処理プログラムは正常であり、ハード的に回線が接続されていないと判断できるため、表示装置4に「ハブ制御用CPU71が第1ネットワークにハード的接続不良である」旨を示す表示を行わせ(ステップS7)、組合せ計量装置として機能させるための通常の通信を第2ネットワークに切り替えることを決定する(ステップS8)。
ステップS6でハブ制御用CPU71のタスク3が通信待ち状態でなければ、ソフトウェアに何らかの異常があると考えられるため、表示装置4に「ハブ制御用CPUのソフトウェアに異常がある」旨を示す表示を行わせる(ステップS9)。この場合、ハブ制御用CPU71のタスクの処理状態は読み込めているのでOSには異常がなく、タスク3の第1ネットワーク通信処理プログラムのバグ、あるいは、タスク3の第1ネットワーク通信処理プログラムに異常がなくても、他のタスク、例えばタスク4以降の機器制御プログラムのバグが原因で第1ネットワークでの通信が不能になっていることが考えられる。次に、第2ネットワークを用いて全てのアクチュエータ制御用CPU131に停止命令を送信する(ステップS10)。この停止命令を受けたアクチュエータ制御用CPU131は、ホッパ17,18,19のそれぞれのゲートの開閉動作を行わせるアクチュエータ及びリニアフィーダ20の振動装置を停止状態とするように、ゲート駆動回路15及びリニアフィーダ駆動回路16を制御する。
ステップS1において、第1ネットワークを用いてハブ制御用CPU71と通信できている場合、ステップS11に進み、操作表示用CPU301は、ステップS1と同様にして(但しその対象は異なる)、第1ネットワークでNode.3のLANインターフェイス回路12に接続のアクチュエータ制御用CPU131(すなわち計量ユニットC1のアクチュエータ制御用CPU131)と通信できているか否かを判定する(ステップS11)。
ステップS11の結果、通信できていなければ、第2ネットワークを用いて計量ユニットC1のアクチュエータ制御用CPU131と通信し、そのアクチュエータ制御用CPU131のタスク管理プログラムがモニターしている各タスク(タスク0,1,2,3,・・・)の処理状態を示すデータを読み込む処理を行う(ステップS12)。このステップS12では、ステップS2の場合と同様、操作表示用CPU301がアクチュエータ制御用CPU131へ各タスクの処理状態を示すデータの送信要求の信号を出力し、この送信要求の信号を受けてアクチュエータ制御用CPU131は、各タスクの処理状態を示すデータを操作表示用CPU301へ送信する(但し、計量ユニットC1のアクチュエータ制御用CPU131が動作している場合)。
次にステップS13で、計量ユニットC1のアクチュエータ制御用CPU131のプログラムの各タスクの処理状態を示すデータを読み込むことができなければ、アクチュエータ制御用CPU131が動作していないと判断し、表示装置4に「Node.3のLANインターフェイス回路12に接続の(計量ユニットC1の)アクチュエータ制御用CPU131に動作異常がある」旨を示す表示を行わせる(ステップS14)。この場合、計量ユニットC1において、アクチュエータ制御用CPU131とともにアクチュエータ制御用CPU搭載基板13に搭載されている周辺IC(図示せず)の不良、または、周辺ICとアクチュエータ制御用CPU131との間の電気的接続不良(半田付け不良等)などの原因により、アクチュエータ制御用CPU131が動作していないと考えられる。次に、操作表示用CPU301は、第2ネットワークを用いて、ハブ制御用CPU71に、「Node.3のLANインターフェイス回路12を有する計量ユニットC1の使用を禁止する」旨を示す計量ユニット(C1)使用禁止信号を送信する(ステップS15)。ハブ制御用CPU71は、計量ユニット(C1)使用禁止信号を受信した後は、計量ユニットC1を除いた計量ユニットC2〜Cnからの計量値を用いて組合せ演算を行うようにする。これにより、修理するまでの間、運転を続行することができる(但し、ステップS5、ステップS10の処理が実行されていない場合)。
ステップS13でアクチュエータ制御用CPU131のプログラムの各タスクの処理状態を示すデータを読み込むことができた場合、ステップS16でアクチュエータ制御用CPU131のタスク3が通信待ち状態であるか否かを調べ、通信待ち状態であればタスク3の第1ネットワーク通信処理プログラムは正常であり、ハード的に回線が接続されていないと判断できるため、表示装置4に「Node.3のLANインターフェイス回路12に接続のアクチュエータ制御用CPU131が第1ネットワークにハード的接続不良である」旨を示す表示を行わせ(ステップ17)、通常の通信を第2ネットワークに切り替えることを決定する(ステップS18)。
ステップS16でアクチュエータ制御用CPU131のタスク3が通信待ち状態でなければ、ソフトウェアに何らかの異常があると考えられるため、表示装置4に「Node.3のLANインターフェイス回路12に接続のアクチュエータ制御用CPU131のソフトウェアが異常である」旨を示す表示を行わせる(ステップS19)。この場合、アクチュエータ制御用CPU131のタスクの処理状態は読み込めているのでOSには異常がなく、タスク3の第1ネットワーク通信処理プログラムのバグ、あるいは、タスク3の第1ネットワーク通信処理プログラムに異常がなくても、他のタスク、例えばタスク4以降の機器制御プログラムのバグが原因で第1ネットワークでの通信が不能になっていることが考えられる。次に、操作表示用CPU301は、第2ネットワークを用いて、ハブ制御用CPU71に、「Node.3のLANインターフェイス回路12を有する計量ユニットC1の使用を禁止する」旨を示す計量ユニット(C1)使用禁止信号を送信する(ステップS20)。ハブ制御用CPU71は、計量ユニット(C1)使用禁止信号を受信した後は、計量ユニットC1を除いた計量ユニットC2〜Cnからの計量値を用いて組合せ演算を行うようにする。これにより、修理するまでの間、運転を続行することができる(但し、ステップS5、ステップS10の処理が実行されていない場合)。
上記のNode.3のLANインターフェイス回路12に接続のアクチュエータ制御用CPU131に対するステップS11〜S20と同様の処理を、他の全てのNode.4〜Node.n+2のLANインターフェイス回路12に接続のアクチュエータ制御用CPU131に対しても行う。
その後、ステップS100で、以前のステップ(ステップS8、S18等)で、通常の通信を第2ネットワークに切り替えることを決定しているか否かを調べ、決定されていれば、通常の通信を第2ネットワークに切り替える(ステップS101)。この場合、LANケーブル1aに接続されたLANインターフェイス回路を構成するアークネット・コントローラICの損傷、LANインターフェイス回路とLANケーブル1aとの接続不良、LANインターフェイス回路とCPUとの接続不良、またはLANケーブル1aの断線等の不良があると考えられ、修理するまでの間、第2ネットワークを用いて運転を続行することができる(但し、ステップS5、ステップS10の処理が実行されていない場合)。どのLANインターフェイス回路等に不具合があるかは、ステップS7、S17等の処理により、表示装置4に表示された不良表示から明らかである。
なお、上記のステップS101では、自己(操作用CPU301)の通常の通信処理をタスク1の第2ネットワーク通信処理プログラムで行うようにするとともに、通常の通信を第2ネットワークに切り替える旨を、第2ネットワークを用いて他の全てのユニットB、C1〜CnのCPU71,131へ送信する。この送信を受け、他の全てのユニットB、C1〜CnのCPU71,131も通常の通信処理をタスク1の第2ネットワーク通信処理プログラムで行うようにする。
図7は、ハブ制御用CPU71が実行するマルチタスク方式プログラムにおけるタスク2の緊急処理プログラムの処理を示すフローチャートである。
まず、LANケーブル1aを有する第1ネットワーク(主ネットワーク)を用いて各ユニット間の通信を行い組合せ計量装置の主要動作を実行している際に、ハブ制御用CPU71は、図5のステップS1と同様にして(但し主体とその対象は異なる)、第1ネットワークで操作表示用CPU301と通信できているか否かを判定する(ステップS31)。
ステップS31の結果、通信できていなければ、図5のステップS2の場合と同様にして、第2ネットワークを用いて操作表示用CPU301と通信し、操作表示用CPU301のタスク管理プログラムがモニターしている各タスク(タスク0,1,2,3,・・・)の処理状態を示すデータを読み込む処理を行う(ステップS32)。
次にステップS33で、操作表示用CPU301のプログラムの各タスクの処理状態を示すデータを読み込むことができなければ、操作表示用CPU301が動作していないと判断し、組合せ計量装置は正常に機能していないので、第2ネットワークを用いて全てのアクチュエータ制御用CPU131に対し停止命令を送信する(ステップS34)。この停止命令を受けたアクチュエータ制御用CPU131は、ホッパ17,18,19のそれぞれのゲートの開閉動作を行わせるアクチュエータ及びリニアフィーダ20の振動装置を停止状態とするように、ゲート駆動回路15及びリニアフィーダ駆動回路16を制御する。なお、ハブ制御用CPU71により点灯制御されるLED(発光ダイオード)等からなる第1の異常表示灯を設けておき、ステップS33で、操作表示用CPU301のプログラムの各タスクの処理状態を示すデータを読み込むことができなければ、ステップS34の処理に加え、上記の第1の異常表示灯を点灯あるいは点滅させるようにしてもよい。この場合、操作表示用CPU301とともに操作表示用CPU搭載基板3に搭載されている周辺IC(図示せず)の不良、または、周辺ICと操作表示用CPU301との間の電気的接続不良(半田付け不良等)などの原因により、操作表示用CPU301が動作していないと考えられる。
ステップS33で操作表示用CPU301のプログラムの各タスクの処理状態を示すデータを読み込むことができれば、ステップS35で操作表示用CPU301のタスク3が通信待ち状態であるか否かを調べ、通信待ち状態であればタスク3の第1ネットワーク通信処理プログラムは正常であり、ハード的に回線が接続されていないと判断できるため、「操作表示用CPU301が第1ネットワークにハード的接続不良である」旨の表示を表示装置4に行わせるために異常表示指示信号を第2ネットワークを用いて操作表示用CPU301へ送信し(ステップS36)、通常の通信を第2ネットワークに切り替える(ステップS37)。操作表示用CPU301は、ハブ制御用CPU71からステップS36の異常表示指示信号を受けると、表示装置4に「操作表示用CPU301が第1ネットワークにハード的接続不良である」旨を示す表示を行わせる。この場合、操作表示ユニットAのLANインターフェイス回路2を構成するアークネット・コントローラICの損傷、LANインターフェイス回路2とLANケーブル1aとの接続不良、LANインターフェイス回路2と操作表示用CPU301との接続不良、またはLANケーブル1aの断線等の不良があると考えられ、修理するまでの間、第2ネットワークを用いて運転を続行することができる。
なお、上記のステップS37では、自己(ハブ制御用CPU71)の通常の通信処理をタスク1の第2ネットワーク通信処理プログラムで行うようにするとともに、通常の通信を第2ネットワークに切り替える旨を、第2ネットワークを用いて他の全てのユニットA、C1〜CnのCPU301,131へ送信する。この送信を受け、他の全てのユニットA、C1〜CnのCPU301,131も通常の通信処理をタスク1の第2ネットワーク通信処理プログラムで行うようにする。
ステップS35で操作表示用CPU301のタスク3が通信待ち状態でなければ、操作表示用CPU301のソフトウェアに何らかの異常があると考えられるため、第2ネットワークを用いて全てのアクチュエータ制御用CPU131に対し停止命令を送信する(ステップS38)。この停止命令を受けたアクチュエータ制御用CPU131は、ホッパ17,18,19のそれぞれのゲートの開閉動作を行わせるアクチュエータ及びリニアフィーダ20の振動装置を停止状態とするように、ゲート駆動回路15及びリニアフィーダ駆動回路16を制御する。なお、ハブ制御用CPU71により点灯制御されるLED(発光ダイオード)等からなる第2の異常表示灯を設けておき、ステップS35で、操作表示用CPU301のタスク3が通信待ち状態でなければ、ステップS38の処理に加え、上記の第2の異常表示灯を点灯あるいは点滅させるようにしてもよい。この場合、操作表示用CPU301のタスクの処理状態は読み込めているのでOSには異常がなく、タスク3の第1ネットワーク通信処理プログラムのバグ、あるいは、タスク3の第1ネットワーク通信処理プログラムに異常がなくても、他のタスク、例えばタスク4以降の機器制御プログラムのバグが原因で第1ネットワークでの通信が不能になっていることが考えられる。また、前述した第1の異常表示灯と第2の異常表示灯を1つの異常表示灯で兼用してもよい。さらにこの場合、異常表示灯の点灯あるいは点滅をステップS34の処理とともに行う場合とステップS38の処理とともに行う場合とで、点灯あるいは点滅の状態を変えることで、操作表示用CPU301の動作異常(動作停止状態)であるか、操作表示用CPU301のソフトウェア異常であるかが明確になる。
図8及び図9は、各々のアクチュエータ制御用CPU131が実行するマルチタスク方式プログラムにおけるタスク2の緊急処理プログラムの処理を示すフローチャートである。
まず、LANケーブル1aを有する第1ネットワーク(主ネットワーク)を用いて各ユニット間の通信を行い組合せ計量装置の主要動作を実行している際に、アクチュエータ制御用CPU131は、図5のステップS1と同様にして(但し主体とその対象は異なる)、第1ネットワークで操作表示用CPU301と通信できているか否かを判定する(ステップS41)。
ステップS41の結果、通信できていなければ、図5のステップS2の場合と同様にして、第2ネットワークを用いて操作表示用CPU301と通信し、操作表示用CPU301のタスク管理プログラムがモニターしている各タスク(タスク0,1,2,3,・・・)の処理状態を示すデータを読み込む処理を行う(ステップS42)。
次にステップS43で、操作表示用CPU301のプログラムの各タスクの処理状態を示すデータを読み込むことができなければ、図7のステップS34の場合と同様、操作表示用CPU301のCPUが動作していないと判断し、組合せ計量装置は正常に機能していないので、第2ネットワークを用いて他の全てのアクチュエータ制御用CPU131に停止命令を送信し、自己停止処理を実行する(ステップS44)。ステップS44の停止命令を受けたアクチュエータ制御用CPU131および自己停止処理を行うアクチュエータ制御用CPU131は、ホッパ17,18,19のそれぞれのゲートの開閉動作を行わせるアクチュエータ及びリニアフィーダ20の振動装置を停止状態とするように、ゲート駆動回路15及びリニアフィーダ駆動回路16を制御する。なお、アクチュエータ制御用CPU131により点灯制御されるLED(発光ダイオード)等からなる第3の異常表示灯を設けておき、ステップS43で、操作表示用CPU301のプログラムの各タスクの処理状態を示すデータを読み込むことができなければ、ステップS44の処理に加え、自己の第3の異常表示灯を点灯あるいは点滅させるようにしてもよい。
ステップS43で操作表示用CPU301のプログラムの各タスクの処理状態を示すデータを読み込むことができた場合、ステップS45で操作表示用CPU301のタスク3が通信待ち状態であるか否かを調べ、通信待ち状態であれば、図7のステップS36の場合と同様、ハード的に回線が接続されていないと判断できるため、「操作表示用CPU301が第1ネットワークにハード的接続不良である」旨の表示を表示装置4に行わせるために異常表示指示信号を第2ネットワークを用いて操作表示用CPU301へ送信し(ステップS46)、通常の通信を第2ネットワークに切り替えることを決定する(ステップS47)。操作表示用CPU301は、ハブ制御用CPU71からステップS46の異常表示指示信号を受けると、表示装置4に「操作表示用CPU301が第1ネットワークにハード的接続不良である」旨を示す表示を行わせる。
ステップS45で操作表示用CPU301のタスク3が通信待ち状態でなければ、図7のステップS38の場合と同様、操作表示用CPU301のソフトウェアに何らかの異常があると考えられるため、第2ネットワークを用いて他の全てのアクチュエータ制御用CPU131に停止命令を送信し、自己停止処理を実行する(ステップS48)。ステップS48の停止命令を受けたアクチュエータ制御用CPU131および自己停止処理を行うアクチュエータ制御用CPU131は、ホッパ17,18,19のそれぞれのゲートの開閉動作を行わせるアクチュエータ及びリニアフィーダ20の振動装置を停止状態とするように、ゲート駆動回路15及びリニアフィーダ駆動回路16を制御する。なお、アクチュエータ制御用CPU131により点灯制御されるLED(発光ダイオード)等からなる第4の異常表示灯を設けておき、ステップS45で、操作表示用CPU301のタスク3が通信待ち状態でなければ、ステップS48の処理に加え、自己の第4の異常表示灯を点灯あるいは点滅させるようにしてもよい。また、前述した第3の異常表示灯と第4の異常表示灯を1つの異常表示灯で兼用してもよい。さらにこの場合、異常表示灯の点灯あるいは点滅をステップS44の処理とともに行う場合とステップS48の処理とともに行う場合とで、点灯あるいは点滅の状態を変えることで、操作表示用CPU301の動作異常(動作停止状態)であるか、操作表示用CPU301のソフトウェア異常であるかが明確になる。
ステップ41において、第1ネットワークを用いて操作表示用CPU301と通信できている場合、ステップ51に進み、アクチュエータ制御用CPU131は、図5のステップS1と同様にして(但し主体は異なる)、第1ネットワークを用いてハブ制御用CPU71と通信できているか否かを判定する。
ステップS51の結果、通信できていなければ、第2ネットワークを用いてハブ制御用CPU71と通信し、そのハブ制御用CPU71のタスク管理プログラムがモニターしている各タスク(タスク0,1,2,3,・・・)の処理状態を示すデータを読み込む処理を行う(ステップS52)。
そしてステップS53で、ハブ制御用CPU71のプログラムの各タスクの処理状態を示すデータを読み込むことができなければ、図5のステップS4の場合と同様、ハブ制御用CPU71が動作していないと判断し、「ハブ制御用CPUに動作異常がある」旨の表示を表示装置4に行わせるために異常表示指示信号を第2ネットワークを用いて操作表示用CPU301へ送信する(ステップS54)。操作表示用CPU301は、アクチュエータ制御用CPU131からステップS54の異常表示指示信号を受けると、表示装置4に「ハブ制御用CPUに動作異常がある」旨を示す表示を行わせる。そして、ハブ制御用CPU71が動作していないと、組合せ計量装置は正常に機能していないので、ステップS44と同様、他の全てのアクチュエータ制御用CPU131に停止命令を送信し、自己停止処理を実行する(ステップS55)。
ステップS53でハブ制御用CPU71のプログラムの各タスクの処理状態を示すデータを読み込むことができた場合、ステップS56でハブ制御用CPU71のタスク3が通信待ち状態であるか否かを調べ、通信待ち状態であれば、図5のステップS7の場合と同様、ハード的に回線が接続されていないと判断できるため、「ハブ制御用CPU71が第1ネットワークにハード的接続不良である」旨の表示を表示装置4に行わせるために異常表示指示信号を第2ネットワークを用いて操作表示用CPU301へ送信し(ステップS57)、通常の通信を第2ネットワークに切り替えることを決定する(ステップS58)。操作表示用CPU301は、アクチュエータ制御用CPU131からステップS57の異常表示指示信号を受けると、表示装置4に「ハブ制御用CPU71が第1ネットワークにハード的接続不良である」旨を示す表示を行わせる。
ステップS56でハブ制御用CPU71のタスク3が通信待ち状態でなければ、図5のステップS9の場合と同様、ハブ制御用CPU71のソフトウェアに何らかの異常があると考えられるため、「ハブ制御用CPU71のソフトウェアに異常がある」旨の表示を表示装置4に行わせるために異常表示指示信号を第2ネットワークを用いて操作表示用CPU301へ送信する(ステップS59)。操作表示用CPU301は、アクチュエータ制御用CPU131からステップS59の異常表示指示信号を受けると、表示装置4に「ハブ制御用CPU71のソフトウェアに異常がある」旨を示す表示を行わせる。そして、ハブ制御用CPU71が正常に動作していないと、組合せ計量装置は正常に機能していないので、ステップS48と同様、他の全てのアクチュエータ制御用CPU131に停止命令を送信し、自己停止処理を実行する(ステップS60)。
その後、ステップS200で、以前のステップ(ステップS47、S58)で、通常の通信を第2ネットワークに切り替えることを決定しているか否かを調べ、決定されていれば、通常の通信を第2ネットワークに切り替える(ステップS201)。この場合、LANケーブル1aに接続されたLANインターフェイス回路を構成するアークネット・コントローラICの損傷、LANインターフェイス回路とLANケーブル1aとの接続不良、LANインターフェイス回路とCPUとの接続不良、またはLANケーブル1aの断線等の不良があると考えられ、修理するまでの間、第2ネットワークを用いて運転を続行することができる(但し、ステップS44、S48、S55、S60の処理が実行されていない場合)。どのLANインターフェイス回路等に不具合があるかは、ステップS46、S57の処理により、表示装置4に表示された不良表示から明らかである。
なお、上記のステップS201では、自己(あるアクチュエータ制御用CPU131)の通常の通信処理をタスク1の第2ネットワーク通信処理プログラムで行うようにするとともに、通常の通信を第2ネットワークに切り替える旨を、第2ネットワークを用いて他の全てのCPU301,71,131へ送信する。この送信を受け、他の全てのCPU301,71,131も通常の通信処理をタスク1の第2ネットワーク通信処理プログラムで行うようにする。
以上のように本実施の形態によれば、CPU間で組合せ計量装置として機能させるための通常の通信を第1ネットワークを用いて行っている際に、あるCPUとの通信が不能になったとき、第2ネットワークを用いて通信不能のCPUの第1の通信処理プログラムの実行状態を検出する処理を行い、その検出処理の結果に基づいて故障原因を特定することができ、その故障原因を表示装置4の画面に表示したり、LED等からなる異常表示灯を点灯あるいは点滅させることにより、故障原因を容易に把握でき、早期の復旧が可能となる。また、故障原因がCPUの第1ネットワークへの接続不良である場合には、通常の通信を第2ネットワークへ切り替えることにより、故障の修理を始めるまで計量機器の運転を続行することが可能となる。
また、図5のステップS9で、表示装置4に「ハブ制御用CPUのソフトウェアに異常がある」旨を示す表示を行わせることに加え、異常があると考えられるハブ制御用CPU71が実行する全てのタスクのプログラムを表示装置4に表示させることで、ソフトウェアのバグ取りを助けることができる。図6のステップS19の場合も同様に、アクチュエータ制御用CPU131が実行する全てのタスクのプログラムを表示装置4に表示させることで、ソフトウェアのバグ取りを助けることができる。また、図9のステップS59の場合も、「ハブ制御用CPU71のソフトウェアに異常がある」旨の表示を表示装置4に行わせるために異常表示指示信号を第2ネットワークを用いて操作表示用CPU301へ送信することに加え、ハブ制御用CPU71が実行する全てのタスクのプログラムを表示装置4に表示させるために、全てのタスクのプログラムを示すデータを第2ネットワークを用いて操作表示用CPU301へ送信するようにすることで、同様に表示装置4に表示させ、ソフトウェアのバグ取りを助けることができる。
また、図7のハブ制御用CPU71が実行する緊急処理プログラムでは、操作表示用CPU301との通信に関してのみの処理を行うようにしているが、図5及び図6の操作表示用CPU301が実行する緊急処理プログラムのように、さらに各アクチュエータ制御用CPU131との通信に関しての処理を行うようにしてもよい。
なお、本実施の形態において、第1ネットワークと第2ネットワークが同時に通信不能となる原因は、共通の電源部に異常が発生したときと考えられ、共通の電源部に異常が発生しなければ、本実施の形態における効果は得られる。
(実施の形態2)
図10は本発明の実施の形態2における計量機器であるアークネット伝送方式を利用したマルチ型重量式選別装置の機能構成の概略を示すブロック図である。このマルチ型重量式選別装置の外観構成の模式図は、従来例で用いた図17、図18と同じであり、その説明を省略する。
本実施の形態のマルチ型重量式選別装置は、図10に示すように、操作表示ユニットDと、ハブユニットEと、複数の選別ユニットF1〜Fnとを備えている。これらの各ユニットには、各ユニット内のCPU331、371、411をそれぞれLANケーブル31aに接続するためのLANインターフェイス回路32,36,40と、LANケーブル31bに接続するためのLANインターフェイス回路49,50,51とが備えられている。LANインターフェイス回路32,36,40は、LANインターフェイスカードに搭載されたアークネット・コントローラICで構成され、それぞれ、Node.1,Node.2,・・・,Node.n+2で示されたノード番号が割り付けられ、LANケーブル31aを介して相互通信を行う機能を有している。同様に、LANインターフェイス回路49,50,51は、LANインターフェイスカードに搭載されたアークネット・コントローラICで構成され、それぞれ、Node.1’,Node.2’,・・・,Node.n+2’で示されたノード番号が割り付けられ、LANケーブル31bを介して相互通信を行う機能を有している。したがって本実施の形態では、LANインターフェイス回路32,36,40によってLANケーブル31aとCPU331、371、411とが接続された第1ネットワークが構成され、LANインターフェイス回路49,50,51によってLANケーブル31bとCPU331、371、411とが接続された第2ネットワークが構成されており、第1ネットワークと第2のネットワークの両方で各CPU331、371、411間の通信を行うことができる。ハード的には、このようにネットワークを2つ備えている点が、ネットワークを1つしか備えていない図15の従来例と異なる。本実施の形態では、第1ネットワークを計量機器(マルチ型重量式選別装置)の主要動作を行うための通信に使用する主ネットワークとし、第2ネットワークを第1ネットワークの異常時等に使用する副ネットワークとする。
以下、各部の構成について詳細に説明する。
複数の選別ユニットF1〜Fnの各々は、LANインターフェイス回路40、51と、選別機制御用CPU搭載基板41と、ロードセルを用いた重量センサ42と、モータ制御回路43と、振分装置駆動回路44と、送込コンベア45と、計量コンベア46と、振分コンベア47と、振分装置48とを備えている。1台のマルチ型重量式選別装置には、例えば4個の選別ユニットF1〜F4が設けられている。選別機制御用CPU搭載基板41には、選別機制御用CPU411と、RAM,ROM,EEPROM等のメモリで構成された記憶部412と、A/D変換部413と、周辺IC(図示せず)とが備えられている。A/D変換部413は、例えばICチップで構成されてCPU搭載基板41に搭載され、計量コンベア46に連結されている重量センサ42からの重量信号をA/D変換してCPU411へ出力する。選別機制御用CPU411は、A/D変換部413の出力信号をフィルタリング処理し、スパン演算等をおこなって計量値を算出し、その計量値が所定重量範囲内に入っているか否か、すなわち良品か不良品かを、記憶部412に予め記憶されている振分条件の設定データを基に判別し、振分け信号を振分装置駆動回路44に送り、振分装置48の振分動作を制御する。また、選別機制御用CPU411は、前述の算出した計量値及び判別結果(信号)を、例えばLANインターフェイス回路40、LANケーブル31aを介してハブユニットEに送信する。また、選別機制御用CPU411は、モータ制御回路43へ制御信号を送信して、送込コンベア45、計量コンベア46、振分コンベア47のそれぞれの駆動用モータを制御する。
ハブユニットEは、LANインターフェイス回路36、50と、ハブ制御用CPU搭載基板37と、プリンタ8と、I/F(インターフェイス)回路9とを備えている。ハブ制御用CPU搭載基板37には、ハブ制御用CPU371と、RAM,ROM,EEPROM等のメモリで構成された記憶部372と、周辺IC(図示せず)とが備えられている。このハブユニットEでは、各選別ユニットF1〜Fnから送信されてきた計量値及び判別結果(信号)が、例えばLANインターフェイス回路36を介してハブ制御用CPU搭載基板37のハブ制御用CPU371に送られる。ハブ制御用CPU371は、各選別ユニットF1〜Fnからの計量値及び判別結果を収集し、それらの収集データを、例えばLANインターフェイス回路36、LANケーブル31aを介して操作表示ユニットDへ送信する。また、ハブ制御用CPU371は、プリンタ38を制御して上記の収集データや振分条件等を含む運転条件の設定データを印字する。また、I/F回路39を介して前後工程の外部装置(例えば前工程の包装機)との信号の送受信を行う。
操作表示ユニットDは、LANインターフェイス回路32、49と、操作表示用CPU搭載基板33と、運転条件、計量値及び判別結果の収集データ等を画面に表示する表示装置34と、マルチ型重量式選別装置の操作およびその動作設定(運転条件の設定)等を行うための入力手段であるタッチスイッチ35とを備えている。操作表示用CPU搭載基板33には、操作表示用CPU331と、RAM,ROM,EEPROM等のメモリで構成された記憶部332と、周辺IC(図示せず)とが備えられている。操作表示用CPU331は、タッチスイッチ35からの入力信号に応じて所定の処理を実行し、また、表示装置34の制御を行う。例えば、タッチスイッチ35の操作により、表示装置34にプロンプト画面を表示して、送込コンベア45、計量コンベア46、振分コンベア47の運転速度や振分装置48の振分条件等の運転条件の設定データが入力されると、操作表示用CPU331はそれらの運転条件の設定データを記憶部332に記憶させるとともに、例えばLANインターフェイス回路32、LANケーブル31aを介してハブ制御用CPU371および各選別機制御用CPU411に送信する。ハブ制御用CPU371および各選別機制御用CPU411は受信した運転条件の設定データをそれぞれの記憶部372、412に記憶させる。
次に、図11は操作表示用CPU331が実行するマルチタスク方式プログラムの構造を示し、このプログラムは記憶部332に記憶されている。図12はハブ制御用CPU371が実行するマルチタスク方式プログラムの構造を示し、このプログラムは記憶部372に記憶されている。図13は各選別機制御用CPU411が実行するマルチタスク方式プログラムの構造を示し、このプログラムは記憶部412に記憶されている。
図11〜図13では、図2〜図4と同様、各タスクはタスク管理プログラムで制御され、優先度の高い順に、タスク0が時間管理プログラム、タスク1が第2ネットワーク通信処理プログラム、タスク2が緊急処理プログラム、タスク3が第1ネットワーク通信処理プログラムとなっている。
また、図11のタスク4は、タッチスイッチ35の操作による入力信号の処理を行うプログラムであり、タスク5は、表示装置34に対し出力処理を行うためのプログラムである。図12のタスク4は、プリンタ38を制御するためのプログラムであり、タスク5は、包装機等の外部装置からの入力信号あるいは外部装置への出力信号に対してインターフェイス処理(I/F回路39の制御処理)を行うためのプログラムである。図13のタスク4は、重量センサ42からの重量信号がA/D変換されたA/D変換部413の出力信号から計量値を算出するためにフィルタリング処理、スパン演算等を行うためのプログラムであり、タスク5は、モータ制御回路15を制御するためのプログラムであり、タスク6は、振分装置駆動回路44を制御するためのプログラムである。
なお、図5及び図6は、実施の形態1の組合せ計量装置の操作表示用CPU331が実行する緊急処理プログラムの処理を示すフローチャートであるが、図5及び図6において「アクチュエータ制御用CPU」を「選別機制御用CPU」に置き換え、「計量ユニット」を「選別ユニット」に置き換えると、本実施の形態のマルチ型重量式選別装置の操作表示用CPU331が実行する緊急処理プログラムの処理を示すフローチャートになるので、その詳しい説明は省略する。
また、図7は、実施の形態1の組合せ計量装置のハブ制御用CPU71が実行する緊急処理プログラムの処理を示すフローチャートであるが、図7において「アクチュエータ制御用CPU」を「選別機制御用CPU」に置き換えると、本実施の形態のマルチ型重量式選別装置のハブ制御用CPU371が実行する緊急処理プログラムの処理を示すフローチャートになるので、その詳しい説明は省略する。
また、図8及び図9は、実施の形態1の組合せ計量装置のアクチュエータ制御用CPU131が実行する緊急処理プログラムの処理を示すフローチャートであるが、図8及び図9において「アクチュエータ制御用CPU」を「選別機制御用CPU」に置き換えると、本実施の形態のマルチ型重量式選別装置の選別機制御用CPU411が実行する緊急処理プログラムの処理を示すフローチャートになるので、その詳しい説明は省略する。
なお、以上のように置き換えられた緊急処理プログラムのフローチャートにおいて、本実施の形態では、ステップS5,S10,S34,S38,S44,S48,S55,S60の処理により、停止命令を受けたあるいは自己停止する選別機制御用CPU411は、コンベア45,46,47及び振分装置48を停止状態とするように、モータ制御回路43及び振分装置駆動回路44を制御する。また、例えばステップS15、S20の処理により、操作表示用CPU301から、「Node.3のLANインターフェイス回路40を有する選別ユニットF1の使用を禁止する」旨を示す選別ユニット(F1)使用禁止信号を受信したハブ制御用CPU371は、選別ユニットF1を除いた選別ユニットF2〜Fnからの計量値及び判別結果を収集し、それらの収集データを、操作表示ユニットDへ送信するとともに、プリンタ38で印字する。
本実施の形態2においても、実施の形態1と同様の効果が得られることは言うまでもない。
なお、実施の形態1及び実施の形態2では、LANインターフェイス回路2,6,12,21,22,23/32,36,40,49,50,51を、LANインターフェイスカードに搭載されたアークネット・コントローラICで構成したが、各CPU搭載基板3,7,13/33,37,41に例えばアークネット・コントローラICチップを搭載して構成することも可能である。また、操作表示ユニットA/DとハブユニットB/Eとを合わせて1つのユニット(操作表示及びハブユニット)として構成することも可能である。この場合、操作表示及びハブユニットは、操作表示用CPUとハブ制御用CPUを1個のCPUで兼用した構成とすることができ、これにより、LANインターフェイス回路が2個となり、CPU搭載基板は1個となる。
また、ネットワークの通信回路として、LANケーブル1a,1b/31a,31bを用いた有線回路としたが、無線回路としてもよい。