Dcc program encryption authorization method for 6RA80 direct current drive
By introducing unsigned double integer and Boolean output pins into the DCC program, combined with key calculation and Vlookup instructions, the binding of the DCC program with the control unit serial number and time authorization are realized, solving the problems of unbound serial numbers and lack of time limits in the existing technology, and protecting the proprietary technology of system integrators.
Patent Information
- Application Number
- CN202310362628.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-06
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2043-04-06
AI Technical Summary
The existing DCC program encryption method for Siemens 6RA80 DC drives fails to effectively bind the control unit serial number and lacks time access restrictions, thus failing to meet the protection of proprietary technologies required by system integrators.
By introducing unsigned double integer input pins and Boolean output pins into the DCC program, combined with key calculation and Vlookup instructions, the DCC program is bound to the control unit serial number, and time limits for preset time, extension, and lifetime authorization are provided to ensure the legal use of the program.
It achieves the binding of DCC program and control unit serial number, provides three-stage time authorization, protects the proprietary technology of system integrators, meets the requirements of time access restriction, and prevents the program from being executed on unauthorized control units.
Smart Images

Figure CN116383897B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of electrical drive automation control technology, specifically, it refers to a method for encrypting and authorizing DCC programs for a 6RA80 DC drive device. Background Technology
[0002] The Siemens 6RA80 DC drive is widely used in industries such as steel rolling, papermaking, and printing. Its significant cost advantage makes it the top choice for system integrators in the DC drive field. System integrators urgently need a complete encryption method to protect their proprietary technology. While Drive Control Chart (DCC), the programming language for Siemens drive systems, has its own proprietary encryption method (know-how protection), this method only adds access permissions to the program and does not bind the control unit (CU / CUD) serial number or impose any time-limited access restrictions. System integrators need an encryption method that can bind the DCC program to the control unit serial number and impose time limits on the program's usage period. Summary of the Invention
[0003] To address the needs of system integrators, this invention provides a method for encrypting and authorizing the DCC program of a Siemens 6RA80 DC drive, which binds the DCC program to the serial number of the control unit (CU / CUD) and provides three-stage time authorization to meet the needs of system integrators.
[0004] This invention provides a DCC program encryption and authorization method for a 6RA80 DC drive, comprising:
[0005] Step 1: On the user side, create a new library file, insert the DCC diagram of the library file, and create an unsigned double integer input pin and a Boolean output pin in the DCC diagram.
[0006] The authorization time in days is preset via an unsigned double integer input pin; the authorization of the DCC program is controlled by the output of a Boolean output pin, which outputs 1 or 0, where 1 represents successful authorization and 0 represents authorization failure.
[0007] Step 2: On the DCC program development side, calculate the three keys for the DCC program of the user's DC drive: Key 1: Preset time authorization; Key 2: One-year extension authorization; Key 3: Lifetime authorization; including the following sub-steps:
[0008] Step 21: Read the serial number of the control unit from the parameter list of the user's DC drive control unit, and convert each bit of the ASCII serial number into an integer.
[0009] Step 22: Encrypt each integer digit of the serial number using a preset calculation method, then reverse the conversion of each encrypted integer digit to obtain a new ASCII character, and use the new ASCII character as the key for the preset time authorization; the calculation method used for each integer digit of the serial number is different, and the encrypted integer value is between 32 and 126;
[0010] Step 23: Encrypt the last 4 digits of the serial number using a preset calculation method, and convert the encrypted integer into 4 ASCII characters as the key for the one-year extension authorization;
[0011] Step 24: Encrypt the last 4 digits of the serial number using a preset calculation method, and convert the encrypted integer into 4 ASCII characters as the key for lifetime authorization;
[0012] The calculation methods for encrypting the 4-bit integer in steps 22 and 24 are different, and they are also different from the calculation method used in step 23.
[0013] Step 25: Express the key calculation method for each integer digit of the three keys in an Excel spreadsheet using formulas, and set the VLOOKUP command to search in the Excel spreadsheet so that the corresponding three keys can be obtained by directly entering the serial number of the control unit in the Excel spreadsheet.
[0014] Step 3: When a user uses the DCC program, key matching verification is required first, including the following sub-steps:
[0015] Step 31: The user requests three keys from the DCC program developer in advance, either in installments or all at once, and stores them in the parameter list of the control unit;
[0016] Step 32: When the user uses the DCC program, read the number of days the control unit has been running from the parameter list of the control unit. Compare the first key obtained with the key 1 calculated in step 2. If the keys match and the number of days the control unit has been running is less than the preset authorized time in days set in step 1 through the unsigned double integer input pin, then set the Boolean output pin established in step 1 to output 1; otherwise, output 0.
[0017] Step 33: If the preset authorized time has expired, set the Boolean output pin to output 0; if key 1 matches, the user will compare the second key obtained with key 2 calculated in step 2. If key 2 matches, and the number of days the control unit has been running is less than the preset authorized time plus 365 days, then set the Boolean output pin to output 1; otherwise, output 0.
[0018] Step 34: When the preset authorization time in days plus the one-year period has expired, set the Boolean output pin to output 0; if key 1 and key 2 match simultaneously, the user will compare the obtained third key with key 3 calculated in step 2. If key 3 matches, set the Boolean output pin to output 1; otherwise, output 0.
[0019] When a user is successfully authorized to use the DCC program, the user can use the DCC program; otherwise, the user cannot use the DCC program.
[0020] The advantages and positive effects of this invention are as follows:
[0021] (1) The method of the present invention provides a way for system integrators to protect proprietary technology. Even if a third party uploads the DCC program of the control unit, the program will still not be able to be executed normally when it is downloaded to other control units because the program is bound to the control unit serial number.
[0022] (2) The method of the present invention provides three stages of time authorization. System integrators can set whether to provide authorization for each stage according to the end user's payment cycle, which meets the system integrator's time access restriction requirements and makes the system integrator no longer passive in the issue of collection. Attached Figure Description
[0023] Figure 1 This is a flowchart of the DCC program encryption authorization method for the 6RA80 DC drive device of the present invention. Detailed Implementation
[0024] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.
[0025] For the Siemens DC drive 6RA80, the control unit's serial number is stored in the 6RA80's parameter list. This serial number is the control unit's ID and is unique. The control unit's system runtime is also stored in the parameter list. The system runtime cannot be reset; after power is off, the counter reading is saved, and after power is on, the counter continues counting from the last saved value. The serial number is stored in parameters r7758.0 to r7758.9, such as serial number Q6M5201256. The system runtime is stored in parameter r2114.1.
[0026] like Figure 1 As shown in the figure, a DCC program encryption authorization method for a 6RA80 DC drive device according to an embodiment of the present invention includes the following 9 steps.
[0027] Step 1: On the user side, create a new library file named new_lib and insert the DCC chart new_chart from the library file new_lib. In the chart new_chart, create an unsigned double integer input pin new_chart_IN_days and a boolean output pin new_chart_OUT_Enable.
[0028] The unsigned double integer input pin new_chart_IN_days is used to modify the preset authorized time in days.
[0029] The Boolean output pin `new_chart_OUT_Enable` outputs either 1 or 0. An output of 1 indicates successful authorization, while an output of 0 indicates authorization failure. The DCC main program can only proceed when the `new_chart_OUT_Enable` pin outputs 1; this pin's output is a prerequisite for the main program to function correctly.
[0030] Step 2: On the development side, read the 10-digit serial number (parameters r7758.0~r7758.9) of the control unit of the user device 6RA80. The serial number is stored in ASCII code in the parameter list of the control unit. After reading, convert it to an integer. For example, after reading the serial number Q6M5201256, the converted integers are 81 54 77 53 50 48 49 50 5354.
[0031] Step 3: Encrypt each integer read in Step 2 using a specific calculation method. The encryption calculation method can be defined by the user, such as addition, subtraction, multiplication, and division. In this invention, the calculation method for each number must be different, and they can be combined in pairs or groups of three for encryption. The encrypted integer value must fall between 32 and 126, because characters 0 to 31 and the 127th character (the last character) in ASCII encoding are invisible. Then, the 10 encrypted integers are reverse-converted to obtain a new 10-bit ASCII character, which is used as the key for a preset time authorization.
[0032] Step 4: Read the last 4 digits of the serial number and convert them into integers. Following the encryption method in Step 3, encrypt the last 4 digits again using a different encryption calculation method than in Step 3, obtaining 4 ASCII characters as the key for the one-year extension authorization. The encryption calculation method for each integer is also set differently.
[0033] Step 5: Read the last 4 digits of the serial number and convert them into integers. Following the encryption method in Step 3, use a different encryption calculation method than Steps 3 and 4 to encrypt the last 4 digits again, obtaining a 4-digit ASCII character lifetime authorization key. The encryption calculation method for each integer is also set differently.
[0034] Step 6: Through steps 3 to 5, three keys can be obtained: Key 1: Preset time authorization; Key 2: One-year extension authorization; Key 3: Lifetime authorization. Express the key calculation method used for each integer data in steps 3, 4, and 5 in an Excel spreadsheet using formulas, and set the VLOOKUP command to search in the Excel spreadsheet. This allows you to obtain the corresponding three keys simply by entering the serial number of the control unit in the Excel spreadsheet.
[0035] The Excel spreadsheet contains: 10 formulas for calculating key 1 by performing calculations on each of the 10-digit integers; 4 formulas for calculating key 2 by performing calculations on each of the last 4-digit integers; and 4 formulas for calculating key 3 by performing calculations on each of the last 4-digit integers. The VLOOKUP command converts each ASCII character of the input serial number to an integer, then executes the corresponding formula, converts the calculated integer back to ASCII characters, and combines them to output the three corresponding keys.
[0036] Step 7: When using the DCC program, the user needs to obtain a key from the DCC program developer and enter the obtained key into the existing parameter list (P8808.0~P8808.9) of the 6RA80 control unit and store it. Compare this key with key 1 calculated in step 3. If the keys match and the number of days the control unit has been running is less than the preset authorized time, the Boolean output pin new_chart_OUT_Enable established in step 1 will output 1; otherwise, the output will be 0. An output of 1 for the new_chart_OUT_Enable pin indicates successful authorization, and an output of 0 indicates authorization failure.
[0037] Step 8: If the preset authorized time period has expired, the Boolean output pin new_chart_OUT_Enable will return to 0. At this point, the DCC program will fail to execute, and the user needs to request the key again from the DCC developers. If key 1 matches, enter the second key in the control unit's parameter list (P8808.10~P8808.13). Compare this key with key 2 calculated in step 4. If the keys match, and the control unit's operating days are less than the preset authorized time period established in step 1 plus 365 days, the Boolean output pin new_chart_OUT_Enable will output 1; otherwise, it will output 0.
[0038] Step 9: If the preset authorization period plus one year has expired, the Boolean output pin new_chart_OUT_Enable will return to 0. At this point, the DCC program will fail to execute, and the user needs to request the key again from the DCC developer. If both Key 1 and Key 2 match, enter the third requested key into the control unit's parameter list (P8808.14~P8808.17). Compare this key with Key 3 calculated in Step 5. If the keys match, the Boolean output pin new_chart_OUT_Enable established in Step 1 will output 1; otherwise, it will output 0.
[0039] When the Boolean output pin `new_chart_OUT_Enable` in the DCC chart is 1, the authorization is considered valid. This pin can be used in the DCC main program as a prerequisite for its normal operation. This binds the DCC program to the control unit serial number and provides three stages of time authorization. If the user is trustworthy, the DCC developers can also provide the user with all three keys simultaneously and input them into the corresponding parameter lists, ensuring the DCC program remains always available.
[0040] Except for the technical features described in the specification, all other technologies are known to those skilled in the art. Descriptions of well-known components and technologies are omitted in this invention to avoid redundancy and unnecessary limitation. The embodiments described above do not represent all embodiments consistent with this application. Various modifications or variations that can be made by those skilled in the art without creative effort based on the technical solutions of this invention are still within the protection scope of this invention.
Claims
1. A DCC program encryption and authorization method for a 6RA80 DC drive device, characterized in that, Includes the following steps: (a) On the user side, create a new library file, insert the DCC diagram of the library file, and create an unsigned double integer input pin and a Boolean output pin in the DCC diagram; The authorized time in days is preset via the unsigned double integer input pin; The Boolean output pin controls whether the user is authorized to use the DCC program. The Boolean output pin outputs 1 or 0, where 1 indicates successful authorization and 0 indicates authorization failure. (ii) On the DCC program development side, calculate the three keys for the DCC program of the user's DC drive: Key 1: Preset time authorization; Key 2: One-year extension authorization; Key 3: Lifetime authorization; including the following sub-steps: (21) Read the serial number of the control unit from the parameter list of the control unit of the user's DC drive device, and convert each bit of the ASCII serial number into an integer; (22) Encrypt each integer of the serial number using a preset calculation method, and convert the encrypted integer into ASCII characters as key 1; (23) Encrypt the last 4 digits of the serial number using a preset calculation method, and convert the encrypted integer into 4 ASCII characters as key 2; (24) Encrypt the last 4 digits of the serial number using a preset calculation method, and convert the encrypted integer into 4 ASCII characters as key 3; The encryption calculation method used for each integer in the serial number is different, and the encrypted integer is between 32 and 126; the calculation methods for encrypting the 4-digit integer in steps 23 and 24 are different, and are also different from the calculation method used for encrypting each integer in step 22; (25) Express the calculation method of the three keys in an Excel spreadsheet, set the VLOOKUP command to search in the Excel spreadsheet, so that the corresponding three keys are output after the serial number of the control unit is entered into the Excel spreadsheet; (iii) When a user uses the DCC program, key matching verification is required first, including the following sub-steps: (31) The user requests three keys from the DCC program developer in advance, either in installments or all at once, and stores them in the parameter list of the control unit; (32) When the user uses the DCC program, read the number of days the control unit runs from the parameter list of the control unit, compare the first key obtained with the key 1 calculated in step two. If the keys match and the number of days the control unit runs is less than the preset authorized time, then set the Boolean output pin to output 1; otherwise, set the Boolean output pin to output 0. (33) If the preset authorization time has expired, set the Boolean output pin to output 0; under the condition that key 1 matches, the user will compare the second key obtained with key 2 calculated in step 2. If the keys match and the number of days the control unit has been running is less than the preset authorization time + 365 days, then set the Boolean output pin to output 1; otherwise, set the Boolean output pin to output 0. (34) When the preset authorization time days plus one year period have expired, set the Boolean output pin to output 0; under the condition that key 1 and key 2 match at the same time, the user will compare the third key obtained with key 3 calculated in step two. If the keys match, set the Boolean output pin to output 1; otherwise, set the Boolean output pin to output 0. When a user is successfully authorized to use the DCC program, the user can use the DCC program; otherwise, the user cannot use the DCC program.
2. The method according to claim 1, characterized in that, In step 25, the VLOOKUP command converts each ASCII character of the input serial number into an integer, then executes the calculation formula for the three keys in the Excel spreadsheet, converts the calculated integers back into ASCII characters, and outputs the corresponding three keys.
Citation Information
Patent Citations
Soft encryption technology for preventing software replication and migration
CN110032835A
Authorization method and authorization device of digital court hearing system and storage medium
CN115730278A
