JP4865634B2 - Program editing support apparatus, computer program, program editing support method, and PLC system - Google Patents

Program editing support apparatus, computer program, program editing support method, and PLC system Download PDF

Info

Publication number
JP4865634B2
JP4865634B2 JP2007128550A JP2007128550A JP4865634B2 JP 4865634 B2 JP4865634 B2 JP 4865634B2 JP 2007128550 A JP2007128550 A JP 2007128550A JP 2007128550 A JP2007128550 A JP 2007128550A JP 4865634 B2 JP4865634 B2 JP 4865634B2
Authority
JP
Japan
Prior art keywords
program
identification data
plc
programmable controller
editing
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
Application number
JP2007128550A
Other languages
Japanese (ja)
Other versions
JP2008282362A (en
Inventor
弘志 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2007128550A priority Critical patent/JP4865634B2/en
Publication of JP2008282362A publication Critical patent/JP2008282362A/en
Application granted granted Critical
Publication of JP4865634B2 publication Critical patent/JP4865634B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラム編集支援装置に係り、更に詳しくは、プログラマブルコントローラ用のプログラムを編集し、プログラマブルコントローラへ書き込むためのプログラム編集支援装置、当該装置をコンピュータ上で実現するためのコンピュータソフトウエア、当該装置を用いて実現される方法、並びに、当該装置を含むPLCシステムの改良に関する。   The present invention relates to a program editing support apparatus, and more particularly, a program editing support apparatus for editing a program for a programmable controller and writing the program to the programmable controller, computer software for realizing the apparatus on a computer, The present invention relates to a method realized using an apparatus, and an improvement of a PLC system including the apparatus.

プログラマブルコントローラ(適宜、PLCと略す)は、FA(Factory Automation)制御システムにおいて広く使用されているシーケンス制御装置であり、ラダープログラムと呼ばれる専用プログラムに従って動作する。このため、PLC内のプログラムを書き換えることによって、所望のシーケンス制御装置を実現することができる。PLC用のプログラムは、通常、パーソナルコンピュータを利用したプログラム編集支援装置を用いてユーザが作成する。プログラム編集支援装置を用いて作成されたプログラムのソースコードは、当該プログラム編集支援装置において実行形式のオブジェクトコードへコンパイルされた後、通信ケーブルを介してPLCへ転送(アップロード)される。   A programmable controller (appropriately abbreviated as PLC) is a sequence controller widely used in FA (Factory Automation) control systems, and operates according to a dedicated program called a ladder program. Therefore, a desired sequence control device can be realized by rewriting the program in the PLC. The PLC program is usually created by a user using a program editing support apparatus using a personal computer. The source code of the program created using the program editing support apparatus is compiled into an executable object code in the program editing support apparatus, and then transferred (uploaded) to the PLC via the communication cable.

PLC用のプログラムは、通常、デバッグや改良のためのバージョンアップが繰り返し行われている。つまり、プログラム編集支援装置上において繰り返し変更され、バージョンアップされた新たなプログラムとしてPLCへ繰り返しアップロードされる。しかしながら、PLCへ古いバージョンのプログラムをアップロードするような場合もあり、プログラム編集支援装置とPLCとの間でプログラムのバージョンが一致せず、どちらが最新バージョンであるのかがユーザ自身にも分からなくなってしまう場合があった。このため、ユーザは適切なバージョン管理を行っておく必要があり、この様なバージョン管理のためのユーザ負荷を軽減するために、従来から様々な提案が行われている(例えば、特許文献1〜特許文献4)。   The PLC program is normally repeatedly upgraded for debugging and improvement. That is, the program is repeatedly changed on the program editing support device, and is uploaded to the PLC repeatedly as a new version-updated program. However, there is a case where an old version of the program is uploaded to the PLC, and the program version does not match between the program editing support apparatus and the PLC, and the user himself / herself does not know which is the latest version. There was a case. For this reason, the user needs to perform appropriate version management, and various proposals have been made in the past in order to reduce the user load for such version management (for example, Patent Documents 1 to 3). Patent Document 4).

特許文献1には、PLC用のプログラムに関するものではないが、プログラムのバージョン管理を行うバージョン管理装置が記載されている。このバージョン情報は、ファイル名やバージョン数からなり、プログラムのインストール先である外部記憶装置内に格納されており、インストール元の外部記憶装置から新たなプログラムをインストールする場合に、両プログラムのバージョン情報を比較して警告表示が行われる。   Patent Document 1 describes a version management apparatus that performs version management of a program, although it does not relate to a program for PLC. This version information consists of a file name and the number of versions, and is stored in the external storage device that is the installation destination of the program. When installing a new program from the external storage device of the installation source, the version information of both programs Are displayed and a warning is displayed.

特許文献2には、プログラムプロパティを含むプログラムを生成するプログラム編集支援装置が記載されている。このプログラムプロパティは、プログラム名称やプログラム作成日時であり、プログラムを比較する際、プログラムプロパティが比較される。   Patent Literature 2 describes a program editing support apparatus that generates a program including program properties. The program properties are a program name and a program creation date, and the program properties are compared when comparing programs.

特許文献3には、シーケンサー用プログラムのオブジェクトコード内に管理情報を格納することができる計算機システムが記載されている。この管理情報は文字列からなり、オブジェクトコードを文字列情報として表示させることにより、当該オブジェクトコードに含まれる管理情報を文字列として確認できるようになっている。   Patent Document 3 describes a computer system that can store management information in an object code of a sequencer program. The management information is composed of a character string, and by displaying the object code as character string information, the management information included in the object code can be confirmed as a character string.

特許文献4には、プログラムを格納する領域と、当該プログラムのプロパティを格納する領域を有するプログラムコントローラが記載されている。このプロパティは、プログラムの名称、バージョン、更新日時からなり、プログラム作成支援装置のディスプレイに表示される。   Patent Document 4 describes a program controller having an area for storing a program and an area for storing a property of the program. This property includes the name, version, and update date / time of the program, and is displayed on the display of the program creation support apparatus.

要するに、特許文献1〜4に記載された従来技術によれば、PLC内にプログラムのバージョン情報を予め格納しておき、このバージョン情報をPLCからプログラム編集支援装置へダウンロードすることによって、バージョン情報を画面表示したり、他のプログラムのバージョン情報と比較したりすることができる。   In short, according to the prior art described in Patent Documents 1 to 4, the version information of the program is stored in advance in the PLC, and the version information is downloaded from the PLC to the program editing support device. It can be displayed on the screen or compared with the version information of other programs.

ところが、PLCの高速化、高機能化にともなって、PLC用のプログラムも大型で複雑なものとなり、1つのプログラムの開発を複数の設計者が共同で行うというケースが増えているが、このようなケースでは、上述した従来技術によって十分なバージョン管理を行うことが難しくなってきた。つまり、従来技術では、1人の設計者がプログラムを開発していることを前提としていることから、1つのプログラムを複数人で開発する共同開発にそのまま利用することができないという問題があった。   However, with the increase in speed and functionality of PLCs, PLC programs have become large and complex, and there are increasing cases in which multiple designers jointly develop one program. In such cases, it has become difficult to perform sufficient version control by the above-described conventional technology. That is, in the prior art, since it is assumed that one designer is developing a program, there is a problem in that it cannot be used as it is for joint development in which one program is developed by a plurality of people.

大規模なプログラムを複数の設計者で開発する場合、プロジェクトと呼ばれる1つのプログラムを複数のモジュールに分割し、これらの各モジュールに設計者が割り当てられる。この場合、各設計者は、それぞれの端末装置において自らが担当しているモジュールのみを作成し、そのモジュールのみを共通のPLCへそれぞれアップロードするという方法が採用される。   When a large-scale program is developed by a plurality of designers, one program called a project is divided into a plurality of modules, and a designer is assigned to each of these modules. In this case, a method is employed in which each designer creates only a module that he / she is responsible for in each terminal device and uploads only that module to a common PLC.

ここで、各モジュールが、他のモジュールから完全に独立して動作するものであるとすれば、各設計者は、自らが担当しているモジュール以外のモジュールを全く気にする必要はない。しかしながら、実際には、各モジュールに共通のグローバル変数を利用していたり、また、他のモジュール内の変数を参照していたりする場合が少なくない。従って、各モジュールは、完全に独立ではなく、最小限の連携を行いながら動作するものとならざるを得ない。   Here, if each module operates completely independently of the other modules, each designer does not need to care about modules other than the module that he / she is in charge of. However, in practice, there are many cases in which global variables common to each module are used or variables in other modules are referenced. Therefore, each module is not completely independent, and must operate with minimal cooperation.

また、各モジュールは、プログラム編集支援装置内においてシミュレーションを行ってその動作を事前に確認した上で、PLCへアップロードされる。このシミュレーションを行うためには、他の設計者が担当しているモジュールも必要となるため、各設計者の端末装置内には、他の設計者が担当しているモジュールも格納されている。   Each module is uploaded to the PLC after performing a simulation in the program editing support apparatus and confirming its operation in advance. In order to perform this simulation, modules for which other designers are in charge are also required. Therefore, modules for which other designers are in charge are also stored in each designer's terminal device.

このような開発環境下において、ある設計者Aが、他の設計者Bの担当しているモジュールが先にPLCへアップロードされていることに気づかずに、自らが担当しているモジュールをアップロードした場合、PLC内にはシミュレーションが行われていないモジュールの組み合わせが格納された状態となる。このため、両モジュール間に不整合が生じていれば、PLCは正常に動作しなくなる。   In such a development environment, a designer A uploaded a module that he / she was in charge of, without realizing that the module that the other designer B was responsible for was uploaded to the PLC first. In this case, a combination of modules that have not been simulated is stored in the PLC. For this reason, if a mismatch occurs between both modules, the PLC does not operate normally.

また、ある設計者Aがアップロードを行った際、誤って他の設計者Bが担当しているモジュールを上書きしてしまう可能性がある。この場合、他の設計者Bがアップロードしていた最新のモジュールが、古いモジュール又は全く別のモジュールによって上書きされれば、PLCは正常に動作しなくなってしまう。しかしながら、その原因を発見するのは容易ではなく、デバッグに時間がかかるという問題があった。   Further, when a certain designer A uploads, there is a possibility that a module that another designer B is in charge of will be overwritten by mistake. In this case, if the latest module uploaded by another designer B is overwritten by an old module or a completely different module, the PLC does not operate normally. However, it is not easy to find the cause, and there is a problem that debugging takes time.

また、ある設計者Aが、他の設計者Bが担当するモジュール内の記述であって、設計者Aの担当するモジュールと連携する部分を変更しなければならない場合に、意図的に設計者Bのモジュールを上書きすることも考えられる。この様な場合、設計者Bがそのことに気づかず、その後にモジュールの更新を行ったとすれば、設計者Aによる更新を元に戻してしまう結果となる。   Also, when a designer A intentionally changes a description in a module for which another designer B is in charge and needs to change a part linked to the module for which the designer A is in charge, the designer B intentionally It is possible to overwrite the module. In such a case, if the designer B is unaware of this and updates the module after that, the result is that the update by the designer A is reversed.

つまり、プログラムを共同開発する場合、PLC内のモジュールは、複数の設計者によって更新されるため、自分が担当するモジュールを自分自身で更新する場合と、他人が担当するモジュールを他人が更新する場合と、自分が担当するモジュールを他人が更新する場合がそれぞれ考えられ、これらを区別して把握することが必要となる。   In other words, when a program is jointly developed, the modules in the PLC are updated by multiple designers, so the modules that you are responsible for are updated by yourself, and the modules that others are responsible for are updated. And there are cases where other people update the modules that they are in charge of, and it is necessary to distinguish and grasp these.

しかしながら、上述した従来のバージョン管理方法は、PLC内のプログラムと、端末装置内のプログラムとを比較し、両者の一致又は不一致を判別しているだけであった。このため、両者が一致しなかった場合、PLC及び端末装置のどちらのプログラムが変更されたのかを区別することはできない。また、PLC内のプログラムが更新されていた場合であれば、それが自分自身による更新の結果であるのか、あるいは、他人による更新の結果であるのかを区別することはできないという問題があった。
特開平10−21058号公報 特開平11−338519号公報 特開2001−92644号公報 特開2006−268485号公報
However, the above-described conventional version management method only compares the program in the PLC with the program in the terminal device and determines whether or not they match. For this reason, when both do not correspond, it cannot be distinguished which program of the PLC and the terminal device has been changed. Further, if the program in the PLC has been updated, there is a problem that it cannot be distinguished whether it is the result of an update by itself or the result of an update by another person.
Japanese Patent Laid-Open No. 10-21058 JP 11-338519 A JP 2001-92644 A JP 2006-268485 A

本発明は、上記の事情に鑑みてなされたものであり、複数のプログラム編集支援装置から書き込み可能なPLC内のプログラムについて、その最終更新者が自身であるのか、あるいは、他のプログラム編集支援装置であるのかを上記プログラム編集支援装置において判別可能にすることを目的とする。また、プログラム編集支援装置からPLCへのプログラムの書き込みによって、他人が作成したPLC内のプログラムが不用意に上書きされるのを抑制することを目的とする。   The present invention has been made in view of the above circumstances, and the last updater of a program in a PLC writable from a plurality of program editing support apparatuses is itself or other program editing support apparatus It is an object of the present invention to make it possible for the program editing support apparatus to determine whether or not it is. It is another object of the present invention to prevent the program in the PLC created by another person from being inadvertently overwritten by writing the program from the program editing support apparatus to the PLC.

第1の本発明によるプログラム編集支援装置は、プログラマブルコントローラ用のプログラムを編集するためのプログラム編集支援装置であって、ユーザ操作に基づいて、プログラムを編集するプログラム編集手段と、上記プログラム編集手段によりプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成手段と、上記プログラム編集手段により編集されたプログラムと上記識別データ生成手段により生成された識別データとを関連付けて格納するプログラム記憶手段と、ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込手段と、上記PLCデータ書込手段によるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを保持する識別データ記憶手段と、ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得手段と、上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較手段と、上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較手段と、上記第1比較手段の比較結果と、上記第2比較手段の比較結果とを表示する表示手段とを備え、ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納するように構成される。 First program editing support device according to the present invention is a program editing support device for editing a program for a programmable controller, based on a user operation, a program editing means for editing the program, said program editing means If the descriptor program is edited by the, and the identification data generating means for generating a unique identification data to the editing, the identification data generated by the program and the identification data generating means which is edited by the program editing means Is stored in association with each other, and based on a user program write instruction, the designated program and the identification data stored in association with the program are read from the program storage means and written to the programmable controller. and PLC data writing means, Serial in accordance with write programs and identification data to the programmable controller by the PLC data writing means, the identification data storage means that holds the identification data that is written to the programmable controller, based on a user program verification instructions Te, and PLC data acquisition means for acquiring the identification data written in association with the designated program from the programmable controller, the identification data obtained from the programmable controller and the identification data said identification data storage means for holding A first comparison means for comparing; a second comparison means for comparing identification data stored in the program storage means; and identification data held by the identification data storage means; a comparison result of the first comparison means ; display for displaying a comparison result of the second comparing means And a stage, on the basis of the user program read instruction, the PLC data acquisition means, acquires a program and identification data the instruction from the programmable controller, said program storage means, said designated program and identification It is configured to store data in association .

第2の本発明によるプログラム編集支援装置は、上記構成に加えて、上記ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納する場合に、上記識別データ記憶手段が、上記プログラマブルコントローラから取得した上記識別データを格納するように構成される。 In the program editing support apparatus according to the second aspect of the present invention, in addition to the above configuration, the PLC data acquisition means acquires the instructed program and identification data from the programmable controller based on the user's program read instruction. When the program storage means stores the instructed program and identification data in association with each other, the identification data storage means is configured to store the identification data acquired from the programmable controller .

第3の本発明によるプログラム編集支援装置は、上記構成に加えて、上記PLCデータ取得手段が、ユーザが上記プログラム記憶手段に保持されているプログラムの上記プログラマブルコントローラへの書き込みを指示した場合に、当該プログラマブルコントローラから識別データを取得し、上記表示手段が、上記第1比較手段の比較結果に基づいて、上記プログラムの上記プログラマブルコントローラへの書き込み前に警告表示を行うように構成される。   In addition to the above configuration, the program editing support device according to the third aspect of the present invention is configured so that the PLC data acquisition unit instructs the user to write the program held in the program storage unit to the programmable controller. Identification data is acquired from the programmable controller, and the display means is configured to display a warning before writing the program to the programmable controller based on the comparison result of the first comparison means.

第4の本発明によるプログラム編集支援装置は、上記構成に加えて、上記表示手段が、上記第1比較手段の比較結果として、識別データが一致しているか否かを表示し、上記第2比較手段の比較結果として、識別データが一致しているか否かを表示するように構成される。 Fourth program editing support device according to the present invention, in addition to the above structure, the upper Symbol display means, as the comparison result of said first comparing means to display whether the identification data matches, the second As a comparison result of the comparison means, it is configured to display whether or not the identification data match .

第5の本発明によるプログラム編集支援装置は、上記構成に加えて、上記プログラムが、2以上のモジュールからなり、上記プログラム編集手段が、上記モジュールを編集することができ、上記識別データ生成手段が、上記モジュールが編集された場合に、当該編集に固有の識別データを生成し、上記PLCデータ書込手段が、上記モジュール及び上記識別データを上記プログラマブルコントローラへ書き込み、上記第1比較手段が、同一のモジュールについて、上記プログラマブルコントローラから読み出された識別データと上記識別データ記憶手段が保持する識別データと比較し、上記第2比較手段が、同一のモジュールについて、上記プログラム記憶手段に格納された識別データと上記識別データ記憶手段が保持する識別データを比較するように構成される。 In addition to the above configuration, the program editing support apparatus according to the fifth aspect of the present invention is configured such that the program comprises two or more modules, the program editing means can edit the modules, and the identification data generating means When the module is edited, identification data unique to the editing is generated, the PLC data writing means writes the module and the identification data to the programmable controller, and the first comparison means is the same. for the module, it compares the identification data said identification data read out from the programmable controller and the identification data storage means for holding said second comparing means, for the same module, stored in said program storage means and identification data identifying data and said identification data storage means for holding Configured to compare.

第6の本発明によるプログラム編集支援装置は、上記構成に加えて、上記表示手段が、同一のモジュールに関する上記第1比較手段の比較結果と上記第2比較手段の比較結果を互いに対応づけ、かつ、同時に閲覧可能となるように表示するように構成される。 Program editing support device according to the invention of the sixth, in addition to the above structure, the display means, together correspondence with the comparison result of the comparison result and the second comparison means of said first comparing means for the same module, And it is comprised so that it may display so that browsing is possible simultaneously.

第7の本発明によるプログラム編集支援装置は、上記構成に加えて、上記プログラム記憶手段に保持されているプログラムを複製するプログラム複製手段を備え、上記プログラム複製手段が、プログラムを複製する際、上記プログラム記憶手段に当該プログラムに関連付けて格納された識別データも複製するように構成される。 Program editing support device according to the invention of the seventh, in addition to the above structure, includes a program replication means for replicating a program held in the program storage means, the above program replication means, when duplicating the program, the The identification data stored in association with the program in the program storage means is also copied.

第8の本発明によるコンピュータプログラムは、コンピュータをプログラム編集支援装置として機能させるためのコンピュータプログラムであって、ユーザ操作に基づいて、プログラムを編集するプログラム編集手段と、上記プログラム編集手段によりプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成手段と、上記プログラム編集手段により編集されたプログラムと上記識別データ生成手段により生成された識別データとを関連付けて格納するプログラム記憶手段と、ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込手段と、上記PLCデータ書込手段によるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを保持する識別データ記憶手段と、ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得手段と、上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較手段と、上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較手段と、上記第1比較手段の比較結果と、上記第2比較手段の比較結果とを表示する表示手段とを備え、ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納するプログラム編集支援装置としてコンピュータを機能させるように構成される。 Computer program according to the eighth invention is a computer program for causing a computer to function as a program editing support device, based on the User chromatography The operation, a program editing means for editing the program, to said program editing means If the O descriptor program is edited, and the identification data generating means for generating a unique identification data to the editing, and the identification data generated by the program and the identification data generating means which is edited by the program editing means Program storage means for storing in association, PLC based on user's program write instruction, PLC for reading the instructed program and identification data stored in association with the program from the program storage means, and writing to the programmable controller Data writing means Depending on the writing program and the identification data to the programmable controller by the PLC data writing means, and the identification data storage means for holding identification data is Ru written to the programmable controller, based on a user program verification instruction, comparing the PLC data acquisition means for acquiring the identification data written in association with the designated program from the programmable controller, the identification data obtained from the programmable controller and the identification data said identification data storage means for holding A first comparison means; a second comparison means for comparing the identification data stored in the program storage means with the identification data held by the identification data storage means; a comparison result of the first comparison means; Table that displays the comparison results of 2 comparison means And the PLC data acquisition means acquires the instructed program and identification data from the programmable controller based on the user's program reading instruction, and the program storage means has the instructed program and identification. The computer is configured to function as a program editing support apparatus that stores data in association with each other .

第9の本発明によるプログラム編集支援方法は、ユーザ操作に基づいて、プログラムを編集するプログラム編集ステップと、上記プログラム編集ステップにおいてプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成ステップと、上記プログラム編集ステップにおいて編集されたプログラムと上記識別データ生成ステップにおいて生成された識別データとを関連付けてプログラム記憶手段に格納するプログラム格納ステップと、ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込ステップと、上記PLCデータ書込ステップにおけるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを識別データ記憶手段に格納する識別データ格納ステップと、ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得ステップと、上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較ステップと、上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較ステップと、上記第1比較ステップの比較結果と、上記第2比較ステップの比較結果とを表示する表示ステップとを備え、ユーザのプログラム読出指示に基づいて、上記PLCデータ取得ステップが、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム格納ステップが、当該指示されたプログラム及び識別データを関連付けて上記プログラム記憶手段に格納するように構成される。 Program editing support method according to the invention of the ninth, based on a user operation, a program editing step of editing the program, when the program is edited in the program editing step, the unique identification data to the editing An identification data generation step to be generated; a program storage step in which the program edited in the program editing step and the identification data generated in the identification data generation step are associated with each other and stored in the program storage means; based on the read program, which is the instruction from the program storage means and the identification data stored in association with the program, the PLC data writing step of writing to the programmable controller, put in the PLC data writing step Depending on the writing program and the identification data to the programmable controller, an identification data storing step of storing the identification data storage means identification data that is written to the programmable controller, based on a user program verification instruction, the programmable the comparing and PLC data acquisition step of acquiring identification data written in association with the designated program from the controller, the identification data obtained from the programmable controller and the identification data said identification data storage means for holding 1 A comparison step, a second comparison step for comparing the identification data stored in the program storage means with the identification data held by the identification data storage means, a comparison result of the first comparison step, and the second comparison Step comparison results The PLC data acquisition step acquires the instructed program and identification data from the programmable controller based on a user's program read instruction, and the program storage step is instructed. The program and the identification data are associated with each other and stored in the program storage means .

第10の本発明によるPLCシステムは、プログラマブルコントローラ及び複数のプログラム編集支援装置からなるPLCシステムであって、上記プログラマブルコントローラが、プログラム及び識別データを保持する記憶手段を備え、上記プログラム編集支援装置が、ユーザ操作に基づいて、プログラムを編集するプログラム編集手段と、上記プログラム編集手段によりプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成手段と、上記プログラム編集手段により編集されたプログラムと上記識別データ生成手段により生成された識別データとを関連付けて格納するプログラム記憶手段と、ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込手段と、上記PLCデータ書込手段によるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを保持する識別データ記憶手段と、ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得手段と、上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較手段と、上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較手段と、上記第1比較手段の比較結果と、上記第2比較手段の比較結果とを表示する表示手段とを備え、ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納するように構成される。

A PLC system according to a tenth aspect of the present invention is a PLC system comprising a programmable controller and a plurality of program editing support devices, wherein the programmable controller includes storage means for holding a program and identification data, and the program editing support device includes: , based on the User chromatography the operation, a program editing means for editing the program, when by the said program editing means descriptor program is edited, and the identification data generating means for generating a unique identification data to the editing A program storage means for storing the program edited by the program editing means and the identification data generated by the identification data generation means in association with each other, and the instruction from the program storage means based on a user program write instruction. Program and the program Reading the identification data stored in association with arm, and PLC data writing means for writing to the programmable controller, in response to the writing of the program and the identification data to the programmable controller by the PLC data writing means, to said programmable controller and identification data storage means that holds the identification data written Ru, based on the user of the program verification instruction, PLC data acquisition means for acquiring identification data written in association with the designated program from the programmable controller First identification means for comparing identification data acquired from the programmable controller and identification data held by the identification data storage means, identification data stored in the program storage means, and the identification data storage means Hold A second comparing means for comparing the different data, the comparison result of the first comparison means, and display means for displaying a comparison result of the second comparing means, based on the user program read instruction, the The PLC data acquisition means acquires the designated program and identification data from the programmable controller, and the program storage means stores the designated program and identification data in association with each other .

本発明によれば、複数のプログラム編集支援装置から書き込み可能なPLC内のプログラムについて、その最終更新者が自分自身であるのか、あるいは、他のプログラム編集支援装置であるのかを各プログラム編集支援装置において判別することができる。また、プログラム編集支援装置からPLCへのプログラムの書き込みによって、他人が作成したPLC内のプログラムが不用意に上書きされるのを抑制することができる。   According to the present invention, each program editing support apparatus determines whether the last updater is itself or another program editing support apparatus for a program in a PLC writable from a plurality of program editing support apparatuses. Can be determined. Moreover, it is possible to prevent the program in the PLC created by another person from being overwritten inadvertently by writing the program from the program editing support apparatus to the PLC.

実施の形態1.
[システムの概略構成]
図1は、本発明の実施の形態1によるPLC(Programable Logic Controller)システムの概略構成の一例を示した図である。このシステムは、1つのPLC1、当該PLC1に接続された複数のプログラム編集支援装置2、入力装置3及び出力装置4によって構成される。
Embodiment 1 FIG.
[Schematic configuration of the system]
FIG. 1 is a diagram showing an example of a schematic configuration of a PLC (Programmable Logic Controller) system according to Embodiment 1 of the present invention. This system includes one PLC 1, a plurality of program editing support devices 2 connected to the PLC 1, an input device 3, and an output device 4.

PLC1は、センサーなどの入力装置3と、モータなどの出力装置4が接続され、入力装置3からの検出信号に基づいて、出力装置4への制御信号を生成する小型コントローラであり、その動作は、PLC1内に保持しているプログラムによって決定される。   The PLC 1 is a small controller that is connected to an input device 3 such as a sensor and an output device 4 such as a motor, and generates a control signal to the output device 4 based on a detection signal from the input device 3. , Determined by a program held in the PLC 1.

プログラム編集支援装置2は、ユーザがPLC1用のプログラムを作成するための端末装置であり、専用の端末装置であってもよいが、通常は、パーソナルコンピュータに専用ソフトウエアをインストールすることによって実現される。ユーザは、このプログラム編集支援装置2上において、プログラムを作成し、作成されたプログラムのシミュレーションを行ってその動作を検証し、検証後のプログラムをコンパイルしてソースコードからオブジェクトコード(実行コード)へ変換する。この様にして生成されたプログラムのオブジェクトコードが、プログラム編集支援装置2からPLC1へアップロードされる。また、アップロードだけでなく、PLC1内のプログラムをプログラム編集支援装置2へダウンロードして編集することもできる。   The program editing support device 2 is a terminal device for a user to create a program for the PLC 1 and may be a dedicated terminal device, but is usually realized by installing dedicated software on a personal computer. The The user creates a program on the program editing support apparatus 2, performs simulation of the created program to verify its operation, compiles the verified program, and changes the source code to object code (executable code). Convert. The object code of the program generated in this way is uploaded from the program editing support apparatus 2 to the PLC 1. In addition to uploading, the program in the PLC 1 can be downloaded to the program editing support apparatus 2 and edited.

図示したPLCシステムは、1つのプログラムを複数の設計者が共同で開発するためのものである。各プログラム編集支援装置2は、それぞれ異なる設計者が利用している端末装置であり、複数のプログラム編集支援装置2が、通信ケーブルを介して、1つのPLC1にネットワーク接続されている。従って、各設計者は、独自にプログラムの編集、検証、コンパイル及びアップロードをそれぞれ行うことができる。   The illustrated PLC system is for jointly developing one program by a plurality of designers. Each program editing support device 2 is a terminal device used by different designers, and a plurality of program editing support devices 2 are network-connected to one PLC 1 via a communication cable. Therefore, each designer can independently edit, verify, compile and upload the program.

なお、複数のプログラム編集支援装置2は、それぞれが異なるハードウエア上で実現されるものであってもよいし、同一のハードウエア上で実現されるものであってもよい。同一のハードウエア上において複数のプログラム編集支援装置2が実現される場合とは、例えば、複数の設計者が同一の端末装置を使用しているが、互いに異なるログイン名でログインして編集作業を行っており、編集対象となるデータはログイン名ごとに異なっているような場合である。   The plurality of program editing support devices 2 may be realized on different hardware, or may be realized on the same hardware. When a plurality of program editing support devices 2 are realized on the same hardware, for example, a plurality of designers use the same terminal device, but log in with different login names to perform editing work. This is the case when the data to be edited is different for each login name.

図2は、PLC1用のプログラム5の概略について説明するための図である。本実施の形態では、1つのプログラム5、つまり、PLC1内において同時に実行することができるプログラム5を「プロジェクト」と呼ぶことにする。PLC1内には、複数のプロジェクトPj1〜Pj3を保持することができるが、これらのプログラム5は選択的にしか実行することができず、ユーザは、いずれか1つのプロジェクトPj1〜Pj3を実行対象としてプログラム実行前に指定しなければならない。同様にして、プログラム編集支援装置2内にも複数のプロジェクトPj1〜Pj3を保持することができるが、編集、動作検証、コンパイル等は各プロジェクトPj1〜Pj3ごとに行われる。   FIG. 2 is a diagram for explaining the outline of the program 5 for the PLC 1. In the present embodiment, one program 5, that is, a program 5 that can be executed simultaneously in the PLC 1 is referred to as a “project”. A plurality of projects Pj1 to Pj3 can be held in the PLC 1, but these programs 5 can only be selectively executed, and the user can execute any one of the projects Pj1 to Pj3 as an execution target. Must be specified before program execution. Similarly, a plurality of projects Pj1 to Pj3 can be held in the program editing support apparatus 2, but editing, operation verification, compilation, and the like are performed for each project Pj1 to Pj3.

1つのプロジェクトPj1は、1又は2以上のモジュールmodA〜modDによって構成される。1つのプロジェクトPj1を複数の設計者で共同開発する場合、プロジェクトPj1を複数のモジュールmodA〜modDに分割し、各モジュールmodA〜modDに異なる設計者が割り当てられる。つまり、各モジュールmodA〜modDは、図1に示された異なるプログラム編集支援装置2において、それぞれ作成され、共通のPLC1へアップロードされる。ただし、動作検証のためのシミュレーションを行うためには、他の設計者が担当しているモジュールも必要となるため、これらのモジュールは、シミュレーション実行前に、PLC1からダウンロードし、あるいは、他のプログラム編集支援装置2から受信しておく。一方、全てのモジュールmodA〜modDがアップロードされたPLC1は、予め指定されている実行順序に従って、これらのモジュールmodA〜modDを順次に実行していく。   One project Pj1 includes one or more modules modA to modD. When a project Pj1 is jointly developed by a plurality of designers, the project Pj1 is divided into a plurality of modules modA to modD, and different designers are assigned to the modules modA to modD. That is, each of the modules modA to modD is created and uploaded to the common PLC 1 in the different program editing support apparatus 2 shown in FIG. However, in order to perform a simulation for operation verification, modules handled by other designers are also required. Therefore, these modules are downloaded from the PLC 1 or other programs before the simulation is executed. Received from the editing support apparatus 2. On the other hand, the PLC 1 to which all the modules modA to modD have been uploaded sequentially executes these modules modA to modD in accordance with the execution order designated in advance.

また、各モジュールmodA〜modDには、識別データidA〜idDがそれぞれ含まれている。識別データidA〜idDは、モジュールの新規作成時に生成され、その後もモジュールが変更されるたびに更新されるデータであり、異なるモジュールmodA〜modDには異なる識別データidA〜idDが格納されており、同じモジュールmodA〜modDであっても、バージョンが異なれば、異なる識別データidA〜idDが格納されている。ただし、複製されたモジュールには、複製前のモジュールと同じ識別データが格納されている。つまり、識別データidA〜idDは、モジュールmodA〜modDの編集に固有のデータである。   Each module modA to modD includes identification data idA to idD, respectively. The identification data idA to idD is data that is generated when a module is newly created and is updated every time the module is changed. Different identification data idA to idD are stored in different modules modA to modD. Even if the modules modA to modD are different in version, different identification data idA to idD are stored. However, the same identification data as the module before duplication is stored in the duplicated module. That is, the identification data idA to idD are data unique to editing of the modules modA to modD.

[プログラム編集支援装置2の詳細構成]
図3は、図1のプログラム編集支援装置2の一構成例を示したブロック図である。このプログラム編集支援装置2は、プログラム記憶部201、前回データ記憶部202、プログラム編集部21、識別データ生成部22、シミュレーション部23、コンパイル部24、データ出力部25、データ入力部26、通信I/F(Interface)部27、プログラム照合部28及び照合結果出力部29により構成される。
[Detailed Configuration of Program Editing Support Device 2]
FIG. 3 is a block diagram showing a configuration example of the program editing support apparatus 2 of FIG. The program editing support apparatus 2 includes a program storage unit 201, a previous data storage unit 202, a program editing unit 21, an identification data generation unit 22, a simulation unit 23, a compilation unit 24, a data output unit 25, a data input unit 26, and a communication I. A / F (Interface) unit 27, a program verification unit 28, and a verification result output unit 29 are included.

プログラム記憶部201は、PLC1用のプログラム5を記憶する記憶手段である。プログラム5は、複数の設計者で共同開発されるプログラムであり、複数のモジュールmodA〜modDからなり、各モジュールmodA〜modD内には、識別データidA〜idDがそれぞれ格納されている。   The program storage unit 201 is a storage unit that stores the program 5 for the PLC 1. The program 5 is a program jointly developed by a plurality of designers, and includes a plurality of modules modA to modD, and identification data idA to idD are stored in the modules modA to modD, respectively.

このプログラム編集支援装置2を利用している設計者は、モジュールmodAの作成を担当しているものとする。つまり、プログラム記憶部201内に保持されているモジュールmodA〜modDのうち、モジュールmodAのみが当該プログラム編集支援装置2内で作成されたモジュールであり、他のモジュールmodB〜modDは、他のプログラム編集支援装置2において作成されたモジュールであり、PLC1からダウンロードされたものである。   It is assumed that the designer who uses this program editing support apparatus 2 is in charge of creating the module modA. That is, among the modules modA to modD held in the program storage unit 201, only the module modA is a module created in the program editing support apparatus 2, and the other modules modB to modD are other program editing. This is a module created in the support device 2 and downloaded from the PLC 1.

前回データ記憶部202は、識別データidA〜idDを記憶する記憶手段であり、プログラム5のアップロード時及びダウンロード時に更新される。当該プログラム編集支援装置2における編集対象はモジュールmodAであるため、前回データ記憶部202内に保持されている識別データidAは、モジュールmodAのPLC1へのアップロード時に更新され、その他の識別データidB〜idDは、モジュールmodB〜modDのPLC1からのダウンロード時に更新される。従って、前回データ記憶部202には、PLC1内に保持されていると推定される識別データidA〜idDが保持されており、他のプログラム編集支援装置2からPLC1へモジュールmodA〜modDのアップロードが行われない限り、前回データ記憶部202内及びPLC1内に保持されている識別データidA〜idDは一致する。   The previous data storage unit 202 is a storage unit that stores identification data idA to idD, and is updated when the program 5 is uploaded and downloaded. Since the editing target in the program editing support apparatus 2 is the module modA, the identification data idA held in the previous data storage unit 202 is updated when the module modA is uploaded to the PLC 1 and the other identification data idB to idD. Is updated when the modules modB to modD are downloaded from the PLC 1. Accordingly, the identification data idA to idD estimated to be held in the PLC 1 is held in the previous data storage unit 202, and the modules modA to modD are uploaded from the other program editing support apparatus 2 to the PLC 1. Unless otherwise specified, the identification data idA to idD held in the previous data storage unit 202 and in the PLC 1 match.

プログラム編集部21は、ユーザがプログラム5を新規に作成し、あるいは、既に作成されているプログラム5を変更するための手段である。本明細書では「プログラムの編集」をプログラムの新規作成及びその後の変更を含む語として使用する。プログラムの編集は、例えば、ユーザが画面表示を見ながら操作入力を行い、新たなデバイスシンボルを画面上に配置し、そのデバイス名などのパラメータを定義したり、あるいは、不要になった配置済みのデバイスシンボルを削除することによって行われる。また、デバイスシンボルについて置換、コピー又はペーストなどを行うこともできる。さらに、プログラムには、これらのデバイスシンボルから生成される命令コード以外に、PLC内の各種パラメータを設定するための設定データも含まれており、これらの設定データを編集することもできる。ここでは、プログラム5が複数のモジュールmodA〜modDで構成されているため、モジュールmodA〜modDごとに編集が行われ、編集後のモジュールmodA〜modDには、識別データidA〜idD及び更新時刻データ(例えば更新日時)が加えられて、プログラム記憶部201へ書き込まれる。   The program editing unit 21 is a means for the user to create a new program 5 or change a program 5 that has already been created. In this specification, “program editing” is used as a term including new creation of a program and subsequent changes. The program can be edited, for example, when the user inputs an operation while watching the screen display, places a new device symbol on the screen, defines parameters such as the device name, or has already been placed. This is done by deleting the device symbol. Also, replacement, copying, or pasting can be performed on the device symbol. Further, the program includes setting data for setting various parameters in the PLC in addition to the instruction code generated from these device symbols, and these setting data can be edited. Here, since the program 5 includes a plurality of modules modA to modD, editing is performed for each of the modules modA to modD. The edited modules modA to modD include identification data idA to idD and update time data ( For example, the update date and time is added and written to the program storage unit 201.

識別データ生成部22は、プログラム編集部21による編集終了時に、編集後のプログラム5に基づいて、識別データを生成する。ここでは、プログラム編集部21による編集対象がモジュールmodAであるため、編集後のモジュールmodAに基づいて、識別データidAを生成している。この識別データは、編集処理ごとに固有のデータとして生成される。例えば、予め定められたハッシュ関数を用いて、編集後のモジュールmodAから求められるハッシュ値を識別データidAとして利用することができる。また、モジュールmodAの編集が行われた日時や、編集を行った設計者の識別情報や、端末装置の識別情報などに基づいて識別データを生成することもできる。   The identification data generation unit 22 generates identification data based on the edited program 5 when editing by the program editing unit 21 is completed. Here, since the editing target by the program editing unit 21 is the module modA, the identification data idA is generated based on the edited module modA. This identification data is generated as unique data for each editing process. For example, a hash value obtained from the edited module modA can be used as the identification data idA using a predetermined hash function. Also, identification data can be generated based on the date and time when the module modA was edited, the identification information of the designer who performed the editing, the identification information of the terminal device, and the like.

なお、プログラム5又はモジュールmodA〜modDを複製する場合には、識別データも含めて複製される。つまり、プログラム記憶部201内に保持されているモジュールを複製する場合、同じ識別データをもつ別のモジュールとして、プログラム記憶部201へ書き込まれる。   When the program 5 or the modules modA to modD are duplicated, the identification data is also duplicated. That is, when a module held in the program storage unit 201 is duplicated, it is written into the program storage unit 201 as another module having the same identification data.

シミュレーション部23は、プログラム記憶部201内に保持されているプログラム5のシミュレーションを行う。ユーザは、このシミュレーション結果を見て、プログラム5が所望の動作を行うものであることを確認する。このシミュレーションは、プログラム5が複数のモジュールmodA〜modDで構成される場合であっても、モジュール単位ではなく、プログラム5単位で行われ、1つのプログラム5を構成している複数のモジュールmodA〜modD間の連携を含めた動作検証が行われる。   The simulation unit 23 performs a simulation of the program 5 held in the program storage unit 201. The user sees the simulation result and confirms that the program 5 performs a desired operation. This simulation is performed not in units of modules but in units of programs 5 even when the program 5 is configured by a plurality of modules modA to modD, and a plurality of modules modA to modD constituting one program 5 are performed. Operation verification including coordination between the two is performed.

コンパイル部24は、プログラム記憶部201に記憶されているプログラム5のソースコードをオブジェクトコードに変換する処理を行う。プログラム5が複数のモジュールmodA〜modDで構成される場合、このコンパイル処理によって、モジュールmodA〜modDごとのオブジェクトコードを生成することができる。なお、生成されたオブジェクトコード内には、ソースコードに含まれていた識別データと同じデータが格納されており、コンパイル処理によって識別データidA〜idDは変更されない。   The compiling unit 24 performs a process of converting the source code of the program 5 stored in the program storage unit 201 into an object code. When the program 5 is composed of a plurality of modules modA to modD, an object code for each of the modules modA to modD can be generated by this compilation process. The generated object code stores the same data as the identification data included in the source code, and the identification data idA to idD are not changed by the compilation process.

データ出力部25は、通信I/F部27を介して、PLC1へのプログラム5の書き込み(アップロード)を行っている。また、プログラム5のアップロード時には、当該プログラム5に含まれる識別データが前回データ記憶部202に書き込まれる。プログラム5が複数のモジュールmodA〜modDで構成されている場合には、モジュールmodA〜modDごとにアップロードすることができる。このプログラム編集支援装置2の場合、プログラム記憶部201からモジュールmodAが読み出され、当該モジュールmodAに含まれる識別データidAが前回データ記憶部202に書き込まれ、その後に、当該識別データを含むモジュールmodAがPLC1へアップロードされる。   The data output unit 25 writes (uploads) the program 5 to the PLC 1 via the communication I / F unit 27. When uploading the program 5, identification data included in the program 5 is written in the previous data storage unit 202. When the program 5 is composed of a plurality of modules modA to modD, it can be uploaded for each of the modules modA to modD. In the case of the program editing support apparatus 2, the module modA is read from the program storage unit 201, the identification data idA included in the module modA is written in the previous data storage unit 202, and then the module modA including the identification data is included. Is uploaded to PLC1.

データ入力部26は、通信I/F部27を介して、PLC1からのプログラム5の取得(ダウンロード)を行っている。また、プログラム5のダウンロード時には、ダウンロードしたプログラム5に含まれる識別データが前回データ記憶部202にも書き込まれる。プログラム5が複数のモジュールmodA〜modDで構成されている場合には、モジュールごとにダウンロードすることができる。このプログラム編集支援装置2の場合、他のプログラム編集支援装置2で生成され、PLC1へアップロードされたモジュールmodB〜modDが、PLC1からダウンロードされる。ダウンロードされたモジュールmodB〜modDは、プログラム記憶部201へ書き込まれるとともに、当該モジュールmodB〜modDから識別データidB〜idDが抽出され、前回データ記憶部202に書き込まれる。   The data input unit 26 acquires (downloads) the program 5 from the PLC 1 via the communication I / F unit 27. When the program 5 is downloaded, the identification data included in the downloaded program 5 is also written in the previous data storage unit 202. When the program 5 is composed of a plurality of modules modA to modD, it can be downloaded for each module. In the case of this program editing support apparatus 2, the modules modB to modD generated by the other program editing support apparatus 2 and uploaded to the PLC 1 are downloaded from the PLC 1. The downloaded modules modB to modD are written to the program storage unit 201, and the identification data idB to idD are extracted from the modules modB to modD and written to the previous data storage unit 202.

PLC1に対するアップロード及びダウンロード時に前回データ記憶部202を更新することによって、前回データ記憶部202内には、常に、PLC1に最後にアクセスした時点における識別データが保持されている。つまり、モジュールmodAについては、最後のアップロード時における識別データidAが保持されており、モジュールmodB〜modDについては、最後のダウンロード時における識別データidB〜idDが保持されている。   By updating the previous data storage unit 202 at the time of uploading and downloading to the PLC 1, the previous data storage unit 202 always holds identification data at the time of last access to the PLC 1. That is, the identification data idA at the time of the last upload is held for the module modA, and the identification data idB to idD at the time of the last download is held for the modules modB to modD.

また、データ入力部26は、PLC1からプログラム5又はモジュールmodA〜modDをダウンロードすることなく、識別データidA〜idDのみを取得することもできる。この様にしてPLC1からダウンロードされた識別データidA〜idDは、プログラム照合部28へ出力される。   The data input unit 26 can also acquire only the identification data idA to idD without downloading the program 5 or the modules modA to modD from the PLC 1. The identification data idA to idD downloaded from the PLC 1 in this way are output to the program verification unit 28.

プログラム照合部28は、注目しているプログラム5について最後のアップロード又はダウンロードが行われた後に、当該プログラム編集支援装置2内又はPLC1内のいずれかで当該プログラム5が更新されたか否かを判別する。この判別処理は、プログラム記憶部201内、前回データ記憶部202内及びPLC1内に保持されている識別データを比較することによって行われる。ここでは、ユーザによってプロジェクトPj1が予め指定されており、当該プロジェクトPj1に属する各モジュールmodA〜modDの識別情報idA〜idDについて比較が行われる。   The program verification unit 28 determines whether the program 5 has been updated either in the program editing support device 2 or in the PLC 1 after the last upload or download of the program 5 of interest. . This determination processing is performed by comparing identification data held in the program storage unit 201, the previous data storage unit 202, and the PLC 1. Here, the project Pj1 is designated in advance by the user, and the identification information idA to idD of each module modA to modD belonging to the project Pj1 is compared.

PLC1内のモジュールmodA〜modDを他人が更新したか否かは、前回データ記憶部202内に保持されている識別データidA〜idDと、PLC1からダウンロードした識別データidA〜idDとを比較することによって判別できる。両者が一致しなければ、前回データ記憶部202の更新後に、PLC1内のモジュールmodA〜modDが、他のプログラム編集支援装置2からのアップロードによって更新されたと判別することができる。   Whether another person has updated the modules modA to modD in the PLC 1 is determined by comparing the identification data idA to idD held in the previous data storage unit 202 with the identification data idA to idD downloaded from the PLC 1. Can be determined. If they do not match, it is possible to determine that the modules modA to modD in the PLC 1 have been updated by uploading from another program editing support apparatus 2 after the previous data storage unit 202 has been updated.

また、プログラム記憶部201内のモジュールmodA〜modDが編集されたか否かは、前回データ記憶部202内の識別データidA〜idDと、プログラム記憶部201内の識別データidA〜idDとを比較することによって判別できる。両者が一致しなければ、前回データ記憶部202の更新後に、PLC1内のモジュールmodA〜modDが、プログラム編集部21によって更新されたと判別することができる。   Whether or not the modules modA to modD in the program storage unit 201 have been edited is determined by comparing the previous identification data idA to idD in the data storage unit 202 with the identification data idA to idD in the program storage unit 201. Can be determined. If they do not match, it is possible to determine that the modules modA to modD in the PLC 1 have been updated by the program editing unit 21 after the previous data storage unit 202 has been updated.

照合結果出力部29は、プログラム照合部28の照合結果に基づいて出力動作を行っている。例えば、ユーザがプログラム照合処理を指示した場合であれば、上記照合結果が画面表示される。また、ユーザがモジュールのアップロードを指示した場合であって、当該アップロードによって更新されるPLC1内のモジュールが他のプログラム編集支援装置2によって先に更新されていた場合には、警告メッセージを画面表示し、ユーザに確認のための操作入力を行わせたり、あるいは、ダウンロード処理を禁止する。   The verification result output unit 29 performs an output operation based on the verification result of the program verification unit 28. For example, if the user instructs a program verification process, the verification result is displayed on the screen. If the user has instructed to upload a module and the module in the PLC 1 updated by the upload has been previously updated by another program editing support device 2, a warning message is displayed on the screen. The operation input for confirmation is performed by the user, or the download process is prohibited.

[PLC1の詳細構成]
図4は、図1のPLC1の一構成例を示したブロック図である。このPLC1は、通信I/F部11、データ入力部12、データ出力部13、プログラム記憶部14、プログラム実行部15、入力装置I/F部16及び出力装置I/F部17により構成される。
[Detailed configuration of PLC 1]
FIG. 4 is a block diagram showing a configuration example of the PLC 1 in FIG. The PLC 1 includes a communication I / F unit 11, a data input unit 12, a data output unit 13, a program storage unit 14, a program execution unit 15, an input device I / F unit 16, and an output device I / F unit 17. .

プログラム記憶部14は、プログラム5を記憶する記憶手段であり、プログラム編集支援装置2からアップロードされたプログラム5が保持されている。このプログラム5は、プログラム編集支援装置2のプログラム記憶部201と同様、複数のモジュールmodA〜modDからなり、各モジュールmodA〜modD内には、識別データidA〜idD及び更新時刻データがそれぞれ格納されている。   The program storage unit 14 is a storage unit that stores the program 5, and holds the program 5 uploaded from the program editing support apparatus 2. Similar to the program storage unit 201 of the program editing support apparatus 2, the program 5 includes a plurality of modules modA to modD. In each of the modules modA to modD, identification data idA to idD and update time data are respectively stored. Yes.

通信I/F部11は、有線又は無線の通信回線を介して、各プログラム編集支援装置2と接続され、双方向のデータ通信を行っている。データ入力部12は、プログラム編集支援装置2からアップロードされたモジュールmodA〜modDをプログラム記憶部14へ書き込む。一方、データ出力部13は、いずれかのプログラム編集支援装置2からモジュールmodA〜modD又は識別データidA〜idDのダウンロード要求があった場合に、要求されたデータをプログラム記憶部14から読み出し、要求元のプログラム編集支援装置2へ送信する。   The communication I / F unit 11 is connected to each program editing support apparatus 2 via a wired or wireless communication line, and performs bidirectional data communication. The data input unit 12 writes the modules modA to modD uploaded from the program editing support apparatus 2 to the program storage unit 14. On the other hand, the data output unit 13 reads the requested data from the program storage unit 14 when there is a download request for the modules modA to modD or the identification data idA to idD from any of the program editing support devices 2, and the request source To the program editing support apparatus 2.

プログラム実行部15は、プログラム記憶部14内のプログラム5に基づいて制御を行うプロセッサである。例えば、入力装置I/F部16を介して、入力装置3から入力される検出信号に基づいて制御信号を生成し、出力装置I/F部17を介して、上記制御信号を出力装置4へ出力している。   The program execution unit 15 is a processor that performs control based on the program 5 in the program storage unit 14. For example, a control signal is generated based on a detection signal input from the input device 3 via the input device I / F unit 16, and the control signal is transmitted to the output device 4 via the output device I / F unit 17. Output.

[プログラム編集支援装置2の動作]
図5は、本発明の実施の形態1によるプログラム照合処理を簡略化して示した説明図である。プログラム編集支援装置2内のプログラム記憶部201には、複数のモジュールA〜Dにより構成されるプログラム5が格納されている。同様にして、PLC1内のプログラム記憶部14にも、複数のモジュールA〜Dにより構成されるプログラム5が格納されている。これらの各モジュール内には、識別データがそれぞれ格納されている。また、 プログラム編集支援装置2内の前回データ記憶部202には、プログラム記憶部201及びプログラム記憶部14間における最後のアップロード又はダウンロード時における識別データが格納されている。
[Operation of Program Editing Support Device 2]
FIG. 5 is an explanatory diagram showing a simplified program verification process according to the first embodiment of the present invention. A program storage unit 201 in the program editing support apparatus 2 stores a program 5 including a plurality of modules A to D. Similarly, the program storage unit 14 in the PLC 1 also stores a program 5 including a plurality of modules A to D. Identification data is stored in each of these modules. The previous data storage unit 202 in the program editing support apparatus 2 stores identification data at the time of the last upload or download between the program storage unit 201 and the program storage unit 14.

従って、プログラム記憶部14及び前回データ記憶部202内の識別データを対応するモジュールごとに比較すれば、PLC1への最後のアクセス後に、他のプログラム編集支援装置2によってPLC1内のモジュールが更新されたか否かを判別することができる。また、プログラム記憶部201及び前回データ記憶部202内の識別データを対応するモジュールごとに比較すれば、PLC1への最後のアクセス後に、プログラム編集支援装置2内のモジュールが編集されたか否かを判別することができる。   Therefore, if the identification data in the program storage unit 14 and the previous data storage unit 202 are compared for each corresponding module, whether the module in the PLC 1 has been updated by another program editing support device 2 after the last access to the PLC 1. It can be determined whether or not. Further, by comparing the identification data in the program storage unit 201 and the previous data storage unit 202 for each corresponding module, it is determined whether the module in the program editing support apparatus 2 has been edited after the last access to the PLC 1. can do.

図6のステップS101〜S103は、図3のプログラム編集支援装置2の動作の一例を示したフローチャートであり、モジュールのアップロード時におけるデータ出力部25の動作が示されている。   Steps S101 to S103 in FIG. 6 are flowcharts showing an example of the operation of the program editing support apparatus 2 in FIG. 3, and the operation of the data output unit 25 at the time of uploading a module is shown.

モジュールmodAをアップロードする場合、モジュールmodAが、転送対象としてユーザによって指定され、プログラム記憶部201から読み出される(ステップS101)。データ出力部25は、読み出されたモジュールmodAから識別データidAを抽出し、前回データ記憶部202内の識別データidAを更新する(ステップS102)。この前回データ記憶部202の更新後に、上記モジュールmodAは、通信I/F部27からPLC1へ送信される(ステップS103)。   When uploading the module modA, the module modA is designated by the user as a transfer target and is read from the program storage unit 201 (step S101). The data output unit 25 extracts the identification data idA from the read module modA, and updates the identification data idA in the previous data storage unit 202 (step S102). After the previous data storage unit 202 is updated, the module modA is transmitted from the communication I / F unit 27 to the PLC 1 (step S103).

図7のステップS201〜S204は、図3のプログラム編集支援装置2の動作の一例を示したフローチャートであり、モジュールのダウンロード時におけるデータ入力部26の動作が示されている。   Steps S201 to S204 in FIG. 7 are flowcharts showing an example of the operation of the program editing support apparatus 2 in FIG. 3, and the operation of the data input unit 26 at the time of downloading the module is shown.

モジュールmodB〜modDをダウンロードする場合、まずPLC1へダウンロード要求を送信した後(ステップS201)、PLC1からモジュールmodB〜modDを受信する(ステップS202)。データ入力部26は、受信したモジュールmodB〜modDから識別データidB〜idDを抽出し、前回データ記憶部202内の識別データidB〜idDを更新する(ステップS203)。この前回データ記憶部202の更新後に、上記モジュールmodB〜modDは、プログラム記憶部201に書き込まれる(ステップS204)。   When downloading the modules modB to modD, first, after transmitting a download request to the PLC 1 (step S201), the modules modB to modD are received from the PLC 1 (step S202). The data input unit 26 extracts the identification data idB to idD from the received modules modB to modD, and updates the identification data idB to idD in the previous data storage unit 202 (step S203). After updating the previous data storage unit 202, the modules modB to modD are written in the program storage unit 201 (step S204).

図8のステップS301〜S306は、図3のプログラム編集支援装置2の動作の一例を示したフローチャートであり、プログラム照合処理が示されている。このプログラム照合処理は、プログラム編集支援装置2において、ユーザがプログラム照合を指示した場合に、プログラム照合部28によって実行される。   Steps S301 to S306 in FIG. 8 are flowcharts showing an example of the operation of the program editing support apparatus 2 in FIG. 3, and show program collation processing. This program verification processing is executed by the program verification unit 28 when the user instructs program verification in the program editing support apparatus 2.

ユーザがプロジェクトPj1を指定してプログラム照合を指示すると、プログラム照合部28は、当該プロジェクトPj1に属する全てのモジュールmodA〜modDについて、その識別データidA〜idD及び更新時刻データをPLC1からダウンロードする(ステップS301)。このとき、モジュールmodA〜modD自体をダウンロードしてもよいが、プログラム照合に必要となる識別データidA〜idD及び更新時刻データのみをダウンロードすれば、ダウンロード時間を大幅に短縮することができる。   When the user designates the project Pj1 and instructs the program collation, the program collation unit 28 downloads the identification data idA to idD and the update time data from the PLC 1 for all the modules modA to modD belonging to the project Pj1 (Step 1). S301). At this time, the modules modA to modD themselves may be downloaded. However, if only the identification data idA to idD and update time data necessary for program verification are downloaded, the download time can be greatly shortened.

次に、前回データ記憶部202から識別データidA〜idDが読み出され(ステップS302)、ダウンロードされた識別データidA〜idDとの比較が行われる(ステップS303)。つまり、照合対象となる各モジュールmodA〜modDごとに、前回データ記憶部202内に保持されている識別データと、PLC1のプログラム記憶部14内に保持されている識別データとの比較が行われる。   Next, the identification data idA to idD are read from the previous data storage unit 202 (step S302), and compared with the downloaded identification data idA to idD (step S303). That is, for each of the modules modA to modD to be collated, the identification data held in the previous data storage unit 202 is compared with the identification data held in the program storage unit 14 of the PLC 1.

同様にして、プログラム記憶部201から識別データidA〜idD及び更新時刻データが読み出され(ステップS304)、ダウンロードされた識別データidA〜idDとの比較が行われる(ステップS305)。つまり、照合対象となる各モジュールmodA〜modDごとに、プログラム編集支援装置2のプログラムデータ記憶部201内に保持されている識別データと、PLC1のプログラム記憶部14内に保持されている識別データとの比較が行われる。   Similarly, identification data idA to idD and update time data are read from the program storage unit 201 (step S304) and compared with the downloaded identification data idA to idD (step S305). That is, the identification data held in the program data storage unit 201 of the program editing support apparatus 2 and the identification data held in the program storage unit 14 of the PLC 1 for each of the modules modA to modD to be collated A comparison is made.

照合結果出力部29は、ステップS303及びS305の比較結果を画面表示してユーザに知らせる(ステップS306)。例えば、ステップS303及びS305における各比較結果が、モジュールmodA〜modDごとに対応づけられて画面表示される。   The collation result output unit 29 displays the comparison results of steps S303 and S305 on the screen and notifies the user (step S306). For example, the comparison results in steps S303 and S305 are displayed on the screen in association with each of the modules modA to modD.

なお、このプログラム照合処理では、プログラム編集支援装置2及びPLC1間で、識別データのダウンロードが行われているが、モジュールのアップロード及びダウンロードは行われていない。このため、前回データ記憶部202は更新されない。   In this program collation process, the identification data is downloaded between the program editing support apparatus 2 and the PLC 1, but the module is not uploaded or downloaded. For this reason, the previous data storage unit 202 is not updated.

図9は、プログラム照合部28による比較結果についての説明図である。プログラム照合部28では、プログラム照合処理の結果として、モジュールごとに2つの比較結果が得られる(図8のステップS303及びS305)。従って、これらの比較結果を組み合わせることによって、図示した4通りの照合結果(a)〜(d)が得られる。   FIG. 9 is an explanatory diagram of a comparison result by the program collation unit 28. The program collation unit 28 obtains two comparison results for each module as a result of the program collation process (steps S303 and S305 in FIG. 8). Accordingly, by combining these comparison results, the four matching results (a) to (d) shown in the figure are obtained.

照合結果(a)は、注目しているモジュールmodAに関する識別データの比較結果として、ステップS303及びS305のいずれにおいても一致するという結果が出た場合である。つまり、モジュールmodAの識別データとして、プログラム記憶部201、前回データ記憶部202及びプログラム記憶部14のいずれにも同じデータが保持されていた場合である。この場合、モジュールmodAに関する最後のアクセス(アップロード又はダウンロード)後に、PLC1内のモジュールmodAは他人によって更新されておらず、また、当該プログラム編集支援装置2内のモジュールmodAも編集されていないことがわかる。   The collation result (a) is a case where a result of matching in both steps S303 and S305 is obtained as a comparison result of the identification data regarding the module modA of interest. That is, the same data is held in any of the program storage unit 201, the previous data storage unit 202, and the program storage unit 14 as identification data of the module modA. In this case, after the last access (upload or download) related to the module modA, it is understood that the module modA in the PLC 1 has not been updated by another person, and the module modA in the program editing support apparatus 2 has not been edited. .

照合結果(b)は、注目しているモジュールmodAに関する識別データの比較結果として、ステップS303では一致するという結果が出る一方、ステップS305では一致しないという結果が出た場合である。この場合、モジュールmodAに関する最後のアクセス(アップロード又はダウンロード)後に、PLC1内のモジュールmodAは他人によって更新されていないが、当該プログラム編集支援装置2内のモジュールmodAは編集されていることがわかる。   The collation result (b) is a case where, as the comparison result of the identification data regarding the module modA of interest, a result of matching is obtained in step S303, but a result of not matching is obtained in step S305. In this case, after the last access (upload or download) related to the module modA, the module modA in the PLC 1 has not been updated by another person, but it can be seen that the module modA in the program editing support apparatus 2 has been edited.

照合結果(c)は、注目しているモジュールmodAに関する識別データの比較結果として、ステップS303では一致しないという結果が出る一方、ステップS305では一致するという結果が出た場合である。この場合、モジュールmodAに関する最後のアクセス(アップロード又はダウンロード)後に、PLC1内のモジュールmodAが他人によって更新されているが、当該プログラム編集支援装置2内のモジュールmodAは編集されていないことがわかる。   The collation result (c) is a case where, as a comparison result of identification data regarding the module modA of interest, a result that does not match is obtained in step S303, but a result that matches is obtained in step S305. In this case, after the last access (upload or download) related to the module modA, the module modA in the PLC 1 has been updated by another person, but the module modA in the program editing support apparatus 2 has not been edited.

照合結果(d)は、注目しているモジュールmodAに関する識別データの比較結果として、ステップS303及びS305のいずれにおいても一致しないという結果が出た場合である。この場合、モジュールmodAに関する最後のアクセス(アップロード又はダウンロード)後に、PLC1内のモジュールmodAが他人によって更新されており、当該プログラム編集支援装置2内のモジュールmodAも編集されていることがわかる。   The collation result (d) is a case in which a result indicating that there is no coincidence in either step S303 or S305 is obtained as a comparison result of the identification data regarding the module modA of interest. In this case, after the last access (upload or download) related to the module modA, it can be seen that the module modA in the PLC 1 has been updated by another person and the module modA in the program editing support apparatus 2 has been edited.

図10は、照合結果出力部29によって表示されるPLC照合/同期画面6の一例を示した図である。ユーザは、いずれかのプロジェクトを指定した後に、PLC照合/同期画面6を表示させることができる。このPLC照合/同期画面6上には、照合ボタン61、PLC書込ボタン62、PLC読出ボタン63及び照合結果表示エリア64が設けられている。これらのボタン61〜63は、マウスなどのポインティング入力手段を用いて操作することができ、ユーザは、プログラム照合処理、アップロード処理又はダウンロード処理を指示することができる。   FIG. 10 is a diagram showing an example of the PLC collation / synchronization screen 6 displayed by the collation result output unit 29. The user can display the PLC verification / synchronization screen 6 after designating any project. On the PLC verification / synchronization screen 6, a verification button 61, a PLC write button 62, a PLC read button 63, and a verification result display area 64 are provided. These buttons 61 to 63 can be operated using a pointing input unit such as a mouse, and the user can instruct a program collation process, an upload process, or a download process.

ユーザが照合ボタン61を操作すれば、図8に示したプログラム照合処理が実行され、その照合結果が照合結果表示エリア64に表示される。図示した照合結果表示エリア64内には、指定されたプロジェクトに属するモジュールA〜Dが異なる行にそれぞれ表示される例が示されている。   When the user operates the collation button 61, the program collation process shown in FIG. 8 is executed, and the collation result is displayed in the collation result display area 64. In the illustrated collation result display area 64, an example is shown in which the modules A to D belonging to the designated project are displayed on different lines.

各行の左側のエリアは、当該プログラム編集支援装置2のプログラム記憶部201内に保持されているモジュール名と、その更新時刻データが表示されるエディタ表示欄641である。同様にして、各行の右側のエリアは、PLC1のプログラム記憶部14内に保持されているモジュール名と、その更新時刻データが表示されるPLC表示欄643である。   The area on the left side of each row is an editor display column 641 in which the module name held in the program storage unit 201 of the program editing support apparatus 2 and its update time data are displayed. Similarly, the area on the right side of each row is a PLC display column 643 in which the module name held in the program storage unit 14 of the PLC 1 and its update time data are displayed.

各行の中央のエリアは、プログラム照合部28による照合結果を文字で表示する照合結果表示欄642である。ステップS303及びS305による照合結果が、ともに一致であったモジュールについては、照合結果表示欄642に「OK」が表示される。一方、いずれかが不一致であったモジュールについては、照合結果表示欄642には何も表示されず、エディタ表示欄641又はPLC表示欄643内の当該モジュールがハイライト(強調)表示される。つまり、ステップS303で不一致であった場合には、PLC表示欄643内の当該モジュールがハイライト表示66となり、ステップS305で不一致であった場合には、エディタ表示欄641内の当該モジュールがハイライト表示66となる。この様にして、ステップS303及びS305の比較結果をモジュールごとに対応づけて表示している。   The center area of each line is a collation result display column 642 for displaying collation results by the program collation unit 28 in characters. “OK” is displayed in the collation result display field 642 for modules whose collation results in steps S303 and S305 are identical. On the other hand, for any module that does not match, nothing is displayed in the collation result display field 642, and the module in the editor display field 641 or the PLC display field 643 is highlighted (highlighted). That is, if there is a mismatch in step S303, the module in the PLC display field 643 is highlighted 66, and if there is a mismatch in step S305, the module in the editor display field 641 is highlighted. The display 66 is displayed. In this way, the comparison results of steps S303 and S305 are displayed in association with each module.

チェックボックス65は、アップロード又はダウンロードの対象となるモジュールをユーザが指定するためのチェックボックスであり、各行の左端に設けられている。ユーザは、このチェックボックス65をクリック操作し、アップロード又はダウンロードするモジュールを選択する。   The check box 65 is a check box for the user to specify a module to be uploaded or downloaded, and is provided at the left end of each row. The user clicks the check box 65 to select a module to be uploaded or downloaded.

PLC書込ボタン62は、PLC1へのアップロードを指示するための操作ボタンである。ユーザがPLC書込ボタン62を操作すれば、図6に示したアップロード処理が実行される。アップロードされるモジュールは、チェックボックス65のユーザ操作によって選択されたモジュールである。   The PLC write button 62 is an operation button for instructing uploading to the PLC 1. When the user operates the PLC write button 62, the upload process shown in FIG. 6 is executed. The uploaded module is a module selected by the user operation of the check box 65.

PLC読出ボタン63は、PLC1からのダウンロードを指示するための操作ボタンである。ユーザがPLC読出ボタン63を操作すれば、図7に示したダウンロード処理が実行される。ダウンロードされるモジュールは、チェックボックス65のユーザ操作によって選択されたモジュールである。   The PLC read button 63 is an operation button for instructing download from the PLC 1. If the user operates the PLC read button 63, the download process shown in FIG. 7 is executed. The downloaded module is a module selected by the user operation of the check box 65.

図10に示された各モジュールA〜Dの照合結果の例について説明する。プログラム編集支援装置2内のモジュールAは編集済みであるが、この編集はPLC1内のモジュールAには反映されておらず、モジュールAをPLC1へアップロードしておく必要があることがわかる。また、PLC1内のモジュールAは他人によって更新されておらず、上記アップロードは安全に行うことができる。   An example of the matching result of each module A to D shown in FIG. 10 will be described. Although the module A in the program editing support apparatus 2 has been edited, it is understood that this editing is not reflected in the module A in the PLC 1 and the module A needs to be uploaded to the PLC 1. Further, the module A in the PLC 1 is not updated by another person, and the upload can be performed safely.

プログラム編集支援装置2内のモジュールBは編集されていないが、PLC1内のモジュールBは、他のプログラム編集支援装置2によって更新されている。このため、シミュレーションを正しく行うためには、モジュールBをPLC1からダウンロードしておく必要があることがわかる。   Although the module B in the program editing support apparatus 2 is not edited, the module B in the PLC 1 is updated by another program editing support apparatus 2. For this reason, in order to perform a simulation correctly, it turns out that the module B needs to be downloaded from PLC1.

モジュールCについては「OK」が表示されており、プログラム編集支援装置2内及びPLC1内のモジュールが一致していることが示されている。この場合、モジュールCについてはアップロード及びダウンロードのいずれも行う必要がないことがわかる。   “OK” is displayed for the module C, indicating that the modules in the program editing support apparatus 2 and the PLC 1 match. In this case, it is understood that neither upload nor download is required for the module C.

プログラム編集支援装置2内のモジュールDは編集済みであるが、この編集はPLC1内のモジュールDには反映されていない。一方、PLC1内のモジュールDは他のプログラム編集支援装置2によって先に更新されている。この場合、モジュールDのPLC1へのアップロードは、他人が先に更新したPLC1内のモジュールDを上書きすることになるため、慎重に行わなければならないことがわかる。   Although the module D in the program editing support apparatus 2 has been edited, this editing is not reflected in the module D in the PLC 1. On the other hand, the module D in the PLC 1 has been updated by another program editing support apparatus 2 first. In this case, uploading of the module D to the PLC 1 is overwritten with the module D in the PLC 1 previously updated by another person.

本実施の形態によれば、プログラム照合処理によって、プログラム5の最後のアップロード又はダウンロード後に、プログラム編集支援装置2内の当該プログラムが編集されたか否かを判別することができる。また、プログラム5の最後のアップロード又はダウンロード後に、PLC1内の当該プログラムが更新されたか否かを判別することができる。従って、PLC1用のプログラム5を複数の設計者が共同で開発している場合に、自分自身によるプログラム5の変更と、他人によるプログラム5の変更とを区別して適切なバージョン管理を行うことができ、開発効率を向上させることができる。   According to the present embodiment, it is possible to determine whether or not the program in the program editing support apparatus 2 has been edited after the last upload or download of the program 5 by the program verification process. Further, it is possible to determine whether or not the program in the PLC 1 has been updated after the last upload or download of the program 5. Accordingly, when a plurality of designers jointly develop the program 5 for the PLC 1, it is possible to perform appropriate version management by distinguishing between the change of the program 5 by oneself and the change of the program 5 by another person. Development efficiency can be improved.

実施の形態2.
実施の形態1では、プログラム照合処理を行って照合結果を表示するプログラム編集支援装置2の例について説明した。これに対し、実施の形態2では、プログラム5のアップロード時に、プログラム照合結果に基づいて警告表示を行うプログラム編集支援装置2の動作について説明する。なお、本実施の形態では、実施の形態1との相違点を中心に説明し、その他の点については実施の形態1及び2と同様であるものとする。
Embodiment 2. FIG.
In the first embodiment, the example of the program editing support apparatus 2 that performs the program collation process and displays the collation result has been described. On the other hand, in the second embodiment, the operation of the program editing support apparatus 2 that displays a warning based on the program collation result when the program 5 is uploaded will be described. In this embodiment, differences from the first embodiment will be mainly described, and the other points are the same as those in the first and second embodiments.

図11のステップS401〜S409は、本発明の実施の形態2によるプログラム編集支援装置2の動作の一例を示したフローチャートであり、モジュールのアップロード処理の例が示されている。このアップロード処理は、図10のPLC照合/同期画面6において、いずれかのモジュールが選択された後にPLC書込ボタン62が操作された場合に実行される。なお、2以上のモジュールが選択されている場合には、各モジュールごとに実行される。   Steps S401 to S409 in FIG. 11 are flowcharts showing an example of the operation of the program editing support apparatus 2 according to the second embodiment of the present invention, and show an example of module upload processing. This upload process is executed when the PLC writing button 62 is operated after any module is selected on the PLC verification / synchronization screen 6 of FIG. When two or more modules are selected, the process is executed for each module.

ステップS401〜S403では、アップロード対象に指定されたモジュールについて、図8のプログラム照合処理の一部(S301〜S303)と同様の処理が行われる。すなわち、指定されたモジュールの識別データが、PLC1からダウンロードされるとともに(ステップS401)、これに対応する識別データが、前回データ記憶部202から読み出され(ステップS401)、これらの識別データが比較される(ステップS403)。   In steps S401 to S403, processing similar to part of the program collation processing (S301 to S303) in FIG. 8 is performed for the module designated as the upload target. That is, the identification data of the specified module is downloaded from the PLC 1 (step S401), and the corresponding identification data is read from the previous data storage unit 202 (step S401), and these identification data are compared. (Step S403).

この結果、識別データが一致していれば、指定されたモジュールがPLC1へアップロードされる(ステップS407〜S409)。このアップロード処理は、図6のアップロード処理(S101〜S103)と同様である。   As a result, if the identification data matches, the designated module is uploaded to the PLC 1 (steps S407 to S409). This upload process is the same as the upload process (S101 to S103) of FIG.

一方、ステップS403における比較の結果、識別データが一致していなかった場合には、画面上に警告メッセージが表示される(ステップS404,S405)。例えば「他人による更新済みモジュールに上書きしますか?」と表示され、安全なアップロードではないことをユーザに知らせて特段の注意を払うように促す。その後に、ユーザが、アップロードを了承する操作を行えば、アップロード処理(ステップS407〜S409)が行われ、アップロードを中止する操作を行えば、アップロード処理は行われない。   On the other hand, if the identification data does not match as a result of the comparison in step S403, a warning message is displayed on the screen (steps S404 and S405). For example, “Do you want to overwrite the module updated by another person?” Is displayed, and informs the user that the upload is not safe and prompts them to pay special attention. Thereafter, if the user performs an operation of approving the upload, the upload process (steps S407 to S409) is performed, and if the user cancels the upload, the upload process is not performed.

図12のステップS401〜S409は、モジュールのアップロード処理の他の例を示したフローチャートである。このフローチャートを図11と比較すれば、ユーザの意思確認のためのステップS406が省略され、ステップS405からステップS407へ遷移することができない点で異なる。つまり、アップロードが安全でない場合には、ユーザの意思にかかわらずアップロード処理が禁止されている。従って、他人が先に更新したPLC1内のモジュールを更新しようとすれば、そのモジュールを一旦ダウンロードしなければならない。   Steps S401 to S409 in FIG. 12 are flowcharts showing other examples of module upload processing. If this flowchart is compared with FIG. 11, step S406 for a user's intention confirmation is abbreviate | omitted, and it is different in the point which cannot change to step S407 from step S405. That is, when the upload is not safe, the upload process is prohibited regardless of the user's intention. Therefore, if a module in PLC 1 that has been previously updated by another person is to be updated, the module must be downloaded once.

本実施の形態によれば、プログラム編集支援装置2からPLC1へプログラム5をアップロードする際、アップロード前にプログラム照合を行って、PLC1内のプログラムが他人によって先に更新されていれば警告表示が行われる。従って、複数の設計者がプログラムを共同開発している場合、PLC1内のプログラムが不用意に上書きされるのを防止することができ、開発効率を向上させることができる。   According to the present embodiment, when the program 5 is uploaded from the program editing support apparatus 2 to the PLC 1, the program is verified before the upload, and a warning is displayed if the program in the PLC 1 has been updated by another person first. Is called. Therefore, when a plurality of designers are jointly developing a program, it is possible to prevent the program in the PLC 1 from being overwritten inadvertently and to improve development efficiency.

実施の形態3.
実施の形態1では、1つのPLC1に対し、複数のプログラム編集支援装置2が接続され、各プログラム編集支援装置2を用いて、同じPLC1のプログラム5を共同で開発するPLCシステムの例について説明した。これに対し、本実施の形態では、複数のプログラム編集支援装置2と、複数のPLC1a〜1cとが互いに接続されたPLCシステムの場合について説明する。なお、本実施の形態では、実施の形態1及び2との相違点を中心に説明し、その他の点については実施の形態1と同様であるものとする。
Embodiment 3 FIG.
In the first embodiment, an example of a PLC system in which a plurality of program editing support devices 2 are connected to one PLC 1 and the program 5 of the same PLC 1 is jointly developed using each program editing support device 2 has been described. . In contrast, in the present embodiment, a description will be given of a PLC system in which a plurality of program editing support apparatuses 2 and a plurality of PLCs 1a to 1c are connected to each other. In this embodiment, differences from Embodiments 1 and 2 will be mainly described, and the other points are the same as those in Embodiment 1.

図13は、本発明の実施の形態3によるPLCシステムの概略構成の一例を示した図である。このPLCシステムは、複数のPLC1a〜1cと、複数のプログラム編集支援装置2a〜2dによって構成される。なお、図1に示された入力装置3及び出力装置4は省略している。   FIG. 13 is a diagram showing an example of a schematic configuration of a PLC system according to the third embodiment of the present invention. This PLC system includes a plurality of PLCs 1a to 1c and a plurality of program editing support devices 2a to 2d. Note that the input device 3 and the output device 4 shown in FIG. 1 are omitted.

各PLC1a〜1cは、いずれも同じプログラム5を内蔵し、同じ制御動作を行っている。また、このプログラム5は、複数のプログラム編集支援装置2a〜2dを用いて、複数の設計者によって共同開発されている。つまり、実施の形態1の場合と同様、プログラム5は複数のモジュールからなり、各モジュールが、プログラム編集支援装置2a〜2dにおいて作成されている。ただし、作成されたモジュールが1つのプログラム編集支援装置から全てのPLC1a〜1cへアップロードされる点において、実施の形態1の場合とは異なっている。   Each of the PLCs 1a to 1c incorporates the same program 5 and performs the same control operation. The program 5 is jointly developed by a plurality of designers using a plurality of program editing support devices 2a to 2d. That is, as in the case of the first embodiment, the program 5 includes a plurality of modules, and each module is created in the program editing support apparatuses 2a to 2d. However, this is different from the case of the first embodiment in that the created module is uploaded from one program editing support apparatus to all the PLCs 1a to 1c.

図14は、本発明の実施の形態3によるプログラム照合処理を簡略化して示した説明図である。この図では、説明の都合上、照合対象となっている1種類のモジュールのみについて識別データが表示されている。プログラム記憶部201及び前回データ記憶部202間における識別データの比較は、図8のステップS302、305及びS306(実施の形態1)と同様である。   FIG. 14 is an explanatory diagram showing a simplified program collation process according to the third embodiment of the present invention. In this figure, for convenience of explanation, identification data is displayed for only one type of module to be verified. Comparison of identification data between the program storage unit 201 and the previous data storage unit 202 is the same as steps S302, 305, and S306 (first embodiment) in FIG.

一方、PLC1a〜1c及び前回データ記憶部202間における識別データの比較は、前回データ記憶部202から読み出された同じ識別データを各PLC1a〜1c内の識別データと順次に比較することによって行われる。つまり、図8のステップS301及びS303が、PLC1a〜1cの数だけ繰り返され、PLC1a〜1cごとの比較結果が得られる。そして、いずれかのPLC1a〜1cとの比較において、不一致という結果が得られた場合には、当該モジュールは、他人によって先に更新されたモジュールであると判断され、図10のPLC表示欄643にハイライト66が表示される。なお、この様な表示に代えて、照合結果として、PLC1a〜1cごとの比較結果をそれぞれ表示してもよい。   On the other hand, comparison of identification data between the PLCs 1a to 1c and the previous data storage unit 202 is performed by sequentially comparing the same identification data read from the previous data storage unit 202 with the identification data in the PLCs 1a to 1c. . That is, steps S301 and S303 in FIG. 8 are repeated by the number of PLCs 1a to 1c, and comparison results for the PLCs 1a to 1c are obtained. Then, in the comparison with any of the PLCs 1a to 1c, if a result of inconsistency is obtained, it is determined that the module is a module that has been previously updated by another person, and the PLC display field 643 in FIG. A highlight 66 is displayed. In addition, it may replace with such a display and may each display the comparison result for every PLC1a-1c as a collation result.

実施の形態4.
実施の形態3では、プログラム編集支援装置2a〜2dが、前回データ記憶部202内に複数のPLC1a〜1cに共通の識別データを保持している例について説明した。これに対し、本実施の形態では、プログラム編集支援装置2が、前回データ記憶部202内に、複数のPLC1a〜1cごとに識別データを保持している場合について説明する。なお、本実施の形態では、実施の形態1〜3との相違点を中心に説明し、その他の点については実施の形態1〜3と同様であるものとする。
Embodiment 4 FIG.
In the third embodiment, the example in which the program editing support devices 2a to 2d hold identification data common to the plurality of PLCs 1a to 1c in the previous data storage unit 202 has been described. In contrast, in the present embodiment, a case where the program editing support apparatus 2 holds identification data for each of the plurality of PLCs 1a to 1c in the previous data storage unit 202 will be described. In the present embodiment, differences from the first to third embodiments will be mainly described, and the other points are the same as those of the first to third embodiments.

図15は、本発明の実施の形態4によるプログラム照合処理を簡略化して示した説明図である。この図では、説明の都合上、照合対象となっている1種類のモジュールのみについて識別データが表示されいている。   FIG. 15 is an explanatory diagram showing a simplified program verification process according to the fourth embodiment of the present invention. In this figure, for convenience of explanation, identification data is displayed for only one type of module to be verified.

前回データ記憶部202内には、同じモジュールについて、各PLC1a〜1cごとの識別データが記憶されている。これらの識別データは、それぞれが対応するPLC1a〜1cへの最後のアップロード又はダウンロード時に更新されている。従って、同じモジュールの識別データであっても、各PLC1a〜1c内に保持されている当該モジュールのバージョンが異なっていれば、異なる識別データとなる。   In the previous data storage unit 202, identification data for each of the PLCs 1a to 1c is stored for the same module. These pieces of identification data are updated at the time of the last upload or download to the corresponding PLC 1a to 1c. Therefore, even if the identification data of the same module is used, the identification data is different if the versions of the modules held in the PLCs 1a to 1c are different.

プログラム記憶部201及び前回データ記憶部202間における識別データの比較は、プログラム記憶部201から読み出された同じ識別データを前回データ記憶部202から読み出されたPLC1a〜1cごとの識別データと順次に比較することによって行われる。つまり、図8のステップS302及びS305が、PLC1a〜1cの数だけ繰り返され、PLC1a〜1cごとの比較結果が得られる。そして、いずれかの比較において、不一致という結果が得られた場合には、当該モジュールは、いずれかのPLC1a〜1cとの関係において、アップロード後に編集されたモジュールであると判断され、図10のエディタ表示欄641にハイライト66が表示される。なお、この様な表示に代えて、照合結果として、PLC1a〜1cごとの比較結果をそれぞれ表示してもよい。   The comparison of identification data between the program storage unit 201 and the previous data storage unit 202 is performed by sequentially comparing the same identification data read from the program storage unit 201 with the identification data for each of the PLCs 1a to 1c read from the previous data storage unit 202. Done by comparing to. That is, steps S302 and S305 in FIG. 8 are repeated by the number of PLCs 1a to 1c, and comparison results for the PLCs 1a to 1c are obtained. If any of the comparison results in a mismatch, the module is determined to be a module edited after uploading in relation to any of the PLCs 1a to 1c, and the editor shown in FIG. A highlight 66 is displayed in the display field 641. In addition, it may replace with such a display and may each display the comparison result for every PLC1a-1c as a collation result.

一方、PLC1a〜1c及び前回データ記憶部202間における識別データの比較は、各PLC1a〜1cからダウンロードされた識別データが、当該PLC1a〜1cに対応づけられた前回データ記憶部202内の識別データと順次に比較することによって行われる。つまり、図8のステップS301〜S303が、PLC1a〜1cの数だけ繰り返される。そして、いずれかのPLC1a〜1cとの比較において、不一致という結果が得られた場合には、当該モジュールは、他人によって先に更新されたモジュールであると判断され、図10のPLC表示欄643にハイライト66が表示される。なお、この様な表示に代えて、照合結果として、PLC1a〜1cごとの比較結果をそれぞれ表示してもよい。   On the other hand, comparison of identification data between the PLCs 1a to 1c and the previous data storage unit 202 is performed by comparing the identification data downloaded from the PLCs 1a to 1c with the identification data in the previous data storage unit 202 associated with the PLCs 1a to 1c. This is done by comparing sequentially. That is, steps S301 to S303 in FIG. 8 are repeated by the number of PLCs 1a to 1c. Then, in the comparison with any of the PLCs 1a to 1c, if a result of inconsistency is obtained, it is determined that the module is a module that has been previously updated by another person, and the PLC display field 643 in FIG. A highlight 66 is displayed. In addition, it may replace with such a display and may each display the comparison result for every PLC1a-1c as a collation result.

なお、上記の各実施の形態では、主として、プログラム5が複数のモジュールにより構成される場合の例について説明したが、本発明は、このような場合には限定されない。すなわち、モジュールに分割されていないプログラム5(1つのモジュールで構成されるプログラム)についても本発明を適用することができる。   In each of the above embodiments, an example in which the program 5 is mainly configured by a plurality of modules has been described, but the present invention is not limited to such a case. That is, the present invention can be applied to a program 5 (a program composed of one module) that is not divided into modules.

また、上記の各実施の形態では、プログラム編集支援装置2及びPLC1内において、識別データがモジュール内に格納されている場合の例について説明したが、本発明は、このような場合には限定されない。すなわち、モジュールと、その識別データとが対応づけて保持されていればよく、識別データがモジュール内に格納されている必要は必ずしもない。   In each of the above-described embodiments, an example in which identification data is stored in a module in the program editing support apparatus 2 and the PLC 1 has been described. However, the present invention is not limited to such a case. . In other words, the module and its identification data need only be held in association with each other, and the identification data need not necessarily be stored in the module.

本発明の実施の形態1によるPLCシステムの概略構成の一例を示した図である。It is the figure which showed an example of schematic structure of the PLC system by Embodiment 1 of this invention. PLC用プログラム5の概略について説明するための図である。It is a figure for demonstrating the outline of the program 5 for PLC. 図1のプログラム編集支援装置2の一構成例を示したブロック図である。FIG. 2 is a block diagram showing a configuration example of a program editing support device 2 in FIG. 1. 図1のPLC1の一構成例を示したブロック図である。It is the block diagram which showed one structural example of PLC1 of FIG. 本発明の実施の形態1によるプログラム照合処理を簡略化して示した説明図である。It is explanatory drawing which simplified and showed the program collation process by Embodiment 1 of this invention. モジュールのアップロード時におけるデータ出力部25の動作を示したフローチャートである。It is the flowchart which showed the operation | movement of the data output part 25 at the time of module upload. モジュールのダウンロード時におけるデータ入力部26の動作を示したフローチャートである。It is the flowchart which showed the operation | movement of the data input part 26 at the time of module download. プログラム照合処理を示したフローチャートである。It is the flowchart which showed the program collation process. プログラム照合部28による比較結果についての説明図である。It is explanatory drawing about the comparison result by the program collation part. 照合結果出力部29によって表示されるPLC照合/同期画面6の一例を示した図である。It is the figure which showed an example of the PLC collation / synchronization screen 6 displayed by the collation result output part 29. FIG. モジュールのアップロード処理の一例をを示したフローチャートである(実施の形態2)。10 is a flowchart illustrating an example of module upload processing (second embodiment). モジュールのアップロード処理の他の例を示したフローチャートである。It is the flowchart which showed the other example of the upload process of a module. 本発明の実施の形態3によるPLCシステムの概略構成の一例を示した図である。It is the figure which showed an example of schematic structure of the PLC system by Embodiment 3 of this invention. プログラム照合処理を簡略化して示した説明図である。It is explanatory drawing which simplified and showed the program collation process. プログラム照合処理を簡略化して示した説明図である(実施の形態4)。It is explanatory drawing which simplified and showed the program collation process (Embodiment 4).

符号の説明Explanation of symbols

idA〜idD 識別データ
modA〜modD モジュール
Pj1〜Pj3 プロジェクト
1,1a〜1c PLC
11 通信I/F部
12 データ入力部
13 データ出力部
14 プログラム記憶部
15 プログラム実行部
2,2a〜2d プログラム編集支援装置
201 プログラム記憶部
202 前回データ記憶部
21 プログラム編集部
22 識別データ生成部
23 シミュレーション部
24 コンパイル部
25 データ出力部
26 データ入力部
27 通信I/F部
28 プログラム照合部
29 照合結果出力部
5 プログラム
6 PLC照合/同期画面
61 照合ボタン
62 書込ボタン
63 読出ボタン
64 照合結果表示エリア
641 エディタ表示欄
642 照合結果表示欄
643 PLC表示欄
65 チェックボックス
66 ハイライト表示
idA-idD Identification data modA-modD Module Pj1-Pj3 Project 1, 1a-1c PLC
DESCRIPTION OF SYMBOLS 11 Communication I / F part 12 Data input part 13 Data output part 14 Program storage part 15 Program execution part 2, 2a-2d Program edit support apparatus 201 Program storage part 202 Previous data storage part 21 Program edit part 22 Identification data generation part 23 Simulation unit 24 Compile unit 25 Data output unit 26 Data input unit 27 Communication I / F unit 28 Program verification unit 29 Verification result output unit 5 Program 6 PLC verification / synchronization screen 61 Verification button 62 Write button 63 Read button 64 Verification result display Area 641 Editor display field 642 Verification result display field 643 PLC display field 65 Check box 66 Highlight display

Claims (10)

プログラマブルコントローラ用のプログラムを編集するためのプログラム編集支援装置であって、
ユーザ操作に基づいて、プログラムを編集するプログラム編集手段と、
上記プログラム編集手段によりプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成手段と、
上記プログラム編集手段により編集されたプログラムと上記識別データ生成手段により生成された識別データとを関連付けて格納するプログラム記憶手段と、
ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込手段と、
上記PLCデータ書込手段によるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを保持する識別データ記憶手段と、
ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得手段と、
上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較手段と、
上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較手段と、
上記第1比較手段の比較結果と、上記第2比較手段の比較結果とを表示する表示手段とを備え
ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納することを特徴とするプログラム編集支援装置。
A program editing support device for editing a program for a programmable controller ,
Based on a user's operation, and program editing means for editing the program,
If the descriptor program has been edited by the above program editing means, the identification data generating means for generating a unique identification data to the editing,
Program storage means for storing the program edited by the program editing means and the identification data generated by the identification data generating means in association with each other;
PLC data writing means for reading out the instructed program and the identification data stored in association with the program from the program storage means based on the user's program writing instruction ;
Depending on the writing program and the identification data to the programmable controller by the PLC data writing means, the identification data storage means that holds the identification data that is written to the programmable controller,
PLC data acquisition means for acquiring identification data written in association with the instructed program from the programmable controller based on a user program verification instruction ;
The identification data obtained from the programmable controller, a first comparator means for comparing the identification data said identification data storage means for holding,
Second comparison means for comparing the identification data stored in the program storage means with the identification data held by the identification data storage means;
Display means for displaying the comparison result of the first comparison means and the comparison result of the second comparison means ;
Based on a user's program read instruction, the PLC data acquisition means acquires the instructed program and identification data from the programmable controller, and the program storage means associates and stores the instructed program and identification data. A program editing support device.
上記ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納する場合に、上記識別データ記憶手段は、上記プログラマブルコントローラから取得した上記識別データを格納することを特徴とする請求項1に記載のプログラム編集支援装置。 Based on the user's program read instruction, the PLC data acquisition means acquires the instructed program and identification data from the programmable controller, and the program storage means associates the instructed program and identification data. 2. The program editing support apparatus according to claim 1, wherein, when storing, the identification data storage unit stores the identification data acquired from the programmable controller . 3. 上記PLCデータ取得手段は、ユーザが上記プログラム記憶手段に保持されているプログラムの上記プログラマブルコントローラへの書き込みを指示した場合に、当該プログラマブルコントローラから識別データを取得し、
上記表示手段は、上記第1比較手段の比較結果に基づいて、上記プログラムの上記プログラマブルコントローラへの書き込み前に警告表示を行うことを特徴とする請求項1又は2に記載のプログラム編集支援装置。
The PLC data acquisition means acquires identification data from the programmable controller when the user instructs writing of the program held in the program storage means to the programmable controller,
3. The program editing support apparatus according to claim 1, wherein the display unit displays a warning before writing the program into the programmable controller based on a comparison result of the first comparison unit.
記表示手段は、上記第1比較手段の比較結果として、識別データが一致しているか否かを表示し、上記第2比較手段の比較結果として、識別データが一致しているか否かを表示することを特徴とする請求項1又は2に記載のプログラム編集支援装置。 Upper Symbol display means, as the comparison result of said first comparing means to display whether the identification data matches, the comparison result of the second comparing means, indicating whether the identification data match program editing support device according to claim 1 or 2, characterized in that. 上記プログラムは、2以上のモジュールからなり、
上記プログラム編集手段は、上記モジュールを編集することができ、
上記識別データ生成手段は、上記モジュールが編集された場合に、当該編集に固有の識別データを生成し、
上記PLCデータ書込手段は、上記モジュール及び上記識別データを上記プログラマブルコントローラへ書き込み、
上記第1比較手段は、同一のモジュールについて、上記プログラマブルコントローラから読み出された識別データと上記識別データ記憶手段が保持する識別データと比較し、
上記第2比較手段は、同一のモジュールについて、上記プログラム記憶手段に格納された識別データと上記識別データ記憶手段が保持する識別データを比較することを特徴とする請求項1又は2に記載のプログラム編集支援装置。
The above program consists of two or more modules.
The program editing means can edit the module,
The identification data generation means generates identification data unique to the editing when the module is edited,
The PLC data writing means writes the module and the identification data to the programmable controller,
Said first comparing means, for the same module, it compares the identification data said identification data read out from the programmable controller and the identification data storage means for holding,
Said second comparing means, for the same module, according to claim 1 or 2, characterized in comparing the identification data said program storage means is stored in the identification data and the identification data storage means for holding Program editing support device.
上記表示手段は、同一のモジュールに関する上記第1比較手段の比較結果と上記第2比較手段の比較結果を互いに対応づけ、かつ、同時に閲覧可能となるように表示することを特徴とする請求項5に記載のプログラム編集支援装置。 Claim the display means are mutually associating a comparison result of the comparison result and the second comparison means of said first comparing means for the same module, and, and displaying such simultaneously becomes viewable 5. The program editing support apparatus according to 5. 上記プログラム記憶手段に保持されているプログラムを複製するプログラム複製手段を備え、
上記プログラム複製手段は、プログラムを複製する際、上記プログラム記憶手段に当該プログラムに関連付けて格納された識別データも複製することを特徴とする請求項1又は2に記載のプログラム編集支援装置。
A program duplicating unit for duplicating the program held in the program storing unit;
3. The program editing support apparatus according to claim 1 , wherein the program duplicating unit also duplicates identification data stored in association with the program in the program storage unit when duplicating the program.
コンピュータをプログラム編集支援装置として機能させるためのコンピュータプログラムであって、
ーザ操作に基づいて、プログラムを編集するプログラム編集手段と、
上記プログラム編集手段によりプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成手段と、
上記プログラム編集手段により編集されたプログラムと上記識別データ生成手段により生成された識別データとを関連付けて格納するプログラム記憶手段と、
ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込手段と、
上記PLCデータ書込手段によるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを保持する識別データ記憶手段と、
ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得手段と、
上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較手段と
上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較手段と、
上記第1比較手段の比較結果と、上記第2比較手段の比較結果とを表示する表示手段とを備え、ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納するプログラム編集支援装置としてコンピュータを機能させることを特徴とするコンピュータプログラム。
A computer program for causing a computer to function as a program editing support device,
Based on the Yu over The operation, and program editing means for editing the program,
If the descriptor program has been edited by the above program editing means, the identification data generating means for generating a unique identification data to the editing,
Program storage means for storing the program edited by the program editing means and the identification data generated by the identification data generating means in association with each other;
PLC data writing means for reading out the instructed program and the identification data stored in association with the program from the program storage means based on the user's program writing instruction ;
Depending on the writing program and the identification data to the programmable controller by the PLC data writing means, and the identification data storage means for holding identification data is Ru written to the programmable controller,
PLC data acquisition means for acquiring identification data written in association with the instructed program from the programmable controller based on a user program verification instruction ;
The identification data obtained from the programmable controller, a first comparator means for comparing the identification data said identification data storage means for holding,
Second comparison means for comparing the identification data stored in the program storage means with the identification data held by the identification data storage means;
Display means for displaying a comparison result of the first comparison means and a comparison result of the second comparison means, and the PLC data acquisition means receives the instruction from the programmable controller based on a user program read instruction. A computer program for acquiring a program and identification data, and causing the program storage means to function as a program editing support apparatus that stores the instructed program and identification data in association with each other .
ユーザ操作に基づいて、プログラムを編集するプログラム編集ステップと、
上記プログラム編集ステップにおいてプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成ステップと、
上記プログラム編集ステップにおいて編集されたプログラムと上記識別データ生成ステップにおいて生成された識別データとを関連付けてプログラム記憶手段に格納するプログラム格納ステップと、
ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込ステップと、
上記PLCデータ書込ステップにおけるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを識別データ記憶手段に格納する識別データ格納ステップと、
ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得ステップと、
上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較ステップと、
上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較ステップと、
上記第1比較ステップの比較結果と、上記第2比較ステップの比較結果とを表示する表示ステップとを備え、
ユーザのプログラム読出指示に基づいて、上記PLCデータ取得ステップが、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム格納ステップが、当該指示されたプログラム及び識別データを関連付けて上記プログラム記憶手段に格納することを特徴とするプログラム編集支援方法。
Based on a user's operation, and program editing step to edit the program,
If the program is edited in the program editing step, an identification data generation step of generating unique identification data to the editing,
A program storage step of associating the program edited in the program editing step with the identification data generated in the identification data generation step and storing it in the program storage means;
A PLC data writing step of reading out the instructed program from the program storage means and the identification data stored in association with the program based on the user's program writing instruction, and writing it into the programmable controller;
Depending on the writing program and the identification data to the programmable controller in the PLC data writing step, and the identification data storing step of storing the identification data storage means identification data that is written to the programmable controller,
PLC data acquisition step of acquiring identification data written in association with the instructed program from the programmable controller based on a user program verification instruction ;
The identification data obtained from the programmable controller, a first comparing step of comparing the identification data said identification data storage means for holding,
A second comparison step for comparing the identification data stored in the program storage means with the identification data held by the identification data storage means;
A display step for displaying the comparison result of the first comparison step and the comparison result of the second comparison step;
Based on the user's program read instruction, the PLC data acquisition step acquires the instructed program and identification data from the programmable controller, and the program storage step associates the instructed program and identification data with the instruction. A program editing support method , comprising: storing in a program storage means .
プログラマブルコントローラ及び複数のプログラム編集支援装置からなるPLCシステムであって、
上記プログラマブルコントローラが、プログラム及び識別データを保持する記憶手段を備え、
上記プログラム編集支援装置が、
ーザ操作に基づいて、プログラムを編集するプログラム編集手段と、
上記プログラム編集手段によりプログラムが編集された場合に、当該編集に固有の識別データを生成する識別データ生成手段と、
上記プログラム編集手段により編集されたプログラムと上記識別データ生成手段により生成された識別データとを関連付けて格納するプログラム記憶手段と、
ユーザのプログラム書込指示に基づいて、上記プログラム記憶手段から当該指示されたプログラムと、当該プログラムに関連付けて格納された識別データとを読み出し、プログラマブルコントローラへ書き込むPLCデータ書込手段と、
上記PLCデータ書込手段によるプログラマブルコントローラへのプログラム及び識別データの書込に応じて、上記プログラマブルコントローラへ書き込まれる識別データを保持する識別データ記憶手段と、
ユーザのプログラム照合指示に基づいて、上記プログラマブルコントローラから当該指示されたプログラムに関連付けて書き込まれた識別データを取得するPLCデータ取得手段と、
上記プログラマブルコントローラから取得した識別データと、上記識別データ記憶手段が保持する識別データと比較する第1比較手段と、
上記プログラム記憶手段に格納された識別データと、上記識別データ記憶手段が保持する識別データとを比較する第2比較手段と、
上記第1比較手段の比較結果と、上記第2比較手段の比較結果とを表示する表示手段とを備え
ユーザのプログラム読出指示に基づいて、上記PLCデータ取得手段が、上記プログラマブルコントローラから当該指示されたプログラム及び識別データを取得し、上記プログラム記憶手段が、当該指示されたプログラム及び識別データを関連付けて格納することを特徴とするPLCシステム。
A PLC system comprising a programmable controller and a plurality of program editing support devices,
The programmable controller comprises storage means for holding a program and identification data,
The program editing support device is
Based on the Yu over The operation, and program editing means for editing the program,
If the descriptor program has been edited by the above program editing means, the identification data generating means for generating a unique identification data to the editing,
Program storage means for storing the program edited by the program editing means and the identification data generated by the identification data generating means in association with each other;
PLC data writing means for reading out the instructed program and the identification data stored in association with the program from the program storage means based on the user's program writing instruction ;
Depending on the writing program and the identification data to the programmable controller by the PLC data writing means, the identification data storage means that holds the identification data that is written to the programmable controller,
PLC data acquisition means for acquiring identification data written in association with the instructed program from the programmable controller based on a user program verification instruction ;
The identification data obtained from the programmable controller, a first comparator means for comparing the identification data said identification data storage means for holding,
Second comparison means for comparing the identification data stored in the program storage means with the identification data held by the identification data storage means;
Display means for displaying the comparison result of the first comparison means and the comparison result of the second comparison means ;
Based on a user's program read instruction, the PLC data acquisition means acquires the instructed program and identification data from the programmable controller, and the program storage means associates and stores the instructed program and identification data. A PLC system characterized by:
JP2007128550A 2007-05-14 2007-05-14 Program editing support apparatus, computer program, program editing support method, and PLC system Active JP4865634B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007128550A JP4865634B2 (en) 2007-05-14 2007-05-14 Program editing support apparatus, computer program, program editing support method, and PLC system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007128550A JP4865634B2 (en) 2007-05-14 2007-05-14 Program editing support apparatus, computer program, program editing support method, and PLC system

Publications (2)

Publication Number Publication Date
JP2008282362A JP2008282362A (en) 2008-11-20
JP4865634B2 true JP4865634B2 (en) 2012-02-01

Family

ID=40143099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007128550A Active JP4865634B2 (en) 2007-05-14 2007-05-14 Program editing support apparatus, computer program, program editing support method, and PLC system

Country Status (1)

Country Link
JP (1) JP4865634B2 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208324A1 (en) * 2010-02-25 2011-08-25 Mitsubishi Electric Corporation Sysyem, method, and apparatus for maintenance of sensor and control systems
KR101486128B1 (en) * 2010-04-14 2015-01-23 미쓰비시덴키 가부시키가이샤 Security method for engineering tools and industrial products, and security system
CN102236333B (en) * 2010-04-30 2015-04-15 深圳市合信自动化技术有限公司 Programmable logic controller program uploading device and method
WO2012017522A1 (en) * 2010-08-03 2012-02-09 富士通株式会社 Verification program and verification device
JP5957936B2 (en) * 2012-02-15 2016-07-27 富士電機株式会社 Programmable controller system, its support device, program
JP2014127055A (en) * 2012-12-27 2014-07-07 Jtekt Corp Peripheral device of plc
JP6299095B2 (en) * 2013-07-09 2018-03-28 富士電機株式会社 Shared data definition support system, its master device, local terminal, program
JP6205934B2 (en) * 2013-07-18 2017-10-04 富士電機株式会社 Programmable controller system, its support device, program
JP6072714B2 (en) * 2014-02-20 2017-02-01 三菱電機株式会社 Program verification device
US10162328B2 (en) 2014-03-14 2018-12-25 Omron Corporation Controller and control system
JP6455096B2 (en) * 2014-11-25 2019-01-23 富士電機株式会社 Control system, its support device, programmable control device
JP6454530B2 (en) * 2014-12-09 2019-01-16 株式会社キーエンス Monitoring system, area monitoring sensor and setting data creation device
JP6401657B2 (en) * 2015-04-28 2018-10-10 株式会社日立製作所 Process control system, maintenance support device and controller
JP6518601B2 (en) * 2016-02-22 2019-05-22 株式会社キーエンス Setting support device for optical safety sensor, setting support program, optical safety system and optical safety sensor
JP6518211B2 (en) * 2016-05-24 2019-05-22 株式会社日立ビルシステム Remote writing system and method for updating program file
GB2558366B (en) 2016-10-24 2022-08-10 Fisher Rosemount Systems Inc Systems and methods for merging modular control systems into a process plant
US11568112B2 (en) 2017-03-30 2023-01-31 Mitsubishi Electric Corporation System design support apparatus and system design support method
JP7087299B2 (en) * 2017-08-04 2022-06-21 株式会社明電舎 Programmable controller management system and program
US11209806B2 (en) 2017-09-13 2021-12-28 Fisher-Rosemount Systems, Inc. Assistant application for a modular control system
KR102225850B1 (en) * 2018-05-29 2021-03-11 미쓰비시덴키 가부시키가이샤 Program management system, programming support device, program management method and programming support program
JP7180158B2 (en) * 2018-07-13 2022-11-30 オムロン株式会社 Program development device and controller
JP7227015B2 (en) * 2019-01-24 2023-02-21 ファナック株式会社 LADDER PROGRAM EDITING SYSTEM, SERVER, TERMINAL DEVICE, LADDER PROGRAM EDITING METHOD AND PROGRAM
US10962962B2 (en) 2019-05-20 2021-03-30 Fisher-Rosemount Systems, Inc. Quick connection techniques for skid communicator tool

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08278809A (en) * 1995-04-07 1996-10-22 Toshiba Corp Plant controller
JP2000003270A (en) * 1998-06-12 2000-01-07 Mitsubishi Electric Corp Version managing device and shipping managing device
JP2003208327A (en) * 2002-01-15 2003-07-25 Konica Corp Method, device and program for managing data
JP2005316778A (en) * 2004-04-28 2005-11-10 Toshiba Corp Plant monitoring controller
JP2007079651A (en) * 2005-09-12 2007-03-29 Fuji Electric Fa Components & Systems Co Ltd Programming device for programmable controller

Also Published As

Publication number Publication date
JP2008282362A (en) 2008-11-20

Similar Documents

Publication Publication Date Title
JP4865634B2 (en) Program editing support apparatus, computer program, program editing support method, and PLC system
JP5039428B2 (en) Programmable controller and PLC system
US20180210415A1 (en) Support device, method, and recording medium whereon support program is stored
JP6786984B2 (en) Program processing equipment and programs
CN112711403B (en) Method, device, computer equipment and storage medium for synchronizing game development
JP2008276690A (en) Development system, server for development system, and development method
KR20150119314A (en) System development device, method, and program
EP3220218B1 (en) Program development support device, program development support method, and program development support program
CN117312270A (en) Change management method for automatic construction and deployment of database
JP7067273B2 (en) Support equipment, control systems, and development support programs
JP6541902B1 (en) Program management system, programming support apparatus, program management method, and programming support program
JP6794668B2 (en) Programming device
JP7238678B2 (en) Information processing equipment, support programs and support systems
JP6455096B2 (en) Control system, its support device, programmable control device
JP6287093B2 (en) Software development support apparatus, software development support method and program
JP5481267B2 (en) Control program creation device and control program creation device drive method
JP2015022511A (en) Programmable controller system, and support device and program thereof
CN109019217B (en) Elevator control software field debugging system
JP6566151B2 (en) System design support apparatus and system design support method
EP4261678A1 (en) Generation of a technical instruction
CN112052007A (en) Source code debugging method, device, server and storage medium
JP7447574B2 (en) Support equipment, support programs and support methods
JP2009098963A (en) Automatic module generation system
TWI774469B (en) Management system for program compilation and method for operating the system
JP6355861B1 (en) Program development support apparatus, program development support method, program development support program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4865634

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

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