JP4966635B2 - Program creation support apparatus and program creation support method - Google Patents
Program creation support apparatus and program creation support method Download PDFInfo
- Publication number
- JP4966635B2 JP4966635B2 JP2006333222A JP2006333222A JP4966635B2 JP 4966635 B2 JP4966635 B2 JP 4966635B2 JP 2006333222 A JP2006333222 A JP 2006333222A JP 2006333222 A JP2006333222 A JP 2006333222A JP 4966635 B2 JP4966635 B2 JP 4966635B2
- Authority
- JP
- Japan
- Prior art keywords
- port
- program creation
- ports
- display unit
- creation support
- 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
Links
Landscapes
- Stored Programmes (AREA)
Description
本発明は、GUIベースのフォームを用いて、アプリケーションプログラムを作成するのに好適なプログラム作成支援装置およびプログラム作成支援方法に関する。 The present invention relates to a program creation support apparatus and a program creation support method suitable for creating an application program using a GUI-based form.
GUIベースのフォームを用いたアプリケーションプログラムに、制御プログラム、解析プログラムなどがある。従来、制御プログラムのプログラム作成支援装置は、データフローを作成するための作成画面を備え、データフロー図を作成する際、ユーザが、フォームにエレメント(ファンクションブロック)を配置し、順次信号線で結線していく方式がとられている。この場合、データが左から右へ、さらに上から下に順番に実行されるような前提でエレメントが並べられ、エレメントの信号線は、直線または折れ線により結線されている(例えば、特許文献1参照)。 Application programs that use GUI-based forms include control programs and analysis programs. Conventionally, a program creation support device for a control program has a creation screen for creating a data flow. When creating a data flow diagram, a user arranges elements (function blocks) on a form and sequentially connects them with signal lines. The method of doing is taken. In this case, the elements are arranged on the assumption that the data is executed in order from left to right and further from top to bottom, and the signal lines of the elements are connected by straight lines or broken lines (see, for example, Patent Document 1). ).
また、電気回路系の解析プログラムにおいては、回路作成のためのプリプロセッサを有し、ユーザが、マウスを使用してあらかじめ定められたエレメント(コンポーネント)を選んでパレット上に配置し、順次、エレメントの入出力端子を直線または折れ線により結線し、電気回路を構築することができる。また、回路の図面に基づいて、解析用のデータおよびプログラムが生成され、そのプログラムを実行することにより解析結果が得られる(例えば、非特許文献1参照)。
特許文献1に記載されたプログラム作成装置においては、フォームにエレメントを配置する際、ユーザは、データフローを思い描きながら、上下左右の位置関係に注意しながらエレメントを配置し、しかも、信号線が重ならないように注意しながら結線する必要があり、データフロー図作成に時間を要する問題があった。 In the program creation apparatus described in Patent Document 1, when placing an element on a form, the user places the element while paying attention to the positional relationship between the top, bottom, left and right while envisioning the data flow, and the signal lines overlap. There is a problem that it takes time to create a data flow diagram because it is necessary to connect the wires with care so as not to become.
非特許文献1に記載された解析プログラムのプリプロセッサにおいては、ユーザは、パレット上に、エレメントを自由に配置することができる。しかしながら、エレメントの入出力端子を結線する際、結線がエレメント上に描かれたりする場合があり、最終的な回路図を作成するには、熟練度が必要である。 In the preprocessor of the analysis program described in Non-Patent Document 1, the user can freely arrange elements on the pallet. However, when connecting the input / output terminals of the element, the connection may be drawn on the element, and skill is required to create a final circuit diagram.
本発明は、前記の課題を解決するための発明であって、GUIベースのフォーム上において容易にアプリケーションを作成することができるプログラム作成支援装置およびプログラム作成支援方法を提供することを目的とする。 The present invention is an invention for solving the above-described problems, and an object thereof is to provide a program creation support apparatus and a program creation support method that can easily create an application on a GUI-based form.
前記目的を達成するため、GUIベースのフォーム上に配置するエレメントは、少なくとも1つ以上の入出力用のポートを有し、2つの異なるエレメントのうち、第1のエレメントのポート(例えば、出力ポート111)と、第2のエレメントのポート(例えば、入力ポート124)とをリンクする要求指示がされたとき、制御部(例えば、制御部2)は、ポート間を自由曲線の結合線(例えば、リンク123)で結合して表示部(例えば、表示画面119)に表示し、記憶部(例えば、記憶部3)にリンク情報を記憶する。表示部に表示された2つの異なるエレメントのうち、第1のエレメントのポートと、第2のエレメントのポートとを結合する結合指示がされた場合、制御部は、ポート同士の間を自由曲線の結合線で結合して表示部に表示する際に、ポート同士が対向していないときは、第1のエレメントのポートの相手から遠ざかる方向かつ自エレメントから遠ざかる方向で当該エレメントの領域の外側近傍に第1の制御点を配置し、第1のエレメントのポートと第1の制御点とを結ぶ直線方向に結合線を引き出すとともに、第2のエレメントのポートの相手から遠ざかる方向かつ自エレメントから遠ざかる方向で当該エレメントの領域の外側近傍に第2の制御点を配置し、第2のエレメントのポートと第2の制御点とを結ぶ直線方向に結合線を引き出し、かつ、結合線がエレメントの領域と重畳する部分は、結合線を該エレメントの領域の背後に表示することを特徴とする。 In order to achieve the object, the element arranged on the GUI-based form has at least one input / output port, and the port of the first element (for example, the output port) of the two different elements. 111) and a port of the second element (for example, the input port 124), a control unit (for example, the control unit 2), when connected, a free curve connecting line (for example, a control line) The link 123) is combined and displayed on the display unit (for example, the display screen 119), and the link information is stored in the storage unit (for example, the storage unit 3). Of the two different elements displayed on the display unit, when a connection instruction for connecting the port of the first element and the port of the second element is given, the control unit sets a free curve between the ports. bound to a binding line when displayed in the table radical 113, when the port together does not face the outer vicinity of the region of the element in the direction away from the direction and the own elements away from the port of the other first element The first control point is placed on the first element, and the coupling line is drawn out in the linear direction connecting the port of the first element and the first control point, and away from the counterpart of the port of the second element and away from the own element. the second control point is arranged near the outside of the area of the element in the direction, pull the bond line to the port and the straight line direction connecting the second control point of the second element, One, the portion which overlaps with the region of the coupling line Gae Remento is a bond line and displaying behind the region of the element.
本発明によれば、プログラム作成者がGUIベースのフォーム上において容易にアプリケーションを作成することができる。 According to the present invention, a program creator can easily create an application on a GUI-based form.
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の実施形態に係るプログラム作成支援装置の構成および出力装置上に表示される画面の一例を示す図である。電子計算機1は、制御部2、記憶部3、マウス(ポインティングデバイス)などの入力装置4、ディスプレイなどの出力装置5を具備している。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram showing an example of a configuration of a program creation support apparatus according to an embodiment of the present invention and a screen displayed on an output apparatus. The electronic computer 1 includes a control unit 2, a storage unit 3, an input device 4 such as a mouse (pointing device), and an output device 5 such as a display.
制御部2は、具体的には、プログラムに従って動作するCPU(Central Processing Unit)によって実現され、出力装置5にプログラム作成用ツールの画面を表示させ、プログラム作成用ツールを実行し、また、プログラム作成用ツールを使って作成したプログラムを実行する。 Specifically, the control unit 2 is realized by a CPU (Central Processing Unit) that operates according to a program, causes the output device 5 to display a program creation tool screen, executes the program creation tool, and creates a program. Run the program created using the tool for
記憶部3は、プログラム作成用ツールによって提供される基本エレメントA115、基本エレメントB116、基本エレメントC117などの各種基本エレメントに関する基本エレメント情報6、プログラム作成用ツールによって提供される汎用エレメント118に関する汎用エレメント情報7、プログラム作成用ツールの利用者が作成したアプリケーションロジックであるアプリケーションロジック情報10、図示を省略するが、プログラム作成用ツールを利用するために必要な情報などが格納されている。 The storage unit 3 includes basic element information 6 related to various basic elements such as the basic element A115, basic element B116, and basic element C117 provided by the program creation tool, and general element information related to the general element 118 provided by the program creation tool. 7. Application logic information 10 which is application logic created by the user of the program creation tool, and information necessary for using the program creation tool is stored although illustration is omitted.
アプリケーションロジック情報10は、後述するリンク情報9、汎用エレメント内部ロジック情報11、描画領域内エレメント情報12で構成される。ここで、エレメントとは、ある1つの機能を持ったプログラムロジックをいう。エレメントは、後述する基本エレメントと汎用エレメントで構成される。 The application logic information 10 includes link information 9, general-purpose element internal logic information 11, and drawing area element information 12 described later. Here, an element means a program logic having a certain function. The elements are composed of basic elements and general-purpose elements described later.
基本エレメントとは、エレメントのうち、プログラム作成用ツールによってあらかじめ機能、入力ポートの数、出力ポートの数、および、それぞれのポートが保有することのできる値の型が定められており、プログラム作成用ツールの利用者によって、それらを変更することのできないエレメントをいう。図1の場合は、基本エレメント110において、四角形の左側に、入力ポートを示す円を2つ、四角形の右側に、出力ポートを示す円を1つ描くことによって、基本エレメント110が入力ポートを2つ、出力ポートを1つ持っていることを示している。 A basic element is a function for creating a program, in which the function, the number of input ports, the number of output ports, and the types of values that each port can hold are determined in advance by the program creation tool. Elements that cannot be changed by the user of the tool. In the case of FIG. 1, in the basic element 110, the basic element 110 has two input ports on the left side of the square by drawing two circles indicating the input port and one circle indicating the output port on the right side of the square. It shows that it has one output port.
汎用エレメントとは、エレメントのうち、プログラム作成用ツールによって機能、入力ポートの数、出力ポートの数、および、それぞれのポートが保有することのできる値の型が定められておらず、プログラム作成用ツールの利用者によって、それらを変更することができるエレメントをいう。 A generic element is a program creation tool whose function, number of input ports, number of output ports, and types of values that can be held by each port are not specified. An element that can be changed by the user of the tool.
入力ポートとは、基本エレメントまたは汎用エレメントによって表現されているプログラムロジックにおける引数を、出力装置5上の表示画面119に図形で表したものである。図1では、円で表示している。出力ポートとは、基本エレメントまたは汎用エレメントによって表現されているプログラムロジックにおける戻り値を、出力装置5上の描画領域122に図形で表したものである。図1では、円で表示している。 The input port is a graphic representation of arguments in the program logic expressed by basic elements or general-purpose elements on the display screen 119 on the output device 5. In FIG. 1, it is indicated by a circle. The output port is a graphic representation of the return value in the program logic expressed by the basic element or the general-purpose element in the drawing area 122 on the output device 5. In FIG. 1, it is indicated by a circle.
リンクとは、ある基本エレメントに含まれる出力ポート、例えば図1の場合、基本エレメント110の出力ポート111と、それとは別に配置された汎用エレメントの入力ポート、例えば図1の場合、汎用エレメント112の入力ポート113を関連付けるものであり、具体的には、出力ポートの値と同じ値を入力ポートに代入する。図1ではリンク114のように曲線で表示している。同様に、出力ポート111と入力ポート124を関連付けるために、リンク123で結合している。 The link is an output port included in a certain basic element, for example, in the case of FIG. 1, the output port 111 of the basic element 110 and an input port of a general-purpose element arranged separately from it, for example, in the case of FIG. The input port 113 is associated, and specifically, the same value as the value of the output port is assigned to the input port. In FIG. 1, a curve 114 is displayed as a link 114. Similarly, in order to associate the output port 111 with the input port 124, they are connected by a link 123.
基本エレメント情報6は、各々の基本エレメントの特徴を表してプログラム作成用ツールの利用者がその機能を理解しやすくするためにつけられたエレメント名や、基本エレメントが持つプログラムロジック、入力ポートの数および各々の入力ポートの値の型、出力ポートの数および各々の出力ポートの値の型で構成される。 The basic element information 6 represents the characteristics of each basic element, and the element name given so that the user of the program creation tool can easily understand the function, the program logic of the basic element, the number of input ports, It is composed of the value type of each input port, the number of output ports, and the value type of each output port.
汎用エレメント情報7は、汎用エレメントであることを表すためにつけられたエレメント名や、描画領域122に表示するために必要な画像データなどで構成される。 The general-purpose element information 7 is composed of an element name given to indicate that it is a general-purpose element, image data necessary for display in the drawing area 122, and the like.
リンク情報9は、リンクによって結ばれている一組の出力ポートと入力ポートの組み合わせと、リンクの色や曲線の形状に関するデータで構成される。ただし、汎用エレメント内部で使われるリンクについては、汎用エレメント内部ロジック情報11に含まれる。 The link information 9 includes data relating to a combination of a set of output ports and input ports connected by a link, and a link color and a curve shape. However, the link used inside the general element is included in the general element internal logic information 11.
汎用エレメント内部ロジック情報11は、汎用エレメントに設定された入力ポートの数、出力ポートの数や各ポートの値の型、汎用エレメントのプログラムロジックを示す、汎用エレメント内部において構成される基本エレメントや汎用エレメントに関するデータおよびそれらの関係を示すリンクに関するデータで構成される。汎用エレメントの内部ロジックを、基本エレメントだけでなく汎用エレメントを用いて構成してもよく、この場合、汎用エレメント内部ロジック作成に用いられた汎用エレメントについてさらにその内部ロジックを定義する必要がある。しかし、これに関しても基本エレメント、汎用エレメント、およびリンクを用いて構成すれば、ソースコードを見ることなく、汎用エレメント内部ロジックを作成することができる。 The general-purpose element internal logic information 11 indicates the number of input ports set in the general-purpose element, the number of output ports, the value type of each port, the program logic of the general-purpose element, and the basic elements and general-purpose elements configured in the general-purpose element. It consists of data related to elements and data related to links indicating their relationship. The internal logic of the general-purpose element may be configured using not only the basic element but also the general-purpose element. In this case, it is necessary to further define the internal logic for the general-purpose element used for creating the general-purpose element internal logic. However, in this regard as well, if it is configured using basic elements, general-purpose elements, and links, general-purpose element internal logic can be created without looking at the source code.
描画領域内エレメント情報12は、描画領域122内に配置されたエレメントに関する情報や、エレメントが持つ入力ポートあるいは出力ポートに設定されているプロパティで構成される。 The element information 12 in the drawing area includes information on elements arranged in the drawing area 122 and properties set for the input port or output port of the element.
表示画面119上のエレメントリストボックス121には、描画領域122に配置できる基本エレメントが表示されている。例えば、描画領域122に基本エレメントA115を配置したい場合、マウスなどの入力装置4を使ったドラッグアンドドロップの操作を行うことにより実現できる。図1では、エレメントリストボックス121内の基本エレメントA115、基本エレメントB116、基本エレメントC117などを文字列で表現しているが、文字列でなく、各々の基本エレメントの特徴を示す、例えば画像などであってもよい。エレメントリストボックス121に表示されているエレメントのリストの最後尾に、汎用エレメント118を示す文字列を示している。汎用エレメント118を描画領域122に配置する場合も基本エレメントA115同様の操作により実現できる。図1では、エレメントリストボックス121内の汎用エレメント118を文字列で表現しているが、文字列でなく、汎用エレメントの特徴を示す、例えば画像などであってもよい。 In the element list box 121 on the display screen 119, basic elements that can be arranged in the drawing area 122 are displayed. For example, when it is desired to place the basic element A 115 in the drawing area 122, it can be realized by performing a drag and drop operation using the input device 4 such as a mouse. In FIG. 1, the basic element A115, the basic element B116, the basic element C117, and the like in the element list box 121 are represented by character strings. However, they are not character strings but represent the characteristics of each basic element, such as images. There may be. A character string indicating the general-purpose element 118 is shown at the end of the list of elements displayed in the element list box 121. The arrangement of the general element 118 in the drawing area 122 can also be realized by the same operation as the basic element A115. In FIG. 1, the general-purpose element 118 in the element list box 121 is expressed by a character string, but it may be an image or the like indicating the characteristics of the general-purpose element instead of the character string.
ツールバー120は、プログラム作成用ツールを使用するときの各種の操作をマウスなどの入力装置4を使った操作により実現できる。ツールバー120を用意するかわりに、キーボードのいくつかのボタンを組み合わせて同時に押すショートカットキーを用意することにより、プログラム作成用ツールで使用する各種操作を行わせてもよい。ツールバーとショートカットキーの両方を同時に提供してもよい。 The toolbar 120 can realize various operations when using the program creation tool by operations using the input device 4 such as a mouse. Instead of preparing the toolbar 120, various operations used in the program creation tool may be performed by preparing shortcut keys that are pressed simultaneously by combining several buttons on the keyboard. Both toolbars and shortcut keys may be provided simultaneously.
図2は、基本エレメントと汎用エレメントを説明する図である。基本エレメント201は、ある1つの機能を持ったプログラムロジックを示したものである。図2では、これを四角形で表しているが、例えば三角形や楕円などの四角形でない形状であってもよい。基本エレメント201は、プログラムロジックの他に、入力ポート、出力ポートのいずれかまたは両方を持つ。これらは、数値や文字列などの値を持つことができる。また各々のポートは、持つことのできる値の型が決まっており、値の型は、例えば、string型(文字列)、int型(整数)などがある。基本エレメントの場合、持つことのできる入力ポートおよび出力ポートの数および各々のポートの値の型は既に決められている。各々のポートは、あるエレメントが持つ出力ポートとそれとは別のエレメントが持つ入力ポートを線でつないで一組のポートを関連付けることのできるリンクを接続することができる。 FIG. 2 is a diagram for explaining basic elements and general-purpose elements. The basic element 201 shows a program logic having a certain function. In FIG. 2, this is represented by a quadrangle, but it may be a non-quadrangle shape such as a triangle or an ellipse. The basic element 201 has one or both of an input port and an output port in addition to the program logic. These can have values such as numeric values and character strings. Each port has a type of value that can be held. Examples of the type of value include a string type (character string) and an int type (integer). In the case of basic elements, the number of input ports and output ports that can be held and the type of the value of each port are already determined. Each port can be connected to a link capable of associating a set of ports by connecting an output port of one element and an input port of another element with a line.
図2(a)は、基本エレメントの例を示す。基本エレメント201は、入力ポートとして入力ポート202、入力ポート203、入力ポート204の3個を、出力ポートとして出力ポート205、出力ポート206の2個を有している。各入力ポート202,203,204の右側に0、1、2、各出力ポート205,206の左側に0、1といった数字を記しているが、これは、複数個の入力ポート、または、出力ポートを区別するために割り振って表記したものであり、数字の変わりに、A、Bといったアルファベットや、ポートの性質を現す語句、例えば「COMポート番号」や「実行周期」などと表記して描画領域122にこれらエレメントを表示してもよい。また、エレメントのレイアウトを簡略化するために、特に必要がなければ、数字やアルファベットなどの記号や、性質を表す語句を省略して、表示しなくてもよい。 FIG. 2A shows an example of basic elements. The basic element 201 has three ports, an input port 202, an input port 203, and an input port 204 as input ports, and two ports, an output port 205 and an output port 206, as output ports. The numbers 0, 1, and 2 are written on the right side of each input port 202, 203, and 204, and the numbers 0 and 1 are written on the left side of each output port 205 and 206. This is a plurality of input ports or output ports. In order to distinguish between them, instead of numbers, the drawing area is expressed by alphabets such as A and B, and words that indicate the nature of the port, such as “COM port number” or “execution cycle”. These elements may be displayed at 122. Further, in order to simplify the layout of elements, symbols such as numerals and alphabets, and words indicating properties may be omitted and not displayed unless particularly necessary.
図2(b)は、汎用エレメントの例を示す。汎用エレメント211は、画面上において入力ポートの数およびポートが保持できる値の型を設定することができ、また、出力ポートについても入力ポート同様に、出力ポートの数およびポートが保持できる値の型を設定することができる。図2(b)に示すように、入力ポート212、入力ポート213、入力ポート214などの入力ポートを(m+1)個、出力ポート215、出力ポート216、出力ポート217、出力ポート218などの出力ポートを(n+1)個有している。また、図2(b)では、入力ポート213と入力ポート214の間、および、出力ポート217と出力ポート218の間を点で記しているが、これらはポートの数が可変であることを示している。 FIG. 2B shows an example of a general-purpose element. The general-purpose element 211 can set the number of input ports on the screen and the type of value that the port can hold, and the output port can also set the number of output ports and the type of value that the port can hold as with the input port. Can be set. As shown in FIG. 2B, (m + 1) input ports such as an input port 212, an input port 213, and an input port 214, an output port such as an output port 215, an output port 216, an output port 217, and an output port 218 are provided. (N + 1). In FIG. 2B, the points between the input port 213 and the input port 214 and between the output port 217 and the output port 218 are indicated by dots, which indicates that the number of ports is variable. ing.
図3は、プログラム作成用ツールを使用したアプリケーション作成処理を示すフローチャートである。まず、出力装置5(図1参照)上に表示されているプログラム作成用ツールを起動するためのショートカットアイコンをダブルクリックするなどのプログラム作成用ツールの起動を要求する操作が、プログラム作成用ツールの利用者によって、入力装置4(図1参照)を使って行われる。図1を参照して説明する。 FIG. 3 is a flowchart showing application creation processing using a program creation tool. First, an operation for requesting activation of a program creation tool such as double-clicking a shortcut icon for activating the program creation tool displayed on the output device 5 (see FIG. 1) This is done by the user using the input device 4 (see FIG. 1). A description will be given with reference to FIG.
制御部2は、プログラム作成用ツールが起動すると、記憶部3からプログラム作成用ツールの実行に必要な情報を読み出して、出力装置5にプログラム作成用ツールの表示画面を表示する(S301)。次に、ツール利用者が、プログラム作成用ツールの表示画面119の中の、ツールバー120や、あるいは描画領域122を新規作成するためのショートカットキーが使うことによって、描画領域122の新規作成の要求が行われると、制御部2は、描画領域122の新規作成処理を行い(S302)、表示画面119内に新規の描画領域122を作成する。なお、プログラム作成用ツール利用者による操作なしに、プログラム作成用ツール起動と同時に、自動的に描画領域122の新規作成を行っておいてもよいし、前記のとおりプログラム作成用ツール利用者による操作が行われてから、描画領域122を新規作成してもよい。 When the program creation tool is activated, the control unit 2 reads information necessary for executing the program creation tool from the storage unit 3 and displays a display screen of the program creation tool on the output device 5 (S301). Next, when a tool user uses a toolbar 120 or a shortcut key for creating a new drawing area 122 in the program creation tool display screen 119, a request for creating a new drawing area 122 is issued. When this is done, the control unit 2 performs a new creation process of the drawing area 122 (S302), and creates a new drawing area 122 in the display screen 119. The drawing area 122 may be automatically created at the same time when the program creation tool is started without any operation by the program creation tool user, or as described above, the operation by the program creation tool user. The drawing area 122 may be newly created after the above.
次に、ツール利用者が、マウスなどの入力装置4によってエレメントリストボックス121に表示されているエレメントのうちの1つを選択し(S303)、それをドラッグアンドドロップなどの操作によって、描画領域122に移動すると、制御部2は、描画領域122上で該エレメントを表示する(S304)。例えば、描画領域122に基本エレメントA115を配置したい場合、ツール利用者がマウスなどの入力装置4を使ったドラッグアンドドロップの操作により実現できる。 Next, the tool user selects one of the elements displayed in the element list box 121 by the input device 4 such as a mouse (S303), and operates the drawing area 122 by dragging and dropping it. Then, the control unit 2 displays the element on the drawing area 122 (S304). For example, when the basic element A115 is to be arranged in the drawing area 122, it can be realized by a drag-and-drop operation using the input device 4 such as a mouse by the tool user.
基本エレメントは、ある1つの機能を持ったプログラムロジックなので、1つであってもアプリケーションとして動作させることもできるが、本実施形態では、複数のエレメントを利用し、エレメント間にリンクを使用することによってアプリケーションを作成することにする。上記と同様の操作によって、2つ目以降のエレメントを配置する。 Since the basic element is a program logic having a certain function, even a single element can be operated as an application. In this embodiment, a plurality of elements are used and a link is used between the elements. To create an application. The second and subsequent elements are arranged by the same operation as described above.
次にリンクを作成する手順を説明する。あるエレメントの出力ポートを示す図形、例えば、出力ポート111(図1参照)のような円の上で入力装置4による操作が行われると、例えば、マウスの左ボタンがドラッグされると、リンクを示す曲線状のリンク123を描画領域122に表示する。曲線の端のうち一方は出力ポート111につながっているが、この時点では、もう一方は、どの入力ポートにもつながっていない。ドラッグしたまま、別のエレメントの入力ポートを示す図形、例えば、入力ポート124のような円の上で、押していたマウスのボタンがリリースされると、制御部2は、該入力ポートに曲線のもう一方の端がつながった状態でリンク123を表示し、リンクの両端のポート情報をリンク情報9に記憶し、2つのポート間にリンクを生成する(S305)。リンクの曲線の表示方法については、図4を参照して後述する。 Next, a procedure for creating a link will be described. When an operation by the input device 4 is performed on a figure indicating an output port of an element, for example, a circle such as the output port 111 (see FIG. 1), for example, when the left button of the mouse is dragged, a link is displayed. A curved link 123 shown is displayed in the drawing area 122. One end of the curve is connected to the output port 111, but at this point, the other is not connected to any input port. When the mouse button that has been pressed is released on the figure indicating the input port of another element, for example, a circle such as the input port 124 while being dragged, the control unit 2 adds a curve to the input port. The link 123 is displayed with one end connected, the port information at both ends of the link is stored in the link information 9, and a link is generated between the two ports (S305). A method of displaying the link curve will be described later with reference to FIG.
プログラム作成用ツール利用者によって、必要なエレメントの選択、およびリンクの接続が完了したら、入力装置4によってアプリケーションの実行指示を受け付けると、制御部2は、記憶部3に記憶されたアプリケーションロジック情報10を読み出して、プログラム作成ツール利用者によって作成されたアプリケーションを実行する(S306)。 When the program creation tool user completes selection of necessary elements and connection of links, upon receiving an application execution instruction from the input device 4, the control unit 2 reads the application logic information 10 stored in the storage unit 3. And the application created by the user of the program creation tool is executed (S306).
図4は、リンクの曲線の表示方法を説明する図である。図4(a)、図4(b)は、比較例であり、図4(c)は、本実施形態による例である。図4(a)の比較例の場合、リンクがエレメントの下に隠れて、どのポートから曲線がでているかがわからない。図4(b)の比較例の場合、リンクの曲線をエレメントの背面でなく、エレメントの前面に表示することができるが、エレメント上の文字列(例えば、RFID Obj)が読みにくくなる場合があり、リンクの表示方法としてはよいとは言えない。これに対し、図4(c)は、本実施形態による例であるが、リンクの曲線を一旦、出力ポートの右側、入力ポートの左側に引くことにより、どのポートから出ているかをわかりやすくしている。なお、RFIDとは、Radio Frequency Identificationの略であり、Objは、Objectの略である。 FIG. 4 is a diagram for explaining a method of displaying a link curve. FIGS. 4A and 4B are comparative examples, and FIG. 4C is an example according to the present embodiment. In the comparative example of FIG. 4A, the link is hidden under the element, and it is not known from which port the curve appears. In the comparative example of FIG. 4B, the curve of the link can be displayed on the front of the element instead of the back of the element, but the character string (for example, RFID Obj) on the element may be difficult to read. It is not a good way to display links. On the other hand, FIG. 4C is an example according to the present embodiment, but once the link curve is drawn to the right side of the output port and to the left side of the input port, it is easy to understand which port is exiting. ing. RFID is an abbreviation for Radio Frequency Identification, and Obj is an abbreviation for Object.
次に、詳細なリンクの表示方法について説明する。リンク114,123(図1参照)は、自由曲線である。自由曲線は、どのような曲線でもよいが、エルミート曲線、ベジェ曲線、B−スプライン曲線、カットマル−ロム曲線などがある。ここでは、3次ベジェ曲線として説明する。この場合、始点、第1制御点、第2制御点、終点の4点を設定する必要がある。始点と終点は、エレメントのポートの位置とする。 Next, a detailed link display method will be described. The links 114 and 123 (see FIG. 1) are free curves. The free curve may be any curve, but there is a Hermitian curve, a Bezier curve, a B-spline curve, a cut-maru-rom curve, or the like. Here, the description will be made with a cubic Bezier curve. In this case, it is necessary to set four points: a start point, a first control point, a second control point, and an end point. The start point and end point are the port positions of the element.
ここでは、始点は、あるエレメントの出力ポート(出力ポートは、エレメントの右側に表示するものとする。)、終点は、あるエレメントとは別のエレメントの入力ポート(入力ポートは、エレメントの左側に表示するものとする。)とする。第1制御点を始点(出力ポート)の右側、第2制御点を終点(入力ポート)の左側に置くこととする。また、始点と終点を結ぶ直線上に第1制御点、第2制御点の両方がプロットされないようにする。始点と第1制御点を結ぶ直線が始点における曲線の接線になり、第2制御点と終点を結ぶ直線が終点における曲線の接線になるので、出力ポートの右側(エレメントの外側)、入力ポートの左側に向かって曲線が引かれる。エレメントの背面に隠れて、どのポートから曲線が出ているかわからないということがないように制御点を設定する。 Here, the start point is an output port of an element (the output port is displayed on the right side of the element), and the end point is an input port of an element other than the element (the input port is on the left side of the element). It shall be displayed.) The first control point is placed on the right side of the start point (output port), and the second control point is placed on the left side of the end point (input port). In addition, both the first control point and the second control point are not plotted on the straight line connecting the start point and the end point. The straight line connecting the start point and the first control point becomes the tangent line of the curve at the start point, and the straight line connecting the second control point and the end point becomes the tangent line of the curve at the end point, so the right side of the output port (outside the element), A curve is drawn to the left. Control points are set so that they do not obscure the back of the element and do not know from which port the curve is coming out.
表示フォームの描画領域122(図1参照)は、網の目上に縦横をN等分されている(メッシュ)。それぞれのメッシュには、エレメントの有無や、リンクの有無、3次ベジエ曲線の始点、制御点、終点の有無などの情報が設定されている。あるメッシュ上にエレメントが配置されている場合には、例えば、エレメント有無:1(またはtrue)のようになり、逆にエレメントがないメッシュでは、エレメント有無:0(またはfalse)のようにしてエレメント有無情報を設定する。エレメントの大きさは、エレメントの種類によって異なり、また、ユーザによって大きさを変更することができるため、エレメントは、いくつかのメッシュにまたがることができる。エレメントが配置されていて、エレメント有無情報が「1(true)」に設定されているメッシュには、別のエレメントを新たに配置することができない。リンクの終点についても、同様に、別のリンクの終点の上に重ねておくことはできない。リンクの終点が同じ場合、2つの異なる値を同一エレメントの同一入力ポートに設定することになるのを防止するためである。 The display form drawing area 122 (see FIG. 1) is divided vertically and horizontally into meshes (mesh). Information such as presence / absence of elements, presence / absence of link, start point of cubic Bezier curve, control point, presence / absence of end point is set in each mesh. When an element is arranged on a certain mesh, for example, element presence / absence: 1 (or true), and on the other hand, in a mesh without an element, element presence / absence: 0 (or false) Set presence information. Since the size of an element depends on the type of element and can be changed by the user, the element can span several meshes. Another element cannot be newly placed on a mesh in which an element is placed and the element presence / absence information is set to “1 (true)”. Similarly, the end point of a link cannot be superimposed on the end point of another link. This is to prevent two different values from being set to the same input port of the same element when the end points of the links are the same.
リンクの始点については、前記の制約はない。同じ出力値を複数の入力ポートに設定することは可能である。リンクがエレメントの描画領域の右側にはみ出さないでエレメントの背面に隠れてしまう場合(始点:出力ポートの場合)、また、エレメントの描画領域の左側にはみ出さないでエレメントの背面に隠れてしまう場合(終点:入力ポートの場合)は、制御点を取り直して、リンクがエレメントの描画領域外にはみ出して表示されるまで繰り返す。制御点を設定する方法は、例えば乱数を発生させてランダムに制御点を定め、リンクが適切に表示されるまで繰り返す。リンクがエレメントの描画領域に隠れてしまうかどうかは、各メッシュのエレメント有無情報、リンク有無情報により判定することができる。 There is no restriction on the start point of the link. It is possible to set the same output value to a plurality of input ports. If the link does not protrude to the right side of the element drawing area and is hidden behind the element (start point: output port), or does not protrude to the left side of the element drawing area, it hides behind the element In the case (end point: input port), the control point is taken again and the process is repeated until the link is displayed outside the element drawing area. The method of setting the control point is repeated until, for example, a random number is generated to randomly determine the control point and the link is properly displayed. Whether or not the link is hidden in the element drawing area can be determined from the element presence / absence information and link presence / absence information of each mesh.
エレメントを移動した場合、そのエレメントにつけられているリンクの始点(または終点)も同時に移動して、各メッシュの情報も移動に伴って再設定される。制御点については上記と同様な方法で再プロットされて、リンクが再描画される。 When an element is moved, the start point (or end point) of the link attached to the element is also moved at the same time, and information on each mesh is reset as the element is moved. The control points are replotted in the same manner as described above, and the links are redrawn.
本実施形態では、あるエレメントが選択されたときにそのエレメント上のポートにつながったリンクが、例えば、色が変わることによって強調表示してもよい。 In the present embodiment, when a certain element is selected, a link connected to a port on the element may be highlighted by changing a color, for example.
本実施形態では、リンクをポートに近づけると自動的に入出力振り分けを行ってもよい。例えば、ある入力ポートの周辺のメッシュには、入力ポートの周辺であることを示す情報を設定しておく。また、その入力ポートが受け入れることのできる値の型(intやstringなど)に関する情報を設定しておく。また、リンクの終点が置かれているメッシュにも値の型に関する情報を設定しておく。 In this embodiment, input / output distribution may be automatically performed when a link is brought close to a port. For example, information indicating the vicinity of an input port is set in a mesh around an input port. In addition, information regarding the type of value (int, string, etc.) that can be accepted by the input port is set. Information about the value type is also set in the mesh where the end point of the link is placed.
プログラム作成用ツール利用者が、ある出力ポートの上でマウスを左クリックし、左ボタンを押したまま、入力ポート付近に近づけると、エレメントのある一定の距離以内に近づいたときに、接続可能な入力ポートのうち、最も近いものに自動的に接続され、そのままでよい場合は、そのまま左ボタンをリリースすると接続が確定する。左ボタンを押したまま、移動しつづけると、そのとき最も近いものに順次自動的に接続されて、左ボタンをリリースするまでこの状態が続くようにするとよい。 If the user of the tool for creating a program left-clicks the mouse on a certain output port and keeps the left button pressed and approaches the vicinity of the input port, connection is possible when the element approaches within a certain distance. If the input port is automatically connected to the closest one and can be left as it is, release the left button to confirm the connection. If you continue to move while pressing the left button, it will be automatically connected to the closest one at that time, and this state will continue until you release the left button.
本実施形態では、ポートに値が入力されているときといないとき、ポートの色を変えてもよい。各ポートにユニークなIDを割り当て、データベース(DB)に格納しておく。それぞれのポートに、有効な値が格納されているか否かの情報を設定することができる。有効な値が格納されている場合は、有効値格納有無情報が、例えば、1(あるいはtrue)などになり、そのポートの表示色に関するプロパティが、有効な値が格納されていないポートの色(例えば、白色)とは異なる色(例えば、緑色)に設定される。このようにすれば、どのポートに誤りがあるか、誤っているエレメントやポートの位置を特定することができる。 In this embodiment, the color of the port may be changed when a value is input to the port. A unique ID is assigned to each port and stored in a database (DB). Information regarding whether or not a valid value is stored in each port can be set. When a valid value is stored, the valid value storage presence / absence information is, for example, 1 (or true), and the property regarding the display color of the port is the color of the port where the valid value is not stored ( For example, the color (for example, green) different from white) is set. In this way, it is possible to identify which port has an error and the position of the erroneous element or port.
また、本実施形態では、エレメントの出力ポートにエラーを表示するポートを備え、エラーがあるときは、エラーに関する情報がそのポートに設定されて、ポートの色をかえて表示してもよい。例えば、RFIDの読み取りを実行するときにRFIDリーダライタが接続されていない場合「リーダライタが接続されていません。」といった文字列が、エラー表示用の出力ポートのIDに紐付けられてDBに格納される。このときにポートの色が、例えば緑に設定される。これにより、エラー情報が出力されていることがわかり、エレメント上にマウスのカーソルを移動すると、エラーに関する情報が例えば別ウィンドウが表示されてエラー情報が表示される。 In this embodiment, a port for displaying an error may be provided as an output port of the element. When there is an error, information regarding the error may be set in the port and the color of the port may be changed and displayed. For example, if an RFID reader / writer is not connected when reading RFID, a character string such as “No reader / writer is connected” is linked to the error display output port ID in the DB. Stored. At this time, the color of the port is set to, for example, green. As a result, it can be seen that error information is output, and when the mouse cursor is moved over the element, the error information is displayed, for example, in a separate window.
図5は、汎用エレメントの作成処理を示すフローチャートである。随時図1を参照して説明する。初期状態において汎用エレメントは、入力ポート、出力ポートのどちらも備えていない。制御部2は、ツール利用者が入力ポートを必要な数を追加指示すると、汎用エレメント内部ロジック情報11に記憶する(S401)。制御部2は、処理S401において追加した各々の入力ポートの値の型を設定し、汎用エレメント内部ロジック情報11に記憶する(S402)。 FIG. 5 is a flowchart showing a general-purpose element creation process. The description will be made with reference to FIG. In the initial state, the general-purpose element has neither an input port nor an output port. When the tool user instructs to add the required number of input ports, the control unit 2 stores the general element internal logic information 11 (S401). The control unit 2 sets the value type of each input port added in the process S401 and stores it in the general-purpose element internal logic information 11 (S402).
次に、プログラム作成用ツール利用者が出力ポートを必要な数を追加指示すると、制御部2は、汎用エレメント内部ロジック情報11に記憶する(S403)。制御部2は、処理S403において追加した各々の出力ポートの値の型を設定し、記憶部3の汎用エレメント内部ロジック情報11に記憶する(S404)。制御部2は、最後に、プログラム作成用ツール利用者が基本エレメント、汎用エレメントおよびリンクにより、汎用エレメントの内部のプログラムロジックを作成すると、汎用エレメント内部ロジック情報11に記憶する(S405)。 Next, when the program creation tool user instructs to add the required number of output ports, the control unit 2 stores the information in the general-purpose element internal logic information 11 (S403). The control unit 2 sets the value type of each output port added in the process S403 and stores it in the general-purpose element internal logic information 11 of the storage unit 3 (S404). Finally, when the program creation tool user creates the program logic inside the general-purpose element by the basic element, the general-purpose element, and the link, the control unit 2 stores it in the general-purpose element internal logic information 11 (S405).
なお、汎用エレメント内部ロジックを生成する前に、プログラム作成用ツール利用者に、例えば、描画領域122に表示された汎用エレメント112上をマウスでダブルクリックさせることにより、汎用エレメントの内部のプログラムロジックを作成するための、描画領域122とは別の描画領域を描画領域122に重なり合わせて出力する。汎用エレメントの内部のプログラムロジックの作成処理のフローは、図3と同じである。汎用エレメントの内部のプログラムロジックの作成処理の終了後に、ツールバー120やキーボードのショートカットを使用させることによって、もとのアプリケーションロジック生成用の描画領域122を表示する。 Before generating the general-purpose element internal logic, the program creation tool user can double-click the general-purpose element 112 displayed in the drawing area 122 by, for example, the mouse to double-click the program logic inside the general-purpose element. A drawing area different from the drawing area 122 for creation is overlapped with the drawing area 122 and output. The flow of processing for creating program logic inside the general-purpose element is the same as that in FIG. After the creation process of the program logic inside the general-purpose element is finished, the drawing area 122 for generating the original application logic is displayed by using the toolbar 120 or the keyboard shortcut.
図6は、汎用エレメントの内部ロジック作成処理時の画面表示の一例を示す図である。汎用エレメント入力側エレメント501は、入力ポート502、入力ポート503、入力ポート504などの(m+1)個の入力ポートで構成される。これらの入力ポートは、汎用エレメントの入力ポートであるが、図6の内部ロジック設定用画面では、汎用エレメント入力側エレメント501の出力ポートとして機能する。汎用エレメント出力側エレメント505は、出力ポート506、出力ポート507、出力ポート508、出力ポート509などの(n+1)個の出力ポートで構成される。これらの出力ポートは、汎用エレメントの出力ポートであるが、図6の内部ロジック設定用画面では、汎用エレメント出力側エレメント505の入力ポートとして機能する。 FIG. 6 is a diagram illustrating an example of a screen display at the time of internal logic creation processing of a general-purpose element. The general-purpose element input side element 501 includes (m + 1) input ports such as an input port 502, an input port 503, and an input port 504. These input ports are general-purpose element input ports, but function as output ports for the general-purpose element input-side element 501 in the internal logic setting screen of FIG. The general-purpose element output-side element 505 includes (n + 1) output ports such as an output port 506, an output port 507, an output port 508, and an output port 509. These output ports are general-purpose element output ports, but function as input ports for the general-purpose element output-side element 505 in the internal logic setting screen of FIG.
内部ロジックを生成するために、ここでは、基本エレメント510、基本エレメント511、基本エレメント512などの、(k+1)個の基本エレメントが使用されていることを示している。これらの基本エレメントの組み合わせや各々の基本エレメントの種類については自由に選択させることができる。また、基本エレメントだけでなく、内部ロジックの生成においても、汎用エレメントが使われてもよい。内部ロジックを生成するために配置された、基本エレメント、汎用エレメント、およびそれらが持つ入力ポートまたは出力ポートを関連付けるためのリンクによって、プログラムロジックを生成する。 Here, (k + 1) basic elements such as the basic element 510, the basic element 511, and the basic element 512 are used to generate the internal logic. The combination of these basic elements and the type of each basic element can be freely selected. In addition to basic elements, general-purpose elements may also be used in generating internal logic. Program logic is generated by links for associating basic elements, general-purpose elements, and their input or output ports arranged to generate internal logic.
図7は、汎用エレメントの入力ポートの数および値の型を設定するときの画面の一例を示す図である。随時図1を参照して説明する。汎用エレメント入力ポート情報設定ウィンドウ601内で、汎用エレメント入力側エレメント501の入力ポート502、入力ポート503、入力ポート504などの入力ポートの情報を表示する。入力ポートリストボックス602内で、汎用エレメント入力側エレメント501の入力ポートの一覧を表示する。追加ボタン603がマウスなどの入力装置4によってクリックされるか、あるいはショートカットキーの使用などによってポート追加の指示を受け付けると、制御部2は、入力ポートを1つ追加して、入力ポート情報を汎用エレメント内部ロジック情報11に記憶し、入力ポートリストボックス602内のリストの最後尾に「入力ポートm」などと追記して表示する。この処理を、入力ポートがまったくない状態から、例えば(m+1)回行うことによって、記憶部3の汎用エレメント内部ロジック情報11に、汎用エレメント112用に、入力ポート502から入力ポート504までの(m+1)個の入力ポート情報を記憶する。 FIG. 7 is a diagram illustrating an example of a screen when setting the number of input ports and a value type of a general-purpose element. The description will be made with reference to FIG. In the general element input port information setting window 601, information on input ports such as the input port 502, input port 503, and input port 504 of the general element input side element 501 is displayed. In the input port list box 602, a list of input ports of the general-purpose element input side element 501 is displayed. When the add button 603 is clicked by the input device 4 such as a mouse, or when an instruction for adding a port is received by using a shortcut key or the like, the control unit 2 adds one input port and uses the input port information as general-purpose information. The information is stored in the element internal logic information 11, and “input port m” or the like is added and displayed at the end of the list in the input port list box 602. By performing this processing, for example, (m + 1) times from a state where there is no input port, the (m + 1) times from the input port 502 to the input port 504 are added to the general-purpose element internal logic information 11 of the storage unit 3 for the general-purpose element 112. ) Pieces of input port information are stored.
制御部2は、入力装置4によって入力ポートリストボックス602に表示されているある1つの入力ポート、例えば「入力ポート0」の選択を受け付けると、ポート情報表示領域604に、選択された、入力ポートの表示名605および、値の型606を表示する。
入力ポートの表示名605および、値の型606は、初期設定として、例えば、図7のように、表示名605は「入力ポート0」、値の型606は「Object」が初期値として設定されていて、入力ポート追加時に、汎用エレメント内部ロジック情報11に記憶する。ただし、これら初期値は、必ずしも図7と同じでなく別の値であってもよい。
When the control unit 2 accepts selection of one input port displayed in the input port list box 602 by the input device 4, for example, “input port 0”, the control unit 2 displays the selected input port in the port information display area 604. Display name 605 and value type 606 are displayed.
The display name 605 of the input port and the value type 606 are set as initial values. For example, as shown in FIG. 7, the display name 605 is set to “input port 0”, and the value type 606 is set to “Object” as an initial value. When the input port is added, the general element internal logic information 11 is stored. However, these initial values are not necessarily the same as those in FIG. 7 and may be different values.
制御部2は、入力装置4によって表示名605の変更の指示を受け付けると、編集モードに移行し、例えば、「表示名:入力ポート0」と表示されている箇所で、マウスの左ボタンがダブルクリックされると、表示名を変更するためのウィンドウを表示する。あるいは「入力ポート0」の部分だけ編集可能状態になる。キーボードなどの入力装置4によって、新しい名称、例えば、「COMポート番号」や「実行周期」などの名称が入力されて、その後に、エンターキーが押されると、名称の変更を受け付けて、汎用エレメント内部ロジック情報11に記憶する。同様にして、値の型606も変更することができる。プログラム作成用ツールの利用者に、キーボードを使って「String」「int」などと入力させてもよいし、これらをリスト表示して、その中から選択させてもよい。 When the control unit 2 receives an instruction to change the display name 605 from the input device 4, the control unit 2 shifts to the edit mode. For example, the left button of the mouse is doubled at a position where “display name: input port 0” is displayed. When clicked, displays a window for changing the display name. Alternatively, only the “input port 0” portion can be edited. When a new name, for example, a name such as “COM port number” or “execution cycle” is input by the input device 4 such as a keyboard and then the enter key is pressed, the name change is accepted and the general element Store in the internal logic information 11. Similarly, the value type 606 can also be changed. The user of the program creation tool may input “String”, “int”, or the like using a keyboard, or may display these items in a list and select them.
制御部2は、入力ポートのうちの1つが選択された状態で、入力装置4によって該入力ポートの削除の指示を受け付けると、例えば、マウスにより削除ボタン607がクリックされると、選択された入力ポートに関する情報を汎用エレメント内部ロジック情報11から削除し、該入力ポートを削除し、入力ポートリストボックス602の入力ポートのリストから該入力ポートの表示を削除する。 When the control unit 2 receives an instruction to delete the input port by the input device 4 in a state where one of the input ports is selected, for example, when the delete button 607 is clicked with the mouse, the selected input is selected. The information about the port is deleted from the general-purpose element internal logic information 11, the input port is deleted, and the display of the input port is deleted from the list of input ports in the input port list box 602.
図8は、汎用エレメントの出力ポートの数および値の型を設定するときの画面の一例を示す図である。随時図1を参照して説明する。制御部2は、汎用エレメント出力ポート情報設定ウィンドウ701内で、汎用エレメント出力側エレメント505が持つ出力ポート506、出力ポート507、出力ポート508、出力ポート509などの出力ポートの情報を表示する。制御部2は、出力ポートリストボックス702内で、汎用エレメント出力側エレメント505の出力ポートの一覧を表示する。制御部2は、追加ボタン703がマウスなどの入力装置4によってクリックされるか、あるいはショートカットキーの使用などによってポート追加の指示を受け付けると、出力ポート情報を汎用エレメント内部ロジック情報11に記憶し、出力ポートを1つ追加して、出力ポートリストボックス702内のリストの最後尾に追記して表示する。この処理を出力ポートがまったくない状態から、例えば(n+1)回行うことによって、汎用エレメント内部ロジック情報11に、汎用エレメント112用に、出力ポート506から出力ポート509までの(n+1)個の出力ポート情報を記憶する。 FIG. 8 is a diagram illustrating an example of a screen when setting the number of output ports and the value type of a general-purpose element. The description will be made with reference to FIG. The control unit 2 displays information on output ports such as the output port 506, the output port 507, the output port 508, and the output port 509 of the general-purpose element output-side element 505 in the general-purpose element output port information setting window 701. The control unit 2 displays a list of output ports of the general-purpose element output side element 505 in the output port list box 702. When the add button 703 is clicked by the input device 4 such as a mouse or when an instruction to add a port is received by using a shortcut key or the like, the control unit 2 stores the output port information in the general-purpose element internal logic information 11, One output port is added and added to the end of the list in the output port list box 702 and displayed. By performing this process from a state where there is no output port, for example, (n + 1) times, (n + 1) output ports from the output port 506 to the output port 509 for the general-purpose element 112 in the general-purpose element internal logic information 11 Store information.
制御部2は、入力装置4によって出力ポートリストボックス702に表示されているある1つの出力ポート、例えば「出力ポート0」の選択を受け付けると、ポート情報表示画面704に、選択された、出力ポートの表示名705および、値の型706を表示する。
出力ポートの表示名705および、値の型706は、初期設定として、例えば、図8のように、表示名705は「出力ポート0」、値の型706は「Object」が初期値として設定されていて、出力ポート追加のときに、汎用エレメント内部ロジック情報11に記憶する。ただし、これら初期値は、必ずしも図8と同じでなくてもよい。
When the control unit 2 accepts selection of one output port displayed in the output port list box 702 by the input device 4, for example, “output port 0”, the selected output port is displayed on the port information display screen 704. Display name 705 and value type 706 are displayed.
The output port display name 705 and the value type 706 are set as initial settings. For example, as shown in FIG. 8, the display name 705 is set to “output port 0” and the value type 706 is set to “Object” as an initial value. When the output port is added, the general element internal logic information 11 is stored. However, these initial values are not necessarily the same as those in FIG.
制御部2は、入力装置4によって表示名705の変更の指示を受け付けると、編集モードに移行し、例えば、「表示名:出力ポート0」と表示されている箇所で、マウスの左ボタンをダブルクリックされると、表示名を変更するためのウィンドウを表示する。あるいは「出力ポート0」の部分だけ編集可能状態になる。制御部2は、キーボードなどの入力装置4によって、新しい名称、例えば、「正常終了イベント」や「タグデータ」などの名称が入力されて、エンターキーが押されると、名称の変更を受け付けて、汎用エレメント内部ロジック情報11に記憶する。同様にして、値の型706も変更することができる。プログラム作成用ツールの利用者が、キーボードを使って「String」「int」などと入力させてもよいし、これらをリスト表示して、その中から選択させてもよい。 When the control unit 2 receives an instruction to change the display name 705 by the input device 4, the control unit 2 shifts to the edit mode, and doubles the left button of the mouse at a position where “display name: output port 0” is displayed, for example. When clicked, displays a window for changing the display name. Alternatively, only the “output port 0” portion can be edited. When a new name, for example, a name such as “normal end event” or “tag data” is input by the input device 4 such as a keyboard and the enter key is pressed, the control unit 2 accepts the name change, Stored in the general element internal logic information 11. Similarly, the value type 706 can be changed. A user of the program creation tool may input “String”, “int”, or the like using a keyboard, or may display these items in a list and select them.
制御部2は、出力ポートのうちの1つが選択された状態で、入力装置4によって該出力ポートの削除の指示を受け付けると、例えばマウスにより削除ボタン707がクリックされると、選択された出力ポートに関する情報を汎用エレメント内部ロジック情報11から削除し、該出力ポートを削除し、出力ポートリストボックス702の出力ポートのリストから該出力ポートの表示を削除する。 When the control unit 2 receives an instruction to delete the output port from the input device 4 in a state where one of the output ports is selected, for example, when the delete button 707 is clicked with the mouse, the selected output port is selected. Is deleted from the general-purpose element internal logic information 11, the output port is deleted, and the display of the output port is deleted from the output port list in the output port list box 702.
なお、図7、図8を用いて説明した入力ポート、または、出力ポートの追加および削除の処理は、図6を用いて説明した汎用エレメントの内部ロジックを生成する処理の前に行ってもよいし、汎用エレメントの内部ロジックを生成する処理の後に不要な入力ポートまたは出力ポートを削除するなどの処理をおこなってもよい。 Note that the processing for adding and deleting the input port or output port described with reference to FIGS. 7 and 8 may be performed before the processing for generating the internal logic of the general-purpose element described with reference to FIG. Then, after the process of generating the internal logic of the general-purpose element, a process such as deleting an unnecessary input port or output port may be performed.
次に、RFIDリーダライタを例にリンクのつなぎ換えの例を示す。
図9は、リーダライタ制御のプログラムの構成を示す図である。プログラム構成は、フォーム901、フォームを表示させるためのエレメント902、RFIDデバイス903、エレメント中の部品904,905、RFIDのタグ読み取りを実行するためのRFIDリーダ906、タグ設定をするためのエレメント907で構成されている。プログラム作成者は、個別のエレメントの詳細な仕様を把握していなくても、リンクで各エレメントを結合することにより、リーダライタの制御プログラムを構成することができる。この状態において、RFIDデバイス903を、RFIDデバイス908に入れ換える場合、RFIDデバイス908のエレメントを描画領域122(図1参照)に表示させ、RFIDリーダ906へのリンクを903から908へとつなぎ換えることによって、アプリケーションプログラムを修正することができる。
Next, an example of link reconnection will be described using an RFID reader / writer as an example.
FIG. 9 is a diagram showing the configuration of a reader / writer control program. The program configuration includes a form 901, an element 902 for displaying the form, an RFID device 903, components 904 and 905 in the element, an RFID reader 906 for executing RFID tag reading, and an element 907 for setting a tag. It is configured. Even if the creator of the program does not know the detailed specifications of the individual elements, the control program of the reader / writer can be configured by connecting the elements with links. In this state, when the RFID device 903 is replaced with the RFID device 908, the element of the RFID device 908 is displayed in the drawing area 122 (see FIG. 1), and the link to the RFID reader 906 is changed from 903 to 908. Application programs can be modified.
本実施形態では、エレメントの表示色が機能によって分けられてもよい。フォーム901、RFIDデバイス903,908(ミューチップリーダなど)は、青色で示される。エレメント中の部品904,905(例えば作成したフォームに含まれているテキストボックスやボタン)は、緑色で示される。実行するためのエレメントで、例えば、フォームを表示させるためのエレメント902、RFIDのタグ読み取りを実行するためのRFIDリーダ906、タグ設定をするためのエレメント907は、赤色で示される。 In the present embodiment, the display colors of the elements may be divided according to functions. Form 901, RFID devices 903, 908 (such as a muchip reader) are shown in blue. Parts 904 and 905 in the element (for example, text boxes and buttons included in the created form) are shown in green. For example, an element 902 for displaying a form, an RFID reader 906 for executing RFID tag reading, and an element 907 for setting a tag are shown in red.
本発明の実施形態では、2つのポート間のリンクを自由曲線として説明した。リンクを曲線としているため、出力ポートと入力ポートの組み合わせがまったく同じでなければ、2本の線が全て重なって1本に見えるということがなくなる。例えば、リンクによってつないでいる出力ポートと入力ポートが2組あって、それらの両方の組が一直線上にある場合、リンクが直線のときは、2本の線は重なり合って、組み合わせがわかりにくくなり、エレメントが表示されている位置を、入力装置4によって移動させなければならない。しかし、曲線であれば、エレメントの位置を移動することなく、ポート間のつながりを確認することができる。 In the embodiment of the present invention, the link between the two ports has been described as a free curve. Since the link is a curved line, if the combination of the output port and the input port is not exactly the same, the two lines will not overlap and appear as one. For example, if there are two pairs of output ports and input ports connected by a link and both of them are on a straight line, if the link is a straight line, the two lines will overlap, making the combination difficult to understand. The position where the element is displayed must be moved by the input device 4. However, if it is a curve, the connection between the ports can be confirmed without moving the position of the element.
本発明によれば、あるひとつの特定の、GUIベースのフォーム上のみにおいて、オブジェクトに入力されるデータとオブジェクトから出力されるデータを画面閲覧者が区別して見分けられるようにし、また、オブジェクト間の関係を把握できるようにし、アプリケーション作成者がプログラムのソースコードを見ることなく、GUIベースのフォーム上において容易にアプリケーションを作成できるようになる。また、本発明によれば、画面上のオブジェクトの配置がどのような状態であっても、オブジェクト間の関係を把握できるようになる。 According to the present invention, a screen viewer can distinguish and distinguish between data input to an object and data output from the object only on one specific, GUI-based form, and between the objects. The relationship can be grasped, and the application creator can easily create the application on the GUI-based form without looking at the source code of the program. Further, according to the present invention, it becomes possible to grasp the relationship between objects regardless of the arrangement of objects on the screen.
1 電子計算機
2 制御部
3 記憶部
4 入力装置
5 出力装置
6 基本エレメント情報
7 汎用エレメント情報
9 リンク情報
10 アプリケーションロジック情報
11 汎用エレメント内部ロジック情報
12 描画領域内エレメント情報
110 基本エレメント
111 出力ポート
112 汎用エレメント
113 入力ポート
114 リンク
119 表示画面
120 ツールバー
121 エレメントリストボックス
122 描画領域
123 リンク
124 入力ポート
201 基本エレメント
211 汎用エレメント
501 汎用エレメント入力側エレメント
505 汎用エレメント出力側エレメント
601 汎用エレメント入力ポート情報設定ウィンドウ
602 入力ポートリストボックス
604 ポート情報表示領域
701 汎用エレメント出力ポート情報設定ウィンドウ
702 出力ポートリストボックス
704 ポート情報表示領域
DESCRIPTION OF SYMBOLS 1 Electronic computer 2 Control part 3 Storage | storage part 4 Input device 5 Output device 6 Basic element information 7 General-purpose element information 9 Link information 10 Application logic information 11 General-purpose element internal logic information 12 Element information in drawing area 110 Basic element 111 Output port 112 General-purpose Element 113 Input port 114 Link 119 Display screen 120 Toolbar 121 Element list box 122 Drawing area 123 Link 124 Input port 201 Basic element 211 General element 501 General element input side element 505 General element output side element 601 General element input port information setting window 602 Input port list box 604 Port information display area 701 General-purpose element output port information Settings window 702 output port list box 704 port information display area
Claims (8)
前記エレメントは、少なくとも1つ以上の入出力用のポートを有し、前記エレメントおよび複数の前記エレメントの結合関係を表示する表示部と、
前記表示部に表示された前記エレメントに関する機能情報および複数の前記エレメント間の結合情報を記憶する記憶部と、
前記表示部に表示された複数の前記エレメント間が結合指示されたときに、前記結合指示の処理を行う制御部とを備え、
前記表示部に表示された2つの異なる前記エレメントのうち、第1のエレメントのポートと、第2のエレメントのポートとを結合する結合指示がされた場合、
前記制御部は、
前記ポート同士の間を自由曲線の結合線で結合して前記表示部に表示する際に、前記ポート同士が対向していないときは、前記第1のエレメントのポートの相手から遠ざかる方向かつ自エレメントから遠ざかる方向で当該エレメントの領域の外側近傍に第1の制御点を配置し、前記第1のエレメントのポートと前記第1の制御点とを結ぶ直線方向に前記結合線を引き出すとともに、前記第2のエレメントの相手から遠ざかる方向かつ自エレメントから遠ざかる方向で当該エレメントの領域の外側近傍に第2の制御点を配置し、前記第2のエレメントのポートと前記第2の制御点とを結ぶ直線方向に前記結合線を引き出し、かつ、前記結合線が前記エレメントの領域と重畳する部分は、前記結合線を該エレメントの領域の背後に表示する
ことを特徴とするプログラム作成支援装置。 A program creation support device for creating a program by combining a plurality of elements on a program creation screen,
The element has at least one or more input / output ports, and a display unit that displays the connection relationship between the element and the plurality of elements;
A storage unit for storing functional information on the element displayed on the display unit and coupling information between the plurality of elements;
A control unit that performs processing of the combination instruction when a combination instruction is made between the plurality of elements displayed on the display unit;
Of the two different elements displayed on the display unit, when a connection instruction is made to connect the port of the first element and the port of the second element,
The controller is
When displaying on the display unit coupled to a bond line of free curve between the ports between, when the ports to each other does not face the direction and self away from the port of the partner before Symbol first element A first control point is disposed in the vicinity of the outside of the region of the element in a direction away from the element, the coupling line is drawn out in a linear direction connecting the port of the first element and the first control point, and A second control point is arranged in the vicinity of the outside of the area of the element in a direction away from the counterpart of the second element and in a direction away from the own element, and the port of the second element and the second control point are connected. A portion where the coupling line is drawn out in a linear direction and the coupling line overlaps with the area of the element displays the coupling line behind the area of the element. A featured program creation support device.
前記第1のエレメントのポートから複数の自由曲線の結合線を引き出す際に、該複数の自由曲線の第1の制御点の位置は重複させないで配置し、前記第1のエレメントのポートと前記複数の自由曲線の第1の制御点とを結ぶ直線方向に前記結合線を引き出して前記表示部に表示する
ことを特徴とする請求項1に記載のプログラム作成支援装置。 The controller is
When drawing a connection line of a plurality of free curves from the port of the first element, the positions of the first control points of the plurality of free curves are arranged without overlapping, and the ports of the first element and the plurality of free curves 2. The program creation support apparatus according to claim 1 , wherein the connection line is drawn in a linear direction connecting to the first control point of the free curve and displayed on the display unit.
ことを特徴とする請求項1に記載のプログラム作成支援装置。 The program creation support apparatus according to claim 1, wherein when the element on the display unit is selected, the control unit changes a display color of a coupled line coupled to a port of the element.
ことを特徴とする請求項1に記載のプログラム作成支援装置。 The program creation support apparatus according to claim 1, wherein the control unit displays the element in a different display color on the display unit according to a function of the element.
ことを特徴とする請求項1に記載のプログラム作成支援装置。 2. The program creation support according to claim 1, wherein when one end of the coupling line enters within a predetermined distance of the port, the control unit couples to the nearest port among the connectable ports. apparatus.
前記制御部は、前記所定の値の有無により前記ポートの表示色を変える
ことを特徴とする請求項1に記載のプログラム作成支援装置。 The storage unit can store a predetermined value for the port;
The program creation support apparatus according to claim 1, wherein the control unit changes a display color of the port depending on the presence or absence of the predetermined value.
前記制御部は、前記エラーがプログラムの実行時に発生したとき、前記エラー表示ポートにエラー情報を設定する
ことを特徴とする請求項1に記載のプログラム作成支援装置。 Among the ports of the element, the output port includes an error display port for displaying an error of the internal logic of the element,
The program creation support apparatus according to claim 1, wherein the control unit sets error information in the error display port when the error occurs during execution of the program.
前記表示部に表示された2つの異なる前記エレメントのうち、第1のエレメントのポートと、第2のエレメントのポートとを結合する要求指示がされた場合、
前記制御部は、
前記ポート同士の間を自由曲線の結合線で結合して前記表示部に表示する際に、前記ポート同士が対向していないときは、前記第1のエレメントのポートの相手から遠ざかる方向かつ自エレメントから遠ざかる方向で当該エレメントの領域の外側近傍に第1の制御点を配置し、前記第1のエレメントのポートと前記第1の制御点とを結ぶ直線方向に前記結合線を引き出すとともに、前記第2のエレメントのポートの相手から遠ざかる方向かつ自エレメントから遠ざかる方向で当該エレメントの領域の外側近傍に第2の制御点を配置し、前記第2のエレメントのポートと前記第2の制御点とを結ぶ直線方向に前記結合線を引き出し、かつ、前記結合線が前記エレメントの領域と重畳する部分は、前記結合線を該エレメントの領域の背後に表示する
ことを特徴とするプログラム作成支援方法。 A display unit that displays an element having at least one input / output port and a plurality of the elements connected to each other, a function information related to the element displayed on the display unit, and a connection information between the elements are stored. A storage unit, and a control unit that performs processing of the combination instruction when the combination of the plurality of elements displayed on the display unit is instructed, and a program combining a plurality of elements on the display unit A program creation support method for a program creation support device for creating
Among the two different elements displayed on the display unit, when a request instruction is made to combine the port of the first element and the port of the second element,
The controller is
When displaying on the display unit coupled to a bond line of free curve between the ports between, when the ports to each other does not face the direction and self away from the port of the partner before Symbol first element A first control point is disposed in the vicinity of the outside of the region of the element in a direction away from the element, the coupling line is drawn out in a linear direction connecting the port of the first element and the first control point, and A second control point is disposed in the vicinity of the outside of the area of the element in a direction away from the counterpart of the port of the second element and in a direction away from the own element, and the port of the second element and the second control point drawer said coupling line in a linear direction connecting the and portion where the connecting line is overlapped with the region of the element to display the binding wire behind the region of the element Program creation support method, characterized in that.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006333222A JP4966635B2 (en) | 2006-12-11 | 2006-12-11 | Program creation support apparatus and program creation support method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006333222A JP4966635B2 (en) | 2006-12-11 | 2006-12-11 | Program creation support apparatus and program creation support method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008146379A JP2008146379A (en) | 2008-06-26 |
| JP4966635B2 true JP4966635B2 (en) | 2012-07-04 |
Family
ID=39606491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006333222A Expired - Fee Related JP4966635B2 (en) | 2006-12-11 | 2006-12-11 | Program creation support apparatus and program creation support method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4966635B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100195878A1 (en) * | 2007-06-22 | 2010-08-05 | Koninklijke Philips Electronics N.V. | Systems and methods for labeling 3-d volume images on a 2-d display of an ultrasonic imaging system |
| JP5985958B2 (en) * | 2012-11-05 | 2016-09-06 | 日本放送協会 | Program processing apparatus and system by visual programming |
| JP2022012394A (en) * | 2020-07-01 | 2022-01-17 | 横河電機株式会社 | Software development environment providing system, software development environment providing method, and software development environment providing program |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05143544A (en) * | 1991-11-22 | 1993-06-11 | Nec Corp | Command column selection editing method |
| JPH06149909A (en) * | 1992-11-05 | 1994-05-31 | Mutoh Ind Ltd | Cad processing method and its device |
| JPH07191840A (en) * | 1993-12-27 | 1995-07-28 | Mitsubishi Electric Corp | Automatic program generator |
| JPH09330215A (en) * | 1996-06-12 | 1997-12-22 | Hitachi Ltd | How to edit a program |
| JP3763937B2 (en) * | 1996-06-28 | 2006-04-05 | 富士通株式会社 | Object-oriented programming device and object combination program storage medium |
| US7337102B2 (en) * | 2003-12-29 | 2008-02-26 | The Mathworks, Inc. | Hierarchical references or links in modeling environments |
-
2006
- 2006-12-11 JP JP2006333222A patent/JP4966635B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008146379A (en) | 2008-06-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20180113683A1 (en) | Virtual interactive learning environment | |
| CN100565327C (en) | Projector and its control method | |
| US7107519B1 (en) | Spreadsheet-based user interface creation | |
| CN113010928A (en) | Design information providing method | |
| JP4302146B2 (en) | Program creation support device | |
| JP4966635B2 (en) | Program creation support apparatus and program creation support method | |
| CN103970440A (en) | Device and method for self-defining information combination of financial stock quotation view | |
| KR20180135654A (en) | Intuitive method of making a program | |
| CN103631477B (en) | A kind of device and method for representing financial transaction peration data with dynamic image | |
| JP5759187B2 (en) | A program for converting an SWF format image representation by AdobeFlash (registered trademark) into an HTML format image representation | |
| US20230315248A1 (en) | User interface for multi-user xr application | |
| US20040205703A1 (en) | Playing in scenarios of system behavior | |
| JP2010250696A (en) | Information processing apparatus, information processing method and program | |
| US8259114B2 (en) | System and method for visualizing parameter effective data sets | |
| JP2020149329A (en) | Information processing equipment and programs | |
| JP5123354B2 (en) | Information processing system and program | |
| JP2017146471A (en) | Programmable display unit, programmable system having the same, and display method for programmable display unit | |
| JP4769942B2 (en) | 3D design support system and 3D design support method | |
| JPH021025A (en) | System for generating exclusive selector of user interface | |
| KR20090058621A (en) | Graphical System Operational Requirements Processing Unit | |
| JP3581538B2 (en) | Program specification automatic generation support system | |
| JP4874212B2 (en) | Component display device | |
| JP2007249561A (en) | Display system and program of screen transition diagram | |
| Patra | Data visualization for hybrid application: the challenges in choosing an optimal library for line chart | |
| HK40051265A (en) | Method to provide design information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081105 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110526 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110802 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110823 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111019 |
|
| 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: 20120327 |
|
| 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: 20120402 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150406 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |