WO2000043883A1 - Unite peripherique de controleur programmable - Google Patents

Unite peripherique de controleur programmable Download PDF

Info

Publication number
WO2000043883A1
WO2000043883A1 PCT/JP1999/000270 JP9900270W WO0043883A1 WO 2000043883 A1 WO2000043883 A1 WO 2000043883A1 JP 9900270 W JP9900270 W JP 9900270W WO 0043883 A1 WO0043883 A1 WO 0043883A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence program
area
continuous
devices
instruction
Prior art date
Application number
PCT/JP1999/000270
Other languages
English (en)
French (fr)
Inventor
Tsuyoshi Nishimaki
Makoto Nonomura
Tomoyuki Suga
Kenji Hirota
Yoshiaki Gotou
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to KR10-2000-7010608A priority Critical patent/KR100407635B1/ko
Priority to DE19983015T priority patent/DE19983015B4/de
Priority to PCT/JP1999/000270 priority patent/WO2000043883A1/ja
Priority to JP2000595243A priority patent/JP4001461B2/ja
Publication of WO2000043883A1 publication Critical patent/WO2000043883A1/ja
Priority to US09/643,954 priority patent/US6810433B1/en
Priority to US10/833,328 priority patent/US6850993B2/en
Priority to US10/938,825 priority patent/US6948005B2/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1187Test input value with stored limits, permissable range, plausibility
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13035Name, address duplication detection for program components, symbols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13188Checking program data, parity, key
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13196Check if instruction for special module is valid for that module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23193Memory stores lifetime, different settings, configurations of controlled device

Definitions

  • the present invention relates to a peripheral device used as a programming tool for creating a sequence program for a programmable controller for controlling mechanical equipment, and more particularly to a peripheral device having a sequence program check function. It is. Background art
  • FIG. 18 shows a peripheral device of a programmable controller (hereinafter, may be referred to as a PC peripheral device) in the prior art.
  • the PC peripheral device 300 includes a processing unit 301 by a CPU or the like, a main storage unit 302, an auxiliary storage unit 303, a key input control unit 304, and a screen control unit 304.
  • the key input control section 304 has a keyboard 300 and the screen control section 305 has a display device such as a CRT display 308 and the printer control section 310.
  • Printers 309 are connected to 6 respectively.
  • the main memory section 302 is allocated with a system program area 310, a sequence program area 311 and a device range information area 3112, and the system program area 3110 stores a system program and a sequence program.
  • the sequence area is stored in the RAM area 311 and the device range information is stored in the device range information area 312.
  • FIG. 19 shows a device assignment table of the PC peripheral device.
  • the device allocation table is stored in the device range information area 312 and defines the range of each device.
  • the local device is a device assigned to each sequence program, and the global device is a device common to each sequence program.
  • the peripheral device 300 of the programmable controller stores the sequence program in the sequence program area 311 of the main storage unit 302 via the key input control unit 304 from the keyboard 307, and stores the device range information. It is stored in the device range information area 312 of the main storage section 302. In addition, the sequence program and device range information stored in each area are output to the display unit 308 via the screen control unit 305 and to the printer 309 via the printer control unit 306, Stored in the auxiliary storage unit 303.
  • a check instruction is issued from the keyboard 307 via the key input control section 304.
  • the processing unit 301 executes a check routine in the system program. This check routine will be described with reference to FIG. According to the check instruction, a process of acquiring data for one instruction from the sequence program is executed (step S301). Next, a process for checking whether a device is used during the instruction is executed (step S302).
  • step S303 a process of acquiring a device number is executed (step S303), and a process of checking whether the device number exceeds the number of device point information is executed (step S304). ).
  • step S305 an error display process for notifying that the number is out of the range is executed.
  • step S306 it is confirmed whether or not the check has been completed up to the final step (step S306), and the above-described series of processing is repeatedly executed up to the final step.
  • a sequence program as shown in Fig. 21 the sequence program is checked sequentially from the first order, and when checking the third instruction, "MOV K40D9 "0 0 0" is obtained, and "D 900 0" is obtained as the device used during the order.
  • the device “D900” is compared with the device range information of the device D, and the device “D900” is scored for the device D in the device range information. To check if it is within the range.
  • the score of device D is "8 91 1"
  • the number of device “D 900 0" is “900 0 0”, which is out of range and is shown in Fig. 23. Error is displayed. In this error display, the instruction number (list line) where the instruction using the device beyond the device range exists, and its order and device range information (maximum value) are displayed on the screen.
  • 10 data from "DO" are replaced with 10 data from "D8190".
  • a continuous device in a sequence program using an instruction for specifying a continuous device in a sequence program or a device notation indicating a continuous area is used solely by another command in a sequence program. Not about Since the check cannot be checked, the operator has no choice but to check the sequence program visually, which is troublesome and inconvenient, and the programmable controller may malfunction due to a check mistake.
  • the index-qualified result of the instruction that specifies the index-qualifying device present in the sequence program is not used in another event existing in the sequence program.
  • the operator must check the sequence program visually, which is time-consuming and inconvenient, and the programmable controller may malfunction due to a check error.
  • a continuous device uses a mixture of a local device and a global device according to an instruction or a device notation for specifying a continuous device existing in a sequence program. If the device notation indicates that the local device and the global device are mixedly used in the device notation, and that the continuous device of the instruction that specifies the continuous device existing in the sequence program exists in the sequence program. Is not used alone in the order of the sequence program, or is the index-qualified result of the instruction specifying the index-qualifying device present in the sequence program used in another sequence in the sequence program? Each check of the Without the need for visual confirmation work of the ram itself, and its object is to provide a peripheral device of a programmable controller which can be performed automatically. Disclosure of the invention
  • a storage means for storing a range of devices allocated to each sequence program, and an instruction for designating a continuous device existing in the sequence program and a device notation indicating a continuous area are sequentially extracted, and the device of the continuous area is thus extracted.
  • the device in the continuous area is the range of the device stored in the storage means. It is possible to provide a peripheral device of a programmable controller having a resolution range checking means for checking whether or not the data is within.
  • the device range checking means sequentially extracts the order specifying the continuous device and the device notation indicating the continuous region existing in the sequence program, and develops the device of the continuous region according to these. Check if the device is within the range of the device stored in the means.
  • the present invention provides a storage device for storing device range information defining a range of local devices allocated to each sequence program and a range of a global device common to each sequence program, and a continuous device existing in the sequence program.
  • the instructions to be specified and the device notation indicating the continuous area are sequentially extracted, and the devices in the continuous area are expanded based on these instructions. Whether the local area device and the global device are mixed in the continuous area device is stored in the storage means.
  • a peripheral device of a programmable controller having an oral-global device mixed use checking means for inspecting with reference to the device range information provided.
  • the local / global device mixed use checking means sequentially extracts the instruction designating the continuous device existing in the sequence program and the device notation indicating the continuous area, expands the device of the continuous area by these, and expands the continuous area. It is checked whether the local device and the global device are mixed in the device with reference to the device range information stored in the storage means.
  • the present invention sequentially extracts an instruction designating a continuous device and a notation indicating a continuous region existing in a sequence program, expands a denoise of the continuous region by using these, and creates the same device as the device in the continuous region.
  • a peripheral device of a programmable controller having a device duplicate use check means for comparing a device used by another command existing in the sequence program and checking duplicate use of the device can be provided.
  • the device duplicate use check means exists in the sequence program. Instructions for specifying continuous noise and notations indicating continuous areas are sequentially extracted, and the denoise of continuous areas is expanded by using these instructions. Other commands that exist in the same sequence program as the denoise of continuous areas Compare the instruction to the device used and check for duplicate use of the device.
  • the present invention sequentially extracts orders specifying an index-qualified device existing in a sequence program, and uses a device used by another order existing in the same sequence program as a device resulting from the index-qualification.
  • a peripheral device of a programmable controller having device duplicate use clinics for checking duplicate use of devices.
  • the device duplication use check means sequentially extracts the instructions specifying the index-modified devices present in the sequence program, and uses other instructions existing in the same sequence program as the index-modified result of the denoise. Check for duplicate use of devices by comparing devices.
  • the present invention provides a processing unit such as a CPU, a main storage unit to which a system program area for storing a system program, a sequence program area for storing a sequence program, and a device range information area, and an auxiliary storage unit.
  • a processing unit such as a CPU
  • main storage unit to which a system program area for storing a system program, a sequence program area for storing a sequence program, and a device range information area
  • the processing unit stores the system program end.
  • an instruction for specifying a continuous device and a device notation indicating a continuous area existing in the sequence program are sequentially extracted, and the devices in the continuous area are expanded by using these instructions.
  • Device range information stored in the information area In checks whether it is within the scope of the defined devices, it is possible to provide a peripheral device of a programmable controller to be displayed on the display device that is connected to the result before Symbol screen control unit.
  • the order specifying the continuous devices existing in the sequence program and the device notation indicating the continuous area are sequentially displayed. Extracting, expanding the devices in the continuous area based on these, and inspecting whether or not the devices in the continuous area are within the device range defined by the device range information stored in the device range information area. It is performed and the result is displayed on the display connected to the screen control unit.
  • the present invention provides a processing unit such as a CPU, a main storage unit to which a system programer for storing a system program, a sequence programer for storing a sequence program, and a device range information agent, respectively, and an auxiliary storage unit.
  • a processing unit such as a CPU, a main storage unit to which a system programer for storing a system program, a sequence programer for storing a sequence program, and a device range information agent, respectively, and an auxiliary storage unit.
  • a key input control unit, and a screen control unit wherein the device range information includes a device range defining a local device range allocated to each sequence program and a global device range common to each sequence program.
  • the information is stored, and the processing unit executes the system program stored in the system programmer, whereby an order or a continuous area specifying a continuous device existing in the sequence program of the sequence programmer is stored.
  • the device in the continuous area is extracted, and the device in the continuous area is inspected for whether the local device and the global device are mixed in the device in the continuous area with reference to the device range information. It is possible to provide a peripheral device of the programmable controller for displaying on a display connected to the screen control unit. Therefore, by executing the system program by the processing unit, the instructions that specify the continuous devices and the device notation indicating the continuous area existing in the sequence program of the sequence programer are sequentially extracted, and the devices of the continuous area are expanded by these. An inspection is performed by referring to the device range information to determine whether the low-density wheel and the global denoise wheel are mixed in the denoise chair in the area, and the result is connected to the screen control unit. Displayed on the display.
  • the present invention provides a main storage unit to which a processing unit such as a CPU, a system program area storing a system program, and a sequence program area storing a sequence program are respectively allocated, an auxiliary storage unit, and a key input control. And a screen control unit, wherein the processing unit is stored in the system program area.
  • a processing unit such as a CPU
  • a system program area storing a system program
  • a sequence program area storing a sequence program are respectively allocated
  • an auxiliary storage unit and a key input control.
  • a screen control unit wherein the processing unit is stored in the system program area.
  • the instructions specifying the continuous device and the notation indicating the continuous area in the sequence program stored in the sequence program area are sequentially extracted, and the devices in the continuous area are expanded by these. Then, the device in the continuous area is compared with the device used by another instruction in the same sequence program to detect duplicate use of the device, and the result is connected to the screen control unit. Displayed on the display.
  • the present invention provides a main storage unit to which a processing unit such as a CPU, a system program area storing a system program, and a sequence program area storing a sequence program are respectively allocated, an auxiliary storage unit, and a key input control. And a screen control unit, wherein the processing unit executes a system program stored in the system program area, so that an index modification existing in the sequence program stored in the sequence program area is performed.
  • the instructions that specify the key sequence are sequentially extracted, the index-qualified device is compared with the device used by other instructions in the same sequence program, and the device is checked for duplicate use. Display the result on a display connected to the screen control unit It is possible to provide a peripheral device log Lama Bull controller.
  • the instructions that specify the index-qualified devices existing in the sequence program stored in the sequence program area are sequentially extracted, and the same sequence program as the index-qualified device is extracted into the sequence program. Compare the device used by other existing devices The device is checked for duplicate use, and the result is displayed on a display connected to the screen control unit.
  • FIG. 1 is a block diagram showing one embodiment of a peripheral device of a programmable controller according to the present invention.
  • FIG. 2 is a block diagram showing a device range & local / global device hybrid in the peripheral device of the programmable controller according to the present invention.
  • FIG. 3 is a flowchart showing a processing flow of a currently used check.
  • FIG. 3 is a flowchart showing a processing flow of a process of taking out a device in a peripheral device of a programmable controller according to the present invention.
  • FIG. FIG. 5 is a ladder circuit and a list representation diagram showing an example of a sequence program for performing a mixed use check of devices.
  • FIG. 5 and 6 are explanatory diagrams showing actual examples of a mixed use check of a local device and a global device, respectively.
  • Fig. 7 shows the story of Le Glover
  • FIG. 8 is an explanatory diagram showing a screen display example of a mixed device use check result.
  • FIG. 8 is a flowchart showing a processing flow of a first device duplicate use check in a peripheral device of a programmable controller according to the present invention.
  • Fig. 9 is a ladder circuit and a list representation diagram showing an example of a sequence program that implements the first device duplication use check.
  • Figs. 10 and 11 show the first device duplication use check, respectively.
  • FIG. 12 is an explanatory diagram showing an example of a screen display of a first device duplicate use check result, and FIG.
  • FIG. 13 is an explanatory diagram showing a peripheral device of a programmable controller according to the present invention.
  • 2 is a flowchart showing a processing flow of device duplicate use check
  • FIG. 15 is a flowchart showing a processing flow of a process for extracting a minimum value and a maximum value of a search device in a peripheral device of a controller.
  • FIG. 15 is a ladder diagram showing an example of a sequence program for performing a second device overlap use check
  • FIG. 16 is a circuit and list representation diagram
  • FIG. 16 is an explanatory diagram showing an example of the second device duplication use chip
  • FIG. FIG. 18 is a block diagram showing a peripheral device of a conventional programmable controller
  • FIG. 19 is a diagram showing an example of device range information.
  • FIG. 20 is a flowchart of a device check in a peripheral device of a conventional programmable controller
  • FIG. 21 is a ladder diagram showing an actual example of a sequence program for performing a conventional device check
  • FIG. 22 is an explanatory diagram showing an actual example of a conventional device check
  • FIG. 23 is an explanatory diagram showing an example of a screen display of a conventional device check result.
  • FIG. 1 is a block diagram of a peripheral device of a programmable controller according to the present invention.
  • the PC peripheral device 10 includes a processing unit 11 such as a CPU, a main storage unit 12, an auxiliary storage unit 13, a key input control unit 14, a screen control unit 15, and a printer control unit 1.
  • the key input control unit 14 has a keyboard 17, the screen control unit 15 has a display 18 such as a CRT, and the printer control unit 16 has a printer 19. It is connected.
  • the main storage section 12 has a system program area 20, a sequence program area 21, and a device range information area 22 assigned thereto.
  • the system program area 20 stores a system program
  • the sequence program area 21 stores a system program area.
  • the device range information area 22 stores device range information.
  • the PC peripheral device 10 stores a sequence program in ladder and list representation via the key input control unit 14 from the keyboard 17 in the sequence program area 21 of the main storage unit 12 in the same manner as the conventional one.
  • the device range information is stored in the device range information area 22 of the main storage unit 12.
  • the device range information may be the same as the conventional one as exemplified in FIG.
  • the PC peripheral device 10 outputs the sequence program and device range information stored in each area to the display 18 via the screen control unit 15 and to the printer 19 via the printer control 16. And stored in the auxiliary storage unit 13.
  • the system programs stored in the system program area 20 are a program creation module 30 for programming sequence programs, and a device range & local / global device mixed use check (same attribute check) module 3 1 And a first device duplicate use check module 32 and a second device duplicate use check module 33.
  • Device range to be checked & local / global device mixed use check (same attribute check) Module 31 sequentially extracts instructions that specify continuous devices in the sequence program and device notation that indicates continuous areas, and uses them. Expand the devices in the continuous area, check whether the devices in the continuous area are within the device range defined by the device range information stored in the device range information The device is checked whether local devices and global devices are mixed or not by referring to the device range information in the device range information area 22.
  • the first device duplication use check module 32 sequentially extracts the appointment that designates continuous devices existing in the sequence program and the notation indicating the continuous area, and expands the linked area based on these.
  • the device in the continuous area is compared with the device used by other instructions in the same sequence program, and the duplicate use of the device is checked.
  • the second device duplication use check module 33 sequentially extracts an instruction specifying an index-qualified device present in the sequence program, and uses another instruction existing in the same sequence program as the device resulting from the index-qualification. Check for duplicate device usage by comparing to the device that is running.
  • the continuous device is defined in advance by the device range information, with the instruction to specify the continuous device in the sequence program and the device notation indicating the continuous area.
  • the processing unit 11 executes the device range & local / global device mixed use check module 31 in the system program.
  • step S1 a process for setting the reference destination of the sequence program copy source to the first order is executed. As a result, it is set as the reference destination of the first instruction copy source.
  • step S2 a process of copying one instruction + device to the work area from the sequence program is executed (step S2), and one instruction + device is copied to the work area.
  • a process is performed to determine whether the one instruction + device copied to the first work area is an instruction for designating a device pointing to a continuous area or a device notation (step S3). If it is neither an instruction to specify a device indicating a continuous area nor a device notation, a process for setting the reference destination of the sequence program copy source to the next instruction is executed (step S4), and the sequence program copy unity is executed. Is set to the next instruction, and the process repeats from the process of copying one instruction + device to the work area from the sequence program (step S2).
  • step S5 a process for extracting the device is executed (step S5), and only the device is extracted from one instruction + device.
  • a process is performed to decompose the 1 character + device from the character string following the instruction into a character string group excluding the space character by using the space character (space) as a key (step S21), and disassembly into individual device parts.
  • the device of the device which shows the area where the first character of the character string is continuous
  • the notation that is, the process of determining whether it is "K” is executed (step S22), and if the first character is "K", the process of cutting out the numerical value following "K” is executed (step S23). ), Acquire (expand) the range of continuous devices.
  • step S24 a process for determining whether there is a device following the "K" + numerical value is executed. If a device exists, a process for cutting out the device numerical value following the "K” + numerical value is executed. (Step S25), the head of the continuous device is obtained. Next, a process is performed to determine whether or not all character strings have been extracted (step S26). If all character strings have not been extracted, the first character of the character string is "K”. It repeats from the process of judging whether there is (Step S22). If the entire character string is cut out, a process is performed to determine whether or not the instruction (“BMOV”) specifies a device that points to a continuous area (step S27), and a device that points to a continuous area is specified.
  • BMOV instruction
  • step S28 If it is an instruction to execute the command, a process is executed to obtain from the data table corresponding to the instruction how many character strings indicate the continuous area (step S28), and the device indicating the continuous area is obtained from the data table (step S28). expand. Next, a process of determining whether the first character of the character string of the device is other than "K” is executed (step S29), and if it is not "K", a process of extracting a device value is executed (step S29). S 30).
  • the process of taking out the device is completed.
  • the device in the continuous area cut out as described above is the device range. It is determined whether the device is within the device range defined in the information (step S6).
  • step S9 a process for saving the result as print print data and screen display data is executed (step S9), and the print print data and Create and add screen display data.
  • the device in the continuous area is within the device range defined in the device range information, the device in the continuous area cut out as described above is first placed in the device area.
  • step 14 Perform the process of extracting the attribute information of the device in the area from the device range information (step 14).
  • step S8 a process is performed to determine whether or not the attribute is the same in the area (step S8), and the device in the continuous area is compared with the local device range information and the global device range information. If the attributes are not the same, a process of saving the result as printout data and screen display data is executed (step S9), and printout data and screen display data are created and added.
  • step S10 a process for determining whether or not there is still an instruction is executed. If there is still an instruction, a process for setting the reference destination of the sequence program copy source to the next order (step S4) ) Is executed, the reference destination of the sequence program copy source is set to the next instruction, and the process is repeated from the sequence program (1 step + device is copied to the work area (step S 2)).
  • the save result (check result) is output to the CRT 18 via the screen control unit 15 and to the printer 19 via the print control unit 16 ( Step S 1 1).
  • the output result includes the instruction number (list line) where the instruction that specifies a device outside the device range exists, its order, the device notation where local and global devices are mixedly used, and the device that points to a continuous area.
  • instruction number list line
  • list line the instruction that specifies a device outside the device range exists
  • the instruction includes the instruction number (list line) where the specified instruction exists, the instruction, and the mixed use location and related device range information (regular local device range and global device range).
  • the third instruction “M ⁇ V K4M92 DO” includes the notation “K” of a device indicating a continuous area. As shown in Fig.
  • the seventh instruction “BMOV D45 D10K10” is an instruction (transfer instruction) pointing to a continuous area, and according to the instruction, here, as shown in FIG. Get devices "D45” to "D54" that point to the continuous area of. A device that points to the continuous area of the transfer destination is also obtained in the same way, but is not described here because an error does not occur.
  • the devices “D45” to “D49” are low-power devices and "D50".
  • ⁇ "M54" is a global device, so an instruction pointing to the 7th continuous area is determined to be local 'global device mixed use'.
  • a check result as shown in FIG. 7 is displayed on the screen. This makes it possible to check whether a local device and a global device are mixedly used in an instruction that specifies a continuous device existing in a sequence program or in a continuous device using device notation indicating a continuous area. It is performed automatically and reliably and quickly without the need for visual confirmation work, and malfunctions of the programmable controller due to check mistakes can be avoided.
  • the check routine by the first device duplicate use check module 32 will be described with reference to FIG.
  • step S41 a process of setting the reference destination of the sequence program copy source to the first instruction (the instruction on the inspection side of the duplicate use device) is executed.
  • step S42 a process of copying one instruction + device to the first work area from the sequence program is executed (step S42), and the one command + device is copied to the first work area.
  • an instruction for designating a device indicating a continuous area or a device notation is executed for the one command + device copied to the first work area (step S43). If it is neither an instruction to specify a device indicating a continuous area nor a device notation, a process for setting the reference destination of the sequence program copy source to the next order is executed (step S44), and the sequence program is executed. Copy Set the reference destination of the unit to the next instruction, and repeat from the process of copying one instruction + device to the work area from the sequence program (step S42). This implies a scan of the instruction on the inspecting side of the duplicate usage device.
  • the device is extracted (step S45), and only the device is extracted from one instruction + the device.
  • the process of extracting a device is performed in accordance with the process flow shown in FIG.
  • step S46 a process of setting the reference destination of the sequence program copy source to the first instruction (the instruction on the comparison side of the duplicate use device) is executed (step S46).
  • the first instruction is set as the reference destination of the copy source.
  • a process of copying one instruction + device from the sequence program to the second work area is executed. Step S47).
  • step S48 a process of taking out the device from the one instruction copied in the second work area + the device is executed.
  • step S49 it is determined whether or not the device extracted from the one instruction of the second work area + the device is within the continuous area by the one instruction of the first work area + the device (step S49). ).
  • step S50 a process of storing the result as print data and screen display data is executed (step S50), and print print data and screen display data are created and added.
  • Step S51 a process is performed to determine whether or not there is still an order on the comparison side of the duplicated device. If there is still an instruction, the sequence program copy unit is referred to the next instruction. (Step S52), set the reference destination of the sequence program copy source to the next instruction, and copy one instruction + device from the sequence program to the second work area (step S52). Repeat from S47). This means a scan of the comparison side of the duplicate use device. Upon completion of the instruction on the comparison side of the duplicate use device, a process for determining whether there is still an instruction on the inspection side of the duplicate use device is executed (step S53).
  • step S44 execute the process of setting the reference destination of the sequence program copy source to the next order (step S44), and set the reference destination of the sequence program copy source to the next instruction.
  • the process is repeated from the process of copying 1 device + device from the sequence program to the first work area (step S42).
  • Step S54 the saved result (check result) is output to the CRT 18 via the screen control unit 15 and to the printer 19 via the print control unit 16.
  • the output results include duplicate devices, device notation in which the device is used alone in other instructions, and numbers (list lines) where there are instructions that specify devices that point to contiguous regions, and the instructions.
  • the third instruction “M ⁇ V K4M92 D 1 2” includes the device notation “K” indicating a continuous area,
  • "4" is cut out as a process to cut out the numerical value following the first character "K” of the device section "K4M92 D12" following the instruction section "MOV”, Get the range of consecutive devices "K1" to "K4".
  • Devices "M92" to “Ml 07" are assigned to the continuous device range "K to" K4 ".
  • the seventh instruction "BMOV D45D10K10” is an instruction (transfer instruction) pointing to a continuous area, and according to the instruction, here, as shown in FIG. Then, the devices "D10" to “D19" indicating the continuous area of the transfer destination are acquired.
  • the check result as shown in FIG. 12 is displayed on the screen.
  • This enables the sequence program to check whether a continuous device is specified by an instruction that specifies a continuous device or that a continuous device is not used alone by another instruction that exists in the sequence program.
  • the system is automatically and reliably and quickly performed without the need for visual confirmation of the program itself, and a malfunction of the programmable controller due to a check error can be avoided.
  • a check routine by the second device duplicate use check module 33 will be described with reference to FIG.
  • step S61 a process of setting the reference destination of the sequence program copy source to the first order (instruction on the duplicated device inspection side) is executed.
  • step S62 a process of copying one command + device to the first work area from the sequence program is executed (step S62), and the i instruction + device is copied to the first work area.
  • step S63 a process is performed to determine whether the one instruction + device copied to the first work area includes an index-qualified device. If the instruction does not include the index-qualified device, the process of setting the reference destination of the sequence program copy source to the next instruction is executed (step S64), and the reference destination of the sequence program copy source is set to the next instruction. And repeat from the process of copying 1 instruction + device from the sequence program to the work area (step S62).
  • the minimum value and the maximum value of the search device are extracted (step S65), and the minimum value of the search device is obtained from one instruction and the device. Get the maximum value.
  • step S81 a process of decomposing the character string following 1 device + device into a character string group excluding the space by using a blank character as a key is performed (step S81), and the device section is divided into individual devices.
  • the last character of the disassembled device string is the index device table.
  • a process of determining whether the value is "Z" is executed (step S82).
  • step S85 a process is performed to determine whether or not all the character strings have been cut out. On the other hand, if the execution has been performed only on a part, the process of determining whether the last character of the character string is “Z” (step S82) is performed on all the individual devices included in the device section. Repeat to execute.
  • the device value before "Z” is cut out and set to the minimum value of the search device (step S83).
  • step S85 a process of determining whether or not the entire character string has been cut out is executed (step S85), and a process of determining whether the final character of the character string is "Z" (step S85). Repeat step 82) for all devices included in the device section.
  • step S66 a process of setting the reference destination of the sequence program copy source to the first instruction (the instruction on the comparison side of the duplicate use device) is executed (step S66).
  • the first instruction is set as the reference destination of the copy source.
  • step S67 a process of copying one command + device from the sequence program to the second work area is executed (step S67).
  • step S68 a process of taking out the device from the one command + device copied to the second work area is executed.
  • Step S69 whether the device extracted from one instruction in the second work area + device is in the device search area by one instruction in the first work area + device (instruction including index-qualified device) (Step S69) ) o
  • step S70 a process of storing the result as print-out data and screen display data is executed (step S70), and print-out data and screen display data are created and added.
  • Step S71 a process is performed to determine whether or not there is still an instruction on the comparison side of the duplicate use device. If there is still an instruction, the reference destination of the sequence program copy source is changed to the next. (Step S72), set the reference destination of the sequence program copy source to the next order, and copy 1 instruction + device from the sequence program to the second work area. (Step S67) is repeated.
  • step S 73 a process for determining whether there is still an instruction on the inspection side of the duplicate use device is executed.
  • step S 64 Execute the process of setting the reference destination of the sequence program copy source to the next instruction (step S64), set the reference destination of the sequence program copy source to the next instruction, and set one instruction + device from the sequence program to the first instruction. It repeats from the process of copying to the work area (step S62).
  • the storage result (check result) is output to the CRT 18 via the screen control unit 15 and to the printer 19 via the printer control unit 16 (step). S 74).
  • the output includes the index-qualified device, the instructions that duplicate the index-qualified result, and the instructions.
  • the i-th instruction "MOV D10 ZD100” is an instruction for specifying an index modification device. Extract the minimum value “D10” and the maximum value “D19” of the search device and obtain the search range “D10” to "D19” of the device as shown in.
  • a peripheral device that creates a sequence program for a programmable controller that controls machinery and equipment, and can be used as an automatic checker for a sequence program.

Description

明 細 書 プログラマブルコン トローラの周辺装置 技術分野
この発明は、 機械設備の制御を行うプログラマブルコントローラのためのシ一 ケンスプログラムを作成するプログラミングツールなどとして使用される周辺装 置に関し、 特に、 シーケンスプログラムのチヱック機能を有する周辺装置に閟す るものである。 背景技術
第 1 8図は、 従来技術におけるプログラマブルコン トローラの周辺装置 (以下 、 P C周辺装置と云うことがある) を示している。
P C周辺装置 3 0 0は、 C P Uなどによる処理部 3 0 1 と、 主記憶部 3 0 2と 、 補助記憶部 3 0 3と、 キー入力制御部 3 0 4と、 画面制御部 3 0 5と、 プリン 夕制御部 3 0 6とを有し、 キー入力制御部 3 0 4にはキーボード 3 0 7力 画面 制御部 3 0 5には C R Tなどによる表示器 3 0 8カ、 プリンタ制御部 3 0 6には プリンタ 3 0 9がそれぞれ接続されている。
主記憶部 3 0 2は、 システムプログラムエリア 3 1 0、 シーケンスプログラム エリア 3 1 1、 デバイス範囲情報エリア 3 1 2がそれぞれ割り付けられており、 システムプログラムエリア 3 1 0にはシステムプログラムが、 シーケンスプログ ラ厶エリア 3 1 1にはシーケンスプログラムが、 デバイス範囲情報エリア 3 1 2 にはデバイス範囲情報がそれぞれ格納される。
第 1 9図は、 P C周辺装置のデバイス割り付けテーブルを示している。 デバイ ス割り付けテーブルは、 デバイス範囲情報エリア 3 1 2に格納され、 各デバイス の範囲を定義しており、 各デバイスの点数情報 4 0 0と、 各デバイス毎の口一力 ルデバイス範囲情報 4 0 1とグローバルデバイス範囲情報 4 0 2を有している。 なお、 ローカルデバイスは各シーケンスプログラム毎に割り付けられるデバイ スであり、 グローバルデバイスは各シーケンスプログラムと共通のデバイスであ る。
プログラマブルコントローラの周辺装置 3 0 0は、 キーボード 3 0 7よりキー 入力制御部 3 0 4を介してシーケンスプログラムを主記憶部 3 0 2のシーケンス プログラムエリア 3 1 1に格納すると共に、 デバイス範囲情報を主記憶部 3 0 2 のデバイス範囲情報エリア 3 1 2に格納する。 また各エリアに格納したシ一ゲン スプログラムやデバイス範囲情報を画面制御部 3 0 5を介して表示器 3 0 8へ、 プリン夕制御部 3 0 6を介してプリンタ 3 0 9へ出力し、 補助記憶部 3 0 3に格 納する。
ここで、 シーケンスプログラムとデバイス範囲情報が既に作成されており、 主 記憶部 3 0 2に格納されているものとする。
シーケンスプログラムで使用されているデバイスの値に誤りがなレ、かチヱック する場合、 キーボード 3 0 7よりキー入力制御部 3 0 4を介してチェック指示を 出す。 このチェック指示により処理部 3 0 1がシステムプログラフム中のチェッ クル一チンを実行する。 このチヱックルーチンを第 2 0図を参照して説明する。 チエツク指示によりシーケンスプログラムより 1命令分のデータを取得する処 理を実行する (ステップ S 3 0 1 ) 。 つぎに、 命令中にデバイスが使われている かチェックする処理を実行する (ステップ S 3 0 2 ) 。
デバイスが含まれていれば、 デバイス番号を取得する処理を実行し (ステップ S 3 0 3 ) 、 デバイス番号がデバイス点数情報の点数を超えているかチェックす る処理を実行する (ステップ S 3 0 4 ) 。
このチェックで、 デバイス番号がデバイス点数情報の点数を超えていた場合に は、 範囲を超えていることを知らせるエラー表示処理を実行する (ステップ S 3 0 5 ) 。
つぎに、 最終ステップまでチェックが終わったか否かを確認し (ステップ S 3 0 6 ) 、 上述の一連の処理を最終ステップまで繰り返し実行する。 実例として、 第 2 1図に示されているようなシーケンスプログラムをチェック した場合、 シーケンスプログラムの 1番目の命合から順次チェックし、 3番目の 命令をチヱックする時、 "MOV K 4 0 D 9 0 0 0 " が取得され、 命合中に 使用されているデバイスとして、 "D 9 0 0 0 " が取得される。
第 22図に示されているように、 デバイス " D 9 0 00 " とデバイス Dのデバ イス範囲情報とを比較し、 デバイス "D 9 0 0 0 " がデバイス範囲情報にあるデ バイス Dの点数の範囲内かをチヱックする。 デバイス Dの点数は "8 1 9 1 " で あるのに対し、 デバイス "D 9 0 0 0 " の番号は " 9 0 0 0 " であるため、 範囲 外となり、 第 23図に示されているようなエラーが表示される。 このエラー表示 では、 デバイス範囲を超えたデバイスを使用している命令の存在する命令番号 ( リスト行) と、 その命合およびデバイス範囲情報 (最大値) とが画面表示される。 し力、し、 第 2 1図に示されているシーケンスプログラムの 7番目の "BMOV " 命合の場合、 "DO" から 1 0個のデータを "D 8 1 90" から 1 0個分のデ —夕エリアにコピーする命令であるため、 データ転送先デバイス "D 8 1 9 0 " から 1 0個分のデータは範囲 "D 8 1 9 0" 〜 "D 8 1 9 9" となり、 デバイス D点数の最大値を超えてしまうが、 従来の PC周辺装置では、 デ一夕転送先デバ イス "D8 1 9 0" がデバイス範囲外であるか否かをチェックしているだけであ るため、 エラ一にはならない。
また、 従来の PC周辺装置では、 シーケンスプログラム上に存在する連銃デバ イスを指定する命令や連続した領域を指すデバイス表記により連続するデバイス がローカルデバイスとグローバルデバイスを混在使用していないかについてチェ ックすることができないため、 このチェックについては、 シーケンスプログラム を目視で確認するしかなく、 手間が掛かり、 不便であり、 チヱックミスによって プログラマブルコントローラが誤動作する虞れがある。
また、 従来の PC周辺装置では、 シーケンスプログラム上に存在する連続デバ イスを指定する命令や連続した領域を指すデバイス表記による連続デバイスがシ —ゲンスプログラム上に存在する他の命合で単独使用されていないかについての チェックについてチエツクすることができないため、 このチェックについては、 シーケンスプログラムをオペレータが目視で確認するしかなく、 手間が掛かり、 不便であり、 チヱックミスによってプログラマブルコントローラが誤動作する虞 れがある。
また、 従来の P C周辺装置では、 シーケンスプログラム上に存在するインデッ タス修飾デバイスを指定する命令のィンデックス修飾された結果がシーケンスプ 口グラ厶上に存在する他の命合で使用されていなし、かにつレ、てチエックすること ができないため、 このチェックについては、 シーケンスプログラムをオペレータ が目視で確認するしかなく、 手間が掛かり、 不便であり、 チェックミスによって プログラマブルコントローラが誤動作する虞れがある。
この発明は、 上述の如き問題点を解消するためになされたもので、 シーケンス プログラム上に存在する連続デバイスを指定する命令やデバイス表記により連続 するデバイスがローカルデバイスとグロ一バルデバイスを混在使用していないか 、 デバイス表記にてロー力ルデバイスとグロ一バルデバイスが混在使用されてレヽ ないか、 またシーケンスプログラム上に存在する連続デバイスを指定する命令の 連続デバイスがシーケンスプログラム上に存在する他の命合で単独使用されてい ないか、 またシーケンスプログラム上に存在するインデックス修飾デバイスを指 定する命令のィンデックス修飾された結果がシーケンスプログラム上に存在する 他の命合で使用されていないかについての各チヱックをオペレータによるシーケ ンスプログラム自体の目視確認作業を必要とすることなく、 自動的に行うことが できるプログラマブルコントローラの周辺装置を提供することを目的としている。 発明の開示
この発明は、 シーケンスプログラム毎に割り付けられるデバイスの範囲を記憶 する記憶手段と、 シーケンスプログラムに存在する連続デバイスを指定する命合 や連続領域を指すデバィス表記を順次抽出し、 これらによる連続領域のデバイス を展開し、 連続領域のデバイスが前記記憶手段に記憶されているデバイスの範囲 内であるか否かを検査するデゾ ス範囲チエック手段とを有しているプログラマ ブルコントローラの周辺装置を提供することができる。
従って、 デバイス範囲チヱック手段が、 シーケンスプログラムに存在する連続 デバイスを指定する命合や連続領域を指すデバイス表記を順次抽出し、 これらに よる連続領域のデバイスを展開し、 連続領域のデバイスが前記記憶手段に記憶さ れているデバイスの範囲内であるか否かを検査する。
また、 この発明は、 シーケンスプログラム毎に割り付けられるローカルデバィ スの範囲と各シーケンスプログラムと共通のグローバルデバイスの範囲を定義し たデバイス範囲情報を記憶する記憶手段と、 シーケンスプログラムに存在する連 続デバイスを指定する命令や連続領域を指すデバイス表記を順次抽出し、 これら による連続領域のデバイスを展開し、 連続領域のデバイスにローカルデバイスと グロ一バルデバイスとが混在していないかを前記記憶手段に記憶されているデバ イス範囲情報を参照して検査する口一カル ·グロ一バルデバイス混在使用チェッ ク手段とを有しているプログラマブルコントローラの周辺装置を提供することが できる。
従って、 ローカル ' グロ一バルデバイス混在使用チヱック手段が、 シーケンス プログラムに存在する連続デバイスを指定する命令や連続領域を指すデバイス表 記を順次抽出し、 これらによる連続領域のデバイスを展開し、 連続領域のデバイ スにローカルデバイスとグロ一バルデバイスとが混在していないかを前記記憶手 段に記憶されているデバイス範囲情報を参照して検査する。
また、 この発明は、 シーケンスプログラムに存在する連続デバイスを指定する 命令や連続領域を指す表記を順次抽出し、 これらによる連続領域のデノくィスを展 開し、 連続領域のデバイスと同一のシーケンスプログラムに存在する他の命合が 使用しているデバイスとを比較し、 デバイスの重複使用を検査するデバイス重複 使用チェック手段を有しているプログラマブルコントローラの周辺装置を提供す ることができる。
従って、 デバイス重複使用チヱック手段が、 シーケンスプログラムに存在する 連続デノ ィスを指定する命令や連続領域を指す表記を順次抽出し、 これらによる 連続領域のデノ ィスを展開し、 連続領域のデノくイスと同一のシーケンスプログラ 厶に存在する他の命令が使用しているデバイスとを比較し、 デノ ィスの重複使用 を検査する。
また、 この発明は、 シーケンスプログラムに存在するインデックス修飾デバィ スを指定する命合を順次抽出し、 インデックス修飾された結果のデバイスと同一 のシーケンスプログラムに存在する他の命合が使用しているデバイスとを比較し 、 デバイスの重複使用を検査するデバイス重複使用チニック手段を有しているプ ログラマブルコントローラの周辺装置を提供することができる。
従って、 デバイス重複使用チヱック手段が、 シーケンスプログラムに存在する ィンデッタス修飾デバイスを指定する命合を順次抽出し、 ィンデックス修飾され た結果のデノくイスと同一のシーケンスプログラムに存在する他の命令が使用して レ、るデバイスとを比較し、 デバイスの重複使用を検査する。
また、 この発明は、 C P Uなどによる処理部と、 システムプログラムを格納し たシステムプログラムエリア、 シーケンスプログラムを格納するシーケンスプロ グラムエリア、 デバイス範囲情報エリアをそれぞれ割り付けられる主記憶部と、 補助記憶部と、 キー入力制御部と、 画面制御部とを有し、 前記デバイス範囲情報 ェリアにはデバイスの範囲を定義したデバイス範囲情報が格納され、 前記処理部 が前記システムプログラ厶ェリ了に格納されたシステムプログラムを実行するこ とにより、 シーケンスプログラムに存在する連続デバイスを指定する命令や連続 領域を指すデバイス表記を順次抽出し、 これらによる連続領域のデバイスを展開 し、 連続領域のデバイスが前記デバイス範囲情報エリァに格納されているデバイ ス範囲情報で定義されたデバイスの範囲内であるか否かを検査し、 その結果を前 記画面制御部に接続される表示器に表示するプログラマブルコントローラの周辺 装置を提供することができる。
従って、 処理部によるシステムプログラムの実行により、 シーケンスプログラ 厶に存在する連続デバィスを指定する命合や連続領域を指すデバィス表記を順次 抽出し、 これらによる連続領域のデバイスを展開し、 連続領域のデバイスが前記 デバイス範囲情報エリアに格納されているデバイス範囲情報で定義されたデバイ スの範囲内であるか否かを検査することが行われ、 その結果が画面制御部に接続 される表示器に表示される。
また、 この発明は、 C P Uなどによる処理部と、 システムプログラムを格納し たシステムプログラムェリァ、 シーケンスプログラムを格納するシ一ケンスプロ グラムェリァ、 デバイス範囲情報ェリァをそれぞれ割り付けられる主記憶部と、 補助記憶部と、 キー入力制御部と、 画面制御部とを有し、 前記デバイス範囲情報 にはシーケンスプログラム毎に割り付けられるローカルデバイスの範囲と各シ一 ケンスプログラムと共通のグローバルデバイスの範囲を定義したデバイス範囲情 報が格納され、 前記処理部が前記システムプログラムェリァに格納されたシステ 厶プログラムを実行することにより、 前記シーケンスプログラ厶ェリァのシーケ ンスプログラムに存在する連続デバイスを指定する命合や連続領域を指すデバィ ス表記を順次抽出し、 これらによる連続領域のデバイスを展開し、 連続領域のデ バイスにローカルデバイスとグロ一バルデバイスとが混在していないかを前記デ バイス範囲情報を参照して検査し、 その結果を前記画面制御部に接続される表示 器に表示するプログラマブルコントローラの周辺装置を提供することができる。 従って、 処理部によるシステムプログラムの実行により、 シーケンスプログラ 厶ェリァのシーケンスプログラムに存在する連続デバィスを指定する命令や連続 領域を指すデバイス表記を順次抽出し、 これらによる連続領域のデバイスを展開 し、 連続領域のデノくイスにロー力ルデノくィスとグロ一バルデノくイスとが混在して いないかを前記デバィス範囲情報を参照して検査することが行われ、 その結果が 画面制御部に接続される表示器に表示される。
また、 この発明は、 C P Uなどによる処理部と、 システムプログラムを格納し たシステムプログラムエリア、 シーケンスプログラムを格納するシーケンスプロ グラムエリアをそれぞれ割り付けられる主記憶部と、 補助記憶部と、 キー入力制 御部と、 画面制御部とを有し、 前記処理部が前記システムプログラムエリアに格 納されたシステムプログラムを実行することにより、 前記シーケンスプログラム エリアに格納されたシーケンスプログラムに存在する連続デバイスを指定する命 令や連続領域を指す表記を順次抽出し、 これらによる連続領域のデバイスを展開 し、 連続領域のデバイスと同一のシーケンスプログラムに存在する他の命令が使 用しているデバイスとを比較し、 デバイスの重複使用を検査し、 その結果を前記 画面制御部に接続される表示器に表示するプログラマブルコントローラの周辺装 置を提供することができる。
従って、 処理部によるシステムプログラムの実行により、 シーケンスプログラ 厶エリアに格納されたシーケンスプログラムに存在する連続デバイスを指定する 命令や連続領域を指す表記を順次抽出し、 これらによる連続領域のデバイスを展 開し、 連続領域のデバイスと同一のシーケンスプログラムに存在する他の命令が 使用しているデバイスとを比較してデバイスの重複使用を検查することが行われ 、 その結果をが画面制御部に接続される表示器に表示される。
また、 この発明は、 C P Uなどによる処理部と、 システムプログラムを格納し たシステムプログラムエリア、 シーケンスプログラムを格納するシーケンスプロ グラムエリアをそれぞれ割り付けられる主記憶部と、 補助記憶部と、 キー入力制 御部と、 画面制御部とを有し、 前記処理部が前記システムプログラムエリアに格 納されたシステムプログラムを実行することにより、 前記シーケンスプログラム エリアに格納されたシーケンスプログラムに存在するインデックス修 ¾iデノくィス を指定する命令を順次抽出し、 インデックス修飾された結果のデバイスと同一の シーケンスプログラムに存在する他の命令が使用しているデバイスとを比較し、 デバイスの重複使用を検査し、 その結果を前記画面制御部に接続される表示器に 表示するプログラマブルコントローラの周辺装置を提供することができる。 従って、 処理部によるシステムプログラムの実行により、 シーケンスプログラ ムエリアに格納されたシーケンスプログラムに存在するインデックス修飾デバィ スを指定する命令を順次抽出し、 インデックス修飾された結果のデバイスと同一 のシーケンスプログラ厶に存在する他の命合が使用しているデバイスとを比較し てデバイスの重複使用を検査することが行われ、 その結果が画面制御部に接続さ れる表示器に表示される。 図面の簡単な説明
第 1図は、 この発明によるプログラマブルコントローラの周辺装置の一つの実 施の形態を示すプロック図であり、 第 2図は、 この発明によるプログラマブルコ ントローラの周辺装置におけるデバイス範囲 &ローカル 'グローバルデバイス混 在使用チヱックの処理フローを示すフローチャートであり、 第 3図は、 この発明 によるプログラマブルコントローラの周辺装置におけるデバイスを取り出す処理 の処理フローを示すフローチャートであり、 第 4図は、 ローカル ' グロ一バルデ くィス混在使用チェックを実施するシーケンスプログラ厶の実例を示すラダー回 路およびリスト表現図であり、 第 5図および第 6図は、 それぞれローカル, グロ 一バルデバイス混在使用チヱックの実例を示す説明図であり、 第 7図は、 口一力 ル · グローバルデバイス混在使用チェック結果の画面表示例を示す説明図であり 、 第 8図は、 この発明によるプログラマブルコントローラの周辺装置における第 1のデバイス重複使用チヱックの処理フローを示すフローチヤ一トであり、 第 9 図は、 第 1のデバイス重複使用チヱックを実施するシーケンスプログラムの実例 を示すラダー回路およびリスト表現図であり、 第 1 0図および第 1 1図は、 それ ぞれ第 1のデバイス重複使用チェックの実例を示す説明図であり、 第 1 2図は、 第 1のデバイス重複使用チエツク結果の画面表示例を示す説明図であり、 第 1 3 図は、 この発明によるプログラマブルコントローラの周辺装置における第 2のデ バイス重複使用チェックの処理フローを示すフローチャートであり、 第 1 4図は 、 この発明によるプログラマブルコントローラの周辺装置における検索デバィス の最小値 ·最大値を取り出す処理の処理フローを示すフローチヤ一トであり、 第 1 5図は第 2のデバイス重複使用チヱックを実施するシーケンスプログラムの実 例を示すラダー回路およびリスト表現図であり、 第 1 6図は、 第 2のデバイス重 複使用チ ックの実例を示す説明図であり、 第 1 7図は、 第 2のデバイス重複使 用チ ック結果の画面表示例を示す説明図であり、 第 1 8図は、 従来のプログラ マブルコントローラの周辺装置を示すブロック図であり、 第 1 9図は、 デバイス 範囲情報の例を示す説明図であり、 第 2 0図は、 従来のプログラマブルコント口 —ラの周辺装置におけるデバイスチェックのフローチャートであり、 第 2 1図は 、 従来のデバイスチェックを実施するシーケンスプログラムの実例を示すラダ一 回路およびリスト表現図であり、 第 2 2図は、 従来のデバイスチェックの実例を 示す説明図であり、 第 2 3図は、 従来のデバイスチェック結果の画面表示例を示 す説明図である。 発明を実施するための最良の形態
本発明をより詳細に説述するために、 添付の図面に従ってこれを説明する。 第 1図は、 この発明によるプログラマブルコントローラの周辺装置のブロック 図である。 P C周辺装置 1 0は、 C P Uなどによる処理部 1 1と、 主記憶部 1 2 と、 補助記憶部 1 3と、 キー入力制御部 1 4と、 画面制御部 1 5と、 プリンタ制 御部 1 6とを有し、 キー入力制御部 1 4にはキーボード 1 7が、 画面制御部 1 5 には C R Tなどによる表示器 1 8が、 プリンタ制御部 1 6にはプリンタ 1 9がそ れぞれ接続されている。
主記憶部 1 2は、 システムプログラムエリア 2 0、 シーケンスプログラムエリ ァ 2 1、 デバイス範囲情報エリア 2 2がそれぞれ割り付けられており、 システム プログラムエリア 2 0にはシステムプログラムが、 シーケンスプログラムエリア 2 1にはシーケンスプログラムが、 デバイス範囲情報エリア 2 2にはデバイス範 囲情報がそれぞれ格納される。
P C周辺装置 1 0は、 従来のものと同様に、 キーボード 1 7よりキー入力制御 部 1 4を介してラダ一表現、 リスト表現によるシーケンスプログラムを主記憶部 1 2のシーケンスプログラムエリア 2 1に格納すると共に、 デバイス範囲情報を 主記憶部 1 2のデバイス範囲情報エリア 2 2に格納する。 デバイス範囲情報は、 第 1 9図に例示されているような従来のものと同様であってよい。 また、 P C周辺装置 1 0は、 各エリ了に格納したシーケンスプログラムやデバ イス範囲情報を画面制御部 1 5を介して表示器 1 8へ、 プリンタ制御 1 6を介し てプリンタ 1 9へ出力し、 補助記憶部 1 3に格納する。
システムプログラムエリア 2 0に格納されるシステムプログラムは、 シ一ケン スプログラムのプログラミングを行うプログラム作成モジュール 3 0と、 デバイ ス範囲 &ローカル ·グロ一バルデバイス混在使用チェック (同一属性チェック) モジュール 3 1 と、 第 1のデバイス重複使用チェックモジュール 3 2と、 第 2の デバイス重複使用チェックモジュール 3 3とを具備している。
チエツクするデバイス範囲 &ロ一カル ·グローバルデバイス混在使用チェック (同一属性チェック) モジュール 3 1は、 シーケンスプログラムに存在する連続 デバイスを指定する命令や連続領域を指すデバイス表記を順次抽出し、 これらに よる連続領域のデバイスを展開し、 連続領域のデバイスがデバイス範囲情報ェリ ァ 2 2に格納されているデバイス範囲情報で定義されているデバイスの範囲内で あるか否かを検査し、 連続領域のデバイスにローカルデバイスとグロ一バルデバ ィスとが混在してレ、ないかをデバイス範囲情報ェリア 2 2のデバイス範囲情報を 参照して検査する。
第 1のデバイス重複使用チェック乇ジュール 3 2は、 シーケンスプログラムに 存在する連続デノ <ィスを指定する命合や連続領域を指す表記を順次抽出し、 これ らによる連統領域を展開し、 連続領域のデバイスと同一のシーケンスプログラム に存在する他の命令が使用しているデバイスとを比較し、 デバイスの重複使用を 検査する。
第 2のデバイス重複使用チェックモジュール 3 3は、 シーケンスプログラムに 存在するィンデックス修飾デバイスを指定する命令を順次抽出し、 ィンデックス 修飾された結果のデバイスと同一のシーケンスプログラムに存在する他の命令が 使用しているデバイスとを比較し、 デバイスの重複使用を検査する。
シーケンスプログラムにて連続デバイスを指定する命令や連続した領域を指す デバイス表記により連続するデバイスが、 デバイス範囲情報により予め定義され たデバイス範囲内であるか否かのチヱックと、 連続するデバイスがローカルデバ イスとグローバルデバイスを混在使用していないかをチヱックする場合は、 キー ボード 1 7よりキー入力制御部 1 4を介してローカル ' グローバルデバイス混在 使用チェックの指示を出す。 この指示により、 処理部 1 1がシステムプログラフ 厶中のデバイス範囲 &ローカル ' グローバルデバイス混在使用チェックモジユー ル 3 1を実行する。
このデバイス範囲 &ロ一カル · グロ一バルデバイス混在使用チェックモジユー ル 3 1によるチヱックル一チンを第 2図を参照して説明する。
チェック指示が出されると、 まず、 シーケンスプログラムコピー元の参照先を 先頭の命合に設定する処理を実行する (ステップ S 1 ) 。 これにより先頭の命令 力コピー元の参照先に設定される。 つぎに、 シーケンスプログラムより 1命令 + デバイスを作業領域にコピーする処理を実行し (ステップ S 2 ) 、 1命令 +デバ イスを作業領域にコピーする。
つぎに、 第 1の作業領域にコピーした 1命令 +デバイスが、 連続した領域を指 すデバイスを指定する命令あるいはデバイスの表記かを判断する処理を実行する (ステップ S 3 ) 。 連続した領域を指すデバイスを指定する命令あるいはデバイ ス表記のいずれでもない場合には、 シーケンスプログラムコピー元の参照先をつ ぎの命令に設定する処理を実行し (ステップ S 4 ) 、 シーケンスプログラムコピ 一元の参照先をつぎの命令に設定し、 シーケンスプログラムより 1命令 +デバイ スを作業領域にコピーする処理 (ステップ S 2 ) から繰り返す。
これに対し、 連続した領域を指すデバイスを指定する命合あるいはデバイス表 記であれば、 デバイスを取り出す処理を実行し (ステップ S 5 ) 、 1命令 +デバ ィスからデバィスだけを取り出す。
デバイスを取り出す処理 (デバイス展開処理) を第 3図を参照して説明する。 まず 1命合 +デバイスを命令に続く文字列から空白文字 (スペース) をキーに 空白文字を除く文字列群に分解する処理を行い (ステップ S 2 1 ) 、 個々のデバ イス部に分解する。 つぎに、 文字列の先頭文字が連続した領域を示すデバイスの 表記、 即ち "K" であるかを判断する処理を実行し (ステップ S 22) 、 先頭文 字が "K" であれば、 "K" に続く数値を切り出す処理を実行し (ステップ S 2 3) 、 連続したデバイスの範囲を取得 (展開) する。
つぎに、 "K" +数値に続くデバイスが存在するかを判断する処理を実行し ( ステップ S 24) 、 デバイスが存在すれば "K" +数値に続くデバイス数値を切 り出す処理を実行し (ステップ S 25) 、 連続したデバイスの先頭を取得する。 つぎに、 文字列群すべてに対して切り出しを行ったか判断する処理を実行し ( ステップ S 26) 、 文字列群すべてに対して切り出しを行っていなければ、 文字 列の先頭文字は "K" であるかを判断する処理 (ステップ S 22) から繰り返す。 文字列群すべてに対して切り出しを行えば、 連続した領域を指すデバイスを指 定する命令 ( "BMOV" ) かどうか判断する処理を実行し (ステップ S 27) 、 連続した領域を指すデバイスを指定する命令であれば、 命令に対応するデータ テーブルより何番目の文字列群が連続領域を指すか取得する処理を実行し (ステ ップ S 28) 、 連続領域を指すデバイスをデータテーブルより取得(展開) する。 つぎに、 そのデバイスの文字列の先頭文字は "K" 以外かを判断する処理を実 行し (ステップ S 29) 、 "K" 以外であれば、 デバイス値を切り出す処理を実 行する (ステップ S 30) 。
以上で、 デバイスを取り出す処理は終了し、 デバイスを取り出す処理が終了す れば、 つぎに (ここで第 2図の説明に戻る) 、 上述のように切り出された連続領 域のデバイスがデバイス範囲情報に定義されているデバイス範囲内であるか否か の判別を行う (ステップ S 6) 。
連続領域のデバイスがデバイス範囲情報に定義されているデバイス範囲内でな ければ、 結果をプリントァゥト用データと画面表示用データとして保存する処理 を実行し (ステップ S 9) 、 プリントァゥト用データおよび画面表示用データを 作成、 追加する。
連続領域のデバイスがデバイス範囲情報に定義されているデバイス範囲内であ れば、 つぎに、 上述のように切り出された連続領域のデバイスを先頭に、 デバイ CTJP /00270
1 4 ス範囲情報から領域内のデバィスの属性情報を取り出す処理を実行し (ステップ
S 7) 、 口一カルデバイス範囲情報およびグロ一バルデバイス範囲情報を取得す 。
つぎに、 領域内で属性カ侗一であるか否かを判断する処理を実行し (ステップ S 8) 、 連続領域のデバイスとローカルデバイス範囲情報およびグローバルデバ イス範囲情報を比較する。 属性が同一でなければ、 結果をプリントアウト用デー 夕と画面表示用データとして保存する処理を実行し (ステップ S 9) 、 プリント アウト用データおよび画面表示用データを作成、 追加する。
つぎに、 命令はまだあるかどうかを判断する処理を実行し (ステップ S 1 0) 、 命令がまだあれば、 シーケンスプログラムコピー元の参照先をつぎの命合に設 定する処理 (ステップ S 4) を実行し、 シーケンスプログラムコピー元の参照先 をつぎの命令に設定し、 シーケンスプログラムより 1命合+デバイスを作業領域 にコピーする処理 (ステップ S 2) から繰り返す。
すべてのシーケンスプログラムのチヱックが終了すれば、 画面制御部 1 5を介 して CRT 1 8へ、 プリン夕制御部 1 6を介してプリンタ 1 9へ保存結果 (チェ ック結果) を出力する (ステップ S 1 1) 。
出力結果には、 デバイス範囲外のデバイスを指定する命令の存在する命令番号 (リスト行) 、 その命合や、 ローカルデバイスとグローバルデバイスが混在使用 されているデバイス表記や連続した領域を指すデバイスを指定する命令の存在す る命合番号 (リスト行) 、 その命令、 および混在使用箇所および関連するデバイ ス範囲情報 (正規のローカルデバイス範囲とグロ一バルデバイス範囲) がある。 上述のチヱックを第 4図に示されているシーケンスプログラムについて行うと 、 3番目の命令 "M〇V K4M92 DO" は、 連続した領域を指すデバイス の表記 "K" を含んでおり、 この命令では、 第 5図に示されているように、 命令 部 "MOV" に続くデバイス部 "K4M92 D O" の先頭文字 "K" に続く数 値を切り出す処理として "4" を切り出し、 連続したデバイスの範囲 "K 1 " 〜 "K4" を取得する。 連続したデバイスの範囲 "K 1 " 〜 "K4" には、 デバイス "M92" 〜 "M 1 07" が割り付けられ、 この一連のデバイスは、 デバイス範囲情報で定義され ているデバイス属性に対して、 "M92" 〜 "M99" はローカルデバイスで、 "Ml 00" 〜 "Ml 07" はグロ一バデバイスであるから、 3番目の命令にお ける連続した領域を指すデバイスの表記は、 口一カル ' グロ一バデバイス混在使 用と判定される。
また、 7番目の命令 " BMOV D45 D 1 0 K 1 0" は連続した領域を 指す命令 (転送命令) であり、 その命令に従い、 ここでは、 第 6図に示されてい るように、 転送元の連続領域を指すデバイス "D45" 〜 "D54" を取得する 。 なお、 転送元先の連続領域を指すデバイスについても、 同様に取得するが、 こ こではエラ一にならないので、 省略する。
デバイス範囲情報で定義されているデバイス属性に対して、 連続領域を指すデ バイス "D4'5 " 〜 "D 54のうち、 デバイス "D45 " 〜 "D49 " はロー力 ルデバイスで、 "D50" 〜 "M54" はグロ一バデバイスであるから、 7番目 の連続した領域を指す命合は、 ローカル 'グロ一バデバイス混在使用と判定され る。
この結果、 第 7図に示されているようなチェック結果が画面表示される。 これにより、 シーケンスプログラム上に存在する連続デバイスを措定する命令 あるいは連続領域を指すデバィス表記による連続デバィスにローカルデバイスと グロ一バルデバイスとが混在使用されていないかのチェック力 \ シーケンスプロ グラム自体の目視確認作業を必要とすることなく、 自動的に確実且つ迅速に行わ れ、 チヱックミスによるプログラマブルコン卜ローラの誤動作を未然に回避でき 。
シーケンスプログラムにて連続デバイスを指定する命令や連続した領域を指す デバイス表記により連続するデバイスがシーケンスプログラム上に存在する他の 命令で単独使用されていないかをチェックする場合は、 キーボード 1 7よりキー 入力制御部 1 4を介して第 1のデバイス重複使用チェックの指示を出す。 この指 示により、 処理部 1 1がシステムプ πグラフ厶中の第 1のデバイス重複使用チェ ック乇ジュール 3 2を実行する。
この第 1のデバイス重複使用チェックモジュール 3 2によるチェックルーチン を第 8図を参照して説明する。
チヱック指示が出されると、 まず、 シーケンスプログラムコピー元の参照先を 先頭の命令 (重複使用デバイスの検査側の命令) に設定する処理を実行する (ス テツプ S 4 1 ) 。 これにより先頭の命令がコピー元の参照先に設定される。 つぎ に、 シーケンスプログラムより 1命令 +デバイスを第 1の作業領域にコピーする 処理を実行し (ステップ S 4 2 ) 、 1命合 +デバイスを第 1の作業領域にコピー する。
つぎに、 第 1の作業領域にコピーした 1命合+デバイスが、 連続した領域を指 すデバイスを指定する命令あるいはデバイス表記かを判断する処理を実行する ( ステップ S 4 3 ) 。 連続した領域を指すデバイスを指定する命令あるいはデバイ ス表記のいずれでもない場合には、 シーケンスプログラムコピー元の参照先を次 の命合に設定する処理を実行し (ステップ S 4 4 ) 、 シーケンスプログラムコピ 一元の参照先をつぎの命令に設定し、 シーケンスプログラムより 1命令 +デバイ スを作業領域にコピーする処理 (ステップ S 4 2 ) から繰り返す。 これは、 重複 使用デバィスの検査側の命令の走査を意味する。
これに対し、 連続した領域を指すデバイスを指定する命令あるいはデバイス表 記であれば、 デバイスを取り出す処理を実行し (ステップ S 4 5 ) 、 1命令 +デ バイスからデバイスだけを取り出す。 デバイスを取り出す処理 (展開処理) は、 ローカル ' グローバルデバイス混在使用チェック時と同様に、 第 3図に示されて レ、る処理フローに従って行われるから、 この説明は省略する。
つぎに、 シーケンスプログラムコピー元の参照先を先頭の命令 (重複使用デバ イスの比較対照側の命令) に設定する処理を実行する (ステップ S 4 6 ) 。 これ により先頭の命令がコピー元の参照先に設定される。 つぎに、 シーケンスプログ ラムより 1命令 +デバイスを第 2の作業領域にコピーする処理を実行する (ステ ップ S 4 7 )。
つぎに、 第 2の作業領域にコピーされた 1命令 +デバイスよりデバイスを取り 出す処理を実行する (ステップ S 4 8 )。
つぎに、 第 2作業領域の 1命令 +デバイスより取り出したデバイスは、 第 1作 業領域の 1命令 +デバイスによる連続領域内にあるか否かの重複使用の判断を行 う (ステップ S 4 9 ) 。
領域内にあれば、 結果をプリントァゥト用デ一夕および画面表示用データとし て保存する処理を実行し (ステップ S 5 0 ) 、 プリントァゥト用データおよび画 面表示用データを作成、 追加する。
つぎに、 重複使用デバイスの比較対照側の命合はまだあるかどうかを判断する 処理を実行し (ステップ S 5 1 ) 、 命令がまだあれば、 シーケンスプログラムコ ピ一元の参照先をつぎの命令に設定する処理を実行し (ステップ S 5 2 ) 、 シー ケンスプログラムコピー元の参照先をつぎの命令に設定し、 シーケンスプログラ 厶より 1命令 +デバイスを第 2の作業領域にコピーする処理 (ステップ S 4 7 ) から繰り返す。 これは重複使用デバイスの比較対照側の命合の走査を意味する。 重複使用デバイスの比較対照側の命令が終了すると、 つぎに、 重複使用デバィ スの検査側の命令はまだあるかどうかを判断する処理を実行し (ステップ S 5 3
) 、 命合がまだあれば、 シーケンスプログラムコピー元の参照先をつぎの命合に 設定する処理を実行し (ステップ S 4 4 ) 、 シーケンスプログラムコピー元の参 照先をつぎの命令に設定し、 シーケンスプログラムより 1命合 +デバイスを第 1 の作業領域にコピーする処理 (ステップ S 4 2 ) から繰り返す。
すべてのシーケンスプログラムのチヱックが終了すれば、 画面制御部 1 5を介 して C R T 1 8へ、 プリン夕制御部 1 6を介してプリン夕 1 9へ保存結果 (チェ ック結果) を出力する (ステップ S 5 4 )。
出力結果には、 重複デバイス、 他の命令でデバイスが単独使用されているデバ ィス表記や連続した領域を指すデバィスを指定する命令が存在する番号 (リスト 行) 、 およびその命令がある。 上述のチェックを第 9図に示されているシーケンスプログラムについて行うと 、 3番目の命令 "M〇V K4M92 D 1 2 " は、 連続した領域を指すデバィ スの表記 "K" を含んでおり、 この命令では、 第 1 0図に示されているように、 命令部 "MOV" に続くデバイス部 "K4M92 D 1 2" の先頭文字 "K" に 続く数値を切り出す処理として "4" を切り出し、 連続したデバイスの範囲 "K 1 " 〜 "K4" を取得する。 連続したデバイスの範囲 "K 〜 "K4" には、 デバイス "M92" 〜 "Ml 07" が割り付けられる。
これに対し、 5番目の命合 "OUT Ml 00" に " Ml 00" が単独使用さ れているから、 連続領域のデバイス "M92 " ~ "M 1 07 " は、 5番目の命令 "OUT Ml 00" の " Ml 00" と重複していると判定される。
また、 7番目の命令 " BMOV D 45 D 1 0 K 1 0" は連続した領域を 指す命令 (転送命令) であり、 その命令に従い、 ここでは第 1 1図に示されてい るように、 ここでは転送先の連続領域を指すデバイス "D 1 0" 〜 "D 1 9" を 取得する。
これに対し、 3番目の命合 " MOV K4M92 D 1 2" に " D 1 2" が単 独使用されているから、 連続領域を指すデバイス "D 1 0" 〜 "D 1 9" は、 3 番目の命令 "MOV K4M92 D 1 2" の " D 1 2" と重複していると判定 される。
この結果、 第 1 2図に示されているようなチェック結果が画面表示される。 これにより、 シーケンスプログラムにて連続デバイスを指定する命令や連続し た領域を指すデバィス表記により連続するデバイスがシーケンスプログラ厶上に 存在する他の命令で単独使用されていないかのチェックが、 シーケンスプログラ ム自体の目視確認作業を必要とすることなく、 自動的に確実且つ迅速に行われ、 チェックミスによるプログラマブルコントローラの誤動作を未然に回避できる。 シーケンスプログラム上に存在するインデックス修飾デバイスを指定する命令 のィンデックス修飾された結果がシーケンスプログラム上に存在する他の命令で 使用されていないかチェックする場合は、 キーボード 1 7よりキー入力制御部 1 4を介して第 2のデバイス重複使用チヱックの指示を出す。 加えて、 インデック ス修飾する範囲 (インデックス修飾範囲 Z = 0〜1 0 ) も入力する。 この指示に より、 処理部 1 1がシステムプログラフ厶中の第 2のデバイス重複使用チヱック モジュール 3 3を実行する。
この第 2のデバイス重複使用チェックモジュール 3 3によるチエツクルーチン を第 1 3図を参照して説明する。
チェック指示が出されると、 まず、 シーケンスプログラムコピー元の参照先を 先頭の命合 (重複使用デバイスの検査側の命令) に設定する処理を実行する (ス テツプ S 6 1 ) 。 これにより先頭の命令がコピー元の参照先に設定される。 つぎ に、 シーケンスプログラムより 1命合+デバイスを第 1の作業領域にコピーする 処理を実行し (ステップ S 6 2 ) 、 i命令 +デバイスを第 1の作業領域にコピー する。
つぎに、 第 1の作業領域にコピーした 1命令 +デバイスが、 インデックス修飾 されたデバイスを含む命合かを判断する処理を実行する (ステップ S 6 3 ) 。 インデックス修飾されたデバイスを含む命令でない場合には、 シーケンスプロ グラムコピー元の参照先をつぎの命令に設定する処理を実行し (ステップ S 6 4 ) 、 シーケンスプログラムコピー元の参照先をつぎの命令に設定し、 シーケンス プログラムより 1命令 +デバイスを作業領域にコピーする処理 (ステップ S 6 2 ) から繰り返す。
これに対し、 インデックス修飾されたデバイスを含む命令であれば、 検索デバ イスの最小値と最大値を取り出す処理を実行し (ステップ S 6 5 ) 、 1命令 +デ バイスから検索デバィスの最小値と最大値を取り出す。
検索デバイスの最小値と最大値を取り出す処理を第 1 4図を参照して説明する。 まず、 1命合 +デバイスに続く文字列から空白文字をキーに空白を除く文字列 群に分解する処理を行い (ステップ S 8 1 ) 、 デバイス部を個々のデバイスに分 解する。
つぎに、 分解したデバイスの文字列の最終文字は、 インデックスデバイスの表 記、 即ち、 "Z" であるかを判断する処理を実行する (ステップ S 8 2) 。
"Z" でなければ、 文字列群全てに対して切り出しを行なったか判断する処理 を実行し (ステップ S 8 5) 、 すべてに対し実行済みであれば終了する。 これに 対し、 一部に対してのみ実行済みであれば、 文字列の最終文字が "Z" であるか を判断する処理 (ステップ S 82) をデバイス部に含まれる個々の全てのデバイ スに対して実行するよう繰り返す。
文字列の最終文字が "Z" であれば、 "Z" の前のデバイス値を切り出し、 こ れを検索デバイスの最小値にセッ卜する (ステップ S 8 3) 。
つぎに、 切り出したデバイス値にキーボード入力された Zの最大値であるイン デックス修飾する範囲 (Z= 1 0) を加算し、 検索デバイスの最大値にセッ卜す る (ステップ S 84) 。
つぎに、 文字列群全てに対して切り出しを行なつたかを判断する処理を実行し (ステップ S 8 5) 、 文字列の最終文字が "Z" であるかを判断する処理(ステ ップ S 82) をデバイス部に含まれる個々の全てのデバイスに対して実行するよ う繰り返す全てのデバイスに対して実行するまで繰り返す。
以上で、 検索デバイスの最小値と最大値を取り出す処理は終了し、 検索デバィ スの最小値と最大値を取り出す処理が終了すれば、 つぎに (ここで第 1 3図の説 明に戻る) 、 シーケンスプログラムコピー元の参照先を先頭の命令 (重複使用デ バイスの比較対照側の命令) に設定する処理を実行する (ステップ S 6 6)。 こ れにより先頭の命令がコピー元の参照先に設定される。 つぎに、 シーケンスプロ グラムより 1命合 +デバイスを第 2の作業領域にコピーする処理を実行する (ス テツプ S 6 7)。
つぎに、 第 2の作業領域にコピーされた 1命合+デバイスよりデバイスを取り 出す処理を実行する (ステップ S 6 8) 。
つぎに、 第 2作業領域の 1命令 +デバイスより取り出したデバイスは、 第 1作 業領域の 1命令 +デバイス (インデックス修飾されたデバイスを含む命令) によ るデバイスの検索領域内にあるか否かの重複使用の判断を行う (ステップ S 6 9 ) o
検索領域内にあれば、 結果をプリントァゥト用データおよび画面表示用データ として保存する処理を実行し (ステップ S 70) 、 プリントァゥト用データおよ び画面表示用データを作成、 追加する。
つぎに、 重複使用デノくィスの比較対照側の命令はまだあるかどうかを判断する 処理を実行し (ステップ S 71) 、 命令がまだあれば、 シーケンスプログラムコ ピー元の参照先をつぎの命令に設定する処理を実行し (ステップ S 72) 、 シー ケンスプログラムコピー元の参照先をつぎの命合に設定し、 シーケンスプログラ 厶より 1命令 +デバイスを第 2の作業領域にコピーする処理 (ステップ S 67) から繰り返す。
重複使用デバイスの比較対照側の命令が終了すると、 つぎに、 重複使用デバィ スの検査側の命令はまだあるかどうかを判断する処理を実行し (ステップ S 73 ) 、 命合がまだあれば、 シーケンスプログラムコピー元の参照先をつぎの命令に 設定する処理を実行し (ステップ S 64) 、 シーケンスプログラムコピー元の参 照先をつぎの命令に設定し、 シーケンスプログラムより 1命令 +デバイスを第 1 の作業領域にコピーする処理 (ステップ S 62) から繰り返す。
すべてのシーケンスプログラムのチヱックが終了すれば、 画面制御部 1 5を介 して CRT 1 8へ、 プリンタ制御部 1 6を介してプリンタ 1 9へ保存結果 (チェ ック結果) を出力する (ステップ S 74) 。
出力結果には、 インデックス修飾されたデバイスと、 そのインデックス修飾結 果と重複する命令、 およびその命令が出力される。
上述のチヱックを第 1 5図に示されているシーケンスプログラムについて行う と、 i番目の命令 " MOV D 1 0 Z D 1 0 0" は、 インデックス修飾デバィ スを指定する命令であり、 第 1 6図に示されているように、 検索デバイスの最小 値 "D 1 0" と最大値 "D 1 9" を取り出し、 デバイスの検索範囲 "D 1 0 " 〜 "D 1 9" を取得する。
これに対し、 3番目の命令 " MOV D 1 0 D 1 20" に " D 1 0" が使用 され、 また 5番目の命合 "MOV D 1 9 D 2 1 9" に " D 1 9" が使用され ているから、 "MOV D 1 0 Z D 1 0 0" のインデックス修飾された結果は 、 3番目と 5番目の命合で使用しているデバイスと重複使用であると判定される。
9番目の命合 " MOV W20 Z W2 0 0 " についても同様に行われ、 イン デックス修飾された結果は、 1 1番目の命令で使用しているデバイスと重複使用 であると判定される。
この結果、 第 1 7図に示されているようなチェック結果が画面表示される。 これにより、 シーケンスプログラム上に存在するィンデックス修飾デバイスを 指定する命合のィンデックス修飾された結果がシーケンスプログラム上に存在す る他の命令で使用されていないかについてのチェックのチエツクが、 シーケンス プログラム自体の目視確認作業を必要とすることなく、 自動的に確実且つ迅速に 行われ、 チェックミスによるプログラマブルコントロ一ラの誤動作を未然に回避 できる。 産業上の利用の可能性
機械設備の制御を行うプログラマブルコントローラのためのシーケンスプログ ラムを作成する周辺装置で、 シーケンスプログラムを自動チヱックするものとし て利用できる。

Claims

請 求 の 範 囲
1 . シーケンスプログラム毎に割り付けられるデバイスの範囲を記憶する記憶手 段と、
シーケンスプログラムに存在する連続デノくィスを措定する命合や連続領域を指 すデバイス表記を順次抽出し、 これらによる連続領域のデバイスを展開し、 連続 領域のデバイスが前記記憶手段に記憶されているデバイスの範囲内であるか否か を検査するデバイス範囲チヱック手段と、
を有していることを特徵とするプログラマブルコントローラの周辺装置。
2 . シーケンスプログラム毎に割り付けられるローカルデバイスの範囲と各シ一 ケンスプログラムと共通のグローバルデバイスの範囲を定義したデバイス範囲情 報を記憶する記憶手段と、
シーケンスプログラムに存在する連続デバイスを指定する命合や連続領域を指 すデバイス表記を順次抽出し、 これらによる連続領域のデバイスを展開し、 連続 領域のデバイスにローカルデバイスとグロ一バルデバイスとが混在してレ、ないか を前記記憶手段に記憶されているデバィス範囲情報を参照して検査するローカル ' グローバルデバイス混在使用チェック手段と、
を有していることを特徵とするプログラマブルコントローラの周辺装置。
3 . シーケンスプログラムに存在する連続デバイスを指定する命令や連続領域を 指す表記を順次抽出し、 これらによる連続領域を展開し、 連続領域のデバイスと 同一のシーケンスプログラムに存在する他の命合が使用しているデバイスとを比 較し、 デバイスの重複使用を検査するデバイス重複使用チェック手段を有してい ることを特徴とするプログラマブルコントローラの周辺装置。
4 . シーケンスプログラムに存在するインデックス修飾デバイスを指定する命令 を順次抽出し、 ィンデックス修飾された結果のデバイスと同一のシーケンスプロ グラムに存在する他の命令が使用しているデバイスとを比較し、 デバイスの重複 使用を検査するデノくィス重複使用チェック手段を有していることを特徴とするプ ログラマブルコントローラの周辺装置。
5 . C P Uなどによる処理部と、 システムプログラムを格納したシステムプログ ラムエリア、 シーケンスプログラムを格納するシーケンスプログラムエリア、 デ バイス範囲情報エリアをそれぞれ割り付けられる主記憶部と、 補助記憶部と、 キ —入力制御部と、 画面制御部とを有し、
前記デバイス範囲情報エリアにはデバイスの範囲を定義したデバイス範囲情報 が格納され、
前記処理部が前記システムプログラムエリアに格納されたシステムプログラム を実行することにより、 シーケンスプログラムに存在する連続デバイスを指定す る命合や連続領域を指すデバイス表記を順次抽出し、 これらによる連続領域のデ バイスを展開し、 連続領域のデバイスが前記デバィス範囲情報ェリァに格納され ているデバイス範囲情報で定義されたデバイスの範囲内であるか否かを検査し、 その結果を前記画面制御部に接続される表示器に表示することを特徴とするプロ グラマブルコントローラの周辺装置。
6 . C P Uなどによる処理部と、 システムプログラムを格納したシステムプログ ラムエリア、 シーケンスプログラムを格納するシーケンスプログラムエリア、 デ バイス範囲情報エリアをそれぞれ割り付けられる主記憶部と、 補助記憶部と、 キ 一入力制御部と、 画面制御部とを有し、
前記デバイス範囲情報エリ了にはシーケンスプログラム毎に割り付けられる口 一カルデバイスの範囲と各シーケンスプログラムと共通のグロ一ノ ルデノくイスの 範囲を定義したデノ <ィス範囲情報が格納され、
前記処理部が前記システムプログラムエリアに格納されたシステムプログラム を実行することにより、 前記シーケンスプログラムエリァのシーケンスプログラ 厶に存在する連続デバイスを指定する命合や連続領域を指すデバイス表記を順次 抽出し、 これらによる連続領域のデバイスを展開し、 連続領域のデバイスにロー 力ルデバイスとグロ一バルデバイスとが混在してレ、ないかを前記デバイス範囲情 報を参照して検査し、 その結果を前記画面制御部に接続される表示器に表示する ことを特徵とするプログラマブルコントロ一ラの周辺装置。
7 . C P Uなどによる処理部と、 システムプログラムを格納したシステムプログ ラムエリア、 シーケンスプログラムを格納するシーケンスプログラムエリアをそ れぞれ割り付けられる主記憶部と、 補助記憶部と、 キー入力制御部と、 画面制御 部とを有し、
前記処理部が前記システムプログラムエリアに格納されたシステムプログラム を実行することにより、 前記シーケンスプログラムエリアに格納されたシ一ゲン スプログラムに存在する連続デゾ ィスを指定する命令や連続領域を指す表記を順 次抽出し、 これらによる連続領域のデバイスを展開し、 連続領域のデバイスと同 —のシーケンスプログラムに存在する他の命令が使用しているデバイスとを比較 し、 デバイスの重複使用を検査し、 その結果を前記画面制御部に接続される表示 器に表示することを特徴とするプログラマブルコントローラの周辺装置。
8 . C P Uなどによる処理部と、 システムプログラムを格納したシステムプログ ラムエリア、 シーケンスプログラムを格納するシーケンスプログラムエリアをそ れぞれ割り付けられる主記憶部と、 補助記憶部と、 キー入力制御部と、 画面制御 部とを有し、
前記処理部が前記システムプログラムエリアに格納されたシステムプログラム を実行することにより、 前記シーケンスプログラムエリアに格納されたシーゲン スプログラムに存在するィンデックス修飾デバィスを指定する命令を順次抽出し 、 ィンデッタス修飾された結果のデバイスと同一のシーケンスプログラムに存在 する他の命令が使用しているデバイスとを比較し、 デバイスの重複使用を検査し 、 その結果を前記画面制御部に接続される表示器に表示することを特徴とするプ ログラマブルコントロ一ラの周辺装置。
PCT/JP1999/000270 1999-01-25 1999-01-25 Unite peripherique de controleur programmable WO2000043883A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR10-2000-7010608A KR100407635B1 (ko) 1999-01-25 1999-01-25 프로그래머블 컨트롤러의 주변장치
DE19983015T DE19983015B4 (de) 1999-01-25 1999-01-25 Peripherievorrichtung zum Überprüfen eines Ablaufprogramms für eine programmierbare Steuereinrichtung
PCT/JP1999/000270 WO2000043883A1 (fr) 1999-01-25 1999-01-25 Unite peripherique de controleur programmable
JP2000595243A JP4001461B2 (ja) 1999-01-25 1999-01-25 プログラマブルコントローラの周辺装置
US09/643,954 US6810433B1 (en) 1999-01-25 2000-08-23 Peripheral device for programmable controller
US10/833,328 US6850993B2 (en) 1999-01-25 2004-04-28 Peripheral device for programmable controller
US10/938,825 US6948005B2 (en) 1999-01-25 2004-09-13 Peripheral device for programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/000270 WO2000043883A1 (fr) 1999-01-25 1999-01-25 Unite peripherique de controleur programmable

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/643,954 Continuation US6810433B1 (en) 1999-01-25 2000-08-23 Peripheral device for programmable controller

Publications (1)

Publication Number Publication Date
WO2000043883A1 true WO2000043883A1 (fr) 2000-07-27

Family

ID=14234776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/000270 WO2000043883A1 (fr) 1999-01-25 1999-01-25 Unite peripherique de controleur programmable

Country Status (5)

Country Link
US (3) US6810433B1 (ja)
JP (1) JP4001461B2 (ja)
KR (1) KR100407635B1 (ja)
DE (1) DE19983015B4 (ja)
WO (1) WO2000043883A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251207A (ja) * 2001-02-21 2002-09-06 Mitsubishi Electric Corp プログラマブルコントローラ及び周辺装置並びにデバッグ方法
EP1331533A2 (de) * 2002-01-24 2003-07-30 Luxmate Controls GmbH Verfahren zum Zuordnen von Betriebsadressen in einem Steuersystem für eine Vielzahl von Aktoren
JP2008070930A (ja) * 2006-09-12 2008-03-27 Yokogawa Electric Corp プログラムデバッグ装置
JP2022016659A (ja) * 2018-10-23 2022-01-21 株式会社キーエンス 外部設定機器、ロギング設定方法およびプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594229B2 (en) * 2001-10-09 2009-09-22 Nvidia Corp. Predictive resource allocation in computing systems
JP3809151B2 (ja) * 2003-04-21 2006-08-16 ファナック株式会社 シーケンスプログラム編集装置
GB2474250B (en) * 2009-10-07 2015-05-06 Advanced Risc Mach Ltd Video reference frame retrieval

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63175930A (ja) * 1987-01-16 1988-07-20 Nissan Motor Co Ltd 制御プログラムのドキユメント作成装置
JPH052410A (ja) * 1991-04-01 1993-01-08 Mitsubishi Electric Corp プログラマブルコントローラ及びそのシーケンスプログラムモニタ方法
JPH10340108A (ja) * 1997-06-06 1998-12-22 Mitsubishi Electric Corp プログラマブルロジックコントローラの周辺装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227247A (en) * 1977-10-12 1980-10-07 Eaton Corporation Integrated circuit controller programmable with unidirectional-logic instructions representative of sequential wire nodes and circuit elements of a ladder diagram
JPS5853368B2 (ja) * 1978-08-30 1983-11-29 三菱電機株式会社 シ−ケンスコントロ−ラ
US4316244A (en) * 1978-11-08 1982-02-16 Data General Corporation Memory apparatus for digital computer system
US4443865A (en) * 1981-10-26 1984-04-17 Allen-Bradley Co. Processor module for a programmable controller
DE3242631A1 (de) * 1981-11-18 1983-05-26 Omron Tateisi Electronics Co., Kyoto Programmierbare steuereinrichtung
DE68928113T2 (de) * 1988-04-01 1997-10-09 Nec Corp Reihenfolgesteuersystem zur Behandlung von Befehlen
US5038317A (en) * 1988-07-25 1991-08-06 Allen-Bradley Company, Inc. Programmable controller module rack with a relative rack slot addressing mechanism
US5243511A (en) * 1989-06-30 1993-09-07 Icom, Inc. Method and apparatus for block move re-addressing in ladder logic programs
US5295059A (en) * 1992-09-09 1994-03-15 Allen-Bradley Company, Inc. Programmable controller with ladder diagram macro instructions
JP3024422B2 (ja) * 1993-04-01 2000-03-21 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの運転方法
JPH0736510A (ja) * 1993-07-22 1995-02-07 Mitsubishi Electric Corp プログラマブルコントローラ
JP3251414B2 (ja) * 1994-01-11 2002-01-28 三菱電機株式会社 プログラマブルコントローラおよびそのプログラム容量変更方法
US5832304A (en) * 1995-03-15 1998-11-03 Unisys Corporation Memory queue with adjustable priority and conflict detection
US5854921A (en) * 1995-08-31 1998-12-29 Advanced Micro Devices, Inc. Stride-based data address prediction structure
JP3458578B2 (ja) 1996-01-25 2003-10-20 日産自動車株式会社 ラダーシーケンス回路のチェック方法
JPH09212394A (ja) * 1996-01-31 1997-08-15 Mitsubishi Electric Corp データ処理装置
TW470915B (en) * 1996-03-12 2002-01-01 Matsushita Electric Ind Co Ltd Optimization apparatus which removes transfer instructions by a global analysis of equivalence relations
KR980000737A (ko) 1996-06-03 1998-03-30 손욱 저항 용접의 접합 방법
US5615697A (en) 1996-06-10 1997-04-01 Fu Tai Umbrella Works, Ltd. Pocketable folding umbrella with foldably sandwiched ribs
JP3317156B2 (ja) 1996-09-18 2002-08-26 三菱電機株式会社 リモートplc装置を備えた数値制御装置
US5848256A (en) * 1996-09-30 1998-12-08 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for address disambiguation using address component identifiers
KR100222304B1 (ko) 1997-03-19 1999-10-01 홍상복 프로그래머블 로직 콘트롤러 로더의 디바이스 판별방법
US6507898B1 (en) * 1997-04-30 2003-01-14 Canon Kabushiki Kaisha Reconfigurable data cache controller
JP3439945B2 (ja) * 1997-05-26 2003-08-25 三菱電機株式会社 プログラマブルコントローラおよびシーケンスプログラム実行方法
US6154684A (en) * 1997-06-14 2000-11-28 Rockwell Technologies, Llc Template language for industrial controller programming
US6094713A (en) * 1997-09-30 2000-07-25 Intel Corporation Method and apparatus for detecting address range overlaps
US6263429B1 (en) * 1998-09-30 2001-07-17 Conexant Systems, Inc. Dynamic microcode for embedded processors
US6490635B1 (en) * 2000-04-28 2002-12-03 Western Digital Technologies, Inc. Conflict detection for queued command handling in disk drive controller
JP3733842B2 (ja) * 2000-07-12 2006-01-11 日本電気株式会社 ベクトルスキャタ命令制御回路及びベクトル型情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63175930A (ja) * 1987-01-16 1988-07-20 Nissan Motor Co Ltd 制御プログラムのドキユメント作成装置
JPH052410A (ja) * 1991-04-01 1993-01-08 Mitsubishi Electric Corp プログラマブルコントローラ及びそのシーケンスプログラムモニタ方法
JPH10340108A (ja) * 1997-06-06 1998-12-22 Mitsubishi Electric Corp プログラマブルロジックコントローラの周辺装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251207A (ja) * 2001-02-21 2002-09-06 Mitsubishi Electric Corp プログラマブルコントローラ及び周辺装置並びにデバッグ方法
JP4569011B2 (ja) * 2001-02-21 2010-10-27 三菱電機株式会社 プログラマブルコントローラ及びその周辺装置
EP1331533A2 (de) * 2002-01-24 2003-07-30 Luxmate Controls GmbH Verfahren zum Zuordnen von Betriebsadressen in einem Steuersystem für eine Vielzahl von Aktoren
EP1331533A3 (de) * 2002-01-24 2008-12-24 Zumtobel Staff GmbH Verfahren zum Zuordnen von Betriebsadressen in einem Steuersystem für eine Vielzahl von Aktoren
JP2008070930A (ja) * 2006-09-12 2008-03-27 Yokogawa Electric Corp プログラムデバッグ装置
JP2022016659A (ja) * 2018-10-23 2022-01-21 株式会社キーエンス 外部設定機器、ロギング設定方法およびプログラム
JP7273935B2 (ja) 2018-10-23 2023-05-15 株式会社キーエンス 外部設定機器、ロギング設定方法およびプログラム

Also Published As

Publication number Publication date
DE19983015B4 (de) 2006-02-23
US6948005B2 (en) 2005-09-20
KR100407635B1 (ko) 2003-12-01
US6810433B1 (en) 2004-10-26
KR20010024956A (ko) 2001-03-26
US20040199679A1 (en) 2004-10-07
US20050033873A1 (en) 2005-02-10
US6850993B2 (en) 2005-02-01
JP4001461B2 (ja) 2007-10-31
DE19983015T1 (de) 2001-04-26

Similar Documents

Publication Publication Date Title
WO2000043883A1 (fr) Unite peripherique de controleur programmable
US20030090526A1 (en) Analysis work support system
JP4102137B2 (ja) 制御プログラム作成支援システム及びその支援方法
US7062495B2 (en) Design work assistance apparatus
JP2011076561A (ja) パーツカタログ作成支援装置、プログラム、およびパーツカタログ作成支援方法
JP4032306B2 (ja) 設計作業支援装置
JP3037232B2 (ja) 回路図データ編集装置における回路図の表示方法
JP2009157751A (ja) ソフトウェア開発支援装置
JP4255737B2 (ja) プログラマブルコントローラの周辺装置
JP2969423B2 (ja) Cadシステムにおけるグラフィックス表示装置とテキスト・ファイル表示装置との間のコミュニケーション・システム
JPH0744359A (ja) ケース・ツールにおけるメモドキュメント作成方法及びメモドキュメントの選択方法
JPH05290130A (ja) 設計製図における穴加工情報属性付加方法
JP3164807B2 (ja) 表示内容対応表による表示条件記述方式
JP2003308345A (ja) 書類相関関係表示システム
JPH08147333A (ja) 図面作成システム
JP2724240B2 (ja) ブロック図処理機能付きプログラム自動生成装置
JP2002334121A (ja) Cad装置およびcadシステム並びに部品設計方法
JP2534348B2 (ja) Cad穴明デ―タからの数値制御デ―タ作成方法
JPH10340188A (ja) ファイルの更新項目関連図の自動作成装置
JP2005293403A (ja) 設計業務支援装置
JP2004110168A (ja) Cadの世代管理システム及び世代管理プログラム
JPH05150924A (ja) ネツトワーク監視画面テキストフアイル生成装置
JP2007148897A (ja) Cadシステム、その使用方法およびその使用方法をコンピュータに実行させるプログラム
JPH0357020A (ja) システム処理プログラム作成装置
JPH0720918A (ja) ガイダンス機能付き数値制御装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): DE JP KR US

WWE Wipo information: entry into national phase

Ref document number: 09643954

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020007010608

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1020007010608

Country of ref document: KR

RET De translation (de og part 6b)

Ref document number: 19983015

Country of ref document: DE

Date of ref document: 20010426

WWE Wipo information: entry into national phase

Ref document number: 19983015

Country of ref document: DE

WWR Wipo information: refused in national office

Ref document number: 1020007010608

Country of ref document: KR