JP4793588B2 - Program development support device for safety controller - Google Patents

Program development support device for safety controller Download PDF

Info

Publication number
JP4793588B2
JP4793588B2 JP2007156217A JP2007156217A JP4793588B2 JP 4793588 B2 JP4793588 B2 JP 4793588B2 JP 2007156217 A JP2007156217 A JP 2007156217A JP 2007156217 A JP2007156217 A JP 2007156217A JP 4793588 B2 JP4793588 B2 JP 4793588B2
Authority
JP
Japan
Prior art keywords
function block
arrangement
input
output
template
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
JP2007156217A
Other languages
Japanese (ja)
Other versions
JP2008310479A (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 JP2007156217A priority Critical patent/JP4793588B2/en
Priority to DE102008002266.7A priority patent/DE102008002266B4/en
Priority to US12/136,914 priority patent/US20090024230A1/en
Priority to CN2011103717578A priority patent/CN102411331A/en
Publication of JP2008310479A publication Critical patent/JP2008310479A/en
Application granted granted Critical
Publication of JP4793588B2 publication Critical patent/JP4793588B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、画像表示器のスクリーン上のプログラミングフィールドに、所望の制御仕様に対応するロジック回路図を記述するための一連のユーザ操作を通して、安全コントローラ用の制御プログラムが自動的に生成されるされるようにした安全(セーフティ)コントローラのプログラム開発支援装置に関する。   In the present invention, a control program for the safety controller is automatically generated through a series of user operations for describing a logic circuit diagram corresponding to a desired control specification in a programming field on the screen of the image display. The present invention relates to a program development support device for a safety controller.

安全コントローラは、一般的なプログラマブルコントローラ(PLC)に類似するロジック演算機能、入出力制御機能に加えて、安全面の自己診断機能を内蔵させることにより、その制御において高度な安全性および信頼性を確保したものであり、自己診断結果により異常を検出した場合には、自己の制御が危険につながらないように、強制的に安全な制御を行なうような機能(フェールセーフ機能)を備えている。   The safety controller incorporates a logic operation function and input / output control function similar to a general programmable controller (PLC), as well as a built-in self-diagnosis function for safety, thereby providing a high level of safety and reliability in its control. This function is provided and has a function (fail-safe function) for forcibly performing safe control so that self-control does not lead to danger when an abnormality is detected from the self-diagnosis result.

ここに言う安全は、より具体的には、規格化されている安全基準を含む意味である。安全規格には、例えばIEC61508やEN規格などがある。IEC61508(プログラム可能な電子システムの機能安全に関する国際電気標準委員会)では、時間あたりの危険故障確立を(失敗確立:Probability of Failure per Hour)を定義し、この確立によってSILのレベル(Safety Integrity Level)を4段階に分類している。また、EN規格では、機械のリスクの大きさを評価し、リスク低減策を講じるように義務づけされていて、EN954−1では5つの安全カテゴリにて規定されている。この明細書でいう安全コントローラ、安全I/Oターミナル等は、このような安全基準のいずれかに対応したものである。   More specifically, the term “safety” as used herein means that standardized safety standards are included. Safety standards include, for example, IEC61508 and EN standards. IEC 61508 (International Electrotechnical Commission on Functional Safety of Programmable Electronic Systems) defines the establishment of dangerous failures per hour (Probability of Failure per Hour), which establishes the SIL level (Safety Integrity Level). ) Is classified into 4 levels. Further, EN standards require that the risk of a machine be evaluated and that risk reduction measures be taken, and EN 954-1 defines the safety categories. The safety controller, safety I / O terminal, and the like referred to in this specification correspond to any of these safety standards.

安全コントローラ用の制御プログラムを作成するための従来のプログラム開発支援装置(日本国、オムロン株式会社製セーフティネットワークコントローラ)におけるロジック回路図表示例が図35に示されている。   FIG. 35 shows a logic circuit diagram display example in a conventional program development support apparatus (safety network controller manufactured by OMRON Corporation, Japan) for creating a control program for a safety controller.

このプロラム開発支援装置(第1従来例)は、画像表示器のスクリーン上のプログラミングフィールド801に、予め用意された複数種のファンクションブロックの中から選択された1の種類のファンクションブロック(FB81〜FB85)を順次に配置し、かつ各ファンクションブロック毎に必要な固有パラメータ(図示せず)を設定(この例では、配線描画のためのマウスによるドラッグ操作で、パラメータが自動設定される)することにより、所望の制御仕様に対応するロジック回路図を完成する一連のユーザ操作を通して、安全コントローラ用の制御プログラムが自動的に生成されるされるようにしたものである。   This program development support device (first conventional example) has one type of function block (FB81 to FB85) selected from a plurality of types of function blocks prepared in advance in the programming field 801 on the screen of the image display. ) Are placed in sequence, and a specific parameter (not shown) necessary for each function block is set (in this example, the parameter is automatically set by dragging with the mouse for wiring drawing). The control program for the safety controller is automatically generated through a series of user operations for completing a logic circuit diagram corresponding to a desired control specification.

なお、図において、FB81は非常停止スイッチ・アプリケーション用のファンクションブロック、FB82はセーフティライトカーテン・アプリケーション用のファンクションブロック、FB83はリセット/リスタート・アプリケーション用のファンクションブロック、FB84は論理積演算・アプリケーション用のファンクションブロック、FB85は外部出力機器モニタリング・アプリケーション用のファンクションブロックである。また、図において、T811,T812は非常停止スイッチの2系統の出力信号が入力される一対の入力端子表示、T821,T822はセーフティライトカーテンの2系統の出力信号が入力される一対の入力端子表示、T83はリセットスイッチの出力信号が入力される入力端子表示、T84は外部出力機器モニタリング信号が入力される入力端子表示である。   In the figure, FB81 is a function block for emergency stop switch application, FB82 is a function block for safety light curtain application, FB83 is a function block for reset / restart application, and FB84 is for AND operation / application. FB85 is a function block for an external output device monitoring application. In the figure, T811 and T812 are a pair of input terminal displays to which two output signals of the emergency stop switch are input, and T821 and T822 are a pair of input terminal displays to which two output signals of the safety light curtain are input. , T83 is an input terminal display to which an output signal of the reset switch is input, and T84 is an input terminal display to which an external output device monitoring signal is input.

そして、ユーザによりプログラミングフィールド801上に描かれたロジック回路に対応して作成される回路図データは、所定のコンパイル処理が施されて、安全コントローラが直接に解読実行可能な設定ファイル(すなわち、安全コントローラ用制御プログラム)に変換される。こうして得られた実行用の設定ファイルは、対象となる安全コントローラへと、通信を介して又は可搬型記録媒体を介して、インストールされる。   Then, the circuit diagram data created corresponding to the logic circuit drawn on the programming field 801 by the user is subjected to a predetermined compilation process, and a setting file (that is, a safety file that can be directly decrypted and executed by the safety controller). Controller control program). The execution setting file obtained in this way is installed to the target safety controller via communication or via a portable recording medium.

上述の第1従来例によれば、プログラミングフィールド801上には、ファンクションブロックや端子表示(以下、回路素子と言う)の置き場所が固定されていないから、所望の回路素子をプログラミングフィールド801上の任意の位置に配置することができ、回路素子の配置自由度が高いと言う利点がある。その反面、限られた大きさのプログラミングフィールド801内に、所望の回路素子の全てを収容しかつそれらの回路素子を全体の回路動作が理解しやすく配置(レイアウト)するためには、ある種のデザイン上のセンス乃至適性が必要とされ、それらのセンスや適性に劣る者にとっては却って使い勝手が悪いと言う欠点がある(非特許文献1参照)。   According to the first conventional example described above, the place where function blocks and terminal displays (hereinafter referred to as circuit elements) are not fixed on the programming field 801. Therefore, a desired circuit element is placed on the programming field 801. There is an advantage that the circuit element can be arranged at an arbitrary position and the degree of freedom of arrangement of circuit elements is high. On the other hand, in order to accommodate all of the desired circuit elements within the limited size programming field 801 and to arrange (lay out) the circuit elements in an easy-to-understand manner, There is a drawback that sense or suitability in design is required, and that those who are inferior in sense or suitability are inconvenient to use (see Non-Patent Document 1).

安全コントローラ用の制御プログラムを作成するための従来の他のプログラム開発支援装置(独国、PILZ社製)におけるロジック回路図表示例が図36に示されている。   A logic circuit diagram display example in another conventional program development support apparatus (manufactured by PILZ, Germany) for creating a control program for a safety controller is shown in FIG.

このプロラム開発支援装置(第2従来例)も、画像表示器のスクリーン上のプログラミングフィールド901に、予め用意された複数種のファンクションブロックの中から選択された1の種類のファンクションブロック(FB91〜FB95)を順次に配置しかつ各ファンクションブロック毎に必要な固有パラメータ(図示せず)を設定(この例でも、配線描画のためのマウスによるドラッグ操作で、パラメータが自動設定される)することにより、所望の制御仕様に対応するロジック回路図を完成する一連のユーザ操作を通して、安全コントローラ用の制御プログラムが自動的に生成されるされるように構成されている。   This program development support device (second conventional example) also has one type of function block (FB91 to FB95) selected from a plurality of types of function blocks prepared in advance in the programming field 901 on the screen of the image display. ) Are placed sequentially and the necessary unique parameters (not shown) are set for each function block (in this example, the parameters are automatically set by dragging the mouse for wiring drawing) A control program for the safety controller is automatically generated through a series of user operations for completing a logic circuit diagram corresponding to a desired control specification.

加えて、この第2従来例にあっては、プログラミングフィールド901へのファンクションブロックの配置は、プログラミングフィールド901上に表示されるファンクションブロック配置用のテンプレート900による案内にしたがって行われ、このテンプレート900には、スクリーン上の垂直方向を基準方向として、複数の行(R1,R2,R3・・・)と複数の列(C1,C2,C3・・・)とが定義される共に、行(R)方向の一端(左端)は入力側として他端(右端)は出力側として定義され、かつそれらの行(R1,R2,R3・・・)と列(C1,C2,C3・・・)との各交点位置にそれぞれ対応するようにして、複数のブロック配置可能位置(A11〜A33)が定義されている。   In addition, in the second conventional example, the function blocks are arranged in the programming field 901 according to the guidance by the function block arrangement template 900 displayed on the programming field 901. Are defined by defining a plurality of rows (R1, R2, R3...) And a plurality of columns (C1, C2, C3...) With the vertical direction on the screen as a reference direction. One end (left end) of the direction is defined as the input side, and the other end (right end) is defined as the output side, and the row (R1, R2, R3...) And column (C1, C2, C3...) A plurality of block arrangement possible positions (A11 to A33) are defined so as to correspond to the respective intersection positions.

なお、図において、FB91は非常停止スイッチ・アプリケーション用のファンクションブロック、FB92はセーフティライトカーテン・アプリケーション用のファンクションブロック、FB93は論理積演算・アプリケーション用のファンクションブロック、FB94はリセット/リスタート・アプリケーション用のファンクションブロック、FB95は外部出力機器モニタリング・アプリケーション用のファンクションブロックである。また、図において、T911,T912は非常停止スイッチの2系統の出力信号が入力される一対の入力端子表示、T921,T922はセーフティライトカーテンの2系統の出力信号が入力される一対の入力端子表示、T93はリセットスイッチの出力信号が入力される入力端子表示、T94は外部出力機器モニタリング信号が入力される入力端子表示、である。   In the figure, FB91 is a function block for emergency stop switch application, FB92 is a function block for safety light curtain application, FB93 is a function block for AND operation / application, and FB94 is for reset / restart application. FB95 is a function block for an external output device monitoring application. In the figure, T911 and T912 are a pair of input terminal displays to which two output signals of the emergency stop switch are input, and T921 and T922 are a pair of input terminal displays to which two output signals of the safety light curtain are input. , T93 is an input terminal display to which an output signal of the reset switch is input, and T94 is an input terminal display to which an external output device monitoring signal is input.

そして、ユーザによりプログラミングフィールド901上に描かれたロジック回路に対応して作成される回路図データは、第1従来例と同様に所定のコンパイル処理が施されて、安全コントローラが直接に解読実行可能な設定ファイル(すなわち、安全コントローラ用制御プログラム)に変換される。こうして得られた実行用の設定ファイルは、対象となる安全コントローラへと、通信を介して又は可搬型記録媒体を介して、インストールされる。   Then, the circuit diagram data created corresponding to the logic circuit drawn on the programming field 901 by the user is subjected to a predetermined compiling process as in the first conventional example, and can be directly decoded and executed by the safety controller. Is converted into a safe setting file (that is, a control program for the safety controller). The execution setting file obtained in this way is installed to the target safety controller via communication or via a portable recording medium.

上述の第2従来例によれば、プログラミングフィールド901上には、回路素子の置き場所が予め定義されているから、所望の回路素子を選択したのち、その回路素子を例えばマウスのドラッグ操作で、予め決められた置き場所の近辺に近づけさえすれば、ドラッグされた回路素子は予め定義された置き場所へと自動的に誘導されて配置されるから、デザイン上のセンスや適性を有しない者であっても、選択された複数の回路素子をプログラミングフィールド901内に要領よく配置することができ、第1従来例の場合のように、選択された回路素子のレイアウトに頭を悩ますことがないと言う利点がある(非特許文献2)。
オムロン株式会社のカタログ(URL http://www.fa.omron.co.jp/product/32.htmlに掲載) PILZ社カタログ(URL http://www.pilz.jp/p_saferelay7.htmに掲載)
According to the second conventional example described above, the placement location of the circuit element is predefined on the programming field 901. Therefore, after selecting a desired circuit element, the circuit element can be dragged with a mouse, for example. As long as it is close to a predetermined location, the dragged circuit element is automatically guided to the predefined location and placed, so those who do not have sense or suitability in design. Even in such a case, a plurality of selected circuit elements can be arranged in the programming field 901 in a proper manner, and the layout of the selected circuit element is not troubled as in the case of the first conventional example. There is an advantage to say (Non-Patent Document 2).
OMRON Corporation catalog (URL http://www.fa.omron.co.jp/product/32.html) PILZ catalog (URL http://www.pilz.jp/p_saferelay7.htm)

ところで、この種のプログラム開発支援装置において、所望の安全制御仕様に対応するロジック回路図を生成するに際しては、単に入出力間の信号論理のみならず、安全コントローラに特有とされる様々な事情に配慮しつつ、必要なファンクションブロックをロジック回路図上の必要な位置に適切に配置せねばならない。   By the way, in this kind of program development support device, when generating a logic circuit diagram corresponding to a desired safety control specification, not only the signal logic between input and output but also various situations peculiar to the safety controller. With consideration given, the necessary function blocks must be properly placed at the required positions on the logic circuit diagram.

例えば、1もしくは2以上の入力端子から得られる入力信号が所定の論理値(危険)を示すときに、1もしくは2以上の出力端子から所定論理値(危険源の停止)を有する出力信号を送出するようなロジック回路図を作成しようとする場合、これが安全仕様でない通常のコントローラ(PLC等)であれば、それらの入出力間論理に相当する論理演算用のファンクションブロックを入出力端子列間に配置するだけで充分あろう。   For example, when an input signal obtained from one or more input terminals indicates a predetermined logical value (danger), an output signal having a predetermined logical value (danger source stop) is transmitted from one or more output terminals. If this is an ordinary controller (PLC, etc.) that is not a safety specification, a functional block for logical operation corresponding to the logic between these input / output terminals is inserted between the input / output terminal strings. It would be enough to just place it.

しかし、これが安全仕様のコントローラとなると、些か、事情は異なる。すなわち、安全仕様のコントローラの場合には、入力端子から何らかの危険を示す入力信号が得られたとしても、その入力信号は、危険を検知する入力機器(非常停止スイッチ、ライトカーテン、リミットスイッチ、ドアスイッチ等々)それ自体の故障等に起因するものである可能性もあるため、そのような入力信号を直ちに取り込んで必要な論理演算に供することはできない。そのため、論理演算用のファンクションブロックの少なくとも前段には、各入力機器毎に適切な故障診断機能等が組み込まれた入力系ファンクションブロックを配置せねばならない。   However, when this is a safety controller, the situation is slightly different. That is, in the case of a controller with safety specifications, even if an input signal indicating some danger is obtained from the input terminal, the input signal is used as an input device (emergency stop switch, light curtain, limit switch, door, etc.) that detects danger. Such as a switch) may be due to its own failure or the like, so such an input signal cannot be immediately captured and used for the necessary logical operations. For this reason, an input system function block in which an appropriate failure diagnosis function or the like is incorporated for each input device must be arranged at least before the logical operation function block.

また、そのような入力系ファンクションブロック経由で何らかの危険を示す入力信号が得られたとしても、その入力信号は、調整やメンテナンス等のために、危険を承知で作業員が危険領域に侵入したことに起因するものである可能性もあるため、そのような入力信号を直ちに取り込んで必要な論理演算に供することはできない場合もある。そのため、論理演算用のファンクションブロックの少なくとも前段には、調整時やメンテナンス時等に相当する所定の条件が成立するときには、入力信号を無効化する機能を有する無効化ファンクションでロックを配置せねばならない場合もある。   In addition, even if an input signal indicating some danger is obtained via such an input system function block, the input signal must be informed of the danger and the operator has entered the danger area for adjustment, maintenance, etc. Therefore, it may not be possible to immediately capture such an input signal and provide it to a necessary logical operation. Therefore, at least before the function block for logical operation, when a predetermined condition corresponding to the time of adjustment, maintenance, etc. is satisfied, a lock must be arranged with a disabling function having a function of disabling the input signal. In some cases.

また、そのような入力診断系ファンクションブロック、及び/又は、無効化ブロック経由で何らかの危険を示す入力信号が得られた場合、危険を示す状態から安全を示す状態への復帰と同時に出力信号の状態を復帰させてはいけないとする安全法規上の理由から、そのような入力信号を直ちに取り込んで必要な論理演算に供することができない場合(特に、瞬時動作/瞬時復帰・接点からの入力信号の場合)もある。そのため、論理演算用のファンクションブロックの少なくとも前段には、入力信号の危険状態を保持するセット機能と、危険状態の保持を解除するリセット機能と、リセット条件を規定するリセット条件設定機能とを有するセット/リセット・ファンクションブロックを配置せねばならない場合もある。   In addition, when an input signal indicating some danger is obtained via such an input diagnostic system function block and / or invalidation block, the state of the output signal is simultaneously restored from the state indicating danger to the state indicating safety. If the input signal cannot be taken immediately and used for the required logical operation due to safety laws and regulations that must not be restored (especially in the case of instantaneous operation / instantaneous return / contact input signal) There is also. Therefore, a set having at least the preceding stage of the function block for logical operation has a set function for holding the dangerous state of the input signal, a reset function for releasing the hold of the dangerous state, and a reset condition setting function for defining the reset condition / In some cases, it may be necessary to place a reset function block.

また、出力機器それ自体にも故障の可能性があることを考慮すると、論理演算用(出力条件設定用)のファンクションブロックの出力信号を無条件で出力機器へと送出することは必ずしも適当ではない。そのため、論理演算用のファンクションブロックの少なくとも後段には、各出力機器毎に適切な故障診断機能等が組み込まれた出力診断系ファンクションブロック(例えば、EDMファンクションブロック等の外部機器モニタリング用ファンクションブロック)を配置せねばならない。   Also, considering that there is a possibility of failure in the output device itself, it is not always appropriate to send the output signal of the function block for logic operation (for setting the output condition) unconditionally to the output device. . For this reason, an output diagnosis function block (for example, an external device monitoring function block such as an EDM function block) in which an appropriate failure diagnosis function or the like is incorporated for each output device is provided at least after the function block for logical operation. Must be placed.

さらに、出力機器のそれぞれには固有の動作遅れ時間があることを等考慮すると、複数の出力端子のそれぞれから同一のタイミングで出力信号を送出することが必ずしも適当でない場合もある。そのため、論理演算用のファンクションブロックの少なくとも後段には、出力信号のオンタイミング、及び/又は、オフタイミングを遅らせる機能を有する出力態様指定ファンクションブロックを配置せねばならない場合もある。   Furthermore, considering that each output device has its own operation delay time, it may not always be appropriate to send an output signal at the same timing from each of the plurality of output terminals. Therefore, an output mode designation function block having a function of delaying the ON timing and / or the OFF timing of the output signal may have to be arranged at least in the subsequent stage of the function block for logical operation.

このように、ロジック回路図を介在する安全コントローラのプログラミングにおいては、入力端子から出力端子へ至る信号経路上の必要な位置に、必要なファンクションブロックを適切に配置する作業がユーザに対して要求される。この作業は、上述の安全コントローラ特有の事情を十分に考慮してはじめて適切に成し得るものであるから、安全コントローラのプログラミングに不慣れな初心者にとってはなかなか容易なことではなく、しばしば必要なファンクションブロックの欠落を生じたり、必要なファンクションブロックは存在するものの、配置される位置が誤っている等のプログラミングミスが生ずる。   As described above, in the programming of the safety controller through the logic circuit diagram, the user is required to appropriately arrange the necessary function blocks at necessary positions on the signal path from the input terminal to the output terminal. The This work can only be done properly after fully considering the circumstances specific to the safety controller described above, so it is not easy for beginners unfamiliar with safety controller programming. Programming errors, such as missing positions, or necessary function blocks, but incorrect positions.

殊に、上述の第1、第2従来例にあっては、プログラミングフィールド上の各ファンクションブロックが配置される位置とその位置に配置されるファンクションブックの種別との間には厳密な相関は存在しないから、本来配置されるべき複数のファンクションブロックのうちのいずれかが、誤って欠落していたり、配置される位置が異なっていたとしても、そのことを各ファンクションブロックのレイアウト状態から直ちに発見することはなかなか困難である。   In particular, in the first and second conventional examples described above, there is a strict correlation between the position where each function block is placed on the programming field and the type of function book placed at that position. Therefore, even if one of the function blocks that should originally be placed is accidentally missing or placed at a different location, it is immediately detected from the layout state of each function block. It is very difficult.

そのため、それらの従来例において、そのようなプログラミングミスを発見するためには、具体的な制御の事情を頭に浮かべながら、例えば入力端子から出力端子へと信号経路を順に辿ると言う地道な検証作業が必要となり、このような検証作業の煩雑さがこの種の安全コントローラの普及を阻害する一因ともなっている。   Therefore, in these conventional examples, in order to find such a programming mistake, for example, a steady verification that the signal path is sequentially traced from the input terminal to the output terminal, with specific control circumstances in mind. Work is required, and the complexity of such verification work is one factor that hinders the spread of this type of safety controller.

しかも、安全コントローラのプログラミングに使用されるファンクションブロックの種類は、安全コントローラの普及に連れて益々増加することが予想されるため、より多数の種別のファンクションブロックが存在するであろう将来の状況下においても、プログラミングミスが生じ難く、かつプログラミングミスが生じた場合には、そのことを容易に発見することが可能な安全コントローラのプログラム開発支援装置が要望されている。   In addition, the types of function blocks used for programming safety controllers are expected to increase with the spread of safety controllers, so that there will be more types of function blocks in the future. However, there is a demand for a program development support apparatus for a safety controller that is unlikely to cause programming mistakes and that can easily find out if a programming mistake occurs.

一方、入力端子から出力端子へ至る信号経路上の必要な位置に、必要なファンクションブロックが適切な配置順(空間的配置順)で配置されたとしても、その配置手順(時間的配置順)が不適切であれば、プログラミングミスを生じやすいと言う問題もある。   On the other hand, even if the necessary function blocks are arranged in the appropriate arrangement order (spatial arrangement order) at the required position on the signal path from the input terminal to the output terminal, the arrangement procedure (temporal arrangement order) There is also a problem that if it is inappropriate, a programming mistake is likely to occur.

すなわち、この種の安全コントローラのプログラミングにおいて、回路図上に順次に配置されるファンクションブロックは、その配置時点において既に配置されている他のファンクションブロックの情報を必要とすることが多い。   That is, in programming of this type of safety controller, function blocks that are sequentially arranged on a circuit diagram often require information on other function blocks that are already arranged at the time of the arrangement.

そのため、例えば複数のファンクションブロックFB1,FB2,FB3が存在する場合において、その好ましい空間的配置順がFB1→FB2→FB3、かつ好ましい時間的配置順もFB1→FB2→FB3であるときに、それらのファンクションブロックの実際の空間的配置順がFB1→FB2→FB3であったとしても、その時間的配置順が例えばFB1→FB3→FB2であったとすると、ファンクションブロックFB3の配置時点において、ファンクションブロックFB2は未だ配置されていないことから、ファンクションブロックFB3はファンクションブロックFB2の情報を参照することができず、これがファンクションブロックFB3に関するパラメータ設定ミスの原因となる。   Therefore, for example, when there are a plurality of function blocks FB1, FB2, and FB3, when the preferable spatial arrangement order is FB1 → FB2 → FB3 and the preferable temporal arrangement order is FB1 → FB2 → FB3, Even if the actual spatial arrangement order of the function blocks is FB1 → FB2 → FB3, if the temporal arrangement order is, for example, FB1 → FB3 → FB2, the function block FB2 is Since the function block FB3 has not been arranged yet, the function block FB3 cannot refer to the information of the function block FB2, which causes a parameter setting error regarding the function block FB3.

殊に、ロジック回路図の入出力端に隣接するファンクションブロックは、入出力端の情報を取り込んでパラメータ設定されるものであるから、これがもしも回路内部のファンクションブロックよりも時間的に後に配置されるとすると、回路内部のファンクションブロックの配置においてパラメータ設定ミスを生じやすい。   In particular, since the function block adjacent to the input / output terminal of the logic circuit diagram is set by taking in the information of the input / output terminal, it is arranged later in time than the function block in the circuit. Then, parameter setting mistakes are likely to occur in the arrangement of function blocks in the circuit.

この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、プログラミングミスが生じ難く、かつそのようなプログラミングミスが生じた場合には、そのことをファンクションブロックのレイアウトから容易に発見することが可能な安全コントローラのプログラム開発支援装置を提供することにある。   The present invention has been made by paying attention to the above-mentioned problems, and the purpose of the present invention is to make it difficult for programming mistakes to occur, and if such programming mistakes occur, this is indicated in the function block. An object of the present invention is to provide a program development support device for a safety controller that can be easily found from a layout.

この発明のさらに他の目的並びに作用効果については、明細書の記述を参照することにより、当業者であれば容易に理解されるであろう。   Other objects and operational effects of the present invention will be easily understood by those skilled in the art by referring to the description of the specification.

上述の技術的な課題は、以下の構成を有する安全コントローラのプログラム開発支援装置により解決することができる。   The above technical problem can be solved by a program development support apparatus for a safety controller having the following configuration.

すなわち、この安全コントローラのプログラム開発支援装置は、画像表示器のスクリーン上のプログラミングフィールドに、予め用意された複数種のファンクションブロックの中から選択された1の種類のファンクションブロックを順次に配置しかつ各ファンクションブロック毎に必要な固有パラメータを設定することにより、所望の制御仕様に対応するロジック回路図を完成する一連のユーザ操作を通して、安全コントローラ用の制御プログラムが自動的に生成されるように動作する処理部を有した基本構成を有している。   That is, this safety controller program development support device sequentially arranges one type of function block selected from a plurality of types of function blocks prepared in advance in the programming field on the screen of the image display. By setting the necessary unique parameters for each function block, the control program for the safety controller is automatically generated through a series of user operations to complete the logic circuit diagram corresponding to the desired control specifications. It has a basic configuration with a processing unit.

上記の基本構成に加えて、このプログラム開発支援装置において、前記プログラミングフィールドへのファンクションブロックの配置は、当該プログラミングフィールド上に表示され、かつ行と列との各交叉位置にそれぞれ対応するようにして、ブロック配置可能位置が定義されると共に、行方向の一端側は入力端子側として又他端側は出力端子側として定義されたファンクションブロック配置用のテンプレートによる案内にしたがって行われるようになっている。   In addition to the basic configuration described above, in this program development support device, the arrangement of function blocks in the programming field is displayed on the programming field and corresponds to each crossing position of a row and a column. The position where the block can be arranged is defined, and one end side in the row direction is defined as an input terminal side, and the other end side is performed according to guidance by a function block arrangement template defined as an output terminal side. .

加えて、前記ファンクションブロック配置用のテンプレートは、入力側に位置しかつそれぞれ入力信号に関する所定種別のファンクションブロックの配置を受け入れる一連の複数列を含む入力側テンプレートと、出力側に位置しかつそれぞれ出力信号に関する所定種別のファンクションブロックの配置を受け入れる一連の複数列を含む出力側テンプレートと、に分離されている。   In addition, the function block layout template is positioned on the input side and includes an input side template including a series of a plurality of columns each accepting a predetermined type of function block layout related to the input signal, and is positioned on the output side and each output. And an output-side template including a series of a plurality of columns that accept the arrangement of a predetermined type of function block relating to a signal.

このような動作をする処理部を備えた構成によれば、前記プログラミングフィールドへのファンクションブロックの配置は、当該プログラミングフィールド上に表示され、かつ行と列との各交叉位置にそれぞれ対応するようにして定義されたブロック配置可能位置に案内されるから、各ファンクションブロックは自動的に縦横整列されて配置され、ユーザはファンクションブロックのレイアウトに頭を悩ますことがない。   According to the configuration including the processing unit that performs such an operation, the arrangement of the function block in the programming field is displayed on the programming field and corresponds to each crossing position of the row and the column. Since each function block is automatically arranged vertically and horizontally, the user does not have to worry about the layout of the function block.

また、完成したロジック回路上における各ファンクションブロックは、同種別のものが列方向に並ぶこととなるため、完成後のロジック回路の検証については、各列単位で同種別のファンクションブロックが並んでいるか否かをチェックしたり、或いはいずれかの行に関してファンクションブロックが欠落しているときには、それがファンクションブロックの配置忘れではないかをチェックすると言った機械的なチェック作業で行うことができ、完成後のロジック回路の検証が容易である。   In addition, since each function block on the completed logic circuit is of the same type, the function block of the same type is arranged in each column for verification of the completed logic circuit. If a function block is missing for any row, it can be done with a mechanical check that says it is not forgotten to place the function block. It is easy to verify the logic circuit.

また、前記ファンクションブロック配置用のテンプレートは、入力側に位置しかつそれぞれ入力信号に関する所定種別のファンクションブロックの配置を受け入れる一連の複数列を含む入力側テンプレートと、出力側に位置しかつそれぞれ出力信号に関する所定種別のファンクションブロックの配置を受け入れる一連の複数列を含む出力側テンプレートと、に分離されているので、入力側テンプレートの各行のそれぞれに配置される一連のファンクションブロックは共通の1の入力信号を扱うものとなると共に、出力側テンプレートの各行のそれぞれに配置される一連のファンクションブロックについても共通の1の出力信号を取り扱うものとなって、作成されるロジック回路に含まれる各入出力信号系統と各テンプレート内の各行との対応関係が明確化され、これにより1の入力(又は出力)信号系統のファンクションブロックを別の入力(又は出力)信号系統に配置すると言ったプログラミングミスを生じ難いと言う利点がある。   In addition, the function block placement template is located on the input side and includes an input side template including a series of a plurality of columns each accepting the placement of a predetermined type of function block relating to the input signal, and is located on the output side and each output signal. Are separated into an output side template including a series of a plurality of columns that accepts the arrangement of function blocks of a predetermined type, so that a series of function blocks arranged in each row of the input side template has one common input signal In addition, each input / output signal system included in the created logic circuit handles a common output signal for a series of function blocks arranged in each row of the output side template. Between each and each row in each template Engagement is clarified, thereby there is an advantage that hardly occurs programming mistakes that said placing function blocks of the input (or output) signal system to another input (or output) signal system.

このとき、前記入力側テンプレートと前記出力側テンプレートとを、プログラミングフィールド上に択一的に表示可能となるように処理部にて処理すれば、入力側ロジック回路又は出力側ロジック回路のいずれかに専念して、該当する側のファンクションブロックの配置に専念することができるから、一層、プログラミングミスを起こし難い利点がある。   At this time, if the processing unit processes the input side template and the output side template so that they can be alternatively displayed on the programming field, either the input side logic circuit or the output side logic circuit is provided. Since it is possible to concentrate on the arrangement of function blocks on the corresponding side, there is an advantage that programming errors are less likely to occur.

加えて、このとき、前記入力側テンプレートの表示が先で、前記出力側テンプレートの表示が後になるように、両テンプレートを択一的にプログラミングフィールド上に表示させる仕組みが処理部に組み込まれていれば、ユーザは入力側ロジック回路に関するプログラミングを完了してから、出力側ロジック回路に関するプログラミングへと移行することとなり、出力側ロジック回路のプログラミングには入力側ロジック回路のプログラミング結果が不可欠であることから、これによってもプログラミングミスを起こし難い利点がある。   In addition, a mechanism for selectively displaying both templates on the programming field is incorporated in the processing section so that the input template is displayed first and the output template is displayed later. For example, the user must complete programming related to the input side logic circuit and then move to programming related to the output side logic circuit. The programming result of the input side logic circuit is indispensable for programming the output side logic circuit. This also has the advantage that programming errors are unlikely to occur.

この発明の好ましい実施の形態のプログラム開発支援装置としては、ユーザにより選択されるファンクションブロックが、その種別毎に予め定義される配置列及び配置手順にしたがって、各テンプレート上の該当列のブロック配置可能位置へと配置されるように、各ファンクションブロックを予め定義された配置列へと予め定義された配置手順をもって誘導する仕組みが処理部に組み込まれていてもよい。   As a program development support apparatus according to a preferred embodiment of the present invention, a function block selected by a user can be arranged in a block of a corresponding column on each template in accordance with an arrangement column and an arrangement procedure defined in advance for each type. A mechanism for guiding each function block to a predefined arrangement sequence with a predefined arrangement procedure so as to be arranged at a position may be incorporated in the processing unit.

このような構成によれば、上述の「誘導する仕組み」が組み込まれていることから、ユーザにより選択されるファンクションブロックは、その種別毎に予め定義された配置列に配置されるのみならず、予め定義された配置手順(時間的な配置順)にしたがって、各テンプレート上の該当列のブロック配置可能位置へと配置されるから、各ファンクションブロックの配置時に参照が必要となる他のファンクションブロックについて、それよりも以前に必ず配置が完了しているように、配置手順を定義しておくことにより、配置時に必要とされる他のファンクションブロックが未配置であることによるプログラミングミスの発生を抑制することができる。   According to such a configuration, since the above-described “guidance mechanism” is incorporated, the function blocks selected by the user are not only arranged in a predefined arrangement row for each type, Other function blocks that need to be referenced when placing each function block, because they are placed at the block placement possible position of the corresponding column on each template according to the predefined placement procedure (temporal placement order) By defining the arrangement procedure so that the arrangement is always completed before that, it suppresses the occurrence of programming mistakes due to the non-arrangement of other function blocks required at the time of arrangement. be able to.

このとき、各ファンクションブロックを予定される配置列へと予定される配置手順をもって誘導する仕組みとしては、そのために必要な操作をユーザに対して促すための案内表示としてもよい。   At this time, as a mechanism for guiding each function block to a predetermined arrangement row with a predetermined arrangement procedure, a guidance display for prompting the user to perform an operation necessary for that purpose may be used.

このような構成によれば、案内表示を介してユーザの心理に訴えかけることにより、ユーザの操作を介して、各ファンクションブロックを予定される配置列へと予定される配置手順をもって誘導することができる。   According to such a configuration, by appealing to the user's psychology via the guidance display, each function block can be guided to the planned arrangement sequence through the user's operation. it can.

また、各ファンクションブロックを予定される配置列へと予定される配置手順をもって誘導する仕組みとしては、ユーザにより選択されるファンクションブロックが、その種別毎に予め定義される配置列以外の配置列、又は配置手順以外の配置手順にしたがって、各テンプレート上に配置される動作を検知してそれを禁止するように、又はそのような動作を検知してそれに警告を発するように仕組まれたものであってもよい。   In addition, as a mechanism for guiding each function block to a planned arrangement sequence with a planned arrangement procedure, the function block selected by the user is an arrangement column other than the arrangement column predefined for each type, or It is designed to detect and prohibit actions placed on each template according to placement procedures other than the placement procedure, or to detect such actions and issue a warning to them. Also good.

このような構成によれば、禁止措置や警告により誤ったファンクションブロック配置操作を排除することにより、ユーザの叛意による操作を介して又は強制的に、各ファンクションブロックを予定される配置列へと予定される配置手順をもって誘導することができる。   According to such a configuration, by eliminating erroneous function block placement operations due to prohibition measures and warnings, each function block is moved to a planned placement row through an operation of the user's arbitrary or forced. It can be guided with a planned placement procedure.

このとき、テンプレートが入力側テンプレートであれば、予め定義された配置手順としては、予め定義された配置列に配置されるべき複数のファンクションブロックが、入力端子に近い列のものから順に配置されると言った配置手順であってもよい。   At this time, if the template is an input side template, as a predefined arrangement procedure, a plurality of function blocks to be arranged in a predefined arrangement column are arranged in order from the column close to the input terminal. It may be the arrangement procedure.

このような構成によれば、回路動作の理解が容易となるように、入力側テンプレートの各列に、入力端子から近いものから順に処理されるように、複数のファンクションブロックを並べて配置する場合において、プログラミングミスの抑制に有効である。   According to such a configuration, in order to facilitate the understanding of the circuit operation, in the case where a plurality of function blocks are arranged side by side so as to be processed in order from the closest to the input terminal in each column of the input side template. It is effective in suppressing programming mistakes.

また、テンプレートが出力側テンプレートであれば、予め定義された配置手順としては、予め定義された配置列に配置されるべき複数のファンクションブロックが、出力端子に近い列のものから順に配置されると言った配置手順であってもよい。   Further, if the template is an output side template, as a predefined arrangement procedure, a plurality of function blocks to be arranged in a predefined arrangement column are arranged in order from the column close to the output terminal. The said arrangement | positioning procedure may be sufficient.

このような構成によれば、回路動作の理解が容易となるように、出力側テンプレートの各列に、入力端子から近いものから順に処理されるように、複数のファンクションブロックを並べて配置する場合において、プログラミングミスの抑制に有効である。   According to such a configuration, in order to facilitate the understanding of the circuit operation, in the case where a plurality of function blocks are arranged side by side so as to be processed in order from the closest to the input terminal in each column of the output side template. It is effective in suppressing programming mistakes.

この発明によれば、プログラミングミスが生じ難く、かつそのようなプログラミングミスが生じた場合には、そのことをファンクションブロックのレイアウトから容易に発見することが可能な安全コントローラのプログラム開発支援装置を提供することができる。   According to the present invention, there is provided a program development support device for a safety controller that is unlikely to cause a programming error and that can easily be detected from a function block layout when such a programming error occurs. can do.

以下に、この発明に係る安全コントローラのプログラム開発支援装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。   A preferred embodiment of a program development support apparatus for a safety controller according to the present invention will be described below in detail with reference to the accompanying drawings.

本発明に係るプログラム開発支援装置の対象となる安全コントローラを含む安全制御システムを示す概念図が図1に示されている。同図(a)に示される安全制御システムは、1台の安全コントローラ1と1若しくは2台以上の安全I/Oターミナル5とをバス型ネットワーク2aにて接続して構成されている。尚、同図(a)に示される安全制御システムにおいては、安全コントローラ1はマスタとして、安全I/Oターミナル5はスレーブとして機能する。   FIG. 1 is a conceptual diagram showing a safety control system including a safety controller that is a target of a program development support apparatus according to the present invention. The safety control system shown in FIG. 2A is configured by connecting one safety controller 1 and one or more safety I / O terminals 5 via a bus network 2a. In the safety control system shown in FIG. 2A, the safety controller 1 functions as a master and the safety I / O terminal 5 functions as a slave.

これらの安全コントローラ1及び安全I/Oターミナル5には、それぞれ入力機器3及び出力機器4が接続される。入力機器3としては、セーフティ非常停止スイッチ、セーフティライトカーテン、セーフティリミットスイッチ、セーフティドアスイッチなどを挙げることができる。また、出力機器4としては、セーフティリレー、セーフティコンタクタなどを挙げることができる。   An input device 3 and an output device 4 are connected to the safety controller 1 and the safety I / O terminal 5, respectively. Examples of the input device 3 include a safety emergency stop switch, a safety light curtain, a safety limit switch, and a safety door switch. Examples of the output device 4 include a safety relay and a safety contactor.

同図(a)に示されるマスタ・スレーブ型の安全制御システムに適用する場合、本発明のプログラム開発支援装置10は、安全コントローラ1と各安全I/Oターミナル5とを繋ぐバス型ネットワーク2aに接続することができる。これに対して、同図(b)に示される単独タイプの制御システムに適用する場合、本発明のプログラム開発支援装置10は所定のケーブル2bを介して直結される。こうして、プログラム開発支援装置10にて生成される安全に関する制御プログラムは、各安全コントローラ1で実行可能な形式に変換された後、安全コントローラ1へと送り込まれる。   When applied to the master / slave type safety control system shown in FIG. 1A, the program development support apparatus 10 of the present invention is connected to the bus type network 2a connecting the safety controller 1 and each safety I / O terminal 5. Can be connected. On the other hand, when applied to the single type control system shown in FIG. 4B, the program development support apparatus 10 of the present invention is directly connected via a predetermined cable 2b. Thus, the safety-related control program generated by the program development support apparatus 10 is converted into a format that can be executed by each safety controller 1 and then sent to the safety controller 1.

本発明に係るプログラム開発支援装置の電気的なハードウェア構成を示す概略ブロックズが図3に示されている。図1と図3とを参照して明らかなように、このプログラム開発支援装置10は、図示の例にあっては、ノート型パソコンを主体として構成されている。ノート型パソコンのハードウェア構成は、当業者にはよく知られているように、CPU11と、入力操作部12と、画像表示部13と、ワークRAM14と、記憶装置15と、通信部16とをシステムバス17で接続して構成されている。   A schematic block diagram showing the electrical hardware configuration of the program development support apparatus according to the present invention is shown in FIG. As is apparent with reference to FIG. 1 and FIG. 3, the program development support apparatus 10 is mainly composed of a notebook personal computer in the illustrated example. As is well known to those skilled in the art, the hardware configuration of a notebook computer includes a CPU 11, an input operation unit 12, an image display unit 13, a work RAM 14, a storage device 15, and a communication unit 16. The system bus 17 is connected.

CPU11は、マイクロプロセッサを主体として構成されており、当該ノート型パソコン全体を統括制御するものである。入力操作部12は、マウスやキーボードなどを主体として構成されており、当該ノートパソコンに対する各種の指令を与えるためのヒューマン・マシン・インタフェースとして機能するものである。画像表示部13は、液晶ディスプレイなどにより構成されており、その画面(スクリーン)13aには、後に図21等を参照して詳述するように、本発明に係るプログラミングフィールド201が表示されるようになっている。ワークRAM14は、後述するシステムプログラム、アプリケーションプログラムなどをCPU11が実行する際のワークエリアとして利用される。記憶装置15は、ハードディスクなどで構成されており、その内部には出力イメージメモリ15a、システムメモリ15b、プログラムメモリ15cがそれぞれ配置されている。出力イメージメモリ15aは、本発明に関連して、各種のイメージを画像表示部13のスクリーン13a上に表示させる際の各種のイメージデータを格納するために使用され、システムメモリ15bは、当該ノートパソコンの基本的な機能を構成するためのファームウェア(オペレーティングシステムを含む)を格納するために使用される。プログラムメモリ15cは、当該ノート型パソコンで実行されるべき各種のアプリケーションプログラムを格納するために使用される。先に述べたように、出力イメージメモリ15a、システムメモリ15b、プログラムメモリ15cに格納された各種のプログラム並びにデータは、それぞれCPU11が実行する際には、ワークRAM14のワークエリア上に展開されて実行されることはよく知られている通りである。   The CPU 11 is composed mainly of a microprocessor and controls the entire notebook personal computer. The input operation unit 12 is mainly composed of a mouse, a keyboard, and the like, and functions as a human machine interface for giving various commands to the notebook personal computer. The image display unit 13 is configured by a liquid crystal display or the like, and a programming field 201 according to the present invention is displayed on the screen (screen) 13a as will be described in detail later with reference to FIG. It has become. The work RAM 14 is used as a work area when the CPU 11 executes a system program, an application program, etc., which will be described later. The storage device 15 is configured by a hard disk or the like, and an output image memory 15a, a system memory 15b, and a program memory 15c are arranged therein. In connection with the present invention, the output image memory 15a is used for storing various image data when various images are displayed on the screen 13a of the image display unit 13, and the system memory 15b is used for the notebook personal computer. Used to store the firmware (including the operating system) to configure the basic functions. The program memory 15c is used to store various application programs to be executed on the notebook personal computer. As described above, when the CPU 11 executes various programs and data stored in the output image memory 15a, the system memory 15b, and the program memory 15c, the programs and data are developed on the work area of the work RAM 14 and executed. It is well known that it is done.

次に、安全コントローラの電気的なハードウェア構成を示す概略ブロック図が図4に示されている。同図に示されるように、安全コントローラ1の内部には、通信I/F部101と、中央演算部102と、入力端子部104aと、出力端子部104bとが含まれている。   Next, a schematic block diagram showing the electrical hardware configuration of the safety controller is shown in FIG. As shown in the figure, the safety controller 1 includes a communication I / F unit 101, a central processing unit 102, an input terminal unit 104a, and an output terminal unit 104b.

通信I/F部101は、当該安全コントローラ1とネットワーク2a,2bとの間で通信を行う際のインタフェース機能を実現するためのものである。中央演算部102は、当該安全コントローラ1の全体を統括制御するものであり、マイクロプロセッサ、ROM、RAMなどを主体として構成されている。   The communication I / F unit 101 is for realizing an interface function when communication is performed between the safety controller 1 and the networks 2a and 2b. The central processing unit 102 performs overall control of the safety controller 1 as a whole, and mainly includes a microprocessor, a ROM, a RAM, and the like.

入力端子部104aには、入力機器3からの信号を受け付けるための複数の入力端子(端子1,端子2,・・・,端子n)が含まれている。一方、出力端子部104bには、出力機器4へと出力信号を送出するための複数の出力端子(端子1,端子2,・・・,端子n)が含まれている。   The input terminal unit 104a includes a plurality of input terminals (terminal 1, terminal 2,..., Terminal n) for receiving a signal from the input device 3. On the other hand, the output terminal portion 104b includes a plurality of output terminals (terminal 1, terminal 2,..., Terminal n) for sending output signals to the output device 4.

入力側の端子異常診断部103aは、入力端子部104aに含まれる各入力端子のそれぞれに対応する個別診断部を有している。各個別診断部は、複数の入力機器種別に対応する汎用の診断部として構成されており、この診断部は各入力機器種別に応じたパラメータが設定されることによって、その機種に特化した形態に構築されるように仕組まれている。後述するプログラミング作業において、入力系ファンクションブロックのパラメータとして出現するのは、この端子異常診断部103aを各入力機器種別に特化するためのパラメータのことである。   The input-side terminal abnormality diagnosis unit 103a has individual diagnosis units corresponding to the input terminals included in the input terminal unit 104a. Each individual diagnosis unit is configured as a general-purpose diagnosis unit corresponding to a plurality of input device types, and this diagnosis unit is configured according to the model by setting parameters according to each input device type. It is structured to be built. In the programming work described later, what appears as a parameter of the input function block is a parameter for specializing the terminal abnormality diagnosis unit 103a for each input device type.

出力側の端子異常診断部103bもまた、出力端子部104bに含まれる各出力端子に対応する個別診断部を有している。この個別診断部は、複数の出力機器種別に対応する汎用の診断部として構成されており、これに各出力機器に対応するパラメータを設定することによって、その出力機器種別に対応する診断部として特化されるように構成されている。   The terminal abnormality diagnosis unit 103b on the output side also has an individual diagnosis unit corresponding to each output terminal included in the output terminal unit 104b. This individual diagnosis unit is configured as a general-purpose diagnosis unit corresponding to a plurality of output device types, and by setting parameters corresponding to each output device, the individual diagnosis unit is specified as a diagnosis unit corresponding to the output device type. It is configured to be

次に、プログラム開発支援装置10の機能を概念的に示すブロック図が図2に示されている。同図に示されるように、本発明を実現するための構成に着目した場合、プログラム開発支援装置10として必要な機能構成としては、セーフティロジックウィザードDB10aと、ロジック回路図データ10bと、設定パラメータを作成するためのコンパイラ10cと、コンパイラ10cを介してロジック回路図データ10bから変換された設定パラメータ10dとを挙げることができる。これらの機能構成要素については、後に本発明に係るプログラム開発支援装置の動作を説明する際に、図17〜図20に示される図表、並びに、図5〜図16に示されるフローチャートを参照しながら詳述することとする。   Next, a block diagram conceptually showing the functions of the program development support apparatus 10 is shown in FIG. As shown in the figure, when attention is paid to the configuration for realizing the present invention, the functional configuration required for the program development support device 10 includes a safety logic wizard DB 10a, logic circuit diagram data 10b, and setting parameters. A compiler 10c for creating and a setting parameter 10d converted from the logic circuit diagram data 10b through the compiler 10c can be cited. These functional components will be described later with reference to the charts shown in FIGS. 17 to 20 and the flowcharts shown in FIGS. 5 to 16 when the operation of the program development support apparatus according to the present invention is described later. It will be described in detail.

次に、図5〜図16を参照しながら、本発明に係るプログラム開発支援装置(第1実施形態)の動作について説明する。なお、それらのフローチャートに示されるアプリケーションプログラムについては、先に図3を参照して説明したプログラムメモリ15cに格納されたものである。また、それらのフローチャートに示される動作については、処理部に相当するCPU11によって統括して実行処理される。   Next, the operation of the program development support apparatus (first embodiment) according to the present invention will be described with reference to FIGS. Note that the application programs shown in the flowcharts are those stored in the program memory 15c described above with reference to FIG. The operations shown in these flowcharts are collectively executed by the CPU 11 corresponding to the processing unit.

プログラム開発支援装置(第1実施形態)のソフトウェア構成を示すフローチャート(その1〜その3)が図5〜図7に示されている。   Flow charts (No. 1 to No. 3) showing the software configuration of the program development support apparatus (first embodiment) are shown in FIGS.

図5において、処理が開始されると、まず、安全入出力端子の設定のためのユーザアクションを受け付ける処理が実行される(ステップ101)。ここで、ユーザアクションとしては、プログラム開発支援装置10を構成するノート型パソコンにおける所定のキー入力操作やマウス操作等を挙げることができる。このユーザアクションによって、安全入出力端子に関する各種のデータが設定される。こうして得られた安全入出力端子に関する各種のデータは、ワークRAM14に格納される。   In FIG. 5, when the process is started, first, a process of accepting a user action for setting a safety input / output terminal is executed (step 101). Here, examples of the user action include a predetermined key input operation and a mouse operation in a notebook personal computer constituting the program development support apparatus 10. By this user action, various data related to the safety input / output terminal are set. Various data relating to the safety input / output terminal thus obtained is stored in the work RAM 14.

入力側テンプレートにおけるファンクションブロック(以下、「FB」ともいう)配置開始初期の画面説明図が図21に、出力側テンプレートにおけるFB配置設定開始初期の画面説明図が図26にそれぞれ示されている。   FIG. 21 shows a screen explanatory diagram at the beginning of arrangement of function blocks (hereinafter also referred to as “FB”) in the input side template, and FIG. 26 shows a screen explanatory diagram at the initial stage of start of FB arrangement setting in the output side template.

図21に示されるように、プログラム開発支援装置10を構成するノート型パソコンの画像表示部13のスクリーン13aには、入力用のセーフティロジックウィザードのためのウィンドウ200が開かれる。ここで、「セーフティロジックウィザード」とは、安全コントローラ用の制御プログラムに相当するロジック回路図作成のための各種ユーザサポート機能を総称するものである。   As shown in FIG. 21, a window 200 for an input safety logic wizard is opened on the screen 13 a of the image display unit 13 of the notebook personal computer constituting the program development support apparatus 10. Here, the “safety logic wizard” is a general term for various user support functions for creating a logic circuit diagram corresponding to a control program for a safety controller.

こうして開かれたウィンドウ200内には、横長長方形状のプログラミングフィールド201が定義されており、このプログラミングフィールド201には本発明の要部であるところの入力用テンプレート202が表示される。   In the window 200 thus opened, a horizontally long rectangular programming field 201 is defined, and an input template 202 which is a main part of the present invention is displayed in the programming field 201.

この入力側テンプレート202には、それぞれスクリーンの水平方向へと延びる行(R1,R2,R3,・・・)とスクリーンの垂直方向へ延びる列(C1,C2,C3)との各交点に対応するようにして、複数のブロック配置可能位置が設けられている。また、入力側テンプレート202の左側縁部には、各行(R1,R2,R3,R4・・・)に対応させて、その行の入力端子に関する情報が表示されている。   The input side template 202 corresponds to each intersection of a row (R1, R2, R3,...) Extending in the horizontal direction of the screen and a column (C1, C2, C3) extending in the vertical direction of the screen. In this way, a plurality of block arrangement possible positions are provided. In addition, on the left side edge portion of the input side template 202, information related to the input terminal of the row is displayed in association with each row (R1, R2, R3, R4...).

この例では、第1行(R1)は、2つの入力端子[IN0/1]に割り当てられており、それらの入力端子は、二重化仕様のセーフティ非常停止スイッチからの一対のNC(ノーマルクローズ)信号を受け付けるように設定されている。また、第2行(R2)は、2つの入力端子[IN2/3]に割り当てられており、それらの入力端子は、二重化仕様のセーフティドアスイッチからの一対のNC信号を受け付けるように設定されている。また、第3行(R3)は、1個の入力端子[IN4]に割り当てられており、この入力端子は、非二重化仕様のドアスイッチからの信号を受け付けるように設定されている。   In this example, the first row (R1) is assigned to two input terminals [IN0 / 1], and these input terminals are a pair of NC (normally closed) signals from the safety emergency stop switch of the duplex specification. Is set to accept. The second row (R2) is assigned to two input terminals [IN2 / 3], and these input terminals are set to receive a pair of NC signals from a duplex safety door switch. Yes. The third row (R3) is assigned to one input terminal [IN4], and this input terminal is set to receive a signal from a non-redundant specification door switch.

これらの入力端子設定に対応するようにして、入力側テンプレート202の第1列(C1)には、各行(R1,R2,R3)の端子設定に対応するようにして、それぞれの端子に関する自己診断機能を実現するためのファンクションブロックが配置される。すなわち、第1列(C1)の第1行(R1)に対応するブロック配置可能位置(横長長方形の小領域)には、セーフティ非常停止スイッチファンクションブロック(FB11)が、第2行に対応するファンクションブロック配置可能位置には、二重化仕様のセーフティライトカーテンファンクションブロック(FB12)が、第3行(R3)に相当するファンクションブロック配置可能位置には、非二重化仕様のセーフティライトカーテンファンクションブロック(FB13)がそれぞれ配置されている。   Corresponding to these input terminal settings, the first column (C1) of the input side template 202 has a self-diagnosis for each terminal corresponding to the terminal settings of each row (R1, R2, R3). Function blocks for realizing the functions are arranged. That is, the safety emergency stop switch function block (FB11) has a function corresponding to the second row at the block disposition position (horizontal rectangular small region) corresponding to the first row (R1) of the first column (C1). Redundant safety light curtain function block (FB12) is at the position where the block can be placed, and the non-redundant safety light curtain function block (FB13) is at the position where the function block can be placed corresponding to the third row (R3). Each is arranged.

そして、図5のフローチャートにおいて、ステップ101,102の処理が実行されると、以上説明した入力端子の設定並びにファンクションブロックの配置が実行される。   In the flowchart of FIG. 5, when the processing of steps 101 and 102 is executed, the above-described input terminal setting and function block arrangement are executed.

なお、この入力側テンプレート202における第2列(C2)の各行のブロック配置位置には、入力無効化ファンクションブロック又は入出力間導通ファンクションブロック(FB01)が配置されるように仕組まれており、同様にして第3列(C3)の各行のブロック配置位置にはセット/リセットファンクションブロック又は入力間導通ファンクションブロック(FB01)が配置されるように仕組まれている。これらの仕組みは、各列毎に選択可能なファンクションブロックをメニューウィンドウの中からのみ選択可能とすることで実現されている。   Note that the input invalidation function block or the inter-input / output conduction function block (FB01) is arranged at the block arrangement position of each row of the second column (C2) in the input side template 202. Thus, the set / reset function block or the inter-input conduction function block (FB01) is arranged at the block arrangement position of each row of the third column (C3). These mechanisms are realized by making it possible to select function blocks that can be selected for each column only from the menu window.

そして、入力側テンプレート202の上縁部には、各列(C1,C2,C3)に対応するようにして、その列に配置されるべきファンクションブロックの意味内容を示すインデックス203−1〜3が表示されている。ここで、第1列(C1)に対応するインデックス203−1の内容は、入力系ファンクションブロックであることを示す「入力」とされ、第2行(C2)に対応するインデックス203−2の内容は、入力無効化ファンクションブロックであることを示す「無効化」とされており、さらに第3列(C3)に対応するインデックス203−3の内容は、セット/リセットファンクションブロックであることを示す「リセット」とされている。   Then, at the upper edge of the input-side template 202, indexes 203-1 to 203-3 indicating the meaning contents of the function blocks to be arranged in the columns are provided so as to correspond to the columns (C1, C2, C3). It is displayed. Here, the content of the index 203-1 corresponding to the first column (C1) is “input” indicating an input function block, and the content of the index 203-2 corresponding to the second row (C2). Is an “invalidation” indicating that it is an input invalidation function block, and the content of the index 203-3 corresponding to the third column (C3) is “a set / reset function block” "Reset".

一方、この入力側テンプレート202の右側縁部には、各行(R1,R2,R3,R4・・・)ごとに、その左側縁部の入力表示情報と同一の入力表示情報とが表示されている。つまり、この入力側テンプレートにおいては、各行のそれぞれは、行単位で1個の入力信号に割り付けられているのである。   On the other hand, on the right edge of the input template 202, the same input display information as that of the left edge is displayed for each row (R1, R2, R3, R4...). . That is, in this input side template, each row is allocated to one input signal in units of rows.

そのため、このような構造を有する入力側テンプレート202によれば、同一の入力信号に係るファンクションブロックについては同一行に配置すればよく、また同種のファンクションブロックについては同一列に配置すればよいことになるため、ある入力信号経路に配置すべきファンクションブロックを別の入力信号経路に配置したり、あるいはある並び順で配列されるべき複数のファンクションブロックを別の並び順で配置してしまうといったプログラミングミスを起こし難いという利点がある。   Therefore, according to the input side template 202 having such a structure, function blocks related to the same input signal may be arranged in the same row, and function blocks of the same type may be arranged in the same column. Therefore, a programming error such that a function block to be arranged in one input signal path is arranged in another input signal path, or a plurality of function blocks to be arranged in one arrangement order is arranged in another arrangement order. There is an advantage that it is difficult to cause.

次に、出力側テンプレートにおけるFB配置設定開始初期の画面説明図が図26に示されている。同図に示されるように、この例にあっては、スクリーン上に開かれたウィンドウ200内のプログラミングフィールド201には、出力側テンプレート210が表示される。この出力側テンプレート210には、行(C4,C5,C6)と列(R1,R2,R3,R4・・・)との各交点に対応して、ブロック配置可能位置(横長長方形状の小領域)が定義されている。   Next, FIG. 26 shows a screen explanatory diagram at the beginning of the FB arrangement setting start in the output side template. As shown in the figure, in this example, the output side template 210 is displayed in the programming field 201 in the window 200 opened on the screen. In the output side template 210, block disposition positions (horizontal rectangular small regions) corresponding to the intersections of rows (C4, C5, C6) and columns (R1, R2, R3, R4...) ) Is defined.

この出力側テンプレート210の右側縁部には、各行(R1,R2,R3,R4・・・)に対応するようにして、その行に紐付けられた端子情報が表示されている。図示の例にあっては、第1行(R1)は安全仕様を有する2個の出力端子[OUT0/1]に割り当てられると共に、それらの出力端子のそれぞれは2個のセーフティリレーへと結線される。また、第2行(R2)は、1個の出力端子[OUT2]に割り当てられ、この出力端子は1個のセーフティリレーへと結線される。なお、この例では、第3行(R3)及び第4行(R4)についてはそれぞれ1個の出力端子[OUT3],[OUT4]に割り当てられるものの、それらの出力端子の結線先については未定とされている。   On the right edge of the output template 210, terminal information associated with each row is displayed so as to correspond to each row (R1, R2, R3, R4...). In the illustrated example, the first row (R1) is assigned to two output terminals [OUT0 / 1] having safety specifications, and each of the output terminals is connected to two safety relays. The The second row (R2) is assigned to one output terminal [OUT2], and this output terminal is connected to one safety relay. In this example, the third row (R3) and the fourth row (R4) are assigned to one output terminal [OUT3] and [OUT4], respectively, but the connection destinations of these output terminals are undetermined. Has been.

一方、この出力側テンプレート210の第4列(C4)は出力条件ファンクションブロックに割り当てられ、第5列(C5)は溶着チェック(EDM)ファンクションブロックに割り当てられ、さらに第6列(C6)は端子モードファンクションブロックに割り当てられている。   On the other hand, the fourth column (C4) of the output template 210 is assigned to the output condition function block, the fifth column (C5) is assigned to the welding check (EDM) function block, and the sixth column (C6) is a terminal. Assigned to the mode function block.

このことを明らかとするために、出力側テンプレート210の上縁部には、各列(C4,C5,C6)にそれぞれ対応させて、その列に配置されるべきファンクションブロックを意味するインデックス203−4〜6が表示されている。具体的には、インデックス203−4の内容は、1もしくは2以上の入力信号のそれぞれの論理値がどのようなときに出力を生成すべきかを決定する出力条件ファンクションブロックであることを意味する「出力条件」とされている。また、インデックス203−5の内容は、出力端子に接続されるセーフティリレーの溶着チェックを行うための溶着チェック(EDM)ファンクションブロックであることを意味する「溶着チェック(EDM)」とされている。また、インデックス203−6の内容は、オンディレイやオフディレイなどの端子モードを設定する端子モードファンクションブロックであることを意味する「端子モード」とされている。   In order to clarify this, at the upper edge portion of the output side template 210, an index 203- which means a function block to be arranged in that column corresponding to each column (C4, C5, C6), respectively. 4 to 6 are displayed. Specifically, the content of the index 203-4 means that it is an output condition function block that determines when the output of each logical value of one or more input signals should be generated. Output conditions ”. The content of the index 203-5 is “welding check (EDM)” which means that it is a welding check (EDM) function block for performing welding check of the safety relay connected to the output terminal. The contents of the index 203-6 are “terminal mode” which means a terminal mode function block for setting terminal modes such as on-delay and off-delay.

なお、この初期画面においては、第6列(C6)の第1行(R1)のブロック配置可能位置には、リモートI/Oファンクションブロック(FB61)が配置されており、第2行(R2)のブロック配置可能位置にはリモートI/Oファンクションブロック(FB62)が配置されている。   In this initial screen, the remote I / O function block (FB61) is arranged at the block arrangement possible position of the first row (R1) of the sixth column (C6), and the second row (R2). The remote I / O function block (FB62) is arranged at the block arrangement possible position.

ここで重要な点であるが、先に説明した入力側テンプレートの場合と同様に、出力側テンプレートにおいても、各列(C4,C5,C6)は、それぞれ特定種類のファンクションブロックに割り当てられると共に、特に初段に位置する列(C4)については、出力条件ファンクションブロックに割り当てられているため、少なくとも列(C4)に出力条件ファンクションブロックが配置されている行のブロック配置可能位置には、その出力条件が成立して得られる出力信号に関するファンクションブロックが配置されることとなる。   The important point here is that each column (C4, C5, C6) is assigned to a specific type of function block in the output side template as in the case of the input side template described above. In particular, since the column (C4) located in the first stage is assigned to the output condition function block, the output condition is at least at the block arrangement possible position of the row where the output condition function block is arranged in the column (C4). A function block related to an output signal obtained by satisfying is established.

そのため、このような出力側テンプレートによれば、同一の出力信号に関する処理を行うファンクションブロックについては、その出力信号を生成する出力条件ファンクションブロックが置かれた行と同一の行に配置すればよく、また同種のファンクションブロックについてはそれぞれ特定の列に配置すればよいこととなるため、先の入力側テンプレートの場合と同様に、ある出力信号経路に配置すべきファンクションブロックを別の出力信号経路に配置したり、あるいは一定の並び順で配置されるべき複数のファンクションブロックを異なる並び順で配置するといったプログラミングミスを起こし難いという利点がある。   Therefore, according to such an output side template, a function block that performs processing related to the same output signal may be arranged in the same row as the row where the output condition function block that generates the output signal is placed, Since the same type of function blocks need only be placed in specific columns, the function blocks that should be placed in one output signal path are placed in another output signal path as in the case of the template on the input side. Or having a plurality of function blocks that should be arranged in a certain arrangement order is unlikely to cause a programming error.

さらに、本発明のプログラム開発支援装置によれば、図21と図26とに分離して示されるように、テンプレートの全体は、入力側テンプレート202と出力側テンプレート210とに分離して表示されることから、それらを一体に結合して表示させた場合に比べて、プログラミングミスを生じ難いという利点もある。   Furthermore, according to the program development support apparatus of the present invention, as shown in FIGS. 21 and 26 separately, the entire template is displayed separately in the input side template 202 and the output side template 210. Therefore, there is also an advantage that programming errors are less likely to occur than when they are combined and displayed.

すなわち、先に説明したように、入力側又は出力側のいずれのテンプレート202,210においても、各行(R1,R2,R3,R4・・・)のそれぞれには、同一の信号に関するファンクションブロックが配列されるのであるが、これを仔細に検討すると、同じ列であっても、入力側テンプレート202の側と出力側テンプレート210の場合とでは、一方は入力信号ラインまた他方は出力信号ラインであって、信号ラインの意味づけが大きく異なることが分かる。そのため、もしも、入力側テンプレート202と出力側テンプレート210とを一体に結合して、同一行の各列にファンクションブロックを配置する場合、入力信号に関するファンクションブロックを出力信号経路に配置してしまったり、逆に出力信号経路に配置すべきファンクションブロックを入力信号経路に配置するといったプログラミングミスを生じ易くなる。   That is, as described above, in each of the templates 202 and 210 on the input side or the output side, function blocks related to the same signal are arranged in each row (R1, R2, R3, R4...). However, if this is examined in detail, even in the same column, one is an input signal line and the other is an output signal line in the case of the input template 202 and the output template 210. It can be seen that the meanings of the signal lines are greatly different. Therefore, if the input side template 202 and the output side template 210 are combined together and a function block is placed in each column of the same row, a function block related to the input signal is placed in the output signal path, Conversely, programming errors such as function blocks to be arranged in the output signal path are likely to occur in the input signal path.

これに対して、本発明のように、テンプレートの全体を、入力側テンプレート202と出力側テンプレート210とに分離すれば、両者間に境界線を明示するだけであっても、ユーザはその境界線によって同一行であっても境界を境として各側の信号線の意味が異なることを理解するから、そのようなプログラミングミスを生じ難くなるのである。   On the other hand, if the entire template is separated into the input side template 202 and the output side template 210 as in the present invention, even if the boundary line is clearly indicated between the two, the user can Since it is understood that the meanings of the signal lines on each side differ from each other even if they are in the same line, such a programming error is less likely to occur.

加えて、この実施形態のように、単に入力側と出力側とに分離するのみならず、入力側テンプレート202と出力側テンプレート210とを別々の画面で択一的に表示するようにすれば、そのような入力信号経路と出力信号経路とを誤認することによるファンクションブロックの配置誤りを確実に防止することができる。   In addition, as in this embodiment, if the input side template 202 and the output side template 210 are alternatively displayed on separate screens as well as being simply separated into the input side and the output side, It is possible to reliably prevent an error in the arrangement of function blocks due to such misidentification of the input signal path and the output signal path.

なお、以上説明した図21及び図26において、D1は画面を垂直方向へとスクロールするためのスクロールバー、D2は前の画面へと強制的に戻すための「戻る」ボタン、D3は次の画面へと強制的に進ませるための「次へ」ボタン、D4は様々なコマンドをキャンセルするためのキャンセルボタンである。   In FIGS. 21 and 26 described above, D1 is a scroll bar for scrolling the screen in the vertical direction, D2 is a “return” button for forcibly returning to the previous screen, and D3 is the next screen. "Next" button for forcibly proceeding to D4, D4 is a cancel button for canceling various commands.

スクロールバーD1の存在からも明らかなように、入力側テンプレート202及び出力側テンプレート210は、必要とする入力端子が8点、16点、32点、64点・・・といったように増加するのに合わせて、任意の長さ延長することができ、その場合にはスクロールバーD1の操作によって、画面から隠れた特定の行をプログラミングフィールド200内に引き寄せることができる。   As is apparent from the presence of the scroll bar D1, the input side template 202 and the output side template 210 require 8 input points, 16 points, 32 points, 64 points, and so on. In addition, an arbitrary length can be extended. In this case, a specific line hidden from the screen can be drawn into the programming field 200 by operating the scroll bar D1.

なお、本発明においては、以上説明した入力側テンプレート202及び出力側テンプレート210において、様々な原因によるプログラミングミスを防止するために、先に説明したセーフティロジックウィザードが採用されている。このセーフティロジックウィザードの内容については、後に図17〜図20の図表を参照しながら詳細に説明する。   In the present invention, the above-described safety logic wizard is employed in the input template 202 and the output template 210 described above in order to prevent programming errors due to various causes. The contents of the safety logic wizard will be described in detail later with reference to the charts of FIGS.

図5に戻って、安全入出力端子設定の記憶が完了すると(ステップ102)、続いて、図21に示されるように、セーフティロジックウィザードの適用された入力側テンプレート202の表示が行われ(ステップ103)、その後、本発明の要部であるところの入力側回路図データ生成処理(ステップ104)が実行される。この入力側回路図データ生成処理は、セーフティロジックウィザードの支援の下に行われる。   Returning to FIG. 5, when the storage of the safety input / output terminal setting is completed (step 102), the input template 202 to which the safety logic wizard is applied is then displayed as shown in FIG. 21 (step 102). 103) Thereafter, input side circuit diagram data generation processing (step 104), which is the main part of the present invention, is executed. This input side circuit diagram data generation processing is performed with the assistance of the safety logic wizard.

この入力側回路図データ生成処理(ステップ104)は、図5に示されるように、入力側テンプレート上へのFB配置のためのユーザアクションが行われるたびに(ステップ104a)、予め定義した「配置列」及び「配置手順」にしたがってFBを配置しているかどうかを判定し(ステップ104b)、予め定義した「配置列」及び「配置手順」にしたがってFBを配置している場合には(ステップ104b YES)、そのFBの配置内容を記憶(登録)しては(ステップ104c)、ユーザ側のFB配置継続意思を確認したのち(ステップ105)、次のユーザアクション(ステップ104a)を待機して同様な処理を繰り返す。一方、予め定義した「配置列」及び「配置手順」にしたがってFBを配置していないと判定されるときには(ステップ104b NO)、そのようなFBの配置内容の記憶(登録)を行うことなく、画面上に所定の警告表示を行う(ステップ104d)といった処理を、ユーザの入力側のFB配置継続意思が確認される限り(ステップ105)、繰り返すものである。   As shown in FIG. 5, this input side circuit diagram data generation processing (step 104) is performed every time a user action for FB placement on the input side template is performed (step 104a). It is determined whether or not the FB is arranged according to the “column” and “arrangement procedure” (step 104b). When the FB is arranged according to the “arrangement column” and “arrangement procedure” defined in advance (step 104b). (YES) After storing (registering) the contents of the FB arrangement (step 104c), after confirming the user's intention to continue FB arrangement (step 105), the next user action (step 104a) is waited for and the same Repeat the process. On the other hand, when it is determined that the FB is not arranged according to the predefined “arrangement sequence” and “arrangement procedure” (NO in step 104b), without storing (registering) such FB arrangement contents, The process of displaying a predetermined warning on the screen (step 104d) is repeated as long as the user's intention to continue FB placement on the input side is confirmed (step 105).

ここで、判定基準となる「予め定義した配置列」とは、各ファンクションブロックを入力側テンプレート202上のどの列に配置すべきかを定義するものであって、例えば、図17に示されるように、安全プログラムテンプレートデータ(入力側)としてワークRAM14に格納されたものである。   Here, the “predetermined arrangement column” serving as a determination criterion defines in which column on the input side template 202 each function block should be arranged. For example, as shown in FIG. These are stored in the work RAM 14 as safety program template data (input side).

図17に示されるように、この安全プログラムテンプレートデータ(入力側)は、各列(1列目、2列目、3列目・・・)毎に、その列に格納が許容されるファンクションブロックの「種別名」(入力系ファンクションブロック等)と、その「種別名」に包含される個々のファンクションブロックのリストを互いに関連づけて表形式に記憶させたものである。   As shown in FIG. 17, this safety program template data (input side) is a function block that is allowed to be stored in each column (first column, second column, third column,...). “Type name” (input function block, etc.) and a list of individual function blocks included in the “type name” are stored in a table format in association with each other.

具体的には、1列目には、入力系ファンクションブロックが格納されるべきものとされ、そのようなファンクションブロックには、不使用ファンクションブロック(Not Used)、非常停止スイッチファンクションブロック、セーフティライトカーテンファンクションブロックが含まれる。2列目には、入力無効化ファンクションブロックが格納されるべきものとされ、この入力無効化ファンクションブロックには、不使用ファンクションブロック(Not Used)、論理和演算ファンクションブロック(OR)、論理積及び論理和演算ファンクションブロック(AND+OR)が含まれる。3列目には、セット/リセットファンクションブロックが配置されるべきものとされ、このセット/リセットファンクションブロックには、不使用ファンクションブロック(Not Used)、マニュアルリセットファンクションブロック(Low−High−Low信号)、マニュアルリセットファンクションブロック(Rising Edge信号)が含まれる。   Specifically, an input function block is to be stored in the first column. Such function blocks include an unused function block (Not Used), an emergency stop switch function block, and a safety light curtain. Contains function blocks. In the second column, an input invalidation function block is to be stored. This input invalidation function block includes an unused function block (Not Used), an OR operation function block (OR), a logical product, An OR operation function block (AND + OR) is included. In the third column, a set / reset function block should be arranged, and this set / reset function block includes an unused function block (Not Used) and a manual reset function block (Low-High-Low signal). , A manual reset function block (Rising Edge signal) is included.

図5へ戻って、ステップ104bの判定処理においては、ユーザアクション(104a)で指定される「列」及び具体的な「ファンクションブロック名」との組み合わせを、図17に示される安全プログラムテンプレートデータ(入力側)と照合することによって、予め定義した「配置列」にしたがってFBを配置しているか否かを判断する。   Returning to FIG. 5, in the determination process of step 104 b, the combination of the “column” specified by the user action (104 a) and the specific “function block name” is converted into the safety program template data ( By comparing with the input side), it is determined whether or not the FB is arranged according to the “arrangement sequence” defined in advance.

図21に示される入力側テンプレート202上において、例えば第1行(R1)の第2列(C2)のブロック配置可能位置に論理和演算ファンクションブロック(FB21)を配置したい場合には、第1行(R1)のプルダウンボタン(PB2)をマウスでクリックする。すると、図22(a)に示されるように、入力側テンプレート202上に重ねるようにして、メニューウィンドウ204が開かれる。   On the input side template 202 shown in FIG. 21, for example, when the logical sum operation function block (FB21) is to be arranged at the block arrangement possible position of the second column (C2) of the first row (R1), the first row Click the (R1) pull-down button (PB2) with the mouse. Then, as shown in FIG. 22A, a menu window 204 is opened so as to overlap the input side template 202.

このメニューウィンドウ204には、上下3段にわたって3つのファンクションブロックが表示される。すなわち、これらは、入出力間導通ファンクションブロック(FB01)、論理和演算ファンクションブロック(FB21)、論理積及び論理和演算ファンクションブロック(FB22)である。そして、この状態において、マウスの所定操作などによって、論理和演算ファンクションブロック(FB21)を選択すれば、選択されたファンクションブロック(FB21)が、第1行(R1)と第2列(C2)で特定されるブロック配置可能位置に配置される。   In this menu window 204, three function blocks are displayed over three levels. That is, these are an input / output conduction function block (FB01), a logical sum operation function block (FB21), and a logical product and logical sum operation function block (FB22). In this state, if the logical sum operation function block (FB21) is selected by a predetermined operation of the mouse or the like, the selected function block (FB21) is displayed in the first row (R1) and the second column (C2). It is arranged at the specified block arrangement possible position.

同様に、例えば、第1行(R1)の第3列(C3)に位置するブロック配置可能位置にセット/リセットファンクションブロック(FB31)を配置したい場合には、第3列のプルダウンボタンPB3を操作する。すると、図22(b)に示されるように、メニューウィンドウ205が開かれる。   Similarly, for example, when the set / reset function block (FB31) is to be arranged at the block arrangement possible position located in the third column (C3) of the first row (R1), the pull-down button PB3 in the third column is operated. To do. Then, as shown in FIG. 22B, a menu window 205 is opened.

このメニューウィンドウ205には、上下2段にわたって選択可能なファンクションブロックが表示される。それらは、入出力間導通ファンクションブロック(FB01)及びセット/リセットファンクションブロック(FB31)である。この状態において、マウスのクリック操作などにより、セット/リセットファンクションブロック(FB31)を選択すると、この選択されたファンクションブロック(FB31)は、第1行(R1)の第1列(C3)に位置するブロック配置可能位置へと配置される。一方、この状態から入力無効化条件を設定する場合には、マウスの所定操作によって、さらに、図23に示されるメニューウィンドウ206を開く。   The menu window 205 displays function blocks that can be selected in two upper and lower levels. They are an input / output conduction function block (FB01) and a set / reset function block (FB31). In this state, when the set / reset function block (FB31) is selected by a mouse click operation or the like, the selected function block (FB31) is located in the first column (C3) of the first row (R1). Arranged to a position where a block can be arranged. On the other hand, when the input invalidation condition is set from this state, the menu window 206 shown in FIG. 23 is further opened by a predetermined operation of the mouse.

同図に示されるように、このメニューウィンドウ206内には、AND条件設定用の信号名列とOR条件設定用の信号名列とが表示されると共に、それらの信号名列を構成する各信号名の先頭にはチェックボックス列207,208が表示されている。   As shown in the figure, in this menu window 206, a signal name string for AND condition setting and a signal name string for OR condition setting are displayed, and each signal constituting the signal name string is displayed. Check box columns 207 and 208 are displayed at the head of the name.

そのため、図22(a)に示されるメニューウィンドウ204において、OR演算が選択された場合には、図23(a)に示されるように、メニューウィンドウ206内のAND条件設定エリア内において、マウスのクリック操作などでチェックマークを挿入する。これに対して、図22(a)に示されるメニューウィンドウ204において、図示しないAND演算が選択された場合には、図23(b)に示されるように、メニューウィンドウ206内のAND条件領域において、該当する入力信号名のチェックボックス207に対してマウス操作などでチェックマークを挿入する。このような操作によって、入力無効化ファンクションブロックの選択及び入力無効化条件の設定を誰でも簡単に行うことができるのである。   Therefore, when the OR operation is selected in the menu window 204 shown in FIG. 22A, as shown in FIG. 23A, the mouse condition is set in the AND condition setting area in the menu window 206. Insert a check mark by clicking. On the other hand, when an AND operation (not shown) is selected in the menu window 204 shown in FIG. 22A, the AND condition area in the menu window 206 is displayed as shown in FIG. Then, a check mark is inserted into the corresponding input signal name check box 207 by a mouse operation or the like. By such an operation, anyone can easily select the input invalidation function block and set the input invalidation condition.

また、セット/リセットファンクションブロックを選択した後、リセット条件の設定を行う場合には、図24に示されるように、メニューウィンドウ209を開くことによって、該当するリセット条件の設定を行う。すなわち、同図(a)に示されるように、メニューウィンドウ209内において、プルダウンボタンD7をマウスで操作すると、リセット条件リストが表示されるから、その中から最適なリセット条件を設定した後、同図(b)に示されるように、OKボタンD8を操作すれば、所望のリセット条件を簡単に設定することができる。なお、リセット条件をやり直すためにキャンセルするのであれば、キャンセルボタンD9を操作すればよい。   When setting the reset condition after selecting the set / reset function block, the corresponding reset condition is set by opening a menu window 209 as shown in FIG. That is, as shown in FIG. 5A, when the pull-down button D7 is operated with the mouse in the menu window 209, a reset condition list is displayed. As shown in FIG. 5B, a desired reset condition can be easily set by operating an OK button D8. In addition, what is necessary is just to operate the cancel button D9, if canceling in order to reset reset conditions.

このようにして、ファンクションブロックの選択及び各条件の設定を行った後の入力側テンプレートの一例が図25に示されている。同図に示されるように、上述の選択及び指定操作によって、入力系ファンクションブロック、無効化条件ファンクションブロック、及びリセットファンクションブロックを希望通りに配置することができる。   FIG. 25 shows an example of the input side template after selecting the function block and setting each condition in this way. As shown in the figure, the input function block, the invalidation condition function block, and the reset function block can be arranged as desired by the selection and designation operations described above.

図5に戻って、セーフティロジックウィザードの支援の下に行われる入力側回路図データ生成処理104においては、予め定義した「配置手順」にしたがってFBを配置しているか否かの判定も行われる。ここで、予め定義した「配置手順」とは、例えば図25におけるブロック配置例を例にとるならば、各行(R1,R2,R3・・・)に関して、並び順は同一であったとしても、配置の時間的順番については、入力端子に近いものから順に配置せねばならないという規則のことである。   Returning to FIG. 5, in the input-side circuit diagram data generation processing 104 performed with the support of the safety logic wizard, it is also determined whether or not the FB is arranged according to a predefined “placement procedure”. Here, the predefined “arrangement procedure” is, for example, the block arrangement example in FIG. 25, even if the arrangement order is the same for each row (R1, R2, R3...) Regarding the temporal order of the arrangement, it is a rule that the arrangement must be made in order from the closest to the input terminal.

このように、予め定義した「配置手順」にしたがって各FBが配置されるように誘導するための処理の一例が図8及び図9に示されている。これらの処理を実行するためには、現在入力側テンプレート上にどのようにファンクションブロックが配置しているかが判断されなければならない。この目的のために、図19に示されるように、例えば、ワークRAM14上には、ユーザにより作成されるロジック回路データ(10b)が記憶されている。   An example of a process for guiding each FB to be arranged according to a predefined “placement procedure” is shown in FIGS. 8 and 9. In order to execute these processes, it is necessary to determine how the function blocks are currently arranged on the input side template. For this purpose, as shown in FIG. 19, for example, logic circuit data (10b) created by the user is stored on the work RAM.

同図に示されるように、このロジック回路データ(10b)内には、行と列とで特定される各ブロック可能配置位置に、現在どのようなファンクションブロックが配置されているかが記憶されている。そして、後述するように、このロジック回路データ(10b)を参照することによって、予め定義した「配置手順」にしたがってFBを配置しようとしているか否かの判断が行われる。   As shown in the figure, in this logic circuit data (10b), what function blocks are currently arranged at each block possible arrangement position specified by a row and a column is stored. . Then, as will be described later, by referring to the logic circuit data (10b), it is determined whether or not the FB is to be arranged according to a predefined “placement procedure”.

無効化FBの配置に際する「配置手順」の判断処理が図8のフローチャートに示されている。同図に示されるように、ユーザアクションにより配置されようとするFBが入力無効化FBの場合、そのユーザアクションで指定される「行」について図19に示されるロジック回路データ(10b)を参照することによって、その時点ですでに入力系FBの配置が完了しているか否かの判断を行う(ステップ1042a)。   FIG. 8 is a flowchart showing determination processing of “arrangement procedure” in disposing invalidation FBs. As shown in the figure, when the FB to be arranged by the user action is the input invalidation FB, the logic circuit data (10b) shown in FIG. 19 is referred to for the “row” designated by the user action. Thus, it is determined whether or not the arrangement of the input system FB has already been completed at that time (step 1042a).

ここで、入力系FBの配置がすでに完了していれば(ステップ1042a YES)、ユーザアクションで配置が希望される入力無効化FBは、図19に示されるロジック回路データとしてメモリ内に記憶される(ステップ1043a)。これに対して、その時点において、入力系FBの配置が未だ完了していないと判定されると(ステップ1042a)、画面上には所定の警告表示が行われる(ステップ1044a)。   Here, if the arrangement of the input system FB has already been completed (step 1042a YES), the input invalidation FB desired to be arranged by the user action is stored in the memory as the logic circuit data shown in FIG. (Step 1043a). On the other hand, if it is determined at that time that the arrangement of the input system FB has not yet been completed (step 1042a), a predetermined warning is displayed on the screen (step 1044a).

セット/リセットFBを配置しようとする場合における「配置手順」の判断処理が図9に示されている。同図に示されるように、ユーザアクションによって配置希望されるFBがセット/リセットFBであるときには、まず、先の場合と同様にして、入力系FBの配置が完了しているか否かの判断が行われる(ステップ1042b)。ここで、入力系FBの配置が完了しているものと判定されれば(ステップ1042b YES)、ステップ1043bへと進むのに対し、入力系FBの配置がその時点において未だ完了していないものと判定されると(ステップ1042b NO)、画面上には所定の警告表示が行われる(ステップ1044b)。   FIG. 9 shows the determination process of the “placement procedure” when the set / reset FB is to be placed. As shown in the figure, when the FB desired to be arranged by the user action is the set / reset FB, first, as in the previous case, it is determined whether or not the arrangement of the input system FB has been completed. Performed (step 1042b). Here, if it is determined that the arrangement of the input system FB has been completed (YES in step 1042b), the process proceeds to step 1043b, whereas the arrangement of the input system FB has not yet been completed at that time. If determined (NO in step 1042b), a predetermined warning display is performed on the screen (step 1044b).

一方、入力系FBの配置が完了しているものと判定されれば(ステップ1042b YES)、さらに、入力無効化FBの配置が完了しているか否かの判断が行われる(ステップ1043b)。   On the other hand, if it is determined that the arrangement of the input system FB has been completed (step 1042b YES), it is further determined whether or not the arrangement of the input invalidation FB has been completed (step 1043b).

ここで、入力無効化FBの配置がすでに完了していると判定されれば(ステップ1043b YES)、ユーザアクションによって希望されるセット/リセットFBは図19に示されるように該当するブロック配置可能位置へと記憶(登録)される(ステップ1045b)。これに対して、入力系FBの配置は完了していても(ステップ1042b YES)、入力無効化FBの配置が未だ完了していなければ(ステップ1043b)、画面上には所定の警告表示が行われる(ステップ1046b)。   Here, if it is determined that the placement of the input invalidation FB has already been completed (step 1043b YES), the set / reset FB desired by the user action is the corresponding block placement possible position as shown in FIG. Is stored (registered) (step 1045b). On the other hand, even if the arrangement of the input system FB has been completed (YES in step 1042b), if the arrangement of the input invalidation FB has not been completed (step 1043b), a predetermined warning is displayed on the screen. (Step 1046b).

このように、図5に示される入力側回路図データ生成処理(ステップ104)においては、ユーザアクションによって何らかのファンクションブロックが配置されようとするたびに(ステップ104a)、それが予め定義した「配置列」及び「配置手順」にしたがって配置されようとしているかどうかの判断が行われ、両者が肯定される場合に限って、その希望されるFBの配置内容がロジック回路データ(10b)へと反映されるのに対し、「配置列」又は「配置手順」の何れかが予め定義したものでないと判定されれば(ステップ104b NO)、そのようなFBの配置は拒絶され、かつ画面上には所定の警告表示が行われるのである。   As described above, in the input side circuit diagram data generation process (step 104) shown in FIG. 5, every time a function block is arranged by a user action (step 104a), ”And“ arrangement procedure ”are determined, and only if both are affirmed, the desired FB arrangement contents are reflected in the logic circuit data (10b). On the other hand, if it is determined that either “arrangement sequence” or “arrangement procedure” is not predefined (NO in step 104b), such FB arrangement is rejected, and a predetermined value is displayed on the screen. A warning is displayed.

そのため、このように、セーフティロジックウィザードの支援の下に行われる入力側回路図データ生成処理によれば、各ファンクションブロックのそれぞれは、適切な「配置列」及び「配置手順」をもって入力側テンプレート202上に正しく配置されることとなる。   Therefore, according to the input side circuit diagram data generation processing performed with the support of the safety logic wizard, each function block has an appropriate “arrangement sequence” and “arrangement procedure”. Will be placed correctly on top.

このようにして、入力側テンプレート202上に所望のファンクションブロックを全て配置したならば(ステップ105 NO)、図6へ移って、「次へ」ボタンD3を操作するユーザアクション(ステップ106)を待って、出力側テンプレートに関する処理へと移行する。   When all desired function blocks are arranged on the input side template 202 in this way (step 105 NO), the process moves to FIG. 6 and waits for a user action (step 106) for operating the “next” button D3. Then, the process proceeds to the process related to the output side template.

この出力側テンプレートに関する処理においては、まず、セーフティロジックウィザードの組み込まれた出力側テンプレート210が、プログラミングフィールド201に表示される(ステップ107)。   In the process relating to the output side template, first, the output side template 210 in which the safety logic wizard is incorporated is displayed in the programming field 201 (step 107).

こうして、ウィンドウ200内のプログラミングフィールド201に表示された出力側テンプレート210の一例が図26に示されている。先に説明したように、この出力側テンプレートは、行(R1,R2,R3,R4・・・)と列(C4,C5,C6)との各交差点にそれぞれ対応するようにしてブロック配置可能位置(横長長方形状の領域)が定義されると共に、行方向の左側から右側へ向けて出力信号の流れが定義されている。   An example of the output template 210 displayed in the programming field 201 in the window 200 is shown in FIG. As described above, this output-side template corresponds to the intersection positions of the rows (R1, R2, R3, R4...) And the columns (C4, C5, C6). (Horizontal rectangular region) is defined, and the flow of the output signal is defined from the left side to the right side in the row direction.

各列(C4,C5,C6)のそれぞれは、出力信号に関する所定種別のファンクションブロックに割り当てられている。具体的に言えば、この例にあっては、初段に位置する列(C4)は出力条件ファンクションブロックに、次の列(C5)は溶着チェック(EDM)ファンクションブロックに、さらに次の列(C6)は端子モードファンクションブロックにそれぞれ割り当てられている。   Each of the columns (C4, C5, C6) is assigned to a predetermined type of function block related to the output signal. Specifically, in this example, the column (C4) located in the first stage is the output condition function block, the next column (C5) is the welding check (EDM) function block, and the next column (C6). ) Is assigned to each terminal mode function block.

図6に戻って、出力側テンプレートの表示に続いて(ステップ107)、セーフティロジックウィザードの支援の下に行われる出力側回路図データ生成処理(ステップ108)が実行される。   Returning to FIG. 6, following the display of the output side template (step 107), an output side circuit diagram data generation process (step 108) performed with the assistance of the safety logic wizard is executed.

この出力側回路図データ生成処理(ステップ108)は、先に説明した入力側回路図データ生成処理と同様であって、出力側テンプレート210上へのFB配置のためのユーザアクションが行われるたびに(ステップ108a)、予め定義した「配置列」及び「配置手順」にしたがってFBを配置しているかの判断を行い(ステップ108b)、その判断が肯定される場合には(ステップ108b YES)、そのようにして配置されようとするFBの配置内容を記憶(登録)する処理(ステップ108c)を、出力側のFB配置が継続される限り(ステップ109 YES)、繰り返す。これに対して、上記の判断が否定される場合には(ステップ108b NO)、そのようなFBの配置を拒絶すると共に、画面上に所定の警告表示を行うようにしたものである。   This output side circuit diagram data generation processing (step 108) is the same as the input side circuit diagram data generation processing described above, and every time a user action for FB placement on the output side template 210 is performed. (Step 108a), it is determined whether or not the FB is arranged according to the predefined “arrangement sequence” and “arrangement procedure” (Step 108b). The process (step 108c) of storing (registering) the arrangement contents of the FB to be arranged as described above is repeated as long as the output-side FB arrangement is continued (YES in step 109). On the other hand, when the above judgment is denied (NO at step 108b), such an FB placement is rejected and a predetermined warning is displayed on the screen.

ここで、予め定義した「配置列」にしたがってFBを配置しているか否かの判断は、この例にあっては、図18に示される安全プログラムテンプレートデータ(出力側)の内容に基づいて行われる。すなわち、図18に示されるように、この安全プログラムテンプレートデータ(出力側)は、各列毎に、その列に配置が許容されるファンクションブロックの種別名称、及びその種別名称に包含される具体的なファンクションブロックのリストとを互いに関連づけて記憶することにより構成されている。   Here, in this example, whether or not the FB is arranged according to the predefined “arrangement sequence” is determined based on the contents of the safety program template data (output side) shown in FIG. Is called. That is, as shown in FIG. 18, the safety program template data (output side) includes, for each column, the type names of function blocks that are allowed to be arranged in the columns, and specific types included in the type names The function block list is stored in association with each other.

すなわち、図示の例にあっては、1列目には出力条件ファンクションブロックが配置可能とされると共に、この出力条件ファンクションブロックには不使用ファンクションブロック(Not Used)、論理積演算ファンクションブロック(AND)などが含まれるように設定されている。また、第2列目には溶着チェック(EDM)ファンクションブロックが配置可能とされると共に、この溶着チェック(EDM)ファンクションブロックには、不使用ファンクションブロック(Not Used)、EDMファンクションブロックなどが含まれるように設定されている。さらに、第3列目には端子モードファンクションブロックが配置可能とされると共に、この端子モードファンクションブロックには不使用ファンクションブロック(Not Used)、マスタからの受信データ(リモートI/O)、ロジックからの出力、補助出力が含まれるように設定されている。   That is, in the illustrated example, an output condition function block can be arranged in the first column, and the output condition function block includes an unused function block (Not Used), an AND operation function block (AND ) Etc. are included. In addition, a welding check (EDM) function block can be arranged in the second column, and this welding check (EDM) function block includes unused function blocks (Not Used), EDM function blocks, and the like. Is set to Further, a terminal mode function block can be arranged in the third column, and this terminal mode function block includes an unused function block (Not Used), data received from the master (remote I / O), and logic. Output and auxiliary output are included.

ここで、マスタからの受信データとは、当該安全コントローラが通信マスタユニットを介してリモートI/Oターミナル(スレーブ)と接続されるような構成の場合、当該リモートI/Oターミナル(スレーブ)から通信マスタが受信したデータを出力することを意味している。また、ロジックからの出力とは、当該安全コントローラ内部のロジック演算による演算結果を出力することを意味している。さらに、補助出力とは、当該安全コントローラからの出力を分岐して補助出力とすることを意味している。   Here, the data received from the master is communicated from the remote I / O terminal (slave) when the safety controller is connected to the remote I / O terminal (slave) via the communication master unit. This means that the data received by the master is output. Moreover, the output from the logic means outputting the calculation result by the logic calculation inside the safety controller. Further, the auxiliary output means that the output from the safety controller is branched to be an auxiliary output.

そして、出力側テンプレート上へのFB配置のための何らかのユーザアクションが検出されるたびに(ステップ108a)、そのユーザアクションにより指定される「ブロック配置可能位置」と「ファンクションブロック名」とを図18に示される安全プログラムテンプレートデータ(出力側)と照合することによって、その配置されようとするFBが、予め定義した「配置列」にしたがって配置されるものであるか否かの判断を行うものである。   Each time a user action for FB placement on the output template is detected (step 108a), the “block placement possible position” and the “function block name” designated by the user action are shown in FIG. By comparing with the safety program template data (output side) shown in Fig. 4, it is determined whether or not the FB to be arranged is arranged according to a predefined "arrangement sequence". is there.

これをより具体的に説明すると、いま仮に、図26に示される出力側テンプレート210を前提として、行(R1)と列(C5)とで特定されるブロック配置可能位置に、溶着チェック(EDM)ファンクションブロックを配置する場合を想定する。   More specifically, assuming that the output side template 210 shown in FIG. 26 is assumed, the welding check (EDM) is performed at the block arrangement possible position specified by the row (R1) and the column (C5). Assume that function blocks are placed.

このような場合には、まず、行(R1)のプルダウンボタンPB5をマウスで操作する。すると、図27(a)に示されるように、出力側テンプレート210上に重ねるようにしてメニューウィンドウ211が開かれる。このメニューウィンドウ211内には、上下2段にわたって、2個のファンクションブロックが表示されている。すなわち、それらは、出力側分岐ファンクションブロックFB51とEDMファンクションブロックFB52である。ここでユーザは、マウス操作で、EDMファンクションブロック(FB52)を選択する。すると、この選択されたファンクションブロック(FB52)は、行(R1)と列(C5)とで特定されるブロック配置可能位置に配置される。   In such a case, first, the pull-down button PB5 in the row (R1) is operated with the mouse. Then, as shown in FIG. 27A, the menu window 211 is opened so as to overlap the output template 210. In this menu window 211, two function blocks are displayed over two levels. That is, they are the output side branch function block FB51 and the EDM function block FB52. Here, the user selects the EDM function block (FB52) by operating the mouse. Then, the selected function block (FB52) is arranged at a block arrangement possible position specified by the row (R1) and the column (C5).

また、このEDMファンクションブロック(FB52)について、溶着チェック(EDM)フィードバックを設定する場合には、所定のマウス操作によって、図27(b)に示されるように、メニューウィンドウ212を開く。このメニューウィンドウ212内には、プルダウンボタンD10、OKボタンD11、キャンセルボタンD12が配置されている。この状態において、ユーザは、プルダウンボタンD10をマウスで操作することによって、フィードバック信号リストを表示させ、その中から所望のフィードバック信号を選択し、OKボタンD11の操作でこれを確定する。図27(b)の例では、フィードバック信号として、入力信号IN7が選択設定される。   Further, when setting a welding check (EDM) feedback for the EDM function block (FB52), a menu window 212 is opened by a predetermined mouse operation as shown in FIG. In the menu window 212, a pull-down button D10, an OK button D11, and a cancel button D12 are arranged. In this state, the user displays the feedback signal list by operating the pull-down button D10 with the mouse, selects a desired feedback signal from the list, and confirms it by operating the OK button D11. In the example of FIG. 27B, the input signal IN7 is selected and set as the feedback signal.

また、行(R1)と列(C6)とで特定されるブロック配置可能位置に二重化処理されたリモートI/Oファンクションブロックを配置する場合には、行(R1)と列(C6)とで特定されるブロック配置可能位置の右側に位置するプルダウンボタンPB6をマウスで操作する。すると、図28(a)に示されるように、出力側テンプレート210に重ねるようにして所定のメニューウィンドウ213が開かれる。   In addition, when a remote I / O function block that has been duplicated is placed at a block placement position specified by row (R1) and column (C6), it is specified by row (R1) and column (C6). The pull-down button PB6 located on the right side of the position where the block can be arranged is operated with the mouse. Then, as shown in FIG. 28A, a predetermined menu window 213 is opened so as to overlap the output side template 210.

このメニューウィンドウ213内には、上下2段に2個のファンクションブロックが表示される。それらのファンクションブロックは、この例にあっては、二重化対応のリモートI/Oファンクションブロック(FB61)と非二重化対応のロジックファンクションブロック(FB62)である。   In this menu window 213, two function blocks are displayed in two upper and lower levels. In this example, these function blocks are a duplex-compatible remote I / O function block (FB61) and a non-duplex-compatible logic function block (FB62).

ここでユーザは、マウスの操作で、メニュー上から、二重化対応のリモートI/Oファンクションブロック(FB61)を選択する。すると、選択されたファンクションブロック(FB61)は、行(R1)と列(C6)とで特定されるブロック配置可能位置に配置される。   Here, the user selects a redundant remote I / O function block (FB61) from the menu by operating the mouse. Then, the selected function block (FB61) is arranged at a block arrangement possible position specified by the row (R1) and the column (C6).

さらに、行(R2)と列(C6)とで特定されるブロック配置可能位置に二重化非対応のロジックファンクションブロック(FB64)を配置する場合には、そのブロック配置可能位置の右側に位置するプルダウンボタンPB6をマウスで操作する。すると、図28(b)に示されるように、出力側テンプレート210に重なるようにしてメニューウィンドウ214が開かれる。   Furthermore, in the case where a logic function block (FB64) that does not support duplication is arranged at the block arrangement possible position specified by the row (R2) and the column (C6), a pull-down button located on the right side of the block arrangement possible position PB6 is operated with a mouse. Then, as shown in FIG. 28B, a menu window 214 is opened so as to overlap the output side template 210.

このメニューウィンドウ214内には、上下3段にわたって3個のファンクションブロックが表示されている。それらは、二重化非対応のリモートI/Oファンクションブロック(FB63)、二重化非対応のロジックファンクションブロック(FB64)、及び補助出力ファンクションブロック(FB65)である。ここで、ユーザは、二重化非対応のロジックファンクションブロック(FB64)を選択する。すると、選択されたファンクションブロック(FB64)は、行(R2)と列(C6)とで特定されるブロック配置可能位置に配置される。   In this menu window 214, three function blocks are displayed over three levels. These are a remote I / O function block (FB63) that does not support duplication, a logic function block (FB64) that does not support duplication, and an auxiliary output function block (FB65). Here, the user selects a logic function block (FB64) that does not support duplication. Then, the selected function block (FB64) is arranged at a block arrangement possible position specified by the row (R2) and the column (C6).

出力条件ファンクションブロックの選択並びに設定についても、図27(a)に示される溶着チェック(EDM)ファンクションブロック(FB52)の場合と同様にして、メニューウィンドウを用いた選択設定により行われるのであるが、このようにして選択設定された出力条件ファンクションブロックについて、さらに出力条件の設定を行うに際しては、この実施形態においては、さらにユーザの使い勝手を考慮した優れた機能が備えられている。   The selection and setting of the output condition function block is performed by selection setting using the menu window in the same manner as in the case of the welding check (EDM) function block (FB52) shown in FIG. When further setting the output condition for the output condition function block selected and set in this way, this embodiment is further provided with an excellent function considering user convenience.

すなわち、図30に示されるように、選択設定された出力条件ファンクションブロックについて出力条件を設定する場合には、マウスによる所定操作に応答して出力条件設定用ウィンドウ215が開かれるようになっている。この出力条件設定用ウィンドウ215内には、出力条件であるAND条件の入力候補となる入力信号名が一連に表示されると共に、各入力信号名の頭には、チェックボックス216が設けられる。   That is, as shown in FIG. 30, when the output condition is set for the selected output condition function block, the output condition setting window 215 is opened in response to a predetermined operation by the mouse. . In this output condition setting window 215, input signal names that are input candidates for the AND condition that is an output condition are displayed in series, and a check box 216 is provided at the beginning of each input signal name.

そして、出力条件となる入力信号の選択は、このチェックボックス216内にマウスを用いて所定のチェックマークを挿入するだけで行うことができる。この選択を確定するためには、OKボタンD13をマウスで操作するだけでよく、逆に設定を解除するためにはキャンセルボタンD14をマウスで操作すればよいのである。   The selection of an input signal as an output condition can be performed simply by inserting a predetermined check mark into the check box 216 using a mouse. In order to confirm this selection, it is only necessary to operate the OK button D13 with a mouse. Conversely, in order to cancel the setting, the cancel button D14 may be operated with the mouse.

このようにして、端子モードFB、出力条件FB、及び溶着チェックFBがそれぞれ配置された出力側テンプレートの状態が図29に示されている。同図から明らかなように、上述の選択設定処理によって、各指定されたブロック配置可能位置には、選択されたファンクションブロック(FB62,FB65,FB52,FB41)がそれぞれ配置されていることが理解されるであろう。   FIG. 29 shows the state of the output side template in which the terminal mode FB, the output condition FB, and the welding check FB are arranged in this way. As is apparent from the figure, it is understood that the selected function block (FB62, FB65, FB52, FB41) is arranged at each designated block arrangement possible position by the above selection setting process. It will be.

最後に、入力側テンプレートにおけるFB配置完了時の確認用画面の説明図が図31に、また出力側テンプレートにおけるFB配置完了時の確認用画面の説明図が図32にそれぞれ示されている。それらの図から明らかなように、以上の各ファンクションブロック選択並びに設定操作を繰り返すことによって、入力側テンプレート並びに出力側テンプレート上には必要なファンクションブロックが必要な位置に適切に配置されるのである。   Finally, FIG. 31 is an explanatory diagram of the confirmation screen when the FB arrangement is completed in the input template, and FIG. 32 is an explanatory diagram of the confirmation screen when the FB arrangement is completed in the output template. As is clear from these figures, by repeating the above function block selection and setting operations, necessary function blocks are appropriately arranged at necessary positions on the input side template and the output side template.

この状態において、所定の完了ボタンを操作することにより、作成された回路図が確定すると共に、先に図7を参照して説明したデータ変換処理(ステップ111〜113)並びにダウンロードパラメータ生成処理(ステップ114)が実行されて、最終的に安全コントローラ用の制御プログラムが生成されるのである。   In this state, by operating a predetermined completion button, the created circuit diagram is confirmed, the data conversion process (steps 111 to 113) and the download parameter generation process (steps) described above with reference to FIG. 114) is executed to finally generate a control program for the safety controller.

このように、図6のフローチャートに示される出力側回路図データ生成処理(ステップ108)においては、予め定義した「配置列」にしたがってFBを配置しているか否かの判断が行われ、予め定義した「配置列」にしたがってFBが配置されていると判定された場合に限り(ステップ108b YES)、その配置が希望されるFBの配置内容が記憶(登録)されて、図19に示されるロジック回路データ(10b)が生成される。   As described above, in the output side circuit diagram data generation process (step 108) shown in the flowchart of FIG. 6, it is determined whether or not the FB is arranged according to the predefined “arrangement sequence”. Only when it is determined that the FB is arranged according to the “arrangement sequence” (YES in step 108b), the arrangement content of the FB for which the arrangement is desired is stored (registered), and the logic shown in FIG. Circuit data (10b) is generated.

次に、予め定義した「配置手順」にしたがってFBが配置されているか否かの判断処理について説明する。ここで、予め定義した「配置手順」とは、この例にあっては、各行(R1,R2,R3,・・・)ごとに、出力端子に近い側から順に各ファンクションブロックを配置することを意味している。   Next, a process for determining whether or not an FB is arranged according to a predefined “placement procedure” will be described. Here, the predefined “placement procedure” means that, in this example, each function block is placed in order from the side closer to the output terminal for each row (R1, R2, R3,...). I mean.

このような判断処理を行うためには、入力側テンプレートの場合と同様にして、図19に示されるロジック回路データ(10b)が参照される。先に説明したように、このロジック回路データ(10b)には、各行の各列に対応するブロック配置可能位置に現在どのようなファンクションブロックが配置されているかの情報を記憶されている。   In order to perform such determination processing, the logic circuit data (10b) shown in FIG. 19 is referred to as in the case of the input side template. As described above, the logic circuit data (10b) stores information on what function block is currently arranged at a block arrangement possible position corresponding to each column of each row.

図6に示される出力側回路図データ生成処理(ステップ108)内の判断処理108bにおいては、このロジック回路データ(10b)を参照することによって、配置を要求されるファンクションブロックの種別ごとに、それが予め定義した「配置手順」にしたがってFBを配置するものであるか否かの判断が行われる。   In the judgment processing 108b in the output side circuit diagram data generation processing (step 108) shown in FIG. 6, by referring to the logic circuit data (10b), for each type of function block required to be arranged, Is determined according to the “arrangement procedure” defined in advance.

各ファンクションブロック種別毎の具体的な「配置手順」判断処理の詳細が図10〜図12に示されている。まず、端子モードファンクションブロックに対応する処理を図10のフローチャートを参照して説明する。   Details of the specific “placement procedure” determination process for each function block type are shown in FIGS. First, processing corresponding to the terminal mode function block will be described with reference to the flowchart of FIG.

端子モードFBの配置のためのユーザアクションが行われると(ステップ1081a)、配置要求された「行」に関して、その時点において、既に出力条件FBの配置が完了しているか否かの判定が行われ(ステップ1082a)、既に出力条件FBの配置が完了しているときには(ステップ1082a YES)、当該配置要求された端子モードFBの記憶(登録)が行われるのに対して(ステップ1083a)、出力条件FBの配置が未だ完了していない場合には(ステップ1082a NO)、画面上には所定の警告表示が行われる(ステップ1084a)。   When the user action for the placement of the terminal mode FB is performed (step 1081a), it is determined whether or not the placement of the output condition FB has already been completed for the “row” requested to be placed. (Step 1082a) When the arrangement of the output condition FB has already been completed (YES in Step 1082a), the terminal mode FB requested to be arranged is stored (registered) (Step 1083a), whereas the output condition If the FB placement has not yet been completed (NO at step 1082a), a predetermined warning is displayed on the screen (step 1084a).

EDMファンクションブロックに対応する処理の詳細が図11のフローチャートに示されている。同図に示されるように、EDM・FBの配置のためのユーザアクションが行われると(ステップ1081b)、その配置要求された「行」に関して、その時点において、出力条件FBの配置が既に完了しているか否かの判定が行われ(ステップ1082b)、既に完了しているものと判定されれば(ステップ1082b YES)、続いて、端子モードFBの配置が完了しているか否かの判定が行われ(ステップ1083b)、ここで既に完了していると判定された場合に限り(ステップ1083b)、配置要求された溶着チェック(EDM)FBの記憶(登録)が行われる(ステップ1085b)。   Details of processing corresponding to the EDM function block are shown in the flowchart of FIG. As shown in the figure, when a user action for EDM / FB placement is performed (step 1081b), the placement of the output condition FB has already been completed at that point in time for the requested “row”. Is determined (step 1082b), and if it is determined that it has already been completed (YES in step 1082b), then it is determined whether or not the arrangement of the terminal mode FB has been completed. Only when it is determined that the process has already been completed (step 1083b), the welding check (EDM) FB requested to be arranged is stored (registered) (step 1085b).

これに対して、出力条件FBの配置が未だ完了していないと判定されたり(ステップ1082b)、あるいは端子モードFBの配置が未だ完了していないと判定された場合には(ステップ1083b NO)、それぞれ画面上に所定の警告表示が行われる(ステップ1084b,1086b)。   On the other hand, when it is determined that the arrangement of the output condition FB has not been completed yet (step 1082b), or when it is determined that the arrangement of the terminal mode FB has not been completed yet (step 1083b NO), A predetermined warning is displayed on each screen (steps 1084b and 1086b).

出力条件ファンクションブロックに対応する処理が図12のフローチャートに示されている。出力条件の設定のためのユーザアクションが行われると(ステップ1081c)、出力条件FBの配置が完了しているか否か(ステップ1082c)、端子モードFBの配置が完了しているか(ステップ1083c)、及びEDM・FBの配置が完了しているか否か(ステップ1085c)の判断が行われ、それらが何れも肯定された場合に限り(ステップ1082c YES、1083c YES、1085c YES)、配置要求されたEDM・FBの記憶(登録)が行われる(ステップ1087c)。   The processing corresponding to the output condition function block is shown in the flowchart of FIG. When a user action for setting the output condition is performed (step 1081c), whether or not the arrangement of the output condition FB is completed (step 1082c), the arrangement of the terminal mode FB is completed (step 1083c), And whether or not the placement of EDM / FB has been completed (step 1085c) and only when both are affirmed (step 1082c YES, 1083c YES, 1085c YES), the EDM requested to be placed FB is stored (registered) (step 1087c).

これに対して、それらの判断のいずれかが否定された場合には(ステップ1082c NO、1083c NO、又は1085c NO)、画面上には所定の警告表示が行われる(ステップ1084c、1086c、又は1088c)。端子モードFB未配置にも拘わらず、出力条件FB、溶着チェック(EDM)FBを配置しようとした時の表示例が図33に示されている。同図に示されるように、このような場合、出力側ファンクションブロックに重ねるようにして、警告ウィンドウ217が開かれ、ユーザに対して「端子モードをロジックに設定して下さい」なるメッセージが伝えられ、これに対してOKボタンD15を操作することにより、システム側との対話が可能となされている。   On the other hand, when any of those judgments is denied (step 1082c NO, 1083c NO, or 1085c NO), a predetermined warning is displayed on the screen (steps 1084c, 1086c, or 1088c). ). FIG. 33 shows a display example when the output condition FB and the welding check (EDM) FB are attempted to be arranged despite the terminal mode FB not being arranged. As shown in the figure, in such a case, the warning window 217 is opened so as to overlap the output-side function block, and a message “Please set the terminal mode to logic” is transmitted to the user. On the other hand, the user can interact with the system side by operating the OK button D15.

このように、これらの「配置手順」判断処理においては、何れかの「行」に関して、何らかのファンクションブロックの配置が要求された場合には、その行において出力端子に近い側のブロック配置可能位置に予定されたファンクションブロックが既に配置されていることを条件として、そのファンクションブロックの配置を許容するように制御が行われる。   As described above, in these “arrangement procedure” determination processes, when any function block arrangement is requested for any “row”, the block arrangement position on the side close to the output terminal in that line is set. On the condition that the scheduled function block is already arranged, control is performed so as to allow the arrangement of the function block.

図6に戻って、このようにして、出力側テンプレート210上に必要なファンクションブロックの配置が完了したならば(ステップ109 NO)、「次へ」ボタンD3の操作に相当するユーザアクション(ステップ110)を待って、以上のファンクションブロック配置操作で生成された図19に示されるロジック回路データ(10b)は、全ファンクションブロックに関して、安全コントローラが解読可能なデータ形式に変換され(ステップ111〜113)、それら変換されたデータを集合することによって、ダウンロードパラメータ(安全コントローラ用制御プログラム)が生成される(ステップ114)。   Returning to FIG. 6, when the necessary function block arrangement on the output-side template 210 is completed in this manner (step 109 NO), the user action corresponding to the operation of the “next” button D3 (step 110). 19), the logic circuit data (10b) shown in FIG. 19 generated by the above function block arrangement operation is converted into a data format readable by the safety controller for all function blocks (steps 111 to 113). The download parameters (safety controller control program) are generated by collecting the converted data (step 114).

こうして生成されたダウンロードパラメータは、従来と同様、通信を介して又は可搬型記録媒体を介して、目的とする安全コントローラへとインストールされることとなる。   The download parameter generated in this way is installed in the target safety controller via communication or via a portable recording medium, as in the past.

以上、図5〜図12を参照して説明した第1実施形態のソフトウェア構成によれば、ファンクションブロック配置用のテンプレートの全体は、入力側テンプレート202と出力側テンプレート210とに分離されているため、各テンプレート202,210内の信号経路は、入力信号経路又は出力信号経路に統一されるため、入力信号経路に出力信号対応のファンクションブロックを配置したり、逆に出力信号経路に入力信号対応のファンクションブロックを配置するといったファンクションブロック配置誤りを生じ難い。   As described above, according to the software configuration of the first embodiment described with reference to FIGS. 5 to 12, the entire function block arrangement template is separated into the input side template 202 and the output side template 210. Since the signal paths in the templates 202 and 210 are unified to the input signal path or the output signal path, a function block corresponding to the output signal is arranged in the input signal path, or vice versa. Function block placement errors such as function block placement are unlikely to occur.

また、入力側テンプレート202並びに出力側テンプレート210の何れにおいても、各行には同一の入力信号又は出力信号の経路が存在することとなるため、同一の入力信号又は出力信号に関するファンクションブロックについては各ファンクションテーブル内において同一の行に配置しておきさえすれば、ある信号経路に配置されるべきファンクションブロックを誤って別の信号経路に配置するといったプログラミングミスを生じ難いという利点もある。   In both the input side template 202 and the output side template 210, the same input signal or output signal path exists in each row. As long as they are arranged in the same row in the table, there is an advantage that it is difficult to cause a programming error such that a function block to be arranged in a certain signal path is mistakenly arranged in another signal path.

また、プログラミングフィールド201上には、入力側テンプレート202と出力側テンプレート210とが択一的に表示されるため、それらを分離しつつも1画面に同時に表示する場合に比べて、上述のプログラミングミスを一層生じ難い。   In addition, since the input side template 202 and the output side template 210 are alternatively displayed on the programming field 201, the above-described programming errors are compared with the case where they are displayed simultaneously on one screen while being separated. Is less likely to occur.

また、プログラミングフィールド201上に入力側テンプレート202と出力側テンプレート210とを択一的に表示するに際しては、入力側テンプレート202の表示が先でかつ出力側テンプレート210の表示が後となるようにしているため、そのような表示手順に従うだけで、ユーザは、入力側テンプレート202上のファンクションブロックの配置を完了してから、出力側テンプレート210上のファンクションブロックの配置を行うこととなり、一般に出力側テンプレート上のファンクションブロックの配置並びにパラメータ設定には、それよりも先に入力側テンプレート上のファンクションブロックの配置並びにパラメータの設定が必要であることを考慮すると、これによってもプログラミングミスを生じ難いという利点もある。   When the input side template 202 and the output side template 210 are alternatively displayed on the programming field 201, the input side template 202 is displayed first and the output side template 210 is displayed later. Therefore, simply by following such a display procedure, the user must arrange the function blocks on the output side template 210 after completing the arrangement of the function blocks on the input side template 202. Considering that the function block placement and parameter settings above require the function block placement and parameter settings on the input template before that, this also has the advantage that programming errors are unlikely to occur. is there

加えて、ファンクションブロックを何れかのブロック配置可能位置に配置するに際しては、まず第1には、そのファンクションブロックをその種別に応じて予め定義された「配置列」へと誘導するセーフティロジックウィザードの仕組みが組み込まれているため、このセーフティロジックウィザードの作用によって、1の信号経路内において、複数のファンクションブロックが誤った並びで配列されるといったプログラミングミスは生ずる余地がない。   In addition, when placing a function block in any block placement possible position, first of all, a safety logic wizard that guides the function block to a predefined “placement row” according to its type. Since the mechanism is incorporated, there is no room for programming errors such that a plurality of function blocks are arranged in the wrong sequence in one signal path by the action of the safety logic wizard.

一方、そのようなセーフティロジックウィザードの作用によって、同一種別のファンクションブロックは必ず同一列に配置されることとなるため、何れかの行においてファンクションブロックを誤って配置し忘れたような場合には、列単位でファンクションブロックの抜けている箇所を探すだけで、この種の安全プログラムの検証を容易に行うことができる。   On the other hand, the function block of the same type will always be placed in the same column by the action of such a safety logic wizard, so if you forgot to place the function block in any row by mistake, This type of safety program can be easily verified simply by searching for the missing part of the function block in units of columns.

また、ファンクションブロックを入力側又は出力側のテンプレート上に配置するに際しては、第2としては、各ファンクションブロック種別毎に予め定義された「配置手順」へと誘導するセーフティロジックウィザードが作用するため、入力側テンプレート又は出力側テンプレートの何れにおいても、「配置列」のみならず「配置手順」についても、適切な順番に誘導されることとなり、時間的配置順番の誤りに起因するプログラミングミスについても生ずる余地がない。   In addition, when placing the function block on the input side or output side template, secondly, since the safety logic wizard that leads to the “placement procedure” defined in advance for each function block type acts, In either the input-side template or the output-side template, not only the “arrangement sequence” but also the “arrangement procedure” will be guided in an appropriate order, and a programming error due to an error in the temporal arrangement order will also occur. There is no room.

次に、本発明に係るプログラム開発支援装置(第2実施形態)のソフトウェア構成を示すフローチャートが図13及び図14に示されている。前述したように、フローチャートに示されるアプリケーションプログラムは図3のプログラムメモリ15cに格納されており、CPU11によって統括して実行処理される。この第2実施形態においては、図13に示されるように、入力側テンプレートについては、予め定義した「配置列」及び「配置手順」にしたがってFBを配置しているか否かの判断を含むセーフティロジックウィザードを採用するものの(ステップ204)、図14に示されるように、出力側テンプレートについては、「配置列」の制約下におけるFBの配置内容記憶は行うものの(ステップ209)、「配置手順」の制約下におけるFBの配置内容記憶は採用されていない(ステップ209)。   Next, flowcharts showing the software configuration of the program development support apparatus (second embodiment) according to the present invention are shown in FIGS. As described above, the application program shown in the flowchart is stored in the program memory 15c of FIG. 3, and is executed and executed by the CPU 11 in an integrated manner. In this second embodiment, as shown in FIG. 13, for the input side template, safety logic including a determination as to whether or not an FB is arranged according to a predefined “placement sequence” and “placement procedure”. Although the wizard is adopted (step 204), as shown in FIG. 14, the output side template stores the FB arrangement contents under the restriction of the “arrangement sequence” (step 209), but the “arrangement procedure” The arrangement content storage of the FB under the constraint is not adopted (step 209).

このように、入力側テンプレートに関してのみ、「配置列」及び「配置手順」の制約下におけるFBの配置内容記憶処理(ステップ204c)を実行するようにしても、プログラミングミスの発生を十分に抑制することができる。   As described above, even when the FB arrangement content storage process (step 204 c) is executed only on the input side template under the restrictions of the “arrangement sequence” and “arrangement procedure”, occurrence of programming errors is sufficiently suppressed. be able to.

プログラム開発支援装置(第3実施形態)のソフトウェア構成を示すフローチャートが図15及び図16に示されている。これらのフローチャートに示されるアプリケーションプログラムは図3のプログラムメモリ15cに格納されており、CPU11によって統括して実行処理される。この第3実施形態においては、図15及び図16を参照して明らかなように、入力側回路図データの作成処理並びに出力側回路図データの作成処理の何れについても、「配置列」の制約下におけるFBの配置内容記憶(ステップ305,310)は行うものの、「配置手順」の制約下におけるFBの配置内容記憶については行わないようにしている。このような構成によっても、プログラミングミスを十分に抑制することができる。   15 and 16 are flowcharts showing the software configuration of the program development support apparatus (third embodiment). The application programs shown in these flowcharts are stored in the program memory 15c of FIG. 3, and are executed and executed by the CPU 11 in an integrated manner. In the third embodiment, as is apparent with reference to FIGS. 15 and 16, the “arrangement string” constraint is imposed on both the input side circuit diagram data creation processing and the output side circuit diagram data creation processing. Although the FB arrangement content storage (steps 305 and 310) below is performed, the FB arrangement content storage under the restriction of the “arrangement procedure” is not performed. Even with such a configuration, programming errors can be sufficiently suppressed.

このように、以上説明した各実施形態のプログラム開発支援装置によれば、図34に示されるように、テンプレートの全体は入力側テンプレートと出力側テンプレートとに分離されることから、各テンプレート内においては、同一信号に関する信号経路は同一行に存在することとなる。   As described above, according to the program development support device of each embodiment described above, the entire template is separated into the input side template and the output side template as shown in FIG. The signal paths related to the same signal exist in the same row.

また、各テンプレート内の各列(C1〜C6)のそれぞれには、同一種別のファンクションブロックがセーフティロジックウィザードの作用によって配置されるように導かれることとなる。しかも、そのようなセーフティロジックウィザードの作用によって、同種別のファンクションブロックについては、同一列にひとりでに配列されるため、何れかのファンクションブロックを配置し忘れたような場合にも、プログラム完成後においては、各列ごとにファンクションブロックの有無をチェックし、何れかの行にファンクションブロックが存在しなければ、その部分を集中的にチェックすることによって、この種の安全コントローラ用制御プログラムのデバッグを簡単に行うことが可能となる。   In addition, each column (C1 to C6) in each template is guided so that the same type of function block is arranged by the action of the safety logic wizard. Moreover, because of the function of the safety logic wizard, the same type of function blocks are arranged alone in the same column, so even if you forget to place any function block, after the program is completed It is easy to debug this kind of safety controller control program by checking the presence of function blocks for each column and if there is no function block in any row, intensively checking that part Can be done.

そのため、このような入力側テンプレート又は出力側テンプレートの構造によれば、同一信号に関するファンクションブロックについては同一行に配置するといった習慣づけを行うだけで、同一信号経路に配置されるべきファンクションブロックを別の信号経路に誤って配置したり、入力信号経路に配置すべきファンクションブロックを出力信号経路に配置するといったプログラミングミスを確実に防止することができる。   Therefore, according to the structure of the input side template or the output side template, function blocks that should be placed in the same signal path can be separated from each other only by customizing the function blocks related to the same signal in the same row. Thus, it is possible to reliably prevent programming mistakes such as misplacement in the signal path and placement of function blocks to be placed in the input signal path in the output signal path.

また、単に2つに分離するのみならず、出力側テンプレートに先立って入力側テンプレートをユーザに提示することにより、出力側テンプレート上のファンクションブロックを配置する段においては、既に入力側テンプレート上のファンクションブロックの配置が完了していることとなるから、これによってもユーザによるプログラミングミスを未然に防止することができる。   In addition, the function on the input side template has already been arranged in the stage where the function block on the output side template is arranged by presenting the input side template to the user prior to the output side template. Since the arrangement of the blocks is completed, it is possible to prevent programming mistakes by the user.

さらに、何れかの行について何らかのファンクションブロックを配置するについては、入力側テンプレートについては、矢印AR1に示されるように、入力端子側から順に配置されるように誘導されると共に、出力側テンプレートについては、矢印AR2に示されるように、出力端子側から順に配置するように誘導されるため、このような誘導に従う限り、個々のファンクションブロックの配置される段階では、そのファンクションブロックの設定に必要な他のファンクションブロックについては必ずそれよりも先に配置が完了していることとなり、これによってもプログラミングミスを確実に防止することができる。   Furthermore, regarding the arrangement of any function block for any row, the input side template is guided to be arranged in order from the input terminal side as indicated by the arrow AR1, and the output side template is As shown by the arrow AR2, the guidance is performed in order from the output terminal side. Therefore, as long as such guidance is followed, other functions necessary for setting the function block are required at the stage where each function block is arranged. The function block is always arranged before that, and it is possible to reliably prevent programming mistakes.

この発明によれば、プログラミングミスが生じ難く、かつそのようなプログラミングミスが生じた場合には、そのことをファンクションブロックのレイアウトから容易に発見することが可能な安全コントローラのプログラム開発支援装置を提供することができる。   According to the present invention, there is provided a program development support device for a safety controller that is unlikely to cause a programming error and that can easily be detected from a function block layout when such a programming error occurs. can do.

安全コントローラを含む安全制御システムを示す概念図である。It is a conceptual diagram which shows the safety control system containing a safety controller. プログラム開発支援装置の機能を概念的に示すブロック図である。It is a block diagram which shows notionally the function of a program development support apparatus. プログラム開発支援装置の電気的なハードウェア構成を示す概略ブロック図である。It is a schematic block diagram which shows the electrical hardware constitutions of a program development assistance apparatus. 安全コントローラの電気的なハードウェア構成を示す概略ブロック図である。It is a schematic block diagram which shows the electrical hardware constitutions of a safety controller. プログラム開発支援装置(第1実施形態)のソフトウェア構成を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the software structure of a program development assistance apparatus (1st Embodiment). プログラム開発支援装置(第1実施形態)のソフトウェア構成を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the software structure of a program development assistance apparatus (1st Embodiment). プログラム開発支援装置(第1実施形態)のソフトウェア構成を示すフローチャート(その3)である。It is a flowchart (the 3) which shows the software structure of a program development assistance apparatus (1st Embodiment). 入力側回路図データ生成処理の詳細フローチャート(無効化・ファンクションブロックに対応する処理)である。It is a detailed flowchart (processing corresponding to invalidation / function block) of input side circuit diagram data generation processing. 入力側回路図データ生成処理の詳細フローチャート(セット・リセット・ファンクションブロックに対応する処理)である。It is a detailed flowchart (process corresponding to a set / reset / function block) of input side circuit diagram data generation processing. 出力側回路図データ生成処理の詳細フローチャート(端子モード・ファンクションブロックに対応する)である。It is a detailed flowchart (corresponding to a terminal mode / function block) of output side circuit diagram data generation processing. 出力側回路図データ生成処理の詳細フローチャート(EDM・ファンクションブロックに対応する処理)である。It is a detailed flowchart (process corresponding to an EDM function block) of output side circuit diagram data generation processing. 出力側回路図データ生成処理の詳細フローチャート(出力条件・ファンクションブロックに対応する処理)である。It is a detailed flowchart (processing corresponding to an output condition / function block) of output side circuit diagram data generation processing. プログラム開発支援装置(第2実施形態)のソフトウェア構成を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the software structure of a program development assistance apparatus (2nd Embodiment). プログラム開発支援装置(第2実施形態)のソフトウェア構成を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the software structure of a program development assistance apparatus (2nd Embodiment). プログラム開発支援装置(第3実施形態)のソフトウェア構成を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the software structure of a program development assistance apparatus (3rd Embodiment). プログラム開発支援装置(第3実施形態)のソフトウェア構成を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the software structure of a program development assistance apparatus (3rd Embodiment). 安全プログラムテンプレートデータ(入力側)の一例を示す説明図である。It is explanatory drawing which shows an example of safety program template data (input side). 安全プログラムテンプレートデータ(出力側)の一例を示す説明図である。It is explanatory drawing which shows an example of safety program template data (output side). ユーザにより作成されたロジック回路データ(10b)の一例を示す説明図である。It is explanatory drawing which shows an example of the logic circuit data (10b) produced by the user. 安全コントローラへダウンロードされる設定パラメータデータ(制御プログラム)の一例を示す説明図である。It is explanatory drawing which shows an example of the setting parameter data (control program) downloaded to a safety controller. 入力側テンプレートにおけるFB配置開始初期の画面説明図である。It is screen explanatory drawing in the initial stage of FB arrangement | positioning in an input side template. FB選択用メニューウィンドウの説明図である。It is explanatory drawing of the menu window for FB selection. 入力無効化条件設定用メニューウィンドウの説明図である。It is explanatory drawing of the menu window for an input invalidation condition setting. リセット条件設定用メニューウィンドウの説明図である。It is explanatory drawing of the menu window for reset condition setting. 入力FB、無効化条件FB、及びリセットFBが配置された入力側テンプレートの画面説明図である。It is screen explanatory drawing of the input side template by which the input FB, the invalidation condition FB, and the reset FB are arrange | positioned. 出力側テンプレートにおけるFB配置設定開始初期の画面説明図である。It is screen explanatory drawing at the beginning of FB arrangement | positioning setting start in an output side template. 溶着チェックに関する各種メニューウィンドウの画面説明図である。It is screen explanatory drawing of the various menu windows regarding a welding check. 端子モード設定用メニューウィンドウの説明図である。It is explanatory drawing of the menu window for terminal mode setting. 端子モードFB、出力条件FB、及び溶着チェックFBが配置された出力側テンプレートの画面説明図である。It is screen explanatory drawing of the output side template by which the terminal mode FB, the output condition FB, and the welding check FB are arrange | positioned. 出力条件設定用ウィンドウの説明図である。It is explanatory drawing of the window for an output condition setting. 入力側テンプレートにおけるFB配置完了時の確認用画面説明図である。It is explanatory drawing explanatory drawing at the time of completion of FB arrangement | positioning in an input side template. 出力側テンプレートにおけるFB配置完了時の確認用画面説明図である。It is explanatory drawing explanatory drawing at the time of FB arrangement | positioning completion in an output side template. FBの配置手順を誤った時に提示される警告ウィンドウの画面説明図である。It is screen explanatory drawing of the warning window shown when the arrangement | positioning procedure of FB is wrong. 各FBの好ましい配置例及び配置手順の説明図である。It is explanatory drawing of the preferable arrangement | positioning example and arrangement | positioning procedure of each FB. プログラム開発支援装置(第1従来例)によるロジック回路図表示例である。It is a logic circuit diagram display example by a program development support device (first conventional example). プログラム開発支援装置(第2従来例)によるロジック回路図表示例である。It is a logic circuit diagram display example by a program development support device (second conventional example).

符号の説明Explanation of symbols

1 安全コントローラ
1a 設定パラメータ
2a バス型ネットワーク
2b 直結型ネットワーク
3 入力機器
4 出力機器
5 安全I/Oターミナル
6 ユーザ
10 プログラム開発支援装置
10a セーフティロジックウィザードデータベース(DB)
10b ロジック回路図データ
10c コンパイラ
10d 設定パラメータ
11 CPU
12 入力操作部
13 画像表示部
14 ワークRAM
15 記憶装置
15a 出力イメージメモリ
15b システムメモリ
15c プログラムメモリ
16 通信部
17 システムバス
101 通信インタフェース部
102 中央演算部
103a 入力側の端子異常診断部
103b 出力側の端子異常診断部
104a 入力端子部
104b 出力端子部
200 ウィンドウ
201 プログラミングフィールド
202 入力側テンプレート
203−1〜203−6 インデックス
204 メニューウィンドウ
205 メニューウィンドウ
206 メニューウィンドウ
207 チェックボックス
208 チェックボックス
209 メニューウィンドウ
210 出力側テンプレート
211 メニューウィンドウ
213 メニューウィンドウ
214 メニューウィンドウ
215 メニューウィンドウ
216 チェックボックス
217 警告ウィンドウ
AR1 入力側テンプレートの配置手順を示す矢印
AR2 出力側テンプレートの配置手順を示す矢印
C1〜C6 列
D1 スクロールバー
D2 戻りボタン
D3 進みボタン
D4 キャンセルボタン
D5 OKボタン
D6 キャンセルボタン
D7 プルダウンボタン
D8 OKボタン
D9 キャンセルボタン
D10 プルダウンボタン
D11 OKボタン
D12 キャンセルボタン
D13 OKボタン
D14 キャンセルボタン
D15 OKボタン
FB01 入出力導通ファンクションブロック
FB11 セーフティ非常停止スイッチファンクションブロック
FB12 二重化対応のセーフティライトカーテンファンクションブロック
FB13 二重化非対応のセーフティライトカーテン
FB21 論理和演算ファンクションブロック
FB22 論理積及び論理和演算ファンクションブロック
FB31 セット/リセットファンクションブロック
FB52 溶着チェック(EDM)ファンクションブロック
FB61 二重化対応のリモートI/Oファンクションブロック
FB62 二重化対応のロジックファンクションブロック
FB63 二重化非対応のリモートI/Oファンクションブロック
FB64 二重化非対応のロジックファンクションブロック
FB65 補助出力ファンクションブロック
PB2,PB3 プルダウンボタン
R1,R2,R3,R4 行
DESCRIPTION OF SYMBOLS 1 Safety controller 1a Setting parameter 2a Bus type network 2b Direct connection type network 3 Input device 4 Output device 5 Safety I / O terminal 6 User 10 Program development support device 10a Safety logic wizard database (DB)
10b Logic circuit diagram data 10c Compiler 10d Setting parameter 11 CPU
12 Input operation unit 13 Image display unit 14 Work RAM
DESCRIPTION OF SYMBOLS 15 Memory | storage device 15a Output image memory 15b System memory 15c Program memory 16 Communication part 17 System bus 101 Communication interface part 102 Central processing part 103a Input side terminal abnormality diagnosis part 103b Output side terminal abnormality diagnosis part 104a Input terminal part 104b Output terminal Section 200 Window 201 Programming field 202 Input side template 203-1 to 203-6 Index 204 Menu window 205 Menu window 206 Menu window 207 Check box 208 Check box 209 Menu window 210 Output side template 211 Menu window 213 Menu window 214 Menu window 215 Menu window 216 Check box 17 Warning window AR1 Arrow indicating the placement procedure of the input side template AR2 Arrow indicating the placement procedure of the output side template C1 to C6 row D1 Scroll bar D2 Return button D3 Advance button D4 Cancel button D5 OK button D6 Cancel button D7 Pull down button D8 OK Button D9 Cancel button D10 Pull-down button D11 OK button D12 Cancel button D13 OK button D14 Cancel button D15 OK button FB01 I / O conduction function block FB11 Safety emergency stop switch function block FB12 Redundant safety light curtain function block FB13 Safety not redundant Light curtain FB21 logical sum operation function block FB22 Logical product and logical sum operation function block FB31 Set / reset function block FB52 Welding check (EDM) function block FB61 Redundant compatible remote I / O function block FB62 Redundant compatible logic function block FB63 Redundant incompatible remote I / O function Block FB64 Logic function block that does not support duplication FB65 Auxiliary output function block PB2, PB3 Pull-down button R1, R2, R3, R4 lines

Claims (8)

画像表示器のスクリーン上のプログラミングフィールドに、予め用意された複数種のファンクションブロックの中から選択された1の種類のファンクションブロックを順次に配置しかつ各ファンクションブロック毎に必要な固有パラメータを設定することにより、所望の制御仕様に対応するロジック回路図を完成する一連のユーザ操作を通して、安全コントローラ用の制御プログラムが自動的に生成されるようにした安全コントローラのプログラム開発支援装置であって、
前記プログラミングフィールドへのファンクションブロックの配置は、当該プログラミングフィールド上に表示され、かつ行と列との各交叉位置にそれぞれ対応するようにして、ブロック配置可能位置が定義されると共に、行方向の一端側は入力端子側として又他端側は出力端子側として定義されたファンクションブロック配置用のテンプレートによる案内にしたがって行われ、
前記ファンクションブロック配置用のテンプレートは、入力側に位置しかつそれぞれ入力信号に関する所定種別のファンクションブロックの配置を受け入れる一連の複数列を含む入力側テンプレートと、出力側に位置しかつそれぞれ出力信号に関する所定種別のファンクションブロックの配置を受け入れる一連の複数列を含む出力側テンプレートと、に分離されている、ことを特徴とする安全コントローラのプログラム開発支援装置。
In the programming field on the screen of the image display, one kind of function block selected from a plurality of kinds of function blocks prepared in advance is sequentially arranged, and necessary unique parameters are set for each function block. A safety controller program development support apparatus in which a control program for a safety controller is automatically generated through a series of user operations for completing a logic circuit diagram corresponding to a desired control specification,
The layout of the function block in the programming field is displayed on the programming field and the block layout position is defined so as to correspond to each crossing position of the row and the column. The side is performed according to the guide by the template for function block arrangement defined as the input terminal side and the other end side as the output terminal side,
The template for function block arrangement includes an input side template including a series of a plurality of columns that are located on the input side and each accepts a predetermined type of function block arrangement relating to the input signal, and a predetermined template that is located on the output side and that relates to the output signal. A safety controller program development support device, which is separated into an output side template including a series of a plurality of columns that accepts arrangement of function blocks of a type.
前記入力側テンプレートと前記出力側テンプレートとは、プログラミングフィールド上に択一的に表示可能とされている、ことを特徴とする請求項1に記載の安全コントローラのプログラム開発支援装置。   The safety controller program development support device according to claim 1, wherein the input side template and the output side template can be alternatively displayed on a programming field. 前記入力側テンプレートの表示が先で、前記出力側テンプレートの表示が後になるように、両テンプレートを択一的にプログラミングフィールド上に表示させる仕組みが組み込まれている、ことを特徴とする請求項1に記載の安全コントローラのプログラム開発支援装置。   2. A mechanism for selectively displaying both templates on a programming field is incorporated so that the input side template is displayed first and the output side template is displayed later. Program development support device for the safety controller described in 1. ユーザにより選択されるファンクションブロックが、その種別毎に予め定義される配置列及び配置手順にしたがって、各テンプレート上の該当列のブロック配置可能位置へと配置されるように、各ファンクションブロックを予め定義された配置列へと予め定義された配置手順をもって誘導する仕組みが組み込まれている、ことを特徴とする請求項1〜3のいずれかに記載の安全コントローラのプログラム開発支援装置。   Each function block is defined in advance so that the function block selected by the user is arranged at the block arrangement possible position in the corresponding column on each template according to the arrangement column and arrangement procedure defined in advance for each type. The safety controller program development support device according to any one of claims 1 to 3, wherein a mechanism for guiding to a predetermined arrangement sequence is incorporated with a predetermined arrangement procedure. 各ファンクションブロックを予定される配置列へと予定される配置手順をもって誘導する仕組みが、そのために必要な操作をユーザに対して促すための案内表示である、ことを特徴とする請求項4に記載の安全コントローラのプロクラム開発支援装置。   The mechanism for guiding each function block to a predetermined arrangement row with a predetermined arrangement procedure is a guidance display for prompting a user to perform an operation necessary for the function block. Procrum development support device for safety controllers. 各ファンクションブロックを予定される配置列へと予定される配置手順をもって誘導する仕組みが、ユーザにより選択されるファンクションブロックが、その種別毎に予め定義される配置列以外の配置列、又は配置手順以外の配置手順にしたがって、各テンプレート上に配置される動作を検知してそれを禁止するように、又はそのような動作を検知してそれに警告を発するように仕組まれたものである、ことを特徴とする請求項4に記載の安全コントローラのプログラム開発支援装置。   The mechanism that guides each function block to the planned arrangement sequence with the planned arrangement sequence is that the function block selected by the user is an arrangement column other than the arrangement column predefined for each type, or other than the arrangement procedure It is designed to detect and prohibit the action placed on each template according to the placement procedure of, or to issue a warning to such action. The program development support device for a safety controller according to claim 4. テンプレートが入力側テンプレートであり、かつ予め定義された配置手順が、予め定義された配置列に配置されるべき複数のファンクションブロックが、入力端子に近い列のものから順に配置されるものである、ことを特徴とする請求項4〜6のいずれかに記載の安全コントローラのプログラム開発支援装置。   The template is an input side template, and the predefined arrangement procedure is such that a plurality of function blocks to be arranged in a predefined arrangement column are arranged in order from the column close to the input terminal. A program development support apparatus for a safety controller according to any one of claims 4 to 6. テンプレートが出力側テンプレートであり、かつ予め定義された配置手順が、予め定義された配置列に配置されるべき複数のファンクションブロックが、出力端子に近い列のものから順に配置されるものである、ことを特徴とする請求項4〜6のいずれかに記載の安全コントローラのプログラム開発支援装置。   The template is an output side template, and the predefined arrangement procedure is such that a plurality of function blocks to be arranged in a predefined arrangement column are arranged in order from the column close to the output terminal. A program development support apparatus for a safety controller according to any one of claims 4 to 6.
JP2007156217A 2007-06-12 2007-06-13 Program development support device for safety controller Active JP4793588B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007156217A JP4793588B2 (en) 2007-06-13 2007-06-13 Program development support device for safety controller
DE102008002266.7A DE102008002266B4 (en) 2007-06-12 2008-06-06 Program development support device of a safety controller
US12/136,914 US20090024230A1 (en) 2007-06-12 2008-06-11 Program development support apparatus of safety controller
CN2011103717578A CN102411331A (en) 2007-06-12 2008-06-12 Program development support apparatus of safety controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007156217A JP4793588B2 (en) 2007-06-13 2007-06-13 Program development support device for safety controller

Publications (2)

Publication Number Publication Date
JP2008310479A JP2008310479A (en) 2008-12-25
JP4793588B2 true JP4793588B2 (en) 2011-10-12

Family

ID=40238040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007156217A Active JP4793588B2 (en) 2007-06-12 2007-06-13 Program development support device for safety controller

Country Status (1)

Country Link
JP (1) JP4793588B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112016004614T5 (en) 2015-10-09 2018-06-28 Fisher-Rosemount Systems, Inc. System and method for creating a set of monitoring and action blocks from a cause-and-effect table
JP7087951B2 (en) * 2018-11-22 2022-06-21 オムロン株式会社 Control system, control method, drive device
JP7087952B2 (en) * 2018-11-22 2022-06-21 オムロン株式会社 Control system, support device, support program
JP7409832B2 (en) 2019-11-19 2024-01-09 株式会社キーエンス Program creation support device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3177105B2 (en) * 1994-10-03 2001-06-18 株式会社東芝 Program creation method and control device using program
JPH10301763A (en) * 1997-04-25 1998-11-13 Mitsubishi Electric Corp Program preparation supporting device for digital controller
JPH1139145A (en) * 1997-07-24 1999-02-12 Casio Comput Co Ltd Device to support programming and storage medium
JP4032907B2 (en) * 2002-09-30 2008-01-16 オムロン株式会社 Design support apparatus, design support method, and program

Also Published As

Publication number Publication date
JP2008310479A (en) 2008-12-25

Similar Documents

Publication Publication Date Title
JP4888717B2 (en) Program development support device for safety controller
US7076311B2 (en) Configurable safety system for implementation on industrial system and method of implementing same
US20090024230A1 (en) Program development support apparatus of safety controller
EP3470942A1 (en) Systems and methods for ease of graphical display workflow in a process control plant
US8473917B2 (en) Enhanced operation diagnostics
JP5636378B2 (en) Method and apparatus for creating a user program for a safety controller and computer program
JP6111675B2 (en) Method, apparatus and program for supporting user program design of safety controller
US8694135B2 (en) Programming programmable logic controllers using exertion influence in establishing matrix parameters
US10020151B2 (en) Safety relay configuration system with multiple test pulse schemes using graphical interface
EP2891936B1 (en) Safety relay configuration system with safety monitoring and safety output function blocks
US20100313128A1 (en) System and method for free form comments for a programmable logic controller
US20150186118A1 (en) Development environment for a safety relay configuration system
JP2012524352A (en) Method and apparatus for generating application program for safety-related control unit
JP4793588B2 (en) Program development support device for safety controller
US20170262568A1 (en) Program development support device, non-transitory storage medium storing thereon computer-readable program development support program, and program development support method
JP4924851B2 (en) Program development support device for safety controller
JP4849261B2 (en) Safety application creation support device
JP4656335B2 (en) Safety device setting file creation support device
JP4433210B2 (en) Program development support device for safety controller
JP2008027156A (en) Simulation device
CN107193251A (en) EVALUATION SYSTEM and EVALUATION METHOD
JP5174798B2 (en) Safety diagnostic device and safety diagnostic method for safety control program
US11656584B2 (en) Method and monitoring units for security-relevant graphical user interfaces
Soliman et al. A methodology to upgrade legacy industrial systems to meet safety regulations
US11321055B2 (en) Program creation assistance device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110623

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110712

R150 Certificate of patent or registration of utility model

Ref document number: 4793588

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250