All-algorithm-compatible program
The proposed data structure and program architecture address the challenges of supporting various algorithms and managing memory in factory control systems by processing data in row units, enabling flexible algorithm implementation and efficient program modification.
Patent Information
- Application Number
- JP2024089596
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-02
- Publication Date
- 2025-05-19
AI Technical Summary
Existing systems for controlling production processes in factories face challenges in efficiently supporting various algorithms, managing memory storage for processing data, and facilitating the creation, modification, and execution of programs across different programmable logic controllers (PLCs) and interfaces.
A data structure and program architecture that allows for the processing of data in units of rows, with each row containing processing data, start addresses for the next and previous rows, and additional data for repetitive or branching processes. This enables flexible algorithm implementation and program modification without requiring extensive reconfiguration of memory areas.
The solution allows for efficient handling of various algorithms by enabling easy addition or deletion of processing data in row units, reducing memory wastage, and simplifying program construction and modification across different PLCs and interfaces.
Smart Images

Figure 2025077960000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a system using a programmable logic controller (PLC) for writing a program to support various algorithms, a personal computer (PC) for writing a program to support various algorithms, and the like.
Background Art
[0002] Conventionally, in a production factory, devices and apparatuses for automating the production process have been used. As a control device for electrically controlling such devices and apparatuses, a programmable logic controller (PLC) has been used. In recent years, as a programmable logic controller (PLC) system, a programmable logic controller (PLC), a touch panel (TP) as an interface, an external link I / O (I / O, Input / Output), various network devices, a personal computer (PC), etc. are connected by various cables and are constructed and used while complementing each other.
[0003] Among them, for example, Patent Document 1 (Patent No. 5335128) has been devised with the problem of easily changing a control program when changing the order of processes or setting values in the facilities constituting a plant. Also, Patent Document 2 (Patent No. 5155228) with the problem of facilitating and shortening engineering work, Patent Document 3 (Patent No. 6023266) with the problem of providing a programmable logic controller (PLC) program management device that diversely configures the size of memory blocks assigned to each user program to improve the utilization of unused space and enable flexible program modification and addition, Patent Document 4 (Japanese Patent Application No. 7-78376) with the problem of enabling the rapid creation and necessary modification of a program suitable for an application in a robot control system, Patent Document 5 (Japanese Patent Application No. 14-41125) with the problem of keeping the design cost and creation cost of an operation scheduler that executes a unit sequence low, etc. have also been devised. Furthermore, in relation to data structures, Patent Document 6 (Patent No. 4770694) aimed at efficiently searching data having a data structure composed of identification information consisting of a plurality of components and an information body associated with the identification information, and Patent Document 7 (Patent No. 4884438) having a data structure representing a hierarchical tree, the data structure being for efficiently compressing an XML (Extensible Markup Language)-based document with content of a content type associated with a compression coding technique, etc. have been devised.
[0004] In the invention of Patent Document 1 (Patent No. 5335128), it is divided into an operation control circuit, a process control circuit, a main control circuit, and a process control circuit. However, the operation circuit is a general automatic circuit, the process control circuit is a recipe selection circuit or a setup change circuit, the main control circuit is an initial setting circuit, and the process control circuit is a data setting screen control circuit, and there is not much difference from an old design method. That is, it is only a plant version of recipe control performed in the manufacture of liquid crystals and semiconductors. In other words, it is only a setup change of an automatic process and does not support the dispersion and convergence of free processes.
[0005] In the invention of Patent Document 2 (Patent No. 5155228), a template is created by prescribing the form in advance. However, for forms that are not prescribed, it is necessary to create a template in the conventional manner. It only attempts to shorten the work by such a difference. It is merely the same as subroutines or function blocks just by naming it a template. This invention also does not support the dispersion and convergence of free processes.
[0006] In the invention of Patent Document 3 (Patent No. 6023266), although waste is reduced by making continuous memory into block sizes such as N, 2N, 4N of the size to be stored, between N and 2N, between 2N and 4N, etc., it is still the same as the conventional case. When a large amount of additional data occurs, it straddles them, and it was necessary to define new N, 2N, 4N. Also, it does not support cases where the continuous rows themselves are variable.
[0007] The invention of Patent Document 4 (Japanese Patent Application No. 7-78366) is a robot control system using a hierarchical structure, not plant control. Even if a program can be selected in a hierarchical structure, for robot control, it takes time for fine adjustments corresponding to actual movements, and since such adjustments are important, it has only partial advantages. Also, like Patent Document 1 and Patent Document 2, this invention does not support the dispersion and convergence of free processes.
[0008] The invention of Patent Document 5 (Japanese Patent Application No. 14-41125) is almost plant control. However, it attempts to realize reducing the creation cost by dividing the program into a unit sequence part with the current programmable logic controller (PLC) unit as a unit, and an operation scheduler part for the current stepping circuit and sequential circuit, and a parameter buffer that describes how the units and operation schedulers are configured. But it has drawbacks such as the processing of constantly monitoring with units and the complexity of processing when multiple units are involved at one point.
[0009] In the invention of Patent Document 6 (Patent No. 4770694), efficient search is achieved by collating identification information and indexes at the component unit level. The main focus is on the speed of searching the data structure, rather than a data structure for the extensibility of the program itself.
[0010] In the invention of Patent Document 7 (Patent No. 4884438), it compensates for the drawbacks of the prior art and provides an efficient compression technique for XML-based documents, document skipping ability, and progressive structure. It is not a data structure for the extensibility of the program itself.
[0011] Conventionally, even in the control of plants and robots, except for complete replication devices, it is common practice to make the control dedicated to that device, that is, to manufacture it as a one-of-a-kind product. Therefore, in Patent Documents 1 to 5, attention is paid to that field of control, and the inventions are made in consideration of general applicability in that field rather than algorithms in general. Note that in Patent Documents 6 and 7, they are inventions for efficient searching and efficient compression in terms of data structure.
Prior Art Documents
Patent Documents
[0012]
Patent Document 1
Patent Document 2
Patent Document 3
Patent Document 4
Patent Document 5
Patent Document 6
Patent Document 7
Summary of the Invention
Problems to be Solved by the Invention
[0013] The problem to be solved is that for each processing program, by only changing each piece of processing data, without changing the program, it is necessary to support all algorithms, and there is a contradiction in setting the storage area for each piece of processing data of each process. That is, if the area is set, when a certain piece of processing data increases, there is a possibility of spanning into another processing area, and thus it is impossible to support all algorithms. In addition, if a large area is taken, it will result in a wasteful memory area.
[0014] Furthermore, the problem to be solved is that for processing data consisting of an arbitrary number of rows and an arbitrary number of columns, when processing the processing data row by row with a processing program and the processing content to be executed requires repetition or branching, it is necessary to pre-weave the maximum number of repetitions to create the rows of the processing data. That is, when the algorithm is determined, the maximum value of the number of repetitions can be determined, but in order to support all algorithms, the maximum value of the number of repetitions cannot be determined. Similarly, for a process where the number of processing data changes row by row, the maximum value of the maximum number cannot be determined. In addition, the memory for the part that does not reach the maximum value also becomes a wasteful memory area.
[0015] Furthermore, the problem to be solved is that the programmable logic controller (PLC) for writing programs to handle various algorithms and the engineering tool for writing programs to and controlling the programmable logic controller (PLC) are separate. Moreover, even the connection cable for connecting the programmable logic controller (PLC) and the engineering tool is different for each manufacturer of the programmable logic controller (PLC), making it impossible to respond promptly on-site. However, in recent years, although the engineering tool has become a software on a personal computer (PC) or an attempt has been made to standardize the connection cable, problems such as incompatibility due to different versions have also arisen. Additionally, depending on the external touch panel (TP), functions such as adding a retrofitted memory to enable program addition, modification, and deletion have been added, but these are only auxiliary functions after all.
[0016] Furthermore, the problem to be solved is that in order to handle various algorithms, a program tailored to individual algorithms needs to be created, and if necessary, data and constants must be written to the programmable logic controller (PLC) to make the created program executable. Therefore, program files, data files, comment files, etc. are also required, and each time a program is created for individual algorithms, all of them need to be managed.
[0017] Furthermore, the problem to be solved is that even if the algorithms are the same, the instruction words and description methods are different for each manufacturer of the programmable logic controller (PLC). Therefore, the differences in instruction words and description methods for each manufacturer need to be understood.
[0018] Furthermore, when adding or deleting a program during program execution, if the program is converted into a form that can be directly executed by a microprocessor (MPU, Micro Processing Unit), the size of the program will automatically increase or decrease. As a result, depending on where the current execution program is being executed, there may be cases where the program cannot be executed reliably. Even when executed by watching the monitor, there is a time lag in the monitor itself, and there may be cases where the program is not executed reliably. That is, the problem lies in the fact that the size of the program is being changed.
[0019] Furthermore, the problem to be solved is that the number of characters in the comments managed in the comment file is generally fixed, and it is not easy to increase the number of characters in the comments. Although comments can be written in the microprocessor (MPU) of a programmable logic controller (PLC), there are limitations, and since they have to be written each time, there is a risk of forgetting and it is troublesome.
[0020] Furthermore, the problem to be solved is that for different programs from different manufacturers of programmable logic controllers (PLCs), the instruction words of the program are designed based on the assembly language of the microprocessor (MPU), which is the lowest-level (lower) language closest to machine language among the programming languages that humans can practically use. Therefore, numerical values such as addresses and instruction words are generally difficult to understand. For this reason, various notes and comments are set at the expense of the form of a separate file or program capacity, but there is no common writing method and it is free, which conversely hinders understanding.
[0021] Furthermore, the problem to be solved is that due to the excessive freedom of the program creator, it is difficult to easily understand whether the coils and contacts are physically determined, whether they are replaced coils and contacts, or whether the contacts and coils are only necessary for the connections within the program. Also, since all devices can be freely selected, using replaced coils and contacts or the program creator using them appropriately depending on the application further complicates understanding. In addition, when constructing a program hierarchically, if the definition of the hierarchy becomes ambiguous, it further makes understanding difficult. For example, the interlock process may not be placed in the same hierarchy, or conversely, the same interlock process is performed in all hierarchies, making the program complex and difficult to understand. That is, because information can be freely entered into the program according to the mood and way of thinking of the program creator, it is also one of the factors for the program to be different for each program creator. In a more developed form of this problem, when someone other than the program creator modifies or changes the program, it also hinders complete modification and change. Moreover, because complete modification and change cannot be done, forced addition is carried out, further complicating the program.
[0022] Furthermore, the problem to be solved is that in recent years, with the progress of technological innovation and the increasing role of electrical control, as the program becomes larger and more complex, mechanical designers and plant designers must convey the design intent, key points, and ideas to the program designer, and it takes a lot of time to make them understood.
[0023] Furthermore, the problem to be solved is that in recent years, due to the program becoming larger and more complex, program designers often design in a group, taking a lot of time to convey the design intent, key points, and ideas, so the probability of leakage of the secrets included in the intent, key points, and ideas is increasing.
[0024] Furthermore, the problem to be solved is that as display devices such as touch panels (TP) and displays controlled by personal computers (PC) as interfaces, the screen size, resolution, specifications, and character size vary. Therefore, depending on what kind of display is used, what character size is set, and also depending on the data control specifications, when creating a large amount of data, a large number of screens have to be created.
[0025] Furthermore, the problem to be solved is that due to the nature of the digital structure, programs can be easily replicated. In recent years, there are many programs that distribute programs into multiple files for each role. Although increasing the opportunity to use files by only changing the address adds the advantage of improving the reliability of the program with such a file structure of the function, from the perspective of machine designers and plant designers, the design man-hours of the program are different from the actual design man-hours of the program. Therefore, depending on whether the program was constructed by reading the manual of the controlled device or was a program created once, the man-hours are very different and it becomes expensive. Also, from the perspective of the manufacturer of programmable logic controllers (PLC), even if the reference program is modified or changed, it is difficult for the modification or change to be reflected. That is, it is impossible to define the accurate design cost. Also, it is difficult to easily modify or change the reference program.
[0026] Furthermore, the problem to be solved is that manufacturing devices that control connected devices and apparatuses have a high level of confidentiality. In general factories, outsiders are prohibited from entering and the manufacturing devices are not shown. Therefore, a manufacturing device manufacturer different from the first unit may be used, and the design intent, key points, and contrived parts may be replicated inexpensively. Therefore, although a process to prohibit replication is performed using passwords, in general factories, since outsiders are prohibited from entering, the analysis process is carried out over time and illegal replication is taking place.
Means for Solving the Problems
[0027] The first aspect of the present invention is that there are a plurality of pieces of processing data consisting of an arbitrary number of rows and an arbitrary number of columns. Based on a plurality of pieces of processing data, and further based on one row of one piece of processing data among the plurality of pieces of processing data, the microprocessor (MPU) or CPU executes processing according to the purpose, then moves to the next row and executes processing. When the rows are exhausted, it returns to the first row and continues to execute processing. The processing data of the program is In addition to the processing data of that row, the start address of the next row and the start address of the previous row are added to the processing data of that row. Furthermore, when the number of data in the processing data of one row is variable, the variable number of data is added to the processing data of that row. Furthermore, when the processing content to be executed in one row is repeated or requires branching, the data structure is characterized in that the repetition data and the processing data for the processing data to be repeated or branched are added to the processing data of that row.
[0028] The first aspect of the present invention is illustrated by showing the relationship of the data structure with processing data, transfer data, repetition data, and number data in FIGS. 4, 8 to 13, 16 to 20, 38 to 47, 57, and 58.
[0029] The second aspect of the present invention is a program for causing a microprocessor (MPU) or CPU to execute processing according to the purpose based on the data structure described in the first aspect of the present invention. The plurality of the processing data For each row, the processing data of the input device data processing that compares the device data and changes the result by changing the ON / OFF state of the general-purpose bit, and For each row, the processing data of the input processing that captures the physically arranged input bits and changes the ON / OFF state of the general-purpose bit, and For each row, the processing data of the logical processing that replaces the logical product or logical sum of a plurality of general-purpose bits output from other processing with the ON / OFF of the general-purpose bit when it becomes true, and For each row, based on the general-purpose bits output from other processes, by shifting the ON state of the general-purpose bits, the execution state of the process is passed to and transmitted to other rows or rows of other processes for execution. The processing data of the sequential stepping process, and For each row, the arithmetic function provided in the microprocessor (MPU) or CPU is calculated and executed with device data or device bits as specified. The processing data of the device data arithmetic processing, and For each row, the general-purpose bits output from other processes are executed by changing the ON / OFF state of the physically arranged output bits. The processing data of the output processing, and Among the processing data of the timing process, which is executed by changing the ON / OFF state of the general-purpose bits over time for each row, at least one piece of processing data is included, In order to execute the above processing, the selections required for the processing are replaced with the numerical values of the processing data, the address of the general-purpose bits is used as the processing data, and the processing data is written into a plurality of modification registers for use, thereby executing the processing of that row. Further, it moves to the next row to execute the processing. When the rows are exhausted, it returns to the first row and continues to execute the processing. A program characterized by this.
[0030] The second aspect of the present invention is illustrated as a ladder program in FIGS. 23 to 34 and FIGS. 48 to 54, as an overall configuration in FIGS. 55 and 56, and as all flowcharts in FIGS. 64 to 84.
[0031] The third aspect of the present invention is an interface processing program for operating each processing data of the program described in the second aspect of the present invention. When a touch panel (TP) or a PC is used as an interface and a display memory area for the display part corresponding to each processing data described in the second aspect of the present invention is secured in a microprocessor (MPU) or a CPU, the display memory area is used to create, delete, add, and change the processing data. It is an interface processing program characterized by being included in the program on the touch panel (TP) or the PC side, or further included in the program described in the second aspect of the present invention.
[0032] The third aspect of the present invention is illustrated in FIG. 59.
[0033] The fourth aspect of the present invention is an identification and initial processing program that performs identification processing at the time of power-on or reset of the power supply, controls the processing state to an initial state, and stabilizes it. Before the identification and initial processing program is written into a microprocessor (MPU) or CPU, unique physical unique data is written into the identification and initial processing program. At the time of identification processing, the written data is compared with the unique physical unique data of the read microprocessor (MPU) or CPU. If they do not match, the ON / OFF state of the general-purpose bits is changed, and the identification and initial processing program that transmits a prohibition instruction to the programs of each process described in the second aspect of the present invention is further included. Based on the prohibition instruction of the identification and initial processing program, a program that does not execute each process described in the second aspect of the present invention is incorporated into the program of each process, which is the program described in the second aspect of the present invention.
[0034] The fourth aspect of the present invention is illustrated in FIG. 60.
Effects of the Invention
[0035] The effect of the present invention is that each process is performed with processing data in units of execution of the process. With a plurality of processing data consisting of arbitrary rows and columns, each process adds or deletes processing data in row units. In addition to the processing data of that row, the start address of the next row and the start address of the previous row are added to the processing data of that row. Therefore, a plurality of processing data can be mixed in row units, and even if processing data is added, it does not span other processes. That is, the algorithm can be easily added or deleted without worrying about the area where addition is possible.
[0036] Furthermore, to execute processing in units of rows and add or delete processing data in units of rows, in addition to the processing data for that row, by adding the start address of the next row and the start address of the previous row to the processing data for that row, and further, by adding a count in addition to the processing data, it becomes unnecessary to fix the size of the row in the processing unit, and it is possible to incorporate a variable number of data. Similarly, by adding repetitive data and its repetitive processing data in addition to the processing data, a repetitive structure can be incorporated within a row. That is, it is possible to also handle further changes to the algorithm.
[0037] Furthermore, when constructing a program that reflects an algorithm, which is a procedure or calculation method for solving problems, in a programmable logic controller (PLC), without converting it into a form of program directly executable by the microprocessor (MPU) of the programmable logic controller (PLC), by changing the processing data, the program can be constructed or changed. Therefore, when the programmable logic controller (PLC) is connected by a connection cable to an input / output device such as an external touch panel (TP) or a personal computer (PC) equipped with a standard input screen, by simply changing the data of the standard input screen, it is possible to handle the construction and change of the program without requiring an engineering tool. Also, even if there is no standard input screen, depending on the manufacturer, since there is a function to change device data from the touch panel (TP) side, it is also possible to make changes without requiring an engineering tool.
[0038] Furthermore, as a method of constructing or changing a program, since only the processing data is added, deleted, or changed, the program file becomes unnecessary, and file management becomes easier. However, depending on the manufacturer, for touch panels (TPs) that are connected by a connection cable to input / output devices such as external touch panels (TPs) or personal computers (PCs) instead of engineering tools, some have the function of reading and writing programs, but there are also limitations such as the need for an external memory, which causes new problems.
[0039] Furthermore, since the instruction words and the format of numerical values used differ among the manufacturers of programmable logic controllers (PLCs) that create programs, the differences among the companies can be absorbed. That is, in the same factory, even for devices from different manufacturers, when connected by a connection cable to input / output devices such as external touch panels (TPs) or personal computers (PCs), since the screens are tables with the same structure, the differences among the companies are reduced.
[0040] Furthermore, even when changing, adding, or deleting during program execution, since the program is not converted into a format directly executable by the microprocessor (MPU) of the programmable logic controller (PLC) and written, mistakes may be made in deleting the initial settings of a loop structure (For~Next statement), etc., or the addresses or labels of jump structures (such as subroutine calls, unconditional jumps, and conditional jumps) may be incorrect, but the program will not stop. That is, it is because the program structure is not changed. However, depending on the manufacturer, syntax checking is also performed, for example, when converting the program into a format directly executable by the microprocessor (MPU) of the programmable logic controller (PLC). However, since it is possible to slip through even that process, and depending on the usage method, it is sometimes necessary to bypass the check of that process, so rarely, the program may stop.
[0041] Furthermore, since comments are not managed in units of the maximum number, the memory capacity of comments is not wasted. However, currently, since the comment file is separate from the program file in many manufacturers, it is necessary to change the structure of comments on the manufacturer side. Additionally, depending on the touch panel (TP) manufacturer, it is best to use the comments on the touch panel (TP) side. However, since comments on the touch panel (TP) side cannot be written from the screen, a change in its structure is also necessary.
[0042] Furthermore, by making comments into device data, the biggest drawback of this invention alone is that it consumes a large amount of data memory. However, although comments can be written into the microprocessor (MPU) of a programmable logic controller (PLC), there are limitations, and also, since it doesn't have to be written each time, the annoyance is eliminated.
[0043] Furthermore, as a method of constructing or changing a program, when only using processing data and connected by a connection cable to an input / output device such as an external touch panel (TP) or a personal computer (PC), since a table is used on the screen, it is visually easy to understand.
[0044] Furthermore, as a method of constructing a program, by only using processing data, generally, when designing the program of a large device, in order to construct a hierarchical structure, the hierarchical structure can be divided according to the judgment of the program designer, preventing differences in the hierarchical structure among people. Also, even when someone other than the program designer changes the program, since the screen is represented as a table, the changed location can be seen at a glance.
[0045] Furthermore, in recent years, with the progress of technological innovation and the increasing role of electrical control, the program has become larger, making it impossible for mechanical designers or plant designers to design it single-handedly. They had to convey the design intent, key points, and ideas to program designers with program knowledge. However, if new employees within the organization who lack program knowledge, such as mechanical designers or plant designers, are asked to input based on the design flowchart, time can be saved, new employees can understand the equipment and devices, and confidentiality can be maintained.
[0046] Furthermore, by creating a display memory, for display devices controlled by a touch panel (TP) or a personal computer (PC), the screen size, resolution, specifications, and character size vary depending on the type of display used, the character size selected, and the specifications of the device or factory. Therefore, it can have versatility.
[0047] Furthermore, by storing the unique physical data of a programmable logic controller (PLC) and controlling whether to execute it or not from the program side using that programmable logic controller (PLC), it can be made executable only by changing the program. Therefore, combined with the ability to control the program through data input, security permissions such as passwords regain their true meaning, and the rights of the program can be protected even in a space where manufacturing equipment accessible to outsiders is placed.
[0048] That is, although it is a programmable logic controller (PLC), without changing the program, algorithms can be constructed or changed just by changing the data. In short, it can be said to be a data table logic controller (DLC), or a data table controller (DC).
[0049] (Description of drawing classification) Before the brief description of the drawings, since the drawings cover from FIG. 1 to FIG. 115 and some span multiple drawings, the classification is described. FIGS. 1 to 3 are the basic drawings of a general embodiment according to the present invention. FIG. 4 is a memory tree diagram of an embodiment according to the present invention. FIGS. 5 to 54 are related drawings for driving two motors in an embodiment according to the present invention. In addition, the detailed classification is further described below with two blank characters inserted. FIGS. 5 to 6 are the basic drawings for driving two motors in an embodiment according to the present invention. FIGS. 7 to 13 are data diagrams related to initial settings in an embodiment according to the present invention. FIGS. 14 to 20 are data diagrams related to each process for driving two motors in an embodiment according to the present invention. FIGS. 21 to 23 are ladder program circuit diagrams of input processing in a general embodiment according to the present invention. FIGS. 24 to 27 are ladder program circuit diagrams of logical processing in a general embodiment according to the present invention. FIGS. 28 to 30 are ladder program circuit diagrams of output processing in a general embodiment according to the present invention. FIGS. 31 to 34 are ladder program circuit diagrams of timing processing in a general embodiment according to the present invention. FIG. 35 is a ladder program circuit diagram with specification changes for driving two motors in a general embodiment according to the present invention. FIGS. 36 to 47 are data diagrams related to each process with specification changes for driving two motors in an embodiment according to the present invention. FIGS. 48 to 54 are ladder program circuit diagrams of sequential step operation / processing in a general embodiment according to the present invention. FIGS. 55 to 62 are basic conceptual drawings of an embodiment according to the present invention. From Figure 63 to Figure 84 are program flowcharts of each process and the like of one embodiment according to the present invention. The following further describes the detailed classification with two blank characters inserted at the beginning. From Figure 63 to Figure 66 are program flowcharts of the initial setting, the micro reset of the time measurement process, the start of each process with the same structure, and the micro reset of each process with the same structure of one embodiment according to the present invention. From Figure 67 to Figure 69 are program flowcharts for starting the execution of the processes for each number of the first half of the three processes of one embodiment according to the present invention. From Figure 70 to Figure 73 are program flowcharts related to the interface processing of one embodiment. From Figure 74 to Figure 76 are program flowcharts related to the logical processing of one embodiment. From Figure 77 to Figure 79 are program flowcharts related to the sequential step-by-step processing of one embodiment. Figure 80 is a program flowchart of the output process of one embodiment. From Figure 81 to Figure 84 are program flowcharts related to the time measurement process of one embodiment. From Figure 85 to Figure 115 are data setting diagrams of all processes set as a specific servo press device of one embodiment according to the present invention. The following further describes the detailed classification with two blank characters inserted at the beginning. Figure 85 and Figure 86 are data setting diagrams of the input device data processing and the device data calculation processing (input standard) of one embodiment. Figure 87 and Figure 88 are data setting diagrams of the input process of one embodiment. From Figure 89 to Figure 100 are data setting diagrams of the logical processing of one embodiment. Figure 101 is a data setting diagram of the sequential step-by-step operation of one embodiment. From Figure 102 to Figure 105 are data setting diagrams of the sequential step-by-step processing in the origin return operation of one embodiment. Figure 106 and Figure 107 are data setting diagrams of the sequential step-by-step processing in the press operation of one embodiment. From Figure 108 to Figure 113 are data setting diagrams of device data arithmetic processing (output standard) of one embodiment. Figure 115 and Figure 116 are data setting diagrams of output processing and timing processing of one embodiment.
Brief Description of Drawings
[0050]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 36
Figure 37
Figure 38
Figure 39
Figure 40
Figure 41
Figure 42
Figure 43
Figure 44
Figure 45
Figure 46
Figure 47
Figure 48
Figure 49
Figure 50
Figure 51
Figure 52
Figure 53
Figure 54
Figure 55
Figure 56
Figure 57
Figure 58
Figure 59
Figure 60
Figure 61
Figure 62
Figure 63
Figure 64
Figure 65
Figure 66
Figure 67
Figure 68
Figure 69
Figure 70
Figure 71
Figure 72
Figure 73
Figure 74
Figure 75
Figure 76
Figure 77
Figure 78
Figure 79
Figure 80
Figure 81
Figure 82
Figure 83
Figure 84
Figure 85
Figure 86
Figure 87
Figure 88
Figure 89
Figure 90
Figure 91
Figure 92
Figure 93
Figure 94
Figure 95
Figure 96
Figure 97
Figure 98
Figure 99
Figure 100
Figure 101
Figure 102
Figure 103
Figure 104
Figure 105
Figure 106
Figure 107
Figure 108
Figure 109
Figure 110
Figure 111
Figure 112
Figure 113
Figure 114
Figure 115
Embodiments for Carrying Out the Invention
[0051] (Summary Supplement 1) Generally, when a program is created according to an algorithm, it is executed. If the execution result is NG, the program is corrected. If the execution result is OK, it will no longer be corrected, and finally, a program that continuously repeats execution is completed. The present invention is completed by setting data according to an algorithm in an already created program, which is then executed. If the execution result is NG, the data is changed. If the execution result is OK, the data will no longer be changed, and finally, data that continuously repeats execution is completed, thereby realizing the algorithm. There are various complex algorithms for the algorithm itself, such as parallel algorithms, sequential algorithms, and combined algorithms that are parallel and sequential or sequential and parallel. A data structure corresponding to all of them was required, but it is realized by the first aspect of the present invention. The first aspect of the present invention is data composed of rows and columns. Based on the data in one row, one program is executed. When the last row is executed, it returns to the beginning and repeats the execution of the program. In order to mix data with different execution purposes in units of rows, the starting address of the next execution row and the starting address of the previously executed row (in order to delete the next row) are added to the data, so that data with the same execution purpose can be searched and executed in the order arranged in rows. Also, when the number of data in one row is variable or when iterative processing is performed within one row, it is realized by adding the starting address of the next execution row and the starting address of the previously executed row (in order to delete the next row) to the data. However, when changing, if the number of data in that row becomes smaller, a simple change is sufficient. But if the number of data becomes larger, a new area is required, and the starting address of the previous row specifying that row also needs to be rewritten. Note that the address rewriting may be performed automatically by a program or manually. Furthermore, inevitably, useless areas that are not used will occur, but it can be dealt with by adding a memory cleaning program, etc. Note that based on the experience of constructing programmable logic controller (PLC) program software for many years, as long as there is no complicated rewriting, there should be no large waste.In this way, it can be said that new extensibility has been obtained by performing, on a line-by-line basis, the extension of any one of the multiple processes. That is, this data structure is a structure that can accommodate all algorithms.
[0052] (Summary Supplement 2) Also, in program production, usually, the initial setting program is written from the beginning of the program area, followed by the processing program according to the algorithm. Except for subroutine processing, finally, the output processing program is written to declare the end of the program. The processing program according to the algorithm is realized by the second aspect of the present invention. Generally, the program is divided by work item (manual, automatic, home return, etc.), and in that program, while giving connection and meaning to each process (step, step, etc.), bits, devices, etc. are created. That is, it is comparable to the structured sequential step processing of the second aspect of the present invention. The general reason for not structuring is that it is difficult to recognize the situation at a glance, making debugging difficult, and because the program is not frequently changed. In the second aspect of the present invention, furthermore, input device data processing, input processing, logical processing, device data arithmetic processing, output processing, and timing processing are provided. Generally, however, it is often not structured, and even when partially structured, the results are not replaced with unified bits but are directly described at the necessary positions. Since the results are not replaced with unified bits, it may seem that there is no waste, but since it is not a simple replacement, it is also the biggest factor that makes the program complicated. Incidentally, for a programmer, although it is an important element that can perform the creator's own meaning assignment to the address, such as making it odd or even, a multiple of the order, or a multiple of 10, and play a supplementary role for comments with limitations, usually, since the numerical value itself has no meaning, when dealing with it through an interface, by displaying comments with no limitations on the numerical value, it is also possible to promote the understanding of whether it conforms more to the algorithm.
[0053] (Summary Supplement 3) In recent years, in systems using a programmable logic controller (PLC), as an interface for a person to interact with equipment, a touch panel (TP) or a personal computer (PC) (including engineering tools here) is used, and communication is utilized to perform settings such as various data, and a system is constructed that can change the actual address of the programmable logic controller (PLC). Usually, since a programmable logic controller (PLC), a touch panel (TP), or a personal computer (PC) (including engineering tools here) is also assumed to be a dedicated machine, there is no need to have a display memory area. However, as in the present invention, in order to support various algorithms or because there are various sizes for the touch panel (TP) or the personal computer (PC) as well, as a buffer function of the memory, and by changing only a part of the row and making the row into complete processing data, it is realized by the third aspect of the present invention. Furthermore, for the touch panel (TP), a basic screen corresponding to the screen size can be provided in combination with the program of the present invention, and for the personal computer (PC), the program itself can be provided in combination with the program of the present invention, which can further promote its spread.
[0054] (Summary Supplement 4) If this all-algorithm-compatible program is obtained, there is no longer a need to create a program. Therefore, if it is copied and transplanted to a different CPU, due to the nature of the factory, there is a device in the fourth aspect of the present invention to prevent the CPU from starting up when it is a copy because it is not known whether the CPU has started up. For this, it is a major premise that a general password system that cannot change the program at least is incorporated into the system of the programmable logic controller (PLC) in advance, and the fourth aspect of the present invention can function reliably.
[0055] Hereinafter, embodiments of the present invention will be described together with the accompanying drawings. (Pre-concept) Figure 1 is an electrical control equipment diagram of a general embodiment. It can be said that all equipment or devices are electrically controlled except those that utilize classical wind power or hydraulic power. Among them, control using a rewritable computer has become widespread. Such computers include microcontrollers, personal computers (PCs), programmable logic controllers (PLCs), etc., and the equipment is controlled by taking advantage of their characteristics. However, with the remarkable technological progress these days, the emergence of optical fibers, the speeding up of CPUs, microprocessors (MPUs), or GPUs (Graphics Processing Units), the exponential increase in the capacity of memory elements, the miniaturization of each electronic component, the multi-layerization of substrates, and the fine processing technology of line widths, etc., have become factors that make their characteristics flat, and the boundaries are becoming unclear. Based on the above, Figure 1 is an electrical control equipment diagram of a general embodiment. The part surrounded by a dashed line is equipment or a device. A is the equipment or device of Company A, B is the equipment or device of Company B, C is the equipment or device of Company C, D is the equipment or device of Company D, and E is the equipment or device of Company E. Each company is connected by a thick-line network 5. In large factories, optical fibers are used for the backbone network to support high-speed and large-capacity communication. However, there are also networks closed within the equipment or device, and the communication cables are not optical fibers, and coaxial cables, multi-core cables, etc. are still used. 1 is a programmable logic controller (PLC), 2 is a touch panel (TP), 3 is a personal computer (PC), and 4 is an engineering tool. It is easier to manage if the programmable logic controller (PLC) of 1 and the touch panel (TP) of 2 have the same manufacturer and model, but there are also many cases where this is not so. Note that the personal computer (PC) of 3, the engineering tool of 4, and the touch panel (TP) of 2 are also man-machine interfaces.
[0056] (Pre-concept) Figure 2 is a flowchart diagram including each program of a general programmable logic controller (PLC) according to the present invention and the processes associated with the program in one embodiment. The programmable logic controllers (PLCs) of each company do not have much difference and have almost the same specifications and operations. The flowchart including each program and the processes associated with the program is also almost the same. At 20 in Figure 2, when the power is turned on from off or the PLC is switched from STOP to RUN, the programmable logic controller (PLC) starts up. First, the program check process at 21 is performed. Subsequently I / O refresh at 22 is performed, and the process proceeds to END process 1 at 23. Then, the initial execution type program group at 25 created by the user is executed in the specified order, and the process proceeds to END process 2 at 24. Subsequently, I / O refresh at 22 is performed, the process proceeds to END process 1 at 23, the scan execution type program group at 26 created by the user is executed in the specified order, the process proceeds to END process 2 at 24, and the process returns before I / O refresh at 22 and is repeated until the power is turned off from on or the PLC is switched from RUN to STOP. The reason why END process 1 at 23 and END process 2 at 24 are separated into END processes is that depending on the instructions described in the program, there are some instructions that require processing to be performed before the program to be described. Without that instruction, only END process 2 at 24 would be sufficient. The fixed - cycle execution type program group at 27 and the standby type program group at 28 are independent programs and are not executed in order. The fixed - cycle execution type program executes the program at a fixed cycle. The standby program is executed every time there is a call from each program. Note that depending on the model, there are also event execution type programs with a width in the trigger element, which are similar programs to the standby program. The dashed lines indicate that interrupts are inserted or calls are made within the normal repetition.
[0057] (Pre - concept) Figure 3 is a relational diagram of each program of a general programmable logic controller (PLC) according to an embodiment of the present invention. Although the 30 initial execution type program groups and the 31 scan execution type program groups in Figure 3 are separated by [END / FEND], they are continuous, so they can be regarded as one program. Depending on the model of the programmable logic controller (PLC), there are even cases where there is only one program without being divided into the 30 initial execution type programs, the 31 scan execution type programs, the 32 fixed cycle execution type programs, and the 33 standby programs. In the early programmable logic controllers (PLCs), there were only a few types of fixed cycle execution type programs, which were handled by fixed cycle interrupt pointers. Specifically, an interrupt pointer was created, and the circuit of that pointer was activated periodically, and the [IRET] (interrupt return instruction) was used to return to normal processing. Also, the method of using the standby program as a subroutine with the pointer as the destination is equivalent. Furthermore, when the power is turned off and then on, or when changing from STOP to RUN, the initial execution type program that is executed only once can achieve an equivalent function by using a conditional jump combined with a system flag that is ON only during the first scan and a system flag that is OFF only during the first scan, and a pointer that is the destination of an unconditional jump. So, why? The reason for grouping programs is nothing but to use the programs as assets many times, improve reliability, reduce design man-hours, and make it easier for program creators, maintenance personnel, and others to understand. Even in the present invention, although the programs are classified in units of processing, it has little meaning for users who utilize the programs other than program creators, maintenance personnel, and evaluators.
[0058] Figure 4 is a memory tree diagram according to an embodiment of the present invention. It is a memory tree diagram that is subdivided from left to right. The name of the memory changes depending on the position from which the memory is viewed. Figure 4 shows the memory names as seen from a programmable logic controller (PLC) incorporating the program of the present invention. The memory is divided into the memory inside the PLC and the memory outside the PLC (external memory). One of the memories inside the PLC is further divided into the memory inside the CPU and the memory outside the CPU (buffer memory of each unit). Both are further divided into ROM (Read Only Memory) and RAM (Random Access Memory). The memory outside the CPU varies depending on the specifications of each unit, but both the ROM and the RAM serve as buffer memories for each unit. The ROM inside the CPU is divided into a program memory for storing programs and a data memory. The RAM inside the CPU is divided into seven types: program cache memory, device memory, label memory, function memory, refresh memory, CPU buffer memory, and signal flow memory. This is the general configuration so far. In Figure 4, the device memory is divided into 12 (device file memory, device link relation memory, device system relation memory, device timer / counter memory, device general-purpose memory, device latch bit memory, device link relation bit memory, device system relation bit memory, device timer / counter bit memory, device input bit memory, device output bit memory, device general-purpose bit memory), but it may vary depending on the specifications of each company. Note that a part of the general-purpose device memory is allocated to the processing data, transfer data, repetitive data, and count data of the present invention. Note that the memories that can be addressed by the program are generally the buffer memories of each unit, the CPU buffer memory, and the device memory, and the other memories are memories that cannot be accessed from the program side.
[0059] Figure 5 is a ladder program circuit diagram for driving two motors according to a general embodiment of the present invention. The input bits and output bits are in the device input bit memory and device output bit memory of Figure 4, and the addresses are hard - determined. Also, the system bits are in the device system - related bit memory, which is assigned by the manufacturer. Furthermore, the timer bits are in the device timer / counter bit memory, and the user can freely select the addresses. Note that the device timer / counter memory corresponds to the device timer / counter bit memory and stores the set values. It is for understanding the program of the programmable logic controller (PLC) itself and the gist of the present invention, and it is a program for driving two star - delta starting motors. Star - delta starting means that for a three - phase motor with a large capacity, since the starting current is large, first, the motor is slowly driven in star connection, and after a certain time, it is switched to delta connection with a low current. Here, since the two motors cannot be driven in star connection simultaneously, while one is in star starting, the starting switch for the other non - running motor is disabled so that it cannot start in star. Also, there is a starting lamp for each, which blinks at intervals of 0.5 seconds when starting in star connection, and lights up when switched to delta connection. For such small - scale control, it is not necessary to use a programmable logic controller (PLC) that can successively construct input / output units, etc. Instead, for a single motor, it is common to create a relay - sequence circuit composed of three relays and two time - delay relays (timer - relays), or to use a small programmable logic controller (PLC) with an integrated input / output circuit. However, assuming that another device is added later and a general programmable logic controller (PLC) is used for controlling that device, this configuration is adopted. In the ladder program circuit diagram of Fig. 5, it consists only of A contacts, B contacts, and coils. The signal from the input unit is used as the input bit, the coil output by the output unit is used as the output bit, the timer built into the programmable logic controller (PLC) is used as the timer bit, and the 1-second clock built into the programmable logic controller (PLC) is used as the 1-second clock system bit. Note that the PB1 input bit is the start switch for Motor 1, the PB2 input bit is the stop switch for Motor 1, the TH1 input bit is the thermal trip signal for Motor 1, the PB3 input bit is the start switch for Motor 2, the PB4 input bit is the stop switch for Motor 2, the TH2 input bit is the thermal trip signal for Motor 2, the EMS input bit is the emergency stop switch, the MC1 output bit coil is the coil that drives the star start of Motor 1, the MC2 output bit coil is the coil that drives the delta start of Motor 1, the PL1 output bit drives the start indicator lamp for Motor 1, the MC3 output bit coil is the coil that drives the star start of Motor 2, the MC4 output bit coil is the coil that drives the delta start of Motor 2, and the PL2 output bit drives the start indicator lamp for Motor 2.
[0060] The following provides a detailed description for each block. 50. The MC1 output bit coil is self-latched when the start switch is pressed and remains self-latched and activated when the stop switch is pressed, a thermal trip signal is input, the emergency stop is pressed, during the switching time measurement, or when Motor 2 is not in star start. 51. When the TM1 timer bit coil is continuously driven in star start, the measurement of the TM1 timer bit coil starts, and when it reaches the set time of 100 seconds, it becomes self-latched and remains self-latched and activated if the stop switch is not pressed, a thermal trip signal is not input, and the emergency stop switch is not pressed. 52. The MC1 output bit coil is activated in delta start in accordance with the activation of the TM1 timer. For the PL1 output bit coil of 53, during star startup, it repeatedly activates and deactivates every second, and during delta startup, it remains activated. For the MC3 output bit coil of 54, self-holding is applied when the start switch is pressed, and self-holding continues and it remains activated when the stop switch is pressed, a thermal trip signal is input, an emergency stop is pressed, during switching time measurement, or when not in star startup of Motor 1. For the TM2 timer coil of 55, when continuously driven during star startup, the measurement of the TM2 timer starts, and when it reaches the set time of 150 seconds, self-holding is applied, and self-holding continues and it remains activated if the stop switch is not pressed, a thermal trip signal is not input, and the emergency stop switch is not pressed. For the MC4 output bit coil of 56, the TM2 timer bit coil is activated accordingly and it is activated during delta startup. For the PL2 output bit coil of 57, during star startup, it repeatedly activates and deactivates every second, and during delta startup, it remains activated. With the structure command END, the program file ends.
[0061] For the ladder program circuit diagram of Figure 5 to drive two motors, and to make it exactly match using the present invention, the data is required. From Figure 6 to Figure 20, a general-purpose device memory map, an image data diagram of initial settings, a detailed data diagram of each initial setting, an image data diagram of each process, and a detailed data diagram of each process for driving two motors are described. Since it can support all algorithms, it is not limited to only driving two motors, but the ladder program circuit diagrams of input processing, logical processing, output processing, and timing processing used to drive two motors are described in Figures 21 to 34.
[0062] Figure 6 is a general-purpose device memory map for driving two motors according to an embodiment of the present invention. Using the device general-purpose memory and the device general-purpose bit memory in FIG. 4, the area of the device general-purpose memory has the initial settings for screen processing from 1800 to 1819, the initial settings for input device data processing from 1820 to 1839, the initial settings for device data arithmetic processing from 1840 to 1859, the initial settings for input processing from 1860 to 1879, the initial settings for logical processing from 1880 to 1899, the initial settings for sequential step operation / processing from 1900 to 1939, the initial settings for output processing from 1940 to 1959, the initial settings for timing processing from 1960 to 1999, and the program data area starts from 2000. The area of the device general-purpose bit memory has the general-purpose bits generated by the program starting from 0. Note that the numerical values are addresses, which are temporary and arbitrarily set.
[0063] FIG. 7 is an image data diagram displayed on the interface of the initial settings of an embodiment according to the present invention. Since touch panels (TPs), engineering tools, and personal computers (PCs) come in various sizes, the image data diagram displayed on the interface shows the initial settings of input processing, logical processing, output processing, and timing processing, as well as the initial settings of the modified sequential step operation and sequential step processing required to drive two motors. The numerical values are variables and can be changed, but are substantially fixed in content. 70 is the initial setting (input processing) data, 71 is the initial setting (logical processing) data, 72 is the initial setting (output processing) data, 73 is the initial setting (timing processing) data, 74 is the initial setting (sequential step operation) data, and 75 is the initial setting (sequential step processing) data.
[0064] FIG. 8 is a detailed data diagram of the initial settings of the input processing of an embodiment according to the present invention. On the left side of the vertical double line, from top to bottom, TP / PC display, value, address, and memory type are grouped together. Similarly, below the horizontal double line, the items of TP / PC display, value, address, and memory type are described. Although it is the 70 initial setting (input process) data in FIG. 7, the first one on the right side of the double vertical line, the number of input processes, is not in the 70 initial setting (input process) data in FIG. 7, but at the beginning of the 140 input process data in FIG. 14. After the change, it is described at the beginning of the 360 input process data in FIG. 36. The lower side of the double horizontal line is the data of each item, which is assigned in order from the address 1860 described in FIG. 6. The reason why there is no TP / PC display in the second item on the right side of the double vertical line is that it is automatically assigned by the program. Note that although the memory types of external, process, and transition are displayed, external refers to the memory outside the PLC described in FIG. 4, process refers to the process data (memory) of the device general-purpose memory described in FIG. 4, and transition refers to the transition data (memory) of the device general-purpose memory described in FIG. 4. Note that the first interval refers to the sizes of the device selections in FIGS. 14 and 140 and the size of the device selection in FIG. 15. The second and subsequent figures also correspond sequentially.
[0065] FIG. 9 is a detailed data diagram of the initial setting of the logical process according to an embodiment of the present invention. On the left side of the double vertical line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Similarly, on the lower side of the double horizontal line, the items of TP / PC display, value, address, and memory type are described. It is the 71 initial setting (logical processing) data in FIG. 7. However, for the first one on the right side of the double vertical line, the number of logical processings is not in the 71 initial setting (logical processing) data in FIG. 7, but at the beginning of the 141 logical processing data in FIG. 14. After the change, it is described at the beginning of the 361 logical processing data in FIG. 36. Below the double horizontal line are the data of each item, which are assigned in order from the address 1880 described in FIG. 6. The reason why there is no TP / PC display in the second item on the right side of the double vertical line is that it is automatically assigned by the program. Note that although the memory types of external, processing, transition, and repetition are displayed, external refers to the memory outside the PLC described in FIG. 4, processing refers to the processing data (memory) in the device general-purpose memory described in FIG. 4, transition refers to the transition data (memory) in the device general-purpose memory described in FIG. 4, and repetition refers to the repetition data (memory) in the device general-purpose memory described in FIG. 4. Note that the first interval refers to the sizes of the general-purpose bit addresses in FIGS. 14 and 141 and the size of the general-purpose bit address in FIG. 16. The subsequent second and later in each figure also correspond sequentially.
[0066] FIG. 10 is a detailed data diagram of the initial setting of the output processing according to an embodiment of the present invention. On the left side of the double vertical line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Similarly, below the double horizontal line, the items of TP / PC display, value, address, and memory type are described. It is the 72 initial setting (output process) data in FIG. 7. However, for the first one on the right side of the double vertical line, the number of output processes is not in the 72 initial setting (output process) data in FIG. 7, but at the beginning of the 142 output process data in FIG. 14. After the change, it is described at the beginning of the 371 output process data in FIG. 37. Below the double horizontal line are the data for each item, which are assigned in order from the address 1940 described in FIG. 6. For the second item on the right side of the double vertical line, there is no TP / PC display because it is automatically assigned by the program. Note that the memory type shows "external", "processing", and "transition". "External" refers to the memory outside the PLC described in FIG. 4. "Processing" refers to the processing data (memory) in the device general-purpose memory described in FIG. 4. "Transition" refers to the transition data (memory) in the device general-purpose memory described in FIG. 4. Note that the first interval refers to the sizes of the ON bit addresses in FIGS. 14 and 142 and the size of the ON bit address in FIG. 18. The subsequent ones in each figure also correspond sequentially.
[0067] FIG. 11 is a detailed data diagram of the initial setting of the timing process according to an embodiment of the present invention. On the left side of the double vertical line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Similarly, below the double horizontal line, the items of TP / PC display, value, address, and memory type are described. It is the 73 initial setting (timing process) data in Fig. 7. However, the first one on the right side of the double vertical line, the number of timing processes, is not in the 73 initial setting (timing process) data in Fig. 7. Instead, it is described at the beginning of the 143 timing process data in Fig. 14, and after the change, it is described at the beginning of the 372 timing process data in Fig. 37. The lower side of the double horizontal line is the data of each item, which is sequentially assigned starting from the address 1960 described in Fig. 6. The second item on the right side of the double vertical line has no TP / PC display because it is automatically assigned by the program. Note that the memory type shows External, Process, and Transition. External refers to the memory outside the PLC described in Fig. 4, Process refers to the process data (memory) in the device general-purpose memory described in Fig. 4, and Transition refers to the transition data (memory) in the device general-purpose memory described in Fig. 4. Note that the first interval refers to the magnitudes of the control selections in Fig. 14, 143 and Fig. 19. The subsequent ones in each figure also correspond sequentially.
[0068] Fig. 12 is a detailed data diagram of the initial setting of the sequential step operation according to an embodiment of the present invention. On the left side of the double vertical line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Similarly, on the lower side of the double horizontal line, the items of TP / PC display, value, address, and memory type are described. It is the 74 initial setting (sequential step operation) data in Fig. 7. However, the first one on the right side of the double vertical line, the number of sequential step operations, is not in the 74 initial setting (sequential step operation) data in Fig. 7. Instead, it is described at the beginning of the 362 sequential step operation data in Fig. 36. The lower side of the double horizontal line is the data of each item, which is sequentially assigned starting from the address 1900 described in Fig. 6. The second item on the right side of the double vertical line has no TP / PC display because it is automatically assigned by the program. Note that the memory type shows External, Process, and Transition. External refers to the memory outside the PLC described in Fig. 4, Process refers to the process data (memory) in the device general-purpose memory described in Fig. 4, and Transition refers to the transition data (memory) in the device general-purpose memory described in Fig. 4. Note that the first interval refers to the magnitudes of the number of processes in Fig. 36, 362 and Fig. 40.
[0069] Figure 13 is a detailed data diagram of the initial setting of the sequential step processing according to an embodiment of the present invention. On the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Similarly, on the lower side of the horizontal double line, the items of TP / PC display, value, address, and memory type are described. Although it is the 75 initial setting (sequential step processing) data in FIG. 7, the first item on the right side of the vertical double line, the number of sequential step operations, is not in the 74 initial setting (sequential step operation) data in FIG. 7. It becomes the item of each row of the 362 sequential step operations in FIG. 36 and is described at the beginning of the 363 sequential step processing data of the motor 1 operation in FIG. 36 or at the beginning of the 370 sequential step processing data of the motor 2 operation in FIG. 37. Therefore, the value is arbitrary. The lower side of the horizontal double line is the data of each item and is sequentially assigned from the address 1911 described in FIG. 6. The reason why there is no TP / PC display in the second item on the right side of the vertical double line is that it is automatically assigned by the program. Note that the memory types displayed are external, processing, transition, and repetition. External refers to the memory outside the PLC described in FIG. 4, processing refers to the processing data (memory) of the device general-purpose memory described in FIG. 4, transition refers to the transition data (memory) of the device general-purpose memory described in FIG. 4, and repetition refers to the repetition data (memory) of the device general-purpose memory described in FIG. 4. Note that the first interval refers to the magnitude of the absolute condition bit address between FIG. 36, 363 and FIG. 37, 370, and the magnitude of the absolute condition bit address between FIG. 41 and FIG. 43. The second and subsequent figures also correspond sequentially.
[0070] Figure 14 is an image general-purpose device data diagram displayed at the interface of each process for driving two motors according to an embodiment of the present invention. Since the touch panel (TP), engineering tools, and personal computer (PC) are of various sizes, the input processing, logical processing, output processing, and timing processing necessary for driving two motors are displayed in the image data diagram displayed at the interface. The numerical values are variables and can be changed. 140 is the input processing data, 141 is the logical processing data, 142 is the output processing data, and 143 is the timing processing data. This device data is created for the programmable logic controller (PLC) in which the program of the present invention is written in order to exactly match the ladder program circuit diagram for driving two motors in FIG. 5. However, in FIG. 5, the contacts are composed of input / output devices, but all of these are replaced with general-purpose bits for matching. Normally, to implement an algorithm, a program like that in FIG. 5 is written into a programmable logic controller (PLC) for implementation. However, in the present invention, instead of creating a program according to the algorithm, device data is created to cope with the changing algorithm. To correspond to the ladder program circuit diagram for driving two motors in FIG. 5, an equivalent circuit can be created by setting data for input processing, logical processing, output processing, and timing processing. Since the device names, etc. are different for each company, this device data in FIG. 5 is assumed to be using a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation. Here, in order to be the same as the ladder program in FIG. 5, the input bit is X, the system bit is SM, and the output bit is Y.
[0071] Hereinafter, a detailed description of FIG. 14 will be given with reference to FIG. 5. The intention of creating the input processing data of 140 is just to define it because the input processing replaces the bits of various devices one-to-one with general-purpose bits and outputs them. The input bits in Figure 5 are 7, and there is 1 system bit. However, in other processes, only general-purpose bits can be used at all times, so it is set to 9 by adding the system bit that is always ON. Here, the general-purpose bits replaced and output by the input processing are from 0 to 8 (in the programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, the general-purpose device bits are designated as M), but the numbers have no meaning, and any value can be used as long as there is no duplication. This is because it is set from 0 in the general-purpose device memory map in Figure 6. Also, the order of No. is in the creation order, and this also has no great meaning. The intention of creating the logical processing data of 141 is only to define it because the logical processing outputs general-purpose bits based on whether it is activated by only multiple consecutive logical products or consecutive logical sums. Specifically explaining with the circuit block of the 50 MC1 output bit coils in Figure 5, this circuit block includes a part where the start switch (A contact) and the contact of the start coil of MC1 (A contact) are continuously configured in a logical product, a part where the stop switch (B contact), the thermal trip signal (B contact), and the emergency stop switch (B contact) are continuously configured in a logical sum, and a part where the contact of the motor 1 star-delta switching time coil (B contact) and the contact of the start coil of MC3 (B contact) are continuously configured in a logical sum. The divided parts are further continuously configured in a logical sum, and the output of the general-purpose bit is the start coil of MC1. In this logical processing data, it is defined from No. 1 to 4, and the general-purpose bits to be output are from 9 to 12 (in a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, the device is designated as M). However, since it is a block summary, this order doesn't matter. As long as there is no duplication, any value from 9 to 12 is acceptable. Note that No. 1 to 4 of this logical processing data construct 50 in Figure 5, No. 5 and 6 construct 51 in Figure 5, No. 7 constructs 52 in Figure 5, No. 8 constructs 53 in Figure 5, No. 9 to 12 construct 54 in Figure 5, No. 13 and 14 construct 55 in Figure 5, No. 15 constructs 56 in Figure 5, and No. 16 constructs 57 in Figure 5. The intention of creating the output processing data of 142 is only to define it because the output processing replaces general-purpose bits one-to-one with the bits of various devices and outputs them. It corresponds to the 50 MC1 output bit coils, 52 MC2 output bit coils, 53 PL1 output bit coils, 54 MC3 output bit coils, 56 MC4 output bit coils, and 57 PL2 output bit coils in Figure 5. Note that the order doesn't matter. The intention of creating the timing process data for 143 is just to define it because the timing process delays general-purpose bits and outputs them with other general-purpose bits or blinks them and outputs them with other general-purpose bits. It corresponds to the TM1 timer coil with a setting of 100 seconds at 51 and the TM1 timer coil with a setting of 150 seconds at 55 in Figure 5. Here, the general-purpose bits replaced and output by the timing process are 25 and 26 (in a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, the device is designated as M), but these numbers have no meaning and any value may be used as long as there is no duplication. Also, the order of No is in the order of creation, and this also has no great meaning. However, since only two are used here, it is just the reverse.
[0072] Figure 15 is a detailed data diagram of the output process for driving two motors according to an embodiment of the present invention. On the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together, sandwiched by the horizontal double line, and are composed of five groups excluding the omitted parts. On the right side of the vertical double line in the topmost group, it consists of two items, the number of input processes and its numerical value. On the right side of the vertical double line in the remaining four groups, it consists of ten items, No, blank, name, blank, blank, device selection, actual address (10 / Hex), logic, general-purpose bit address (10 / Hex), and differentiation. Since it is omitted and to make the address structure easier to understand, under each of the five groupings, a table of the No., starting address, number of words, and creation order with these four items on one line is attached as the starting address and creation order by No. To explain in detail, the input processing data for No1 starts with a starting address of 2000, has 15 words, and is the first in the creation order. The reason the starting address is 2000 is that the program data area in Figure 6 starts from 2000 and it was created first. The number of words varies depending on the name. Since 6 words are required for a 1-second clock, it is 15 words. The next created input processing data for No2 starts with a starting address of 2015, has 13 words, and is the second in the creation order. The same applies to No3 to No9 which are omitted. This is the same as the 140 input processing data in Figure 14 and Figure 15. However, in Figure 15, No3 to No8 are omitted and only three blanks are added to the items for description. The absence of TP / PC display is because it is automatically assigned by the program. Note that the memory type shows External, Processing, Quantity, and Transfer. External refers to the memory outside the PLC described in Figure 4, Processing refers to the processing data (memory) in the device general-purpose memory described in Figure 4, Quantity refers to the quantity data (memory) in the device general-purpose memory described in Figure 4, and Transfer refers to the transfer data (memory) in the device general-purpose memory described in Figure 4.
[0073] Figure 16 is the detailed data diagram 1 / 2 of the logical processing for driving two motors according to an embodiment of the present invention. Figure 17 is the detailed data diagram 2 / 2 of the logical processing for driving two motors according to an embodiment of the present invention. In FIG. 16, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Excluding the parts sandwiched by the horizontal double lines and the omitted parts, it is composed of five groups. In FIG. 17, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Excluding the parts sandwiched by the horizontal double lines and the omitted parts, it is composed of four groups. On the right side of the vertical double line of the topmost group in FIG. 16, it consists of two items, the number of input processes and its numerical value. On the right side of the vertical double line of the remaining four groups in FIG. 16, it spans across FIG. 17 and consists of 15 items, namely No, blank, name, blank, blank, general-purpose bit address (10 / Hex), differentiation, logical selection, number of elements, element 1 bit address (10 / Hex), logic, element 2 bit address (10 / Hex), logic, element 3 bit address (10 / Hex), logic. In FIG. 16, since it is omitted and to make the address structure easier to understand, below the five groups, a table of the starting address, number of words, and creation order for each No is attached with four items, No, starting address, number of words, and creation order, in one line. To explain in detail, for the logical processing data of No1, the starting address starts from 2175, the number of words is 20, and the creation order is the 10th. The reason why the starting address is 2175 is that in FIG. 15, the next address after the last address 2174 of the 9th creation order is 2175, and it was created as the 10th. The number of words varies depending on the name. Since the self-holding of MC1 requires 8 words, it is 20 words. The next created output processing data of No2 starts from the starting address of 2195, the number of words is 24, and the creation order is the 11th. The same applies to No3 to No9 which are omitted. Figure 17 that straddles this Figure 16 is the same as the logical processing data of 141 in Figure 14. However, in Figure 17 that straddles Figure 16, from No3 to No15 are omitted, and only three blanks are added to the items for description. The reason there is no TP / PC display is that it is automatically assigned by the program. Regarding the memory type, external, quantity, processing, and transfer are displayed. Here, "external" refers to the memory outside the PLC described in Figure 4, "processing" refers to the processing data (memory) of the device general-purpose memory described in Figure 4, "quantity" refers to the quantity data (memory) of the device general-purpose memory described in Figure 4, and "transfer" refers to the transfer data (memory) of the device general-purpose memory described in Figure 4.
[0074] Figure 18 is a detailed data diagram of the output processing for driving two motors according to an embodiment of the present invention. On the left side of the vertical double line, from top to bottom, TP / PC display, value, address, and memory type are grouped together. They are sandwiched by horizontal double lines and are composed of five groups except for the omitted parts. On the right side of the vertical double line in the topmost group, it consists of two items, the output processing number and its numerical value. On the right side of the vertical double line in the remaining four groups, it consists of 11 items, namely No, blank, name, blank, blank, ON bit address (10 / Hex), logic, OFF bit address (10 / Hex), logic, device selection, and actual address (10 / Hex). Since it is omitted and to make the address structure easier to understand, under each of the five groupings, a table of the starting address, number of words, and creation order for each No. is attached, with the four items of No., starting address, number of words, and creation order on one line. To explain in detail, the output processing data for No. 1 starts with a starting address of 2597, has 23 words, and is the 28th in the creation order. The reason the starting address is 2597 is that in Figures 19 and 20 (which are related), the address after the last address of 2596 in the 27th creation order is 2597, and it was created as the 28th. The number of words varies depending on the name. Since the motor 1 star start (MC1) requires 13 words, it is 23 words. The next created output processing data for No. 2 starts with a starting address of 2620, has 23 words, and is the 29th in the creation order. The same applies to No. 3 to No. 9 which are omitted. This is the same as the output processing data of 142 in Figure 14 and Figure 18. However, in Figure 15, No. 3 to No. 5 are omitted, and only three blanks are added to the items for description. The reason there is no TP / PC display is that it is automatically assigned by the program. Note that the memory type shows external, processing, quantity, and transfer. External refers to the memory outside the PLC described in Figure 4. Processing refers to the processing data (memory) in the device general-purpose memory described in Figure 4. Quantity refers to the quantity data (memory) in the device general-purpose memory described in Figure 4. Transfer refers to the transfer data (memory) in the device general-purpose memory described in Figure 4.
[0075] Figure 19 is the detailed data diagram 1 / 2 of the timing process for driving two motors in one embodiment according to the present invention. Figure 20 is the detailed data diagram 2 / 2 of the timing process for driving two motors in one embodiment according to the present invention. In Fig. 19, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Except for the parts sandwiched by the horizontal double lines and omitted, it is composed of four groups. In Fig. 20, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Except for the parts sandwiched by the horizontal double lines and omitted, it is composed of three groups. On the right side of the vertical double line in the topmost group of Fig. 19, it consists of two items, namely the number of timing processes and its numerical value. On the right side of the vertical double line in the remaining three groups of Fig. 19, it spans across Fig. 20 and consists of 16 items, namely No, blank, name, blank, blank, control selection, start bit address (10 / Hex), logic, count stop bit address (10 / Hex), logic, blink ON time, blink interval time, elapsed time, general-purpose bit address (10 / Hex), and differentiation. In order to make the address structure in Fig. 19 easier to understand, under the four groups, a table of the starting address, number of words, and creation order for each No is attached, with the four items of No, starting address, number of words, and creation order in one line. To explain in detail, for the timing process data of No1, the starting address starts from 2539, the number of words is 29, and the creation order is the 26th. The reason why the starting address is 2539 is that in Fig. 17, the next address after the last address 2538 with the 25th creation order is 2539, because it was created as the 26th. The number of words varies depending on the name. Since the motor 1 star-delta switching time requires 14 words, it is 29 words. The next created timing process data of No2 has a starting address starting from 2568, a number of words of 29, and a creation order of the 27th. Figure 20, which straddles this Figure 19, is the same as the timing processing data of 142 in Figure 14. However, it is only described with three blanks added to the items. The reason there is no TP / PC display is that it is automatically assigned by the program. Regarding the memory type, external, quantity, processing, and transfer are displayed. Here, "external" refers to the memory outside the PLC described in Figure 4, "processing" refers to the processing data (memory) of the device general-purpose memory described in Figure 4, "quantity" refers to the quantity data (memory) of the device general-purpose memory described in Figure 4, and "transfer" refers to the transfer data (memory) of the device general-purpose memory described in Figure 4.
[0076] (Basic Concept) Before explaining the programs from Figure 21 to Figure 34 and from Figure 48 to Figure 54, the indispensable modification register (denoted as modified R in each figure) and the repeat instruction will be explained. The modification register is a function that can modify each device data and each device bit to make its address variable. To explain with a specific example, assuming there is an A contact of X0 with a modification register (in a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, the input device is denoted as X), when the value of the modification register is set to 0, it becomes the A contact of X0, and when the value is set to 8, it becomes the A contact of X8. This function of the modification register, regardless of the number that can be used simultaneously, is a basic function incorporated by the programmable logic controller (PLC) manufacturer. The repeat instruction is a function that repeats a group of instructions from the repeat instruction to the repeat completion instruction for a specified number of times. When combined with the modification register, many programs do not need to be described, so the description capacity of the program is reduced. However, since it changes constantly, it has the drawback that it cannot be easily debugged. This repeat instruction, as well as the repeat structure with another repeat within the repeat, regardless of the number, is a basic function incorporated by the programmable logic controller (PLC) manufacturer.
[0077] Figure 21 is the ladder program circuit diagram 1 / 3 of the input processing in one embodiment according to the present invention. Figure 22 is the ladder program circuit diagram 2 / 3 of the input processing according to an embodiment of the present invention. Figure 23 is the ladder program circuit diagram 3 / 3 of the input processing according to an embodiment of the present invention. That is, FIGS. 21 to 23 are a series of ladder program circuit diagrams of the input processing. This ladder program circuit diagram uses the program instructions of a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, and processes one by one while changing the address with a modification register, and has a structure that repeats the process for the number of processes with a repeat instruction. From block 210 to 212 are pre-processes before processing, and from block 214 to 233 are performing the processing. From 235 to 238, from 239 to 23B, and from 23C to 23F are three subroutine programs. Details will be described below for each block. The transfer instruction GOEND of 210 transfers to the END of this input processing program without performing this input processing when the execution permission contact determined in the identification and initial processing program is not activated, or when the number of input processes determined by the user in use is 0. The call instruction CALL of 211 calls and executes the differentiation reset process. Here, since all differentiations are set to "none", it is not executed. The transfer instruction MOV of 212 transfers the start address of the input processing data determined in the identification and initial processing program to the general-purpose device 1. The repeat instruction (1) FOR of 213 pairs with the repeat instruction (1) NEXT of 233, and here, repeats for the number of input processes. The call instruction CALL of 214 calls and executes the addition process of the number. With the arithmetic instruction + (addition) of 215, the interval up to the next number address of the input processing described in the identification and initial processing program is added to the general-purpose device 1 defined in 212 and stored in the modification register 20. With the transfer instruction MOV of 216, the general-purpose device modified by the modification register 20 is transferred to the general-purpose device 2. With the arithmetic instruction + (addition) of 217, the interval up to the device selection address of the input process described in the identification and initial processing program is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 218, the general-purpose device modified by the modification register 20 is transferred to the modification register 4. With the arithmetic instruction + (addition) of 219, the interval up to the actual address of the input process described in the identification and initial processing program is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 21A, the general-purpose device modified by the modification register 20 is transferred to the modification register 1. With the arithmetic instruction + (addition) of 21B, the interval up to the logical selection at the time of activation of the input process described in the identification and initial processing program is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 21C, the general-purpose device modified by the modification register 20 is transferred to the modification register 5. With the arithmetic instruction + (addition) of 21D, the interval up to the general-purpose bit address of the input process described in the identification and initial processing program is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 21E, the general-purpose device modified by the modification register 20 is transferred to the modification register 2. With the arithmetic instruction + (addition) of 21F, the interval up to the differentiation of the input process described in the identification and initial processing program is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 21G, the general-purpose device modified by the modification register 20 is transferred to the modification register 3. 220's input-only auxiliary general-purpose bit 1 coil outputs the activation and deactivation of input bits, general-purpose bits, link bits, latch bits, and system bits at the level during device selection. Although described in words in the data, 1 is defined as the input bit, 2 as the general-purpose bit, 3 as the link bit, 4 as the latch bit, and 5 as the system bit. Also, although the logic of the bits is described in words, 1 is defined as positive logic and 2 as negative logic. 221 calls a subroutine to output, at the level, the device bit-decomposed by the CALL instruction and the unit memory bit-decomposed by the CALL instruction. Although not used here, the input-only auxiliary general-purpose bit 2 is either activated or deactivated and then returns. When the SET operation instruction of 222 activates either the input-only auxiliary general-purpose bit 1 or the input-only auxiliary general-purpose bit 2, it activates (enables) the general-purpose bit modified by the modification register 2. This is the final output of this input process. When the SET operation instruction of 223 has differentiation enabled, it sets the input differentiation inhibition general-purpose bit simultaneously with the final output. Although the differentiation is also described in words, 1 is defined as "none" and 2 as "enabled". When the FIFW operation instruction of 224 has differentiation enabled, following the SET operation instruction of 72, it writes the modification register 2 to the output differentiation table. When the RST operation instruction of 230 deactivates both the input-only auxiliary general-purpose bit 1 and the input-only auxiliary general-purpose bit 2, and the input differentiation inhibition general-purpose bit is active or the differentiation is "none", it resets (deactivates) the input differentiation inhibition general-purpose bit. This is the final output of this input process. When the RST operation instruction of 231 only deactivates both the input-only auxiliary general-purpose bit 1 and the input-only auxiliary general-purpose bit 2, it resets the general-purpose bit modified by the modification register. This and 71 are the final outputs of this input process. The MOV transfer instruction of 232 transfers the general-purpose device 2 to the general-purpose device 1 in preparation for repetition. This changes the values of the respective modification registers for the next No. when repeating. The loop instruction (1) NEXT of 233 pairs with the loop instruction (1) FOR and returns to the loop instruction (1) FOR until the loop count is exceeded, and then repeats the subsequent instructions. The structure instruction FEND of 234 ends the program for this output process. The count addition processing pointer of 235 is the call destination for the call instruction CALL of 214. With the arithmetic instruction + (addition) of 236, 1 is added to the general-purpose device 1 and stored in the modified register 20. With the arithmetic instruction + (addition) of 237, the modified register 20 is added to the general-purpose device with the modified register 20 and stored in the general-purpose device 1. With the return instruction RET of 238, the call is completed and the program proceeds to the next instruction after the call instruction of 214. The differentiation reset processing pointer of 239 is the call destination for the call instruction CALL of 211. The subroutine program group for the differentiation reset processing of 23A is not described for all Nos because the differentiation is "none". It only needs to use the arithmetic instruction FIFR, put the read data into the modified register, and reset the general-purpose bits modified by the modified register. With the return instruction RET of 23B, the call is completed and the program proceeds to the next instruction after the call instruction of 211. The device decomposition bit processing pointer of 23C is for the call instruction CALL of 221. The subroutine program group for the device decomposition bit processing of 23D is omitted because the device decomposition bit is not used. It only needs to use the move instruction frequently to create the input-only auxiliary general-purpose bit 2 with many classifications. With the return instruction RET of 23E, the call is completed and the program proceeds to the next instruction after the call instruction of 221. The structure instruction END of 23F ends the program file.
[0078] Figure 24 is 1 / 4 of the ladder program circuit diagram for the logical processing of one embodiment according to the present invention. Figure 25 is the ladder program circuit diagram 2 / 4 of the logical processing according to one embodiment of the present invention. Figure 26 is the ladder program circuit diagram 3 / 4 of the logical processing according to one embodiment of the present invention. Figure 27 is the ladder program circuit diagram 4 / 4 of the logical processing according to one embodiment of the present invention. That is, FIGS. 24 to 27 are a series of ladder program circuit diagrams of logical processing. This ladder program circuit diagram uses the program instructions of a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, and processes each element of one No. while changing the address with a modification register. It has a structure that repeats the number of elements with a repeat instruction, and when the repetition of the number of elements is completed, it repeats the number of processes. Note that for the logical product, all are repeated to make an output determination, but for the logical sum, if even one is established, the repetition is exited and the output is performed. Blocks 240 to 242 are preprocessing before the process, and blocks 244 to 265 are performing the process. 267 to 26N, 270 to 273, and 274 to 277 are three subroutine programs. Details will be described below for each block. In the transfer instruction GOEND of 240, if the contact for execution permission determined in the program of identification and initial processing is not activated, or if the number of logical processes determined by the user in use is 0, this logical process is not performed, and the program jumps to the END of this logical process program. In the call instruction CALL of 241, the differentiation reset process is called and executed. Here, since all differentiations are set to "none", it is not executed. In the transfer instruction MOV of 242, the starting address of the logical processing data determined in the program of identification and initial processing is transferred to the general-purpose device 1. The repeat instruction (1) FOR of 243 pairs with the repeat instruction (1) NEXT of 265, and here, the repetition is performed for the number of logical processes. In the call instruction CALL of 244, the addition process of the number is called and executed. With the arithmetic instruction + (addition) of 245, the interval up to the next numbered address of the logical processing described in the identification and initial processing program is added to the general-purpose device 1 defined in 242 and stored in the modified register 20. With the transfer instruction MOV of 246, the general-purpose device modified by the modified register 20 is transferred to the general-purpose device 2. With the arithmetic instruction + (addition) of 247, the interval up to the general-purpose bit address of the logical processing described in the identification and initial processing program is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 248, the general-purpose device modified by the modified register 20 is transferred to the modified register 1. With the arithmetic instruction + (addition) of 249, the interval up to the differentiation of the logical processing described in the identification and initial processing program is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 24A, the general-purpose device modified by the modified register 20 is transferred to the modified register 2. With the arithmetic instruction + (addition) of 24B, the interval up to the logical selection of the logical processing described in the identification and initial processing program is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 24C, the general-purpose device modified by the modified register 20 is transferred to the modified register 4. With the arithmetic instruction + (addition) of 24D, the interval up to the number of elements of the logical processing described in the identification and initial processing program is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 24E, the general-purpose device modified by the modified register 20 is transferred to the modified register 5. With the arithmetic instruction + (addition) of 24F, the interval up to the element 1 bit address of the logical processing described in the identification and initial processing program is added and stored in the general-purpose device 7 in the modified register 20. With the arithmetic instruction + (addition) of 24G, the interval up to the logic of element 1 of the logical processing described in the identification and initial processing program is added to the general-purpose device 7 and stored in the general-purpose device 8. Using the arithmetic instruction + (addition) for 24H, the interval between the element 1-bit addresses of the logical processing described in the identification and initial processing program and the logical interval are added and stored in the general-purpose device 3. Using the transfer instruction MOV for 24J, 0 is transferred to the general-purpose device 4. Using the transfer instruction MOV for 24K, 0 is transferred to the general-purpose device 5. The loop instruction (2) FOR for 250 pairs with the loop instruction (2) NEXT for 262. Here, a loop is performed for the value of the general-purpose device modified by the modification register 5. Using the arithmetic instruction * (multiplication) for 251, the general-purpose device 4 is multiplied by the general-purpose device 3 calculated with 24H and stored in the general-purpose device 6. Using the arithmetic instruction + (addition) for 252, the general-purpose device 6 calculated with 251 is added to the general-purpose device 7 calculated with 24F and stored in the modification register 20. Using the transfer instruction MOV for 253, the general-purpose device modified by the modification register 20 is transferred to the modification register 3. Using the arithmetic instruction + (addition) for 254, the general-purpose device 6 calculated with 251 is added to the general-purpose device 8 calculated with 24G and stored in the modification register 20. Using the transfer instruction MOV for 255, the general-purpose device modified by the modification register 20 is transferred to the modification register 6. For the arithmetic instruction INC for 256, the logical product is selected. In the element logic, when the element is activated, 1 is added to the general-purpose device 5. For the call instruction CALL for 257, the logical product is selected. For all element numbers, in the element logic, when the element is activated, the output processing subroutine is called. For the transfer instruction CJ for 258, the logical product is selected. In the element logic, when the element is activated, it transfers to the loop position pointer for 260. For the transfer instruction MOV for 259, the logical product is selected. In the element logic, when the element is deactivated, 0 is transferred to the general-purpose device 5. For the CALL instruction of 25A, the logical product is selected, and in terms of the element logic, when the element is deactivated, it calls a subroutine for non-output processing. For the BREAK instruction of 25B, the logical product is selected, and in terms of the element logic, when the element is deactivated, it abandons the repetition and transfers to the repetition completion position pointer. For the CALL instruction of 25C, the logical sum is selected, and in terms of the element logic, when the element is activated, it calls a subroutine for output processing. For the BREAK instruction of 25D, the logical sum is selected, and in terms of the element logic, when the element is activated, it abandons the repetition and transfers to the repetition completion pointer. For the CALL instruction of 25E, the logical sum is selected, and in terms of the element logic, when the element is deactivated, it calls a subroutine for non-output processing. The repetition position pointer of 260 is the destination of the CJ instruction of 258. With the INC instruction of 261, 1 is added to the general-purpose device 4 for preparation of repetition. Thereby, when repeating, the values of each modification register of the next element are changed. The NEXT instruction (2) of 262 pairs with the FOR instruction (2), and until exceeding the number of repetitions, it returns to the FOR instruction (2) and repeats the subsequent instructions. The repetition completion position pointer of 263 is the destination of the BREAK instruction of 25B and 25D. With the MOV instruction of 264, for preparation of repetition, the general-purpose device 2 is transferred to the general-purpose device 1. Thereby, when repeating, the values of each modification register of the next No. are changed. The NEXT instruction (1) of 265 pairs with the FOR instruction (1), and until exceeding the number of repetitions, it returns to the FOR instruction (1) and repeats the subsequent instructions. With the FEND structural instruction of 266, the program of this logical processing is terminated. The output processing pointer of 267 is the call destination for the CALL instructions of 257 and 25C. For the operation instruction SET of 268, when the differentiation is "none", it sets (activates) the logical auxiliary general-purpose bit. For the jump instruction CJ of 269, when the differentiation is "none", it transfers to the level output pointer. For the operation instruction SET of 26A, when the differentiation is "yes" and the logical differentiation prohibition general-purpose bit is not activated, it sets (activates) the general-purpose bit modified by the modification register 1. This is the final output of this logical processing. For the operation instruction SET of 26B, when the differentiation is "yes" and the logical differentiation prohibition general-purpose bit is not activated, following the operation instruction SET of 26A, it sets (activates) the logical differentiation prohibition general-purpose bit. For the operation instruction FIFW of 26C, when the differentiation is "yes" and the logical differentiation prohibition general-purpose bit is not activated, following the operation instruction SET of 26B, it writes the modification register 2 to the logical differentiation table. For the jump instruction CJ of 26D, when the differentiation is "yes", it transfers to the call completion pointer. The non-output processing pointer of 26E is the call destination for the call instructions CALL of 25A and 25E. For the operation instruction RST of 26F, when the differentiation is "none", it resets (deactivates) the logical auxiliary general-purpose bit. For the jump instruction CJ of 26G, when the differentiation is "none", it transfers to the level output pointer. For the operation instruction RST of 26H, when the differentiation is "yes", it resets (deactivates) the logical differentiation prohibition general-purpose bit. For the jump instruction CJ of 26J, following the operation instruction RST, it transfers to the call completion pointer of 26M. The level output processing pointer of 26K is the transfer destination for the jump instructions CJ of 269 and 26G. The general-purpose bit coil modified by the modification register 1 outputs at the level according to the logical auxiliary general-purpose bit. This is the final output at the level of this logical processing. The call completion pointer of 26M is the transfer destination for the jump instructions CJ of 25D and 26J. With the return instruction RET of 26N, the call is completed and the program transfers to the next call instruction corresponding to 257, 25C, 25A, and 25E. The count addition processing pointer of 270 is the call destination for the call instruction CALL of 244. With the arithmetic instruction + (addition) of 271, 1 is added to the general-purpose device 1 and stored in the modified register 20. With the arithmetic instruction + (addition) of 272, the modified register 20 is added to the general-purpose device with the modified register 20 and stored in the general-purpose device 1. With the return instruction RET of 273, the call is completed and the program transfers to the next of the call instruction of 244. 274, the differentiation reset processing pointer, is the call destination for the call instruction CALL of 241. For all No. in the subroutine program group of the differentiation reset processing of 275, since the differentiation is "none", it is not described, but only the arithmetic instruction FIFR is used, the read data is put into the modified register, and only the general-purpose bit modified by the modified register is reset. With the return instruction RET of 276, the call is completed and the program transfers to the next of the call instruction of 241. With the structure instruction END of 277, the program file ends.
[0079] Figure 28 is the ladder program circuit diagram 1 / 3 of the output processing according to an embodiment of the present invention. Figure 29 is the ladder program circuit diagram 2 / 3 of the output processing according to an embodiment of the present invention. Figure 30 is the ladder program circuit diagram 3 / 3 of the output processing according to an embodiment of the present invention. That is, FIGS. 28 to 30 are a series of ladder program circuit diagrams for output processing. This ladder program circuit diagram uses the program instructions of a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, and processes each No. while changing the address with a modification register, and has a structure that repeats the process for the number of processes with a repeat instruction. Blocks 280 and 281 are pre-processing before the process, and blocks 283 to 300 are performing the process. From 303 to 305 and from 306 to 308 are two subroutine programs. Details will be described below for each block. The transfer instruction GOEND of 280 transfers to the END of this output processing program without performing this output processing when the execution permission contact determined in the identification and initial processing program and the number of output processes determined by the using user are 0. The transfer instruction MOV of 281 transfers the start address of the output processing data determined in the identification and initial processing program to the general-purpose device 1. The repeat instruction (1) FOR of 282 pairs with the repeat instruction (1) NEXT of 301, and here, repeats for the number of output processes. The call instruction CALL of 283 calls and executes the addition process of the number. The arithmetic instruction + (addition) of 284 adds the interval up to the next number address to the general-purpose device 1 defined in 281 and stores it in the modification register 20. The transfer instruction MOV of 285 transfers the general-purpose device modified by the modification register 20 to the general-purpose device 2. The arithmetic instruction + (addition) of 286 adds the interval up to the ON bit address to the modification register 20 and stores it in the modification register 20. The transfer instruction MOV of 287 transfers the general-purpose device modified by the modification register 20 to the modification register 1. The arithmetic instruction + (addition) of 288 adds the interval up to the logic of the ON bit to the modification register 20 and stores it in the modification register 20. With the transfer instruction MOV of 289, the general-purpose device modified by the modification register 20 is transferred to the modification register 4. With the arithmetic instruction + (addition) of 28A, the interval up to the logic of the OFF bit is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 28B, the general-purpose device modified by the modification register 20 is transferred to the modification register 2. With the arithmetic instruction + (addition) of 28C, the interval up to the logic of the OFF bit is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 28D, the general-purpose device modified by the modification register 20 is transferred to the modification register 5. With the arithmetic instruction + (addition) of 28E, the interval up to the device selection is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 28F, the general-purpose device modified by the modification register 20 is transferred to the modification register 6. With the arithmetic instruction + (addition) of 28G, the interval up to the actual address is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 28H, the general-purpose device modified by the modification register 20 is transferred to the modification register 3. With the arithmetic instruction SET of 290, according to the logic of the ON bit, if the general-purpose bit modified by the modification register 1 is activated, the output bit modified by the modification register 3 selected by the device selection is set (activated). With the arithmetic instruction SET of 291, according to the logic of the ON bit, if the general-purpose bit modified by the modification register 1 is activated, the general-purpose bit modified by the modification register 3 selected by the device selection is set (activated). With the arithmetic instruction SET of 292, according to the logic of the ON bit, if the general-purpose bit modified by the modification register 1 is activated, the link bit modified by the modification register 3 selected by the device selection is set (activated). For the operation instruction SET of 293, if the general-purpose bit modified by the modification register 1 is activated according to the logic of the ON bit, the latch bit modified by the modification register 3 selected by the device selection is set (activated). For the operation instruction SET of 294, if the general-purpose bit modified by the modification register 1 is activated according to the logic of the ON bit, the system bit modified by the modification register 3 selected by the device selection is set (activated). In the call instruction CALL of 295, a subroutine is called to set (activate) each decomposed value modified by the modification register 3 for the bit-decomposed device and the bit-decomposed each unit memory. It is not used here. For the operation instruction RST of 296, if the general-purpose bit modified by the modification register 2 is activated according to the logic of the OFF bit, the output bit modified by the modification register 3 selected by the device selection is reset (deactivated). For the operation instruction RST of 297, if the general-purpose bit modified by the modification register 2 is activated according to the logic of the OFF bit, the general-purpose bit modified by the modification register 3 selected by the device selection is reset (deactivated). For the operation instruction RST of 298, if the general-purpose bit modified by the modification register 2 is activated according to the logic of the OFF bit, the link bit modified by the modification register 3 selected by the device selection is reset (deactivated). For the operation instruction RST of 299, if the general-purpose bit modified by the modification register 2 is activated according to the logic of the OFF bit, the latch bit modified by the modification register 3 selected by the device selection is reset (deactivated). For the operation instruction RST of 29A, if the general-purpose bit modified by the modification register 2 is activated according to the logic of the OFF bit, the system bit modified by the modification register 3 selected by the device selection is reset (deactivated). A subroutine is called by the CALL instruction of 29B to reset (deactivate) each decomposed value obtained by bit-decomposing the device or each unit memory with the modification register 3. This is not used here. With the MOV transfer instruction of 300, the general-purpose device 2 is transferred to the general-purpose device 1. 301 is paired with the NEXT loop instruction (1) and the FOR loop instruction (1), and repeats from the FOR loop instruction (1) until the number of repetitions is exceeded. With the FEND structure instruction of 302, the program for this output process is terminated. The count addition processing pointer of 303 is the call destination for the CALL instruction of 283. With the + (addition) arithmetic instruction of 304, 1 is added to the general-purpose device 1 and stored in the modification register 20. With the + (addition) arithmetic instruction of 305, the modification register 20 is added to the general-purpose device with the modification register 20 and stored in the general-purpose device 1. With the RET return instruction of 306, the call is completed and the program proceeds to the next instruction after the CALL instruction of 283. The device decomposition bit set processing pointer of 307 is for the CALL instruction of 295. The subroutine program group for the device decomposition bit set processing of 308 is omitted because the device decomposition bits are not used. However, by using many MOV instructions, the bits of each device can be set with many classifications. With the RET return instruction of 309, the call is completed and the program proceeds to the next instruction after the CALL instruction of 295. The device decomposition bit reset processing pointer of 30A is for the CALL instruction of 29B. The subroutine program group for the device decomposition bit reset processing of 30B is omitted because the device decomposition bits are not used. However, by using many MOV instructions, the bits of each device can be reset with many classifications. With the RET return instruction of 30C, the call is completed and the program proceeds to the next instruction after the CALL instruction of 29B. The 30D, with the structure command END, ends the program file.
[0080] Figure 31 is the 1 / 4 of the ladder program circuit diagram for counting processing according to an embodiment of the present invention. Figure 32 is the 2 / 4 of the ladder program circuit diagram for counting processing according to an embodiment of the present invention. Figure 33 is the 3 / 4 of the ladder program circuit diagram for counting processing according to an embodiment of the present invention. Figure 34 is the 4 / 4 of the ladder program circuit diagram for counting processing according to an embodiment of the present invention. That is, from Figure 31 to Figure 34 are a series of ladder program circuit diagrams for counting processing. Note that this ladder program circuit diagram uses the program instructions of a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, and processes one No. at a time while changing the address with a modification register, and has a structure that repeats the processing for the number of processes with a repeat instruction. Blocks 310 and 311 are pre-processing before the processing, and blocks 313 to 332 are performing the processing. From 334 to 337, from 338 to 33B, and from 340 to 348 are three subroutine programs. The following is a detailed description for each block. Note that this program is not a scan execution type program but a fixed cycle program. Usually, in a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, a timer is used, but since it does not fit well with the repeat instruction, a fixed cycle program of 100 mmsec (0.1 second) is used to measure time. However, although there are timers with a measurement of 1 mmsec (0.001 second), here, the fixed cycle of 0.001 second, which is hardly used, has little meaning and is not created deliberately. The following is a detailed description for each block. The transfer instruction GOEND of 310, when the contact for execution permission determined in the identification and initial processing program and the number of counting processes determined by the user are 0, does not perform this counting process and transfers to the END of this counting process program. With the transfer instruction MOV of 311, the starting address of the timing process data determined by the identification and initialization process program is transferred to the general-purpose device 1. The loop instruction (1) FOR of 312 pairs with the loop instruction (1) NEXT of 332, and here, it performs loops for the number of timing processes. With the call instruction CALL of 313, it calls and executes the addition process of the quantity. With the arithmetic instruction + (addition) of 314, the interval up to the next number address is added to the general-purpose device 1 defined in 311 and stored in the modified register 20. With the transfer instruction MOV of 315, the general-purpose device modified by the modified register 20 is transferred to the general-purpose device 2. With the arithmetic instruction + (addition) of 316, the interval up to the control selection is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 317, the general-purpose device modified by the modified register 20 is transferred to the modified register 9. With the arithmetic instruction + (addition) of 318, the interval up to the start bit address is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 319, the general-purpose device modified by the modified register 20 is transferred to the modified register 1. With the arithmetic instruction + (addition) of 31A, the interval up to the logic of the start bit is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 31B, the general-purpose device modified by the modified register 20 is transferred to the modified register 10. With the arithmetic instruction + (addition) of 31C, the interval up to the count stop bit address is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 31D, the general-purpose device modified by the modified register 20 is transferred to the modified register 2. With the arithmetic instruction + (addition) of 31E, the interval up to the logic of the count stop bit is added to the modified register 20 and stored in the modified register 20. In 31F, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 11. In 31G, with the arithmetic instruction + (addition), the interval from the modification register 20 to the start address of the blink ON time is added and stored in the modification register 20. In 31H, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 3. In 31J, with the arithmetic instruction + (addition), the interval from the modification register 20 to the address of the blink interval time is added and stored in the modification register 20. In 31K, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 4. In 320, with the arithmetic instruction + (addition), the interval from the modification register 20 to the address of the delay time is added and stored in the modification register 20. In 321, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 5. In 322, with the arithmetic instruction + (addition), the interval from the modification register 20 to the address of the elapsed time is added and stored in the modification register 20. In 323, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 6. In 324, with the arithmetic instruction + (addition), the interval from the modification register 20 to the general-purpose bit address is added and stored in the modification register 20. In 325, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 7. In 326, with the arithmetic instruction + (addition), the interval from the modification register 20 to the differentiation is added and stored in the modification register 20. In 327, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 12. In 328, with the arithmetic instruction + (addition), the interval from the modification register 20 to the address of the differentiation prohibition bit is added and stored in the modification register 20. In 329, with the transfer instruction MOV, the general-purpose device modified by the modification register 20 is transferred to the modification register 8. For the arithmetic instruction RST of 32A, according to the logic of the start bit, if the general-purpose bit modified by modification register 1 is deactivated and the differentiation prohibition bit is activated, it resets (deactivates) the general-purpose bit modified by modification register 8. For the arithmetic instruction RST of 32B, according to the logic of the start bit, if the general-purpose bit modified by modification register 1 is deactivated and the general-purpose bit is activated, it resets (deactivates) the general-purpose bit modified by modification register 7. For the transfer instruction MOV of 32C, according to the logic of the start bit, if the general-purpose bit modified by modification register 1 is deactivated and the elapsed time is not 0, it transfers 0 to the general-purpose device modified by modification register 7. For the jump instruction CJ of 32D, according to the logic of the start bit, when the general-purpose bit modified by modification register 1 is deactivated, it transfers to the repeat completion pointer. For the arithmetic instruction INC of 32E, according to the logic of the start bit, if the general-purpose bit modified by modification register 1 is activated and according to the logic of the stop bit, if the general-purpose bit modified by modification register 11 is deactivated, it adds 1 to the general-purpose device modified by modification register 6. For the call instruction CALL of 32F, according to the logic of the start bit, if the general-purpose bit modified by modification register 1 is activated and according to the logic of the stop bit, if the general-purpose bit modified by modification register 11 is deactivated, and if the blink process is selected, it calls the subroutine of the blink process. For the call instruction CALL of 32G, according to the logic of the start bit, if the general-purpose bit modified by modification register 1 is activated and according to the logic of the stop bit, if the general-purpose bit modified by modification register 11 is deactivated, and if the ON delay process is selected, it calls the subroutine of the ON delay process. The repeat completion position pointer of 330 is the destination of the jump instruction CJ of 32D. For the transfer instruction MOV of 331, for the preparation of repetition, it transfers the general-purpose device 2 to the general-purpose device 1. As a result, when repeating, it changes the values of each modification register of the next No. The repeat instruction (1) NEXT at 332 is paired with the repeat instruction (1) FOR, and returns to the repeat instruction (1) FOR and repeats the following instructions until the number of repetitions is exceeded. The structural instruction FEND at 333 ends this logical processing program. The number addition processing pointer at 334 is the call destination for the call instruction CALL at 313. The arithmetic instruction + (addition) at 335 adds 1 to the general-purpose device 1 and stores it in the modifier register 20. The arithmetic instruction + (addition) at 336 adds modifier register 20 to the general-purpose device with modifier register 20 and stores it in the general-purpose device 1. The call is completed by the call back command RET at 337, and the process moves to the next call command at 313. The blink processing pointer at 338 is the call destination for the call command CALL at 32F. The general-purpose bit coil modified by the modification register 7 at 339 is activated if the elapsed time is smaller than the blink interval time and smaller than the blink ON time. This is the final output by the blink selection. The transfer command MOV at 33A transfers 0 to the general-purpose device modified by the modification register 6 if the elapsed time exceeds the blink interval time. The call is completed by the call back command RET at 33B, and the process moves to the next call command at 32F. The ON delay processing pointer in 340 is the call destination for the call command CALL in 32G. The general-purpose bit coil modified by the modification register 7 in 341 is activated if the elapsed time exceeds the delay time and differentiation is not performed. This is the final output due to the blink selection. The calculation command SET in 342 sets (activates) the general-purpose bit modified by the modification register 7 if the elapsed time exceeds the delay time, differentiation is "enabled", and the logical differentiation prohibition general-purpose bit is not activated. This is the final output due to the blink selection. For the arithmetic instruction FIFW of 343, when the elapsed time exceeds the delay time, differentiation is "enabled", and the general-purpose bit for logical differentiation prohibition is not activated, following the arithmetic instruction SET of 342, it writes the modified register 7 to the timing differentiation table. For the arithmetic instruction FIFW of 344, when the elapsed time exceeds the delay time, differentiation is "enabled", and the general-purpose bit for logical differentiation prohibition is not activated, following the arithmetic instruction FIFW of 343, it further writes the constant 2 to the timing differentiation table. For the arithmetic instruction SET of 345, when the elapsed time exceeds the delay time, differentiation is "enabled", and the general-purpose bit for logical differentiation prohibition is not activated, following the arithmetic instruction FIFW of 33C, it sets (activates) the general-purpose bit modified by the modified register 12. For the transfer instruction MOV of 346, when the elapsed time reaches the upper limit value, it transfers the general-purpose device modified by the modified register 5 to the general-purpose device modified by the modified register 6. With the return instruction RET of 347, the call is completed and it proceeds to the next of the call instruction of 32G. With the structure instruction END of 348, it ends the program file.
[0081] Note that in order to be equivalent to the ladder program of Fig. 5, it is realized by using only the input processing ladder program, logical processing ladder program, output processing ladder program, and timing processing ladder program of the program of the present invention and setting the corresponding data. Here, the input device data processing ladder program and device data arithmetic processing ladder program necessary to support all algorithms, as well as the corresponding data for each, can also be created in a structure similar to the input processing ladder program from Fig. 21 to Fig. 23, the logical processing ladder program from Fig. 24 to Fig. 27, the output processing ladder program from Fig. 28 to Fig. 30, and the timing processing ladder program from Fig. 31 to Fig. 34. Both programs perform processing for each No and have a structure that repeats the processing for the number of processes with a loop instruction. The input device data processing program compares the data and performs processing to activate bits based on the result. Also, the device data arithmetic processing program, if a bit is activated, executes the instruction set selected by the PLC manufacturer and performs processing by changing the device data and bits. Note that bits and device data are handled using a modified register with address data set.
[0082] (Concept) Here, while comparing with a general program, a further explanation will be given about the common structure and definition of each process. A general program starts in the form of machine language of the CPU and substantially starts from an assembly language that corresponds one-to-one to the machine language that can be directly interpreted by the computer, and has been transformed into a language that gradually shifts to a higher-level language in order to respond to the convenience of programmers and users. The current program of a programmable logic controller (PLC) is a high-level language that has a powerful relay sequence circuit with a monitoring function and a language form that combines an assembly language. That is, the realization of program structuring, the frequent use of interrupt programs, and the management with multiple programs are for the convenience of programmers and users, and from the perspective of the CPU side, it can be said that everything is one program. The program of the present invention is also formed from nine core processing programs and three derivative programs, but it can also be created as one program and, conversely, can even be subdivided. Also, in the case of a programmable logic controller (PLC), it often responds to the demands of programmers rather than users, directing assets such as CPU speed increase and memory price reduction towards structuring for programmers, and always focusing on unification and aggregation only for programmers, further increasing the freedom of programmers. The present invention is not for programmers, but aims to unify and aggregate the program itself. By replacing the definitions and allocations of programmable logic controllers (PLCs), or the specifications from flowcharts, with multiple data, unification and aggregation are achieved. The definitions and allocations of programmable logic controllers (PLCs) refer to the physical arrangement order of I / O determined by each company for programmable logic controllers (PLCs), the regulations for counting methods, the symbol names of device bits, etc. Also, the specifications from flowcharts refer to whether the activation bit described above is positive logic or negative logic. Moreover, since multiple data can use modified registers to identify bits, unification and aggregation are achieved by replacing them with bit address data, or by replacing the selection of symbol names of device data and device bits, the selection of positive / negative logic, and the selection of operations, etc. with numerical values because case differentiation can be performed by numerical values. The above replacement with numerical values is performed for each processing order. The processing for each processing order means that when the input part is activated, it is activated or an operation is performed to output. The input part has three forms: bits, device bits defined and allocated, and judgment by comparison of device data, all of which can be modified by modified registers. The form of the output part is bits that can be modified by modified registers and operations for case differentiation replaced with numerical values. Although operations often require many case differentiations, since they are mostly operations that are rarely used, a more ideal program can be obtained by selecting and discarding the current operation instructions.
[0083] Figure 35 is a ladder program circuit diagram with specification changes for driving two motors according to a general embodiment of the present invention. Figure 35 is a ladder program circuit diagram obtained by modifying the ladder program circuit diagram of Figure 5. The modification specification is that when starting Motor 1 and then starting Motor 2, or when starting Motor 2 and then starting Motor 1, once either motor starts, the other motor cannot be started until the blinking ends. Since the operator needs to be present until the blinking ends, this is a modification due to poor efficiency. Also, as an additional modification point, the star-delta switching time for both motors is increased by another 10 seconds. In the ladder program circuit diagram of Figure 35, it consists only of contact A, contact B, and a coil. The signal from the input unit is used as the input bit, the coil output by the output unit is used as the output bit, the general-purpose bit built into the programmable logic controller (PLC), and a timer is used, with the built-in 1-second clock used as the 1-second clock system bit. Except for using the general-purpose bit, each component (such as PB and MC) is the same as in Figure 5. Note that since 2 seconds does not exist as a system bit, the general-purpose bit is used as a 2-second clock and in a self-holding procedure.
[0084] The following provides a detailed description for each block. The set 1-second TM1 timer coil at 350 starts measurement when the TM2 timer is not activated, and is activated when the set time of 1 second is reached. The set 1-second TM2 timer coil at 351 starts measurement when the TM1 timer is activated, and is activated when the set time of 1 second is reached. The M1 general-purpose bit coil at 352 is activated when the TM1 timer is not activated. That is, it creates a 2-second clock. The M2 general-purpose bit coil at 353 is self-held when the start switch is pressed when Motor 1 is neither in star start nor in delta start, and remains self-held and activated unless the stop switch is pressed, a thermal trip signal is input, or an emergency stop is pressed. The general-purpose bit coil of M3 at 354 is self-held, continues, and is activated when the general-purpose bit of M2 is activated and the motor 2 is not in star start-up. The timer coil of TM3 with a set time of 110 seconds at 355 is self-held when the general-purpose bit of M2 is activated and the motor 2 is not in star start-up, starts measurement, and is activated when the set time of 110 seconds is reached. The general-purpose bit coil of M4 at 356 is self-held when the start switch is pressed when the motor 2 is neither in star start-up nor in delta start-up, and continues to be self-held and is activated if the stop switch is not pressed, the thermal trip signal is not input, or the emergency stop is not pressed. The general-purpose bit coil of M5 at 357 is self-held, continues, and is activated when the general-purpose bit of M4 is activated and the motor 1 is not in star start-up. The timer coil of TM4 with a set time of 160 seconds at 358 is self-held when the general-purpose bit of M5 is activated and the motor 1 is not in star start-up, starts measurement, and is activated when the set time of 160 seconds is reached. The output bit coil of MC1 at 359 is activated when the general-purpose bit of M3 is activated and the general-purpose timer of TM3 is inactive. The output bit coil of MC2 at 35A is activated when the timer of TM3 is activated. The output bit coil of PL1 at 35B repeats activation and inactivation every 2 seconds when the general-purpose bit of M2 is activated and the output bits of MC1 and MC2 are inactivated, repeats activation and inactivation every 1 second when the output bit of MC1 is activated, or is activated when the output bit of MC2 is activated. The output bit coil of MC3 at 35C is activated when the general-purpose bit of M5 is activated and the general-purpose timer of TM4 is inactive. The output bit coil of MC4 at 35D is activated when the timer of TM4 is activated. When the PL2 output bit coil and the M4 general-purpose bit of 35E are activated and the MC3 output bit and the MC4 output bit are deactivated, activation and deactivation are repeated every 2 seconds. When the MC3 output bit is activated, activation and deactivation are repeated every 1 second. Or when the TM4 timer is activated, it is activated. Note that 35E should have a structure that is only slightly different from 35B in that the motor has changed from 1 to 2. Here, for the sake of the same movement, instead of the output of the MC, a timer that activates the MC is used. That is, the creator's choice is also an example that affects the structure.
[0085] Figure 36 is the image data diagram 1 / 2 displayed on the interface of each process with specification changes for driving two motors according to an embodiment of the present invention. Figure 37 is the image data diagram 2 / 2 displayed on the interface of each process with specification changes for driving two motors according to an embodiment of the present invention. That is, Figures 36 and 37 are image data diagrams displayed on the interface for driving two motors with procedures added. However, it is not the image data displayed on the interface of Figure 14 equivalent to the program of Figure 5. In order to help understand the sequential step-by-step process for the part where procedures are added, although it is of course possible to create it equivalently, it is deliberately made into image data displayed on an interface realized by the sequential step-by-step process. Since it is not created equivalently to Figure 6, while specifying the procedure for creating new data for realizing the specifications including the specifications added in Figure 35, and comparing it with the new design of the program of a normal programmable logic controller (PLC), a detailed description will be given. In the design of a program for a new programmable logic controller (PLC), since program design is carried out after the hard circuit (electrical connection circuit diagram) is determined, first, comments for each input / output address bit are created. In the present invention as well, it starts with creating a part of the input processing and output processing. The reason for stating a part of the output processing is that when newly creating data, the ON bit address and OFF bit address of the output processing cannot be known until the design is completed, so it is described as the input part. The input processing data of 360 in FIG. 36 is exactly the same data as the input processing data of 140 in FIG. 14. Note that for No1 and No2 of the input processing data, it is assumed that a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation is used, so for the system bits (SM in device selection), and for No3 to No9, they are input bits (X in device selection). The general-purpose bits of 360 can be determined at this point. As also described in the detailed explanation of FIG. 14, in a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, the general-purpose device bits are set as M, and here they are set from 0 to 8. These numbers have no meaning, and any value can be used as long as there is no duplication. Also, the order of No is in the creation order, and this also has no great meaning. Therefore, the determination of these numbers can be carried out by the data creation system (engineering tool, touch panel (TP), personal computer (PC)), so it can be determined manually, but basically the data creation system should automatically determine the available addresses. Similarly, the output processing data of 371 in FIG. 37 is exactly the same data as the device selection and actual address of the output part of the output processing data of 142 in FIG. 14. At this stage, all the settings of the input processing data of 360 are completed, and the data of the output part of the output processing data of 371 is completed, and none of the other data is set at all. In the case of a device other than a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, it may not be possible to determine whether it is an input bit, an output bit, or a system bit depending on the device selection. Furthermore, there are even cases where all are treated as 16-bit data (for use after being decomposed into bits). In this case, it is necessary to pay attention to the fact that it is necessary to add the function to the "name" associated with No to indicate the role of the bit. Next, we enter the design of the core specifications. Generally, after analyzing the specifications and completing the analysis, comments for general-purpose device bits are created, and based on these comments, while further prototyping the specifications, the program is constructed. Here, the analysis of the specifications is the same, but next, the setting of 362 sequential step operation data is performed. Since the basic operation is to drive two motors when analyzing the specifications, the number of sequential step operations is set to 2, and the names associated with No are set to "Motor 1 Operation" and "Motor 2 Operation". Next, the setting of the sequential step processing data for Motor 1 Operation of 363 is performed. According to the specifications, it consists of three processes: start acceptance by pressing the start switch, initial start in star connection, and switching to delta connection. Also, since each process only transfers to the next No, the total number of branches associated with No is 1, and the names are set to "Motor 1 Start Acceptance", "Motor 1 Initial Start", and "Motor 1 Switching". Next, the general-purpose bit address for Branch 1 and the reset bit address for Branch 1 are set. Here, the general-purpose bit address for Branch 1 is set to 9, 10, and 11, which are the subsequent numbers of the input process, and the reset bit address for Branch 1, except for No1, is set according to the previous No. This number has no meaning and can be any value as long as there is no duplication, but the reset bit address for Branch 1 must be the address before the transfer. At this stage, the setting of the input process data of 360 is completed, the setting of the sequential step operation data of 362 is completed, the data for the output part of the output process data of 371 is completed, and the data for the output part of the sequential step processing data for Motor 1 Operation of 363 is completed. Next, construct trigger bits such as the absolute condition bit, start bit, start condition bit, branch condition bit, and branch permission bit for each No. of the sequential step processing data of the motor 1 operation of 363. Since there is no branching, the branch condition bit and branch permission bit for each No. are set to 1 to always turn them on without doing anything. Next, when analyzing the absolute condition bits of this process, since there are three elements: the stop switch is not pressed, the thermal is not tripped, and the emergency stop switch is not pressed, 361 logical processing data will be used. At this stage, since the general-purpose bit address of the 361 logical processing data can be determined, the next number in the sequential step-by-step processing of the motor 1 operation in 362 is set to 12. This number has no meaning and can be any value as long as there is no duplication. Next, when analyzing the start bits for each No, the start bit of No1 is the start switch from the input process, so it is set to 2. The start bit of No2 is set such that the motor 2 is not starting in star connection and cannot be determined at present. The start bit of No3 is specified to start 110 seconds after the star connection start of motor 1 in the specification, so 372 timing processing data will be used. At this stage, since the general-purpose bit address of the 372 timing processing data can be determined, the next number in the logical processing is set to 13. This number has no meaning and can be any value as long as there is no duplication. Also, the start bit of the 372 timing processing data is set to 10 for the initial start of motor 1 in the sequential step-by-step processing of the motor 1 operation in 363. Since the measurement is not stopped, the count stop bit is set to be always ON in negative logic. Note that the control selection for No1 is ON delay. Here, also, return to the continuation of the construction of the trigger bit in the sequential step-by-step processing data of the motor 1 operation in 363 and analyze the start condition bits for each No. Then, the start condition bit of No1 has two elements because motor 1 is not starting in star connection and not starting in delta connection either, so 361 logical processing data will be used. At this stage, since the general-purpose bit address of the 361 logical processing data can be determined, the next number in the timing processing is set to 14. This number has no meaning and can be any value as long as there is no duplication. Note that with the above settings, among the input parts on hold in the 371 output processing data, 10 and 11 in the sequential step-by-step processing data of the motor 1 operation in 363 can be set for the ON bit address and OFF bit address of No1 and No2. To summarize up to this stage, the input processing data of 360 is completed, the sequential step operation data of 362 is completed, the No. 1 and No. 2 data of the logical processing data of 361 is completed, the data of the output part of the output processing data of 371 and the No. 1 and No. 2 data of the input part are completed, and the data other than No. 2 which is the starting condition that the star connection of the motor 2 in the sequential step processing data of 373 has not been started is completed. Next, in order to complete the control specification of motor 1, lamp control must be constructed. Since there is one lamp, its lighting and blinking time represent the difference. When it blinks in 2 seconds, it accepts the switch. When it blinks in 1 second, the motor is driven in star connection. When it is lit, it represents the specification that the motor is driven in delta connection. Therefore, it is decided to construct and handle the logical processing data of 361. Also, although there is a system bit of 2-second clock, it is decided to perform the blinking control in the timing process. Since there are three ways of lighting the lamp, it is decided to set it from No. 3 to No. 5 in the logical processing data of 361. No. 3 is the startup display of MC1, and the general-purpose bit address is set to the following 15. The number of elements is 2, and 10 and 0 of the initial startup of motor 1 and 1-second clock are set. No. 4 is the startup acceptance display of motor 1, and the general-purpose bit address is set to the following 16. The number of elements is 2, and 9 of the startup acceptance of motor 1 and the newly created 2-second clock are set to the new 18. The newly created 2-second clock is set to No. 2 in the timing processing data of 372. The startup bit is set to always ON with positive logic, and the counting stop bit is set to always ON with negative logic to perform blinking control, and the blinking ON time and blinking interval time are set. At this stage, the input processing data of 360 is completed, the logical processing data of 361 is completed from No. 1 to No. 5, the sequential step operation data of 362 is completed, the sequential step processing data of the motor 1 operation of 363 is completed except for the startup bit address of No. 2, the output processing data of 371 is completed except for the setting of the input part from No. 4 to No. 6, and the timing processing data of 372 is completed for No. 1 and No. 2. Finally, the setting of motor 2 is performed with the same specification as motor 1. That is, the sequential step processing data for the operation of the motor 2 is set for 370. According to the specifications, it consists of three processes: startup reception by pressing the startup switch, initial startup with star connection, and switching to delta connection for startup. Also, since each process only transfers to the next No, the total number of branches associated with each No is 1, and they are set as "Motor 2 Startup Reception", "Motor 2 Initial Startup", and "Motor 2 Switching" in the name. Next, the general-purpose bit address of branch 1 and the reset bit address of branch 1 associated with the No are set. Here, the general-purpose bit address of branch 1 is set as 19, 20, and 21, which are the subsequent numbers of the timing process, and the reset bit address of branch 1, except for No1, is set according to the previous No. This number has no meaning and can be any value as long as there is no duplication, but the reset bit address of branch 1 must be the address before the transfer. Here, the startup condition of No2 in the sequential step processing data for the operation of the motor 1 is set to 20 for 363. At this stage, the setting of the input processing data for 360 is completed, the setting of the sequential step operation data for 362 is also completed, the sequential step processing data for the operation of the motor 1 for 363 is completed, the output processing data from No1 to No3 for 371 is completed, the data of the output part from No4 to No6 is completed, and the No1 and No2 of the timing processing data for 372 are in a completed state. Next, for each No in the sequential step processing data for the operation of the motor 2 for 370, the construction of trigger bits such as the absolute condition bit, startup bit, startup condition bit, branch condition bit, and branch permission bit is performed. Since there is no branching, the branch condition bit and branch permission bit for each No are set to always ON without doing anything, so all are set to 1. Next, when analyzing the absolute condition bits of this process, since it consists of three elements: the stop switch not being pressed, the thermal not being tripped, and the emergency stop switch not being pressed, 361 logical processing data will be used. At this stage, since the general-purpose bit address of the 361 logical processing data can be determined, the next number in the sequential step-by-step processing of the motor 2 operation in 370 is set to 22. This number has no meaning and can be any value as long as there is no duplication. Next, when analyzing the start bits for each No, the start bit for No1 is the start switch from the input process, so it is set to 6. The start bit for No2 is set to 10 because the motor 1 is not starting in star connection. The start bit for No3, according to the specification, should start 160 seconds after the star connection start of the motor 2, so 372 timing processing data will be used. At this stage, since the general-purpose bit address of the 372 timing processing data can be determined, the next number in the logical processing is set to 23. This number has no meaning and can be any value as long as there is no duplication. Also, the start bit of the 372 timing processing data is set to 20 for the initial start of motor 2 in the sequential step-by-step processing of the motor 2 operation in 370. Since the measurement is not stopped, the count stop bit is set to negative logic with always ON. Note that the control selection for No3 is an ON delay. Here, also, return to the continuation of the construction of the trigger bit in the sequential step-by-step processing data of the motor 2 operation in 370 and analyze the start condition bits for each No. Then, the start condition bit for No1 consists of two elements: the motor 2 is not starting in star connection and not starting in delta connection either, so 361 logical processing data will be used. At this stage, since the general-purpose bit address of the 361 logical processing data can be determined, the next number in the timing processing is set to 24. This number has no meaning and can be any value as long as there is no duplication. Note that with the above settings, 20 and 21 in the sequential step-by-step processing data of the motor 2 operation in 370 can be set to the ON bit address and OFF bit address of the input part that is on hold in the 371 output processing data for No4 and No5. To summarize up to this stage, the input processing data of 360 is completed, the logical processing data from No. 1 to No. 7 of 361 is completed, the sequential step-by-step operation data of 362 is completed, the sequential step-by-step processing data of the motor 1 operation of 363 is completed, for the sequential step-by-step processing data of the motor 2 operation of 370, the data other than No. 2 where the starting condition is that the star connection of motor 2 is not started is completed, for the output processing data of 371, the data of the output part and the data from No. 1 to No. 5 of the input part are completed, and the timing processing data of 372 is in a completed state. Next, in order to complete the control specification of motor 2, a lamp control must be constructed. Since there is one lamp, its lighting and blinking time represent the differences. When it blinks in 2 seconds, it accepts the switch. When it blinks in 1 second, the motor is driven in star connection. When it is lit, it represents that the motor is driven in delta connection. Therefore, it is decided to construct and handle the logical processing data of 361. Since there are three ways to light the lamp, it is decided to set them in No. 8 to No. 10 of the logical processing data of 361. No. 8 is the startup display of MC3, and the general-purpose bit address is set to the following 25. Note that the number of elements is 2, and 20 and 0 of the motor 2 initial startup and 1-second clock are set. No. 9 is the motor 2 startup acceptance display, and the general-purpose bit address is set to the following 26. Note that the number of elements is 2, and 19 and 18 of the motor 2 startup acceptance and 2-second clock are set. Thus, the setting of all processing data is completed. Note that the above setting of the processing data is done with the address value. Since the numerical values are difficult for people to intuitively understand, when creating, the names can be replaced with symbols.
[0086] Figure 38 is the detailed data diagram 1 / 2 of the logical processing with specification changes for driving two motors according to an embodiment of the present invention. Figure 39 is the detailed data diagram 2 / 2 of the logical processing with specification changes for driving two motors according to an embodiment of the present invention. In Figure 38, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Excluding the parts sandwiched by the horizontal double lines and the omitted parts, it is composed of five groups. In Figure 39, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Excluding the parts sandwiched by the horizontal double lines and the omitted parts, it is composed of four groups. On the right side of the vertical double line in the topmost group of Figure 38, it consists of two items, the number of input processes and its numerical value. On the right side of the vertical double line in the remaining four groups of Figure 38, it spans across Figure 39 and consists of 15 items, namely No, blank, name, blank, blank, general-purpose bit address (10 / Hex), differentiation, logical selection, number of elements, element 1 bit address (10 / Hex), logic, element 2 bit address (10 / Hex), logic, element 3 bit address (10 / Hex), logic. In Figure 38, because it is omitted and to make the address structure easier to understand, below the five groups, a table of No, starting address, number of words, and change order with four items in one row, the starting address by No and the change order, is attached. To explain in detail, for the logical processing data of No1, the starting address starts from 2759, the number of words is 22, and the change order is the 3rd. The reason why the starting address is 2759 is that in Figure 40, the next address after the last address 2758 with the change order of the 2nd is 2759, and it is the 3rd change. The number of words varies depending on the name. Since the motor 1 absolute condition requires 8 words, it is 22 words. The next created motor 1 start condition of No2 has a starting address starting from 2195, the number of words is 24, and the change order is the 7th. The reason why the starting address is 2195 is that since the number of words in the previously created row does not increase, a new area was not needed. The 20 words from 2175 that were previously used are set as unused areas. The omitted No3 to No9 are created in the same way. Figure 39 that straddles Figure 38 is the same as the logical processing data of 361 in Figure 36. However, in Figure 39 that straddles Figure 38, from No3 to No9 are omitted, and only three blanks are added to the items for description. The absence of TP / PC display is because it is automatically assigned by the program. Regarding the memory type, external, quantity, processing, and transition are displayed. External refers to the memory outside the PLC described in Figure 4, processing refers to the processing data (memory) of the device general-purpose memory described in Figure 4, quantity refers to the quantity data (memory) of the device general-purpose memory described in Figure 4, and transition refers to the transition data (memory) of the device general-purpose memory described in Figure 4.
[0087] Figure 40 is a detailed data diagram of the sequential step-by-step operation with specification changes for driving two motors according to an embodiment of the present invention. On the left side of the vertical double line, from top to bottom, TP / PC display, value, address, and memory type are grouped together, sandwiched by horizontal double lines, and composed of four groups. On the right side of the vertical double line in the topmost group, there are two items, namely the number of sequential step-by-step operations and its value. On the right side of the vertical double line in the remaining three groups, there are ten items, namely No, blank, name, blank, blank, number of processes, blank. To make the address structure easier to understand, below the four groups, a table of the starting address by No and the change order with four items of No, starting address, number of words, and change order in one line is attached. To explain in detail, the sequential step-by-step operation data of No1 starts from the starting address of 2735, has 11 words, and the creation order is the first. The reason why the starting address is 2735 is that in Figure 18, the last row created last is No6 of the output processing data, and the next address after the last address 2734 is 2735 because it is created first. The number of words varies depending on the name. Since the motor 1 operation requires 6 words, it is 11 words. The sequential step-by-step operation data of No2 created next starts from the starting address of 2747, has 11 words, and the change order is the second. This Figure 40 is the same as the sequential stepping operation data of 362 in Figure 36. In Figure 15, only four blanks are added to the items for description. The reason for the absence of TP / PC display is that it is automatically assigned by the program. Regarding the memory type, external, processing, quantity, and transition are displayed. Here, "external" refers to the memory outside the PLC described in Figure 4, "processing" refers to the processing data (memory) in the device general-purpose memory described in Figure 4, "quantity" refers to the quantity data (memory) in the device general-purpose memory described in Figure 4, and "transition" refers to the transition data (memory) in the device general-purpose memory described in Figure 4.
[0088] Figure 41 is the detailed data diagram 1 / 2 of the motor 1 operation of the sequential stepping process with specification changes for driving two motors according to an embodiment of the present invention. Figure 42 is the detailed data diagram 2 / 2 of the motor 1 operation of the sequential stepping process with specification changes for driving two motors according to an embodiment of the present invention. In Figure 41, on the left side of the vertical double line, from top to bottom, TP / PC display, value, address, and memory type are grouped together. Excluding the parts sandwiched by the horizontal double line and omitted, it is composed of five groups. In Figure 42, on the left side of the vertical double line, from top to bottom, TP / PC display, value, address, and memory type are grouped together. Excluding the parts sandwiched by the horizontal double line and omitted, it is composed of four groups. On the right side of the vertical double line in the topmost group of Figure 41, it consists of two items, namely the sequential stepping process number and its numerical value. On the right side of the vertical double line in the remaining four groups of Figure 41, it spans across Figure 42 and consists of 18 items, namely No, blank, name, blank, blank, absolute condition bit address (10 / Hex), logic, start bit address (10 / Hex), logic, start condition bit address (10 / Hex), logic, branch number, branch 1 condition bit address (10 / Hex), logic, branch 1 permission bit address (10 / Hex), logic, branch 1 general-purpose bit address (10 / Hex), branch 1 reset bit address (10 / Hex). To make the address structure in Figure 41 easier to understand, below the five groupings, there is an attached table of the starting address, number of words, and change order for each No. with four items per line. To explain in detail, the sequential stepping process data for No. 1 starts with a starting address of 2781, has 25 words, and is the 5th in the change order. The reason the starting address is 2781 is that in Figures 38 and 39, the address after the last address 2780 with a change order of 3 is 2781, and for the 4th change order, in Figure 41 for No. 1, since it was a change with the same address, it became the 5th. The number of words varies depending on the name. Since 8 words are required for Motor 1 startup acceptance, it is 25 words. Next, the Motor 1 initial startup for No. 2 created starts with a starting address of 2806, has 25 words, and is the 6th in the change order. The reason the starting address is 2806 is because it is a continuation from No. 1. Next, the Motor 1 switching for No. 3 created starts with a starting address of 2831, has 23 words, and is the 8th in the change order. The reason the starting address is 2831 is that in Figures 38 and 39, for No. 2, since the 7th change order was a change with the same address, it became the 8th. Figure 42 that spans this Figure 41 is the same as the sequential stepping process data of 363 in Figure 36. Note that in Figure 42 that spans Figure 41, only three blanks are added to the items for description. The absence of TP / PC display is because it is automatically assigned by the program. Note that the memory type shows external, quantity, process, and transfer. External refers to the memory outside the PLC described in Figure 4, process refers to the process data (memory) of the device general-purpose memory described in Figure 4, quantity refers to the quantity data (memory) of the device general-purpose memory described in Figure 4, and transfer refers to the transfer data (memory) of the device general-purpose memory described in Figure 4.
[0089] Figure 43 is the detailed data diagram 1 / 2 of the sequential stepping process with specification changes for operating two motors according to an embodiment of the present invention for Motor 2 operation. Figure 44 is the detailed data diagram 2 / 2 of the sequential step processing with specification changes for driving two motors according to an embodiment of the present invention. In Figure 43, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Except for the parts sandwiched by the horizontal double line and omitted, it is composed of five groups. In Figure 44, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Except for the parts sandwiched by the horizontal double line and omitted, it is composed of four groups. On the right side of the vertical double line in the topmost group of Figure 43, it consists of two items, the sequential step processing number and its numerical value. On the right side of the vertical double line in the remaining four groups of Figure 43, it spans across Figure 44 and consists of 18 items, namely No, blank, name, blank, blank, absolute condition bit address (10 / Hex), logic, start bit address (10 / Hex), logic, start condition bit address (10 / Hex), logic, branch number, branch 1 condition bit address (10 / Hex), logic, branch 1 permission bit address (10 / Hex), logic, branch 1 general-purpose bit address (10 / Hex), branch 1 reset bit address (10 / Hex). To make the address structure in Fig. 43 easier to understand, a table of starting addresses and change orders by No. is attached below the five groupings, with four items, namely No., starting address, number of words, and change order, in each row. To explain in detail, the sequential step processing data for No. 1 starts at the starting address of 2876, has 25 words, and is the 11th in the change order. The reason the starting address is 2876 is that in Figs. 38 and 39, the address after the last address of 2875 with the 9th change order is 2876, and for the 10th change order, in No. 2 in Fig. 46, since it is a change with the same address, it is the 11th. The number of words varies depending on the name. Since 8 words are required for the motor 2 start acceptance, it is 25 words. Next, the motor 2 initial start for No. 2 created starts at the starting address of 2901, has 25 words, and is the 12th in the change order. The reason the starting address is 2901 is because it is a continuation from No. 1. Next, the motor 2 switching for No. 3 created starts at the starting address of 2926, has 23 words, and is the 14th in the change order. The reason the starting address is 2926 is that in Figs. 38 and 39, for No. 7, since the 13th change order is a change with the same address, it is the 14th. Fig. 44 that spans this Fig. 43 is the same as the sequential step processing data of 370 in Fig. 37. Note that in Fig. 44 that spans Fig. 43, only three blanks are added to the items for description. The absence of TP / PC display is because it is automatically assigned by the program. Note that for the memory type, external, quantity, processing, and transfer are displayed. External refers to the memory outside the PLC described in Fig. 4, processing refers to the processing data (memory) of the device general-purpose memory described in Fig. 4, quantity refers to the quantity data (memory) of the device general-purpose memory described in Fig. 4, and transfer refers to the transfer data (memory) of the device general-purpose memory described in Fig. 4.
[0090] Fig. 45 is a detailed data diagram of the output processing with specification changes for driving two motors according to an embodiment of the present invention. On the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. They are sandwiched by horizontal double lines and, except for the omitted parts, are composed of five groups. On the right side of the vertical double line in the topmost group, there are two items, namely the number of output processes and its numerical value. On the right side of the vertical double line in the remaining four groups, there are eleven items, namely No, blank, name, blank, blank, ON bit address (10 / Hex), logic, OFF bit address (10 / Hex), logic, device selection, and actual address (10 / Hex). Since it is omitted and to make the address structure easier to understand, under the five groups, there is an address table by No with four items, namely No, start address, number of words, and creation order, presented in one line. To elaborate, for the output process data of No1, the start address starts from 2597, the number of words is 23, and the change order is the 22nd. The reason why the start address is 2597 is that it is the same as all the addresses and names in Figure 18, including the following. This Figure 45 is the same as the output process data of 371 in Figure 37. However, in Figure 45, from No3 to No5 are omitted, and only three blanks are added to the items for description. The absence of the TP / PC display is because it is automatically assigned by the program. Regarding the memory type, external, process, quantity, and transfer are shown. External refers to the memory outside the PLC described in Figure 4, process refers to the process data (memory) in the device general-purpose memory described in Figure 4, quantity refers to the quantity data (memory) in the device general-purpose memory described in Figure 4, and transfer refers to the transfer data (memory) in the device general-purpose memory described in Figure 4.
[0091] Figure 46 is the detailed data diagram 1 / 2 of the timing process with specification changes for driving two motors according to an embodiment of the present invention. Figure 47 is the detailed data diagram 2 / 2 of the timing process with specification changes for driving two motors according to an embodiment of the present invention. In Fig. 46, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Except for the parts sandwiched by the horizontal double lines and omitted, it is composed of four groups. In Fig. 47, on the left side of the vertical double line, from top to bottom, the TP / PC display, value, address, and memory type are grouped together. Except for the parts sandwiched by the horizontal double lines and omitted, it is composed of three groups. On the right side of the vertical double line in the topmost group of Fig. 46, it consists of two items, the number of timing processes and its numerical value. On the right side of the vertical double line in the remaining three groups of Fig. 46, it spans across Fig. 47 and consists of 16 items, namely No, blank, name, blank, blank, control selection, start bit address (10 / Hex), logic, count stop bit address (10 / Hex), logic, blink ON time, blink interval time, elapsed time, general-purpose bit address (10 / Hex), and differentiation. To make the address structure in Fig. 46 easier to understand, below the four groups, a table of the starting address and change order by No is attached, with four items, No, starting address, number of words, and change order, in one line. To explain in detail, for the timing process data of No1, the starting address starts from 2539, the number of words is 29, and the change order is the 4th. The reason why the starting address is 2539 is that the same address as when it was created is being used. The same is true for No2 with a change order of the 10th. For the timing process data of No3, the starting address starts from 2949, the number of words is 21, and the creation order is the 16th. The reason why the starting address is 2949 is that in Figs. 43 and 44, the last address with a change order of the 14th is 2948, and the next is 2949. Furthermore, in Fig. 38, the address with a change order of the 15th uses the address at the time of creation. Figure 47, which spans with this Figure 46, is the same as the timing processing data of 372 in Figure 37. However, only three blanks are added to the items for description. The reason there is no TP / PC display is that it is automatically assigned by the program. Regarding the memory type, external, quantity, processing, and transfer are displayed. Here, "external" refers to the memory outside the PLC described in Figure 4, "processing" refers to the processing data (memory) of the device general-purpose memory described in Figure 4, "quantity" refers to the quantity data (memory) of the device general-purpose memory described in Figure 4, and "transfer" refers to the transfer data (memory) of the device general-purpose memory described in Figure 4.
[0092] Figure 48 is the ladder program circuit diagram 1 / 7 of the sequential step operation and processing according to an embodiment of the present invention. Figure 49 is the ladder program circuit diagram 2 / 7 of the sequential step operation and processing according to an embodiment of the present invention. Figure 50 is the ladder program circuit diagram 3 / 7 of the sequential step operation and processing according to an embodiment of the present invention. Figure 51 is the ladder program circuit diagram 4 / 7 of the sequential step operation and processing according to an embodiment of the present invention. Figure 52 is the ladder program circuit diagram 5 / 7 of the sequential step operation and processing according to an embodiment of the present invention. Figure 53 is the ladder program circuit diagram 6 / 7 of the sequential step operation and processing according to an embodiment of the present invention. Figure 54 is the ladder program circuit diagram 7 / 7 of the sequential step operation and processing according to an embodiment of the present invention. That is, FIGS. 48 to 49 are a series of ladder program circuit diagrams of sequential step processing. This ladder program circuit diagram uses the program instructions of a programmable logic controller (PLC) manufactured by Mitsubishi Electric Corporation, and processes each operation No., each process No., and each branch while changing the address with a modification register. It has a structure where it repeats the number of branches with a repeat instruction, and when the repetition of the number of branches is completed, it repeats the number of processes, and when the repetition of the number of processes is completed, it repeats the number of operations. Blocks 480 and 481 are preprocessing before the process, and blocks 483 to 51B are performing the process. From 520 to 53F, from 540 to 543, from 544 to 547, and from 548 to 54C are four subroutine programs. The following is a detailed description for each block. The transfer instruction GOEND of 480 transfers to the END of this sequential step processing program without performing this sequential step processing when the contact for execution permission determined in the identification and initial processing program and the number of sequential step operations determined by the user is 0. With the transfer instruction MOV of 481, the starting address of the sequential step operation data determined in the identification and initial processing program is transferred to the general-purpose device 1. The repeat instruction (1) FOR of 482 pairs with the repeat instruction (1) NEXT of 51B, and here, it repeats for the number of sequential step operations. With the call instruction CALL of 483, the addition process 1 of the number is called and executed. With the arithmetic instruction + (addition) of 484, the interval up to the next operation number address is added to the general-purpose device 1 and stored in the modification register 20. With the transfer instruction MOV of 485, the general-purpose device modified by the modification register 20 is transferred to the general-purpose device 2. With the arithmetic instruction + (addition) of 486, the interval up to the number of processes is added to the modification register 20 and stored in the modification register 20. With the transfer instruction MOV of 487, the general-purpose device modified by the modification register 20 is transferred to the general-purpose device 3. With the arithmetic instruction + (addition) of 488, the interval up to the processing number start address is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 489, the general-purpose device modified by the modified register 20 is transferred to the general-purpose device 4. With the transfer instruction MOV of 48A, the general-purpose device 4 is transferred to the general-purpose device 6. The loop instruction (2) FOR of 48B pairs with the loop instruction (2) NEXT of 517, and here, the loop is performed for the number of sequential step processes. With the call instruction CALL of 48C, the addition process 2 of the quantity is called and executed. With the arithmetic instruction + of 48D, the interval up to the next processing number address is added to the general-purpose device 4 and stored in the modified register 20. With the transfer instruction MOV of 48E, the general-purpose device with the modified register 20 is transferred to the general-purpose device 5. With the arithmetic instruction + of 48F, the interval up to the absolute condition bit address is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 48G, the general-purpose device with the modified register 20 is transferred to the modified register 1. With the arithmetic instruction + of 48H, the interval up to the logic of the absolute condition is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 48J, the general-purpose device with the modified register 20 is transferred to the modified register 9. With the arithmetic instruction + of 490, the interval up to the start bit address is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 491, the general-purpose device with the modified register 20 is transferred to the modified register 2. With the arithmetic instruction + of 492, the interval up to the logic of the start bit is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 493, the general-purpose device with the modified register 20 is transferred to the modified register 10. In 494, with the arithmetic instruction +, the interval up to the activation condition bit address is added to the modification register 20 and stored in the modification register 20. In 495, with the transfer instruction MOV, the general-purpose device with the modification register 20 is transferred to the modification register 3. In 496, with the arithmetic instruction +, the interval up to the logic of the activation condition bit is added to the modification register 20 and stored in the modification register 20. In 497, with the transfer instruction MOV, the general-purpose device with the modification register 20 is transferred to the modification register 11. In 498, with the arithmetic instruction +, the interval up to the branch number is added to the modification register 20 and stored in the modification register 20. In 499, with the transfer instruction MOV, the general-purpose device with the modification register 20 is transferred to the modification register 4. In 49A, with the arithmetic instruction +, the interval of the branch 1 condition bit address is added to the modification register 20 and stored in the general-purpose device 10. In 49B, with the arithmetic instruction +, the interval of the logic of the branch 1 condition bit is added to the general-purpose device 10 and stored in the general-purpose device 11. In 49C, with the arithmetic instruction +, the interval of the branch 1 permission bit address is added to the general-purpose device 11 and stored in the general-purpose device 12. In 49D, with the arithmetic instruction +, the interval of the logic of the branch 1 permission bit is added to the general-purpose device 12 and stored in the general-purpose device 13. In 49E, with the arithmetic instruction +, the interval of the branch 1 general-purpose bit address is added to the general-purpose device 13 and stored in the general-purpose device 14. In 49F, with the arithmetic instruction +, the interval of the branch 1 reset bit address is added to the general-purpose device 14 and stored in the general-purpose device 15. In 49G, with the arithmetic instruction +, the intervals of both the branch 1 condition bit address and the logic are added and stored in the general-purpose device 7. In 49H, with the arithmetic instruction +, the interval of the branch 1 permission bit address is added to the general-purpose device 7 and stored in the general-purpose device 7. In 49J, with the arithmetic instruction +, the interval of the logic of the branch 1 permission bit is added to the general-purpose device 7 and stored in the general-purpose device 7. With the arithmetic instruction + of 49K, the interval of the general-purpose bit address of Branch 1 is added to General-Purpose Device 7 and stored in General-Purpose Device 7. With the arithmetic instruction + of 49L, the interval of the reset bit address of Branch 1 is added to General-Purpose Device 7 and stored in General-Purpose Device 7. With the transfer instruction MOV of 49M, 0 is transferred to General-Purpose Device 8. The loop instruction (3) FOR of 500 pairs with the loop instruction (3) NEXT of 513. Here, the loop is performed for the number of general-purpose devices with Modification Register 4. With the arithmetic instruction * of 501, General-Purpose Device 8 is multiplied by General-Purpose Device 7 and stored in General-Purpose Device 7. With the arithmetic instruction + of 502, General-Purpose Device 9 is added to General-Purpose Device 10 and stored in Modification Register 20. With the transfer instruction MOV of 503, the general-purpose device with Modification Register 20 is transferred to Modification Register 5. With the arithmetic instruction + of 504, General-Purpose Device 7 is added to General-Purpose Device 9 and stored in Modification Register 20. With the transfer instruction MOV of 505, the general-purpose device with Modification Register 20 is transferred to Modification Register 12. With the arithmetic instruction + of 506, General-Purpose Device 7 is added to General-Purpose Device 10 and stored in Modification Register 20. With the transfer instruction MOV of 507, the general-purpose device with Modification Register 20 is transferred to Modification Register 6. With the arithmetic instruction + of 508, General-Purpose Device 7 is added to General-Purpose Device 11 and stored in Modification Register 20. With the transfer instruction MOV of 509, the general-purpose device with Modification Register 20 is transferred to Modification Register 13. With the arithmetic instruction + of 50A, General-Purpose Device 7 is added to General-Purpose Device 12 and stored in Modification Register 20. With the transfer instruction MOV of 50B, the general-purpose device with Modification Register 20 is transferred to Modification Register 7. With the arithmetic instruction + of 50C, General-Purpose Device 7 is added to General-Purpose Device 13 and stored in Modification Register 20. With the transfer instruction MOV of 50D, the general-purpose device with the modification register 20 is transferred to the modification register 8. With the call instruction CALL of 50E, according to the logic of the absolute condition bit, if the general-purpose bit modified by the modification register 1 is deactivated, the subroutine of the all-general-purpose bit reset process of 520 is called. With the operation instruction SET of 50F, according to the logic of the absolute condition bit, if the general-purpose bit modified by the modification register 1 is deactivated, the general-purpose bit during order discard is set (activated). With the loop instruction BREAK of 50G, according to the logic of the absolute condition bit, if the general-purpose bit modified by the modification register 1 is deactivated, the loop instruction (3) is discarded and the process shifts to the loop completion position 1 pointer. With the operation instruction RST of 510, according to the logic of the absolute condition bit, if the general-purpose bit modified by the modification register 1 is activated, and according to the logic of the start bit, if the general-purpose bit modified by the modification register 2 is activated, and according to the logic of the start condition bit, if the general-purpose bit modified by the modification register 3 is activated, and according to the logic of the branch condition bit, if the general-purpose bit modified by the modification register 5 is activated, and according to the logic of the branch permission bit, if the general-purpose bit modified by the modification register 6 is activated, the general-purpose bit with the modification R8 is reset. With the operation instruction SET of 511, according to the logic of the absolute condition bit, if the general-purpose bit modified by the modification register 1 is activated, and according to the logic of the start bit, if the general-purpose bit modified by the modification register 2 is activated, and according to the logic of the start condition bit, if the general-purpose bit modified by the modification register 3 is activated, and according to the logic of the branch condition bit, if the general-purpose bit modified by the modification register 5 is activated, and according to the logic of the branch permission bit, if the general-purpose bit modified by the modification register 6 is activated, the general-purpose bit with the modification register 7 is set. With the operation instruction INC of 512, 1 is added to the general-purpose device 6. As a result, when repeating, the values of each modification register for the next branch are changed. The NEXT of the loop instruction (3), No. 513, pairs with the FOR of the loop instruction (3) and returns to the FOR of the loop instruction (3) until the loop count is exceeded, and repeats the subsequent instructions. The loop completion position 1 pointer of No. 514 is the destination of the BREAK of the loop instruction at 50G. If the general-purpose bit during order discard is activated, the BREAK of the loop instruction No. 515 discards the loop instruction (2) and transfers to the loop completion position 2 pointer. With the MOV transfer instruction No. 516, the general-purpose device 4 is transferred to the general-purpose device 3. The NEXT of the loop instruction (2), No. 517, pairs with the FOR of the loop instruction (2) and returns to the FOR of the loop instruction (2) until the loop count is exceeded, and repeats the subsequent instructions. The loop completion position 2 pointer of No. 518 is the destination of the BREAK of the loop instruction at 515. If the general-purpose bit during order discard is activated, the RST arithmetic instruction No. 519 resets (deactivates) the general-purpose bit during order discard. With the MOV transfer instruction No. 51A, the general-purpose device 2 is transferred to the general-purpose device 1. The NEXT of the loop instruction (1), No. 51B, pairs with the FOR of the loop instruction (1) and returns to the FOR of the loop instruction (1) until the loop count is exceeded, and repeats the subsequent instructions. With the FEND structure instruction No. 51C, the program of this sequential stepping process is terminated. The all-general-purpose bit reset processing pointer of No. 520 is the call destination for the CALL call instruction at 50E. With the MOV transfer instruction No. 521, the general-purpose device 1 is transferred to the general-purpose device 20. With the MOV transfer instruction No. 522, the general-purpose device with modifier register 20 is transferred to the general-purpose device 14. The FOR of the loop instruction (4), No. 523, pairs with the NEXT of the loop instruction (4) at 53E, and here, it repeats for the number of sequential stepping processes. With the CALL call instruction No. 524, the addition process 3 of the quantity is called and executed. With the arithmetic instruction + of 525, the interval up to the next processing number address is added to the general-purpose device 16 and stored in the modified register 20. With the transfer instruction MOV of 526, the general-purpose device with the modified register 20 is transferred to the general-purpose device 17. With the arithmetic instruction + of 527, the interval up to the absolute condition bit address is added to the modified register 20 and stored in the modified register 20. With the arithmetic instruction + of 528, the interval up to the logic of the absolute condition is added to the modified register 20 and stored in the modified register 20. With the arithmetic instruction + of 529, the interval up to the start bit address is added to the modified register 20 and stored in the modified register 20. With the arithmetic instruction + of 52A, the interval up to the logic of the start bit is added to the modified register 20 and stored in the modified register 20. With the arithmetic instruction + of 52B, the interval up to the start condition bit address is added to the modified register 20 and stored in the modified register 20. With the arithmetic instruction + of 52C, the interval up to the logic of the start condition bit is added to the modified register 20 and stored in the modified register 20. With the arithmetic instruction + of 52D, the interval up to the number of branches is added to the modified register 20 and stored in the modified register 20. With the transfer instruction MOV of 52E, the general-purpose device with the modified register 20 is transferred to the modified register 4. With the arithmetic instruction + of 52F, the interval of the branch 1 condition bit address is added to the modified register 20 and stored in the general-purpose device 10. With the arithmetic instruction + of 52G, the interval of the logic of the branch 1 condition bit is added to the general-purpose device 10 and stored in the general-purpose device 11. With the arithmetic instruction + of 52H, the interval of the branch 1 permission bit address is added to the general-purpose device 11 and stored in the general-purpose device 12. With the arithmetic instruction + of 52J, the interval of the logic of the branch 1 permission bit is added to the general-purpose device 12 and stored in the general-purpose device 13. With the arithmetic instruction + of 52K, the interval of the general-purpose bit address of branch 1 is added and stored in the general-purpose device 14. With the arithmetic instruction + of 52L, the interval of the reset bit address of branch 1 is added and stored in the general-purpose device 15. With the arithmetic instruction + of 530, the intervals of both the branch 1 conditional bit address and the logic are added and stored in the general-purpose device 7. With the arithmetic instruction + of 531, the interval of the branch 1 permission bit address is added and stored in the general-purpose device 7. With the arithmetic instruction + of 532, the interval of the logic of the branch 1 permission bit is added and stored in the general-purpose device 7. With the arithmetic instruction + of 533, the interval of the branch 1 general-purpose bit address is added and stored in the general-purpose device 7. With the arithmetic instruction + of 534, the interval of the branch 1 reset bit address is added and stored in the general-purpose device 7. With the transfer instruction MOV of 535, 0 is transferred to the general-purpose device 8. The loop instruction (5) FOR of 536 pairs with the loop instruction (5) NEXT of 53E, and here, the loop is performed for the number of general-purpose devices with the modification register 4. With the arithmetic instruction * of 537, the general-purpose device 8 is multiplied by the general-purpose device 7 and stored in the general-purpose device 9. With the arithmetic instruction + of 538, the general-purpose device 9 is added to the general-purpose device 10 and stored in the modification register 20. With the transfer instruction MOV of 539, the general-purpose device with the modification register 20 is transferred to the modification register 7. With the arithmetic instruction RST of 53A, the general-purpose bit with the modification register 7 is reset (deactivated). With the arithmetic instruction INC of 53B, 1 is added to the general-purpose device 8 for the preparation of the loop. This changes the value of the next branch number when looping. The NEXT of 53C, the loop instruction (5), pairs with the FOR of the loop instruction (5) and returns to the FOR of the loop instruction until the loop count is exceeded, and repeats the subsequent instructions. In 53D, with the transfer instruction MOV, for loop preparation, the general-purpose device 17 is transferred to the general-purpose device 16. Thereby, when repeating, the values of each modification register for the next No. are changed. The NEXT of 53E, the loop instruction (4), pairs with the FOR of the loop instruction (4) and returns to the FOR of the loop instruction until the loop count is exceeded, and repeats the subsequent instructions. In 53F, with the return call instruction RET, the call is completed and the process moves to the next of the call instruction of 50E. The count addition process 1 pointer of 540 is the call destination for the call instruction CALL of 483. In 541, with the arithmetic instruction + (addition), 1 is added to the general-purpose device 1 and stored in the modification register 20. In 542, with the arithmetic instruction + (addition), the modification register 20 is added to the general-purpose device with the modification register 20 and stored in the general-purpose device 1. In 543, with the return call instruction RET, the call is completed and the process moves to the next of the call instruction of 483. The count addition process 2 pointer of 544 is the call destination for the call instruction CALL of 48C. In 545, with the arithmetic instruction + (addition), 1 is added to the general-purpose device 4 and stored in the modification register 20. In 546, with the arithmetic instruction + (addition), the modification register 20 is added to the general-purpose device with the modification register 20 and stored in the general-purpose device 4. In 547, with the return call instruction RET, the call is completed and the process moves to the next of the call instruction of 48C. The count addition process 3 pointer of 548 is the call destination for the call instruction CALL of 524. In 549, with the arithmetic instruction + (addition), 1 is added to the general-purpose device 16 and stored in the modification register 20. In 54A, with the arithmetic instruction + (addition), the modification register 20 is added to the general-purpose device with the modification register 20 and stored in the general-purpose device 16. In 54B, upon receiving the return instruction RET, the call is completed and the process proceeds to the next instruction after the call instruction at 524. In 54C, upon receiving the structure instruction END, the program file ends.
[0093] (Concept) In this sequential step - by - step process, since data can be freely set, the process greatly depends on the discretion of the data creator. Here, a flowchart and descriptions of operations and processes will be provided. The flowchart created to control equipment or devices represents each step of a process, which is a characteristic of a dynamic system, or each means, procedure, and operation for obtaining an answer to a problem, in boxes with their contents described. The flow is represented by lines and arrows between those boxes, or by dispersing those lines and arrows, or by being composed of multiple flowcharts, thus expressing processes and algorithms from simple to complex. Each step of a process with the nature of a dynamic system refers to each process in process control. Furthermore, a dynamic system is considered to be one that takes time to return a certain result or does not reach a certain result. Each means, procedure, and operation for obtaining an answer to a problem refers to performing a function that converts some input into an output. Specifically, it could be when a sensor turns ON, when a set speed is reached, or when the temperature reaches the set temperature. In this invention, a plurality of flowcharts created to control equipment or devices are replaced with a structure (operation) that places the processes under control. That is, to control equipment or devices, there may be a plurality of independent flowcharts or flowcharts that affect other flowcharts, so multiple processes are managed under the name of operations. Specifically, like the No.1 motor 1 operation and the No.2 motor 2 operation of the sequential step - by - step operation data at 362 in FIG. 36, each is independent and they have a relationship of influencing each other. In addition, each step of the process, and each individual means, procedure, or operation in a flowchart created to control a device or apparatus, is replaced with a series of multiple data items associated with the order of the sequential step-by-step processing. That is, the data for sequential step-by-step processing groups a series of multiple data items associated with the order of processing as one unit, and by repeating the processing with a series of multiple data items associated with the order of processing as one unit, it can accommodate increases or decreases in the number of steps of the process, or the number of means, procedures, or operations, in the flowchart. In addition, the branching or diverging flows in a flowchart created to control a device or apparatus are replaced by providing items corresponding to the number of branches. In a flowchart created to control a device or apparatus, the destination may vary depending on judgments or conditions, the number of destinations may increase depending on judgments or conditions, and there may even be a transition to an external flowchart. Considering the above cases, it is not possible to make the transition only with one's own flowchart, and the situation of the counterpart flowchart must be considered. Therefore, a branch permission bit is provided for each item according to the number of branches. Specifically, this is because, for example, when transfer devices of the same structure are arranged continuously, or when the previous device is not at the receiving position, it may be necessary to stop the subsequent device. Basically, in one flowchart, only one step or procedure is executed, but it is not completely prohibited and is left to the discretion of the creator. In addition, the content of the boxes in the flowchart is all assumed to be derived from bit address data or selection data. This also holds true for bits created by external processing. Selection data is, for example, data that determines whether a bit is activated in positive logic or negative logic, and is determined by a pre-agreed numerical value. Also, when a series of trigger bits, namely absolute condition bits, startup bits, startup condition bits, branch condition bits, and branch permission bits, which are modified by a modified register with bit address data set based on selection data, are activated, the bits modified by the modified register with bit address data set are activated, and the No that causes the monitoring of the No of the activated bits is deactivated by the bits modified by the modified register with bit address data set. That is, it is possible to know which steps and procedures of the process have been completed by the activation of the bits, and it continues to be activated until a series of currently monitored trigger bits are activated. With the above replacements and the like, every algorithm is replaced by a change in data.
[0094] FIG. 55 is a flowchart diagram of a programmable logic controller (PLC) according to an embodiment of the present invention. At 550 in FIG. 55, when the power is turned on from off or from STOP to RUN, the programmable logic controller (PLC) starts up. First, the program check process at 551 is performed. Subsequently, I / O refresh at 552 is performed, and the process proceeds to END process 1 at 553. The identification and initial processing programs at 555 are performed in the specified order, and the process proceeds to END process 2 at 554. Subsequently, I / O refresh at 552 is performed, the process proceeds to END process 1 at 553, and the differential reset processing program for the timing process at 556, the input device data processing program at 557, the device data arithmetic processing (input reference) program at 558, the input processing program at 559, the interface processing program at 55A, the logic processing program at 55B, the sequential step processing program at 55C, the device data arithmetic processing (output reference) program at 55D, and the output processing program at 55E are performed in the specified order, the process proceeds to END process 2 at 554, returns before I / O refresh at 552, and is repeated until the power is turned off from on or from RUN to STOP. That is, the 25 initial execution type program groups in the flowchart of FIG. 2 are identified and processed as one program of the 555 initial execution type programs, the 26 scan execution type program groups are processed as 10 programs including the 556 timing processing differential reset processing program, the 557 input device data processing program, the 558 device data arithmetic processing (input standard) program, the 559 input processing program, the 55A interface processing program, the 55B logic processing program, the 55C sequential step processing program, the 55D device data arithmetic processing (output standard) program, and the 55E output processing program, the 27 fixed cycle execution type program groups are processed as one program of the 55F timing processing program, and without using the 28 standby type program groups, an algorithm function equivalent to the flowchart of FIG. 2 is obtained. With the above alone, all algorithms can be constructed. However, if you want to apply program assets that have been created and have a track record, or to handle complex arithmetic calculations, etc., programs can be added. However, the insertion position is important. When adding an initial execution type program, it can be inserted either between the END process 1 of 553 and the identification and initial process program of 555 before the repetition, or between the identification and initial process program of 555 and the I / O refresh of 552. It also depends on whether it affects or is affected by the present invention, the identification and initial process program of 555. Also, when adding a scan execution type program, it will be inserted from the END process 1 of 553 to the END process 2 of 554 within the repetition. However, it can be inserted anywhere from the micro-differentiated reset process program of the timing process of 556 to the output process program of 55E. However, it is necessary to pay attention to how it affects or is affected by the present invention. In particular, from the micro-differentiated reset process program of the timing process of 556 to the interface process program of 55A, it is for the processing of the incoming items, and from the logical process program of 55B to the output process program of 55E, it is for the processing of the outgoing items, so extreme caution is required. Note that once a program is inserted, it will no longer be a general-purpose program but a custom-made program, so sufficient attention is necessary. Here, since the differential reset processing program for the timing process of 556 is at the head of the scan execution type program of the present invention, first, it is necessary to explain differentiation. Differentiation is one of the methods of commands and outputs. Usually, when a condition is satisfied, the command continues to be executed or the output continues to be output. It is also said to output at a level, and when the condition is no longer satisfied, the command being executed stops or the output stops. When this is differentiated, even if repeated, it is changed to an operation where the command is executed only for one scan or the output is output only for one scan. Further, even if the condition continues to be satisfied, once the command is executed or the output is output, the command will not be executed or the output will not be output until the condition is no longer satisfied. Such a method of commands and outputs is called differentiation and is widely used. In the present invention, in order to simplify or because the conditions can be differentiated and replaced, the differentiation of commands is not deliberately performed. Furthermore, it is also necessary to explain that only the timing processing program that controls the output by time measurement is a fixed-cycle execution type program. Although there are existing timers in a programmable logic controller (PLC), many of those existing timers do not operate normally in the repetitive structure of the program with numbers as units, and use a fixed-cycle execution type program by counting with a fixed cycle as a unit. If output at a level, there is no problem, but when differentiated, in a scan execution type program, depending on the time of one scan and the interval of the fixed cycle, there is a risk of missing, so as a scan execution type program outside the fixed-cycle execution program, the pulse width is differentiated not as one scan but as more than one scan and less than two scans. There is no particular reason why the differential reset processing program for the timing process is at the head of the scan execution type program of the present invention. It is just in the same position because the differential processing occurring in other scan execution type programs is processed at the head after one scan. There is no major problem as long as it does not exceed the input device data processing program that compares device data in the first half with the scan execution type program, the device data arithmetic processing (input standard) program that executes arithmetic instructions, and the input processing program, and the logical processing program, sequential step processing program, device data arithmetic processing (output standard) program, and output processing program in the second half that determine the output. However, since the program positions in the first half are likely to use the results of the previous programs, they are in the order of the input device data processing program, the device data arithmetic processing (input standard) program, and the input processing program. But if you are prepared for a one-scan delay, it will not be a major problem. The same applies to the programs in the second half. Note that in the present invention, it is a program for supporting all algorithms by simply changing the device data by constructing a conventional program without changing an existing programmable logic controller (PLC). However, when a manufacturer that manufactures a programmable logic controller (PLC) constructs the present invention, in order to eliminate the risk of change, the program may be lowered to the same level as the I / O flush process and END process that cannot be touched by the person creating the program. Furthermore, the concept of a program may be eliminated and it may be made into a data table logic controller (DLC Datable Logic Controller).
[0095] FIG. 56 is a relational diagram of the main programs according to an embodiment of the present invention. The main program is a program that is essential for implementing various algorithms. It includes 561 input processing programs that are subject to constraints from 560 input processing device data set on the touch panel (TP) screen, 563 logical processing programs that are subject to constraints from 562 logical processing device data set on the touch panel (TP) screen, 565 sequential step processing programs that are subject to constraints from 564 sequential step processing device data set on the touch panel (TP) screen, 567 output processing programs that are subject to constraints from 566 output processing device data set on the touch panel (TP) screen, 569 input device data processing programs that are subject to constraints from 568 input device data processing device data set on the touch panel (TP) screen, 56B timing processing programs that are subject to constraints from 56A timing processing device data set on the touch panel (TP) screen, 56D device data arithmetic processing (input standard) programs that are subject to constraints from 56C device data arithmetic processing (input standard) device data set on the touch panel (TP) screen, and 56F device data arithmetic processing (output standard) programs that are subject to constraints from 56E device data arithmetic processing (output standard) device data set on the touch panel (TP) screen. These are eight programs. The dashed line and its arrow indicate the direction in which the general-purpose device bits (general-purpose bits) are generated and consumed. Also, the thick dashed line and its arrow indicate the direction in which the general-purpose device data is generated and consumed, while shifting the timing and so on. Finally, it releases the output device bits and output device data in the square protruding to the left to complete various algorithms. Note that the touch panel (TP) screen is controlled by interface processing.
[0096] Figure 57 is a device memory layout diagram used in each program according to an embodiment of the present invention. 570 is a representative device memory area of the physical memory area. Device memory contains device types for each manufacturer. Taking typical devices as an example, from the start of the physical device memory area up to the first starting address of the device data used in Process 572, it is set as the initial constant area 571 and the touch panel display area. After this, from the first starting address of the device data used in Process 572 to the first starting address of the device data used in Process 573, there are the first and second data groups of the device data used in Process 572; from the first starting address of the device data used in Process 573 to the first starting address of the device data used in Process 574, there are the first and second data groups of the device data used in Process 573; from the first starting address of the device data used in Process 574 to the first starting address of the device data used in Process 575, there are the first and second data groups of the device data used in Process 574; from the first starting address of the device data used in Process 575 to the first starting address of the device data used in Process 576, there are the first and second data groups of the device data used in Process 575; from the first starting address of the device data used in Process 576 to the first starting address of the device data used in Process 577, there are the first and second data groups of the device data used in Process 576; from the first starting address of the device data used in Process 577 to the first starting address of the device data used in Process 578 (processing...), there is the first data group of the device data used in Process 576; from the first starting address of the device data used in Process 578 (processing...) to the first starting address of the device data used in Process 579 (processing n), there is the first data group of the device data used in the processing...; from the first starting address of the device data used in Process 579 (processing n) to the third starting address of the device data used in Process 57A (processing 1), there is the first data group of the device data used in the processing n; from the third starting address of the device data used in Process 57A (processing 1) to the third starting address of the device data used in Process 57B (processing 2), there is the third data group of the device data used in Process 571.The third data group of the device data used in Process 2 from the third starting address of the device data used in Process 2 of 57B to the third starting address of the device data used in Process 3 of 57C, the third data group of the device data used in Process 3 from the third starting address of the device data used in Process 3 of 57C to the second starting address of the device data used in Process 6 of 57D, the second data group of the device data used in Process 6 from the second starting address of the device data used in Process 6 of 57D to the third starting address of the device data used in Process 4 of 57E, the third data group of the device data used in Process 4 from the third starting address of the device data used in Process 4 of 57E to the second starting address of the device data used in Process... of 57F, the second data group of the device data used in Process... from the second starting address of the device data used in Process... of 57F to the third starting address of the device data used in Process 5 of 57G, the third data group of the device data used in Process 5 from the third starting address of the device data used in Process 5 of 57G to the second starting address of the device data used in Process n of 57H, the second data group of the device data used in Process n from the second starting address of the device data used in Process n of 57H to the third starting address of the device data used in Process... of 57J, the third data group of the device data used in Process... from the third starting address of the device data used in Process... of 57J to the third starting address of the device data used in Process 6 of 57K, the third data group of the device data used in Process 6 from the third starting address of the device data used in Process 6 of 57K to the third starting address of the device data used in Process n of 57L, the third data group of the device data used in Process n from the third starting address of the device data used in Process n of 57L to the...th starting address of the device data used in Process 6 of 57M and the third and...th data groups of the device data used in Process n, the...th data group of the device data used in Process 6 from the...th starting address of the device data used in Process 6 of 57M to the...th starting address of the device data used in Process 4 of 57N,The...th data group of the device data used in process 4, from the...th starting address of the device data used in process 4 of 57N to the...th starting address of the device data used in process 2 of 57P, the...th data group of the device data used in process 2, from the...th starting address of the device data used in process 2 of 57P to the...th starting address of the device data used in process 3 of 57Q, the...th data group of the device data used in process 3, from the...th starting address of the device data used in process 3 of 57Q to the...th starting address of the device data used in process... of 57R, the...th data group of the device data used in process..., from the...th starting address of the device data used in process... of 57R to the...th starting address of the device data used in process 1 of 57S, the...th data group of the device data used in process 1, from the...th starting address of the device data used in process 1 of 57S to the...th starting address of the device data used in process 5 of 57T, the...th data group of the device data used in process 5, from the...th starting address of the device data used in process 5 of 57T to the nth starting address of the device data used in process n of 57U, the...th data group of the device data used in process n, from the nth starting address of the device data used in process n of 57U to the nth starting address of the device data used in process... of 57V, the nth data group of the device data used in process n, from the nth starting address of the device data used in process... of 57V to the nth starting address of the device data used in process 6 of 57W, the nth data group of the device data used in process..., from the nth starting address of the device data used in process 6 of 57W to the nth starting address of the device data used in process 5 of 57X, the nth data group of the device data used in process 6, from the nth starting address of the device data used in process 5 of 57X to the nth starting address of the device data used in process 4 of 57Y, the nth data group of the device data used in process 5, from the nth starting address of the device data used in process 4 of 57Y to the nth starting address of the device data used in process 3 of 57Z, the nth data group of the device data used in process 4The nth data group of the device data used in process 3 from the nth start address of the device data used in process 3 of 57Z to the nth start address of the device data used in process 2 of 57a, the nth data group of the device data used in process 2 from the nth start address of the device data used in process 2 of 57a to the nth start address of the device data used in process 1 of 57b, and the nth data group of the device data used in process 1 from the nth start address of the device data used in process 1 of 57b to the start address of the unused area of the device memory of 57c are used. This order is the creation order, meaning it was created in this order. That is, even with exactly the same device, if the creation order changes, it will not be the same order, so this order also has no meaning. However, even if the size for each process number is not constant, the device memory can be densely packed, but for each process number, it is necessary to have as elements the return address value of the previous number and the destination address value of the next number.,
[0097] Note that there is no problem if the device memory area for that number becomes smaller, but if the device memory area for that number becomes larger, it must be newly created, so large holes will occur. Therefore, when the equipment or device is stopped, it is necessary to have a countermeasure of constructing a program to fill the holes.,
[0098] FIG. 58 is a device memory layout diagram in which the device memory is rearranged for each process according to an embodiment of the present invention., This Figure 58 arranges the device memory layout diagrams used in each program of Figure 57 for each process. This arrangement is an important arrangement for executing each processing program line by line. 580 is Process 1, 581 is the element group of Process 1, 582 is the order of Process 1, 583 is the device data group of Process 1, 584 is Process 2, 585 is the element group of Process 2, 586 is the order of Process 2, 587 is the device data group of Process 2, 588 is Process 3, 589 is the element group of Process 3, 58A is the element group of Process 3, 58B is the device data group of Process 3, 58C is Process 4, 58D is the element group of Process 4, 58E is the order of Process 4, 58F is the device data group of Process 4, 58G is Process 5, 58H is the element group of Process 5, 58J is the order of Process 5, 58K is the device data group of Process 5, 58L is Process 6, 58M is the element group of Process 6, 58N is the order of Process 6, 58P is the device data group of Process 6, 58Q is Process..., 58R is the element group of Process..., 58S is the order of Process..., 58T is the device data group of Process..., 58U is Process n, 58V is the element group of Process n, 58W is the order of Process n, and 58X is the device data group of Process n. To rearrange the device memory for each process, the first address value is stored in the initial setting data for each process, and the return address value of the previous number and the destination address value of the next number are stored for each process number. Programmatically speaking, instead of rearranging, it is made possible to easily reach the target element. Also, the arrangement and regulations of the elements are important, and as a rule, it is necessary to store the initial setting data and comments. For elements with variable sizes, such as character strings, for example, the number of words used for the element is provided as another single element. Furthermore, for elements with variable numbers of elements, such as the number of elements (consecutive numbers) of logical sums and logical products, for example, the number of words used for the element is provided as another single element. In the case of logical sums and logical products explicitly given as examples, the address and the logic (positive logic or negative logic) increase by two elements each. As another example, the same applies to the number of branches in sequential step processing, etc., and the branch condition bit address and its logic (positive logic or negative logic), the branch permission bit address and its logic (positive logic or negative logic), the branch general-purpose bit address, and the branch reset bit address increase by six elements each.
[0099] (Concept) Based on the detailed descriptions of FIGS. 57 and 58, further explanations are added. Generally, a memory is for storing, and there are those with and without power-off retention functions. Also, it is classified by function and area, such as program memory and each device memory. The memory of the present invention is a device memory that can retain power-off and store data, in which processing data is stored. The processing data is for realizing steps and algorithms. When processing is executed based on the processing data having a plurality of items, the processing data having the next plurality of items is replaced with a modification register, and further processing is executed until the processing data is exhausted. When exhausted, it returns to the beginning and repeats the processing. If there are a plurality of pieces of processing data for different processes in this series of repeated processing data, the number of pieces of processing data to be processed is different for each process, and the processing data of different processes cannot be arranged in the next free area of the memory. Generally, it is performed by a method of providing an area in the memory for each process and arranging a plurality of pieces of processing data at equal intervals. Not only is there a lot of unused area and waste, but it cannot exceed the area determined by prediction. Therefore, as data other than the processing data having a plurality of items, the start address of the processing data having the next plurality of items to be executed and the start address of the processing data having the plurality of items executed last are added as transfer data to the processing data having a plurality of items for each process. By correcting the transfer data when adding, changing, or deleting the processing data beyond the area, not only can the processing data having a plurality of items with different processes mixed therein be continuously arranged in the memory, but also only a plurality of pieces of data having a plurality of items for the same process can be sequentially extracted from the mixed processing data based on the start address of the transfer data. Furthermore, when dealing with processing data having multiple items and data other than transfer data, and repeating the process, by adding the number of repetitions as repetition data, not only can the data be continuously arranged in memory even if the number of data for the process and the next process is different, but also the start address of the transfer data can be used as a basis to sequentially extract the data. Incidentally, generally, the data is arranged by providing a memory area with the maximum number of repetitions for each process.
[0100] FIG. 59 is a relational diagram of the device memory and the display device memory for a certain process in an embodiment according to the present invention, when using a touch panel (TP) and having a function to change the device memory for each process with the touch panel (TP). In recent factories, physical switches, physical lamps, and physical digital switches are being replaced by touch panels (TP) as interfaces, except for parts related to safety, due to reasons such as reducing wiring man-hours and physical size. In such circumstances, the touch panel (TP), which began to spread, was initially considered a large input / output device, and the program author of the programmable logic controller (PLC) had to handle the touch panel (TP). These days, there are also touch panels (TP) that not only have the function of creating and changing the program of the programmable logic controller (PLC), but also have the function of creating and changing the program of the programmable logic controller (PLC). However, since the size and resolution of the touch panel (TP) also vary, and furthermore, in some factories, the manufacturer's logo may be displayed, or a screen unique to that device may be created, there is a tendency to create unique screen data. Since the gist of the present invention is the opposite, this is the presentation of that method. 590 in FIG. 59 is a device memory group in which the device memory of a certain process is rearranged. 591 is a group of numbers that can be displayed on the touch panel (TP), and here, although it is provisional, it is set as 15 lines. That is, the maximum number of lines of that model is 15 lines. 592 is a display device data group on the device data group side of a certain process, 593 is a group of number variables for the touch panel (TP), 594 is a display device data group on the touch panel (TP) side, 595 is a number as an element on the touch panel (TP) side, and 596 is a group of elements that can be displayed on the touch panel (TP), and here, although it is provisional, it is set as 2 elements. That is, the maximum number of elements of that model is 2 elements. Assuming that the largest possible model is selected, in Fig. 59, the number variable group for the touch panel (TP) currently displayed on the display touch panel (TP) shows values from 7 to 21, that is, 7 is in the value of D01-00, 8 is in the value of D02-00, 9 is in the value of D03-00, 10 is in the value of D04-00, 11 is in the value of D05-00, 12 is in the value of D06-00, 13 is in the value of D07-00, 14 is in the value of D08-00, 15 is in the value of D09-00, 16 is in the value of D10-00, 17 is in the value of D11-00, 18 is in the value of D12-00, 19 is in the value of D13-00, 20 is in the value of D14-00, and 21 is in the value of D15-00, and they are displayed.Furthermore, among the element groups that can be displayed on the touch panel (TP) of 86, the values from 1 to 72 corresponding to D01 - 02 for 1 - 72, the values from 1 to 73 corresponding to D01 - 03 for 1 - 73, the values from 1 to 82 corresponding to D02 - 02 for 1 - 82, the values from 1 to 83 corresponding to D02 - 03 for 1 - 83, the values from 1 to 92 corresponding to D03 - 02 for 1 - 92, the values from 1 to 93 corresponding to D03 - 03 for 1 - 93, the values from 1 to 102 corresponding to D04 - 02 for 1 - 102, the values from 1 to 103 corresponding to D04 - 03 for 1 - 103, the values from 1 to 112 corresponding to D05 - 02 for 1 - 112, the values from 1 to 113 corresponding to D05 - 03 for 1 - 113, the values from 1 to 122 corresponding to D06 - 02 for 1 - 122, the values from 1 to 123 corresponding to D06 - 03 for 1 - 123, the values from 1 to 132 corresponding to D07 - 02 for 1 - 132, the values from 1 to 133 corresponding to D07 - 03 for 1 - 133, the values from 1 to 142 corresponding to D08 - 02 for 1 - 142, the values from 1 to 143 corresponding to D08 - 03 for 1 - 143, the values from 1 to 152 corresponding to D09 - 02 for 1 - 152, the values from 1 to 153 corresponding to D09 - 03 for 1 - 153, the values from 1 to 162 corresponding to D10 - 02 for 1 - 162, the values from 1 to 163 corresponding to D10 - 03 for 1 - 163, the values from 1 to 172 corresponding to D11 - 02 for 1 - 172, the values from 1 to 173 corresponding to D11 - 03 for 1 - 173, the values from 1 to 182 corresponding to D12 - 02 for 1 - 182, the values from 1 to 183 corresponding to D12 - 03 for 1 - 183, the values from 1 to 192 corresponding to D13 - 02 for 1 - 192, the values from 1 to 193 corresponding to D13 - 03 for 1 - 193, the values from 1 to 202 corresponding to D14 - 02 for 1 - 202, the values from 1 to 203 corresponding to D14 - 03 for 1 - 203, the values from 1 to 212 corresponding to D15 - 02 for 1 - 212, and the values from 1 to 213 corresponding to D15 - 03 for 1 - 213 are being displayed. When shifting in the direction of the up arrow or down arrow using the up shift switch and down shift switch, the device data of the display device data group on the device data group side of a certain process of 592 changes. Therefore, for the corresponding device data, the device data of the number variable group for the touch panel (TP) of 593, the display device data group on the touch panel (TP) side of 594, and the element group that can be displayed on the touch panel (TP) of 596 are refreshed. When shifting in the direction of the right arrow or left arrow using the right shift switch and left shift switch, the device data of the element group that can be displayed on the touch panel (TP) of 596 in the corresponding device data is refreshed. In models that do not reach the maximum number of lines or maximum number of elements, separately from the number variable group for the touch panel (TP) of 593 and the element group that can be displayed on the touch panel (TP) of 596, a real number variable group for the touch panel (TP) and a real element group that can be displayed on the touch panel (TP) are provided, and it is sufficient to move within the number variable group for the touch panel (TP) of 593 and the element group that can be displayed on the touch panel (TP) of 596. When reaching the upper limit or lower limit, the device data of each necessary group is refreshed. The touch panel (TP) mentioned here is used as an interface.
[0101] Since the present invention changes data with one program, it must be compatible with various devices and facilities. As one of its features, a display memory is provided for each process. This is because when creating a screen, all addresses must be described for numerical display and comment display. Also, it is because the memory is managed with transition data and repetitive data as features of the present invention. That is, it is because it is not known how much the data volume will be. As a mechanism, it is simple and is carried out by a method in which when the display memory is rewritten, the corresponding data is also rewritten. By using this method, the number of screen sheets can be aggregated.
[0102] FIG. 60 is a system relationship diagram of a programmable logic controller (PLC) and an engineering tool according to an embodiment of the present invention, which identifies the programmable logic controller (PLC) that can be executed and makes it executable only by the programmable logic controller (PLC). In FIG. 60, 600 is an engineering tool, 601 is a network, 602 is a programmable logic controller (PLC) A, 603 is a programmable logic controller (PLC) B, 604 is a programmable logic controller (PLC) C, 605 is a programmable logic controller (PLC) D, 606 is a programmable logic controller (PLC) n, 607 is a project file for the programmable logic controller (PLC) A, 608 is a project file for the programmable logic controller (PLC) B, 609 is a project file for the programmable logic controller (PLC) C, 60A is a project file for the programmable logic controller (PLC) D, and 60B is a project file for the programmable logic controller (PLC) n. In Figure 60, the engineering tool 600 contains the project file for programmable logic controller (PLC) A at 607, the project file for programmable logic controller (PLC) B at 608, the project file for programmable logic controller (PLC) C at 609, the project file for programmable logic controller (PLC) D at 60A, and the project file for programmable logic controller (PLC) n at 60B. Note that a project file is a data group consisting of a plurality of programs and parameters in which the content for controlling the algorithm for operating the programmable logic controller (PLC) is described. Further, it is unknown whether it was initially included via the network 601 or not, but the project file for programmable logic controller (PLC) A at 607 is written in programmable logic controller (PLC) A at 602, the project file for programmable logic controller (PLC) B at 608 is written in programmable logic controller (PLC) B at 603, the project file for programmable logic controller (PLC) C at 609 is written in programmable logic controller (PLC) C at 604, the project file for programmable logic controller (PLC) D at 60A is written in programmable logic controller (PLC) D at 605, and the project file for programmable logic controller (PLC) n at 60B is written in programmable logic controller (PLC) n at 606. The project file for the programmable logic controller (PLC) A of 607 contains the identification program described as A of the present invention, programs 1 to n of the present invention, and user programs 1 and 2 to nA created by the user. The project file for the programmable logic controller (PLC) B of 608 contains the identification program described as B of the present invention, programs 1 to n of the present invention, and user programs 3 and 4 to nB created by the user. The project file for the programmable logic controller (PLC) C of 609 contains user programs 5 and 6 to nC created by the user. The project file for the programmable logic controller (PLC) D of 60A contains the identification program described as D of the present invention and programs 1 to n of the present invention. The project file for the programmable logic controller (PLC) n of 60B contains the identification program described as D of the present invention, programs 1 to n of the present invention, and user programs 1 and 2 to nA created by the user. In the state as described above, since the unique data read by the programmable logic controller (PLC) A of 602 matches the data described in the identification program, both the program group of the present invention and the user program group operate. Since the unique data read by the programmable logic controller (PLC) B of 603 does not match the data described in the identification program, the program group of the present invention does not operate, and only the user program group operates. Since the programmable logic controller (PLC) C of 604 does not have the program group of the present invention, only the user program group operates. Since the unique data read by the programmable logic controller (PLC) D of 605 matches the data described in the identification program, the program group of the present invention operates, and since the user program group does not exist, it does not operate. Since the unique data read by the programmable logic controller (PLC) n of 603 does not match the data described in the identification program, the program group of the present invention does not operate, and only the user program group operates. In such a situation, it is presumed that those who use the 600 engineering tools can read and write the program group of the present invention, but at least they do not have the editing authority to view and modify the read program group. This is because to operate all programmable logic controllers (PLCs), if the identification content described in the identification program of the project file of each programmable logic controller (PLC) is rewritten with the 600 engineering tools, they can operate easily. Depending on the different positions, the interests may vary, so it cannot be asserted, but for the present invention, authority and identification processing are important factors.
[0103] As a mechanism, it is simple. At the beginning of the program, the unique physical unique data of the microprocessor (MPU) is read from the program side and compared with the data in the program. If they do not match, the program jumps to the END of the program and the program ends. The unique physical unique data of the microprocessor (MPU) generally means the serial number, but when using a LAN (Local Area Network), it may also be the MAC address (Media Access Control address), or it can be arbitrarily set. When creating the program of the present invention, it is necessary to determine whether to write the unique data of the program as a constant or as initial data. Although this is only this operation, it becomes no different from a general program created individually. It is important who will create the final version of the program of the present invention, who will sell the program of the present invention, who will create the data of the program of the present invention, who will verify whether the devices and apparatuses operating with the program of the present invention operate as specified, and who will use the devices and apparatuses operating with the program of the present invention. In production sites such as factories, access is prohibited, so for those with malicious intent, once the present invention is disclosed in this specification, it can be easily imitated. However, if the program is not analyzed, it can be prevented just by mixing the legitimate program and the imitation program based on the purchase history and the like.
[0104] FIG. 61 is a device data setting diagram showing the common initial settings according to an embodiment of the present invention. 610 in FIG. 61 is a common initial data group. In FIG. 61, with respect to the two items of the number of programs and the start address of the initial device data, as described in FIG. 3, the number of programs may be affected by the model, and also varies depending on who creates the present invention for what purpose. Note that in this common initial setting, it is necessary to incorporate an empty area in advance so that items can be added in consideration of unforeseen situations.
[0105] FIG. 62 is a device data setting diagram showing the initial settings for each program according to an embodiment of the present invention. 620 in FIG. 62 is an initial data group for each process. It corresponds to the number of programs set in FIG. 61. In FIG. 57, 571 is used as the initial constant area and the touch panel display area, but it has the same structure as that incorporated into the device memory for each number of each process in FIG. 57. That is, by adding the destination and return addresses for each order of the program instead of the number to the initial settings for each processing program, it is possible to easily cope with changes.
[0106] FIG. 63 is a program flowchart diagram of the identification of the initial execution type and the start of initial processing according to an embodiment of the present invention. When proceeding to "Identification and Initial Processing" of 555 in FIG. 55, it shifts to "Identification of Initial Execution Type and Start of Initial Processing" of 630 in FIG. 63, and the identification and initial processing are started. First, perform "Reset (turn off) of Execution Permission Flag" at 631, perform "Reading of Identification Data Described in CPU" at 632, and select "Comparison of the Read Identification Data with the Stored Identification Data" at 633. If the selection result is "Match", it shifts to "Set (turn on) of Execution Permission Flag" at 634. If the comparison result is "Mismatch", it shifts to "End of Identification of Initial Execution Type and Initial Processing" at 637, and the identification and initial processing end. Select "Comparison of the Read Identification Data with the Stored Identification Data" at 633. When the selection result is "Match", perform "Set (turn on) of Execution Permission Flag" at 634, perform "Reset (turn off) of Input Display Device Connection Flag" at 635, perform "Reading of Initial Values of Each Program" at 636, and shift to "End of Identification of Initial Execution Type and Initial Processing" at 637, and the identification and initial processing end.
[0107] Based on the above program flowchart, further explanation is provided. This "Identification of Initial Execution Type and Initial Processing" is executed only once when the power is turned on from off or from STOP to RUN, and it performs two things. One is the identification process from "Reset (turn off) of Execution Permission Flag" at 631 to "Set (turn on) of Execution Permission Flag" at 634. The other is the initial processing of all processes, which is a general preliminary preparation. The identification process is a process for ensuring that a program is executed only on the CPU from the program side. Since programs can be easily replicated, they can be executed on different CPUs in the same way. That is, by simply replicating and using this program, which can handle all algorithm constructions with only data changes, there is no need to create programs corresponding to the algorithms for each device or equipment that are widely used. Here, a bit called the "execution permission flag" is created to implement the identification process. However, making a decision based only on whether the execution permission flag is ON or OFF is too vulnerable because it can be easily imagined by monitoring. To strengthen it, instead of using the execution permission flag, it is sufficient to compare the identification data read for each process with the recorded identification data. However, since it is a few words, there is also a problem that it takes a little time. Even more complex processes such as applying a prime number table can be added. At 635, "reset (turn off) the input display device connection flag" is performed. This is to deliberately reset (turn off) the bit set from the touch panel (TP) and monitor whether the touch panel (TP) is set (turned on). The reading of the initial values of each program at 636 is a general reading. It is also possible to perform it at the beginning of each process.
[0108] Figure 64 is a program flowchart diagram of the start of the reset (turn off) process of the refinement of the timing process of the scan execution type according to an embodiment of the present invention. When proceeding to "reset process of the refinement of the timing process" at 556 in Figure 55, it shifts to "start of the reset (turn off) process of the refinement of the timing process of the scan execution type" at 640 in Figure 64, and the reset (turn off) process of the refinement of the timing process is started. First, the selection of "presence or absence of the number of data in the table data" at 641 is performed. If the selection result is "Yes", it proceeds to "Prohibition of Interrupt of Fixed-Cycle Program" at 642. If the selection result is "No", it proceeds to "End of Reset (Turning OFF) Process of Fine Differentiation of Timing Process for Scan Execution Type" at 64D, and the reset (turning OFF) process of fine differentiation of the timing process is completed. Select "Existence / NON-Existence of Number of Data in Table Data" at 641. When the selection result is "Yes", perform "Prohibition of Interrupt of Fixed-Cycle Program" at 642, perform "Calculation of Number of Checks from Number of Data in Table Data" at 643, perform "Initialization of Number of Currently Executing Checks" at 644, and select "Comparison between Number of Checks and Number of Currently Executing Checks" at 645. If the selection result is "Less Than", it proceeds to "Reading from Modification Register from Table Data" and "Reading of Scan Counter Value from Table Data" at 646. If the selection result is "Greater Than or Equal To", it proceeds to "Permission of Interrupt of Fixed-Cycle Program" at 64C. Select "Comparison between Number of Checks and Number of Currently Executing Checks" at 645. When the selection result is "Greater Than or Equal To", perform "Permission of Interrupt of Fixed-Cycle Program" at 64C, and proceed to "End of Reset (Turning OFF) Process of Fine Differentiation of Timing Process for Scan Execution Type" at 64D, and the reset (turning OFF) process of fine differentiation of the timing process is completed. Select "Comparison between Number of Checks and Number of Currently Executing Checks" at 645. When the comparison result is "Less Than", perform "Reading from Modification Register from Table Data" and "Reading of Scan Counter Value from Table Data" at 646, and select "Scan Counter Value is" at 647. If the selection result is "1 or Less", it proceeds to "Reset (Turning OFF) of General-Purpose Device Bits Modified by Modification Register" at 648. If the selection result is "2 or More", it proceeds to "Change Scan Counter Value to 1" at 649. Select "Scan Counter Value is" of 647. When the selection result is "2 or more", perform "Change Scan Counter Value to 1" of 649, "Write Modified Register to Table Data" of 64A, and "Write Scan Counter Value to Table Data", then merge and repeat, and thus transfer to "Change Scan Counter Value to 1" of 649. Select "Scan Counter Value is" of 647. When the selection result is "1 or less", perform "Reset (Turn OFF) General-Purpose Device Bits Modified by Modified Register" of 648, "Increment the Number of Checks Currently Being Executed by 1" of 64B, then merge and repeat, and thus transfer to "Compare Number of Checks and Number of Checks Currently Being Executed" of 645.
[0109] Based on the above program flowchart, further explanations are provided. This "Reset (Turn OFF) Processing for Fine Differentiation of Timing Processing of Scan Execution Type" is a program for corresponding to what is obtained by performing fine differentiation in the "Timing Processing" of a program of a fixed-cycle execution type. Differentiating bits, capturing contacts differentially, or differentiating instructions can be replaced by the output method, the capture method, or the instruction execution method, and these are one form of it. Specifically described, the execution of a group of scan execution type programs is the repetition of a group of scan execution type programs, and one execution of it is called one scan. That is, differentiation is a form of executing only one scan. Differentiating bits means outputting bits for only one scan, capturing contacts differentially means capturing contacts for only one scan, and differentiating instructions means executing instructions for only one scan. However, since one scan of a fixed cycle execution type program becomes the next cycle, unlike a scan execution type program, if the fixed cycle time of a fixed cycle execution type program is shorter than one scan of a scan execution type program, it will be interrupted many times within one scan of the scan execution type program. Since differentiating with a fixed cycle execution type program cannot guarantee one scan of a scan execution type program, there may be omissions in the scan execution type program, and a reset (turning off) process of differentiation is performed in the scan execution type program. Note that in this program, it is turned on for up to two scans. Incidentally, in a scan execution type program, if a bit is set as differentiation and the bit is reset in the next scan, that is, differentiation can be achieved simply by reversing the order of setting and resetting. To better understand the program flowchart diagram, it is necessary to explain the table data. Table data is a group of data in which certain devices are arranged. At the beginning of it, the number of data in the table data and, starting from the next to the number, the data group in which the data is stored form a structure. There is also an instruction word that adds the number every time data is written and subtracts the number every time data is read. The following are the details of each symbol, etc. The selection of "presence or absence of the number of table data" in 641 examines whether the beginning of the table data is 0 or not 0, and determines whether differentiation has been performed. The "prohibition of interrupt for the fixed-cycle program" of 642 is carried out because the table data is changed in the reset process of the refinement of this timing process. When the refinement is created in the timing process of the fixed-cycle program, the table data becomes unstable. The "calculation of the number of checks from the number of data in the table data" of 643, the "initialization of the number of currently executed checks" of 644, the "comparison of the number of checks and the number of currently executed checks" of 645, and the "addition of 1 to the number of currently executed checks" of 64B are carried out in consideration of the case where refinement occurs simultaneously. The "calculation of the number of checks from the number of data in the table data" of 643 is because when refinement occurs in the data table, two data, the address and the scan counter, and two, the address value and the number of checks, are written. Therefore, when refinement occurs, it increases every even number. The "initialization of the number of currently executed checks" of 644 is always carried out before repeating in order to compare the number of checks and the number of currently executed checks. The selection of the "comparison of the number of checks and the number of currently executed checks" of 645 is the final judgment to exit this process. The "reading from the table data to the modified register" and the "reading of the scan counter value from the table data" of 646 are the transfer of the address value and the number of checks using the table data. The selection of the "scan counter value is" of 647 is to check how many scans have been performed because refinement and scan are closely related. The "reset (turn off) of the general-purpose device bit modified by the modified register" of 648 makes the level output appear to be refined by resetting (turning off) in one scan. The "change the scan counter value to 1" of 649 is set to 1 as a mark that one scan has passed because the scan counter value is set to 2. Since the "writing the modified register to the table data" and "writing the scan counter value to the table data" in 64A are not the times for processing, the data table is written again including the modified scan counter. The "adding 1 to the current number of checks being executed" in 64B is performed to establish a comparison between the number of checks and the current number of checks being executed. Since the "enabling the interrupt of the fixed-cycle program" in 64C does not change the data table in this process, the interrupt of the fixed-cycle program is restored.
[0110] Figure 65 is a program flowchart diagram of the start of processing other than the interface processing, sequential step processing, and timing processing of the scan execution type according to an embodiment of the present invention. When proceeding from the "input device data processing" of 557, "device data arithmetic processing (input standard)" of 558, "input processing" of 559, "logical processing" of 55B, "device data arithmetic processing (output standard)" of 55D, and "output processing" of 55E in Figure 55 to the "processing other than interface processing, sequential step processing, and timing processing" of 650 in Figure 65, the processing other than interface processing, sequential step processing, and timing processing is started. First, the selection of "whether the execution permission flag is ON or OFF" in 651 is performed. If the selection result is "ON", it proceeds to the selection of "the presence or absence of that process" in 652. If the selection result is "OFF", it proceeds to the "end of processing other than interface processing, sequential step processing, and timing processing of the scan execution type" in 658, and the processing other than interface processing, sequential step processing, and timing processing of the scan execution type is ended. The "presence or absence of that process" in 652 is selected. When the selection result is "none", it proceeds to the "end of processing other than interface processing, sequential step processing, and timing processing of the scan execution type" in 658, and the processing other than interface processing, sequential step processing, and timing processing of the scan execution type is ended. When the selection result is "Yes", initialize the processing number of the currently executing process in 653, perform the "Reset (turn off) processing of microdifferentiation" in 654, and make a selection in 655 for "Comparison between the number of processing numbers and the currently executing processing number of that process". If the selection result is "Less than", transfer to "Execution of processing for each number" in 656. If the selection result is "Greater than or equal to", transfer to "End of processing other than interface processing, sequential step processing, and timing processing" in 657, and the processing other than interface processing, sequential step processing, and timing processing ends. Note that since the "Reset (turn off) processing of microdifferentiation" in 654 does not perform microdifferentiation in the output processing, this processing is not performed in the output processing, and the process transfers to "Comparison between the number of processing numbers and the currently executing processing number of that process" in 655. Select "Comparison between the number of processing numbers and the currently executing processing number of that process" in 655. When the selection result is "Less than", perform "Execution of processing for each number" in 656 and "Add 1 to the currently executing processing number" in 657. Then, to merge and repeat, transfer to "Comparison between the number of processing numbers and the currently executing processing number" in 655.
[0111] Based on the above program flowchart, further explanations will be provided. This program flowchart is for the processing when advancing to "Input device data processing" in 557, "Device data arithmetic processing (input standard)" in 558, "Input processing" in 559, "Logical processing" in 55B, "Device data arithmetic processing (output standard)" in 55D, and "Output processing" in 55E of Figure 55. Therefore, they are not performed simultaneously. However, since the processing from 653 to 656 is different for each executing process, six processes with the same structure are created and executed. Although it may be a matter of preference, since the processes are not performed simultaneously, by adding data for identifying each process and specifying the process based on the data for identifying each process, it is also possible to structure them. In this program flowchart, the features of the present invention can be glimpsed. In step 656, "add 1 to the currently executing process number of that process", while changing the currently executing process number, step 655, "execute the process for each number of that process", is repeatedly performed, and in step 654, "compare the number of process numbers of that process with the currently executing process number", the repetition is terminated. The important processes of the program of the present invention ("input device data processing", "device data arithmetic processing (input standard)", "input processing", "logical processing", "sequential step processing", "device data arithmetic processing (output standard)", "output processing", "timing processing") all execute the process of that number while changing the number, and when the number reaches the upper limit, the repetition is terminated. That is, not only can it easily cope with the addition and deletion of programs created by changing the number of repetitions, but it also has a structure that can cope with the construction of all algorithms. The following are the details of each symbol, etc. "Whether the execution permission flag is ON or OFF" in step 651 is only once when the power is turned on from OFF or from STOP to RUN. Depending on whether "reset (turn OFF) the execution permission flag" in step 351 of FIG. 35 and "set (turn ON) the execution permission flag" in step 354 are performed, this process is enabled. "Existence or non-existence of the number of data in that process" in step 652 is performed to shorten one scan time. "Initialization of the currently executing process number of that process" in step 653 is always performed before repeating because it compares the number of process numbers with the currently executing process number. "Reset (turn OFF) process of differentiation" in step 654 is performed at the beginning to delay one scan. The selection of "compare the number of process numbers of that process with the currently executing process number" in step 655 is the final judgment to exit this process. "Execution of the process for each number of that process" in step 656 indicates a transition to the detailed program flowchart of the process for each process and for each number. The "add 1 to the currently executing process number of that process" in 657 is performed to establish a comparison between the number of process numbers and the currently executing process number.
[0112] Figure 66 is a program flowchart diagram of the start of the reset (turn-off) process of microdifferentiation other than the timekeeping process in one embodiment according to the present invention (the same structure for each process). When proceeding to the "reset (turn-off) process of microdifferentiation" in 654 of Figure 65 in this program flowchart diagram of Figure 66, for each process, it shifts to the "start of the reset (turn-off) process of microdifferentiation other than the timekeeping process" in 660 of Figure 66, and the reset (turn-off) process of microdifferentiation other than the timekeeping process is started. First, select "presence or absence of the number of table data for that process" in 661. If the selection result is "yes", it shifts to "reading from the table data to the modified register for that process" in 662. If the selection result is "no", it shifts to "end of the reset (turn-off) process of microdifferentiation other than the timekeeping process" in 664, and the reset (turn-off) process of microdifferentiation other than the timekeeping process ends. When selecting "presence or absence of the number of table data for that process" in 661 and the confirmation result is "yes", perform "reading from the table data to the modified register for that process" in 662, perform "reset (turn-off) of the general-purpose device bits modified by the modified register" in 663, and then shift back to the selection of "presence or absence of the number of table data for that process" in 661 for repetition.
[0113] Based on the above program flowchart, further explanation is provided. This process is paired with the "device data processing", "input processing", and "logical processing" that perform microdifferentiation other than the timekeeping process for each number. Since each table data is different, three processes with the same structure are required. Although it may be a matter of preference, since the processes are not performed simultaneously, by adding data for identifying each process and identifying the process based on the data for identifying each process, it is also possible to structure them. Also, this process is not a program of the scan execution type, but is a simplification of "the reset process of the differentiation of the time measurement process of the scan execution type" in FIG. 64, which is part of the program. That is, "the presence or absence of the number of table data" in 641 of FIG. 64 is the same as "the presence or absence of the number of table data in that process" in 661 of FIG. 66, "the reading from the table data to the modified register" in 646 of FIG. 64 is the same as "the reading from the table data to the modified register in that process" in 662 of FIG. 66, and "resetting (turning off) the general-purpose device bits modified by the modified register" in 648 of FIG. 64 is the same as "resetting (turning off) the general-purpose device bits modified by the modified register" in 663 of FIG. 66. Only the arrows are slightly different, and other processes are deleted. The following are the details of each symbol, etc. The selection of "the presence or absence of the number of table data in that process" in 661 examines whether the head of the table data in that process is 0 or non-zero, and determines whether differentiation has been performed. As also described in FIG. 64, table data is a group of data in which certain devices are arranged. At the head of it, the number of data in the table data is followed by a structure composed of a group of data in which data is stored. There are also instruction words for adding the number each time data is written and subtracting the number each time data is read. "The reading from the table data to the modified register in that process" in 662 is the transfer of the address using the table data and the subtraction of the number of table data. "Resetting (turning off) the general-purpose device bits modified by the modified register" in 663 is to make the level output appear as if it were differentiated by resetting (turning off) in one scan.
[0114] FIG. 67 is a program flowchart diagram for starting the execution of the processing for each number of the input device data processing according to an embodiment of the present invention. From the "input device data processing" in Fig. 55, when proceeding to the "execution of each process for each number" in Fig. 37, where each process has the same structure, it shifts to the "start of execution for each number of input device data processing" in Fig. 67, and the execution of input device data processing for each number starts. First, perform "extracting the start address of the number by sequentially tracking from the start address of this program for the current execution process number for the initial value" at 671, perform "extracting the address of each element for the number of elements from the start address of the number" at 672, perform "determining the type, comparison symbol, devices for comparison source and comparison destination, and presence or absence of microdifferentiation from the element value", perform "writing the element value of the comparison source address to modification register 1", perform "writing the element value of the comparison destination address to modification register 2", perform "writing the element value of the general-purpose bit address to modification register 3", and perform "writing the address of the microdifferentiation prohibition bit determined from the start address of the number to modification register 4", and then perform the selection of "comparing the comparison source of the determined device modified by modification register 1 and the comparison destination of the determined device modified by modification register 2" at 674. If the selection result is "established", it shifts to "presence or absence of microdifferentiation" at 675. If the selection result is "not established", it shifts to "not outputting the general-purpose bit modified by modification register 3 at the level" at 679. Select "comparing the comparison source of the determined device modified by modification register 1 and the comparison destination of the determined device modified by modification register 2" at 674. When the selection result becomes "not established", perform "not outputting the general-purpose bit modified by modification register 3 at the level" at 679, and perform the selection of "is the microdifferentiation prohibition bit modified by modification register 4 established" at 67A. If the selection result is "established", it shifts to "resetting (turning off) the microdifferentiation prohibition bit modified by modification register 4" at 67B. If the selection result is "not established", it shifts to "ending the execution of each process for each number of input device data processing" at 67C, and ends the execution of input device data processing for each number. Select "Is the differentiation prohibition bit modified by modification register 4 valid?" in 67A. If the selection result is "invalid", it will transfer to "End the execution of the processing for each number in the input device data processing" in 67C, and end the execution of the processing for each number in the input device data processing. Select "Comparison between the comparison source of the device determined by modification register 1 and the comparison destination of the device determined by modification register 2" in 674. If the selection result is "valid", select "Presence or absence of differentiation" in 675. If the selection result is "present", transfer to "Is the differentiation prohibition bit modified by modification register 4 not valid?" in 676. If the selection result is "absent", transfer to "Output the general-purpose bit modified by modification register 3 at the level" in 678. Select "Presence or absence of differentiation" in 675. If the selection result is "absent", perform "Output the general-purpose bit modified by modification register 3 at the level" in 678, and transfer to "End the execution of the processing for each number in the input device data processing" in 67C, and end the execution of the processing for each number in the input device data processing. Select "Presence or absence of differentiation" in 675. If the selection result is "present", select "Is the differentiation prohibition bit modified by modification register 4 not valid?" in 676. If the selection result is "invalid", transfer to "Set (turn on) the general-purpose bit modified by modification register 3", "Write modification register 3 to the table data", and "Set (turn on) the differentiation prohibition bit modified by modification register 4". If the selection result is "valid", transfer to "End the execution of the processing for each number in the input device data processing" in 67C, and end the execution of the processing for each number in the input device data processing. Select "Is the differentiation prohibition bit modified by Modification Register 4 not established?", and if the selection result is "not established", perform "Set (turn on) the general-purpose bit modified by Modification Register 3", "Write Modification Register 3 to the table data", and "Set (turn on) the differentiation prohibition bit modified by Modification Register 4", and then transfer to "End the execution of the processing for each number in the input device data processing" at 67C to end the execution of the processing for each number in the input device data processing.
[0115] Based on the above program flowchart, further explanation is provided. This "input devic...
Claims
1. There are a plurality of pieces of processing data consisting of an arbitrary number of rows and an arbitrary number of columns, and a microprocessor (MPU) or CPU executes processing according to a purpose based on the plurality of pieces of processing data, that is, one row of one of the processing data, and then moves on to the next row and executes processing thereon, and when the rows run out, returns to the first row and continues executing processing. In addition to the processing data of that line, the start address of the next line and the start address of the previous line are added to the processing data of that line, Furthermore, if the number of data items in the processing data for one row is variable, the variable number of data items is added to the processing data for that row, Furthermore, a data structure characterized in that, when the processing content for executing processing of one row requires repetition or branching, repetition data and processing data for the repeated or branched processing data are added to the processing data of that row.
2. A program for making a microprocessor (MPU) or a CPU execute processing according to a purpose based on the data structure according to claim 1, wherein the processing data is Processing data for input device data processing, which is executed by comparing device data for each row and changing the ON / OFF state of the general-purpose bit based on the results; Processing data for an input process that takes in physically arranged input bits for each row and executes the process by changing the ON / OFF state of the general-purpose bits; Processing data of a logical process that, for each row, replaces a general-purpose bit with ON / OFF when a logical AND or OR of a plurality of general-purpose bits output from other processes becomes true; Processing data of a sequential step processing in which, for each row, the execution state of the processing is handed over to another row or a row of another processing by transitioning the ON state of the generic bit based on the generic bit output from another processing, and transmitted and executed; For each row, processing data of a device data calculation process in which a calculation function provided in a microprocessor (MPU) or CPU is calculated and executed on device data or device bits as specified; Processing data of an output process that executes, for each row, a general-purpose bit output from another process by changing the ON / OFF state of a physically arranged output bit; and processing data for a time counting process that is executed by changing the ON / OFF state of a general-purpose bit over time for each row. A program characterized in that, in order to execute the above processing, the selection required for the processing is replaced with a numerical value of processing data, the address of a general-purpose bit is used as the processing data, and the processing data is written to and used in a plurality of modifying registers to execute the processing of that row, then the program moves on to the next row and executes the processing, and when the rows run out, the program returns to the first row and continues executing the processing.
3. An interface processing program which uses a touch panel (TP) or a PC as an interface for manipulating each processing data of the program described in claim 2 and, when a display memory area for a portion corresponding to each processing data of claim 2 is secured in a microprocessor (MPU) or a CPU, creates, deletes, adds, or modifies the processing data using the display memory area, and which is further included in a program on the touch panel (TP) or PC side, or in the program described in claim 2.
4. An identification and initial processing program that performs an identification process when a power source is turned on or reset, and controls and stabilizes a processing state to an initial state, wherein unique physical specific data is written into the identification and initial processing program before the identification and initial processing program is written into a microprocessor (MPU) or CPU, and during the identification process, the written data is compared with the unique physical specific data possessed by the read microprocessor (MPU) or CPU, and if they do not match, the identification and initial processing program changes the ON / OFF state of a general-purpose bit and transmits a prohibition instruction to each processing program described in claim 2; 3. The program according to claim 2, wherein a program for not executing each of the processes according to claim 2 based on an instruction to inhibit the identification and initial process program is incorporated into the program for each process.
Citation Information
Patent Citations
JP1973084438A
Banzai
JP1976055228A
Method of producing panel battery
JP1978035128A
Controller for alternating current elevator
JP1985023266A
Programming method for system including robot
JP1996249026A