Programmable controller having a stored program with both machine language instructions and source code data
First Claim
1. In a programmable logic controller for use in executing an object code control program including a plurality of contiguous program data sectors which correspond to sequential program steps and which include a first section containing general purpose processor instructions and a second section containing tokenized source code information statements for accurately reconstructing source code instructions corresponding to said general purpose processor instructions for program editing purposes, a method for processing said control program at run time for control execution and during program decompiling for full source code reconstruction comprising the steps of:
- A) processing each of said control program sectors at run time by;
1) executing said general purpose processor instructions in the first section in each of said sectors, and2) jumping over said tokenized source code information statements in the second section in each of said sectors; and
B) processing each of said control program sectors during decompiling by;
1) skipping over said general purpose processor instructions in the first section in each of said sectors, and2) generating source code instructions from said tokenized source code information statements in the second section of each of said sectors.
1 Assignment
0 Petitions
Accused Products
Abstract
A programmable controller governs the operation of a piece of equipment by executing machine language instructions compiled from a ladder diagram type control program. The control program as stored in the controller includes not only compiled machine language instructions, but also a tokenized version of the source code from which certain machine language instructions were compiled. The source code is provided only for those portions of the machine language program which cannot be easily decompiled to produce the corresponding source code. This program storage facilitates subsequent editing of the stored program via a terminal connected to the programmable controller. During the editing process, the original ladder diagram can be reconstructed from a combination of the machine language instructions and the tokenized version of the source code. In doing so, the machine language instructions, which have a one-to-one correspondence with the source code instructions, are decompiled using conventional techniques. However, the tokenized version of the source code is used to recreate the portions of the ladder diagram for which each machine language instruction does not have a unique one-to-one correspondence with a source code instruction. This program storage technique enables the control program to be easily edited using the version stored in the programmable controller without requiring access to the original source code from which the program was compiled.
60 Citations
18 Claims
-
1. In a programmable logic controller for use in executing an object code control program including a plurality of contiguous program data sectors which correspond to sequential program steps and which include a first section containing general purpose processor instructions and a second section containing tokenized source code information statements for accurately reconstructing source code instructions corresponding to said general purpose processor instructions for program editing purposes, a method for processing said control program at run time for control execution and during program decompiling for full source code reconstruction comprising the steps of:
-
A) processing each of said control program sectors at run time by; 1) executing said general purpose processor instructions in the first section in each of said sectors, and 2) jumping over said tokenized source code information statements in the second section in each of said sectors; and B) processing each of said control program sectors during decompiling by; 1) skipping over said general purpose processor instructions in the first section in each of said sectors, and 2) generating source code instructions from said tokenized source code information statements in the second section of each of said sectors. - View Dependent Claims (2, 3, 4)
-
-
5. In a programmable logic controller for use in executing an object code control program including a plurality of contiguous program data sectors which correspond to sequential program steps and which include a first section containing special purpose co-processor instructions having one-to-one relationship with source code instructions, a second section containing general purpose co-processor instructions and a third section containing source code information for accurately reconstructing source code instructions corresponding to said general purpose co-processor instructions for program editing purposes, a method for processing said control program at run time for control execution and during program decompiling for full source code reconstruction compromising the steps of:
-
A) processing each of said control program sectors at run time by; 1) executing said special purpose co-processor instructions in the first section in each of said sectors, 2) executing said general purpose co-processor instructions in the second section in each of said sectors, and 3) jumping over said source code information in the third section in each of said sectors; and B) processing each of said control program sectors during decompiling by; 1) generating source code instructions from said special purpose co-processor instructions in the first section in each of said sectors, 2) skipping over said general purpose co-processor instructions in the second section in each of said sectors, and 3) generating source code instructions from said source code information in the third section of each of said sectors. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. In a programmable logic controller for use in executing an object code control program including a plurality of contiguous program data sectors which correspond to sequential program steps and which include a first section containing special purpose co-processor instructions having one-to-one relationships with source code instructions, a second section containing general purpose co-processor instructions and a third section containing source code information for accurately reconstructing source code instructions corresponding to said general purpose co-processor instructions for program editing purposes, a system for processing said control program at run time for control execution and during program decompiling for full source code reconstruction comprising:
-
A) means for processing each of said control program sectors at run time by; 1) executing said special purpose co-processor instructions in the first section in each of said sectors, 2) executing said general purpose co-processor instructions in the second section in each of said sectors, and 3) jumping over said source code information in the third section in each of said sectors; and B) means for processing each of said control program sectors during program decompiling by; 1) generating source code instructions from said special purpose co-processor instructions in the first section in each of said sectors, 2) skipping over said general purpose co-processor instructions in the second section in each of said sectors, and 3) generating source code instructions from said source code information in the third section of each of said sectors. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification