JP5503980B2 - SEQUENCE PROGRAM, RECORDING MEDIUM RECORDING SEQUENCE PROGRAM, PROGRAMMABLE CONTROLLER STORING SEQUENCE PROGRAM, SEQUENCE PROGRAM PROTECTION SUPPORT METHOD AND DEVICE IN PROGRAMMABLE CONTROLLER - Google Patents
SEQUENCE PROGRAM, RECORDING MEDIUM RECORDING SEQUENCE PROGRAM, PROGRAMMABLE CONTROLLER STORING SEQUENCE PROGRAM, SEQUENCE PROGRAM PROTECTION SUPPORT METHOD AND DEVICE IN PROGRAMMABLE CONTROLLER Download PDFInfo
- Publication number
- JP5503980B2 JP5503980B2 JP2010005755A JP2010005755A JP5503980B2 JP 5503980 B2 JP5503980 B2 JP 5503980B2 JP 2010005755 A JP2010005755 A JP 2010005755A JP 2010005755 A JP2010005755 A JP 2010005755A JP 5503980 B2 JP5503980 B2 JP 5503980B2
- Authority
- JP
- Japan
- Prior art keywords
- sequence program
- programmable controller
- dummy data
- sequence
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
本発明は、制御対象である機器の制御シーケンスを書き示すシーケンスプログラム、そうしたシーケンスプログラムを記録した記録媒体、シーケンスプログラムを格納したプログラマブルコントローラ、並びにプログラマブルコントローラにおけるシーケンスプログラムの保護支援方法及び装置に関する。 The present invention relates to a sequence program that writes a control sequence of a device to be controlled, a recording medium that records such a sequence program, a programmable controller that stores the sequence program, and a sequence program protection support method and apparatus in the programmable controller.
図3に一般的なプログラマブルコントローラ(PLC)と周辺装置の構成を示す。プログラマブルコントローラ1は、論理演算、算術演算を行うMPU2、MPU2の制御する内容・手順を記憶したシステムプログラムメモリ3、シーケンスプログラムを格納するシーケンスプログラムメモリ4、シーケンスプログラムの演算結果などを一時的に記憶するデータメモリ5、シーケンスプログラムメモリの内容変更を主目的とした周辺装置インタフェース6とを備えている
FIG. 3 shows a configuration of a general programmable controller (PLC) and peripheral devices. The
周辺装置7は、プログラマブルコントローラ1にて演算処理されるシーケンスプログラムをプログラミングする目的のほか、プログラマブルコントローラ1へのシーケンスプログラム書込み、プログラマブルコントローラ1からのシーケンスプログラム読出し、シーケンスプログラムの動作確認などに使用される。
The
図4に周辺装置7で表示されるシーケンスプログラムの一般的な形態を示す。周辺装置7では、シーケンスプログラムがラダーシンボル形式8や、命令語形式9で表示されるのが一般的であり、制御内容が一目瞭然である。周辺装置7自体は、パソコンのアプリケーションソフトウェアという形態で提供され、価格や納期面での入手性が良い。
FIG. 4 shows a general form of a sequence program displayed on the
暗号鍵を用いた暗号化と復号鍵を用いた復号化によってROMに格納したシーケンスプログラムの不正な複製を防止することが提案されている(特許文献1)。入力されたキーワードを登録されたキーワードとの照合によって、ユーザメモリからユーザプログラムの読み出しを許可することで、ユーザプログラムの無断盗用を防止する機能を備えたプログラマブルコントローラが提案されている(特許文献2)。また、プログラムメモリに格納されたシーケンスプログラムについて、サービスインターフェイスから外部装置への読み出しを禁止する読出禁止処理部を備えることによって、シーケンスプログラムの読み出しを禁止することが提案されている(特許文献3)。更に、フラッシュメモリへのツールによるアクセスできないことを利用して、ユーザプログラムの一部または全部をライブラリ化してフラッシュメモリに格納することによりプロテクトすることが提案されている(特許文献4)。 It has been proposed to prevent unauthorized duplication of a sequence program stored in a ROM by encryption using an encryption key and decryption using a decryption key (Patent Document 1). A programmable controller having a function of preventing unauthorized stealing of a user program by permitting reading of the user program from the user memory by collating the input keyword with a registered keyword has been proposed (Patent Document 2). ). Further, it has been proposed that a sequence program stored in the program memory is prohibited from being read by providing a read prohibition processing unit that prohibits reading from the service interface to an external device (Patent Document 3). . Furthermore, it has been proposed to protect the flash memory by making it part of the user program as a library and storing it in the flash memory by utilizing the fact that the flash memory cannot be accessed by a tool (Patent Document 4).
ベンダーにより各種の産業用機械に組み込まれた状態でエンドユーザの工場に設置される、或いはエンドユーザによりエンドユーザの工場の設備に組み込まれるプログラマブルコントローラにおいて、ユーザプログラム中の保護対象プログラムの入出力を実行すると、所定のハードウェア固有データに置き換えられ、表示プロテクトを掛けることが提案されている(特許文献5)。ユーザプログラム中の特定プログラム部分には特定のPLC以外では動作不能にすること、及び、入出力メモリの所定アドレスの保護対象プログラム部分は、ファンクションブロックに置き換えられると共に、表示プロテクトが掛けられることが開示されている。また、実行プログラムで保護すべき部分があるとき、利用者端末に保護プログラムを読み出して、無効命令プログラムを埋め込んだ後に実行プログラムを利用者端末へ配信又は記録媒体に記録した状態で配布することで、機密性を有するプログラムを不当な解析から守ることが提案されている(特許文献6)。更に、制御手順プログラム中にプログラム出力禁止命令が含まれているとプログラム出力禁止手順がプログラム出力動作を禁止することで制御手順プログラムを保護することが提案されている(特許文献7)。 In a programmable controller that is installed in an end user's factory in a state of being incorporated into various industrial machines by a vendor, or that is installed in an end user's factory equipment by an end user, input / output of a program to be protected in the user program When executed, it has been proposed to replace display data with predetermined hardware-specific data and apply display protection (Patent Document 5). It is disclosed that a specific program part in a user program cannot be operated except for a specific PLC, and a protection target program part at a predetermined address of an input / output memory is replaced with a function block and display protection is applied. Has been. Also, when there is a part to be protected by the execution program, the protection program is read out to the user terminal, and after the invalid instruction program is embedded, the execution program is distributed to the user terminal or distributed in a recording medium It has been proposed to protect a confidential program from unauthorized analysis (Patent Document 6). Furthermore, it has been proposed that when a program output prohibition instruction is included in the control procedure program, the program output prohibition procedure protects the control procedure program by prohibiting the program output operation (Patent Document 7).
上述したように、プログラマブルコントローラには周辺装置インタフェースが設けられていることと、周辺装置自体の入手性が良いため、プログラム作成者以外の第三者が、プログラマブルコントローラに格納されているシーケンスプログラムを容易に読出すことができる。 As described above, since the programmable controller has a peripheral device interface and the peripheral device itself is highly available, a third party other than the program creator can download the sequence program stored in the programmable controller. It can be read easily.
プログラマブルコントローラに格納されているシーケンスプログラムには、制御される設備に関するノウハウや、プログラム記述のテクニックなどが含まれていることが多く、それらの重要な情報が流出し、無断で勝手に使用されてしまう恐れがある。 The sequence program stored in the programmable controller often includes know-how related to the controlled equipment and techniques for program description, and such important information is leaked and used without permission. There is a risk.
本発明は上記事由に鑑みて為されたものであり、その目的は、プログラムメモリに格納されたシーケンスプログラムを支援装置によって読み出せないようにすることで、シーケンスプログラムを保護するプログラマブルコントローラを提供することにある。 The present invention has been made in view of the above-mentioned reasons, and an object thereof is to provide a programmable controller that protects a sequence program by preventing the support program from reading the sequence program stored in the program memory. There is.
上記の課題を解決するため、本発明によるシーケンスプログラムは、プログラマブルントローラのシーケンスプログラムメモリに格納可能であって制御対象である機器の制御シーケンスを書き示すシーケンスプログラムであり、前記プログラマブルントローラの周辺装置に表示させない目的で一部のプログラムが書き換えられていることを特徴とする。また、本発明は、前記シーケンスプログラムが記録されており、コンピュータにおいて用いることができる記録媒体である。 In order to solve the above problems, a sequence program according to the present invention is a sequence program that can be stored in a sequence program memory of a programmable controller and writes a control sequence of a device to be controlled. It is characterized in that some programs are rewritten for the purpose of not displaying them. Further, the present invention is a recording medium in which the sequence program is recorded and can be used in a computer.
また、本発明によるプログラマブルコントローラは、制御対象である機器の制御シーケンスを書き示すシーケンスプログラムを格納する書き換え可能なシーケンスプログラムメモリと、前記シーケンスプログラムメモリに格納された前記シーケンスプログラムに基づいて演算処理するマイクロプロセッサユニットと、前記シーケンスプログラムメモリに格納される前記シーケンスプログラムを書き換えるために周辺装置と接続可能な周辺装置インタフェースとを備えるプログラマブルコントローラであって、前記シーケンスプログラムメモリに格納されている前記シーケンスプログラムは、前記周辺装置に表示させない目的で一部のプログラムが書き換えられている上記のシーケンスプログラムであることを特徴としている。 The programmable controller according to the present invention performs arithmetic processing based on a rewritable sequence program memory for storing a sequence program for writing a control sequence of a device to be controlled, and the sequence program stored in the sequence program memory. A programmable controller comprising a microprocessor unit and a peripheral device interface connectable to a peripheral device for rewriting the sequence program stored in the sequence program memory, the sequence program stored in the sequence program memory Is the above-mentioned sequence program in which a part of the program is rewritten for the purpose not to be displayed on the peripheral device.
プログラマブルコントローラのシーケンスプログラムメモリに格納されているシーケンスプログラムの先頭に書き込まれるダミーデータは、プログラマブルコントローラ側では何も処理しない命令として定義される。このため、プログラマブルコントローラのシーケンスプログラムメモリに格納されているシーケンスプログラムの先頭にダミーデータが書き込まれていようがいまいが、制御内容に影響を与えない。一方、周辺装置側では、プログラマブルコントローラのシーケンスプログラムメモリに格納されているシーケンスプログラムの先頭に書き込まれるダミーデータを不当命令として定義する。 The dummy data written at the head of the sequence program stored in the sequence program memory of the programmable controller is defined as an instruction that does not process anything on the programmable controller side. For this reason, whether or not dummy data is written at the beginning of the sequence program stored in the sequence program memory of the programmable controller does not affect the control contents. On the other hand, on the peripheral device side, dummy data written at the head of the sequence program stored in the sequence program memory of the programmable controller is defined as an illegal instruction.
周辺装置からプログラマブルコントローラのシーケンスプログラムメモリの内容を読み出した際、シーケンスプログラムの先頭にダミーデータが含まれていた場合、周辺装置側では不当なデータが含まれていると判断して、周辺装置上にシーケンスプログラムを表示しないようにすることで、シーケンスプログラムが保護される。逆に、周辺装置により読み出されたプログラマブルコントローラのシーケンスプログラムの1ステップ目にダミーデータが含まれていない場合は、周辺装置上にシーケンスプログラムを表示する。 When reading the contents of the sequence program memory of the programmable controller from the peripheral device, if dummy data is included at the beginning of the sequence program, the peripheral device determines that it contains illegal data and By preventing the sequence program from being displayed on the screen, the sequence program is protected. On the other hand, if dummy data is not included in the first step of the sequence program of the programmable controller read by the peripheral device, the sequence program is displayed on the peripheral device.
また、本発明は、プログラマブルコントローラ内に格納されたシーケンスプログラムを、当該シーケンスプログラムに書き示された制御シーケンスで制御される制御対象の制御内容に影響を与えることなく、且つ周辺装置に表示させない目的で、一部を書き換えることを特徴とするプログラマブルコントローラにおけるシーケンスプログラムの保護支援方法である。 Another object of the present invention is to prevent the sequence program stored in the programmable controller from being displayed on the peripheral device without affecting the control content of the controlled object controlled by the control sequence written in the sequence program. The sequence program protection support method in the programmable controller is characterized in that a part is rewritten.
更に、本発明は、プログラマブルコントローラのシーケンスプログラムメモリに格納された又は格納されることになるシーケンスプログラムの一部を書き換えることを特徴とするプログラマブルコントローラにおけるシーケンスプログラム保護支援装置である。 Furthermore, the present invention is a sequence program protection support apparatus in a programmable controller, wherein a part of the sequence program stored in or to be stored in the sequence program memory of the programmable controller is rewritten.
具体的には、プログラマブルコントローラのシーケンスプログラムメモリに格納されているシーケンスプログラムの先頭に、1ステップのダミーデータを書き込む支援装置を用いる。この支援装置は、周辺装置とは異なる形態でパソコンのアプリケーションとして提供される。 Specifically, a support device for writing one-step dummy data at the head of the sequence program stored in the sequence program memory of the programmable controller is used. This support device is provided as a personal computer application in a form different from that of the peripheral device.
本発明の構成によれば、内部に格納されているシーケンスプログラムを周辺装置に表示させないために、プログラマブルコントローラのシーケンスプログラムメモリに格納されているシーケンスプログラムの一部を書き換えて保護しているので、プログラマブルコントローラのシーケンスプログラムメモリが保護されている場合、周辺装置を所有している第三者によって無断でシーケンスプログラムを閲覧することはできないため、シーケンスプログラムのノウハウ流出、シーケンスプログラムの盗用、シーケンスプログラムの改ざんを防止することができる。さらに、プログラマブルコントローラや周辺装置に暗号化処理などの複雑な手段を実装することなく、シーケンスプログラムが保護されるという利点を有する。 According to the configuration of the present invention, in order not to display the sequence program stored in the peripheral device on the peripheral device, a part of the sequence program stored in the sequence program memory of the programmable controller is rewritten and protected. If the sequence program memory of the programmable controller is protected, the third party who owns the peripheral device cannot view the sequence program without permission, so the sequence program know-how leaks, the sequence program is stolen, the sequence program Tampering can be prevented. Furthermore, there is an advantage that the sequence program can be protected without implementing complicated means such as encryption processing in the programmable controller or the peripheral device.
本発明によるプログラマブルコントローラを実施するための形態を説明する前に、一般的なプログラマブルコントローラと支援装置について図5と図6を用いて説明する。 Before describing a mode for implementing a programmable controller according to the present invention, a general programmable controller and a support device will be described with reference to FIGS. 5 and 6.
図5は、周辺装置7に表示されるラダーシンボル形式8あるいは命令語形式9に対応する中間言語の一例である。中間言語とは、ラダーシンボル形式8あるいは命令語形式9とMPU2が処理可能な機械語との中間状態のコードであり、本説明文中ではこれらのコードの集合体をシーケンスプログラムと表現する。
FIG. 5 is an example of an intermediate language corresponding to the
プログラマーによりラダーシンボル形式8あるいは命令語形式9でプログラミングされたシーケンスプログラムは、周辺装置7によって中間言語の形式に変換される。中間言語形式のコードは、周辺装置インタフェース6とMPU2を介してシーケンスプログラムメモリ4に格納される。この一連の動作をシーケンスプログラムの書込みと表現する。
The sequence program programmed by the programmer in the
一方、シーケンスプログラムメモリ4に格納されたシーケンスプログラムを、MPU2と周辺装置インタフェース6を介して周辺装置7に取り込む動作を、シーケンスプログラムの読出しと表現する。読み出された中間言語状態のシーケンスプログラムは、周辺装置7にて逆に変換されてラダーシンボル形式8あるいは命令語形式9で表示される。
On the other hand, the operation of loading the sequence program stored in the
図6は、シーケンスプログラムメモリ4に格納されているシーケンスプログラムの様子である。プログラマブルコントローラ1は、シーケンスプログラムメモリ4に格納されているシーケンスプログラムをステップ1から順次処理し、ステップ7のEND命令が処理されると再びステップ1のコードから順次処理を繰り返す。
FIG. 6 shows the state of the sequence program stored in the
図7は、本発明の一実施形態であるシーケンスプログラム保護支援装置とプログラマブルコントローラの接続図、及びシーケンスプログラム保護支援装置の操作画面である。シーケンスプログラム保護支援装置10は、プログラマブルコントローラ1に接続して用いられており、パソコンのアプリケーションソフトウェアという形態で実装され、操作ウィンドウ11のように保護支援装置10の画面に表示される。操作ウィンドウ11にはProtectボタン12とUnprotectボタン13が配置されている。
FIG. 7 is a connection diagram of a sequence program protection support apparatus and a programmable controller according to an embodiment of the present invention, and an operation screen of the sequence program protection support apparatus. The sequence program
図8は、保護支援装置10の操作ウィンドウ11のProtectボタン12が押下されたときの処理フローチャートである。
プログラマブルコントローラのシーケンスプログラムメモリを保護する場合、使用者は保護支援装置10の操作ウィンドウ11のProtectボタン12を押し下げる(ステップ11;「S11」と略す。以下、同様)。
保護支援装置10ではProtect12ボタンが押下されたことをS11で検出すると、通信によりプログラマブルコントローラ内のシーケンスプログラムを保護支援装置に取り込む(S12)。S12にて保護支援装置10に取り込まれたにシーケンスプログラムはS13にて解析され、1ステップ目のオペコードがNOOP(NOn−OPerationの略。何もしない命令のこと;ダミーデータ)であるか否かがチェックされる。
FIG. 8 is a processing flowchart when the
When protecting the sequence program memory of the programmable controller, the user depresses the
When the
S13でのチェックにおいて、1ステップ目のオペコードがNOOPでない場合、保護支援装置10はプログラマブルコントローラ内のシーケンスプログラムが保護状態にないと判断して、S14の処理へ進む。逆に、1ステップ目のオペコードがNOOPの場合、保護支援装置10はプログラマブルコントローラ内のシーケンスプログラムが保護状態にあると判断して、S16の処理へ進み、S16にて「すでに保護されています」というメッセージを表示した後処理を終了する。
In the check in S13, when the operation code of the first step is not NOOP, the
S14では、S12で取り込んだシーケンスプログラムの1ステップ目にNOOPオペコードを追加して、シーケンスプログラム全体のステップ番号を再構成する。S14で再構成されたシーケンスプログラムは、S15にてプログラマブルコントローラ1へ書き戻される。
In S14, a NOOP opcode is added to the first step of the sequence program fetched in S12 to reconstruct the step numbers of the entire sequence program. The sequence program reconfigured in S14 is written back to the
図9は、保護支援装置10の操作ウィンドウ11のUnprotectボタン13が押下されたときの処理フローチャートである。
プログラマブルコントローラのシーケンスプログラムメモリの保護を解除する場合、使用者は保護支援装置10の操作ウィンドウ9のUnprotectボタン13を押し下げる(S21)。保護支援装置10ではUnprotectボタン13が押下されたことを検出すると、シーケンスプログラムの読み出し、即ち、通信によりプログラマブルコントローラ内のシーケンスプログラムを保護支援装置に取り込む(S22)。
FIG. 9 is a processing flowchart when the
When canceling the protection of the sequence program memory of the programmable controller, the user depresses the
S22にて保護支援装置10に取り込まれたシーケンスプログラムはS23にて解析され、1ステップ目のオペコードがNOOPであるか否かがチェックされる。S22のチェックにおいて、1ステップ目のオペコードがNOOPの場合、保護支援装置10はプログラマブルコントローラ内のシーケンスプログラムが保護状態にあると判断して、S24の処理へ進む。逆に、1ステップ目のオペコードがNOOPでない場合、保護支援装置10はプログラマブルコントローラ内のシーケンスプログラムが保護状態にないと判断して、S26の処理へ進み、S26にて「保護されていないプログラムです」というメッセージを表示した後処理を終了する。
The sequence program fetched into the
S24では、S22で取り込んだシーケンスプログラムの1ステップ目にあるNOOPオペコードを削除して、シーケンスプログラム全体のステップ番号を再構成する。S24で再構成されたシーケンスプログラムは、S25にてプログラマブルコントローラ1へ書き戻される。
In S24, the NOOP opcode at the first step of the sequence program fetched in S22 is deleted, and the step numbers of the entire sequence program are reconfigured. The sequence program reconfigured in S24 is written back to the
図2は、本発明の一実施形態である、周辺装置7に表示されるラダーシンボルあるいは命令語に対応する中間言語であり、中間言語「NOOP」オペコードが追加されていることが特徴である。プログラマブルコントローラ側では、NOOP命令は何もしない命令として解釈される。一方、周辺装置側では、NOOPオペコードを未定義の不当命令として解釈されることが特徴である。
FIG. 2 shows an intermediate language corresponding to a ladder symbol or instruction word displayed on the
図1は、本発明の一実施形態である、シーケンスプログラムメモリ4に格納されている保護状態のシーケンスプログラムの様子である。プログラマブルコントローラ1側では、1ステップ目にNOOPオペコードが格納されていているものの、MPU2はシステムプログラムメモリ3に格納されている中間言語の命令に基づき、NOOPオペコードを何も処理しない命令として処理されるため、シーケンスプログラムメモリ4に格納されているシーケンスプログラムをステップ1から順次処理し、ステップ8のEND命令が処理されると再びステップ1のNOOPオペコードから順次処理を繰り返す。すなわち、シーケンスプログラムが保護状態にあってもプログラマブルコントローラ側の処理内容はまったく影響を受けない。なお、データメモリ5は、マイクロプロセッサユニット2においてシーケンスプログラムの演算処理過程で演算に用いられる値を一時的に格納しておくメモリであり、周辺装置インタフェース6は、既に説明したように、シーケンスプログラムメモリ4に格納されるシーケンスプログラムを書き換えるために周辺装置7と接続可能なインタフェースである。
FIG. 1 shows a state of a protected sequence program stored in a
1 プログラマブルコントローラ 2 MPU
3 システムプログラムメモリ 4 シーケンスプログラムメモリ
5 データメモリ 6 周辺装置インタフェース
7 周辺装置
8 ラダーシンボル形式のシーケンスプログラム
9 命令語形式のシーケンスプログラム
10 シーケンスプログラム保護支援装置
11 シーケンスプログラム保護支援装置の操作ウィンドウ
12 シーケンスプログラム保護支援装置のシーケンスプログラム保護ボタン
13 シーケンスプログラム保護支援装置のシーケンスプログラム保護解除ボタン
1
3
Claims (16)
前記シーケンスプログラムメモリに格納されたシーケンスプログラムは、
当該プログラマブルコントローラ外のシーケンスプログラム保護支援装置に取り込まれ、当該シーケンスプログラム保護支援装置にて、
当該シーケンスプログラムのオペコードがダミーデータであるか否かをチェックされ、当該ダミーデータがプログラマブルコントローラ側では何も処理せず機器の制御内容に影響を与えることがない命令であって、当該シーケンスプログラムを書き換えるための周辺装置側では不当命令として定義されるデータであり、
当該チェック結果、当該オペコードがダミーデータでなく、保護状態にないと判断された場合、前記シーケンスプログラムにダミーデータオペコードが追加されて、シーケンスプログラム全体の処理ステップ番号が再構成され、
当該再構成したシーケンスプログラムは前記プログラマブルコントローラへ書き戻され、
前記プログラマブルコントローラによって実行され、
前記オペコードがダミーデータである場合、前記シーケンスプログラムを表示する周辺装置に前記シーケンスプログラムを表示しないようにして前記プログラマブルコントローラの周辺装置による当該プログラムの書き換えを保護することを特徴とする、シーケンスプログラム。 A sequence program that can be stored in the sequence program memory of the programmable controller and indicates the control sequence of the device to be controlled, and is executed by the programmable controller,
The sequence program stored in the sequence program memory is
Incorporated into the sequence program protection support device outside the programmable controller, in the sequence program protection support device,
It is checked whether the operation code of the sequence program is dummy data, and the dummy data is an instruction that does not process anything on the programmable controller side and does not affect the control content of the device. It is data defined as an illegal instruction on the peripheral device side for rewriting,
As a result of the check, if it is determined that the operation code is not dummy data and is not in a protected state, a dummy data operation code is added to the sequence program, and the processing step number of the entire sequence program is reconfigured.
The reconstructed sequence program is written back to the programmable controller,
Executed by the programmable controller ;
When the operation code is dummy data, the sequence program is protected from being rewritten by the peripheral device of the programmable controller by preventing the sequence program from being displayed on the peripheral device displaying the sequence program.
前記シーケンスプログラムに基づいて実行されるマイクロプロセッサユニットと、
前記シーケンスプログラムを書き換えるために周辺装置と接続可能な周辺装置インタフェースとを備え、前記シーケンスプログラムを保護するシーケンスプログラム保護装置に接続されるプログラマブルコントローラであって、
前記マイクロプロセッサユニットは、
前記シーケンスプログラムメモリに格納されたシーケンスプログラムを当該プログラマブルコントローラ外のシーケンスプログラム保護支援装置に取り込まれ、前記シーケンスプログラム保護支援装置にて、
当該シーケンスプログラムのオペコードがダミーデータであるか否かをチェックし、当該ダミーデータがプログラマブルコントローラ側では何も処理せず機器の制御内容に影響を与えることがない命令であって、当該シーケンスプログラムを書き換えるための周辺装置側では不当命令として定義されるデータであり、
当該チェック結果、当該オペコードがダミーデータでなく、保護状態にないと判断された場合、前記シーケンスプログラムにダミーデータオペコードが追加されて、シーケンスプログラム全体の処理ステップ番号が再構成し、
当該再構成したシーケンスプログラムを前記プログラマブルコントローラへ書き戻されたシーケンスプログラムに基づいて演算処理を実行し、
前記オペコードがダミーデータである場合、前記シーケンスプログラムを表示する周辺装置に前記シーケンスプログラムを表示しないようにして前記プログラマブルコントローラの周辺装置による当該プログラムの書き換えを保護することを特徴とする、ことを特徴とするプログラマブルコントローラ。 A rewritable sequence program memory for storing a sequence program for writing a control sequence of a device to be controlled;
A microprocessor unit executed based on the sequence program;
A programmable controller comprising a peripheral device interface connectable to a peripheral device for rewriting the sequence program, and connected to a sequence program protection device for protecting the sequence program;
The microprocessor unit is
The sequence program stored in the sequence program memory is taken into the sequence program protection support device outside the programmable controller, and in the sequence program protection support device,
It is an instruction that checks whether the operation code of the sequence program is dummy data, and the dummy data does not process anything on the programmable controller side and does not affect the control content of the device. It is data defined as an illegal instruction on the peripheral device side for rewriting,
As a result of the check, if it is determined that the operation code is not dummy data and is not in a protected state, a dummy data operation code is added to the sequence program, and the processing step number of the entire sequence program is reconfigured.
Based on the sequence program written back to the programmable controller, the reconstructed sequence program is executed ,
When the operation code is dummy data, rewriting of the program by the peripheral device of the programmable controller is protected by not displaying the sequence program on the peripheral device displaying the sequence program. Programmable controller.
前記プログラマブルコントローラ内のシーケンスプログラムを、当該プログラマブルコントローラ外のシーケンスプログラム保護支援装置に取り込み、
当該シーケンスプログラム保護支援装置にて、シーケンスプログラムを解析し、
当該シーケンスプログラムのオペコードがダミーデータであるか否かをチェックし、当該ダミーデータがプログラマブルコントローラ側では何も処理せず機器の制御内容に影響を与えることがない命令であって、当該シーケンスプログラムを書き換えるための周辺装置側では不当命令として定義されるデータであり、
ダミーデータでない場合、保護状態にないと判断し、
前記シーケンスプログラムにダミーデータオペコードを追加し、シーケンスプログラム全体のステップ番号を再構成し、
当該再構成したシーケンスプログラムを前記プログラマブルコントローラへ書き戻し、
前記オペコードがダミーデータである場合、前記シーケンスプログラムを表示する周辺装置に前記シーケンスプログラムを表示しないようにして前記プログラマブルコントローラの周辺装置による前記シーケンスプログラムの書き換えを保護するプログラマブルコントローラにおけるシーケンスプログラムの保護支援方法。 Program for the purpose of not displaying the sequence program on the peripheral device without affecting the control contents of the control target controlled by the control sequence written in the sequence program, and storing the sequence program stored in the programmable controller A protection support method for protecting a sequence program in the programmable controller with a sequence program protection support device for rewriting a part of
The sequence program in the programmable controller is taken into the sequence program protection support device outside the programmable controller,
In the sequence program protection support device, analyze the sequence program,
It is an instruction that checks whether the operation code of the sequence program is dummy data, and the dummy data does not process anything on the programmable controller side and does not affect the control content of the device. It is data defined as an illegal instruction on the peripheral device side for rewriting,
If it is not dummy data, it is determined that it is not in a protected state,
Add dummy data opcode to the sequence program, reconfigure the step number of the whole sequence program,
Write the reconfigured sequence program back to the programmable controller,
When the operation code is dummy data, the sequence program is protected from being rewritten by the peripheral device of the programmable controller so that the sequence program is not displayed on the peripheral device that displays the sequence program. Method.
前記シーケンスプログラム保護支援装置は、
前記プログラマブルコントローラ内のシーケンスプログラムを取り込み、当該取り込んだシーケンスプログラムを解析し、当該シーケンスプログラムのオペコードがダミーデータであるか否かをチェックし、ダミーデータでない場合、保護状態にないと判断し、当該ダミーデータがプログラマブルコントローラ側では何も処理せず機器の制御内容に影響を与えることがない命令であって、当該シーケンスプログラムを書き換えるための周辺装置側では不当命令として定義されるデータであり、
前記シーケンスプログラムにダミーデータオペコードを追加し、シーケンスプログラム全体のステップ番号を再構成し、当該再構成したシーケンスプログラムを前記プログラマブルコントローラへ書き戻し、
前記オペコードがダミーデータである場合、前記シーケンスプログラムを表示する周辺装置に前記シーケンスプログラムを表示しないようにして前記プログラマブルコントローラの周辺装置による当該プログラムの書き換えを保護することを特徴とする、ことを特徴とするプログラマブルコントローラにおけるシーケンスプログラム保護支援装置。 A sequence program protection support apparatus in a programmable controller capable of rewriting a part of an operation code of a sequence program stored or to be stored in a sequence program memory of a programmable controller,
The sequence program protection support device includes:
The capture sequence program in the programmable controller, analyzes the captured sequence program, the opcode of the sequence program checks whether the dummy data, if not the dummy data, determined not to protection state, the The dummy data is an instruction that does not process anything on the programmable controller side and does not affect the control content of the device, and is defined as an illegal instruction on the peripheral device side for rewriting the sequence program,
Add a dummy data opcode to the sequence program, to reconstruct the step number of the entire sequence program to back write sequence program the reconstituted to the programmable controller,
When the operation code is dummy data, rewriting of the program by the peripheral device of the programmable controller is protected by not displaying the sequence program on the peripheral device displaying the sequence program. A sequence program protection support device in a programmable controller.
ことを特徴とする請求項8又は9に記載のプログラマブルコントローラにおけるシーケンスプログラム保護支援装置。 In the sequence program protection support device, the protection button that is an operation to rewrite a part of the operation code of the sequence program and a protection release button that is an operation to release the rewrite of the sequence program are arranged. A sequence program protection support apparatus in a programmable controller according to claim 8 or 9, further comprising a display unit that displays the operation window displayed on the screen.
前記シーケンスプログラムは、前記シーケンスプログラムメモリを保護する操作を受け付けた保護支援装置に取り込まれ、保護状態であるか否かを判断され、
保護状態にないと判断された前記シーケンスプログラムは、前記プログラマブルコントローラに何も処理をさせない命令であるダミーデータを追加され、当該ダミーデータがプログラマブルコントローラ側では何も処理せず機器の制御内容に影響を与えることがない命令であって、当該シーケンスプログラムを書き換えるための周辺装置側では不当命令として定義されるデータであり、
前記ダミーデータが追加されたシーケンスプログラムは、全体ステップ番号を再構成され、
全体ステップ番号を再構成された前記シーケンスプログラムは、前記プログラマブルコントローラへ書き戻され、前記プログラマブルコントローラに処理を実行され、
前記オペコードがダミーデータである場合、前記シーケンスプログラムを表示する周辺装置に前記シーケンスプログラムを表示しないようにして前記プログラマブルコントローラの周辺装置による当該プログラムの書き換えを保護することを特徴とする、ことを特徴とするシーケンスプログラム。 In the sequence program that can be stored in the sequence program memory of the programmable controller and write the control sequence of the device to be controlled,
The sequence program is taken into a protection support device that has received an operation to protect the sequence program memory, and is determined whether or not it is in a protected state.
The sequence program determined not to be in the protected state is added with dummy data, which is an instruction that causes the programmable controller to perform no processing, and the dummy data does not process anything on the programmable controller side and affects the control contents of the device. Is a data that is defined as an illegal instruction on the peripheral device side for rewriting the sequence program,
The sequence program to which the dummy data is added is reconfigured with the entire step number,
The sequence program in which the whole step number is reconfigured is written back to the programmable controller and processed by the programmable controller .
When the operation code is dummy data, rewriting of the program by the peripheral device of the programmable controller is protected by not displaying the sequence program on the peripheral device displaying the sequence program. A sequence program.
追加された前記ダミーデータは、前記シーケンスプログラムの1ステップ目のオペコードとして追加されること
を特徴とするシーケンスプログラム。 The sequence program according to claim 11,
The added dummy data is added as an operation code of the first step of the sequence program.
前記プログラマブルコントローラへ書き戻されたシーケンスプログラムに含まれるダミーデータを何もしない処理としてプログラマブルコントローラを制御すること
を特徴とするプログラマブルコントローラ。 A programmable controller in which the sequence program according to claim 11 or 12 is stored,
A programmable controller, wherein the programmable controller is controlled as a process that does not perform any dummy data included in the sequence program written back to the programmable controller.
前記シーケンスプログラムは、前記シーケンスプログラムメモリを保護する操作を受け付けた保護支援装置に取り込まれ、保護状態であるか否かを判断され、
保護状態にあると判断された前記シーケンスプログラムは、前記プログラマブルコントローラに何も処理をさせない命令であるダミーデータを削除され、当該ダミーデータがプログラマブルコントローラ側では何も処理せず機器の制御内容に影響を与えることがない命令であって、当該シーケンスプログラムを書き換えるための周辺装置側では不当命令として定義されるデータであり、
前記ダミーデータが削除されたシーケンスプログラムは、全体ステップ番号を再構成され、
全体ステップ番号を再構成された前記シーケンスプログラムは、前記プログラマブルコントローラへ書き戻され前記プログラマブルコントローラに処理を実行され、
前記オペコードがダミーデータである場合、前記シーケンスプログラムを表示する周辺装置に前記シーケンスプログラムを表示しないようにして前記プログラマブルコントローラの周辺装置による当該プログラムの書き換えを保護することを特徴とする、ことを特徴とするシーケンスプログラム。 In the sequence program that can be stored in the sequence program memory of the programmable controller and write the control sequence of the device to be controlled,
The sequence program is taken into a protection support device that has received an operation to protect the sequence program memory, and is determined whether or not it is in a protected state.
In the sequence program determined to be in the protected state, the dummy data, which is an instruction that does not cause the programmable controller to process anything, is deleted, and the dummy data does not process anything on the programmable controller side and affects the control contents of the device. Is a data that is defined as an illegal instruction on the peripheral device side for rewriting the sequence program,
The sequence program from which the dummy data has been deleted is reconfigured with the entire step number,
The sequence program in which the whole step number is reconfigured is written back to the programmable controller and processed by the programmable controller,
When the operation code is dummy data, rewriting of the program by the peripheral device of the programmable controller is protected by not displaying the sequence program on the peripheral device displaying the sequence program. A sequence program.
削除された前記ダミーデータは、前記シーケンスプログラムの1ステップ目のオペコードとして削除されること
を特徴とするシーケンスプログラム。 A sequence program according to claim 14,
The deleted dummy data is deleted as an operation code of the first step of the sequence program.
前記プログラマブルコントローラへ書き戻されたダミーデータが削除されたシーケンスプログラムをもってプログラマブルコントローラを制御すること
を特徴とするプログラマブルコントローラ。 A programmable controller in which the sequence program according to claim 14 or 15 is stored,
A programmable controller, wherein the programmable controller is controlled with a sequence program from which the dummy data written back to the programmable controller is deleted.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010005755A JP5503980B2 (en) | 2010-01-14 | 2010-01-14 | SEQUENCE PROGRAM, RECORDING MEDIUM RECORDING SEQUENCE PROGRAM, PROGRAMMABLE CONTROLLER STORING SEQUENCE PROGRAM, SEQUENCE PROGRAM PROTECTION SUPPORT METHOD AND DEVICE IN PROGRAMMABLE CONTROLLER |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010005755A JP5503980B2 (en) | 2010-01-14 | 2010-01-14 | SEQUENCE PROGRAM, RECORDING MEDIUM RECORDING SEQUENCE PROGRAM, PROGRAMMABLE CONTROLLER STORING SEQUENCE PROGRAM, SEQUENCE PROGRAM PROTECTION SUPPORT METHOD AND DEVICE IN PROGRAMMABLE CONTROLLER |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011145860A JP2011145860A (en) | 2011-07-28 |
| JP5503980B2 true JP5503980B2 (en) | 2014-05-28 |
Family
ID=44460658
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010005755A Active JP5503980B2 (en) | 2010-01-14 | 2010-01-14 | SEQUENCE PROGRAM, RECORDING MEDIUM RECORDING SEQUENCE PROGRAM, PROGRAMMABLE CONTROLLER STORING SEQUENCE PROGRAM, SEQUENCE PROGRAM PROTECTION SUPPORT METHOD AND DEVICE IN PROGRAMMABLE CONTROLLER |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5503980B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12010495B2 (en) | 2020-06-01 | 2024-06-11 | Harman International Industries, Incorporated | Techniques for audio track analysis to support audio personalization |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05233036A (en) * | 1992-02-18 | 1993-09-10 | Keyence Corp | Control sequence program reader for programmable controller |
| JP3688827B2 (en) * | 1996-10-25 | 2005-08-31 | 三菱電機株式会社 | Peripheral device of programmable controller |
| JP2000056818A (en) * | 1998-05-29 | 2000-02-25 | Omron Corp | Programmable logic controller and control method thereof |
| JP2003233536A (en) * | 2002-02-06 | 2003-08-22 | Sony Corp | Data processing device |
| JP2008305060A (en) * | 2007-06-06 | 2008-12-18 | Oki Electric Ind Co Ltd | Communication apparatus |
-
2010
- 2010-01-14 JP JP2010005755A patent/JP5503980B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011145860A (en) | 2011-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4814319B2 (en) | Data processing apparatus, method, program, integrated circuit, program generation apparatus | |
| EP0768601B1 (en) | Device for executing enciphered program | |
| CN101231622B (en) | Data storage method and equipment base on flash memory, as well as data fetch method and apparatu | |
| CN106599629B (en) | A kind of Android application program reinforcement method and device | |
| EP1366404B1 (en) | Digital data protection arrangement | |
| US8751817B2 (en) | Data processing apparatus and validity verification method | |
| US20110271350A1 (en) | method for protecting software | |
| US20100070953A1 (en) | Compiler system and a method of compiling a source code into an encrypted machine language code | |
| EP2082352A2 (en) | Method and device for protecting software from unauthorized use | |
| CN106529300A (en) | Semiconductor device | |
| US9256756B2 (en) | Method of encryption and decryption for shared library in open operating system | |
| JP5503980B2 (en) | SEQUENCE PROGRAM, RECORDING MEDIUM RECORDING SEQUENCE PROGRAM, PROGRAMMABLE CONTROLLER STORING SEQUENCE PROGRAM, SEQUENCE PROGRAM PROTECTION SUPPORT METHOD AND DEVICE IN PROGRAMMABLE CONTROLLER | |
| CN109271181A (en) | Application compatibility repair method, terminal device and computer readable storage medium | |
| CN109614773B (en) | Code self-modifying method and device and electronic equipment | |
| CN102763046A (en) | Programmable controller and programming device | |
| KR101638257B1 (en) | Method for protecting source code of application and apparatus for performing the method | |
| US7293266B2 (en) | Plurality of loader modules with a CO- ordinator module where selected loader module executes and each loader module execute | |
| JP2005292959A (en) | Nonvolatile memory module and nonvolatile memory system | |
| JP4883016B2 (en) | Vending machine control system | |
| JP2006331130A (en) | Programmable controller | |
| JP6215468B2 (en) | Program protector | |
| JP2007128172A (en) | Programmable controller | |
| KR20040097435A (en) | Software unlawfulness reproduction preventing device using universal serial bus portable storing device and preventing method thereof | |
| JP5103668B2 (en) | Semiconductor memory and information processing system | |
| CN120688065A (en) | PLC Encryption Subroutine Calling Method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120607 |
|
| A977 | Report on retrieval |
Effective date: 20130529 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130604 |
|
| A521 | Written amendment |
Effective date: 20130730 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
| A131 | Notification of reasons for refusal |
Effective date: 20131105 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
| A521 | Written amendment |
Effective date: 20131127 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
| 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: 20140225 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140317 |
|
| R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 5503980 Free format text: JAPANESE INTERMEDIATE CODE: R150 Country of ref document: JP |