説明

I/Oユニット並びに産業用コントローラ

【課題】 安全機器の診断アルゴリズムの設定を容易に行えること
【解決手段】 スライスI/Oユニットは、異なる安全機器5,6にそれぞれ対応する複数の診断用アルゴリズムをASIC13a,14aに格納し、その複数の診断用アルゴリズムのうち使用する診断用アルゴリズムを特定する特定情報をASIC内のレジスタ21に記憶する。スライスI/Oユニットは、複数の診断用アルゴリズムのうち、レジスタに記憶された特定情報で特定される診断用アルゴリズムを用いて接続される安全機器の診断を行う。番号等の選択により、使用する診断アルゴリズムを選択できるので、設定ツール装置での設定処理が簡易となると共に、人為的なミスがなくなるので好ましい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、I/Oユニット並びに産業用コントローラに関するもので、特に、I/Oユニットに接続されるI/O機器の診断機能に関する。
【背景技術】
【0002】
FA(Factory Automation)におけるネットワークシステムは、生産工場内に配備された産業ロボットその他の生産設備の入力機器及び出力機器の制御を司る1または複数のPLC(Programmable Logic Controller)と、そのPLCにより動作が制御される機器とが、制御系のネットワークに接続される。それらPLCと機器は、その制御系のネットワークを介して通信を行うことで、INデータ及びOUTデータ(以下I/Oデータという)の送受を行い、生産設備を制御する。
【0003】
より具体的には、PLCのCPUユニットにおける制御は、入力機器のON信号またはOFF信号を入力し、入力したON/OFF情報をユーザプログラムによって論理演算し、演算結果を出力機器へ出力する。その出力が出力機器に対する動作指示となって出力機器が動作することにより、生産設備を制御する。
【0004】
入力機器や出力機器等のI/O機器についての診断を適宜のタイミングで行いたいという要求がある。係る診断は、通常、モニタ装置をPLCに接続し、I/O機器のIOデータが格納されるPLCのIOメモリをモニタリングすることで、I/O機器の状態を確認し、正常に動作しているか否かを判断するようにしている。
【0005】
また、入力機器や出力機器側で診断するものとして、たとえば特許文献1に開示された診断システムがある。この診断システムは、設定ツール装置を用いて対象となる入力機器や出力機器に合わせた診断用アルゴリズムを作成し、その作成した診断用アルゴリズムを入力機器や出力機器にダウンロードして設定する。そして、実際の稼働時等において、入力機器等が診断用アルゴリズムを実行して異常の有無等を診断し、その診断結果をネットワーク経由で出力する。この診断用アルゴリズムは、診断用のアプリケーションプログラムと、そのアプリケーションプログラムを実行する際に使用するパラメータを備える。ここで行う診断は、たとえば、入力機器であるセンサがONしてから、出力機器が動作するまでの時間や、出力機器の動作時間などを計測し、その計測結果が基準値以内に収まっているか否かを判断するものである。
【0006】
一方、最近ではPLCによる制御においても、フェールセーフ(安全)システムが導入されつつある。つまり、PLCや各機器自体はもちろん、それらを接続するネットワークも安全機能を組み込まれたもので構成される。ここで安全機能とは、非常停止スイッチが押下されたり、ライトカーテンなどのセンサが人(身体の一部)の進入を検出した場合等に作業者の安全を確保するとともに、たとえばCPUその他の処理部等を二重化することによって、安全関連制御部に故障があってもフェールセーフが働き、システムが安全側になって、動作が停止するものである。
【0007】
この種のセーフティ制御システムは、安全規格に準拠したセーフティコントローラ、セーフティリモートターミナル、I/O機器を含み、切削機械や切断機械やアーム付き製造機ロボット等とともに使用される。セーフティコントローラは、一般的なプログラマブルコントローラ(PLC)に類似するロジック演算機能、入出力制御機能に加えて、安全面の自己診断機能を内蔵させることにより、その制御において高度な安全性および信頼性を確保したものである。セーフティコントローラは、自己診断結果により異常を検出した場合には、自己の制御が危険につながらないように、強制的に安全な制御を行うような機能(フェールセーフ機能)を備えている。セーフティリモートターミナルにおいても、自己診断機能を有していて、自己診断結果により異常を検出した場合には自己の制御が危険につながらない制御をするといった、フェールセーフ機能を備えている。それにより、セーフティ制御システムは、製造機ロボット等の動作が危険につながらないようにしている。
【0008】
ここに言う安全は、より具体的には、規格化されている安全基準を含む意味である。安全規格には、たとえばIEC61508やEN規格などがある。IEC61508(プログラム可能な電子システムの機能安全に関する国際電気標準委員会)では、時間あたりの危険故障確率(失敗確率:Probability of Failure per Hour)を定義し、この確率によってSILのレベル(Safety Integrity Level)を4段階に分類している。また、EN規格では、機械のリスクの大きさを評価し、リスク低減策を講じるように義務づけされていて、ISO13849−1では5つの安全カテゴリにて規定されている。この明細書でいうセーフティコントローラ、セーフティ制御システム等は、このような安全基準に対応したものである。なお、セーフティ制御システムは「安全制御システム」と称されることもあり、セーフティコントローラは「安全コントローラ」や「安全制御装置」と称されることもある。
【0009】
セーフティコントローラがビルディングブロックタイプのものであれば、各ユニットは、共通内部バスに接続され、セーフティコントローラ全体の制御を司るCPUユニットとの間でバス通信をし、データをやり取りする。連結されたI/Oユニットも接続端子を備えていて、その接続端子に、安全用途の入力機器または安全用途の出力機器が接続されている。そして、セーフティコントローラは、セーフティリモートターミナルからネットワーク通信により入力した入力機器の入力信号、または連結されたI/Oユニットに接続された入力機器の入力信号を入力し、予め記憶されたロジックプログラムによってその入力信号のオンオフを論理演算する。その演算結果に基づく出力信号を、セーフティリモートターミナルやI/Oユニットへ出力をする。I/Oユニット等は、その出力信号を出力機器へ出力する。この一連の動作を繰り返し実行することにより、セーフティコントローラにより製造機ロボットを含むシステム全体が制御される。
【0010】
なお、セーフティコントローラあるいはCPUユニットにおけるロジック演算処理の対象となるロジックプログラムは、プログラマにより予め作成される。作成する際のプログラミング記述については、たとえば、ラダー、ファンクションブロックダイアグラム、シーケンシャル・ファンクション・チャート、ストラクチャード・テキスト、インストラクション・リストなどであってもよい。プログラミング言語でいうと、インタプリタ型言語、スクリプト言語、アセンブリ言語、高級言語、Java(登録商標)言語と呼ばれるものであってもよい。このようなプログラミング言語で書かれたソースコードを、アセンブルやコンパイルなどの処理を行ってCPUに実行させる。
【0011】
また、I/Oユニットやセーフティリモートターミナルに接続された出力機器であるところのセーフティリレーやコンタクタは、製造機ロボットや加工機械、切断機械等につながれていて、リレーやコンタクタの主接点がオン中は製造機ロボット等が動作し、接点がオフ中は製造機ロボット等が停止するようになっている。よって、セーフティコントローラは、出力機器をオンオフ制御することで、最終的な制御対象の操作ロボット等の動作停止に関する制御をする。具体的な例をいうと、セーフティコントローラは、非常停止スイッチが正常に操作されたことを意味する信号が入力されると、制御対象が危険な動作をしないように出力機器(リレーやコンタクタ)をオフするか、安全側の状態に強制制御し、直ちに必要な安全処置を採る。セーフティコントローラは、非常停止スイッチまたは他の入力機器が異常有りの診断結果を入力すると、非常停止スイッチの操作有無または入力機器のオンオフ状態にかかわらずに、制御対象が危険な動作をしないようにその動作を停止するように出力機器をオフする。
【0012】
このセーフティ制御システムは、非常時等に確実に安全状態に移行するようにするため、PLCに直接或いはネットワークを介して接続された入力機器や出力機器等の安全機器が正常であるか否かを診断する必要がある。係る診断を行うためには、上述した特許文献1に開示された診断アルゴリズムのように、単純に動作時間等を計測するだけではなく、各安全用途の入力機器並びに出力機器(以下、これらをまとめて「安全機器」と称する)に合わせた固有のより高度な診断アルゴリズムが必要となる。そのため、各安全機器に合わせた専用の診断用コントローラを用意し、PLCと安全機器との間に、その安全機器に合わせた診断用コントローラを配置する構成を採る。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2005−243008
【発明の概要】
【発明が解決しようとする課題】
【0014】
特許文献1に開示された発明は、診断アルゴリズムが入力機器や出力機器に保存されているため、それら入力機器等が故障し、交換した場合には、再度設定ツール装置から交換後の入力機器等に対して診断アルゴリズムをダウンロードする必要があり、煩雑であるという課題がある。
【0015】
さらに、診断アルゴリズムを設定ツール装置で作成する場合、柔軟な診断アルゴリズムを作成するには有効であるが、診断アルゴリズムおよびパラメータ設定数が多大なものとなった場合、煩雑であるばかりでなく、パラメータの設定ミス等の人為的なミスにより有効な診断が行えないおそれもある。さらに、特に安全機器の診断アルゴリズムは、その特性上、パラメータの設定を含む診断アルゴリズムの作成が非常に煩雑であり、人為的なミスを考慮すると、却って安全状態を確保できなくなるおそれもあるといった課題がある。
【0016】
さらにまた、上述したセーフティ制御システムの特有の課題として、安全機器ごとにその安全機器を診断する専用コントローラを用意する必要があるのとともに、安全機器やPLCとは別に取り付ける必要がある。よって、異なる複数種の専用コントローラの製造や保管をすることの煩雑さと、現場でセーフティ制御システムを構築する場合の作業工程の増加並びに専用コントローラを設置する場所の確保をする必要がある。
【課題を解決するための手段】
【0017】
上記の課題を解決するために、本発明のI/Oユニットは、(1)入力機器や出力機器であるI/O機器を接続する接続端子と、そのI/O機器との間でI/O信号を入出力する制御部と、を備えた産業用コントローラ用のI/Oユニットであって、異なるI/O機器にそれぞれ対応する複数の診断用アルゴリズムを記憶する記憶部と、その複数の診断用アルゴリズムのうち使用する診断用アルゴリズムを特定する特定情報を記憶する特定情報記憶部と、複数の診断用アルゴリズムのうち、特定情報記憶部に記憶された特定情報で特定される診断用アルゴリズムを用いて接続端子に接続されるI/O機器の診断を行う診断手段と、診断手段の診断結果が異常な場合に異常時処理を実行する手段と、を備えた。(2)接続端子は、複数有し、特定情報は、接続端子ごとに設定するとよい。
【0018】
接続端子は、実施形態では「入出力端子13c,14c」に対応する。特定情報記憶部は、実施形態では「レジスタ21」に対応する。記憶部は、実施形態では「ASIC13a,14a」に対応する。異常時処理は、たとえば、自ら動作を停止したり、CPUユニット,に異常を通知したり、異常が生じたことを記憶したり、セーフティ制御システムにおける異常時処理をするなど、各種の処理がある。特定情報は、実施形態では、「診断アルゴリズム設定情報」に対応する。産業用コントローラは、実施形態では、セーフティに対応したセーフティコントローラにより実現されているが、一般のプログラマブルコントローラ(PLC)や、PAC(Programmable Automation Controller)と称されるパーソナルコンピュータが持つ高速性や高機能や機能拡張性に加え、PLCが持つ高精度や耐久性を備えたコントローラ等の他、各種のコントローラがある。I/Oユニットは、実施形態のスライスI/Oユニット(スライスInユニット13,スライスOutユニット14)に対応する。
【0019】
I/Oユニットに複数の診断アルゴリズムを持たせ、いずれを使用するかは特定情報により指定するようにしたので、設定ツールでの設定を簡易にすることができる。この診断アルゴリズムは、設定ツール装置等を用いるのではなく、元々記憶保持させておくことで、故障等により同種のI/Oユニットに交換する場合にも、特定情報を設定するだけでよいので診断機能を動作可能にするための設定作業が簡易に行える。一つのI/Oユニットに複数の診断アルゴリズムを備えているので、セーフティ制御システムにおいて安全機器(I/O機器)ごとに必要となっていた専用コントローラを不要とさせ、単一のI/Oユニットで複数の安全機器に対応できる。診断アルゴリズムをI/Oユニットに保持させているので、故障に伴い同種のI/O機器に交換をしてもそのまま対応できる。
【0020】
(3)本発明の産業用コントローラは、上記の(1)または(2)に記載のI/Oユニットと、CPUユニットと、を備え、CPUユニットは、特定情報を記憶保持し、その記憶保持した特定情報をI/Oユニットに設定する機能を備えた。このようにすると、I/Oユニットの故障発生に伴い新たなI/Oユニットに交換した際に、CPUユニットがI/Oユニットに対して特定情報の設定を行うことができるので、設定ツール装置を用いること無く簡単にI/Oユニットを故障前の状態と同じ設定にすることができる。
【0021】
(4)CPUユニットは、連結されるべきI/Oユニットの識別情報と取付位置を特定するI/Oユニット接続情報を持ち、CPUユニットは、特定情報を前記I/Oユニットに送信するに際し、I/Oユニット接続情報を参照し、正しいI/Oユニットであることを確認することを条件にその特定情報を送信する機能を備えるとよい。このようにすることで、異なるI/Oユニットに対して誤設定をすることを可及的に抑制できる。
【0022】
(5)CPUユニットは、特定情報がI/Oユニットに正常に送信できたことを条件にそのI/Oユニットを動作可能に設定する機能を備えるとよい。正常に送信できたか否かの判断は、実施形態では、チェックサム値が一致するか否かにより判断しているが、他の方法を用いても良い。これにより、診断アルゴリズムが正しく設定されない場合には、I/Oユニットが動作しないので安全である。
【0023】
(6)I/Oユニットは、CPUユニットからの特定情報が正常に受信されたかどうかを判断し、正常受信していない場合には制御部が動作しない機能を備えるとよい。実施形態では、チェックサム値が一致するか否かにより判断しているが、他の方法を用いても良い。これにより、診断アルゴリズムが正しく設定されない場合には、I/Oユニットが動作しないので安全である。
【0024】
(7)CPUユニットは、起動時、スイッチ押下、或いはそのCPUユニットに接続された設定ツール装置からの実行命令受信、のいずれかをトリガとして、I/Oユニットへの設定を開始する機能を備えるとよい。
【発明の効果】
【0025】
本発明は、単一のI/Oユニットで複数の安全機器を接続できるため、メンテナンス部材を低減することが可能である。I/Oユニット故障時に設定ツールからの再設定が必要なく、変更が可能となるためシステム全体のダウンタイムの軽減が可能となる。セーフティ制御システムのアプリケーションにおいては、安全機器と診断アルゴリズムを含め、その安全性が保証される。すなわち、I/Oユニットに既に保有されている診断アルゴリズムは、安全性が保証されているものとすることで、番号等の特定情報を指定するだけでよく、診断アルゴリズムの設計に伴い安全性の認証を行う必要がない。
【図面の簡単な説明】
【0026】
【図1】本発明に係るプログラマブルコントローラの一形態であるセーフティコントローラの好適な一実施形態を示す図である。
【図2】スライスI/Oユニットの内部構成を示す図である。
【図3】CPUユニットの内部構成を示す図である。
【図4】不揮発性メモリ内のデータ構造の一例を示す図である。
【図5】不揮発性メモリへの設定データの格納処理する機能を示すフローチャートである。
【図6】スライスI/Oユニットへの設定処理する機能を示すフローチャートである。
【発明を実施するための形態】
【0027】
図1は、本発明に係るプログラマブルコントローラの一形態であるセーフティコントローラ10の好適な一実施形態を示している。セーフティコントローラ10は、一般的なプログラマブルコントローラ(PLC)に類似するロジック演算機能、入出力制御機能に加えて、安全面の自己診断機能を内蔵させることにより、その制御において高度な安全性および信頼性を確保したものである。セーフティコントローラは、自己診断結果により異常を検出した場合には、自己の制御が危険につながらないように、強制的に安全な制御を行うような機能(フェールセーフ機能)を備えている。
【0028】
このセーフティコントローラ10は、ビルディングブロックタイプであり、図1では、通信ユニット11と、CPUユニット12と、スライスInユニット13と、スライスOutユニット14と、エンドユニット15を連結した構成を示しているが、他の各種のユニットが連結されることを妨げない。また、各ユニットの設置個数も任意である。各ユニットは内部バス(PLCバス)10aを介して接続され、セーフティコントローラ全体の制御を司るCPUユニット12との間でバス通信をし、データをやり取りする。
【0029】
通信ユニット11は、フィールドバス2に接続され、フィールドバス2に接続された外部機器・装置と通信する。本発明との関係でいうと、フィールドバス2に接続された設定ツール装置1と通信する機能を有する。そして、通信ユニット11のMPU11aは、上記の設定ツール装置1との間のデータの送受の制御と、設定ツール装置1から受け取ったデータをCPUユニット12に送る機能を備える。もちろん、MPU11aは、通信ユニット11としての通常の機能を実行する。
【0030】
スライスInユニット13や、スライスOutユニット14等のスライスI/Oユニットは、I/Oユニットとしての処理を実行するASIC13a,14aを備えている。このASIC13a,14aにおける処理は、接続された安全機器(安全入力機器5,安全出力機器6)との間でI/O信号の入出力を行ったり、内部バス10aを介してCPUユニット12との間でI/Oデータの送受等を行ったりする。このスライスI/Oユニットは、セーフティ対応であるため、ASIC13a,14aは、二重化されている。図示省略するが、ASICで対応できない演算処理を実行するためのMPUや、そのMPUが演算実行する際にワークメモリとして使用するRAMその他のメモリを備えてもよい。
【0031】
さらに、スライスInユニット13は、入力回路13bを介して安全入力機器5と接続され、安全入力機器5からのIN信号は、入力回路13bを介してASIC13aに取り込まれる。また、スライスOutユニット14は、出力回路14bを介して安全出力機器6と接続され、ASIC14aから出力されるOUT信号は、出力回路14bを介して安全出力機器6に与えられる。図2に示すように、安全機器5,6は、各ユニット13,14の所定位置に設けられた入出力端子13c,14cに接続され、入出力回路13b,14bを介してASIC13a,14aとI/O信号の送受を行う。
【0032】
そして、本発明では、ASIC13a,14aに、予め複数種(N個)の診断アルゴリズム20を記憶保持させておく。この複数の診断アルゴリズム20は、接続可能な各種の安全機器のそれぞれに対応したものである。そして、本実形態では、複数の診断アルゴリズム20は、番号で一意に特定される。つまり、ASIC13a,14aは、内部のレジスタ21に格納された番号で特定される診断アルゴリズムを適宜のタイミングで実行し、接続された安全機器の診断を行う機能も備える。そして、スライスI/Oユニットは、診断した結果、異常と判断した場合、予め定めた異常時処理を実行する。この異常時処理は、自ら動作を停止したり、CPUユニット12に異常を通知したり、異常が生じたことを記憶したりするものがある。この異常時処理を実行する機能は、ASICに組み込んでいても良いし、別途実装するMPUにより行っても良い。
【0033】
このように、本実施形態のスライスI/Oユニットは、複数の安全機器の診断機能を持つとともに、選択型で使用する診断アルゴリズムを指定するため、複雑な設定は無い。そして、CPUユニット12からのパラメータ設定に応じ、指定された診断機能の動作を行うため、人手が介在せず、人為的な設定ミスによる障害が発生しない。
【0034】
CPUユニット12は、図3に示すように、通信MPU12aと、スライスMPU12bと、通信ユニットインタフェース12cと、不揮発性メモリ12dと、USB制御部12eと、を備えている。セーフティ対応であるため、通信MPU12a,スライスMPU12b並びに不揮発性メモリ12dは二重化されている。
【0035】
通信ユニットインタフェース12cは、通信ユニット11との間でデータの送受をするためのインタフェースである。通信MPU12aは、通信ユニット11のMPU11aとの間でデータの送受を行うと共に、通信ユニット11を経由して受け取った設定ツール装置1からの設定データをEEPROM等の不揮発性メモリ12dに格納する機能を有する。また、CPUユニット12は、USB制御部12eを備えているので、USB接続により設定ツール装置1と直接接続し、通信ユニット11を経由することなく設定ツール装置1からの設定データを取得し、不揮発性メモリ12dに格納することもできる。
【0036】
スライスMPU12bは、スライスInユニット13やスライスOutユニット14との間でテータを送受したり、取得したデータに基づいて各種の演算処理を実行したりする機能を備える。本発明との関係で言うと、スライスMPU12bは、診断アルゴリズムを実行するための設定データ(使用する診断アルゴリズムを特定する番号)をスライスInユニット13やスライスOutユニット14のレジスタ21に設定する。また、スライスMPU12bは、スライスInユニット13に接続された安全入力機器5の入力信号を入力し、予め記憶されたロジックプログラムによってその入力信号のオンオフを論理演算して出力信号を求め、その演算結果に基づく出力信号を、スライスOutユニット14へ出力をする。
【0037】
不揮発性メモリ12dは、図4に示すCPUユニット設定データが格納される。このCPUユニット設定データは、設定ツール装置1からダウンロードされて格納されるものである。CPUユニット設定データは、CPUユニット設定情報と、スライスI/Oユニット接続情報と、スライスI/Oユニット設定情報と、を備える。
【0038】
CPUユニット設定情報は、CPUユニット自身の設定パラメータである。スライスI/Oユニット接続情報は、接続されているスライスI/Oユニットを特定するための識別情報であり、取り付けられている場所を特定するユニット番号と、そのスライスI/Oユニットの種別(識別情報:ID)を含む。CPUユニット12(スライスMPU12b)は、実際に連結されたスライスI/Oユニットの識別情報を取得し、取得した識別情報とスライスI/Oユニット接続情報とを比較し、正しい位置に正しいスライスI/Oユニットが装着されているかを確認することができる。そして、設定情報と異なるスライスI/Oユニットが装着されている場合には、CPUユニット12は、そのスライスI/Oユニットを動作禁止にする。つまり、CPUユニット12は、スライスI/Oユニットの動作をON/OFFする機能を持つ。
【0039】
スライスI/Oユニット設定情報は、各スライスI/Oユニットにおける入出力端子に接続される安全機器に対して使用する診断アルゴリズムを特定する特定情報たる診断アルゴリズム設定情報を含む。すなわち、スライスI/Oユニットには、複数の安全機器5,6を接続することができ、特に、異なる種類の安全機器を装着した場合には、安全機器ごとに使用する診断アルゴリズムも異なる。そこで、スライスI/Oユニットの入出力端子ごとに、使用する診断アルゴリズムを設定する。この診断アルゴリズム設定情報は、具体的には、ASICに格納された複数の診断アルゴリズムのうちの一つを特定する番号である。CPUユニット12(スライスMPU12b)は、このスライスI/Oユニット設定情報に従い、各スライスI/OユニットのASIC13a,14aのレジスタ21に、使用する診断アルゴリズムを特定する情報を設定する。これにより、レジスタ21には、入出力端子ごとに使用する診断アルゴリズを特定する情報が格納される。
【0040】
なお、このCPUユニット12は、図示省略するが、MPUで実行するプログラムを格納するシステムROMやユーザプログラム記憶部や、演算実行時にワークメモリやI/Oメモリとして機能するRAMなども備えている。
【0041】
次に、図5を参照しながら不揮発性メモリ12dへの設定データの格納処理(設定ツール装置1からCPUユニット12への設定処理)手順を説明しつつ、設定ツール装置1並びにCPUユニット12の機能を説明する。
【0042】
ユーザは、設定ツール装置1を操作し、設定ツール装置1からCPUユニット12に対して開始コマンドを送信させる。CPUユニット12は、設定ツール装置1から送られてきたコンフィグレーション開始コマンドを受信すると(S1)、それに対するレスポンスを作成し送信する(S2)。
【0043】
設定ツール装置1は、そのCPUユニット12からのレスポンスを受信すると、CPUユニット設定情報を送信する。CPUユニット12は、設定ツール装置1から送られてきた、CPUユニット設定情報を受信すると(S3)、それに対するレスポンスを作成し送信する(S4)。なお、受信した、CPUユニット設定情報は、バッファ等に一時的に記憶保持する。
【0044】
設定ツール装置1は、そのCPUユニット12からのレスポンスを受信すると、スライスI/Oユニット接続情報を送信する。CPUユニット12は、設定ツール装置1から送られてきた、スライスI/Oユニット接続情報を受信すると(S5)、それに対するレスポンスを作成し送信する(S6)。なお、受信した、スライスI/Oユニット接続情報は、バッファ等に一時的に記憶保持する。
【0045】
設定ツール装置1は、そのCPUユニット12からのレスポンスを受信すると、スライスユニット設定情報或いは送信済みの情報についてのチェックサムコマンドを送信するので、CPUユニット12は、受信コマンドを受信するのを待ち(S7)、受信したコマンドがスライスI/Oユニット設定情報の場合には、それに対するレスポンスを作成し送信する(S8)。なお、受信した、スライスI/Oユニット設定情報は、バッファ等に一時的に記憶保持する。
【0046】
また、受信したコマンドが、チェックサムコマンドの場合、CPUユニット12は、一時記憶保持している受信した設定情報より、チェックサム値を求め(S9)、設定ツール装置1から受信したチェックサム値と比較する(S10)。不一致の場合には、CPUユニット12は、設定ツール装置1に向けて異常レスポンスを送信し、処理を終了する(S12)。一方、処理ステップS10の分岐判断で、チェックサムが一致した場合、CPUユニット12は、算出したチェックサム値を設定ツール装置1へ向けて送信する(S10)。
【0047】
設定ツール装置1は、自己が求めて先にCPUユニット12に対して送信したチェックサム値(送信チェックサム値)と、CPUユニット12から送られてきたチェックサム値(受信チェックサム値)とを比較し(S13)、不一致の場合には処理を終了する。一致している場合には、設定ツール装置1は、データ一致確認コマンドを送信する。
【0048】
CPUユニット12は、そのデータ一致確認コマンドを受信したならば(S14)、一時記憶していた各種の情報を、不揮発性メモリ12dに保存し(S15)、レスポンスを送信後、処理を終了する(S16)。なお、設定ツール装置1でのチェックサム値の比較結果が不一致の場合に、図示のように、設定ツール装置1側がそのまま終了するものとすると、CPUユニット12は、一定時間経過してもデータ一致確認コマンドを受信しなかった場合、一時記憶していたデータを破棄し、不揮発性メモリ12dへの保存をしない処理をする。また、処理ステップS13の分岐判断で不一致となった場合に、設定ツール装置1がデータ不一致コマンドを送信するようにし、CPUユニット12は、そのデータ不一致コマンドを受信した場には一時記憶していたデータを破棄し、不揮発性メモリ12dへの保存をしない処理をするようにしてもよい。
【0049】
このように、チェックサム値によるチェックも、CPUユニット12側と設定ツール装置1側でそれぞれ行い、両方で一致した場合に正規に保存するようにしたので、不揮発性メモリ12dに格納する情報の正確性が向上する。
【0050】
次に、図6を参照しながら、不揮発性メモリ12dに格納されたスライスI/Oユニット設定情報をスライスI/Oユニットに格納する処理(CPUユニット12からスライスI/Oユニットへの設定処理)手順を説明しつつ、設定ツール装置1並びにCPUユニット12の機能を説明する。
【0051】
CPUユニット12は、起動時、スイッチ押下、或いは設定ツール装置からの実行命令受信などのいずれかのトリガを機に、保存されている設定パラメータをスライスI/Oユニットに送信する機能を持つ。すなわち、係るトリガが発生すると(S21)、CPUユニット12は、不揮発性メモリ12dに格納されたスライスI/Oユニット接続情報並びにスライスI/Oユニット設定情報を読み出す(S22)。
【0052】
CPUユニット12は、実際に接続されているスライスI/Oユニットの接続位置と認識情報を取得し、読み出したスライスI/Oユニット接続情報と比較する(S23)。そして、比較結果が不一致な場合には処理を終了し、一致している場合には、CPUユニット12は、読み出したスライスI/Oユニット接続情報に従って、所定のスライスI/Oユニットに対し対応するスライスI/Oユニット設定情報を送信する(S24)。なお、所定のスライスI/Oユニットは、たとえばユニット番号が小さいものから順に対象とする。もちろん、それ以外の順番で送信するのを妨げない。
【0053】
スライスI/Oユニットは、スライスI/Oユニット設定情報を受信すると、レスポンスを返すので、CPUユニット12は、当該レスポンスの受信を待つ。そして、CPUユニット12は、当該レスポンスを受信したならば(S25)、チェックサム値を送信する(S26)。
【0054】
チェックサム値を受信したスライスI/Oユニットは、先に受信したスライスI/Oユニット設定情報からチェックサム値を算出し(S27)、受信したチェックサム値と比較する(S28)。不一致の場合には、スライスI/Oユニットは、CPUユニット12に向けて異常レスポンスを送信し、一致している場合には算出したチェックサム値をCPUユニット12へ向けて送信する。
【0055】
そこで、CPUユニット12は、異常レスポンスを受信した場合(S30)、処理対象のスライスI/Oユニット設定成功フラグをOFFにする(S33)。一方、スライスI/Oユニットから送られてきたチェックサム値を受信した場合(S29)、CPUユニット12は自己が求め先に送信したチェックサム値(送信チェックサム値)と、スライスI/Oユニットから送られてきたチェックサム値(受信チェックサム値)とを比較する(S31)。そして、一致した場合、CPUユニット12は、処理対象のスライスI/Oユニット設定成功フラグをONにする(S32)。また、不一致の場合、CPUユニット12は、処理対象のスライスI/Oユニット設定成功フラグをOFFにする(S33)。
【0056】
そして、すべてのスライスI/Oユニットに対する設定が完了したか否かを判断し(S34)、未設定のものがある場合には処理ステップS24に戻り、次のスライスI/Oユニットに対する送信を行う。そして、すべてのスライスI/Oユニットに対する設定が完了したならば、CPUユニット12は、設定成功フラグがONになっているスライスI/Oユニットに起動処理を行う(S35)。
【0057】
これにより、スライスI/Oユニット接続情報の通りに正しいスライスI/Oユニットであって、スライスI/Oユニット設定情報通りに正しい診断アルゴリズの番号がレジスタ21に登録されたスライスI/Oユニットのみが起動されるので、安全に動作することになる。なお、CPUユニット12から送られてきたスライスI/Oユニット設定情報(使用する診断アルゴリズムを特定する番号)をレジスタ21に書き込むタイミングは、スライスI/Oユニットにおいてチェックサム値が一致していると判断したことを条件とするとよい。また、係る一致判断を行う前に、CPUユニット12から受信するとともにレジスタ21に書き込んでも良い。仮に受信に伴いレジスタ21に格納したとしても、最終的にチェックサム値がCPUユニット12側とスライスI/Oユニット側の両方とも一致していないと、処理ステップS35でスライスI/Oユニットは起動しないので、先にレジスタに登録してもさほど問題は生じない。
【0058】
本実施形態によれば、各スライスI/Oユニットで使用する診断アルゴリズムを特定する情報(スライスI/Oユニット設定情報)は、CPUユニット12の不揮発性メモリ12dに保存される。従って、仮にスライスI/Oユニットを交換したとしても、同種のスライスI/Oユニットを装着したならば、CPUユニットから新たに装着したスライスI/Oユニットに対して使用する診断アルゴリズムを特定する設定情報を登録することができる。従って、その設定情報の登録の際に、人為的なミスを生じるおそれが無く、セーフティの環境を確実かつ簡単に保持することができる。
【0059】
また、安全機器の種類を交換する場合、レジスタに格納される設定情報を新たな安全機器に対応する診断アルゴリズムを特定する設定情報(番号)を書き換えるだけでよく、設定が簡単に行える。
【0060】
なお、上述した実施形態では、セーフティ対応のセーフティコントローラに適用した例を示したが、本発明は、これに限ることはなく、通常のプログラマブルコントローラ(I/Oユニット)に適用しても良いのはもちろんである。
【符号の説明】
【0061】
10 セーフティコントローラ
12 CPUユニット
13 スライスInユニット(スライスI/Oユニット)
13a ASIC
14 スライスOutユニット(スライスI/Oユニット)
14a ASIC
20 診断アルゴリズム
21 レジスタ

【特許請求の範囲】
【請求項1】
入力機器や出力機器であるI/O機器を接続する接続端子と、そのI/O機器との間でI/O信号を入出力する制御部と、を備えた産業用コントローラ用のI/Oユニットであって、
異なるI/O機器にそれぞれ対応する複数の診断用アルゴリズムを記憶する記憶部と、
その複数の診断用アルゴリズムのうち使用する診断用アルゴリズムを特定する特定情報を記憶する特定情報記憶部と、
前記複数の診断用アルゴリズムのうち、前記特定情報記憶部に記憶された特定情報で特定される診断用アルゴリズムを用いて前記接続端子に接続されるI/O機器の診断を行う診断手段と、
前記診断手段の診断結果が異常な場合に異常時処理を実行する手段と、
を備えたI/Oユニット。
【請求項2】
前記接続端子は、複数有し、
前記特定情報は、接続端子ごとに設定することを特徴とする請求項1に記載のI/Oユニット。
【請求項3】
請求項1または2に記載のI/Oユニットと、CPUユニットと、を備えた産業用コントローラであって、
前記CPUユニットは、前記特定情報を記憶保持し、その記憶保持した特定情報を前記I/Oユニットに設定する機能を備えたことを特徴とする産業用コントローラ。
【請求項4】
前記CPUユニットは、連結されるべきI/Oユニットの識別情報と取付位置を特定するI/Oユニット接続情報を持ち、
前記CPUユニットは、前記特定情報を前記I/Oユニットに設定するに際し、前記I/Oユニット接続情報を参照し、正しいI/Oユニットであることを確認することを条件にその特定情報を送信する機能を備えた請求項3に記載の産業用コントローラ。
【請求項5】
前記CPUユニットは、前記特定情報が前記I/Oユニットに正常に送信できたことを条件にそのI/Oユニットを動作可能に設定する機能を備えたことを特徴する請求項3または4に記載の産業用コントローラ。
【請求項6】
前記I/Oユニットは、前記CPUユニットからの特定情報が正常に受信されたかどうかを判断し、正常受信していない場合には前記制御部が動作しない機能を備えたことを特徴とする請求項3〜5のいずれか1項に記載の産業用コントローラ。
【請求項7】
前記CPUユニットは、起動時、スイッチ押下、或いは前記CPUユニットに接続された設定ツール装置からの実行命令受信、のいずれかをトリガとして、前記I/Oユニットへの設定を開始する機能を備えたことを特徴とする請求項3〜6のいずれか1項に記載の産業用コントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−238223(P2010−238223A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2010−9338(P2010−9338)
【出願日】平成22年1月19日(2010.1.19)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】