JP2010277316A - Programmable controller - Google Patents
Programmable controller Download PDFInfo
- Publication number
- JP2010277316A JP2010277316A JP2009129032A JP2009129032A JP2010277316A JP 2010277316 A JP2010277316 A JP 2010277316A JP 2009129032 A JP2009129032 A JP 2009129032A JP 2009129032 A JP2009129032 A JP 2009129032A JP 2010277316 A JP2010277316 A JP 2010277316A
- Authority
- JP
- Japan
- Prior art keywords
- identification code
- circuit block
- diversion
- programmable controller
- search unit
- 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.)
- Pending
Links
Images
Abstract
Description
この発明は、たとえば工場の装置や設備などの制御に用いられる機器制御システムの分野における、制御プログラムの管理を行うことができるプログラマブルコントローラに関するものである。 The present invention relates to a programmable controller capable of managing a control program in the field of equipment control systems used for controlling, for example, factory devices and equipment.
装置やシステムを制御するためには、制御プログラムが用いられる。当該制御プログラムは、複数の回路ブロックから構成されている。一方、装置やシステムが改変されれば、制御プログラムもこれにあわせてバージョン変更される。当該バージョン変更において、新規のコード作成がより少なくなるように、既存の回路ブロックを用いて、新規の制御プログラムを構成する所定の回路ブロックを作成・編集する。 A control program is used to control the apparatus and system. The control program is composed of a plurality of circuit blocks. On the other hand, if the device or system is modified, the version of the control program is changed accordingly. In the version change, a predetermined circuit block constituting a new control program is created / edited using the existing circuit block so that new code creation is reduced.
制御プログラムを管理するプログラマブルコントローラ内において、シーケンスプログラムの変更履歴を管理する方法として、例えば特許文献1が存在する。当該特許文献1に係る技術では、部品管理サーバを用いて配布先を管理し、部品(回路ブロック)のバイナリにトレースIDを含める配布管理システムが開示されている。
As a method for managing a change history of a sequence program in a programmable controller that manages a control program, for example,
しかしながら、特許文献1に係る技術では、部品管理サーバと接続できない環境において、プログラマブルコントローラ内の制御プログラムの不具合が発見されたとき、当該不具合による影響範囲を現場で検出することができなかった。
However, in the technique according to
また、特許文献1に係る技術では、複数プログラム間での共有が事前に想定されている部品以外の、制御プログラムの一部が流用された場合には、改めて部品を定義するなどの部品管理サーバ側での対応が必要となる。このため、実際に稼動している他のプログラマブルコントローラ内の制御プログラムに不具合が混入していても、それを管理サーバが無い現場で特定して対処することが困難であった。
Further, in the technology according to
そこで、本発明は、生産現場等において発見された制御プログラムの不具合に対して、特別なサーバを用いずに、当該不具合による影響範囲を特定することができる、プログラマブルコントローラを提供することを目的とする。 Accordingly, an object of the present invention is to provide a programmable controller that can identify the range of influence of a malfunction of a control program discovered at a production site or the like without using a special server. To do.
上記の目的を達成するために、本発明に係る請求項1に記載のプログラマブルコントローラは、プログラムモジュールである回路ブロックの複数から構成されるプログラムを管理するプログラマブルコントローラであって、各前記回路ブロック毎に対応して作成されたファイルを保持する第一の記憶部と、前記第一の記憶部内のデータを検索する流用履歴検索部とを、備えており、前記ファイルには、前記回路ブロックを一意に識別するための第一の回路ブロック識別コードと、当該回路ブロックが作成されるまでに流用された回路ブロックを一意に識別するための第二の回路ブロック識別コードとが、対応付けて設定されており、前記流用履歴検索部は、入力される所定の回路ブロック識別コードに従い、前記第一の記憶部内のデータを検索することにより、前記所定の回路ブロック識別コードから一意に決定される所定の回路ブロックを流用した流用先回路ブロックを、一意に決定する流用先回路ブロック識別コードを取得する。
In order to achieve the above object, a programmable controller according to
また、本発明に係る請求項6に記載のプログラマブルコントローラは、プログラムモジュールである回路ブロックの複数から構成されるプログラムを管理するプログラマブルコントローラであって、各前記回路ブロック毎に対応して作成されたファイルを保持する第一の記憶部と、前記第一の記憶部内のデータを検索する流用履歴検索部とを、備えており、前記ファイルには、前記回路ブロックを一意に識別するための第一の回路ブロック識別コードと、当該回路ブロックの編集の際に使用した環境を一意に識別するための第一の編集元識別コードと、当該回路ブロックが作成されるまでに流用された回路ブロックの編集の際に使用された、環境を一意に識別するための第二の編集元識別コードとが、対応付けて設定されており、前記流用履歴検索部は、入力される、所定の回路ブロックが編集された環境を一意に識別するための所定の編集元識別コードに従い、前記第一の記憶部内のデータを検索することにより、前記所定の回路ブロックが編集された環境と同一環境で作成された回路ブロックを流用した流用先回路ブロックを、一意に決定する流用先回路ブロック識別コードを取得する。 Moreover, the programmable controller according to claim 6 of the present invention is a programmable controller that manages a program composed of a plurality of circuit blocks that are program modules, and is created corresponding to each circuit block. A first storage unit for holding a file; and a diversion history search unit for searching for data in the first storage unit. The file includes a first storage unit for uniquely identifying the circuit block. Circuit block identification code, first editing source identification code for uniquely identifying the environment used for editing the circuit block, and editing of the circuit block used until the circuit block is created And a second editing source identification code for uniquely identifying the environment used at the time of The search unit searches the data in the first storage unit according to a predetermined editing source identification code for uniquely identifying an environment in which the predetermined circuit block is edited, and thereby the predetermined circuit A diversion destination circuit block identification code that uniquely determines a diversion destination circuit block that diverts a circuit block created in the same environment as the environment in which the block is edited is acquired.
本発明の請求項1または請求項6に記載のプログラマブルコントローラは、第一の記憶部には、流用履歴が識別コードの情報として記憶されている。さらに、流用履歴検索部は、入力される所定の回路ブロック識別コードまたは所定の編集元識別コードに従い、第一の記憶部内のデータを検索することにより、流用先回路ブロック識別コードを取得している。
In the programmable controller according to
したがって、外部から入力される識別コードおよび第一の回路ブロック識別コードをキーとした、流用先回路ブロック(不具合修正が必要な回路ブロック)を検索することが可能となる。よって、特別なサーバとの接続できない現場などの環境であっても、不具合による影響範囲を特定する不具合追跡が可能となる。 Accordingly, it is possible to search for a diversion destination circuit block (a circuit block that needs to be corrected) using the identification code input from the outside and the first circuit block identification code as keys. Therefore, even in an environment such as a site where connection with a special server is not possible, it is possible to perform defect tracking that identifies the range of influence due to a defect.
本願発明は、制御プログラムを管理するプログラマブルコントローラに関するものである。当該制御プログラムは、複数の回路ブロックから構成されている。また、新たな制御プログラムを作成する際には、既に存在する回路ブロックが流用される。 The present invention relates to a programmable controller that manages a control program. The control program is composed of a plurality of circuit blocks. In addition, when a new control program is created, an existing circuit block is used.
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。 Hereinafter, the present invention will be specifically described with reference to the drawings showing embodiments thereof.
<実施の形態1>
図1は、本実施の形態に係るプログラマブルコントローラ100の構成を示すブロック図である。
<
FIG. 1 is a block diagram showing a configuration of a
図1に示すように、プログラマブルコントローラ100は、複数の制御プログラム101を管理している。また、各制御プログラム101は、複数の回路ブロック102から構成されている。また、プログラマブルコントローラ100は、第一の記憶部110、流用履歴検索部140およびプログラマブル表示器(表示部と把握できる)300を備えている。
As shown in FIG. 1, the
ここで、当該プログラマブル表示器300は、所定の情報を外部から視認可能に表示する表示部として機能すると共に、不具合修正が必要な回路ブロックを検索する際には、不具合の回路ブロックの識別コードを外部から入力できる入力部としても機能する。なお、当該入力された情報は、流用履歴検索部140に送信される。
Here, the programmable display device 300 functions as a display unit that displays predetermined information so as to be visible from the outside, and when searching for a circuit block that needs to be corrected, an identification code of the defective circuit block is displayed. It also functions as an input unit that can be input from the outside. Note that the input information is transmitted to the diversion
また、回路ブロック102とは、制御プログラム101の構成要素であり、いわゆるプログラムモジュールである。本願では、当該プログラムモジュールを、回路ブロック102と称する。
The
回路ブロック識別コード記憶部110には、複数のファイル111を保持する。ここで、各ファイル111は、プログラマブルコントローラ101において管理されている各回路ブロック102毎に対応して作成されている。たとえば、プログラマブルコントローラ101において回路ブロック102A,102B,102Cが管理されているなら、第一の記憶部110に保持されるファイル111は、3つである。つまり、回路ブロック102Aに対応するファイル111A、回路ブロック102Bに対応するファイル111B、および回路ブロック102Cに対応するファイル111Cである。
The circuit block identification
また、各ファイル111には、第一の回路ブロック識別コード121、第一の編集元識別コード131、第二の回路ブロック識別コード122および第二の編集元識別コード132が対応付けて設定されている。なお、本実施の形態では、第一の回路ブロック識別コード121および第二の回路ブロック識別コード122は、汎用一意識別コードである。
In each
ここで、第一の回路ブロック識別コード121および第一の編集元識別コード131は、これらの識別コード121,131が設定されているファイル111が管理している、回路ブロック102に関する識別コードである。これに対して、第二の回路ブロック識別コード122および第二の編集元識別コード132は、これらの識別コード122,132が設定されているファイル111が管理している回路ブロック102における、当該回路ブロック102の作成・編集の際に流用された流用元の回路ブロック102に関する識別コードである。
Here, the first circuit
具体的に、第一の回路ブロック識別コード121とは、当該第一の回路ブロック識別コード121を設定しているファイル111に対応する回路ブロック102を、一意に識別する識別コードである。
Specifically, the first circuit
また、第一の編集元識別コード131とは、当該第一の編集元識別コード131を設定しているファイル111に対応する回路ブロック102が編集された環境を、一意に識別する識別コードである。
The first editing
また、第二の回路ブロック識別コード122とは、当該第二の回路ブロック識別コード122を設定しているファイル111に対応する回路ブロック102が作成されるまでに流用された回路ブロック202を、一意に識別する識別コードである。
In addition, the second circuit
また、第二の編集元識別コード132とは、当該第二の編集元識別コード132を設定しているファイル111に対応する回路ブロック102が作成されるまでに流用された回路ブロック202が編集された環境を、一意に識別する識別コードである。
The second editing
たとえば、回路ブロック102Aの識別コードが「102A」であり、当該回路ブロック102Aが編集された制御プログラム開発環境200Aの識別コードが「200A」であるとする。また、当該回路ブロック102Aは、回路ブロック102A’を流用して編集されたとする。流用された回路ブロック102A’の識別コードが「102A’」であり、当該回路ブロック102A’が編集された制御プログラム開発環境200A’の識別コードが「200A’」であるとする。 For example, it is assumed that the identification code of the circuit block 102A is “102A” and the identification code of the control program development environment 200A in which the circuit block 102A is edited is “200A”. Further, it is assumed that the circuit block 102A is edited by using the circuit block 102A '. It is assumed that the identification code of the diverted circuit block 102A ′ is “102A ′” and the identification code of the control program development environment 200A ′ in which the circuit block 102A ′ is edited is “200A ′”.
当該場合には、回路ブロック102Aと対応して第一の記憶部111に保持されているファイル111Aには、次の各コード121,122,131,132が設定される。つまり、当該ファイル111Aにおいて、第一の回路ブロック識別コード121として「102A」が設定され、第一の編集元識別コード131として「200A]が設定される。さらに、当該ファイル111Aにおいて、第二の回路ブロック識別コード122として「102A’」が設定され、第二の編集元識別コード131として「200A’]が設定される。
In this case, the following
ここで、回路ブロック102の編集および第一の記憶部110が保持するデータの更新処理について説明する。
Here, the editing process of the
たとえば、制御プログラム101が所定の回路ブロック102X(識別コード:102X)を含んでおり、当該回路ブロック102Xが、制御プログラム開発環境200X(識別コード:200X)で作成されたものであるとする。また、当該回路ブロック102Xは如何なる回路ブロックを流用せず、オリジナルに作成されたものとする。
For example, it is assumed that the
この場合には、第一の記憶部110において保持される、回路ブロック102Xに対応するファイル111には、図2に示すように、第一の回路ブロック識別コード121として「102X」が設定され、第一の編集元識別コード131として「200X」が設定され、第二の回路ブロック識別コード122および第二の編集元識別コード132は、識別コードが設定されない。
In this case, “102X” is set as the first circuit
当該状況において、制御プログラム開発環境200Y(識別コード:200Y)において回路ブロック102Xを流用して、回路ブロック102Yを編集(作成)したとする。そして、当該編集された回路ブロック102Yをプログラマブルコントローラ100にダウンロードし、回路ブロック102Xが回路ブロック102Yに代替えされた新たな制御プログラム101が、プログラマブルコントローラ100において新たに管理されたとする。
In this situation, it is assumed that the
当該ダウロードの前に、当該制御プログラム開発環境200Yでは、回路ブロック102Yに対して、たとえばUUID(Universally Unique Identifier:汎用一意識別コード)である識別コードを付与する。そして、当該ダウンロードと共に、制御プログラム開発環境200Yは、以下の情報をプログラマブルコントローラ100に送信する。
Before the download, in the control
つまり、前記で付与された回路ブロック102Yの識別コード(たとえば102Y)、当該回路ブロック102Yの開始ステップおよび当該回路ブロック102Yのステップ数、回路ブロック102Yの編集を行った制御プログラム開発環境200Yを識別するための識別コード、当該編集に携わったユーザのID、および当該編集時のタイムスタンプなどである。
That is, the identification code (for example, 102Y) of the
制御プログラム開発環境200Yが、上記各情報をプログラマブルコントローラ100に送信する。すると、図2のファイル111を用いて、第一の記憶部110では、図3に示すような、回路ブロック102Yに対応するファイル111が新たに保持されることとなる。つまり、第一の回路ブロック識別コード121として「102Y」が設定され、第一の編集元識別コード131として「200Y」が設定され、第二の回路ブロック識別コード122として「102X」が設定され、第二の編集元識別コード132として「200X」が設定された、ファイル111が第一の記憶部110に新たに保持される。
The control
このように、回路ブロック102が編集される度に、編集された回路ブロック102に対応するファイル111が新たに作成され、第一の記憶部110で保持される。ここで、上記の通り、当該新たに作成されたファイル111は、第一の記憶部110で保持されていた編集の際に流用された回路ブロック102に対応するファイル111と、編集された回路ブロック102のプログラマブルコントローラ100へのダウンロードの際に送信される情報を用いて、作成される。
In this way, each time the
さて、ある回路ブロック102に不具合が発見された場合には、当該回路ブロック102を流用した各回路ブロック102にも不具合が混入している可能性がある。そして、当該不具合が混入している可能性がある各回路ブロック102を、不具合修正が必要な回路ブロック102の候補として特定する必要がある。このため、本実施の形態に係るプログラマブルコントローラ100は、流用履歴検索部140を備えている。
When a problem is found in a
たとえば、回路ブロック102Aを流用し、回路ブロック102Bを作成し、当該回路ブロック102Bを流用し、回路ブロック102Cを作成したとする。さらに、回路ブロック102Cを流用し、回路ブロック102Dを作成し、当該回路ブロック102Dを流用し、回路ブロック102Eを作成したとする。そして、回路ブロック102Cにおいて不具合が発見されたとする。当該場合には、不具合修正が必要な回路ブロック102の候補として、回路ブロック102Cを流用して編集・作成された、回路ブロック102Dおよび回路ブロック102Eを検索する必要がある。
For example, it is assumed that the circuit block 102A is diverted, the circuit block 102B is created, the circuit block 102B is diverted, and the circuit block 102C is created. Furthermore, it is assumed that the circuit block 102C is diverted to create the circuit block 102D, and the circuit block 102D is diverted to create the circuit block 102E. Then, it is assumed that a problem is found in the circuit block 102C. In this case, it is necessary to search for the circuit block 102D and the circuit block 102E that have been edited and created using the circuit block 102C as candidates for the
不具合修正が必要な回路ブロック102の候補を特定(検索)するに際して、ユーザは、プログラマブル表示器300に不具合を発見した回路ブロック102の所定の回路ブロック識別コードを入力する。プログラマブル表示器300は、当該入力された所定の回路ブロック識別コードを、流用履歴検索部140に送信する。つまり、プログラマブル表示器300は、流用履歴検索部140に対して、不具合修正が必要な回路ブロックを問い合わせる。
When specifying (searching) a candidate for the
そして、流用履歴検索部140では、入力される所定の回路ブロック識別コードに従い、第一の記憶部110内のデータを検索する。これにより、流用履歴検索部140は、所定の回路ブロック識別コードから一意に決定される不具合が発見された回路ブロックの102を流用した流用先回路ブロックを、一意に決定する流用先回路ブロック識別コードを取得する。
Then, the diversion
その後、流用履歴検索部140は、当該取得結果をプログラマブル表示器300に送信する。そして、プログラマブル表示器300は、上記流用先回路ブロック識別コードから一意に特定される流用先回路ブロックを、外部から視認できるように表示する。ここで、受信した流用先回路ブロック識別コードから対応する流用先回路ブロックを表示するために、たとえば、プログラマブル表示器300は、回路ブロック識別コードと回路ブロックの対応関係を示すテーブルを予め有している。また、プログラマブルコントローラ100は、回路ブロック識別コードと回路ブロックの対応関係を管理しているので、当該プログラマブルコントローラ100において、流用先回路ブロック識別コードから対応する流用先回路ブロックを変換しても良い。
Thereafter, the diversion
なお、ここでは、プログラマブル表示器300を例に挙げたが、シーケンスプログラムが表示可能なソフトウェアがインストールされたパソコン等でも代替可能である。 Here, the programmable display 300 is taken as an example, but a personal computer or the like in which software capable of displaying a sequence program is installed can be substituted.
次に、本実施の形態に係るプログラマブルコントローラ100の動作、特に流用履歴検索部140およびプログラマブル表示器300の動作について説明する。図4は、当該流用履歴検索部140およびプログラマブル表示器300の動作を示すフローチャートである。
Next, the operation of the
所定の回路ブロック102において不具合が発見されたとする。このとき、当該所定の回路ブロック102を一意に特定する所定の回路ブロック識別コードを、プログラマブル表示器300から、流用履歴検索部140が取得する(ステップS1)。
Assume that a failure is found in a
次に、流用履歴検索部140は、後のステップで実施される流用先回路ブロック識別コードの一覧表への記載に際して、一覧表の初期化処理を行う(ステップS2)。
Next, the diversion
次に、流用履歴検索部140は、ステップS1で取得した所定の回路ブロック識別コードをキーとして、第一の記憶部110内のデータの検索を行い、流用先回路ブロック識別コードを取得する。具体的に、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、上記所定の回路ブロック識別コードと当該ファイル111に設定されている第二の回路ブロック識別コード122とが、一致するか否かを判断する(ステップS3)。
Next, the diversion
全てのファイル111において、所定の回路ブロック識別コードと一致する第二の回路ブロック識別コード122が設定されていないとする(ステップS3で「N」)。この場合には、流用先回路ブロック識別コードの取得を終了し、ステップS9に移行する。後述するように、ステップS9では、流用先回路ブロック識別コードの一覧(または、流用先回路ブロックの一覧)が送信され、ステップS10では、流用先回路ブロックの一覧が視認可能に表示される。ステップS3で「N」の場合には、一覧表はステップS2で初期化された状態のままであるので、ステップS10では、流用先回路ブロック無しの表示がなされる。
It is assumed that the second circuit
これに対して、所定の回路ブロック識別コードと一致する第二の回路ブロック識別コード122が設定されているファイル111が存在しているとする(ステップS3で「Y」)。この場合には、流用履歴検索部140は、当該一致する第二の回路ブロック識別コード122と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する(ステップS4)。そして、流用履歴検索部140は、ステップS4で取得した流用先回路ブロック識別コードを、ステップS2で初期化した一覧表に記載する(ステップS5)。
On the other hand, it is assumed that there is a
ステップS4において、第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得した。そこで、流用履歴検索部140は、次に、ステップS4で取得した当該第一の回路ブロック識別コード121をキーとして、第一の記憶部110内のデータの検索を行い、流用先回路ブロック識別コードを取得する。具体的に、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS4で取得した第一の回路ブロック識別コード121と当該ファイル111に設定されている第二の回路ブロック識別コード122とが、一致するか否かを判断する(ステップS6)。
In step S4, the first circuit
全てのファイル111において、ステップS4で取得した第一の回路ブロック識別コード121と一致する第二の回路ブロック識別コード122が設定されていないとする(ステップS6で「N」)。この場合には、流用先回路ブロック識別コードの取得を終了し、ステップS9に移行する。
It is assumed that the second circuit
ステップS9では、流用履歴検索部140は、ステップS5で流用先回路ブロック識別コードが記載された一覧表(または、流用先回路ブロックの一覧表)を、プログラマブル表示器300に対して送信する。そして、プログラマブル表示器300は、流用履歴検索部140から受信した一覧表に従い、流用履歴検索部140が取得した流用先回路ブロック識別コードから一意に特定される流用先回路ブロックを、視認可能に表示する(ステップS10)。
In step S9, the diversion
これに対して、ステップS4で取得した第一の回路ブロック識別コード121と一致する第二の回路ブロック識別コード122が設定されているファイル111が存在しているとする(ステップS6で「Y」)。この場合には、流用履歴検索部140は、当該一致する第二の回路ブロック識別コード122と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する(ステップS7)。そして、流用履歴検索部140は、ステップS7で取得した流用先回路ブロック識別コードを、一覧表に追加記載する(ステップS8)。
On the other hand, it is assumed that there is a
ステップS7において、第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得した。そこで、流用履歴検索部140は、次に、ステップS7で取得した当該第一の回路ブロック識別コード121をキーとして、第一の記憶部110内のデータの検索を行い、流用先回路ブロック識別コードを取得する。具体的に、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS7で取得した第一の回路ブロック識別コード121と当該ファイル111に設定されている第二の回路ブロック識別コード122とが、一致するか否かを判断する(ステップS6)。
In step S7, the first circuit
流用履歴検索部140は、ステップS6からステップS8の処理を、再帰的に繰り返し行う。ここで、当該再帰的な繰り返しにおける2度目以降のステップS6での第一の回路ブロック識別コード121とは、ステップS7で取得した第一の回路ブロック識別コード121である。
The diversion
上記ステップS6〜S8の再帰的な繰り返し処理の結果、あるステップS6において、流用履歴検索部140が、全てのファイル111において、ステップS7で取得した第一の回路ブロック識別コード121と一致する第二の回路ブロック識別コード122が設定されていないと判断したとする(ステップS6で「N」)。この場合には、流用先回路ブロック識別コードの取得を終了し、ステップS9に移行する。
As a result of the recursive repetitive processing in steps S6 to S8, in a certain step S6, the diversion
ステップS9では、流用履歴検索部140は、ステップS5,S8で流用先回路ブロック識別コードが記載された一覧表(または、流用先回路ブロックの一覧表)を、プログラマブル表示器300に対して送信する。そして、プログラマブル表示器300は、流用履歴検索部140から受信した一覧表に従い、流用履歴検索部140が取得した流用先回路ブロック識別コードから一意に特定される流用先回路ブロックを、視認可能に表示する(ステップS10)。換言すれば、プログラマブル表示器300は、不具合修正が必要な回路ブロック102の一覧を、視認可能に表示する。
In step S9, the diversion
以上のように、本実施の形態に係るプログラマブルコントローラ100では、第一の記憶部110において、データ量が少ない識別コードを用いて、プログラマブルコントローラ100内で管理している回路ブロック102の流用関係を保持している。当該流用関係とは、ファイル111における第一の回路ブロック識別コード121と第二の回路ブロック識別コード122との関係である。そして、流用先回路ブロック(不具合修正が必要な回路ブロック)特定のために、流用履歴検索部140は、外部から入力される識別コードに従い、当該第一の記憶部110内のデータを検索している。
As described above, in the
したがって、外部から入力される識別コードおよび第一の回路ブロック識別コード121をキーとした、流用先回路ブロック(不具合修正が必要な回路ブロック)を検索することが可能となる。よって、特別なサーバとの接続できない現場などの環境であっても、流用元回路ブロックに含まれる不具合による影響範囲を特定する不具合追跡が可能となる。
Therefore, it is possible to search for a diversion destination circuit block (a circuit block that needs to be corrected) using the identification code input from the outside and the first circuit
また、本実施の形態に係るプログラマブルコントローラ100は、流用先回路ブロック(不具合修正が必要な回路ブロック)を視認可能に表示するプログラマブル表示器300を、備えている。したがって、ユーザは、不具合修正が必要な回路ブロックを容易に認識することができる。
In addition, the
ステップS3において一度に、複数のファイル111に対して上記「一致」の判断がされることも想定される。その場合には、一致と判断したファイル111毎に、図4のステップS4以降のステップが並列的に実施される。同様に、ステップS6において一度に、複数のファイル111に対して上記「一致」の判断がされることも想定される。その場合には、一致と判断したファイル111毎に、図4のステップS7以降のステップを並列的に実施される。
In step S3, it is also assumed that the “match” determination is made for a plurality of
なお、図1の構成例では、ファイル111に設定されている、第二の回路ブロック識別コード122は、一つであった。しかしながら、図5に示すように、ファイル111において、一つの第一の回路ブロック識別コード121と、2以上の第二の回路ブロック識別コード122,123とが、対応して設定されていても良い。ここで、図5は、第二の回路ブロック識別コード122,123が、二つの例である。また、図5では、ファイル111の一部分のみを図示している。一のファイル111に設定される第二の回路ブロック識別コードの数は、プログラマブルコントローラ100の能力や資源に応じて適切に定めればよい。
In the configuration example of FIG. 1, there is one second circuit
所定の回路ブロック102に対応して所定のファイル111が第一の記憶部110に保持されており、当該所定のファイル111の構成が図5に例示する構成だとする。すると、当該所定のファイル111に設定されている第一の回路ブロック識別コード121は、当該所定の回路ブロック102の識別コードである。また、当該所定のファイル111に設定されている第二の回路ブロック識別コード122は、当該所定の回路ブロック102の編集の際に流用された第一の他の回路ブロック102の識別コードである。さらに、当該所定のファイル111に設定されている第二の回路ブロック識別コード123は、当該第一の他の回路ブロック102の編集の際に流用された第二の他の回路ブロック102の識別コードである。
Assume that a
また、当該図5の構成の場合には、図4のステップS3では、流用履歴検索部140は、次の処理を行う。つまり、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS1で取得した所定の回路ブロック識別コードと当該ファイル111に設定されている第二の回路ブロック識別コード122とが、一致するか否かを判断する。これに加えて、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS1で取得した所定の回路ブロック識別コードと当該ファイル111に設定されている第二の回路ブロック識別コード123とが、一致するか否かを判断する。
In the case of the configuration of FIG. 5, in step S3 of FIG. 4, the diversion
そして、図5の構成例では、図4のステップS4において、流用履歴検索部140は、当該一致する第二の回路ブロック識別コード122または123と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する。そして、流用履歴検索部140は、当該ステップS4で取得した流用先回路ブロック識別コードを、ステップS2で初期化した一覧表に記載する(ステップS5)。
In the configuration example of FIG. 5, in step S <b> 4 of FIG. 4, the diversion
なお、図5の構成例で全てのファイル111において、所定の回路ブロック識別コードと一致する第二の回路ブロック識別コード122も、所定の回路ブロック識別コードと一致する第二の回路ブロック識別コード123も無い場合(ステップS3で「N」)には、ステップS9に移行する。
In the configuration example of FIG. 5, in all the
同様に、当該図5の構成の場合には、図4のステップS6では、流用履歴検索部140は、次の処理を行う。つまり、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS4またはステップS7で取得した第一の回路ブロック識別コード121と当該ファイル111に設定されている第二の回路ブロック識別コード122とが、一致するか否かを判断する。これに加えて、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS4またはステップS7で取得した第一の回路ブロック識別コード121と当該ファイル111に設定されている第二の回路ブロック識別コード123とが、一致するか否かを判断する。
Similarly, in the case of the configuration of FIG. 5, in step S <b> 6 of FIG. 4, the diversion
そして、図5の構成例では、図4のステップS7において、流用履歴検索部140は、当該一致する第二の回路ブロック識別コード122または123と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する。そして、流用履歴検索部140は、当該ステップS7で取得した流用先回路ブロック識別コードを、一覧表に追加記載する(ステップS8)。
In the configuration example of FIG. 5, in step S <b> 7 of FIG. 4, the diversion
なお、図5の構成例で全てのファイル111において、第一の回路ブロック識別コード121と一致する第二の回路ブロック識別コード122も、第一の回路ブロック識別コード121と一致する第二の回路ブロック識別コード123も無い場合(ステップS6で「N」)には、ステップS9に移行する。
In the configuration example of FIG. 5, in all the
なお、各ファイル111において、設定される第一の回路ブロック識別コード121は一つのみである。これは、各ファイル111は各回路ブロック102に対応して設けられており、第一の回路ブロック識別コード121は、第一の回路ブロック識別コード121が設定されているファイル111と対応している回路ブロック102の識別コードであるからである。
In each
また、本実施の形態において、流用先回路ブロック識別コードを一覧表に記載する事項について説明した。ここで、図4のフローチャートを実行することにより、一覧表に同一の識別コードが列記されることも想定される。この場合には、流用履歴検索部140は、重複する識別コードを一覧表から削除する。
Further, in the present embodiment, the matters for describing the diversion destination circuit block identification code in the list have been described. Here, it is assumed that the same identification code is listed in the list by executing the flowchart of FIG. In this case, the diversion
<実施の形態2>
ある制御プログラム開発環境200での編集作業により、回路ブロック102への不具合混入が疑わしい場合もある。つまり、当該ある制御プログラム開発環境200自身の不具合、あるいは、制御プログラム開発環境200を利用する特定の編集作業者による編集作業が原因して、回路ブロック102に不具合が混入されることもあり得る。当該場合に鑑みて創作された発明が、本実施の形態2に係るプログラマブルコントローラ100である。
<
There may be a case where it is doubtful that the
本実施の形態2に係るプログラマブルコントローラ100も図1と同じ構成を有するが、本実施の形態では、流用履歴検索部140は、以下の動作を行う。
The
つまり、流用履歴検索部140は、入力される所定の編集元識別コードに従い、第一の記憶部110内のデータを検索する。ここで、所定の編集元識別コードとは、不具合を有することが発見された所定の回路ブロック102が編集された環境を、一意に識別するための識別コードである。上記検索により、流用履歴検索部140は、所定の回路ブロック102が編集された環境と同一環境で作成された回路ブロック102を流用した流用先回路ブロック102を、一意に決定する流用先回路ブロック識別コードを取得する。
That is, the diversion
次に、本実施の形態に係るプログラマブルコントローラ100の動作、特に流用履歴検索部140およびプログラマブル表示器300の動作について説明する。図6は、当該流用履歴検索部140およびプログラマブル表示器300の動作を示すフローチャートである。
Next, the operation of the
所定の回路ブロック102において不具合が発見されたとする。そして、当該所定の回路ブロック102が作成された所定の制御プログラム開発環境200とする。このとき、当該所定のプログラム開発環境200を一意に特定する所定の編集元識別コードを、プログラマブル表示器300から、流用履歴検索部140が取得する(ステップS11)。
Assume that a failure is found in a
次に、流用履歴検索部140は、後のステップで実施される流用先回路ブロック識別コードの一覧表への記載に際して、一覧表の初期化処理を行う(ステップS12)。
Next, the diversion
次に、流用履歴検索部140は、ステップS11で取得した所定の編集元識別コードをキーとして、第一の記憶部110内のデータの検索を行い、流用先回路ブロック識別コードを取得する。具体的に、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、上記所定の編集元識別コードと当該ファイル111に設定されている第二の編集元識別コード132とが、一致するか否かを判断する(ステップS13)。
Next, the diversion
全てのファイル111において、所定の編集元識別コードと一致する第二の編集元識別コード122が設定されていないとする(ステップS13で「N」)。この場合には、流用先回路ブロック識別コードの取得を終了し、ステップS19に移行する。後述するように、ステップS19では、流用先回路ブロック識別コードの一覧(または、流用先回路ブロックの一覧)が送信され、ステップS20では、流用先回路ブロックの一覧が視認可能に表示される。ステップS13で「N」の場合には、一覧表はステップS12で初期化された状態のままであるので、ステップS20では、流用先回路ブロック無しの表示がなされる。
It is assumed that the second editing
これに対して、所定の編集元識別コードと一致する第二の編集元識別コード132が設定されているファイル111が存在しているとする(ステップS13で「Y」)。この場合には、流用履歴検索部140は、当該一致する第二の編集元識別コード132と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する(ステップS14)。そして、流用履歴検索部140は、ステップS14で取得した流用先回路ブロック識別コードを、ステップS12で初期化した一覧表に記載する(ステップS15)。
On the other hand, it is assumed that the
ステップS14において、第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得した。そこで、流用履歴検索部140は、次に、ステップS14で取得した当該第一の回路ブロック識別コード121の編集環境を示す第一の編集元識別コード131をキーとして、第一の記憶部110内のデータの検索を行い、流用先回路ブロック識別コードを取得する。つまり、ステップS14で取得した当該第一の回路ブロック識別コード121と対応してファイル111に設定されている第一の編集元識別コード131(以後、ステップS14で取得した第一の編集元識別コード131と称する)をキーとして、上記検索が実施される。
In step S14, the first circuit
具体的に、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS14で取得した第一の編集元識別コード131と当該ファイル111に設定されている第二の編集元識別コード132とが、一致するか否かを判断する(ステップS16)。
Specifically, the diversion
全てのファイル111において、ステップS14で取得した第一の編集元識別コード131と一致する第二の編集元識別コード132が設定されていないとする(ステップS16で「N」)。この場合には、流用先回路ブロック識別コードの取得を終了し、ステップS19に移行する。
It is assumed that the second editing
ステップS19では、流用履歴検索部140は、ステップS15で流用先回路ブロック識別コードが記載された一覧表(または、流用先回路ブロックの一覧表)を、プログラマブル表示器300に対して送信する。そして、プログラマブル表示器300は、流用履歴検索部140から受信した一覧表に従い、流用履歴検索部140が取得した流用先回路ブロック識別コードから一意に特定される流用先回路ブロックを、視認可能に表示する(ステップS20)。
In step S <b> 19, the diversion
これに対して、ステップS14で取得した第一の編集元識別コード131と一致する第二の編集元識別コード132が設定されているファイル111が存在しているとする(ステップS16で「Y」)。この場合には、流用履歴検索部140は、当該一致する第二の編集元識別コード132と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する(ステップS17)。そして、流用履歴検索部140は、ステップS17で取得した流用先回路ブロック識別コードを、一覧表に追加記載する(ステップS18)。
On the other hand, it is assumed that there is a
ステップS17において、第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得した。そこで、流用履歴検索部140は、次に、ステップS17で取得した当該第一の回路ブロック識別コード121の編集環境を示す第一の編集元識別コード131をキーとして、第一の記憶部110内のデータの検索を行い、流用先回路ブロック識別コードを取得する。つまり、ステップS17で取得した当該第一の回路ブロック識別コード121と対応してファイル111に設定されている第一の編集元識別コード131(以後、ステップS17で取得した第一の編集元識別コード131と称する)をキーとして、上記検索が実施される。
In step S17, the first circuit
具体的に、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS17で取得した第一の編集元識別コード131と当該ファイル111に設定されている第二の編集元識別コード132とが、一致するか否かを判断する(ステップS16)。
Specifically, the diversion
流用履歴検索部140は、ステップS16からステップS18の処理を、再帰的に繰り返し行う。ここで、当該再帰的な繰り返しにおける2度目以降のステップS16での第一の編集元識別コード131とは、ステップS17で取得した第一の編集元識別コード131である。
The diversion
上記ステップS16〜S18の再帰的な繰り返し処理の結果、あるステップS16において、流用履歴検索部140が、全てのファイル111において、ステップS17で取得した第一の編集元識別コード131と一致する第二の編集元識別コード132が設定されていないと判断したとする(ステップS16で「N」)。この場合には、流用先回路ブロック識別コードの取得を終了し、ステップS19に移行する。
As a result of the recursive repetitive processing in steps S16 to S18, in a certain step S16, the diversion
ステップS19では、流用履歴検索部140は、ステップS15,S18で流用先回路ブロック識別コードが記載された一覧表(または、流用先回路ブロックの一覧表)を、プログラマブル表示器300に対して送信する。そして、プログラマブル表示器300は、流用履歴検索部140から受信した一覧表に従い、流用履歴検索部140が取得した流用先回路ブロック識別コードから一意に特定される流用先回路ブロックを、視認可能に表示する(ステップS10)。換言すれば、プログラマブル表示器300は、不具合修正が必要な回路ブロック102の一覧を、視認可能に表示する。
In step S19, the diversion
以上のように、本実施の形態に係るプログラマブルコントローラ100では、第一の記憶部110において、データ量が少ない識別コードを用いて、プログラマブルコントローラ100内で管理している回路ブロック102の流用関係を保持している。当該流用関係とは、ファイル111における第一の回路ブロック識別コード121、第一の編集元識別コード131および第二の編集元識別コード132の関係である。そして、流用先回路ブロック(不具合修正が必要な回路ブロック)特定のために、流用履歴検索部140は、外部から入力される識別コードに従い、当該第一の記憶部110内のデータを検索している。
As described above, in the
したがって、外部から入力される識別コードおよび第一の編集元識別コード131をキーとした、流用先回路ブロック(不具合修正が必要な回路ブロック)を検索することが可能となる。よって、特別なサーバとの接続できない現場などの環境であっても、流用元回路ブロックの編集作業に関連する不具合による影響範囲を特定する不具合追跡が可能となる。
Therefore, it is possible to search for a diversion destination circuit block (a circuit block that needs to be corrected) using the identification code input from the outside and the first editing
また、本実施の形態に係るプログラマブルコントローラ100は、流用先回路ブロック(不具合修正が必要な回路ブロック)を視認可能に表示するプログラマブル表示器300を、備えている。したがって、ユーザは、不具合修正が必要な回路ブロックを容易に認識することができる。
In addition, the
ステップS13において一度に、複数のファイル111に対して上記「一致」の判断がされることも想定される。その場合には、一致と判断したファイル111毎に、図6のステップS14以降のステップが並列的に実施される。同様に、ステップS16において一度に、複数のファイル111に対して上記「一致」の判断がされることも想定される。その場合には、一致と判断したファイル111毎に、図6のステップS27以降のステップを並列的に実施される。
In step S13, it is also assumed that the “match” determination is made for a plurality of
なお、図1の構成例では、ファイル111に設定されている、第二の編集元識別コード132は、一つであった。しかしながら、図7に示すように、ファイル111において、一つの第一の編集元識別コード131と、2以上の第二の編集元識別コード132,133とが、対応して設定されていても良い。ここで、図7は、第二の編集元識別コード132,133が、二つの例である。また、図7では、ファイル111の一部分のみを図示している。一のファイル111に設定される第二の編集元識別コードの数は、プログラマブルコントローラ100の能力や資源に応じて適切に定めればよい。
In the configuration example of FIG. 1, there is one second editing
所定の回路ブロック102に対応して所定のファイル111が第一の記憶部110に保持されており、当該所定のファイル111の構成が図7に例示する構成だとする。すると、当該所定のファイル111に設定されている第一の編集元識別コード131は、当該所定の回路ブロック102が編集された環境の識別コードである。また、当該所定のファイル111に設定されている第二の編集元識別コード132は、当該所定の回路ブロック102の編集の際に流用された第一の他の回路ブロック102が編集された環境の識別コードである。さらに、当該所定のファイル111に設定されている第二の編集元識別コード133は、当該第一の他の回路ブロック102の編集の際に流用された第二の他の回路ブロック102が編集された環境の識別コードである。
Assume that a
また、当該図7の構成の場合には、図6のステップS13では、流用履歴検索部140は、次の処理を行う。つまり、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS11で取得した所定の編集元識別コードと当該ファイル111に設定されている第二の編集元識別コード132とが、一致するか否かを判断する。これに加えて、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS11で取得した所定の編集元識別コードと当該ファイル111に設定されている第二の編集元識別コード133とが、一致するか否かを判断する。
In the case of the configuration of FIG. 7, in step S <b> 13 of FIG. 6, the diversion
そして、図7の構成例では、図6のステップS14において、流用履歴検索部140は、当該一致する第二の編集元識別コード132または133と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する。そして、流用履歴検索部140は、当該ステップS14で取得した流用先回路ブロック識別コードを、ステップS12で初期化した一覧表に記載する(ステップS15)。
In the configuration example of FIG. 7, in step S14 of FIG. 6, the diversion
なお、図7の構成例で全てのファイル111において、所定の編集元識別コードと一致する第二の編集元識別コード132も、所定の編集元識別コードと一致する第二の編集元識別コード133も無い場合(ステップS13で「N」)には、ステップS19に移行する。
In the configuration example of FIG. 7, in all the
同様に、当該図7の構成の場合には、図6のステップS16では、流用履歴検索部140は、次の処理を行う。つまり、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS14またはステップS17で取得した第一の編集元識別コード131と当該ファイル111に設定されている第二の編集元識別コード132とが、一致するか否かを判断する。これに加えて、流用履歴検索部140は、第一の記憶部110に保持されている各ファイル111毎に、ステップS14またはステップS17で取得した第一の編集元識別コード131と当該ファイル111に設定されている第二の編集元識別コード133とが、一致するか否かを判断する。
Similarly, in the case of the configuration of FIG. 7, in step S16 of FIG. 6, the diversion
そして、図7の構成例では、図6のステップS17において、流用履歴検索部140は、当該一致する第二の編集元識別コード132または133と対応してファイル111に設定されている第一の回路ブロック識別コード121を、流用先回路ブロック識別コードとして取得する。そして、流用履歴検索部140は、当該ステップS17で取得した流用先回路ブロック識別コードを、一覧表に追加記載する(ステップS18)。
In the configuration example of FIG. 7, in step S <b> 17 of FIG. 6, the diversion
なお、図7の構成例で全てのファイル111において、ステップS14またはS17で取得した第一の編集元識別コード131と一致する第二の編集元識別コード132も、ステップS14またはS17で取得した第一の編集元識別コード131と一致する第二の編集元識別コード133も無い場合(ステップS16で「N」)には、ステップS19に移行する。
In the configuration example of FIG. 7, in all the
なお、各ファイル111において、設定される第一の編集元識別コード131は一つのみである。これは、各ファイル111は各回路ブロック102に対応して設けられており、第一の編集元識別コード131は、第一の編集元識別コード131が設定されているファイル111と対応している回路ブロック102が編集された環境の識別コードであるからである。
In each
また、本実施の形態において、流用先回路ブロック識別コードを一覧表に記載する事項について説明した。ここで、図6のフローチャートを実行することにより、一覧表に同一の識別コードが列記されることも想定される。この場合には、流用履歴検索部140は、重複する識別コードを一覧表から削除する。
Further, in the present embodiment, the matters for describing the diversion destination circuit block identification code in the list have been described. Here, it is assumed that the same identification code is listed in the list by executing the flowchart of FIG. In this case, the diversion
<実施の形態3>
図8は、本発明の実施の形態3に係るプログラマブルコントローラ100の構成を示すブロック図である。
<
FIG. 8 is a block diagram showing a configuration of
実施の形態1では、グローバルに一意であることを保証するため、回路ブロック102の識別コード121,122,123として、UUID(汎用一意識別コード)を採用していた。ここで、当該汎用一意識別コードは、グローバルに一意で特定される識別コードであるので、当該汎用一意識別コードのデータ量は大きくなる。したがって、当該大きなデータ量の汎用一意識別コードを複数格納するためには、第一の記憶部110は非常に大きな記憶容量が要される。
In the first embodiment, UUIDs (universal unique identification codes) are employed as the
しかしながら、プログラマブルコントローラ100では、一般に記憶容量の資源が限られている。したがって、第一の記憶部110に大きなデータ量の汎用一意識別コードを格納すると、プログラマブルコントローラ100における、プログラムの記憶可能領域が圧迫される場合がある。
However, the
よって、第一の記憶部110において格納される識別コードは、データ量の小さいものを採用することが望ましい。そこで、本実施の形態に係るプログラマブルコントローラ100では、第一の記憶部110において、独自識別コードである第一、二の回路ブロック識別コード121,122が格納される。ここで、独自識別コードとは、当該プログラマブルコントローラ100内部のみで識別可能な識別コードのことである。当該独自識別コードは、当該プログラマブルコントローラ100内部のみで識別可能であれば足りるので、グローバルに一意(つまり、全システムにおいて一意)である汎用一意識別コードよりも、データ量は小さくなる。
Therefore, it is desirable to employ an identification code having a small data amount stored in the
一方、不具合修正が必要な回路ブロック102の候補検索に際しては、プログラマブル表示器300からは、不具合が発生した回路ブロック102の識別コードとして、汎用一意識別コードが入力される。また、流用履歴検索部140からプログラマブル表示器300への検索結果出力に際して、流用履歴検索部140は汎用一意識別コードが必要となる。
On the other hand, when searching for candidates for the
したがって、本実施の形態に係るプログラマブルコントローラ100では、汎用一意識別コードと独自識別コードとの相互変換を実現する機能が必要となる。そこで、本実施の形態に係るプログラマブルコントローラ100は、図1で示した構成に加えて、識別コード変換部150および第二の記憶部160を備えている。
Therefore, the
第二の記憶部160には、汎用一意識別コードと独自識別コードとの対応関係を示す、識別コード変換表が格納されている。具体的に、識別コード変換表は、汎用一意識別コードである回路ブロック識別コードと独自識別コードである回路ブロック識別コードとの対応関係が表す。そして、識別コード変換部160は、流用履歴検索部140から入力される汎用一意識別コード(または独自識別コード)から、上記識別コード変換表を用いて、独自識別コード(または汎用一意識別コード)へと変換する識別コード変換処理を行う。
The
なお、本実施の形態では、第一の記憶部110には、独自識別コードである、第一の回路ブロック識別コード121および第二の回路ブロック識別コード122が、格納されている。
In the present embodiment, the
次に、本実施の形態に係るプログラマブルコントローラ100の動作について説明する。
Next, the operation of the
所定の回路ブロック102において不具合が発生しているこが分かり、ユーザは、前記所定の回路ブロック102の所定の回路ブロック識別コードを、プログラマブル表示器300に入力する。ここで、当該所定の回路ブロック識別コードは、汎用一義識別コードである。すると、図8において、プログラマブル表示器300から流用履歴検索部140に、当該汎用一義識別コードである所定の回路ブロック識別コードが送信される。
The user knows that a problem has occurred in the
汎用一意識別コードである所定の回路ブロック識別コードが入力されると、流用履歴検索部140は、入力された汎用一意識別コードである所定の回路ブロック識別コードを、識別コード変換部150に送信する。
When a predetermined circuit block identification code that is a general-purpose unique identification code is input, the diversion
そして、識別コード変換部150では、第二の記憶部160が保持する識別コード変換表を用いて、汎用一意識別コードである所定の回路ブロック識別コードを、独自識別コードである所定の回路ブロック識別コードに変換する。その後、識別コード変換部150は、前記変換後の独自識別コードである所定の回路ブロック識別コードを、流用履歴検索部140に送信する。
Then, the identification
そして、流用履歴変換部140は、実施の形態1で説明した同様の操作を実施する。つまり、流用履歴変換部140は、受信した独自識別コードである所定の回路ブロック識別コードに従い、回路第一の記憶部110内のデータを検索する。これにより、独自識別コードである流用先回路ブロック識別コードを取得する。
Then, the diversion
さて、流用履歴変換部140が、検索処理の結果、独自識別コードである流用先回路ブロック識別コードの一覧を取得したとする。すると、流用履歴検索部140は、取得した独自識別コードである流用先回路ブロック識別コードを、識別コード変換部150に送信する。
Now, it is assumed that the diversion
次に、識別コード変換部150は、第二の記憶部160が保持する識別コード変換表を用いて、独自識別コードである流用先回路ブロック識別コードを、汎用一意識別コードである流用先回路ブロック識別コードに変換する。その後、識別コード変換部150は、変換後の汎用一意識別コードである流用先回路ブロック識別コードを、流用履歴検索部140に送信する。
Next, the identification
最後に、プログラマブル表示器300は、流用履歴検索部140から取得した、汎用一意識別コードである流用先回路ブロック識別コードの一覧表に従い、当該流用先回路ブロック識別コードから一意に特定される流用先回路ブロックを、視認可能に表示する。
Finally, the programmable display 300 uses the diversion uniquely identified from the diversion destination circuit block identification code in accordance with the list of diversion destination circuit block identification codes, which are general-purpose unique identification codes, acquired from the diversion
以上のように、本発明の実施の形態に係るプログラマブルコントローラ100は、識別変換表を保持する第二の記憶部160を、さらに備えている。さらに、当該プログラマブルコントローラ100は、識別コード変換表を用いた、独自識別コードと汎用一意識別コードとの相互間における識別コード変換処理を行う識別コード変換部150も、備えている。そして、第一の記憶部110には、独自識別コードである、第一の回路ブロック識別コード121および第二の回路ブロック識別コード122が、格納されている。
As described above, the
このように、識別コード変換部150および第二の記憶部160を備えることにより、第一の記憶部110には、データ量の少ない独自識別コードである、第一の回路ブロック識別コード121および第二の回路ブロック識別コード122の格納が可能となる。したがって、複数のファイル111を第一の記憶部110に格納したとしても、当該第一の記憶部110の記憶容量が大きく増大することを防止できる。
Thus, by providing the identification
なお、上記では、実施の形態1に対して本実施の形態を適用する場合に言及した。しかしながら、本実施の形態を実施の形態2に対して適用することも可能である。 In the above description, the present embodiment is applied to the first embodiment. However, this embodiment can also be applied to the second embodiment.
つまり、第一の記憶部110内には、第一の編集元識別コード131および第二の編集元識別コード132においても、データ量の少ない独自識別コード形式で格納される。そして、第二の記憶部160は、第一の識別コード変換表と第二の識別コード変換表とを格納している。ここで、第一の識別コード変換表は、汎用一意識別コードである回路ブロック識別コードと独自識別コードである回路ブロック識別コードとの対応関係が表す。これに対して、第二の識別コード変換表は、汎用一意識別コードである編集元識別コードと独自識別コードである編集元識別コードとの対応関係が表す。
That is, in the
そして、識別コード変換部150は、第二の記憶部160内の第二の識別コード変換表を用いて、汎用一義識別コードである所定の編集元識別コードを独自識別コードである所定の編集元識別コードに変換する。その後、実施の形態2で説明した動作により独自識別コードである流用先回路ブロック識別コードを取得する。その後、識別コード変換部150は、第二の記憶部160内の第一の識別コード変換表を用いて、独自識別コードである流用先回路ブロック識別コードを汎用一義識別コードである流用先回路ブロック識別コードに変換する。
Then, the identification
100 プログラマブルコントローラ、101 制御プログラム、102 回路ブロック、110 第一の記憶部、111 ファイル、121 第一の回路ブロック識別コード、122,123 第二の回路ブロック識別コード、131 第一の編集元識別コード、132,133 第二の編集元識別コード、140 流用履歴検索部、150 識別コード変換部、160 第二の記憶部、200 制御プログラム開発環境、300 プログラマブル表示器。
DESCRIPTION OF
Claims (12)
各前記回路ブロック毎に対応して作成されたファイルを保持する第一の記憶部と、
前記第一の記憶部内のデータを検索する流用履歴検索部とを、
備えており、
前記ファイルには、
前記回路ブロックを一意に識別するための第一の回路ブロック識別コードと、
当該回路ブロックが作成されるまでに流用された回路ブロックを一意に識別するための第二の回路ブロック識別コードとが、
対応付けて設定されており、
前記流用履歴検索部は、
入力される所定の回路ブロック識別コードに従い、前記第一の記憶部内のデータを検索することにより、前記所定の回路ブロック識別コードから一意に決定される所定の回路ブロックを流用した流用先回路ブロックを、一意に決定する流用先回路ブロック識別コードを取得する、
ことを特徴とするプログラマブルコントローラ。 A programmable controller that manages a program composed of a plurality of circuit blocks that are program modules,
A first storage unit for holding a file created corresponding to each circuit block;
A diversion history search unit for searching for data in the first storage unit;
With
The file contains
A first circuit block identification code for uniquely identifying the circuit block;
A second circuit block identification code for uniquely identifying a circuit block diverted until the circuit block is created,
Are set in correspondence,
The diversion history search unit
A diversion destination circuit block that diverts a predetermined circuit block uniquely determined from the predetermined circuit block identification code by searching for data in the first storage unit according to an input predetermined circuit block identification code , To acquire the diversion destination circuit block identification code uniquely determined,
A programmable controller characterized by that.
(A)各前記ファイル毎に、前記所定の回路ブロック識別コードと前記第二の回路ブロック識別コードとが一致するか否かを判断し、
(B)前記(A)において一致すると判断したとき、当該一致する前記第二の回路ブロック識別コードと対応して前記ファイルに設定されている前記第一の回路ブロック識別コードを、前記流用先回路ブロック識別コードとして取得する、
ことを特徴とする請求項1に記載のプログラマブルコントローラ。 When the predetermined circuit block identification code is acquired from the outside, the diversion history search unit,
(A) For each of the files, determine whether the predetermined circuit block identification code and the second circuit block identification code match,
(B) When it is determined that they match in (A), the first circuit block identification code set in the file corresponding to the matching second circuit block identification code is used as the diversion destination circuit. Get as block identification code,
The programmable controller according to claim 1.
(C)各前記ファイル毎に、前記第一の回路ブロック識別コードと前記第二の回路ブロック識別コードとが一致するか否かを判断し、
(D)前記(C)において一致すると判断したとき、当該一致する前記第二の回路ブロック識別コードと対応して前記ファイルに設定されている前記第一の回路ブロック識別コードを、前記流用先回路ブロック識別コードとして取得し、
前記(C)における前記第一の回路ブロック識別コードとは、
前記(B)において取得した前記第一の回路ブロック識別コードである、
ことを特徴とする請求項2に記載のプログラマブルコントローラ。 The diversion history search unit
(C) For each of the files, determine whether the first circuit block identification code and the second circuit block identification code match,
(D) When it is determined in (C) that they match, the first circuit block identification code set in the file corresponding to the matching second circuit block identification code is used as the diversion destination circuit. Obtained as a block identification code
The first circuit block identification code in (C) is
The first circuit block identification code acquired in (B).
The programmable controller according to claim 2.
前記(C)と前記(D)との処理を、繰り返し行い、
当該繰り返しの2度目以降における前記(C)での前記第一の回路ブロック識別コードとは、
前記(D)で取得した前記第一の回路ブロック識別コードである、
ことを特徴とする請求項3に記載のプログラマブルコントローラ。 The diversion history search unit
The processes (C) and (D) are repeated,
The first circuit block identification code in (C) in the second and subsequent repetitions is
It is the first circuit block identification code acquired in (D),
The programmable controller according to claim 3.
前記(A)または前記(C)において、全ての前記ファイルにおいて、前記一致が認められないとき、前記流用先回路ブロック識別コードを取得する処理を終了する、
ことを特徴とする請求項2乃至請求項4のいずれかに記載のプログラマブルコントローラ。 The diversion history search unit
In (A) or (C), when the match is not recognized in all the files, the process of obtaining the diversion destination circuit block identification code is terminated.
The programmable controller according to any one of claims 2 to 4, wherein the programmable controller.
各前記回路ブロック毎に対応して作成されたファイルを保持する第一の記憶部と、
前記第一の記憶部内のデータを検索する流用履歴検索部とを、
備えており、
前記ファイルには、
前記回路ブロックを一意に識別するための第一の回路ブロック識別コードと、
当該回路ブロックの編集の際に使用した環境を一意に識別するための第一の編集元識別コードと、
当該回路ブロックが作成されるまでに流用された回路ブロックの編集の際に使用された、環境を一意に識別するための第二の編集元識別コードとが、
対応付けて設定されており、
前記流用履歴検索部は、
入力される、所定の回路ブロックが編集された環境を一意に識別するための所定の編集元識別コードに従い、前記第一の記憶部内のデータを検索することにより、前記所定の回路ブロックが編集された環境と同一環境で作成された回路ブロックを流用した流用先回路ブロックを、一意に決定する流用先回路ブロック識別コードを取得する、
ことを特徴とするプログラマブルコントローラ。 A programmable controller that manages a program composed of a plurality of circuit blocks that are program modules,
A first storage unit for holding a file created corresponding to each circuit block;
A diversion history search unit for searching for data in the first storage unit;
With
The file contains
A first circuit block identification code for uniquely identifying the circuit block;
A first editing source identification code for uniquely identifying the environment used when editing the circuit block;
A second editing source identification code for uniquely identifying the environment used in editing the circuit block diverted until the circuit block is created,
Are set in correspondence,
The diversion history search unit
The predetermined circuit block is edited by searching the data in the first storage unit according to a predetermined editing source identification code for uniquely identifying an environment in which the predetermined circuit block is edited. Obtain a diversion destination circuit block identification code that uniquely determines a diversion destination circuit block that diverts a circuit block created in the same environment as
A programmable controller characterized by that.
(K)各前記ファイル毎に、前記所定の編集元識別コードと前記第二の編集元識別コードとが一致するか否かを判断し、
(L)前記(K)において一致すると判断したとき、当該一致する前記第二の編集元識別コードと対応して前記ファイルに設定されている前記第一の回路ブロック識別コードを、前記流用先回路ブロック識別コードとして取得する、
ことを特徴とする請求項6に記載のプログラマブルコントローラ。 When the predetermined editing source identification code is acquired from the outside, the diversion history search unit,
(K) For each of the files, determine whether the predetermined editing source identification code and the second editing source identification code match,
(L) When it is determined in (K) that they match, the first circuit block identification code set in the file corresponding to the matching second editing source identification code is used as the diversion destination circuit. Get as block identification code,
The programmable controller according to claim 6.
(M)各前記ファイル毎に、前記第一の編集元識別コードと前記第二の編集元識別コードとが一致するか否かを判断し、
(N)前記(M)において一致すると判断したとき、当該一致する前記第二の編集元識別コードと対応して前記ファイルに設定されている前記第一の回路ブロック識別コードを、前記流用先回路ブロック識別コードとして取得し、
前記(M)における前記第一の編集元識別コードとは、
前記(L)において取得した前記第一の回路ブロック識別コードと対応して前記ファイルに設定されている前記第一の編集元識別コードである、
ことを特徴とする請求項7に記載のプログラマブルコントローラ。 The diversion history search unit
(M) For each of the files, determine whether the first editing source identification code and the second editing source identification code match,
(N) When it is determined in (M) that they match, the first circuit block identification code set in the file corresponding to the matching second editing source identification code is used as the diversion destination circuit. Obtained as a block identification code
The first editing source identification code in (M) is
The first editing source identification code set in the file corresponding to the first circuit block identification code acquired in (L),
The programmable controller according to claim 7.
前記(M)と前記(N)との処理を、繰り返し行い、
当該繰り返しの2度目以降における前記(M)での前記第一の回路ブロック識別コードとは、
前記(L)で取得した前記第一の回路ブロック識別コードである、
ことを特徴とする請求項8に記載のプログラマブルコントローラ。 The diversion history search unit
The processes (M) and (N) are repeated,
The first circuit block identification code in (M) after the second repetition is the following:
The first circuit block identification code acquired in (L),
The programmable controller according to claim 8.
前記(K)または前記(M)において、全ての前記ファイルにおいて、前記一致が認められないとき、前記流用先回路ブロック識別コードを取得する処理を終了する、
ことを特徴とする請求項7乃至請求項9の何れかに記載のプログラマブルコントローラ。 The diversion history search unit
In (K) or (M), when the match is not recognized in all the files, the process of obtaining the diversion destination circuit block identification code is terminated.
The programmable controller according to any one of claims 7 to 9, wherein:
ことを特徴とする請求項1または請求項6に記載のプログラマブルコントローラ。 A display unit that displays the diversion destination circuit block uniquely identified from the diversion destination circuit block identification code acquired by the diversion history search unit, so as to be visible;
The programmable controller according to claim 1 or 6, wherein the programmable controller.
前記流用履歴検索部からの識別コードと前記識別コード変換表と用いて、前記独自識別コードと前記汎用一意識別コードとの相互間における識別コード変換処理を行う識別コード変換部とを、さらに備えており、
前記第一の記憶部には、
前記独自識別コードである、前記第一の回路ブロック識別コードおよび前記第二の回路ブロック識別コード、または、前記独自識別コードである、前記第一の回路ブロック識別コードおよび前記第一の編集元識別コードおよび前記第二の編集元識別コードが、格納されている、
ことを特徴とする請求項1または請求項6に記載のプログラマブルコントローラ。 A second storage unit that holds an identification code conversion table indicating a correspondence relationship between a unique identification code that can be identified only inside the programmable controller and a general-purpose unique identification code;
An identification code conversion unit that performs an identification code conversion process between the unique identification code and the universal unique identification code using the identification code from the diversion history search unit and the identification code conversion table; And
In the first storage unit,
The first circuit block identification code and the second circuit block identification code, which are the unique identification code, or the first circuit block identification code and the first editing source identification, which are the unique identification code The code and the second editing source identification code are stored;
The programmable controller according to claim 1 or 6, wherein the programmable controller.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129032A JP2010277316A (en) | 2009-05-28 | 2009-05-28 | Programmable controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129032A JP2010277316A (en) | 2009-05-28 | 2009-05-28 | Programmable controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010277316A true JP2010277316A (en) | 2010-12-09 |
Family
ID=43424226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009129032A Pending JP2010277316A (en) | 2009-05-28 | 2009-05-28 | Programmable controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010277316A (en) |
-
2009
- 2009-05-28 JP JP2009129032A patent/JP2010277316A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009104229A (en) | Input check device and input check method | |
US20050010597A1 (en) | System and method of determining impact of model changes | |
US20130263143A1 (en) | Information processing method and system | |
US20130205221A1 (en) | Facilities controlling device, screen displaying method, and recording medium | |
CN108885444B (en) | Information management apparatus, information management method, and information management system | |
JP2008269515A (en) | Method for dynamically generating image layout by parameter | |
JP2012174179A (en) | Operation definition generation device for monitoring control system | |
JP6566859B2 (en) | Engineering tools | |
JP2010277316A (en) | Programmable controller | |
US9766871B2 (en) | Method and apparatus for operating a processing and/or production installation | |
EP2963542A1 (en) | Method and architecture for comparing and merging engineering objects stored using dynamic versioning strategy | |
US11921496B2 (en) | Information processing apparatus, information processing method and computer readable medium | |
JP2009169628A (en) | Construction device, construction method and program for monitoring control system | |
JP7176434B2 (en) | Information processing system, information processing device and data storage program | |
JP6533060B2 (en) | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM | |
JP2020177353A (en) | Update system | |
JP2015148925A (en) | Program generation device and method | |
JP7391269B1 (en) | FA control program generation support program, FA control program generation support device, FA control program generation support method | |
US11474870B2 (en) | Transfer of embedded software data into PLM instance | |
WO2017145357A1 (en) | Information processing device, information processing method, and information processing program | |
JP2017054217A (en) | Test support apparatus, test support method, and test support program | |
US20190362660A1 (en) | Engineering tool | |
KR20240000809A (en) | Electronic apparatus and method for providing code information | |
CN116166162A (en) | Visual operation method and device of database and computer readable medium | |
JP2007164707A (en) | Data conversion design unit, data conversion system, method therefor, and program therefor |