(57)【要約】      （修正有）【課題】プログラムの変更時等に安全制御の不要な停止を防止する。【解決手段】安全制御ユニット１０は、安全制御用のシステムプログラム１２０Ｓ、安全制御用の制御プログラム１２０Ｃ、および、制御用データ１２０Ｄが記憶されたメモリ１０２と、安全制御を実行する演算制御部１０１と、安全入力機器３１および安全制御対象の出力機器３２に演算制御部１０１を接続する入出力ユニット１０３と、を備える。システムプログラム１２０Ｓには、入出力ユニット１０３を介した安全入力機器３１および出力機器３２とメモリ１０２との制御用データ１２０Ｄのデータリフレッシュが含まれる。演算制御部１０１は、制御プログラム１２０Ｃの変更を受け付けると、制御プログラム１２０Ｃの実行を停止する。データリフレッシュを含むシステムプログラム１２０Ｓの一部を実行しながら制御プログラム１２０Ｃの変更を実行した後、制御プログラム１２０Ｃの実行を再開する。【選択図】図１
2018055653.tif 000002
【特許請求の範囲】
【請求項１】
安全制御用のシステムプログラム、安全制御用の制御プログラム、および、制御用データが記憶されたメモリと、
前記制御用データ、前記システムプログラムおよび前記制御プログラムを用いて安全制御を実行する演算制御部と、
安全入力機器および安全制御対象の出力機器に前記演算制御部を接続する入出力ユニットと、を備え、
前記システムプログラムには、前記入出力ユニットを介した前記安全入力機器および前記出力機器と前記メモリとの制御用データのデータリフレッシュが含まれており、
前記演算制御部は、
前記制御プログラムの変更を受け付けると、前記制御プログラムの実行を停止し、
前記データリフレッシュを含む前記システムプログラムの一部を実行しながら前記制御プログラムの変更を実行し、
前記制御プログラムの実行を再開する、
安全制御ユニット。
【請求項２】
前記演算制御部は、
前記安全制御を継続しながらの前記制御プログラムの変更の指示を受けた時に、前記データリフレッシュを含む前記システムプログラムの一部を実行しながらの前記制御プログラムの変更を実行する、
請求項１に記載の制御ユニット。
【請求項３】
制御用データ、システムプログラムおよび制御プログラムを用いて安全制御を実行する処理と、
前記制御プログラムの変更を受け付ける処理と、
前記制御プログラムの変更を受けて前記制御プログラムの実行を停止する処理と、
前記安全制御に利用する前記制御用データのデータリフレッシュを含むシステムプログラムの一部を実行しながら前記制御プログラムの変更を実行する処理と、
前記制御プログラムの実行を再開する処理と、
を有する、安全制御方法。
【請求項４】
制御用データ、システムプログラムおよび制御プログラムを用いて安全制御を実行する処理と、
前記制御プログラムの変更を受け付ける処理と、
前記制御プログラムの変更を受けて前記制御プログラムの実行を停止する処理と、
前記安全制御に利用する前記制御用データのデータリフレッシュを含むシステムプログラムの一部を実行しながら前記制御プログラムの変更を実行する処理と、
前記制御プログラムの実行を再開する処理と、
を演算制御部に実行させる、安全制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＡシステムの安全制御ユニット、および、ＦＡシステムにおける安全制御技術に関する。
【背景技術】
【０００２】
現在、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）システムが多く活用されている。
【０００３】
ＦＡシステムでは、特許文献１に記載のように、制御ユニット（プログラマブルロジックコントローラ）によって、ＦＡシステムの各外部機器の制御を行っている。このようなＦＡシステムの構成を利用して、外部機器に安全機器を用いる安全制御システムも構成可能である。
【０００４】
このような安全制御システムでは、制御ユニット（安全制御ユニット）は、安全機器を含む外部機器に対して、安全制御用のデータを含む制御用データの一括変換（データリフレッシュ）を行う。具体的には、制御ユニットは、ＦＡシステムの制御用の一連のプログラムを実行後、データリフレッシュを行い、再度、一連のプログラムを実行する。安全制御用のデータは、このデータリフレッシュ時に更新される。以下、この処理を繰り返すことによって、安全制御システムにおける安全制御が実現される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−９５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の安全制御ユニットは、外部からプログラムの変更を受け付けると、データリフレッシュを含む全てのプログラムを一時停止してしまう。このため、安全制御ユニットは、安全制御データを入力できず、ＦＡシステムに含まれる各外部機器の運転を停止させてしまう。すなわち、ＦＡシステムの安全制御が停止してしまう。
【０００７】
したがって、本発明の目的は、プログラムの変更時等に安全制御の不要な停止を防止できる安全制御ユニットおよび安全制御技術を提供することにある。
【課題を解決するための手段】
【０００８】
この発明の安全制御ユニットは、安全制御用のシステムプログラム、安全制御用の制御プログラム、および、制御用データが記憶されたメモリと、制御用データ、システムプログラムおよび制御プログラムを用いて安全制御を実行する演算制御部と、安全入力機器および安全制御対象の出力機器に演算制御部を接続する入出力ユニットと、を備える。システムプログラムには、入出力ユニットを介した安全入力機器および出力機器とメモリとの制御用データのデータリフレッシュが含まれている。演算制御部は、制御プログラムの変更を受け付けると、制御プログラムの実行を停止する。演算制御部は、データリフレッシュを含むシステムプログラムの一部を実行しながら制御プログラムの変更を実行する。演算制御部は、制御プログラムの実行を再開する。
【０００９】
この構成では、制御プログラムの変更時にデータリフレッシュが継続されので、安全制御が継続される。
【発明の効果】
【００１０】
この発明によれば、プログラムの変更時等に安全制御の不要な停止を防止できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る制御ユニットを含む安全制御システムの概略構成を示すブロック図である。
【図２】システムプログラムおよび制御プログラムの構成を示す図である。
【図３】サポートツールの構成を示す図である。
【図４】演算制御部における安全制御処理のフローチャートである。
【図５】サポートツールにおけるプログラム変更処理のフローチャートである。
【発明を実施するための形態】
【００１２】
本発明の実施形態に係る安全制御ユニット、および、安全制御技術について、図を参照して説明する。図１は、本発明の実施形態に係る安全制御ユニットを含む安全制御システムの概略構成を示すブロック図である。図２は、システムプログラムおよび制御プログラムの構成を示す図である。図３は、サポートツールの構成を示す図である。
【００１３】
図１に示すように、安全制御ユニット１０は、ＰＣ（パーソナルコンピュータ）２０、安全入力機器３１、および、出力機器３２に接続されている。安全制御ユニット１０、安全入力機器３１、および出力機器３２は、所定のデータネットワークによって接続されている。なお、このデータネットワークが接続信頼性の高いプロトコルで構成されていることが好ましい。これら安全制御ユニット１０、安全入力機器３１、出力機器３２によって、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）システムを用いた安全制御システムが実現されている。なお、この安全制御システムに、汎用の入力機器が接続されていてもよい。
【００１４】
安全入力機器３１は、例えば、ライトカーテン、安全スイッチ等の安全制御用のデータを取得する機器である。出力機器３２は、リレー、モータ、ランプ等のＦＡシステムにおける安全制御に関する動作を実行する機器である。なお、図１では、安全入力機器３１および出力機器３２は、それぞれ１台しか記載していないが、それぞれ複数台であってもよい。
【００１５】
安全制御ユニット１０とＰＣ２０とは、一般的なデータ通信用ケーブル等によってローカル接続されている。ＰＣ２０には、サポートツール２０１が組み込まれている。サポートツール２０１を用いて作成されたプログラムや設定情報は、安全制御ユニット１０によってダウンロードされる。
【００１６】
安全制御ユニット１０は、演算制御部１０１、メモリ１０２、および、入出力ユニット１０３を備える。
【００１７】
演算制御部１０１は、メモリ１０２および入出力ユニット１０３に接続されている。入出力ユニット１０３は、上述のデータネットワークを介して安全入力機器３１および出力機器３２に接続されている。
【００１８】
図１に示すように、メモリ１０２には、システムプログラム１２０Ｓ、制御プログラム１２０Ｃ、および、制御用データ１２０Ｄが記憶されている。図２に示すように、システムプログラム１２０Ｓは、スケジューラプログラム１２１、データリフレッシュプログラム１２２、モーション演算プログラム１２３、および、シーケンス命令演算プログラム１２４を有する。制御プログラム１２０Ｃは、シーケンス命令演算プログラム１２４およびユーザプログラム１２５を有する。
【００１９】
制御用データ１２０Ｄは、システムプログラム１２０Ｓと制御プログラム１２０Ｃとを実行する際に参照にするデータである。安全制御継続設定変数１２０Ｒは、制御用データ１２０Ｄの書き換え時に安全制御を継続させるか否か、すなわち、データリフレッシュを継続させるか否かが設定された変数である。
【００２０】
スケジューラプログラム１２１は、演算制御部１０１で実行する各種の処理のスケジュールを管理するプログラムである。
【００２１】
データリフレッシュプログラム１２２は、メモリ１０２内の制御用データ１２０Ｄと入出力ユニット１０３とに記憶された安全制御用のデータの一括交換、および、メモリ１０２内の制御用データ１２０Ｄと入出力ユニット１０３を介した安全入力機器３１および出力機器３２とに記憶された安全制御用のデータの一括交換を実行するプログラムである。より具体的には、データリフレッシュプログラム１２２は、入出力ユニット１０３を介して安全入力機器３１からの安全制御用のデータを制御用データ１２０Ｄに反映させる処理と、安全制御用の出力データ、モーション演算プログラム１２３およびユーザプログラム１２５による演算結果を入出力ユニット１０３を介して出力機器３２に出力する処理とを実行するプログラムである。なお、安全制御用の出力データとは、安全制御用の入力データに基づいて、出力機器３２の状態を制御するデータである。
【００２２】
モーション演算プログラム１２３は、汎用の入力機器によって取得したデータに基づいて、モータ（サーボモータ等）等のモーション機器の制御用の演算を行うプログラムである。
【００２３】
シーケンス命令演算プログラム１２４は、システムプログラム１２０Ｓと制御プログラム１２０Ｃとに属しており、サポートツール２０１によって作成された安全制御用のラダー図に基づくプログラムである。
【００２４】
ユーザプログラム１２５は、サポートツール２０１によって作成された安全制御用の各種設定を実行するプログラムである。
【００２５】
演算制御部１０１は、制御用データ１２０Ｄを参照しながら、システムプログラム１２０Ｓと制御プログラム１２０Ｃとを継続的に実行する。具体的には、演算制御部１０１は、スケジューラプログラム１２１に基づいて、モーション演算プログラム１２３、シーケンス命令演算プログラム１２４およびユーザプログラム１２５を実行する。この際、演算制御部１０１は、制御用データ１２０Ｄを参照する。
【００２６】
演算制御部１０１は、これらモーション演算プログラム１２３、シーケンス命令演算プログラム１２４およびユーザプログラム１２５の実行が完了すると、データリフレッシュプログラム１２２を実行する。具体的には、演算制御部１０１は、データリフレッシュプログラム１２２を用いて、メモリ１０２内の制御用データ１２０Ｄと、入出力ユニット１０３を介した安全入力機器３１および出力機器３２の安全制御用のデータの一括変換を実行する。
【００２７】
演算制御部１０１は、データリフレッシュが終了すると、データ変換された制御用データ１２０Ｄを参照して、モーション演算プログラム１２３、シーケンス命令演算プログラム１２４およびユーザプログラム１２５を実行する。以下、演算制御部１０１がこの一連の処理を繰り返すことによって、ＦＡシステムの安全制御が実現される。
【００２８】
図３に示すように、サポートツール２０１は、設定ツール２２１、プログラミングツール２２２、転送ツール２２３、および、判断ツール２２４を有する。設定ツール２２１は、上述の各種設定を含むユーザプログラム１２５を作成するツールである。プログラミングツールは、ラダー図を作成するツールであり、言い換えればシーケンス命令演算プログラム１２４を作成するツールある。転送ツール２２３は、設定ツール２２１で作成されたユーザプログラム１２５、プログラミングツール２２２で作成されたシーケンス命令演算プログラム１２４を、演算制御部１０１に転送するデータ形式に変換し、これらの転送を実行するツールである。判断ツール２２４は、ユーザプログラム１２５およびシーケンス命令演算プログラム１２４を転送する際に、安全制御を停止させる必要があるか、すなわちデータリフレッシュを停止させる必要があるか否かを判断するツールである。
【００２９】
このような構成において、各種設定やラダー図の変更等に伴って、ユーザプログラム１２５およびシーケンス命令演算プログラム１２４を書き換える場合、演算制御部１０１は、次に示す処理を実行する。図４は、演算制御部における安全制御処理のフローチャートである。
【００３０】
図４に示すように、演算制御部１０１は、ユーザプログラム１２５およびシーケンス命令演算プログラム１２４の書き換え、すなわち、ダウンロード指示を受け付ける（Ｓ１１）。ダウンロード指示を受け付けていない期間は、演算制御部１０１は、上述のように、制御用データ１２０Ｄを参照にして、データリフレッシュを含むシステムプログラム１２０Ｓと制御プログラム１２０Ｃを用いた制御を継続的に実行する。
【００３１】
演算制御部１０１は、ダウンロード指示を参照し、安全制御を継続しながら制御プログラム１２０Ｃを変更するか否かを検出する（Ｓ１０１）。
【００３２】
演算制御部１０１は、安全制御を継続させる設定であれば（Ｓ１２：ＹＥＳ）、制御プログラム１２０Ｃの実行を停止して、制御プログラム１２０Ｃのアンロードを実行する（Ｓ１３）。この際、演算制御部１０１は、シーケンス命令演算プログラム１２４を除き、データリフレッシュプログラム１２２を含むシステムプログラム１２０Ｓの一部を停止させることなく、継続的に実行する。
【００３３】
次に、演算制御部１０１は、サポートツール２０１からダウンロードした制御プログラム１２０Ｃ（シーケンス命令演算プログラム１２４およびユーザプログラム１２５）をロードする（Ｓ１４）。この際、演算制御部１０１は、シーケンス命令演算プログラム１２４を除き、データリフレッシュプログラム１２２を含むシステムプログラム１２０Ｓの一部を停止させることなく、継続的に実行する。
【００３４】
次に、演算制御部１０１は、制御プログラム１２０Ｃの実行を再開する（Ｓ１８）。
【００３５】
このような処理を実行することによって、安全制御ユニット１０は、安全制御に関係しない制御プログラム１２０Ｃの変更であれば、データリフレッシュを一時停止させることなく、制御プログラム１２０Ｃの変更を実行できる。これにより、安全制御の不要な一時停止を防止できる。
【００３６】
なお、演算制御部１０１は、安全制御を継続させない設定であれば（Ｓ１２：ＮＯ）、データリフレッシュプログラム１２２の実行を停止する（Ｓ１５）。すなわち、演算制御部１０１は、安全制御に関係する各装置への安全通信を停止する。その後、演算制御部１０１は、制御プログラム１２０Ｃのアンロードを実行し（Ｓ１６）、サポートツール２０１からダウンロードした制御プログラム１２０Ｃをロードする（Ｓ１７）。そして、演算制御部１０１は、システムプログラム１２０Ｓおよび制御プログラム１２０Ｃの実行を再開する（Ｓ１８）。
【００３７】
この構成によって、ＦＡシステムの管理者等は、安全制御の停止を伴うシステムプログラム１２０Ｓおよび制御プログラム１２０Ｃの変更を必要とするか否かを選択することができる。
【００３８】
また、サポートツール２０１では、図３の構成を備えることによって、図５に示すように、制御プログラム１２０Ｃの変更時に、安全制御の停止が必要か否かを判断してから転送することも可能である。図５は、サポートツールにおけるプログラム変更処理のフローチャートである。
【００３９】
サポートツール２０１は、プログラミングツール２２２を用いて、プログラマによる安全制御用の処理を含むラダー図の入力を受け付ける（Ｓ２１）。また、サポートツール２０１は、設定ツール２２１を用いて、プログラムによる安全制御用の各種設定の入力を受け付ける（Ｓ２２）。これらの処理によって、シーケンス命令演算プログラム１２４およびユーザプログラム１２５を有する安全制御を含む制御プログラム１２０Ｃは作成される。なお、ステップＳ２１とステップＳ２２の順は、この順に限らず、逆であってもよい。
【００４０】
サポートツール２０１は、判断ツール２２４を用いて、サポートツール２０１で作成、変更したプログラムと、安全制御ユニット１０のメモリ１０２に記憶されたプログラムとの照合を実行する（Ｓ２３）。
【００４１】
サポートツール２０１は、判断ツール２２４を用いて、照合結果に基づいて、制御プログラム１２０Ｃの変更時に安全制御の停止が必要か否かを判断する。
【００４２】
サポートツール２０１は、安全制御の停止が必要でないことを検出すると（Ｓ２４：ＹＥＳ）、転送ツール２２３を用いて、制御プログラム１２０Ｃ（シーケンス命令演算プログラム１２４およびユーザプログラム１２５）の転送を開始する（Ｓ２５）。
【００４３】
サポートツール２０１は、安全制御の停止が必要であることを検出すると（Ｓ２４：ＮＯ）、ＰＣ２０のディスプレイ等に警告表示を行う（Ｓ２６）。
【００４４】
サポートツール２０１は、プログラマから転送の操作入力を受け付けると（Ｓ２７：ＹＥＳ）、制御プログラム１２０Ｃの転送を開始する（Ｓ２５）。一方、サポートツール２０１は、プログラマから転送の操作入力を受け付けなければ（Ｓ２７：ＮＯ）、処理を終了する。
【符号の説明】
【００４５】
１０…安全制御ユニット
２０…ＰＣ
３１…安全入力機器
３２…出力機器
１０１…演算制御部
１０２…メモリ
１０３…入出力ユニット
１２０Ｃ…制御プログラム
１２０Ｄ…制御用データ
１２０Ｓ…システムプログラム
１２１…スケジューラプログラム
１２２…データリフレッシュプログラム
１２３…モーション演算プログラム
１２４…シーケンス命令演算プログラム
１２５…ユーザプログラム
２０１…サポートツール
２２１…設定ツール
２２２…プログラミングツール
２２３…転送ツール
２２４…判断ツール
【図１】
2018055653.tif 000003
【図２】
2018055653.tif 000004
【図３】
2018055653.tif 000005
【図４】
2018055653.tif 000006
【図５】
2018055653.tif 000007