JP5777837B2 - Program development support apparatus and method - Google Patents
Program development support apparatus and method Download PDFInfo
- Publication number
- JP5777837B2 JP5777837B2 JP2015504027A JP2015504027A JP5777837B2 JP 5777837 B2 JP5777837 B2 JP 5777837B2 JP 2015504027 A JP2015504027 A JP 2015504027A JP 2015504027 A JP2015504027 A JP 2015504027A JP 5777837 B2 JP5777837 B2 JP 5777837B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- diversion
- variable
- name
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 55
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000037431 insertion Effects 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 24
- 230000000694 effects Effects 0.000 description 7
- 238000003780 insertion Methods 0.000 description 7
- 101100013558 Arabidopsis thaliana FTSH2 gene Proteins 0.000 description 6
- 101100503482 Arabidopsis thaliana FTSH5 gene Proteins 0.000 description 5
- 101150082136 VAR1 gene Proteins 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13099—Function block, OOP, various functions grouped, called by name as servo
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13155—Inserting instructions in program
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Description
この発明は、プログラム開発支援装置およびその方法に関するものである。 The present invention relates to a program development support apparatus and method.
FA(Factory Automation)分野の制御装置としてプログラマブルコントローラ(以下、PLCという)が用いられている。このPLCのプログラミングコストが、FAシステムにおける開発コストの大部分を占めるようになってきている。 A programmable controller (hereinafter referred to as PLC) is used as a control device in the FA (Factory Automation) field. The programming cost of the PLC has become a major part of the development cost in the FA system.
こうした中、PLCのプログラミングに関する標準規格IEC61131−3(JISB3503)が策定された。IEC61131−3は単なるプログラミング言語の規格であるだけではなく、プログラムの構成要素、変数の定義も標準化されている。これによりメーカや機種に依存することなくソフトウェアの開発ができるようになった。 Under such circumstances, the standard IEC61131-3 (JISB3503) relating to the programming of PLC was established. IEC61131-3 is not only a programming language standard, but also defines program components and variables. This makes it possible to develop software without depending on the manufacturer or model.
IEC61131−3が普及するにつれ、プログラムの開発において、プログラムの品質と開発効率を高めるためにプログラムの標準化、部品化、または構造化が進められている。標準化の一つの流れとして、プログラムのファンクションブロック(Function Block:以下、FBという)化がある。 As IEC61131-3 becomes widespread, in the development of a program, standardization , componentization , or structuring of the program is promoted in order to improve the quality and development efficiency of the program. One flow of standardization is a function block (hereinafter referred to as FB) of a program.
PLCプログラムの構成要素には、プログラムと、複数のプログラムの集まりであるプロジェクトと、プログラム内の複数の命令をまとめて1つのブロックとしたFBと、がある。FBは、実行するたびに動作するコードと、内部メモリの状態により制御処理を行うものである。FB内で使用される変数の種類には、入力変数、出力変数、内部変数および外部変数がある。 The components of the PLC program include a program, a project that is a collection of a plurality of programs, and an FB that combines a plurality of instructions in the program into one block. The FB performs control processing according to a code that operates every time it is executed and the state of the internal memory. The types of variables used in the FB include input variables, output variables, internal variables, and external variables.
入力変数は、FBの入力パラメータの役割を果たし、FB外から値を受け取るための変数である。出力変数は、FBの出力パラメータの役割を果たし、FBの演算結果の値をFB外へ引き渡すための変数である。入力変数および出力変数は、プログラムの図上ではそれぞれ入力ピンおよび出力ピンとして表示される。 The input variable serves as an input parameter for the FB and is a variable for receiving a value from outside the FB. The output variable serves as an output parameter for the FB, and is a variable for passing the value of the calculation result of the FB out of the FB. The input variable and the output variable are displayed as an input pin and an output pin on the program diagram, respectively.
内部変数は、FB内やFBが存在するプログラム内でのみ使用できる変数であり、外部プログラムから値の参照や変更することはできない。 The internal variable is a variable that can be used only in the FB or the program in which the FB exists, and the value cannot be referred to or changed from the external program.
外部変数は、グローバル変数をFB内から参照するための変数である。ここで、グローバル変数とは、FB内で使う変数ではなく、プロジェクトのどのプログラムからも参照できる変数のことである。外部変数は、同じ変数名のグローバル変数を参照し、この値を、外部変数が宣言されているプログラムで使用するための変数である。 The external variable is a variable for referring to the global variable from within the FB. Here, the global variable is not a variable used in the FB but a variable that can be referenced from any program in the project. External variable refers to the global variable of the same variable name, this value is a variable for use by programs external variable is declared.
ここで、プログラムをFB化する場合、FB型の定義およびFB内に存在する変数の種別を設定する必要があり、手続きが煩雑であった。そこで、この手続きの煩雑さを解消するPLCのプログラム開発支援装置が提案されている(たとえば、特許文献1参照)。この特許文献1の手法によれば、プログラムのFB化の際に自動でFB型やFB内に存在する変数の種別が自動で設定される。
Here, when the program is converted to the FB, it is necessary to set the definition of the FB type and the type of the variable existing in the FB, and the procedure is complicated. Therefore, a PLC program development support apparatus that eliminates the complexity of the procedure has been proposed (see, for example, Patent Document 1). According to the method disclosed in
しかしながら、特許文献1に記載の技術では、FB内の変数は、入力変数、出力変数および内部変数のうちのいずれかに割り振られるのみである。すなわち、FB内で外部変数として使用される変数があっても、外部変数に自動で設定されないという問題点があった。そのため、流用元プログラムの変数である外部変数をFB内で使用したい場合には、FBの内部変数とのデータ交換のためのプログラムを作成しなければならなかった。
However, in the technique described in
この発明は上記に鑑みてなされたもので、煩雑な手続きやプログラムを追加すること無しに、外部変数を含めてプログラムの部品化を簡単に行うことが可能なプログラム開発支援装置およびその方法を得ることを目的とする。 The present invention has been made in view of the above, and obtains a program development support apparatus and method that can easily perform program componentization including external variables without adding complicated procedures and programs. For the purpose.
上記目的を達成するため、この発明にかかるプログラム開発支援装置は、流用元プログラム中の部品化を行う部品化対象プログラムで使用される流用元変数に付加し、前記部品化対象プログラムの挿入先の流用先プログラム全体で一意となるように識別子を生成する識別子生成手段と、前記部品化対象プログラムに存在する前記流用元変数の名称と前記識別子とを組み合わせた名称を有する新規変数を前記流用先プログラムに追加するとともに、前記部品化対象プログラムの前記流用元変数と前記新規変数とを対応付けた変数対応付け情報を生成する新規変数生成手段と、前記部品化対象プログラムで使用される前記流用元変数を、前記変数対応付け情報に基づいて前記新規変数に置換して、流用プログラムを生成する流用プログラム生成手段と、前記流用プログラムを前記流用先プログラムに挿入するプログラム挿入手段と、を備えることを特徴とする。 To achieve the above object, the present invention aid device according to adds to divert original variables used in parts of the target program that performs a part of in the original program stream, inserting the destination of the part of the target program An identifier generating means for generating an identifier so as to be unique in the entire diversion destination program, and a new variable having a name combining the name of the diversion source variable and the identifier existing in the partization target program A new variable generating means for generating variable association information that associates the diversion source variable of the component conversion target program with the new variable, and the diversion source used in the component conversion target program A diversion program generator for generating a diversion program by replacing a variable with the new variable based on the variable association information. When, characterized in that it comprises a program insertion means for inserting the diversion program to the diversion destination program.
この発明によれば、流用元プログラムで使用されている流用元変数は、流用先プログラムにおいて一意となる変数名に置換され、流用先プログラムに変数として追加されるようにしたので、既存の流用元プログラムにある処理を流用しながらも、流用先プログラムごとに変数の状態を持つことができ、FB化によるプログラムの流用と同等の動作を得ることができる。また、追加された新規変数は、流用先プログラムの変数として追加されるため、流用先プログラム内の別の箇所でそのまま使用できる。そのため、データ交換のプログラミングが不要になるという効果を有する。 According to this invention, the diversion source variable used in the diversion source program is replaced with a variable name that is unique in the diversion destination program and added as a variable to the diversion destination program. While diverting the processing in the program, each diversion destination program can have a variable state, and an operation equivalent to diversion of the program by FB conversion can be obtained. Further, since the added new variable is added as a variable of the diversion destination program, it can be used as it is in another place in the diversion destination program. This has the effect of eliminating the need for data exchange programming.
以下に添付図面を参照して、この発明にかかるプログラム開発支援装置およびその方法の好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。 Exemplary embodiments of a program development support apparatus and method according to the present invention will be explained below in detail with reference to the accompanying drawings. Note that the present invention is not limited to these embodiments.
実施の形態1.
実施の形態1では、既に作成されているプログラム中で、多く流用されることが見込まれる部分を部品化して、再利用可能な構成とするプログラム開発支援装置およびその方法について説明する。
In the first embodiment, a program development support apparatus and method for making a reusable configuration by converting a part that is expected to be diversified into a part of a program that has already been created will be described.
図1は、実施の形態1によるプログラム開発支援装置の構成の一例を模式的に示すブロック図である。プログラム開発支援装置10は、入力部11と、表示部12と、プログラム部品化情報取得部13と、識別子生成部14と、新規変数生成部15と、流用プログラム生成部16と、プログラム挿入部17と、これらの各処理部を制御する制御部18と、を備える。
FIG. 1 is a block diagram schematically showing an example of the configuration of the program development support apparatus according to the first embodiment. The program
入力部11は、キーボードまたはポインティングデバイスなどのユーザとの間の入力インタフェースである。表示部12は、液晶表示装置などのユーザに対して情報を表示する装置である。 The input unit 11 is an input interface with a user such as a keyboard or a pointing device. The display unit 12 is a device that displays information to the user, such as a liquid crystal display device.
プログラム部品化情報取得部13は、プログラムを部品化するに当たって必要なプログラム部品化情報を取得する。プログラム部品化情報として、たとえばユーザによって指定される流用したい部品化対象プログラムを含む流用元プログラムと、流用元プログラム中の部品化対象プログラムと、部品化対象プログラムの挿入先である流用先プログラムの挿入位置と、を挙げることができる。プログラム部品化情報取得部13は、流用元プログラムを、たとえば流用元プログラムが格納されたプログラマブルコントローラ、またはデータベースなどから取得する。また、部品化対象プログラムは、流用元プログラムから部品化したい箇所がユーザによって入力部11を介して選択されることによって取得される。流用先プログラム挿入位置は、ユーザによって入力部11を介して流用先プログラム中の挿入位置が選択されることによって取得される。 The program componentization information acquisition unit 13 acquires program componentization information necessary for converting a program into components. As program componentization information, for example, a diversion source program including a componentization target program to be diverted specified by the user, a componentization target program in the diversion source program, and insertion of a diversion destination program that is an insertion destination of the componentization target program And position. The program componentization information acquisition unit 13 acquires the diversion source program from, for example, a programmable controller in which the diversion source program is stored or a database. The part conversion target program is acquired by selecting a part to be converted from the diversion source program through the input unit 11 by the user. The diversion destination program insertion position is acquired by the user selecting the insertion position in the diversion destination program via the input unit 11.
識別子生成部14は、選択された部品化対象プログラムで、流用先のプログラム全体で一意となる識別子を生成する。 The identifier generation unit 14 generates an identifier that is unique for the entire program to be diverted in the selected program to be componentized.
新規変数生成部15は、選択された部品化対象プログラムに存在する変数を解析し、所定の規則にしたがって選択される変数に対して、変数の名称に識別子生成部14で生成された識別子を組み合わせて新規変数を生成する。また、新規変数生成部15は、生成した新規変数を流用先プログラムに追加し、部品化対象プログラムに元々含まれている変数と、追加した新規変数と、を対応付ける変数対応付け情報を生成する。なお、この実施の形態1では、新規変数生成部15は、LD命令またはLDI命令の引数になっている変数と、MOV命令の第2引数になっている変数を、置換対象の変数として抽出する。
The new
流用プログラム生成部16は、新規変数生成部15によって生成された変数対応付け情報に基づいて部品化対象プログラム中の変数を新規変数に置換し、流用プログラムを生成する処理を行う。
The diversion program generation unit 16 performs processing for generating a diversion program by replacing a variable in the partization target program with a new variable based on the variable association information generated by the new
プログラム挿入部17は、流用プログラム生成部16によって生成された流用プログラムを、流用先プログラムのユーザによって選択された領域に挿入する。
The
つぎに、このような構成のプログラム開発支援装置10におけるプログラム開発支援方法について説明する。図2は、実施の形態1によるプログラム開発支援方法の処理手順の一例を示すフローチャートである。また、図3は、実施の形態1によるプログラム開発支援方法の処理手順の一例を模式的に示す図である。なお、ここでは、流用元プログラムと流用先プログラムがプログラム開発支援装置10によって読込まれた状態にあるものとする。
Next, a program development support method in the program
まず、ユーザによって入力部11を介して流用元プログラム中の部品化したい箇所が範囲選択される(ステップS11)。図3(a)は、ラダー形式で記述された流用元プログラム中で流用したい箇所である部品化対象プログラムP1がユーザによって選択された状態を示している。なお、ここでは、流用元プログラム中の部品化したい箇所の範囲選択を行っているが、たとえば流用元プログラムの部品化したい箇所をメモリに一時的に記憶させることで範囲選択を行ってもよい。 First, the user selects a range in the diversion source program as a part via the input unit 11 (step S11). FIG. 3A shows a state in which the componentization target program P1 which is a portion to be diverted in the diversion source program described in the ladder format is selected by the user. Here, the range selection of the part to be converted into a part in the diversion source program is performed. However, the range may be selected by temporarily storing the part to be converted into a part of the diversion source program in a memory.
ついで、選択された部品化対象プログラムP1を部品化して、流用先プログラムに挿入する処理を実行する指示を与え(ステップS12)、流用先プログラム中の部品化対象プログラムP1を挿入する位置を取得する(ステップS13)。 Next, the selected partization target program P1 is converted into a part, and an instruction to execute a process of inserting it into the diversion destination program is given (step S12), and the position to insert the partization target program P1 in the diversion destination program is acquired. (Step S13).
部品化対象プログラムP1の流用先プログラムでの挿入位置が取得または選択されると、識別子生成部14は、部品化対象プログラムP1内で使用される変数に付加する識別子を生成する(ステップS14)。ついで、新規変数生成部15は、流用元プログラム内の変数(以下、流用元変数ということがある)に、ステップS14で生成された識別子を付加した新規変数を生成する(ステップS15)。ここでは、たとえば、新規変数は、「識別子¥」+「変数」という形とすることができる。なお、これは一例であり、他の形式であってもよい。この生成された新規変数は、流用先プログラムに追加される。
When the insertion position in the diversion destination program components of the target program P1 is obtained or selected, the identifier generating unit 14 generates an identifier to be added to the variables used in parts of the target program within P1 (step S14) . Next, the new
また、新規変数生成部15は、流用するプログラムで使われている変数の読出し、書込みなどの使用状況を解析し、部品化対象プログラムP1中で新規変数に置換する流用元変数を抽出する(ステップS16)。図3(b)は、図3(a)のプログラムをリスト表示したプログラムP2を示している。置換対象とするか否かの基準はつぎの通りである。LD命令またはLDI命令の引数になっている変数と、MOV命令の第2引数になっている変数と、が置換対象の変数である。これは、LD命令で実行条件が成立した場合にのみMOV命令が実行されるため、いつでもMOV命令が実行されるわけではないからである。出力に関しては無い場合に出力先の値を維持するだけでよい。その結果、図3(b)における変数の使用状況の解析と置換対象の判断はつぎのように行われる。命令文301では、LD命令の引数となっている変数FLAG1は置換対象と判断される。命令文302では、MOV命令の第2引数となっている変数VAR1が置換対象と判断される。命令文303では、変数FLAG1が置換対象と判断される。命令文304では、変数VAR2が置換対象と判断される。
Further, the new
ついで、新規変数生成部15は、部品化対象プログラムP1中の流用元変数と、識別子を付加して生成される新規変数と、を対応付ける変数対応付け情報を生成する(ステップS17)。図3(c)は、変数対応付け情報の一例を示している。このように、変数対応付け情報では、部品化対象プログラムP1内で使用される流用元変数のうち、新規変数に置換されるものが、新規変数と対応付けされる。
Next, the new
その後、流用プログラム生成部16は、変数対応付け情報に基づいて、部品化対象プログラムP1中の流用元変数を新規変数に置換し、流用プログラムを生成する(ステップS18)。図3(d)は、置換した流用プログラムP3を示している。 Thereafter, the diversion program generation unit 16 replaces the diversion source variable in the componentization target program P1 with a new variable based on the variable association information, and generates the diversion program (step S18). FIG. 3D shows the replaced diversion program P3.
ついで、プログラム挿入部17は、ステップS18で生成された流用プログラムP3をステップS12で指定された流用先プログラムの挿入位置に挿入する(ステップS19)。そしてプログラム挿入部17は、流用プログラムP3を挿入した流用先プログラムにおいて、流用プログラムP3の挿入位置の直前に、入力変数への入力インタフェースとなるプログラムを追加し、挿入位置の直後に、出力変数からの出力インタフェースのプログラムを追加する(ステップS20)。図3(e)は、入出力インタフェースプログラムを追加した流用プログラムを示している。ここでは、流用プログラムP3の直前に入力インタフェースとなるプログラムP4が追加され、流用プログラムP3の直後に出力インタフェースとなるプログラムP5が追加されている。以上によって、プログラムの部品化処理が終了する。
Next, the
図4は、従来のプログラムをFB化する際の様子を模式的に示す図であり、(a)はFB化するプログラムを示し、(b)はFB化した後のプログラムを示す。特許文献1によるFB化では、プログラムをFB化する場合、FB型の定義やFB内に存在する変数の種別が自動設定されるが、FB内の変数は、外部変数に自動で設定されることがない。そのため、流用元のプログラムの変数をFB内で使用したい場合、たとえば図4(a)のFBのロジックとなるプログラムP101の例では、「IN1」を変数に使用したい場合、には、図4(b)に示されるように、FB P102の内部変数とのデータ交換のためのプログラムP103を作成しなければならなかった。
4A and 4B are diagrams schematically showing a state in which a conventional program is converted to an FB. FIG. 4A shows a program to be converted to an FB, and FIG. 4B shows a program after the conversion to an FB. In the FB conversion according to
一方、実施の形態1では、流用元プログラムで使用されている流用元変数は、流用先プログラムにおいて一意となる変数名に置換され、流用先プログラムに変数として追加される。そのため、追加された変数は、流用先プログラム内の別の箇所でもそのまま使用することができる。このように、実施の形態1による方法では、従来のプログラムのFB化の際に必要であったデータ化交換のためのプログラムP103が不要になるという効果を有する。また、新規変数の一部に流用元変数の名称を含むようにしたので、名称に付けた変数の意図が失われず、作成された流用プログラム内の処理の可読性を維持することができるという効果も有する。
On the other hand, in
さらに、プログラムをFB化すると、FB型の定義やFB内に存在する変数の種別の設定が必要であるが、実施の形態1のように部品化するのみの場合には、FB型の定義やFB内に存在する変数の種別の設定を行う必要がないという効果を有する。 Furthermore, when the program is converted to an FB, it is necessary to set the definition of the FB type and the type of the variable existing in the FB. However, in the case of only the componentization as in the first embodiment, the definition of the FB type There is an effect that it is not necessary to set the type of a variable existing in the FB.
実施の形態2.
実施の形態2では、実施の形態1で得られる部品化されたプログラムをブロック化表示することができるプログラム開発支援装置およびその方法について説明する。
In the second embodiment, a program development support apparatus and method for displaying the componentized program obtained in the first embodiment in a block form will be described.
図5は、実施の形態2によるプログラム開発支援装置の構成の一例を模式的に示すブロック図である。このプログラム開発支援装置10は、実施の形態1のプログラム開発支援装置に、変数解析部19と、流用プログラムブロック表示部20と、をさらに備える。
FIG. 5 is a block diagram schematically showing an example of the configuration of the program development support apparatus according to the second embodiment. This program
変数解析部19は、流用プログラム中で使用される変数の読出し、書込みなどの状態である使用状況を解析して、処理開始時に値の読出しを必要とする変数と、処理終了時に値が書込みされる変数と、に分別する。
流用プログラムブロック表示部20は、変数解析部19による解析の結果、読出しが必要とされる側の変数を入力ピンとし、書込みされる側の変数を出力ピンとして、流用プログラム生成部16で生成された流用プログラムを、ブロック表示する。具体的には、プログラムがラダープログラム、すなわちシーケンスプログラムで構成される場合には、流用プログラムをプログラム中に矩形で表示し、矩形のプログラムブロック中の左側に入力ピンを配置し、右側に出力ピンを配置する。なお、その他の構成要素は、実施の形態1と同一であるので、その説明を省略する。
The diverted program
つぎに、このような構成のプログラム開発支援装置10におけるプログラム開発支援方法について説明する。図6は、実施の形態2によるプログラム開発支援方法の処理手順の一例を示すフローチャートである。ここでは、流用プログラム生成部16で生成された流用プログラムをブロック化して表示する処理について説明する。
Next, a program development support method in the program
まず、変数解析部19は、流用するプログラムで使用されている変数の読出し、書込みなどの使用状況を解析する(ステップS31)。たとえば、命令の引数において、読出しとなっている引数と書込みとなっている引数とを予め命令ごとに定義しておき、その定義に基づいて、流用プログラム中の命令の引数となっている変数の使用状況を取得する。
First, the
具体的な解析手順について図3(b)のプログラムP2を用いて説明する。命令文301では、LD命令の引数となっている変数FLAG1は読出しと判断される。命令文302では、MOV命令の第1引数となっている変数IN1や読出しと判断され、第2引数となっている変数VAR1は書込みと判断される。命令文303では、変数FLAG1が読出しと判断される。命令文304では、第1引数となっている変数VAR1が読出しと判断され、第2引数となっている変数VAR2が書込みと判断される。
A specific analysis procedure will be described using the program P2 in FIG. In the
図7は、流用プログラム中の変数の使用状況を示す図である。この図に示されるように、変数FLAG1は、読出しとして使用されているため、流用プログラムではFBでいう入力変数の使われ方をしていると判断される。変数IN1は、読出しとして使用されており、流用先プログラムで変数置換されないため、FBでいう外部変数の使われ方をしていると判断される。変数VAR1は、読出しと書込みの両方に使用されているため、流用プログラムではFBでいう内部変数の使われ方をしていると判断される。変数VAR2は、書込みとして使用されているため、流用プログラムではFBでいう出力変数の使われ方をしていると判断される。なお、図7では、流用プログラムP3に変換する前の部品化対象プログラムP2のリストを例に挙げているので、各変数には識別子がついていないが、実際には、識別子、この例では「PB1¥」、が付加されている。 FIG. 7 is a diagram showing the usage status of variables in the diversion program. As shown in this figure, since the variable FLAG1 is used for reading, it is determined in the diversion program that the input variable referred to as FB is used. The variable IN1 is used as a read-out, and is not replaced by the diversion target program. Therefore, it is determined that the external variable is used in the FB. Since the variable VAR1 is used for both reading and writing, it is determined in the diversion program that the internal variable referred to as FB is used. Since the variable VAR2 is used for writing, it is determined in the diversion program that the output variable referred to as FB is used. In FIG. 7, since the list of the partization target program P2 before conversion to the diversion program P3 is given as an example, each variable is not provided with an identifier , but in reality , in this example, an identifier , “PB1 ¥ ", has been added.
つぎに、流用プログラムブロック表示部20は、ステップS31の解析の結果から、入力ピンとなる変数と出力ピンとなる変数を抽出し、流用プログラムをブロック表示し、その流用プログラム中に抽出した入力ピンと出力ピンを表示する(ステップS32)。入力ピンとなる変数は、読出しのみとして使用されている変数、すなわち入力変数であり、出力ピンとなる変数は、書込みのみとして使用されている変数、すなわち出力変数である。このとき、入力ピンと出力ピンは、それぞれ識別子が付加された変数名称としてブロック中に表示される。
Next, the diverted program
たとえば、図7の例では、変数FLAG1は、読出しのみに使用されている入力変数であり、入力ピンに表示されるが、出力ピンには表示されないことになる。変数IN1は、内部変数的に使用されているので、入力ピンおよび出力ピンには表示されない。変数VAR1は、読出しと書込みの両方に使用されているので、入力ピンおよび出力ピンには表示されない。変数VAR2は、書込みにのみ使用されている出力変数であり、出力ピンには表示されるが、入力ピンには表示されないことになる。 For example, in the example of FIG. 7, the variable FLAG1 is an input variable used only for reading, and is displayed on the input pin, but not displayed on the output pin. Since the variable IN1 is used as an internal variable, it is not displayed on the input pin and the output pin. The variable VAR1 is not displayed on the input and output pins because it is used for both reading and writing. The variable VAR2 is an output variable used only for writing, and is displayed on the output pin but not displayed on the input pin.
図8は、流用プログラムのブロック表示の一例を示す図であり、(a)は流用プログラムを示し、(b)は(a)の流用プログラムをブロック表示した例を示している。図8(a)と図7から、流用プログラムP3中では、符号321で示される変数PB1¥FLAG1が入力変数の使われ方をしているので、入力ピンとなり、符号322で示される変数PB1¥VAR2が出力変数の使われ方をしているので、出力ピンとなる。そして、図8(b)に示されるように、流用プログラムP3をブロック表示し、そのブロック401の左側に入力ピンとして変数PB1¥FLAG1を配置し、右側に出力ピンとして変数PB1¥VAR2を配置する。以上によって、流用プログラムのブロック化処理が終了する。
FIG. 8 is a diagram showing an example of a block display of the diversion program. (A) shows the diversion program, and (b) shows an example in which the diversion program of (a) is displayed as a block. From FIG. 8A and FIG. 7, in the diversion program P3, the variable PB1 ¥ FLAG1 indicated by
実施の形態2では、部品化された流用プログラムから入力変数と出力変数とを抽出し、流用プログラムをFBと同様にブロック化して表示し、その中に入力変数を入力ピンとして表示し、出力変数を出力ピンとして表示するようにした。これによって、FBと同等の操作で流用ができ、使用容易性が向上するという効果を有する。 In the second embodiment, input variables and output variables are extracted from a diversion program converted into parts, and the diversion program is displayed as a block in the same manner as FB, and the input variables are displayed as input pins therein, and the output variables Was displayed as an output pin. This has the effect of being able to be diverted by the same operation as FB and improving ease of use.
実施の形態3.
実施の形態2では、流用プログラムをブロック表示する際に、識別子を付加した変数名で入力ピンと出力ピンとをブロック中に配置した。実施の形態3では、これとは異なる方法で流用プログラムをブロック表示する場合を説明する。
In the second embodiment, when the diversion program is displayed as a block, the input pin and the output pin are arranged in the block with the variable name to which the identifier is added. In the third embodiment, a case will be described in which a diversion program is displayed in a block by a method different from this.
実施の形態3によるプログラム開発支援装置10の構成は、実施の形態2のものと同様である。ただし、流用プログラムブロック表示部20は、ブロック表示する際に、入力ピンと出力ピンの変数の名称を、識別子とこれ以外の流用元変数名に分ける。そして、識別子をブロック名としてブロックに表示し、読出し側の流用元変数名を入力ピンに表示し、書込み側の流用元変数名を出力ピンに表示する。その他の構成要素は、実施の形態1,2と同一であるので、その説明を省略する。
The configuration of the program
つぎに、このような構成のプログラム開発支援装置10におけるプログラム開発支援方法について説明する。図9は、実施の形態3によるプログラム開発支援方法の処理手順の一例を示すフローチャートである。ここでは、流用プログラム生成部16で生成された流用プログラムをブロック化して表示する処理について説明する。
Next, a program development support method in the program
まず、変数解析部19は、実施の形態2と同様に、流用するプログラムで使用されている変数の読出し、書込みなどの使用状況を解析する(ステップS51)。
First, the
つぎに、流用プログラムブロック表示部20は、ステップS51の解析の結果から、入力ピンとなる変数と出力ピンとなる変数を抽出し(ステップS52)、入力ピンと出力ピンに表示する変数の変数名を、識別子とこれ以外に分ける(ステップS53)。
Next, the diverted program
その後、流用プログラムブロック表示部20は、流用プログラムをブロック表示し、このブロックに名称として識別子も表示する(ステップS54)。また、流用プログラムブロック表示部20は、識別子以外の流用元変数名を、この流用プログラム中に抽出した入力ピンと出力ピンとして表示する(ステップS55)。具体的には、読出しに使用されている抽出された新規変数の流用元変数を入力ピンに表示し、書込みに使用されている抽出された新規変数の流用元変数を出力ピンに表示する。以上によって、処理が終了する。
Thereafter, the diversion program
図10は、流用プログラムのブロック表示の一例を示す図であり、(a)は流用プログラムを示し、(b)は(a)の流用プログラムをブロック表示した例を示している。図8(b)と比較して、図10(b)では、ブロック401の上部に識別子411が表示され、入力ピンと出力ピンは、識別子が除去された変数名として表示されている。
FIG. 10 is a diagram showing an example of a block display of the diversion program. (A) shows the diversion program, and (b) shows an example in which the diversion program of (a) is displayed as a block. Compared to FIG. 8B, in FIG. 10B, the
実施の形態3では、部品化した流用プログラムをブロック化する際に、識別子をブロックの名称とし、新規変数から識別子を除去した流用元変数を入力ピンと出力ピンの表示名とした。これによって、流用プログラムの使用において、識別子がFBインスタンス名のように表示され、またピンの名称が流用元変数で表示されるので、FBと同等の使い勝手となり、実施の形態2の場合に比してさらに使用容易性が向上するという効果を有する。 In the third embodiment, when the diversion program converted into parts is made into a block, the identifier is used as the block name, and the diversion source variable obtained by removing the identifier from the new variable is used as the display name of the input pin and the output pin. As a result, when the diversion program is used, the identifier is displayed as the FB instance name, and the pin name is displayed as the diversion source variable, which is the same usability as the FB, and compared to the case of the second embodiment. This has the effect of further improving ease of use.
実施の形態4.
実施の形態4では、流用プログラムで使用する変数の名称や種別、データ型を変更することができるプログラム開発支援装置およびその方法について説明する。
In the fourth embodiment, a program development support apparatus and method for changing the names, types, and data types of variables used in the diversion program will be described.
図11は、実施の形態4によるプログラム開発支援装置の構成の一例を模式的に示すブロック図である。このプログラム開発支援装置10は、実施の形態2または実施の形態3のプログラム開発支援装置10に、流用プログラム編集部21をさらに備える。
FIG. 11 is a block diagram schematically showing an example of the configuration of the program development support apparatus according to the fourth embodiment. This program
流用プログラム編集部21は、流用プログラムの編集画面を表示部12に表示するとともに、編集画面にユーザによって入力部11を介して設定された内容を流用プログラムに反映させる機能を有する。具体的には、流用プログラム編集部21は、流用プログラム中の識別子の名称と、流用プログラム中で使用されている変数名と、を取得し、編集画面に表示する。図12は、編集画面の一例を示す図である。この図に示されるように、編集画面500には、識別子の名称510と、流用プログラム中の変数をリスト表示した変数リスト520と、が含まれる。変数リスト520は、取得した変数名521と、この変数名のデータ型522と、この変数名について変数解析部19で取得した使用状況に基づいて判断される変数種別523と、を有する。変数名521と変数種別523に関しては、流用プログラム編集部21で予め入力されるが、データ型522については、空白としておいてもよいし、変数名521について予めデータ型が定義されている場合にはこの値を取得して入力されるようにしてもよい。
The diverted program editing unit 21 has a function of displaying an edit screen of the diverted program on the display unit 12 and reflecting the contents set by the user via the input unit 11 on the edit screen in the diverted program. Specifically, the diversion program editing unit 21 acquires the name of the identifier in the diversion program and the variable name used in the diversion program, and displays it on the edit screen. FIG. 12 is a diagram illustrating an example of the editing screen. As shown in this figure, the
編集画面500の識別子の名称510と変数リスト520とは、ともに編集可能な構成となっている。そのため、入力部11を介してユーザが変更することが可能である。そして、ユーザによって編集画面500の内容が確定されると、流用プログラム編集部21は、その内容が流用プログラムとこれに基づいて作成されるブロックに反映する。なお、その他の構成要素は、実施の形態1〜3と同一であるので、その説明を省略する。
Both the
図13と図14は、実施の形態4による流用プログラムの変更処理の様子を模式的に示す図である。図13(a)に示されるように、識別子の名称510が「PB1」の場合の流用プログラムの構造(b)と、流用プログラムから生成されるブロック(c)を示している。ここで、図14(a)に示されるように、編集画面500で識別子の名称510を「PB2」と変更することによって、(b)に示されるように流用プログラムの識別子が「PB2」に変更される。また、ブロック表示においても、ブロックの名称が「PB2」へと変更される。このように、編集画面500での編集内容を容易に流用プログラムとブロックに反映させることができる。
FIG. 13 and FIG. 14 are diagrams schematically showing a diversion program changing process according to the fourth embodiment. As shown in FIG. 13A, the structure (b) of the diversion program when the
実施の形態4では、流用プログラムの内容の変更を編集画面500で行い、その結果を流用プログラムと流用プログラムから生成されるブロックに反映させるようにした。これによって、従来ではFB化で必要だった定義のプログラムの変更が不要になるという効果を有する。また、流用元のプログラムまで変更されることがなくなり、流用したプログラムを再利用しやすくなるという効果を有する。
In the fourth embodiment, the contents of the diversion program are changed on the
実施の形態5.
実施の形態5では、部品化した流用プログラムをFBに変換する場合、またはFBを部品化した流用プログラムに変換する場合について説明する。
In the fifth embodiment, a case where a diversion program converted into a component is converted into an FB, or a case where an FB is converted into a diversion program converted into a component will be described.
図15は、実施の形態5によるプログラム開発支援装置の構成の一例を模式的に示すブロック図である。このプログラム開発支援装置10は、実施の形態4のプログラム開発支援装置10に、流用プログラム−FB変換部22をさらに備える。
FIG. 15 is a block diagram schematically showing an example of the configuration of the program development support apparatus according to the fifth embodiment. This program
流用プログラム−FB変換部22は、ユーザによって選択された部品化されたプログラムをFBに変換したり、または逆にユーザによって選択されたFBを部品化されたプログラムに変換したりする機能を有する。なお、プログラムの一部をFBに変換する技術と、FBをプログラムに変換する技術については、公知であるので、その説明を省略する。また、その他の構成要素は、実施の形態1〜4と同一であるので、その説明を省略する。
The diverted program-
図16は、実施の形態5による部品化した流用プログラムをFBに変換する処理手順の一例を示すフローチャートである。まず、ユーザによって、部品化したプログラムが選択される(ステップS71)。ついで、流用プログラム−FB変換部22は、ステップS71で選択された部品化したプログラムを、従来のプログラムの一部をFBに変換する方法にしたがって、FBに変換する(ステップS72)。以上によって、処理が終了する。
FIG. 16 is a flowchart illustrating an example of a processing procedure for converting a diversion program into a component according to the fifth embodiment into an FB. First, the program selected as a component is selected by the user (step S71). Next, the diversion program-
図17は、実施の形態5によるFBを部品化したプログラムに変換する処理手順の一例を示すフローチャートである。まず、ユーザによって、部品化したプログラムに変換したいFBが選択される(ステップS91)。ついで、流用プログラム−FB変換部22は、ステップS91で選択したFBを、従来のFBをプログラムの一部に変換する方法にしたがって、部品化したプログラムに変換する(ステップS92)。以上によって、処理が終了する。
FIG. 17 is a flowchart illustrating an example of a processing procedure for converting an FB according to the fifth embodiment into a program that is a component. First, the user selects an FB to be converted into a componentized program (step S91). Next, the diversion program-
実施の形態5では、既存のFBを当該流用プログラムの効果が得られるように変換されるので、ソフトウェア資産を有効活用することができるという効果を有する。 In the fifth embodiment, since the existing FB is converted so as to obtain the effect of the diversion program, the software asset can be effectively used.
なお、上述した説明では、部品化する対象として、ラダープログラムすなわちシーケンスプログラムを例に挙げたが、これに限定されるものではない。たとえば、ST(Structured Text)やFBD(Function Block Diagram)言語などのIEC61131−3に準拠したプログラム言語に対しても適用することができる。 Incidentally, in the above description, as an object to be part of, it has been given a ladder program That sequence program as an example, but is not limited thereto. For example, the present invention can be applied to a programming language conforming to IEC 61131-3, such as ST (Structured Text) or FBD (Function Block Diagram) language.
以上のように、この発明にかかるプログラム開発支援装置は、あるプログラム中の使用頻度の高いプログラムの再利用に有用である。 As described above, the program development support apparatus according to the present invention is useful for reusing a frequently used program in a certain program.
10 プログラム開発支援装置、11 入力部、12 表示部、13 プログラム部品化情報取得部、14 識別子生成部、15 新規変数生成部、16 流用プログラム生成部、17 プログラム挿入部、18 制御部、19 変数解析部、20 流用プログラムブロック表示部、21 流用プログラム編集部、22 流用プログラム−FB変換部。
DESCRIPTION OF
Claims (6)
前記部品化対象プログラムに存在する前記流用元変数の名称と前記識別子とを組み合わせた名称を有する新規変数を前記流用先プログラムに追加するとともに、前記部品化対象プログラムの前記流用元変数と前記新規変数とを対応付けた変数対応付け情報を生成する新規変数生成手段と、
前記部品化対象プログラムで使用される前記流用元変数を、前記変数対応付け情報に基づいて前記新規変数に置換して、流用プログラムを生成する流用プログラム生成手段と、
前記流用プログラムを前記流用先プログラムに挿入するプログラム挿入手段と、
を備えることを特徴とするプログラム開発支援装置。 Added to the diversion based variables used in parts of the target program that performs a part of the in flow-original program identifier generation for generating an identifier to be unique throughout the diversion destination program insertion destination of the part of the target program Means,
A new variable having a name combining the name of the diversion source variable and the identifier existing in the partization target program is added to the diversion destination program, and the diversion source variable and the new variable of the partization target program New variable generation means for generating variable association information in association with
A diversion program generating means for generating a diversion program by substituting the diversion source variable used in the component conversion target program with the new variable based on the variable association information;
Program insertion means for inserting the diversion program into the diversion destination program;
A program development support apparatus comprising:
前記流用プログラムを表示手段上でブロック表示にするとともに、読出し側の前記新規変数を前記ブロック内での入力ピンに表示し、書込み側の前記新規変数を前記ブロック内での出力ピンに表示する流用プログラムブロック表示手段と、
をさらに備えることを特徴とする請求項1に記載のプログラム開発支援装置。 Analyzing the usage status of reading or writing of the new variable used in the program to be componentized, the new variable that requires reading of the value at the start of processing, and the new variable to which the value is written at the end of processing Variable analysis means for separating
The diversion program displays the diversion program as a block on the display means, displays the new variable on the read side on an input pin in the block, and displays the new variable on the write side on an output pin in the block Program block display means;
The program development support apparatus according to claim 1, further comprising:
前記部品化対象プログラムに存在する前記流用元変数の名称と前記識別子とを組み合わせた名称を有する新規変数を前記流用先プログラムに追加する工程と、
前記部品化対象プログラムの前記流用元変数と前記新規変数とを対応付けた変数対応付け情報を生成する工程と、
前記部品化対象プログラムで使用される前記流用元変数を、前記変数対応付け情報に基づいて前記新規変数に置換して、流用プログラムを生成する工程と、
前記流用プログラムを前記流用先プログラムに挿入する工程と、
を含むことを特徴とするプログラム開発支援方法。 Added to the diversion based variables used in parts of the target program that performs a part of the in flow-original program, and generating an identifier to be unique across diversion destination program insertion destination of the part of the target program ,
Adding a new variable having a name combining the name of the diversion source variable and the identifier existing in the partization target program to the diversion destination program;
Generating variable association information in which the diversion source variable and the new variable of the partization target program are associated with each other;
Replacing the diversion source variable used in the component conversion target program with the new variable based on the variable association information, and generating a diversion program;
Inserting the diversion program into the diversion destination program;
A program development support method comprising:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/055853 WO2014136185A1 (en) | 2013-03-04 | 2013-03-04 | Program development support device and method therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5777837B2 true JP5777837B2 (en) | 2015-09-09 |
JPWO2014136185A1 JPWO2014136185A1 (en) | 2017-02-09 |
Family
ID=51490753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015504027A Active JP5777837B2 (en) | 2013-03-04 | 2013-03-04 | Program development support apparatus and method |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5777837B2 (en) |
CN (1) | CN105144003B (en) |
WO (1) | WO2014136185A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159679A (en) * | 2015-09-15 | 2015-12-16 | 北京国科世纪激光技术有限公司 | Message responding and processing method and system of window software |
JP6477553B2 (en) * | 2016-03-14 | 2019-03-06 | オムロン株式会社 | Program development support apparatus, program development support program, and program development support method |
JP6458754B2 (en) * | 2016-03-14 | 2019-01-30 | オムロン株式会社 | Program development support apparatus, program development support program, and program development support method |
JP6426666B2 (en) * | 2016-07-27 | 2018-11-21 | ファナック株式会社 | Programmable controller |
JP7322604B2 (en) * | 2019-09-04 | 2023-08-08 | オムロン株式会社 | Program development device, project creation method, and program for realizing program development device |
CN111414585B (en) * | 2020-03-26 | 2023-05-05 | 深圳前海微众银行股份有限公司 | Variable management method, device, equipment and computer readable storage medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3847585B2 (en) * | 2001-07-31 | 2006-11-22 | 株式会社デジタル | Editor registration device, registration program, and recording medium recording the same |
WO2005101147A1 (en) * | 2004-04-15 | 2005-10-27 | Mitsubishi Denki Kabushiki Kaisha | Programmable logic controller peripheral device and program creation method thereof |
JP4822817B2 (en) * | 2005-11-22 | 2011-11-24 | パナソニック株式会社 | Compilation system |
JP4735854B2 (en) * | 2006-06-26 | 2011-07-27 | オムロン株式会社 | PLC program development support device |
US20100161085A1 (en) * | 2007-02-19 | 2010-06-24 | Mitsubishi Electric Corporation | Peripheral device of programmable controller, method of variable substitution, and computer program product thereof |
JP5138090B2 (en) * | 2009-02-18 | 2013-02-06 | 三菱電機株式会社 | Program analysis support device |
JP2012103791A (en) * | 2010-11-08 | 2012-05-31 | Mitsubishi Electric Corp | Program testing device, program testing method and program testing program |
-
2013
- 2013-03-04 CN CN201380074134.1A patent/CN105144003B/en active Active
- 2013-03-04 WO PCT/JP2013/055853 patent/WO2014136185A1/en active Application Filing
- 2013-03-04 JP JP2015504027A patent/JP5777837B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2014136185A1 (en) | 2017-02-09 |
CN105144003A (en) | 2015-12-09 |
CN105144003B (en) | 2017-04-05 |
WO2014136185A1 (en) | 2014-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5777837B2 (en) | Program development support apparatus and method | |
JP6351899B1 (en) | Ladder program editing support apparatus and ladder program editing method | |
TWI464558B (en) | Program generation support device | |
CN109918081B (en) | Compiling method and compiler | |
CN101669077B (en) | Debug system for diagram of orogrammable controller, its programming device and its debugging method | |
CN105408823A (en) | Engineering tool, program editing device, and program editing system | |
KR101772785B1 (en) | Program chart display device, program chart display method, and computer readable recoding medium for recording program chart display program | |
JP5026925B2 (en) | Control program creation device and control program creation method | |
CN109213061A (en) | Program making device | |
US20150347972A1 (en) | Engineering tool and engineering system | |
JP5425317B2 (en) | Motion SFC program parts creation device | |
CN101710275B (en) | Gui tool is utilized to carry out the method and system of editing stream logic and screens | |
JP2010033500A (en) | Gui data conversion system and gui data conversion method | |
JP4767309B2 (en) | Information processing apparatus, information processing method, and computer program | |
KR101230563B1 (en) | Sequence control device using decision table, program creation device and interpreter execution engine | |
WO2021024520A1 (en) | Information processing device, support program, and support system | |
JP5205988B2 (en) | PLC global variable definition method | |
JP2003223204A (en) | Programming method of programmable controller, system thereof and recording medium thereof | |
JP2005326909A (en) | Plant engineering system | |
Wiesmayr | Towards facilitating software engineering for production systems in Industry 4.0 with behavior models | |
KR100423742B1 (en) | Exclusive control system by sequential function chart | |
CN114981743A (en) | Design support device, design support method, and design support program | |
KR100817364B1 (en) | Programmable logic controller peripheral device and program creation method thereof | |
JP2018194898A (en) | Support device, control method of support device, information processing program, and storage medium | |
JP2013171358A (en) | Control program editor device and control program editor program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20150609 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5777837 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |