Nothing Special   »   [go: up one dir, main page]

JP2008293138A - Software development support program and software development support method - Google Patents

Software development support program and software development support method Download PDF

Info

Publication number
JP2008293138A
JP2008293138A JP2007136039A JP2007136039A JP2008293138A JP 2008293138 A JP2008293138 A JP 2008293138A JP 2007136039 A JP2007136039 A JP 2007136039A JP 2007136039 A JP2007136039 A JP 2007136039A JP 2008293138 A JP2008293138 A JP 2008293138A
Authority
JP
Japan
Prior art keywords
variable
development support
software development
target
monitoring target
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.)
Granted
Application number
JP2007136039A
Other languages
Japanese (ja)
Other versions
JP4877068B2 (en
Inventor
Daisuke Yoshihara
大助 吉原
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.)
Fuji Electric Assets Management Co Ltd
Original Assignee
Fuji Electric Assets Management Co Ltd
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 Fuji Electric Assets Management Co Ltd filed Critical Fuji Electric Assets Management Co Ltd
Priority to JP2007136039A priority Critical patent/JP4877068B2/en
Publication of JP2008293138A publication Critical patent/JP2008293138A/en
Application granted granted Critical
Publication of JP4877068B2 publication Critical patent/JP4877068B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a software development support technique, capable of efficiently setting the variables of a monitoring object in debugging, or the like, of software. <P>SOLUTION: In a development tool 170 of the software development support device 100 for developing a mechanical word object 320 to be executed in a target machine 200, when collecting conditional information 350 defining a collection condition for a variable value 333 of the monitoring object variable is set by a condition monitoring function 174, a variable contained in a source code 310 under screen display is automatically selected as the monitoring object variable and is stored in monitoring object variable information 340. The monitoring object variable information 340 is set in an address list memory 253 of the target machine 200, and the variable value 333 is stored in a value-holding memory 252 when the collecting condition is established and is recovered to the software development support device 100, to be displayed together with the variable of the source code 310. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ソフトウェア開発支援技術に関し、ソフトウェアのデバッグ工程等に適用して有効な技術に関する。   The present invention relates to a software development support technology, and more particularly to a technology effective when applied to a software debugging process.

ソフトウェア開発支援ツールのデバッグ機能の一つに、条件モニタという機能がある。この機能は、ある条件が成立した時点で、監視対象のアドレス値を保存しておき、任意のタイミングで、その値を表示する機能である。条件が成立してもプログラムを停止しないでデバッグする理由は、ターゲットマシンを停止できない状態が多いことに起因する。例えば、ターゲットマシンとしてプログラマブルロジックコントローラ(PLC)を用いた現場等である。   One of the debugging functions of the software development support tool is a condition monitor function. This function is a function for storing an address value to be monitored when a certain condition is satisfied and displaying the value at an arbitrary timing. The reason for debugging without stopping the program even if the condition is satisfied is that there are many states where the target machine cannot be stopped. For example, a site using a programmable logic controller (PLC) as a target machine.

一方で、変数のモニタ機能においては、定期的にデータをターゲットマシンから獲得するため、必ずしも条件が成立した時点の値が表示されるわけでは無い。そのため、デバッグを実施する場合、プログラムの論理を確認するためには、ある特定の条件(以下、採取条件と記す)が成立した時点の値を保持する、いわゆる条件モニタ機能が必要とされる。   On the other hand, in the variable monitoring function, since data is periodically acquired from the target machine, the value when the condition is satisfied is not necessarily displayed. Therefore, when performing debugging, in order to confirm the logic of the program, a so-called condition monitoring function is required that holds a value at the time when a specific condition (hereinafter referred to as a sampling condition) is established.

条件モニタ機能を実行する場合、採取条件と監視対象アドレスを予めターゲットマシンに設定する必要がある。プログラミングにおいてユーザが直接アドレスで記述していた場合、監視対象アドレスをアドレスの範囲で指定していた。   When executing the condition monitoring function, it is necessary to set the collection condition and the monitoring target address in the target machine in advance. When programming, the user directly described the address, the monitoring target address was specified within the address range.

しかし、ソフトウェアの規模が大きくなり、開発効率を高めるため、ユーザのプログラミングがアドレスで指定する方法から変数で指定する方法に変わってきた。変数値等のデバッグ情報の可読性を高めて、開発効率を向上させるためである。   However, in order to increase the scale of software and improve development efficiency, the user programming has changed from the method of specifying by address to the method of specifying by variable. This is to improve the readability of debugging information such as variable values and improve development efficiency.

そのため、監視対象の指定方法も、アドレスから変数(変数名)で指定するようになってきた。変数のアドレスはソースコードから機械語オブジェクトに変換する際にコンパイラが決定する。そのため、監視対象としてアドレスで指定することは困難であり、ユーザは変数を一つずつ指定することになる。   For this reason, monitoring target designation methods have also been designated by variables (variable names) from addresses. The address of the variable is determined by the compiler when converting from source code to machine language object. Therefore, it is difficult to specify an address as a monitoring target, and the user specifies variables one by one.

監視対象のアドレス値を保持するためには、ターゲットマシンの側でそれらの値を保持する必要がある。しかしながら、ターゲットマシンのメモリ容量、アドレス内容の保存をするための処理時間等の制約により、保存できるアドレスの個数に上限があり、モニタ可能な変数全てを監視対象として登録できない。そのため、監視対象のアドレスの個数は上限以内で設定する必要がある。   In order to hold the address value to be monitored, it is necessary to hold these values on the target machine side. However, due to restrictions such as the memory capacity of the target machine and the processing time for storing the address contents, there is an upper limit on the number of addresses that can be stored, and all variables that can be monitored cannot be registered as monitoring targets. Therefore, it is necessary to set the number of addresses to be monitored within the upper limit.

このようにプログラミングがアドレス記述から変数名での記述になるとともに、ターゲットマシンのメモリ容量も増加し、使用可能なアドレスの個数も増加している。これに伴い、デバッグにおける、監視対象の変数の個数も増加している。   As described above, the programming is changed from the address description to the variable name, the memory capacity of the target machine is increased, and the number of usable addresses is increased. Along with this, the number of variables to be monitored in debugging has also increased.

従って、ソースコードにおける数ある変数の中から、監視対象の変数を効率的に指定する技術が求められている。
特許文献1には、アプリケーションプログラムに記述されているラベル名と対応するアドレス値を格納したテーブルを実行可能ファイルに随伴させてプログラマブルロジックコントローラに書き込み、デバッグ時には、当該実行可能ファイルとテーブルを読み出して、アドレス値をラベル名で置換して表示することにより、デバッグ効率を向上させる技術が開示されている。
Therefore, there is a need for a technique for efficiently designating a variable to be monitored from among a number of variables in the source code.
In Patent Document 1, a table storing an address value corresponding to a label name described in an application program is written to a programmable logic controller in association with an executable file, and at the time of debugging, the executable file and the table are read. A technique for improving debugging efficiency by replacing an address value with a label name and displaying it is disclosed.

しかしながら、この特許文献1の場合には、上述のような多数の変数から監視対象の変数を効率的に指定するという技術的課題は認識されていない。
一方、特許文献2には、デバッグ割り込みの都度、利用者プログラム番号とステップ番号と変数の値をトレースバッファに格納し、このトレースバッファの値を読み出して表示する技術が開示されている。しかし、この特許文献2の場合にも、多数の変数から効率的に監視対象の変数の指定する、という上述の技術的課題の認識は見られない。
特開平11−338732号公報 特開平7−334211号公報
However, in the case of this patent document 1, the technical subject of specifying efficiently the variable of a monitoring object from many variables as mentioned above is not recognized.
On the other hand, Patent Document 2 discloses a technique in which a user program number, a step number, and a variable value are stored in a trace buffer each time a debug interrupt occurs, and the trace buffer value is read and displayed. However, even in the case of Patent Document 2, there is no recognition of the above-described technical problem of efficiently specifying a monitoring target variable from a large number of variables.
JP-A-11-338732 JP-A-7-334211

本発明の目的は、ソフトウェアのデバッグ等において、監視対象の変数を効率的に設定することが可能なソフトウェア開発支援技術を提供することにある。
本発明の他の目的は、ターゲットマシンに必要以上に大きなメモリ容量を必要とすることなく、効率的なデバッグを行うことが可能なソフトウェア開発支援技術を提供することにある。
An object of the present invention is to provide a software development support technology capable of efficiently setting a variable to be monitored in software debugging or the like.
Another object of the present invention is to provide a software development support technique capable of performing efficient debugging without requiring a larger memory capacity than necessary for a target machine.

本発明の第1の観点は、ソースコードからターゲットマシンで実行される機械語オブジェクト、および前記ソースコードに定義された変数と当該変数の前記機械語オブジェクトにおけるアドレス情報との対応関係が記録された変数アドレス対応表を生成する処理と、
前記ソースコードから前記変数を抽出し、監視対象の候補として登録する処理と、
前記監視対象の候補から実際に監視する対象が選択されたとき、前記監視対象の候補を監視対象として登録する処理と、
前記ターゲットマシンから前記監視対象の前記変数の値を採取するにあたって、そのトリガーとなる条件を採取条件として登録する処理と、
前記変数アドレス対応表に基づき、前記監視対象となる前記アドレス情報を特定する処理と、
前記機械語オブジェクトおよび前記採取条件および前記アドレス情報を前記ターゲットマシンに転送する処理と、
前記機械語オブジェクトが前記ターゲットマシンで実行されるときに、前記採取条件に基づいて採取される前記監視対象の値を前記ターゲットマシンから受信し、前記変数アドレス対応表に基づいて前記変数と対応づけて表示する処理と、
をコンピュータに実行させるソフトウェア開発支援プログラムを提供する。
In the first aspect of the present invention, a machine language object executed on a target machine from a source code, and a correspondence relationship between a variable defined in the source code and address information of the variable in the machine language object are recorded. Processing to generate a variable address correspondence table;
Processing for extracting the variables from the source code and registering them as candidates for monitoring;
When a target to be actually monitored is selected from the monitoring target candidates, a process of registering the monitoring target candidate as a monitoring target;
In collecting the value of the variable to be monitored from the target machine, a process of registering a trigger condition as a collection condition;
Based on the variable address correspondence table, processing for specifying the address information to be monitored,
A process of transferring the machine language object and the collection condition and the address information to the target machine;
When the machine language object is executed on the target machine, the monitoring target value collected based on the collection condition is received from the target machine, and is associated with the variable based on the variable address correspondence table. Processing to display
A software development support program for causing a computer to execute the program is provided.

本発明の第2の観点は、第1の観点に記載のソフトウェア開発支援プログラムにおいて、
前記監視対象の候補から実際に監視する対象が指定されなかったとき、前記監視対象の候補全てを前記監視対象として登録する処理を前記コンピュータに実行させるソフトウェア開発支援プログラムを提供する。
According to a second aspect of the present invention, in the software development support program according to the first aspect,
Provided is a software development support program for causing a computer to execute a process of registering all of the monitoring target candidates as the monitoring target when the monitoring target candidate is not designated from the monitoring target candidates.

本発明の第3の観点は、第1の観点または第2の観点のいずれかに記載のソフトウェア開発支援プログラムにおいて、
前記ソースコードに記述された関数に含まれる前記変数、または前記採取条件の登録時に前記ソースコードの表示画面上に表示されている前記変数、または予め一つ或いは複数の前記変数をグループ化し、該グループに含まれる前記変数を、前記監視対象の候補として登録するソフトウェア開発支援プログラムを提供する。
According to a third aspect of the present invention, in the software development support program according to the first aspect or the second aspect,
Grouping the variables included in the function described in the source code, the variables displayed on the source code display screen at the time of registration of the collection conditions, or one or a plurality of the variables in advance, Provided is a software development support program for registering the variables included in a group as the monitoring target candidates.

本発明の第4の観点は、第1の観点または第2の観点のいずれかに記載のソフトウェア
開発支援プログラムにおいて、
さらに、登録された監視対象の前記変数に対して、ある単位毎に監視対象の有効/無効の設定を受け付ける処理を前記コンピュータに実行させるソフトウェア開発支援プログラムを提供する。
According to a fourth aspect of the present invention, in the software development support program according to either the first aspect or the second aspect,
Furthermore, a software development support program is provided for causing the computer to execute processing for accepting setting of monitoring target valid / invalid for each unit of the registered monitoring target variable.

本発明の第5の観点は、第1の観点乃至第4の観点のいずれか一つに記載のソフトウェア開発支援プログラムにおいて、
前記ターゲットマシンは、プログラマブルロジックコントローラ(PLC)であるソフトウェア開発支援プログラムを提供する。
According to a fifth aspect of the present invention, in the software development support program according to any one of the first to fourth aspects,
The target machine provides a software development support program that is a programmable logic controller (PLC).

本発明の第6の観点は、ソースコードからターゲットマシンで実行される機械語オブジェクト、および前記ソースコードに定義された変数と当該変数の前記機械語オブジェクトにおけるアドレス情報との対応関係が記録された変数アドレス対応表を生成するステップと、
前記ソースコードから前記変数を抽出し、監視対象の候補として登録するステップと、
前記監視対象の候補から実際に監視する対象が選択されたとき、前記監視対象の候補を監視対象として登録するステップと、
前記ターゲットマシンから前記監視対象の前記変数の値を採取するにあたって、そのトリガーとなる条件を採取条件として登録するステップと、
前記変数アドレス対応表に基づき、前記監視対象となる前記アドレス情報を特定するステップと、
前記機械語オブジェクトおよび前記採取条件および前記アドレス情報を前記ターゲットマシンに転送するステップと、
前記機械語オブジェクトが前記ターゲットマシンで実行されるときに、前記採取条件に基づいて採取される前記監視対象の値を前記ターゲットマシンから受信し、前記変数アドレス対応表に基づいて前記変数と対応づけて表示するステップと、
を含むソフトウェア開発支援方法を提供する。
According to a sixth aspect of the present invention, a machine language object executed on a target machine from a source code, and a correspondence relationship between a variable defined in the source code and address information of the variable in the machine language object are recorded. Generating a variable address correspondence table;
Extracting the variables from the source code and registering them as candidates for monitoring;
Registering the monitoring target candidate as a monitoring target when a target to be actually monitored is selected from the monitoring target candidates;
In collecting the value of the monitored variable from the target machine, registering a trigger condition as a collection condition;
Identifying the address information to be monitored based on the variable address correspondence table;
Transferring the machine language object and the collection condition and the address information to the target machine;
When the machine language object is executed on the target machine, the monitoring target value collected based on the collection condition is received from the target machine, and is associated with the variable based on the variable address correspondence table. Step to display,
Software development support method including

本発明の第7の観点は、第6の観点に記載のソフトウェア開発支援方法において、
前記監視対象の候補から実際に監視する対象が指定されなかったとき、前記監視対象の候補全てを前記監視対象として登録するソフトウェア開発支援方法を提供する。
According to a seventh aspect of the present invention, in the software development support method according to the sixth aspect,
Provided is a software development support method for registering all of the monitoring target candidates as the monitoring target when the monitoring target candidate is not designated from the monitoring target candidates.

本発明の第8の観点は、第6の観点または第7の観点のいずれかに記載のソフトウェア開発支援方法において、
登録された監視対象の前記変数に対して、ある単位毎に監視対象の有効/無効の設定を行うソフトウェア開発支援方法を提供する。
According to an eighth aspect of the present invention, in the software development support method according to any one of the sixth aspect and the seventh aspect,
Provided is a software development support method for setting valid / invalid of a monitoring target for each unit for the registered monitoring target variable.

本発明の第9の観点は、第6の観点または第7の観点のいずれかに記載のソフトウェア開発支援方法において、
監視対象の前記変数の登録を自動的に行うステップでは、前記ソースコードに記述された関数に含まれる前記変数、または前記採取条件の登録時に前記ソースコードの表示画面上に表示されている前記変数、または予め一つ或いは複数の前記変数をグループ化し、該グループに含まれる前記変数を、前記監視対象の候補として登録するソフトウェア開発支援方法を提供する。
According to a ninth aspect of the present invention, in the software development support method according to the sixth aspect or the seventh aspect,
In the step of automatically registering the variable to be monitored, the variable included in the function described in the source code, or the variable displayed on the source code display screen when registering the sampling condition Alternatively, a software development support method for grouping one or a plurality of the variables in advance and registering the variables included in the group as candidates for the monitoring target is provided.

本発明の第10の観点は、第6の観点乃至第9の観点のいずれか一つに記載のソフトウェア開発支援方法において、
前記ターゲットマシンは、プログラマブルロジックコントローラ(PLC)であるソフトウェア開発支援方法を提供する。
According to a tenth aspect of the present invention, in the software development support method according to any one of the sixth to ninth aspects,
The target machine provides a software development support method that is a programmable logic controller (PLC).

デバッグ時、監視対象変数の登録を手動で実施するのは、手間のかかる作業であり、本発明では、効率よく変数を登録できるように操作性を改善する。
ユーザがデバッグをする場合、複数のソースコードにまたがって採取条件を設定する。大抵ソースコードは、機能毎に記述されてあるため、ソースコード単位で、監視対象の変数を登録することになる。しかし、監視対象の変数の個数には、上限が存在するため、上限を超えた場合、監視対象の変数を減らす必要がある。監視対象の変数を1つずつ指定するのは、効率が悪いため、本発明では、必要に応じて、ソースコード単位で有効/無効の設定を変更できるようにする。
Manual registration of variables to be monitored at the time of debugging is a troublesome work. In the present invention, operability is improved so that variables can be registered efficiently.
When the user debugs, the collection condition is set across multiple source codes. Since source code is usually described for each function, variables to be monitored are registered in units of source code. However, since there is an upper limit for the number of variables to be monitored, if the upper limit is exceeded, it is necessary to reduce the number of variables to be monitored. Since it is inefficient to specify the variables to be monitored one by one, the present invention makes it possible to change the valid / invalid setting for each source code as necessary.

本発明は、コンピュータ上で動作する開発支援ツールに適用することができる。開発支援ツールは、プログラム編集機能、コンパイル機能、通信機能を有する。更に、各機能が利用するための情報を記録する機能を有する。   The present invention can be applied to a development support tool operating on a computer. The development support tool has a program editing function, a compilation function, and a communication function. Further, it has a function of recording information for use by each function.

コンパイラ機能は、ユーザが作成した、ソースコードをコンパイルする時、変数を実際のターゲットマシン上で動作するアドレスに割り付ける。それらの情報を変数アドレス対応表として保存する。   The compiler function assigns variables to addresses that run on the actual target machine when compiling source code created by the user. The information is stored as a variable address correspondence table.

条件モニタの採取条件を設定する時、ユーザは、プログラム編集機能上で、採取条件を設定する。その場合、プログラム編集機能で画面表示されている変数を抽出し、抽出した変数を監視対象変数の候補として開発支援ツールが登録する。   When setting the collection conditions of the condition monitor, the user sets the collection conditions on the program editing function. In that case, a variable displayed on the screen is extracted by the program editing function, and the development support tool registers the extracted variable as a monitoring target variable candidate.

開発支援ツールは、候補として登録された変数を一覧としてユーザに表示する画面を有する。ユーザがソースコード上で採取条件を設定した前後の変数は、ユーザにとって、監視対象にする変数であることが多いためである。   The development support tool has a screen for displaying variables registered as candidates to the user as a list. This is because the variables before and after the user sets the collection conditions on the source code are often variables to be monitored by the user.

監視対象の変数の個数には、上限がある。そのため、上限以内に監視対象変数の個数を収める必要がある。開発支援ツールでは、候補の変数を一覧で表示する画面を有し、その画面上で、候補の個々の変数に対して、監視対象として有効/無効の設定を実施できる機能を有する(例えば、変数名の前にチェックボックスを付け、有効/無効を設定する)。更に、ある単位毎に候補の変数を表示できるようにし(例えば、ソースコード単位で変数を表示する)、表示されている変数全てに対して有効/無効の設定を一括で実施できるようにする。   There is an upper limit on the number of variables to be monitored. Therefore, it is necessary to keep the number of monitored variables within the upper limit. The development support tool has a screen that displays a list of candidate variables, and has a function that enables setting of valid / invalid as a monitoring target for each candidate variable on the screen (for example, a variable Check box before name to enable / disable). Further, candidate variables can be displayed for each unit (for example, variables are displayed in units of source code), and valid / invalid settings can be collectively performed for all displayed variables.

本発明によれば、ソフトウェアのデバッグ等において、監視対象の変数を効率的に設定することが可能なソフトウェア開発支援技術を提供することができる。
また、ターゲットマシンに必要以上に大きなメモリ容量を必要とすることなく、効率的なデバッグを行うことが可能なソフトウェア開発支援技術を提供することができる。
According to the present invention, it is possible to provide a software development support technology capable of efficiently setting a monitoring target variable in software debugging or the like.
In addition, it is possible to provide a software development support technology capable of performing efficient debugging without requiring a larger memory capacity than necessary for the target machine.

以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
図1は、本発明の一実施の形態であるソフトウェア開発支援方法を実施するソフトウェア開発支援装置の原理を示すブロック図、図2は、本発明の一実施の形態であるソフトウェア開発支援装置およびターゲットマシンの構成例を示す概念図である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing the principle of a software development support apparatus for executing a software development support method according to an embodiment of the present invention, and FIG. 2 is a software development support apparatus and target according to an embodiment of the present invention. It is a conceptual diagram which shows the structural example of a machine.

図2に例示されるように、本実施の形態のプログラマブルコントローラシステムは、ソフトウェア開発支援装置100と、ターゲットマシン200を含んでいる。
ソフトウェア開発支援装置100は、マイクロプロセッサ110、主記憶120、外部記憶装置130、キーボード141、ディスプレイ142、通信インタフェース150を含むコンピュータで構成されている。
As illustrated in FIG. 2, the programmable controller system of the present embodiment includes a software development support apparatus 100 and a target machine 200.
The software development support apparatus 100 is configured by a computer including a microprocessor 110, a main memory 120, an external storage device 130, a keyboard 141, a display 142, and a communication interface 150.

主記憶120には、基本ソフトウェアとしてオペレーティングシステム160が実装され、マイクロプロセッサ110がこのオペレーティングシステム160を実行することで、ソフトウェア開発支援装置100の全体を制御する。   An operating system 160 is installed in the main memory 120 as basic software, and the microprocessor 110 executes the operating system 160 to control the entire software development support apparatus 100.

本実施の形態の場合、この主記憶120には、ソフトウェアとしての開発支援ツール170が実装されている。
そして、マイクロプロセッサ110が、この開発支援ツール170を実行することで、後述のような各種のソフトウェア開発支援処理を行う。
In the case of the present embodiment, a development support tool 170 as software is mounted on the main memory 120.
The microprocessor 110 executes the development support tool 170 to perform various software development support processes as described below.

すなわち、本実施の形態の場合には、開発支援ツール170は、図1に例示されるようにモニタ機能171、ユーザインタフェース機能172、コンパイル機能173、条件モニタ機能174、通信機能175を備えている。   That is, in the case of the present embodiment, the development support tool 170 includes a monitor function 171, a user interface function 172, a compile function 173, a condition monitor function 174, and a communication function 175 as illustrated in FIG. .

モニタ機能171は、後述のように通信機能175を利用しターゲットマシン200の値保持メモリ252からアドレス情報332に対応した変数値333の情報を読み出し、その値を表示する処理を行う。   As will be described later, the monitor function 171 uses the communication function 175 to read information on the variable value 333 corresponding to the address information 332 from the value holding memory 252 of the target machine 200 and display the value.

ユーザインタフェース機能172は、ソースコード310の編集機能等を提供する。
コンパイル機能173は、ソースコード310から機械語オブジェクト320に変換する処理および変数−アドレス対応表330を生成する処理を行う。
The user interface function 172 provides a function for editing the source code 310 and the like.
The compiling function 173 performs processing for converting the source code 310 into the machine language object 320 and processing for generating the variable-address correspondence table 330.

条件モニタ機能174は、ユーザからの条件入力を受け付けて、採取条件情報350に格納する処理を行うとともに、後述のように監視対象の変数を監視対象変数情報340に自動的に格納する処理を行う。   The condition monitor function 174 receives a condition input from the user, performs a process of storing it in the collection condition information 350, and performs a process of automatically storing a monitoring target variable in the monitoring target variable information 340 as described later. .

通信機能175は、ターゲットマシン200との間の情報通信を行う。
図2に例示されるように外部記憶装置130は、ソースコード310、機械語オブジェクト320、変数−アドレス対応表330、監視対象変数情報340、採取条件情報350をファイルとして保持する。
The communication function 175 performs information communication with the target machine 200.
As illustrated in FIG. 2, the external storage device 130 holds a source code 310, a machine language object 320, a variable-address correspondence table 330, monitoring target variable information 340, and collection condition information 350 as files.

キーボード141、ディスプレイ142は、ソフトウェア開発支援装置100を制御するためのユーザ入力や、ソースコード310の編集、デバッグ時の監視対象の変数の指定や採取条件の指定入力等に用いられる。   The keyboard 141 and the display 142 are used for user input for controlling the software development support apparatus 100, editing of the source code 310, designation of variables to be monitored during debugging, designation of collection conditions, and the like.

通信インタフェース150は、上述の通信機能175の制御下で、ターゲットマシン200とソフトウェア開発支援装置100との間の情報通信を実行する。
図3は、監視対象変数情報340の構成例を示す概念図である。監視対象変数情報340は、変数名341と、有効フラグ342からなる。
The communication interface 150 executes information communication between the target machine 200 and the software development support apparatus 100 under the control of the communication function 175 described above.
FIG. 3 is a conceptual diagram illustrating a configuration example of the monitoring target variable information 340. The monitoring target variable information 340 includes a variable name 341 and a valid flag 342.

変数名341は、監視対象として選択された変数に付与された名称である。有効フラグ342は、選択済みの変数名341を、一時的に有効にしたり無効にしたりするためのフラグである。この有効フラグ342は、後述の監視対象変数一覧画面440の有効/無効チェックボックス443の操作によってON(有効)/OFF(無効)される。   The variable name 341 is a name given to the variable selected as the monitoring target. The valid flag 342 is a flag for temporarily validating or invalidating the selected variable name 341. This valid flag 342 is turned ON (valid) / OFF (invalid) by an operation of a valid / invalid check box 443 on a monitoring target variable list screen 440 described later.

図1に例示されるように、採取条件情報350は、監視対象の変数の変数値333の採取のトリガーを規定する採取条件350aが設定される。
図4は、変数−アドレス対応表330の構成例を示す概念図である。変数−アドレス対応表330は、変数名331とアドレス情報332からなる。
As illustrated in FIG. 1, the collection condition information 350 is set with a collection condition 350 a that defines a trigger for collecting the variable value 333 of the monitored variable.
FIG. 4 is a conceptual diagram showing a configuration example of the variable-address correspondence table 330. The variable-address correspondence table 330 includes variable names 331 and address information 332.

変数名331には上述の変数名341が設定される。アドレス情報332には、ターゲットマシン200におけるアドレスの位置を特定する“アドレス番地”等の情報が格納される。そこで、アドレス情報332は変数名331のアドレス番地に相当する。   The variable name 341 is set to the variable name 341 described above. The address information 332 stores information such as “address address” that specifies the address position in the target machine 200. Therefore, the address information 332 corresponds to the address address of the variable name 331.

一方、本実施の形態のターゲットマシン200は、たとえば、産業機器を制御するプログラマブルロジックコントローラからなる。図2に例示されるように、ターゲットマシン200は、汎用マイコン210、システムメモリ220、通信インタフェース230、不揮発メモリ240を含んでいる。   On the other hand, the target machine 200 according to the present embodiment includes, for example, a programmable logic controller that controls industrial equipment. As illustrated in FIG. 2, the target machine 200 includes a general-purpose microcomputer 210, a system memory 220, a communication interface 230, and a nonvolatile memory 240.

システムメモリ220には、汎用マイコン210が実行するソフトウェアやデータが格納される。
不揮発メモリ240には、ソフトウェア開発支援装置100から受信した機械語オブジェクト320が格納される。
The system memory 220 stores software and data executed by the general-purpose microcomputer 210.
The machine language object 320 received from the software development support apparatus 100 is stored in the nonvolatile memory 240.

通信インタフェース230は、汎用通信線231を介してソフトウェア開発支援装置100との情報通信を行う。なお、ソフトウェア開発支援装置100と、ターゲットマシン200との通信方法は汎用通信線231を介したものに限っておらず、例えば無線であっても、記憶媒体を介した方法であっても良い。   The communication interface 230 performs information communication with the software development support apparatus 100 via the general-purpose communication line 231. Note that the communication method between the software development support apparatus 100 and the target machine 200 is not limited to that via the general-purpose communication line 231, and may be, for example, wireless or a method via a storage medium.

また、通信インタフェース230は、被制御機器通信線232を介して、プログラマブルロジックコントローラとして機能するターゲットマシン200(ユーザプログラム320A)の制御対象である図示しない産業機器等との間における情報通信を行う。   In addition, the communication interface 230 performs information communication with an unillustrated industrial device or the like that is a control target of the target machine 200 (user program 320A) that functions as a programmable logic controller via the controlled device communication line 232.

上述のシステムメモリ220には、不揮発メモリ240に格納された一つまたは複数の機械語オブジェクト320の組合せからなるユーザプログラム320Aが格納され、このユーザプログラム320Aを汎用マイコン210が実行することで、プログラマブルコントローラとしての所望の機能が実現される。   The system memory 220 described above stores a user program 320A that is a combination of one or more machine language objects 320 stored in the non-volatile memory 240, and the user program 320A is executed by the general-purpose microcomputer 210 to be programmable. A desired function as a controller is realized.

この場合、システムメモリ220には、ユーザプログラム320Aの実行を管理したり、ソフトウェア開発支援装置100と連携してユーザプログラム320Aのデバッグを実現するターゲット管理部250、条件判定部251等のプログラムが格納されている。   In this case, the system memory 220 stores programs such as a target management unit 250 and a condition determination unit 251 that manage the execution of the user program 320A and that debug the user program 320A in cooperation with the software development support apparatus 100. Has been.

また、システムメモリ220には、ターゲット管理部250、条件判定部251が使用する値保持メモリ252、アドレス一覧メモリ253が格納されている。
アドレス一覧メモリ253には、後述のようにしてソフトウェア開発支援装置100のモニタ機能171から受信した監視対象の変数に対応する一つまたは複数のアドレス情報332と、対応する採取条件350aが格納される。
Further, the system memory 220 stores a value management memory 252 and an address list memory 253 used by the target management unit 250, the condition determination unit 251.
The address list memory 253 stores one or a plurality of address information 332 corresponding to the monitoring target variable received from the monitoring function 171 of the software development support apparatus 100 and a corresponding collection condition 350a as described later. .

値保持メモリ252には、採取条件350aが成立した時に、アドレス一覧メモリ253に設定されたアドレス情報332に格納されている値(変数値333)が記録される。
以下、本実施の形態のソフトウェア開発支援装置100およびターゲットマシン200のデバッグ時の作用を説明する。
The value holding memory 252 records a value (variable value 333) stored in the address information 332 set in the address list memory 253 when the collection condition 350a is established.
Hereinafter, the operation at the time of debugging of the software development support apparatus 100 and the target machine 200 of the present embodiment will be described.

上記で説明したように、ソフトウェア開発支援装置100上で開発支援ツール170が動作する(図2参照)。
次に、図1に例示されるように、開発支援ツール170は、モニタ機能171、ユーザがソースコード310を記述するユーザインタフェース機能172と、ユーザが作成したソースコード310をターゲットマシン200上で動作する機械語オブジェクト320に変換するコンパイル機能173と、監視対象変数情報340、採取条件情報350を設定する条件モニタ機能174と、開発支援ツール170とターゲットマシン200間でデー
タを送受信する通信機能175を含んでいる。
As described above, the development support tool 170 operates on the software development support apparatus 100 (see FIG. 2).
Next, as illustrated in FIG. 1, the development support tool 170 operates the monitor function 171, the user interface function 172 in which the user describes the source code 310, and the source code 310 created by the user on the target machine 200. A compiling function 173 for converting the machine language object 320 to be performed, a condition monitoring function 174 for setting monitoring target variable information 340 and collection condition information 350, and a communication function 175 for transmitting and receiving data between the development support tool 170 and the target machine 200. Contains.

モニタ機能171は、通信機能175を利用しターゲットマシン200の値保持メモリ252からアドレス情報332に対応した変数値333の情報を読み出し、その値を表示する。   The monitor function 171 reads the information of the variable value 333 corresponding to the address information 332 from the value holding memory 252 of the target machine 200 using the communication function 175, and displays the value.

ソースコード310は、開発支援ツール170のコンパイル機能173により、機械語オブジェクト320と変数−アドレス対応表330に変換される。
機械語オブジェクト320は、ターゲットマシン200上で動作する命令の集合体であり、一つまたは複数の機械語オブジェクト320が組み合わされてユーザプログラム320Aとしてターゲットマシン200上で動作する。
The source code 310 is converted into a machine language object 320 and a variable-address correspondence table 330 by the compilation function 173 of the development support tool 170.
The machine language object 320 is a collection of instructions that operate on the target machine 200, and one or a plurality of machine language objects 320 are combined to operate on the target machine 200 as a user program 320A.

変数−アドレス対応表330は、ソースコード310上でユーザが記述した変数(変数名331)と、コンパイル機能173が割り付けたアドレス情報332との対応関係の情報である。   The variable-address correspondence table 330 is information on a correspondence relationship between a variable (variable name 331) described by the user on the source code 310 and the address information 332 assigned by the compilation function 173.

モニタ機能171は、ユーザインタフェース機能172の画面上にソースコードと変数の値を表示する。図5は、このとき、ソフトウェア開発支援装置100のディスプレイ142に表示されるモニタ画面410の一例を示す図である。   The monitor function 171 displays the source code and variable values on the screen of the user interface function 172. FIG. 5 is a diagram showing an example of the monitor screen 410 displayed on the display 142 of the software development support apparatus 100 at this time.

モニタ画面410は、ソースコード表示領域411、変数値表示領域412、シーケンスチャート表示領域413を含んでいる。
ソースコード表示領域411にはソースコード310が表示される。このソースコード310は、ユーザインタフェース機能172によってユーザが入力したものである。
The monitor screen 410 includes a source code display area 411, a variable value display area 412, and a sequence chart display area 413.
A source code 310 is displayed in the source code display area 411. This source code 310 is input by the user through the user interface function 172.

変数値表示領域412には、ターゲットマシン200の値保持メモリ252から読み出された変数値333が、ソースコード表示領域411の変数と対応する行に表示される。
すなわち、変数の値(変数値333)は、コンパイル機能173が作成した変数−アドレス対応表330から変数のアドレス情報332を取り出し、ターゲットマシン200のターゲット管理部250に対して、通信機能175を経由して当該アドレス情報332を通知して値保持メモリ252から読み出すことで獲得する。獲得した変数値333は、モニタ機能171によりモニタ画面410の変数値表示領域412に表示する。
In the variable value display area 412, the variable value 333 read from the value holding memory 252 of the target machine 200 is displayed in a line corresponding to the variable in the source code display area 411.
That is, the variable value (variable value 333) is obtained from the variable address information table 332 created by the compile function 173 and is sent to the target management unit 250 of the target machine 200 via the communication function 175. Then, the address information 332 is notified and acquired by reading from the value holding memory 252. The acquired variable value 333 is displayed in the variable value display area 412 of the monitor screen 410 by the monitor function 171.

なお、本実施の形態の場合、モニタ画面410のシーケンスチャート表示領域413には、PLCでよくに用いられているラダープログラムに対応したシーケンスチャートが表示される。機械語オブジェクト320は、上述のラダープログラムと等価な機能をターゲットマシン200で実現するようにプログラムされている。   In the case of the present embodiment, a sequence chart corresponding to a ladder program often used in PLC is displayed in the sequence chart display area 413 of the monitor screen 410. The machine language object 320 is programmed so as to realize a function equivalent to the ladder program described above on the target machine 200.

モニタ画面410のように、シーケンスチャート表示領域413とソースコード表示領域411とを同時に表示する事により、ユーザはシーケンスチャートとソースコード310とを対応付けて確認できる。   By displaying the sequence chart display area 413 and the source code display area 411 simultaneously as in the monitor screen 410, the user can check the sequence chart and the source code 310 in association with each other.

条件モニタ機能174は、ユーザがモニタ上から採取条件を入力する。図6は、この条件モニタ機能174の操作画面である採取条件設定画面430の例を示している。この採取条件設定画面430には、条件入力欄431、比較データ入力欄432等の入力欄が設けられている。これらの入力欄を用いてユーザから設定された採取条件は、採取条件情報350に保存する。図6の例では、変数の値が100になった時、当該変数の変数値333を採取して保存する採取条件が成立する。   In the condition monitor function 174, the user inputs a collection condition from the monitor. FIG. 6 shows an example of a collection condition setting screen 430 that is an operation screen of the condition monitor function 174. The collection condition setting screen 430 is provided with input fields such as a condition input field 431 and a comparison data input field 432. Collection conditions set by the user using these input fields are stored in the collection condition information 350. In the example of FIG. 6, when the value of the variable reaches 100, the collection condition for collecting and storing the variable value 333 of the variable is satisfied.

図7に示されるように、ユーザがソースコード表示領域411のソースコード310上
で、対象となる変数(ここでは、cnt1)のダブルクリック等の動作を行うと、これを検知した条件モニタ機能174はより採取条件設定画面430(図6参照)を表示する。この時、ソースコード表示領域411のソースコード上に表示されている複数の変数を監視対象変数情報340に登録する。
As shown in FIG. 7, when the user performs an operation such as double-clicking on a target variable (here, cnt1) on the source code 310 in the source code display area 411, the condition monitoring function 174 that detects this is performed. Displays the collection condition setting screen 430 (see FIG. 6). At this time, a plurality of variables displayed on the source code in the source code display area 411 are registered in the monitoring target variable information 340.

すなわち、本実施の形態の場合には、一例として、条件モニタ機能174は、ソースコード表示領域411に表示中のソースコードの可視範囲に存在する変数や関数の一つをユーザがダブルクリック等の動作で選択したことを契機に、当該変数(関数)および/または可視範囲に存在する関数に含まれる変数のすべてを監視対象変数情報340に自動的に登録する。   That is, in the case of the present embodiment, as an example, the condition monitor function 174 allows the user to double-click one of the variables or functions existing in the visible range of the source code displayed in the source code display area 411. When selected by the operation, all the variables included in the variable (function) and / or the function existing in the visible range are automatically registered in the monitoring target variable information 340.

なお、関数は一例であり、サブルーチン名、分岐先名等の任意の論理ブロック名でもよい。
図8は、監視対象変数一覧画面440の一例を示している。監視対象変数一覧画面440は、変数表示欄441、インスタンス表示欄442を含んでいる。ソースコード表示領域411のソースコード上には、変数としてcnt、cnt1が表示されているため(図7、参照)、監視対象の変数としてこれらを登録できる。変数の抽出技術には、既存の仕組みを利用する。例えば、コンパイル時に、ソースコードの位置と変数を関連付ける方法や、表示されているソースコード310を文法解析(パージング)し、変数名341の文字列を取り出す方法、等を用いる。
The function is an example, and an arbitrary logical block name such as a subroutine name or a branch destination name may be used.
FIG. 8 shows an example of the monitoring target variable list screen 440. The monitoring target variable list screen 440 includes a variable display field 441 and an instance display field 442. Since cnt and cnt1 are displayed as variables on the source code in the source code display area 411 (see FIG. 7), these can be registered as variables to be monitored. An existing mechanism is used for the variable extraction technique. For example, a method of associating the position of the source code with a variable at the time of compilation, a method of parsing the displayed source code 310 and extracting a character string of the variable name 341, or the like is used.

監視対象に登録できる変数には、上限があるため、条件モニタ機能174を実行する時、その上限を検査する。もし、上限を超えている場合は、図9に例示されるようなエラー警告メッセージ449等を監視対象変数一覧画面440に表示して、採取条件に基づいて変数の変数値333を採取する条件モニタを実施できないようにする。   Since a variable that can be registered as a monitoring target has an upper limit, the upper limit is checked when the condition monitor function 174 is executed. If the upper limit is exceeded, an error warning message 449 or the like as illustrated in FIG. 9 is displayed on the monitoring target variable list screen 440, and a condition monitor that collects the variable value 333 of the variable based on the collection condition Can not be implemented.

上限以内の場合は、条件モニタを実行する。監視対象の変数を削除する方法としては、図10に例示される監視対象変数一覧画面440の画面上の変数一覧で削除対象の変数を選択し削除する。大抵は、ソースコード毎で監視対象変数が変わるため、図10の監視対象変数一覧画面440のように画面毎に変数の一覧を表示するようにし、変数全てを選択し削除できるようにする。   If it is within the upper limit, the condition monitor is executed. As a method of deleting the monitoring target variable, the deletion target variable is selected and deleted from the variable list on the monitoring target variable list screen 440 illustrated in FIG. In most cases, since the monitoring target variable changes for each source code, a list of variables is displayed for each screen as in the monitoring target variable list screen 440 of FIG. 10 so that all variables can be selected and deleted.

登録された変数を削除すると、再度登録するための煩雑な操作が必要となるので、操作性を向上させるため、一旦登録された各変数毎に有効/無効の状態を持つようにする。
例えば、図10に例示される監視対象変数一覧画面440では、画面の左端に各変数の表示位置に対応して有効/無効チェックボックス443を設け、この有効/無効チェックボックス443にチェックが付いている場合は有効であることを示し、外れている場合は無効であることを示す。全て削除ボタンの他に、全て有効ボタン444、全て無効ボタン445等のボタンを追加し、これらのボタンを押された場合、各変数の有効/無効の状態を変更する。すなわち、上述の監視対象変数情報340の有効フラグ342を設定する。有効フラグ342の状態が有効のものが監視対象の変数である。
If a registered variable is deleted, a complicated operation for re-registering is required. Therefore, in order to improve operability, each registered variable is allowed to have a valid / invalid state.
For example, in the monitoring target variable list screen 440 illustrated in FIG. 10, a valid / invalid check box 443 is provided corresponding to the display position of each variable at the left end of the screen, and this valid / invalid check box 443 is checked. When it is, it indicates that it is valid, and when it is off, it indicates that it is invalid. In addition to the delete all button, buttons such as an all valid button 444 and an all invalid button 445 are added, and when these buttons are pressed, the valid / invalid state of each variable is changed. That is, the valid flag 342 of the monitoring target variable information 340 is set. Variables to be monitored are those in which the valid flag 342 is valid.

開発支援ツール170は、監視対象の変数(変数名331)から変数−アドレス対応表330を用いて変数のアドレス情報332を獲得する。獲得したアドレス情報332と採取条件情報350を通信機能175でターゲットマシン200に送信する。   The development support tool 170 acquires variable address information 332 from the monitored variable (variable name 331) using the variable-address correspondence table 330. The acquired address information 332 and collection condition information 350 are transmitted to the target machine 200 by the communication function 175.

ターゲットマシン200は、それらの情報をアドレス一覧メモリ253に保持する。ターゲットマシン200は、機械語オブジェクト320(機械語オブジェクト320で構成されたユーザプログラム320A)の実行中に、条件判定部251によって条件成立の検査を実施する。条件が成立した時、アドレス一覧メモリ253に設定された監視対象の変
数のアドレス情報332から、ユーザプログラム320Aにおける監視対象のアドレスにある値(変数値333)を保存する。
The target machine 200 holds the information in the address list memory 253. The target machine 200 performs a condition satisfaction test by the condition determination unit 251 during execution of the machine language object 320 (the user program 320A configured by the machine language object 320). When the condition is satisfied, the value (variable value 333) at the monitoring target address in the user program 320A is stored from the address information 332 of the monitoring target variable set in the address list memory 253.

モニタ機能171は、定期的にターゲットマシン200の状態を監視し、条件が成立した場合、値保持メモリ252に保存されているデータを読み出す。
モニタ機能171は、通常の表示(定期的にターゲットマシン200から読み出した値の表示)と条件が成立した場合の表示を区別するための情報を画面に表示する。例えば、図11に例示される条件成立時表示画面450の表示例のようにステータスバー451に条件が成立し、条件モニタが停止していることを示す文字列(メッセージ452)(この場合、“条件モニタ停止中”)を表示する。
The monitor function 171 periodically monitors the state of the target machine 200, and reads data stored in the value holding memory 252 when the condition is satisfied.
The monitor function 171 displays information for distinguishing between normal display (display of values read from the target machine 200 periodically) and display when the condition is satisfied. For example, a character string (message 452) indicating that the condition is satisfied in the status bar 451 and the condition monitor is stopped as in the display example of the condition satisfaction display screen 450 illustrated in FIG. “Condition monitor is stopped”) is displayed.

条件モニタの場合、監視対象として登録した変数のアドレス以外の値は、不定になる。そのため、登録した以外の変数の値は、不定であることを画面上で表示する。例えば、監視対象に登録されている変数は変数値333を表示し、それ以外の変数は、図12に例示されるソースコード表示画面420のように、不定文字列414として“???”を表示する。   In the case of condition monitoring, values other than the addresses of variables registered as monitoring targets are undefined. Therefore, it is displayed on the screen that the values of the variables other than the registered values are indefinite. For example, a variable registered as a monitoring target displays a variable value 333, and other variables display “????” as an indefinite character string 414 as in the source code display screen 420 illustrated in FIG. indicate.

図13は、本実施の形態のソフトウェア開発支援装置100およびターゲットマシン200におけるデバッグ時の一連の連携動作を示す図である。
ソフトウェア開発支援装置100の側では、開発支援ツール170のユーザインタフェース機能172がユーザからの入力を受け付けることによりソースコード310の作成/編集を行う(ステップ601)。
FIG. 13 is a diagram illustrating a series of cooperative operations at the time of debugging in the software development support apparatus 100 and the target machine 200 according to the present embodiment.
On the software development support apparatus 100 side, the user interface function 172 of the development support tool 170 creates / edits the source code 310 by receiving input from the user (step 601).

次に、ユーザからの指示により、コンパイル機能173は、ソースコード310から機械語オブジェクト320および変数−アドレス対応表330の生成を行う(ステップ602)。   Next, in accordance with an instruction from the user, the compiling function 173 generates a machine language object 320 and a variable-address correspondence table 330 from the source code 310 (step 602).

次に、条件モニタ機能174は、ユーザからの指示入力を受け付けて、採取条件情報350の設定、および当該設定に連動した監視対象の変数の候補の登録を行い、ユーザが候補から監視対象を選択しないときは、監視対象の候補を監視対象として全て選択する(ステップ603)。   Next, the condition monitoring function 174 accepts an instruction input from the user, sets the collection condition information 350, registers the monitoring target variable candidate linked to the setting, and the user selects the monitoring target from the candidates. If not, all candidates for monitoring are selected as monitoring targets (step 603).

そして、開発支援ツール170のモニタ機能171は、機械語オブジェクト320、および採取条件情報350、さらには監視対象の変数(変数名331)に対応したアドレス情報332(機械語オブジェクト320内のアドレス値)をターゲットマシン200に送る(ステップ604)。   Then, the monitor function 171 of the development support tool 170 includes the machine language object 320, the collection condition information 350, and the address information 332 (address value in the machine language object 320) corresponding to the monitored variable (variable name 331). Is sent to the target machine 200 (step 604).

ターゲットマシン200のターゲット管理部250は、ソフトウェア開発支援装置100から受信した機械語オブジェクト320を不揮発メモリ240に格納し、また採取条件情報350、アドレス情報332をアドレス一覧メモリ253に格納する(ステップ701)。   The target management unit 250 of the target machine 200 stores the machine language object 320 received from the software development support apparatus 100 in the nonvolatile memory 240, and stores the collection condition information 350 and the address information 332 in the address list memory 253 (step 701). ).

その後、ソフトウェア開発支援装置100の側からターゲットマシン200に対してデバッグのためのユーザプログラム320Aの実行指令が送信されると(ステップ605)、これを受けたターゲットマシン200のターゲット管理部250は、不揮発メモリ240に格納されている機械語オブジェクト320からユーザプログラム320Aを生成してシステムメモリ220にロードしてユーザプログラム320Aを起動する(ステップ702)。   Thereafter, when the execution instruction of the user program 320A for debugging is transmitted from the software development support apparatus 100 side to the target machine 200 (step 605), the target management unit 250 of the target machine 200 that has received the instruction A user program 320A is generated from the machine language object 320 stored in the nonvolatile memory 240, loaded into the system memory 220, and the user program 320A is activated (step 702).

そして、条件判定部251は、ユーザプログラム320Aの実行状態を監視しつつ、ア
ドレス一覧メモリ253に設定された採取条件情報350の採取条件が成立するか否かを判別し(ステップ703)、成立した場合には、アドレス一覧メモリ253に登録されているアドレス情報332に対応したユーザプログラム320Aのアドレスの値(変数値333)を採取して値保持メモリ252に格納する(ステップ704)。
Then, the condition determination unit 251 determines whether or not the collection condition of the collection condition information 350 set in the address list memory 253 is satisfied while monitoring the execution state of the user program 320A (step 703). In this case, the address value (variable value 333) of the user program 320A corresponding to the address information 332 registered in the address list memory 253 is collected and stored in the value holding memory 252 (step 704).

一方、ソフトウェア開発支援装置100の開発支援ツール170は、ターゲットマシン200における採取条件情報350の成立の有無を定期的にターゲット管理部250に問い合わせて監視している(ステップ606)。   On the other hand, the development support tool 170 of the software development support apparatus 100 periodically inquires and monitors the target management unit 250 whether or not the collection condition information 350 is established in the target machine 200 (step 606).

同様にターゲットマシン200のターゲット管理部250は、ソフトウェア開発支援装置100の側からの変数値333の転送指令(ステップ606)の有無を監視し(ステップ705)、当該転送指令が検出された場合には、値保持メモリ252に格納されているアドレス情報332と変数値333のペアの情報を、ソフトウェア開発支援装置100のモニタ機能171に転送する(ステップ706)。   Similarly, the target management unit 250 of the target machine 200 monitors the presence / absence of a transfer instruction (step 606) of the variable value 333 from the software development support apparatus 100 side (step 705), and when the transfer instruction is detected. Transfers the pair information of the address information 332 and the variable value 333 stored in the value holding memory 252 to the monitor function 171 of the software development support apparatus 100 (step 706).

そして、ソフトウェア開発支援装置100のモニタ機能171は、上述のステップ706でターゲットマシン200の側から送られてきたアドレス情報332と変数値333のペアの情報のうち、アドレス情報332に基づいて変数−アドレス対応表330を検索して対応する変数名331を特定し、図11に例示される条件成立時表示画面450をディスプレイ142に表示して、ソースコード表示領域411に表示されたソースコード310の対応する変数名331の表示行に対応する位置に変数値333を変数値表示領域412に出力する。   Then, the monitor function 171 of the software development support apparatus 100 uses the variable information based on the address information 332 out of the pair information of the address information 332 and the variable value 333 sent from the target machine 200 side in Step 706 described above. The address correspondence table 330 is searched to identify the corresponding variable name 331, the condition satisfaction display screen 450 illustrated in FIG. 11 is displayed on the display 142, and the source code 310 displayed in the source code display area 411 is displayed. The variable value 333 is output to the variable value display area 412 at the position corresponding to the display line of the corresponding variable name 331.

また、上述のように、条件成立時表示画面450のステータスバー451にはメッセージ452を出力して、定期的な表示と区別する。
ターゲットマシン200の側のターゲット管理部250は、ユーザプログラム320Aの実行完了を監視し(ステップ707)、終了した場合には、ソフトウェア開発支援装置100の開発支援ツール170に通知する(ステップ708)。
Further, as described above, a message 452 is output to the status bar 451 of the condition establishment display screen 450 to distinguish it from the periodic display.
The target management unit 250 on the target machine 200 side monitors the completion of execution of the user program 320A (step 707), and notifies the development support tool 170 of the software development support apparatus 100 when the execution is completed (step 708).

なお、上述の図13の例では、ターゲットマシン200におけるユーザプログラム320Aの開始に先立って、予め、アドレス情報332および採取条件350aをターゲットマシン200の側に転送してアドレス一覧メモリ253に設定してデバッグを行う例を示したが、これに限らず、ターゲットマシン200におけるユーザプログラム320Aの開始後に、随時、アドレス情報332および採取条件350aをターゲットマシン200に設定してデバッグを行うこともできる。   In the example of FIG. 13 described above, prior to the start of the user program 320A in the target machine 200, the address information 332 and the collection condition 350a are transferred to the target machine 200 side in advance and set in the address list memory 253. Although an example of performing debugging has been shown, the present invention is not limited thereto, and debugging can be performed by setting the address information 332 and the collection condition 350a in the target machine 200 at any time after the start of the user program 320A in the target machine 200.

このような例を図14のフローチャートに示す。上述の図13と異なる点を示すと以下の通りである。
すなわち、この図14のフローチャートにおいては、ソフトウェア開発支援装置100からターゲットマシン200に対して、機械語オブジェクト320を送信して(ステップ604A)、実行指令を与えて、当該機械語オブジェクト320を含むユーザプログラム320Aの実行を開始(ステップ702)させた後に(ステップ605)、随時、キーボード141から採取条件350aの入力を受け付けて(ステップ603A)、対応するアドレス情報332とともにターゲットマシン200に送信して(ステップ604B)、アドレス一覧メモリ253に設定してデバッグを行う点が、上述の図13のフローチャートの場合と異なっている。
Such an example is shown in the flowchart of FIG. Differences from FIG. 13 described above are as follows.
In other words, in the flowchart of FIG. 14, the software development support apparatus 100 transmits a machine language object 320 to the target machine 200 (step 604A), gives an execution command, and includes a user including the machine language object 320. After starting the execution of the program 320A (step 702) (step 605), the input of the sampling condition 350a is accepted from the keyboard 141 as needed (step 603A), and is transmitted to the target machine 200 together with the corresponding address information 332 ( Step 604B) is different from the flowchart of FIG. 13 described above in that debugging is performed in the address list memory 253.

この図14のフローチャートの場合には、ターゲットマシン200におけるユーザプログラム320Aの実行中においても、採取条件350a等を可変させ、ユーザプログラム320Aの実行を中断せずにデバッグを継続できる利点がある。   The flowchart of FIG. 14 has an advantage that debugging can be continued without interrupting execution of the user program 320A by changing the collection condition 350a and the like even during execution of the user program 320A in the target machine 200.

以上説明したように、本実施の形態のソフトウェア開発支援装置100では、ターゲットマシン200で実行される機械語オブジェクト320(ユーザプログラム320A)のデバッグを、開発支援ツール170を用いて実施する時、たとえば、開発支援ツール170の条件モニタ機能174における採取条件情報350の設定に際してソースコード表示領域411に表示中のソースコード310の変数を、監視対象の変数として自動で登録する。   As described above, in the software development support apparatus 100 of the present embodiment, when debugging the machine language object 320 (user program 320A) executed on the target machine 200 using the development support tool 170, for example, When the collection condition information 350 is set in the condition monitor function 174 of the development support tool 170, the variable of the source code 310 being displayed in the source code display area 411 is automatically registered as a monitoring target variable.

これにより、一つずつ手動で監視対象の変数を指定する場合に比較して、格段に開発支援ツール170の使い勝手が向上する。
更に、ソースコード310の量が多くなると、複数箇所でソースコード310の検証を実施する必要があり、検証するソースコード310の位置が変われば、監視対象の変数も変更する必要がある。従って、本実施の形態の開発支援ツール170のように自動で監視対象の変数を登録することによりユーザのデバッグ効率が向上する。
As a result, the usability of the development support tool 170 is remarkably improved as compared with the case where variables to be monitored are manually specified one by one.
Furthermore, if the amount of the source code 310 increases, it is necessary to verify the source code 310 at a plurality of locations. If the position of the source code 310 to be verified changes, it is also necessary to change the monitoring target variable. Therefore, the debugging efficiency of the user is improved by automatically registering the variable to be monitored as in the development support tool 170 of the present embodiment.

また、ソフトウェア開発支援装置100の開発支援ツール170から、監視対象の変数のアドレス情報332をターゲットマシン200に送ってアドレス一覧メモリ253に設定することにより、ターゲットマシン200では、ユーザプログラム320Aのデバッグに際して、アドレス一覧メモリ253に設定されたアドレス情報332に対応する変数値333のみを値保持メモリ252に格納するだけで済む。   Further, by sending the address information 332 of the variable to be monitored from the development support tool 170 of the software development support apparatus 100 to the target machine 200 and setting it in the address list memory 253, the target machine 200 can debug the user program 320A. Only the variable value 333 corresponding to the address information 332 set in the address list memory 253 needs to be stored in the value holding memory 252.

これにより、ユーザプログラム320Aに含まれる多数の変数の値を網羅的にトレースメモリ等に記録する場合に比較して、値保持メモリ252やアドレス一覧メモリ253の容量を節約できる。   Thereby, the capacity of the value holding memory 252 and the address list memory 253 can be saved as compared with the case where the values of many variables included in the user program 320A are comprehensively recorded in the trace memory or the like.

すなわち、ターゲットマシン200に必要以上に大きなメモリ容量を必要とすることなく、機械語オブジェクト320からなるユーザプログラム320Aの効率的なデバッグを行うことが可能となる。   That is, it is possible to efficiently debug the user program 320A including the machine language object 320 without requiring a larger memory capacity than necessary for the target machine 200.

なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
たとえば、上述の実施の形態では、ターゲットマシンの例としてプログラマブルロジックコントローラを挙げて説明したが、一般の情報処理装置や制御機器等に実装されるソフトウェアのデバッグに広く適用することができる。
Needless to say, the present invention is not limited to the configuration exemplified in the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
For example, in the above-described embodiment, the programmable logic controller has been described as an example of the target machine. However, the present invention can be widely applied to debugging of software installed in a general information processing apparatus, a control device, or the like.

本発明の一実施の形態であるソフトウェア開発支援方法を実施するソフトウェア開発支援装置の原理を示すブロック図である。It is a block diagram which shows the principle of the software development assistance apparatus which implements the software development assistance method which is one embodiment of this invention. 本発明の一実施の形態であるソフトウェア開発支援装置およびターゲットマシンの構成例を示す概念図である。It is a conceptual diagram which shows the structural example of the software development assistance apparatus which is one embodiment of this invention, and a target machine. 本発明の一実施の形態であるソフトウェア開発支援装置にて用いられる監視対象変数情報の構成例を示す概念図である。It is a conceptual diagram which shows the structural example of the monitoring object variable information used with the software development assistance apparatus which is one embodiment of this invention. 本発明の一実施の形態であるソフトウェア開発支援装置にて用いられる変数−アドレス対応表の構成例を示す概念図である。It is a conceptual diagram which shows the structural example of the variable-address correspondence table used with the software development assistance apparatus which is one embodiment of this invention. 本発明の一実施の形態である開発支援ツールのモニタ画面の一例を示す図である。It is a figure which shows an example of the monitor screen of the development assistance tool which is one embodiment of this invention. 本発明の一実施の形態である開発支援ツールの採取条件設定画面の一例を示す図である。It is a figure which shows an example of the collection condition setting screen of the development assistance tool which is one embodiment of this invention. 本発明の一実施の形態である開発支援ツールのソースコード表示画面の一例を示す図である。It is a figure which shows an example of the source code display screen of the development assistance tool which is one embodiment of this invention. 本発明の一実施の形態である開発支援ツールの監視対象変数一覧画面の一例を示す図である。It is a figure which shows an example of the monitoring object variable list screen of the development assistance tool which is one embodiment of this invention. 本発明の一実施の形態である開発支援ツールのエラー発生時の監視対象変数一覧画面の一例を示す図である。It is a figure which shows an example of the monitoring object variable list screen at the time of the error generation of the development assistance tool which is one embodiment of this invention. 本発明の一実施の形態である開発支援ツールの監視対象変数一覧画面の一例を示す図である。It is a figure which shows an example of the monitoring object variable list screen of the development assistance tool which is one embodiment of this invention. 本発明の一実施の形態である開発支援ツールの条件成立時表示画面の一例を示す図である。It is a figure which shows an example of the display screen when the conditions of the development assistance tool which is one embodiment of this invention are satisfied. 本発明の一実施の形態である開発支援ツールのソースコード表示画面の一例を示す図である。It is a figure which shows an example of the source code display screen of the development assistance tool which is one embodiment of this invention. 本発明の一実施の形態であるソフトウェア開発支援装置およびターゲットマシンにおけるデバッグ時の連携動作の関係を示す図である。It is a figure which shows the relationship of the cooperation operation | movement at the time of debugging in the software development assistance apparatus which is one embodiment of this invention, and a target machine. 本発明の一実施の形態であるソフトウェア開発支援装置およびターゲットマシンにおけるデバッグ時の連携動作の関係の変形例を示す図である。It is a figure which shows the modification of the relationship of the cooperation operation | movement at the time of debugging in the software development assistance apparatus which is one embodiment of this invention, and a target machine.

符号の説明Explanation of symbols

100 ソフトウェア開発支援装置
110 マイクロプロセッサ
120 主記憶
130 外部記憶装置
141 キーボード
142 ディスプレイ
150 通信インタフェース
160 オペレーティングシステム
170 開発支援ツール
171 モニタ機能
172 ユーザインタフェース機能
173 コンパイル機能
174 条件モニタ機能
175 通信機能
200 ターゲットマシン
210 汎用マイコン
220 システムメモリ
230 通信インタフェース
231 汎用通信線
232 被制御機器通信線
240 不揮発メモリ
250 ターゲット管理部
251 条件判定部
252 値保持メモリ
253 アドレス一覧メモリ
310 ソースコード
320 機械語オブジェクト
320A ユーザプログラム
330 変数−アドレス対応表
331 変数名
332 アドレス情報
333 変数値
340 監視対象変数情報
341 変数名
342 有効フラグ
350 採取条件情報
350a 採取条件
410 モニタ画面
411 ソースコード表示領域
412 変数値表示領域
413 シーケンスチャート表示領域
414 不定文字列
420 ソースコード表示画面
430 採取条件設定画面
431 条件入力欄
432 比較データ入力欄
440 監視対象変数一覧画面
441 変数表示欄
442 インスタンス表示欄
443 有効/無効チェックボックス
444 全て有効ボタン
445 全て無効ボタン
449 エラー警告メッセージ
450 条件成立時表示画面
451 ステータスバー
452 メッセージ
DESCRIPTION OF SYMBOLS 100 Software development support apparatus 110 Microprocessor 120 Main memory 130 External storage device 141 Keyboard 142 Display 150 Communication interface 160 Operating system 170 Development support tool 171 Monitor function 172 User interface function 173 Compile function 174 Condition monitor function 175 Communication function 200 Target machine 210 General-purpose microcomputer 220 System memory 230 Communication interface 231 General-purpose communication line 232 Controlled device communication line 240 Non-volatile memory 250 Target management unit 251 Condition determination unit 252 Value holding memory 253 Address list memory 310 Source code 320 Machine language object 320A User program 330 Variable- Address correspondence table 331 Variable name 332 Add Less information 333 Variable value 340 Monitoring target variable information 341 Variable name 342 Valid flag 350 Collection condition information 350a Collection condition 410 Monitor screen 411 Source code display area 412 Variable value display area 413 Sequence chart display area 414 Undefined character string 420 Source code display screen 430 Collection condition setting screen 431 Condition input field 432 Comparison data input field 440 Monitoring target variable list screen 441 Variable display field 442 Instance display field 443 Valid / invalid check box 444 All valid button 445 All invalid button 449 Error warning message 450 When condition is satisfied Display screen 451 Status bar 452 Message

Claims (10)

ソースコードからターゲットマシンで実行される機械語オブジェクト、および前記ソースコードに定義された変数と当該変数の前記機械語オブジェクトにおけるアドレス情報との対応関係が記録された変数アドレス対応表を生成する処理と、
前記ソースコードから前記変数を抽出し、監視対象の候補として登録する処理と、
前記監視対象の候補から実際に監視する対象が選択されたとき、前記監視対象の候補を監視対象として登録する処理と、
前記ターゲットマシンから前記監視対象の前記変数の値を採取するにあたって、そのトリガーとなる条件を採取条件として登録する処理と、
前記変数アドレス対応表に基づき、前記監視対象となる前記アドレス情報を特定する処理と、
前記機械語オブジェクトおよび前記採取条件および前記アドレス情報を前記ターゲットマシンに転送する処理と、
前記機械語オブジェクトが前記ターゲットマシンで実行されるときに、前記採取条件に基づいて採取される前記監視対象の値を前記ターゲットマシンから受信し、前記変数アドレス対応表に基づいて前記変数と対応づけて表示する処理と、
をコンピュータに実行させることを特徴とするソフトウェア開発支援プログラム。
Processing for generating a machine language object to be executed on a target machine from a source code, and a variable address correspondence table in which a correspondence relationship between a variable defined in the source code and address information of the variable in the machine language object is recorded; ,
Processing for extracting the variables from the source code and registering them as candidates for monitoring;
When a target to be actually monitored is selected from the monitoring target candidates, a process of registering the monitoring target candidate as a monitoring target;
In collecting the value of the variable to be monitored from the target machine, a process of registering a trigger condition as a collection condition;
Based on the variable address correspondence table, processing for specifying the address information to be monitored,
A process of transferring the machine language object and the collection condition and the address information to the target machine;
When the machine language object is executed on the target machine, the monitoring target value collected based on the collection condition is received from the target machine, and is associated with the variable based on the variable address correspondence table. Processing to display
A software development support program characterized by causing a computer to execute.
請求項1記載のソフトウェア開発支援プログラムにおいて、
前記監視対象の候補から実際に監視する対象が指定されなかったとき、前記監視対象の候補全てを前記監視対象として登録する処理を前記コンピュータに実行させることを特徴とするソフトウェア開発支援プログラム。
The software development support program according to claim 1,
A software development support program for causing a computer to execute a process of registering all candidates for a monitoring target as the monitoring target when a target to be actually monitored is not designated from the monitoring target candidates.
請求項1または2のいずれかに記載のソフトウェア開発支援プログラムにおいて、
前記ソースコードに記述された関数に含まれる前記変数、または前記採取条件の登録時に前記ソースコードの表示画面上に表示されている前記変数、または予め一つ或いは複数の前記変数をグループ化し、該グループに含まれる前記変数を、前記監視対象の候補として登録することを特徴とするソフトウェア開発支援プログラム。
In the software development support program according to claim 1 or 2,
Grouping the variables included in the function described in the source code, the variables displayed on the source code display screen at the time of registration of the collection conditions, or one or a plurality of the variables in advance, A software development support program, wherein the variables included in a group are registered as candidates for the monitoring target.
請求項1または2のいずれかに記載のソフトウェア開発支援プログラムにおいて、
さらに、登録された監視対象の前記変数に対して、ある単位毎に監視対象の有効/無効の設定を受け付ける処理を前記コンピュータに実行させることを特徴とするソフトウェア開発支援プログラム。
In the software development support program according to claim 1 or 2,
Further, a software development support program for causing the computer to execute a process of accepting the setting of valid / invalid of the monitoring target for each unit with respect to the registered monitoring target variable.
請求項1乃至4のいずれか一項に記載のソフトウェア開発支援プログラムにおいて、
前記ターゲットマシンは、プログラマブルロジックコントローラ(PLC)であることを特徴とするソフトウェア開発支援プログラム。
In the software development support program according to any one of claims 1 to 4,
A software development support program, wherein the target machine is a programmable logic controller (PLC).
ソースコードからターゲットマシンで実行される機械語オブジェクト、および前記ソースコードに定義された変数と当該変数の前記機械語オブジェクトにおけるアドレス情報との対応関係が記録された変数アドレス対応表を生成するステップと、
前記ソースコードから前記変数を抽出し、監視対象の候補として登録するステップと、
前記監視対象の候補から実際に監視する対象が選択されたとき、前記監視対象の候補を監視対象として登録するステップと、
前記ターゲットマシンから前記監視対象の前記変数の値を採取するにあたって、そのトリガーとなる条件を採取条件として登録するステップと、
前記変数アドレス対応表に基づき、前記監視対象となる前記アドレス情報を特定するステップと、
前記機械語オブジェクトおよび前記採取条件および前記アドレス情報を前記ターゲット
マシンに転送するステップと、
前記機械語オブジェクトが前記ターゲットマシンで実行されるときに、前記採取条件に基づいて採取される前記監視対象の値を前記ターゲットマシンから受信し、前記変数アドレス対応表に基づいて前記変数と対応づけて表示するステップと、
を含むことを特徴とするソフトウェア開発支援方法。
Generating from a source code a machine language object to be executed on a target machine, and a variable address correspondence table in which a correspondence between a variable defined in the source code and address information of the variable in the machine language object is recorded; ,
Extracting the variables from the source code and registering them as candidates for monitoring;
Registering the monitoring target candidate as a monitoring target when a target to be actually monitored is selected from the monitoring target candidates;
In collecting the value of the monitored variable from the target machine, registering a trigger condition as a collection condition;
Identifying the address information to be monitored based on the variable address correspondence table;
Transferring the machine language object and the collection condition and the address information to the target machine;
When the machine language object is executed on the target machine, the monitoring target value collected based on the collection condition is received from the target machine, and is associated with the variable based on the variable address correspondence table. Step to display,
A software development support method comprising:
請求項6記載のソフトウェア開発支援方法において、
前記監視対象の候補から実際に監視する対象が指定されなかったとき、前記監視対象の候補全てを前記監視対象として登録することを特徴とするソフトウェア開発支援方法。
The software development support method according to claim 6,
A software development support method, comprising: registering all of the monitoring target candidates as the monitoring target when an actual monitoring target is not designated from the monitoring target candidates.
請求項6または7のいずれかに記載のソフトウェア開発支援方法において、
登録された監視対象の前記変数に対して、ある単位毎に監視対象の有効/無効の設定を行うことを特徴とするソフトウェア開発支援方法。
The software development support method according to any one of claims 6 and 7,
A software development support method comprising: setting valid / invalid of a monitoring target for each unit for the registered variable of the monitoring target.
請求項6または7のいずれかに記載のソフトウェア開発支援方法において、
監視対象の前記変数の登録を自動的に行うステップでは、前記ソースコードに記述された関数に含まれる前記変数、または前記採取条件の登録時に前記ソースコードの表示画面上に表示されている前記変数、または予め一つ或いは複数の前記変数をグループ化し、該グループに含まれる前記変数を、前記監視対象の候補として登録することを特徴とするソフトウェア開発支援方法。
The software development support method according to any one of claims 6 and 7,
In the step of automatically registering the variable to be monitored, the variable included in the function described in the source code, or the variable displayed on the source code display screen when registering the sampling condition Or a software development support method, wherein one or a plurality of the variables are grouped in advance, and the variables included in the group are registered as candidates for the monitoring target.
請求項6乃至9のいずれか一項に記載のソフトウェア開発支援方法において、
前記ターゲットマシンは、プログラマブルロジックコントローラ(PLC)であることを特徴とするソフトウェア開発支援方法。
The software development support method according to any one of claims 6 to 9,
A software development support method, wherein the target machine is a programmable logic controller (PLC).
JP2007136039A 2007-05-22 2007-05-22 Software development support program, software development support method Active JP4877068B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007136039A JP4877068B2 (en) 2007-05-22 2007-05-22 Software development support program, software development support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007136039A JP4877068B2 (en) 2007-05-22 2007-05-22 Software development support program, software development support method

Publications (2)

Publication Number Publication Date
JP2008293138A true JP2008293138A (en) 2008-12-04
JP4877068B2 JP4877068B2 (en) 2012-02-15

Family

ID=40167818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007136039A Active JP4877068B2 (en) 2007-05-22 2007-05-22 Software development support program, software development support method

Country Status (1)

Country Link
JP (1) JP4877068B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010055948A1 (en) 2008-11-17 2010-05-20 日産自動車株式会社 Surface structure for article
JP2010198469A (en) * 2009-02-26 2010-09-09 Hitachi Ltd Plant control monitoring device
JP2012133751A (en) * 2010-12-23 2012-07-12 Korea Electronics Telecommun Method and device for monitoring data variable of software component
WO2015136959A1 (en) * 2014-03-14 2015-09-17 オムロン株式会社 Control system, method, program and information processing device
JP2017142767A (en) * 2016-02-09 2017-08-17 富士電機株式会社 Controller system and variable coordination support device
EP3382481A1 (en) 2017-03-31 2018-10-03 Omron Corporation Controller, control program, and control system field
US10437226B2 (en) 2015-04-23 2019-10-08 Mitsubishi Electric Corporation Positioning control apparatus
JP2020067752A (en) * 2018-10-23 2020-04-30 株式会社キーエンス Programmable logic controller system, program creation assisting device, and computer program
JP2020067751A (en) * 2018-10-23 2020-04-30 株式会社キーエンス Programmable logic controller system, program creation assisting device, and computer program
JP2022016659A (en) * 2018-10-23 2022-01-21 株式会社キーエンス Externally setting device, logging setting method and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03111943A (en) * 1989-09-26 1991-05-13 Fujitsu Ltd Variable output range specification system
JPH03144833A (en) * 1989-10-31 1991-06-20 Yokogawa Electric Corp Debugging system
JPH05274009A (en) * 1992-03-27 1993-10-22 Keyence Corp Monitor device for programmable controller
JPH1083326A (en) * 1996-05-01 1998-03-31 Internatl Business Mach Corp <Ibm> Trace data collecting method and computer readable code
JP2000132424A (en) * 1998-06-19 2000-05-12 Lucent Technol Inc Software instrumentation method
JP2003173277A (en) * 2001-12-06 2003-06-20 Ns Solutions Corp Apparatus, system, and method for measuring performance, recording medium, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03111943A (en) * 1989-09-26 1991-05-13 Fujitsu Ltd Variable output range specification system
JPH03144833A (en) * 1989-10-31 1991-06-20 Yokogawa Electric Corp Debugging system
JPH05274009A (en) * 1992-03-27 1993-10-22 Keyence Corp Monitor device for programmable controller
JPH1083326A (en) * 1996-05-01 1998-03-31 Internatl Business Mach Corp <Ibm> Trace data collecting method and computer readable code
JP2000132424A (en) * 1998-06-19 2000-05-12 Lucent Technol Inc Software instrumentation method
JP2003173277A (en) * 2001-12-06 2003-06-20 Ns Solutions Corp Apparatus, system, and method for measuring performance, recording medium, and program

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010055948A1 (en) 2008-11-17 2010-05-20 日産自動車株式会社 Surface structure for article
JP2010198469A (en) * 2009-02-26 2010-09-09 Hitachi Ltd Plant control monitoring device
JP2012133751A (en) * 2010-12-23 2012-07-12 Korea Electronics Telecommun Method and device for monitoring data variable of software component
WO2015136959A1 (en) * 2014-03-14 2015-09-17 オムロン株式会社 Control system, method, program and information processing device
JP2015176370A (en) * 2014-03-14 2015-10-05 オムロン株式会社 Control system, method, program and information processor
US10437226B2 (en) 2015-04-23 2019-10-08 Mitsubishi Electric Corporation Positioning control apparatus
JP2017142767A (en) * 2016-02-09 2017-08-17 富士電機株式会社 Controller system and variable coordination support device
EP3382481A1 (en) 2017-03-31 2018-10-03 Omron Corporation Controller, control program, and control system field
US10908579B2 (en) 2017-03-31 2021-02-02 Omron Corporation Controller, control program, and control system
JP2020067752A (en) * 2018-10-23 2020-04-30 株式会社キーエンス Programmable logic controller system, program creation assisting device, and computer program
JP2020067751A (en) * 2018-10-23 2020-04-30 株式会社キーエンス Programmable logic controller system, program creation assisting device, and computer program
JP2022016659A (en) * 2018-10-23 2022-01-21 株式会社キーエンス Externally setting device, logging setting method and program
JP7173826B2 (en) 2018-10-23 2022-11-16 株式会社キーエンス Programmable logic controller system, programming support device and computer program
JP7212496B2 (en) 2018-10-23 2023-01-25 株式会社キーエンス Programmable logic controller system, programming support device and computer program
JP7273935B2 (en) 2018-10-23 2023-05-15 株式会社キーエンス External setting device, logging setting method and program

Also Published As

Publication number Publication date
JP4877068B2 (en) 2012-02-15

Similar Documents

Publication Publication Date Title
JP4877068B2 (en) Software development support program, software development support method
KR101558832B1 (en) Sequence-program debugging assistance apparatus
CN101251800B (en) Graphical user interface creating method and apparatus
JP4957017B2 (en) Performance tuning method and apparatus, program, and storage medium
JP2018045544A (en) Program processing apparatus and program
US9811071B2 (en) System construction support apparatus
JP5800135B2 (en) Programmable controller
US8473903B2 (en) Code edit apparatus and recording medium
JP5636783B2 (en) Programmable controller and method for debugging programmable controller
JP5849592B2 (en) Programmable controller system, programming device thereof, programmable controller, program, and debugging method
JP5425317B2 (en) Motion SFC program parts creation device
JP2010287101A (en) Software debugging device and method
JP4426492B2 (en) Programmable terminal system
KR100417655B1 (en) Regulating information generator and program development system composed of regulator
JP5589670B2 (en) How to debug
JP2016224559A (en) Program creation support device, control method and program
JP2009223471A (en) Simulation system
CN110554966B (en) Driving debugging method, behavior analysis method and driving debugging system
JP4387288B2 (en) Display device for control, editor device, program, and recording medium
JP4964036B2 (en) Editor device and editor program
JP2008204023A (en) Programmable controller system and debug method for programmable controller
JP2021039568A (en) Information processing system, programmable display, and information processing device
JP5621426B2 (en) Option information analysis system, option information analysis method and program
JP2007226739A (en) Software development unit and program
JP2007188366A (en) Compiler

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080919

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080919

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100216

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111014

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4877068

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250