JP2021082033A - プログラム作成支援装置 - Google Patents

プログラム作成支援装置 Download PDF

Info

Publication number
JP2021082033A
JP2021082033A JP2019209188A JP2019209188A JP2021082033A JP 2021082033 A JP2021082033 A JP 2021082033A JP 2019209188 A JP2019209188 A JP 2019209188A JP 2019209188 A JP2019209188 A JP 2019209188A JP 2021082033 A JP2021082033 A JP 2021082033A
Authority
JP
Japan
Prior art keywords
safety
input
program
mode
invalidation
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.)
Granted
Application number
JP2019209188A
Other languages
English (en)
Other versions
JP7409832B2 (ja
Inventor
政嗣 川中
Masatsugu Kawanaka
政嗣 川中
元宏 工藤
Motohiro Kudo
元宏 工藤
真矢 亀岡
Maya Kameoka
真矢 亀岡
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.)
Keyence Corp
Original Assignee
Keyence 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 Keyence Corp filed Critical Keyence Corp
Priority to JP2019209188A priority Critical patent/JP7409832B2/ja
Priority to US17/066,503 priority patent/US11321056B2/en
Publication of JP2021082033A publication Critical patent/JP2021082033A/ja
Application granted granted Critical
Publication of JP7409832B2 publication Critical patent/JP7409832B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/313Logic programming, e.g. PROLOG programming language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Programmable Controllers (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

【課題】本発明は、安全基準を満たす無効化機能を簡略した手順で安全プログラムへ追加する仕組みを提供する。【解決手段】安全コントローラで実行される安全プログラムの作成を支援するプログラム作成支援装置は、入力機器からの安全入力信号を割り付けるための入力ブロックと、安全機能を実現する機能ブロックと、安全出力信号を出力する出力ブロックとを含む安全プログラムを作成し、ユーザからの指示に従って、作成した安全プログラムにおいて所定の条件を満たすと安全入力信号を無効化する無効化機能を実現する複数のブロックおよび該複数のブロック間の接続を、該安全プログラムに追加する。【選択図】図12

Description

本発明は、安全システムで動作する安全プログラムの作成を支援するプログラム作成支援装置に関する。
製品(ワーク)を生産する製品工場においては多数の産業機械が稼働している。安全システムは、産業機械から人間の安全を確保するために欠かせないシステムである。安全システムは、一般に、産業機械の稼働エリア内に人間が侵入すると、産業機械を緊急停止させる。
また、安全システムでは、通常動作時とは異なり、作業員が所定の区域内に侵入し機器のメンテナンスを行うことが想定される(特許文献1)。このようなメンテナンス動作を行うためには通常動作時の通常モードでは、産業機械が緊急停止してしまう。従って、安全システムはそのような通常モードとは別に、安全基準を満たした状態で所定の区域内で作業可能なメンテナンスモードを備えることが要望されている。
特開2005−4557号公報
安全システムで動作するコンピュータプログラムは安全プログラムと呼ばれている。安全プログラムは人間の安全を守るものであるから、より正確に設計されなければならない。安全プログラムを作成する作業が複雑であると、バグなどを招きやすい。したがって、安全プログラムをユーザが簡単に作成できるようなプログラムの作成環境を提供することが望ましい。たとえば、複数のファンクションブロックを任意に配置して、いくつかのファンクションブロックを結線することで安全プログラムを作成するファンクション・ブロック・ダイアグラム(FBD)が知られている。
しかし、上記FBDを用いた安全プログラムの作成であっても、上記メンテナンスモードにおける無効化機能を実現するためのファンクションブロックの構成は煩雑であり、ユーザがファンクションブロックを組み合わせて設計することは難易度の高いものである。無効化機能とは、特定の条件を満たした場合に、所定の安全入力を強制的にONと見做す機能である。つまり、所定の安全入力に対応するセンサ等が監視するエリアに作業員の侵入を許可するものである。従って、無効化機能は対応する安全プログラムが誤って設計されると作業員へ危険を及ぼす可能性が高く、設計者への負担は大きい。
そこで、本発明は、安全基準を満たす無効化機能を簡略した手順で安全プログラムへ追加する仕組みを提供することを目的とする。
本発明は、たとえば、安全コントローラで実行される安全プログラムの作成を支援するプログラム作成支援装置であって、入力機器からの安全入力信号を割り付けるための入力ブロックと、安全機能を実現する機能ブロックとを含む安全プログラムを作成する作成手段と、ユーザからの指示に従って、前記作成手段によって作成した安全プログラムにおいて所定の条件を満たすと安全入力信号を無効化する無効化機能を実現する複数のブロックおよび該複数のブロック間の接続を、該安全プログラムに追加する追加手段とを備える。
本発明によれば、安全基準を満たす無効化機能を簡略した手順で安全プログラムへ追加することができる。
安全コントローラシステムを説明する図 メインモジュールと拡張モジュールを説明する図 プログラム作成支援装置を説明する図 ユーザーインターフェースを説明する図 ユーザーインターフェースを説明する図 ユーザーインターフェースを説明する図 ユーザーインターフェースを説明する図 ユーザーインターフェースを説明する図 ユーザーインターフェースを説明する図 ユーザーインターフェースを説明する図 メンテナンスブロックを標準モードの回路構成で示す図 安全プログラム作成時のフローチャートを説明する図 安全プログラム作成時のフローチャートを説明する図 CPUの機能を説明する図 通常モードとメンテナンスモードとを説明する図 ユーザーインターフェースを説明する図
以下、添付図面を参照して実施形態が詳しく説明される。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一または同様の構成には同一の参照番号が付され、重複した説明は省略される。とりわけ、小文字のアルファベットは複数の同種の構成要素を区別するために付与されており、複数の構成要素に共通した説明が記載されるときには、小文字のアルファベットが省略されることがある。
<安全コントローラシステム>
図1はシステムの全体を示している。この例で、安全コントローラシステム1は、メインモジュール(メインコントローラ)3、拡張モジュール4a、4bを有している。メインモジュール3は、ユーザが安全プログラムを作成することを支援する作成支援装置として機能するPC2から転送されてきた安全プログラムを実行する。メインモジュール3は、表示装置5a、操作部6a、通信コネクタ7a、IOコネクタ10aなどを有している。PC2も表示装置5b、および操作部6bを有している。通信コネクタ7aは、USBや有線LANのためのコネクタであってもよい。PC2からの通信ケーブルは通信コネクタ7aに接続されている。有線LANは産業用のイーサネット(登録商標)であってもよい。LANはローカルエリアネットワークの略称である。IOコネクタ10aの入力端子には、緊急停止スイッチやライトカーテンなどの安全入力機器11aが接続される。IOコネクタ10aの出力端子には、ロボットアームなどの産業機器が動力源として接続される。メインモジュール3は、安全入力機器11aから入力される入力値に対して安全プログラムにしたがった演算処理を実行して出力値を求め動力源12へ出力する。たとえば、安全入力機器11aの一種である緊急停止スイッチが押し下げられると、メインモジュール3は、出力値をON(安全)からOFF(安全ではない)に変更する。これにより、動力源12が停止する。メインモジュール3に設けられたIOコネクタ10aだけではすべての安全入力機器および動力源を接続できない場合がある。このような場合には、拡張モジュール4a、4bがメインモジュール3に接続される。拡張モジュール4a、4bはそれぞれIOコネクタ10b、10cを有しており、安全入力機器11bおよび動力源12などを接続できる。拡張モジュール4a、4bとメインモジュール3は相互に通信することで、入力信号および出力信号を受け渡す。つまり、メインモジュール3は、自己に接続された安全入力機器11aおよび拡張モジュール4a、4bに接続された安全入力機器11aから取得した入力信号に安全プログラムを適用することで出力信号を生成する。さらに、メインモジュール3は、安全プログラムに従って生成した出力信号を、自己に接続された動力源12に出力したり、拡張モジュール4a、4bに接続された動力源12に出力したりする。
<メインモジュールと拡張モジュールのハードウエア>
図2が示すように、メインモジュール3のコントローラ20aは二つのMCU23a、24aとメモリ25aとを有している。コントローラ20aはPC2から受信した安全プログラムをメモリ25aに記憶する。信頼性を高めるためにMCU(マイクロコントローラユニット)は二重化されている。MCU23a、24aはそれぞれメモリ25aに保持されている安全プログラムを実行する。MCU23a、24aは安全入力IF21aを介して安全入力機器11の入力信号およびバスIF26aを介して拡張モジュール4から入力された入力信号に基づき出力信号を生成して安全出力IF22aおよび拡張モジュール4に出力する。たとえば、MCU23a、24aがともにON信号を出力していれば、安全出力IF22aはON信号を出力する。MCU23a、24aのうちの一方または両方がOFF信号を出力していれば、安全出力IF22aはOFF信号を出力する。このようにコントローラ20aは、バスIF26aを介して拡張モジュール4と通信して入力信号を受信したり、出力信号を送信したりする。
拡張モジュール4のコントローラ20bは二つのMCU23b、24bとメモリ25bとを有している。信頼性を高めるためにMCU(マイクロコントローラユニット)は二重化されている。MCU23b、24bはそれぞれメモリ25bに保持されている制御プログラムを実行する。コントローラ20bは安全入力IF21bを介して安全入力機器11の入力信号を受信すると、バスIF26bを介してメインモジュール3に送信する。コントローラ20bはバスIF26bを介してメインモジュール3から出力信号を受信すると、安全出力IF22bを介して動力源12などに出力する。
<PCのハードウエア>
図3が示すように、PC2は、CPU13、表示装置5b、操作部6b、記憶装置15および通信IF27bを備えている。表示装置5b、操作部6b、記憶装置15および通信IF27bは、それぞれCPU13に対して電気的に接続されている。記憶装置15はRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。CPUは中央演算処理装置の略称である。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。HDDはハードディスクドライブの略称である。SSDはソリッドステートドライブの略称である。
記憶装置15は、編集プログラム16、および無効化機能情報17を記憶する。これらの情報は、後に更新することができる。PC2のユーザは記憶装置15に記憶されている編集プログラム16をCPU13に実行させて、操作部6bを通じて安全プログラムや設定情報などを編集し、メインモジュール3に転送する。設定情報は、メインモジュール3に接続されている拡張モジュール4の識別情報と、IOコネクタ10a〜10cに設けられた各入力端子と各出力端子に接続されている安全入力機器11および動力源12の識別情報(端子割り当て情報)などを含む。無効化機能情報17には、後述する無効化機能を実現するための、構成ブロック、結線情報、各種パラメータ、およびユーザへ問い合わせを行うための問い合わせ情報などが含まれる。構成ブロックとは、無効化機能を実現するための各種ブロックの種別や配置情報などである。結線情報とは、ブロック間の入出力の接続関係を示す情報である。各種パラメータとは、各ブロックに関するパラメータや、無効化機能に関するパラメータなどを含む。問い合わせ情報には、たとえば後述する無効化方式を選択させるための情報が含まれる。
<標準モードのユーザーインターフェース(UI)>
図4はCPU13が編集プログラム16にしたがって表示装置5bに表示する標準モードのUI30を示している。38の表示は、当該編集プログラムが標準モードであることを示している。本実施形態に係る安全プログラムの作成には、詳細にプログラム可能な標準モード(第1モード)と、標準モードよりも容易な手順でプログラム可能なEASYモード(第2モード)とを選択することができる。標準モードでは、入力機器からの安全入力信号を割り付けるための入力ブロックと、選択された安全用途に適する安全機能を実現する機能ブロック(ファンクションブロックとも称する。)と、安全出力信号を出力する出力ブロックとをユーザが自由に配置および結線することができる。一方、EASYモードでは、ユーザが安全用途を選択すると、当該安全用途に適した各ブロックの配置および結線が行われた状態の未完成の安全プログラムが提供され、ユーザはその未完成の安全プログラムを容易な手順で補完することにより完成させることができる。
編集ボタン31は安全プログラムの編集を指示するためのボタンである。シミュレーションボタン32は安全プログラムのシミュレーションを指示するボタンである。リスト部33は、ユーザにより選択可能なファンクションブロック34の一覧を選択可能に表示する表示領域である。プログラム作成エリア35は、入力タイプのファンクションブロックが配置される入力配置エリア36と、演算タイプおよび出力タイプのファンクションブロックが配置されるブロック配置エリア37とを有している。ユーザは、リスト部33から任意のファンクションブロック34を選択して、入力配置エリア36またはブロック配置エリア37にドラッグアンドドロップする。入力配置エリア36およびブロック配置エリア37はスクロール表示可能となっており、より多くのファンクションブロックを配置可能となっている。
(プログラムの編集)
図5は標準モードにおける安全プログラムの作成例を示している。入力配置エリア36には、メインモジュール3と拡張モジュール4に接続された安全入力機器11に対応する入力ブロックが配置される。図5では、入力配置エリア36には、非常停止スイッチに対応した入力ブロックと、リセットスイッチに対応した入力ブロックと、ライトカーテンXに対応した入力ブロックと、ドアスイッチに対応した入力ブロックが、リスト部33からドラッグアンドドロップされて配置されている。
ブロック配置エリア37には、二つのANDブロックと、リセットブロックと、出力ブロックとが配置されている。出力ブロックは、IOコネクタ10a〜10cにおけるいずれかの出力端子に対応している。各ファンクションブロックを表すアイコンには、入力端子や出力端子が含まれている。ユーザは、あるファンクションブロックの出力端子と、他のファンクションブロックの入力端子との間に接続線40で結線することで、安全プログラムを完成させる。
この事例では、非常停止ボタンが押されていない場合、リセットブロックはON(安全)を出力する。また、左側のANDブロックは、ライトカーテンがONであり、かつ、ドアスイッチがONである場合に、ONを出力する。右側のANDブロックには、リセットブロックの出力端子と、左側のANDブロックの出力端子とが接続されている。よって、右側のANDブロックの二つの入力端子にいずれもONが入力されている場合に、右側のANDブロックはONを出力ブロックに出力する。非常停止ボタンが押されると、リセットブロックにOFF(安全でない)が入力される。その結果、右側のANDブロックの出力がONからOFFに切り替わり、出力ブロックにOFFが伝搬する。リセットブロックは、リセットスイッチが押されない限り、OFF出力を維持する。リセットブロックは、リセットスイッチが押されると、出力をONに復帰させる。
CPU13は、安全プログラムを構成しているファンクションブロックの種別情報およびプログラム部品と、各ファンクションブロックの接続関係を示す接続情報とを含む設定情報を作成し、記憶装置15に格納する。この場合、設定情報内に安全プログラムが含まれていることになる。あるいは、CPU13は、接続情報に従ってプログラム部品をリンクして安全プログラムを作成してもよい。ユーザによる転送指示が入力されると、CPU13は設定情報と安全プログラムをメインモジュール3に送信して書き込む。設定情報は安全プログラムの一部であってもよい。
このようにユーザは、任意のファンクションブロックを組み合わせることで安全プログラムを作成できるようになる。なお、シミュレーションボタン32が押されると、CPU13はシミュレーションUIを表示装置5bに表示する。
<結線チェックが成功している場合(プログラム完成)>
図6はシミュレーション画面39を含むUI30を示している。シミュレーションボタン32が押されると、CPU13は、UI30内にシミュレーション画面39を表示する。シミュレーション画面39はUI30とは異なる独立したウインドウに表示されてもよい。ユーザが入力タイプのファンクションブロックにタッチまたはクリックすることで、入力タイプのファンクションブロックの出力が反転する(ON→OFFまたはOFF→ON)。このような反転処理はトグルと呼ばれてもよい。なお、CPU13は、ONを出力しているファンクションブロックとOFFを出力しているファンクションブロックとを区別できるように表示してもよい。図6では、リセットスイッチに対応するブロックがユーザにタッチされたことでOFFになったため、強調表示されている。なお、CPU13は、ONを出力しているファンクションブロックをライトグリーン(またはライトブルー)で着色し、OFFを出力しているファンクションブロックをライトピンク(オレンジ)などで着色してもよい。また、CPU13は、ONを出力している出力端子とONが入力されている入力端子とをそれぞれ濃いグリーン(濃いブルー)に着色してもよい。CPU13は、OFFを出力している出力端子とOFFが入力されている入力端子とをそれぞれレッド(濃いオレンジ)に着色してもよい。CPU13は、各ファンクションブロックごとに、入力信号に対する出力信号を演算して求める。ユーザは任意の入力ブロックをタッチまたはクリックすることで、安全プログラムの全体の挙動を確認することができる。
<結線チェックが失敗した場合(プログラム未完成)>
CPU13は、シミュレーションボタン32が押されると、ブロック配置エリア37に配置された複数のファンクションブロックについて結線チェックを実行してもよい。ファンクションブロックの種類に応じて、結線されることが必須の端子と、結線されなくてもよい任意の端子とが存在する。CPU13は、すべてのファンクションブロックについて、結線されることが必須の端子に接続線40が接続されていることを確認する。結線されることが必須の端子に接続線40が接続されていなければ、CPU13は結線チェックが失敗したと判定する。この場合、CPU13は安全プログラムの全体を通したシミュレーションを実行できないため、個別のシミュレーションに進む。
<EASYモード>
以下では、EASYモードについて説明する。本実施形態に係るプログラム作成支援装置では、プログラミングモードとして、不図示の選択画面を介して、標準モード(第1モード)と、EASYモード(第2モード)とを選択することができる。標準モードでは、図4および図5を用いて説明したように、ユーザは入力ブロック、ファンクションブロック、および出力ブロックを自由に選択して配置することができ、各端子間の結線も自由に行うことができる。つまり、標準モードは自由度の高いプログラミングモードとなる。一方、EASYモードでは、ユーザは安全用途を選択することにより、当該安全用途に適した各ブロックが既に配置され、かつ、結線が行われた未完成の安全プログラムが提供される。本実施形態に係る未完成の安全プログラムとは、入力ブロックに割り付けられる入力機器が未割付の状態で提供される。ユーザは任意に入力機器を所定の入力ブロックと置き換えることにより、安全プグラムを容易な手順で完成させることができる。
EASYモードでは、まず不図示の登録画面を介して、入出力機器の登録が行われる。登録画面では、生成する安全プログラムの入力ブロック(入力機器)および出力ブロック(出力機器又は出力端子)を登録する。続いて、作成する安全プログラムの対象となる安全用途(アプリケーション)の選択を不図示の選択画面を介して行う。選択画面では、登録画面で選択された出力機器ごとに、想定される安全用途の選択肢を提供し、ユーザ入力により選択することができる。
安全用途の選択肢としては、たとえば、マニュアルリセットの選択肢、オートリセットの選択肢、マニュアルリセット+オートリセットの選択肢、および協働制御の選択肢などが含まれる。マニュアルリセットとは、安全入力OFFによって安全出力がOFFになった後に、安全入力ONによって安全が確認され、かつ、リセットスイッチ等で安全出力をONにする(安全システムを起動する)方式である。当該方式は、たとえば、非常停止スイッチが操作された際の復帰や、危険領域内に立ち入られる箇所にライトカーテンなどを設置している場合や不意にドアが閉まる可能性のある場所に使用される。オートリセットとは、安全入力OFFによって安全出力がOFFになった後に、安全入力ONによって安全が確認されると自動的に安全出力をONにする方式である。マニュアルリセット+オートリセットとは、マニュアルで動作する安全入力と、オートリセットで動作する安全入力とを併用する方式である。両方の安全入力がONになると安全出力をONにする(安全システムを起動する)方式である。協働制御とは、端的に言えばマニュアル+オートリセットのOR方式である。たとえば、作業者とロボットが同じ危険領域に入る可能性がある場合などに、ライトカーテンをそれぞれの侵入口に使用して制御するケースで使用されうる。この場合、一方のライトカーテンの安全入力がOFFしただけでは、人間とロボットが危険領域に同時に立ち入ることがないため、安全出力はOFFせず、両方のライトカーテンがOFFになった場合に、安全出力がOFFに制御される。
また、他の安全用途の選択肢として、設定する安全出力(ロック解除出力)に対応したロック制御の種別として、2入力方式と、1入力方式との安全用途の選択肢が含まれてもよい。さらに、ロック解除の許可入力を使用する又は使用しないを選択することができてもよい。ロック解除の許可入力は、装置の稼働中はドアが開かないようにするなど、ロック解除タイミングを制限したい場合に使用される。このように、本実施形態によれば、登録された安全出力に応じて適切な選択画面をユーザに提供し、安全用途を選択させる。安全用途が選択されると、未完成の安全プログラムが編集可能にユーザに提供される。
<EASYモードのUI>
(編集画面)
図7は、EASYモードにおける安全プログラムを作成するための編集画面70を示す。編集画面70は、CPU13によって表示制御され、PC2の表示装置5bに表示される。編集画面70では、ユーザによって選択された安全出力ごとの安全用途に応じた未完成の安全プログラムが提示され、簡略した手順で当該プログラムを補完し完成させることができる。つまり、複数の安全出力が登録されている場合には、それぞれの未完成の安全プログラムが提供されうる。未完成の安全プログラムとは、選択された安全用途に適した機能ブロックと、登録された入力ブロックおよび出力ブロックとが配置され、かつ、ブロック間の入出力が結線された状態であり、入力ブロックに対して入力機器が割り付けられていない状態のプログラムとなる。
編集画面70は、EASYモードを示す表示71、編集ボタン31、シミュレーションボタン32、標準モードプレビューボタン72a、標準モード切換ボタン72b、リスト部(第1領域)73、およびプログラム作成エリア(第2領域)74を含む。図7では、編集ボタン31が選択された状態で、プログラム作成エリア74に提供された未完成の安全プログラムが編集可能となっている。EASYモードでのプログラムの作成は、プログラム作成エリア74の入力ブロック75a〜75cに対して、リスト部73にリスト表示されている入力機器の中から、構築する安全システムで使用する入力機器を割り付ける(入力ブロックと置き換える)ことにより行われる。リスト部73には、不図示の登録画面を介して登録された入力機器が選択可能に表示され、さらには、オプションとして、無効化機能を実現するためのメンテナンスブロックを挿入する項目73bが選択可能に表示される。ユーザは、リスト部73に表示されている入力機器73aを、プログラム作成エリア74の所定の場所、たとえば追加ボックス75d、75eにドラッグアンドドロップすることにより、入力機器を入力ブロックに割り付けることができる。追加ボックス75d又は75eに入力機器が割り付けられると、さらに入力機器を割付可能な追加ボックスが表示され、割り付ける入力機器の数を増やすことができる。追加ボックス75d又は75eに入力機器が割り付けられると、割り付けられた複数の入力機器からの信号を論理演算して出力する論理ブロックが入力ブロック内に内部的に挿入される。従って、入力機器が追加で挿入された場合であっても、入力ブロック75a、75cにおいては、内部的に論理演算が行われており、出力端子としては1つのまま維持される。当該論理ブロックは、例えば論理積を行うANDブロックや論理和を行うORブロックなどである。もちろん他の論理演算を行うブロックであってもよい。基本的には、入出力機器の登録において登録された全ての入力機器が割り付けられるとプログラムが完成することになる。なお、入力ブロック75a、75cのように安全入力機器が割り付けられる入力ブロックにおいては、いずれかの場所でエラーが発生すると機械を停止する必要があるため、一般的には複数の入力機器の論理積を出力する構成となる。一方、入力ブロック75bのようにリセット信号が入力される場合には、安全上の観点から入力機器を追加で増やすような追加ボックスは設けられないことが望ましい。
リスト部73の項目73bは、矢印73cに示すように、ユーザによってプログラム作成エリア74へドラッグアンドドロップされることにより、現在編集中の安全プログラムに無効化機能を実現するメンテナンスブロックを挿入することができる。ドロップするエリアはプログラム作成エリア74内であればどこでもよい。このように、メンテナンスブロックが挿入されると、無効化方式の選択画面80へ遷移する。無効化方式の選択画面80については図8を用いて後述する。
プログラム作成エリア74は、登録された出力機器ごとに表示され、図7の例では、タブ74aに示すように、一の出力機器(S−OUT A)が選択され、当該出力機器に対するプログラム作成エリアが表示されている状態である。タブ74aのうち、他の出力機器(S−OUT B)のタブが選択されると、当該出力機器のプログラム作成エリアが表示される。プログラム作成エリア74には、入力ブロック75、ファンクションブロック76、および出力ブロック77が所定の配置関係で表示され、ブロック間の入出力は既に結線された状態(接続状態)で提供される。74bは、当該安全出力(たとえば、S−OUT A)に対する安全用途の再選択を行うためのボタンである。ボタン74bが操作されると、対応する不図示の選択画面へ遷移する。これにより、ユーザは未完成の安全プログラムを詳細に確認した後に、他の安全用途を再び選択することができるため、ユーザフレンドリな操作体系を提供することができる。
シミュレーションボタン32が操作されると、図6を用いて説明したように、標準モードと同様に作成した安全プログラムのシミュレーションを実行し、動作確認を行うことができる。なお、EASYモードでは、既に結線確認が行われた状態のプログラムが提供されているため、エラーとなる場合は入力機器の割り付けに関するエラーとなる。入力機器の割り付けに関するエラーとは、たとえば未割付や、所定のブロックにおいて推奨されない入力機器が割り付けられた場合などがある。推奨さない入力機器が割り付けられた場合には、動作確認が行われる前に、ユーザがリスト部73からプログラム作成エリア74へドラッグアンドドロップした際に、エラー表示するようにしてもよいし、或いは、割付できないようにブロックしてもよい。
標準モードプレビューボタン72aが操作されると、EASYモードの表示から、図5を用いて説明した標準モードでの編集画面に示すような詳細なブロック構成および接続状態を確認する画面へ遷移する。当該画面においては参照のみが可能であり、編集はできない。一方、標準モード切換ボタン72bが操作されると、EASYモードから標準モードへ遷移する。従って、図5のUI30と同等の編集画面へ遷移し、ユーザは結線やブロックの配置を自由に行うことができる。なお、標準モードへ遷移後は、EASYモードへ再び戻ることはできない。これは、標準モードで結線やブロックが変更された場合に、EASYモードにおいて安全用途に応じて提供した最適なファンクションブロックの構成が変更される可能性があるためである。たとえば、EASYモードへ再び戻ることを許可すると、動作不具合などが発生する可能性があり、安全上の観点で望ましくない。なお、これらのモード遷移のポリシーについては、ユーザ設定で変更できるように制御してもよい。また、一旦標準モードへ遷移しても編集が行われなかった場合にはEASYモードへ再び遷移することを許可するように制御してもよい。
(無効化方式の選択画面)
図8は、編集画面70で無効化機能が追加された際に表示される無効化方式の選択画面80を示す。選択画面80は、CPU13によって表示制御され、PC2の表示装置5bに表示される。無効化方式とは、システム(機器)が通常の動作を行う通常モードと、所定の安全入力を強制的にONと見做して無効化するメンテナンスモード(マニュアルモード)との切り換えを行う方式を示す。選択画面80には、追加する無効化機能の無効方式を選択するためのリスト81、各選択項目における設定領域82、OKボタン88、およびキャンセルボタン89が含まれる。
ここで、図15を参照して、通常モードとメンテナンスモードとについて説明する。図15に示す通常モードの回路構成では、入力ブロックA〜Eの出力がファンクションブロックの何れかの入力端子に接続され、ファンクションブロックからの出力が出力ブロックの入力端子に接続される。通常モードでは、各入力ブロックとして割り付けられた安全入力機器の安全入力信号に応じて各ファンクションブロックを通じて出力ブロックの安全出力信号の論理が切り換わる構成である。一方、EASYモードレベルで回路構成を表現すると、メンテナンスモードを実現する回路構成も通常モードの回路構成と同様となる。しかし、当該メンテナンスモードでは、入力ブロックB及びDの安全入力信号が無効化されている。従って、この例では、入力ブロックB及びDの安全入力信号は強制的にONと見做されて、出力ブロックXの安全入力信号に影響を及ぼさない。なお、EASYモードの表示レベルでは同様の構成と説明したが、標準モードの回路構成の精細度では同一ではない。これは、通常モードのみをサポートする回路構成と比較して、実際にはメンテナンスモードを実現するメンテナンスブロック(後述する3つの機能ブロック)の構成が追加されているためである。
図8の説明に戻る。リスト81では、追加する無効化機能の無効化方式が選択可能である。無効化方式としては、たとえばモードスイッチおよびイネーブルスイッチを使用する方式と、モードスイッチおよび両手操作スイッチを使用する方式と、モードスイッチおよびホールド・ツゥ・ランスイッチを使用する方式と、モードスイッチのみを使用する方式とが選択可能となる。なお、これらは本発明を説明する上での一例であり、他の方式を採用することを除外するものではない。上記4つの方式は、モードスイッチによって通常モードとメンテナンスモードとを切り換える部分では同様に制御されるが、メンテナンスモード中における安全出力の制御が異なる。モードスイッチのみを使用する方式では、選択した安全入力が無効化され、安全出力がONに制御される。
モードスイッチおよびイネーブルスイッチを使用する方式では、メンテナンスモード中において、選択した安全入力が無効化され、イネーブルスイッチの入力ONにより安全出力がONに制御される。イネーブルスイッチは人間工学的研究から3ポジションスイッチが採用される。これは、ボタンの操作者が非常事態に直面すると、ボタンから手を放すか逆に強く握るかのいずれかであるという人間工学的な研究結果に基づいて構成されている。このため3ポジションスイッチは、1ストロークの間に3つの状態を備えており、操作者がボタンを放した状態でスイッチOFF、軽く押した状態でON、強く押すとOFFになる。すなわち、操作者がボタンを軽く押した状態でのみ安全システムの安全出力がONとなり、それ以外の場合では安全出力がOFFとなる。たとえば作業者がロボット作業エリアにアクセスする場合、セーフティドアの開放を検知する安全コンポーネントの安全入力がOFFであることにより、安全出力がOFFに切り換えられてロボットが停止され、作業者の安全が確保されるが、イネーブルスイッチを軽く押すことで、安全スイッチがOFFからONへと切り替わり、作業者がロボット作業エリアに入ったとしても、安全出力をOFFにすることなく作業エリアの点検や確認等を行うことができる。
モードスイッチおよび両手操作スイッチを使用する方式では、メンテナンスモード中において、選択した安全入力が無効化され、両手操作スイッチの入力ONにより安全出力がONに制御される。両手操作スイッチは、作業者が右手および左手を所定の位置においてスイッチを操作することにより安全出力をONにすることができるスイッチである。たとえば、一方の手でスイッチを操作して、他方の手が危険領域に侵入した状態で安全出力がONにされることを防ぎ、作業者の安全が確保される。
モードスイッチおよびホールド・ツゥ・ランスイッチを使用する方式では、メンテナンスモード中において、選択した安全入力が無効化され、ホールド・ツゥ・ランスイッチの入力ONにより安全出力がONに制御される。ホールド・ツゥ・ランスイッチは、手動のスイッチ、レバーなどを作業者が作動させている間においてシステムが動作するスイッチである。スイッチやレバーから手や指を離せば、それに対応する機器の動作は直ちに停止する。したがって、スイッチから手を離せば直ちに機器が止まるため、緊急事態のときの安全性を確保することができる。
設定領域82は、各選択項目における無効化方式の解説83、および各種設定を行うための表示84〜87を含む。図8の例では、リスト81において、モードスイッチおよびイネーブルスイッチを使用する方式が選択された状態を示しており、設定領域82も当該方式に対応している。解説83には、上述した各無効化方式の制御内容の解説が表示される。表示84は、モードスイッチの種別を選択する設定領域である。表示85は、リセットスイッチの種別を選択する設定領域である。表示86は、イネーブルスイッチの種別を選択する設定領域である。なお、各スイッチの種別を選択するためには、たとえばプルダウンボタンを操作することにより、選択可能な種別が表示される。また、各表示上で所定の操作、たとえばポインティングデバイスであれば対応するポインタが各表示に重畳した状態で所定の操作を行うと、各スイッチの詳細設定を行うことができるようにしてもよい。表示84上で上記所定の操作を行うと、図9に示すモードスイッチの詳細設定画面90へ遷移する。詳細設定画面の詳細については図9及び図16を用いて後述する。
表示87は、無効化継続時間の上限を設定する設定領域であり、秒単位で設定することが可能となっている。ここで設定された無効化継続時間を超えてメンテナンスモードが継続すると安全出力がOFFにされ、システムがエラー状態となる。なお、無効化継続時間には、設定可能な範囲が設けられ、たとえば1秒〜12(時間)の間で設定可能とされうる。
リスト81の何れかの無効化方式の項目が選択された状態で、OKボタン88が操作されると、無効化方式が決定され、図9又は図10などの画面に遷移する。たとえば必要な設定項目がある場合には、図9に示すような詳細設定画面90へ遷移する。一方、特に他の設定項目が無い場合には、図10に示す編集画面100へ遷移する。これらの表示制御は、選択された無効化方式に依存してもよいし、システムの仕様等に依存してもよい。キャンセルボタン89が操作されると、選択画面80へ遷移する前の画面、例えば編集画面70に戻る。
(詳細設定画面)
図9は、無効機能で使用されるスイッチ等の詳細設定画面90を示す。詳細設定画面90は、CPU13によって表示制御されて表示装置5bに表示され、各スイッチ等の各種パラメータをユーザ入力に従って設定することができる。なお、図9に示す詳細設定画面90は一例であり、各スイッチ等に対応して種々の詳細設定画面が表示されうる。詳細設定画面90は、安全入力機器であるモードスイッチの接続設定領域91、パラメータ設定領域98、OKボタン96、およびキャンセルボタン97を含んで構成される。接続設定領域91では、選択されたスイッチの識別子、ラベル、メインモジュールに接続される際の端子を割り当てるための設定領域、コメント等が表示される。ユーザは、上記設定領域を介して当該スイッチをメインモジュールに接続する端子を設定することができる。
パラメータ設定領域98では、各種パラメータの設定領域93〜95が表示される。設定領域93では、安全入力信号のONからOFF時またはOFFからON時のフィルター時間を秒単位またはミリ秒単位で設定することができる。設定領域94では、二重化信号を使用する場合の、入力不整合の検知を行う時間を設定することができる。設定領域95では、入力不整合時の安全出力の論理を設定することができる。OKボタン96が操作されると設定したパラメータ等が確定し、他の詳細設定画面または図10に示す編集画面100へ遷移する。一方、キャンセルボタン97が操作されると、設定中のパラメータ等が破棄され、詳細設定画面90へ遷移する前の画面へ戻る。
図16は、メンテナンスブロックに含まれるメンテナンスモード(マニュアルモード)を制御するブロックの詳細設定画面160を示す。詳細設定画面160は、後述するマニュアルモード制御ブロック1101の詳細設定画面に相当する。なお、詳細設定画面160への遷移は、後述する編集画面100におけるファンクションブロック76や、後述する図11の標準モードのレベルにおける該当するブロック(MMC00)に対して所定の操作(たとえばマウスの右クリックなど)を行うことにより、実現されうる。詳細設定画面160では追加した無効化機能を構成するファンクションブロックの詳細設定を行うことができる。詳細設定画面160は、シミュレーション領域161、各種詳細設定に関わる表示162〜166、OKボタン167、キャンセルボタン168、およびラベル169を含んで構成される。
シミュレーション領域161では、該当するファンクションブロックが表示され、当該ブロックの動作を個別に確認することができる。たとえば各入力端子をポインティングデバイス等で操作することによりその論理状態のON、OFFを切り換えることができる。ユーザは、当該シミュレーションによりメンテナンスモードの動作を確認することができる。ラベル169は、当該ブロックに対して割り当てられたラベルであり、変更可能に表示される。
ここで、図16に示す各入力端子について説明する。“Manual Mode Select”入力端子には、マニュアルモードを有効にするための信号が入力される。“Restart”入力端子には、マニュアルモードを終了時に通常モードに戻すための信号が入力される。“Manual Input”入力端子には、イネーブルスイッチからの信号が入力される。“Manual Input Enable”入力端子には、入力を有効にする信号が入力される。“Input Bypass”出力端子は、メンテナンスブロックを構成する1つの機能ブロックである入力無効化ブロックに接続される。入力無効化ブロックの詳細については図11を用いて後述する。“Output Enable”出力端子は、出力許可ブロックに接続される。出力許可ブロックの詳細については図11を用いて後述する。“Restart Required”出力端子は、リスタート待ちであることを示す信号を出力する。この信号がONしているときにリスタートすると、マニュアルモードを終了することができる。“Manual Mode Active”出力端子は、マニュアルモードの出力許可中にONする信号である。
表示162〜164は、当該ブロックの動作設定に関わる設定を行う設定領域である。表示162は、無効化継続時間(マニュアルモード上限時間)を設定可能な設定領域である。表示163は、リスタート入力を使用するか否かを設定可能な設定領域である。表示163の項目が設定されると、マニュアルモード終了時に通常モードに戻すための信号“Manual Mode Select”がOFFとなってもリスタート入力があるまで出力許可ブロックの出力をOFF状態に維持する。表示164は、手動入力でのイネーブル入力を使用するか否かを設定可能な設定領域である。表示164の項目が設定されると、“Manual Input Enable”がONしている間のみ“Manual Input”が有効となる。表示165および166は状態出力の設定を行う設定領域である、表示165は、リスタート要求出力を使用するか否かを設定可能な設定領域である。図16に示す例では、表示165の項目が設定されている状況であり、この場合、シミュレーション領域161に表示のファンクションブロックにおいて“Restart Required”の出力端子が追加される。リスタート要求出力はリスタート待ちであることを示す信号であり、当該信号がONしているときにリスタートすると、マニュアルモードを終了する。表示166は、メンテナンスモードのアクティブ機能を使用するか否かを設定可能な設定領域である。図16に示す例では、表示166の項目が設定されている状況であり、この場合、シミュレーション領域161に表示のファンクションブロックにおいて“Manual Mode Active”の出力端子が追加される。アクティブ機能を有効にした場合には、通常時と比較して、ロボットなどの機械の動作速度を低速にすることができる。これにより、作業者がイネーブルスイッチなどを操作して機械を(少しだけ)動作させて機械の姿勢を異ならせた後に、潤滑油などの作業を行うことができる。なお、これらの設定項目は、一例であり、本発明を限定する意図はない。これらの設定が行われた状態でOKボタン167が操作されると各種設定が決定される。一方、キャンセルボタン168が操作されると、これらの設定が破棄され、変更前の設定状態を維持する。
(無効化機能追加後の編集画面)
図10は、無効化機能を追加した後の編集画面100を示す。ここでは、図7の編集画面70との差分を中心に説明する。同一の構成要素については、同一の参照符号を付し、説明を省略する。編集画面100は、CPU13によって表示制御されて表示装置5bに表示され、図7を参照して説明した編集画面70の構成に加えて、メンテナンス機能の表示領域105が表示される。
表示領域105には、表示105a〜105eと、無効化方式の設定ボタン105fとが表示される。表示105aは、無効化対象を選択するモードへの切り換えを行う設定領域である。図10の編集画面100では、無効化対象の選択モードへの切り換えが設定され、遷移している状態を示す。無効化対象の選択モードとは、無効化の対象となる安全入力機器を選択するモードである。当該モードでは、選択可能な安全入力機器に対応する入力ブロックがプログラム作成エリア74において強調表示され、ユーザは1以上の強調表示された入力ブロックの何れかを選択することにより、無効化対象の安全入力機器を選択することができる。当該強調表示は、どのような表示でもよく、図10の例では網掛け表示で表している。たとえば他のブロックとは異なる色で網掛け表示を行ってもよい。また、点滅させたり、入力ブロックを太枠表示としてもよい。図10に示すプログラム作成エリア74では、”ライトカーテンX”と”ドアスイッチ”とが無効化対象の安全入力機器として設定されている様子を示す。無効化対象の安全入力機器として設定されたことを示す表示102、103がそれぞれのブロックに表示される。
このように、本実施形態によれば、ユーザは作成中の安全プログラムにメンテナンスモードを追加する場合、オプションとしてのメンテナンス機能73bをプログラム作成エリア74にドラッグアンドドロップし、無効化方式を選択する。さらに、無効化対象の安全入力機器を選択することで容易に無効化機能を実現するメンテナンスブロックを安全プログラムに挿入することができる。
表示105bは、選択画面80を介して選択された無効化方式を示す。当該無効化方式は、設定ボタン105fを操作することにより再設定を行うことができる。表示105c〜105eは、図8の表示84〜86に対応し、各種スイッチの種別や詳細設定を行うための表示領域である。図10の表示例では、図8の選択画面80で設定された内容がデフォルトで表示されている。これらの表示は選択画面80と同様に設定を変更することができる。
また、無効化機能が追加された後に、シミュレーションボタン32が操作されると、通常モードとメンテナンスモードとを不図示の選択ボタン等により切り換えて動作確認を行うことができる。当該シミュレーション画面では、表示される入力ブロックに割り付けられた1以上の安全入力機器のそれぞれに対して、ユーザ入力によって指定されるたびに、対応する入力機器の入力信号のONおよびOFFを切り換えて動作確認を行うことができる。その場合、表示領域105において、モードの切り換えの選択ボタン等を表示するように構成してもよい。さらに、シミュレーション中においては、表示105c〜105eの各スイッチのON/OFFを識別可能に表示することが望ましい。
(標準モードでの無効化機能の追加)
図11は、無効化機能を追加する際の標準モードレベルでの回路構成を示す。ここでは、標準モードで無効化機能を追加する場合について簡単に説明する。なお、図11 に示す回路構成は、図10の編集画面100において、標準モードプレビューボタン72aや標準モードへの切換ボタン72bが操作された際にプログラム作成エリアに表示されうる回路構成となる。また、標準モードで無効化機能を作成した場合も図11に示す表示のようになる。なお、図11に示す回路構成は、単なる一例を示しているだけであり、図10に示す無効化機能を追加した回路構成に対応するものではない。また、図11に示す回路構成は、112に示すように、未完成の安全プログラムであり、例えば、無効化対象の安全入力機器と、ファンクションブロックの入力端子との間が結線されていない状態である。
ここで、図11を参照して無効化機能を実現する機能ブロックについて説明する。無効化機能はたとえば以下の3つの機能ブロックにより実現される。即ち、図11に示す例では、マニュアルモード制御ブロック1101、入力無効化ブロック1102、及び出力許可ブロック1103の3つの機能ブロックにより無効化機能が実現される。マニュアルモード制御ブロック1101は、モード切換入力(図中“MSL00”からの入力)やイネーブルスイッチ(図中“ESW00”)からの入力、及びリセット信号に基づき、無効化信号や出力許可信号を出力する。入力無効化ブロック1102は、マニュアルモード制御ブロック1101からの無効化信号に従って、入力される安全入力機器(図中“SZ−V00”)の信号を無効化する(例えば、信号の論理に関わらず常時ONとなる)。出力許可ブロック1103は、マニュアルモード制御ブロック1101からの出力許可信号に従って、出力の有効/無効を切り換える。
図11に示す回路構成における無効化手順について説明する。まずモード切換スイッチがONにされマニュアルモード(無効化機能)が有効となる。具体的には、マニュアルモード制御ブロック1101から入力無効化ブロック1102に無効化信号が入力され、安全入力機器の信号が無効化される。その後、イネーブルスイッチがONに操作されると、マニュアルモード制御ブロック1101から出力許可ブロック1103へ出力許可信号が入力される。この状態で、出力許可ブロック1103からの出力がONに操作される。その後、モード切換スイッチがOFFにされリセットスイッチがONされるとマニュアルモード制御ブロック1101によりマニュアルモードが終了される。
図11に示すように、標準モードで無効化機能を追加するためには、各ブロックの配置、無効化対象の選択、ブロック間の入出力の結線などを手動で行う必要がある。これらの回路構成を規格等で推奨される安全基準を満たすように構成することは非常に専門的な知識が必要となり、上述したEASYモードと比較してかなり煩雑な作業となる。このような煩雑な作業をEASYモードでは、無効化方式の選択や各種詳細設定、無効化対象の安全入力機器の選択などの操作で簡略した手順で無効化機能の追加を行うことができる。一方で、標準モードで追加する場合には、プログラムを作成する上での自由度はEASYモードと比較してかなり高くなるという利点がある。従って、これら2つのモードで無効化機能を追加可能な操作体系とすることにより、よりユーザビリティを向上させることも可能である。
<フローチャート>
図12は無効化機能を含む安全プログラムを作成する際のプログラム作成支援装置であるPC2の処理手順を示すフローチャートである。
S1でCPU13は不図示のプログラミングモードの選択画面を表示装置5bに表示し、ユーザ入力を受け付けていずれのモードが選択されたかを判定する。ここで、標準モードが選択された場合にはS2に進み、EASYモードが選択された場合にはS7へ進む。
標準モードが選択されると、S2でCPU13は図4に示すUI30の編集画面を表示装置5bに表示する。続いて、S3およびS4でCPU13は入出力ブロック(入出力機器)およびファンクションブロックの配置と、配置されたブロック間の入出力の結線をユーザ操作により受け付けて編集を行う。ここで、標準モードで無効化機能を実現するためには、ユーザは自身でファンクションブロック等を構成する必要がある。たとえば、図11を用いて説明したように、ユーザは、マニュアルモード制御ブロック1101、入力無効化ブロック1102、及び出力許可ブロック1103の3つの機能ブロック(メンテナンスブロック)を配置し、それらの結線を行うとともに、図16を用いて説明したように、各機能ブロックの詳細設定を行う。なお、便宜上、S3、S4の順で記載しているが、これらはユーザ操作に合わせてどのような順で処理されてもよい。即ち、全てのブロックを配置した後に結線が行われる必要なく、順不同に行われてよい。さらには、後述のS5も含めて順不同で処理されうる。次に、S4でCPU13は図6を用いて説明したようにシミュレーションボタン32の押下によりシミュレーションを実行し、作成されたブロック構成において動作確認を行う。動作確認が正常に終了すると、S6でCPU13は当該ブロック構成および接続状態に基づいて安全プログラムを作成し処理を終了する。なお、作成された安全プログラムはメインコントローラであるメインモジュール3に転送されて実行される。
一方、EASYモードが選択されると、S7でCPU13は不図示の登録画面を表示装置5bに表示し、ユーザ入力を受け付けて、構築する安全システムに使用する入出力機器の登録を行う。続いて、S8でCPU13は登録された出力機器(出力端子)ごとに安全用途(アプリケーション)の選択をユーザ入力により行う。安全用途が選択されると、S9でCPU13は登録された出力機器ごとの編集を行うことができる図7に示すような編集画面70を表示装置5bに表示する。ここで表示される編集画面は選択された安全用途に従って予め保持されている未完成の安全プログラムを構成する各ブロックと所定の接続状態で提供される。続いてS10でCPU13はユーザ入力を受け付けて未割付の入力機器の割り付けを行う。EASYモードでのここまでの処理は、無効化機能を含まない通常の安全プログラムの作成手順となる。なお、後述する無効化機能の追加処理については、S9で編集画面70が表示された後は任意のタイミングで実行することができる。ここでは、説明を容易にするため、入力機器の割り付けを先行して行う処理手順を説明している。
S11でCPU13は無効化機能の追加操作が行われたか否かを判定する。追加操作とは、上述したように、たとえば編集画面70において、オプションとしてのメンテナンス機能73bがプログラム作成エリア74にドラッグアンドドロップされるユーザ入力を示す。もちろん他の操作を追加操作として受け付けてもよい。追加操作が行われるとS12に進みCPU13は追加処理を実行してS13に進む。追加処理の詳細については図13を用いて後述する。一方、追加操作が行われていない場合はCPU13は無効化機能を追加することなくS13に進む。
S13でCPU13は入力機器が割り付けられた安全プログラムの動作確認を行う。当該動作確認では、S12で無効化機能が追加されていれば、通常モードとメンテナンスモードとを切り換えて実行することができる。動作確認が終了すると、S14でCPU13はEASYモードで割り付けられた入力機器や追加された無効化機能に基づき、未完成の安全プログラムを補完し、当該プログラムを完成させ、処理を終了する。なお、作成された安全プログラムはメインコントローラであるメインモジュール3に転送されて実行される。
図13は図12のS12の無効化機能の追加処理の詳細な処理手順を示すフローチャートである。
S21でCPU13は図8の無効化方式の選択画面80を表示装置5bに表示し、当該選択画面80を介してユーザ入力を受け付けて編集中の安全プログラムに追加する無効化方式を選択する。続いて、S22でCPU13は選択された無効化方式に応じて、無効化機能を実現するメンテナンスブロックを、記憶装置15の無効化機能情報17から取得した情報に基づいて挿入する。なお、ここで、編集中の安全プログラムにおいて不足している入力ブロック(安全入力機器)があれば追加的に挿入することが望ましい。たとえばイネーブルスイッチが必要であるにも関わらず入力ブロックとして割り付けられていない場合には自動的に割り付けてもよい。
次に、S23でCPU13は無効化対象の選択モードが設定されると、ユーザ入力に従って無効化対象の安全入力機器を選択する。続いて、S24でCPU13は必要に応じて挿入されたメンテナンスブロックと入力ブロックまたは出力ブロックとの間の入出力を結線する。S24の処理は常に実行されるわけではなく、既に各ブロックの入出力が結線された状態でユーザに提供される場合もあり、そのような場合にはS24の処理はスキップされる。S25でCPU13は無効化機能、各ブロック、各スイッチ等の各種パラメータの設定をユーザ入力従って行う。上記S23乃至S25及び後述するS26、S27は説明を容易にするため便宜的に所定の順序で行われるように説明したが、実際にはこれらの処理はユーザ入力に従って順不同に行われるものである。
S26でCPU13は標準モードへの切り換えボタン72bが操作されて標準モードへの遷移が要求されたか否かを判定する。標準モードへの遷移が要求されていれば図5のUI30に示すような標準モードの編集画面へ遷移し、処理を終了する。一方、標準モードへの遷移が要求されていなければ図12のフローチャートに処理を戻し、無効化機能を追加した安全プログラムの動作を通常モードおよびメンテナンスモードで切り換えて確認する処理(S13)に進む。
<CPUの機能>
図14はCPU13が編集プログラム16を実行することで実現される様々な機能を示している。機能構成として、CPU13は、モード選択部1401、標準モード制御部1402、EASYモード制御部1403、無効化機能制御部1404、追加部1405、プログラム生成部1408、表示制御部1409、プログラムチェック部1412、結果出力部1413、および転送部1415を含む。追加部1405は、方式選択部1406、および機器選択部1407を含む。
モード選択部1401は、不図示のモード選択画面を介したユーザ入力に従ってプログラミングモードの選択を行う。標準モード制御部1402は、標準モードで安全プログラムの編集(作成)が行われる場合の各種制御を行い、たとえば図4乃至図6を用いて説明した編集画面等を用いて制御する。
EASYモード制御部1403は、EASYモードで安全プログラムの編集(作成)が行われる場合の制御を行う。無効化機能制御部1404は、無効化機能が追加された場合に、無効化機能の実行を制御する。追加部1405は、無効化機能の追加が指示された場合にメンテナンスブロックを編集中の安全プログラムに挿入する制御を行う。より詳細には、追加部1405は、方式選択部1406によって選択画面80を介したユーザ入力に従って追加する無効化機能の無効化方式を選択し、選択した無効化方式に対応するメンテナンスブロックを記憶装置15に記憶されている無効化機能情報17から取得し、安全プログラムに挿入する。また、機器選択部1407が、無効化対象選択モードにおいてユーザ入力に従って無効化対象の安全入力機器を選択する。
表示制御部1409は、各種画面を表示装置5bに表示する制御を行う。当該画面に対して入力されたユーザ操作については対応する機能部へ伝達する。たとえば選択画面80を介して入力されたユーザ操作は方式選択部1406へ伝達する。プログラム生成部1408は、標準モード制御部1402およびEASYモード制御部1403でそれぞれ編集されたプログラムの生成を行う。プログラムチェック部1412は、各モードでそれぞれ編集されたプログラムの動作をチェックする。標準モードでは配置された各ブロックのチェックや、ブロック間の入出力における結線チェックが行われ、EASYモードでは入力ブロックに対する入力機器の割り付けチェックなどが行われる。結果出力部1413は、全体シミュレーションまたは部分シミュレーションの実行画面を表示する(図6など)。転送部1415は、完成した安全プログラム1430をメインモジュール3に転送する。
記憶装置15には、編集プログラム16、FB部品群1420、安全プログラム1430、および安全用途関連情報1440が少なくとも格納されている。編集プログラム16は、上述のように、CPU13により実行されると各機能部の動作を実現する。FB部品群1420は、標準モードにおいてファンクションブロックを配置する際のリスト表示に使用される機能ブロックの情報が含まれる。さらに、FB部品群1420には、EASYモードで選択された安全用途の未完成の安全プログラムに含まれるファンクションブロックの情報が紐づけて格納される。安全プログラム1430には、編集して完成した安全プログラムに加えて、安全用途ごとの未完成の安全プログラムに関する情報が含まれる。無効化機能情報17には、安全用途ごとに、ユーザが安全用途を選択する際の情報となる選択情報や、選択された安全用途に適した機能ブロックおよび入出力ブロック(入出力機器)の配置情報、接続情報などが含まれる。
<まとめ>
PC2は、安全コントローラで実行される安全プログラムの作成を支援するプログラム作成支援装置として機能する。安全コントローラシステム1やメインモジュール3は安全コントローラの一例である。プログラム生成部1408は、入力機器からの安全入力信号を割り付けるための入力ブロックと、安全機能を実現する機能ブロックとを含む安全プログラムを作成する。追加部1405は、ユーザからの指示に従って、作成した安全プログラムにおいて所定の条件を満たすと安全入力信号を無効化する無効化機能を実現する複数のブロックおよび複数のブロック間の接続を、安全プログラムに追加する。当該ユーザの指示は、安全プログラムの編集画面において、無効化機能を示す表示項目をプログラム作成エリアにドラッグアンドドロップすることにより行われてもよい。このように、本発明に係るプログラム作成支援装置は、安全基準を満たす無効化機能を簡略した手順で安全プログラムへ追加することができる。よって、ユーザは、無効化機能を実現するうえで専門的な知識を有することなく陥落した手順で安全プログラムに無効化機能を追加することができる。
追加部1405は、無効化機能の無効化方式をユーザ入力に従って選択する方式選択部1406を備える。また、追加部1405は、無効化機能の対象となる入力機器をユーザ入力に従って選択する機器選択部1407を備える。機器選択部1407は、作成された安全プログラムを編集可能な編集画面において、安全プログラムに含まれる入力ブロックに割り付けられた入力機器の中から、ユーザ入力によって指定された機器を、無効化機能の対象となる入力機器として選択する。当該編集画面では、無効化機能の対象となる入力機器として選択された入力機器が識別可能に表示されてもよい。このように、ユーザは簡略した手順で無効化機能を安全プログラムに追加することができる。
プログラムチェック部1412は、追加した無効化機能を無効にした通常モードと、該無効化機能を有効にしたメンテナンスモードとで切り換えて動作確認を行う。シミュレーション画面に表示される入力ブロックに割り付けられた1以上の入力機器のそれぞれに対して、ユーザ入力によって指定されるたびに、対応する入力機器の入力信号のONおよびOFFを切り換えて動作確認を行うようにしてもよい。このように、本発明によれば、追加した無効化機能の動作確認を容易に行うことができる。
本プログラム作成支援装置は、詳細にプログラム可能な標準モード(第1モード)と、該第1モードよりも容易な手順でプログラム可能なEASYモード(第2モード)とを有する。追加部1405は、第2モードで作成した安全プログラムに対して無効化機能を追加する。なお、EASYモードで追加される無効化機能は、所定の安全基準を満たしたメンテナンスブロックを追加することができ、ユーザは専門的な知識を有することなく容易に無効化機能を追加することができる。なお、当然のことながら、第1モードで無効化機能を追加することもでき、その場合にはユーザが自由に設計することができる。
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。

Claims (12)

  1. 安全コントローラで実行される安全プログラムの作成を支援するプログラム作成支援装置であって、
    入力機器からの安全入力信号を割り付けるための入力ブロックと、安全機能を実現する機能ブロックとを含む安全プログラムを作成する作成手段と、
    ユーザからの指示に従って、前記作成手段によって作成した安全プログラムにおいて所定の条件を満たすと安全入力信号を無効化する無効化機能を実現する複数のブロックおよび該複数のブロック間の接続を、該安全プログラムに追加する追加手段と
    を備えることを特徴とするプログラム作成支援装置。
  2. 前記追加手段は、前記無効化機能の無効化方式をユーザ入力に従って選択する方式選択手段を備えることを特徴とする請求項1に記載のプログラム作成支援装置。
  3. 前記追加手段は、前記無効化機能の対象となる入力機器をユーザ入力に従って選択する機器選択手段をさらに備えることを特徴とする請求項2に記載のプログラム作成支援装置。
  4. 前記機器選択手段は、前記作成手段によって作成された前記安全プログラムを編集可能な編集画面において、前記安全プログラムに含まれる入力ブロックに割り付けられた入力機器の中から、ユーザ入力によって指定された機器を、前記無効化機能の対象となる入力機器として選択することを特徴とする請求項3に記載のプログラム作成支援装置。
  5. 前記編集画面では、前記機器選択手段によって、前記無効化機能の対象となる入力機器として選択された入力機器が識別可能に表示されることを特徴とする請求項4に記載のプログラム作成支援装置。
  6. 前記追加手段によって追加した無効化機能を無効にした通常モードと、該無効化機能を有効にしたメンテナンスモードとで切り換えて動作確認を行うシミュレーション手段をさらに備えることを特徴とする請求項2乃至5の何れか1項に記載のプログラム作成支援装置。
  7. 前記シミュレーション手段は、シミュレーション画面に表示される入力ブロックに割り付けられた1以上の入力機器のそれぞれに対して、ユーザ入力によって指定されるたびに、対応する入力機器の入力信号のONおよびOFFを切り換えて動作確認を行うことを特徴とする請求項6に記載のプログラム作成支援装置。
  8. 前記方式選択手段は、前記無効化方式として、通常モードおよびメンテナンスモードを切り換えるモードスイッチと安全出力信号をONにするためのイネーブルスイッチとを用いる方式と、前記モードスイッチと安全出力信号をONにするための両手操作スイッチとを用いる方式と、前記モードスイッチと安全出力信号をONにするためのホールド・ツゥ・ランスイッチとを用いる方式と、前記モードスイッチのみを用いる方式との少なくとも1つを選択可能な選択画面を提示し、該選択画面を介しユーザ入力に従って前記無効化方式を選択することを特徴とする請求項2乃至7の何れか1項に記載のプログラム作成支援装置。
  9. 前記方式選択手段は、さらに、ユーザ入力に従って無効化継続時間を設定することを特徴とする請求項8に記載のプログラム作成支援装置。
  10. 前記無効化継続時間には、設定可能な範囲が設けられることを特徴とする請求項9に記載のプログラム作成支援装置。
  11. 前記作成手段は、詳細にプログラム可能な第1モードと、該第1モードよりも容易な手順でプログラム可能な第2モードとを有し、
    前記追加手段は、前記作成手段が前記第2モードで作成した安全プログラムに対して前記無効化機能を追加することを特徴とする請求項1に記載のプログラム作成支援装置。
  12. 前記ユーザからの指示は、安全プログラムの編集画面において、無効化機能を示す表示項目をプログラム作成エリアにドラッグアンドドロップすることにより行われることを特徴とする請求項1乃至11の何れか1項に記載のプログラム作成支援装置。
JP2019209188A 2019-11-19 2019-11-19 プログラム作成支援装置 Active JP7409832B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019209188A JP7409832B2 (ja) 2019-11-19 2019-11-19 プログラム作成支援装置
US17/066,503 US11321056B2 (en) 2019-11-19 2020-10-09 Program creation assistance device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019209188A JP7409832B2 (ja) 2019-11-19 2019-11-19 プログラム作成支援装置

Publications (2)

Publication Number Publication Date
JP2021082033A true JP2021082033A (ja) 2021-05-27
JP7409832B2 JP7409832B2 (ja) 2024-01-09

Family

ID=75908710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019209188A Active JP7409832B2 (ja) 2019-11-19 2019-11-19 プログラム作成支援装置

Country Status (2)

Country Link
US (1) US11321056B2 (ja)
JP (1) JP7409832B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977367B2 (en) * 2021-05-12 2024-05-07 United Microelectronics Corp. Command script editing method, command script editor and graphic user interface
CN117897710A (zh) * 2021-07-12 2024-04-16 施耐德电子系统美国股份有限公司 解决工业数据转换问题的人工智能方法
JP2024024840A (ja) * 2022-08-10 2024-02-26 株式会社キーエンス 配線ユニット、シリアルカスケードコネクタシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998040817A1 (fr) * 1997-03-11 1998-09-17 Mitsubishi Denki Kabushiki Kaisha Methode et systeme de programmation visuelle
JP2008027156A (ja) * 2006-07-20 2008-02-07 Omron Corp シミュレーション装置
JP2008310479A (ja) * 2007-06-13 2008-12-25 Omron Corp 安全コントローラのプログラム開発支援装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6552647B1 (en) * 1999-07-01 2003-04-22 Ricky H. Thiessen Building environment monitor and control system
US6449492B1 (en) * 1999-12-02 2002-09-10 Qualcomm Incorporated Apparatus and method for preventing inadvertant operation of a manual input device
JP2003218679A (ja) 2002-01-25 2003-07-31 Keyence Corp 多光軸光電式安全装置
JP3854512B2 (ja) 2002-01-25 2006-12-06 株式会社キーエンス 多光軸光電式安全装置用の表示モニタ
JP4481549B2 (ja) 2002-03-04 2010-06-16 株式会社キーエンス 多光軸光電式安全装置
JP2005004557A (ja) 2003-06-12 2005-01-06 Keyence Corp 安全リレーシステム用入力ユニット、安全リレーシステムおよび安全リレーの制御方法
JP4212970B2 (ja) 2003-06-30 2009-01-21 株式会社キーエンス 安全リレーシステム
US9766953B2 (en) * 2004-12-16 2017-09-19 Openspan, Inc. System and method for non-programmatically constructing software solutions
JP4619231B2 (ja) * 2005-07-29 2011-01-26 株式会社ジェイテクト 安全plc
JP4919822B2 (ja) 2007-01-25 2012-04-18 株式会社キーエンス 多光軸光電センサ
JP4979518B2 (ja) 2007-09-05 2012-07-18 株式会社キーエンス 侵入検知装置
KR101001824B1 (ko) * 2008-10-16 2010-12-15 주식회사 팬택 터치 입력을 이용한 휴대용 단말기 제어 방법 및 휴대용 단말기
US8415609B2 (en) 2009-01-31 2013-04-09 Keyence Corporation Safety photoelectric switch
JP5573487B2 (ja) * 2010-08-20 2014-08-20 ソニー株式会社 情報処理装置、プログラム及び操作制御方法
US9430589B2 (en) * 2013-02-05 2016-08-30 Rockwell Automation Technologies, Inc. Safety automation builder
US9584883B2 (en) * 2013-11-27 2017-02-28 Vmware, Inc. Placing a fibre channel switch into a maintenance mode in a virtualized computing environment via path change
US10152030B2 (en) * 2013-12-31 2018-12-11 Rockwell Automation Technologies, Inc. Safety relay configuration system with safety monitoring and safety output function blocks
US10020151B2 (en) * 2013-12-31 2018-07-10 Rockwell Automation Technologies, Inc. Safety relay configuration system with multiple test pulse schemes using graphical interface
US9361073B2 (en) * 2013-12-31 2016-06-07 Rockwell Automation Technologies, Inc. Development environment for a safety relay configuration system
US9971330B2 (en) * 2015-03-06 2018-05-15 Rockwell Automation Technologies, Inc. Safety relay configuration editor
JP6673717B2 (ja) 2016-02-22 2020-03-25 株式会社キーエンス 光学安全システム
JP6458754B2 (ja) * 2016-03-14 2019-01-30 オムロン株式会社 プログラム開発支援装置、プログラム開発支援プログラムおよびプログラム開発支援方法
CN108572611B (zh) * 2017-03-13 2021-01-22 欧姆龙株式会社 信息处理装置、信息处理方法及计算机可读取记录媒体
BE1026448B1 (de) * 2018-06-27 2020-02-04 Phoenix Contact Gmbh & Co Verfahren und Vorrichtung zur Konfiguration einer Hardwarekomponente
JP6620380B1 (ja) * 2019-02-12 2019-12-18 株式会社安川電機 モータ制御システム
US11249452B2 (en) * 2019-07-10 2022-02-15 Banner Engineering Corp. Methods to configure a safety control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998040817A1 (fr) * 1997-03-11 1998-09-17 Mitsubishi Denki Kabushiki Kaisha Methode et systeme de programmation visuelle
JP2008027156A (ja) * 2006-07-20 2008-02-07 Omron Corp シミュレーション装置
JP2008310479A (ja) * 2007-06-13 2008-12-25 Omron Corp 安全コントローラのプログラム開発支援装置

Also Published As

Publication number Publication date
US11321056B2 (en) 2022-05-03
US20210149644A1 (en) 2021-05-20
JP7409832B2 (ja) 2024-01-09

Similar Documents

Publication Publication Date Title
JP7409832B2 (ja) プログラム作成支援装置
EP3065017B1 (en) Safety relay configuration editor
JP6111675B2 (ja) 安全コントローラのユーザプログラムの設計を支援する方法、装置およびプログラム
CN104749993B (zh) 用于配置工业安全继电器的系统和方法
CN104750063B (zh) 用于配置工业安全继电器的系统和工业安全系统配置方法
US8694135B2 (en) Programming programmable logic controllers using exertion influence in establishing matrix parameters
CN107193269B (zh) 程序开发辅助装置以及程序开发辅助方法
JP2008310390A (ja) 安全コントローラのプログラム開発支援装置
CN104750514B (zh) 配置工业安全继电器的系统和安全继电器程序配置方法
CN107407922B (zh) 可编程逻辑控制器及其控制方法以及记录介质
CN104749992A (zh) 配置工业安全继电器的系统和配置安全继电器程序的方法
US20150045916A1 (en) Production system
JP2024071736A (ja) 安全コントローラ
JP4849261B2 (ja) 安全アプリケーション作成支援装置
JP2022525645A (ja) 安全に関するグラフィカルユーザインターフェースのための方法及び監視ユニット
US10088822B2 (en) Method for actuating a safe switching element of an installation
US20140309751A1 (en) Controller, device control system, computer program, computer readable storage medium
US11321055B2 (en) Program creation assistance device
JP2014085782A (ja) 制御システムおよび制御方法
CN105137930A (zh) 用于管理和配置自动化设施的现场设备的方法和装置
CN106155519B (zh) 画面信息生成装置
JP2021082031A (ja) プログラム作成支援装置
JP7398856B2 (ja) プログラム作成支援装置
JP6939662B2 (ja) プログラミング支援装置、プログラミング支援方法及びプログラム
JP7251171B2 (ja) コントローラシステム、制御ユニット、および制御プログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231221

R150 Certificate of patent or registration of utility model

Ref document number: 7409832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150