JP2023151760A - Safety system, safety controller, and processing method - Google Patents

Safety system, safety controller, and processing method Download PDF

Info

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
Application number
JP2022061564A
Other languages
Japanese (ja)
Inventor
亮輔 藤村
Ryosuke Fujimura
大介 八木
Daisuke Yagi
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2022061564A priority Critical patent/JP2023151760A/en
Publication of JP2023151760A publication Critical patent/JP2023151760A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

To provide a safety system, a safety controller, and a processing method that are configured to perform validation more efficiently.SOLUTION: A safety system includes a support device and a safety controller. A support device includes: a first generation unit that generates a safety program; and a second generation unit that generates, on the basis of the generated safety program, a first validation code. A safety controller includes: a storage area that reads and temporarily holds the safety program stored on a storage medium; an execution unit that executes the temporarily held safety program; a third generation unit that generates, on the basis of the temporarily held safety program, a second validation code; and the management unit determines, when the first validation code input by user operation and the second validation code match, the temporarily held safety program as a safety program to be normally executed.SELECTED DRAWING: Figure 1

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.

特開2019-148979号公報JP 2019-148979 Publication 国際公開第2015/136965号International Publication No. 2015/136965 特開2011-170581号公報Japanese Patent Application Publication No. 2011-170581

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.

本実施の形態に従うセーフティコントローラにおける妥当性確認に係る処理の概略を示す模式図である。FIG. 2 is a schematic diagram illustrating an outline of processing related to validation in the safety controller according to the present embodiment. 本実施の形態に従うセーフティコントローラのハードウェア構成例を示す模式図である。FIG. 2 is a schematic diagram showing an example of the hardware configuration of a safety controller according to the present embodiment. 本実施の形態に従うサポート装置のハードウェア構成例を示す模式図である。FIG. 2 is a schematic diagram showing an example of the hardware configuration of a support device according to the present embodiment. 関連技術に従うセーフティコントローラのセーフティプログラムの妥当性確認の手順を説明するための図である。FIG. 3 is a diagram for explaining a procedure for validating a safety program of a safety controller according to related technology. 本実施の形態に従うセーフティコントローラのセーフティプログラムの妥当性確認の手順を説明するための図である。FIG. 3 is a diagram for explaining a procedure for validating a safety program of a safety controller according to the present embodiment. 本実施の形態に従うセーフティプログラムの妥当性確認を実現するための機能構成例を示す模式図である。FIG. 2 is a schematic diagram showing an example of a functional configuration for realizing validation of a safety program according to the present embodiment. 本実施の形態に従うサポート装置が実行する処理手順の一例を示すフローチャートである。3 is a flowchart illustrating an example of a processing procedure executed by the support device according to the present embodiment. 本実施の形態に従うセーフティコントローラが実行する処理手順の一例を示すフローチャートである。3 is a flowchart illustrating an example of a processing procedure executed by the safety controller according to the present embodiment.

本技術の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 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 safety controller 100 according to the present embodiment. Referring to FIG. 1, safety system 1 according to the present embodiment includes a safety controller 100 and a support device 200.

セーフティコントローラ100は、生産設備に配置されており、セーフティプログラムを実行する。セーフティプログラムは、設置現場にあるセーフティデバイス300からの入力信号に基づいて、セーフティロジックを実行し、その実行結果に基づく出力信号をセーフティデバイス300に出力する。 The safety controller 100 is placed in a production facility and executes a safety program. The safety program executes safety logic based on the input signal from the safety device 300 at the installation site, and outputs an output signal to the safety device 300 based on the execution result.

セーフティコントローラ100で実行されるセーフティプログラムは、設置現場とは異なる開発環境に用意されたサポート装置200により開発される。開発環境には、開発用のセーフティコントローラ100Aが用意されていてもよい。 The safety program executed by the safety controller 100 is developed by the support device 200 prepared in a development environment different from the installation site. The development environment may include a development safety controller 100A.

設計者は、サポート装置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 memory card 50 is a removable storage medium, and includes any portable storage medium such as an SD card, a USB (Universal Serial Bus) memory, and a CompactFlash (registered trademark).

メモリカード50に格納されるセーフティプログラムは、妥当性確認がなされる前のプログラムである。そのため、以下では、メモリカード50に格納されるセーフティプログラムを「未確認セーフティプログラム20」と称す。対象のセーフティコントローラ100において、未確認セーフティプログラム20の妥当性確認が完了すると、未確認セーフティプログラム20が正式なセーフティプログラムとなる。以下では、妥当性確認が完了したセーフティプログラムを「確認済セーフティプログラム30」と称す。 The safety program stored in the memory card 50 is a program that has not yet been validated. Therefore, hereinafter, the safety program stored in the memory card 50 will be referred to as the "unconfirmed safety program 20." When the validation of the unconfirmed safety program 20 is completed in the target safety controller 100, the unconfirmed safety program 20 becomes an official safety program. Hereinafter, the safety program for which validation has been completed will be referred to as a "verified safety program 30."

サポート装置200は、未確認セーフティプログラム20の出力と同時、あるいは、任意のタイミングで、妥当性確認コード40を出力する((3)妥当性確認コード出力)。 The support device 200 outputs the validation code 40 at the same time as the output of the unconfirmed safety program 20 or at an arbitrary timing ((3) Validation confirmation code output).

妥当性確認コード40は、未確認セーフティプログラム20を確認済セーフティプログラム30として承認するために必要な情報である。すなわち、妥当性確認コード40は、未確認セーフティプログラム20がファンクショナルセーフティ要求事項を満たしていることを設計者および/または作業者が確認したことをセーフティコントローラ100に対して通知するための情報である。 The validation code 40 is information necessary to approve the unconfirmed safety program 20 as a confirmed safety program 30. That is, the validation code 40 is information for notifying the safety controller 100 that the designer and/or the operator has confirmed that the unverified safety program 20 satisfies the functional safety requirements. .

妥当性確認の作業者は、メモリカード50をセーフティコントローラ100に装着して、メモリカード50に格納されている未確認セーフティプログラム20をセーフティコントローラ100に書き込む((4)プログラム転送)。この時点において、セーフティコントローラ100は、妥当性確認を行うためのモードになっており、通常の稼働モードではない。 The validation operator attaches the memory card 50 to the safety controller 100 and writes the unverified safety program 20 stored in the memory card 50 to the safety controller 100 ((4) program transfer). At this point, the safety controller 100 is in a validation mode and is not in a normal operating mode.

作業者は、予め定められた動作確認を行って、未確認セーフティプログラム20を実行するセーフティコントローラ100がファンクショナルセーフティ要求事項を満たしているか否かを確認する((5)妥当性確認)。妥当性確認が問題なく完了すると、作業者は、妥当性確認コード40をセーフティコントローラ100に入力する((6)コード入力)。すると、セーフティコントローラ100は、入力された妥当性確認コード40が未確認セーフティプログラム20に対応するコードであるか否かを検証する((7)コード検証)。 The operator performs a predetermined operation check to check whether the safety controller 100 that executes the unconfirmed safety program 20 satisfies the functional safety requirements ((5) Validity check). When the validation is successfully completed, the operator inputs the validation code 40 into the safety controller 100 ((6) code input). Then, the safety controller 100 verifies whether the input validation code 40 corresponds to the unconfirmed safety program 20 ((7) code verification).

入力された妥当性確認コード40が未確認セーフティプログラム20に対応するコードであることが検証されると、セーフティコントローラ100は、未確認セーフティプログラム20を確認済セーフティプログラム30として格納し、確認済セーフティプログラム30の実行を開始する((8)セーフティプログラム実行)。 When the input validation code 40 is verified to be a code corresponding to the unconfirmed safety program 20, the safety controller 100 stores the unconfirmed safety program 20 as a confirmed safety program 30, and stores the unconfirmed safety program 20 as a confirmed safety program 30. ((8) Safety program execution).

本実施の形態に従うセーフティコントローラ100においては、確認済セーフティプログラム30を実行するために、サポート装置200を接続する必要がない。すなわち、未確認セーフティプログラム20が格納されたメモリカード50と、妥当性確認コード40とがあれば、妥当性確認、および、その後のセーフティコントローラ100を稼働させる処理を行うことができる。 In the safety controller 100 according to this embodiment, there is no need to connect the support device 200 in order to execute the verified safety program 30. That is, if the memory card 50 storing the unconfirmed safety program 20 and the validation code 40 are present, validation and subsequent processing for operating the safety controller 100 can be performed.

<B.ハードウェア構成例>
次に、本実施の形態に従うセーフティコントローラ100およびサポート装置200のハードウェア構成例について説明する。
<B. Hardware configuration example>
Next, an example of the hardware configuration of the safety controller 100 and the support device 200 according to the present embodiment will be described.

(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 safety controller 100 according to the present embodiment. Referring to FIG. 2, the safety controller 100 includes a processor 102, a main memory 104, a storage 110, a field network controller 106, a USB controller 108, an input section 112, a memory card interface 114, and a safety local bus. controller 116. These components are connected via processor bus 120.

プロセッサ102は、セーフティプログラムを実行する演算処理部であり、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラムを読み出して、メインメモリ104に展開して実行する。 The processor 102 is an arithmetic processing unit that executes a safety program, and includes a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and the like. Specifically, the processor 102 reads a program stored in the storage 110, expands it to the main memory 104, and executes the program.

メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置で構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置で構成される。 The main memory 104 is composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). The storage 110 is configured with a nonvolatile storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive), for example.

メインメモリ104は、後述するように、未確認セーフティプログラム20を一時的に保持するためのプログラム保持領域1042が用意されていてもよい。 The main memory 104 may be provided with a program holding area 1042 for temporarily holding the unconfirmed safety program 20, as will be described later.

ストレージ110には、セーフティコントローラ100で必要な基本的な機能を実現するためのシステムプログラム1102、および、確認済セーフティプログラム30が格納される。 Storage 110 stores a system program 1102 for realizing basic functions required by safety controller 100 and a verified safety program 30.

フィールドネットワークコントローラ106は、図示しないフィールドネットワークを介して、任意のデバイス(例えば、他のコントローラ)との間でデータをやり取りする。 The field network controller 106 exchanges data with any device (for example, another controller) via a field network (not shown).

USBコントローラ108は、USB接続を介して、任意の装置との間でデータをやり取りする。なお、メモリカード50としてUSBメモリが用いられる場合には、USBコントローラ108は、メモリカード50に格納された未確認セーフティプログラム20を読み出す装置として用いられてもよい。 USB controller 108 exchanges data with any device via a USB connection. Note that when a USB memory is used as the memory card 50, the USB controller 108 may be used as a device for reading the unconfirmed safety program 20 stored in the memory card 50.

メモリカードインターフェイス114は、装着されたメモリカード50に格納された任意のデータを読み出すとともに、任意のデータをメモリカード50に書き込む。 The memory card interface 114 reads arbitrary data stored in the attached memory card 50 and writes arbitrary data to the memory card 50.

入力部112は、ユーザ操作を受け付ける任意のデバイスである。本実施の形態においては、ユーザは、入力部112を介して、妥当性確認コード40をセーフティコントローラ100に入力する。すなわち、入力部112は、妥当性確認コード40の入力を受け付ける。入力部112はどのようなデバイスであってもよい。入力部112は、例えば、ロータリースイッチ、ディップスイッチ、サービススイッチなどのセーフティコントローラ100の露出面に配置されたデバイスであってもよいし、タッチパネル、HMI(Human Machine Interface)、PT(Programmable Terminal)などのデバイスであってもよい。 Input unit 112 is any device that accepts user operations. In this embodiment, the user inputs the validation code 40 into the safety controller 100 via the input section 112. That is, the input unit 112 accepts input of the validation code 40. Input unit 112 may be any device. The input unit 112 may be a device disposed on the exposed surface of the safety controller 100, such as a rotary switch, a dip switch, or a service switch, or may be a touch panel, an HMI (Human Machine Interface), a PT (Programmable Terminal), etc. It may be a device.

セーフティローカルバスコントローラ116は、セーフティローカルバスを介して、セーフティIOユニット118に接続されるセーフティデバイス300との間でデータをやり取りする。 Safety local bus controller 116 exchanges data with safety device 300 connected to safety IO unit 118 via the safety local bus.

(b2:サポート装置200)
図3は、本実施の形態に従うサポート装置200のハードウェア構成例を示す模式図である。サポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
(b2: Support device 200)
FIG. 3 is a schematic diagram showing an example of the hardware configuration of support device 200 according to this embodiment. For example, the support device 200 is realized using hardware (for example, a general-purpose personal computer) that follows a general-purpose architecture.

図3を参照して、サポート装置200は、プロセッサ202と、メインメモリ204と、入力部206と、出力部208と、ストレージ210と、光学ドライブ212と、メモリカードインターフェイス216と、USBコントローラ218とを含む。これらのコンポーネントは、プロセッサバス220を介して接続されている。 Referring to FIG. 3, support device 200 includes processor 202, main memory 204, input section 206, output section 208, storage 210, optical drive 212, memory card interface 216, and USB controller 218. including. These components are connected via processor bus 220.

プロセッサ202は、CPUやGPUなどで構成され、ストレージ210に格納されたプログラム(一例として、OS2102および開発プログラム2104)を読み出して、メインメモリ204に展開して実行することで、サポート装置200としての処理を実現する。 The processor 202 is composed of a CPU, a GPU, etc., and functions as the support device 200 by reading programs (for example, the OS 2102 and the development program 2104) stored in the storage 210, loading them into the main memory 204, and executing them. Achieve processing.

メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置で構成される。ストレージ210は、例えば、HDDやSSDなどの不揮発性記憶装置で構成される。 Main memory 204 is composed of a volatile storage device such as DRAM or SRAM. The storage 210 is configured with a nonvolatile storage device such as an HDD or an SSD, for example.

ストレージ210には、基本的な機能を実現するためのOS2102、サポート装置200としての機能を提供するための開発プログラム2104、開発環境において設計者により作成されるプロジェクトデータ2106が格納される。 The storage 210 stores an OS 2102 for realizing basic functions, a development program 2104 for providing functions as the support device 200, and project data 2106 created by a designer in the development environment.

サポート装置200は、セーフティコントローラ100で実行されるセーフティプログラムの作成が可能な開発環境を提供する。プロジェクトデータ2106は、セーフティプログラムのソースコードであるセーフティソースプログラム2108を含む。セーフティソースプログラム2108がビルドされることで、セーフティプログラムが生成される。 The support device 200 provides a development environment in which a safety program to be executed by the safety controller 100 can be created. Project data 2106 includes a safety source program 2108 that is the source code of a safety program. A safety program is generated by building the safety source program 2108.

入力部206は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。 The input unit 206 includes a keyboard, a mouse, and the like, and accepts user operations.

出力部208は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。一例として、出力部208は、妥当性確認コード40を表示する。 The output unit 208 includes a display, various indicators, a printer, etc., and outputs processing results from the processor 202. As an example, the output unit 208 displays the validation code 40.

メモリカードインターフェイス216は、装着されたメモリカード50に格納された任意のデータを読み出すとともに、任意のデータをメモリカード50に書き込む。 The memory card interface 216 reads arbitrary data stored in the attached memory card 50 and writes arbitrary data to the memory card 50.

USBコントローラ218は、USB接続を介して、任意の装置との間でデータをやり取りする。なお、メモリカード50としてUSBメモリが用いられる場合には、USBコントローラ218は、メモリカード50に未確認セーフティプログラム20を書き込む装置として用いられてもよい。 USB controller 218 exchanges data with any device via a USB connection. Note that when a USB memory is used as the memory card 50, the USB controller 218 may be used as a device for writing the unconfirmed safety program 20 into the memory card 50.

サポート装置200は、光学ドライブ212を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記憶媒体214(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)から、その中に格納されたプログラムが読み取られてストレージ210などにインストールされる。 The support device 200 has an optical drive 212 that stores computer-readable programs on a non-transitory basis from a storage medium 214 (for example, an optical storage medium such as a DVD (Digital Versatile Disc)). The stored program is read and installed in the storage 210 or the like.

サポート装置200で実行される開発プログラム2104などは、コンピュータ読取可能な記憶媒体214を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。 The development program 2104 and the like executed by the support device 200 may be installed via the computer-readable storage medium 214, but may also be installed by downloading from a server device on a network. Further, the functions provided by the support device 200 according to the present embodiment may be realized by using part of the modules provided by the OS.

(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 safety controller 100 according to related technology will be explained.

図4は、関連技術に従うセーフティコントローラ100のセーフティプログラムの妥当性確認の手順を説明するための図である。関連技術においては、サポート装置200を用いて、セーフティプログラムの妥当性確認を行う。 FIG. 4 is a diagram for explaining a procedure for validating the safety program of the safety controller 100 according to the related technology. In related technology, the support device 200 is used to check the validity of the safety program.

図4を参照して、設計者は、設置現場にサポート装置200を持ち込み、サポート装置200と対象のセーフティコントローラ100とを接続する。そして、設計者は、サポート装置200を操作して、セーフティプログラム(未確認セーフティプログラム20)をセーフティコントローラ100へ転送する(ステップS1)。なお、サポート装置200からセーフティコントローラ100への未確認セーフティプログラム20の転送時には、セーフティコントローラ100はデバッグモードに設定されてもよい。 Referring to FIG. 4, the designer brings support device 200 to the installation site and connects support device 200 and target safety controller 100. Then, the designer operates the support device 200 to transfer the safety program (unconfirmed safety program 20) to the safety controller 100 (step S1). Note that when the unconfirmed safety program 20 is transferred from the support device 200 to the safety controller 100, the safety controller 100 may be set to debug mode.

セーフティコントローラ100は、サポート装置200からの未確認セーフティプログラム20をメインメモリ104に一時的に保持する(図2に示すプログラム保持領域1042)。そして、セーフティコントローラ100は、メインメモリ104に一時的に保持した未確認セーフティプログラム20を実行する。 The safety controller 100 temporarily holds the unconfirmed safety program 20 from the support device 200 in the main memory 104 (program holding area 1042 shown in FIG. 2). The safety controller 100 then executes the unconfirmed safety program 20 temporarily stored in the main memory 104.

設計者は、未確認セーフティプログラム20を実行しているセーフティコントローラ100を用いて妥当性確認を行う。ファンクショナルセーフティ要求事項が満たされていることを確認すると、設計者は、サポート装置200を操作して、完了通知コマンド60をセーフティコントローラ100へ転送する(ステップS2)。セーフティコントローラ100は、サポート装置200からの完了通知コマンド60に従って、メインメモリ104に一時的に保持していた未確認セーフティプログラム20を確認済セーフティプログラム30としてストレージ110に格納する(ステップS3)。ストレージ110に確認済セーフティプログラム30が格納されることで、セーフティコントローラ100で実行されるセーフティプログラムが確定する。 The designer performs validation using the safety controller 100 running the unconfirmed safety program 20. After confirming that the functional safety requirements are met, the designer operates the support device 200 to transfer the completion notification command 60 to the safety controller 100 (step S2). The safety controller 100 stores the unconfirmed safety program 20 temporarily held in the main memory 104 as a confirmed safety program 30 in the storage 110 in accordance with the completion notification command 60 from the support device 200 (step S3). By storing the confirmed safety program 30 in the storage 110, the safety program to be executed by the safety controller 100 is determined.

図4に示す関連技術においては、設計者が設置現場にサポート装置200を持ち込む必要がある。そのため、設計者によっては、セーフティコントローラ100を稼働させるのに手間と時間を要し得る。 In the related technology shown in FIG. 4, it is necessary for the designer to bring the support device 200 to the installation site. Therefore, depending on the designer, it may take time and effort to operate the safety controller 100.

<D.セーフティプログラムの妥当性確認>
次に、本実施の形態に従うセーフティコントローラ100のセーフティプログラムの妥当性確認について説明する。
<D. Validation of safety program>
Next, validation of the safety program of safety controller 100 according to this embodiment will be explained.

図5は、本実施の形態に従うセーフティコントローラ100のセーフティプログラムの妥当性確認の手順を説明するための図である。 FIG. 5 is a diagram for explaining the procedure for checking the validity of the safety program of the safety controller 100 according to the present embodiment.

図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 validation code 40. The unverified safety program 20 and validation code 40 are provided to a validation operator.

妥当性確認コード40は、未確認セーフティプログラム20から一意に算出される所定桁数の文字列である。例えば、未確認セーフティプログラム20のCRC(Cyclic Redundancy Check)や、任意のハッシュ関数を用いて未確認セーフティプログラム20から算出されるハッシュ値などが用いられる。すなわち、未確認セーフティプログラム20と妥当性確認コード40との組み合わせは、実質的に一意になるように構成されている。 The validation code 40 is a character string of a predetermined number of digits that is uniquely calculated from the unconfirmed safety program 20. For example, a CRC (Cyclic Redundancy Check) of the unconfirmed safety program 20 or a hash value calculated from the unconfirmed safety program 20 using an arbitrary hash function is used. That is, the combination of the unconfirmed safety program 20 and the validation code 40 is configured to be substantially unique.

作業者は、設計者から提供された未確認セーフティプログラム20をメモリカード50に書き込む。なお、設計者からの未確認セーフティプログラム20および妥当性確認コード40は、サーバや電子メールによって、電子的に作業者へ提供されてもよい。 The operator writes the unconfirmed safety program 20 provided by the designer into the memory card 50. Note that the unconfirmed safety program 20 and validation code 40 from the designer may be electronically provided to the operator via a server or e-mail.

あるいは、設計者がサポート装置200を操作して、未確認セーフティプログラム20をメモリカード50に書き込み、メモリカード50を作業者に提供するようにしてもよい。 Alternatively, the designer may operate the support device 200 to write the unconfirmed safety program 20 to the memory card 50 and provide the memory card 50 to the worker.

続いて、作業者は、メモリカード50をセーフティコントローラ100に装着して、メモリカード50に格納されている未確認セーフティプログラム20をセーフティコントローラ100に書き込む(ステップS11)。 Subsequently, the operator attaches the memory card 50 to the safety controller 100 and writes the unconfirmed safety program 20 stored in the memory card 50 into the safety controller 100 (step S11).

セーフティコントローラ100は、メモリカード50からの未確認セーフティプログラム20をメインメモリ104に一時的に保持する(図2に示すプログラム保持領域1042)。そして、セーフティコントローラ100は、メインメモリ104に一時的に保持した未確認セーフティプログラム20の実行を開始する。 The safety controller 100 temporarily holds the unconfirmed safety program 20 from the memory card 50 in the main memory 104 (program holding area 1042 shown in FIG. 2). The safety controller 100 then starts executing the unconfirmed safety program 20 temporarily stored in the main memory 104.

なお、作業者がセーフティコントローラ100に対して所定の操作を行うことで、セーフティコントローラ100がメインメモリ104に一時的に保持した未確認セーフティプログラム20の実行を開始するように構成してもよい。 Note that the safety controller 100 may be configured to start executing the unconfirmed safety program 20 temporarily stored in the main memory 104 when the operator performs a predetermined operation on the safety controller 100.

例えば、作業者が、セーフティコントローラ100の電源をオフした状態で、ディップスイッチを操作して、セーフティコントローラ100をデバッグモードに変更した上で、セーフティコントローラ100の電源を投入する。すると、セーフティコントローラ100は、メインメモリ104から未確認セーフティプログラム20を読み出して、メインメモリ104に一時的に保持する。このとき、セーフティコントローラ100は、LEDなどで実行開始を通知するようにしてもよい。そして、作業者がセーフティコントローラ100の所定のスイッチを押下することで、セーフティコントローラ100は、未確認セーフティプログラム20の実行を開始する。 For example, an operator turns off the power to the safety controller 100, operates a dip switch to change the safety controller 100 to debug mode, and then turns on the power to the safety controller 100. Then, the safety controller 100 reads the unconfirmed safety program 20 from the main memory 104 and temporarily stores it in the main memory 104. At this time, the safety controller 100 may notify the start of execution using an LED or the like. Then, when the operator presses a predetermined switch of the safety controller 100, the safety controller 100 starts executing the unconfirmed safety program 20.

作業者は、未確認セーフティプログラム20を実行しているセーフティコントローラ100を用いて妥当性確認を行う。ファンクショナルセーフティ要求事項が満たされていることを確認すると、作業者は、セーフティコントローラ100のディップスイッチを操作して、セーフティコントローラ100を、妥当性確認コード40の入力を受け付ける妥当性確認モードに変更する。このとき、セーフティコントローラ100は、未確認セーフティプログラム20の実行を停止する。 The operator performs validation using the safety controller 100 running the unconfirmed safety program 20. After confirming that the functional safety requirements are met, the operator operates the dip switch of the safety controller 100 to change the safety controller 100 to a validation mode that accepts input of the validation code 40. do. At this time, the safety controller 100 stops execution of the unconfirmed safety program 20.

続いて、作業者は、セーフティコントローラ100のロータリースイッチやサービススイッチなどを用いて、設計者から提供された妥当性確認コード40を入力する(ステップS12)。 Next, the operator inputs the validation code 40 provided by the designer using the rotary switch, service switch, etc. of the safety controller 100 (step S12).

例えば、作業者がロータリースイッチを操作して値(例えば、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 safety controller 100. The operator repeats the input operation using the rotary switch and the service switch for the number of digits in the validation code 40, starting from the beginning.

作業者が妥当性確認コード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 validation code 40, the safety controller 100 generates the validation code 42 based on the unconfirmed safety program 20 temporarily stored in the main memory 104. (Step S13). When the generated validation code 42 matches the input validation code 40, the safety controller 100 stores the unconfirmed safety program 20 temporarily held in the main memory 104 as a confirmed safety program 30. 110 (step S14). By storing the confirmed safety program 30 in the storage 110, the safety program to be executed by the safety controller 100 is determined.

一連の処理が終了後、作業者は、セーフティコントローラ100のディップスイッチを操作して、セーフティコントローラ100を通常モードに変更した上で、一旦電源をオフした後に電源を再投入する。この操作によって、セーフティコントローラ100は、ストレージ110に格納された確認済セーフティプログラム30の実行を開始する。 After completing the series of processes, the operator operates the dip switch of the safety controller 100 to change the safety controller 100 to the normal mode, and then turns off the power and then turns the power back on. By this operation, the safety controller 100 starts executing the verified safety program 30 stored in the storage 110.

<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, support device 200 includes a safety program generation module 250 and a validation code generation module 260 as functional configurations. These functional configurations may be realized by the processor 202 of the support device 200 executing the development program 2104.

セーフティプログラム生成モジュール250は、セーフティソースプログラム2108からセーフティプログラム(未確認セーフティプログラム20)を生成する。 The safety program generation module 250 generates a safety program (unconfirmed safety program 20) from the safety source program 2108.

妥当性確認コード生成モジュール260は、セーフティプログラム生成モジュール250により生成されたセーフティプログラム(未確認セーフティプログラム20)に基づいて妥当性確認コード40を生成する。一例として、妥当性確認コード生成モジュール260は、予め定められたアルゴリズムに従って、生成された未確認セーフティプログラム20から妥当性確認コード40を生成する。より具体的には、妥当性確認コード生成モジュール260は、セーフティプログラム(未確認セーフティプログラム20)のCRCやハッシュ値を算出し、その一部または全部を妥当性確認コード40として出力する。 The validation code generation module 260 generates the validation code 40 based on the safety program (unconfirmed safety program 20) generated by the safety program generation module 250. As an example, the validation code generation module 260 generates the validation code 40 from the generated unconfirmed safety program 20 according to a predetermined algorithm. More specifically, the validation code generation module 260 calculates the CRC and hash value of the safety program (unconfirmed safety program 20), and outputs part or all of it as the validation code 40.

セーフティコントローラ100は、機能構成として、管理モジュール150と、妥当性確認コード生成モジュール160と、実行エンジン170とを含む。これらの機能構成は、セーフティコントローラ100のプロセッサ102がシステムプログラム1102を実行することで実現されてもよい。 The safety controller 100 includes a management module 150, a validation code generation module 160, and an execution engine 170 as functional components. These functional configurations may be realized by the processor 102 of the safety controller 100 executing the system program 1102.

管理モジュール150は、入力される未確認セーフティプログラム20および妥当性確認コード40に応じて、セーフティプログラムの妥当性確認に必要な処理を実行する。より具体的には、管理モジュール150は、メモリカード50から読み出した未確認セーフティプログラム20をメインメモリ104に一時的に保持するとともに、妥当性確認コード生成モジュール160が生成した妥当性確認コード42と入力された妥当性確認コード40とが一致したことを条件にして、メインメモリ104に保持された未確認セーフティプログラム20をストレージ110に移動させる。 The management module 150 executes processing necessary for validating the safety program according to the input unconfirmed safety program 20 and validation code 40. More specifically, the management module 150 temporarily stores the unverified safety program 20 read from the memory card 50 in the main memory 104, and inputs the validation code 42 generated by the validation code generation module 160. The unconfirmed safety program 20 held in the main memory 104 is moved to the storage 110 on the condition that the validity confirmation code 40 is matched.

このように、管理モジュール150は、ユーザ操作によって入力された妥当性確認コード40と、妥当性確認コード生成モジュール160が生成した妥当性確認コード42とが一致すると、一時的に保持された未確認セーフティプログラム20を通常実行するセーフティプログラム(確認済セーフティプログラム30)として決定する。 In this way, when the validation code 40 input by the user operation and the validation code 42 generated by the validation code generation module 160 match, the management module 150 releases the temporarily held unconfirmed safety code. The program 20 is determined as a safety program (confirmed safety program 30) to be normally executed.

メインメモリ104は、記憶媒体であるメモリカード50に格納された未確認セーフティプログラム20を読み出して一時的に保持する記憶領域である。ストレージ110は、通常実行するセーフティプログラムを恒久的に格納する記憶領域である。 The main memory 104 is a storage area that reads and temporarily holds the unconfirmed safety program 20 stored in the memory card 50, which is a storage medium. Storage 110 is a storage area that permanently stores safety programs that are normally executed.

すなわち、セーフティコントローラは、メモリカード50に格納された未確認セーフティプログラム20を揮発性領域記憶装置であるメインメモリ104に保持し、通常実行する確認済セーフティプログラム30を不揮発性記憶装置であるストレージ110に格納する。 That is, the safety controller retains the unconfirmed safety program 20 stored in the memory card 50 in the main memory 104, which is a volatile storage device, and stores the normally executed verified safety program 30 in the storage 110, which is a nonvolatile storage device. Store.

妥当性確認コード生成モジュール160は、メインメモリ104に一時的に保持された未確認セーフティプログラム20に基づいて妥当性確認コード42を生成する。妥当性確認コード生成モジュール160が妥当性確認コード42を生成するアルゴリズムは、サポート装置200の妥当性確認コード生成モジュール260と実質的に同一である。すなわち、妥当性確認コード生成モジュール160は、妥当性確認コード生成モジュール160と同じアルゴリズムに従って、一時的に保持された未確認セーフティプログラム20から妥当性確認コード42を算出する。 Validation code generation module 160 generates validation code 42 based on unverified safety program 20 temporarily stored in main memory 104 . The algorithm by which validation code generation module 160 generates validation code 42 is substantially the same as validation code generation module 260 of support device 200 . That is, the validation code generation module 160 calculates the validation code 42 from the temporarily held unconfirmed safety program 20 according to the same algorithm as the validation code generation module 160.

実行エンジン170は、管理モジュール150からの指示に従って、メインメモリ104に保持された未確認セーフティプログラム20、または、ストレージ110に格納された確認済セーフティプログラム30を実行する。妥当性確認においては、実行エンジン170は、一時的に保持された未確認セーフティプログラム20を実行する。 The execution engine 170 executes the unconfirmed safety program 20 held in the main memory 104 or the confirmed safety program 30 stored in the storage 110 according to instructions from the management module 150. During validation, the execution engine 170 executes the temporarily held unverified safety program 20.

<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 support device 200 according to the present embodiment. FIG. 7 shows a processing procedure in which the support device 200 outputs the unconfirmed safety program 20 and the validation code 40. Each step shown in FIG. 7 may be realized by the processor 202 of the support device 200 executing the development program 2104.

図7を参照して、サポート装置200は、セーフティプログラムの生成が指示されると(ステップS100においてYES)、プロジェクトデータ2106に含まれるセーフティソースプログラム2108をビルドする(ステップS102)。そして、サポート装置200は、ビルドが成功したか否かを判断する(ステップS104)。ビルドが失敗すると(ステップS104においてNO)、処理は終了する。 Referring to FIG. 7, when support device 200 is instructed to generate a safety program (YES in step S100), it builds safety source program 2108 included in project data 2106 (step S102). The support device 200 then determines whether the build was successful (step S104). If the build fails (NO in step S104), the process ends.

ビルドが成功すると(ステップS104においてYES)、サポート装置200は、生成されたセーフティプログラム(オブジェクトコード)を予め定められた領域に格納する(ステップS106)。 If the build is successful (YES in step S104), the support device 200 stores the generated safety program (object code) in a predetermined area (step S106).

続いて、サポート装置200は、生成したセーフティプログラムに基づいて妥当性確認コード40を生成する(ステップS108)とともに、生成した妥当性確認コード40を出力部208(例えば、ディスプレイ)に出力する(ステップS110)。そして、処理は終了する。 Subsequently, the support device 200 generates a validation code 40 based on the generated safety program (step S108), and outputs the generated validation code 40 to the output unit 208 (for example, a display) (step S108). S110). Then, the process ends.

図8は、本実施の形態に従うセーフティコントローラ100が実行する処理手順の一例を示すフローチャートである。図8には、セーフティコントローラ100がデバッグモードおよび妥当性確認モードで動作する処理手順を示す。図8に示す各ステップは、セーフティコントローラ100のプロセッサ102がシステムプログラム1102を実行することで実現されてもよい。 FIG. 8 is a flowchart illustrating an example of a processing procedure executed by safety controller 100 according to the present embodiment. FIG. 8 shows a processing procedure in which the safety controller 100 operates in the debug mode and the validation mode. Each step shown in FIG. 8 may be realized by the processor 102 of the safety controller 100 executing the system program 1102.

図8を参照して、セーフティコントローラ100は、デバッグモードで起動すると(ステップS200においてYES)、セーフティコントローラ100に装着されたメモリカード50に対象の未確認セーフティプログラム20が格納されているか否かを判断する(ステップS202)。メモリカード50に対象の未確認セーフティプログラム20が格納されていなければ(ステップS202においてNO)、処理は終了する。 Referring to FIG. 8, when the safety controller 100 is started in the debug mode (YES in step S200), the safety controller 100 determines whether or not the target unconfirmed safety program 20 is stored in the memory card 50 attached to the safety controller 100. (Step S202). If the target unconfirmed safety program 20 is not stored in the memory card 50 (NO in step S202), the process ends.

メモリカード50に対象の未確認セーフティプログラム20が格納されていれば(ステップS202においてYES)、セーフティコントローラ100は、メモリカード50に格納されている未確認セーフティプログラム20を読み出して、メインメモリ104に一時的に保持する(ステップS204)。そして、セーフティコントローラ100は、セーフティプログラムの実行を停止している状態となり(ステップS206)、サービススイッチが押下されるまで待機する(ステップS208)。 If the target unconfirmed safety program 20 is stored in the memory card 50 (YES in step S202), the safety controller 100 reads the unconfirmed safety program 20 stored in the memory card 50 and temporarily stores it in the main memory 104. (step S204). The safety controller 100 then enters a state in which execution of the safety program is stopped (step S206), and waits until the service switch is pressed (step S208).

サービススイッチが押下されると(ステップS208においてYES)、セーフティコントローラ100は、メインメモリ104に一時的に保持されている未確認セーフティプログラム20の実行を開始し(ステップS210)、ディップスイッチにより妥当性確認モードへの変更が指示されるまで、未確認セーフティプログラム20の実行を継続する(ステップS212においてNO)。 When the service switch is pressed (YES in step S208), the safety controller 100 starts executing the unconfirmed safety program 20 temporarily stored in the main memory 104 (step S210), and checks the validity using the dip switch. The unconfirmed safety program 20 continues to be executed until a change to the mode is instructed (NO in step S212).

ディップスイッチにより妥当性確認モードへの変更が指示されると(ステップ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 safety controller 100 stops execution of the unconfirmed safety program 20 (step S214). The safety controller 100 then waits for input of the validation code 40 (step S216).

妥当性確認コード40が入力されると(ステップS216においてYES)、セーフティコントローラ100は、メインメモリ104に一時的に保持されている未確認セーフティプログラム20に基づいて妥当性確認コード42を生成し(ステップS218)、生成した妥当性確認コード42と入力された妥当性確認コード40とが一致するか否かを判断する(ステップS220)。 When the validation code 40 is input (YES in step S216), the safety controller 100 generates the validation code 42 based on the unconfirmed safety program 20 temporarily held in the main memory 104 (step S216). S218), it is determined whether the generated validation code 42 and the input validation code 40 match (Step S220).

生成した妥当性確認コード42と入力された妥当性確認コード40とが一致していなければ(ステップS220においてNO)、セーフティコントローラ100は、異常終了を通知し(ステップS222)、処理を終了する。 If the generated validation code 42 and the input validation code 40 do not match (NO in step S220), the safety controller 100 notifies abnormal termination (step S222) and ends the process.

生成した妥当性確認コード42と入力された妥当性確認コード40とが一致していれば(ステップS220においてYES)、セーフティコントローラ100は、メインメモリ104に一時的に保持している未確認セーフティプログラム20を確認済セーフティプログラム30(通常実行するセーフティプログラム)としてストレージ110に格納する(ステップS224)。そして、処理は終了する。 If the generated validation code 42 and the input validation code 40 match (YES in step S220), the safety controller 100 updates the unconfirmed safety program 20 temporarily held in the main memory 104. is stored in the storage 110 as the confirmed safety program 30 (safety program that is normally executed) (step S224). Then, the process ends.

なお、セーフティコントローラ100は、電源が再度オンされると、ストレージ110に格納されている確認済セーフティプログラム30の実行を開始する。 Note that when the power is turned on again, the safety controller 100 starts executing the verified safety program 30 stored in the storage 110.

<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 unconfirmed safety program 20 is temporarily held in the main memory 104 and then moved to the storage 110 is illustrated, but the present invention is not limited to this, and the unconfirmed safety program 20 may also be moved. It may also be stored in the storage 110.

この場合であっても、未確認セーフティプログラム20が一時的に保持されることを実現するために、セーフティコントローラ100は、電源がオンされたときに、ストレージ110に格納されている未確認セーフティプログラム20を自動的に削除するようにしてもよい。あるいは、セーフティコントローラ100は、電源がオンされたときに、ストレージ110に格納されている未確認セーフティプログラム20については無効化するようにしてもよい。 Even in this case, in order to temporarily retain the unconfirmed safety program 20, the safety controller 100 stores the unconfirmed safety program 20 stored in the storage 110 when the power is turned on. It may be automatically deleted. Alternatively, the safety controller 100 may invalidate the unconfirmed safety program 20 stored in the storage 110 when the power is turned on.

メインメモリ104に一時的に保持する構成を採用しないことで、メインメモリ104の必要な容量が増大することを抑制できる。 By not adopting a configuration in which data is temporarily held in the main memory 104, it is possible to suppress an increase in the required capacity of the main memory 104.

(g2:妥当性確認コードの組み込み)
上述の実施の形態においては、セーフティコントローラ100が未確認セーフティプログラム20に基づいて妥当性確認コード42を算出し、算出された妥当性確認コード42と入力された妥当性確認コード40との一致を判断する構成を例示したが、サポート装置200が生成する未確認セーフティプログラム20に妥当性確認コード42を組み込むようにしてもよい。このように、妥当性確認コード40と同一の妥当性確認コードが生成された未確認セーフティプログラム20に組み込まれもよい。
(g2: Incorporation of validation code)
In the embodiment described above, the safety controller 100 calculates the validation code 42 based on the unconfirmed safety program 20, and determines whether the calculated validation code 42 matches the input validation code 40. However, the validation code 42 may be incorporated into the unconfirmed safety program 20 generated by the support device 200. In this way, a validation code identical to the validation code 40 may be incorporated into the generated unverified safety program 20.

一方、セーフティコントローラ100の妥当性確認コード生成モジュール160は、一時的に保持された未確認セーフティプログラム20に組み込まれた妥当性確認コードを比較用の妥当性確認コード42として決定する。 On the other hand, the validation code generation module 160 of the safety controller 100 determines the validation code incorporated in the temporarily held unconfirmed safety program 20 as the validation code 42 for comparison.

すなわち、セーフティコントローラ100は、メモリカード50から読み出した未確認セーフティプログラム20に組み込まれた妥当性確認コードと、入力された妥当性確認コード40との一致を判断するようにしてもよい。 That is, the safety controller 100 may determine whether the validation code incorporated in the unconfirmed safety program 20 read from the memory card 50 matches the input validation code 40.

この構成によれば、セーフティコントローラ100において妥当性確認コード42を算出する必要がないので、セーフティコントローラ100に要求される処理リソースなどの増大化を抑制できる。 According to this configuration, since there is no need to calculate the validity check code 42 in the safety controller 100, it is possible to suppress an increase in the processing resources required for the safety controller 100.

(g3:外部装置を介した妥当性確認コード40の入力)
上述の実施の形態においては、セーフティコントローラ100に設けられたロータリースイッチやサービススイッチを用いて妥当性確認コード40が入力される構成を例示したが、セーフティコントローラ100とは異なる装置(例えば、タッチパネル、HMI、PTなどのデバイスや、上位のコントローラなど)から妥当性確認コード40を入力するようにしてもよい。
(g3: Input of validation code 40 via external device)
In the above-described embodiment, the validation code 40 is input using a rotary switch or a service switch provided in the safety controller 100. The validation code 40 may be input from a device such as an HMI or PT, or a higher-level controller).

このように、セーフティコントローラ100とは別の装置に対して入力された妥当性確認コード40が、当該別の装置からセーフティコントローラ100へ提供されるようにしてもよい。この構成によれば、妥当性確認コード40をより容易に入力することができる。 In this way, the validation code 40 input to a device other than the safety controller 100 may be provided to the safety controller 100 from the other device. According to this configuration, the validation code 40 can be input more easily.

(g4:サポート装置200および未確認セーフティプログラム20)
本実施の形態に従うサポート装置200は、セーフティコントローラ100を所有している組織の所有であってもよいし、第三者の所有であってもよい。例えば、セーフティコントローラ100を製造販売しているメーカあるいは販売会社などがサポート装置200を所有していてもよい。
(g4: Support device 200 and unconfirmed safety program 20)
Support device 200 according to this embodiment may be owned by the organization that owns safety controller 100, or may be owned by a third party. For example, a manufacturer or sales company that manufactures and sells the safety controller 100 may own the support device 200.

また、サポート装置200が未確認セーフティプログラム20を生成する操作は、セーフティコントローラ100を所有している組織の設計者が行ってもよいし、別の組織(例えば、セーフティコントローラ100を製造販売しているメーカや、セーフティコントローラ100を含むシステムを構築するシステムインテグレータなど)に属する設計者が行ってもよい。 Further, the operation for the support device 200 to generate the unconfirmed safety program 20 may be performed by a designer of the organization that owns the safety controller 100, or by another organization (for example, a designer who manufactures and sells the safety controller 100). This may be performed by a designer belonging to a manufacturer, a system integrator who constructs a system including the safety controller 100, or the like.

また、設計者が対象のセーフティコントローラ100に応じたセーフティロジックをサポート装置200上で都度開発することで、未確認セーフティプログラム20が生成されてもよいし、既存の生産ラインを増設するような場合には、予め作成されたセーフティプログラムのプロジェクトを再度ビルドすることで、未確認セーフティプログラム20が生成されてもよい。この場合には、サポート装置200が自動的に未確認セーフティプログラム20および妥当性確認コードを生成するようにしてもよい。 Further, the unconfirmed safety program 20 may be generated by the designer developing safety logic corresponding to the target safety controller 100 on the support device 200 each time, or when expanding an existing production line. Alternatively, the unconfirmed safety program 20 may be generated by rebuilding a safety program project created in advance. In this case, the support device 200 may automatically generate the unverified safety program 20 and the validation code.

<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 safety controller 100, it is necessary to confirm at the installation site that functional safety requirements are met.

上述した関連記述においては、サポート装置をセーフティコントローラ100に接続して各種の操作および処理を行う必要がある。そのため、サポート装置の設置現場への持ち込みの手間や、サポート装置を操作するスキルを有する設計者が出向かなければならないといった負荷が生じ得る。 In the above-mentioned related description, it is necessary to connect the support device to the safety controller 100 to perform various operations and processes. This may create burdens such as the hassle of bringing the support device to the installation site and the need for a designer who has the skills to operate the support device to visit the site.

これに対して、本実施の形態においては、メモリカードなどの記憶媒体に格納されたセーフティプログラムをセーフティコントローラ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 safety controller 100, and when a series of validation checks are completed, the validation code 40 is additionally added. The safety controller 100 can be put into operation by simply inputting the following information. As a result, there is no need for the designer to bring the support device with him to the installation site of the safety controller 100, and even a worker who does not have the skills to operate the support device can perform validation checks. For example, the safety controller 100 can be put into a normal operating state.

さらに、本実施の形態の仕組みを用いることで、遠隔地にいる設計者と設置現場にいる作業者とが連係して、セーフティコントローラ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 safety controller 100.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 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.
前記セーフティコントローラは、前記記憶媒体に格納されたセーフティプログラムを揮発性領域記憶装置に保持し、前記通常実行するセーフティプログラムを不揮発性記憶装置に格納する、請求項1に記載のセーフティシステム。 The safety system according to claim 1, wherein the safety controller stores the safety program stored in the storage medium in a volatile storage device, and stores the normally executed safety program in a nonvolatile storage device. 前記第2の生成部は、予め定められたアルゴリズムに従って、前記生成されたセーフティプログラムから前記第1の妥当性確認コードを算出し、
前記第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.
前記第1の妥当性確認コードと同一の妥当性確認コードが前記生成されたセーフティプログラムに組み込まれ、
前記第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.
前記サポート装置は、前記第1の妥当性確認コードを表示する出力部をさらに備える、請求項1または2に記載のセーフティシステム。 The safety system according to claim 1 or 2, wherein the support device further comprises an output section for displaying the first validation code. 前記セーフティコントローラは、前記第1の妥当性確認コードの入力を受け付ける入力部をさらに備える、請求項1または2に記載のセーフティシステム。 The safety system according to claim 1 or 2, wherein the safety controller further includes an input section that accepts input of the first validation code. 前記セーフティコントローラとは別の装置に対して入力された前記第1の妥当性確認コードが、当該別の装置から前記セーフティコントローラへ提供される、請求項1または2に記載のセーフティシステム。 3. The safety system according to claim 1, wherein the first validation code input to a device other than the safety controller is provided to the safety controller from the other device. 記憶媒体に格納されたセーフティプログラムを読み出して一時的に保持する記憶領域を備え、前記セーフティプログラムは、サポート装置によって生成されたものであり、前記サポート装置は、前記生成されたセーフティプログラムに基づいて第1の妥当性確認コードを生成し、
前記一時的に保持されたセーフティプログラムを実行する実行部と、
前記一時的に保持されたセーフティプログラムに基づいて第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.
JP2022061564A 2022-04-01 2022-04-01 Safety system, safety controller, and processing method Pending JP2023151760A (en)

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)

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