Mixing language type program processing controller
Abstract
PURPOSE:To attain a controller which is rich in extendability and flexibility by providing plural processors in a controller for process control and providing a control means to judge the optimum processor for each language processing and to distribute the processing to the processor. CONSTITUTION:A job controller 101 reads a table by job language type and recognizes that a first job exists in addresses 0000-0100 of a memory 102 and a job language is rudder. Further, it is recognized that the arranging number of a language processing table is 0 and thus it is recognized that a processor A104 has the highest processing ability of the rudder language. The program concerned is loaded from the memory 102 to the processor A104 and this program is latched to an internal memory. Samely in a following processing, the same processing is executed concerning the 'block' of the address 0200. Next, the 'ladder' of the address 0200 and the 'FA-BASIC' of an address 0300 are executed and operation is finished.
Term
Term ended
Projected expiry passed 25 February 2008, 18.6 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
2 claims: 2 independent, 0 dependent
- 1[Claim(s)] 【特許請求の範囲】 1、制御用の複数のプロセッサと、制御用プログラム内の各処理を記述している言語に基づき、上記複数のプロセッサの中で最適なプロセッサを判断し、処理を最適なプロセッサに分配する手段と、を有する異種言語混在形プログラム処理コントローラ。 A different-species language mixture type program manipulation controller comprising:1, a plurality of processors for control, A means to judge optimal processor in a plurality of above-mentioned processors, and to distribute processing to optimal processor based on a language which has described each processing in a program for control.
- 22、制御用の複数のプロセッサと、ジョブコントローラと、該ジョブコントローラとプロセッサ間通信を行うバスとを備えると共に、ジョブコントローラは、 プログラムの各処理を記述している言語種別を認識する手段と、各制御用プロセッサの言語処理能力を認識する手段と、各制御用プロセッサの実装/未実装を認識する手段と、言語種別及び言語処理能力、及び実装の条件のもとで上記複数のプロセッサの中で最適なプロセッサを判断し処理を該プロセッサに分配する手段と、を有してなる異種言語混在形プログラム処理コントローラ。 A different-species language mixture type program manipulation controller comprising:2, a plurality of processors for control, It has a job controller, the job controller, and a bus that performs interprocessor communication, and is a job controller, A means to recognize language classification which has described each processing of a program, and a means to recognize language-processing capability of each processor for control, A means to judge processor optimal in a plurality of above-mentioned processors under a means to recognize mounting / un-mounting of each processor for control, language classification and language-processing capability, and conditions of mounting, and to distribute processing to the processor.
Independent claims2
4 paragraphs, as filed
[Detailed Description of the Invention]
[Industrial Application] The present invention relates to the controller for process controls, and relates to the controller for process controls which processes the program in which the processing described by an especially different language is intermingled. [Description of the Prior Art] About the program language trend of the conventional controller for process controls, In the A-Do side, it has developed into general-purpose microprocessor type and a bit slice form from the dedicated communication circuit form with a transistor as discussed in the "trend of the language in PC" of page [ the 957th to / Institute of Electrical Engineers of Japan approval 56-10 and / 964th ]. In respect of soft, it has developed into graphic language, such as a block diagram, and the expression operation according to general-purpose languages, such as FORTRAN and the C language, further from the rudder sequence in the meantime. In the present, the programming language form of many processors and a large number exists in the world of the controller for process controls. For this reason, it is satisfactory when running a rudder and program 15.17 created by each block by controller 16.18 for each languages, as shown in 2nd [ The ] figure (b). That is, controller a performs program manipulation by rudder expression at high speed, and controller b performs program manipulation by block chart expression at high speed. For this reason, compiler 11*12 is the existing thing. However, as shown in 2nd [ The ] figure (Ro), when running the program described by the rudder by controller 18 for block diagrams, it is necessary to create compiler 14 for exclusive use. Same compiler 13 is needed from a block also to a rudder. The necessity that the kind of processor will create a m x n piece compiler temporarily supposing the number of m and programming languages does n existence of comes out. There is a method of using the interlingua indicated in "automation" (33 No. 1, P11~15) as a method of avoiding this. When it is the Q number (Q<=m) of an interlingua, a compiler will end by rhoXm. [Problem(s) to be Solved by the Invention] However, it is difficult to develop an interlingua which includes all the programming signals in the present art, and, usually has a form of some interlinguas for each use. With however, the conventional technology under above "automation", Conversion between interlinguas still remains and it is not considered about processing of the program in which the processing described in a different language as shown especially in Drawing 3 given [ the ] in the 14th page is intermingled, The software property developed conventionally could not be combined and used in the form of a function module, the processing described in each language was changed into the common interlingua, and also there was a problem that the conversion united with the language form of the processor to be used was needed. The object of the present invention is to provide the controller for process controls which can run the different-species language mixture type program created on the memory as shown in Drawing 3 without changing the existing software property. [Means for solving problem] The present invention provided a plurality of processors in the controller for process controls, when making it process further based on the language which had each processing in a program described, judged the optimal processor for each language processing, and established the control means which distributes the processing concerned to the optimal processor. The present invention realized the above-mentioned control means by the job controller. This job controller was connected via a plurality of processors and buses. A job controller is carried out to making it communicate with each processor via a bus, it is a basis of communication through this bus, and is judged, and has the following four means for distribution. Namely, a means by which a job controller recognizes the language classification of each processing in a program. It has a means to recognize the language-processing capability of each processor, a means to recognize the mounting state of each processor, and a means that carries out the distribution instructions of the processing to Procera according to this judgment result. Processing is program execution here and 1 distribution instructions mean loading. [Function] According to the present invention, by a control means, the optimal processor for each language processing is judged, and distribution of the processing to this processor can be attained. In the example realized by the job controller, The job controller concerned chooses a processor with the highest throughput by a means to recognize the spoken language of the processing to perform by a means to recognize the language classification of each processing in a program, and then to recognize the throughput over the language concerned of each processor. After checking that the processor concerned is mounted by a means to recognize a mounting state, the program of the processing concerned is loaded to the processor concerned by a distribution commanding means. When the processor concerned is not mounted, the high processor of throughput is chosen next by a means to recognize the throughput of each processor to the language concerned again. If it checks that the processor concerned is mounted and is mounted by a means to recognize a mounting state again after that, By a distribution commanding means, the processing program concerned is returned to the processor harrowed To concerned and a means to recognize the throughput of each processor to the language concerned again if not mounted, and the same processing is repeated. All the processors which may be mounted in a controller for process controls are Derision(ed) by means to recognize throughput of each processor to the language concerned. And conte low for process controls ''. Since it is not possible as a matter of fact, processing of the job controller concerned of mount [ in La / for a processor / one ] falls, and is not in an infinite loop. Execution of the processing distributed to the starting optimal processor is the actual control processing itself. Therefore, in this actual control processing, each processor is started according to an order and a control action is continued. A job controller makes starting of the program in this case perform. [Example] The example of the present invention is described using a drawing. Drawing 4 is one example of the system configuration which used the controller for process controls of the present invention. Controller 100,200 for process controls of the present invention is connected with process monitoring device 20 via network 10. PI1030 *31 is connected to controller 100 for process controls, and PI1032 and 33.34 are connected to controller 200 for process controls, respectively. Process monitoring device 20 writes the program which controller 100,200 for process controls is made to run in the memory of the controller 100,200 for process controls concerned via network 10, respectively. Generally a process monitoring device comprises the final controlling element which performs the various quantity of state of a process, the indicator of conditions, and various operations for process controls. However, there are many examples which give program creation support capability other than this surveillance / operation function these days. This program creation support function was given to process monitoring device 20 in this example. By this, an operator creates a program with process monitoring device 20. Monitoring instrument 20 compiles this created program, and creates an object program. Here, in the case of PC (programmable controller), a creation program is a program of different-species language mixture in many cases. For example, rudder form, block form, etc. exist in a different-species language variously. The object program compiled under each language form serves as a respectively original machine code form. a plurality of processors 104~106 for control -- respectively -- the object for rudder formal declinable word word processing, and the object for block formal declinable word word processing -- it is carried out and one processor is functionalized for [ one ] language processing. Therefore, one processor is an object for rudder formal declinable word word processing, and adding the function for block formal language processing needs to perform functional processing for block formal language processing. This adding function is possible by adding the interpreter for block formal language processing to the processor concerned. In a different-species language mixture program, a part is rudder form in one program, the case where the whole is described for other parts in rudder form when being come out and described, block form and, or the subroutine is described in block form -- further a plurality of programs exist -- one -- rudder form and other one -- block form -- Either shall also be pointed out when having become The leading method of the program creation by a process monitoring device is described below. A database is connected to a process monitoring device. Where [ where of it was object-ized ] the programs (a rudder, a block diagram, etc.) created in the past are compiled (namely, machine-code-izing), it stores in this database. An operator (programmer) sees the screen where the menu of this program is displayed, and selects a menu required as a program. A program is done combining this selected menu. As a result, the formed program turns into the existing different-species language combination type program. This intelligible example of - is shown in Drawing 14. In Drawing 14, ■, ■, and ■ are displayed as a display menu, and if an actual program considers it only as ■ and ■, it will choose menu ■ and ■ and will combine this. This combination result was shown as A. a result -- A -- a screen -- being shown -- it may make -- an operator's thing which exists in the head -- it may be . In this way, the program of ■ and ■ which carried out the ring is obtained as a program. things show to B -- as -- the combination program of this ■ and ■ -- a rudder -- a block -- it can become a different-species language combination type program, and this program is taken out from a database in the form formed into the machine language, and is sent out and latched to memory 102 of job controller 101. In addition, there is also the way of creating programs one by one with a monitoring instrument without using a database. This method is also included in the present invention. Drawing 1 shows the composition of controller 100 (controller 200 of a view is also the same) for process controls of the present invention used for Drawing 4. A processor with high throughput of the program according [ processor (A) 104 ] to a ladder diagram, A processor with high throughput of the program according [ processor (B) 105 ] to general-purpose languages, such as a BASIC language, and processor (C) 106 are processors with high throughput of the program by a block diagram. These processors 104,105,106 are connected with job controller 1o1. memory 102. network interface 1o3 *PI10 interface 107 via internal bus 108. The program by which process monitoring device 2o of Drawing 4 was Send(ed) passes along network interface 103 and internal bus 108, and is written in memory 102. This program is a program of PC processing for example, and comprises the program described according to various language form. job controller 101 -- the [ the job language classification table of Drawing 5, and ] -- the language-processing table of 6 figure, and the processor registration table of Drawing 7 -- an ingredient -- greatness To. In process monitoring device 20 of Drawing 4, when transmitting a program to controller 100 for process controls, the contents of the job language classification table of Drawing 5 are simultaneously transmitted to controller 100 for process controls, and it stores [ program ] with a program in memory 100. here, according to an order of a program address, the job language classification table of Drawing 5 registers the job language classification which carries out loading, and a processing table arrangement number, and comes out. The language-processing table of Drawing 6 carries out order of the priority relation between processors for language processing to arrangement number 0~3 correspondence. The processor registration table of Drawing 7 carries out order of the existence of connection of each anticipation processor A, B, and C to bus 108. With the table of Drawing 7, it is processor A. Let all of B and C be those with connection. if not connected -- the processor correspondence which is not connected [ the ] -- "-- instead of [ of owner" ] -- "---less" is displayed. When it is taken in from PI10 interface 107 in Drawing 1 and is processed by each processor A, B, and C, the form of the data which transmits internal bus 108 presupposes that it is the same. The language-processing table of Drawing 6 specified priority relations in order of the size of the processing speed of language form. For example, if it is in arrangement O, processor A has the quickest processing speed and, subsequently turns into processor B and processor C. Here, each processor had a single language form processing capability, as stated previously, and it was taken as making an interpreter add for language processing of other forms. Therefore, in the example of arrangement 0, processors B and C should conclude that the interpreter in which rudder formal processing is possible respectively is attached. Similarly, in arrangement 1, it should have a function in which processor C processes a block figure type, and processors A and B should conclude that the interpreter for block diagram processing should be attached. Others are also the same. Therefore, when the interpreter for other language processing is not attached, there is no priority relation in each arrangement, and it becomes the condition which called arrangement O processor A specification and called arrangement 1 processor C specification. For the present invention. Both can apply. Next, processing of job controller 101 is explained according to the flow of Drawing 8. As for job controller 101, the 1st job is address ooo of memory 102 by reading the job language classification table of Drawing 5 first. It exists in ~0100, recognizes that a job language is a rudder, and recognizes further that the arrangement number of the language-processing table showing the throughput of each processor to a rudder language is O (Step 50). Processor (A) 104 recognizes that the throughput of a rudder language is the highest by reading the language-processing table of Drawing 6 to Blow based on the arrangement number 0 concerned (Step 51). It checks that Step 52 out of which reads the processor registration table of Drawing 7 and it comes and which it spreads, and processor A are mounted (Step 53). It is processor (A) 104 harrowed To (Step 54) from memory 102 about the program concerned after a check. In processor A, this program is latched to an internal memory (or register). The same processing as per [ of address 0100 / [block " ] is performed like the following. Subsequently, "rudder" Adlai Xo 300(7) of address 0200 rFA-BASICJ is processed and it ends. Next, the processing operation of job controller 101 as shown in Drawing 9, in case processor (C) 106 is not mounted in controller 100 for control is explained according to the flow of Drawing 8. In this case, the processor registration table of Drawing 7 is changed as shown in Drawing 10. As the 1st job (rudder form) was first mentioned above to processor A according to the flow of Drawing 8 according to the table of Drawing 5, after loading the job controller 101 concerned, The 2nd job is read from the job language classification table of Drawing 5, a program exists in address 0100~0200 of a memory, and a job language recognizes that a block diagram and a processing table arrangement number are 1 (Step 50). Next, processor (C) 106 checks that it is the highest processor of the throughput of the program by a block diagram from the contents of arrangement number 1 of the language-processing table of Drawing 6 (Step 51). Next, since it is checked whether Step 52 out of which reads processor registration of Drawing 10 and it comes and which it spreads, and processor (C) 106 are mounted and processor C is not mounted in this case, Processing is returned again, To step 53 and the language-processing table of Drawing 6 are read, and it recognizes that the processor in which throughput is [ 2nd ] the highest is processor (B) 105 (Step 51). Next, it checks that Step 52 out of which reads the processor registration table of Drawing 10 again, and it comes and which it spreads, and processor (B) 105 are mounted (Step 53). The program concerned is loaded to processor (I3) 105 (Step 54). Although this example showed a ladder diagram, a block diagram, and F A-BASIC as a combination of a different-species language, it cannot be overemphasized in the combination of other languages (for example, the C language, a decision table, etc.) that the same effect is acquired. According to 1 this example, it becomes possible above to run the job program written by a different language on the same controller for process controls, Since it can use without changing the program conventionally developed on each processor for process controls, the reusability of software is good. It is Enrich also to mounting of a processor, and un-mounting to pliability [ as opposed to / are only changing the processor registration table of Drawing 7 and / since it is good / a system change ]. Also when PI/O interface 107 as shown in Drawing 11 is not mounted as other examples, The data to which network 10 top of Drawing 4 is transmitted is taken in in controller 100 for process controls via network interface 103 of Drawing 11, and the same processing as the case of Drawing 1 is performed henceforth. Under the present circumstances, the data of a result processed by controller 100 for process controls is again sent out on network 10 via network interface 103. It is although the case where network interface 103 is not mounted can be considered as other examples as shown in Drawing 12, In this case, it is performing loading of a program for every controller without a network, and performs the same processing as the case of Drawing 1 as a controller of a stand-alone. Next, the processing distribution diagram for holding the overview in this example is shown in Drawing 13. First, this creation program is collectively carried out program creation and compiled using a process monitoring device, an object pro crumb is obtained and a mutual link is aimed at. Next, this program (execution module) is loaded to memory 102. Various tables are also collectively stored in memory 102. An end of loading will start controller 100. Job controller 101 performs the optimum allocation of an execution module to processor A, B, and C by this starting. following in order of processing of a program in a figure -- a rudder object program -- the memory of processor A -- next, a block diagram object program is loaded to processor C, finally the object program of F A-RASIC is loaded to processor B, and distribution is ended. A job controller applies starting of each processor after loading of each above processor. This starting order is the order of processor A-+c-+B. Various application and a modification are described. (1) In this example, although the job controller played the role of judgment distribution, it is also dispersedly realizable. The role may be given to one of the CPUs for control. It is applicable also to the computer system for information processing which can deal with a different-species language besides the controller for Tower control. (3) Although it presupposed that the program created under program creation support is sent out to memory 102, it may be made to make it input on a tape etc. In this case, a compile function may be given to a job controller. [Effect of the Invention] Since it is possible to perform software conventionally developed on the processor corresponding to each program language for process controls by one controller for process controls according to the present invention, A new program is created, combining the existing software property as a function module, the program is described by what kind of language form ability, or the user can perform, without being conscious. it can respond only by changing each table of a job controller at the time of change of the kind of processor in the controller for process controls, and a scale, and it is Plenty at extendibility and pliability -- the controller for process controls can be obtained.
[Brief Description of the Drawings]
Drawings 1 are an one example figure of the controller for process controls of the present invention, and Drawing 2, The figure and Drawing 3 showing the program manipulation in the controller for process controls by conventional technology, The figure and Drawing 4 showing an example of a different-species language mixture type program are an one example figure of the system configuration at the time of using the controller for process controls of the 1 present invention, and Drawing 5, The one example figure of the job spoken-language classification table which the job controller in the contest 1~roller for process controls of the present invention owns, and Drawing 6, The one example figure of the language-processing table of each processor which the job controller concerned owns, Drawings 7 are an one example figure of the processor registration table which the job controller concerned owns when the process control controller concerned takes the composition of Drawing 4, and Drawing 8, A process flow in case the job controller concerned distributes the program of each processing to the optimal processor, and Drawing 9, The one example figure of the process control controller of the present invention, and Drawing 10, System [ when the figure and Drawing 11 showing a processor registration table when the process control controller concerned takes the composition of Drawing 9 do not mount PI10 interface ] [A, and Drawing 12 are distribution diagrams when not mounting the network interface, Drawings 13 are a whole processing distribution diagram and a program creation explanatory view with effective Drawing 14. 1, 00 ... The controller for control, 101 ... A job controller, 104,105,106 ... Processor.
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JPH07121382A | Cited by | Japan | Search report |
| US7526673B2 | Cited by | United States of America | Applicant |
| US7418703B2 | Cited by | United States of America | Applicant |
| JPS60142744A | Cites | Japan | Search report |
| JPS6069769A | Cites | Japan | Search report |
3 priority claims, no other members on record
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 4087088 | Japan | A | |
| 63040870 | – | – | – |
| JP19880040870 | – | – | – |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS |
Numbers
- Publication
- 1-217536
- Publication, DOCDB
- H01217536
- Publication, EPODOC
- JPH01217536
- Application
- 63040870
- Application, DOCDB
- 4087088
- Application, EPODOC
- JP19880040870
Titles2
- English
- MIXING LANGUAGE TYPE PROGRAM PROCESSING CONTROLLER
- Japanese
- 【発明の名称】異種言語混在形プログラム処理コントローラ
Classification
- IPC, 4
- G06F15 16
- G06F9 44
- G06F9 50
- G06F15 177