JP2023151760A - Safety system, safety controller, and processing method - Google Patents
Safety system, safety controller, and processing method Download PDFInfo
- Publication number
- JP2023151760A JP2023151760A JP2022061564A JP2022061564A JP2023151760A JP 2023151760 A JP2023151760 A JP 2023151760A JP 2022061564 A JP2022061564 A JP 2022061564A JP 2022061564 A JP2022061564 A JP 2022061564A JP 2023151760 A JP2023151760 A JP 2023151760A
- Authority
- JP
- Japan
- Prior art keywords
- safety
- program
- validation code
- safety program
- controller
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000010200 validation analysis Methods 0.000 claims abstract description 183
- 238000000034 method Methods 0.000 claims description 23
- 238000002360 preparation method Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 238000009434 installation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
本発明は、セーフティシステム、セーフティコントローラおよび処理方法に関する。 The present invention relates to a safety system, a safety controller, and a processing method.
生産設備におけるセーフティを確保するために、セーフティコントローラなどが広く普及している。国際規格であるIEC62061は、セーフティコントローラが満たすべきファンクショナルセーフティ要求などを規定する。 Safety controllers and the like are widely used to ensure safety in production equipment. The international standard IEC62061 defines functional safety requirements that a safety controller should meet.
通常、セーフティコントローラは生産設備に設置されることになるが、セーフティコントローラで実行されるプログラムは、設計者が開発機などを用いて作成することになる。作成されたプログラムは、何らかの方法で、生産設備に設置されたセーフティコントローラに書き込まれる。 Normally, a safety controller will be installed in production equipment, but the program to be executed by the safety controller will be created by a designer using a development machine or the like. The created program is written into a safety controller installed in the production facility by some method.
このようなプログラムのコントローラへの提供に関する技術として、特開2019-148979号公報(特許文献1)は、機能ユニットからCPUユニットに接続された外部メモリにアクセスする技術を開示する。 As a technology related to providing such a program to a controller, Japanese Patent Application Publication No. 2019-148979 (Patent Document 1) discloses a technology for accessing an external memory connected to a CPU unit from a functional unit.
国際公開第2015/136965号(特許文献2)は、制御機器におけるプログラムやデータの書き込みが迅速にかつ簡易に行うことができるようにする構成を開示する。 International Publication No. 2015/136965 (Patent Document 2) discloses a configuration that allows programs and data to be written in a control device quickly and easily.
また、特開2011-170581号公報(特許文献3)は、交換および設定データの更新の手順の簡略化および設定データのセキュリティ対策を両立することが可能な安全制御装置を開示する。 Furthermore, Japanese Patent Application Laid-open No. 2011-170581 (Patent Document 3) discloses a safety control device that is capable of simplifying procedures for exchanging and updating setting data and providing security measures for setting data.
IEC62061は、セーフティ関連電気制御システム(SRECS:Safety-related electrical control system)の特定アプリケーションがファンクショナルセーフティ要求事項を満たすことを検査によって確認することを要求する。このようなファンクショナルセーフティ要求事項を満たすことを検査によって確認する手順を妥当性確認(validation)と称す。 IEC62061 requires inspection to confirm that a specific application of a Safety-related electrical control system (SRECS) meets functional safety requirements. The procedure for confirming through inspection that such functional safety requirements are met is called validation.
セーフティコントローラは、このような妥当性確認を行う必要があるが、上述の先行技術では、妥当性確認をより効率的に行うことについては何ら考慮されていない。本発明は、妥当性確認をより効率的に行うための構成を提供することを一つの目的とする。 Although the safety controller needs to perform such validation, the above-mentioned prior art does not give any consideration to performing validation more efficiently. One object of the present invention is to provide a configuration for performing validation more efficiently.
ある実施の形態に従えば、サポート装置およびセーフティコントローラを備えるセーフティシステムが提供される。サポート装置は、セーフティプログラムを生成する第1の生成部と、生成されたセーフティプログラムに基づいて第1の妥当性確認コードを生成する第2の生成部とを含む。セーフティコントローラは、記憶媒体に格納されたセーフティプログラムを読み出して一時的に保持する記憶領域と、一時的に保持されたセーフティプログラムを実行する実行部と、一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コードを生成する第3の生成部と、ユーザ操作によって入力された第1の妥当性確認コードと、第2の妥当性確認コードとが一致すると、一時的に保持されたセーフティプログラムを通常実行するセーフティプログラムとして決定する管理部とを含む。 According to an embodiment, a safety system is provided that includes a support device and a safety controller. The support device includes a first generator that generates a safety program and a second generator that generates a first validation code based on the generated safety program. The safety controller has a storage area that reads out and temporarily holds the safety program stored in the storage medium, an execution unit that executes the temporarily held safety program, and a system that executes the safety program based on the temporarily held safety program. When the third generation unit that generates the second validation code matches the first validation code input by user operation and the second validation code, the code is temporarily held. and a management unit that determines the safety program as a safety program to be normally executed.
この構成によれば、セーフティコントローラに対して、記憶媒体を装着してセーフティプログラムを提供するとともに、必要な妥当性確認を行った後に、サポート装置が生成した妥当性確認コードを入力することで、セーフティコントローラに通常の動作を行わせることができる。 According to this configuration, by attaching a storage medium to the safety controller and providing the safety program, and after performing necessary validation checks, inputting the validation code generated by the support device, The safety controller can be caused to perform normal operations.
セーフティコントローラは、記憶媒体に格納されたセーフティプログラムを揮発性領域記憶装置に保持し、通常実行するセーフティプログラムを不揮発性記憶装置に格納するようにしてもよい。この構成によれば、セーフティコントローラの電源をオフすることで、記憶媒体に格納されたセーフティプログラムは消去されることとなり、妥当性確認がなされていないセーフティプログラムが実行されることを防止できる。 The safety controller may store a safety program stored in a storage medium in a volatile storage device, and store a normally executed safety program in a nonvolatile storage device. According to this configuration, by turning off the power to the safety controller, the safety program stored in the storage medium is erased, and it is possible to prevent a safety program whose validity has not been confirmed from being executed.
第2の生成部は、予め定められたアルゴリズムに従って、生成されたセーフティプログラムから第1の妥当性確認コードを算出してもよい。第3の生成部は、予め定められたアルゴリズムに従って、一時的に保持されたセーフティプログラムから第2の妥当性確認コードを算出してもよい。この構成によれば、サポート装置が有している第2の生成部およびセーフティコントローラが有している第3の生成部のいずれもが同じアルゴリズムで妥当性確認コードを算出できるので、対象のセーフティプログラムの同一性を保証できる。 The second generation unit may calculate the first validation code from the generated safety program according to a predetermined algorithm. The third generation unit may calculate the second validation code from the temporarily stored safety program according to a predetermined algorithm. According to this configuration, both the second generation unit included in the support device and the third generation unit included in the safety controller can calculate the validation code using the same algorithm. Program identity can be guaranteed.
第1の妥当性確認コードと同一の妥当性確認コードが生成されたセーフティプログラムに組み込まれてもよい。第3の生成部は、一時的に保持されたセーフティプログラムに組み込まれた妥当性確認コードを第2の妥当性確認コードとして決定してもよい。この構成によれば、セーフティコントローラは、第2の妥当性確認コードを算出する必要がないので、セーフティコントローラに要求される処理リソースなどの増大化を抑制できる。 A validation code identical to the first validation code may be incorporated into the generated safety program. The third generation unit may determine the validation code incorporated in the temporarily held safety program as the second validation code. According to this configuration, since the safety controller does not need to calculate the second validation code, it is possible to suppress an increase in the processing resources required for the safety controller.
サポート装置は、第1の妥当性確認コードを表示する出力部をさらに含んでいてもよい。この構成によれば、設計者および/または作業者は、サポート装置の出力部の表示により第1の妥当性確認コードを即座に確認できる。 The support device may further include an output for displaying the first validation code. According to this configuration, the designer and/or the operator can immediately confirm the first validation code through the display on the output section of the support device.
セーフティコントローラは、第1の妥当性確認コードの入力を受け付ける入力部をさらに含んでいてもよい。この構成によれば、セーフティコントローラを操作することで、第1の妥当性確認コードを入力でき、別の装置が不要であるので、構成を簡素化できる。 The safety controller may further include an input section that accepts input of the first validation code. According to this configuration, the first validation code can be input by operating the safety controller, and no separate device is required, so the configuration can be simplified.
セーフティコントローラとは別の装置に対して入力された第1の妥当性確認コードが、当該別の装置からセーフティコントローラへ提供されてもよい。この構成によれば、第1の妥当性確認コードの入力をより容易化できる。 A first validation code input to a device other than the safety controller may be provided to the safety controller from the other device. According to this configuration, it is possible to more easily input the first validation code.
別の実施の形態に従うセーフティコントローラは、記憶媒体に格納されたセーフティプログラムを読み出して一時的に保持する記憶領域を含む。セーフティプログラムは、サポート装置によって生成されたものである。サポート装置は、生成されたセーフティプログラムに基づいて第1の妥当性確認コードを生成する。セーフティコントローラは、一時的に保持されたセーフティプログラムを実行する実行部と、一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コードを生成する第3の生成部と、ユーザ操作によって入力された第1の妥当性確認コードと、第2の妥当性確認コードとが一致すると、一時的に保持されたセーフティプログラムを通常実行するセーフティプログラムとして決定する管理部とを含む。 A safety controller according to another embodiment includes a storage area that reads and temporarily holds a safety program stored in a storage medium. The safety program is generated by the support device. The support device generates a first validation code based on the generated safety program. The safety controller includes an execution unit that executes a temporarily held safety program, a third generation unit that generates a second validation code based on the temporarily held safety program, and a third generation unit that generates a second validation code based on the temporarily held safety program. A management unit that determines the temporarily held safety program as a safety program to be normally executed when the input first validation code and second validation code match.
さらに別の実施の形態に従えば、サポート装置およびセーフティコントローラを備えるセーフティシステムにおける処理方法が提供される。処理方法は、サポート装置が、セーフティプログラムを生成するステップと、サポート装置が、生成されたセーフティプログラムに基づいて第1の妥当性確認コードを生成するステップと、セーフティコントローラが、記憶媒体に格納されたセーフティプログラムを読み出して記憶領域に一時的に保持するステップと、一時的に保持されたセーフティプログラムを実行するステップと、一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コードを生成するステップと、ユーザ操作によって入力された第1の妥当性確認コードと、第2の妥当性確認コードとが一致すると、一時的に保持されたセーフティプログラムを通常実行するセーフティプログラムとして決定するステップとを含む。 According to yet another embodiment, a processing method in a safety system including a support device and a safety controller is provided. The processing method includes the steps of a support device generating a safety program, a step of the support device generating a first validation code based on the generated safety program, and a safety controller storing the safety program in a storage medium. a step of reading out and temporarily retaining the safety program stored in the storage area; a step of executing the temporarily retained safety program; and a step of executing a second validation code based on the temporarily retained safety program. a step of determining the temporarily held safety program as a safety program to be normally executed when the first validation code input by user operation and the second validation code match; including.
本発明によれば、妥当性確認をより効率的に行うことができる。 According to the present invention, validation can be performed more efficiently.
本技術の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present technology will be described in detail with reference to the drawings. Note that the same or corresponding parts in the figures are designated by the same reference numerals, and the description thereof will not be repeated.
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
<A. Application example>
First, an example of a scene to which the present invention is applied will be described.
図1は、本実施の形態に従うセーフティコントローラ100における妥当性確認に係る処理の概略を示す模式図である。図1を参照して、本実施の形態に従うセーフティシステム1は、セーフティコントローラ100およびサポート装置200を含む。
FIG. 1 is a schematic diagram showing an outline of processing related to validation in
セーフティコントローラ100は、生産設備に配置されており、セーフティプログラムを実行する。セーフティプログラムは、設置現場にあるセーフティデバイス300からの入力信号に基づいて、セーフティロジックを実行し、その実行結果に基づく出力信号をセーフティデバイス300に出力する。
The
セーフティコントローラ100で実行されるセーフティプログラムは、設置現場とは異なる開発環境に用意されたサポート装置200により開発される。開発環境には、開発用のセーフティコントローラ100Aが用意されていてもよい。
The safety program executed by the
設計者は、サポート装置200上でセーフティプログラムを作成する((1)セーフティプログラム作成)。作成されたセーフティプログラムは、メモリカード50などの記憶媒体に格納される((2)セーフティプログラム出力)。 The designer creates a safety program on the support device 200 ((1) safety program creation). The created safety program is stored in a storage medium such as the memory card 50 ((2) safety program output).
メモリカード50は、着脱可能な記憶媒体であり、SDカード、USB(Universal Serial Bus)メモリ、CompactFlashフラッシュ(登録商標)などの任意の可搬型の記憶媒体を包含する。
The
メモリカード50に格納されるセーフティプログラムは、妥当性確認がなされる前のプログラムである。そのため、以下では、メモリカード50に格納されるセーフティプログラムを「未確認セーフティプログラム20」と称す。対象のセーフティコントローラ100において、未確認セーフティプログラム20の妥当性確認が完了すると、未確認セーフティプログラム20が正式なセーフティプログラムとなる。以下では、妥当性確認が完了したセーフティプログラムを「確認済セーフティプログラム30」と称す。
The safety program stored in the
サポート装置200は、未確認セーフティプログラム20の出力と同時、あるいは、任意のタイミングで、妥当性確認コード40を出力する((3)妥当性確認コード出力)。
The
妥当性確認コード40は、未確認セーフティプログラム20を確認済セーフティプログラム30として承認するために必要な情報である。すなわち、妥当性確認コード40は、未確認セーフティプログラム20がファンクショナルセーフティ要求事項を満たしていることを設計者および/または作業者が確認したことをセーフティコントローラ100に対して通知するための情報である。
The
妥当性確認の作業者は、メモリカード50をセーフティコントローラ100に装着して、メモリカード50に格納されている未確認セーフティプログラム20をセーフティコントローラ100に書き込む((4)プログラム転送)。この時点において、セーフティコントローラ100は、妥当性確認を行うためのモードになっており、通常の稼働モードではない。
The validation operator attaches the
作業者は、予め定められた動作確認を行って、未確認セーフティプログラム20を実行するセーフティコントローラ100がファンクショナルセーフティ要求事項を満たしているか否かを確認する((5)妥当性確認)。妥当性確認が問題なく完了すると、作業者は、妥当性確認コード40をセーフティコントローラ100に入力する((6)コード入力)。すると、セーフティコントローラ100は、入力された妥当性確認コード40が未確認セーフティプログラム20に対応するコードであるか否かを検証する((7)コード検証)。
The operator performs a predetermined operation check to check whether the
入力された妥当性確認コード40が未確認セーフティプログラム20に対応するコードであることが検証されると、セーフティコントローラ100は、未確認セーフティプログラム20を確認済セーフティプログラム30として格納し、確認済セーフティプログラム30の実行を開始する((8)セーフティプログラム実行)。
When the
本実施の形態に従うセーフティコントローラ100においては、確認済セーフティプログラム30を実行するために、サポート装置200を接続する必要がない。すなわち、未確認セーフティプログラム20が格納されたメモリカード50と、妥当性確認コード40とがあれば、妥当性確認、および、その後のセーフティコントローラ100を稼働させる処理を行うことができる。
In the
<B.ハードウェア構成例>
次に、本実施の形態に従うセーフティコントローラ100およびサポート装置200のハードウェア構成例について説明する。
<B. Hardware configuration example>
Next, an example of the hardware configuration of the
(b1:セーフティコントローラ100)
図2は、本実施の形態に従うセーフティコントローラ100のハードウェア構成例を示す模式図である。図2を参照して、セーフティコントローラ100は、プロセッサ102と、メインメモリ104と、ストレージ110と、フィールドネットワークコントローラ106と、USBコントローラ108と、入力部112と、メモリカードインターフェイス114と、セーフティローカルバスコントローラ116とを含む。これらのコンポーネントは、プロセッサバス120を介して接続されている。
(b1: Safety controller 100)
FIG. 2 is a schematic diagram showing an example of the hardware configuration of
プロセッサ102は、セーフティプログラムを実行する演算処理部であり、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラムを読み出して、メインメモリ104に展開して実行する。
The
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置で構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置で構成される。
The
メインメモリ104は、後述するように、未確認セーフティプログラム20を一時的に保持するためのプログラム保持領域1042が用意されていてもよい。
The
ストレージ110には、セーフティコントローラ100で必要な基本的な機能を実現するためのシステムプログラム1102、および、確認済セーフティプログラム30が格納される。
フィールドネットワークコントローラ106は、図示しないフィールドネットワークを介して、任意のデバイス(例えば、他のコントローラ)との間でデータをやり取りする。
The
USBコントローラ108は、USB接続を介して、任意の装置との間でデータをやり取りする。なお、メモリカード50としてUSBメモリが用いられる場合には、USBコントローラ108は、メモリカード50に格納された未確認セーフティプログラム20を読み出す装置として用いられてもよい。
メモリカードインターフェイス114は、装着されたメモリカード50に格納された任意のデータを読み出すとともに、任意のデータをメモリカード50に書き込む。
The
入力部112は、ユーザ操作を受け付ける任意のデバイスである。本実施の形態においては、ユーザは、入力部112を介して、妥当性確認コード40をセーフティコントローラ100に入力する。すなわち、入力部112は、妥当性確認コード40の入力を受け付ける。入力部112はどのようなデバイスであってもよい。入力部112は、例えば、ロータリースイッチ、ディップスイッチ、サービススイッチなどのセーフティコントローラ100の露出面に配置されたデバイスであってもよいし、タッチパネル、HMI(Human Machine Interface)、PT(Programmable Terminal)などのデバイスであってもよい。
セーフティローカルバスコントローラ116は、セーフティローカルバスを介して、セーフティIOユニット118に接続されるセーフティデバイス300との間でデータをやり取りする。
Safety
(b2:サポート装置200)
図3は、本実施の形態に従うサポート装置200のハードウェア構成例を示す模式図である。サポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
(b2: Support device 200)
FIG. 3 is a schematic diagram showing an example of the hardware configuration of
図3を参照して、サポート装置200は、プロセッサ202と、メインメモリ204と、入力部206と、出力部208と、ストレージ210と、光学ドライブ212と、メモリカードインターフェイス216と、USBコントローラ218とを含む。これらのコンポーネントは、プロセッサバス220を介して接続されている。
Referring to FIG. 3,
プロセッサ202は、CPUやGPUなどで構成され、ストレージ210に格納されたプログラム(一例として、OS2102および開発プログラム2104)を読み出して、メインメモリ204に展開して実行することで、サポート装置200としての処理を実現する。
The
メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置で構成される。ストレージ210は、例えば、HDDやSSDなどの不揮発性記憶装置で構成される。
ストレージ210には、基本的な機能を実現するためのOS2102、サポート装置200としての機能を提供するための開発プログラム2104、開発環境において設計者により作成されるプロジェクトデータ2106が格納される。
The
サポート装置200は、セーフティコントローラ100で実行されるセーフティプログラムの作成が可能な開発環境を提供する。プロジェクトデータ2106は、セーフティプログラムのソースコードであるセーフティソースプログラム2108を含む。セーフティソースプログラム2108がビルドされることで、セーフティプログラムが生成される。
The
入力部206は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。
The
出力部208は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。一例として、出力部208は、妥当性確認コード40を表示する。
The
メモリカードインターフェイス216は、装着されたメモリカード50に格納された任意のデータを読み出すとともに、任意のデータをメモリカード50に書き込む。
The
USBコントローラ218は、USB接続を介して、任意の装置との間でデータをやり取りする。なお、メモリカード50としてUSBメモリが用いられる場合には、USBコントローラ218は、メモリカード50に未確認セーフティプログラム20を書き込む装置として用いられてもよい。
サポート装置200は、光学ドライブ212を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記憶媒体214(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)から、その中に格納されたプログラムが読み取られてストレージ210などにインストールされる。
The
サポート装置200で実行される開発プログラム2104などは、コンピュータ読取可能な記憶媒体214を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
The
(b3:その他の形態)
図2および図3には、1または複数のプロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
(b3: Other forms)
Figures 2 and 3 show configuration examples in which necessary functions are provided by one or more processors executing programs. It may be implemented using a hardware circuit (for example, an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array)).
<C.関連技術>
次に、関連技術に従うセーフティコントローラ100のセーフティプログラムの妥当性確認について説明する。
<C. Related technology>
Next, validation of the safety program of the
図4は、関連技術に従うセーフティコントローラ100のセーフティプログラムの妥当性確認の手順を説明するための図である。関連技術においては、サポート装置200を用いて、セーフティプログラムの妥当性確認を行う。
FIG. 4 is a diagram for explaining a procedure for validating the safety program of the
図4を参照して、設計者は、設置現場にサポート装置200を持ち込み、サポート装置200と対象のセーフティコントローラ100とを接続する。そして、設計者は、サポート装置200を操作して、セーフティプログラム(未確認セーフティプログラム20)をセーフティコントローラ100へ転送する(ステップS1)。なお、サポート装置200からセーフティコントローラ100への未確認セーフティプログラム20の転送時には、セーフティコントローラ100はデバッグモードに設定されてもよい。
Referring to FIG. 4, the designer brings
セーフティコントローラ100は、サポート装置200からの未確認セーフティプログラム20をメインメモリ104に一時的に保持する(図2に示すプログラム保持領域1042)。そして、セーフティコントローラ100は、メインメモリ104に一時的に保持した未確認セーフティプログラム20を実行する。
The
設計者は、未確認セーフティプログラム20を実行しているセーフティコントローラ100を用いて妥当性確認を行う。ファンクショナルセーフティ要求事項が満たされていることを確認すると、設計者は、サポート装置200を操作して、完了通知コマンド60をセーフティコントローラ100へ転送する(ステップS2)。セーフティコントローラ100は、サポート装置200からの完了通知コマンド60に従って、メインメモリ104に一時的に保持していた未確認セーフティプログラム20を確認済セーフティプログラム30としてストレージ110に格納する(ステップS3)。ストレージ110に確認済セーフティプログラム30が格納されることで、セーフティコントローラ100で実行されるセーフティプログラムが確定する。
The designer performs validation using the
図4に示す関連技術においては、設計者が設置現場にサポート装置200を持ち込む必要がある。そのため、設計者によっては、セーフティコントローラ100を稼働させるのに手間と時間を要し得る。
In the related technology shown in FIG. 4, it is necessary for the designer to bring the
<D.セーフティプログラムの妥当性確認>
次に、本実施の形態に従うセーフティコントローラ100のセーフティプログラムの妥当性確認について説明する。
<D. Validation of safety program>
Next, validation of the safety program of
図5は、本実施の形態に従うセーフティコントローラ100のセーフティプログラムの妥当性確認の手順を説明するための図である。
FIG. 5 is a diagram for explaining the procedure for checking the validity of the safety program of the
図5を参照して、設計者は、サポート装置200(図5には図示していない)を操作して、セーフティプログラム(未確認セーフティプログラム20)および妥当性確認コード40を用意する。未確認セーフティプログラム20および妥当性確認コード40は、妥当性確認の作業者へ提供される。
Referring to FIG. 5, the designer operates support device 200 (not shown in FIG. 5) to prepare a safety program (unconfirmed safety program 20) and
妥当性確認コード40は、未確認セーフティプログラム20から一意に算出される所定桁数の文字列である。例えば、未確認セーフティプログラム20のCRC(Cyclic Redundancy Check)や、任意のハッシュ関数を用いて未確認セーフティプログラム20から算出されるハッシュ値などが用いられる。すなわち、未確認セーフティプログラム20と妥当性確認コード40との組み合わせは、実質的に一意になるように構成されている。
The
作業者は、設計者から提供された未確認セーフティプログラム20をメモリカード50に書き込む。なお、設計者からの未確認セーフティプログラム20および妥当性確認コード40は、サーバや電子メールによって、電子的に作業者へ提供されてもよい。
The operator writes the
あるいは、設計者がサポート装置200を操作して、未確認セーフティプログラム20をメモリカード50に書き込み、メモリカード50を作業者に提供するようにしてもよい。
Alternatively, the designer may operate the
続いて、作業者は、メモリカード50をセーフティコントローラ100に装着して、メモリカード50に格納されている未確認セーフティプログラム20をセーフティコントローラ100に書き込む(ステップS11)。
Subsequently, the operator attaches the
セーフティコントローラ100は、メモリカード50からの未確認セーフティプログラム20をメインメモリ104に一時的に保持する(図2に示すプログラム保持領域1042)。そして、セーフティコントローラ100は、メインメモリ104に一時的に保持した未確認セーフティプログラム20の実行を開始する。
The
なお、作業者がセーフティコントローラ100に対して所定の操作を行うことで、セーフティコントローラ100がメインメモリ104に一時的に保持した未確認セーフティプログラム20の実行を開始するように構成してもよい。
Note that the
例えば、作業者が、セーフティコントローラ100の電源をオフした状態で、ディップスイッチを操作して、セーフティコントローラ100をデバッグモードに変更した上で、セーフティコントローラ100の電源を投入する。すると、セーフティコントローラ100は、メインメモリ104から未確認セーフティプログラム20を読み出して、メインメモリ104に一時的に保持する。このとき、セーフティコントローラ100は、LEDなどで実行開始を通知するようにしてもよい。そして、作業者がセーフティコントローラ100の所定のスイッチを押下することで、セーフティコントローラ100は、未確認セーフティプログラム20の実行を開始する。
For example, an operator turns off the power to the
作業者は、未確認セーフティプログラム20を実行しているセーフティコントローラ100を用いて妥当性確認を行う。ファンクショナルセーフティ要求事項が満たされていることを確認すると、作業者は、セーフティコントローラ100のディップスイッチを操作して、セーフティコントローラ100を、妥当性確認コード40の入力を受け付ける妥当性確認モードに変更する。このとき、セーフティコントローラ100は、未確認セーフティプログラム20の実行を停止する。
The operator performs validation using the
続いて、作業者は、セーフティコントローラ100のロータリースイッチやサービススイッチなどを用いて、設計者から提供された妥当性確認コード40を入力する(ステップS12)。
Next, the operator inputs the
例えば、作業者がロータリースイッチを操作して値(例えば、16進の値)を設定し、サービススイッチを押下すると、当該設定されている値がセーフティコントローラ100に入力される。作業者は、ロータリースイッチおよびサービススイッチを用いた入力操作を、妥当性確認コード40の先頭から順に桁数分だけ繰り返す。
For example, when an operator operates a rotary switch to set a value (for example, a hexadecimal value) and presses a service switch, the set value is input to the
作業者が妥当性確認コード40のすべての桁の値が入力すると、セーフティコントローラ100は、メインメモリ104に一時的に保持している未確認セーフティプログラム20に基づいて、妥当性確認コード42を生成する(ステップS13)。そして、生成した妥当性確認コード42が入力された妥当性確認コード40と一致すると、セーフティコントローラ100は、メインメモリ104に一時的に保持していた未確認セーフティプログラム20を確認済セーフティプログラム30としてストレージ110に格納する(ステップS14)。ストレージ110に確認済セーフティプログラム30が格納されることで、セーフティコントローラ100で実行されるセーフティプログラムが確定する。
When the operator inputs the values of all digits of the
一連の処理が終了後、作業者は、セーフティコントローラ100のディップスイッチを操作して、セーフティコントローラ100を通常モードに変更した上で、一旦電源をオフした後に電源を再投入する。この操作によって、セーフティコントローラ100は、ストレージ110に格納された確認済セーフティプログラム30の実行を開始する。
After completing the series of processes, the operator operates the dip switch of the
<E.機能構成例>
次に、本実施の形態に従うセーフティプログラムの妥当性確認を実現するための機能構成例について説明する。
<E. Functional configuration example>
Next, an example of a functional configuration for realizing validation of a safety program according to the present embodiment will be described.
図6は、本実施の形態に従うセーフティプログラムの妥当性確認を実現するための機能構成例を示す模式図である。 FIG. 6 is a schematic diagram showing an example of a functional configuration for realizing validation of a safety program according to the present embodiment.
図6を参照して、サポート装置200は、機能構成として、セーフティプログラム生成モジュール250と、妥当性確認コード生成モジュール260とを含む。これらの機能構成は、サポート装置200のプロセッサ202が開発プログラム2104を実行することで実現されてもよい。
Referring to FIG. 6,
セーフティプログラム生成モジュール250は、セーフティソースプログラム2108からセーフティプログラム(未確認セーフティプログラム20)を生成する。
The safety
妥当性確認コード生成モジュール260は、セーフティプログラム生成モジュール250により生成されたセーフティプログラム(未確認セーフティプログラム20)に基づいて妥当性確認コード40を生成する。一例として、妥当性確認コード生成モジュール260は、予め定められたアルゴリズムに従って、生成された未確認セーフティプログラム20から妥当性確認コード40を生成する。より具体的には、妥当性確認コード生成モジュール260は、セーフティプログラム(未確認セーフティプログラム20)のCRCやハッシュ値を算出し、その一部または全部を妥当性確認コード40として出力する。
The validation
セーフティコントローラ100は、機能構成として、管理モジュール150と、妥当性確認コード生成モジュール160と、実行エンジン170とを含む。これらの機能構成は、セーフティコントローラ100のプロセッサ102がシステムプログラム1102を実行することで実現されてもよい。
The
管理モジュール150は、入力される未確認セーフティプログラム20および妥当性確認コード40に応じて、セーフティプログラムの妥当性確認に必要な処理を実行する。より具体的には、管理モジュール150は、メモリカード50から読み出した未確認セーフティプログラム20をメインメモリ104に一時的に保持するとともに、妥当性確認コード生成モジュール160が生成した妥当性確認コード42と入力された妥当性確認コード40とが一致したことを条件にして、メインメモリ104に保持された未確認セーフティプログラム20をストレージ110に移動させる。
The
このように、管理モジュール150は、ユーザ操作によって入力された妥当性確認コード40と、妥当性確認コード生成モジュール160が生成した妥当性確認コード42とが一致すると、一時的に保持された未確認セーフティプログラム20を通常実行するセーフティプログラム(確認済セーフティプログラム30)として決定する。
In this way, when the
メインメモリ104は、記憶媒体であるメモリカード50に格納された未確認セーフティプログラム20を読み出して一時的に保持する記憶領域である。ストレージ110は、通常実行するセーフティプログラムを恒久的に格納する記憶領域である。
The
すなわち、セーフティコントローラは、メモリカード50に格納された未確認セーフティプログラム20を揮発性領域記憶装置であるメインメモリ104に保持し、通常実行する確認済セーフティプログラム30を不揮発性記憶装置であるストレージ110に格納する。
That is, the safety controller retains the
妥当性確認コード生成モジュール160は、メインメモリ104に一時的に保持された未確認セーフティプログラム20に基づいて妥当性確認コード42を生成する。妥当性確認コード生成モジュール160が妥当性確認コード42を生成するアルゴリズムは、サポート装置200の妥当性確認コード生成モジュール260と実質的に同一である。すなわち、妥当性確認コード生成モジュール160は、妥当性確認コード生成モジュール160と同じアルゴリズムに従って、一時的に保持された未確認セーフティプログラム20から妥当性確認コード42を算出する。
Validation
実行エンジン170は、管理モジュール150からの指示に従って、メインメモリ104に保持された未確認セーフティプログラム20、または、ストレージ110に格納された確認済セーフティプログラム30を実行する。妥当性確認においては、実行エンジン170は、一時的に保持された未確認セーフティプログラム20を実行する。
The
<F.処理手順>
次に、本実施の形態に従うセーフティプログラムの妥当性確認に係る処理手順について説明する。
<F. Processing procedure>
Next, a processing procedure related to validation of the safety program according to the present embodiment will be explained.
図7は、本実施の形態に従うサポート装置200が実行する処理手順の一例を示すフローチャートである。図7には、サポート装置200が未確認セーフティプログラム20および妥当性確認コード40を出力する処理に係る処理手順を示す。図7に示す各ステップは、サポート装置200のプロセッサ202が開発プログラム2104を実行することで実現されてもよい。
FIG. 7 is a flowchart illustrating an example of a processing procedure executed by
図7を参照して、サポート装置200は、セーフティプログラムの生成が指示されると(ステップS100においてYES)、プロジェクトデータ2106に含まれるセーフティソースプログラム2108をビルドする(ステップS102)。そして、サポート装置200は、ビルドが成功したか否かを判断する(ステップS104)。ビルドが失敗すると(ステップS104においてNO)、処理は終了する。
Referring to FIG. 7, when
ビルドが成功すると(ステップS104においてYES)、サポート装置200は、生成されたセーフティプログラム(オブジェクトコード)を予め定められた領域に格納する(ステップS106)。
If the build is successful (YES in step S104), the
続いて、サポート装置200は、生成したセーフティプログラムに基づいて妥当性確認コード40を生成する(ステップS108)とともに、生成した妥当性確認コード40を出力部208(例えば、ディスプレイ)に出力する(ステップS110)。そして、処理は終了する。
Subsequently, the
図8は、本実施の形態に従うセーフティコントローラ100が実行する処理手順の一例を示すフローチャートである。図8には、セーフティコントローラ100がデバッグモードおよび妥当性確認モードで動作する処理手順を示す。図8に示す各ステップは、セーフティコントローラ100のプロセッサ102がシステムプログラム1102を実行することで実現されてもよい。
FIG. 8 is a flowchart illustrating an example of a processing procedure executed by
図8を参照して、セーフティコントローラ100は、デバッグモードで起動すると(ステップS200においてYES)、セーフティコントローラ100に装着されたメモリカード50に対象の未確認セーフティプログラム20が格納されているか否かを判断する(ステップS202)。メモリカード50に対象の未確認セーフティプログラム20が格納されていなければ(ステップS202においてNO)、処理は終了する。
Referring to FIG. 8, when the
メモリカード50に対象の未確認セーフティプログラム20が格納されていれば(ステップS202においてYES)、セーフティコントローラ100は、メモリカード50に格納されている未確認セーフティプログラム20を読み出して、メインメモリ104に一時的に保持する(ステップS204)。そして、セーフティコントローラ100は、セーフティプログラムの実行を停止している状態となり(ステップS206)、サービススイッチが押下されるまで待機する(ステップS208)。
If the target
サービススイッチが押下されると(ステップS208においてYES)、セーフティコントローラ100は、メインメモリ104に一時的に保持されている未確認セーフティプログラム20の実行を開始し(ステップS210)、ディップスイッチにより妥当性確認モードへの変更が指示されるまで、未確認セーフティプログラム20の実行を継続する(ステップS212においてNO)。
When the service switch is pressed (YES in step S208), the
ディップスイッチにより妥当性確認モードへの変更が指示されると(ステップS212においてYES)、セーフティコントローラ100は、未確認セーフティプログラム20の実行を停止する(ステップS214)。そして、セーフティコントローラ100は、妥当性確認コード40の入力を待つ(ステップS216)。
When a change to the validation mode is instructed by the dip switch (YES in step S212), the
妥当性確認コード40が入力されると(ステップS216においてYES)、セーフティコントローラ100は、メインメモリ104に一時的に保持されている未確認セーフティプログラム20に基づいて妥当性確認コード42を生成し(ステップS218)、生成した妥当性確認コード42と入力された妥当性確認コード40とが一致するか否かを判断する(ステップS220)。
When the
生成した妥当性確認コード42と入力された妥当性確認コード40とが一致していなければ(ステップS220においてNO)、セーフティコントローラ100は、異常終了を通知し(ステップS222)、処理を終了する。
If the generated
生成した妥当性確認コード42と入力された妥当性確認コード40とが一致していれば(ステップS220においてYES)、セーフティコントローラ100は、メインメモリ104に一時的に保持している未確認セーフティプログラム20を確認済セーフティプログラム30(通常実行するセーフティプログラム)としてストレージ110に格納する(ステップS224)。そして、処理は終了する。
If the generated
なお、セーフティコントローラ100は、電源が再度オンされると、ストレージ110に格納されている確認済セーフティプログラム30の実行を開始する。
Note that when the power is turned on again, the
<G.変形例>
上述の実施の形態に関して、以下のような変形例を採用してもよい。
<G. Modified example>
Regarding the above-described embodiment, the following modifications may be adopted.
(g1:未確認セーフティプログラムの保持)
上述の実施の形態においては、未確認セーフティプログラム20をメインメモリ104に一時的に保持した後に、ストレージ110に移動させる処理を採用した構成を例示したが、これに限らず、未確認セーフティプログラム20についてもストレージ110に格納するようにしてもよい。
(g1: Retention of unconfirmed safety program)
In the above-described embodiment, a configuration in which the
この場合であっても、未確認セーフティプログラム20が一時的に保持されることを実現するために、セーフティコントローラ100は、電源がオンされたときに、ストレージ110に格納されている未確認セーフティプログラム20を自動的に削除するようにしてもよい。あるいは、セーフティコントローラ100は、電源がオンされたときに、ストレージ110に格納されている未確認セーフティプログラム20については無効化するようにしてもよい。
Even in this case, in order to temporarily retain the
メインメモリ104に一時的に保持する構成を採用しないことで、メインメモリ104の必要な容量が増大することを抑制できる。
By not adopting a configuration in which data is temporarily held in the
(g2:妥当性確認コードの組み込み)
上述の実施の形態においては、セーフティコントローラ100が未確認セーフティプログラム20に基づいて妥当性確認コード42を算出し、算出された妥当性確認コード42と入力された妥当性確認コード40との一致を判断する構成を例示したが、サポート装置200が生成する未確認セーフティプログラム20に妥当性確認コード42を組み込むようにしてもよい。このように、妥当性確認コード40と同一の妥当性確認コードが生成された未確認セーフティプログラム20に組み込まれもよい。
(g2: Incorporation of validation code)
In the embodiment described above, the
一方、セーフティコントローラ100の妥当性確認コード生成モジュール160は、一時的に保持された未確認セーフティプログラム20に組み込まれた妥当性確認コードを比較用の妥当性確認コード42として決定する。
On the other hand, the validation
すなわち、セーフティコントローラ100は、メモリカード50から読み出した未確認セーフティプログラム20に組み込まれた妥当性確認コードと、入力された妥当性確認コード40との一致を判断するようにしてもよい。
That is, the
この構成によれば、セーフティコントローラ100において妥当性確認コード42を算出する必要がないので、セーフティコントローラ100に要求される処理リソースなどの増大化を抑制できる。
According to this configuration, since there is no need to calculate the
(g3:外部装置を介した妥当性確認コード40の入力)
上述の実施の形態においては、セーフティコントローラ100に設けられたロータリースイッチやサービススイッチを用いて妥当性確認コード40が入力される構成を例示したが、セーフティコントローラ100とは異なる装置(例えば、タッチパネル、HMI、PTなどのデバイスや、上位のコントローラなど)から妥当性確認コード40を入力するようにしてもよい。
(g3: Input of
In the above-described embodiment, the
このように、セーフティコントローラ100とは別の装置に対して入力された妥当性確認コード40が、当該別の装置からセーフティコントローラ100へ提供されるようにしてもよい。この構成によれば、妥当性確認コード40をより容易に入力することができる。
In this way, the
(g4:サポート装置200および未確認セーフティプログラム20)
本実施の形態に従うサポート装置200は、セーフティコントローラ100を所有している組織の所有であってもよいし、第三者の所有であってもよい。例えば、セーフティコントローラ100を製造販売しているメーカあるいは販売会社などがサポート装置200を所有していてもよい。
(g4:
また、サポート装置200が未確認セーフティプログラム20を生成する操作は、セーフティコントローラ100を所有している組織の設計者が行ってもよいし、別の組織(例えば、セーフティコントローラ100を製造販売しているメーカや、セーフティコントローラ100を含むシステムを構築するシステムインテグレータなど)に属する設計者が行ってもよい。
Further, the operation for the
また、設計者が対象のセーフティコントローラ100に応じたセーフティロジックをサポート装置200上で都度開発することで、未確認セーフティプログラム20が生成されてもよいし、既存の生産ラインを増設するような場合には、予め作成されたセーフティプログラムのプロジェクトを再度ビルドすることで、未確認セーフティプログラム20が生成されてもよい。この場合には、サポート装置200が自動的に未確認セーフティプログラム20および妥当性確認コードを生成するようにしてもよい。
Further, the
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
<H. Additional notes>
This embodiment as described above includes the following technical idea.
[構成1]
サポート装置(200)およびセーフティコントローラ(100)を備えるセーフティシステム(1)であって、
前記サポート装置は、
セーフティプログラム(20)を生成する第1の生成部(250)と、
前記生成されたセーフティプログラムに基づいて第1の妥当性確認コード(40)を生成する第2の生成部(260)とを備え、
前記セーフティコントローラは、
記憶媒体(50)に格納されたセーフティプログラム(20)を読み出して一時的に保持する記憶領域(104)と、
前記一時的に保持されたセーフティプログラムを実行する実行部(170)と、
前記一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コード(42)を生成する第3の生成部(160)と、
ユーザ操作によって入力された前記第1の妥当性確認コードと、前記第2の妥当性確認コードとが一致すると、前記一時的に保持されたセーフティプログラムを通常実行するセーフティプログラム(30)として決定する管理部(150)とを備える、セーフティシステム。
[Configuration 1]
A safety system (1) comprising a support device (200) and a safety controller (100),
The support device includes:
a first generation unit (250) that generates a safety program (20);
a second generation unit (260) that generates a first validation code (40) based on the generated safety program;
The safety controller includes:
a storage area (104) that reads and temporarily holds the safety program (20) stored in the storage medium (50);
an execution unit (170) that executes the temporarily held safety program;
a third generation unit (160) that generates a second validation code (42) based on the temporarily held safety program;
When the first validation code input by user operation and the second validation code match, the temporarily held safety program is determined as the safety program (30) to be normally executed. A safety system comprising a management section (150).
[構成2]
前記セーフティコントローラは、前記記憶媒体に格納されたセーフティプログラムを揮発性領域記憶装置(104)に保持し、前記通常実行するセーフティプログラムを不揮発性記憶装置(110)に格納する、構成1に記載のセーフティシステム。
[Configuration 2]
According to configuration 1, the safety controller stores the safety program stored in the storage medium in a volatile area storage device (104) and stores the normally executed safety program in a non-volatile storage device (110). Safety system.
[構成3]
前記第2の生成部は、予め定められたアルゴリズムに従って、前記生成されたセーフティプログラムから前記第1の妥当性確認コードを算出し、
前記第3の生成部は、前記予め定められたアルゴリズムに従って、前記一時的に保持されたセーフティプログラムから前記第2の妥当性確認コードを算出する、構成1または2に記載のセーフティシステム。
[Configuration 3]
The second generation unit calculates the first validation code from the generated safety program according to a predetermined algorithm,
The safety system according to configuration 1 or 2, wherein the third generation unit calculates the second validation code from the temporarily stored safety program according to the predetermined algorithm.
[構成4]
前記第1の妥当性確認コードと同一の妥当性確認コードが前記生成されたセーフティプログラムに組み込まれ、
前記第3の生成部は、前記一時的に保持されたセーフティプログラムに組み込まれた妥当性確認コードを前記第2の妥当性確認コードとして決定する、構成1または2に記載のセーフティシステム。
[Configuration 4]
a validation code identical to the first validation code is incorporated into the generated safety program;
The safety system according to configuration 1 or 2, wherein the third generation unit determines a validation code incorporated in the temporarily held safety program as the second validation code.
[構成5]
前記サポート装置は、前記第1の妥当性確認コードを表示する出力部(208)をさらに備える、構成1~4のいずれか1項に記載のセーフティシステム。
[Configuration 5]
5. The safety system according to any one of configurations 1 to 4, wherein the support device further comprises an output section (208) for displaying the first validation code.
[構成6]
前記セーフティコントローラは、前記第1の妥当性確認コードの入力を受け付ける入力部(112)をさらに備える、構成1~5のいずれか1項に記載のセーフティシステム。
[Configuration 6]
6. The safety system according to any one of configurations 1 to 5, wherein the safety controller further includes an input section (112) that receives an input of the first validation code.
[構成7]
前記セーフティコントローラとは別の装置に対して入力された前記第1の妥当性確認コードが、当該別の装置から前記セーフティコントローラへ提供される、構成1~6のいずれか1項に記載のセーフティシステム。
[Configuration 7]
The safety according to any one of configurations 1 to 6, wherein the first validation code input to a device different from the safety controller is provided to the safety controller from the different device. system.
[構成8]
記憶媒体(50)に格納されたセーフティプログラム(20)を読み出して一時的に保持する記憶領域(104)を備え、前記セーフティプログラムは、サポート装置(200)により生成されたものであり、前記サポート装置は、前記生成されたセーフティプログラムに基づいて第1の妥当性確認コード(20)を生成し、
前記一時的に保持されたセーフティプログラムを実行する実行部(170)と、
前記一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コードを生成する第3の生成部(160)と、
ユーザ操作によって入力された前記第1の妥当性確認コードと、前記第2の妥当性確認コードとが一致すると、前記一時的に保持されたセーフティプログラムを通常実行するセーフティプログラム(30)として決定する管理部(150)とを備える、セーフティコントローラ。
[Configuration 8]
A storage area (104) is provided for reading out and temporarily holding a safety program (20) stored in a storage medium (50), the safety program is generated by a support device (200), and the safety program (20) is generated by a support device (200). the device generates a first validation code (20) based on the generated safety program;
an execution unit (170) that executes the temporarily held safety program;
a third generation unit (160) that generates a second validation code based on the temporarily held safety program;
When the first validation code input by user operation and the second validation code match, the temporarily held safety program is determined as the safety program (30) to be normally executed. A safety controller comprising a management section (150).
[構成9]
サポート装置(200)およびセーフティコントローラ(100)を備えるセーフティシステム(1)における処理方法であって、
前記サポート装置が、セーフティプログラム(20)を生成するステップ(S102~S106)と、
前記サポート装置が、前記生成されたセーフティプログラムに基づいて第1の妥当性確認コード(40)を生成するステップ(S108)と、
前記セーフティコントローラが、記憶媒体(50)に格納されたセーフティプログラム(20)を読み出して記憶領域(104)に一時的に保持するステップ(S108)と、
前記一時的に保持されたセーフティプログラムを実行するステップ(S210)と、
前記一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コード(42)を生成するステップ(S218)と、
ユーザ操作によって入力された前記第1の妥当性確認コードと、前記第2の妥当性確認コードとが一致すると、前記一時的に保持されたセーフティプログラムを通常実行するセーフティプログラムとして決定するステップ(S220~S224)とを備える、処理方法。
[Configuration 9]
A processing method in a safety system (1) comprising a support device (200) and a safety controller (100),
a step (S102 to S106) in which the support device generates a safety program (20);
a step (S108) in which the support device generates a first validation code (40) based on the generated safety program;
a step (S108) in which the safety controller reads the safety program (20) stored in the storage medium (50) and temporarily holds it in the storage area (104);
a step of executing the temporarily held safety program (S210);
generating a second validation code (42) based on the temporarily held safety program (S218);
If the first validation code input by user operation and the second validation code match, a step of determining the temporarily held safety program as a safety program to be normally executed (S220 - S224).
<I.利点>
セーフティコントローラ100を稼働させるためには、ファンクショナルセーフティ要求事項を満たすことを設置現場で確認する必要がある。
<I. Advantages>
In order to operate the
上述した関連記述においては、サポート装置をセーフティコントローラ100に接続して各種の操作および処理を行う必要がある。そのため、サポート装置の設置現場への持ち込みの手間や、サポート装置を操作するスキルを有する設計者が出向かなければならないといった負荷が生じ得る。
In the above-mentioned related description, it is necessary to connect the support device to the
これに対して、本実施の形態においては、メモリカードなどの記憶媒体に格納されたセーフティプログラムをセーフティコントローラ100に提供するとともに、一連の妥当性確認が完了すると、妥当性確認コード40を追加的に入力するだけで、セーフティコントローラ100を稼働できる状態にすることができる。この結果、設計者がサポート装置を持参してセーフティコントローラ100の設置現場などへ出向く必要がなくなるとともに、サポート装置を操作するスキルを有していない作業者であっても、妥当性確認さえ行えれば、セーフティコントローラ100を通常の稼働状態にすることができる。
In contrast, in the present embodiment, the safety program stored in a storage medium such as a memory card is provided to the
さらに、本実施の形態の仕組みを用いることで、遠隔地にいる設計者と設置現場にいる作業者とが連係して、セーフティコントローラ100を稼働させるために必要な処理を完結させることができる。
Furthermore, by using the mechanism of this embodiment, a designer at a remote location and a worker at the installation site can work together to complete the processing necessary to operate the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims rather than the above description, and it is intended that all changes within the meaning and range equivalent to the claims are included.
1 セーフティシステム、20 未確認セーフティプログラム、30 確認済セーフティプログラム、40,42 妥当性確認コード、50 メモリカード、100,100A セーフティコントローラ、102,202 プロセッサ、104,204 メインメモリ、106 フィールドネットワークコントローラ、108,218 USBコントローラ、110,210 ストレージ、112,206 入力部、114,216 メモリカードインターフェイス、116 セーフティローカルバスコントローラ、118 セーフティIOユニット、120,220 プロセッサバス、150 管理モジュール、160,260 妥当性確認コード生成モジュール、170 実行エンジン、200 サポート装置、208 出力部、212 光学ドライブ、214 記憶媒体、250 セーフティプログラム生成モジュール、300 セーフティデバイス、1042 プログラム保持領域、1102 システムプログラム、2102 OS、2104 開発プログラム、2106 プロジェクトデータ、2108 セーフティソースプログラム。 1 Safety System, 20 Unconfirmed Safety Program, 30 Confirmed Safety Program, 40, 42 Validation Code, 50 Memory Card, 100, 100A Safety Controller, 102, 202 Processor, 104, 204 Main Memory, 106 Field Network Controller, 108 , 218 USB controller, 110, 210 storage, 112, 206 input unit, 114, 216 memory card interface, 116 safety local bus controller, 118 safety IO unit, 120, 220 processor bus, 150 management module, 160, 260 validation code generation module, 170 execution engine, 200 support device, 208 output unit, 212 optical drive, 214 storage medium, 250 safety program generation module, 300 safety device, 1042 program holding area, 1102 system program, 2102 OS, 2104 development program, 2106 Project data, 2108 Safety source program.
Claims (9)
前記サポート装置は、
セーフティプログラムを生成する第1の生成部と、
前記生成されたセーフティプログラムに基づいて第1の妥当性確認コードを生成する第2の生成部とを備え、
前記セーフティコントローラは、
記憶媒体に格納されたセーフティプログラムを読み出して一時的に保持する記憶領域と、
前記一時的に保持されたセーフティプログラムを実行する実行部と、
前記一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コードを生成する第3の生成部と、
ユーザ操作によって入力された前記第1の妥当性確認コードと、前記第2の妥当性確認コードとが一致すると、前記一時的に保持されたセーフティプログラムを通常実行するセーフティプログラムとして決定する管理部とを備える、セーフティシステム。 A safety system comprising a support device and a safety controller, the safety system comprising:
The support device includes:
a first generation unit that generates a safety program;
a second generation unit that generates a first validation code based on the generated safety program,
The safety controller includes:
a storage area for reading out and temporarily retaining the safety program stored in the storage medium;
an execution unit that executes the temporarily held safety program;
a third generation unit that generates a second validation code based on the temporarily held safety program;
When the first validation code input by user operation and the second validation code match, a management unit determines the temporarily held safety program as a safety program to be normally executed; Equipped with a safety system.
前記第3の生成部は、前記予め定められたアルゴリズムに従って、前記一時的に保持されたセーフティプログラムから前記第2の妥当性確認コードを算出する、請求項1または2に記載のセーフティシステム。 The second generation unit calculates the first validation code from the generated safety program according to a predetermined algorithm,
3. The safety system according to claim 1, wherein the third generation unit calculates the second validation code from the temporarily stored safety program according to the predetermined algorithm.
前記第3の生成部は、前記一時的に保持されたセーフティプログラムに組み込まれた妥当性確認コードを前記第2の妥当性確認コードとして決定する、請求項1または2に記載のセーフティシステム。 a validation code identical to the first validation code is incorporated into the generated safety program;
The safety system according to claim 1 or 2, wherein the third generation unit determines a validation code incorporated in the temporarily held safety program as the second validation code.
前記一時的に保持されたセーフティプログラムを実行する実行部と、
前記一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コードを生成する第3の生成部と、
ユーザ操作によって入力された前記第1の妥当性確認コードと、前記第2の妥当性確認コードとが一致すると、前記一時的に保持されたセーフティプログラムを通常実行するセーフティプログラムとして決定する管理部とを備える、セーフティコントローラ。 A storage area is provided for reading and temporarily holding a safety program stored in a storage medium, the safety program is generated by a support device, and the support device is configured to read and temporarily hold a safety program stored in a storage medium. generating a first validation code;
an execution unit that executes the temporarily held safety program;
a third generation unit that generates a second validation code based on the temporarily held safety program;
When the first validation code input by user operation and the second validation code match, a management unit determines the temporarily held safety program as a safety program to be normally executed; Safety controller.
前記サポート装置が、セーフティプログラムを生成するステップと、
前記サポート装置が、前記生成されたセーフティプログラムに基づいて第1の妥当性確認コードを生成するステップと、
前記セーフティコントローラが、記憶媒体に格納されたセーフティプログラムを読み出して記憶領域に一時的に保持するステップと、
前記一時的に保持されたセーフティプログラムを実行するステップと、
前記一時的に保持されたセーフティプログラムに基づいて第2の妥当性確認コードを生成するステップと、
ユーザ操作によって入力された前記第1の妥当性確認コードと、前記第2の妥当性確認コードとが一致すると、前記一時的に保持されたセーフティプログラムを通常実行するセーフティプログラムとして決定するステップとを備える、処理方法。 A processing method in a safety system comprising a support device and a safety controller, the method comprising:
the support device generating a safety program;
the support device generating a first validation code based on the generated safety program;
the safety controller reading out a safety program stored in a storage medium and temporarily retaining it in a storage area;
executing the temporarily held safety program;
generating a second validation code based on the temporarily held safety program;
a step of determining the temporarily held safety program as a safety program to be normally executed when the first validation code input by a user operation and the second validation code match; Preparation and processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022061564A JP2023151760A (en) | 2022-04-01 | 2022-04-01 | Safety system, safety controller, and processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022061564A JP2023151760A (en) | 2022-04-01 | 2022-04-01 | Safety system, safety controller, and processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023151760A true JP2023151760A (en) | 2023-10-16 |
Family
ID=88327133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022061564A Pending JP2023151760A (en) | 2022-04-01 | 2022-04-01 | Safety system, safety controller, and processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023151760A (en) |
-
2022
- 2022-04-01 JP JP2022061564A patent/JP2023151760A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5039428B2 (en) | Programmable controller and PLC system | |
JP4404940B2 (en) | Method and system for providing custom software images to a computer system | |
CN104850762B (en) | Prevent the undesirable method of the movement of computer, computer program and computer | |
JP4865634B2 (en) | Program editing support apparatus, computer program, program editing support method, and PLC system | |
US20210055718A1 (en) | Computer-implemented method for providing data, in particular for conformity tracking | |
CN113238850B (en) | RPA realization method, device, equipment and medium based on browser | |
JP4525681B2 (en) | Program generating device for programmable controller, program generating method for programmable controller, and recording medium recording program of the method | |
CA3131079A1 (en) | Test case generation method and device, computer equipment and storage medium | |
CN102467401A (en) | Firmware update method and system for micro-controller unit in power supply unit | |
JP2007507016A (en) | Software update method for electronic control device by flash programming via serial interface and state automatic device corresponding thereto | |
US20130091394A1 (en) | Data processing apparatus and validity verification method | |
CN107463516B (en) | Control device | |
CN108073738B (en) | GPIO (general purpose input/output) verification system and method | |
JP2008276690A (en) | Development system, server for development system, and development method | |
JP6477553B2 (en) | Program development support apparatus, program development support program, and program development support method | |
CN109491716B (en) | Starting method and device, program storage method and device | |
TW201128333A (en) | Programmable controller and programming device | |
TW201719490A (en) | Runtime verification using external device | |
JP6299095B2 (en) | Shared data definition support system, its master device, local terminal, program | |
JP2023151760A (en) | Safety system, safety controller, and processing method | |
JPH10240629A (en) | Intra-memory information updating method | |
JP2008123106A (en) | Microcomputer and debug method for microcomputer | |
CN113626792A (en) | PCIe Switch firmware safe execution method, device, terminal and storage medium | |
JP2003157104A (en) | Programming device | |
JP5481267B2 (en) | Control program creation device and control program creation device drive method |