Control apparatus controlling process

Abstract: A method for controlling a control apparatus such as a programmable controller which includes a CPU and special function modules. The CPU conducts sequence control and the special function modules perform control other than sequence control in accordance with commands from the CPU. Each instruction represents a normal or special instruction. Special instructions include a first symbol denoting a special function unit-corresponding instruction and a second symbol denotes a special function type (independent of memory addresses). Once the CPU identifies a special function instruction by identifying the first symbol, the CPU stores the contents of the instruction step into a mulit-directional access memory of the special function unit. Thereafter, in one embodiment, the CPU generates an interrupt requesting the special function unit to execute this instruction. In other embodiments, the CPU performs instruction processing to ensure, for example, that the instruction is a correct one for the selected special function module. The special function unit decodes and executes the instruction based upon the second symbol denoting the special function type.

Description: The present invention relates to a process for controlling a programmable controller comprising special function units for performing control operations other than sequence control in accordance with commands from a CPU unit. Programmable controllers were initially considered merely as a replacement for relays. However, the ease with which these controllers are programmed and their flexibility and functional capacity have expanded the programmable controller's field of application. Accordingly, programmable controllers are now employed not only for sequence (digital) control, but also analog control, position processing, communication processing, and monitoring displays. Sequence control is chiefly performed by a CPU module within the programmable controller. The other controller applications are mainly performed by special function modules. The CPU module also performs integrated control of the entire programmable controller by writing directive data and reading resultant data from the special function modules. Special function modules are essential for control of systems which continue to increase in scale and complexity. Data transfer between the CPU module and special function modules will now be described. Fig. 5 illustrates a system configuration diagram of a programmable controller known in the art, which includes a CPU module 1 for controlling the entire programmable controller, a program memory 11 for storing sequence programs, a device memory 12 for storing data employed in and resulting from the sequence programs, and a programming device 2 for writing the sequence programs to be stored in the program memory 11. This system also includes a communication cable 3 for connecting the CPU module 1 and the programming device 2, input/output modules 4, special function modules 4A and two-port memory 41 acting as a bidirectional access memory which allows data transfers between the special function modules 4A and CPU module 1. Figs. 6a to 6c provide structural examples of the two-port memory 41. Fig. 6a represents the two-port memory 41A of a two-channel digital-to-analog module. Fig. 6b illustrates a two-port memory 41B of an eight-channel D/A converter module, and Fig. 6c illustrates a two-port memory 41C of a display module. Fig. 7 sets forth the format for instructions controlling data transfer between the CPU module 1 and the special function modules. The instruction 5 for reading data from the special function module 4A includes an I/O number 51 corresponding to the I/O position at which the special function module 4A is installed, and the head (i.e. first) address 52 of the two-port memory 41 from which data in the special function module 4A is to be read. The CPU instruction also includes a device head address 53 indicating the first address in the device (CPU) memory 12 to which the data is to be written, and the number of data points 54 to be transferred. The instruction 6 for writing data to a special function module includes an I/O number 61 corresponding to the I/O position at which the special function module 4A is installed, the head address 62 of the two-port memory 41 to which the special function module 4A data is to be written, the head device address 63 of the device (CPU) memory 12 from which the data is read, and the number of data points 64 to be transferred. Examples of instructions for transferring data to the special function module 4A in the CPU module 1 are illustrated in Fig. 8. Instruction 6A writes one data point from the contents of device D0 to address 2 of the two-port memory 41 in the special function module 4A installed in I/O position 50. Instruction 6B writes one data point from the contents of device D0 to address 8 of the two-port memory 41 in the special function module 4A installed in I/O position 50. However, the prior art includes a limited number of instruction types for the special function modules, such as FROM and TO instructions, which are employed to perform processing with respect to all special function modules. Thus, each instruction may have a different meaning depending upon which two-port memory receives the instruction. For instance, the program 6A sometimes operates as an analog output instruction to the first channel and sometimes as a display instruction, as will be explained below. The user creates (Fig. 4A) the instructions shown in Fig. 8 with the programming device 2 and writes them to the program memory 11 of the CPU module 1 via the communication cable 3. When running the program step 6A, the CPU module 1 writes the contents of device D0 in the device memory 12 to address 2 of the two-port memory 41A, 41B or 41C for the special function module installed in the I/O module at position 50 (which is specified in program 6A). Each special function module interprets this instruction in a different manner. If a 2-channel D/A conversion module is installed at this I/O module position (the structure for which is set forth in Fig. 6a), the module outputs an analog value corresponding to the contents at address 2 of the two-port memory 41A. However, if a display module is installed as the special function module 4A, then the instruction 6A represents a program for displaying a character corresponding to the contents of device D0 at a display position stored in the buffer memory head address "2". In the example format (Fig. 6) for a display module, this address represents line 1 and column 3. Thus, the display module outputs a character corresponding to the contents at address 2 of the two-port memory 41C. Program step 6B (Fig. 8) represents an instruction for outputting an analog value corresponding to the contents of device D0 to a channel of an eight-channel digital-to-analog converter module (a special function module having eight digital-to-analog conversion facilities) installed in the I/O position 50. In this case, as indicated by the two-port memory structure in Fig. 6b, the contents of device D0 will be written to address 8 of the two-port memory 41B. The user creates the instruction 6B from the programming device 2 and writes it to the program memory 11 of the CPU module 1 via the communication cable 3. Thereafter, the CPU module 1 writes the contents of device D0 in the device memory 12 to address 8 of the two-port memory 41B in the eight-channel digital-to-analog converter module (Fig. 6B) installed in the I/O position 50 specified in that program 6B. The eight-channel digital-to-analog converter module outputs an analog value corresponding to the contents at address 8 of the two-port memory 41B. When an analog output is to be provided to the first channel of the digital-to-analog module, the program step will resemble 6A or 6B depending on the number of channels of the digital-to-analog module. Another program is employed if the digital-to-analog converter module includes 16 channels. The prior art programmable controller controlling process, as described above, has few instruction types for the special function modules which are employed to perform all processing with respect to the special function modules. This has created the following problems: (1) the same instruction is used to command entirely different operations, (2) the format of an instruction cannot indicate which operation that instruction represents, since the instruction may differ in format with respect to the same operation, and (3) when writing a program, the addresses of the multi-directional access memory must be considered to ensure that the program step is sent to the correct special function module, which complicates programming. It is, accordingly, an object of the present invention to overcome the disadvantages in the prior art by providing a programmable controller controlling process which allows a program to be written without considering the addresses of the multi-directional access memory in the special function module, wherein the operation of an instruction is readily identified from its format, in order to ensure easy program reading. According to the present invention, a process for operating a programmable controller is provided as defined in claim 1. A programming device is used to write a program having an instruction step employing a function-symbol identifying the instruction to relate to a special function unit and a type-symbol denoting that type of special function independent of memory addresses, wherein the program is stored in the program memory of the CPU unit. When executing the program, the CPU determines whether a currently executed instruction step relates to a special function unit by testing the function-symbol and stores the contents of the instruction step into a multi-directional access memory of the special function unit. The CPU preferably requests the special function unit to execute the instruction step. The contents of the instruction in the special function unit are preferably decoded and executed by the special function module based upon the type-symbol stored in the multi-directional access memory. When an instruction step is identified to be a special function instruction (based upon the function-symbol), the contents of the instruction step are preferably stored into the multi-directional access memory of the special function unit. At the same time, the special function unit is preferably requested to execute the instruction step. Finally the contents of the instruction are decoded and executed in the special function unit based upon the type-symbol denoting the special function type, independently of the memory addresses of the instruction step stored in the multi-directional access memory. The process for controlling a programmable controller which achieves the above objects requires a CPU unit for conducting sequence control and a plurality of special function units for performing control other than sequence control in accordance with commands from said CPU unite. Fig. 1 gives a structural example of a multi-directional access memory provided in a special function unit of a programmable controller. Fig. 2 illustrates formats of special function instructions. Figs. 3a-3e provide specific examples of the special function instructions. Figs. 4a-4c are flowcharts showing a sequence of the programmable controller operation. Fig. 5 illustrates a general configuration of a programmable controller. Figs. 6a-6c give structural examples of multi-directional access memories provided in special function units of the known programmable controller illustrated in Fig. 5. Fig. 7 shows formats of special function unit-corresponding instructions in the prior art. Fig. 8 provides specific examples of the special function unit-corresponding instructions in the prior art. Figs. 9a-9d illustrate examples and the general structure for information stored in the two-port memory of the special function modules. Fig. 10 is a flowchart showing a sequence of the programmable controller operation for a second embodiment. In the above drawings like reference characters designate like or corresponding parts throughout. A first embodiment of the present invention will now be described with reference to Fig. 1-5. The configuration of the programmable controller is similar to that of the programmable controller in Fig. 5 described for the prior art and includes a CPU unit 1, a programming device 2, a special function unit 4, a program memory 11, a device memory 12, and a multi-directional access memory 41. Fig. 1 illustrates the format of a special function module instruction 7, wherein "Z_" may be followed by any instruction name. An I/O number 71, which indicates the installation position for the desired special function module, is stored after the instruction name and data 72 is stored after the I/O number. Fig. 2 illustrates two special function module instructions. Instruction 7A writes the contents of device D0 as an analog output command value to the first channel of the D/A module installed in the I/O position 50. Instruction 7B displays the contents of device D0 on line 0 and in column 3 of the display module installed in I/O position 50. Figs. 3a to 3e show the general structure (content) of the two-port memory 41 when functioning as bidirectional access memory accessible from both the CPU module 1 and special function modules 4. Fig. 3a gives a general example of the memory structure in the special function module. Fig. 3b illustrates the memory contents 41BB when an analog output is provided to the first channel of a two-channel or eight-channel D/A module. Fig. 3c illustrates the memory contents 41CC when a display module is accidentally commanded to provide an analog output. Fig. 3d shows the memory contents 41DD when the display position of the display module is to be changed, and Fig. 3e represents memory contents 41EE when the display is provided on the display module. Figs. 4a-4c represent flowcharts for operation of the programming device 2, the CPU unit 1 and a special function module 4, respectively. Prior to operation, any instruction names to be accepted as valid for each module during operation are predefined in each special function module 4. During operation, the user writes each program via the programming device 2 (step 101, Fig. 4a) using the instruction format shown in Fig. 3. This program is stored in program memory 11 in CPU module 1 via the communication cable 3 at step 102. When the program sequence is run, it is first written to program memory 11 in step 111, after which the CPU module 1 reads and decodes the first program instruction at step 112. The CPU then determines whether the first two characters of the instruction name equal "Z_" (step 113), which identifies this instruction (also referred to as a program step) as a special function module (SFM) instruction. If this program step does not represent a special function module instruction, ordinary processing is performed at step 118. If the step does represent an SFM instruction, the CPU module 1 then stores the instruction contents in the two-port memory 41 (step 114) for the special function module 4, which is identified within the instruction. As noted above, the instruction designates the module by specifying the I/O position number at which the module is installed. The CPU also transfers any data stored in the device memory 12 specified by the SFM instruction to the two-port memory 41 (step 115). Thereafter, the CPU sends an interrupt signal to the designated special function module 4 as an execution command (step 116). Once the module 4 recognizes this interrupt (step 121, Fig. 4c), it reads the special function module instruction stored in the two-port memory 41 (step 122), and determines (step 123) whether that instruction is valid (i.e. that the instruction contents have been predefined by that special function module and contain the appropriate instruction name). If the command is not valid (i.e. the SFM instruction name does not correspond with the predefined names within the special function module, as would occur in the case of Fig. 3c), the module 4 recognizes an error and performs error processing (step 127). Otherwise, module 4 decodes and executes the instruction (steps 124 and 125). If the instruction is of the type which requires device data, module 4 also reads and processes the device data from two-port memory 41 (step 125). Thereafter, the module 4 stores information to be read by the CPU in the two-port memory 41 (step 127), such as resultant/return data, error data (if a fault occurred; designated by a "1" in Fig. 3c) and/or information indicating that the module operated without fault (designated by a "0" in Figs. 3). Next, the CPU module 1 performs predetermined processing (step 117) in accordance with the results of the designated module 4's execution. This predetermined processing includes, for example, no operation (if the instruction has been performed without fault), an error display (if the instruction resulted in an error), and/or data transfer to the device memory 12 (if data is returned to the CPU 1). Thereafter, the CPU loops to step 112 and repeats the above process for the next program step. In the preferred embodiments, within the two-channel D/A module (a special function module having two D/A facilities), Z_ANALOG_1 has been defined as an instruction for outputting an analog value to the first channel and Z_ANALOG_2 as an instruction for outputting an analog value to the second channel. Similarly, within the eight-channel D/A module (a special function module having eight D/A facilities), Z_ANALOG_1 has been defined as an instruction for outputting an analog value to the first channel and Z_ANALOG_2 as an instruction for outputting an analog value to the second channel. In addition, it is assumed that in the display module, Z__LOCATE has been defined as an instruction for specifying a display position and Z__PRINT (see instruction 7c in Fig. 1) has been defined as a displaying instruction. With the above configuration, a program for outputting an analog value corresponding to the contents of device D0 to the first channel, with a two-channel D/A module installed in the position of input/output number 50, will now be considered. In this case, the program step 7A (Fig. 2) is created by the user via the programming device 2 and written to the program memory 11 of the CPU module 1 via the communication cable 3 as one of the program instructions. During operation, as noted above, the CPU module 1 determines whether the first two characters of the instruction name are "Z_". The CPU module 1 then stores the contents of D0 (in the device memory 12 specified by program step 7A), in the two-port memory 41 of the two-channel digital-to-analog module installed in I/O position 50. At the same time, CPU generates an interrupt signal for the two-channel digital-to-analog module. Once this interrupt is recognized, the two-channel digital-to-analog module checks whether the special function module instruction "Z_ANALOG_1" stored in the two-port memory 41 corresponds to an instruction defined by the two-channel digital-to-analog module. If this is a valid instruction, the two-channel digital-to-analog module outputs to the first channel an analog value corresponding to the contents of device D0 of the device memory 12, which was stored in the two-port memory 41. This "Z_ANALOG_1" instruction may also be used for commanding an eight-channel D/A module installed in I/O position 50 to output an analog value to the first channel, wherein the analog value corresponds to the contents of device D0. This dual use of an instruction is acceptable in this case since either 2-channel or 8-channel D/A modules are capable of performing this operation. Thus, program step 7A still only has one purpose; namely to perform D/A conversion on the contents of device D0 and supply the results to the first channel of an SFM module. It will be recognized that the programming unit 2 and CPU module 1 connected by the communication cable 3 in the embodiment may be connected directly without the communication cable. Alternatively, the programming unit 2 may be connected via the communication cable 3 to a special function module for communication. Furthermore, any of the special function modules 4 may be used as the programming unit 2. It will also be appreciated that the special function module instruction defined as having the instruction name beginning with "Z_" may use a different indicator as long as the CPU recognizes this indicator to identify the instruction as special. Intermediate codes converted from instruction names, etc. and stored in the program memory may also be employed to determine whether any instruction is a special function module instruction or not, in lieu of Z_ defined as the criterion determining the special function module instruction. Further, while the CPU module generates an interrupts to request the special function module 4 to execute an instruction, a flip-flop or other device (not illustrated) may be set by the CPU module 1 and polled by the special function module 4 to determine whether an execution request has been given. Alternatively, an execution request code may be written by the CPU module 1 to the two-port memory 41 in the special function module 4 and polled by the special function module 4 to determine whether an execution request has been given. A second embodiment of the present invention will now be discussed with reference to Figs. 9a-9d and 10. In this embodiment, rather than simply "ship out" an instruction executable at a special function module, the CPU performs some instruction processing itself. Figs. 9a to 9d illustrate examples of the structures (information on special function module-corresponding instructions) of memories 41 accessible from both the CPU module and special function modules. Figs. 9a to 9d set forth exemplary memory structures 41AB, 41BB, 41CB and 41DB, respectively, for different special function modules, wherein each memory address is represented by a byte location. Memory for each special function module is configured in this format. Address O stores the total number of special function module-corresponding instructions 420 (Fig. 9a) defined for the corresponding module. The addresses thereafter store information on each special function module-corresponding instruction. This information will now be described, taking the first instruction 421 by way of example. An instruction name 421a of the first special function module instruction is stored as a character code beginning at address 1 (Fig. 9a uses addresses 1-10 to store this code). The number of device memories 421b defined by this instruction is stored thereafter at address 11, and the corresponding available ones of the device memories are stored at address 12 after being converted into a code. Thus, if there are three devices designated in 421b, then 421c lists three device types. Read/write segmentation 421d is stored at address 13, the head address 421e of the buffer memory to be accessed is stored at address 14, and the number of data words transferred 421f is stored at address 15. A handshake signal which must be generated by the CPU module at the time of information transfer and its ON/OFF state 421g are stored at address 16, and a flag 421h (indicating whether the instruction can be executed or not) is stored at address 17. The information of one instruction is thus indicated as an information set 421 comprising elements 421a to 421h. The memory locations following address 17 store similar information for each of the special function module-corresponding instructions defined (the number of which is stored at address 0). Structural examples of the memory 41 in the case of a two-channel digital-to-analog converter module 41BB, an eight-channel digital-to-analog converter module 41CB, and a display module 41DB are illustrated in Figs. 9b-9d, respectively. Fig. 10 is a flowchart illustrating a processing sequence performed by the CPU module when it executes the special function module instructions set forth in Figs. 9a-9d. When "Z_" is entered at the beginning of a program writing sequence by using the programming device 2, the device thereafter allows the user to enter any instruction name. The user then creates program steps in the format shown in Fig. 1 employing the programming device 2, and writes this program to the program memory 11 of the CPU module 1 via the communication cable 3. Subsequently, the CPU module 1 runs the sequence program written to the program memory 11 thereof. First, at step 201 (Fig. 10), the CPU module 1 determines whether the instruction is a special function module instruction by identifying whether the first two characters of the name thereof are "Z_". If not, ordinary sequence processing, (i.e. processing of an ordinary instruction), is performed at step 208. If a "Z_" is found, the CPU module 1 reads (at step 202) the number of instructions 420 (Fig. 9a) defined for this module from the special function module instruction information stored in the two-port memory 41 as a multi-directional access memory. The two-port memory 41 is provided in the special function module 4A (Fig. 5) installed in the position corresponding to the input/output number specified by the special function module instruction and is accessible from both the CPU module and special function module. The CPU searches memory 41 for an instruction which matches the character code that followed the "Z_" (identified in step 201), from among the special function module instructions and determines whether that instruction has been defined for this special function module. If a matching instruction is not found, the CPU module 1 regards this instruction name as being undefined in the special function module, and thus identifies this name as an error, and performs error processing at step 207. If a corresponding instruction is found, the CPU module 1 regards that instruction as being defined and progresses to the next processing step. At step 204, the CPU module 1 determines whether the information necessary to execute the named instruction has been defined (i.e. whether the structure of that instruction is correct for the intended special function module). This necessary information includes the number of device memories and their types. The number of device memories is designated by listing each device memory in area 72 of the instruction (Fig. 1), wherein each of these device memories types designate the available device memory in a code (F5H, F6H, etc.). If the structure of the instruction is correct, the CPU module 1 checks whether the instruction can be executed or not based upon the execution checking flag at step 205. If it is executable, the CPU module 1 performs processing at step 206 according to the special function module instruction information, such as read/write segmentation, the read/write head address, data words transferred, and the handshake signal (device memory to be switched on/off at the time of instruction execution and its ON/OFF state). If the instruction cannot be executed, an error will occur and predetermined error processing is performed at step 207. After processing has finished without a fault or error processing, such as a display error, the processing of the named instruction is completed at step 209. Thereafter, operation returns to step 201 and proceeds to execute the next instruction. In this embodiment it is assumed that Z_ANALOG_1 has been defined as an instruction for outputting an analog value to the first channel (in the case of, for example, a special function module having two digital-to-analog conversion facilities), and the instruction name Z_ANALOG_2 has been defined as an instruction for outputting an analog value to the second channel. Similarly, it is assumed that in the eight-channel digital-to-analog converter module (a special function module having eight digital-to-analog conversion facilities), Z_ANALOG_1 has been defined as an instruction for outputting an analog value to the first channel and Z_ANALOG_2 as an instruction for outputting an analog value to the second channel. The name Z_ANALOG_8 has been defined as an instruction for outputting an analog value to the eighth channel of the 8-channel D/A module. In addition, it is assumed that LOCATE has been defined as an instruction for specifying a display position and PRINT as a displaying instruction within the display module. At this time, a program for outputting an analog value corresponding to the contents of device D0 to the first channel, will now be considered, with a two-channel digital-to-analog module installed in the I/O position 50. The user creates the program step 7A (Fig. 2) with the programming device 2 and writes it to the program memory 11 of the CPU module 1 along with other instructions. Later, at the time of execution, the CPU checks that the first two characters of the name of that instruction are Z_ to determine whether it is a special function module instruction. The CPU module 1 then reads the number of special function module instructions 430 (Fig. 9b) stored in the two-port memory 41 in the case of the two-channel digital-to-analog module installed in I/O position 50 (Fig. 2) specified by that instruction. Assuming that four special function module instructions have been defined for that module (see Fig. 9b), the CPU module 1 checks the character codes of the four instructions sequentially. In the instant case, the correct name is stored in the first position 431. Thus processing is performed in accordance with this first special function module instruction information. This information indicates that this instruction specifies one device memory 431b with a device type F5E. The CPU module 1 compares that information with the contents of D0 in the program memory 11 (Fig. 5) to determine whether the information matches. The CPU module 1 then reads the read/write segmentation 431d, the buffer memory head address 431e, the number of data words transferred 431f, the handshake signal 431g and the execution check flag 431h, and identifies the instruction as one for writing the contents of D0 in the device memory 12 to address 2 of the buffer memory. The CPU executes the instruction in accordance with the state of the execution checking flag (0 = executable). The special function module, as usual, outputs to the first channel the analog value corresponding to the contents of D0 of the device memory 12. In the case of outputting an analog value corresponding to the contents of device D0 to the first channel of an eight-channel digital-to-analog module installed in the position of input/output number 50, (program step 7A in Fig. 2) a completely analogous instruction executing operation is performed. Thus, the special function module instruction having a similar function has the same instruction name, Z-ANALOG_1, and the instruction name readily indicates that it is an instruction for outputting an analog value. It will be apparent that the process of the present invention allows programs to be written without being conscious of the memory addresses of the two-port memories in the special function modules. The operating instructions given to the special function modules are readily identified, the program readability is enhanced, and design efficiency and maintenance efficiency are improved. Further, the present invention permits appropriate special function module instructions to be provided without affecting the CPU module when the number of special function module types increases. It will be recognized that the bidirectional access memory is not limited to the two-port memory exemplified in the above embodiments and may be replaced by an ordinary memory used with a hardware select switch to select between the data and address bus belonging to the CPU unit 1 and those belonging to the special function unit 4. It will also be apparent that the invention, allows the CPU unit to run a program having a step in an instruction format employing a symbol indicating a special function unit-corresponding instruction and a symbol denoting a special function type independently of memory addresses and to determine the special function unit corresponding instruction. Further, it permits the special function unit to decode and execute the contents of said instruction. This controlling process therefore allows programs to be written without the user being conscious of the memory addresses of the special function units. This process also allows easy identification of the object to be controlled based upon the instruction format and provides high program readability, and ensures high efficiency in program design and maintenance.

Claims: A process for operating a programmable controller including a CPU module (1) for performing sequence program control and special function modules (4) for performing control other than sequence program control in accordance with special function module instructions (7) from said CPU module (1), said process comprising the steps of: a) writing a control program having sequence program instructions and at least one special function module instruction (7), said special function module instruction having a function symbol distinguishing it as a special function module instruction (7), a name symbol specifying the type of operation to be performed and a position number designating the desired special function module (4); b) storing said control program in a program memory (11); and c) executing the instructions of said control program, said executing comprising for each current instruction, the step (113) of determining whether or not it is a special function module instruction (7) based on the presence of said function symbol. The process of Claim 1, wherein, if the current instruction is a special function module instruction (7), said execution step c) further comprises: the step (114) of transferring the contents of said special function module instruction (7) to a multi-directional access memory (41) of the designated special function module (4) and; the step (116) of requesting said special function module (4) to execute said special function module instruction (7). The process of Claim 2, wherein said execution step c) further comprises: the steps (124,125) of decoding and executing the contents of said special function module instruction (7) in said special function module (4) after said request has been made and after a step (123) of determining that the name symbol of the special function module instruction (7) corresponds to one of the valid predefined names stored in the special function module (4). The process of one of Claim 2 or 3, wherein said transferring step (114) includes storing the special function module instruction (7) and any corresponding data from a device memory (12) in the multi-directional access memory (41) of the designated special function module (4). The process of one of Claims 1 to 5, wherein said execution determines whether said current instruction is a special function module instruction by identifying a unique character code as said function symbol. The process of Claim 1, wherein the determining in the execution step c) further includes comparing said current instruction name symbol with a predefined valid instruction name stored in the designated special function module (4) to determine whether said instruction name is valid for said module (4). The process of Claim 1, wherein when running the control program, the CPU module (1) performs the steps of: determining (201) whether said current instruction is a special function module instruction (7), determining (203) whether the name symbol of the determined special function module instruction matches a predefined valid name for the designated special function module (4) by reading the predefined names from the memory (41) of the designated module and comparing them with the name symbol of the determined special function module instruction, determining (204) whether the necessary structure is correct for executing the named instruction for the designated module (4), requesting (206) the designated special function module (4) to execute the special function module instruction (7), wherein the special function module (4) executes the special function module instruction (7) according to the instruction information in its multi-directional access memory (41).

Inventors: AMASAKI SHINICHI, ASAI TERUYO, AMASAKI, SHINICHI, ASAI, TERUYO, AMASAKI, SHINICHI, C/O MITSUBISHI DENKI K.K., Asai, Teruyo, c/o Mitsubishi Denki
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1991
Main classification: G05B19
IPC codes: G05B19