JP4582399B2 - PLC configuration module save means - Google Patents

PLC configuration module save means Download PDF

Info

Publication number
JP4582399B2
JP4582399B2 JP2004290929A JP2004290929A JP4582399B2 JP 4582399 B2 JP4582399 B2 JP 4582399B2 JP 2004290929 A JP2004290929 A JP 2004290929A JP 2004290929 A JP2004290929 A JP 2004290929A JP 4582399 B2 JP4582399 B2 JP 4582399B2
Authority
JP
Japan
Prior art keywords
plc
configuration module
user program
plc configuration
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004290929A
Other languages
Japanese (ja)
Other versions
JP2006106998A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2004290929A priority Critical patent/JP4582399B2/en
Publication of JP2006106998A publication Critical patent/JP2006106998A/en
Application granted granted Critical
Publication of JP4582399B2 publication Critical patent/JP4582399B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、プログラマブル・ロジック・コントローラ(以下はPLCと記す)の構成モジュールからのセーブ手段及び構成モジュールへのロード手段に関する。   The present invention relates to a means for saving from a configuration module of a programmable logic controller (hereinafter referred to as PLC) and a means for loading to the configuration module.

PLCは、製造プラントなどの制御対象システム内にある各種の入力機器及び出力機器と電気的に接続して、シーケンスコントローラとして動作することでファクトリーオートメーション(FA)の中核を担う機能をもつ。   The PLC has a function that plays a central role in factory automation (FA) by electrically connecting to various input devices and output devices in a control target system such as a manufacturing plant and operating as a sequence controller.

すなわち、各種インタフェースモジュール(以下、IOモジュールと記す)を介して入力機器から得たパラメータ情報に基づいて出力機器に対する各種の制御信号を所定タイミングで出力している。この様な制御機能は、PLCのCPUモジュールにロードされているユーザプログラムを繰り返し演算実行することで実現している。   That is, various control signals for the output device are output at a predetermined timing based on parameter information obtained from the input device via various interface modules (hereinafter referred to as IO modules). Such a control function is realized by repeatedly calculating and executing a user program loaded in the CPU module of the PLC.

一般にPLCのスロット内に実装される構成モジュールとして、CPUモジュールの他に、電源モジュール、IOモジュール、高機能IOモジュールなど各種モジュールが制御対象システムの現状に合わせて実装され、スロット背面のバックプレーンに設けたPLCの内部インタフェースバスを介しモジュール相互間を電気的に接続している。   In general, various modules such as a power supply module, IO module, and high-function IO module are mounted according to the current status of the system to be controlled as a component module mounted in the slot of the PLC. The modules are electrically connected to each other via an internal interface bus of the provided PLC.

ところで、産業界の分野で広く用いられる汎用シーケンサとしての側面をもつPLCは、同一構成のモジュール群から構成された場合であってもロードされるユーザプログラムの内容次第で、発揮する性能や機能が全く異なる結果となる。   By the way, a PLC having a side as a general-purpose sequencer widely used in the field of industry has performance and functions to be exerted depending on the contents of a loaded user program even when it is composed of a group of modules having the same configuration. The result is completely different.

特にCPUモジュールは、ユーザプログラムのロードとセーブの機能とを合わせ持ち、CPUモジュールにロードされたユーザプログラムは、PLC全体の構成モジュール群を統括すると共に、シーケンスコントローラとしての機能と性能を決定付ける重要な情報が含まれている。(例えば、特許文献1参照)   In particular, the CPU module has both loading and saving functions of the user program. The user program loaded on the CPU module controls the configuration module group of the entire PLC and determines the function and performance as a sequence controller. Information is included. (For example, see Patent Document 1)

各種パラメータの処理過程、タイミング仕様詳細、モーション制御に係わるシーケンスアルゴリズムなどの諸機能の実装手法について、逆アセンブル等のリバースエンジニアリングによればノウハウ漏洩の危険がある。   There is a risk of leaking know-how in reverse engineering such as disassembly for the implementation method of various functions such as various parameter processing processes, timing specification details, and sequence algorithms for motion control.

さらにPLCには、通常の産業用機器とは異なる特殊な流通事情と運用形態がある。
例えばモジュールを含めたPLCの製造元メーカがPLCを納入する先は、多くの場合中間ユーザ(以下、セットメーカと記す)であり、制御対象システムを所有するエンドユーザに直販ルートで納品されることは稀である。
Furthermore, the PLC has special distribution circumstances and operational forms different from normal industrial equipment.
For example, PLC manufacturers including modules deliver PLCs in many cases to intermediate users (hereinafter referred to as set manufacturers), and are delivered to end users who own the controlled system by direct sales routes. It is rare.

こうしたセットメーカでは、製造プラント等の制御対象システムを構成する各種の産業用設備や自動機及びそれらの運用環境に適合させた然るべきユーザプログラムを作成、より具体的には個別仕様でカスタマイズされた専用制御プログラムを作成した上で、それぞれのエンドユーザに納入される。   In such a set manufacturer, various industrial equipment and automatic machines that constitute the control target system such as a manufacturing plant, and appropriate user programs adapted to their operating environments are created, and more specifically, dedicated dedicated products customized by individual specifications. A control program is created and delivered to each end user.

適切なユーザプログラムを付加されてエンドユーザに納入されたPLCは、制御対象システムを構成する各種の産業用設備や自動機など個別の運転環境と融合し一体化した状態で運用される。一般に、PLCを運用する現場では、管理用コンピュータを共に配備して有線又は無線の通信インタフェースを介しそれぞれのPLCと接続している。   A PLC that is supplied with an appropriate user program and delivered to an end user is operated in an integrated state by being integrated with individual operating environments such as various industrial facilities and automatic machines constituting the system to be controlled. In general, at a site where a PLC is operated, a management computer is provided and connected to each PLC via a wired or wireless communication interface.

PLCを運用する場合に、従来技術に依れば、通信インタフェースを介した管理用コンピュータから或いはメモリカード等の記憶媒体の何れかから、PLC内の構成モジュールに対して所定のユーザプログラムをロードすることができる。   When operating a PLC, according to the prior art, a predetermined user program is loaded into a component module in the PLC from either a management computer via a communication interface or a storage medium such as a memory card. be able to.

記憶媒体としてメモリカードを使用するモジュールでは、モジュールに備え付けのメモリカードスロットを介して当該モジュールにロード済みユーザプログラムについてメモリカードへセーブ操作を実行することができる。   In a module that uses a memory card as a storage medium, a user program loaded in the module can be saved to the memory card via a memory card slot provided in the module.

このようなセーブ機能は、PLCのモジュールで偶発的に生じた外来の電気的ノイズや、モジュール内部のストレージデバイスで後天的に発生する不良箇所など、ロード済みの記憶領域が何らかのダメージを受けた場合に備えたバックアップ手段として備えられている。   Such a save function can be used when the loaded storage area is damaged in some way, such as accidental external noise generated in the PLC module or a defective part that occurs later in the storage device inside the module. Is provided as a backup means.

メモリカード等に対するセーブ操作Aは、モジュールのパネル面等に設けられたメモリカードスロットに挿入して所定の書き込みコマンドを実行することにより、何枚でも無制限にコピーを生成することができる。   The save operation A for a memory card or the like can generate an unlimited number of copies by inserting it into a memory card slot provided on the panel surface of the module and executing a predetermined write command.

ただし、PLC内のモジュールにロード済みユーザプログラム、又はメモリカード等の記録媒体にセーブ済みユーザプログラムの双方については、コンピュータ側へセーブするには所定のパスワードを入力する必要がある。このときのパスワード入力手順が、ユーザプログラムの機密保護の機能を果たしている。   However, for both the user program loaded in the module in the PLC and the user program saved in the recording medium such as a memory card, it is necessary to input a predetermined password to save to the computer side. The password input procedure at this time fulfills the function of protecting the security of the user program.

すなわち、モジュール内にロード又は記憶媒体へセーブされた実行形式のユーザプログラムは、セーブ操作でコンピュータ側へ一度でも取り込まれてしまうと、逆アセンブルで機械語からラダー言語などの可読データに変換され、セットメーカが工夫を凝らして作成したユーザプログラムのノウハウは容易に解析される。セーブ操作に伴い要求されるパスワードには、こうした事態を防止する機能を持つ。   In other words, an execution type user program loaded in a module or saved to a storage medium is converted into machine-readable data such as a ladder language by disassembling once it is taken into the computer by a save operation. The user program know-how created by the set maker can be easily analyzed. The password required for the save operation has a function to prevent such a situation.

一方で、メモリカード等の記憶媒体に一旦セーブされたユーザプログラムは他のPLCモジュールにも何ら制限無しにロードが可能である。   On the other hand, a user program once saved in a storage medium such as a memory card can be loaded into other PLC modules without any limitation.

図8はこのようなユーザプログラムを記録した記憶媒体と、他のPLCの間とのロード/セーブを伴うユーザプログラム管理について従来技術が抱える問題点を示している。   FIG. 8 shows a problem of the conventional technology regarding user program management involving loading / saving between a storage medium storing such a user program and another PLC.

すなわち図8において、PLC構成モジュールPLC1で実施したセーブ操作Aにより
作成された記憶媒体であるメモリカードMは、PLC1を始め他のPLC構成モジュールPMC2、PMC3、・・・PMCn(nは自然数)に対し無制限にロード操作Bを実施することができる。
That is, in FIG. 8, the memory card M, which is a storage medium created by the save operation A performed by the PLC configuration module PLC1, is replaced with the PLC1 and other PLC configuration modules PMC2, PMC3,... PMCn (n is a natural number). However, the load operation B can be performed without limitation.

これは、エンドユーザ環境下では記録媒体を介したロード操作によるユーザプログラムの拡散が防止できないことを意味している。   This means that the user program cannot be prevented from spreading due to the load operation via the recording medium in the end user environment.

エンドユーザでは、ユーザプログラムを格納する記憶媒体、具体的にはメモリカードMに一旦セーブしてしまえば、PLCの製造元からセットメーカを経ずに直接PLCを購入して順次ロードを行うことで、正規ルートで導入したPLCと同等のセットを再現することができる。   In the end user, once saved in the storage medium for storing the user program, specifically, the memory card M, the PLC is purchased directly from the PLC manufacturer without going through the set maker, and sequentially loaded. A set equivalent to the PLC introduced by the regular route can be reproduced.

従来技術によるセーブ手段及びロード手段では、外部から持ち込んだノートパソコン等のコンピュータをPLC構成モジュールに接続し、ユーザプログラムをアップロードして取り込んでしまうことについて、パスワードによる予防策が施されている。   In the saving means and loading means according to the prior art, a password precaution is taken against connecting a computer such as a notebook personal computer brought in from the outside to the PLC configuration module and uploading and loading the user program.

ところが、記憶媒体を介し実行形式レベルでモジュールからモジュールへとプログラムを移植する、図8に示す様なエンドユーザ環境におけるデッドコピーの作成操作については何らの対策も施されていない。   However, no countermeasure is taken for the dead copy creation operation in the end user environment as shown in FIG. 8 in which the program is ported from module to module at the execution format level via the storage medium.

このため、セットメーカの製品であるユーザプログラムについて、違法な複製品が海賊版PLC構成モジュールとして市場で増殖する危険がある。   For this reason, there is a risk that illegal copies of the user program, which is a product of the set manufacturer, will proliferate in the market as a pirated PLC component module.

この様なPLC構成モジュールのユーザプログラムの機密保持又は著作権の保護に係わる従来技術として例えば、以下の文献がユーザプログラムの全部又は所定の一部について、読み出し禁止手段によるプロテクト機能を開示している。   For example, the following documents disclose a protection function by a read prohibition means for all or a predetermined part of a user program as a conventional technique related to the confidentiality of a user program of such a PLC configuration module or protection of copyright. .

特許 第3548829号 特許文献1の発明は、PLCを構成するユニット(本願ではモジュールと記している)にユーザプログラムを記憶する第1の記憶手段と、アップロードする外部機器のアクセスを禁止した第2の記憶手段を備え、それぞれの記録領域に対応するユーザプログラム実行手段を個別に備えることで読み出しをプロテクトする。Patent No. 35488929 The invention of Patent Document 1 is a first storage means for storing a user program in a unit constituting the PLC (referred to as a module in the present application), and a second forbidden access to an external device to be uploaded. Reading is protected by providing storage means and individually providing user program execution means corresponding to each recording area.

しかしながら、特許文献1の発明では記憶媒体を介し実行形式レベルでモジュールからモジュールへとプログラムを移植する、いわゆるエンドユーザ環境におけるバックアップ機能を悪用したデッドコピーの作成操作については何らの対策も施されていない。(図8参照)   However, in the invention of Patent Document 1, no countermeasure is taken for the dead copy creation operation that exploits the backup function in a so-called end-user environment, in which a program is ported from module to module at the execution format level via a storage medium. Absent. (See Figure 8)

また一方でセットメーカの立場では、エンドユーザ納品用の正規品PLCを量産する際に、生産作業の効率と利便性向上を図る必要から、正規品の量産機能としてメモリカード等の記憶媒体を介した複数PLC構成モジュールへの一括若しくは連続ロードが要望されている。   On the other hand, from the standpoint of a set manufacturer, it is necessary to improve the efficiency and convenience of production work when mass-producing genuine PLCs for end-user delivery. There is a demand for batch or continuous loading to a plurality of PLC configuration modules.

従って本発明が解決しようとする課題は、エンドユーザ環境下でのバックアップ機能を維持しつつ、記憶媒体を介した違法コピー防止機能と、セットメーカによる正規品の量産機能とを共存、両立させるPLC構成モジュールのロード手段及びセーブ手段を提供することである。   Therefore, the problem to be solved by the present invention is a PLC that maintains the backup function in the end user environment, and coexists and achieves both the illegal copy prevention function via the storage medium and the mass production function of the genuine product by the set manufacturer. It is to provide means for loading and saving the configuration module.

このような課題を達成するために、本発明のうち請求項1記載の発明は、
ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムを前記記録媒体にセーブするPLC構成モジュールのセーブ手段において、前記PLC構成モジュールを識別する機器別の固有情報を埋め込む識別キー付加モード又はその埋め込みを省略する識別キー無付加モードかを示す識別値を読み取る識別手段と、前記識別値が前記付加モードのとき前記固有情報を前記ユーザプログラム内に埋め込む実装手段と、を備えたことを特徴とするPLC構成モジュールのセーブ手段である。
In order to achieve such a problem, the invention according to claim 1 of the present invention is:
The PLC configuration module is identified in a PLC configuration module saving means for saving the user program in the recording medium by inserting a recording medium in which the user program is recorded or by a predetermined operation from a management computer via a communication interface. An identification means for reading an identification key addition mode for embedding unique information for each device or an identification key non-addition mode for omitting the embedding; and when the identification value is in the additional mode, the unique information is stored in the user program. And a means for saving the PLC configuration module.

セーブ手段が、このような識別手段と実装手段とを備えることによって、識別キー付加モードのとき当該構成モジュールのみが持つ固有情報をユーザプログラム内に埋め込んでからセーブすることができる。このため請求項1の発明によれば、記憶媒体にセーブされたユーザプログラムの内容からセーブが実施されたPLC構成モジュールを唯一特定する効果を得る。   Since the save means includes such an identification means and an implementation means, it is possible to save after embedding unique information only in the component module in the user program in the identification key addition mode. Therefore, according to the first aspect of the present invention, the effect of uniquely specifying the PLC component module in which the saving is performed is obtained from the contents of the user program saved in the storage medium.

請求項2記載の発明は、請求項1記載のPLC構成モジュールのセーブ手段であって、 前記識別手段は、前記PLC構成モジュールに設けた前記識別キー付加モードと前記識別キー無付加モードとを切換える設定スイッチの既定値を読み取ることを特徴とする。   The invention according to claim 2 is the saving means of the PLC configuration module according to claim 1, wherein the identification means switches between the identification key addition mode and the identification key non-addition mode provided in the PLC configuration module. It is characterized by reading the default value of the setting switch.

この請求項2の発明によれば、エンドユーザによる運用環境下にあっては識別キー付加モードに設定スイッチを切り換えてから出荷することにより記憶媒体を介した不正コピーを防止できる。セットメーカの立場にあっては、多数のPLC構成モジュールで識別キー無付加モードに設定すると、記憶媒体のみを介したユーザプログラムの直接ロードが効率よく実施でき作業環境と利便性を向上させる。   According to the second aspect of the present invention, under an operating environment by the end user, illegal copying through the storage medium can be prevented by shipping after switching the setting switch to the identification key addition mode. From the standpoint of a set maker, when the identification key non-addition mode is set in a large number of PLC configuration modules, direct loading of the user program via only the storage medium can be efficiently carried out, improving the work environment and convenience.

更に、PLC構成モジュールに前記設定スイッチを設けたことにより、識別キー付加モードと無付加モードとの切換操作を当該PLC構成モジュール単体で実施できる。   Furthermore, by providing the setting switch in the PLC configuration module, the switching operation between the identification key addition mode and the non-addition mode can be performed by the PLC configuration module alone.

請求項3記載の発明は、請求項1記載のPLC構成モジュールのセーブ手段であって、
前記PLC構成モジュールに付与されたMACアドレス値または製造番号であることを特徴とする。
The invention according to claim 3 is a saving means of the PLC configuration module according to claim 1,
It is a MAC address value or serial number assigned to the PLC configuration module.

この請求項3の発明によればこのような固有情報を使用することによって、個々のPLC構成モジュール毎の固体識別を保障することができる。   According to the third aspect of the invention, by using such unique information, it is possible to guarantee the individual identification for each individual PLC component module.

請求項4記載の発明は、請求項1から請求項3までに記載のPLC構成モジュールのセーブ手段であって、前記プロテクションキーは、前記ユーザプログラムのソースリストに埋め込むことを特徴とする。   According to a fourth aspect of the present invention, there is provided the PLC configuration module saving means according to the first to third aspects, wherein the protection key is embedded in a source list of the user program.

この請求項4の発明によれば、ユーザプログラムへのプロテクションキーの埋め込みは、ユーザプログラム実行時にも何らの機能性能の低下を伴うこと無く、しかもアセンブル後の実行形式ファイル容量にも影響しない。   According to the fourth aspect of the present invention, the embedding of the protection key in the user program does not cause any deterioration in functional performance even when the user program is executed, and does not affect the capacity of the executable file after assembly.

請求項5の発明は、請求項1に記載のPLC構成モジュールのセーブ手段であって、前記固有情報が埋め込まれた前記ユーザプログラムを機械語に変換する機械語変換手段を更に備えたことを特徴とする。   The invention of claim 5 is the PLC configuration module saving means according to claim 1, further comprising machine language conversion means for converting the user program in which the unique information is embedded into a machine language. And

この請求項5記載の発明によれば、プロテクションキーである固有情報を埋め込んだ後に更に実行形式のバイナリファイル形式に変換することで、プロテクションキーの存在をさらに秘匿する効果が得られる。   According to the fifth aspect of the present invention, by embedding the unique information as the protection key and then converting it to the executable binary file format, the effect of further concealing the existence of the protection key can be obtained.

また、ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムのロードを実行する、PLC構成モジュールのロード手順において、前記ユーザプログラムの不正ロードを防止するプロテクションキーの有無をチェックする検出手段と、前記プロテクションキーが有ることを検出した場合に前記PLCモジュールを識別する機器別の固有情報と比較する照合手段とを備え、前記プロテクションキーと前記固有情報とが一致した場合に前記記録媒体からのロードを許可することを特徴とするPLC構成モジュールのロード手段としてもよい In addition , in the loading procedure of the PLC configuration module, the user program is loaded by inserting a recording medium in which the user program is recorded or by a predetermined operation from a management computer via a communication interface. Detecting means for checking presence / absence of a protection key for preventing, and verification means for comparing with the unique information for each device for identifying the PLC module when the presence of the protection key is detected, and the protection key and the When the unique information matches, loading from the recording medium may be permitted, and the PLC configuration module loading means may be used .

ロード手段が、このような検出手段と照合手段とを備えることによって、PLC構成モジュールの固有情報をユーザプログラム内に埋め込んでから記憶媒体にセーブされたプロテクションキーの検出と照合を行うことができる。このため記憶媒体にセーブされたユーザプログラムの内容から、そのセーブが実施されたPLC構成モジュールを唯一特定する効果を得る。 Since the load means includes such detection means and collation means, it is possible to detect and collate the protection key saved in the storage medium after embedding the unique information of the PLC configuration module in the user program. For this reason , the effect of uniquely specifying the PLC configuration module in which the saving is performed is obtained from the contents of the user program saved in the storage medium.

また、ロード手段において、前記検出手段は、前記記憶媒体にセーブされている前記ユーザプログラムに基づき前記プロテクションキーの有無を検出してもよい In the loading means , the detection means may detect the presence or absence of the protection key based on the user program saved in the storage medium.

このような構成によれば、プロテクションキーの存在は記憶媒体にセーブされたユーザプログラムのみで検出できる。 According to such a configuration , the presence of the protection key can be detected only by the user program saved in the storage medium.

また、ロード手段において、前記検出手段は、前記記憶媒体にセーブされている前記ユーザプログラムをプログラム言語に変換する機械語逆変換手段を更に備えてもよい Further, in the loading means, said detecting means may further include a machine language inverse conversion means for converting the user program that is saved in the storage medium in a program language.

また、ロード手段において、前記照合手段は、前記プロテクションキーと前記固有情報とを比較して一致を検出してもよい In the loading means , the collating means may detect the match by comparing the protection key and the unique information.

このような構成によれば、プロテクションキーの存在を実行形式のバイナリ形式から可読のプログラム言語に変換して、プロテクションキーである固有情報を効果的に検出できる。 According to such a configuration , the existence of the protection key can be converted from the binary format of the execution format to the readable programming language, and the unique information that is the protection key can be effectively detected.

また、ロード手段において、前記固有情報は、前記PLC構成モジュールに付与されたMACアドレス値または製造番号としてもよい Further, in the loading means, wherein the specific information may be the MAC address values or serial number assigned to PLC configuration module.

このような構成によれば、プロテクションキーの作用をもつ固有情報として確実にPLC構成モジュールの単体を識別する効果を得られる。 According to such a configuration , an effect of reliably identifying a single PLC component module as unique information having the function of a protection key can be obtained.

また、前記PLC構成モジュールを識別する機器別の前記固有情報を、前記ユーザプログラムに埋め込む実装手段を更に備えてもよい
Moreover , you may further provide the mounting means which embed | buries the said specific information according to apparatus which identifies the said PLC component module in the said user program.

このような構成によれば、PLC構成モジュール側へユーザプログラムをロードする際にも、設定手段と実装手段とを備えることによって、識別キー付加指定のとき当該構成モジュールのみが持つ固有情報をユーザプログラム内に埋め込んでからロードする。 According to such a configuration , even when the user program is loaded on the PLC configuration module side, by providing the setting means and the mounting means, the unique information possessed only by the configuration module is specified when the identification key is added. Load it after embedding it inside.

このため、PLC構成モジュール内部のストレージデバイス具体的には内蔵フラッシュメモリ及びROMデバイスに対し、ユーザプログラムを最初にロードする出荷の段階から、プロテクションキーを予め埋め込むことができる。   For this reason, the protection key can be embedded in advance in the storage device in the PLC component module, specifically, the built-in flash memory and ROM device from the shipment stage when the user program is first loaded.

また、ロード手段において、前記実装手段は、前記固有情報を前記ユーザプログラムのソースリスト内に埋め込んでもよい Also, in the load means, the mounting means, the specific information may also do embed in the source list of the user program.

このような構成によれば、PLC構成モジュールにロードしたユーザプログラムへのプロテクションキーの埋め込みは、ユーザプログラム実行時に何らの機能性能の低下を伴うこと無く、しかもアセンブル後の実行形式ファイル容量にも影響しない。 According to such a configuration , the embedding of the protection key in the user program loaded in the PLC configuration module does not cause any reduction in functional performance when the user program is executed, and also affects the capacity of the executable file after assembly. do not do.

本発明によれば次のような効果がある。
請求項1,2,3,4、及び請求項5の発明によれば、PLC構成モジュールで行うセーブを施す記録メディアについて識別キー付加モードと識別キー無付加モードとを選択スイッチによって選択する、PLC構成モジュールを提供する。
The present invention has the following effects.
According to the first, second, third, fourth, and fifth aspects of the present invention, the selection switch is used to select the identification key addition mode and the no identification key addition mode for the recording medium to be saved by the PLC configuration module. Provides a configuration module.

さらに識別キー付加モード時に付加されるプロテクションキーはPLC構成モジュールが備える個別情報に基づきソースリストに組み込まれるので、キー付加済みのユーザプログラムをロードした場合であっても、ファイル容量の増減は勿論、機能面においても制御対象システムの運用上何ら支障は生じない。   Further, since the protection key added in the identification key addition mode is incorporated into the source list based on the individual information provided in the PLC configuration module, even when the user program with the key added is loaded, the file capacity is of course increased or decreased. In terms of function, there is no problem in the operation of the controlled system.

また、PLC構成モジュールで行う記録メディアを介したロード操作について、前記プロテクションキーの検出手段と、前記固有情報の照合手段と、ロード実行手段とで構成されたロード手段を提供することができる Further , with respect to a load operation via a recording medium performed by the PLC configuration module, a load unit configured by the protection key detection unit, the unique information collating unit, and the load execution unit can be provided.

こうしたセーブ機能を備えたPLC構成モジュールと、ロード手段を組み合わせて運用することにより、エンドユーザ環境にあってはユーザプログラムがセーブされたメモリカード等の記録メディアへのバックアップサービス機能を温存しつつ、他のPLC構成モジュールに対しての不正なデッドコピーを防止することができる。   By combining the PLC configuration module having such a saving function and the loading means, the backup service function to the recording medium such as a memory card in which the user program is saved is preserved in the end user environment. Unauthorized dead copy for other PLC component modules can be prevented.

一方、セットメーカにおいては、ロード対象のPLC構成モジュールの設定スイッチを識別キー無付加モードに設定しておくことにより、メモリカード等の記録メディアを介したロード作業を多数のPLC構成モジュールに効率良く処置できる。これにより、エンドユーザへ納品するPLC構成モジュールの量産が短時間で行える効果がある。   On the other hand, in the set maker, by setting the setting switch of the PLC configuration module to be loaded to the identification key non-addition mode, loading work via a recording medium such as a memory card can be efficiently performed on many PLC configuration modules. Can be treated. Thereby, there is an effect that mass production of the PLC component module delivered to the end user can be performed in a short time.

すなわち、セットメーカがPLC構成モジュールをエンドユーザに一括納入する際に、同一ユーザプログラムを大量ロードする作業の利便性を図ると共に、エンドユーザ環境下で個別バックアップ機能を温存しつつ、デッドコピーの防止を両立するPLCを提供できる。   In other words, when a set maker delivers PLC configuration modules to end users in a batch, the convenience of loading a large amount of the same user program is improved, and the individual backup function is preserved in the end user environment while preventing dead copy. Can be provided.

また、ユーザプログラムをロードする際にも、当該PLC構成モジュール自体のみが持つ、機器別の固有情報をソースリスト内へ埋め込んでからロードすることができる

Also , when loading a user program, it is possible to load after embedding unique information for each device in the source list that only the PLC component module itself has.

このためロード手段単独のみで、プロテクションキー埋め込み機能と、プロテクションキーによる不正コピー防止機能とを統合運用することができる。   Therefore, the protection key embedding function and the unauthorized copy prevention function using the protection key can be integrated and operated only by the loading means alone.

即ち、ロード手段によってプロテクションキーが埋め込まれたPLC構成モジュールでは、セーブ操作の際に単純にメディアへコピーするだけで、当該メディアには自ずとかつ必然的にプロテクションキーが埋め込まれる結果となる。   That is, in the PLC configuration module in which the protection key is embedded by the loading means, simply copying to the medium at the time of the save operation results in the protection key being naturally and necessarily embedded in the medium.

この様に、PLC構成モジュールにロード済みのユーザプログラム自体に最初からプロテクションキーの埋め込みを図ったことから、エンドユーザ環境下にあって確実にデッドコピーが防止される効果がある。   As described above, since the protection key is embedded in the user program loaded in the PLC configuration module from the beginning, there is an effect that the dead copy is surely prevented in the end user environment.

以下に実施例を用いて本発明を説明する。
図1は本発明に係るPLC構成モジュールのセーブ手段及びロード手段の構成例を示しておりAはセーブ手段、Bはロード手段に対応している。
The present invention will be described below with reference to examples.
FIG. 1 shows an example of the configuration of saving means and loading means of a PLC component module according to the present invention, wherein A corresponds to saving means and B corresponds to loading means.

図1Aのセーブ手段は、識別手段1、実装手段2、機械語変換手段3、書き込み手段103Aで構成している。   The saving means in FIG. 1A includes an identification means 1, an implementation means 2, a machine language conversion means 3, and a writing means 103A.

一方図1Bのロード手段は、読み込み手段103B、逆機械語変換手段7、検出手段8、照合手段9および処理手段10で構成している。   On the other hand, the loading means in FIG. 1B comprises reading means 103B, inverse machine language conversion means 7, detection means 8, collation means 9, and processing means 10.

図2は、図1Aに対応するPLC構成モジュールを含む機能ブロック図である。本発明のセーブ手段を構成するPLC構成モジュール内のCPUを含む各種ハードウェア資源と、そのCPUの実行用に記述されたソフトウェアプログラムの対応を示している。   FIG. 2 is a functional block diagram including a PLC configuration module corresponding to FIG. 1A. FIG. 6 shows correspondence between various hardware resources including a CPU in a PLC configuration module constituting the saving means of the present invention and a software program described for execution of the CPU.

図2において、予め実装されている管理用ソフトウェアであるファームウェア100Aは、PLC構成モジュール内にあるフラッシュメモリ等のストレージデバイスである第1記憶手段101にロードされて、CPU102によって実行されている。   In FIG. 2, firmware 100 </ b> A that is preinstalled management software is loaded into first storage means 101 that is a storage device such as a flash memory in the PLC configuration module, and is executed by CPU 102.

ファームウェア100Aには、図1Aのセーブ手段を構成する識別手段1、実装手段2、機械語変換手段3に相当するアセンブラ等がそれぞれユーティリティ或いは個別ソフトウェアプログラムとして実装されている。   In the firmware 100A, an identification unit 1, a mounting unit 2, and an assembler corresponding to the machine language conversion unit 3 constituting the saving unit in FIG. 1A are mounted as utilities or individual software programs.

設定スイッチ4は、図2の実施例ではPLC構成モジュールのプリント基板上或いは表面パネル等に設けたDIPスイッチを用いている。識別手段1は具体的にはCPU102の周辺I/Oアクセスポートと、その値の読み込みと結果判定を行うソフトウェアのプログラムであり、設定スイッチ4の既定値オン又はオフの状態をCPU102で判定している。   In the embodiment of FIG. 2, the setting switch 4 is a DIP switch provided on the printed circuit board of the PLC component module or on the front panel. Specifically, the identification means 1 is a software program for reading the peripheral I / O access port of the CPU 102 and its value and determining the result. The CPU 102 determines whether the default value of the setting switch 4 is on or off. Yes.

図1及び図2に例示したPLC構成モジュールでは、記録媒体としてメモリカードMを用いているため、カードリーダ・ライタ103を備えている。図2は、CPU102によりカードリーダ・ライタ103を制御することを示している。   The PLC configuration module illustrated in FIGS. 1 and 2 includes a card reader / writer 103 because the memory card M is used as a recording medium. FIG. 2 shows that the card reader / writer 103 is controlled by the CPU 102.

第2記憶手段104は、ファームウェア100Aをロードしている第1記憶手段101とは別のストレージデバイスある。管理対象システムの制御手順に係るユーザプログラム5をロードし、画面表示を伴う編集やライブラリ化など管理作業に用いている。   The second storage unit 104 is a storage device different from the first storage unit 101 loaded with the firmware 100A. The user program 5 relating to the control procedure of the management target system is loaded and used for management work such as editing accompanied with screen display and creation of a library.

第2記憶手段104は、識別手段1、具体的にはCPU102からアクセスして読み取れる構成としている。即ち第2記憶手段104内に格納してあるユーザプログラム5は、ファームウェア100のソフトウェアプログラム群の一つである実装手段1によって参照される。   The second storage unit 104 is configured to be accessible and read from the identification unit 1, specifically, the CPU 102. That is, the user program 5 stored in the second storage unit 104 is referred to by the mounting unit 1 that is one of the software programs of the firmware 100.

個別情報6は、本PLC構成モジュールに固有の識別情報が格納されている。識別情報としてMACアドレス値を用いる場合、固有情報6は、ファームウェア100の内部に属する。   The individual information 6 stores identification information unique to this PLC configuration module. When the MAC address value is used as the identification information, the unique information 6 belongs to the firmware 100.

一方、識別情報として製造シリアル番号値等を用いる場合は、実装手段2、具体的にはCPU102から読み取れることを条件に、周辺I/Oアクセスポートとして本PLC構成モジュールに属するハードウェア資源内の何処に設けても良い。   On the other hand, when a manufacturing serial number value or the like is used as the identification information, it can be read from the mounting means 2, specifically the CPU 102, as a peripheral I / O access port in the hardware resource belonging to this PLC component module. May be provided.

入出力部105は、本PLC構成モジュールに付帯する入出力デバイスである。キーボード、タッチパネル等の各種入力部及び、LED、表示パネル等の各種出力部を表している。   The input / output unit 105 is an input / output device attached to the PLC configuration module. Various input units such as a keyboard and a touch panel and various output units such as an LED and a display panel are shown.

図3は、図1Bに対応する機能ブロック図である。ロード手段として本発明を実施したPLC構成モジュール内のCPUを含む各種ハードウェア資源と、そのCPUの実行用に記述されたソフトウェアプログラムの対応を示している。   FIG. 3 is a functional block diagram corresponding to FIG. 1B. FIG. 5 shows the correspondence between various hardware resources including a CPU in a PLC component module embodying the present invention as loading means and a software program written for executing the CPU.

図3において、予め実装されている管理用ソフトウェアであるファームウェア100Bは、PLC構成モジュール内にあるフラッシュメモリ等のストレージデバイスである第1記憶手段101にロードされて、CPU102によって実行されている。   In FIG. 3, firmware 100 </ b> B that is preinstalled management software is loaded into the first storage unit 101 that is a storage device such as a flash memory in the PLC configuration module, and is executed by the CPU 102.

ファームウェア100Bには図1Bのロード手段を構成する、逆機械語変換手段7に相当する逆アセンブラ、検出手段8、照合手段9、処理手段10が、各々個別ソフトウェアモジュール単位又はプログラムとして実装されている。   In the firmware 100B, the disassembler corresponding to the inverse machine language conversion means 7, the detection means 8, the collation means 9, and the processing means 10 constituting the load means of FIG. 1B are mounted as individual software module units or programs. .

ここで図3の中で図2と同一記号の構成要素は、同一機能をもった手段であるから再度の説明は省略する。   Here, in FIG. 3, the constituent elements having the same symbols as those in FIG.

次に図1A,図1B、図2、図3に示した本発明の実施例である、セーブ手段とロード手段及びそれら相互の関係を詳細に説明する。   Next, the save means and the load means and the relationship between them according to the embodiment of the present invention shown in FIGS. 1A, 1B, 2 and 3 will be described in detail.

セーブ手段では、PLC構成モジュールの第2記憶手段104にあるユーザプログラム5を記憶媒体にバックアップする場合、メモリカードMのカードリーダ・ライタへの挿入によって開始する。更に、合わせて入出力部105から所定のセーブ実行命令をCPU102に与えても良い。   In the saving means, when backing up the user program 5 in the second storage means 104 of the PLC component module to a storage medium, the saving means starts by inserting the memory card M into the card reader / writer. In addition, a predetermined save execution command may be given from the input / output unit 105 to the CPU 102.

このとき識別手段1では設定スイッチ4の既定値を読み込んで設定スイッチ4がオンのとき、実装手段2を実行する。   At this time, the identification means 1 reads the default value of the setting switch 4 and executes the mounting means 2 when the setting switch 4 is on.

実行手段2では、第2記憶手段104内のユーザプログラム5のファイルと、個別情報6の値を読み込む。   The execution unit 2 reads the file of the user program 5 in the second storage unit 104 and the value of the individual information 6.

ユーザプログラム5のソースリスト中で、レジスタや即値に相当するオペランド部分、またはラベル箇所など、所定の位置へ個別情報6の値の埋め込みを実行する。埋め込みに際して、安全を期して個別情報6の値に基づくスクランブルや暗号化など適宜に二次加工を施しても差し支えない。   In the source list of the user program 5, the value of the individual information 6 is embedded in a predetermined position such as a register, an operand portion corresponding to an immediate value, or a label location. At the time of embedding, secondary processing such as scrambling or encryption based on the value of the individual information 6 may be appropriately performed for safety.

固有情報6又はその二次加工データの埋め込み箇所には、ユーザプログラム5のソースリスト内で制御対象システムの制御アルゴリズムや実行内容、応答速度には直接関わらず、動作にも影響しない無関係かつ無害なオペコード位置及びそのオペランドが慎重に選定される。   The specific information 6 or the secondary processing data is embedded in the source list of the user program 5 regardless of the control algorithm, execution contents, and response speed of the system to be controlled, which is irrelevant and harmless without affecting the operation. The opcode position and its operand are carefully selected.

続いて機械語変換手段3では、実装手段2によって固有情報6又はその二次加工データが埋め込まれたユーザプログラムを実行形式であるバイナリファイル形式の機械語に変換する。本実施例では、機械語変換手段3としてファームウェアに備えたユーティリティ・ソフトであるアセンブラを使用している。   Subsequently, in the machine language conversion unit 3, the mounting unit 2 converts the user program in which the unique information 6 or the secondary processed data thereof is embedded into a machine language in the binary file format which is an execution format. In this embodiment, an assembler that is utility software provided in firmware is used as the machine language conversion means 3.

機械語に変換されたユーザプログラムは、書き込み手段103Aを介して記憶媒体であるメモリカードMへセーブされる。本実施例では、書き込み手段103Aとしてはカードリーダ・ライタ103を用いている。   The user program converted into the machine language is saved in the memory card M as a storage medium via the writing means 103A. In this embodiment, a card reader / writer 103 is used as the writing means 103A.

識別手段1において、読み込んだ設定スイッチの規定値がオフであった場合は個別情報6の埋め込みは行わず、現行のユーザプログラム5を機械語に変換してから書き込み手段103Aを介して記憶媒体であるメモリカードMへセーブする。   If the specified value of the setting switch that has been read in the identification means 1 is OFF, the individual information 6 is not embedded, and the current user program 5 is converted into a machine language and then stored in the storage medium via the writing means 103A. Save to a memory card M.

一方のロード手段では、ユーザプログラムが格納されたメモリカードMを本発明が実施されたPLC構成モジュールのカードリーダ・ライタ103に挿入する。ロード手順の開始には、さらに続けて入出力部105から所定のロード実行命令をCPU104へ入力しても良い。   In one loading means, the memory card M storing the user program is inserted into the card reader / writer 103 of the PLC component module in which the present invention is implemented. To start the loading procedure, a predetermined load execution command may be input from the input / output unit 105 to the CPU 104.

カードリーダ・ライタ103である図1Bの読み込み手段103Bから読み出された、機械語のデータは、逆機械語変換手段7である逆アセンブラによって処理され、可読ファーマットのソースプログラムに変換される。   The machine language data read from the reading means 103B in FIG. 1B, which is the card reader / writer 103, is processed by the disassembler, which is the inverse machine language conversion means 7, and converted into a readable format source program.

検出手段8では、ソースプログラム形式に変換されたユーザプログラム中から、セーブ手段である実装手段2によって埋め込まれた、固有情報6又はその二次加工データの有無を検出する。   The detecting means 8 detects the presence or absence of the unique information 6 or its secondary processed data embedded by the mounting means 2 as the saving means from the user program converted into the source program format.

検出手段8がソースリスト中に固有情報又はその二次加工データの存在を検出した場合、照合手段9は当該PLC構成モジュール自体が備えている固有情報6、又はその二次加工データとの比較照合を行う。   When the detection means 8 detects the existence of the unique information or its secondary machining data in the source list, the matching means 9 compares the unique information 6 included in the PLC configuration module itself or its secondary machining data. I do.

比較の結果、値が一致するとなれば、このとき挿入された記憶媒体であるメモリカードMは、設定スイッチ4がオン状態のときに当該PLC構成モジュールでかつてセーブされ作成された記録媒体であることを示している。   If the values match as a result of the comparison, the memory card M, which is the storage medium inserted at this time, is a recording medium that was once saved and created by the PLC configuration module when the setting switch 4 is in the ON state. Is shown.

反対に比較の結果、一致しなければ、このとき挿入された記憶媒体であるメモリカードMのユーザプログラムは、他の個体のPLC構成モジュールによるセーブされたことを示している。   On the contrary, if they do not match as a result of the comparison, it is indicated that the user program of the memory card M which is the storage medium inserted at this time is saved by the PLC configuration module of another individual.

比較照合の結果、一致した場合には、処理手段10はメモリカードMに格納されていたユーザプログラムについて内蔵のストレージデバイスへのロードを許可する。本実施例では図3の様に、第2記憶手段のメモリ領域に逆アセンブルしたユーザプログラムを転送する場合を示している。   If they match as a result of the comparison, the processing means 10 permits the user program stored in the memory card M to be loaded into the built-in storage device. In the present embodiment, as shown in FIG. 3, the disassembled user program is transferred to the memory area of the second storage means.

ユーザプログラムは可読のソースリスト形式に変換済みであるから第2記憶手段では、再編集や画面表示等のCPU102を介したオフライン作業領域として提供されている。もちろんロードしたユーザプログラムはCPU102による即時実行を前提に、実行形式のバイナリファイル形式のままで、第1記憶手段内にあるファームウェア100領域以外の所定の実行開始番地へロードしてもよい。   Since the user program has been converted into a readable source list format, the second storage means is provided as an offline work area via the CPU 102 for re-editing and screen display. Of course, the loaded user program may be loaded in a predetermined execution start address other than the firmware 100 area in the first storage means in the binary file format of the execution format on the assumption that the CPU 102 executes immediately.

併せて処理手順10では、入出力部105を介して指定されたロード操作が正常終了した旨をオペレータに通知する。   In addition, in the processing procedure 10, the operator is notified that the loading operation designated via the input / output unit 105 has been completed normally.

一方、比較照合の結果不一致であった場合は、メモリカードMに記録されたユーザプログラムのモジュール内へのロードを許可しない。照合手段9では、指定されたロード操作は許可されなかった旨を、入出力部105を介してオペレータに通知する。   On the other hand, if the result of the comparison / collation does not match, loading of the user program recorded in the memory card M into the module is not permitted. The verification unit 9 notifies the operator via the input / output unit 105 that the designated loading operation is not permitted.

すなわち、図2に例示するセーブ手段で設定スイッチ4をオン設定にしてから記憶媒体へのセーブを実施すると、その記憶媒体はセーブ操作を行ったPLC構成モジュール以外の個体ではロードすることができない。   That is, when the save switch illustrated in FIG. 2 is used to save the storage medium after the setting switch 4 is turned on, the storage medium cannot be loaded by an individual other than the PLC component module that performed the save operation.

これは実装手段2によって個体を識別する個別情報6をユーザプログラム5内に埋め込んだ後からセーブするためであり、ロード操作に対して不正コピーを検出しこれに対するプロテクションキーとして作用する。   This is to save after embedding the individual information 6 for identifying the individual in the user program 5 by the mounting means 2, and acts as a protection key for detecting an unauthorized copy for the load operation.

図3に例示したロード手段では、検出手段8がプロテクションキーとしての個別情報6またはこれに基づく二次加工情報の有無を必ず検査し、プロテクションキーが埋め込まれている場合には固有情報との照合が行われて記録媒体の出自を検証する。   In the loading means illustrated in FIG. 3, the detection means 8 always checks the presence or absence of the individual information 6 as the protection key or the secondary processing information based on the information, and if the protection key is embedded, it collates with the specific information. Is performed to verify the origin of the recording medium.

図4は、図2に例示するセーブ手段で設定スイッチ4をオフ、すなわちプロテクションキーを無しにしてから記憶媒体であるメモリカードMへセーブ操作Aをした場合、ロード操作Bの他PLC構成モジュールに対する作用を示している。   FIG. 4 shows that when the setting switch 4 is turned off by the save means illustrated in FIG. 2, that is, when the save operation A is performed to the memory card M as the storage medium after the protection key is removed, the load operation B is applied to other PLC configuration modules. It shows the action.

図4においてPLC構成モジュールであるPLC1でセーブされたメモリカードM0は、他のPLC構成モジュールであるPLC2、3、4・・・n(nは自然数)についてもすべてロードが許可される。   In FIG. 4, the memory card M0 saved by the PLC configuration module PLC1 is permitted to load all of the other PLC configuration modules PLC2, 3, 4,... N (n is a natural number).

一方図5では、図2に例示するセーブ手段で図4の状態とは逆に設定スイッチ4をオン、すなわちプロテクションキーを有りにしてから記憶媒体であるメモリカードMへセーブ操作Aをした場合の、他PLC構成モジュールに対するロードB操作の不正ロードプロテクション作用を示している。   On the other hand, in FIG. 5, when the save means illustrated in FIG. 2 is turned on, the setting switch 4 is turned on, that is, the protection key is provided, and then the save operation A is performed on the memory card M as a storage medium. The illegal load protection action of the load B operation to other PLC configuration modules is shown.

ここで不正ロードとは、記憶媒体に対するセーブ操作を実施したPLC構成モジュール個体以外の機器に対して、その記憶媒体を用いてロード操作を行う行為をいう。   Here, the illegal load refers to an act of performing a load operation on a device other than the individual PLC component module that has performed a save operation on the storage medium using the storage medium.

図5において示される様にPLC構成モジュールであるPLC1でセーブされたメモリカードM1は、PLC1以外のPLC構成モジュールでは不正ロードであり許可されない。他のPLC構成モジュールであるPLCn(nは自然数)についても、同一個体であるPLCn(nは自然数)以外でのロード操作Bが許可されない。   As shown in FIG. 5, the memory card M1 saved in the PLC configuration module PLC1 is illegally loaded and is not permitted in any PLC configuration module other than the PLC1. With respect to PLCn (n is a natural number) which is another PLC component module, the load operation B other than PLCn (n is a natural number) which is the same individual is not permitted.

本発明のセーブ手段及びロード手段を同一PLC構成モジュールに併せて実装することで、記憶媒体に記録するプログラム動作とファイル容量に何ら影響を及ぼすこと無しに、セーブ操作を実施したモジュール個体の識別子である固有情報6を埋め込んでこれを不正ロードの試みに対してのプロテクションキーとして作用させている。   By implementing the save means and load means of the present invention together in the same PLC component module, the identifier of the individual module that performed the save operation can be obtained without affecting the program operation and file capacity recorded in the storage medium. Some unique information 6 is embedded and used as a protection key for an illegal load attempt.

この様にPLC構成モジュールにおいて、図4に相当する設定スイッチオン状態と図5に相当する設定スイッチオフ状態とを適宜切換えることにより、セットメーカ環境下でのユーザプログラムの大量一括ロードと、エンドユーザ環境下での他PLC構成モジュールへのユーザプログラム拡散、即ち不正ロードの防止効果とを両立することができる。   In this way, in the PLC configuration module, by appropriately switching between the setting switch ON state corresponding to FIG. 4 and the setting switch OFF state corresponding to FIG. It is possible to achieve both the diffusion of user programs to other PLC component modules in the environment, that is, the effect of preventing unauthorized loading.

また設定スイッチ4は、図2の実施例によるDIPスイッチ或いはスライドスイッチやロータリスイッチ等の機械的な切換えに替わり、例えばCPU102から読み込みが可能である単なる1ビット以上のレジスタで構成されたI/Oポートを用いてもよい。   The setting switch 4 replaces mechanical switching such as a DIP switch or a slide switch or a rotary switch according to the embodiment shown in FIG. 2 and, for example, an I / O composed of a simple register of 1 bit or more that can be read from the CPU 102. A port may be used.

例えば、このレジスタに1をライトしたとき設定スイッチ4オフ状態、デフォルト値である0をライトしたときオン状態と定義する。   For example, it is defined that the setting switch 4 is off when 1 is written to this register, and the on state when 0, which is the default value, is written.

セットメーカによる正規品の量産の際は、ソフトウェアのみでプロテクションキー解除操作を簡単に実施できる。即ちロード手順の最初のステップに、設定スイッチ4のI/Oアクセスポートに1をライトする1行を追加することで実施できる。   In the case of mass production of a regular product by a set maker, the protection key release operation can be easily performed only with software. That is, it can be implemented by adding one line for writing 1 to the I / O access port of the setting switch 4 in the first step of the loading procedure.

更にPLC構成モジュールの電源オフに伴い、設定スイッチ4のI/Oアクセスポートは初期状態である値0、即ちプロテクションキーの付加設定状態へ自動的に復帰する。本レジスタ番地が判明しない限りエンドユーザ環境下ではプロテクションキー解除は不可能とすることができる。   Further, when the power of the PLC configuration module is turned off, the I / O access port of the setting switch 4 automatically returns to the initial value 0, that is, the additional setting state of the protection key. Unless the register address is known, the protection key cannot be released in the end user environment.

図6は、PLC構成モジュールのロード手段について管理用コンピュータHを介してのソフトウェアダウンロードを伴う遠隔操作で一括して行う場合の実施例を示している。   FIG. 6 shows an embodiment in which the loading means of the PLC configuration module is collectively performed by remote operation accompanied by software download via the management computer H.

即ちユーザプログラムをロードする時点で、識別キーの付加指定を行い当該PLC構成モジュール自体のみが持つ、機器別の固有情報をソースリスト内へ予め埋め込んでロード操作を実行する。   That is, at the time of loading the user program, an identification key is added and specific information for each device that only the PLC component module itself has is embedded in the source list in advance to execute the loading operation.

このためロード手段単独で、プロテクションキー埋め込み機能と、プロテクションキーによる不正コピー防止機能とを一元化することができる。以下、この様なプロテクションキーを埋め込んで行うロード操作を、図1B、図3、4,5で示したロード操作Bと区別して、ロード操作BPと記す。   For this reason, the load means alone can unify the protection key embedding function and the unauthorized copy prevention function using the protection key. Hereinafter, a load operation performed by embedding such a protection key is referred to as a load operation BP, in distinction from the load operation B shown in FIGS. 1B, 3, 4, and 5.

即ち、ロード操作BPによってプロテクションキーが埋め込まれたPLC構成モジュールでは、セーブ操作の際に単純にメディアへコピーするだけで、当該メディアには自ずとかつ必然的にプロテクションキーが埋め込まれる結果となる。   That is, in the PLC configuration module in which the protection key is embedded by the load operation BP, simply copying to the medium during the save operation results in the protection key being embedded in the medium naturally.

この様に、PLC構成モジュールにロード済みのユーザプログラム自体に、予めプロテクションキーの埋め込みを行ったことから、エンドユーザ環境下にあっては確実にデッドコピーが防止される効果がある。図6の実施例は、セーブ操作Aにおいてプロテクションキー埋め込みを回避する手段を与えないためである。   As described above, since the protection key is embedded in the user program itself loaded in the PLC configuration module in advance, there is an effect that the dead copy is surely prevented in the end user environment. This is because the embodiment of FIG. 6 does not provide means for avoiding embedding the protection key in the save operation A.

図6では、PLC構成モジュールにロードするユーザプログラム自体に、最初からプロテクションキーの埋め込みを図る実施例を示している。   FIG. 6 shows an embodiment in which the protection key is embedded from the beginning in the user program itself loaded into the PLC configuration module.

管理用コンピュータHは、各PLC構成モジュールPMC1、PMC2、PMC3・・・PMCn(nは自然数)にユーザプログラムを一斉又は順番にダウンロードしてロード操作BPを実施する。   The management computer H executes the load operation BP by downloading the user programs to the PLC configuration modules PMC1, PMC2, PMC3,... PMCn (n is a natural number) simultaneously or sequentially.

各PLC構成モジュールでは、各々にて実施されるロード操作BPを通して、例え元は同一のユーザプログラムであっても、内部の記憶領域へ記録される過程で当該PLC構成モジュール自体のみが持つ、機器別の固有情報をソースリスト内へ予め埋め込んだ状態としてロード操作が実行される。   In each PLC configuration module, even if it is the same user program through the load operation BP executed in each PLC, only the PLC configuration module itself has a process of being recorded in the internal storage area. The load operation is executed with the unique information embedded in the source list in advance.

従って、これらのロード操作BPを受けた各PLC構成モジュールで、セーブ操作Aを実施すると、生成される各記憶媒体のメモリカードM1、M2、M3・・・・Mn(nは自然数)では、必然的にプロテクションキーが埋め込まれる。   Therefore, when the save operation A is performed in each PLC component module that has received these load operations BP, the memory cards M1, M2, M3,... Mn (n is a natural number) of each generated storage medium are inevitably generated. A protection key is embedded.

この結果、これらのメモリカードMn(nは自然数)を用いる場合に、同一個体であるPLCn(nは自然数)以外でのロード操作Bが許可されない。すなわちセーブ操作Aによって生成される記録媒体では同一個体であるPLCn(nは自然数)へのバックアップ機能のみが有効となり、一切の不正コピーが防止される。   As a result, when these memory cards Mn (n is a natural number) are used, a load operation B other than the same individual PLCn (n is a natural number) is not permitted. In other words, in the recording medium generated by the save operation A, only the backup function to the same individual PLCn (n is a natural number) is effective, and any unauthorized copying is prevented.

図7は、図6に対応したロード操作BPを実行するPLC構成モジュールの構成例を示している。図7において同一記号の構成要素は、図1の構成と同一作用をもつため詳細説明は省略する。   FIG. 7 shows a configuration example of a PLC configuration module that executes the load operation BP corresponding to FIG. In FIG. 7, the components having the same symbols have the same functions as those in FIG.

図7の実施例では管理用コンピュータHを介したロード操作BPのとき、実装手段2及びアセンブラである機械語変換手段3によって第二記憶手段104へのロードを実行している。勿論、記憶手段104へロードする際には機械語変換手段3はスキップしても差し支えない。また同時に、他のストレージデバイス具体的には内蔵のフラッシュメモリ及びROMデバイスにもロードされている。   In the embodiment of FIG. 7, during the load operation BP via the management computer H, the loading to the second storage unit 104 is executed by the mounting unit 2 and the machine language conversion unit 3 which is an assembler. Of course, the machine language conversion means 3 may be skipped when loading into the storage means 104. At the same time, it is loaded into another storage device, specifically, a built-in flash memory and ROM device.

また、図7に示す様に、ロード操作BPは管理用コンピュータHを介して実行する替わりにカードリーダ・ライタ103に挿入されたメモリカードを介して実行することも可能である。その場合は、カードリーダ・ライタ103からの読み出しデータ出力を実装手段2へと接続する。   As shown in FIG. 7, the load operation BP can be executed via a memory card inserted into the card reader / writer 103 instead of being executed via the management computer H. In that case, the read data output from the card reader / writer 103 is connected to the mounting means 2.

以上説明した様に本発明によれば、エンドユーザ環境下でメモリカード等の記憶媒体を介した違法デッドのコピー防止機能と、エンドユーザが必要とするバックアップ機能との両立が可能なPLC構成モジュールのロード手段及びセーブ手段を提供できる。更にはセットメーカ環境にあってはユーザプログラムの大量一括ロードを可能にし、量産時の作業利便性を向上させることができる。   As described above, according to the present invention, in the end user environment, a PLC configuration module capable of achieving both an illegal dead copy prevention function via a storage medium such as a memory card and a backup function required by the end user. Load means and save means can be provided. Furthermore, in a set maker environment, it is possible to load a large amount of user programs and improve work convenience during mass production.

本発明のセーブ手段及びロード手段の両実施例のフローチャートである。It is a flowchart of both the examples of the save means and load means of this invention. 本発明の図1に対応するセーブ手段の機能ブロック図の構成例である。It is a structural example of the functional block diagram of the saving means corresponding to FIG. 1 of this invention. 本発明の図1に対応するロード手段の機能ブロック図の構成例である。It is a structural example of the functional block diagram of the load means corresponding to FIG. 1 of this invention. 本発明の図1、図2、図3に対応したセーブ手段及びロード手段で設定スイッチをオフにした場合の、セーブ操作Aとロード操作Bとの対応を示す図である。It is a figure which shows a response | compatibility with save operation A and load operation B when a setting switch is turned off by the save means and load means corresponding to FIG.1, FIG.2, FIG.3 of this invention. 本発明の図1、図2、図3に対応したセーブ手段及びロード手段で設定スイッチをオンにした場合の、セーブ操作Aとロード操作Bとの対応を示す図である。It is a figure which shows a response | compatibility with save operation A and load operation B when a setting switch is turned ON by the save means and load means corresponding to FIG.1, FIG.2, FIG.3 of this invention. 本発明のロード操作BP、セーブ操作A、ロード操作Bの各対応を示す図である。It is a figure which shows each response | compatibility of load operation BP, save operation A, and load operation B of this invention. 本発明の図6に対応する、ロード操作BPを実施した場合の構成例である。It is a structural example at the time of implementing load operation BP corresponding to FIG. 6 of this invention. 従来のセーブ手段及びロード手段を用いた場合の、セーブ操作Aとロード操作Bの対応を示す図である。It is a figure which shows the response | compatibility of the save operation A and the load operation B at the time of using the conventional save means and load means.

符号の説明Explanation of symbols

1 識別手段
2 実装手段
3 機械語変換手段
4 設定スイッチ
5 ユーザプログラム
6 個別情報
7 機械語逆変換手段
8 検出手段
9 照合手段
10 処理手段
100 ファームウェア
101 第1記憶手段
102 CPU
103 カードリーダ・ライタ
104 第2記憶手段
105 入出力部
DESCRIPTION OF SYMBOLS 1 Identification means 2 Mounting means 3 Machine language conversion means 4 Setting switch 5 User program 6 Individual information 7 Machine language reverse conversion means 8 Detection means 9 Verification means 10 Processing means 100 Firmware 101 First storage means 102 CPU
103 Card Reader / Writer 104 Second Storage Unit 105 Input / Output Unit

Claims (5)

ユーザプログラムを記録した記録媒体の挿入によって又は通信インタフェースを介した管理用コンピュータからの所定の操作によって前記ユーザプログラムを前記記録媒体にセーブするPLC構成モジュールのセーブ手段において、
前記PLC構成モジュールを識別する機器別の固有情報を埋め込む識別キー付加モード又はその埋め込みを省略する識別キー無付加モードかを示す識別値を読み取る識別手段と、
前記識別値が前記付加モードのとき前記固有情報を前記ユーザプログラム内に埋め込む実装手段と、
を備えたことを特徴とするPLC構成モジュールのセーブ手段。
In a PLC configuration module saving means for saving the user program in the recording medium by inserting a recording medium in which the user program is recorded or by a predetermined operation from a management computer via a communication interface,
An identification unit that reads an identification value indicating an identification key addition mode in which unique information for each device for identifying the PLC configuration module is embedded or an identification key non-addition mode in which the embedding is omitted;
Mounting means for embedding the unique information in the user program when the identification value is the additional mode;
A means for saving a PLC configuration module.
前記識別手段は、前記PLC構成モジュールに設けた前記識別キー付加モードと前記識別キー無付加モードとを切換える設定スイッチの既定値を読み取ることを特徴とする請求項1に記載のPLC構成モジュールのセーブ手段。   2. The PLC configuration module save according to claim 1, wherein the identification unit reads a default value of a setting switch for switching between the identification key addition mode and the identification key non-addition mode provided in the PLC configuration module. means. 前記固有情報は、前記PLC構成モジュールに付与されたMACアドレス値または製造番号であることを特徴とする請求項1に記載のPLC構成モジュールのセーブ手段。   2. The PLC configuration module saving means according to claim 1, wherein the unique information is a MAC address value or a serial number assigned to the PLC configuration module. 前記実装手段は、前記固有情報を、前記ユーザプログラムのソースリスト内に埋め込むことを特徴とする請求項1から請求項3までに記載のPLC構成モジュールのセーブ手段。   4. The PLC configuration module saving means according to claim 1, wherein the mounting means embeds the specific information in a source list of the user program. 5. 前記固有情報が埋め込まれた前記ユーザプログラムを機械語に変換する機械語変換手段を更に備えたことを特徴とする、請求項1に記載のPLC構成モジュールのセーブ手段。   The PLC configuration module saving means according to claim 1, further comprising machine language conversion means for converting the user program in which the unique information is embedded into a machine language.
JP2004290929A 2004-10-04 2004-10-04 PLC configuration module save means Expired - Fee Related JP4582399B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004290929A JP4582399B2 (en) 2004-10-04 2004-10-04 PLC configuration module save means

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004290929A JP4582399B2 (en) 2004-10-04 2004-10-04 PLC configuration module save means

Publications (2)

Publication Number Publication Date
JP2006106998A JP2006106998A (en) 2006-04-20
JP4582399B2 true JP4582399B2 (en) 2010-11-17

Family

ID=36376686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004290929A Expired - Fee Related JP4582399B2 (en) 2004-10-04 2004-10-04 PLC configuration module save means

Country Status (1)

Country Link
JP (1) JP4582399B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008084631A1 (en) * 2007-01-10 2008-07-17 Mitsubishi Electric Corporation Pprogrammable indicator, control system, and backup/restore processing method
JP2010257245A (en) * 2009-04-24 2010-11-11 Mitsubishi Electric Corp Programmable controller and ladder program creation device
US20220164464A1 (en) * 2019-03-14 2022-05-26 Omron Corporation Control system, method, and control device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57111792A (en) * 1980-12-29 1982-07-12 Fanuc Ltd Program copying preventing system
JPS6115253A (en) * 1984-06-30 1986-01-23 Toshiba Corp Id code adding system
JPH08137535A (en) * 1994-11-08 1996-05-31 Mitsubishi Electric Corp Numerical controller and option management system therefor
JP2003500640A (en) * 1999-05-20 2003-01-07 エーアーデーエス・ドイチュラント・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング Apparatus for measuring pressure, sound and vibration, and method for flow analysis at the surface of a structural part
JP2003050640A (en) * 2001-08-07 2003-02-21 Matsushita Electric Ind Co Ltd Method for preventing copy of software
JP2004139539A (en) * 2002-10-15 2004-05-13 Atsushi Takahashi Method of delivering software

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57111792A (en) * 1980-12-29 1982-07-12 Fanuc Ltd Program copying preventing system
JPS6115253A (en) * 1984-06-30 1986-01-23 Toshiba Corp Id code adding system
JPH08137535A (en) * 1994-11-08 1996-05-31 Mitsubishi Electric Corp Numerical controller and option management system therefor
JP2003500640A (en) * 1999-05-20 2003-01-07 エーアーデーエス・ドイチュラント・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング Apparatus for measuring pressure, sound and vibration, and method for flow analysis at the surface of a structural part
JP2003050640A (en) * 2001-08-07 2003-02-21 Matsushita Electric Ind Co Ltd Method for preventing copy of software
JP2004139539A (en) * 2002-10-15 2004-05-13 Atsushi Takahashi Method of delivering software

Also Published As

Publication number Publication date
JP2006106998A (en) 2006-04-20

Similar Documents

Publication Publication Date Title
JP3548829B2 (en) Unit, PLC and User Program Processing Method
CN101414263B (en) Software installation method and anti-pirate module
US20030120938A1 (en) Method of securing software against reverse engineering
CN101968834A (en) Encryption method and device for anti-copy plate of electronic product
CN102436388A (en) Method and device for upgrading software of embedded system
CN104915240B (en) A kind of method of atm device software upgrading
JP4582399B2 (en) PLC configuration module save means
US20120310379A1 (en) Programmable controller
US7458100B2 (en) Adding copy protection to a computer program
JPWO2007088605A1 (en) Component information restoration method, component information management method, and electronic apparatus
JP2003512667A (en) Electronic equipment
CN100410893C (en) Method and apparatus for master-controlled applied programm of self-repairing built-in equipment
US10187379B2 (en) Control apparatus and control apparatus system
JP2001256118A (en) Method for protecting microcomputer system, memory device and microcomputer system
US6018712A (en) Method and apparatus for remote program execution to use in computer software protection without the use of encryption
WO2009098881A1 (en) Unauthorized act prevention method
JP2001344096A (en) Information processor and method for controlling the same and recording medium
KR101572854B1 (en) A PLC device with enhanced cyber security
CN109614773B (en) Code self-modifying method and device and electronic equipment
JP6657166B2 (en) Storage control device and storage control method
US20040193914A1 (en) Method for protecting embedded software
WO2022004544A1 (en) Control device
CN116431189B (en) Board card upgrading method, device, equipment and storage medium based on PCIE link
JP2989705B2 (en) Download program protection method
JP4601971B2 (en) How to prevent unauthorized startup of software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100715

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: 20100805

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: 20100818

R150 Certificate of patent or registration of utility model

Ref document number: 4582399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140910

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees