TW201433891A - Control program management apparatus, controller apparatus, and control system - Google Patents

Control program management apparatus, controller apparatus, and control system Download PDF

Info

Publication number
TW201433891A
TW201433891A TW102112626A TW102112626A TW201433891A TW 201433891 A TW201433891 A TW 201433891A TW 102112626 A TW102112626 A TW 102112626A TW 102112626 A TW102112626 A TW 102112626A TW 201433891 A TW201433891 A TW 201433891A
Authority
TW
Taiwan
Prior art keywords
control program
identification code
device identification
arrangement
value
Prior art date
Application number
TW102112626A
Other languages
Chinese (zh)
Inventor
Ryota Hashimoto
Takao Katsuta
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of TW201433891A publication Critical patent/TW201433891A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

A computer apparatus (101) manages a control program wherein a device identifier which is an identifier of a device is described. Using a machine ID which is a unique value for a controller apparatus (102) which executes the control program, the computer apparatus (101) generates a pseudorandom number, and, using the generated pseudorandom number, substitutes another device identifier for the device identifier which is described in the control program. The computer apparatus (101) outputs the control program for which the device identifier has been substituted to the controller apparatus (102).

Description

控制程式管理裝置、控制裝置以及控制系統 Control program management device, control device and control system

本發明係有關一種將例如使用於工廠自動化(Factory Automation:FA)系統中的控制程式難讀化。 The present invention relates to a control program that is, for example, used in a factory automation (FA) system.

在FA系統中,配置有用以控制工場內的生產機器之動作的控制裝置(以下也簡稱為控制器)。 In the FA system, a control device (hereinafter also simply referred to as a controller) that is useful for controlling the operation of the production machine in the factory is configured.

該控制器係稱為可程式化邏輯控制器(Porgrammable Logic Controller:PLC)。 This controller is called a Programmable Logic Controller (PLC).

用以使PLC動作之控制程式係使用編程軟體並根據階梯式等語言加以作成(設計)。 The control program for causing the PLC to operate is created (designed) using a programming software in a language such as a ladder.

被作成的控制程式(例如階梯形式)係根據編程軟體而轉換為可實行的形式(指令),並透過通訊路線而寫入到PLC。 The created control program (for example, the ladder form) is converted into a practicable form (instruction) according to the programming software, and written to the PLC through the communication route.

編程軟體係作為在Windows(商標登錄)上動作的軟體而廣泛販售,只要是Windows(商標登錄)動作的電腦、及編程軟體的話,使用電腦就易於進行從PLC之控制程式的讀出、對PLC之控制程式的寫入。 The programming software system is widely sold as a software that operates on Windows (trademark registration). As long as it is a Windows (trademark registration) operation computer and programming software, it is easy to read from the PLC control program using a computer. Write of the control program of the PLC.

為此,近年來發生了所謂從在工場已有操作結果的PLC取走控制程式、或是在將控制程式從編程軟體寫入到PLC時,竊取通訊路線流通的資料之現象。 For this reason, in recent years, there has been a phenomenon in which a control program is taken from a PLC having an operation result at a factory, or when a control program is written from a programming software to a PLC, data that is circulated in a communication route is stolen.

根據此等行為,發生了所謂非正當援用控制程式而製造 PLC的仿製品之問題。 According to these actions, a so-called improper use control program was created. The problem of the imitation of PLC.

就一般性之程式的仿製品對策手法而言,有利用難讀化之程式保護。 In the case of generic program countermeasures, it is protected by a program that is difficult to read.

根據程式的難讀化而使解讀成本增加,即使程式被竊取,對於攻擊者也難以得到有用的資訊。 According to the difficulty of reading the program, the cost of interpretation increases, and even if the program is stolen, it is difficult for an attacker to obtain useful information.

作為具體例,在專利文獻1中藉由在程式實行時將程式本身改寫而使動作複雜化,而使程式難讀化,並增加解讀成本。 As a specific example, in Patent Document 1, the operation is complicated by rewriting the program itself when the program is executed, and the program is difficult to read, and the interpretation cost is increased.

又,在專利文獻2、專利文獻3中,將程式內的資料編碼而進行難讀化,並藉由在程式實行中時解除編碼而使程式正常實行。 Further, in Patent Document 2 and Patent Document 3, the data in the program is encoded and hard-to-read, and the program is normally executed by releasing the code when the program is being executed.

【先前技術文獻】 [Previous Technical Literature] 【專利文獻】 [Patent Literature]

專利文獻1:日本特開2011-1170836號公報 Patent Document 1: Japanese Laid-Open Patent Publication No. 2011-1170836

專利文獻2:日本特開2007-298847號公報 Patent Document 2: Japanese Laid-Open Patent Publication No. 2007-298847

專利文獻3:日本特開2005-049925號公報 Patent Document 3: Japanese Laid-Open Patent Publication No. 2005-049925

但是,在對於控制程式施行難讀化時必須有FA系統特有的要件。 However, there must be an element specific to the FA system when it is difficult to read the control program.

作為對於控制程式的難讀化之FA系統特有的要件,舉例如下: As an essential element of the FA system that is difficult to read for the control program, examples are as follows:

(1)控制程式要有利用階梯式語言等FA系統特有的語言被記述之可能性 (1) The possibility that the control program is described in a language unique to the FA system such as a step language

(2)因為從PLC讀出、編輯控制程式,因此可以將難讀化 的控制程式回復到難讀化前的控制程式 (2) It is difficult to read because the control program is read and edited from the PLC. Control program reverts to the control program before reading

(3)實行時不會減低實行速度 (3) Implementation speed will not be reduced

因為控制程式之處理的實行時點為非常重要,因此幾乎不允許實行速度減低。 Since the timing of the execution of the control program is very important, speed reduction is hardly allowed.

(4)不會變更實行時的動作 (4) Will not change the action at the time of implementation

有根據動作的變更而造成處理的實行時點偏移之可能性。 There is a possibility that the processing will be shifted according to the change of the action.

在專利文獻1中,藉由在程式實行時使程式進行自身改寫,而將控制複雜化,進行難讀化。 In Patent Document 1, the program is rewritten by the program itself when the program is executed, and the control is complicated and difficult to read.

又,在專利文獻2、專利文獻3中,將程式內的資料編碼而進行難讀化,並藉由在程式實行中時解除編碼而使程式正常實行。 Further, in Patent Document 2 and Patent Document 3, the data in the program is encoded and hard-to-read, and the program is normally executed by releasing the code when the program is being executed.

因為此等難讀化手法會增加難讀化對象的動作,而造成實行速度的減低。 Because these difficult-to-read techniques increase the movement of difficult-to-read objects, the speed of implementation is reduced.

因此,此等難讀化手法對於控制程式的適用係非常困難的。 Therefore, these difficult-to-read methods are very difficult to apply to the control program.

本發明係為有鑑於上述者,以進行對於控制程式之效果性的難讀化,而使控制程式的解讀成本增加,使非正當援用變得困難為主要目的。 The present invention has been made in view of the above, and it is mainly for the purpose of making it difficult to read the effect of the control program, increasing the cost of reading the control program, and making the improper use difficult.

關於本發明之控制程式管理裝置,其係為管理記述有裝置的辨識碼即裝置辨識碼的控制程式之控制程式管理裝置,其特徵在於包括:使用固有在實行前述控制程式的控制裝置之數值即控制器固有值,產生虛擬隨機數之虛擬隨機數產生部; 使用利用前述虛擬隨機數產生部產生的虛擬隨機數,將前述控制程式所記述的裝置辨識碼置換為其他的裝置辨識碼之裝置辨識碼置換部;及 將利用前述裝置辨識碼置換部置換裝置辨識碼後的控制程式輸出到前述控制裝置之輸出部。 The control program management device according to the present invention is a control program management device that manages a control program for describing a device identification code, which is an identification code of the device, and includes a value of a control device that is inherent to the control program. a controller-specific value, generating a virtual random number generating portion of the virtual random number; a device identification code replacing unit that replaces the device identification code described in the control program with another device identification code by using a virtual random number generated by the virtual random number generating unit; and The control program after the device identification code replacement unit replacement device identification code is output to the output unit of the control device.

根據本發明,由於使用根據控制器固有值之虛擬隨機數,將控制程式內的裝置辨識碼置換為其他的裝置辨識碼,因此在控制裝置以外的裝置中無法從置換後的裝置辨識碼回復到置換前的裝置辨識碼。 According to the present invention, since the device identification code in the control program is replaced with another device identification code by using a virtual random number according to the inherent value of the controller, it is not possible to reply from the replaced device identification code to the device other than the control device. Device identification code before replacement.

為此,可以將控制程式難讀化,使控制程式的非正當援用變得困難。 For this reason, the control program can be difficult to read, making it difficult to improperly invoke the control program.

又,根據本發明,由於只置換裝置辨識碼,因此不會使從置換後的裝置辨識碼回復到置換前的裝置辨識碼後之控制程式實行時的實行速度減低,又也不會變更實行時的動作。 Moreover, according to the present invention, since only the device identification code is replaced, the execution speed when the control program after the replacement device identification code is returned to the device identification code before the replacement is not reduced, and the execution time is not changed. Actions.

101‧‧‧電腦裝置 101‧‧‧Computer equipment

102‧‧‧控制裝置 102‧‧‧Control device

103‧‧‧控制程式管理部 103‧‧‧Control Program Management Department

104‧‧‧生產機器 104‧‧‧Production machines

105‧‧‧通訊線路 105‧‧‧Communication lines

106‧‧‧通訊線路 106‧‧‧Communication lines

107‧‧‧通訊裝置 107‧‧‧Communication device

110‧‧‧輸入部 110‧‧‧ Input Department

111‧‧‧控制程式作成部 111‧‧‧Control Program Creation Department

112‧‧‧控制程式管理部 112‧‧‧Control Program Management Department

113‧‧‧控制程式轉換部 113‧‧‧Control Program Conversion Department

114‧‧‧控制程式記憶部 114‧‧‧Control Program Memory

115‧‧‧難讀化處理部 115‧‧‧Difficult reading processing department

116‧‧‧通訊處理部 116‧‧‧Communication Processing Department

121‧‧‧通訊控制部 121‧‧‧Communication Control Department

122‧‧‧機器ID管理部 122‧‧‧ Machine ID Management Department

123‧‧‧附加資訊管理部 123‧‧‧Additional Information Management Department

124‧‧‧控制程式記憶部 124‧‧‧Control Program Memory

125‧‧‧難讀化解除處理部 125‧‧‧Difficult to read and release processing department

126‧‧‧控制程式實行部 126‧‧‧Control Program Implementation Department

128‧‧‧內部匯流排 128‧‧‧Internal busbar

131‧‧‧控制程式 131‧‧‧Control program

132‧‧‧難讀化控制程式 132‧‧‧Difficult to read control program

133‧‧‧附加資訊 133‧‧‧Additional information

134‧‧‧機器ID 134‧‧‧ Machine ID

211‧‧‧CPU 211‧‧‧CPU

212‧‧‧記憶體 212‧‧‧ memory

213‧‧‧輸入/出裝置 213‧‧‧Input/Output

214‧‧‧外部記憶裝置 214‧‧‧External memory device

216‧‧‧內部匯流排 216‧‧‧Internal busbar

301‧‧‧控制程式轉換處理部 301‧‧‧Control Program Conversion Processing Department

302‧‧‧轉換表作成處理部 302‧‧‧Conversion Table Creation Processing Department

303‧‧‧資料處理部 303‧‧‧ Data Processing Department

304‧‧‧控制程式逆轉換處理部 304‧‧‧Control program inverse conversion processing unit

305‧‧‧逆轉換表作成處理部 305‧‧‧ inverse conversion table creation processing department

306‧‧‧附加資訊認證部 306‧‧‧Additional Information Certification Department

307‧‧‧轉換表 307‧‧‧ conversion table

308‧‧‧逆轉換表 308‧‧‧ inverse conversion table

401‧‧‧控制程式逆轉換處理部 401‧‧‧Control program inverse conversion processing unit

402‧‧‧逆轉換表作成處理部 402‧‧‧ inverse conversion table creation processing unit

403‧‧‧資料處理部 403‧‧‧ Data Processing Department

404‧‧‧逆轉換表 404‧‧‧ inverse conversion table

1901‧‧‧控制程式轉換處理部 1901‧‧‧Control Program Conversion Processing Department

1902‧‧‧轉換表作成處理部 1902‧‧‧ Conversion Table Processing Department

1903‧‧‧資料處理部 1903‧‧‧Data Processing Department

1904‧‧‧控制程式逆轉換處理部 1904‧‧‧Control program inverse conversion processing unit

1905‧‧‧逆轉換表作成處理部 1905‧‧‧Reverse conversion table creation processing unit

1906‧‧‧附加資訊認證部 1906‧‧‧Additional Information Certification Department

1907‧‧‧轉換表 1907‧‧‧ conversion table

1908‧‧‧逆轉換表 1908‧‧‧ inverse conversion table

1909‧‧‧表設定資訊 1909‧‧‧Table setting information

2001‧‧‧控制程式逆轉換處理部 2001‧‧‧Control Program Reverse Conversion Processing Department

2002‧‧‧逆轉換表作成處理部 2002‧‧‧ inverse conversion table creation processing department

2003‧‧‧資料處理部 2003‧‧‧ Data Processing Department

2004‧‧‧逆轉換表 2004‧‧‧ inverse conversion table

2005‧‧‧表設定資訊 2005‧‧‧Table setting information

圖1係為顯示關於實施形態1之控制系統的構成例之圖面。 Fig. 1 is a view showing a configuration example of a control system according to the first embodiment.

圖2係為顯示關於實施形態1之電腦裝置的機能構成例之圖面。 Fig. 2 is a view showing an example of the functional configuration of the computer device of the first embodiment.

圖3係為顯示關於實施形態1之控制裝置的機能構成例之圖面。 Fig. 3 is a view showing an example of the functional configuration of the control device according to the first embodiment.

圖4係為顯示關於實施形態1之電腦裝置的硬體構成例之 圖面。 Fig. 4 is a view showing a hardware configuration example of the computer device of the first embodiment; Drawing.

圖5係為顯示關於實施形態1之難讀化處理部的內部構成例之圖面。 Fig. 5 is a view showing an example of the internal configuration of the hard-to-read processing unit according to the first embodiment.

圖6係為顯示關於實施形態1之難讀化解除處理部的內部構成例之圖面。 FIG. 6 is a view showing an example of the internal configuration of the hard-to-read release processing unit according to the first embodiment.

圖7係為顯示關於實施形態1之控制程式寫入時的處理程序之圖面。 Fig. 7 is a view showing a processing procedure when the control program is written in the first embodiment.

圖8係為顯示關於實施形態1之控制程式實行處理時的例示之流程圖。 Fig. 8 is a flowchart showing an example of the case where the control program of the first embodiment performs processing.

圖9係為顯示關於實施形態1之控制程式讀出時的處理程序之圖面。 Fig. 9 is a view showing a processing procedure when the control program of the first embodiment is read.

圖10係為顯示關於實施形態1之難讀化處理的例示之流程圖。 Fig. 10 is a flowchart showing an example of the hard-to-read processing of the first embodiment.

圖11係為顯示關於實施形態1之轉換表作成處理的例示之圖面。 Fig. 11 is a view showing an illustration of the conversion table creation processing of the first embodiment.

圖12係為顯示關於實施形態1之轉換表作成處理的概要之圖面。 Fig. 12 is a view showing an outline of a conversion table creation process in the first embodiment.

圖13係為顯示關於實施形態1之控制程式轉換處理的例示之流程圖。 Fig. 13 is a flowchart showing an example of the control program conversion processing of the first embodiment.

圖14係為顯示關於實施形態1之控制程式轉換處理的概要之圖面。 Fig. 14 is a view showing an outline of the control program conversion processing in the first embodiment.

圖15係為顯示關於實施形態1之難讀化解除處理的例示之流程圖。 Fig. 15 is a flowchart showing an example of the hard-to-read release processing in the first embodiment.

圖16係為顯示關於實施形態1之逆轉換表作成處理的例 示之流程圖。 Figure 16 is a diagram showing an example of the inverse conversion table creation processing of the first embodiment. The flow chart shown.

圖17係為顯示關於實施形態1之逆轉換表作成處理的概要之圖面。 Fig. 17 is a view showing an outline of the inverse conversion table creation processing of the first embodiment.

圖18係為顯示關於實施形態1之控制程式逆轉換處理的例示之流程圖。 Fig. 18 is a flowchart showing an example of the control program inverse conversion processing of the first embodiment.

圖19係為顯示關於實施形態1之控制程式逆轉換處理的概要之圖面。 Fig. 19 is a view showing an outline of the control program inverse conversion processing in the first embodiment.

圖20係為顯示關於實施形態1之難讀化解除處理的例示之流程圖。 Fig. 20 is a flowchart showing an example of the hard-to-read release processing of the first embodiment.

圖21係為顯示關於實施形態2之難讀化處理部的內部構成例之圖面。 Fig. 21 is a view showing an example of the internal configuration of the hard-to-read processing unit according to the second embodiment.

圖22係為顯示關於實施形態2之難讀化解除處理部的內部構成例之圖面。 FIG. 22 is a view showing an example of the internal configuration of the hard-to-read release processing unit according to the second embodiment.

圖23係為顯示關於實施形態2之控制程式寫入時的處理程序之圖面。 Fig. 23 is a view showing a processing procedure when the control program is written in the second embodiment.

圖24係為顯示關於實施形態2之轉換表作成處理的例示之圖面。 Fig. 24 is a view showing an example of the conversion table creation processing of the second embodiment.

圖25係為顯示關於實施形態2之控制程式轉換處理的例示之流程圖。 Fig. 25 is a flowchart showing an example of the control program conversion processing of the second embodiment.

圖26係為顯示關於實施形態2之控制程式轉換處理的概要之圖面。 Fig. 26 is a view showing an outline of the control program conversion processing in the second embodiment.

圖27係為顯示關於實施形態2之逆轉換表作成處理的例示之流程圖。 Fig. 27 is a flowchart showing an example of the inverse conversion table creation processing of the second embodiment.

圖28係為顯示關於實施形態2之控制程式逆轉換處理的 例示之流程圖。 Figure 28 is a diagram showing the inverse conversion processing of the control program of the second embodiment. An illustrative flow chart.

圖29係為顯示關於實施形態2之控制程式逆轉換處理的概要之圖面。 Fig. 29 is a view showing an outline of the control program inverse conversion processing of the second embodiment.

圖30係為顯示關於實施形態3之控制程式轉換處理的例示之流程圖。 Fig. 30 is a flowchart showing an example of the control program conversion processing of the third embodiment.

圖31係為顯示關於實施形態3之控制程式轉換處理的概要之圖面。 Fig. 31 is a view showing an outline of a control program conversion process in the third embodiment.

圖32係為顯示關於實施形態3之控制程式逆轉換處理的例示之流程圖。 Fig. 32 is a flowchart showing an example of the control program inverse conversion processing of the third embodiment.

圖33係為顯示關於實施形態3之控制程式轉換處理的概要之圖面。 Fig. 33 is a view showing an outline of the control program conversion processing in the third embodiment.

實施形態1. Embodiment 1.

圖1係為顯示關於本實施形態之控制系統的構成例。 Fig. 1 is a view showing an example of the configuration of a control system according to the present embodiment.

如圖1所示,在關於本實施形態之控制系統中,利用通訊線路105連接電腦裝置101及控制裝置102。 As shown in FIG. 1, in the control system according to the present embodiment, the computer device 101 and the control device 102 are connected by a communication line 105.

控制裝置102係為PLC。 The control device 102 is a PLC.

又,控制裝置102及生產機器104係利用通訊線路106予以連接。 Further, the control device 102 and the production device 104 are connected by a communication line 106.

作為通訊線路105、106的具體例,可以舉例如USB(Universal Serial Bus;通用序列匯流排)纜線、或是與Ethernet(商標登錄)對應之LAN(Local Area Network;區域網路)纜線等。 Specific examples of the communication lines 105 and 106 include, for example, a USB (Universal Serial Bus) cable or a LAN (Local Area Network) cable corresponding to Ethernet (trademark registration). .

在圖1中,雖然生產機器104只圖示1台,但是 對於控制裝置102可以連接多台的生產機器104。 In Fig. 1, although the production machine 104 is only shown in one figure, A plurality of production machines 104 can be connected to the control device 102.

生產機器104係例如是伺服放大器、變換器等。 The production machine 104 is, for example, a servo amplifier, a converter, or the like.

又,FA系統係利用控制裝置102及生產機器104加以構成。 Further, the FA system is configured by the control device 102 and the production device 104.

電腦裝置101係產生利用控制裝置102實行的控制程式,又,進行已產生的控制程式的難讀化,將難讀化後的控制程式輸出到控制裝置102。 The computer device 101 generates a control program executed by the control device 102, and performs hard-to-read control of the generated control program, and outputs the hard-to-read control program to the control device 102.

電腦裝置101係相當於控制程式管理裝置的例示。 The computer device 101 corresponds to an example of a control program management device.

在電腦裝置101產生的控制程式中係記述有裝置的辨識碼即裝置辨識碼。 In the control program generated by the computer device 101, the device identification code, which is the identification code of the device, is described.

裝置辨識碼係為裝置的類別值(X、Y、M等)及裝置編號(0、1、2等)的組合。 The device identification code is a combination of the class value (X, Y, M, etc.) of the device and the device number (0, 1, 2, etc.).

所謂裝置,其係為控制裝置102中之用於控制的變數。 The so-called device is a variable for control in the control device 102.

各裝置係表示接點、線圈、開關等。 Each device represents a contact, a coil, a switch, and the like.

電腦裝置101產生的控制程式係可以如圖14之控制程式131所示,利用階梯形式予以表現。 The control program generated by the computer device 101 can be expressed in a ladder form as shown by the control program 131 of FIG.

圖14之控制程式131所示之X0、X2、X5、Y0、Y2、Y7係為裝置辨識碼。 X0, X2, X5, Y0, Y2, and Y7 shown in the control program 131 of Fig. 14 are device identification codes.

X裝置為用以從控制裝置102的外部輸入開關等輸入訊號的變數。 The X device is a variable for inputting a signal such as a switch from the outside of the control device 102.

Y裝置為用以將訊號輸出到控制裝置102外部的變數。 The Y device is a variable for outputting a signal to the outside of the control device 102.

電腦裝置101係藉由轉換包含裝置辨識碼的數值(裝置編號),置換裝置辨識碼,將控制程式難讀化。 The computer device 101 replaces the device identification code by converting the value (device number) including the device identification code, and makes the control program difficult to read.

在圖14的例示中,例如將控制程式131的裝置X0置換為 裝置X6,而構成難讀化控制程式132。 In the example of FIG. 14, for example, the device X0 of the control program 131 is replaced with Device X6 forms a hard-to-read control program 132.

控制裝置102係實行控制程式而控制生產機器104的動作。 The control device 102 controls the operation of the production machine 104 by executing a control program.

控制裝置102係從電腦裝置101輸入難讀化的控制程式,並解除已輸入之難讀化後控制程式的難讀化,取得難讀化前的控制程式。 The control device 102 inputs a hard-to-read control program from the computer device 101, releases the hard-to-read control program that has been input after the hard-to-read, and obtains a control program before the hard-to-read.

控制裝置102係利用理論性上與電腦裝置101之裝置辨識碼的置換順序相反的順序,將置換後的裝置辨識碼回復到置換前的裝置辨識碼而解除難讀化。 The control device 102 restores the hard-to-read decoding by reverting the replaced device identification code to the device identification code before the replacement, in the reverse order of the order of replacement of the device identification code of the computer device 101.

再者,控制裝置102係實行已解除難讀化的控制程式而控制生產機器104的動作。 Furthermore, the control device 102 controls the operation of the production device 104 by executing a control program that has been unreadable.

圖2係顯示電腦裝置101的機能方塊。 FIG. 2 shows the functional blocks of the computer device 101.

電腦裝置101係利用控制程式管理部103及通訊裝置107加以構成。 The computer device 101 is configured by a control program management unit 103 and a communication device 107.

在控制程式管理部103中,輸入部110係輸入(取得)控制程式作成者的輸入資訊。 In the control program management unit 103, the input unit 110 inputs (acquires) input information of the control program creator.

控制程式作成部111係依據利用輸入部110輸入之控制程式作成者的輸入資訊而作成控制程式。 The control program creation unit 111 creates a control program based on the input information of the control program creator input by the input unit 110.

控制程式管理部112係進行已作成之控制程式的轉換、記憶、難讀化、對控制裝置102的輸出等之控制及管理。 The control program management unit 112 controls and manages the conversion, memory, hard-to-read, and output of the control device 102 of the created control program.

控制程式轉換部113係將利用控制程式作成部111產生的控制程式(階梯式程式)轉換為可利用控制裝置102實行的形式。 The control program conversion unit 113 converts the control program (step type program) generated by the control program creation unit 111 into a form that can be executed by the control device 102.

控制程式記憶部114係記憶利用控制程式轉換部 113轉換為可實行的形式之控制程式131。 Control program storage unit 114 is a memory utilization control program conversion unit 113 is converted into a controllable form of control program 131.

難讀化處理部115係進行控制程式131的難讀化。 The refractory processing unit 115 performs refractory reading of the control program 131.

更具體而言,難讀化處理部115係使用固有在控制裝置102的數值即機器ID(Identification;識別碼)、及每次產生時都是不同數值之附加資訊133而產生虛擬隨機數,並使用已產生的虛擬隨機數進行控制程式131內之裝置辨識碼的置換,進行控制程式131的難讀化。 More specifically, the refractory processing unit 115 generates a virtual random number using a machine ID (Identification code) which is a value unique to the control device 102, and additional information 133 which is a different value each time it is generated, and The replacement of the device identification code in the control program 131 is performed using the generated virtual random number, and the control program 131 is hard to read.

又,難讀化處理部115係進行從控制裝置102輸出之已難讀化的控制程式之難讀化解除。 Further, the refractory processing unit 115 performs refractory reading of the control program that has been difficult to read from the control device 102.

更具體而言,難讀化處理部115係使用機器ID、及附加資訊133而產生虛擬隨機數,並使用已產生的虛擬隨機數,將被難讀化的控制程式內之置換後的裝置辨識碼回復到置換前的裝置辨識碼,進行難讀化的解除。 More specifically, the hard-to-read processing unit 115 generates a virtual random number using the device ID and the additional information 133, and uses the generated virtual random number to identify the replaced device in the control program that is difficult to read. The code is returned to the device identification code before the replacement, and the hard-to-read is released.

又,機器ID係相當於控制器固有值的例示,附加資訊133係相當於一次資訊的例示。 Further, the device ID is an example corresponding to the controller-specific value, and the additional information 133 is equivalent to an example of the primary information.

又,難讀化處理部115係相當於虛擬隨機數產生部及裝置辨識碼置換部的例示。 Further, the refractory processing unit 115 corresponds to an example of a virtual random number generating unit and a device identification code replacing unit.

又,在本實施形態中,雖然是使用機器ID及附加資訊133將控制程式131難讀化,但是只使用機器ID將控制程式131難讀化亦可。 Further, in the present embodiment, the control program 131 is difficult to read using the device ID and the additional information 133. However, the control program 131 may be difficult to read using only the device ID.

通訊處理部116係依據來自控制程式管理部112的控制,並透過通訊裝置107進行與控制裝置102的通訊。 The communication processing unit 116 performs communication with the control device 102 via the communication device 107 in accordance with control from the control program management unit 112.

更具體而言,通訊處理部116係從控制裝置102輸入機器ID,並將難讀化後的控制程式輸出到控制裝置102,又,從控 制裝置102輸入難讀化後的控制程式。 More specifically, the communication processing unit 116 inputs the device ID from the control device 102, and outputs the control program that is difficult to read to the control device 102. The device 102 inputs a control program that is difficult to read.

通訊處理部116係相當於輸出部的例示。 The communication processing unit 116 corresponds to an example of an output unit.

又,控制程式管理部103內的輸入部110、控制程式作成部111、控制程式管理部112、控制程式轉換部113、難讀化處理部115、及通訊處理部116係可以作為程式予以實現。 Further, the input unit 110, the control program creation unit 111, the control program management unit 112, the control program conversion unit 113, the refractory processing unit 115, and the communication processing unit 116 in the control program management unit 103 can be realized as a program.

例如,可以將輸入部110、控制程式作成部111、控制程式管理部112、控制程式轉換部113、難讀化處理部115、及通訊處理部116成為可程式軟體的要素。 For example, the input unit 110, the control program creation unit 111, the control program management unit 112, the control program conversion unit 113, the hard-to-read processing unit 115, and the communication processing unit 116 can be elements of the programmable software.

圖3係顯示控制裝置102的機能方塊圖。 FIG. 3 is a functional block diagram showing the control device 102.

在控制裝置102中,通訊控制部121係進行與電腦裝置101的通訊、及與生產機器104的通訊。 In the control device 102, the communication control unit 121 performs communication with the computer device 101 and communication with the production device 104.

例如,通訊控制部121係將機器ID134輸出到電腦裝置101,並從電腦裝置101輸入難讀化後的控制程式,又,將難讀化後的控制程式輸出到電腦裝置101。 For example, the communication control unit 121 outputs the device ID 134 to the computer device 101, inputs the hard-to-read control program from the computer device 101, and outputs the hard-to-read control program to the computer device 101.

又,通訊控制部121係透過內部匯流排128而與控制裝置102內的各部進行通訊。 Further, the communication control unit 121 communicates with each unit in the control device 102 via the internal bus bar 128.

機器ID管理部122係記憶、管理機器ID134。 The device ID management unit 122 stores and manages the device ID 134.

機器ID管理部122係相當於控制器固有值記憶部的例示。 The device ID management unit 122 is an example corresponding to the controller-specific value storage unit.

附加資訊管理部123係記憶、管理附加資訊133。 The additional information management unit 123 stores and manages the additional information 133.

控制程式記憶部124係記憶已難讀化的控制程式131即難讀化控制程式132。 The control program storage unit 124 stores the control program 131 which is hard to read, that is, the hard-to-read control program 132.

難讀化解除處理部125係利用理論性上與利用電腦裝置101的難讀化處理部115所進行的置換順序相反的順序,將置換後的裝置辨識碼回復到置換前的裝置辨識碼,解除 難讀化控制程式132的難讀化。 The hard-to-read cancellation processing unit 125 restores the replaced device identification code to the device identification code before replacement, in the reverse order of the replacement order by the hard-to-read processing unit 115 of the computer device 101. The hard-to-read control program 132 is difficult to read.

更具體而言,難讀化解除處理部125係使用機器ID134、及附加資訊133而產生虛擬隨機數,並使用已產生的虛擬隨機數,將難讀化控制程式132內的置換後之裝置辨識碼回復到置換前的裝置辨識碼,進行難讀化的解除。 More specifically, the hard-to-read release processing unit 125 generates a virtual random number using the device ID 134 and the additional information 133, and recognizes the replaced device in the hard-to-read control program 132 using the generated virtual random number. The code is returned to the device identification code before the replacement, and the hard-to-read is released.

難讀化解除處理部125係相當於虛擬隨機數產生部及裝置辨識碼復原部的例示。 The refractory cancellation processing unit 125 corresponds to an example of a virtual random number generation unit and a device identification code restoration unit.

控制程式實行部126係實行利用難讀化解除處理部125而解除難讀化後的控制程式。 The control program execution unit 126 executes the control program after the hard-to-read processing unit 125 is released by the hard-to-read cancellation processing unit 125.

圖4係顯示電腦裝置101的硬體構成例。 FIG. 4 shows an example of the hardware configuration of the computer device 101.

在電腦裝置101中,在內部匯流排216連接有CPU(Central Processing Unit;中央處理單元)211、記憶體212、輸入/出裝置213、外部記憶裝置214、及通訊裝置107。 In the computer device 101, a CPU (Central Processing Unit) 211, a memory 212, an input/output device 213, an external storage device 214, and a communication device 107 are connected to the internal bus 216.

記憶體212係例如是RAM(Random Access Memory;隨機存取記憶體)。 The memory 212 is, for example, a RAM (Random Access Memory).

外部記憶裝置214係例如是ROM(Read Only Memory;唯讀記憶體)或快閃記憶體、硬碟裝置。 The external storage device 214 is, for example, a ROM (Read Only Memory), a flash memory, or a hard disk device.

圖2所示之控制程式記憶部114係利用記憶體212及外部記憶裝置214加以實現。 The control program storage unit 114 shown in FIG. 2 is realized by the memory 212 and the external memory device 214.

輸入/出裝置213係例如是滑鼠、鍵盤、顯示器裝置等。 The input/output device 213 is, for example, a mouse, a keyboard, a display device, or the like.

通訊裝置107係例如是NIC(Network Interface Card;網路介面卡)。 The communication device 107 is, for example, an NIC (Network Interface Card).

如前述所示,圖2所示之控制程式管理部103內的輸入部110、控制程式作成部111、控制程式管理部112、控 制程式轉換部113、難讀化處理部115、及通訊處理部116係可以作為程式予以實現。 As described above, the input unit 110, the control program creation unit 111, the control program management unit 112, and the control in the control program management unit 103 shown in FIG. The program conversion unit 113, the hard-to-read processing unit 115, and the communication processing unit 116 can be realized as a program.

CPU211係藉由實行此等程式,實現以下說明之輸入部110、控制程式作成部111、控制程式管理部112、控制程式轉換部113、難讀化處理部115、及通訊處理部116的機能。 The CPU 211 realizes the functions of the input unit 110, the control program creation unit 111, the control program management unit 112, the control program conversion unit 113, the refractory processing unit 115, and the communication processing unit 116, which will be described below, by executing these programs.

程式通常是記憶在外部記憶裝置214,於載置到記憶體212的狀態下,依序在CPU211讀入、實行。 The program is usually stored in the external memory device 214, and is read and executed by the CPU 211 in the state of being placed in the memory 212.

再者,在外部記憶裝置214中也記憶作業系統(OS),並將OS的至少一部份載置在記憶體212,CPU211係一邊實行OS,一邊實行實現控制程式管理部103內的機能之程式。 Further, the external memory device 214 also stores the operating system (OS), and at least a part of the OS is placed in the memory 212. The CPU 211 executes the function of the control program management unit 103 while executing the OS. Program.

又,在以下的說明中,將顯示以「~的判斷」、「~的判定」、「~的轉換」、「~的置換」、「~的設定」、「~的抽出」、「~的產生」、「~的作成」、「~的選擇」、「~的輸入」、「~的輸出」等作為說明之顯示處理結果的資訊或資料或訊號值或變數值作為檔案記憶在記憶體212。 In addition, in the following description, "judgment of ~", "decision of ~", "conversion of ~", "replacement of ~", "setting of ~", "extraction of ~", "~" will be displayed. The information or the data or the signal value or the variable value which is the result of the display processing described as the description of the display processing, the "~ creation", the "~ selection", the "~ input", the "~ output", etc. are stored in the memory 212 as an archive. .

又,將輸入部110、控制程式作成部111、控制程式管理部112、控制程式轉換部113、難讀化處理部115、及通訊處理部116的機能之至少一部份利用所謂韌體或元件或路線之硬體加以實現亦可。 Further, at least a part of the functions of the input unit 110, the control program creation unit 111, the control program management unit 112, the control program conversion unit 113, the refractory processing unit 115, and the communication processing unit 116 utilize so-called firmware or components. Or the hardware of the route can be implemented.

又,在控制裝置102中也與電腦裝置101相同,包含CPU、記憶體、輸入/出裝置、外部記憶裝置、及通訊裝置。 Further, the control device 102 is similar to the computer device 101, and includes a CPU, a memory, an input/output device, an external memory device, and a communication device.

在控制裝置102中亦同,圖3所示之機器ID管理部122、附加資訊管理部123、及控制程式記憶部124係利用記憶體及 外部記憶裝置加以實現。 In the control device 102, the device ID management unit 122, the additional information management unit 123, and the control program storage unit 124 shown in FIG. 3 use memory and An external memory device is implemented.

又,在控制裝置102中亦同,利用程式實現通訊控制部121、難讀化解除處理部125、及控制程式實行部126的機能亦可。 Further, in the control device 102, the functions of the communication control unit 121, the hard-to-read release processing unit 125, and the control program execution unit 126 may be implemented by a program.

在該情況下,藉由CPU實行此等程式,實現以下所示之通訊控制部121、難讀化解除處理部125、及控制程式實行部126的機能。 In this case, the CPU executes the programs to realize the functions of the communication control unit 121, the hard-to-read release processing unit 125, and the control program execution unit 126 shown below.

又,將通訊控制部121、難讀化解除處理部125、及控制程式實行部126的機能之至少一部份利用所謂韌體或元件或路線之硬體加以實現亦可 Further, at least a part of the functions of the communication control unit 121, the hard-to-read release processing unit 125, and the control program execution unit 126 can be realized by using a so-called firmware or a hardware of a component or a route.

圖5係顯示電腦裝置101之難讀化處理部115的詳細構成。 FIG. 5 shows the detailed configuration of the hard-to-read processing unit 115 of the computer device 101.

在圖5中,控制程式轉換處理部301係輸入控制程式131,並使用在難讀化時所必要的資料(具體而言為轉換表307),進行控制程式131內之裝置辨識碼的置換,而將控制程式131難讀化。 In FIG. 5, the control program conversion processing unit 301 inputs the control program 131, and uses the data (specifically, the conversion table 307) necessary for the hard-to-read process to replace the device identification code in the control program 131. The control program 131 is difficult to read.

控制程式轉換處理部301係相當於裝置辨識碼置換部的例示。 The control program conversion processing unit 301 is an example corresponding to the device identification code replacement unit.

轉換表作成處理部302係產生控制程式轉換處理部301之控制程式131的難讀化時所必要的轉換表307。 The conversion table creation processing unit 302 generates a conversion table 307 necessary for controlling the difficulty of reading the control program 131 of the program conversion processing unit 301.

更具體而言,轉換表作成處理部302係使用機器ID134及附加資訊133而產生虛擬隨機數,並使用已產生的虛擬隨機數而產生轉換表307。 More specifically, the conversion table creation processing unit 302 generates a virtual random number using the device ID 134 and the additional information 133, and generates the conversion table 307 using the generated virtual random number.

轉換表作成處理部302係相當於虛擬隨機數產生部及裝置 辨識碼置換部的例示。 The conversion table creation processing unit 302 corresponds to a virtual random number generation unit and device An example of the identification code replacement unit.

資料處理部303係管理控制程式131的難讀化時所必要的資料(機器ID、附加資訊)。 The data processing unit 303 manages data (machine ID, additional information) necessary for the difficult reading of the control program 131.

控制程式逆轉換處理部304係輸入來自控制裝置102之難讀化控制程式132,並使用難讀化解除時所必要的資料(具體而言為逆轉換表308),將難讀化控制程式132逆轉換為控制程式131。 The control program inverse conversion processing unit 304 receives the hard-to-read control program 132 from the control device 102, and uses the data (specifically, the inverse conversion table 308) necessary for the erasing of the hard disk to be read, and the hard-to-read control program 132 is used. The inverse is converted to the control program 131.

逆轉換表作成處理部305係作成難讀化控制程式132的逆轉換所必要的逆轉換表308。 The inverse conversion table creation processing unit 305 is an inverse conversion table 308 necessary for the inverse conversion of the difficult-to-read control program 132.

更具體而言,逆轉換表作成處理部305係使用機器ID134及附加資訊133而產生虛擬隨機數,並使用已產生的虛擬隨機數產生逆轉換表308。 More specifically, the inverse conversion table creation processing unit 305 generates a virtual random number using the device ID 134 and the additional information 133, and generates an inverse conversion table 308 using the generated virtual random number.

附加資訊認證部306係在將難讀化控制程式132逆轉換時,進行附加資訊133的認證。 The additional information authentication unit 306 performs authentication of the additional information 133 when the hard-to-read control program 132 is inversely converted.

圖6係顯示控制裝置102之難讀化解除處理部125的詳細構成。 FIG. 6 shows the detailed configuration of the hard-to-read release processing unit 125 of the control device 102.

在圖6中,控制程式逆轉換處理部401係使用難讀化解除所必要的資料(具體而言為逆轉換表404),將難讀化控制程式132逆轉換為控制程式131。 In FIG. 6, the control program inverse conversion processing unit 401 reversely converts the hard-to-read control program 132 into the control program 131 by using the data necessary for the hard-to-read release (specifically, the inverse conversion table 404).

控制程式逆轉換處理部401係相當於裝置辨識碼復原部的例示。 The control program inverse conversion processing unit 401 is an example corresponding to the device identification code restoring unit.

逆轉換表作成處理部402係作成難讀化控制程式132的逆轉換所必要的逆轉換表404。 The inverse conversion table creation processing unit 402 is an inverse conversion table 404 necessary for the inverse conversion of the difficult-to-read control program 132.

更具體而言,逆轉換表作成處理部305係使用機器ID134 及附加資訊133而產生虛擬隨機數,並使用已產生的虛擬隨機數產生逆轉換表404。 More specifically, the inverse conversion table creation processing unit 305 uses the machine ID 134. And the additional information 133 generates a virtual random number, and uses the generated virtual random number to generate an inverse conversion table 404.

逆轉換表作成處理部402係相當於虛擬隨機數產生部及裝置辨識碼復原部的例示。 The inverse conversion table creation processing unit 402 is an example corresponding to the virtual random number generation unit and the device identification code restoration unit.

資料處理部403係管理難讀化解除時所必要的資料。 The data processing unit 403 manages the data necessary for the refusal to read.

關於本實施形態之處理順序,其係利用3個處理加以構成。 The processing procedure of this embodiment is constructed by three processes.

即,關於本實施形態之處理順序,其係利用(1)使控制程式管理部103作成控制程式131,並將控制程式131難讀化,將難讀化控制程式132寫入到控制裝置102之處理;(2)使控制裝置102解除難讀化控制程式132的難讀化,並實行控制程式131之處理;及(3)使控制程式管理部103從控制裝置102讀出難讀化控制程式132,並解除難讀化控制程式132的難讀化而復原控制程式131之處理加以構成。 That is, in the processing procedure of the present embodiment, the control program management unit 103 is made into the control program 131 by (1), the control program 131 is hard to read, and the hard-to-read control program 132 is written to the control device 102. (2) causing the control device 102 to release the hard-to-read control program 132 and perform the processing of the control program 131; and (3) causing the control program management unit 103 to read the hard-to-read control program from the control device 102. 132. The process of restoring the hard-to-read control program 132 and restoring the control program 131 is performed.

首先,在圖7顯示上述(1)之處理,換言之使控制程式管理部103作成控制程式131,並將控制程式131難讀化,將難讀化控制程式132寫入到控制裝置102之處理的流程。 First, the processing of the above (1) is shown in FIG. 7, in other words, the control program management unit 103 is made into the control program 131, and the control program 131 is difficult to read, and the hard-to-read control program 132 is written to the control device 102. Process.

利用圖7的處理階段501,在電腦裝置101中係依據來自輸入部110的輸入資訊,使控制程式作成部111作成控制程式131。 In the processing stage 501 of FIG. 7, the computer program 101 causes the control program creation unit 111 to create the control program 131 based on the input information from the input unit 110.

接著,利用處理階段502,控制程式轉換部113係將利用處理階段501作成的控制程式131轉換為可在控制裝置102實行的形式。 Next, in the processing stage 502, the control program conversion unit 113 converts the control program 131 created by the processing stage 501 into a form executable by the control device 102.

又,轉換為可實行形式前的控制程式、及已轉換為可實行形式後的控制程式兩者都是以控制程式131予以表示。 Further, both the control program before being converted into the executable form and the control program after being converted into the executable form are represented by the control program 131.

接著,利用處理階段503,控制程式記憶部114係儲存轉換後的控制程式131。 Next, in the processing stage 503, the control program storage unit 114 stores the converted control program 131.

其次,利用處理階段504,使難讀化處理部115對於實行形式為轉換後的控制程式131實行難讀化處理511,作成難讀化控制程式132。 Then, in the processing stage 504, the hard-to-read processing unit 115 performs the hard-to-read processing 511 on the control program 131 whose conversion format is implemented, and creates the hard-to-read control program 132.

在控制程式131的難讀化處理511時,難讀化處理部115係透過控制程式管理部112、通訊處理部116及通訊裝置107,對於控制裝置102傳送機器ID134的傳送要求531。 When the hard-to-read processing 511 of the control program 131 is performed, the hard-to-read processing unit 115 transmits the transmission request 531 of the device ID 134 to the control device 102 via the control program management unit 112, the communication processing unit 116, and the communication device 107.

在接收到傳送要求531的控制裝置102中,機器ID管理部122的機器ID134係從通訊控制部121被傳送到電腦裝置101。 In the control device 102 that has received the transfer request 531, the device ID 134 of the device ID management unit 122 is transmitted from the communication control unit 121 to the computer device 101.

又,雖然在圖7並未圖示,但是利用難讀化處理部115取得附加資訊133。 Further, although not shown in FIG. 7, the additional information 133 is acquired by the hard-to-read processing unit 115.

難讀化處理部115係產生附加資訊133亦可,或是難讀化處理部115係透過控制程式管理部112、通訊處理部116及通訊裝置107,從外部裝置接收附加資訊133亦可。 The hard-to-read processing unit 115 may generate the additional information 133, or the hard-to-read processing unit 115 may receive the additional information 133 from the external device through the control program management unit 112, the communication processing unit 116, and the communication device 107.

其次,利用處理階段505,通訊處理部116係將難讀化控制程式132、及在難讀化時利用難讀化處理部115取得的附加資訊133,透過通訊裝置107傳送到控制裝置102。 Next, in the processing stage 505, the communication processing unit 116 transmits the hard-to-read control program 132 and the additional information 133 acquired by the hard-to-read processing unit 115 during the difficult-to-read operation to the control device 102 via the communication device 107.

其次,利用處理階段506,在控制裝置102中,通訊控制部121係接收難讀化控制程式132及附加資訊133,並將難讀化控制程式132儲存在控制程式記憶部124,將附加資 訊133儲存在附加資訊管理部123。 Next, in the control unit 102, the control unit 102 receives the hard-to-read control program 132 and the additional information 133, and stores the hard-to-read control program 132 in the control program storage unit 124. The message 133 is stored in the additional information management unit 123.

其次,在圖8顯示上述(2)之處理,換言之使控制裝置102解除難讀化控制程式132的難讀化,並實行控制程式131之處理,即控制程式實行處理610的流程。 Next, the processing of the above (2) is shown in FIG. 8, in other words, the control device 102 releases the hard-to-read processing of the hard-to-read control program 132, and the processing of the control program 131 is executed, that is, the flow of the processing 610 by the control program.

控制程式131的實行時,首先,利用處理階段601,難讀化解除處理部125係解除難讀化控制程式132的難讀化,並作成控制程式131。 When the control program 131 is executed, first, in the processing stage 601, the hard-to-read release processing unit 125 releases the hard-to-read program of the hard-to-read control program 132, and creates the control program 131.

其後,利用處理階段602,控制程式實行部126係實行控制程式131。 Thereafter, in the processing stage 602, the control program execution unit 126 executes the control program 131.

最後,在圖9顯示上述(3)之處理,換言之使控制程式管理部103從控制裝置102讀出難讀化控制程式132,並解除難讀化控制程式132的難讀化而復原控制程式131之處理的流程。 Finally, the processing of the above (3) is displayed in FIG. 9, in other words, the control program management unit 103 reads the hard-to-read control program 132 from the control device 102, and releases the hard-to-read control program 132 to restore the control program 131. The process of processing.

利用圖9的處理階段701,在電腦裝置101中,難讀化處理部115係透過控制程式管理部112、通訊處理部116及通訊裝置107,對於控制裝置102傳送難讀化控制程式132的讀出要求731。 In the processing unit 701 of FIG. 9, in the computer device 101, the hard-to-read processing unit 115 transmits the hard-to-read control program 132 to the control device 102 via the control program management unit 112, the communication processing unit 116, and the communication device 107. Request 731.

在控制裝置102中,當接收到讀出要求731時,通訊控制部121係傳送控制程式記憶部124內的難讀化控制程式132、及機器ID管理部122內的機器ID134。 When the control device 102 receives the read request 731, the communication control unit 121 transmits the hard-to-read control program 132 in the control program storage unit 124 and the device ID 134 in the device ID management unit 122.

在電腦裝置101中,通訊處理部116係接收難讀化控制程式132及機器ID134。 In the computer device 101, the communication processing unit 116 receives the hard-to-read control program 132 and the device ID 134.

利用處理階段702,難讀化解除處理部125係解除從控制裝置102接收的難讀化控制程式132之難讀化,作成控 制程式131。 In the processing stage 702, the hard-to-read release processing unit 125 releases the hard-to-read control of the hard-to-read control program 132 received from the control device 102, and performs control. Program 131.

難讀化控制程式132的難讀化解除係使用從控制裝置102接收的機器ID134及附加資訊133。 The hard-to-read release of the hard-to-read control program 132 uses the device ID 134 and the additional information 133 received from the control device 102.

其後,利用處理階段703,控制程式131係被儲存在控制程式記憶部114。 Thereafter, the control program 131 is stored in the control program storage unit 114 by the processing stage 703.

在圖10顯示處理階段504之控制程式難讀化處理511的流程。 The flow of the control program refractory processing 511 of the processing stage 504 is shown in FIG.

首先,利用處理階段801,為了使資料處理部303作成轉換表307,對於控制裝置102要求機器ID134。 First, in the processing stage 801, in order to cause the material processing unit 303 to create the conversion table 307, the device ID 134 is requested from the control device 102.

接著,利用處理階段802,資料處理部303係從控制裝置102收到機器ID134。 Next, using the processing stage 802, the material processing unit 303 receives the machine ID 134 from the control device 102.

之後,利用處理階段803,資料處理部303係取得現在時刻的時戳,而成為附加資訊133。 Thereafter, in the processing stage 803, the data processing unit 303 acquires the time stamp of the current time and becomes the additional information 133.

又,附加資訊133係不一定是時戳,只要是每次作成時都是不同值之資訊的話,任何資訊皆可。 Moreover, the additional information 133 is not necessarily a time stamp, and any information may be used as long as it is information of different values each time it is created.

其次,利用處理階段804,轉換表作成處理部302係實行轉換表作成處理811,作成轉換表307。 Next, in the processing stage 804, the conversion table creation processing unit 302 executes the conversion table creation processing 811 to create the conversion table 307.

最後,利用處理階段805,控制程式轉換處理部301係實行控制程式轉換處理812。 Finally, in the processing stage 805, the control program conversion processing unit 301 executes the control program conversion processing 812.

控制程式轉換處理部301係在控制程式轉換處理812中,藉由使用轉換表307將控制程式131的裝置辨識碼隨機化而轉換為難讀化控制程式132。 The control program conversion processing unit 301 converts the device identification code of the control program 131 into a hard-to-read control program 132 by using the conversion table 307 in the control program conversion processing 812.

在圖11顯示處理階段804中之轉換表作成處理811的詳細,在圖12顯示處理階段804中之轉換表作成處理 811的實施例。 The details of the conversion table creation processing 811 in the processing stage 804 are shown in FIG. 11, and the conversion table creation processing in the processing stage 804 is shown in FIG. An embodiment of 811.

首先,利用處理階段901,轉換表作成處理部302係將在控制程式131內所使用的裝置編號作為索引予以使用,並作成轉換前數值與轉換後數值的配列為相同之表911(圖12)。 First, in the processing stage 901, the conversion table creation processing unit 302 uses the device number used in the control program 131 as an index, and creates a table 911 in which the value before conversion and the converted value are the same (FIG. 12). .

之後,利用處理階段902,轉換表作成處理部302係將機器ID134及附加資訊133作為種子資料而作成虛擬隨機數912。 Thereafter, in the processing stage 902, the conversion table creation processing unit 302 creates the virtual random number 912 by using the device ID 134 and the additional information 133 as seed data.

最後,利用處理階段903,轉換表作成處理部302係使用已作成的虛擬隨機數912,並藉由將表911之轉換後的配列隨機排列,使表911之轉換後配列內的數值順序有所變化,使用數值順序有所變化之新的配列作成轉換表307。 Finally, in the processing stage 903, the conversion table creation processing unit 302 uses the created virtual random number 912, and by randomly arranging the converted columns of the table 911, the numerical order in the converted column of the table 911 is sequentially The change is made into a conversion table 307 using a new arrangement in which the numerical order is changed.

如圖12所示,轉換表307之轉換前的配列係維持表911之轉換前的配列。 As shown in FIG. 12, the arrangement before the conversion of the conversion table 307 maintains the arrangement before the conversion of the table 911.

因為轉換表307之轉換後的配列係從表911之轉換後的配列將數值順序有所變化,因此與轉換表307之轉換前的配列,使數值配列為不同。 Since the conversion order of the conversion table 307 changes the numerical order from the arrangement after the conversion of the table 911, the arrangement before the conversion of the conversion table 307 makes the numerical values different.

又,轉換表307之轉換前的配列係相當於第1配列的例示,轉換後的配列相當於第2配列的例示。 Further, the arrangement before conversion of the conversion table 307 corresponds to an example of the first arrangement, and the arrangement after conversion corresponds to an example of the second arrangement.

藉由利用前述的方式產生轉換表307,可以將轉換後的裝置編號範圍與在轉換前的控制程式131所使用之裝置編號範圍一致。 By generating the conversion table 307 in the manner described above, it is possible to match the converted device number range with the device number range used by the control program 131 before conversion.

為此,可以將轉換後的難讀化控制程式132作為控制程式而成為適當者。 For this reason, the converted hard-to-read control program 132 can be used as a control program.

又,在作成轉換表307時,在處理階段901中作為表911作成時的索引使用的數值不只是實際上在控制程式131內使用的數值,也可以使用可作為裝置編號予以使用的全部數值。 Further, when the conversion table 307 is created, the numerical value used as the index at the time of creation of the table 911 in the processing stage 901 is not limited to the numerical value actually used in the control program 131, and all numerical values usable as the device number may be used.

在圖14的控制程式131中,雖然作為裝置編號予以使用之數值是「0、2、5、7」,但是如圖12所示,作為轉換前的數值,也可以使用包含不被用來作為裝置編號的數值之[0、1、2、3、4、5、6、7]。 In the control program 131 of Fig. 14, the numerical values used as the device numbers are "0, 2, 5, and 7". However, as shown in Fig. 12, the values before the conversion may be used instead of being used. [0, 1, 2, 3, 4, 5, 6, 7] of the value of the device number.

其次,在圖13顯示處理階段805中之控制程式轉換處理812的詳細,在圖14顯示處理階段805之控制程式轉換處理812的實施例。 Next, the details of the control program conversion process 812 in the processing stage 805 are shown in FIG. 13, and the embodiment of the control program conversion process 812 in the processing stage 805 is shown in FIG.

控制程式轉換處理部301係使用轉換表307,將控制程式131的裝置辨識碼(例如X0或Y0)轉換為不同的裝置辨識碼。 The control program conversion processing unit 301 converts the device identification code (for example, X0 or Y0) of the control program 131 into a different device identification code using the conversion table 307.

具體而言,首先,利用處理階段1101,控制程式轉換處理部301係讀出一個裝置辨識碼。 Specifically, first, in the processing stage 1101, the control program conversion processing unit 301 reads out one device identification code.

再者,利用處理階段1102,控制程式轉換處理部301係參照轉換表,轉換利用處理階段1101讀出的裝置辨識碼。 Further, in the processing stage 1102, the control program conversion processing unit 301 refers to the conversion table and converts the device identification code read by the processing step 1101.

具體而言,控制程式轉換處理部301係判定裝置編號的數值之轉換前配列內的位置,並抽出位於與已判定的位置相同之轉換後配列內的數值,將裝置編號的數值轉換為已抽出之轉換後配列內的數值,進行裝置辨識碼的置換。 Specifically, the control program conversion processing unit 301 determines the position in the pre-conversion arrangement of the value of the device number, extracts the value in the post-conversion arrangement that is the same as the determined position, and converts the value of the device number to the extracted value. After the conversion, the values in the column are arranged to replace the device identification code.

利用處理階段1103,若有未轉換的裝置辨識碼,則回到處理階段1101的處理。 With the processing stage 1103, if there is an unconverted device identification code, the processing returns to the processing stage 1101.

對於所有的裝置辨識碼,反覆以上的處理直至結束。 For all device identification codes, the above processing is repeated until the end.

在圖14的例示中,控制程式131內之裝置1201的辨識碼「X0」的情況下,因為與轉換表307的數值「0」對應的轉換後數值為「6」,因此控制程式轉換處理部301係將「X0」置換為「X6」。 In the example of FIG. 14, when the identification code "X0" of the device 1201 in the program 131 is controlled, since the converted value corresponding to the value "0" of the conversion table 307 is "6", the control program conversion processing unit is controlled. The 301 system replaces "X0" with "X6".

又,在從控制程式131到難讀化控制程式132的轉換結束後,銷毀轉換表307亦可。 Further, after the conversion from the control program 131 to the hard-to-read control program 132 is completed, the conversion table 307 may be destroyed.

又,因為附加資訊133係被用於控制裝置102之逆轉換表404的產生,直至逆轉換表404產生前,在電腦裝置101中必須儲存有附加資訊133。 Further, since the additional information 133 is used for generation of the inverse conversion table 404 of the control device 102, the additional information 133 must be stored in the computer device 101 until the inverse conversion table 404 is generated.

但是,在逆轉換表404產生後,電腦裝置101銷毀附加資訊133亦可。 However, after the inverse conversion table 404 is generated, the computer device 101 may destroy the additional information 133.

其次,在圖15顯示控制裝置102之難讀化解除處理611的詳細。 Next, the details of the hard-to-read release processing 611 of the control device 102 are shown in FIG.

首先,利用處理階段1301,資料處理部403係從機器ID管理部122讀出機器ID134。 First, in the processing stage 1301, the material processing unit 403 reads the device ID 134 from the device ID management unit 122.

其次,利用處理階段1302,資料處理部403係從附加資訊管理部123讀出附加資訊133。 Next, in the processing stage 1302, the material processing unit 403 reads the additional information 133 from the additional information management unit 123.

之後,利用處理階段1303,逆轉換表作成處理部402係實行逆轉換表作成處理1311,作成逆轉換表404。 Thereafter, in the processing stage 1303, the inverse conversion table creation processing unit 402 executes the inverse conversion table creation processing 1311 to create the inverse conversion table 404.

之後,利用處理階段1304,控制程式逆轉換處理部401係實行控制程式逆轉換處理1312,使用逆轉換表404而將難讀化控制程式132轉換為控制程式131。 Thereafter, in the processing stage 1304, the control program inverse conversion processing unit 401 executes the control program inverse conversion processing 1312, and converts the hard-to-read control program 132 into the control program 131 using the inverse conversion table 404.

在圖16顯示逆轉換表作成處理1311的詳細,在圖17顯示逆轉換表作成處理1311的實施例。 The detail of the inverse conversion table creation processing 1311 is shown in Fig. 16, and the reverse conversion table creation processing 1311 is shown in Fig. 17 as an embodiment.

首先,利用處理階段1401,逆轉換表作成處理部402係使用難讀化控制程式132內所使用之裝置編號,作成轉換前的數值與轉換後的數值相同之表1411(圖17)。 First, in the processing stage 1401, the inverse conversion table creation processing unit 402 uses the device number used in the hard-to-read control program 132 to create a table 1411 (FIG. 17) in which the value before conversion is the same as the converted value.

之後,利用處理階段1402,逆轉換表作成處理部402係將機器ID134及附加資訊133作為種子資料而作成虛擬隨機數1412。 Thereafter, in the processing stage 1402, the inverse conversion table creation processing unit 402 creates the virtual random number 1412 by using the device ID 134 and the additional information 133 as seed data.

又,電腦裝置101之轉換表作成處理部302中的虛擬隨機數之產生演算法、及控制裝置102之逆轉換表作成處理部402中的虛擬隨機數之產生演算法為相同。 Further, the generation algorithm of the virtual random number in the conversion table creation processing unit 302 of the computer device 101 and the generation algorithm of the virtual random number in the inverse conversion table creation processing unit 402 of the control device 102 are the same.

換言之,逆轉換表作成處理部402係產生與利用轉換表作成處理部302產生的虛擬隨機數相同的虛擬隨機數。 In other words, the inverse conversion table creation processing unit 402 generates the same virtual random number as the virtual random number generated by the conversion table creation processing unit 302.

利用處理階段1403,逆轉換表作成處理部402係使用已作成之虛擬隨機數1412,藉由將表1411之轉換前配列內的數值隨機排列,而使表1411之轉換前配列內的數值有所變化,使用數值順序有所變化的新配列而作成逆轉換表404。 In the processing stage 1403, the inverse conversion table creation processing unit 402 uses the created virtual random number 1412, and by randomly arranging the values in the pre-conversion arrangement of the table 1411, the values in the pre-conversion column of the table 1411 are made. The change is made into an inverse conversion table 404 using a new arrangement in which the numerical order is changed.

如圖17所示,逆轉換表404之轉換後的配列係維持表1411之轉換後的配列。 As shown in FIG. 17, the converted arrangement of the inverse conversion table 404 maintains the converted arrangement of the table 1411.

因為逆轉換表404之轉換前的配列係從表1411之轉換前的配列使數值順序有所變化,因此與逆轉換表404之轉換後的配列數值順序不同。 Since the arrangement before the conversion of the inverse conversion table 404 changes the numerical order from the arrangement before the conversion of the table 1411, the order of the values after the conversion of the inverse conversion table 404 is different.

又,逆轉換表404之轉換前的配列係相當於第4配列的例示,轉換後的配列係相當於第3配列的例示。 Further, the arrangement before the conversion of the inverse conversion table 404 corresponds to the example of the fourth arrangement, and the arrangement after the conversion corresponds to the example of the third arrangement.

逆轉換表404係使用機器ID134及從難讀化處理部115傳送之附加資訊133,並使用與轉換表作成處理811相 同的演算法(理論性上相反的順序)加以作成。 The inverse conversion table 404 uses the device ID 134 and the additional information 133 transmitted from the hard-to-read processing unit 115, and uses the conversion table creation processing 811. The same algorithm (theoretically reversed order) is created.

為此,在利用控制程式難讀化處理511進行控制程式131的難讀化時所使用之轉換表307與逆轉換表404係除了轉換前的配列及轉換後的配列相反之外,其餘相同。 For this reason, the conversion table 307 and the inverse conversion table 404 used when the control program 131 is difficult to read by the control program hard-to-read processing 511 are the same except that the arrangement before conversion and the arrangement after conversion are reversed.

其次,在圖18顯示控制程式逆轉換處理1312的詳細,在圖19顯示控制程式逆轉換處理1312的實施例。 Next, the details of the control program inverse conversion processing 1312 are shown in Fig. 18, and an embodiment of the control program inverse conversion processing 1312 is shown in Fig. 19.

控制程式逆轉換處理部401係使用逆轉換表404,將被隨機化之難讀化控制程式132的裝置辨識碼轉換為原來的裝置辨識碼。 The control program inverse conversion processing unit 401 converts the device identification code of the randomized hard-to-read control program 132 into the original device identification code using the inverse conversion table 404.

具體而言,利用處理階段1601,控制程式逆轉換處理部401係讀出一個裝置辨識碼。 Specifically, in the processing stage 1601, the control program inverse conversion processing unit 401 reads out one device identification code.

接著,利用處理階段1602,控制程式逆轉換處理部401係參照逆轉換表404轉換裝置辨識碼。 Next, in the processing stage 1602, the control program inverse conversion processing unit 401 refers to the inverse conversion table 404 to convert the device identification code.

具體而言,控制程式逆轉換處理部401係判定裝置編號的數值之轉換前配列內的位置,並抽出位於與已判定的位置相同之轉換後配列內的數值,將裝置編號的數值轉換為已抽出的數值,進行裝置辨識碼的復原。 Specifically, the control program inverse conversion processing unit 401 determines the position in the pre-conversion arrangement of the value of the device number, extracts the value in the post-conversion arrangement that is the same as the determined position, and converts the value of the device number to The extracted value is used to recover the device identification code.

利用處理階段1603,若有未轉換的裝置辨識碼,則回到處理階段1601的處理。 With the processing stage 1603, if there is an unconverted device identification code, the processing returns to the processing stage 1601.

對於所有的裝置辨識碼,反覆以上的處理直至結束。 For all device identification codes, the above processing is repeated until the end.

在圖19的例示中,難讀化控制程式132內之裝置1701的辨識碼「X6」的情況下,因為與逆轉換表404的數值「6」對應的轉換後數值為「0」,因此控制程式逆轉換處理部401係將「X6」置換為「X0」。 In the example of FIG. 19, when the identification code "X6" of the device 1701 in the control program 132 is difficult to read, since the converted value corresponding to the value "6" of the inverse conversion table 404 is "0", the control is performed. The program inverse conversion processing unit 401 replaces "X6" with "X0".

其次,在圖20顯示圖9所示之難讀化解除處理711的詳細。 Next, the details of the hard-to-read release processing 711 shown in FIG. 9 are shown in FIG.

首先,利用處理階段1801,資料處理部403係從控制裝置102讀出機器ID134。 First, in the processing stage 1801, the material processing unit 403 reads the device ID 134 from the control device 102.

其次,利用處理階段1802,附加資訊認證部306係確認被儲存的附加資訊133與難讀化時作成的附加資訊133為相同者。 Next, in the processing stage 1802, the additional information authentication unit 306 confirms that the stored additional information 133 is the same as the additional information 133 created when the reading is difficult.

之後,利用處理階段1803,逆轉換表作成處理部305係實行逆轉換表作成處理1811,作成逆轉換表308。 Thereafter, in the processing stage 1803, the inverse conversion table creation processing unit 305 executes the inverse conversion table creation processing 1811 to create the inverse conversion table 308.

之後,利用處理階段1804,控制程式逆轉換處理部304係實行控制程式逆轉換處理1812,使用逆轉換表308而將難讀化控制程式132轉換為控制程式131。 Thereafter, in the processing stage 1804, the control program inverse conversion processing unit 304 executes the control program inverse conversion processing 1812, and uses the inverse conversion table 308 to convert the difficult-to-read control program 132 into the control program 131.

又,逆轉換表作成處理1811的動作係與逆轉換表作成處理1311相同,控制程式逆轉換處理1812的動作係與控制程式逆轉換處理1312相同。 Further, the operation of the inverse conversion table creation processing 1811 is the same as the inverse conversion table creation processing 1311, and the operation of the control program inverse conversion processing 1812 is the same as the control program inverse conversion processing 1312.

為此,省略逆轉換表作成處理1811及控制程式逆轉換處理1812的說明。 For this reason, the description of the inverse conversion table creation processing 1811 and the control program inverse conversion processing 1812 is omitted.

根據以上所示之本實施形態,可以得到以下的效果。 According to the embodiment described above, the following effects can be obtained.

(1)因為控制程式與裝置之輸入/出的關係對於解讀控制程式為非常重要,因此藉由裝置編號的置換,使控制程式的解讀變得困難。 (1) Since the relationship between the control program and the input/output of the device is very important for the interpretation control program, the interpretation of the control program becomes difficult by the replacement of the device number.

(2)以利用控制裝置解除難讀化控制程式的難讀化後再實行控制程式的方式,可以進行從難讀化控制程式到原本的控制 程式之逆轉換。 (2) It is possible to perform the control from the hard-to-read control program to the original control by releasing the hard-to-read control program from the control device and then executing the control program. Inverse conversion of the program.

(3)因為在控制程式實行前才解除難讀化,因此不會使控制程式的實行速度減低,動作也不會有所變化。 (3) Since the hard-to-read is released before the control program is executed, the execution speed of the control program is not reduced, and the operation does not change.

(4)因為轉換後的裝置編號係為利用控制裝置可控制的裝置編號,因此難讀化後的控制程式係可以利用控制裝置實行。 (4) Since the device number after the conversion is a device number controllable by the control device, the control program that is difficult to read can be implemented by the control device.

但是,在利用機器ID不同的控制裝置、或者正式的控制裝置(具有解除難讀化機能的控制裝置)以外的機器實行控制程式的情況下,因為無法使控制程式正常動作,因此使根據不正當援用之仿製品的製造變得困難。 However, when a control program is executed by a device other than a control device having a different device ID or a control device having a normal control device (a control device having a function of releasing the hard-to-read function), the control program cannot be operated normally, and therefore the fraudulent operation is performed. The manufacture of the imitation products that have been used has become difficult.

(5)在作成轉換表時,藉由在索引使用可作為裝置編號予以使用的所有數值,因為使裝置編號轉換後的裝置編號之數值範圍變大,而使難讀化方式的解讀變得更困難。 (5) When creating a conversion table, by using all the values that can be used as the device number in the index, the interpretation of the hard-to-read method becomes more complicated by increasing the numerical range of the device number after the device number conversion. difficult.

(6)藉由在附加資訊使用時戳等每次作成都不同的資訊,使轉換表具有隨機性,即使在與相同的控制裝置對應將相同的控制程式難讀化時,因為可以得到不同的難讀化結果,使難讀化的解讀變得困難。 (6) By using different information such as time stamps for additional information, the conversion table is random, even if the same control program is difficult to read in correspondence with the same control device, because different Difficult to read the results, making the interpretation of difficult to read becomes difficult.

以上,在本實施形態中,說明包括以下手段之控制系統。 As described above, in the present embodiment, a control system including the following means will be described.

(1)使用從機器ID作成的虛擬隨機數,作成將某個數值轉換為不同的數值之轉換表的手段 (1) Using a virtual random number created from a machine ID to create a conversion table that converts a certain value into a different value

(2)使用上述(1)的轉換表,轉換控制程式之裝置編號的手段 (2) means for converting the device number of the control program using the conversion table of (1) above

(3)將上述(2)之轉換後的控制程式傳送到控制器的手段 (3) means for transmitting the converted control program of (2) above to the controller

(4)將轉換後的控制程式進行逆轉換的手段 (4) means for inverse conversion of the converted control program

又,根據本實施形態之控制系統,說明了包括:使用從機器ID及每次作成都不同的資料構成之附加資訊所作成的虛擬隨機數,作成將某個數值轉換為不同的數值之轉換表的手段。 Further, according to the control system of the present embodiment, a virtual random number including the additional information composed of the device ID and the data different for each creation is used, and a conversion table for converting a certain value into a different value is created. s method.

又,根據本實施形態之控制系統,說明了包括:使用從機器ID所作成的虛擬隨機數,作成將在控制程式內所使用的數值轉換為不同的數值之轉換表的手段。 Further, according to the control system of the present embodiment, a means for converting a numerical value used in a control program into a different numerical value conversion table using a virtual random number created from a device ID has been described.

又,根據本實施形態之控制系統,說明了包括:使用從機器ID所作成的虛擬隨機數,作成將在控制程式內可使用的數值轉換為不同的數值之轉換表的手段。 Further, according to the control system of the present embodiment, a means for converting a numerical value usable in the control program into a different numerical value conversion table using a virtual random number created from the device ID is described.

又,根據本實施形態之控制系統,說明了包括:在從控制器讀出控制程式時,認證附加資訊為正式者的手段。 Further, according to the control system of the present embodiment, a means for authenticating the additional information to the official when the control program is read from the controller has been described.

實施形態2. Embodiment 2.

在實施形態1中,在控制程式轉換處理812中雖然是使用一個轉換表,但是在本實施形態中,說明使用多個轉換表而進行控制程式131的轉換之例示。 In the first embodiment, although one conversion table is used in the control program conversion processing 812, in the present embodiment, an example in which the conversion of the control program 131 is performed using a plurality of conversion tables will be described.

本實施形態亦同,控制系統的整體構成係如圖1所示,電腦裝置101的構成例係如圖2所示,控制裝置102的構成例係如圖3所示。 In the present embodiment, the overall configuration of the control system is as shown in Fig. 1, the configuration of the computer device 101 is as shown in Fig. 2, and the configuration of the control device 102 is shown in Fig. 3.

在本實施形態中,難讀化處理部115及難讀化解除處理部125的構成係與實施形態1不同。 In the present embodiment, the configuration of the refractory processing unit 115 and the refractory cancellation processing unit 125 is different from that of the first embodiment.

在圖21顯示本實施形態之難讀化處理部115的構成例,在圖22顯示本實施形態之難讀化解除處理部125的構成例。 An example of the configuration of the refractory processing unit 115 of the present embodiment is shown in Fig. 21, and a configuration example of the refractory processing unit 125 of the present embodiment is shown in Fig. 22 .

在圖21之難讀化處理部115的構成中,與圖5所示之構成相比,增加了表示作成的轉換表之個數的表設定資訊1909。 In the configuration of the hard-to-read processing unit 115 of Fig. 21, table setting information 1909 indicating the number of created conversion tables is added as compared with the configuration shown in Fig. 5 .

表設定資訊1909以外的要素係與圖5所示的要素相同。 The elements other than the table setting information 1909 are the same as those shown in FIG. 5.

同樣,在圖22之難讀化解除處理部125的構成中,與圖6所示之構成相比,增加了表示作成的轉換表之個數的表設定資訊2005。 Similarly, in the configuration of the hard-to-read release processing unit 125 of Fig. 22, the table setting information 2005 indicating the number of created conversion tables is added as compared with the configuration shown in Fig. 6 .

表設定資訊2005以外的要素係與圖6所示的要素相同。 The elements other than the table setting information 2005 are the same as those shown in FIG. 6.

其次,在本實施形態中,將控制程式131寫入到控制裝置102的處理與實施形態1不同。 Next, in the present embodiment, the process of writing the control program 131 to the control device 102 is different from that of the first embodiment.

在圖23顯示將本實施形態之控制程式131寫入到控制裝置102的處理之流程。 The flow of the process of writing the control program 131 of the present embodiment to the control device 102 is shown in FIG.

直至處理階段2101~2103係與圖7的處理階段501~503相同。 The processing stages 2101 to 2103 are the same as the processing stages 501 to 503 of FIG.

在處理階段2104中,與圖7的處理階段504相同,產生轉換表1907,並使用轉換表1907將控制程式131難讀化而產生難讀化控制程式132,但是用於難讀化之轉換表1907為多個。 In the processing stage 2104, the conversion table 1907 is generated in the same manner as the processing stage 504 of FIG. 7, and the control program 131 is difficult to read using the conversion table 1907 to generate the hard-to-read control program 132, but the conversion table for the hard-to-read conversion. 1907 is a plurality.

其次,利用處理階段2105,通訊處理部116係透過通訊裝置107將難讀化控制程式132、用於轉換表1907的產生之附加資訊133、及表設定資訊1909傳送到控制裝置102。 Next, in the processing stage 2105, the communication processing unit 116 transmits the hard-to-read control program 132, the additional information 133 for generating the conversion table 1907, and the table setting information 1909 to the control device 102 via the communication device 107.

在控制裝置102中,利用處理階段2106,通訊控制部121係接收難讀化控制程式132、附加資訊133及表設定資訊1909,並將難讀化控制程式132儲存在控制程式記憶部 124,附加資訊133係儲存在附加資訊管理部123,表設定資訊1909係作為表設定資訊2005予以儲存。 In the control device 102, the communication control unit 121 receives the hard-to-read control program 132, the additional information 133, and the table setting information 1909 by using the processing stage 2106, and stores the hard-to-read control program 132 in the control program memory unit. 124, the additional information 133 is stored in the additional information management unit 123, and the table setting information 1909 is stored as the table setting information 2005.

在圖24顯示本實施形態之轉換表作成處理811的詳細。 The details of the conversion table creation processing 811 of this embodiment are shown in FIG.

首先,利用處理階段2201,轉換表作成處理部1902係將作成的轉換表1907之個數設定在表設定資訊1909。 First, in the processing stage 2201, the conversion table creation processing unit 1902 sets the number of created conversion tables 1907 in the table setting information 1909.

其次,利用處理階段2202,轉換表作成處理部1902係將控制程式131內所使用的裝置編號用來作為索引,作成轉換前的配列與轉換後的配列相同之表2211。 Next, in the processing stage 2202, the conversion table creation processing unit 1902 uses the device number used in the control program 131 as an index, and creates a table 2211 in which the arrangement before conversion and the arrangement after conversion are the same.

該處理係與圖11之處理階段901的處理相同。 This processing is the same as the processing of the processing stage 901 of FIG.

利用處理階段2203,轉換表作成處理部1902係將機器ID134及附加資訊133作為種子資料作成虛擬隨機數2212。 In the processing stage 2203, the conversion table creation processing unit 1902 creates the virtual random number 2212 by using the device ID 134 and the additional information 133 as seed data.

該處理係與圖11之處理階段902的處理相同。 This processing is the same as the processing of processing stage 902 of FIG.

利用處理階段2204,轉換表作成處理部1902係使用已作成的虛擬隨機數2212,將表2211之轉換後的配列隨機排列,而使表2211之轉換後配列內的數值順序有所變化,使用數值順序有所變化之新配列作成轉換表1907。 In the processing stage 2204, the conversion table creation processing unit 1902 uses the created virtual random number 2212 to randomly arrange the converted lists of the table 2211, and changes the numerical order in the converted list of the table 2211, and uses the numerical values. A new arrangement with a change in order is made into a conversion table 1907.

該處理係與圖11之處理階段903的處理相同。 This processing is the same as the processing of the processing stage 903 of FIG.

又,已作成的轉換表1907係與計數值對應。 Further, the created conversion table 1907 corresponds to the count value.

例如,在處理階段2201設定的數量為「2」的情況下,轉換表1907係作成2個。 For example, when the number set in the processing stage 2201 is "2", the conversion table 1907 is created as two.

接著,第1個轉換表1907A係與計數值「0」對應,第2個轉換表1907B係與計數值「1」對應。 Next, the first conversion table 1907A corresponds to the count value "0", and the second conversion table 1907B corresponds to the count value "1".

接著,利用處理階段2205,若是表的作成數未達利用處理階段2201所設定的數量,則回到處理階段2202。 Next, in the processing stage 2205, if the number of creations of the table does not reach the number set by the processing stage 2201, the processing returns to the processing stage 2202.

又,利用處理階段2205,若是表的作成數已達到利用處理階段2201所設定的數量則結束處理。 Further, in the processing stage 2205, if the number of creations of the table has reached the number set by the processing stage 2201, the processing is terminated.

在圖25顯示關於本實施形態之控制程式轉換處理812的詳細,在圖26顯示關於本實施形態之控制程式轉換處理812的實施例。 The details of the control program conversion processing 812 of the present embodiment are shown in Fig. 25, and an embodiment of the control program conversion processing 812 of the present embodiment is shown in Fig. 26.

首先,利用處理階段2301,控制程式轉換處理部1901係讀出一個裝置辨識碼。 First, in the processing stage 2301, the control program conversion processing unit 1901 reads out one device identification code.

接著,利用處理階段2302,控制程式轉換處理部1901係確認特定計數器的計數值,並參照與現在的計數值對應的轉換表1907,轉換利用處理階段2301讀出的裝置辨識碼。 Next, in the processing stage 2302, the control program conversion processing unit 1901 checks the count value of the specific counter, and refers to the conversion table 1907 corresponding to the current count value, and converts the device identification code read by the processing stage 2301.

在設定於表設定資訊1909的數量為「2」的情況下,計數器的計數值採用「0」或「1」。 When the number of table setting information 1909 is "2", the counter value is "0" or "1".

例如,現在計數值為「0」的話,控制程式轉換處理部1901係選擇與計數值「0」對應之轉換表1907。 For example, when the count value is "0", the control program conversion processing unit 1901 selects the conversion table 1907 corresponding to the count value "0".

接著,參照已選擇之轉換表1907的轉換前配列及轉換後配列,轉換利用處理階段2301讀出的裝置辨識碼。 Next, the device identification code read by the processing stage 2301 is converted by referring to the pre-conversion arrangement and the post-conversion arrangement of the selected conversion table 1907.

使用轉換表1907之裝置編號的轉換處理本身係與利用實施形態1所示者相同。 The conversion process using the device number of the conversion table 1907 is the same as that shown in the first embodiment.

又,依據計數值而選擇的轉換表1907之轉換後的配列係相當於選擇第2配列的例示。 Further, the converted arrangement of the conversion table 1907 selected in accordance with the count value corresponds to an example in which the second arrangement is selected.

之後,利用處理階段2303,若是計數器的計數值未達到表設定資訊1909的設定數,利用處理階段2304,控制 程式轉換處理部1901係增加計數器的計數值。 Thereafter, using the processing stage 2303, if the count value of the counter does not reach the set number of the table setting information 1909, the processing stage 2304 is used to control The program conversion processing unit 1901 increases the count value of the counter.

若是計數器的計數值已達到表設定資訊1909的設定數,則利用處理階段2305將計數器的計數值初期化。 If the count value of the counter has reached the set number of the table setting information 1909, the counter value of the counter is initialized by the processing stage 2305.

利用處理階段2303,若有未轉換的裝置辨識碼,則回到處理階段2301。 With processing stage 2303, if there is an unconverted device identification code, then return to processing stage 2301.

對於所有的裝置辨識碼,反覆以上的處理直至結束。 For all device identification codes, the above processing is repeated until the end.

在圖26中,控制程式轉換處理部1901係在控制程式131內的裝置2401(X0)的轉換時,選擇轉換表1907A。 In FIG. 26, the control program conversion processing unit 1901 selects the conversion table 1907A when the device 2401 (X0) in the control program 131 is switched.

因為轉換表1907A中與數值「0」對應之轉換後的數值為「6」,因此控制程式轉換處理部1901係將「X0」轉換為「X6」。 Since the converted value corresponding to the value "0" in the conversion table 1907A is "6", the control program conversion processing unit 1901 converts "X0" to "X6".

其次,控制程式轉換處理部1901係在控制程式131內的裝置2402(Y0)的轉換時,前進計數器而選擇轉換表1907B。 Next, the control program conversion processing unit 1901 advances the counter and selects the conversion table 1907B when the device 2402 (Y0) in the control program 131 is switched.

因為轉換表1907B中與數值「0」對應之轉換後的數值為「5」,因此控制程式轉換處理部1901係將「Y0」轉換為「Y5」。 Since the converted value corresponding to the value "0" in the conversion table 1907B is "5", the control program conversion processing unit 1901 converts "Y0" to "Y5".

在圖27顯示關於本實施形態之逆轉換表作成處理1311的詳細。 The details of the inverse conversion table creation processing 1311 of this embodiment are shown in FIG.

首先,利用處理階段2501,逆轉換表作成處理部402係將表設定資訊2005的數量設定為作成的逆轉換表2004的數量。 First, in the processing stage 2501, the inverse conversion table creation processing unit 402 sets the number of table setting information 2005 to the number of created inverse conversion tables 2004.

利用處理階段2502,逆轉換表作成處理部402係使用在難讀化控制程式132內所使用的裝置編號,作成轉換前的數值與轉換後的數值相同的表2511。 In the processing stage 2502, the inverse conversion table creation processing unit 402 uses the device number used in the hard-to-read control program 132 to create a table 2511 in which the value before conversion is the same as the converted value.

之後,利用處理階段2503,逆轉換表作成處理部2002係將機器ID134及附加資訊133作為種子資料而作成虛 擬隨機數2512。 Thereafter, in the processing stage 2503, the inverse conversion table creation processing unit 2002 creates the virtual machine ID 134 and the additional information 133 as seed data. Quasi-random number 2512.

在本實施形態亦同,電腦裝置101之轉換表作成處理部1902之虛擬隨機數的產生演算法、與控制裝置102之逆轉換表作成處理部2002之虛擬隨機數的產生演算法為相同。 Also in the present embodiment, the generation algorithm of the virtual random number of the conversion table creation processing unit 1902 of the computer device 101 is the same as the generation algorithm of the virtual random number of the inverse conversion table creation processing unit 2002 of the control device 102.

換言之,逆轉換表作成處理部2002係產生與利用轉換表作成處理部1902產生的虛擬隨機數相同之虛擬隨機數。 In other words, the inverse conversion table creation processing unit 2002 generates a virtual random number identical to the virtual random number generated by the conversion table creation processing unit 1902.

利用處理階段2504,逆轉換表作成處理部2002係使用已作成的虛擬隨機數2512,並藉由將表2511之轉換前配列內的數值順序隨機排列,而使表2511之轉換前配列內的數值順序有所變化,使用數值順序有所變化新配列作成逆轉換表2004。 In the processing stage 2504, the inverse conversion table creation processing unit 2002 uses the created virtual random number 2512, and sequentially arranges the numerical values in the pre-conversion arrangement of the table 2511 in order to make the values in the table before the conversion of the table 2511. The order has changed, and the numerical order has been changed to create an inverse conversion table 2004.

與轉換表1907相同,已作成的逆轉換表2004係與計數值對應。 Like the conversion table 1907, the inverse conversion table 2004 that has been created corresponds to the count value.

例如,在處理階段2501設定的數量為「2」的情況下,逆轉換表2004係作成2個。 For example, when the number set in the processing stage 2501 is "2", the inverse conversion table 2004 is created in two.

接著,第1個逆轉換表2004A係與計數值「0」對應,第2個逆轉換表2004B係與計數值「1」對應。 Next, the first inverse conversion table 2004A corresponds to the count value "0", and the second inverse conversion table 2004B corresponds to the count value "1".

接著,利用處理階段2505,若是表的作成數未達利用處理階段2501所設定的數量,則回到處理階段2502。 Next, in the processing stage 2505, if the number of creations of the table does not reach the number set by the processing stage 2501, the processing returns to the processing stage 2502.

又,利用處理階段2505,若是表的作成數已達到利用處理階段2501所設定的數量則結束處理。 Further, in the processing stage 2505, if the number of creations of the table has reached the number set by the processing stage 2501, the processing is terminated.

在圖28顯示關於本實施形態之控制程式逆轉換處理1312的詳細,在圖29顯示關於本實施形態之控制程式逆轉換處理1312的實施例。 The details of the control program inverse conversion processing 1312 of the present embodiment are shown in Fig. 28, and an embodiment of the control program inverse conversion processing 1312 of the present embodiment is shown in Fig. 29.

首先,利用處理階段2601,控制程式逆轉換處理部2001係讀出一個裝置辨識碼。 First, in the processing stage 2601, the control program inverse conversion processing unit 2001 reads out a device identification code.

接著,利用處理階段2602,控制程式逆轉換處理部2001係參照與計數器的計數值因應的逆轉換表2004,轉換裝置辨識碼。 Next, in the processing stage 2602, the control program inverse conversion processing unit 2001 refers to the inverse conversion table 2004 corresponding to the count value of the counter, and converts the device identification code.

在設定於表設定資訊2005的數量為「2」的情況下,計數器的計數值採用「0」或「1」。 When the number of table setting information 2005 is "2", the counter value is "0" or "1".

例如,現在的計數值為「0」的話,控制程式逆轉換處理部2001係選擇與計數值「0」對應之逆轉換表2004。 For example, when the current count value is "0", the control program inverse conversion processing unit 2001 selects the inverse conversion table 2004 corresponding to the count value "0".

接著,參照已選擇之逆轉換表2004的轉換前配列及轉換後配列,轉換利用處理階段2601讀出的裝置辨識碼。 Next, the device identification code read by the processing stage 2601 is converted by referring to the pre-conversion arrangement and the post-conversion arrangement of the selected inverse conversion table 2004.

使用逆轉換表2004之裝置編號的逆轉換處理本身係與利用實施形態1所示者相同。 The inverse conversion process using the device number of the inverse conversion table 2004 is the same as that shown in the first embodiment.

又,依據計數值而選擇的逆轉換表2004之轉換前的配列係相當於選擇第4配列的例示。 Further, the arrangement before the conversion of the inverse conversion table 2004 selected based on the count value corresponds to an example in which the fourth arrangement is selected.

之後,利用處理階段2603,若是計數器的數值未達到表設定資訊2005的設定數,利用處理階段2604,控制程式逆轉換處理部2001係增加計數器的計數值。 Thereafter, in the processing stage 2603, if the value of the counter does not reach the set number of the table setting information 2005, the control program inverse conversion processing unit 2001 increases the count value of the counter by the processing stage 2604.

若是計數器的計數值已達到表設定資訊2005的設定數,控制程式逆轉換處理部2001係利用處理階段2605將計數器初期化。 If the count value of the counter has reached the set number of the table setting information 2005, the control program inverse conversion processing unit 2001 initializes the counter by the processing stage 2605.

利用處理階段2603,若有未轉換的裝置,則回到處理階段2601。 With processing stage 2603, if there is an unconverted device, it returns to processing stage 2601.

對於所有的裝置辨識碼,反覆以上的處理直至結束。 For all device identification codes, the above processing is repeated until the end.

在圖29中,控制程式逆轉換處理部2001係在難讀化控制程式132內的裝置2701(X6)的轉換時,選擇逆轉換表2004A。 In FIG. 29, the control program inverse conversion processing unit 2001 selects the inverse conversion table 2004A at the time of conversion of the device 2701 (X6) in the hard-to-read control program 132.

因為逆轉換表2004A中與數值「6」對應之轉換後的數值為「0」,因此控制程式逆轉換處理部2001係將「X6」轉換為「X0」。 Since the converted value corresponding to the value "6" in the inverse conversion table 2004A is "0", the control program inverse conversion processing unit 2001 converts "X6" to "X0".

其次,控制程式逆轉換處理部2001係在難讀化控制程式132內的裝置2702(Y5)的轉換時,前進計數器而選擇逆轉換表2004B。 Next, the control program inverse conversion processing unit 2001 advances the counter and selects the inverse conversion table 2004B at the time of conversion of the device 2702 (Y5) in the hard-to-read control program 132.

因為逆轉換表2004B中與數值「5」對應之轉換後的數值為「0」,因此控制程式逆轉換處理部2001係將「Y5」轉換為「Y0」。 Since the converted value corresponding to the value "5" in the inverse conversion table 2004B is "0", the control program inverse conversion processing unit 2001 converts "Y5" to "Y0".

在實施形態1中雖然是將控制程式內之相同的裝置編號全部轉換為相同的裝置編號,但是若是本實施形態的話則可以防止前述問題。 In the first embodiment, the same device numbers in the control program are all converted into the same device number. However, the present embodiment can prevent the above problems.

以上,在本實施形態中,說明了包括以下手段之控制系統。 As described above, in the present embodiment, a control system including the following means has been described.

(1)使用從機器ID及從資訊作成的虛擬隨機數,作成多個將某個數值轉換為不同數值之轉換表的手段 (1) Using a virtual random number created from a machine ID and information to create a plurality of conversion tables for converting a certain value into a different value

(2)因應設定資訊所決定的順序而使用上述(1)之複數作成的轉換表,轉換控制程式之裝置編號的手段。 (2) A means for converting the device number of the control program by using the conversion table created by the plural of the above (1) in accordance with the order determined by the setting information.

實施形態3. Embodiment 3.

在實施形態3中,針對與實施形態1所示之方式不同的控制程式轉換方法加以闡述。 In the third embodiment, a control program conversion method different from the one described in the first embodiment will be described.

在實施形態1中控制程式轉換處理部301係使用轉換表307進行裝置編號的轉換,但是在本實施形態中並不是轉換裝置編號,而是附加步驟編號再轉換轉換表。 In the first embodiment, the control program conversion processing unit 301 converts the device number using the conversion table 307. However, in the present embodiment, instead of the conversion device number, the step number conversion conversion table is added.

關於本實施形態之控制程式131係如圖31所示,在各裝置辨識碼附註步驟編號。 As shown in FIG. 31, the control program 131 of the present embodiment has a step number in each device identification code.

在裝置2901中,在辨識碼「X0」附註步驟編號(0)。 In the device 2901, the step number (0) is noted in the identification code "X0".

在本實施形態中,轉換表作成處理部302係與實施形態1相同,產生轉換表307。 In the present embodiment, the conversion table creation processing unit 302 is the same as the first embodiment, and the conversion table 307 is generated.

又,控制程式逆轉換處理部401也與實施形態1相同,產生逆轉換表404。 Further, the control program inverse conversion processing unit 401 also generates the inverse conversion table 404 in the same manner as in the first embodiment.

在本實施形態中,根據控制程式轉換處理部301之控制程式轉換處理812與根據控制程式逆轉換處理部401之控制程式逆轉換處理1311係與實施形態1不同。 In the present embodiment, the control program conversion processing 812 of the control program conversion processing unit 301 and the control program inverse conversion processing 1311 according to the control program inverse conversion processing unit 401 are different from the first embodiment.

以下,針對各處理進行說明。 Hereinafter, each process will be described.

在圖30顯示關於本實施形態之控制程式轉換處理812的詳細,在圖31顯示關於本實施形態之控制程式轉換處理812的實施例。 The details of the control program conversion processing 812 of the present embodiment are shown in Fig. 30, and an embodiment of the control program conversion processing 812 of the present embodiment is shown in Fig. 31.

首先,利用處理階段2801,控制程式轉換處理部301係讀出一個裝置辨識碼。 First, in the processing stage 2801, the control program conversion processing unit 301 reads out one device identification code.

接著,利用處理階段2802,控制程式轉換處理部301係參照轉換表307,將讀出的裝置辨識碼轉換為該步驟的裝置辨識碼。 Next, in the processing stage 2802, the control program conversion processing unit 301 refers to the conversion table 307, and converts the read device identification code into the device identification code of this step.

更具體而言,控制程式轉換處理部301係判定附註在已讀出之裝置辨識碼之步驟編號的數值之轉換前配列內的位置。 More specifically, the control program conversion processing unit 301 determines the position in the pre-conversion arrangement in which the value of the step number of the read device identification code is added.

接著,控制程式轉換處理部301係抽出位於與判定後的位置相同位置之轉換後配列內的數值。 Next, the control program conversion processing unit 301 extracts the numerical value in the post-conversion arrangement at the same position as the determined position.

接著,控制程式轉換處理部301係選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼,將利用處理階段2801讀出的裝置辨識碼置換為已選定的裝置辨識碼。 Next, the control program conversion processing unit 301 selects the device identification code to which the extracted numerical value is a step number, and replaces the device identification code read by the processing stage 2801 with the selected device identification code.

其次,利用處理階段2803,若是有未轉換的裝置辨識碼,則回到處理階段2801。 Next, using the processing stage 2803, if there is an unconverted device identification code, it returns to the processing stage 2801.

對於所有的裝置辨識碼,反覆以上的處理直至結束。 For all device identification codes, the above processing is repeated until the end.

在圖31的例示中,裝置2901(X0)的步驟編號為「0」。 In the example of FIG. 31, the step number of the device 2901 (X0) is "0".

與轉換表307之數值「0」對應的轉換後數值為「6」。 The converted value corresponding to the value "0" of the conversion table 307 is "6".

為此,控制程式轉換處理部301係將「X0」轉換為附註有步驟編號「6」的裝置辨識碼之「Y7」。 Therefore, the control program conversion processing unit 301 converts "X0" into "Y7" of the device identification code having the step number "6".

其次,在圖32顯示控制程式逆轉換處理1312的詳細,在圖33顯示控制程式逆轉換處理1312的實施例。 Next, the details of the control program inverse conversion processing 1312 are shown in Fig. 32, and an embodiment of the control program inverse conversion processing 1312 is shown in Fig. 33.

首先,利用處理階段3001,控制程式逆轉換處理部401係讀出一個裝置辨識碼。 First, in the processing stage 3001, the control program inverse conversion processing unit 401 reads out one device identification code.

接著,利用處理階段3002,控制程式逆轉換處理部401係參照逆轉換表404將已讀出的裝置辨識碼轉換為該步驟的裝置辨識碼。 Next, in the processing stage 3002, the control program inverse conversion processing unit 401 refers to the inverse conversion table 404 to convert the read device identification code into the device identification code of this step.

更具體而言,控制程式逆轉換處理部401係判定附註在已讀出的裝置辨識碼之步驟編號的數值之轉換前配列內的位置。 More specifically, the control program inverse conversion processing unit 401 determines the position in the pre-conversion arrangement in which the value of the step number of the read device identification code is added.

接著,控制程式逆轉換處理部401係抽出位於與判定後之轉換前配列內的位置相同位置之轉換後配列內的數值。 Next, the control program inverse conversion processing unit 401 extracts the numerical value in the post-conversion arrangement located at the same position as the position in the pre-conversion arrangement after the determination.

接著,控制程式逆轉換處理部401係選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼,將利用處理階段3001讀出的裝置辨識碼置換為已選定的裝置辨識碼。 Next, the control program inverse conversion processing unit 401 selects the device identification code to which the extracted numerical value is a step number, and replaces the device identification code read by the processing stage 3001 with the selected device identification code.

其次,利用處理階段3003,若是有未轉換的裝置辨識碼,則回到處理階段3001。 Next, using the processing stage 3003, if there is an unconverted device identification code, it returns to the processing stage 3001.

對於所有的裝置辨識碼,反覆以上的處理直至結束。 For all device identification codes, the above processing is repeated until the end.

在圖33的例示中,裝置3101(Y7)的步驟編號為「0」。 In the example of Fig. 33, the step number of the device 3101 (Y7) is "0".

與逆轉換表404之數值「0」對應之轉換後的數值為「6」。 The converted value corresponding to the value "0" of the inverse conversion table 404 is "6".

為此,控制程式逆轉換處理部401係將「Y7」轉換為附註有步驟編號「6」的裝置辨識碼之「X0」。 Therefore, the control program inverse conversion processing unit 401 converts "Y7" into "X0" of the device identification code having the step number "6".

在本實施形態中,因為不只是裝置編號,連同裝置種類也可以進行隨機化,因此認為難讀化控制程式的解讀變得困難。 In the present embodiment, since the device number can be randomized regardless of the device number, it is considered that the interpretation of the difficult-to-read control program becomes difficult.

又,在本實施形態中,包含在轉換表307及逆轉換表404之數值「0~7」係依據控制程式131內的步驟編號「0~7」。 Further, in the present embodiment, the numerical values "0 to 7" included in the conversion table 307 and the inverse conversion table 404 are based on the step numbers "0 to 7" in the control program 131.

換言之,在使用步驟編號轉換裝置辨識碼的情況下,必須使用步驟編號的數值產生轉換表307。 In other words, in the case of using the step number conversion device identification code, it is necessary to generate the conversion table 307 using the numerical value of the step number.

同樣,對於逆轉換表404也必須使用步驟編號的數值加以產生。 Similarly, the inverse conversion table 404 must also be generated using the value of the step number.

又,將實施形態2及實施形態3組合後加以實施亦可。 Further, the second embodiment and the third embodiment may be combined and implemented.

換言之,電腦裝置101之難讀化處理部115係如實施形態 2所示,產生多個轉換表,並因應計數值選擇多個轉換表。 In other words, the hard-to-read processing unit 115 of the computer device 101 is as an embodiment. As shown in 2, a plurality of conversion tables are generated, and a plurality of conversion tables are selected in accordance with the count value.

又,難讀化處理部115係如實施形態3所示,使其介有步驟編號,並使用已選擇的轉換表轉換裝置辨識碼。 Further, the hard-to-read processing unit 115 is provided with the step number as shown in the third embodiment, and uses the selected conversion table conversion device identification code.

又,控制裝置102的難讀化解除處理部125係如實施形態2所示,產生多個逆轉換表,並因應計數值選擇多個逆轉換表。 Further, as shown in the second embodiment, the hard-to-read release processing unit 125 of the control device 102 generates a plurality of inverse conversion tables, and selects a plurality of inverse conversion tables in accordance with the count value.

又,難讀化解除處理部125係如實施形態3所示,使其介有步驟編號,並使用已選擇的逆轉換表復原裝置辨識碼。 Further, as shown in the third embodiment, the hard-to-read release processing unit 125 interpolates the device identification code using the selected inverse conversion table as shown in the third embodiment.

在本實施形態中,說明了包括:使用轉換表,並與控制程式的步驟數因應而轉換裝置辨識碼的手段之控制系統。 In the present embodiment, a control system including means for converting a device identification code using a conversion table and responding to the number of steps of the control program has been described.

如以上所示,藉由使用實施形態1~3所示之手法,可以進行控制程式的非正當援用或在控制器寫入時之在通訊線路的盜取之對策。 As described above, by using the methods shown in the first to third embodiments, it is possible to perform an unauthorized use of the control program or a countermeasure against theft of the communication line when the controller writes.

在實施形態1~3所示之手法中,在利用控制裝置實行控制程式前,因為進行難讀化的解除不會引起實行速度的減低,實行時的動作也不會有所變化。 In the methods shown in the first to third embodiments, before the control program is executed by the control device, the release of the hard-to-read is not caused by the decrease in the execution speed, and the operation at the time of the execution does not change.

又,若是使用逆轉換表可以將難讀化控制程式逆轉換為難讀化前的控制程式。 Moreover, if the inverse conversion table is used, the hard-to-read control program can be inversely converted into a control program before the hard-to-read.

再者,在難讀化之解除時,藉由讀出使用硬體固有值即機器ID,因此即使將難讀化控制程式及難讀化解除所必要的附加資訊複製到其他控制裝置,控制程式也不會進行預定的動作,因此使根據非正當援用之仿製品的製造變得困難。 In addition, when the hard-to-read is released, by using the machine ID which is the hardware-specific value, even if the hard-to-read control program and the additional information necessary for the hard-to-read release are copied to other control devices, the control program The predetermined action is also not performed, so that it is difficult to manufacture the imitation according to the improper use.

以上,雖然是針對本發明的實施形態進行說明,但是在此等實施形態之中,即使將2個以上組合實行亦可。 Although the embodiments of the present invention have been described above, in the embodiments, two or more combinations may be implemented.

或是,此等實施形態之中,即使是部份性實施1個亦可。 Alternatively, even one of these embodiments may be implemented in part.

或是,此等實施形態之中,將2個以上部份性組合實施亦可。 Alternatively, in these embodiments, two or more partial combinations may be implemented.

又,本發明並非是限定於此等實施形態者,因應必要可以進行各種變更。 Further, the present invention is not limited to the embodiments, and various modifications can be made as necessary.

101‧‧‧電腦裝置(控制程式管理裝置) 101‧‧‧Computer device (control program management device)

102‧‧‧控制裝置 102‧‧‧Control device

104‧‧‧生產機器 104‧‧‧Production machines

105‧‧‧通訊線路 105‧‧‧Communication lines

106‧‧‧通訊線路 106‧‧‧Communication lines

Claims (15)

一種控制程式管理裝置,管理記述有裝置的辨識碼即裝置辨識碼的控制程式,其特徵在於包括:使用固有在實行前述控制程式的控制裝置之數值即控制器固有值,產生虛擬隨機數之虛擬隨機數產生部;使用利用前述虛擬隨機數產生部產生的虛擬隨機數,將前述控制程式所記述的裝置辨識碼置換為其他的裝置辨識碼之裝置辨識碼置換部;及將利用前述裝置辨識碼置換部置換裝置辨識碼後的控制程式輸出到前述控制裝置之輸出部。 A control program management device for managing a control program for describing a device identification code, which is an identification code of a device, comprising: generating a virtual random number using a value of a controller inherent to a control device that executes the control program a random number generating unit that uses a virtual random number generated by the virtual random number generating unit, replaces a device identification code described in the control program with a device identification code replacing unit of another device identification code; and uses the device identification code The control program after the replacement unit replacement device identification code is output to the output unit of the control device. 如申請專利範圍第1項所述之控制程式管理裝置,其中,前述虛擬隨機數產生部係使用每次產生都不同值之一次資訊與前述控制器固有值,產生虛擬隨機數,前述輸出部係將利用前述裝置辨識碼置換部置換裝置辨識碼後的控制程式、及利用前述虛擬隨機數產生部進行虛擬隨機數產生所用之一次資訊輸出到前述控制裝置。 The control program management device according to claim 1, wherein the virtual random number generation unit generates a virtual random number by using one piece of information that is different for each time and the controller-specific value, and the output unit is The control program after the device identification code replacement unit replacement device identification code and the primary information used for generating the virtual random number by the virtual random number generation unit are output to the control device. 如申請專利範圍第1項所述之控制程式管理裝置,其中,前述控制程式管理裝置係管理記述有多個裝置辨識碼之控制程式,前述裝置辨識碼置換部係將記述在前述控制程式之各裝置辨識碼置換為記述在前述控制程式之其他的裝置辨識碼。 The control program management device according to claim 1, wherein the control program management device manages a control program in which a plurality of device identification codes are described, and the device identification code replacement unit is described in each of the control programs. The device identification code is replaced with another device identification code described in the aforementioned control program. 如申請專利範圍第1項所述之控制程式管理裝置,其中,前述控制程式管理裝置係管理記述有多個裝置辨識碼之控 制程式,前述裝置辨識碼置換部係將記述在前述控制程式之各裝置辨識碼置換為記述在前述控制程式之其他的裝置辨識碼及沒有記述在前述控制程式之其他的裝置辨識碼之中的任一個。 The control program management device according to claim 1, wherein the control program management device manages the control of the plurality of device identification codes. In the program, the device identification code replacing unit replaces each device identification code described in the control program with another device identification code described in the control program and other device identification codes not described in the control program. Any one. 如申請專利範圍第1項所述之控制程式管理裝置,其中,前述控制程式管理裝置係管理記述有多個裝置辨識碼,並在各裝置辨識碼包含數值之控制程式,前述裝置辨識碼置換部係將至少含有被包含在前述多個裝置辨識碼的數值之多個數值以特定的順序並列而產生第1配列,使用利用前述虛擬隨機數產生部產生的虛擬隨機數,使前述第1配列內的數值順序有所變化,產生新的配列即第2配列,對於每個裝置辨識碼,判定被包含在裝置辨識碼之數值的前述第1配列內的位置,並抽出位於與已判定之前述第1配列內的位置相同位置之前述第2配列內的數值,將被包含在裝置辨識碼之數值轉換為已抽出的數值而進行裝置辨識碼的置換。 The control program management device according to claim 1, wherein the control program management device manages a control program in which a plurality of device identification codes are described, and each device identification code includes a numerical value, and the device identification code replacement unit The first array is generated by including at least a plurality of numerical values of the numerical values included in the plurality of device identification codes in a specific order, and the first random array is generated by using the virtual random number generated by the virtual random number generating unit. The numerical order is changed to generate a new arrangement, that is, the second arrangement. For each device identification code, the position included in the first arrangement of the value of the device identification code is determined, and the above-mentioned The value in the second arrangement in the same position in the 1 column is converted into the extracted value by the value included in the device identification code, and the device identification code is replaced. 如申請專利範圍第5項所述之控制程式管理裝置,其中,前述虛擬隨機數產生部係產生多個虛擬隨機數,前述裝置辨識碼置換部係使用利用前述虛擬隨機數產生部產生的前述各個多個虛擬隨機數,使前述第1配列內的數值順序有所變化,產生多個新的配列作為多個第2配列, 對於每個裝置辨識碼,依據特定的選擇基準,從前述多個第2配列之中選擇任一個第2配列作為選擇第2配列,判定被包含在裝置辨識碼之數值的前述第1配列內的位置,並抽出位於與已判定之前述第1配列內的位置相同位置之前述選擇第2配列內的數值,將被包含在裝置辨識碼之數值轉換為已抽出的數值而進行裝置辨識碼的置換。 The control program management device according to claim 5, wherein the virtual random number generating unit generates a plurality of virtual random numbers, and the device identification code replacing unit uses the respective ones generated by the virtual random number generating unit. a plurality of virtual random numbers, the numerical order in the first arrangement is changed, and a plurality of new arrangements are generated as a plurality of second arrangements. For each device identification code, one of the plurality of second arrays is selected as the second selection column according to a specific selection criterion, and is determined to be included in the first arrangement of the value of the device identification code. Positioning and extracting the value in the selected second arrangement at the same position as the position in the first arrangement determined, and converting the value included in the device identification code into the extracted value to perform the device identification code replacement . 如申請專利範圍第1項所述之控制程式管理裝置,其中,前述控制程式管理裝置係管理記述有多個裝置辨識碼,並在各裝置辨識碼附註有步驟編號之控制程式,前述裝置辨識碼置換部係將至少含有附註在前述多個裝置辨識碼之多個步驟編號的數值之多個數值以特定的順序並列而產生第1配列,使用利用前述虛擬隨機數產生部產生的虛擬隨機數,使前述第1配列內的數值順序有所變化,產生新的配列即第2配列,對於每個裝置辨識碼,判定附註在裝置辨識碼的步驟編號之數值的前述第1配列內的位置,並抽出位於與已判定之前述第1配列內的位置相同位置之前述第2配列內的數值,選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼,將裝置辨識碼置換為已選定的裝置辨識碼。 The control program management device according to claim 1, wherein the control program management device manages a control program in which a plurality of device identification codes are described, and a step number is attached to each device identification code, the device identification code. The replacement unit generates a first arrangement by arranging at least a plurality of numerical values of a plurality of step numbers of the plurality of device identification codes in a predetermined order, and using a virtual random number generated by the virtual random number generation unit. The order of the numerical values in the first arrangement is changed to generate a new arrangement, that is, the second arrangement, and for each device identification code, the position in the first arrangement of the value of the step number of the device identification code is determined, and Extracting the numerical value in the second arrangement at the same position as the position in the first arrangement determined, selecting the device identification code to which the extracted value is the step number, and replacing the device identification code with the selected device. Identification code. 如申請專利範圍第7項所述之控制程式管理裝置,其中,前述虛擬隨機數產生部係產生多個虛擬隨機數,前述裝置辨識碼置換部係使用利用前述虛擬隨機數產生部產生的各個前述多個虛擬隨機數,使前述第1配列內的數 值順序有所變化,產生多個新的配列作為多個第2配列,對於每個裝置辨識碼,依據特定的選擇基準,從前述多個第2配列之中選擇任一個第2配列作為選擇第2配列,判定附註在裝置辨識碼的步驟編號之數值的前述第1配列內的位置,並抽出位於與已判定之前述第1配列內的位置相同位置之前述選擇第2配列內的數值,選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼,將裝置辨識碼置換為已選定的裝置辨識碼。 The control program management device according to claim 7, wherein the virtual random number generating unit generates a plurality of virtual random numbers, and the device identification code replacing unit uses each of the foregoing generated by the virtual random number generating unit. Multiple virtual random numbers, so that the number in the first column is The order of values is changed, and a plurality of new arrangements are generated as a plurality of second arrays. For each device identification code, one of the plurality of second arrays is selected as the selection according to a specific selection criterion. (2) arranging, determining a position in the first arrangement of the value of the step number of the device identification code, and extracting a value in the selected second arrangement at the same position as the position in the determined first arrangement, and selecting The extracted value is used as the device identification code to be noted as the step number, and the device identification code is replaced with the selected device identification code. 一種控制裝置,與管理記述有裝置的辨識碼即裝置辨識碼之控制程式之控制程式管理裝置連接,其特徵在於具有:將前述控制程式管理裝置利用使用固在前述控制裝置之數值即控制器固有值而產生的虛擬隨機數,以特定的置換順序置換裝置辨識碼後的控制程序進行輸入之輸入部;記憶前述控制器固有值之控制固定值記憶部;使用記憶在前述控制固定值記憶部之前述控制器固有值,產生與利用前述控制程式管理裝置所產生的虛擬隨機數相同的虛擬隨機數之虛擬隨機數產生部;及使用利用前述虛擬隨機數產生部產生的虛擬隨機數,並運用在理論上與前述控制程式管理裝置所進行之置換順序相反的順序,將記述在利用前述輸入部輸入的控制程式之置換後的裝置辨識碼回復到置換前的裝置辨識碼之裝置辨識碼復原部。 A control device is connected to a control program management device that manages a control program of a device identification code that is an identification code of a device, and is characterized in that: the controller is inherently used as a value that is fixed to the control device by the control program management device. a virtual random number generated by a value, an input unit that inputs a control program after replacing the device identification code with a specific replacement order; a control fixed value memory unit that memorizes the inherent value of the controller; and is stored in the control fixed value memory unit a virtual random number generating unit that generates a virtual random number identical to a virtual random number generated by the control program management device; and a virtual random number generated by the virtual random number generating unit, and is used in the controller-specific value; Theoretically, in the reverse order of the order of replacement by the control program management device, the device identification code restoration unit that returns the device identification code after the replacement of the control program input by the input unit to the device identification code before replacement is described. 如申請專利範圍第9項所述之控制裝置,其中,前述輸入 部係輸入前述控制程式管理裝置使用利用每次產生都不同值之一次資訊與前述控制器固有值而產生的虛擬隨機數,置換裝置辨識碼後的控制程式、及前述一次資訊,前述虛擬隨機數產生部係使用前述一次資訊及前述控制器固有值,產生與利用前述控制程式管理裝置所產生的虛擬隨機數相同的虛擬隨機數。 The control device of claim 9, wherein the aforementioned input The department inputs the control program management device to use a virtual random number generated by using one piece of information having different values each time and the controller-specific value, a control program after replacing the device identification code, and the aforementioned one-time information, the virtual random number The generation unit generates the same virtual random number as the virtual random number generated by the control program management device by using the one-time information and the controller-specific value. 如申請專利範圍第9項所述之控制裝置,其中,前述控制裝置係與管理記述有多個裝置辨識碼,並在各裝置辨識碼包含數值的控制程式之控制程式管理裝置連接,前述輸入部係輸入:前述控制程式管理裝置將至少含有被包含在前述多個裝置辨識碼的數值之多個數值以特定的順序並列而產生第1配列,使用虛擬隨機數,使前述第1配列內的數值順序有所變化而產生新的配列即第2配列,對於每個裝置辨識碼,判定被包含在裝置辨識碼之數值的前述第1配列內的位置,並抽出位於與已判定之前述第1配列內的位置相同位置之前述第2配列內的數值,將被包含在裝置辨識碼之數值轉換為已抽出的數值,進行裝置辨識碼的置換後的控制程式,前述裝置辨識碼復原部係產生與前述第1配列相同的配列即第3配列,使用利用前述虛擬隨機數產生部產生的虛擬隨機數,並藉由與前述控制程式管理裝置之由前述第1配列到前述第2 配列的產生順序相同的順序,由前述第3配列產生與前述第2配列相同的配列即第4配列,對於每個記述在利用前述輸入部輸入的控制程式之置換後的裝置辨識碼,判定被包含在置換後的裝置辨識碼之數值的前述第4配列的位置,並抽出於與已判定之前述第4配列內的位置相同位置之前述第3配列內的數值,將被包含在置換後的裝置辨識碼之數值轉換為已抽出的數值,而將置換後的裝置辨識碼回復到置換前的裝置辨識碼。 The control device according to claim 9, wherein the control device is connected to a control program management device having a plurality of device identification codes and a control program including a numerical value in each device identification code, and the input unit is connected to the control unit Input: the control program management device generates a first arrangement by arranging at least a plurality of numerical values of values included in the plurality of device identification codes in a specific order, and using a virtual random number to cause values in the first arrangement The order is changed to generate a new arrangement, that is, the second arrangement, and for each device identification code, the position included in the first arrangement of the value of the device identification code is determined, and the first arrangement and the determined first arrangement are extracted. The value in the second arrangement in the same position is converted into the extracted value, and the control program after the device identification code is replaced, and the device identification code recovery unit generates and The third arrangement is the same as the first arrangement, and the virtual random number generated by the virtual random number generation unit is used. Said control program by said management apparatus of the first column to the second feature In the order in which the order of generation of the arrangement is the same, the fourth arrangement is the same as the arrangement of the second arrangement, and the device identification code after the replacement of the control program input by the input unit is determined. The position of the fourth arrangement included in the value of the device identification code after the replacement, and the value in the third arrangement at the same position as the position in the determined fourth arrangement is included in the replacement. The value of the device identification code is converted into the extracted value, and the replaced device identification code is returned to the device identification code before the replacement. 如申請專利範圍第11項所述之控制裝置,其中,前述輸入部係輸入:前述控制程式管理裝置係產生多個虛擬隨機數,使用前述各個多個虛擬隨機數,使前述第1配列內的數值順序有所變化,產生多個新的配列作為多個第2配列,對於每個裝置辨識碼,依據特定的選擇基準,從前述多個第2配列之中選擇任一個第2配列作為選擇第2配列,判定被包含在裝置辨識碼之數值的前述第1配列內的位置,並抽出位於與已判定之前述第1配列內的位置相同位置之前述選擇第2配列內的數值,將被包含在裝置辨識碼之數值轉換為已抽出的數值而進行裝置辨識碼的置換後的控制程式,前述虛擬隨機數產生部係產生利用控制程式管理裝置產生的多個虛擬隨機數相同的多個虛擬隨機數,前述裝置辨識碼復原部係產生與前述第1配列相同的配列即第3配列, 使用利用前述虛擬隨機數產生部產生的前述各個多個虛擬隨機數,並藉由與前述控制程式管理裝置之由前述第1配列到前述第2配列的產生順序相同的順序,由前述第3配列產生與前述多個第2配列相同的配列即多個第4配列,對於每個記述在利用前述輸入部輸入的控制程式之置換後的裝置辨識碼,依據與前述控制程式管理裝置之選擇基準相同的選擇基準,從前述多個第4配列之中選擇任一個第4配列作為選擇第4配列,判定被包含在置換後的裝置辨識碼之數值的前述選擇第4配列內的位置,並抽出位於與已判定之前述選擇第4配列內的位置相同位置之前述第3配列內的數值,將被包含在置換後的裝置辨識碼之數值轉換為已抽出的數值而進行裝置辨識碼的置換,而將置換後的裝置辨識碼回復到置換前的裝置辨識碼。 The control device according to claim 11, wherein the input unit inputs: the control program management device generates a plurality of virtual random numbers, and uses the plurality of virtual random numbers to cause the first arrangement The numerical order is changed, and a plurality of new arrangements are generated as a plurality of second arrays. For each device identification code, any one of the plurality of second arrays is selected as the selection according to a specific selection criterion. (2) arranging, determining a position included in the first arrangement of the value of the device identification code, and extracting a value in the selected second arrangement at the same position as the position in the determined first arrangement, and including a control program after the device identification code is converted into the extracted value and the device identification code is replaced, and the virtual random number generating unit generates a plurality of virtual random numbers having the same virtual random number generated by the control program management device. The number of the device identification code restoring units is the same as the first arrangement, that is, the third arrangement. The third plurality of virtual random numbers generated by the virtual random number generating unit are used in the same order as the order of generation of the first array to the second array in the control program management device. A plurality of fourth arrangements, which are the same as the plurality of second arrays, are generated, and the device identification code after the replacement of the control program input by the input unit is the same as the selection criterion of the control program management device. In the selection criterion, one of the plurality of fourth arrangements is selected as the fourth arrangement, and the position in the selected fourth arrangement included in the value of the replaced device identification code is determined and extracted. The numerical value in the third arrangement at the same position as the position in the fourth column that has been determined as described above is converted into the extracted value by the value of the device identification code included in the replacement, and the device identification code is replaced. The replaced device identification code is returned to the device identification code before the replacement. 如申請專利範圍第9項所述之控制裝置,其中,前述控制裝置係與管理記述有多個裝置辨識碼,並在各裝置辨識碼附註有步驟編號的控制程式之控制程式管理裝置連接,前述輸入部係輸入:前述控制程式管理裝置將至少含有附註在前述多個裝置辨識碼的多個步驟編號之數值的多個數值以特定的順序並列而產生第1配列,使用虛擬隨機數,使前述第1配列內的數值順序有所變化,產生新的配列即第2配列,對於每個裝置辨識碼,判定附註在裝置辨識碼的步驟編號之數值的前述第1配列內的位置,並抽出位於與已判定之 前述第1配列內的位置相同位置之前述第2配列內的數值,選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼,將裝置辨識碼置轉換為已選定的裝置辨識碼之控制程式,前述裝置辨識碼復原部係產生與前述第1配列相同的配列即第3配列,使用利用前述虛擬隨機數產生部產生的虛擬隨機數,並藉由與前述控制程式管理裝置之由前述第1配列到前述第2配列的產生順序相同的順序,由前述第3配列產生與前述第2配列相同的配列即第4配列,對於每個記述在利用前述輸入部輸入的控制程式之置換後的裝置辨識碼,判定附註在置換後的裝置辨識碼之步驟編號數值的前述第4配列的位置,並抽出於與已判定之前述第4配列內的位置相同位置之前述第3配列內的數值,選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼作為置換前的裝置辨識碼,將置換後的裝置辨識碼回復到已選定之置換前的裝置辨識碼。 The control device according to claim 9, wherein the control device is connected to a control program management device in which a plurality of device identification codes are described in management, and a control program having a step number is attached to each device identification code. Input unit input: the control program management device generates a first arrangement by arranging at least a plurality of numerical values including a plurality of step numbers of the plurality of device identification codes in a predetermined order, and using a virtual random number to cause the foregoing The numerical order in the first arrangement is changed, and a new arrangement, that is, a second arrangement is generated. For each device identification code, the position in the first arrangement of the value of the step number of the device identification code is determined and extracted. With judged The value in the second arrangement in the same position in the first arrangement is selected as the device identification code to which the extracted value is used as the step number, and the device identification code is converted into the control program of the selected device identification code. The device identification code restoring unit generates a third arrangement which is the same as the first arrangement, and uses a virtual random number generated by the virtual random number generation unit, and the first control program is used by the control program management device. In the order in which the second arrangement is arranged in the same order, the fourth arrangement is the fourth arrangement in which the second arrangement is the same as the second arrangement, and the device after the replacement of the control program input by the input unit is described. The identification code determines the position of the fourth arrangement in the step number value of the device identification code after the replacement, and extracts the value in the third arrangement at the same position as the position in the determined fourth arrangement, and selects The extracted value is used as the device identification code of the step number as the device identification code before the replacement, and the replaced device is replaced. Reply to the selected identification code of the replacement device identification ago. 如申請專利範圍第13項所述之控制裝置,其中,前述輸入部係輸入:前述控制程式管理裝置係產生多個虛擬隨機數,使用前述各個多個虛擬隨機數,使前述第1配列內的數值順序有所變化,產生多個新的配列作為多個第2配列,對於每個裝置辨識碼,依據特定的選擇基準,從前述多個第2配列之中選擇任一個第2配列作為選擇第2配列,判 定附註在裝置辨識碼之步驟編號之數值的前述第1配列內的位置,並抽出位於與已判定之前述第1配列內的位置相同位置之前述選擇第2配列內的數值,選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼,將裝置辨識碼置轉換為已選定的裝置辨識碼後之控制程式,前述虛擬隨機數產生部係產生利用前述控制程式管理裝置產生的多個虛擬隨機數相同的多個虛擬隨機數,前述裝置辨識碼復原部係產生與前述第1配列相同的配列即第3配列,使用利用前述虛擬隨機數產生部產生的前述各個多個虛擬隨機數,並藉由與前述控制程式管理裝置之由前述第1配列到前述第2配列的產生順序相同的順序,由前述第3配列產生與前述多個第2配列相同的配列即多個第4配列,對於每個記述在利用前述輸入部輸入的控制程式之置換後的裝置辨識碼,依據與前述控制程式管理裝置之選擇基準相同的選擇基準,從前述多個第4配列之中選擇任一個第4配列作為選擇第4配列,判定附註在置換後的裝置辨識碼之步驟編號數值的前述選擇第4配列的位置,並抽出位於與已判定之前述選擇第4配列內的位置相同位置之前述第3配列內的數值,選定將已抽出的數值作為步驟編號予以附註之裝置辨識碼作為置換前的裝置辨識碼,將置換後的裝置辨識碼回復到已選定之置換前的裝置辨識碼。 The control device according to claim 13, wherein the input unit inputs: the control program management device generates a plurality of virtual random numbers, and uses the plurality of virtual random numbers to cause the first arrangement The numerical order is changed, and a plurality of new arrangements are generated as a plurality of second arrays. For each device identification code, any one of the plurality of second arrays is selected as the selection according to a specific selection criterion. 2 match, judge Determining the position in the first arrangement of the value of the step number of the device identification code, and extracting the value in the selected second arrangement at the same position as the position in the determined first arrangement, and selecting the selected value The numerical value is used as a device identification code to be noted in the step number, and the device identification code is converted into a control program after the selected device identification code, and the virtual random number generating unit generates a plurality of virtual random numbers generated by the control program management device. a plurality of virtual random numbers having the same number, and the device identification code restoring unit generates a third array which is the same as the first array, and uses the plurality of virtual random numbers generated by the virtual random number generating unit, and borrows In the same order as the order of generation of the first arrangement to the second arrangement of the control program management device, a plurality of fourth arrangements, which are the same as the plurality of second arrangements, are generated in the third arrangement, for each The device identification code after the replacement of the control program input by the input unit is used, and the device is managed according to the control program. The selection criteria are the same as the selection criteria, and any one of the plurality of fourth arrangements is selected as the fourth arrangement, and the fourth selection of the step number value of the device identification code after the replacement is determined. Positioning and extracting the numerical value in the third arrangement at the same position as the position in the fourth selection of the selected selection, and selecting the device identification code to which the extracted value is used as the step number as the device identification code before replacement. And reverting the replaced device identification code to the device identification code before the selected replacement. 一種控制系統,其特徵在於包括:申請專利範圍第1項所述之控制程式管理裝置、及申請專利範圍第9項所述之控 制裝置。 A control system comprising: the control program management device described in claim 1 of the patent application, and the control described in claim 9 System.
TW102112626A 2013-02-18 2013-04-10 Control program management apparatus, controller apparatus, and control system TW201433891A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/053812 WO2014125639A1 (en) 2013-02-18 2013-02-18 Control program management apparatus, controller apparatus, and control system

Publications (1)

Publication Number Publication Date
TW201433891A true TW201433891A (en) 2014-09-01

Family

ID=51353664

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102112626A TW201433891A (en) 2013-02-18 2013-04-10 Control program management apparatus, controller apparatus, and control system

Country Status (2)

Country Link
TW (1) TW201433891A (en)
WO (1) WO2014125639A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328207B (en) * 2020-11-30 2022-08-12 中国石油大学(华东) True random number generator based on singlechip random source working parameters and generating method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02297626A (en) * 1989-05-12 1990-12-10 Nec Corp System for masking contents of program and data
JP4663859B2 (en) * 2000-09-04 2011-04-06 船井電機株式会社 Program converter
JP4989418B2 (en) * 2007-10-26 2012-08-01 三菱電機株式会社 Program conversion apparatus, program, and program conversion method
JP5404463B2 (en) * 2010-02-12 2014-01-29 三菱電機株式会社 Control device and management device

Also Published As

Publication number Publication date
WO2014125639A1 (en) 2014-08-21

Similar Documents

Publication Publication Date Title
JP4304215B2 (en) Secret sharing apparatus, method and program
CN104978167A (en) Random Number Generator and Method for Generating Random Numbers
JP2019097158A (en) Forgery prevention communication system
CN103475463A (en) Encryption realization method and apparatus
JP2015194890A (en) Plc and plc programming tool
CN105577644A (en) Encryption and authentication method and system
JP6477178B2 (en) PLC control data generation device, PLC control data generation method, and PLC control data generation program
WO2017195369A1 (en) Program development assistance device, train control and monitoring device, and program development assistance method
CN111669434A (en) Method, system, device and equipment for establishing communication group
TW201433891A (en) Control program management apparatus, controller apparatus, and control system
CN109150813B (en) Equipment verification method and device
JP2011022690A (en) Simulation model generation device
CN109560927B (en) Equipment fingerprint implementation method and device
JP2019149763A (en) Data processing method, control system, and control device
CN103297849A (en) Method for generating two-direction set top box MAC address
JP2020166317A (en) Control system, security apparatus and method
CN108111469B (en) Method and device for establishing security channel in cluster
JP4592337B2 (en) Data storage
CN105631362A (en) Encryption method of microcontroller unit
JP2008197795A (en) Function license authentication method and function license authentication system
CN103795954A (en) Information processing apparatus, information processing system, and information processing method
JP7505862B2 (en) CONTROL SYSTEM, CONTROL METHOD, AND CONTROL DEVICE
CN112380810A (en) Exchange code generation method and system
CN103197615A (en) Method of restoring configuration of profibus and profibus network system
CN111130788B (en) Data processing method and system, data reading method and iSCSI server