JP7005914B2 - Information processing equipment, information processing methods, and information processing programs - Google Patents

Information processing equipment, information processing methods, and information processing programs Download PDF

Info

Publication number
JP7005914B2
JP7005914B2 JP2017047659A JP2017047659A JP7005914B2 JP 7005914 B2 JP7005914 B2 JP 7005914B2 JP 2017047659 A JP2017047659 A JP 2017047659A JP 2017047659 A JP2017047659 A JP 2017047659A JP 7005914 B2 JP7005914 B2 JP 7005914B2
Authority
JP
Japan
Prior art keywords
safety
information processing
function block
program
error
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.)
Active
Application number
JP2017047659A
Other languages
Japanese (ja)
Other versions
JP2018151867A (en
Inventor
亮輔 藤村
伸行 田熊
拓 菅沼
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
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 filed Critical Omron Corp
Priority to JP2017047659A priority Critical patent/JP7005914B2/en
Publication of JP2018151867A publication Critical patent/JP2018151867A/en
Priority to JP2021204827A priority patent/JP7287445B2/en
Application granted granted Critical
Publication of JP7005914B2 publication Critical patent/JP7005914B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)

Description

本開示は、安全プログラムの動作をシミュレーションするための技術に関する。 The present disclosure relates to techniques for simulating the operation of safety programs.

多くの製造現場で使用される機械を安全に使用するためには、国際規格に従う安全機器(安全コンポーネント)を使用しなければならばない。この安全機器は、ロボットなどの自動的に動く装置によって人の安全が脅かされることの防止を目的としている。このような安全機器は、安全プログラムを実行する安全コントローラをはじめとして、人の存在や侵入を検知する検知機器、非常時の操作を受付ける入力機器、実際に機器を停止させる出力機器などを含む。 In order to safely use machines used in many manufacturing sites, safety equipment (safety components) that comply with international standards must be used. This safety device aims to prevent human safety from being threatened by automatically moving devices such as robots. Such safety devices include safety controllers that execute safety programs, detection devices that detect the presence or intrusion of people, input devices that accept emergency operations, and output devices that actually stop the device.

製造現場での安全を確保する技術の一つとして、たとえば、特開2014-137621号公報(特許文献1)は、安全コントローラのユーザプログラムの設計を容易にすることが可能な安全コントローラのユーザプログラムの設計を支援する方法を開示する。 As one of the techniques for ensuring safety at the manufacturing site, for example, Japanese Patent Application Laid-Open No. 2014-137621 (Patent Document 1) is a user program of a safety controller capable of facilitating the design of a user program of a safety controller. Disclose how to support the design of.

特開2014-137621号公報(特許文献1)は、安全コントローラと安全I/Oターミナルとがバス型ネットワークを介して接続され、安全コントローラでは、安全I/Oターミナルに接続される安全入力機器からの入力信号に基づいて、安全I/Oターミナルに接続される安全出力機器に対して安全動作を行うための指令を出力する構成を開示する。 In Japanese Patent Application Laid-Open No. 2014-137621 (Patent Document 1), a safety controller and a safety I / O terminal are connected via a bus-type network, and in the safety controller, a safety input device connected to the safety I / O terminal is used. Discloses a configuration that outputs a command for performing safe operation to a safety output device connected to a safety I / O terminal based on the input signal of.

特開2014-137621号公報Japanese Unexamined Patent Publication No. 2014-137621

安全プログラムは、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に生成される。安全プログラムは、安全機器からの入力信号に基づいて、対象機器を制御する。ファンクションブロックの1つとして、EDM(External Device Monitoring)ファンクションブロックがある。EDMファンクションブロックは、ロボットのモータなどの対象機器が意図した通りに動作しているか否かを監視するための機能モジュールである。EDMファンクションブロックは、対象機器の動作状態を示すフィードバック信号の入力を受けて、対象機器が意図した通りに動作しているか否かを判断する。対象機器が意図した通りに動作していないと判断した場合には、EDMファンクションブロックは、エラーを出力し、対象機器を強制的に停止させる。 The safety program is generated based on one or more function blocks combined from a plurality of types of function blocks prepared in advance. The safety program controls the target device based on the input signal from the safety device. As one of the function blocks, there is an EDM (External Device Monitoring) function block. The EDM function block is a functional module for monitoring whether or not a target device such as a robot motor is operating as intended. The EDM function block receives the input of the feedback signal indicating the operating state of the target device, and determines whether or not the target device is operating as intended. If it is determined that the target device is not operating as intended, the EDM function block outputs an error and forcibly stops the target device.

安全コントローラで実行される安全プログラムは、意図する通りに動作する必要がある。そのため、設計者は、安全コントローラで安全プログラムを実行する前に、PC(Personal Computer)などの情報処理装置上で、作成した安全プログラムの動作をシミュレーションする。設計者は、安全プログラムが正常に動作していることをシミュレーション上で確認し、その後、安全プログラムを安全コントローラに送信する。 The safety program executed by the safety controller must work as intended. Therefore, the designer simulates the operation of the created safety program on an information processing device such as a PC (Personal Computer) before executing the safety program on the safety controller. The designer confirms that the safety program is operating normally on the simulation, and then sends the safety program to the safety controller.

シミュレーションでは、対象機器が接続されていないため、フィードバック信号が対象機器から得られない。そのため、EDMファンクションブロックが安全プログラムに含まれている場合には、安全プログラムのシミュレーション時にエラーが出力されてしまう。このエラーを回避するために、設計者は、シミュレーション時においてはEDMファンクションブロックを敢えて削除している。したがって、安全プログラムのシミュレーション時における手間を軽減することが可能な技術が望まれている。 In the simulation, the feedback signal cannot be obtained from the target device because the target device is not connected. Therefore, if the EDM function block is included in the safety program, an error will be output during the simulation of the safety program. In order to avoid this error, the designer dares to delete the EDM function block at the time of simulation. Therefore, there is a demand for a technique that can reduce the time and effort required when simulating a safety program.

ある局面に従うと、予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムの評価を行うための情報処理装置は、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に上記安全プログラムを生成するための生成部を備える。上記複数種類のファンクションブロックは、上記対象機器の動作を監視するための監視ファンクションブロックを含む。上記監視ファンクションブロックは、第1入力信号を受けるための第1入力部と、上記第1入力信号が変化したことに基づいて、上記対象機器の動作状態を変化させる制御信号を出力するための第1出力部と、上記対象機器の動作状態を示す第2入力信号を受けるための第2入力部と、上記制御信号が変化してから所定時間が経過するまでの間において上記第2入力信号が変化しない場合に、エラーを出力するための第2出力部とを有する。上記情報処理装置は、上記安全プログラムの動作をシミュレーションするための実行部をさらに備える。上記実行部は、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが含まれているときに、上記第2出力部による上記エラーの出力を無効にする。 According to a certain aspect, the information processing device for evaluating the safety program that operates the target device so that the safety is maintained when the predetermined conditions are satisfied is combined from a plurality of types of function blocks prepared in advance. It is provided with a generation unit for generating the above safety program based on one or more function blocks created. The plurality of types of function blocks include a monitoring function block for monitoring the operation of the target device. The monitoring function block outputs a first input unit for receiving the first input signal and a control signal for changing the operating state of the target device based on the change of the first input signal. The first output unit, the second input unit for receiving the second input signal indicating the operating state of the target device, and the second input signal between the change of the control signal and the elapse of a predetermined time. It has a second output unit for outputting an error when it does not change. The information processing apparatus further includes an execution unit for simulating the operation of the safety program. The execution unit invalidates the output of the error by the second output unit when the monitoring function block is included in the function block from which the safety program is generated.

好ましくは、上記情報処理装置は、上記対象機器の動作状態を模擬的に表した模擬信号を生成するためのエミュレータをさらに備える。上記実行部による上記安全プログラムの実行モードは、第1シミュレーションモードと、第2シミュレーションモードとを含む。上記実行部は、上記実行モードが上記第1シミュレーションモードである場合、上記第2出力部による上記エラーの出力を無効にし、上記実行モードが上記第2シミュレーションモードである場合、上記模擬信号を上記第2入力部に入力する。 Preferably, the information processing apparatus further includes an emulator for generating a simulated signal that simulates the operating state of the target device. The execution mode of the safety program by the execution unit includes a first simulation mode and a second simulation mode. When the execution mode is the first simulation mode, the execution unit invalidates the output of the error by the second output unit, and when the execution mode is the second simulation mode, the simulation signal is transmitted. Input to the second input unit.

好ましくは、上記実行部は、上記実行モードが上記第2シミュレーションモードである場合、上記制御信号が変化してから上記所定時間が経過するまでの間に上記模擬信号を変化させる。 Preferably, when the execution mode is the second simulation mode, the execution unit changes the simulated signal between the time when the control signal changes and the time when the predetermined time elapses.

好ましくは、上記実行部は、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが複数含まれている場合に、当該複数の監視ファンクションブロックのすべてについて上記エラーの出力を無効にする。 Preferably, when the function block from which the safety program is generated includes a plurality of the monitoring function blocks, the execution unit invalidates the output of the error for all of the plurality of monitoring function blocks.

好ましくは、上記情報処理装置は、上記安全プログラムを設計するためのユーザインターフェイスを提供する提供部と、上記複数種類のファンクションブロックの任意のファンクションブロックを上記ユーザインターフェイスに配置する操作を受けるための操作受付部とをさらに備える。上記ユーザインターフェイスは、当該ユーザインターフェイスに上記監視ファンクションブロックが含まれている場合において、上記エラーの出力が無効に設定されているときに、上記エラーの出力が無効であることを示す予め定められた態様で上記監視ファンクションブロックを表示する。 Preferably, the information processing apparatus receives an operation of providing a user interface for designing the safety program and an operation of arranging any function block of the plurality of types of function blocks in the user interface. Further equipped with a reception department. The user interface is predetermined to indicate that the output of the error is invalid when the output of the error is set to invalid when the user interface includes the monitoring function block. The monitoring function block is displayed in an embodiment.

好ましくは、上記態様で上記監視ファンクションブロックを表示することは、上記ユーザインターフェイスにおいて上記監視ファンクションブロックを他のファンクションブロックとは異なる態様で表示することを含む。 Preferably, displaying the monitoring function block in the above aspect includes displaying the monitoring function block in the user interface in a manner different from other function blocks.

他の局面に従うと、予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理方法は、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に上記安全プログラムを生成するステップを備える。上記複数種類のファンクションブロックは、上記対象機器の動作を監視するための監視ファンクションブロックを含む。上記監視ファンクションブロックによって実行される処理は、第1入力信号を受けるステップと、上記第1入力信号が変化したことに基づいて、上記対象機器の動作状態を変化させる制御信号を出力するステップと、上記対象機器の動作状態を示す第2入力信号を受けるステップと、上記制御信号が変化してから所定時間が経過するまでの間において上記第2入力信号が変化しない場合に、エラーを出力するステップとを有する。上記情報処理方法は、上記安全プログラムの動作をシミュレーションするステップをさらに備える。上記シミュレーションするステップは、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが含まれているときに、上記エラーを出力するステップにおける上記エラーの出力を無効にするステップを含む。 According to other aspects, the information processing method for evaluating the safety program that operates the target device so that the safety is maintained when the predetermined conditions are satisfied is a combination of multiple types of function blocks prepared in advance. A step of generating the above safety program based on the one or more function blocks created is provided. The plurality of types of function blocks include a monitoring function block for monitoring the operation of the target device. The processing executed by the monitoring function block includes a step of receiving the first input signal, a step of outputting a control signal that changes the operating state of the target device based on the change of the first input signal, and a step of outputting the control signal. A step of receiving a second input signal indicating the operating state of the target device, and a step of outputting an error when the second input signal does not change between the time when the control signal changes and the time when a predetermined time elapses. And have. The information processing method further includes a step of simulating the operation of the safety program. The simulation step includes a step of invalidating the output of the error in the step of outputting the error when the monitoring function block is included in the function block from which the safety program is generated.

他の局面に従うと、予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理プログラムは、コンピュータに、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に上記安全プログラムを生成するステップを実行させる。上記複数種類のファンクションブロックは、上記対象機器の動作を監視するための監視ファンクションブロックを含む。上記監視ファンクションブロックによって実行される処理は、第1入力信号を受けるステップと、上記第1入力信号が変化したことに基づいて、上記対象機器の動作状態を変化させる制御信号を出力するステップと、上記対象機器の動作状態を示す第2入力信号を受けるステップと、上記制御信号が変化してから所定時間が経過するまでの間において上記第2入力信号が変化しない場合に、エラーを出力するステップとを有する。上記情報処理プログラムは、コンピュータに、さらに、上記安全プログラムの動作をシミュレーションするステップをさらに実行させる。上記シミュレーションするステップは、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが含まれているときに、上記エラーを出力するステップにおける上記エラーの出力を無効にするステップを含む。 According to other aspects, the information processing program for evaluating the safety program that operates the target device so that the safety is maintained when the predetermined conditions are satisfied is a plurality of types of functions prepared in advance in the computer. The step of generating the above safety program is executed based on one or more function blocks combined from the blocks. The plurality of types of function blocks include a monitoring function block for monitoring the operation of the target device. The processing executed by the monitoring function block includes a step of receiving the first input signal, a step of outputting a control signal that changes the operating state of the target device based on the change of the first input signal, and a step of outputting the control signal. A step of receiving a second input signal indicating the operating state of the target device, and a step of outputting an error when the second input signal does not change between the time when the control signal changes and the time when a predetermined time elapses. And have. The information processing program causes the computer to further perform a step of simulating the operation of the safety program. The simulation step includes a step of invalidating the output of the error in the step of outputting the error when the monitoring function block is included in the function block from which the safety program is generated.

ある局面において、安全プログラムのシミュレーション時における手間を軽減することができる。 In a certain aspect, it is possible to reduce the time and effort when simulating the safety program.

実施の形態に従う安全システムの概略構成の一例を示す模式図である。It is a schematic diagram which shows an example of the schematic structure of the safety system according to an embodiment. 実施の形態に従う安全コントローラの装置構成の一例を示す模式図である。It is a schematic diagram which shows an example of the apparatus configuration of the safety controller according to an embodiment. 実施の形態に従う情報処理装置の装置構成の一例を示す模式図である。It is a schematic diagram which shows an example of the apparatus configuration of the information processing apparatus according to an embodiment. 実施の形態に従う安全プログラムの設計画面の一例であるユーザインターフェイスを示す図である。It is a figure which shows the user interface which is an example of the design screen of the safety program according to the embodiment. EDMファンクションブロックの一例であるファンクションブロックを示す図である。It is a figure which shows the function block which is an example of an EDM function block. 実施の形態に従う情報処理装置の機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of the information processing apparatus according to an embodiment. EDMエラーの出力の無効化時におけるEDMファンクションブロックの表示態様の一例を示す図である。It is a figure which shows an example of the display mode of the EDM function block at the time of invalidating the output of an EDM error. 模擬信号がEDMファンクションブロックであるファンクションブロックに出力されている様子を示す図である。It is a figure which shows how the simulated signal is output to the function block which is an EDM function block. 模擬信号の生成ルールを設定するための設定画面を示す図である。It is a figure which shows the setting screen for setting the generation rule of a simulated signal. ディスプレイに表示されているシミュレーション結果画面を示す図である。It is a figure which shows the simulation result screen displayed on the display. 第1シミュレーションモードで安全プログラムを実行したときの信号状態を示す図である。It is a figure which shows the signal state when the safety program is executed in the 1st simulation mode. 実機モードで安全プログラムを実行したときの信号状態を示す図である。It is a figure which shows the signal state when the safety program is executed in the actual machine mode. シミュレーション時における安全プログラムの実行フローを示す図である。It is a figure which shows the execution flow of a safety program at the time of a simulation.

以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。 Hereinafter, embodiments according to the present invention will be described with reference to the drawings. In the following description, the same parts and components are designated by the same reference numerals. Their names and functions are the same. Therefore, the detailed description of these will not be repeated. In addition, each embodiment and each modification described below may be selectively combined as appropriate.

<A.安全システム1の概要>
まず、本実施の形態に従う安全システム1の構成について説明する。図1は、本実施の形態に従う安全システム1の概略構成の一例を示す模式図である。
<A. Overview of Safety System 1>
First, the configuration of the safety system 1 according to the present embodiment will be described. FIG. 1 is a schematic diagram showing an example of a schematic configuration of a safety system 1 according to the present embodiment.

図1を参照して、安全システム1は、主として、設備や機械などを制御する制御装置300と、安全コントローラ100とを含む。 With reference to FIG. 1, the safety system 1 mainly includes a control device 300 for controlling equipment, machines, and the like, and a safety controller 100.

制御装置300は、典型的には、PLC(プログラマブルコントローラ)などで構成され、制御対象から取得された入力データに関して、予め定められたユーザプログラムを実行し、それによって算出される出力データに応じて制御対象に指令を与える。図1に示す制御対象として、モータ10およびモータ10を駆動するドライバ12を例示する。制御装置300は、ユーザプログラムに従って、ある駆動開始条件が成立するとモータ10を回転駆動させるために、ドライバ12に駆動指令を出力する。また、ある駆動停止条件が成立するとモータ10の回転駆動を停止させるために、ドライバ12への駆動指令の出力を停止する。 The control device 300 is typically composed of a PLC (programmable controller) or the like, executes a predetermined user program with respect to the input data acquired from the controlled object, and responds to the output data calculated by the execution. Give a command to the controlled object. As a control target shown in FIG. 1, a motor 10 and a driver 12 for driving the motor 10 will be illustrated. The control device 300 outputs a drive command to the driver 12 in order to rotationally drive the motor 10 when a certain drive start condition is satisfied according to a user program. Further, when a certain drive stop condition is satisfied, the output of the drive command to the driver 12 is stopped in order to stop the rotational drive of the motor 10.

このような制御装置300での制御対象の制御に加えて、典型的には、制御対象に関連する作業者などの安全を確保するなどのために、安全コントローラ100がさらに配置される。安全コントローラ100は、セーフティ入力コンポーネント(セーフティセンサ、セーフティドアスイッチ、セーフティリミットスイッチ、非常停止スイッチ、セーフティスイッチなど)からの入力信号などの関連付けられる、予め定められた条件(安全条件)が成立すると、安全動作を遂行する。 In addition to controlling the controlled object by the control device 300, typically, a safety controller 100 is further arranged to ensure the safety of workers and the like related to the controlled object. When the safety controller 100 satisfies a predetermined condition (safety condition) associated with the input signal from the safety input component (safety sensor, safety door switch, safety limit switch, emergency stop switch, safety switch, etc.), Perform safe operation.

図1に示す例では、ドライバ12への電力供給ライン上にセーフティリレー14が配置されている。セーフティリレー14は、たとえば、電路の遮断するためのコンタクタである。また、モータ10により駆動される装置の周辺に危険エリアが設定されており、その危険エリアの周辺に安全機器16が配置されている。安全機器16は、たとえば、人の存在や侵入を検知する検知機器、非常時の操作を受付ける入力機器、実際に機器を停止させる出力機器などを含む。セーフティリレー14は、安全機器16からの入力信号を受けることで駆動する。 In the example shown in FIG. 1, the safety relay 14 is arranged on the power supply line to the driver 12. The safety relay 14 is, for example, a contactor for shutting off an electric circuit. Further, a dangerous area is set around the device driven by the motor 10, and the safety device 16 is arranged around the dangerous area. The safety device 16 includes, for example, a detection device for detecting the presence or intrusion of a person, an input device for receiving an emergency operation, an output device for actually stopping the device, and the like. The safety relay 14 is driven by receiving an input signal from the safety device 16.

一例として、非常停止スイッチとしての安全機器16が作業者による非常停止操作を受けると、安全コントローラ100は、非常停止スイッチからの停止信号に応答して、セーフティリレー14に制御信号を出力する。セーフティリレー14は、安全コントローラ100からの制御信号に応答して動作し、モータ10を駆動するドライバ12への電力供給を遮断する。その結果、モータ10が強制的に停止される。このようなモータ10の強制的な停止によって、作業者の安全を確保することができる。 As an example, when the safety device 16 as an emergency stop switch receives an emergency stop operation by an operator, the safety controller 100 outputs a control signal to the safety relay 14 in response to the stop signal from the emergency stop switch. The safety relay 14 operates in response to a control signal from the safety controller 100, and cuts off the power supply to the driver 12 that drives the motor 10. As a result, the motor 10 is forcibly stopped. By forcibly stopping the motor 10 in this way, the safety of the operator can be ensured.

他の例として、セーフティセンサとしての安全機器16は、作業者が危険エリアへ進入したことを検知する。作業者が危険エリアへ進入すると、セーフティセンサによりその作業者の進入が検知される。安全コントローラ100は、セーフティセンサからの検知信号に応答して、セーフティリレー14に制御信号を出力する。セーフティリレー14は、安全コントローラ100からの制御信号に応答して動作し、モータ10を駆動するドライバ12への電力供給を遮断する。その結果、モータ10が強制的に停止される。このようなモータ10の強制的な停止によって、危険エリアへ進入した作業者の安全を確保することができる。 As another example, the safety device 16 as a safety sensor detects that the worker has entered the dangerous area. When a worker enters a dangerous area, the safety sensor detects the worker's entry. The safety controller 100 outputs a control signal to the safety relay 14 in response to the detection signal from the safety sensor. The safety relay 14 operates in response to a control signal from the safety controller 100, and cuts off the power supply to the driver 12 that drives the motor 10. As a result, the motor 10 is forcibly stopped. By forcibly stopping the motor 10 in this way, the safety of the operator who has entered the dangerous area can be ensured.

図1に示す構成例においては、安全コントローラ100および制御装置300は、制御系ネットワーク20を介して接続されており、互いが内部的に保持するデータを遣り取りすることができる。また、安全コントローラ100および制御装置300は、情報系ネットワーク22を介して、情報処理装置200と接続されている。 In the configuration example shown in FIG. 1, the safety controller 100 and the control device 300 are connected to each other via the control system network 20, and can exchange data internally held by each other. Further, the safety controller 100 and the control device 300 are connected to the information processing device 200 via the information system network 22.

情報処理装置200は、安全コントローラ100または制御装置300で実行されるプログラムの開発、プログラムの実行状態の確認、プログラムの変更などの機能を提供するためのサポートツールである。情報処理装置200は、たとえば、PC(Personal Computer)、タブレット端末、スマートフォン、または、その他の通信端末である。 The information processing device 200 is a support tool for providing functions such as development of a program executed by the safety controller 100 or the control device 300, confirmation of the execution state of the program, and change of the program. The information processing device 200 is, for example, a PC (Personal Computer), a tablet terminal, a smartphone, or another communication terminal.

<B.装置構成>
次に、本実施の形態に従う安全システム1を構成する各装置の装置構成について説明する。
<B. Device configuration>
Next, the device configuration of each device constituting the safety system 1 according to the present embodiment will be described.

(b1:安全コントローラ100)
図2は、本実施の形態に従う安全コントローラ100の装置構成の一例を示す模式図である。図2を参照して、安全コントローラ100は、プロセッサ102と、主メモリ104と、フラッシュメモリ106とを含む演算処理部108、および、各種インターフェイスからなる。
(B1: Safety controller 100)
FIG. 2 is a schematic diagram showing an example of the device configuration of the safety controller 100 according to the present embodiment. With reference to FIG. 2, the safety controller 100 includes a processor 102, a main memory 104, an arithmetic processing unit 108 including a flash memory 106, and various interfaces.

演算処理部108において、プロセッサ102は、フラッシュメモリ106に格納されているシステムプログラムおよび安全プログラムなどを主メモリ104に展開して実行することで、制御対象に応じた機能安全を実現する。 In the arithmetic processing unit 108, the processor 102 realizes functional safety according to the control target by expanding and executing the system program and the safety program stored in the flash memory 106 in the main memory 104.

本明細書において、「安全プログラム」は、予め定められた条件(安全条件)が成立すると対象機器を安全が保たれるように動作させるためのプログラムであり、安全コントローラの処理を定義する命令群を意味する。より具体的には、安全プログラムは、1または複数の入力信号に対して、1または複数の出力信号の値を決定するための命令の組み合わせを含む。 In the present specification, the "safety program" is a program for operating the target device so that the target device is kept safe when a predetermined condition (safety condition) is satisfied, and is a group of instructions defining the processing of the safety controller. Means. More specifically, the safety program comprises a combination of instructions for determining the value of one or more output signals for one or more input signals.

安全プログラムは、安全コントローラの処理を定義するものであれば、どのような実体であってもよい。すなわち、安全プログラムは、1または複数のソースコードとして存在してもよいし、1または複数のオブジェクトコードとして存在してもよいし、安全コントローラのプロセッサで実行可能な形式(実行形式)であってもよい。 The safety program may be any entity as long as it defines the processing of the safety controller. That is, the safety program may exist as one or more source codes, may exist as one or more object codes, and may be in a format (execution format) that can be executed by the processor of the safety controller. May be good.

また、安全プログラムは、ファンクションブロックダイアグラム(FBD:Function Block Diagram)を用いて記述されていてもよい。あるいは、ラダーダイアグラム(LD:Ladder Diagram)、命令リスト(IL:Instruction List)、構造化テキスト(ST:Structured Text)、および、シーケンシャルファンクションチャート(SFC:Sequential Function Chart)のいずれか、あるいは、これらの組み合わせで記述されてもよい。あるいは、JavaScript(登録商標)やC言語のような汎用的なプログラミング言語で記述されていてもよい。 Further, the safety program may be described using a function block diagram (FBD). Alternatively, any one of a ladder diagram (LD: Ladder Diagram), an instruction list (IL: Instruction List), a structured text (ST: Structured Text), and a sequential function chart (SFC: Sequential Function Chart), or these. It may be described in combination. Alternatively, it may be described in a general-purpose programming language such as Javascript (registered trademark) or C language.

以下の説明では、変数プログラムとして記述された安全プログラムについて例示する。そのため、実際に安全コントローラと安全コンポーネントなどとの間で遣り取りされる信号(典型的には、入力信号および出力信号)を安全プログラム内では、それぞれ「変数」として取り扱うことになる。これらの現実の信号と安全プログラム内の対応する変数とは本質的に同じものであるため、以下の説明では、これらを「信号」と総称することもある。すなわち、本明細書において、「信号」は、現実に遣り取りされる電気信号に加えて、安全コントローラ上でその電気信号に割り当てられた値を参照する変数を含み得る。 In the following description, a safety program described as a variable program will be illustrated. Therefore, the signals (typically, the input signal and the output signal) actually exchanged between the safety controller and the safety component are treated as "variables" in the safety program. Since these real signals and the corresponding variables in the safety program are essentially the same, they are sometimes collectively referred to as "signals" in the following description. That is, in the present specification, the "signal" may include, in addition to the electric signal actually exchanged, a variable that refers to the value assigned to the electric signal on the safety controller.

安全コントローラ100は、インターフェイスとして、制御系ネットワークインターフェイス110と、情報系ネットワークインターフェイス112と、フィールドバスインターフェイス114と、メモリカードインターフェイス116と、ローカル通信インターフェイス120と、内部バスインターフェイス122とを含む。 The safety controller 100 includes a control system network interface 110, an information system network interface 112, a field bus interface 114, a memory card interface 116, a local communication interface 120, and an internal bus interface 122 as interfaces.

制御系ネットワークインターフェイス110は、制御系ネットワーク20を介して他の装置との通信を仲介する。制御系ネットワーク20としては、たとえば、EtherCAT(登録商標)などの定時性が保証されるネットワークプロトコルが好ましい。 The control system network interface 110 mediates communication with other devices via the control system network 20. As the control system network 20, for example, a network protocol such as EtherCAT (registered trademark) that guarantees punctuality is preferable.

情報系ネットワークインターフェイス112は、情報系ネットワーク22を介して他の装置との通信を仲介する。情報系ネットワーク22としては、たとえば、EtherNet/IP(登録商標)などの定時性が保証されるネットワークプロトコルが好ましい。 The information system network interface 112 mediates communication with other devices via the information system network 22. As the information system network 22, for example, a network protocol such as EtherNet / IP (registered trademark) that guarantees punctuality is preferable.

フィールドバスインターフェイス114は、図示しないフィールドバスを介して接続される入出力ユニットとの通信を仲介する。フィールドバスとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの定時性が保証されるネットワークプロトコルが好ましい。 The fieldbus interface 114 mediates communication with an input / output unit connected via a fieldbus (not shown). As the fieldbus, network protocols such as EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), and CompoNet (registered trademark) that guarantee punctuality are preferable.

メモリカードインターフェイス116は、メモリカード118を装着可能に構成されており、メモリカード118からのデータ読出しおよびメモリカード118へのデータ書込みを行う。 The memory card interface 116 is configured so that the memory card 118 can be mounted, and reads data from the memory card 118 and writes data to the memory card 118.

ローカル通信インターフェイス120は、情報処理装置200または他の装置と直接接続するインターフェイスであり、たとえば、USB(Universal Serial Bus)などが用いられる。 The local communication interface 120 is an interface that directly connects to the information processing device 200 or another device, and for example, USB (Universal Serial Bus) or the like is used.

内部バスインターフェイス122は、内部バスを介して安全コントローラ100に直接装着される入出力ユニットとの間の通信を仲介する。 The internal bus interface 122 mediates communication with an input / output unit directly mounted on the safety controller 100 via the internal bus.

(b2:情報処理装置200)
本実施の形態に従う情報処理装置200は、典型的には、汎用コンピュータ上でサポートプログラムが実行されることで実現される。
(B2: Information processing device 200)
The information processing apparatus 200 according to the present embodiment is typically realized by executing a support program on a general-purpose computer.

図3は、本実施の形態に従う情報処理装置200の装置構成の一例を示す模式図である。図3を参照して、情報処理装置200は、主たるコンポーネントとして、オペレーティングシステム(OS:Operating System)および後述するような各種プログラムを実行するプロセッサ202と、プロセッサ202でのプログラム実行に必要なデータを格納するための作業領域を提供する主メモリ204と、キーボードやマウスなどのユーザ操作を受付ける操作ユニット206(操作受付部)と、ディスプレイ、各種インジケータ、プリンタなどの処理結果を出力する出力ユニット208と、情報系ネットワークに接続される情報系ネットワークインターフェイス210と、光学ドライブ212と、安全コントローラ100などと通信するローカル通信インターフェイス216と、補助記憶装置220とを含む。これらのコンポーネントは、内部バス218などを介してデータ通信可能に接続される。 FIG. 3 is a schematic diagram showing an example of the device configuration of the information processing device 200 according to the present embodiment. With reference to FIG. 3, the information processing apparatus 200 has, as main components, an operating system (OS: Operating System), a processor 202 that executes various programs as described later, and data necessary for program execution on the processor 202. A main memory 204 that provides a work area for storage, an operation unit 206 (operation reception unit) that accepts user operations such as a keyboard and mouse, and an output unit 208 that outputs processing results such as a display, various indicators, and a printer. , The information system network interface 210 connected to the information system network, the optical drive 212, the local communication interface 216 for communicating with the safety controller 100 and the like, and the auxiliary storage device 220. These components are connected so as to be capable of data communication via an internal bus 218 or the like.

情報処理装置200は、光学ドライブ212を有しており、コンピュータ読取可能なプログラムを非一過的に格納する光学記録媒体(たとえば、DVD(Digital Versatile Disc)など)のコンピュータ読取可能な記録媒体214から、各種プログラムを読取って補助記憶装置220などにインストールする。 The information processing apparatus 200 has an optical drive 212, and is a computer-readable recording medium 214 of an optical recording medium (for example, a DVD (Digital Versatile Disc)) that non-transiently stores a computer-readable program. Then, various programs are read and installed in the auxiliary storage device 220 or the like.

情報処理装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体214を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従う機能安全の評価に係るプログラムは、OSが提供するモジュールの一部を利用する形で実現される場合もある。 The various programs executed by the information processing device 200 may be installed via a computer-readable recording medium 214, or may be installed by downloading from a server device or the like on the network. Further, the program related to the functional safety evaluation according to the present embodiment may be realized by using a part of the modules provided by the OS.

補助記憶装置220は、たとえば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成され、プロセッサ202で実行されるプログラムを格納する。具体的には、補助記憶装置220は、後述するような処理を提供するプログラムとして、安全プログラム228(ソースプログラム)からプロセッサ202で実行可能なコード(実行モジュール)を生成する実行プログラム222と、予め用意されている複数のファンクションブロック224とを含む。補助記憶装置220には、安全プログラム228に関連付けられた各種設定226が格納される。 The auxiliary storage device 220 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Flash Solid State Drive), and stores a program executed by the processor 202. Specifically, the auxiliary storage device 220 includes an execution program 222 that generates code (execution module) that can be executed by the processor 202 from the safety program 228 (source program) as a program that provides processing as described later. Includes a plurality of prepared function blocks 224. The auxiliary storage 220 stores various settings 226 associated with the safety program 228.

図3には、汎用コンピュータ上でサポートプログラムを実行することで、本実施の形態に従う情報処理装置200に係る機能を実現するが、このような構成に代えて、その全部または一部をハードワイヤード回路で実装してもよい。たとえば、プロセッサ202が上述の各種プログラムを実行することで提供される機能をASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)を用いて実装してもよい。 In FIG. 3, by executing a support program on a general-purpose computer, the functions related to the information processing apparatus 200 according to the present embodiment are realized, but instead of such a configuration, all or a part thereof is hard-wired. It may be mounted in a circuit. For example, the functions provided by the processor 202 by executing the above-mentioned various programs may be implemented by using an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).

(b3:制御装置300)
本実施の形態に従う制御装置300は、図2に示す安全コントローラ100と同様の装置構成を有しているので、詳細な説明は繰り返さない。なお、安全コントローラ100は、プロセッサなどの二重化やセーフティ用のモジュールが採用されているが、一般的には、制御装置300にはそのような構成は採用されていない。また、制御装置300では、上述の安全プログラムではなく、ユーザプログラムが実行される。
(B3: Control device 300)
Since the controller 300 according to the present embodiment has the same device configuration as the safety controller 100 shown in FIG. 2, detailed description will not be repeated. The safety controller 100 employs a module for duplication such as a processor and a safety module, but generally, such a configuration is not adopted in the controller 300. Further, in the control device 300, a user program is executed instead of the above-mentioned safety program.

<C.安全プログラムの設計ツール>
次に、安全プログラムの設計ツールについて説明する。当該設計ツールは、情報処理装置200によって予めインストールされているアプリケーションによって提供される。当該アプリケーションが起動されると、安全プログラムの設計画面が情報処理装置200に表示される。図4は、安全プログラムの設計画面の一例であるユーザインターフェイス250を示す図である。
<C. Safety program design tools >
Next, the safety program design tool will be described. The design tool is provided by an application pre-installed by the information processing apparatus 200. When the application is started, the design screen of the safety program is displayed on the information processing apparatus 200. FIG. 4 is a diagram showing a user interface 250 which is an example of a design screen of a safety program.

ユーザインターフェイス250は、たとえば、上述の出力ユニット208(図3参照)に表示される。設計者は、ユーザインターフェイス250上で任意のファンクションブロックを組み合わせることで任意の安全プログラムを設計することができる。より具体的には、設計者は、予め用意されている複数種類のファンクションブロックの内から任意のファンクションブロックをユーザインターフェイス250に配置し、配置した各ファンクションブロック間の入出力関係を規定する。このような操作は、たとえば、上述の操作ユニット206(図3参照)に対して行われる。 The user interface 250 is displayed, for example, on the output unit 208 (see FIG. 3) described above. The designer can design any safety program by combining any function blocks on the user interface 250. More specifically, the designer arranges an arbitrary function block from among a plurality of types of function blocks prepared in advance on the user interface 250, and defines an input / output relationship between the arranged function blocks. Such an operation is performed on, for example, the operation unit 206 (see FIG. 3) described above.

図4の例では、ファンクションブロック251がユーザインターフェイス250上に配置されている。ファンクションブロック251は、安全機器16(図1参照)の一例である非常停止スイッチの動作状態を監視するための機能モジュールである。図4の例では、非常停止スイッチの接点は、安全性を確保するために二重化されている。非常停止スイッチは、押下されると、押下状態を維持し、解除操作(たとえば、回転操作など)が行われると押下状態を解除する。非常停止スイッチが押下されると、非常停止スイッチに割り当てられている変数VA1,VA2が変化する。非常停止スイッチは、押下時には非導通状態になり、非押下時(解除時)には導通状態となる(所謂「b接点」)。すなわち、非常停止スイッチの押下時には変数VA1,VA2が共に「0」(FALSE)となり、非常停止スイッチの非押下時には変数VA1,VA2が共に「1」(TRUE)となる。 In the example of FIG. 4, the function block 251 is arranged on the user interface 250. The function block 251 is a functional module for monitoring the operating state of the emergency stop switch, which is an example of the safety device 16 (see FIG. 1). In the example of FIG. 4, the contacts of the emergency stop switch are duplicated to ensure safety. When the emergency stop switch is pressed, the pressed state is maintained, and when a release operation (for example, a rotation operation) is performed, the pressed state is released. When the emergency stop switch is pressed, the variables VA1 and VA2 assigned to the emergency stop switch change. The emergency stop switch is in a non-conducting state when pressed, and is in a conductive state when not pressed (when released) (so-called "b contact"). That is, when the emergency stop switch is pressed, the variables VA1 and VA2 are both "0" (FALSE), and when the emergency stop switch is not pressed, the variables VA1 and VA2 are both "1" (TRUE).

変数VA1,VA2が「0」(FALSE)である場合、ファンクションブロック251は、「0」(FALSE)を示す信号SG1を出力する。変数VA1,VA2が「1」(TRUE)である場合、ファンクションブロック251は、「1」(TRUE)を示す信号SG1を出力する。 When the variables VA1 and VA2 are "0" (FALSE), the function block 251 outputs a signal SG1 indicating "0" (FALSE). When the variables VA1 and VA2 are "1" (TRUE), the function block 251 outputs the signal SG1 indicating "1" (TRUE).

ファンクションブロック255は、安全機器16(図1参照)の一例であるリセットボタンの状態を監視するための機能モジュールである。リセットボタンが押下されると、リセットボタンに割り当てられている変数VA3が変化する。リセットボタンは、押下時には導通状態になり、非押下時には非導通状態となる(所謂「a接点」)。すなわち、リセットボタンの押下時には変数VA3が「1」(TRUE)となり、リセットボタンの非押下時には変数VA3が「0」(FALSE)となる。 The function block 255 is a functional module for monitoring the state of the reset button, which is an example of the safety device 16 (see FIG. 1). When the reset button is pressed, the variable VA3 assigned to the reset button changes. When the reset button is pressed, it is in a conductive state, and when it is not pressed, it is in a non-conducting state (so-called "a contact"). That is, when the reset button is pressed, the variable VA3 becomes "1" (TRUE), and when the reset button is not pressed, the variable VA3 becomes "0" (FALSE).

ファンクションブロック255は、非常停止スイッチが押下された場合(すなわち、信号SG1の値が「0」(FALSE)である場合)、信号SG5の値を「1」(TRUE)から「0」(FALSE)に変化させる。ファンクションブロック255は、非常停止スイッチの押下が解除された状態でリセットボタンが押下された場合(信号SG1および変数VA3の値が「1」(TRUE)である場合)、信号SG5の値を「0」(FALSE)から「1」(TRUE)に変化させる。 The function block 255 sets the value of the signal SG5 from "1" (TRUE) to "0" (FALSE) when the emergency stop switch is pressed (that is, when the value of the signal SG1 is "0" (FALSE)). Change to. The function block 255 sets the value of the signal SG5 to "0" when the reset button is pressed while the emergency stop switch is released (when the values of the signal SG1 and the variable VA3 are "1" (TRUE)). "(FALSE) to" 1 "(TRUE).

ファンクションブロック257は、EDMファンクションブロックであり、セーフティリレー14(図1参照)などの対象機器の動作を監視するための機能モジュールである。信号SG5の値が「0」(FALSE)を示す場合、ファンクションブロック257は、セーフティリレー14の一例であるコンタクタをオフ状態にする。すなわち、コンタクタへの制御信号SG6を「0」(FALSE)に設定する。これにより、モータ10(図1参照)が強制的に停止される。信号SG5の値が「1」(TRUE)を示す場合、ファンクションブロック257は、コンタクタをオン状態する。すなわち、コンタクタへの制御信号SG6を「1」(TRUE)に設定する。これにより、モータ10(図1参照)の駆動が開始される。 The function block 257 is an EDM function block, and is a functional module for monitoring the operation of a target device such as a safety relay 14 (see FIG. 1). When the value of the signal SG5 indicates "0" (FALSE), the function block 257 turns off the contactor, which is an example of the safety relay 14. That is, the control signal SG6 to the contactor is set to "0" (FALSE). As a result, the motor 10 (see FIG. 1) is forcibly stopped. When the value of the signal SG5 indicates "1" (TRUE), the function block 257 turns on the contactor. That is, the control signal SG6 to the contactor is set to "1" (TRUE). As a result, the driving of the motor 10 (see FIG. 1) is started.

コンタクタの接点が溶着した場合には、コンタクタは正常に動作しない。この場合、非常停止スイッチからの停止信号がコンタクタに出力さているにも関わらず、モータ10の動作は停止しない。このことを防止するために、ファンクションブロック257は、コンタクタの接点の状態を示すフィードバック信号SG7に基づいて、コンタクタが正常に動作しているか否かを監視する。 If the contacts of the contactor are welded, the contactor will not operate normally. In this case, the operation of the motor 10 does not stop even though the stop signal from the emergency stop switch is output to the contactor. In order to prevent this, the function block 257 monitors whether or not the contactor is operating normally based on the feedback signal SG7 indicating the state of the contact of the contactor.

より具体的には、コンタクタは、通常時には導通状態(オン状態)を維持し、緊急停止時には非導通状態(オフ状態)を維持する(所謂「b接点」)。コンタクタの状態は、フィードバック信号SG7に反映される。コンタクタの状態が導通状態である場合、フィードバック信号SG7の値は「0」(FALSE)となる。コンタクタの状態が非導通状態である場合、フィードバック信号SG7の値は「1」(TRUE)となる。ファンクションブロック257は、制御信号SG6の値を変化させてから所定時間が経過するまでの間に、フィードバック信号SG7の値が変化しない場合に、コンタクタが正常に動作していないと判断する。 More specifically, the contactor maintains a conductive state (on state) at normal times and a non-conducting state (off state) at the time of emergency stop (so-called "b contact"). The state of the contactor is reflected in the feedback signal SG7. When the contactor state is the conduction state, the value of the feedback signal SG7 is “0” (FALSE). When the contactor state is the non-conducting state, the value of the feedback signal SG7 is “1” (TRUE). The function block 257 determines that the contactor is not operating normally when the value of the feedback signal SG7 does not change between the time when the value of the control signal SG6 is changed and the time when a predetermined time elapses.

より具体的には、ファンクションブロック257は、制御信号SG6の値を「0」(FALSE)から「1」(TRUE)に変化させてから所定時間が経過するまでの間に、フィードバック信号SG7の値が「1」(TRUE)から「0」(FALSE)に変化した場合、コンタクタが正常に動作していると判断する。一方で、フィードバック信号SG7が当該所定時間の間に変化しない場合、ファンクションブロック257は、コンタクタが正常に動作していないと判断する。 More specifically, the function block 257 changes the value of the control signal SG6 from "0" (FALSE) to "1" (TRUE) until a predetermined time elapses, and the value of the feedback signal SG7. When is changed from "1" (TRUE) to "0" (FALSE), it is determined that the contactor is operating normally. On the other hand, if the feedback signal SG7 does not change during the predetermined time, the function block 257 determines that the contactor is not operating normally.

同様に、ファンクションブロック257は、制御信号SG6の値を「1」(TRUE)から「0」(FALSE)に変化させてから所定時間が経過するまでの間に、フィードバック信号SG7の値が「0」(FALSE)から「1」(TRUE)に変化した場合、コンタクタが正常に動作していると判断する。一方で、フィードバック信号SG7が当該所定時間の間に変化しない場合、ファンクションブロック257は、コンタクタが正常に動作していないと判断する。 Similarly, in the function block 257, the value of the feedback signal SG7 is set to "0" during the period from when the value of the control signal SG6 is changed from "1" (TRUE) to "0" (FALSE) until a predetermined time elapses. "(FALSE) changes to" 1 "(TRUE), it is determined that the contactor is operating normally. On the other hand, if the feedback signal SG7 does not change during the predetermined time, the function block 257 determines that the contactor is not operating normally.

ファンクションブロック257は、セーフティリレー14(図1参照)などの対象機器が正常に動作していないと判断した場合、エラー(以下、「EDMエラー」ともいう。)を出力する。設計者は、EDMエラーをトリガー(入力)として緊急停止を行うための処理を安全プログラムにさらに規定することもできる。 The function block 257 outputs an error (hereinafter, also referred to as "EDM error") when it is determined that the target device such as the safety relay 14 (see FIG. 1) is not operating normally. The designer can also further specify in the safety program the process for performing an emergency stop triggered by an EDM error (input).

<D.EDMエラーの無効化>
設計者は、設計した安全プログラムを安全コントローラに設定する前に、情報処理装置200上で安全プログラムの動作をシミュレーションする。設計者は、安全プログラムが意図した通りに動作していることを確認した後、安全プログラムを安全コントローラに設定する。
<D. EDM error invalidation>
The designer simulates the operation of the safety program on the information processing apparatus 200 before setting the designed safety program in the safety controller. After confirming that the safety program is working as intended, the designer sets the safety program on the safety controller.

図4で説明したように、EDMファンクションブロックは、対象機器の動作状態を表わすフィードバック信号を監視することで、対象機器が正常に動作しているか否かを判断する。しかしながら、安全プログラムのシミュレーション段階では、対象機器が接続されていないため、対象機器からのフィードバック信号が取得され得ない。そのため、EDMファンクションブロックが含まれている状態でシミュレーションが実行されると、EDMエラーが出力されてしまう。そこで、情報処理装置200は、安全プログラムにEDMファンクションブロックが含まれる場合には、EDMエラーの出力を無効にする。 As described with reference to FIG. 4, the EDM function block monitors the feedback signal indicating the operating state of the target device to determine whether or not the target device is operating normally. However, in the simulation stage of the safety program, since the target device is not connected, the feedback signal from the target device cannot be acquired. Therefore, if the simulation is executed with the EDM function block included, an EDM error will be output. Therefore, the information processing apparatus 200 invalidates the output of the EDM error when the safety program includes the EDM function block.

図5を参照して、EDMエラーの無効化処理について説明する。図5は、EDMファンクションブロックの一例であるファンクションブロック257を示す図である。 The EDM error invalidation process will be described with reference to FIG. FIG. 5 is a diagram showing a function block 257, which is an example of an EDM function block.

ファンクションブロック257は、入力部270,274と、出力部272,276とを含む。 The function block 257 includes an input unit 270, 274 and an output unit 272, 276.

入力部270(第1入力部)は、セーフティリレー14(図1参照)などの対象機器の状態を表わす入力信号(第1入力信号)を受ける。当該入力信号は、図4に示される信号SG5に相当する。 The input unit 270 (first input unit) receives an input signal (first input signal) indicating the state of the target device such as the safety relay 14 (see FIG. 1). The input signal corresponds to the signal SG5 shown in FIG.

出力部272(第1出力部)は、信号SG5の値に基づいて、対象機器に制御信号を出力する。すなわち、出力部272は、信号SG5が変化したことに基づいて、対象機器の動作状態を変化させるための制御信号を出力する。一例として、出力部272は、信号SG5の値が「1」(TRUE)から「0」(FALSE)に変化した場合、制御信号として緊急停止指令を対象機器に出力する。一方で、出力部272は、信号SG5の値が「0」(FALSE)から「1」(TRUE)に変化した場合、制御信号として駆動開始指令を対象機器に出力する。 The output unit 272 (first output unit) outputs a control signal to the target device based on the value of the signal SG5. That is, the output unit 272 outputs a control signal for changing the operating state of the target device based on the change in the signal SG5. As an example, when the value of the signal SG5 changes from "1" (TRUE) to "0" (FALSE), the output unit 272 outputs an emergency stop command to the target device as a control signal. On the other hand, when the value of the signal SG5 changes from "0" (FALSE) to "1" (TRUE), the output unit 272 outputs a drive start command as a control signal to the target device.

入力部274(第2入力部)は、対象機器の動作状態を示すフィードバック信号(第2入力信号)を受ける。すなわち、フィードバック信号は、対象機器の動作状態と連動して変化する。 The input unit 274 (second input unit) receives a feedback signal (second input signal) indicating an operating state of the target device. That is, the feedback signal changes in conjunction with the operating state of the target device.

出力部276(第2出力部)は、対象機器への制御信号が出力されてから所定時間が経過するまでの間においてフィードバック信号が変化しない場合、EDMエラーを出力する。より具体的には、信号SG5の値が「0」(FALSE)から「1」(TRUE)に変化してから所定時間が経過するまでの間に、フィードバック信号SG7の値が「1」(TRUE)から「0」(FALSE)に変化しない場合、出力部276(第2出力部)は、EDMエラーを出力する。そうでない場合には、出力部276は、正常状態を示す信号を出力する。同様に、信号SG5の値が「1」(TRUE)から「0」(FALSE)に変化してから所定時間が経過するまでの間に、フィードバック信号SG7の値が「0」(FALSE)から「1」(TRUE)に変化しない場合、出力部276は、EDMエラーを出力する。そうでない場合には、出力部276は、正常状態を示す信号を出力する。 The output unit 276 (second output unit) outputs an EDM error if the feedback signal does not change between the time when the control signal is output to the target device and the time when a predetermined time elapses. More specifically, the value of the feedback signal SG7 is "1" (TRUE) after the predetermined time elapses after the value of the signal SG5 changes from "0" (FALSE) to "1" (TRUE). ) Does not change from "0" (FALSE), the output unit 276 (second output unit) outputs an EDM error. If not, the output unit 276 outputs a signal indicating a normal state. Similarly, the value of the feedback signal SG7 changes from "0" (FALSE) to "0" (FALSE) during the period from when the value of the signal SG5 changes from "1" (TRUE) to "0" (FALSE) until a predetermined time elapses. If it does not change to "1" (TRUE), the output unit 276 outputs an EDM error. If not, the output unit 276 outputs a signal indicating a normal state.

情報処理装置200は、安全プログラムの動作をシミュレーションする場合であって、安全プログラムの生成元のファンクションブロックにEDMファンクションブロック(監視ファンクションブロック)が含まれているときに、出力部276によるEDMエラーの出力を無効にする。これにより、設計者は、シミュレーション時においてEDMファンクションブロックを削除するなどの余計な操作を行う必要がなくなり、安全プログラムの設計効率が改善される。 The information processing device 200 is a case of simulating the operation of the safety program, and when the function block from which the safety program is generated includes the EDM function block (monitoring function block), the EDM error caused by the output unit 276 occurs. Disable output. This eliminates the need for the designer to perform extra operations such as deleting the EDM function block at the time of simulation, and improves the design efficiency of the safety program.

好ましくは、情報処理装置200は、安全プログラムの生成元のファンクションブロックにEDMファンクションブロックが複数含まれている場合に、当該複数のEDMファンクションブロックのすべてについてEDMエラーの出力を無効にする。これにより、安全プログラムの設計効率がさらに改善される。 Preferably, when the function block from which the safety program is generated includes a plurality of EDM function blocks, the information processing apparatus 200 invalidates the output of the EDM error for all of the plurality of EDM function blocks. This further improves the design efficiency of the safety program.

<E.情報処理装置200の機能構成>
図6~図10を参照して、情報処理装置200の機能について説明する。図6は、情報処理装置200の機能構成の一例を示す図である。
<E. Functional configuration of information processing device 200>
The functions of the information processing apparatus 200 will be described with reference to FIGS. 6 to 10. FIG. 6 is a diagram showing an example of the functional configuration of the information processing apparatus 200.

図6に示されるように、情報処理装置200は、主要なハードウェア構成として、プロセッサ202と、出力ユニット208の一例であるディスプレイ208Aと、補助記憶装置220とを含む。プロセッサ202は、機能構成として、提供部282と、生成部284と、実行部286と、エミュレータ288と、評価部290とを含む。以下では、これらの機能構成について順に説明する。 As shown in FIG. 6, the information processing apparatus 200 includes a processor 202, a display 208A which is an example of an output unit 208, and an auxiliary storage device 220 as a main hardware configuration. The processor 202 includes a providing unit 282, a generation unit 284, an execution unit 286, an emulator 288, and an evaluation unit 290 as a functional configuration. Hereinafter, these functional configurations will be described in order.

(E1.提供部282)
提供部282は、設計ツールのアプリケーションが起動されたことに基づいて、上述のユーザインターフェイス250(図4参照)をディスプレイ208Aに表示する。
(E1. Provision 282)
The provider 282 displays the above-mentioned user interface 250 (see FIG. 4) on the display 208A based on the launch of the design tool application.

設計者は、予め用意されている複数種類のファンクションブロック224の内から任意のファンクションブロックをユーザインターフェイス250に配置し、ユーザインターフェイス250上において各ファンクションブロック間の入出力関係を規定することができる。このような操作は、たとえば、上述の操作ユニット206(図3参照)に対して行われる。 The designer can arrange an arbitrary function block from the plurality of types of function blocks 224 prepared in advance in the user interface 250, and define the input / output relationship between the function blocks on the user interface 250. Such an operation is performed on, for example, the operation unit 206 (see FIG. 3) described above.

図4で説明したように、安全プログラムの動作のシミュレーション時には、EDMエラーの出力が無効化される。この場合、ユーザインターフェイス250は、EDMエラーの出力が無効であることを示す予め定められた態様でEDMファンクションブロックを表示する。 As described with reference to FIG. 4, the output of the EDM error is invalidated during the simulation of the operation of the safety program. In this case, the user interface 250 displays the EDM function block in a predetermined manner indicating that the output of the EDM error is invalid.

図7は、EDMエラーの出力の無効化時におけるEDMファンクションブロックの表示態様の一例を示す図である。図7に示されるように、EDMエラーの出力の無効化時には、EDMファンクションブロックであるファンクションブロック257は、他の種類のファンクションブロック251,255とは異なる態様で表示される。一例として、ファンクションブロック257は、他の種類のファンクションブロック251,255とは異なる色で表示される。あるいは、ファンクションブロック257は、点滅表示されてもよい。あるいは、EDMエラーの出力が無効化されていることを示す印(図7の例では、×印)が表示されてもよい。EDMファンクションブロックの表示態様が変えられることで、設計者は、EDMエラーの出力が無効化されていることを容易に把握することができる。 FIG. 7 is a diagram showing an example of a display mode of the EDM function block when the output of the EDM error is invalidated. As shown in FIG. 7, when the output of the EDM error is invalidated, the function block 257, which is an EDM function block, is displayed in a manner different from that of other types of function blocks 251,255. As an example, the function block 257 is displayed in a different color than other types of function blocks 251,255. Alternatively, the function block 257 may be displayed blinking. Alternatively, a mark (x mark in the example of FIG. 7) indicating that the output of the EDM error is invalidated may be displayed. By changing the display mode of the EDM function block, the designer can easily grasp that the output of the EDM error is invalidated.

(E2.生成部284)
生成部284は、予め用意されている複数種類のファンクションブロック224から組み合わされた1つ以上のファンクションブロックを元に安全プログラム228を生成する。生成された安全プログラム228は、補助記憶装置220に記憶される。典型的には、ファンクションブロックの種類および各ファンクションブロック間の入出力関係などが補助記憶装置220に記憶される。
(E2. Generation unit 284)
The generation unit 284 generates the safety program 228 based on one or more function blocks combined from a plurality of types of function blocks 224 prepared in advance. The generated safety program 228 is stored in the auxiliary storage device 220. Typically, the type of the function block, the input / output relationship between the function blocks, and the like are stored in the auxiliary storage device 220.

(E3.実行部286)
実行部286は、安全プログラム228の実行モード226Aに基づいて、安全プログラム228から実行モジュールを生成する。典型的には、実行部286は、コンパイラ、アセンブラ、リンカなどの機能を含む。
(E3. Execution unit 286)
The execution unit 286 generates an execution module from the safety program 228 based on the execution mode 226A of the safety program 228. Typically, the execution unit 286 includes functions such as a compiler, an assembler, and a linker.

安全プログラム228の実行モード226Aは、上述の各種設定226(図3参照)に予め規定されている。一例として、安全プログラム228の実行モード226Aは、第1シミュレーションモードと、第2シミュレーションモードとを含む。実行モード226Aは、予め設定されていてもよいし、設計者などによって任意に設定されてもよい。 The execution mode 226A of the safety program 228 is predetermined in the various settings 226 (see FIG. 3) described above. As an example, the execution mode 226A of the safety program 228 includes a first simulation mode and a second simulation mode. The execution mode 226A may be set in advance, or may be arbitrarily set by a designer or the like.

実行モード226Aが第1シミュレーションモードである場合、実行部286は、EDMファンクションブロックによるEDMエラーの出力を無効にする。より具体的には、実行部286は、EDMエラーの出力部分をスキップするように実行形式プログラムを生成する。これにより、EDMファンクションブロックによるEDMエラーの出力が無効化される。 When the execution mode 226A is the first simulation mode, the execution unit 286 invalidates the output of the EDM error by the EDM function block. More specifically, the execution unit 286 generates an execution format program so as to skip the output portion of the EDM error. This invalidates the output of the EDM error by the EDM function block.

実行モード226Aが第2シミュレーションモードである場合、実行部286は、対象機器の動作状態を模擬的に表した模擬信号を後述のエミュレータ288から取得し、当該模擬信号をフィードバック信号S7(図5参照)としてEDMファンクションブロックの第2入力部(図5参照)に入力する。これにより、EDMファンクションブロックは、対象機器が仮想的に正常に動作していると判断し、EDMエラーの出力が無効化される。 When the execution mode 226A is the second simulation mode, the execution unit 286 acquires a simulated signal that simulates the operating state of the target device from the emulator 288 described later, and obtains the simulated signal from the feedback signal S7 (see FIG. 5). ) Is input to the second input unit (see FIG. 5) of the EDM function block. As a result, the EDM function block determines that the target device is virtually operating normally, and the output of the EDM error is invalidated.

(E4.エミュレータ288)
エミュレータ288は、安全コントローラ100に接続され得る各種機器(たとえば、安全機器や監視対象機器など)の状態を模擬的に表わした模擬信号を生成し、当該模擬信号を、安全プログラム228を構成する各ファンクションブロックに出力する。これにより、設計者は、情報処理装置200を安全コントローラ100に接続することなしに、情報処理装置200上で安全プログラム228の動作をシミュレーションすることができる。
(E4. Emulator 288)
The emulator 288 generates simulated signals that simulate the states of various devices (for example, safety devices, monitored devices, etc.) that can be connected to the safety controller 100, and the simulated signals are used to form the safety program 228. Output to the function block. Thereby, the designer can simulate the operation of the safety program 228 on the information processing apparatus 200 without connecting the information processing apparatus 200 to the safety controller 100.

一例として、エミュレータ288は、EDMファンクションブロックへのフィードバック信号を模擬信号として生成する。図8は、模擬信号がEDMファンクションブロックであるファンクションブロック257に出力されている様子を示す図である。 As an example, the emulator 288 generates a feedback signal to the EDM function block as a simulated signal. FIG. 8 is a diagram showing how the simulated signal is output to the function block 257, which is an EDM function block.

典型的には、エミュレータ288は、EDMファンクションブロックの出力部272から監視対象機器へ出力される制御信号を元に模擬信号SG9を生成する。図8の例では、エミュレータ288は、当該制御信号を反転させた模擬信号SG9を生成している。生成された模擬信号SG9は、ファンクションブロック257の入力部274に入力される。 Typically, the emulator 288 generates a simulated signal SG9 based on a control signal output from the output unit 272 of the EDM function block to the monitored device. In the example of FIG. 8, the emulator 288 generates a simulated signal SG9 in which the control signal is inverted. The generated simulated signal SG9 is input to the input unit 274 of the function block 257.

好ましくは、実行モード226Aが上述の第2シミュレーションモードである場合、ファンクションブロック257の出力部272からの制御信号が変化してから所定時間が経過するまでの間に、模擬信号が入力部274に入力される。このように、模擬信号がフィードバック信号として入力部274に入力されることで、ファンクションブロック257の出力部276は、正常を示す信号を常に出力し、EDMエラーの出力が無効化される。 Preferably, when the execution mode 226A is the second simulation mode described above, a simulated signal is sent to the input unit 274 from the time when the control signal from the output unit 272 of the function block 257 changes until a predetermined time elapses. Entered. As described above, when the simulated signal is input to the input unit 274 as a feedback signal, the output unit 276 of the function block 257 always outputs a signal indicating normality, and the output of the EDM error is invalidated.

典型的には、模擬信号の生成ルールは、設計者によって予め設定される。図9は、模擬信号の生成ルールを設定するための設定画面260を示す図である。設定画面260は、設定覧40と、登録一覧50とを含む。設定覧40は、プルダウンメニュー41,42と、時間設定領域44と、チェックボックス45とを含む。 Typically, the rules for generating simulated signals are preset by the designer. FIG. 9 is a diagram showing a setting screen 260 for setting a simulation signal generation rule. The setting screen 260 includes a setting list 40 and a registration list 50. The setting list 40 includes pull-down menus 41 and 42, a time setting area 44, and a check box 45.

以下では、模擬信号を生成するための基準となる信号を「基準信号」ともいう。すなわち、エミュレータ288は、基準信号から模擬信号を生成する。 Hereinafter, the reference signal for generating the simulated signal is also referred to as a “reference signal”. That is, the emulator 288 generates a simulated signal from the reference signal.

設計者は、プルダウンメニュー41において模擬信号の入力先を指定する。当該入力先の指定は、変数の指定によって行われる。典型的には、EDMファンクションブロックの入力部274(図5参照)が指定される。 The designer specifies the input destination of the simulated signal in the pull-down menu 41. The input destination is specified by specifying a variable. Typically, the input unit 274 (see FIG. 5) of the EDM function block is designated.

設計者は、基準信号の出力元をプルダウンメニュー42において指定する。当該出力先の指定は、変数の指定によって行われる。典型的には、EDMファンクションブロックの出力部272(図5参照)が指定される。 The designer specifies the output source of the reference signal in the pull-down menu 42. The output destination is specified by specifying a variable. Typically, the output unit 272 (see FIG. 5) of the EDM function block is designated.

設計者は、時間設定領域44にディレイ時間を設定する。設計者は、たとえば、50ms~1000msの間でディレイ時間を設定することができる。EDMファンクションブロックは、基準信号の値が変化してから、設定されたディレイ時間が経過した時点で、模擬信号の値を変化させる。 The designer sets the delay time in the time setting area 44. The designer can set the delay time, for example, between 50 ms and 1000 ms. The EDM function block changes the value of the simulated signal when the set delay time elapses after the value of the reference signal changes.

設計者は、チェックボックス45において模擬信号の生成ルールを設定する。チェックボックス45にチェックが入れられている場合、エミュレータ288は、基準信号を反転させた信号を模擬信号として生成する。チェックボックス45にチェックが入れられていない場合、エミュレータ288は、基準信号を模擬信号として生成する。 The designer sets a simulated signal generation rule in the check box 45. When the check box 45 is checked, the emulator 288 generates a signal in which the reference signal is inverted as a simulated signal. If the check box 45 is not checked, the emulator 288 generates a reference signal as a simulated signal.

追加ボタン47が押下されると、設定覧40における設定内容が登録一覧50に反映される。登録一覧50に登録された項目は、選択可能に構成されている。一例として、項目52が選択された状態で、削除ボタン54が押下されると、選択された項目52は、登録一覧50から削除される。 When the add button 47 is pressed, the setting contents in the setting list 40 are reflected in the registration list 50. The items registered in the registration list 50 are configured to be selectable. As an example, when the delete button 54 is pressed while the item 52 is selected, the selected item 52 is deleted from the registration list 50.

OKボタン62が押下されると、登録一覧50にされた登録された設定内容がフィードバック設定として上述の各種設定226(図3参照)に書き込まれる。キャンセルボタン64が押下されると、登録一覧50にされた登録された設定内容が反映されずに、設定画面260が閉じられる。 When the OK button 62 is pressed, the registered setting contents in the registration list 50 are written to the above-mentioned various settings 226 (see FIG. 3) as feedback settings. When the cancel button 64 is pressed, the setting screen 260 is closed without reflecting the registered setting contents in the registration list 50.

なお、上述では、エミュレータ288がセーフティリレー14の動作状態を模擬的に表した模擬信号を生成し、当該模擬信号をフィードバック信号としてEDMファンクションブロックに入力する例について説明を行ったが、エミュレータ288は、安全機器などのその他の機器の動作状態を表わした模擬信号を生成することもできる。エミュレータ288は、予め定められたテストパターンに従って安全機器の動作状態を表わした模擬信号を生成し、当該模擬信号を安全プログラム228に入力することで、安全プログラム228の動作をシミュレーションすることができる。 In the above description, an example in which the emulator 288 generates a simulated signal that simulates the operating state of the safety relay 14 and inputs the simulated signal as a feedback signal to the EDM function block has been described, but the emulator 288 has been described. , It is also possible to generate simulated signals representing the operating state of other devices such as safety devices. The emulator 288 can simulate the operation of the safety program 228 by generating a simulated signal representing the operating state of the safety device according to a predetermined test pattern and inputting the simulated signal to the safety program 228.

(E5.評価部290)
評価部290は、エミュレータ288からの入力値を安全プログラム228に与えることで算出される出力値と、当該入力値に対応する出力期待値とを比較し、その比較結果をシミュレーション結果として出力する。安全プログラム228への入力値に対する出力期待値は、設計者によって予め設定されている。
(E5. Evaluation Unit 290)
The evaluation unit 290 compares the output value calculated by giving the input value from the emulator 288 to the safety program 228 with the expected output value corresponding to the input value, and outputs the comparison result as a simulation result. The expected output value for the input value to the safety program 228 is preset by the designer.

評価部290によるシミュレーション結果は、たとえば、ディスプレイ208Aに表示される。図10は、ディスプレイ208Aに表示されているシミュレーション結果画面291を示す図である。 The simulation result by the evaluation unit 290 is displayed on the display 208A, for example. FIG. 10 is a diagram showing a simulation result screen 291 displayed on the display 208A.

図10を参照して、シミュレーション結果画面291は、安全プログラム228における入力信号の変数名を表示する変数名表示欄292Aと、対応する入力信号についてのコメントを表示するコメント表示欄292Bと、対応する入力信号についてのリセット種別を表示するリセット種別表示欄292Cと、対応する入力信号についての出力期待値(出力信号)の組み合わせを表示する期待値設定欄292Dと、シミュレーション結果を示す結果表示欄292Eと、シミュレーション結果に対応するコメントを表示する結果コメント表示欄292Fと、評価実行日時を示す日時表示欄292Gとを含む。 With reference to FIG. 10, the simulation result screen 291 corresponds to a variable name display field 292A for displaying the variable name of the input signal in the safety program 228 and a comment display field 292B for displaying a comment about the corresponding input signal. The reset type display field 292C that displays the reset type for the input signal, the expected value setting field 292D that displays the combination of the output expected value (output signal) for the corresponding input signal, and the result display field 292E that shows the simulation result. , The result comment display field 292F for displaying the comment corresponding to the simulation result, and the date / time display field 292G for indicating the evaluation execution date and time are included.

結果表示欄292Eには、合格したものについては「Passed」が表示され、何らかのエラーが生じたものについては「Failed」が表示される。さらに、何らかのエラーが生じた場合には、期待値設定欄292Dにおいて、そのエラーが生じた出力変数の表示態様が異なったものとされる。結果コメント表示欄292Fには、そのエラーに対応するエラーメッセージが表示される。すなわち、いずれのフェーズにおいて異常であると判断されたのかを特定する情報が判断結果に含められる。また、異常であると判断されたフェーズに応じたコメントが判断結果に含められる。また、EDMエラーの出力が無効にされた状態でシミュレーションが行われた場合には、そのことが結果コメント表示欄292Fに表示される。 In the result display column 292E, "Passed" is displayed for those that have passed, and "Failed" is displayed for those for which some error has occurred. Further, when some error occurs, the display mode of the output variable in which the error occurred is different in the expected value setting field 292D. An error message corresponding to the error is displayed in the result comment display field 292F. That is, information that identifies in which phase the abnormality was determined is included in the determination result. In addition, comments according to the phase judged to be abnormal are included in the judgment result. If the simulation is performed with the EDM error output disabled, this is displayed in the result comment display field 292F.

<F.タイミングチャート>
上述のように、安全プログラムの実行モードは、EDMエラーを無効化する第1シミュレーションモードと、対象機器の動作状態を表わす模擬信号をEDMファンクションブロックにフィードバックする第2シミュレーションモードと、対象機器が接続された状態で安全プログラムを実行する実機モードとを含む。典型的には、第1,第2シミュレーションモードにおいては、安全プログラムは、情報処理装置200上で実行される。実機モードにおいては、安全プログラムは、安全コントローラ100上で実行される。
<F. Timing chart>
As described above, the execution mode of the safety program is the first simulation mode in which the EDM error is invalidated, the second simulation mode in which the simulated signal indicating the operating state of the target device is fed back to the EDM function block, and the target device is connected. Includes the actual machine mode to execute the safety program in the state of being executed. Typically, in the first and second simulation modes, the safety program is executed on the information processing apparatus 200. In the actual machine mode, the safety program is executed on the safety controller 100.

以下では、図11および図12を参照して、第1シミュレーションおよび実機モードのそれぞれで安全プログラムが実行された場合における各安全機器の動作態様について説明する。 In the following, with reference to FIGS. 11 and 12, the operation mode of each safety device when the safety program is executed in each of the first simulation and the actual machine mode will be described.

まず、図11を参照して、第1シミュレーションモードにおける安全プログラムの実行態様について説明する。図11は、第1シミュレーションモードで安全プログラムを実行したときの信号状態を示す図である。当該安全プログラムは、図4に示されるファンクションブロックの組み合わせで構成されているとする。 First, with reference to FIG. 11, the execution mode of the safety program in the first simulation mode will be described. FIG. 11 is a diagram showing a signal state when the safety program is executed in the first simulation mode. It is assumed that the safety program is composed of a combination of function blocks shown in FIG.

情報処理装置200は、シミュレーション時においては、各安全機器の動作状態を取得することができないので、各安全機器の動作状態を仮想的に変化させた模擬信号を生成し、当該模擬信号を安全プログラムに入力する。 Since the information processing apparatus 200 cannot acquire the operating state of each safety device during simulation, it generates a simulated signal in which the operating state of each safety device is virtually changed, and the simulated signal is used as a safety program. Enter in.

時刻T1において、安全プログラムは、非常停止スイッチを押下されたことを示す模擬信号を生成し、当該模擬信号を安全プログラムに入力する。これにより、安全プログラムは、非常停止スイッチが押下されたと判断する。これに伴って、安全プログラムは、第1,第2コンタクタをオフ状態にするための制御信号を出力する。通常、当該制御信号が出力されてから所定時間Δthの間にフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。しかしながら、第1シミュレーションモードにおいては、EDMエラーの出力が無効化されている。そのため、図11の例では、フィードバック信号SG7が所定時間Δthの間に変化していないにも関わらず、EDMエラーは出力されない。 At time T1, the safety program generates a simulated signal indicating that the emergency stop switch has been pressed, and inputs the simulated signal to the safety program. As a result, the safety program determines that the emergency stop switch has been pressed. Along with this, the safety program outputs a control signal for turning off the first and second contactors. Normally, if the feedback signal SG7 does not change within a predetermined time Δth after the control signal is output, the safety program outputs an EDM error. However, in the first simulation mode, the output of the EDM error is invalidated. Therefore, in the example of FIG. 11, the EDM error is not output even though the feedback signal SG7 has not changed during the predetermined time Δth.

時刻T2において、安全プログラムは、非常停止スイッチの停止状態が解除されたことを示す模擬信号を生成し、当該模擬信号を安全プログラムに入力する。これにより、安全プログラムは、非常停止スイッチが解除されたと判断する。 At time T2, the safety program generates a simulated signal indicating that the stop state of the emergency stop switch has been released, and inputs the simulated signal to the safety program. As a result, the safety program determines that the emergency stop switch has been released.

時刻T3において、安全プログラムは、非常停止スイッチが押下されたことを示す模擬信号を生成し、当該模擬信号を安全プログラムに入力する。これにより、安全プログラムは、非常停止スイッチが押下されたと判断する。これに伴って、安全プログラムは、第1,第2コンタクタをオン状態にするための制御信号を出力する。通常、当該制御信号が出力されてから所定時間Δthの間にフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。しかしながら、第1シミュレーションモードにおいては、EDMエラーの出力が無効化されている。その結果、図11の例では、フィードバック信号SG7が所定時間Δthの間に変化していないにも関わらず、EDMエラーが出力されない。 At time T3, the safety program generates a simulated signal indicating that the emergency stop switch has been pressed, and inputs the simulated signal to the safety program. As a result, the safety program determines that the emergency stop switch has been pressed. Along with this, the safety program outputs a control signal for turning on the first and second contactors. Normally, if the feedback signal SG7 does not change within a predetermined time Δth after the control signal is output, the safety program outputs an EDM error. However, in the first simulation mode, the output of the EDM error is invalidated. As a result, in the example of FIG. 11, although the feedback signal SG7 has not changed during the predetermined time Δth, no EDM error is output.

次に、図12を参照して、実機モードにおける安全プログラムの実行態様について説明する。図12は、実機モードで安全プログラムを実行したときの信号状態を示す図である。当該安全プログラムは、図4に示されるファンクションブロックの組み合わせで構成されているとする。 Next, with reference to FIG. 12, the execution mode of the safety program in the actual machine mode will be described. FIG. 12 is a diagram showing a signal state when the safety program is executed in the actual machine mode. It is assumed that the safety program is composed of a combination of function blocks shown in FIG.

時刻T1において、非常停止スイッチが押下されたとする。これに伴って、「0」(FALSE)を示す制御信号が第1,第2コンタクタに出力される。当該制御信号が出力されてから所定時間Δthが経過するまでの間に、第1,第2コンタクタの動作状態を表わすフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。図12の例では、EDMエラーは出力されない。すなわち、第1,第2コンタクタの接点が正常に開状態に駆動されたことを意味する。 It is assumed that the emergency stop switch is pressed at time T1. Along with this, a control signal indicating "0" (FALSE) is output to the first and second contactors. If the feedback signal SG7 indicating the operating state of the first and second contactors does not change between the time when the control signal is output and the time when the predetermined time Δth elapses, the safety program outputs an EDM error. In the example of FIG. 12, no EDM error is output. That is, it means that the contacts of the first and second contactors are normally driven to the open state.

時刻T2において、非常停止スイッチが解除されたとする。非常停止スイッチが解除されたことでは、コンタクタの接点は、閉状態にならない。 It is assumed that the emergency stop switch is released at time T2. When the emergency stop switch is released, the contact of the contactor is not closed.

時刻T3において、リセットボタンが押下されたとする。これに伴って、「1」(TRUE)を示す制御信号が第1,第2コンタクタに出力される。当該制御信号が出力されてから所定時間Δthが経過するまでの間に、第1,第2コンタクタの動作状態を表わすフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。図12の例では、EDMエラーは出力されない。すなわち、第1,第2コンタクタの接点が正常に閉状態に駆動されたことを意味する。 It is assumed that the reset button is pressed at time T3. Along with this, a control signal indicating "1" (TRUE) is output to the first and second contactors. If the feedback signal SG7 indicating the operating state of the first and second contactors does not change between the time when the control signal is output and the time when the predetermined time Δth elapses, the safety program outputs an EDM error. In the example of FIG. 12, no EDM error is output. That is, it means that the contacts of the first and second contactors are normally driven to the closed state.

<G.情報処理装置200の制御構造>
図13を参照して、情報処理装置200の制御構造について説明する。図13は、シミュレーション時における安全プログラムの実行フローを示す図である。図13の処理は、情報処理装置200のプロセッサ202がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
<G. Control structure of information processing device 200>
The control structure of the information processing apparatus 200 will be described with reference to FIG. FIG. 13 is a diagram showing an execution flow of the safety program at the time of simulation. The process of FIG. 13 is realized by the processor 202 of the information processing apparatus 200 executing the program. In other aspects, some or all of the processing may be performed by circuit elements or other hardware.

ステップS110において、プロセッサ202は、安全プログラムの実行操作を受けたか否かを判断する。プロセッサ202は、安全プログラムの実行操作を受けたと判断した場合(ステップS110においてYES)、制御をステップS112に切り替える。そうでない場合には(ステップS110においてNO)、プロセッサ202は、ステップS110の処理を再び実行する。 In step S110, the processor 202 determines whether or not the safety program execution operation has been received. When the processor 202 determines that the execution operation of the safety program has been received (YES in step S110), the processor 202 switches the control to step S112. If not (NO in step S110), the processor 202 re-executes the process of step S110.

ステップS112において、プロセッサ202は、実行対象のファンクションブロックを安全プログラムから読み込む。実行対象のファンクションブロックは、たとえば、予め定められたテストパターンに従って決定される。 In step S112, the processor 202 reads the function block to be executed from the safety program. The function block to be executed is determined according to, for example, a predetermined test pattern.

ステップS120において、プロセッサ202は、実行対象のファンクションブロックがEDMファンクションブロックであるか否かを判断する。プロセッサ202は、実行対象のファンクションブロックがEDMファンクションブロックであると判断した場合(ステップS120においてYES)、制御をステップS130に切り替える。そうでない場合には(ステップS120においてNO)、プロセッサ202は、制御をステップS150に切り替える。 In step S120, the processor 202 determines whether or not the function block to be executed is an EDM function block. When the processor 202 determines that the function block to be executed is an EDM function block (YES in step S120), the processor 202 switches the control to step S130. Otherwise (NO in step S120), processor 202 switches control to step S150.

ステップS130において、プロセッサ202は、安全プログラムの実行モードが第1シミュレーションモードに設定されているか否かを判断する。プロセッサ202は、安全プログラムの実行モードが第1シミュレーションモードに設定されていると判断した場合(ステップS130においてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130においてNO)、プロセッサ202は、安全プログラムの実行モードが第2シミュレーションモードであると判断し、制御をステップS142に切り替える。 In step S130, the processor 202 determines whether or not the execution mode of the safety program is set to the first simulation mode. When the processor 202 determines that the execution mode of the safety program is set to the first simulation mode (YES in step S130), the processor 202 switches the control to step S132. If not (NO in step S130), the processor 202 determines that the safety program execution mode is the second simulation mode and switches control to step S142.

ステップS132において、プロセッサ202は、実行対象のファンクションブロック(EDMファンクションブロック)に関連付けられている命令を実行する。 In step S132, the processor 202 executes an instruction associated with the function block (EDM function block) to be executed.

ステップS134において、プロセッサ202は、EDMエラーの判定処理をスキップする。これにより、EDMエラーの出力が無効化される。 In step S134, the processor 202 skips the EDM error determination process. This invalidates the output of the EDM error.

ステップS142において、プロセッサ202は、実行対象のファンクションブロック(EDMファンクションブロック)に関連付けられている命令を実行する。 In step S142, the processor 202 executes an instruction associated with the function block (EDM function block) to be executed.

ステップS144において、プロセッサ202は、上述の設定画面260(図9参照)において設定されたフィードバック設定に従って、監視対象機器からのフィードバック信号を模倣的に表した模倣信号を生成し、当該模倣信号をフィードバック信号としてEDMファンクションブロックに入力する。 In step S144, the processor 202 generates a copycat signal that mimics the feedback signal from the monitored device according to the feedback setting set on the above setting screen 260 (see FIG. 9), and feeds back the copy signal. Input to the EDM function block as a signal.

ステップS146において、プロセッサ202は、EDMエラー判定を行う。より具体的には、プロセッサ202は、対象機器への制御信号が変化してから所定時間の間に模擬信号が変化しない場合に、EDMエラーを出力する。そうでない場合には、プロセッサ202は、正常を示す判定結果を出力する。 In step S146, the processor 202 makes an EDM error determination. More specifically, the processor 202 outputs an EDM error when the simulated signal does not change within a predetermined time after the control signal to the target device changes. If not, the processor 202 outputs a determination result indicating normality.

ステップS150において、プロセッサ202は、プロセッサ202は、実行対象のファンクションブロックに関連付けられている命令を実行する。 In step S150, the processor 202 executes an instruction associated with the function block to be executed.

ステップS160において、プロセッサ202は、次に実行すべきファンクションブロックが存在するか否かを判断する。典型的には、プロセッサ202は、すべてのテストパターンについて安全プログラムの動作のシミュレーションが終了していない場合に、次に実行すべきファンクションブロックが存在すると判断する。プロセッサ202は、次に実行すべきファンクションブロックが存在すると判断した場合(ステップS160においてYES)、制御をステップS162に切り替える。そうでない場合には(ステップS160においてNO)、プロセッサ202は、図13に示される処理を終了する。 In step S160, the processor 202 determines whether or not there is a function block to be executed next. Typically, the processor 202 determines that there is a function block to be executed next if the simulation of the operation of the safety program has not been completed for all test patterns. When the processor 202 determines that the function block to be executed next exists (YES in step S160), the processor 202 switches the control to step S162. Otherwise (NO in step S160), processor 202 ends the process shown in FIG.

ステップS162において、プロセッサ202は、次の実行対象のファンクションブロックを安全プログラムから読み込む。一例として、次の実行対象のファンクションブロックは、予め定められたテストパターンに従って決定される。 In step S162, the processor 202 reads the next function block to be executed from the safety program. As an example, the next function block to be executed is determined according to a predetermined test pattern.

<H.まとめ>
以上のようにして、情報処理装置200は、安全プログラムの動作をシミュレーションする場合であって、安全プログラムの生成元のファンクションブロックにEDMファンクションブロックが含まれているときに、EDMエラーの出力を無効にする。これにより、設計者は、安全プログラムのシミュレーション時にEDMファンクションブロックを削除するなどの余計な操作を行う必要がなくなり、安全プログラムの設計効率が改善される。
<H. Summary>
As described above, the information processing apparatus 200 invalidates the output of the EDM error when the operation of the safety program is simulated and the function block from which the safety program is generated includes the EDM function block. To. This eliminates the need for the designer to perform extra operations such as deleting the EDM function block when simulating the safety program, and improves the design efficiency of the safety program.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are exemplary in all respects and not restrictive. The scope of the present invention is shown by the scope of claims rather than the above description, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.

1 安全システム、10 モータ、12 ドライバ、14 セーフティリレー、16 安全機器、20 制御系ネットワーク、22 情報系ネットワーク、40 設定覧、41,42 プルダウンメニュー、44 時間設定領域、45 チェックボックス、47 追加ボタン、50 登録一覧、52 項目、54 削除ボタン、62 OKボタン、64 キャンセルボタン、100 安全コントローラ、102,202 プロセッサ、104,204 主メモリ、106 フラッシュメモリ、108 演算処理部、110 制御系ネットワークインターフェイス、112,210 情報系ネットワークインターフェイス、114 フィールドバスインターフェイス、116 メモリカードインターフェイス、118 メモリカード、120,216 ローカル通信インターフェイス、122 内部バスインターフェイス、200 情報処理装置、206 操作ユニット、208 出力ユニット、208A ディスプレイ、212 光学ドライブ、214 記録媒体、218 内部バス、220 補助記憶装置、222 実行プログラム、224,251,255,257 ファンクションブロック、226 各種設定、226A 実行モード、228 安全プログラム、250 ユーザインターフェイス、260 設定画面、270,274 入力部、272,276 出力部、282 提供部、284 生成部、286 実行部、288 エミュレータ、290 評価部、291 シミュレーション結果画面、292A 変数名表示欄、292B コメント表示欄、292C リセット種別表示欄、292D 期待値設定欄、292E 結果表示欄、292F 結果コメント表示欄、292G 日時表示欄、300 制御装置。 1 Safety system, 10 motors, 12 drivers, 14 safety relays, 16 safety equipment, 20 control system network, 22 information system network, 40 setting list, 41, 42 pull-down menu, 44 time setting area, 45 check box, 47 add button , 50 registration list, 52 items, 54 delete button, 62 OK button, 64 cancel button, 100 safety controller, 102,202 processor, 104,204 main memory, 106 flash memory, 108 arithmetic processing unit, 110 control system network interface, 112, 210 Information system network interface, 114 field bus interface, 116 memory card interface, 118 memory card, 120, 216 local communication interface, 122 internal bus interface, 200 information processing equipment, 206 operation unit, 208 output unit, 208A display, 212 Optical drive, 214 Recording medium, 218 Internal bus, 220 Auxiliary storage, 222 Execution program, 224,251,255,257 Function block, 226 Various settings, 226A Execution mode, 228 Safety program, 250 User interface, 260 Setting screen 270,274 Input section, 272,276 Output section, 282 Provider section, 284 generation section, 286 execution section, 288 emulator, 290 evaluation section, 291 simulation result screen, 292A variable name display field, 292B comment display field, 292C reset Type display column, 292D expected value setting column, 292E result display column, 292F result comment display column, 292G date and time display column, 300 control device.

Claims (7)

予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムの評価を行うための情報処理装置であって、
予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に前記安全プログラムを生成するための生成部を備え、
前記複数種類のファンクションブロックは、前記対象機器の動作を監視するための監視ファンクションブロックを含み、
前記監視ファンクションブロックは、
第1入力信号を受けるための第1入力部と、
前記第1入力信号が変化したことに基づいて、前記対象機器の動作状態を変化させる制御信号を出力するための第1出力部と、
前記対象機器の動作状態を示す第2入力信号を受けるための第2入力部と、
前記制御信号が変化してから所定時間が経過するまでの間において前記第2入力信号が変化しない場合に、エラーを出力するための第2出力部とを有し、
前記情報処理装置は、前記安全プログラムの動作をシミュレーションするための実行部をさらに備え、
前記実行部は、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが含まれているときに、前記第2出力部による前記エラーの出力を無効にし、
前記情報処理装置は、前記対象機器の動作状態を模擬的に表した模擬信号を生成するためのエミュレータをさらに備え、
前記実行部による前記安全プログラムの実行モードは、第1シミュレーションモードと、第2シミュレーションモードとを含み、
前記情報処理装置は、前記実行部による前記安全プログラムの実行モードの前記第1シミュレーションモードと、前記第2シミュレーションモードとのいずれか一方を設定する設定部をさらに備え、
前記実行部は、
前記設定部により前記実行モードが前記第1シミュレーションモードに設定されている場合、前記第2出力部による前記エラーの出力を無効にし、
前記設定部により前記実行モードが前記第2シミュレーションモードに設定されている場合、前記模擬信号を前記第2入力部に入力する、情報処理装置。
An information processing device for evaluating a safety program that operates a target device so that safety is maintained when predetermined conditions are met.
It is provided with a generator for generating the safety program based on one or more function blocks combined from a plurality of types of function blocks prepared in advance.
The plurality of types of function blocks include a monitoring function block for monitoring the operation of the target device.
The monitoring function block is
The first input unit for receiving the first input signal and
A first output unit for outputting a control signal that changes the operating state of the target device based on the change in the first input signal, and
A second input unit for receiving a second input signal indicating the operating state of the target device, and
It has a second output unit for outputting an error when the second input signal does not change between the time when the control signal changes and the time when a predetermined time elapses.
The information processing device further includes an execution unit for simulating the operation of the safety program.
The execution unit invalidates the output of the error by the second output unit when the monitoring function block is included in the function block from which the safety program is generated.
The information processing device further includes an emulator for generating a simulated signal that simulates the operating state of the target device.
The execution mode of the safety program by the execution unit includes a first simulation mode and a second simulation mode.
The information processing apparatus further includes a setting unit for setting either the first simulation mode or the second simulation mode of the execution mode of the safety program by the execution unit.
The execution unit
When the execution mode is set to the first simulation mode by the setting unit, the output of the error by the second output unit is invalidated.
An information processing device that inputs the simulated signal to the second input unit when the execution mode is set to the second simulation mode by the setting unit.
前記実行部は、前記設定部により前記実行モードが前記第2シミュレーションモードに設定されている場合、前記制御信号が変化してから前記所定時間が経過するまでの間に前記模擬信号を変化させる、請求項1に記載の情報処理装置。 When the execution mode is set to the second simulation mode by the setting unit, the execution unit changes the simulated signal between the time when the control signal changes and the time when the predetermined time elapses. The information processing apparatus according to claim 1. 前記実行部は、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが複数含まれている場合に、当該複数の監視ファンクションブロックのすべてについて前記エラーの出力を無効にする、請求項1または2に記載の情報処理装置。 The execution unit invalidates the output of the error for all of the plurality of monitoring function blocks when the function block from which the safety program is generated includes a plurality of the monitoring function blocks. 2. The information processing apparatus according to 2. 前記情報処理装置は、
前記安全プログラムを設計するためのユーザインターフェイスを提供する提供部と、
前記複数種類のファンクションブロックの任意のファンクションブロックを前記ユーザインターフェイスに配置する操作を受けるための操作受付部とをさらに備え、
前記ユーザインターフェイスは、当該ユーザインターフェイスに前記監視ファンクションブロックが含まれている場合において、前記エラーの出力が無効に設定されているときに、前記エラーの出力が無効であることを示す予め定められた態様で前記監視ファンクションブロックを表示する、請求項1~3のいずれか1項に記載の情報処理装置。
The information processing device is
A provider that provides a user interface for designing the safety program,
Further provided with an operation receiving unit for receiving an operation of arranging an arbitrary function block of the plurality of types of function blocks in the user interface.
The user interface is predetermined to indicate that the output of the error is invalid when the output of the error is set to invalid when the user interface includes the monitoring function block. The information processing apparatus according to any one of claims 1 to 3, which displays the monitoring function block in an embodiment.
前記態様で前記監視ファンクションブロックを表示することは、前記ユーザインターフェイスにおいて前記監視ファンクションブロックを他のファンクションブロックとは異なる態様で表示することを含む、請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein displaying the monitoring function block in the above-described embodiment includes displaying the monitoring function block in a manner different from other function blocks in the user interface. 予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理方法であって、
予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に前記安全プログラムを生成するステップを備え、
前記複数種類のファンクションブロックは、前記対象機器の動作を監視するための監視ファンクションブロックを含み、
前記監視ファンクションブロックによって実行される処理は、
第1入力信号を受けるステップと、
前記第1入力信号が変化したことに基づいて、前記対象機器の動作状態を変化させる制御信号を出力するステップと、
前記対象機器の動作状態を示す第2入力信号を受けるステップと、
前記制御信号が変化してから所定時間が経過するまでの間において前記第2入力信号が変化しない場合に、エラーを出力するステップとを有し、
前記情報処理方法は、前記安全プログラムの動作をシミュレーションするステップをさらに備え、
前記シミュレーションするステップは、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが含まれているときに、前記エラーを出力するステップにおける前記エラーの出力を無効にするステップを含み、
前記対象機器の動作状態を模擬的に表した模擬信号を生成するステップをさらに備え、
前記シミュレーションするステップは、前記安全プログラムの実行モードの第1シミュレーションモードと、第2シミュレーションモードとを含み、
前記安全プログラムの実行モードの前記第1シミュレーションモードと、前記第2シミュレーションモードとのいずれか一方を設定するステップをさらに備え、
前記シミュレーションするステップは、
前記実行モードが前記第1シミュレーションモードに設定されている場合、前記エラーの出力を無効にするステップと、
前記実行モードが前記第2シミュレーションモードに設定されている場合、前記模擬信号を入力するステップとを含む、情報処理方法。
It is an information processing method for evaluating a safety program that operates a target device so that safety is maintained when predetermined conditions are met.
A step of generating the safety program based on one or more function blocks combined from a plurality of types of function blocks prepared in advance is provided.
The plurality of types of function blocks include a monitoring function block for monitoring the operation of the target device.
The processing executed by the monitoring function block is
The step of receiving the first input signal and
A step of outputting a control signal that changes the operating state of the target device based on the change of the first input signal, and
The step of receiving the second input signal indicating the operating state of the target device,
It has a step of outputting an error when the second input signal does not change between the time when the control signal changes and the time when a predetermined time elapses.
The information processing method further comprises a step of simulating the operation of the safety program.
The simulation step includes a step of invalidating the output of the error in the step of outputting the error when the monitoring function block is included in the function block from which the safety program is generated.
Further provided with a step of generating a simulated signal that simulates the operating state of the target device.
The simulation step includes a first simulation mode and a second simulation mode of the execution mode of the safety program.
Further comprising a step of setting either the first simulation mode or the second simulation mode of the execution mode of the safety program.
The simulation step is
When the execution mode is set to the first simulation mode, the step of invalidating the output of the error and
An information processing method including a step of inputting a simulated signal when the execution mode is set to the second simulation mode.
予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理プログラムであって、
前記情報処理プログラムは、コンピュータに、
予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に前記安全プログラムを生成するステップを実行させ、
前記複数種類のファンクションブロックは、前記対象機器の動作を監視するための監視ファンクションブロックを含み、
前記監視ファンクションブロックによって実行される処理は、
第1入力信号を受けるステップと、
前記第1入力信号が変化したことに基づいて、前記対象機器の動作状態を変化させる制御信号を出力するステップと、
前記対象機器の動作状態を示す第2入力信号を受けるステップと、
前記制御信号が変化してから所定時間が経過するまでの間において前記第2入力信号が変化しない場合に、エラーを出力するステップとを有し、
前記情報処理プログラムは、コンピュータに、さらに、前記安全プログラムの動作をシミュレーションするステップをさらに実行させ、
前記シミュレーションするステップは、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが含まれているときに、前記エラーを出力するステップにおける前記エラーの出力を無効にするステップを含み、
前記情報処理プログラムは、コンピュータに、さらに、前記対象機器の動作状態を模擬的に表した模擬信号を生成するステップをさらに実行させ、
前記シミュレーションするステップは、前記安全プログラムの実行モードの第1シミュレーションモードと、第2シミュレーションモードとを含み、
前記情報処理プログラムは、コンピュータに、さらに、前記安全プログラムの実行モードの前記第1シミュレーションモードと、前記第2シミュレーションモードとのいずれか一方を設定するステップをさらに実行させ、
前記シミュレーションするステップは、
前記実行モードが前記第1シミュレーションモードに設定されている場合、前記エラーの出力を無効にするステップと、
前記実行モードが前記第2シミュレーションモードに設定されている場合、前記模擬信号を入力するステップとを含む、情報処理プログラム。
An information processing program for evaluating a safety program that operates a target device so that safety is maintained when predetermined conditions are met.
The information processing program is applied to a computer.
The step of generating the safety program is executed based on one or more function blocks combined from a plurality of types of function blocks prepared in advance.
The plurality of types of function blocks include a monitoring function block for monitoring the operation of the target device.
The processing executed by the monitoring function block is
The step of receiving the first input signal and
A step of outputting a control signal that changes the operating state of the target device based on the change of the first input signal, and
The step of receiving the second input signal indicating the operating state of the target device,
It has a step of outputting an error when the second input signal does not change between the time when the control signal changes and the time when a predetermined time elapses.
The information processing program causes the computer to further perform a step of simulating the operation of the safety program.
The simulation step includes a step of invalidating the output of the error in the step of outputting the error when the monitoring function block is included in the function block from which the safety program is generated.
The information processing program causes the computer to further execute a step of generating a simulated signal that simulates the operating state of the target device.
The simulation step includes a first simulation mode and a second simulation mode of the execution mode of the safety program.
The information processing program causes the computer to further execute a step of setting either the first simulation mode or the second simulation mode of the execution mode of the safety program.
The simulation step is
When the execution mode is set to the first simulation mode, the step of invalidating the output of the error and
An information processing program including a step of inputting the simulated signal when the execution mode is set to the second simulation mode.
JP2017047659A 2017-03-13 2017-03-13 Information processing equipment, information processing methods, and information processing programs Active JP7005914B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017047659A JP7005914B2 (en) 2017-03-13 2017-03-13 Information processing equipment, information processing methods, and information processing programs
JP2021204827A JP7287445B2 (en) 2017-03-13 2021-12-17 Information processing device, information processing method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017047659A JP7005914B2 (en) 2017-03-13 2017-03-13 Information processing equipment, information processing methods, and information processing programs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021204827A Division JP7287445B2 (en) 2017-03-13 2021-12-17 Information processing device, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP2018151867A JP2018151867A (en) 2018-09-27
JP7005914B2 true JP7005914B2 (en) 2022-01-24

Family

ID=63681733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017047659A Active JP7005914B2 (en) 2017-03-13 2017-03-13 Information processing equipment, information processing methods, and information processing programs

Country Status (1)

Country Link
JP (1) JP7005914B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7162560B2 (en) * 2019-03-28 2022-10-28 日立造船株式会社 Information processing device, information processing method, information processing program, and garbage incineration plant
AT522186B1 (en) * 2019-05-20 2020-09-15 Dipl Ing Dipl Ing Fh Markus Gruber Computer-implemented method for the computer-aided generation of an executable control program for controlling and / or regulating a technical process
JP7398856B2 (en) * 2019-11-19 2023-12-15 株式会社キーエンス Program creation support device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178561A (en) 2002-10-21 2004-06-24 Fisher Rosemount Syst Inc Method for creating simulation system, method for obtaining snapshot of simulation system, and simulation creation system
JP2008027156A (en) 2006-07-20 2008-02-07 Omron Corp Simulation device
JP2010198562A (en) 2009-02-27 2010-09-09 Yamatake Corp Method and device of creating control program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178561A (en) 2002-10-21 2004-06-24 Fisher Rosemount Syst Inc Method for creating simulation system, method for obtaining snapshot of simulation system, and simulation creation system
JP2008027156A (en) 2006-07-20 2008-02-07 Omron Corp Simulation device
JP2010198562A (en) 2009-02-27 2010-09-09 Yamatake Corp Method and device of creating control program

Also Published As

Publication number Publication date
JP2018151867A (en) 2018-09-27

Similar Documents

Publication Publication Date Title
JP7005914B2 (en) Information processing equipment, information processing methods, and information processing programs
JP5436660B2 (en) Method and apparatus for generating application program for safety-related control unit
US10545471B2 (en) Evaluation system, safety controller, computer readable storage medium, and evaluation method
CN108572611B (en) Information processing apparatus, information processing method, and computer-readable recording medium
JP4900607B2 (en) Safety control system
JP6747104B2 (en) Safety systems, programs, and methods
JP2004524620A (en) Method and apparatus for programming a fail-safe control system
JP6111675B2 (en) Method, apparatus and program for supporting user program design of safety controller
JP6481267B2 (en) Programmable display
JP7000703B2 (en) Information processing equipment, information processing methods, and information processing programs
WO2013145940A1 (en) Information processing device, information processing method, and program
JP4849261B2 (en) Safety application creation support device
US20220342380A1 (en) Control system, support device, and support program
JP2008027156A (en) Simulation device
JP7287445B2 (en) Information processing device, information processing method, and information processing program
JP2005031778A (en) Safety controller and system using the same
JP2017211872A (en) Numerical controller equipped with program correction assist function for resolving alarm
JP2007304939A (en) Programmable controller and monitor
JP4465920B2 (en) Simulation apparatus and simulation method
JP2008310536A (en) Safety remote i/o terminal
JP4491165B2 (en) Verification pattern generation apparatus and method, and verification pattern generation program
JP2002366206A (en) Simulating method and device therefor
JP2009080738A (en) Simulation method for sequence program
JP7200580B2 (en) Control system, support equipment, support program
JP2023151876A (en) Control apparatus, control method, development support apparatus, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 7005914

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150