JP2006294011A - Control program development support apparatus - Google Patents
Control program development support apparatus Download PDFInfo
- Publication number
- JP2006294011A JP2006294011A JP2006071854A JP2006071854A JP2006294011A JP 2006294011 A JP2006294011 A JP 2006294011A JP 2006071854 A JP2006071854 A JP 2006071854A JP 2006071854 A JP2006071854 A JP 2006071854A JP 2006294011 A JP2006294011 A JP 2006294011A
- Authority
- JP
- Japan
- Prior art keywords
- program
- analysis
- section
- memory
- control program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006870 function Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 5
- 102100026205 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Human genes 0.000 description 15
- 101000691599 Homo sapiens 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Proteins 0.000 description 15
- 238000000034 method Methods 0.000 description 14
- 101100408464 Caenorhabditis elegans plc-1 gene Proteins 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 101100190617 Arabidopsis thaliana PLC2 gene Proteins 0.000 description 5
- 101100408456 Arabidopsis thaliana PLC8 gene Proteins 0.000 description 5
- 101100464304 Caenorhabditis elegans plk-3 gene Proteins 0.000 description 5
- 101100093534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPS1B gene Proteins 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000000926 separation method Methods 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13035—Name, address duplication detection for program components, symbols
Abstract
Description
本発明は、プログラマブル・コントローラ(以下、PLCと言う)の制御プログラム(ユーザプログラム)を開発する場合等に好適な制御プログラム開発支援装置に関するものである。 The present invention relates to a control program development support apparatus suitable for developing a control program (user program) for a programmable controller (hereinafter referred to as PLC).
PLCで実行される制御プログラム(ユーザプログラム)の作成を支援するものとして制御プログラム開発支援装置(以下、開発支援装置)が知られている。この開発支援装置を使ってユーザプログラムを作成する際には、既存プログラムの流用がしばしば行なわれる。 2. Description of the Related Art A control program development support device (hereinafter referred to as a development support device) is known as a device that supports creation of a control program (user program) executed by a PLC. When creating a user program using this development support apparatus, existing programs are often used.
通常、ユーザプログラムは、複数のプログラムモジュールから構成されており、異なるプログラムモジュール間で共通に参照されるメモリアドレスが存在する。このように異なるプログラムモジュール間で共通に参照されるメモリアドレスが存在する場合は、そのプログラムモジュールを流用する際は注意が必要となる。これを怠ると、予期せぬ誤動作の原因となる。 Normally, a user program is composed of a plurality of program modules, and there is a memory address that is commonly referred to between different program modules. Thus, when there is a memory address that is commonly referred to between different program modules, care must be taken when diverting the program module. Failure to do so may cause an unexpected malfunction.
あるメモリアドレスがユーザプログラム内のどこに使用されているか検索するためのものとしては、クロスリファレンスと称される参照テーブルが知られている。なお、クロスリファレンスを利用する検索については、各種の公知技術が知られている(例えば、特許文献1参照)。 A reference table called a cross reference is known as a method for searching where a certain memory address is used in a user program. Note that various known techniques are known for searching using a cross reference (see, for example, Patent Document 1).
クロスリファレンス表示例が図10に示されている。この例では、メモリアドレス「A200.11」がプログラム名「新規プログラム1」なるプログラムを構成するセクション名「セクション1」なるプログラムモジュール内で使用されていることを示している。さらに、そのプログラムモジュール内の使用場所として、プログラムアドレスが「0」であり、命令後「LD」のオペランドとして使用されていることを表している。
しかしながら、従来のクロスリファレンス表示は、あるメモリアドレスが使用されているプログラムモジュールの名称やプログラムモジュール内での使用場所等を当該メモリアドレスを行の先頭として同一行に並べて表示するというメモリアドレスの中心の表示となっている。したがって、あるプログラムモジュール内に使用されているメモリアドレスが他のプログラムモジュールでも使用されているかどうかを一目で理解できるものではなかったため、使い勝手が悪いと言う問題点が指摘されている。また、従来より提供されている、複数のPLC間でデータの共有を行う機能(データリンク機能と呼ぶ)を使用しているPLCのユーザプログラムを流用する場合は、他のPLCとデータ共有しているメモリエリアのメモリアドレスにも注意が必要であるにもかかわらず、従来のクロスリファレンス表示では表示されないという問題も指摘されている。 However, the conventional cross-reference display is the center of the memory address in which the name of the program module in which a certain memory address is used, the use location in the program module, etc. are displayed side by side on the same line with the memory address at the beginning of the line. Is displayed. Therefore, since it was not possible to understand at a glance whether or not a memory address used in a certain program module is also used in another program module, a problem of being unusable is pointed out. In addition, when diverting a PLC user program that uses a conventionally provided function for sharing data among multiple PLCs (referred to as a data link function), share the data with other PLCs. In spite of the need to pay attention to the memory address of the memory area, there is a problem that it is not displayed in the conventional cross-reference display.
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、あるプログラムモジュール内に使用されているメモリアドレスが他のプログラムモジュールでも使用されているかどうかを一目で理解できるような表示を提供できる制御プログラム開発支援装置を提供することにある。 The present invention has been made paying attention to the above-mentioned problems, and the object of the present invention is to determine at a glance whether a memory address used in a certain program module is also used in another program module. It is an object of the present invention to provide a control program development support apparatus that can provide a display that can be understood.
この発明の制御プログラム開発支援装置は、複数のプログラムモジュールで構成される制御プログラムを解析する制御プログラム開発支援装置において、制御プログラムを読み出し、使用されているメモリアドレスのプログラムモジュール間での重複使用状況を解析する解析手段と、解析手段で解析した結果を表示する解析結果表示手段とを備え、プログラムモジュール毎に他のプログラムモジュールとの使用メモリアドレスの重複使用状況を表示可能としたものである。 The control program development support device according to the present invention is a control program development support device that analyzes a control program composed of a plurality of program modules, reads the control program, and uses the memory address that is being used between the program modules. Analysis means and analysis result display means for displaying the result of analysis by the analysis means, and it is possible to display the overlapping use status of the memory addresses used with other program modules for each program module.
このような構成によれば、あるプログラムモジュール内で使用されているメモリアドレスが他のプログラムモジュール内でも使用されているかどうかを一目で理解できるような表示をユーザに対して行うことができる。 According to such a configuration, it is possible to display to the user so that it can be understood at a glance whether or not a memory address used in a certain program module is also used in another program module.
この発明の好ましい実施の形態においては、解析手段は、制御プログラムが複数のPLCの制御プログラムから構成されているかどうかを解析し、解析結果表示手段は、解析手段で制御プログラムが複数のPLCの制御プログラムから構成されていると解析された場合は、プログラムモジュールをPLCごとにグループ化して使用メモリアドレスの重複使用状況を表示するものであってもよい。 In a preferred embodiment of the present invention, the analysis means analyzes whether or not the control program is composed of a plurality of PLC control programs, and the analysis result display means is an analysis means that controls the plurality of PLCs. If it is analyzed that the program is composed of programs, the program modules may be grouped by PLC to display the overlapping usage status of the used memory addresses.
このような構成によれば、あるPLC内で使用されているメモリアドレスが他のPLC内でも使用されているかどうかを一目で理解できるような表示をユーザに対して行うことができる。 According to such a configuration, it is possible to display to the user so that it can be understood at a glance whether or not a memory address used in one PLC is also used in another PLC.
この発明の好ましい実施の形態においては、解析結果表示手段は、プログラムモジュール毎に当該プログラムモジュール内で使用されているメモリアドレスの内、他のプログラムモジュールでも重複使用されている場合は、その重複使用しているプログラムモジュール名と対応させて使用メモリアドレスの重複使用状況を表示するのであってもよい。 In a preferred embodiment of the present invention, the analysis result display means, when the memory address used in the program module for each program module is also used in other program modules, the duplicate use is performed. The use status of the used memory address may be displayed in association with the program module name being used.
このような構成によれば、あるプログラムモジュール内で使用されているメモリアドレスがどのプログラムモジュール内でも使用されているかどうかを一目で理解できるような表示をユーザに対して行うことができる。 According to such a configuration, it is possible to display to the user so that it can be understood at a glance whether a memory address used in a certain program module is used in any program module.
この発明の好ましい実施の形態においては、解析手段は、制御プログラムを構成するプログラムモジュールに階層構造があるかどうかを解析し、階層構造があると解析された場合は、階層構造と使用メモリアドレスの重複使用状況に基づいて当該プログラムモジュールの使用メモリアドレスの重複使用度合いを演算し、解析結果表示手段は、解析手段で演算された重複使用度合いを表示するのであってもよい。 In a preferred embodiment of the present invention, the analyzing means analyzes whether or not the program module constituting the control program has a hierarchical structure, and if it is analyzed that there is a hierarchical structure, the analyzing means stores the hierarchical structure and the used memory address. The duplicate use degree of the memory address used by the program module may be calculated based on the duplicate use status, and the analysis result display means may display the duplicate use degree calculated by the analysis means.
このような構成によれば、ある階層で使用されているメモリアドレスが他の階層でも使用されているかどうかを一目で理解できるような表示をユーザに対して行うことができる。 According to such a configuration, it is possible to display to the user so that it can be understood at a glance whether or not a memory address used in a certain hierarchy is also used in another hierarchy.
なお、別の一面から見た本発明は、上記の各装置の機能を実現するためのコンピュータプログラムとしても把握することができる。 Note that the present invention viewed from another aspect can also be grasped as a computer program for realizing the functions of the above-described devices.
本発明によれば、あるプログラムモジュール内に使用されているメモリアドレスが他のプログラムモジュールでも使用されているかどうかを一目で理解できるような表示をユーザに対して提供することができる。 According to the present invention, it is possible to provide a display to the user so that it can be understood at a glance whether or not a memory address used in a certain program module is also used in another program module.
以下に、この発明の好適な実施の一形態を添付図面を参照しながら詳細に説明する。 In the following, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
本発明の制御プログラム開発支援装置は、例えばパソコンに所定のアプリケーションソフトをインストールすることによって実現することができる。ここで、パソコンのハードウェア構成については種々の文献において周知であるから、この明細書においては詳細な説明は省略する。 The control program development support apparatus of the present invention can be realized, for example, by installing predetermined application software on a personal computer. Here, since the hardware configuration of a personal computer is well known in various documents, detailed description thereof is omitted in this specification.
タスク/セクション/複数PLC間でのメモリ使用状況の説明図が図1に示されている。図1では、PLCのユーザプログラムは複数の「タスク」と呼ばれるプログラム単位で構成され、各タスクは、複数の「セクション」と呼ばれるプログラムモジュールで構成される例を示している。この例の場合は、プログラムモジュールにユーザプログラム/タスク/セクションの階層構造があると見ることができる。また、PLC内にはひとつのユーザプログラムのみ存在する場合で、かつ、複数のPLCで制御システムが構築される場合は、PLC/タスク/セクションの階層構造があると見ることができる。一般的にPLCのユーザプログラムは、その制御対象や機能の違いによって、複数のプログラム(タスク,セクション)に分割して作成することがしばしば行われる。また、これら複数のプログラム(タスク,セクション)は同一のメモリにアクセスすることもしばしば行われる。さらに、データリンク機能は、リンクするエリアを定義するパラメータによって、プログラムレスでPLC間のメモリを共有することができる。 FIG. 1 shows an explanatory diagram of the memory usage status among tasks / sections / plural PLCs. FIG. 1 shows an example in which a PLC user program is composed of a plurality of program units called “tasks”, and each task is composed of a plurality of program modules called “sections”. In this example, it can be seen that the program module has a hierarchical structure of user programs / tasks / sections. When only one user program exists in the PLC and a control system is constructed by a plurality of PLCs, it can be considered that there is a PLC / task / section hierarchical structure. Generally, a PLC user program is often divided into a plurality of programs (tasks and sections) depending on the control target and function. Also, these multiple programs (tasks, sections) often access the same memory. Furthermore, the data link function can share the memory between PLCs without a program by a parameter defining an area to be linked.
このデータリンク機能について図11および図12を用いて説明する。図11にはデータリンク機能の概念を説明する図が示されている。この例では、3つのノード(ノード1〜3)間でのデータリンク機能によるデータ共有を示している。ここで、ノードは、PLCに相当する。ノード1のメモリアドレスDM0から100ワード分のデータがノード2とノード3に送信される。また、ノード2のDM100から100ワード分のデータがノード1とノード3に送信される。さらに、ノード3のDM200から150ワード分のデータがノード1とノード2に送信される。以上は各ノードの他ノードへの送信についての説明である。
This data link function will be described with reference to FIGS. FIG. 11 is a diagram for explaining the concept of the data link function. In this example, data sharing by a data link function between three nodes (
次にノード1でのデータ受信について説明する。この例では、ノード1は、ノード2が送信したデータをDM100から格納し、ノード3が送信したデータをDM200から格納する。各ノードでの送信データや受信データに関する情報はデータリンクテーブルと呼ばれるテーブルによって管理されている。図12にデータリンクテーブルの例が示されている。この例は、図11のノード1のデータリンクテーブルを示したものである。ノード番号欄はデータリンク対象のノードを示しており、自ノードリンク開始メモリアドレスは自ノード(この例ではノード1)の送受信開始メモリアドレスを示しており、リンクデータサイズは送受信データサイズを示しており、他ノードリンク開始メモリアドレスは他ノードの送信開始メモリアドレスを示している。このデータリンクテーブルを参照することによりノード1は、DM0から100ワード分のデータを他ノードへ送信し、ノード2から受信したデータ(ノード2のDM100から100ワード分のデータ)をDM100から格納し、ノード3から受信したデータ(ノード3のDM200からの150ワード分のデータ)をDM200から格納すれば良いことがわかる。このようにPLCのユーザプログラムでは、複数プログラム間や複数のPLC間でメモリ共有が可能となっている。
Next, data reception at the
そして本発明の制御プログラム開発支援装置にあっては、これら複数プログラム/複数PLC間のメモリのリンク状況をユーザに対して的確に表示させることができる。 In the control program development support apparatus of the present invention, the link status of the memory between these multiple programs / plural PLCs can be accurately displayed to the user.
図1には、複数プログラム/複数PLC間で同一メモリを使用している例が示されている。この例にあっては、PLC1とPLC2とからなる2台のPLCが存在する。 FIG. 1 shows an example in which the same memory is used among a plurality of programs / plural PLCs. In this example, there are two PLCs consisting of PLC1 and PLC2.
PLC1のユーザプログラムには、タスク1とタスク2とからなる2つのタスクが含まれている。タスク1内には、セクション1、セクション2、セクション3からなる3個のセクションが含まれている。同様にして、タスク2内にも、セクション4とセクション5とからなる2個のセクションが含まれている。
The user program of
一方、PLC1のメモリ内には、ユーザプログラムを構成する命令語を介してアクセス可能なメモリエリアとして(A)、(B)、(C)、(D)で示される4つのエリアが設けられている。そのうち、エリア(A)はタスク1内のセクション1からのみアクセスされるエリアとされる。また、エリア(B)はタスク1内のセクション2とセクション3とから共通にアクセスされるエリアとされる。また、エリア(C)はタスク1内のセクション3とタスク2内のセクション4とから共通にアクセスされるエリアとされる。さらに、エリア(D)はPLC1のプログラム内のタスク2のセクション5からアクセスされると共にPLC2のメモリの領域(D)とデータリンクで共用されるエリアともされている。
On the other hand, four areas indicated by (A), (B), (C), and (D) are provided in the memory of the
換言すれば、PLC1のメモリ内には、単独セクションで使用しているメモリ(A)、単独タスクの複数セクションで使用しているメモリ(B)、複数タスクのセクションで使用しているメモリ(C)、複数PLC間で使用しているメモリ(D)が存在する。
In other words, the memory of the
このように、PLCのメモリの一部を様々なプログラム部分で共用しているような複雑なシステムから、プログラムの一部を流用したりあるいは改造を行おうとすると、思わぬ誤動作の原因となる。 As described above, if a part of the program is diverted or modified from a complicated system in which a part of the PLC memory is shared by various program parts, an unexpected malfunction may occur.
そこで、このような複雑なシステムから改造や流用を行うに際しては、メモリ内の各部の使用状況を分析し、共用関係を正確に把握せねばならない。 Therefore, when remodeling or diverting from such a complex system, it is necessary to analyze the usage status of each part in the memory and accurately grasp the sharing relationship.
先に述べた従来のクロスリファレンス機能は、単独セクションで使用しているメモリアドレス、単独タスクの複数セクションで使用しているメモリアドレス、複数タスクのセクションで使用しているメモリアドレス、複数PLC間で使用しているメモリアドレスなどを分析把握するためには役立つものの、そのようなメモリ分離(使用状況)をもとに改造・流用の単位となる各タスク/セクション間のメモリ共有状況(タスク/セクションの属性)を解析することはできない。 The above-mentioned conventional cross-reference function uses the memory address used in a single section, the memory address used in multiple sections of a single task, the memory address used in a section of multiple tasks, and between multiple PLCs. Although it is useful for analyzing and grasping the memory addresses used, etc., the memory sharing status (task / section) between each task / section, which is a unit for modification and diversion based on such memory separation (usage status) Cannot be analyzed.
すなわち、他セクションとメモリ共有がないセクション(例えば、セクション1)、自タスク内の他セクションとメモリ共有のあるセクション(例えば、セクション2)、他タスクとメモリ共有のあるセクション(例えば、セクション3/セクション4)、他PLCとメモリ共有のあるセクション(例えば、セクション5)を解析することは、従来のクロスリファレンス機能で実現することができない。
That is, a section that does not share memory with other sections (for example, section 1), a section that shares memory with other sections within the own task (for example, section 2), a section that shares memory with other tasks (for example,
これに対して、以下に述べる本発明装置にあっては、それらのメモリ共用関係を的確に分析し、ユーザに対し分かりやすく表示することができる。本発明と関連して、パソコンに組み込まれるタスク/セクション間のメモリ使用状況の解析処理のフローチャートが図2に示されている。 On the other hand, in the device of the present invention described below, it is possible to accurately analyze the memory sharing relationship and display it to the user in an easy-to-understand manner. In connection with the present invention, FIG. 2 shows a flowchart of the analysis processing of the memory usage status between tasks / sections incorporated in a personal computer.
同図において処理が開始されると、まずステップ201においては、ユーザプログラム内のセクション毎のメモリ使用状況の解析が行われる。すなわち、図1に示された先の例によれば、PLC1内のセクション1〜5毎のメモリ使用状況が解析される。
When the processing is started in the figure, first, in
続くステップ202では、別途用意されたデータリンクテーブルに基づいて、他PLC間のメモリ共有状況が解析される。すなわち、図1の例であれば、PLC1のメモリ内のエリア(D)とPLC2のメモリ内の領域(D)が共有状況にあることが解析される。このデータリンクテーブルに基づく他PLC間のメモリ共有状況の解析の詳細を図12の例で説明する。図12の例では、自ノードリンク開始メモリアドレス欄とリンクデータサイズ欄の内容を読み出すことで他のPLCと共有しているメモリアドレスが判明する。この例では、メモリアドレスDM0から100ワード分(DM0〜99)、DM100から100ワード分(DM100〜DM199)、DM200から150ワード分(DM200〜DM349)のメモリアドレスが他のPLCと共有していることが判明する。
In the
以上の処理が、全セクション(セクション1〜セクション5)について繰り返される(ステップ203NO)。その間に、すべてのセクション(セクション1〜セクション5)について解析処理が完了すると(ステップ203YES)、ステップ204では、セクション間で同じメモリを使用している箇所の抽出が行われる。すなわち、図1の例によれば、エリア(B),(C)に関連するセクションの抽出が行われる。
The above process is repeated for all sections (
続くステップ205では、セクションの属性の分類が行われる。図1の例であれば、それらのセクションがどのタスクまたはどのPLCに対応するかの分類などが行われる。
In the
続くステップ206では、セクション単位メモリ使用一覧表が作成され、これがパソコンの画面に表示される。
In the
次に、具体的なユーザプログラムを実例として挙げ、これに基づいて図2に示される処理を施した場合における分析結果ならびに表示態様について説明する。 Next, a specific user program is given as an example, and the analysis result and display mode when the processing shown in FIG. 2 is performed based on this will be described.
いま仮に、図3に示されるようなユーザプログラムの構造が存在すると想定する。このユーザプログラムは、PLC1のユーザプログラムを表しており、他のPLCとのメモリ共有がない場合の例を示したものである。このPLC1のユーザプログラム内には、タスク1とタスク2とからなる2つのタスクが存在する。それらのタスク1,2内にはそれぞれ1個のセクション(セクション1)が存在する。
Assume that a user program structure as shown in FIG. 3 exists. This user program represents the user program of the
PLC1のタスク1/セクション1ではDM0/DM1/DM2で表されるメモリアドレスを使用している。また、PLC1のタスク2/セクション1ではDM10/EM0/WR10で表されるメモリアドレスを使用している。この例で「DM」、「EM」、「WR」は、メモリエリアの種別を表す文字列である。「DM」、「EM」、「WR」に続く数字は、当該メモリエリア種別内でのアドレスを表している。このようにメモリエリアの種別を表す文字列と、そのメモリエリア種別内でのアドレスを表す数字との組み合わせでメモリアドレスを表現することがある。
The
パソコンのRAM内に保存されたデータの説明図が図4に示されている。図3に示されるユーザプログラムの構造は、図4に示されるように、パソコンのRAM内にデータとして保存される。一例として、ポインタPが指し示すデータをみると、RAMアドレス1にはメモリアドレス「DM0」とタスク1/セクション1を識別するデータ「1」が保存されている。図4の例では、タスク1/セクション1、タスク2/セクション1を識別するデータとしてそれぞれ「1」、「2」が対応している。
An explanatory diagram of data stored in the RAM of the personal computer is shown in FIG. The structure of the user program shown in FIG. 3 is stored as data in the RAM of the personal computer, as shown in FIG. As an example, in the data indicated by the pointer P, the
解析ツールの処理のフローチャートが図5に示されている。図4に示されるデータ構造を前提として処理が開始されると、ステップ501ではタスク/セクションNoは「1」に初期設定される。
A flowchart of the processing of the analysis tool is shown in FIG. When processing is started on the premise of the data structure shown in FIG. 4, the task / section No. is initially set to “1” in
続くステップ502では、ポインタPにタスク/セクションNoのRAMアドレスを入力する。続くステップ503では、NoカウンタNumの値を「1」に初期設定する。
In the
以後、ポインタPおよびカウンタNumをプラス1更新しつつ、メモリアドレスが0となるまでメモリアドレスの取得処理(ステップ504)、メモリアドレスに対応するPLCのタスク・セクションNo、カウントNo.Numの抽出処理(ステップ505)が繰り返し実行される。 Thereafter, while updating the pointer P and the counter Num by 1, the memory address acquisition process until the memory address becomes 0 (step 504), the PLC task section No. and the count No. corresponding to the memory address. The Num extraction process (step 505) is repeatedly executed.
その間に、メモリアドレスが0と判定されると(ステップ507YES)、タスク/セクションNoをプラス1更新しては(ステップ508)、以上の動作(ステップ502〜508)が繰り返され、登録されているタスク/セクションNo数(図4の例では、2となる)分の繰り返しの完了(ステップ509YES)を待って処理を終了する。
Meanwhile, if the memory address is determined to be 0 (step 507 YES), the task / section No. is updated by 1 (step 508), and the above operations (
以上図5に示される処理が実行されて、プログラムが解析されると、下記のようなデータ列が得られる。
PLC1[1][1]=DM0
PLC1[1][2]=DM1
PLC1[1][3]=DM2
PLC1[2][1]=DM10
PLC1[2][2]=DM0
PLC1[2][3]=WR10
When the processing shown in FIG. 5 is executed and the program is analyzed, the following data string is obtained.
PLC1 [1] [1] = DM0
PLC1 [1] [2] = DM1
PLC1 [1] [3] = DM2
PLC1 [2] [1] = DM10
PLC1 [2] [2] = DM0
PLC1 [2] [3] = WR10
なお、それらのデータのフォーマットは、PLC1[タスク/セクションNo][登録数]とされている。 The format of these data is PLC1 [task / section No.] [number of registrations].
次に、以上得られたデータに基づく描画処理のフローチャートが図6に示されている。同図において処理が開始されると、ステップ601ではまず初期化処理(i=1,j=1)が実行される。
Next, FIG. 6 shows a flowchart of a drawing process based on the obtained data. When the processing is started in the figure, in
続くステップ602では、描画[i][j]=PLC1[i][j]の処理が行われる。続くステップ603では、j=j+1の処理が行われる。
In the
続くステップ604では、PLC1[i][j]=0の判定が行われる。ここで、判定結果が0の場合(ステップ604YES)、ステップ605へ進むのに対し、判定結果が0でない場合には(ステップ604NO)、ステップ602へと戻る。
In the
ステップ605では、j=1,i=i+1の処理が行われる。続くステップ606では、PLC1[i][j]=0の判定が行われる。ここで判定結果が0であれば(ステップ606YES)、処理は終了するのに対し、0でない場合には(ステップ606NO)、処理はステップ602へと戻る。その後以上の動作が繰り返される。
In
図6に示される描画処理の実行結果として得られた解析結果の表示例の説明図が図7に示されている。図から明らかなように、この表示例によれば、タスク/セクションNo毎に使用しているメモリが一目でわかる。図7の例では、タスク/セクションNo欄を番号表示としているが、「1」に対応する「タスク1/セクション1」、「2」に対応する「タスク2/セクション1」の文字列を表示しても良い。本発明のより具体的な実施例を以下に説明する。この場合のメモリ使用例が図8に示されている。
FIG. 7 shows an explanatory diagram of a display example of an analysis result obtained as an execution result of the drawing process shown in FIG. As is apparent from the figure, according to this display example, the memory used for each task / section number can be seen at a glance. In the example of FIG. 7, the task / section No column is displayed as a number, but the character strings “
図8に示されるように、この例にあっては、PLC1とPLC2とからなる2台のPLCを有する。PLC1のユーザプログラムには、タスク名称が制御Aと制御Bの2個のタスクが含まれている。制御Aのタスクには、セクション名称が制御A_1、制御A_2、制御A_3、制御A_4の4個のセクションが含まれている。制御Bのタスクには、セクション名称が制御B_1と制御B_2の2個のセクションが含まれている。
As shown in FIG. 8, in this example, there are two PLCs composed of PLC1 and PLC2. The user program of
一方、PLC1のメモリには、入出力リレー領域、内部補助リレー領域、保持リレー領域、特殊補助リレー領域、データメモリ領域、拡張データメモリなどのメモリエリアが設けられている。
On the other hand, the memory of the
入出力リレー領域は、制御A_1(セクション)により使用されている。内部補助リレー領域は、制御A_2(セクション)と制御A_3(セクション)とにより共用されている。特殊補助リレー領域は、制御A_4(セクション)と制御B_1(セクション)とにより共用されている。拡張データメモリは、制御B_2(セクション)により使用されている。 The input / output relay area is used by the control A_1 (section). The internal auxiliary relay area is shared by the control A_2 (section) and the control A_3 (section). The special auxiliary relay area is shared by the control A_4 (section) and the control B_1 (section). The extended data memory is used by the control B_2 (section).
一方、PLC2のユーザプログラムには、タスク名称が制御aの1個のタスクが含まれており、この制御aのタスク内にはセクション名称が制御a_1の1個のセクションが含まれている。 On the other hand, the PLC2 user program includes one task whose task name is control a, and one task whose section name is control a_1 is included in the task of control a.
そして、PLC2のメモリ内の拡張データメモリは、制御a_1(セクション)により使用される。同時に、PLC1のメモリの拡張データメモリとPLC2のメモリの拡張データメモリとはデータリンク機能によって共用されている。
The extended data memory in the
換言すれば、図8に示されるシステムは、PLC1とPLC2とからなる2つのPLCを有し、PLC1のプログラムは2つのタスク(制御A,制御B)と6つのセクション(制御A_1,制御A_2,制御A_3,制御A_4,制御B_1,制御B_2)から構成される。また、PLC2のプログラムは1つのタスク(制御a)と1つのセクション(制御a_1)から構成される。 In other words, the system shown in FIG. 8 has two PLCs consisting of PLC1 and PLC2, and the program of PLC1 has two tasks (control A, control B) and six sections (control A_1, control A_2, Control A_3, control A_4, control B_1, control B_2). The PLC2 program is composed of one task (control a) and one section (control a_1).
本発明に係る分析処理を図8に示されるシステム構成に適用した際に得られた解析結果の表示例が図9に示されている。 FIG. 9 shows a display example of the analysis result obtained when the analysis processing according to the present invention is applied to the system configuration shown in FIG.
同図から明らかなように、この表示例にあっては、横長長方形状の領域は、左右方向3列に分割され、各列には順に「解析対象のセクション」、「リンク先のセクション」、「リンク数」が割り付けられている。 As is clear from the figure, in this display example, the horizontally long rectangular area is divided into three columns in the left-right direction, and each column has “analysis section”, “link destination section”, “Number of links” is assigned.
さらに、それら3列のそれぞれは、さらに左右方向4列に分割され、各列には順に「PLC」、「タスク」、「セクション」、「セクション属性」が割り付けられている。 Further, each of these three columns is further divided into four columns in the left-right direction, and “PLC”, “task”, “section”, and “section attribute” are sequentially assigned to each column.
一方、PLCに割り当てられた上下方向へ延びる列は、PLC毎に上下方向に分割される。また、タスクに割り付けられた上下方向の列は、各PLC毎にそれに含まれるタスク名称に割り当てられる。また、セクションに割り当てられた上下方向に延びる列は、タスク名称毎に個々のセクション名称に細別され、セクション属性に割り当てられた上下方向へ延びる列は、各セクション毎に対応してセクション属性が記述される。 On the other hand, the column assigned to the PLC and extending in the vertical direction is divided in the vertical direction for each PLC. Further, the vertical column assigned to a task is assigned to a task name included in each PLC. In addition, columns extending in the vertical direction assigned to sections are subdivided into individual section names for each task name, and columns extending in the vertical direction allocated to section attributes are described by section attributes corresponding to each section. Is done.
ここで、セクション属性「1」は、他セクションとメモリ共有がないセクションとされ、セクション属性「2」は自タスク内の他セクションとメモリ共有のあるセクションとされ、セクション属性「3」は他タスクとメモリ共有があるセクションとされ、セクション属性「4」は他PLCとメモリ共有のあるセクションとされる。 Here, the section attribute “1” is a section that does not share memory with other sections, the section attribute “2” is a section that shares memory with other sections in the invoking task, and the section attribute “3” is another task. The section attribute “4” is a section having a memory share with another PLC.
このような解析結果の表示例であれば、例えば、セクション制御A_2は、自タスク内のセクション制御A_3とメモリ共有があるので、セクション属性は「2」(自タスク内の他セクションとメモリ共有のあるセクション)となり、そのメモリ共有が内部補助リレー10CH分であることが表示される。 In this analysis result display example, for example, since section control A_2 has memory sharing with section control A_3 in its own task, the section attribute is “2” (memory sharing with other sections in its own task). It is displayed that the memory sharing is for the internal auxiliary relay 10CH.
この実施例によれば、あるプログラムモジュール内で使用されているメモリが他のプログラムモジュール内でも使用されているかどうかを一目瞭然に理解できるような表示をユーザに対して行うことができる。 According to this embodiment, it is possible to display to the user so that it can be understood at a glance whether or not the memory used in one program module is also used in another program module.
本発明によれば、あるプログラムモジュール内に使用されているメモリが他のプログラムモジュールでも使用されているかどうかを一目で理解できるような表示をユーザに対して提供することができる。 According to the present invention, it is possible to provide a display to the user so that it can be understood at a glance whether or not the memory used in a certain program module is also used in another program module.
A〜D メモリ内の記憶エリア A to D Memory area in memory
Claims (8)
制御プログラムを読み出し、使用されているメモリアドレスのプログラムモジュール間での重複使用状況を解析する解析手段と、
解析手段で解析した結果を表示する解析結果表示手段とを備え、
プログラムモジュール毎に他のプログラムモジュールとの使用メモリアドレスの重複使用状況を表示可能とすることを特徴とする制御プログラム開発支援装置。 In a control program development support device that analyzes a control program composed of a plurality of program modules,
An analysis means for reading out the control program and analyzing the overlapping usage status between the program modules of the memory addresses being used;
An analysis result display means for displaying the result analyzed by the analysis means,
A control program development support apparatus characterized in that, for each program module, it is possible to display an overlapping usage status of a memory address used with another program module.
解析結果表示手段は、解析手段で制御プログラムが複数のPLCの制御プログラムから構成されていると解析された場合は、プログラムモジュールをPLCごとにグループ化して使用メモリアドレスの重複使用状況を表示する、ことを特徴とする請求項1に記載の制御プログラム開発支援装置。 The analyzing means analyzes whether the control program is composed of a plurality of PLC control programs,
The analysis result display means, when the analysis means analyzes that the control program is composed of a plurality of PLC control programs, groups the program modules for each PLC and displays the usage status of the used memory address. The control program development support device according to claim 1.
複数のプログラムモジュールで構成される制御プログラムを読み出し、使用されているメモリアドレスのプログラムモジュール間での重複使用状況を解析する解析手段と、
解析手段で解析した結果を表示する解析結果表示手段とを備え、
プログラムモジュール毎に他のプログラムモジュールとの使用メモリアドレスの重複使用状況を表示可能とする制御プログラム開発支援装置、
として機能させるためのコンピュータプログラム。 Computer
An analysis means for reading a control program composed of a plurality of program modules, and analyzing the overlapping usage status between the program modules of the used memory address;
An analysis result display means for displaying the result analyzed by the analysis means,
A control program development support device capable of displaying the overlapping usage status of memory addresses used with other program modules for each program module;
Computer program to function as.
解析結果表示手段は、解析手段で制御プログラムが複数のPLCの制御プログラムから構成されていると解析された場合は、プログラムモジュールをPLCごとにグループ化して使用メモリアドレスの重複使用状況を表示する、ことを特徴とする請求項5に記載のコンピュータプログラム。 The analyzing means analyzes whether the control program is composed of a plurality of PLC control programs,
The analysis result display means, when the analysis means analyzes that the control program is composed of a plurality of PLC control programs, groups the program modules for each PLC and displays the usage status of the used memory address. The computer program according to claim 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006071854A JP4780308B2 (en) | 2005-03-15 | 2006-03-15 | Control program development support apparatus and computer program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005074124 | 2005-03-15 | ||
JP2005074124 | 2005-03-15 | ||
JP2006071854A JP4780308B2 (en) | 2005-03-15 | 2006-03-15 | Control program development support apparatus and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006294011A true JP2006294011A (en) | 2006-10-26 |
JP4780308B2 JP4780308B2 (en) | 2011-09-28 |
Family
ID=37414460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006071854A Expired - Fee Related JP4780308B2 (en) | 2005-03-15 | 2006-03-15 | Control program development support apparatus and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4780308B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011227556A (en) * | 2010-04-15 | 2011-11-10 | Mitsubishi Electric Corp | Network parameter automatic setting program and peripheral device of programmable controller |
DE112009004306T5 (en) | 2009-02-18 | 2012-06-06 | Mitsubishi Electric Corp. | Program analysis support device |
JP2013156802A (en) * | 2012-01-30 | 2013-08-15 | Mitsubishi Electric Corp | Module dependency extraction device, module dependency extraction method and program |
JP2017130068A (en) * | 2016-01-20 | 2017-07-27 | 富士電機株式会社 | Programmable controller system, development support device thereof and target device |
KR20190117834A (en) * | 2018-03-26 | 2019-10-17 | (주)뉴텍오토메이션 | A System of Lightening Big Data of Modular Packing Machine Using PLC Data |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6484307A (en) * | 1987-09-26 | 1989-03-29 | Matsushita Electric Works Ltd | Method for specifying transmission of programmable controller |
JP2000163107A (en) * | 1998-11-30 | 2000-06-16 | Mitsubishi Electric Corp | Program editing device for programmable controller |
JP2001005645A (en) * | 1999-06-22 | 2001-01-12 | Nec Corp | Method and system for automatically checking address allocation |
JP2002042853A (en) * | 2000-07-19 | 2002-02-08 | Toyota Motor Corp | Fuel cell |
JP2002358102A (en) * | 2001-05-31 | 2002-12-13 | Okuma Corp | Programming device for programmable logic controller |
JP2003233404A (en) * | 2002-02-12 | 2003-08-22 | Mitsubishi Electric Corp | Monitoring control system and its testing method |
-
2006
- 2006-03-15 JP JP2006071854A patent/JP4780308B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6484307A (en) * | 1987-09-26 | 1989-03-29 | Matsushita Electric Works Ltd | Method for specifying transmission of programmable controller |
JP2000163107A (en) * | 1998-11-30 | 2000-06-16 | Mitsubishi Electric Corp | Program editing device for programmable controller |
JP2001005645A (en) * | 1999-06-22 | 2001-01-12 | Nec Corp | Method and system for automatically checking address allocation |
JP2002042853A (en) * | 2000-07-19 | 2002-02-08 | Toyota Motor Corp | Fuel cell |
JP2002358102A (en) * | 2001-05-31 | 2002-12-13 | Okuma Corp | Programming device for programmable logic controller |
JP2003233404A (en) * | 2002-02-12 | 2003-08-22 | Mitsubishi Electric Corp | Monitoring control system and its testing method |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112009004306T5 (en) | 2009-02-18 | 2012-06-06 | Mitsubishi Electric Corp. | Program analysis support device |
US9087151B2 (en) | 2009-02-18 | 2015-07-21 | Mitsubishi Electric Corporation | Program analysis support device |
JP2011227556A (en) * | 2010-04-15 | 2011-11-10 | Mitsubishi Electric Corp | Network parameter automatic setting program and peripheral device of programmable controller |
JP2013156802A (en) * | 2012-01-30 | 2013-08-15 | Mitsubishi Electric Corp | Module dependency extraction device, module dependency extraction method and program |
JP2017130068A (en) * | 2016-01-20 | 2017-07-27 | 富士電機株式会社 | Programmable controller system, development support device thereof and target device |
KR20190117834A (en) * | 2018-03-26 | 2019-10-17 | (주)뉴텍오토메이션 | A System of Lightening Big Data of Modular Packing Machine Using PLC Data |
KR102085277B1 (en) * | 2018-03-26 | 2020-03-05 | (주)뉴텍오토메이션 | A System of Lightening Big Data of Modular Packing Machine Using PLC Data |
Also Published As
Publication number | Publication date |
---|---|
JP4780308B2 (en) | 2011-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6065008B2 (en) | Control device | |
EP1939733A1 (en) | Custom language support for project documentation and editing | |
CN101414301B (en) | Device and method for processing object in reservoir in content management system | |
KR19990023315A (en) | Data processing system and method for generating a link map | |
JP4780308B2 (en) | Control program development support apparatus and computer program | |
KR20130090747A (en) | Project-data creating device and programmable display device | |
JP4426492B2 (en) | Programmable terminal system | |
CN107615191B (en) | Debugging apparatus and adjustment method | |
US20220197238A1 (en) | Development support device, method for controlling development support device, and recording medium | |
JPH1049539A (en) | Data base management system | |
JP2007011507A (en) | Display method of program tree and program generation system | |
JP5019021B2 (en) | Control program development support device | |
KR101342607B1 (en) | Automatic implementation method and apparatus of workflows in computer programming using user interface | |
JP2007193425A (en) | Screen data preparation device, screen data edition method, and screen data edition program | |
JP2009059212A (en) | Pod screen generator, and program therefor | |
US20030188292A1 (en) | System and method for configuration using an object tree formed of hierarchically graduatable objects | |
JP3660390B2 (en) | Term dictionary management device | |
JP2011192088A (en) | Plc program development support apparatus | |
JP2003303100A (en) | Information processing system, method for constructing information processing system, and program therefor | |
JP2007094453A (en) | Program development support system, program development support method and program | |
JP4470776B2 (en) | Visual display program | |
JPH09101884A (en) | Reverse engineering supporting system | |
JP2009157534A (en) | Programming support system, its programmable controller support device, and programmable indicator support device | |
JP2023113476A (en) | Protocol driver creation device | |
Taivalsaari | Multidimensional browsing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110111 |
|
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: 20110608 |
|
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: 20110621 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4780308 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |