JP4366605B2 - Development support apparatus, program, and processing method - Google Patents

Development support apparatus, program, and processing method Download PDF

Info

Publication number
JP4366605B2
JP4366605B2 JP2005271216A JP2005271216A JP4366605B2 JP 4366605 B2 JP4366605 B2 JP 4366605B2 JP 2005271216 A JP2005271216 A JP 2005271216A JP 2005271216 A JP2005271216 A JP 2005271216A JP 4366605 B2 JP4366605 B2 JP 4366605B2
Authority
JP
Japan
Prior art keywords
program
outline information
component
displayed
display
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.)
Expired - Fee Related
Application number
JP2005271216A
Other languages
Japanese (ja)
Other versions
JP2007086831A (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 JP2005271216A priority Critical patent/JP4366605B2/en
Publication of JP2007086831A publication Critical patent/JP2007086831A/en
Application granted granted Critical
Publication of JP4366605B2 publication Critical patent/JP4366605B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、開発支援装置およびプログラムならびに処理方法に関するものである。 The present invention relates to a development support apparatus, a program, and a processing method .

ファクトリーオートメーション(FA)の制御装置として、プログラマブルコントローラ(PLC)が用いられている。このPLCは、複数のユニットから構成される。すなわち、PLCは、電源供給源の電源ユニット,PLC全体の制御を統率するCPUユニット,FAの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット,アクチュエータなどに制御出力を出す出力ユニット,通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。   A programmable controller (PLC) is used as a control device for factory automation (FA). This PLC is composed of a plurality of units. In other words, the PLC controls and outputs to the power supply unit of the power supply source, the CPU unit that controls the entire PLC, the input unit that inputs the signals of the switches and sensors attached to the FA production equipment and equipment, and the actuator. Various units such as an output unit for outputting the signal and a communication unit for connecting to a communication network.

PLCのCPUユニットにおける制御は、入力ユニットで入力した信号をCPUユニットのI/Oメモリに取り込み(INリフレッシュ)、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし(演算実行)、その演算実行結果をI/Oメモリに書き込んで出力ユニットに送り出し(OUTリフレッシュ)、その後、いわゆる周辺処理を行うということをサイクリックに繰り返し処理するようになる。   The control in the CPU unit of the PLC takes in the signal input from the input unit into the I / O memory of the CPU unit (IN refresh) and performs a logical operation based on a user program written in a ladder language registered in advance (calculation execution) The operation execution result is written in the I / O memory, sent to the output unit (OUT refresh), and then the so-called peripheral processing is cyclically repeated.

上記したユーザプログラムは、通常、開発支援装置を用いて生成したラダープログラムであり、通信回線を介してPLCのCPUユニットにダウンロードする。また、作成したラダープログラムに不具合が生じた場合には、ユーザは開発支援装置の表示画面にそのラダープログラムを表示させて検証し、不良箇所を見つけて修正作業を行なう。そして、ユーザは、修正したラダープログラムをPLCにダウンロードする。   The above-described user program is usually a ladder program generated using a development support apparatus, and is downloaded to the CPU unit of the PLC via a communication line. In addition, when a defect occurs in the created ladder program, the user displays the ladder program on the display screen of the development support apparatus, verifies it, finds a defective portion, and performs correction work. Then, the user downloads the modified ladder program to the PLC.

ラダープログラムのデバッグの作業は、想定外の動作をした出力命令のオペランド(接点番号やメモリ番号)をキーにして、その出力命令に関連する入力命令または出力命令を探して、ラダープログラムを修正、編集することを繰り返す。接点番号は、入力ユニットの端子台の端子場所を示す端子番号や、出力ユニットの端子台の端子場所を示す端子番号である。メモリ番号は、プログラマブルコントローラ内のIOデータメモリのアドレス値である。この際、デバッグ作業者にとって、想定外の動作をした出力命令に関連する入力命令または出力命令を探すことは煩雑である。例えば、ある出力命令に問題がある場合において、その出力命令に関連する入力命令が複数あるような場合には、それら複数の入力命令を全てチェックする必要があり、探し出す処理が煩雑である。また、上記出力命令と同じオペランドを持つ入力命令を含むプログラム部分がある場合は、問題となる出力命令に関係するプログラムを修正した後、そのプログラムも正常に動作することを確認する必要があり、確認すべき命令を漏らすことなく全てチェックすることは非常に煩雑である。そして、ラダープログラムが長くなるほどその問題は顕著となる。   The debugging of the ladder program involves correcting the ladder program by searching for the input instruction or output instruction related to the output instruction using the operand (contact number or memory number) of the output instruction that performed an unexpected operation as a key. Repeat editing. The contact number is a terminal number indicating the terminal location of the terminal block of the input unit or a terminal number indicating the terminal location of the terminal block of the output unit. The memory number is an address value of the IO data memory in the programmable controller. At this time, it is troublesome for a debug operator to search for an input command or an output command related to an output command that has performed an unexpected operation. For example, when there is a problem with a certain output instruction and there are a plurality of input instructions related to the output instruction, it is necessary to check all of the plurality of input instructions, and the process of finding out is complicated. In addition, if there is a program part that includes an input instruction having the same operand as the above output instruction, after correcting the program related to the output instruction in question, it is necessary to confirm that the program also operates normally. It is very cumbersome to check all the commands to be confirmed without leaking them. The problem becomes more prominent as the ladder program becomes longer.

この発明は、他の命令に影響を与える出力命令を含むプログラムの構成要素を簡単に検出し、その構成要素を含むプログラムを表示したり、その構成要素に関係する他の構成要素を抽出して表示することができ、ユーザプログラムのデバッグが容易に行なえる開発支援装置およびプログラムならびに処理方法を提供することを目的とする。 The present invention easily detects a component of a program including an output instruction that affects other instructions, displays a program including the component, and extracts other components related to the component. It is an object of the present invention to provide a development support apparatus, a program, and a processing method that can be displayed and can easily debug a user program.

本発明の開発支援装置は、例えばプログラマブルコントローラにダウンロードするユーザプログラムを編集等するのに適したものである。具体的な構成としては、ユーザプログラムを記憶するプログラム記憶手段と、前記ユーザプログラムの構成要素のうち、抽出対象の構成要素を受け付ける構成要素選択手段と、プログラム記憶手段に記憶されたユーザプログラムの構成要素を先頭から順に走査して、前記構成要素選択手段で受け付けた構成要素を抽出し、その抽出した構成要素にユーザプログラム上での出現順に固有のインデックス番号を付したアウトライン情報を生成するアウトライン情報生成手段と、アウトライン情報を格納するアウトライン情報記憶手段と、表示画面には、前記ユーザプログラムを表示するプログラム表示部と、アウトライン情報記憶手段に格納された構成要素を前記出現順に表示するアウトライン情報表示部とを設け、アウトライン表示部に表示された構成要素とプログラム表示部に表示されたラダープログラムを連携させるようにした。   The development support apparatus of the present invention is suitable for editing a user program downloaded to a programmable controller, for example. Specifically, a program storage unit that stores a user program, a component selection unit that receives a component to be extracted among the components of the user program, and a configuration of the user program stored in the program storage unit Outline information that scans elements in order from the top, extracts the constituent elements received by the constituent element selection means, and generates outline information with the extracted constituent elements assigned with unique index numbers in the order of appearance on the user program Generating means, outline information storage means for storing outline information, a program display section for displaying the user program on a display screen, and outline information display for displaying the components stored in the outline information storage means in the order of appearance Are displayed on the outline display section. The ladder program displayed on the components and the program display unit and so as to cooperate with.

なお、アウトライン情報の表示形態としては、実施の形態で示したように、ツリー状に配置しても良いし、リスト状に表示しても良いし、その他各種の表示形態をとることができる。また、処理対象のユーザプログラムは、実施の形態で示すようにラダー言語,ST言語その他の各種の言語で構成されたものに適用できる。   As the display form of the outline information, as shown in the embodiment, it may be arranged in a tree form, a list form, or various other display forms. Further, the user program to be processed can be applied to a program composed of a ladder language, an ST language and other various languages as shown in the embodiment.

このようにすると、ユーザが選択した所望の構成要素のみがアウトライン情報表示部にプログラム上での出現順に表示されるため、その表示された構成要素を見ることにより、ユーザプログラム上で所望の構成要素が全体のどの位の位置に存在しているかなどのユーザプログラムのアウトラインを認識することができる。特に、表示される構成要素は、ユーザが選択した構成要素であるので、そのときユーザが必要とするもののみが的確に過不足無く表示される。   In this way, since only the desired component selected by the user is displayed in the order of appearance on the program in the outline information display section, the desired component on the user program can be viewed by viewing the displayed component. It is possible to recognize the outline of the user program, such as how much is located in the whole. In particular, since the displayed constituent elements are the constituent elements selected by the user, only what the user needs at that time is displayed without any excess or deficiency.

また通常コメントには、ユーザプログラム上での位置を示すステップ番号は付与されないが、本発明ではコメントを含めてユーザプログラムのすべての構成要素に別途固有のインデックス番号を付与したことにより、コメントを所定の構成要素に設定した場合でもそのインデックス番号を用いてアウトライン情報表示部と、プログラム表示部の連係を取ることができる。つまり、アウトライン情報表示部に表示された所定の構成要素を選択すると、その選択された構成要素に付されたインデックス番号に対応するユーザプログラムの構成要素を認識し、それをプログラム表示部に表示することができる。よって、目的とするユーザプログラムの構成要素を簡単に見つけることができる。   In addition, a step number indicating a position on the user program is not assigned to a normal comment. However, in the present invention, a unique index number is assigned to every component of the user program including the comment, so that the comment is predetermined. Even if it is set as a component, the outline information display unit and the program display unit can be linked using the index number. That is, when a predetermined component displayed on the outline information display unit is selected, the user program component corresponding to the index number assigned to the selected component is recognized and displayed on the program display unit. be able to. Therefore, it is possible to easily find the components of the target user program.

また、前記構成要素選択手段でファンクションが選択された場合、ファンクションブロックの内部のプログラムについても構成要素を抽出し、アウトライン表示する機能を有し、その抽出されたファンクションブロックの内部のプログラムの構成要素は、当該ファンクションブロックに関連づけて表示するようにするとよい。関連づけは、実施の形態では一段字下げする事により実現している。   Also, when a function is selected by the component selection means, the function block has a function of extracting and displaying an outline of the program inside the function block, and the component of the program inside the extracted function block May be displayed in association with the function block. In the embodiment, the association is realized by indenting one step.

前記アウトライン情報をソートし、ソート後のアウトライン情報を前記アウトライン情報表示部に表示する機能を備えるとよい。ソートすることで、指定された項目単位にまとめることができる。   The outline information may be sorted, and the sorted outline information may be displayed on the outline information display unit. By sorting, it can be grouped into specified items.

構成要素選択手段により選択可能な構成要素を追加登録する構成要素追加手段を備えるとよい。これにより、ユーザは任意の構成要素をアウトライン情報に表示することができるようになる。この構成要素追加手段は、実施の形態では、図38に示すフローチャートを実施する機能や、図37(a)の「追加」ボタンをクリックすることで、図37(b)の追加可能な命令一覧を表示することなどにより実現されている。   It is preferable to include a component addition unit that additionally registers a component that can be selected by the component selection unit. Thereby, the user can display an arbitrary component in the outline information. In the embodiment, this component addition means is a list of instructions that can be added as shown in FIG. 37B by clicking the “Add” button in FIG. 37A or the function for executing the flowchart shown in FIG. It is realized by displaying.

また、構成要素選択手段により選択可能な構成要素を削除する構成要素削除手段を備えるとよい。このようにすると、不必要な構成要素を選択可能な構成要素として表示されることを除去できる。この構成要素削除手段は、実施の形態では、図39に示すフローチャートを実施する機能や、図37(a)の「削除」ボタンクリックすることなどにより実現されている。   Moreover, it is good to provide the component deletion means which deletes the component which can be selected by a component selection means. In this way, it is possible to remove unnecessary components from being displayed as selectable components. In the embodiment, this component element deleting means is realized by a function for executing the flowchart shown in FIG. 39 or by clicking the “delete” button in FIG.

本発明の開発支援装置はまた、上述したアウトライン情報を自動で生成し、登録することができる。さらに、プログラム表示部に表示されたユーザプログラムにおいて選択された命令と同一のオペランドを有する命令を抽出し、その抽出した命令に関する情報を前記表示画面上に設けられたクロスリファレンス情報表示部に表示するクロスリファレンス情報生成手段を備えるとよい。このようにすると、例えば、プログラム表示部に表示されたユーザプログラムの出力命令を選択することにより、クロスリファレンス情報表示部には、その出力命令と同一のオペランドを持つ入力命令等を抽出し表示することができる。これにより、出力命令の影響を受ける入力命令を一覧リストとして表示することができる。   The development support apparatus of the present invention can also automatically generate and register the outline information described above. Further, an instruction having the same operand as the instruction selected in the user program displayed on the program display unit is extracted, and information on the extracted instruction is displayed on the cross-reference information display unit provided on the display screen. Cross reference information generation means may be provided. In this way, for example, by selecting an output instruction of the user program displayed on the program display section, an input instruction having the same operand as the output instruction is extracted and displayed on the cross reference information display section. be able to. Thereby, the input commands affected by the output command can be displayed as a list.

クロスリファレンス情報表示部に表示された所定の命令が選択された際に、その選択された命令が属するユーザプログラムを検知し、その選択された命令を前記プログラム表示部に表示する機能を備えるとよい。このようにすると、クロスリファレンス情報表示部に表示された命令に対応する実際のユーザプログラムを表示することができ、その命令が、プログラム上でどのように他の回路に影響しているかを容易に確認できる。   When a predetermined command displayed on the cross-reference information display unit is selected, it is preferable to have a function of detecting a user program to which the selected command belongs and displaying the selected command on the program display unit. . In this way, it is possible to display the actual user program corresponding to the instruction displayed on the cross-reference information display section, and it is easy to see how the instruction affects other circuits on the program. I can confirm.

さらに、クロスリファレンス情報表示部に表示された1または複数の命令についての情報を記憶保持し、クロスリファレンス情報表示部に表示される情報が切り替った後で、記録保持した情報をクロスリファレンス情報表示部に再表示可能とするとよい。これは、実施の形態におけるブックマーク機能に対応する。このように一旦表示したクロスリファレンス情報を記憶することにより、後で簡単に戻って再表示することができる。   In addition, information about one or more instructions displayed on the cross-reference information display unit is stored and held, and after the information displayed on the cross-reference information display unit is switched, the recorded and held information is displayed as a cross-reference information display. It is good to be able to display again on the part. This corresponds to the bookmark function in the embodiment. By storing the cross-reference information once displayed in this way, it can be easily returned and displayed again later.

本発明のプログラムは、コンピュータを、ユーザプログラムの構成要素のうち、抽出対象の構成要素を受け付ける構成要素選択手段、前記ユーザプログラムの構成要素を先頭から順に走査して、前記構成要素選択手段で受け付けた構成要素を抽出し、その抽出した構成要素にユーザプログラム上での出現順に固有のインデックス番号を付したアウトライン情報を生成するアウトライン情報生成手段、前記生成した前記アウトライン情報を前記出現中に表示する格納するアウトライン情報記憶手段、前記ユーザプログラムを表示する手段、前記生成した前記アウトライン情報を前記出現順に表示する手段、として機能させるものである。 Program of the present invention causes a computer, of the components of the user program, component selection means for accepting the components to be extracted, by scanning the elements of the user program sequentially from the head in the element selection means Outline information generating means for extracting the received constituent elements and generating outline information in which the extracted constituent elements are assigned unique index numbers in the order of appearance in the user program, and the generated outline information is displayed during the appearance Outline information storage means for storing, means for displaying the user program, and means for displaying the generated outline information in the order of appearance.

本発明の処理方法は、プログラマブルコントローラのユーザプログラムを開発するための開発支援装置における処理方法であって、プログラム記憶手段に格納されるユーザプログラムの構成要素のうち、抽出対象の構成要素を受け付ける構成要素選択ステップ、前記プログラム記憶手段に記憶されたユーザプログラムの構成要素を先頭から順に走査して、前記構成要素選択ステップで受け付けた構成要素を抽出し、その抽出した構成要素にユーザプログラム上での出現順に固有のインデックス番号を付したアウトライン情報を生成するアウトライン情報生成ステップ、表示装置のプログラム表示部に前記ユーザプログラムを表示するステップ、前記表示装置のアウトライン情報表示部に前記アウトライン情報を前記出現順に表示するステップ、を実行するようにした。 The processing method of the present invention is a processing method in a development support apparatus for developing a user program of a programmable controller, and is a configuration for receiving a component to be extracted among components of a user program stored in a program storage means The element selection step, the constituent elements of the user program stored in the program storage means are sequentially scanned from the top, the constituent elements received in the constituent element selection step are extracted, and the extracted constituent elements are displayed on the user program Outline information generation step for generating outline information with unique index numbers in order of appearance, step of displaying the user program on a program display unit of the display device, outline information display unit of the display device in the order of appearance of the outline information Step to display It was to be run.

この発明では、プログラム(ユーザプログラム)の中で他の命令に影響を与える出力命令等の所定のプログラム構成要素を簡単に抽出し、アウトライン表示部に表示することができる。しかも、その表示する構成要素をユーザが選択できるため、ユーザが必要とする情報のみを抽出し、表示することができ、使い勝手がよい。   In the present invention, it is possible to easily extract predetermined program components such as output commands that affect other commands in the program (user program) and display them on the outline display unit. In addition, since the user can select the component to be displayed, only the information required by the user can be extracted and displayed, which is convenient.

また、クロスリファレンス情報生成手段を設けたことにより、その出力命令と同じオペランドを持つ他の命令を抽出して表示することができる。これらにより、多数存在する命令の中から問題となる命令を探したり、問題のある出力命令に接続される入力命令が複数あるような場合に、それら複数の入力命令を全て探してチェックしたり、また問題となる出力命令に関係するプログラムを修正した場合に、その出力命令と同じオペランドを持つ入力命令を含むプログラム部分が正常に動作することの確認が漏れなくでき、ユーザプログラムのデバッグを容易に行うことができる。   Further, by providing the cross reference information generating means, other instructions having the same operand as the output instruction can be extracted and displayed. With these, when there are multiple input instructions connected to the problematic output instruction, search for all the multiple input instructions and check for a problem instruction from among many existing instructions, In addition, when a program related to the output instruction in question is corrected, it can be confirmed that the program part including the input instruction having the same operand as the output instruction operates normally, and the user program can be easily debugged. It can be carried out.

図1は、本発明の好適な一実施の形態を示している。開発支援装置10とPLC(CPUユニット)20が、所定の通信回線21を介して接続されている。この通信回線21は、例えば、RS232Cなどのシリアル回線を用いて直接ケーブル接続することにより実現される。もちろん、このように直接接続するものに限ることはなく、他の通信回線を用いネットワーク経由でPLC20と開発支援装置10とを接続する構成を採っても良い。開発支援装置10は、プログラマブルコントローラで実行されるユーザプログラムを作成する機能、通信回線21を介して作成したユーザプログラムをPLC20にダウンロードする機能、プログラマブルコントローラの動作に関する各種のパラメータ等を設定する機能、を持っている。   FIG. 1 shows a preferred embodiment of the present invention. The development support apparatus 10 and a PLC (CPU unit) 20 are connected via a predetermined communication line 21. The communication line 21 is realized by, for example, direct cable connection using a serial line such as RS232C. Of course, it is not limited to such a direct connection, and a configuration in which the PLC 20 and the development support apparatus 10 are connected via a network using another communication line may be adopted. The development support apparatus 10 has a function of creating a user program executed by the programmable controller, a function of downloading a user program created via the communication line 21 to the PLC 20, a function of setting various parameters related to the operation of the programmable controller, have.

ユーザプログラムは、図2に示すようなラダー言語によって記述されたプログラムである。現在のユーザプログラムは、ラダー言語で記述されることが多いが、後述するように、ラダー言語以外のプログラム言語により記述されることもある。   The user program is a program written in a ladder language as shown in FIG. The current user program is often written in a ladder language, but may be written in a program language other than the ladder language, as will be described later.

開発支援装置10は、パソコンに、予めインストールしてあるソフトウェアを起動することにより、上述の機能を実現する。そのハードウエア構成は、キーボード,ポインティングデバイス等の入力装置11と、表示装置12と、中央演算装置13と、記憶装置14とからなる。記憶装置14には図示しないが不揮発性記憶装置と揮発性記憶装置があり、不揮発性記憶装置はユーザプログラムやユーザプログラムのアウトライン情報、クロスリファレンス情報などを記憶する。また中央演算装置13の実行時のワークメモリとして揮発性記憶装置が適宜使用される。   The development support apparatus 10 realizes the above-described functions by starting software installed in a personal computer in advance. The hardware configuration includes an input device 11 such as a keyboard and a pointing device, a display device 12, a central processing unit 13, and a storage device 14. Although not shown, the storage device 14 includes a nonvolatile storage device and a volatile storage device, and the nonvolatile storage device stores a user program, outline information of the user program, cross-reference information, and the like. Further, a volatile storage device is appropriately used as a work memory when the central processing unit 13 is executed.

図3は、図1の中央演算装置13、記憶装置14を使って実現される本発明の開発支援装置10の機能ブロック図である。開発支援装置10は、入力装置11からの入力を処理する入力処理部31、表示装置12に出力する表示データを作成する表示処理部32、各機能を実行する演算部33、演算結果やユーザプログラム等を格納する記憶部34、PLCとの通信を処理する通信処理部35からなる。演算部33はユーザプログラム編集部33a、アウトライン情報生成部33b、クロスリファレンス情報生成部33cを含む。また記憶部34はユーザプログラム記憶部34a、アウトライン情報記憶部34b、クロスリファレンス情報記憶部34cを含む。   FIG. 3 is a functional block diagram of the development support apparatus 10 of the present invention realized by using the central processing unit 13 and the storage device 14 of FIG. The development support apparatus 10 includes an input processing unit 31 that processes input from the input device 11, a display processing unit 32 that generates display data to be output to the display device 12, a calculation unit 33 that executes each function, a calculation result, and a user program. And the like, and a communication processing unit 35 for processing communication with the PLC. The calculation unit 33 includes a user program editing unit 33a, an outline information generation unit 33b, and a cross reference information generation unit 33c. The storage unit 34 includes a user program storage unit 34a, an outline information storage unit 34b, and a cross reference information storage unit 34c.

図4は、表示装置12に表示される表示画面を示している。図示するように、ラダープログラムその他のプログラム言語で記述されたユーザプログラムを表示するプログラム表示部12aと、ユーザプログラムの構成を示すアウトライン情報を表示するアウトライン情報表示部12bと、指定された命令のオペランドと同一のオペランドを持つ命令についての情報を表示するクロスリファレンス情報表示部12cを備えている。具体的には図9,図10,図13,図14などを用いて後述するが、本実施の形態では命令のオペランドに相当する接点番号やメモリ番号にそれぞれ対応させて変数名をつけることができ、変数名を用いたプログラム編集が可能となっている。変数名を用いたプログラム編集が可能であることにより、プログラム表示部12a、アウトライン情報表示部12b、クロスリファレンス情報表示部12cにもオペランドを変数名で表示することもできる。もちろん、このような変数名を利用せずに、接点番号や、メモリ番号を利用して表示してもよい。   FIG. 4 shows a display screen displayed on the display device 12. As shown in the figure, a program display unit 12a for displaying a user program written in a ladder program or other program language, an outline information display unit 12b for displaying outline information indicating the configuration of the user program, and an operand of a designated instruction Is provided with a cross-reference information display unit 12c for displaying information on an instruction having the same operand. Specifically, as will be described later with reference to FIG. 9, FIG. 10, FIG. 13, FIG. 14, etc., in this embodiment, variable names can be assigned in correspondence with contact numbers and memory numbers corresponding to instruction operands. It is possible to edit programs using variable names. Since program editing using variable names is possible, operands can also be displayed with variable names on the program display unit 12a, outline information display unit 12b, and cross-reference information display unit 12c. Of course, you may display using a contact number or a memory number, without using such a variable name.

アウトライン情報表示部12bに表示するアウトライン情報は、アウトライン情報生成部33bが作成し、記憶部34内のアウトライン情報記憶部34bに格納する。そして、表示処理部32は、プログラム表示部12aに表示されているユーザプログラムについてのアウトライン情報をアウトライン情報表示部12bに表示する。   Outline information to be displayed on the outline information display unit 12 b is created by the outline information generation unit 33 b and stored in the outline information storage unit 34 b in the storage unit 34. And the display process part 32 displays the outline information about the user program currently displayed on the program display part 12a on the outline information display part 12b.

アウトライン情報は、ユーザプログラムの構成の概要を示す情報のことであり、ユーザプログラムに使用されている所定の構成要素をそのユーザプログラムの先頭から順に抽出したものである。図2に示すラダープログラムのアウトライン情報は一例として、図5のように表示される。このように、アウトライン情報をアウトライン情報表示部12bに表示する際には、ユーザプログラム(この例では、ラダープログラム(以下、同じ))の先頭から出現順に所定の構成要素を配列するとともに、複数の命令の集合体である回路部品については一列右に字下げしてツリー状に表示する。デバッグ作業者は、このアウトライン情報を見ることにより、抽出した各構成要素がそのラダープログラム中にどんな順番で、どの位置に存在しているかを認識することができる。   The outline information is information indicating an outline of the configuration of the user program, and predetermined constituent elements used in the user program are extracted in order from the top of the user program. The outline information of the ladder program shown in FIG. 2 is displayed as shown in FIG. 5 as an example. As described above, when the outline information is displayed on the outline information display unit 12b, predetermined components are arranged in the order of appearance from the top of the user program (in this example, a ladder program (hereinafter, the same)), and a plurality of components are arranged. Circuit parts that are a collection of instructions are indented to the right of one column and displayed in a tree shape. By viewing this outline information, the debug operator can recognize in what order and in which position each extracted component is present in the ladder program.

アウトライン情報表示部に表示するラダープログラムの構成要素は、固定ではなく選択可能である。本実施の形態では、出力命令,コメント,エンド,ファンクションブロック(FB),インターロック/インターロッククリア,回路部品の開始および終了を選択している。他の例として、出力命令のみを選択した場合には、ラダープログラム中の出力命令だけを抽出し、先頭から出現順に配列して表示する。   The components of the ladder program displayed on the outline information display section can be selected instead of being fixed. In this embodiment, an output command, a comment, an end, a function block (FB), an interlock / interlock clear, and a circuit component start and end are selected. As another example, when only the output command is selected, only the output command in the ladder program is extracted, arranged in the order of appearance from the top, and displayed.

アウトライン情報生成部33bは、アウトライン情報生成命令を受けると、対象となったラダープログラムの先頭から構成要素をひとつずつ走査し、予め抽出対象として選択した構成要素があると、それを抽出するとともに、順次登録し、階層構造を持つアウトライン情報を生成する。図6に本発明の前提の一つとなるアウトライン生成部のフローチャートを示す。すなわち、プログラムの先頭から順に走査し、構成要素があったならば(S10でYes)その構成要素を取得する(S11)。ここではラダープログラムで使用されているすべての構成要素を取得する。そして、取得した構成要素が抽出対象構成要素か否かを判断する(S12)。S11で取得した構成要素が抽出対象の構成要素でなければ、分岐判断はNoとなる。そして、対象構成要素でない場合には、次の構成要素を探すために、走査の続きを行う(S20)。次の構成要素がない場合にはS10の分岐判断がNoとなるので、処理を終了する。   When the outline information generation unit 33b receives the outline information generation command, the outline information generation unit 33b scans the component elements one by one from the top of the ladder program that is the target, and extracts the component elements that are selected in advance as extraction targets, Register sequentially, and generate outline information with a hierarchical structure. FIG. 6 shows a flowchart of the outline generation unit which is one of the premise of the present invention. That is, scanning is performed in order from the top of the program, and if there is a component (Yes in S10), the component is acquired (S11). Here, all the components used in the ladder program are acquired. And it is judged whether the acquired component is an extraction object component (S12). If the component acquired in S11 is not the component to be extracted, the branch determination is No. If it is not the target component, scanning is continued to search for the next component (S20). If there is no next component, the branch determination in S10 is No, and the process ends.

一方、取得した構成要素が対象構成要素である場合は、さらに「回路部品の開始または終了」か「回路部品以外」かを判断する(S12)。回路部品以外の場合には、それぞれの構成要素に対応するアイコンを取得し(S13)、ツリーに登録する(S14)。   On the other hand, if the acquired component is the target component, it is further determined whether it is “start or end of circuit component” or “other than circuit component” (S12). If it is not a circuit component, an icon corresponding to each component is acquired (S13) and registered in the tree (S14).

対応するアイコンは、構成要素の種類ごとに異なるとし、各構成要素とアイコンの対応関係は、予めテーブルを作成し、記憶装置14に登録しておく。例えば抽出した構成要素が出力命令の場合には電球のようなマークとし、コメントの場合にはしおりのようなマークとする。これにより、S13の処理では取得した命令の種類を認識し、上記テーブルを参照して、対応するアイコンを取得することになる。また、ツリーへの登録は、現在の階層の一行下に追加する。   Assume that the corresponding icons differ for each type of component, and the correspondence between each component and icon is created in advance in a table and registered in the storage device 14. For example, if the extracted component is an output command, a mark like a light bulb is used, and if it is a comment, a mark like a bookmark is used. Thereby, in the process of S13, the type of the acquired command is recognized, and the corresponding icon is acquired by referring to the table. Also, registration in the tree is added one line below the current hierarchy.

ツリーに登録する情報としては、アイコンと、インデックス番号と、ステップ番号と、変数名である。ここでインデックス番号とは、ラダープログラム上でユニークに存在する番号であり、各命令はもちろんのこと、ステップ番号が付与されないコメントに対しても昇順に設定される。デバッグ作業者は、ラダープログラム内において、インデックス番号を特定すると、任意の命令,コメントを一意に特定することができる。   Information to be registered in the tree includes an icon, an index number, a step number, and a variable name. Here, the index number is a number that uniquely exists in the ladder program, and is set in ascending order not only for each command but also for a comment that is not assigned a step number. When the debug operator specifies the index number in the ladder program, it can uniquely specify an arbitrary instruction and comment.

一方、取得した命令が回路部品の開始または終了の場合には、回路部品の開始か否かを判断し(S15)、開始の場合には、回路部品のアイコンを取得するとともに(S16)、ツリーに登録する(S17)。このツリーへの登録処理は、S14の処理と同様である。その後、ツリーを一列右に字下げをする(S18)。そして、S20(次の構成要素へ進む)を経由してS10に戻る。これにより、これ以降に検出された構成要素についてのツリーの登録(S14の処理)は、この字下げしたツリーの下に追加されることになり、回路部品に属する構成要素であることが一目で分かる。   On the other hand, if the acquired command is the start or end of the circuit component, it is determined whether or not the circuit component is started (S15). If it is started, an icon of the circuit component is acquired (S16), and the tree (S17). This tree registration process is the same as the process of S14. Thereafter, the tree is indented to the right by one column (S18). Then, the process returns to S10 via S20 (proceeds to the next component). As a result, the registration of the tree for the components detected thereafter (the process of S14) is added under the indented tree, and it is at a glance that the component belongs to the circuit component. I understand.

また、取得した構成要素(命令)が、回路部品の終了の場合には、S15の分岐判断はNoとなるのでS19に進み、ツリーの字下げを解除し(S19)、S20(次の構成要素へ進む)を経由してS10に戻る。これにより、これ以降に検出された構成要素(命令等)は、元(字下げされた1つ前、つまり1つ上位の階層)のツリーに追加されることになる。
このように、プログラムの先頭から出現順に走査して処理することにより、プログラム上で出現する順番通りに、ツリーの上から順に構成要素を登録することができる。
If the acquired component (command) is the end of the circuit component, the branch determination in S15 is No, so the process proceeds to S19, the indentation of the tree is canceled (S19), and S20 (next component) Go to step S10. As a result, the constituent elements (commands and the like) detected after this are added to the original tree (the one before the indentation, that is, the hierarchy one level higher).
Thus, by scanning and processing in the order of appearance from the top of the program, the components can be registered in order from the top of the tree in the order in which they appear in the program.

次に、具体例に基づき各処理を説明する。例えば、処理対象のラダープログラムが図2(ラダー図表示)のようになっているとすると、その構成要素リストは図7のようになる。各図において、丸数字がそれぞれ対応する対象構成要素である。図7に示すように、ステップ番号は、命令の先頭から出現する順番で、0番から昇順した番号を付与する。命令に付与されるため、コメントには付与されない。そこで、上述したごとく図7に示すようにプログラムの構成要素(命令,コメントなど)に対して出現順に昇順でインデックス番号を付与した。また、図2において、9行目から15行目は1つの回路部品(部品名が[parts1])である。   Next, each process will be described based on a specific example. For example, if the ladder program to be processed is as shown in FIG. 2 (ladder diagram display), the component list is as shown in FIG. In each figure, a circled number is a corresponding target component. As shown in FIG. 7, step numbers are given in ascending order from 0 in the order of appearance from the top of the instruction. Since it is given to the command, it is not given to the comment. Therefore, as described above, index numbers are assigned in ascending order to the program components (commands, comments, etc.) as shown in FIG. In FIG. 2, the 9th to 15th lines are one circuit component (part name is [parts1]).

係るラダープログラムに対応した構成要素リスト(図7)に対して、先頭の命令から順に処理すると、最初の構成要素(Index000000)は、入力命令であるので、S12でNoとなる。次のIndex000001の構成要素は出力命令(OUT)であるので、S12でYesとなり、対応するアイコン(電球マーク)を取得し(S13)、S14の処理を実行し、ツリーへ登録する。これにより、図5に示すように1行目に「アイコン,ステップ番号(000001),変数名(b)」が追加される。次の構成要素(ステップ番号無し,Index000002)はコメントであるのでS12でYesとなり、対応するアイコン(しおりマーク)を取得し(S13)、S14の処理を実行しツリーへ登録する。これにより、図5に示すように、2行目に「アイコン,コメント」(ステップ番号はないので非表示)が追加される。   When the component list corresponding to the ladder program (FIG. 7) is processed in order from the first command, the first component (Index000000) is an input command, so No in S12. Since the next component of Index000001 is an output command (OUT), the answer is YES in S12, the corresponding icon (light bulb mark) is acquired (S13), the process of S14 is executed, and registered in the tree. As a result, “icon, step number (000001), variable name (b)” is added to the first line as shown in FIG. Since the next component (no step number, Index000002) is a comment, the answer is YES in S12, the corresponding icon (bookmark mark) is acquired (S13), the process of S14 is executed and registered in the tree. Thereby, as shown in FIG. 5, “icon, comment” (not displayed because there is no step number) is added to the second line.

以下順次処理し、例えば、Index00000Aでは、構成要素は回路部品の開始であるため、S15からS17の処理をすることにより、図5に示すように、7行目に「回路部品名([parts1])」が追加される。そして、S18の実行によりツリーが一列右に字下げされるため、その次に検出された対象構成要素であるIndex00000Bのコメント(「*comment2*」)が、8行目に追加されるが、このとき、7行目の[parts1]の下に字下げされて表示される。以降検出された構成要素は、回路部品の終了を示すIndex000013のPARTS_ENDにてS19を実行しツリーの字下げが解除されるまで、全て一列右に字下げされて表示される。   For example, in Index 00000A, the constituent element is the start of a circuit component. Therefore, by performing the processing from S15 to S17, as shown in FIG. 5, "circuit component name ([parts1]" ) ”Is added. Then, since the tree is indented to the right by one line by executing S18, the comment (“* comment2 *”) of Index00000B that is the next detected target component is added to the eighth line. Is displayed indented under [parts1] on the seventh line. The components detected thereafter are all displayed indented to the right by one line until S19 is executed in PARTS_END of Index 000013 indicating the end of the circuit component and the indentation of the tree is released.

ツリーの字下げが解除されたあと、Index000015のファンクションブロック(「FB1 inst1」)が、図5の13行目に追加される。そして、Index000017のEND命令についてS14の処理を実行してツリーに追加すると、それ以降は構成要素がないのでS10の分岐判断がNoとなり処理を終了することになる。   After the indentation of the tree is released, a function block (“FB1 inst1”) of Index000015 is added to the 13th line in FIG. Then, when the processing of S14 is executed for the END instruction of Index000017 and added to the tree, since there is no component thereafter, the branch determination of S10 becomes No and the processing is terminated.

上記のようにして生成されたアウトライン情報は、アウトライン情報記憶部34bに格納される。そして、アウトライン情報表示部12bにツリー状に表示されるアウトライン情報を見ると、他の命令に影響を与える出力命令やコメントなどが、プログラムにおける出現順に配置されるとともに、回路部品は字下げ表示により階層的に表示されるため、各構成要素のプログラム中のおおよその存在位置などが一目で分かる。   The outline information generated as described above is stored in the outline information storage unit 34b. When the outline information displayed in a tree shape on the outline information display unit 12b is viewed, output instructions and comments that affect other instructions are arranged in the order of appearance in the program, and circuit components are displayed in an indented display. Since it is displayed hierarchically, the approximate location of each component in the program can be seen at a glance.

次にプログラム表示部12aに表示されるラダープログラムと、アウトライン情報表示部12bに表示されるツリー状のアウトライン情報の連動について説明する。すなわち、アウトライン情報表示部12bに表示されたツリー状のアウトライン情報の中から任意の構成要素を選択すると、それに対応したラダープログラムの該当する構成要素を表示するようになる。具体的には、図8に示すフローチャートを実施する機能により、係る連動させることを実現している。   Next, the linkage between the ladder program displayed on the program display unit 12a and the tree-shaped outline information displayed on the outline information display unit 12b will be described. That is, when an arbitrary component is selected from the tree-like outline information displayed on the outline information display unit 12b, the corresponding component of the ladder program corresponding to the selected component is displayed. Specifically, the interlocking is realized by the function of executing the flowchart shown in FIG.

すなわち、アウトライン情報表示部12b内のカーソル位置の登録情報を取得する(S21)。これは、例えばユーザは、ポインティングデバイス等の入力装置11を操作して、ツリー状のリストの中で任意の構成要素を選択する。すると、選択された構成要素を認識し、アウトライン情報記憶部34bにアクセスしアウトライン情報の中からインデックス番号を取得する。   That is, the registration information of the cursor position in the outline information display part 12b is acquired (S21). For example, the user operates the input device 11 such as a pointing device to select an arbitrary component in the tree-like list. Then, the selected component is recognized, the outline information storage unit 34b is accessed, and the index number is acquired from the outline information.

次いで、現在プログラム表示部12aに表示されているラダー画面を表示する表示処理部32に対し、ジャンプ依頼をする(S22)。つまり、インデックス番号を渡す。そして、そのインデックス番号を取得したならば、プログラム表示部12aに表示されたラダープログラムの該当位置にジャンプする(S23)。すなわち、取得したインデックス番号をキーにユーザプログラム記憶部34aにアクセスし、該当する構成要素を認識する。そして、その構成要素が、現在プログラム表示部12aに表示されている場合には、対応する構成要素にカーソルを移動する。また、プログラム表示部12aに表示されていない場合には、該当する構成要素をプログラム表示部12a内に表示するとともに、その構成要素にカーソルを移動する。   Next, a jump request is made to the display processing unit 32 that displays the ladder screen currently displayed on the program display unit 12a (S22). In other words, the index number is passed. If the index number is acquired, the program jumps to the corresponding position of the ladder program displayed on the program display unit 12a (S23). That is, the user index storage unit 34a is accessed using the acquired index number as a key, and the corresponding component is recognized. If the component is currently displayed on the program display unit 12a, the cursor is moved to the corresponding component. If not displayed on the program display unit 12a, the corresponding component is displayed in the program display unit 12a and the cursor is moved to the component.

これにより、例えば、図9に示すように、アウトライン情報表示部12bのツリーの中で、「ステップ番号:00007,変数名:Complete1」が選択すれると、プログラム表示部12aにおいても対応する出力命令(変数名:Complete1)にカーソルが当てられる(反転表示している)。この状態で、アウトライン情報表示部12bのツリーの中で、「ステップ番号:00010,変数名:Complete2」が選択すれると、図10に示すように、プログラム表示部12aにおいても対応する出力命令(変数名:Complete2)にカーソルが移動する。   Thus, for example, as shown in FIG. 9, when “step number: 00007, variable name: Complete1” is selected in the tree of the outline information display unit 12b, the corresponding output command is also displayed in the program display unit 12a. The cursor is placed on (variable name: Complete1) (highlighted). In this state, when “step number: 00010, variable name: Complete2” is selected in the tree of the outline information display unit 12b, as shown in FIG. 10, a corresponding output command ( The cursor moves to variable name: Complete2).

次に、クロスリファレンス情報表示部12cに表示するクロスリファレンス情報について説明する。クロスリファレンス情報表示部12cには、プログラム表示部12aに表示されたラダープログラム中の所定の構成要素を選択すると、その構成要素と同一のオペランド(変数名)を持つ構成要素を抽出し、それをクロスリファレンス情報表示部12cに表示する。係る処理は、ユーザプログラム編集部33aが、図11に示すフローチャートを実行することにより得られた情報に基づき、図11に示すフローチャートをクロスリファレンス情報生成部33cが実行することにより行なう。図11でまず、プログラム表示部12aに表示されたユーザプログラム画面(図ではラダー画面)上でカーソルを移動する(S31)。移動したカーソルのカーソル位置が、オペランド部か否かを判断し(S32)、オペランド部の場合には、そのカーソル位置にある構成要素についてのプログラム名,ステップ番号,オペランド(変数名)をクロスリファレンス情報生成部33cに渡す(S33)。   Next, cross reference information displayed on the cross reference information display unit 12c will be described. When a predetermined component in the ladder program displayed on the program display unit 12a is selected, the cross reference information display unit 12c extracts a component having the same operand (variable name) as the component, It displays on the cross reference information display part 12c. This process is performed by the cross-reference information generation unit 33c executing the flowchart shown in FIG. 11 based on the information obtained by the user program editing unit 33a executing the flowchart shown in FIG. In FIG. 11, first, the cursor is moved on the user program screen (the ladder screen in the figure) displayed on the program display unit 12a (S31). It is determined whether or not the cursor position of the moved cursor is the operand part (S32). If it is the operand part, the program name, step number, and operand (variable name) for the component at the cursor position are cross-referenced. It passes to the information generation part 33c (S33).

図12に示すように、ユーザプログラム編集部33aから所定の情報を取得すると(S40)、オペランド(変数名)がグローバル変数か否かを判断する(S41)。グローバル変数とは複数のPLCで共通に使用される変数のことである。グローバル変数か否かは、オペランド(変数名)の前に付加されたパスにより判断できる。例えば、グローバル変数のパスは、「プロジェクト名¥コンフィグレーション名¥変数名」となる。また、特定のPLCでのみ使用されるローカル変数(タスク)の場合は、「プロジェクト名¥コンフィグレーション名¥タスク名¥変数名」となる。このように、グローバル変数かローカル変数かにより、パスが異なるので、容易に判断できる。   As shown in FIG. 12, when predetermined information is acquired from the user program editing unit 33a (S40), it is determined whether or not the operand (variable name) is a global variable (S41). A global variable is a variable that is commonly used by a plurality of PLCs. Whether it is a global variable or not can be determined by the path added before the operand (variable name). For example, the path of the global variable is “project name \ configuration name \ variable name”. Further, in the case of a local variable (task) used only in a specific PLC, “project name \ configuration name \ task name \ variable name”. Thus, since the path differs depending on whether it is a global variable or a local variable, it can be easily determined.

グローバル変数の場合には、パスで指定されるプログラムが存在するか否かを判断し(S42)、存在しなければそこで処理を終了し、存在する場合には、プログラムを取得する(S43)。   In the case of a global variable, it is determined whether or not the program specified by the path exists (S42). If it does not exist, the process is terminated, and if it exists, the program is acquired (S43).

取得したプログラムを先頭の命令から順に走査し、命令が存在するか否かを判断する(S44)。そして、命令を検出したならば、その命令を取得し(S45)、その命令のオペランド(変数名)と、ラダーエディタから取得したオペランド(変数名)が一致するか否かを判断する(S46)。そして、一致する場合には、そのプログラムがタスク実行中か否かを判断し(S47)、実行の有無により対応するアイコンを取得する(S48,S49)。その後、その命令についてのクロスリファレンス情報を登録する(S50)。ここで登録する情報としては、少なくともオペランド(変数名),アドレス,言語,パス,タスク実行状態,ステップ番号である。   The acquired program is scanned in order from the head instruction to determine whether or not the instruction exists (S44). If an instruction is detected, the instruction is acquired (S45), and it is determined whether or not the operand (variable name) of the instruction matches the operand (variable name) acquired from the ladder editor (S46). . If they match, it is determined whether or not the program is executing a task (S47), and a corresponding icon is acquired depending on whether or not it is executed (S48, S49). Thereafter, the cross reference information for the instruction is registered (S50). Information to be registered here includes at least an operand (variable name), an address, a language, a path, a task execution state, and a step number.

この登録後、或いは処理ステップS46の分岐判断でオペランド(変数名)が一致しない場合には、次の命令へ進む(S51)。最後の命令まで処理すると、S44の分岐判断がNoとなるので、処理ステップS52に飛び、次のプログラムを走査する。このようにして、全てのプログラムに付いてオペランド(変数名)が一致する命令の抽出・登録処理を終了したならば、処理ステップS42の分岐判断がNoとなるので一連の処理を終了する。   After this registration, or if the operand (variable name) does not match in the branching determination in processing step S46, the process proceeds to the next instruction (S51). When the last instruction is processed, the branch determination in S44 is No, so that the process jumps to step S52 and the next program is scanned. In this way, when the extraction / registration processing of the instruction having the same operand (variable name) is completed for all the programs, the branch determination in processing step S42 is No, and the series of processing is terminated.

一方、グローバル変数でない場合には、処理ステップS41の分岐判断がNoとなるので、パスにて指定されたプログラムが存在するか否かを判断し(S53)、存在しない場合には、処理を終了する。また、存在する場合には、そのプログラムについて処理ステップS43から処理ステップS51までの処理を実行し、そのプログラム中に存在するオペランド(変数名)が一致する命令を取得するともに、関連する情報(アイコン,クロスリファレンス情報)を登録する。なお、プログラムの最後まで走査したならば、処理ステップS44の分岐判断はNoとなるが、その場合は処理を終了する(S54)。   On the other hand, if it is not a global variable, the branch determination in processing step S41 is No, so it is determined whether or not the program specified by the path exists (S53). To do. If it exists, the processing from processing step S43 to processing step S51 is executed for the program, and an instruction with an operand (variable name) that exists in the program is acquired, and related information (icon , Cross-reference information). If the program has been scanned to the end, the branching determination in process step S44 is No, but in this case, the process ends (S54).

これらのクロスリファレンス情報等は、記憶装置4内の一時ファイルに格納されるとともに、例えば図13に示すように、クロスリファレンス情報表示部に表示される。図13では、プログラム表示部12aに表示されたユーザプログラム画面(ラダー画面)中の変数名がComplete1の出力命令が選択されたため、同一の変数名を持つ入力命令等として4つの命令が抽出され、表示された例を示している。   The cross reference information and the like are stored in a temporary file in the storage device 4 and displayed on a cross reference information display unit as shown in FIG. 13, for example. In FIG. 13, since the output command whose variable name is Complete 1 in the user program screen (ladder screen) displayed on the program display unit 12a is selected, four commands are extracted as input commands having the same variable name, A displayed example is shown.

この状態から、クロスリファレンス情報表示部12cに表示された任意の変数名(例えば、図14に示すように、2行目の変数名)を選択すると、該当する変数名(命令)を含むプログラムをプログラム表示部12aに表示する。このとき、カーソルを当てた強調表示することにより、ユーザに容易に理解させることができる。   From this state, when an arbitrary variable name displayed on the cross-reference information display unit 12c (for example, the variable name on the second line as shown in FIG. 14) is selected, a program including the corresponding variable name (instruction) is selected. It displays on the program display part 12a. At this time, it is possible to make the user easily understand by highlighting the cursor.

係る処理を行うための機能は、図15に示すフローチャートを実行するようなる。まずクロスリファレンス情報表示部12c上のカーソル位置を取得する(S61)。このカーソル位置は、図では、選択されて反転表示されている位置である。そして、そのカーソルで選択された変数名のパス情報から、その変数名が属するプログラムを探索し(S62)、プログラム表示部12aにプログラムが表示されているか否かを判断する(S63)。プログラムが表示されていない場合には、処理ステップS62で探索したプログラムを表示する(S64)。   The function for performing such processing executes the flowchart shown in FIG. First, the cursor position on the cross reference information display unit 12c is acquired (S61). This cursor position is a position selected and highlighted in the figure. Then, from the path information of the variable name selected by the cursor, a program to which the variable name belongs is searched (S62), and it is determined whether or not the program is displayed on the program display unit 12a (S63). If the program is not displayed, the program searched in process step S62 is displayed (S64).

そして、プログラム表示部12aに表示された対応するプログラムにジャンプし(S65)、そのプログラム中の該当する命令位置にジャンプする(S66)。この処理ステップS66の処理は、図8における処理ステップS23の処理と同様である。これにより、該当する命令をプログラム表示部12a上に表示するとともに、カーソルを移動し、強調して表示する。   Then, the program jumps to the corresponding program displayed on the program display unit 12a (S65), and jumps to the corresponding command position in the program (S66). The processing in step S66 is the same as the processing in step S23 in FIG. As a result, the corresponding command is displayed on the program display unit 12a, and the cursor is moved and highlighted.

また、クロスリファレンス情報表示部12cに表示する情報は、プログラム表示部12aに表示されたユーザプログラム(ラダープログラム)中の選択された構成要素(命令)に対応してクロスリファレンス情報生成部33cが都度生成し、表示する。従って、現在クロスリファレンス情報表示部12cに表示されていない構成要素がプログラム表示部12a側で選択されると、クロスリファレンス情報表示部12cに表示されるクロスリファレンス情報も変化する。ここでユーザは1つ前に表示していた情報に簡単に戻ることができない。実際のデバッグ処理では、1つ前さらには何回か前の表示に戻したいという要求があるが、従来は係る要求を満たすことができなかった。   The information displayed on the cross reference information display unit 12c is generated by the cross reference information generation unit 33c each time corresponding to the selected component (command) in the user program (ladder program) displayed on the program display unit 12a. Generate and display. Therefore, when a component not currently displayed on the cross reference information display unit 12c is selected on the program display unit 12a side, the cross reference information displayed on the cross reference information display unit 12c also changes. Here, the user cannot easily return to the previously displayed information. In the actual debugging process, there is a request to return to the previous display one time or several times before, but conventionally, such a request could not be satisfied.

そこで、図4に示すように、クロスリファレンス情報表示部13cの上部に、ブックマークボタンB1と、後退ボタンB2と、前進ボタンB3を用意した。ブックマークボタンB1をクリックしたときに表示されていたクロスリファレンス情報を記憶装置14に記憶保持する機能を備えた。記憶装置14に記憶保持されたクロスリファレンス情報は、記憶した順に番号を付与する。これにより、後退ボタンB1を選択実行する都度、番号を参照し、現在表示されているクロスリファレンス情報の1つ前に表示(格納)されたクロスリファレンス情報を記憶装置14から呼び出して表示する。また、前進ボタンB3をクリックすることにより、番号を参照し、現在表示されているクロスリファレンス情報の次に表示(格納)されたクロスリファレンス情報を記憶装置14から呼び出して表示する。   Therefore, as shown in FIG. 4, a bookmark button B1, a backward button B2, and a forward button B3 are prepared in the upper part of the cross reference information display unit 13c. The memory device 14 has a function of storing and holding the cross-reference information displayed when the bookmark button B1 is clicked. The cross reference information stored and held in the storage device 14 is numbered in the order in which it is stored. Thus, each time the backward button B1 is selected and executed, the number is referred to and the cross-reference information displayed (stored) immediately before the currently displayed cross-reference information is called from the storage device 14 and displayed. Further, by clicking the forward button B3, the number is referred to, and the cross-reference information displayed (stored) next to the currently displayed cross-reference information is called from the storage device 14 and displayed.

このように、クロスリファレンス情報の表示履歴を逐次表示することができ、所望のクロスリファレンス情報を簡単に見ることができるため、ラダー言語その他のプログラム言語で記述されたユーザプログラムのデバッグ作業を容易に行うことができる。   In this way, the display history of the cross-reference information can be displayed sequentially, and the desired cross-reference information can be easily viewed, making it easy to debug user programs written in ladder languages or other programming languages. It can be carried out.

上述した例では、アウトライン情報表示部12bに表示する構成要素のうち、回路部品については、その前記回路部品の構成要素について字下げを行ない、リストに追加するように表示することで、一目で各構成要素が同一の回路部品を構成していることが分かるようにしている。   In the above-described example, among the components displayed on the outline information display unit 12b, circuit components are indented with respect to the components of the circuit components and displayed so as to be added to the list. It is understood that the constituent elements constitute the same circuit component.

一方、ファンクションブロックは、予め定められた所定の処理を実行するものであるが、図2にも示すように、ラダープログラム上では、1つのブロックとして記述され、内部にてどのような処理が実行されるようにプログラムが組まれているかが分からないようになっている。ユーザプログラムの作成等の通常の使用においては、少なくともそのファンクションブロックがどのような機能を持っているかを知っていれば、足りる。しかし、デバッグ等を行なう場合には、ファンクションブロックの構成要素を知りたいという要求がある。そこで、上述した他の構成要素と同様に、ファンクションブロックを構成するプログラム中に抽出対象として選択した構成要素があると、それを抽出するとともに、順次登録し、階層構造を持つアウトライン情報を生成する。この時、回路部品と同様に、一つのファンクションブロックを構成する構成要素は、一纏めに管理し、アウトライン情報を表示する際には、適宜字下げを行ない、一目でそのファンクションブロックを構成する構成要素であることが分かるようにしている。   On the other hand, the function block executes predetermined predetermined processing. As shown in FIG. 2, the function block is described as one block on the ladder program, and what processing is executed internally. I don't know if the program is organized. In normal use such as creation of a user program, it is sufficient to know at least what function the function block has. However, when performing debugging or the like, there is a request to know the components of the function block. Therefore, as with the other components described above, if there is a component selected as an extraction target in the program that constitutes the function block, it is extracted and registered sequentially to generate outline information having a hierarchical structure. . At this time, as in the case of circuit components, the components that make up one function block are managed together, and when displaying outline information, the indentation is performed appropriately and the components that make up the function block at a glance It is made to understand that.

ファンクションブロックの場合も、基本的には回路部品と同様であり、その概略を説明すると、以下の手順に従って処理を実行する。まず、ユーザプログラムを先頭から順に走査し、ファンクションブロックを検出したならば、以下に示す手順に従い、ファンクションブロックの再入処理を行なう。
(1)ファンクションブロックのアイコンを取得する;
(2)ファンクションブロックをツリー/リストに登録する;
(3)字下げを行なう;
(4)現在の構成要素群をスタック上に格納する;
(5)ファンクションブロックに構成要素を置換える。
The function block is basically the same as the circuit component, and the outline thereof will be described. The process is executed according to the following procedure. First, when the user program is scanned in order from the top and a function block is detected, a function block reentry process is performed according to the following procedure.
(1) Get the function block icon;
(2) Register the function block in the tree / list;
(3) Indentation;
(4) Store the current component group on the stack;
(5) Replace components with function blocks.

また、現在処理中のファンクションブロックからの復帰処理は、以下の手順に従い行なう。
(11)スタック上を確認し、スタックが空ならば、終了と判断する;
(12)スタック上から格納されている構成要素群を取得する;
(13)字下げを解除する。
The return processing from the function block currently being processed is performed according to the following procedure.
(11) Check on the stack, and if the stack is empty, determine that the process is finished;
(12) Acquire a component group stored on the stack;
(13) Cancel the indentation.

また、ファンクションブロック中にさらにファンクションブロックが存在する場合には、上記の(3)の処理により、現在のファンクションブロックの次からネストするため、字下げされる。そして、(4),(5)の処理を実行し、現在処理中(ファンクションブロックの中のファンクションブロック)についての構成要素群をスタックに格納し、当該ファンクションブロックのプログラムをメモリ上にロードしてアウトラインを同じように作成する。そして、当該ファンクションブロックについての必要な構成要素が抽出されたならば、字下げを解除する(当該ファンクションブロックのネストを解除し、呼び出し元にリンクさせて登録していく。)。最上位(親)のファンクションブロックについて、全ての構成要素が抽出された(構成要素の末端まできた)ならば、最上位(親)のファンクションブロックについての字下げが解除され、復帰する。   Further, when there are further function blocks in the function block, indentation is performed to nest from the next of the current function block by the process (3). Then, the processing of (4) and (5) is executed, the component group for the current processing (function block in the function block) is stored in the stack, and the program of the function block is loaded onto the memory. Create an outline the same way. Then, when necessary constituent elements for the function block are extracted, the indentation is canceled (the function block is unnested and registered by being linked to the caller). If all the components have been extracted for the highest-level (parent) function block (the end of the component has been reached), the indentation for the highest-level (parent) function block is canceled and the process returns.

次に、具体例を挙げつつ説明する。図16は、ラダー言語で記述された別のユーザプログラムの一例を示している。この図16に示した例では、ファンクションブロックとして、[FB1],[FB2],[FB3]の3つが使用されている。それら各ファンクションブロックの具体的な内部プログラムは、それぞれ図17(a),図18(a),(b)に示すようになっている。さらに、図17(a)に示すように、ファンクションブロック[FB1]は、内部にさらに別のファンションブロック[FB11](図17(b)参照)を備えている。このように、ファンクションブロックの中にさらにファンクションブロックが存在する場合、その内部に存在するファンクションブロックについても、上述した再入処理と復帰処理を行なうことになる。   Next, a specific example will be described. FIG. 16 shows an example of another user program written in a ladder language. In the example shown in FIG. 16, three function blocks [FB1], [FB2], and [FB3] are used. Specific internal programs of these function blocks are as shown in FIGS. 17A, 18A and 18B, respectively. Further, as shown in FIG. 17A, the function block [FB1] further includes another function block [FB11] (see FIG. 17B). As described above, when there are further function blocks in the function block, the above-described reentry process and return process are also performed for the function block existing in the function block.

また、この図16に示したユーザプログラムには、たとえば、ステップ番号[000008]の「MOV」や、ステップ番号[000018]の「TIMX」の構成要素も記述されている。これらの構成要素は、上述した例では、アウトライン情報として表示する構成要素とはなっていないため、たとえば図6に示すフローチャートを実行した場合、たとえユーザプログラム上に記述されていても、構成要素としては抽出されない。よって、アウトライン情報表示部12bに表示されることもない。   In the user program shown in FIG. 16, for example, “MOV” having a step number [00000008] and “TIMX” having a step number [000018] are also described. In the above example, these constituent elements are not constituent elements to be displayed as outline information. For example, when the flowchart shown in FIG. 6 is executed, even if they are described in the user program, Is not extracted. Therefore, it is not displayed on the outline information display part 12b.

図16に示すラダープログラムのアウトライン情報は、一例として、アウトライン表示部12bに図17のようにリスト表示される。このように、アウトライン情報をアウトライン情報表示部12bに表示する際には、ラダープログラムの先頭から出現順に所定の構成要素を配列するとともに、複数の命令の集合体である回路部品や、内部に具体的なプログラム,構成要素を含むファンクションブロックについては一列右に字下げしてツリー状に表示する。デバッグ作業者は、このアウトライン情報を見ることにより、抽出した各構成要素がそのラダープログラム中にどんな順番で、どの位置に存在しているかを認識することができる。   The outline information of the ladder program shown in FIG. 16 is displayed as a list on the outline display unit 12b as an example as shown in FIG. As described above, when the outline information is displayed on the outline information display unit 12b, predetermined constituent elements are arranged in the order of appearance from the top of the ladder program, and the circuit components that are aggregates of a plurality of instructions or the specific details are internally included. Function blocks that contain typical programs and components are indented to the right and displayed in a tree. By viewing this outline information, the debug operator can recognize in what order and in which position each extracted component is present in the ladder program.

アウトライン情報表示部12bに表示するラダープログラムの構成要素は、予め用意された固定のものでも良いし、たとえば、図19に示すような、アウトライン情報に表示する構成要素を選択するためのダイアログウインドウ(アウトライン表示オプション)を表示装置に出力し、ユーザが表示したい構成要素を選択するようにしてもよい。この選択は、リストアップされた構成要素の前に配置されたチェックBOXをチェックすることで行なう。図19に示す例では、リストアップされた全ての構成要素(出力命令,コメント,エンド,ファンクションブロック(FB),インターロック/インターロッククリア,回路部品の開始および終了)が選択されている。   The ladder program component displayed on the outline information display unit 12b may be a fixed component prepared in advance. For example, as shown in FIG. 19, a dialog window for selecting a component to be displayed in the outline information ( The outline display option) may be output to the display device, and the user may select a component to be displayed. This selection is made by checking a check box placed in front of the listed component. In the example shown in FIG. 19, all listed components (output command, comment, end, function block (FB), interlock / interlock clear, start and end of circuit components) are selected.

アウトライン情報生成部33bは、アウトライン情報生成命令を受けると、対象となったラダープログラムの先頭から構成要素をひとつずつ走査し、予め表示する抽出対象として選択された構成要素(図19のチェックBOXで選択されたもの)があると、それを抽出するとともに、順次登録し、階層構造を持つアウトライン情報を生成する。   When the outline information generation unit 33b receives the outline information generation command, the outline information generation unit 33b scans the components one by one from the top of the ladder program that is the target, and selects the components selected as extraction targets to be displayed in advance (in the check box in FIG. 19). If there is one selected, it is extracted and registered sequentially to generate outline information having a hierarchical structure.

図20は、上述したファンクションブロック内の構成要素も抽出し、アウトライン情報を生成する本発明の前提の一つとなるアウトライン生成部のフローチャートを示す。すなわち、プログラムの先頭から順に走査し、構成要素があったならば(S10でYes)その構成要素を取得する(S11)。ここではラダープログラムで使用されているすべての構成要素を取得する。そして、取得した構成要素が抽出対象構成要素(図19に示すダイアログウインドウでチェックされた構成要素)か否かを判断する(S12)。処理ステップS11で取得した構成要素が抽出対象の構成要素でなければ、分岐判断はNoとなる。そして、対象構成要素でない場合には、次の構成要素を探すために、走査の続きを行う(S20)。   FIG. 20 shows a flowchart of an outline generation unit that is one of the premise of the present invention that extracts the components in the function block described above and generates outline information. That is, scanning is performed in order from the top of the program, and if there is a component (Yes in S10), the component is acquired (S11). Here, all the components used in the ladder program are acquired. Then, it is determined whether or not the acquired component is a component to be extracted (a component checked in the dialog window shown in FIG. 19) (S12). If the component acquired in process step S11 is not the component to be extracted, the branch determination is No. If it is not the target component, scanning is continued to search for the next component (S20).

一方、取得した構成要素が対象構成要素である場合(分岐判断のS12でYes)は、対象構成要素がファンクションブロックか否かを判断する(S71)。そして、ファンクションブロックでない場合には、構成要素が回路部品以外(回路部品中の構成要素も回路部品以外となる)か、回路部品の開始か、回路部品の終了かを判断する(S78)。そして、回路部品以外の場合には、それぞれの構成要素に対応するアイコンを取得し(S13)、ツリー及びまたはリストに登録する(S14)。すなわち、具体的な表示例は後述するが、本実施の形態では、上述したように、アウトライン情報表示部12bに表示するアウトライン情報の表示形態として、上述したツリー形式のツリー表示に加え、表形式のリスト表示も行なえるようにした。そこで、この処理ステップS14の登録処理では、ツリーとリストの両方に登録するようにした。もちろん、予め定めた、一方にのみ登録するようにしてもよい。この点は、以下に示すツリー,リストに対する処理でも同様である。   On the other hand, if the acquired component is a target component (Yes in S12 for branch determination), it is determined whether the target component is a function block (S71). If it is not a function block, it is determined whether the component is other than a circuit component (the component in the circuit component is also other than the circuit component), the start of the circuit component, or the end of the circuit component (S78). If it is not a circuit component, an icon corresponding to each component is acquired (S13) and registered in the tree and / or list (S14). That is, although a specific display example will be described later, in the present embodiment, as described above, in addition to the tree display in the tree format described above, the tabular format is used as the outline information display format to be displayed on the outline information display unit 12b. The list display can be done. Therefore, in the registration process of this processing step S14, registration is performed in both the tree and the list. Of course, it is also possible to register only one of the predetermined ones. This also applies to the processing for the tree and list shown below.

対応するアイコンは、構成要素の種類ごとに異なるとし、各構成要素とアイコンの対応関係は、予めテーブルを作成し、記憶装置14に登録しておく。例えば抽出した構成要素が出力命令の場合には電球のようなマークとし、コメントの場合にはしおりのようなマークとする。これにより、S13の処理では取得した命令の種類を認識し、上記テーブルを参照して、対応するアイコンを取得することになる。また、ツリー/リストへの登録は、現在の階層の一行下に追加する。   Assume that the corresponding icons differ for each type of component, and the correspondence between each component and icon is created in advance in a table and registered in the storage device 14. For example, if the extracted component is an output command, a mark like a light bulb is used, and if it is a comment, a mark like a bookmark is used. Thereby, in the process of S13, the type of the acquired command is recognized, and the corresponding icon is acquired by referring to the table. Also, the tree / list registration is added one line below the current hierarchy.

ツリーに登録する情報としては、アイコンと、インデックス番号と、ステップ番号(アドレス)と、変数名(名前)である。ここでインデックス番号とは、ラダープログラム上でユニークに存在する番号であり、各命令はもちろんのこと、ステップ番号が付与されないコメントに対しても昇順に設定される。デバッグ作業者は、ラダープログラム内において、インデックス番号を特定すると、任意の命令,コメントを一意に特定することができる。   Information registered in the tree includes an icon, an index number, a step number (address), and a variable name (name). Here, the index number is a number that uniquely exists in the ladder program, and is set in ascending order not only for each command but also for a comment that is not assigned a step number. When the debug operator specifies the index number in the ladder program, it can uniquely specify an arbitrary instruction and comment.

一方、取得した命令が回路部品の開始の場合には、回路部品のアイコンを取得するとともに(S16)、ツリー/リストに登録する(S17)。このツリー/リストへの登録処理は、S14の処理と同様である。その後、ツリー/リストを一列右に字下げをする(S18)。そして、S20(次の構成要素へ進む)を経由してS10に戻る。これにより、これ以降に検出された構成要素についてのツリー/リストの登録(S14の処理)は、この字下げしたツリー/リストの下に追加されることになり、回路部品に属する構成要素であることが一目で分かる。   On the other hand, if the acquired instruction is the start of a circuit component, an icon for the circuit component is acquired (S16) and registered in the tree / list (S17). This tree / list registration process is the same as the process of S14. Thereafter, the tree / list is indented to the right by one column (S18). Then, the process returns to S10 via S20 (proceeds to the next component). As a result, the tree / list registration (processing in S14) for the components detected thereafter is added under the indented tree / list, and is a component belonging to the circuit component. You can see at a glance.

また、取得した構成要素(命令)が、回路部品の終了の場合には、S19に進み、ツリー/リストの字下げを解除し(S19)、S20(次の構成要素へ進む)を経由してS10に戻る。これにより、これ以降に検出された構成要素(命令等)は、元(字下げされた1つ前、つまり1つ上位の階層)のツリー/リストに追加されることになる。   If the acquired component (command) is the end of the circuit component, the process proceeds to S19, the indentation of the tree / list is canceled (S19), and the process proceeds to S20 (proceeds to the next component). Return to S10. As a result, the components (instructions and the like) detected after this are added to the original tree / list (the one before the indentation, that is, one level higher).

一方、対象構成要素がファンクションブロックの場合には、S71の分岐判断がYesとなるので、処理ステップS72に飛び、処理を実行する。すなわち、まず、対応するファンクションブロックのアイコンを取得する(S72)とともに、ツリー/リストに登録する(S73)。このツリー/リストへの登録処理は、S14等の処理と同様である。その後、ツリー/リストを一列右に字下げをする(S74)。そして、現在の構成要素群(パス付きプログラム名称とFBインスタンスのインデックス番号)をスタック上に格納する(S75)。次いで、ファンクションブロックの命令からプログラム(構成要素群)を内部メモリにロードする(S76)。上記の処理が、ファンクションブロックの再入処理(1)から(5)に対応する。   On the other hand, if the target component is a function block, the branch determination in S71 is Yes, so the process jumps to the processing step S72 to execute the process. That is, first, the icon of the corresponding function block is acquired (S72) and registered in the tree / list (S73). This tree / list registration process is the same as the process of S14 and the like. Thereafter, the tree / list is indented to the right by one column (S74). Then, the current component group (program name with path and index number of the FB instance) is stored on the stack (S75). Next, the program (component group) is loaded from the function block instructions into the internal memory (S76). The above process corresponds to the function block reentry processes (1) to (5).

この後、S10に戻り構成要素の有無を判断する。構成要素が無い場合には、スタックの有無を判断する(S80)。S76からS10経由でS80に来た場合には、S75の処理を実行しているためスタックが存在するので、このS80の分岐判断は、Yesとなる。そこで、スタック上から格納されている構成要素群を取得し(S82)、ツリー/リストの字下げを解除し(S82)、S20(次の構成要素へ進む)を経由してS10に戻る。これにより、これ以降に検出された構成要素(命令等)は、元(字下げされた1つ前、つまり1つ上位の階層)のツリー/リストに追加されることになる。換言すると、S74で字下げしてから、S82で字下げ解除するまでの行に格納される構成要素は、1つのファンクションブロックを構成することが一目でわかる。上記の処理が、ファンクションブロックの復帰処理(11)から(13)に対応する。   Thereafter, the process returns to S10 to determine the presence or absence of the component. If there is no component, it is determined whether or not there is a stack (S80). When the process comes from S76 to S80 via S10, since the process of S75 is executed and there is a stack, the branch determination in S80 is Yes. Therefore, the component group stored from the stack is acquired (S82), the indentation of the tree / list is canceled (S82), and the process returns to S10 via S20 (proceeds to the next component). As a result, the components (instructions and the like) detected after this are added to the original tree / list (the one before the indentation, that is, one level higher). In other words, it can be seen at a glance that the components stored in the line from the indentation in S74 to the release of the indentation in S82 constitute one function block. The above processing corresponds to the function block return processing (11) to (13).

また、次の構成要素がない場合にはS10の分岐判断がNoとなるので、スタックがあるか否かを判断する(S80)。そして、スタックが無い(空の)場合には、処理を終了する。このように、プログラムの先頭から出現順に走査して処理することにより、プログラム上で出現する順番通りに、ツリーの上から順に構成要素を登録することができる。しかも、回路部品に属する構成要素や、ファンクションブロックに属する構成要素は、一列字下げされるため、アウトライン情報表示部16bに出力した際には、一目でそれらに属する構成要素であることが認識できる。このようにして生成されたアウトライン情報は、アウトライン情報記憶部34bに格納されるのは、上述したとおりである。   If there is no next component, the branch determination in S10 is No, so it is determined whether there is a stack (S80). If there is no stack (empty), the process is terminated. Thus, by scanning and processing in the order of appearance from the top of the program, the components can be registered in order from the top of the tree in the order in which they appear in the program. In addition, the constituent elements belonging to the circuit parts and the constituent elements belonging to the function block are indented by one line, so that when they are output to the outline information display section 16b, they can be recognized at a glance as constituent elements belonging to them. . The outline information generated in this way is stored in the outline information storage unit 34b as described above.

図16に示すユーザプログラムは、図20に示すフローチャートを実行することにより、図21(ツリー表示)あるいは図22(リスト表示)に示すアウトライン情報が、アウトライン情報表示部16bに表示される。この図21,図22は、図19に示すダイアログウインドウにおいて、全ての構成要素をチェックしたものである。図21,図22から明らかなように、各ファンクションブロックの構成要素は、字下げされて表示されるため、それぞれ各ファンクションブロックの構成要素であることが一目でわかる。さらに、[FB1]については、[FB11]を有しているので、[FB11]の部分で再入と復帰が行なわれることで、[FB1]の構成要素に[FB11]が入っていることはもちろんのこと、[FB11]の部分がさらに字下げされるため、[FB11]の構成要素も一目でわかる。   The user program shown in FIG. 16 executes the flowchart shown in FIG. 20, whereby the outline information shown in FIG. 21 (tree display) or FIG. 22 (list display) is displayed on the outline information display unit 16b. 21 and 22 show all the components checked in the dialog window shown in FIG. As is apparent from FIGS. 21 and 22, the constituent elements of each function block are displayed indented, so that it can be seen at a glance that they are constituent elements of each function block. Furthermore, since [FB1] has [FB11], [FB11] is included in the components of [FB1] by performing reentry and return in the [FB11] portion. Of course, since the part of [FB11] is further indented, the constituent elements of [FB11] can be seen at a glance.

また、図21(ツリー表示)に示すアウトライン情報において、ネスト無しの状態とすると、図23に示すようなアウトライン情報がアウトライン情報表示部12bに表示される。同様に、図22に示すアウトライン情報(リスト表示)において、ネスト無しの状態とすると、図24に示すようなアウトライン情報がアウトライン情報表示部12bに表示される。   Further, in the outline information shown in FIG. 21 (tree display), if there is no nesting, outline information as shown in FIG. 23 is displayed in the outline information display section 12b. Similarly, in the outline information (list display) shown in FIG. 22, if there is no nesting, outline information as shown in FIG. 24 is displayed on the outline information display section 12b.

なお、具体的な図示は省略するが、アウトライン表示部12bに、図21(ツリー表示)あるいは図22(リスト表示)に示すアウトライン情報が表示されている場合には、プログラム表示部12aには、対応するユーザプログラム(図16に示したもの)の対応する部分が表示されるとともに、クロスリファレンス情報表示部12cにも、指定された構成要素に該当するものが表示される。つまり、ファンクションブロックについてのアウトライン情報の生成アルゴリズムが相違するだけであるため、プログラム表示部12aに表示されるユーザプログラム(図16では、ラダープログラム)と、アウトライン情報表示部12bに表示されるアウトライン情報(ツリー表示/リスト表示)との連動や、それら各表示部に表示された構成要素とクロスリファレンス情報表示部12cに表示する情報の連動は、図8から図15を用いて説明した機能・アルゴリズムと同様であるため、その説明を省略する。係る点は、以下に示す説明についても同様である。   Although specific illustration is omitted, when the outline information shown in FIG. 21 (tree display) or FIG. 22 (list display) is displayed on the outline display unit 12b, the program display unit 12a A corresponding part of the corresponding user program (shown in FIG. 16) is displayed, and a part corresponding to the designated component is also displayed on the cross reference information display unit 12c. That is, since only the outline information generation algorithm for the function block is different, the user program (the ladder program in FIG. 16) displayed on the program display unit 12a and the outline information displayed on the outline information display unit 12b. The functions / algorithms described with reference to FIGS. 8 to 15 are used in conjunction with (tree display / list display), and the information displayed on the cross reference information display unit 12c and the components displayed on the respective display units. Since this is the same, the description thereof is omitted. The same applies to the description given below.

また、上述した表示例は、図19に示すダイアログウインドウにリストアップされた全ての構成要素にチェックをつけた場合であるが、本実施の形態では、任意の構成要素をチェックすることができる。例えば、図19のダイアログウインドウにおいて、ファンクションブロックのみをチェックした場合、図20のS12の対象構成要素か否かの判断は、ファンクションブロック以外は全てNoとなる。よって、ファンクションブロックのみが対象構成要素として抽出され、処理がすすむ。その結果、図16に示すユーザプログラムについてのアウトライン情報は、ツリー表示すると図25(a)に示すようになり、リスト表示すると図25(b)に示すようになる。なお、図25(a),(b)は、共にネスト無しの状態を示しているが、図21,図22と同様にファンションブロックの構成要素を表示することももちろんできる。   Moreover, although the display example mentioned above is a case where all the components listed in the dialog window shown in FIG. 19 are checked, in this embodiment, arbitrary components can be checked. For example, when only the function block is checked in the dialog window of FIG. 19, the determination of whether or not it is a target component in S12 of FIG. Therefore, only the function block is extracted as the target constituent element, and the process proceeds. As a result, the outline information for the user program shown in FIG. 16 is as shown in FIG. 25A when displayed in a tree, and as shown in FIG. 25B when displayed as a list. 25 (a) and 25 (b) both show a non-nested state, but it is of course possible to display the function block components as in FIGS.

また、例えば、図19のダイアログウインドウにおいて、コメントのみをチェックした場合、図20のS12の対象構成要素か否かの判断は、コメント以外は全てNoとなる。よって、コメントのみが対象構成要素として抽出され、処理がすすむ。その結果、図16に示すユーザプログラムについてのアウトライン情報は、ツリー表示すると図26(a)に示すようになり、リスト表示すると図26(b)に示すようになる。   Further, for example, when only a comment is checked in the dialog window of FIG. 19, the determination of whether or not it is a target component in S12 of FIG. Therefore, only the comment is extracted as the target component, and the process proceeds. As a result, the outline information about the user program shown in FIG. 16 is as shown in FIG. 26A when displayed in a tree form and as shown in FIG. 26B when displayed as a list.

また、例えば、図19のダイアログウインドウにおいて、出力,ファンクションブロック,コメントのように複数の構成要素をチェックすることもできる。係る場合、図20のS12の対象構成要素か否かの判断は、上記3つの構成要素以外は全てNoとなる。よって、指定されたもののみが対象構成要素として抽出され、処理がすすむ。その結果、図16に示すユーザプログラムについてのアウトライン情報は、ツリー表示すると図27(a)に示すようになり、リスト表示すると図27(b)に示すようになる。なお、図27(a),(b)は、共にネスト無しの状態を示しているが、図21,図22と同様にファンションブロックの構成要素を表示することももちろんできる。   For example, in the dialog window of FIG. 19, a plurality of components such as output, function block, and comment can be checked. In such a case, the determination of whether or not it is a target component in S12 of FIG. 20 is No except for the above three components. Therefore, only the specified one is extracted as the target component, and the process proceeds. As a result, the outline information for the user program shown in FIG. 16 is as shown in FIG. 27A when displayed as a tree, and as shown in FIG. 27B when displayed as a list. 27 (a) and 27 (b) both show a non-nested state, but it is of course possible to display the function block components as in FIGS.

上述した各例は、いずれもユーザプログラムとしてラダー言語を使用したものについて説明したが、本発明はこれに限ることはなく、他のプログラム言語についてももちろん適用できる。一例を示すと、図28(a)に示すようなST言語を用いて作成したプログラムの場合、図20に示すフローチャートを実行することで、図28(b)に示すアウトライン情報を生成することができる。   In each of the above-described examples, the ladder language is used as the user program. However, the present invention is not limited to this and can be applied to other programming languages. For example, in the case of a program created using the ST language as shown in FIG. 28A, the outline information shown in FIG. 28B can be generated by executing the flowchart shown in FIG. it can.

図29以降は、本発明の第2の実施の形態を示している。上述した実施の形態では、ツリー表示,リスト表示のいずれも、アウトライン情報はプログラムの出現順に表示するようにした。本実施の形態は、指定した項目でソートすることができるようにした。   FIG. 29 and subsequent figures show a second embodiment of the present invention. In the embodiment described above, the outline information is displayed in the order of appearance of the program in both the tree display and the list display. In the present embodiment, it is possible to sort by a specified item.

例えば、リスト表示されたアウトライン情報が、図29に示すようになっている場合において、アドレスをキーとしてソートすると、図30に示すようになる。図から明らかなように、まず、リスト表示されたアドレスの欄において、数値の小さい順に昇準し、アドレスが空欄のものについては、基準となる出現順(インデックス番号順)にソートする。つまり、ソート前の表示状態に関係なく、ソートする場合の対象は、出現順に配置されたアウトライン情報(図22)に示したものとなる。   For example, when the outline information displayed as a list is as shown in FIG. 29, sorting is performed using addresses as keys, as shown in FIG. As is clear from the figure, first, in the address column displayed in the list, ascending is performed in ascending order of numerical values, and those with blank addresses are sorted in the order of appearance (index number order) as a reference. That is, regardless of the display state before sorting, the target for sorting is the outline information arranged in the order of appearance (FIG. 22).

また、種別(構成要素の種類)をキーにソートをした場合には、図31に示すようになる。同様に変数名でソートしたときのアウトライン情報は、図32に示すようになるし、コメントでソートしたときのアウトライン情報は、図33に示すようになる。上述したように、ソートする際の基準となるアウトライン情報は、インデックス番号順に配列した図22に示すものであるため、ソートする直前にアウトライン情報表示部12bに表示されていたアウトライン情報がどの項目をキーにしてソートしていたかに関わらず、各項目でソートした場合のそれぞれの結果は同じになる。つまり、例えば、アドレスをキーとしてソートした場合には、直前の表示形態が、例えば図31,図32,図33のいずれであっても、常に図30に示すようになる。もちろん、ソート対象を直前に表示されたアウトライン情報としても良い。   Further, when sorting is performed using the type (type of component) as a key, it is as shown in FIG. Similarly, outline information when sorted by variable name is as shown in FIG. 32, and outline information when sorted by comment is as shown in FIG. As described above, the outline information used as the reference for sorting is shown in FIG. 22 arranged in the order of the index numbers. Therefore, the outline information displayed on the outline information display unit 12b immediately before sorting indicates which item. Regardless of whether or not sorting is performed using the key, the result of sorting by each item is the same. That is, for example, when sorting is performed using addresses as keys, the display form is always as shown in FIG. 30, regardless of whether the immediately preceding display form is, for example, FIG. 31, FIG. 32, or FIG. Of course, the sort target may be outline information displayed immediately before.

なお、リスト表示のアウトライン情報の表示形態のものに対し、係るソートを行なうための具体的な内部処理は、例えば、表計算ソフト(アプリケーションプログラム)の機能と同様のものを用いることができるので、当該処理を実施するための具体的なフローチャート等を用いた説明を省略する。   In addition, since the specific internal processing for performing such sorting with respect to the display form of the outline information of the list display, for example, the same function as the function of the spreadsheet software (application program) can be used. A description using a specific flowchart or the like for performing the processing will be omitted.

また、上述した例では、リスト表示に基づくソート処理を行なうようにしたが、例えば図34に示すフローチャートを実行する機能を実装することで、ツリー表示のアウトライン情報に対してもソート処理を行なうことができる。まず、ソート処理する際の選択画面(入力画面)として、例えば図35に示すような画面を出力表示する。この選択画面中の、情報に設けられた「種別表示を有効」のチェックBOXにチェックを入れることで、項目をキーにしたソートを行なうようになる。なお、係るチェックBOXにチェックを入れないと、図20に示したフローチャートを実行し、出現順(インデックス番号順)に配列したアウトライン情報を生成するようになる。また、この例でも、構成要素をチェックBOXと共にリスト表示し、チェックが入れられたものをアウトライン情報として表示する対象構成要素とするようにしている。図では、全ての構成要素が選択されている。   In the above-described example, the sort process based on the list display is performed. However, for example, by implementing the function of executing the flowchart shown in FIG. 34, the sort process is also performed on the outline information of the tree display. Can do. First, as a selection screen (input screen) for sorting processing, for example, a screen as shown in FIG. 35 is output and displayed. In this selection screen, a check is made on a check box “validate type display” provided in the information, so that sorting using items as keys is performed. If the check box is not checked, the flowchart shown in FIG. 20 is executed, and outline information arranged in the order of appearance (index number order) is generated. Also in this example, the component is displayed in a list together with the check box, and the checked component is the target component to be displayed as outline information. In the figure, all the components are selected.

図34は、基本的に図20に示すフローチャートを前提としている。対応する処理ステップには同一のステップ番号を付している。図34と図20とを比較すると明らかなように、本実施の形態では、まず種別を取得する(S90)。つまり、図35に示す選択画面でリスト表示された構成要素のうち、チェックBOXにチェックが入っている構成要素を取得する。   FIG. 34 basically assumes the flowchart shown in FIG. Corresponding processing steps are given the same step number. As is apparent from a comparison between FIG. 34 and FIG. 20, in the present embodiment, the type is first acquired (S90). That is, among the components displayed as a list on the selection screen shown in FIG. 35, the components whose check box is checked are acquired.

次いで、S90で取得した構成要素をツリーへ種別登録する(S91)。すなわち、図35では、全ての構成要素がチェックされているため、全ての構成要素をツリーへ登録する。これにより、図36に示す「出力」,「部品(回路部品)」(ライブラリ),「コメント」,「ファンクションブロック」,「インターロック」,「エンド」を対応するアイコンと共にリストに登録する。   Next, the type of the component acquired in S90 is registered in the tree (S91). That is, in FIG. 35, since all the components are checked, all the components are registered in the tree. Thereby, “output”, “component (circuit component)” (library), “comment”, “function block”, “interlock”, and “end” shown in FIG. 36 are registered in the list together with corresponding icons.

その後、S10以降の処理を実行し、対象構成要素が検出されたら対応するアイコンを取得し、ツリーへ登録する際に、同一の構成要素の下に順次追加登録する。これにより、図36に示すように、種別(構成要素)単位でまとめられた状態(ソートがかけられた状態)のツリー状のアウトライン情報が生成される。なお、この図34の処理を実行することで、リスト表示におけるソート処理も可能である。   Thereafter, the processing after S10 is executed. When a target component is detected, a corresponding icon is acquired, and when it is registered in the tree, additional registration is sequentially performed under the same component. As a result, as shown in FIG. 36, tree-shaped outline information in a state (sorted state) grouped by type (component) is generated. Note that the sort processing in the list display is also possible by executing the processing of FIG.

図37以降は、本発明の第3の実施の形態を示している。図37から明らかなように、本実施の形態では、アウトライン情報表示部12bに表示する表示項目をユーザが追加できるようにしている。すなわち、上述した各実施例では、表示する構成要素を選択することができたもののその選択範囲は予め設定されたものに限られていた。これに対し、本実施の形態では、図37(a)に示すようにアウトライン表示オプションのダイアログウインドウに、構成要素の「追加」ボタンと、「削除」ボタンを用意すると共に、図37(b)に示す追加可能な命令一覧ウインドウを用意する。   FIG. 37 and subsequent figures show a third embodiment of the present invention. As is apparent from FIG. 37, in this embodiment, the user can add display items to be displayed on the outline information display unit 12b. In other words, in each of the above-described embodiments, the component to be displayed can be selected, but the selection range is limited to a preset range. On the other hand, in the present embodiment, as shown in FIG. 37A, the “add” button and the “delete” button of the component are prepared in the dialog window of the outline display option, and FIG. An instruction list window that can be added is prepared as shown in FIG.

図37(a)において、「追加」ボタンがクリックされると、図37(b)に示す命令一覧ウインドウが表示される。ユーザは、その命令一覧ウインドウを用いて追加したい構成要素のチェックBOXをチェックすると共に、「OK」ボタンをクリックする。これにより、記憶装置14に記憶されている表示対象の構成要素(当初は、基本表示構成要素である「コメント」,「ファンクションブロック」,「出力」,「ライブラリ」(回路部品のこと),「インターロック」,「エンド」)のみが登録されている)に、命令一覧でチェックされた構成要素が追加される。図37(b)の例では、「MOV」と「TIMX」がチェックされて追加されたため、その後表示されるアウトライン表示オプションは、図37(c)に示すように、6つの基本表示構成要素に、「MOV」と「TIMX」が追加されて8個の構成要素が表示される。なお、追加した構成要素を最初に表示する際にチェックBOXにチェックを入れた状態としても良いし、初期状態は空欄としても良い。図37(c)に示すアウトライン表示オプションのダイアログウインドウは、その後のユーザの操作により、基本表示構成要素と、「MOV」のチェックBOXにチェックが入り、「TIMX」はアウトライン表示オプションに追加したもののチェックBOXのチェックをはずすことで、今回の処理ではアウトライン情報として表示しないようにした状態を示している。   In FIG. 37A, when the “add” button is clicked, an instruction list window shown in FIG. 37B is displayed. The user checks the check box of the component to be added using the instruction list window and clicks the “OK” button. Accordingly, the display target components stored in the storage device 14 (initially “comments”, “function blocks”, “outputs”, “libraries” (circuit parts), “ Only "Interlock" and "End") are registered), and the component checked in the instruction list is added. In the example of FIG. 37 (b), since “MOV” and “TIMX” are checked and added, the outline display options displayed thereafter are displayed in six basic display components as shown in FIG. 37 (c). , “MOV” and “TIMX” are added to display eight components. Note that when the added component is first displayed, the check box may be checked, or the initial state may be blank. In the outline display option dialog window shown in FIG. 37 (c), a basic display component and a check box of “MOV” are checked by a subsequent user operation, and “TIMX” is added to the outline display option. By unchecking the check box, the current processing is not displayed as outline information.

係る登録処理を行なうための機能は、図38に示すフローチャートを実行することで行える。すなわち、追加対象の構成要素があるか否かを判断する(S101)。これは、アウトライン表示オプションの「追加」ボタンがクリックされて表示された命令一覧ウインドウにおいて、「OK」ボタンがクリックされた際に、チェックBOXにチェックされた構成要素があるか否かにより判断できる。   The function for performing the registration process can be performed by executing the flowchart shown in FIG. That is, it is determined whether there is a component to be added (S101). This can be determined based on whether or not there is a checked component in the check box when the “OK” button is clicked in the instruction list window displayed by clicking the “Add” button of the outline display option. .

追加対象の構成要素がある場合には、その追加対象の構成要素を抽出し(S102)、その抽出した構成要素を記録装置14に格納されている対象構成要素に記録する(S103)。これにより、アウトライン表示オプションのダイアログウインドウを表示する場合には、この記録装置14に格納された対象構成要素を読み出して表示するため、このS103の処理を実行して追加対象構成要素を追加した以降は、その追加した対象構成要素もリスト一覧に表示される(図37(c),参照)。   If there is a component to be added, the component to be added is extracted (S102), and the extracted component is recorded in the target component stored in the recording device 14 (S103). As a result, when displaying the dialog window of the outline display option, since the target component stored in the recording device 14 is read and displayed, the process of S103 is executed and the additional target component is added. The added target component is also displayed in the list (see FIG. 37 (c)).

一方、本実施の形態では、一旦追加した構成要素を削除する機能も備えている。すなわち、図37(c)に示すように、追加した構成要素が存在する場合において、削除したいものがあると、削除対象の構成要素のチェックBOXにチェックを入れた状態で「削除」ボタンをクリックすると、そのチェックが入れられた構成要素が削除される。但し、本実施の形態では、6つの基本表示構成要素については削除を禁止している。これにより、例えば図37(c)に示すアウトライン表示オプションにおいて、全てのチェックBOXにチェックを入れた状態で「削除」ボタンをクリックすると、基本表示構成要素以外の「MOV」と「TIMX」が削除され、図37(a)に示す状態になる。   On the other hand, the present embodiment also has a function of deleting a component once added. That is, as shown in FIG. 37C, when there is an added component, if there is something to delete, click the “Delete” button with the check box of the component to be deleted checked. Then, the checked component is deleted. However, in the present embodiment, deletion of the six basic display components is prohibited. Thus, for example, in the outline display option shown in FIG. 37 (c), when the “Delete” button is clicked with all check boxes checked, “MOV” and “TIMX” other than the basic display components are deleted. Then, the state shown in FIG.

係る削除処理を行なうための機能は、図39に示すフローチャートを実行することで行える。すなわち、削除の選択があるか否かを判断する(S104)。つまり、少なくとも1つの構成要素のチェックBOXにチェックが入った状態で「削除」ボタンがクリックされた場合には、この分岐判断はYesなり、それ以外はNoとなり処理を終了する。   The function for performing such deletion processing can be performed by executing the flowchart shown in FIG. That is, it is determined whether or not there is a selection of deletion (S104). In other words, when the “delete” button is clicked in a state where the check box of at least one component is checked, this branch determination is Yes, and otherwise, the process ends.

選択があった場合には、削除可能な構成要素であるか否かが判断される(S105)。つまり、6個の基本表示構成要素以外の構成要素が選択されている場合には、削除可能な構成要素となり、この分岐判断はYesとなる。そして、削除可能な場合には、チェックBOXで選択された削除対象構成要素を抽出し、記録装置14に格納された対象構成要素から選択された構成要素を消去する(S106,S107)。上記処理を繰り返し実行することで、基本表示構成要素以外の構成要素については、一旦登録後も削除可能である。もちろん、削除しなくても、通常のアウトライン情報生成処理において、チェックBOXにチェックを入れないことでアウトライン情報に表示されることはないため、同等の効果は発揮できるが、不必要に多くの構成要素がアウトライン表示オプションに表示されることを解消する効果が期待できる。   If there is a selection, it is determined whether or not the component can be deleted (S105). That is, when a component other than the six basic display components is selected, the component can be deleted, and this branch determination is Yes. If deletion is possible, the deletion target component selected by the check box is extracted, and the selected component is deleted from the target components stored in the recording device 14 (S106, S107). By repeatedly executing the above processing, components other than the basic display components can be deleted even after being registered once. Of course, even if it is not deleted, in the normal outline information generation process, it is not displayed in the outline information if the check box is not checked, so the same effect can be exhibited, but an unnecessarily many configurations It can be expected to eliminate the effect that the element is displayed in the outline display option.

上述したように、新たな構成要素を追加・削除したり、構成要素について必要なものをチェックすることで、ユーザがそのとき見たい構成要素のみが抽出されたアウトライン情報を生成し、表示することができる。一例を示すと、図37(c)に示す状態で「OK」ボタンがクリックされると、6個の基本表示構成要素に、「MOV」が追加された7つの構成要素によるアウトライン情報が生成されるため、アウトライン情報表示部12bには、図40に示すようなツリー表示や、図41に示すリスト表示の形態からなるアウトライン情報が表示される。   As described above, by adding / deleting new components or checking necessary components, outline information is extracted and extracted only from the components that the user wants to see at that time. Can do. As an example, when the “OK” button is clicked in the state shown in FIG. 37 (c), outline information is generated by seven constituent elements in which “MOV” is added to the six basic display constituent elements. Therefore, the outline information display section 12b displays outline information in the form of a tree display as shown in FIG. 40 or a list display as shown in FIG.

本発明の一実施の形態を示すハードウェアブロック図である。It is a hardware block diagram showing an embodiment of the present invention. プログラム表示部に表示されるラダープログラムの一例を示す図である。It is a figure which shows an example of the ladder program displayed on a program display part. 本発明の一実施の形態を示す機能ブロック図である。It is a functional block diagram which shows one embodiment of this invention. 表示画面の一例を示す図である。It is a figure which shows an example of a display screen. アウトライン情報表示部に表示される図2に示すラダープログラムに対するアウトライン情報を示す図である。It is a figure which shows the outline information with respect to the ladder program shown in FIG. 2 displayed on an outline information display part. アウトライン情報生成部の機能を示すフローチャートである。It is a flowchart which shows the function of an outline information generation part. 図2に示すプログラムのリストを示す図である。FIG. 3 is a diagram showing a list of programs shown in FIG. 2. アウトライン情報表示部に表示されたリストからプログラム表示部に表示されるユーザプログラム(ラダープログラム等)へのジャンプ機能の一例を示す図である。It is a figure which shows an example of the jump function to the user program (ladder program etc.) displayed on a program display part from the list displayed on the outline information display part. 作用効果を説明する表示画面の表示例である。It is a display example of the display screen explaining an effect. 作用効果を説明する表示画面の表示例である。It is a display example of the display screen explaining an effect. プログラムエディタ(ラダーエディタ等)の機能を説明するフローチャートである。It is a flowchart explaining the function of a program editor (ladder editor etc.). クロスリファレンス情報生成部の機能を示すフローチャートである。It is a flowchart which shows the function of a cross reference information generation part. 作用効果を説明する表示画面の表示例である。It is a display example of the display screen explaining an effect. 作用効果を説明する表示画面の表示例である。It is a display example of the display screen explaining an effect. クロスリファレンス情報表示部に表示された命令からプログラム表示部に表示されるラダープログラムへのジャンプ機能の一例を示す図である。It is a figure which shows an example of the jump function to the ladder program displayed on the program display part from the instruction | indication displayed on the cross reference information display part. プログラム表示部に表示されるラダープログラムの一例を示す図である。It is a figure which shows an example of the ladder program displayed on a program display part. 図16のユーザプログラムに使用されるファンクションブロックの内部構成を示す図である。It is a figure which shows the internal structure of the function block used for the user program of FIG. 図16のユーザプログラムに使用されるファンクションブロックの内部構成を示す図である。It is a figure which shows the internal structure of the function block used for the user program of FIG. アウトライン表示オプションのダイアログウインドウの一例を示す図である。It is a figure which shows an example of the dialog window of an outline display option. アウトライン情報生成部の機能を示すフローチャートである。It is a flowchart which shows the function of an outline information generation part. アウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報(ツリー表示)を示す図である。It is a figure which shows the outline information (tree display) with respect to the ladder program shown in FIG. 16 displayed on an outline information display part. アウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報(リスト表示)を示す図である。It is a figure which shows the outline information (list display) with respect to the ladder program shown in FIG. 16 displayed on an outline information display part. アウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報(ツリー表示)を示す図である。It is a figure which shows the outline information (tree display) with respect to the ladder program shown in FIG. 16 displayed on an outline information display part. アウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報(リスト表示)を示す図である。It is a figure which shows the outline information (list display) with respect to the ladder program shown in FIG. 16 displayed on an outline information display part. 表示する構成要素を選択した場合のアウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報を示す図である。It is a figure which shows the outline information with respect to the ladder program shown in FIG. 16 displayed on the outline information display part at the time of selecting the component to display. 表示する構成要素を選択した場合のアウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報を示す図である。It is a figure which shows the outline information with respect to the ladder program shown in FIG. 16 displayed on the outline information display part at the time of selecting the component to display. 表示する構成要素を選択した場合のアウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報を示す図である。It is a figure which shows the outline information with respect to the ladder program shown in FIG. 16 displayed on the outline information display part at the time of selecting the component to display. (a)は、プログラム表示部に表示されるST言語によるプログラムの一例を示す図であり、(b)は、そのプログラムに対するアウトライン情報表示部に表示されるアウトライン情報を示す図である。(A) is a figure which shows an example of the program by ST language displayed on a program display part, (b) is a figure which shows the outline information displayed on the outline information display part with respect to the program. 本発明の第2の実施の形態を説明する図で、基本状態のアウトライン表示部に表示されるアウトライン情報(リスト表示)を示す図である。It is a figure explaining the 2nd Embodiment of this invention, and is a figure which shows the outline information (list display) displayed on the outline display part of a basic state. 本発明の第2の実施の形態を説明する図で、ソート後のアウトライン表示部に表示されるアウトライン情報(リスト表示)を示す図である。It is a figure explaining the 2nd Embodiment of this invention, and is a figure which shows the outline information (list display) displayed on the outline display part after a sort. 本発明の第2の実施の形態を説明する図で、ソート後のアウトライン表示部に表示されるアウトライン情報(リスト表示)を示す図である。It is a figure explaining the 2nd Embodiment of this invention, and is a figure which shows the outline information (list display) displayed on the outline display part after a sort. 本発明の第2の実施の形態を説明する図で、ソート後のアウトライン表示部に表示されるアウトライン情報(リスト表示)を示す図である。It is a figure explaining the 2nd Embodiment of this invention, and is a figure which shows the outline information (list display) displayed on the outline display part after a sort. 本発明の第2の実施の形態を説明する図で、ソート後のアウトライン表示部に表示されるアウトライン情報(リスト表示)を示す図である。It is a figure explaining the 2nd Embodiment of this invention, and is a figure which shows the outline information (list display) displayed on the outline display part after a sort. 本発目委の第2の実施の形態の要部となるソート機能を説明するフローチャートである。It is a flowchart explaining the sort function used as the principal part of 2nd Embodiment of this starting committee. ソートを実行するか否かを選択する選択画面の一例を示す図である。It is a figure which shows an example of the selection screen which selects whether sort is performed. ソートされたアウトライン情報の一例を示す図である。It is a figure which shows an example of the sorted outline information. 本発明の第3の実施の形態を説明する入力画面の一例を示す図である。It is a figure which shows an example of the input screen explaining the 3rd Embodiment of this invention. 構成要素を追記する機能を実現するためのフローチャートを示す図である。It is a figure which shows the flowchart for implement | achieving the function to add a component. ユーザが追加した構成要素を削除する機能を実現するためのフローチャートを示す図である。It is a figure which shows the flowchart for implement | achieving the function to delete the component added by the user. アウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報(ツリー表示)を示す図である。It is a figure which shows the outline information (tree display) with respect to the ladder program shown in FIG. 16 displayed on an outline information display part. アウトライン情報表示部に表示される図16に示すラダープログラムに対するアウトライン情報(リスト表示)を示す図である。It is a figure which shows the outline information (list display) with respect to the ladder program shown in FIG. 16 displayed on an outline information display part.

符号の説明Explanation of symbols

10 開発支援装置
11 入力装置
12 表示装置
12a ユーザプログラム表示部
12b アウトライン情報表示部
12c クロスリファレンス情報表示部
13 中央演算装置
14 記憶装置
15 通信I/F
20 PLC
21 通信回線
31 入力処理部
32 表示処理部
33 演算部
33a ユーザプログラム編集部
33b アウトライン情報生成部
33c クロスリファレンス情報生成部
34 記憶部
34a ラダープログラム記憶部
34b アウトライン情報記憶部
34c クロスリファレンス情報記憶部
35 通信処理部
DESCRIPTION OF SYMBOLS 10 Development support apparatus 11 Input apparatus 12 Display apparatus 12a User program display part 12b Outline information display part 12c Cross reference information display part 13 Central processing unit 14 Memory | storage device 15 Communication I / F
20 PLC
21 communication line 31 input processing unit 32 display processing unit 33 arithmetic unit 33a user program editing unit 33b outline information generation unit 33c cross reference information generation unit 34 storage unit 34a ladder program storage unit 34b outline information storage unit 34c cross reference information storage unit 35 Communication processing unit

Claims (7)

プログラマブルコントローラのユーザプログラムを開発するための開発支援装置であって、
ユーザプログラムを記憶するプログラム記憶手段と、
前記ユーザプログラムの構成要素のうち、抽出対象の構成要素を受け付ける構成要素選択手段と、
前記プログラム記憶手段に記憶されたユーザプログラムの構成要素を先頭から順に走査して、前記構成要素選択手段で受け付けた構成要素を抽出し、その抽出した構成要素にユーザプログラム上での出現順に固有のインデックス番号を付したアウトライン情報を生成するアウトライン情報生成手段と、
前記アウトライン情報を格納するアウトライン情報記憶手段と、
ユーザプログラムを表示するプログラム表示部と、前記アウトライン情報を前記出現順に表示するアウトライン情報表示部とを有する表示装置と
を設けたことを特徴とする開発支援装置。
A development support apparatus for developing a user program for a programmable controller,
Program storage means for storing a user program;
Among the constituent elements of the user program, the constituent element selecting means for receiving the constituent element to be extracted;
The constituent elements of the user program stored in the program storage means are scanned in order from the top, the constituent elements received by the constituent element selection means are extracted, and the extracted constituent elements are unique in the order of appearance on the user program. Outline information generating means for generating outline information with an index number;
Outline information storage means for storing the outline information;
A development support apparatus comprising: a program display unit that displays a user program; and a display device that includes an outline information display unit that displays the outline information in the order of appearance.
前記構成要素選択手段でファンクションが選択された場合,
ファンクションブロックの内部のプログラムについても構成要素を抽出し、アウトライン表示する機能を有し、
その抽出されたファンクションブロックの内部のプログラムの構成要素は、当該ファンクションブロック以外の構成要素と区別可能に表示するようにしたことを特徴とする請求項1に記載の開発支援装置。
When a function is selected by the component selection means,
It also has the function to extract the components of the program inside the function block and display the outline.
2. The development support apparatus according to claim 1, wherein the constituent elements of the program inside the extracted function block are displayed so as to be distinguishable from constituent elements other than the function block.
前記アウトライン情報をソートし、ソート後のアウトライン情報を前記アウトライン情報表示部に表示する機能を備えたことを特徴とする請求項1または2に記載の開発支援装置。   The development support apparatus according to claim 1, further comprising a function of sorting the outline information and displaying the sorted outline information on the outline information display unit. 構成要素選択手段により選択可能な構成要素を追加登録する構成要素追加手段を備えたことを特徴とする請求項1から3のいずれか1項に記載の開発支援装置。   The development support apparatus according to any one of claims 1 to 3, further comprising a component addition unit that additionally registers a component that can be selected by the component selection unit. 構成要素選択手段により選択可能な構成要素を削除する構成要素削除手段を備えたことを特徴とする請求項1から4のいずれか1項に記載の開発支援装置。   The development support apparatus according to any one of claims 1 to 4, further comprising: a component deletion unit that deletes a component that can be selected by the component selection unit. コンピュータを、
ユーザプログラムの構成要素のうち、抽出対象の構成要素を受け付ける構成要素選択手段、
前記ユーザプログラムの構成要素を先頭から順に走査して、前記構成要素選択手段で受け付けた構成要素を抽出し、その抽出した構成要素にユーザプログラム上での出現順に固有のインデックス番号を付したアウトライン情報を生成するアウトライン情報生成手段、
前記生成した前記アウトライン情報を前記出現中に表示する格納するアウトライン情報記憶手段
前記ユーザプログラムを表示する手段、
前記生成した前記アウトライン情報を前記出現順に表示する手段、
として機能させるためのプログラム。
Computer
Among the constituent elements of the user program, the constituent element selection means for receiving the constituent elements to be extracted,
Outline information in which the constituent elements of the user program are scanned in order from the top, the constituent elements received by the constituent element selection means are extracted, and the extracted constituent elements are assigned unique index numbers in the order of appearance in the user program Outline information generation means for generating
Outline information storage means for storing the generated outline information during the appearance ;
Means for displaying the user program;
Means for displaying the generated outline information in the order of appearance;
Program to function as.
プログラマブルコントローラのユーザプログラムを開発するための開発支援装置における処理方法であって、A processing method in a development support apparatus for developing a user program of a programmable controller,
プログラム記憶手段に格納されるユーザプログラムの構成要素のうち、抽出対象の構成要素を受け付ける構成要素選択ステップ、Among the constituent elements of the user program stored in the program storage means, the constituent element selection step for receiving the constituent element to be extracted,
前記プログラム記憶手段に記憶されたユーザプログラムの構成要素を先頭から順に走査して、前記構成要素選択ステップで受け付けた構成要素を抽出し、その抽出した構成要素にユーザプログラム上での出現順に固有のインデックス番号を付したアウトライン情報を生成するアウトライン情報生成ステップ、The constituent elements of the user program stored in the program storage means are scanned in order from the top, and the constituent elements received in the constituent element selection step are extracted. An outline information generation step for generating outline information with an index number;
表示装置のプログラム表示部に前記ユーザプログラムを表示するステップ、Displaying the user program on a program display unit of a display device;
前記表示装置のアウトライン情報表示部に前記アウトライン情報を前記出現順に表示するステップ、Displaying the outline information in the order of appearance in the outline information display section of the display device;
を実行する処理方法。Processing method to execute.
JP2005271216A 2005-09-16 2005-09-16 Development support apparatus, program, and processing method Expired - Fee Related JP4366605B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005271216A JP4366605B2 (en) 2005-09-16 2005-09-16 Development support apparatus, program, and processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005271216A JP4366605B2 (en) 2005-09-16 2005-09-16 Development support apparatus, program, and processing method

Publications (2)

Publication Number Publication Date
JP2007086831A JP2007086831A (en) 2007-04-05
JP4366605B2 true JP4366605B2 (en) 2009-11-18

Family

ID=37973792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005271216A Expired - Fee Related JP4366605B2 (en) 2005-09-16 2005-09-16 Development support apparatus, program, and processing method

Country Status (1)

Country Link
JP (1) JP4366605B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5045372B2 (en) * 2007-10-30 2012-10-10 横河電機株式会社 Ladder program development support device
JP4993208B2 (en) * 2008-01-31 2012-08-08 オムロン株式会社 Industrial controller equipment
JP2011086118A (en) * 2009-10-15 2011-04-28 Yokogawa Electric Corp Program input device
JP6503750B2 (en) * 2015-01-16 2019-04-24 横河電機株式会社 Engineering support apparatus, method, and program
WO2018185915A1 (en) * 2017-04-06 2018-10-11 三菱電機株式会社 Program creation device and program creation method
JP7067520B2 (en) * 2019-03-28 2022-05-16 オムロン株式会社 Development support equipment, control methods for development support equipment, information processing programs, and recording media
US20230129280A1 (en) * 2020-09-04 2023-04-27 Mitsubishi Electric Corporation Computer readable storage medium, program creation support apparatus, and program creation support method

Also Published As

Publication number Publication date
JP2007086831A (en) 2007-04-05

Similar Documents

Publication Publication Date Title
CN100424600C (en) Development aid device
JP4366605B2 (en) Development support apparatus, program, and processing method
TWI464558B (en) Program generation support device
JP4242361B2 (en) Development support equipment
JP5415182B2 (en) Image processing apparatus, program creation support apparatus, and image processing method
JP3963174B2 (en) Display / editing apparatus, display method, and program
JP2006146955A (en) Development support device
JP4517302B2 (en) Control method and program for development support apparatus and recording medium
JP2014086044A (en) Design support program, method, and device
CN116540994A (en) Method, control device and storage medium for generating route by configuring reaction item
JP4476223B2 (en) Screen data creation device, screen data editing method, and screen data editing program
JP2010049489A (en) Debugging support device and program
JP5862236B2 (en) Control program editing apparatus and control program creation support program
JP2011059918A (en) Version management device and version management method
JP4977681B2 (en) Data pattern / test data generation / storage method and system
JP2007109033A (en) Screen transition management device and screen transition management program
JP3967885B2 (en) Image processing device
KR101886986B1 (en) Engineering tool program and engineering tool
JP4488231B2 (en) Program management device
WO2024014354A1 (en) Control program editing device, editing method, and program
JP2019106107A (en) Program, information processing apparatus, and screen test system
JP2021177272A (en) Debug support device, debug support method and program
JP3083552B2 (en) Hierarchy editing processor
US20040210867A1 (en) Sequence program editing apparatus
Le Comparing State Management Between Redux And Zustand In React

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090312

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4366605

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees