WO2014080457A1 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
WO2014080457A1
WO2014080457A1 PCT/JP2012/080099 JP2012080099W WO2014080457A1 WO 2014080457 A1 WO2014080457 A1 WO 2014080457A1 JP 2012080099 W JP2012080099 W JP 2012080099W WO 2014080457 A1 WO2014080457 A1 WO 2014080457A1
Authority
WO
WIPO (PCT)
Prior art keywords
cpu
module
cpu module
sub
potential
Prior art date
Application number
PCT/JP2012/080099
Other languages
English (en)
French (fr)
Inventor
正臣 工藤
和正 大澤
Original Assignee
株式会社安川電機
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 株式会社安川電機 filed Critical 株式会社安川電機
Priority to JP2014548358A priority Critical patent/JP6015768B2/ja
Priority to PCT/JP2012/080099 priority patent/WO2014080457A1/ja
Publication of WO2014080457A1 publication Critical patent/WO2014080457A1/ja
Priority to US14/716,997 priority patent/US10768601B2/en

Links

Images

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/0421Multiprocessor system
    • 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/13004Programming the plc

Definitions

  • the present invention relates to a programmable controller.
  • a programmable controller having a multi-CPU configuration composed of a plurality of CPU modules has been proposed (see, for example, Patent Document 1).
  • the programmable controller having this multi-CPU configuration multitask processing is possible, and load distribution and processing speed increase are realized. Further, by dividing a plurality of applications by function and letting the multi-CPU process, the complicated processing is avoided and the processing is simplified and speeded up.
  • Patent Document 1 discloses that a system processor has a station number switch in order to identify each of a plurality of CPU modules. It is disclosed that the CPU module can be distinguished from other CPU modules by setting the station number switch.
  • the present invention has been made in view of the above problems, and it is not necessary to declare which CPU is a main CPU and which CPU is a sub CPU on a program or to set a switch, and the same configuration. It is an exemplary object to provide a programmable controller that can automatically complete main / sub setting by connecting a plurality of CPUs to a circuit. Another object is to provide a programmable controller that can prevent an abnormal operation of a program even when the settings of the main CPU and the sub CPU are changed due to a change in circuit connection or the like.
  • a programmable controller as an exemplary aspect of the present invention includes a plurality of interface units and a plurality of CPU modules.
  • the interface unit can be connected to the CPU module and can send a first potential signal having a plurality of different potential states toward the connected CPU module.
  • the CPU module can be connected to the interface unit and can be connected to other CPU modules, and has a CPU for executing arithmetic processing and a memory for storing determination bits and definition information therein. is doing.
  • the determination bit is based on the potential state of the first potential signal input to the CPU module from the interface unit to which the CPU module having the determination bit is connected, whether the CPU in the CPU module is the main CPU. It has binarized information indicating whether it is a CPU.
  • the definition information includes setting information indicating whether a CPU in the CPU module having the definition information is set in advance as a main CPU or a sub CPU.
  • the CPU module can send a second potential signal having a predetermined potential state to the other CPU module, and the discrimination bit in the other CPU module is the second You may have the binarization information which shows that own CPU is a sub CPU based on the electric potential state of an electric potential signal.
  • the contents of whether the programmable controller is the main CPU or the sub CPU indicated by the binarized information included in the discrimination bit in the CPU module, and the main CPU indicated by the setting information included in the definition information in the CPU module If the contents about whether the CPU is a sub CPU or not, the execution of arithmetic processing by the CPU may be restricted.
  • definition information is not stored in the memory of the CPU module, whether the programmable controller is a main CPU or a sub CPU indicated by the binarization information of the discrimination bit in the CPU module in the memory New definition information may be created based on the contents of the.
  • the plurality of CPU modules generate a clock signal serving as a reference for execution timing of the arithmetic processing, and determine the clock signal of the CPU module indicating that the binarized information included in the determination bit is a sub CPU. You may synchronize with the clock signal of the CPU module which shows that the binarization information which a bit has is a main CPU.
  • the present invention it is not necessary to declare on the program which switch is the main CPU and which CPU is the sub CPU, or to set a switch, and a plurality of CPUs having the same configuration are connected to the circuit.
  • the main / sub setting can be automatically completed. Further, even when the settings of the main CPU and the sub CPU are changed due to a change in circuit connection or the like, an abnormal operation of the program can be prevented.
  • FIG. 1 It is a figure which shows the use condition of the programmable controller (PLC) which concerns on Embodiment 1 of this invention.
  • PLC programmable controller
  • FIG. 1 It is a block diagram which shows schematic structure of PLC shown in FIG.
  • FIG. 1 It is a block diagram which shows schematic structure of the CPU module connected to IF unit in CPU rack.
  • FIG. 1 It is a block diagram which shows schematic structure of the CPU module connected to IF unit in another CPU rack.
  • FIG. 9 is a block diagram illustrating a schematic configuration of a CPU module connected to an IF unit in a CPU rack according to a second embodiment. It is a block diagram which shows schematic structure of PLC2 which concerns on Embodiment 3.
  • FIG. 10 is a block diagram illustrating a schematic configuration of a CPU module connected to an IF unit in a CPU rack according to a third embodiment.
  • FIG. 1 is a diagram illustrating a usage state of the programmable controller (PLC) 2 according to the first embodiment of the present invention.
  • the programmable controller 2 is used by being connected to a servo motor 4 as a control target via a servo control device 3.
  • the control target is not limited to the servo motor 4, and other types of motors and various actuators other than the motors can be controlled.
  • the PLC 2 includes a plurality of modules such as a power supply module 10, a CPU (arithmetic processing unit) module 5, and an option module 6 therein.
  • Each of the plurality of CPU modules 5 has a memory therein, and a control program is stored in each memory.
  • a control command is sent from the PLC 2 to the servo control device 3 based on the arithmetic processing of the CPU module 5.
  • the servo control device 3 performs operation control and driving of the servo motor (control target) 4 based on the received control command.
  • the PLC 2 has a data communication port 2a such as a USB port. By connecting an external storage device such as a USB memory to the data communication port 2a, data and setting information in the PLC 2 can be backed up. It is possible.
  • the PLC 2 also has a data communication port 2b such as an Ethernet port. By connecting to the PC having a program editing application such as an engineering tool via the data communication port 2b, the PLC 2 can control the PLC 2 via the PC. The program can be read, edited and written.
  • the PLC 2 has an error indicator (error display means) ER for displaying an error when the content based on the determination bit described later and the content based on the definition information do not match.
  • FIG. 2 is a block diagram showing a schematic configuration of the PLC 2.
  • the PLC 2 has a plurality of CPU racks R.
  • Each CPU rack R has a power supply module 10 and a CPU module 5.
  • Several types of modules are prepared as the option module 6, and some of the CPU racks R may have the option module 6.
  • a module suitable for the application may be selected from the module line-up according to the control device and applied to the PLC 2 as an optional module.
  • the module lineup includes a communication module for RS-232C communication / Devicenet communication, a servo control module, an I / O module, and the like.
  • the CPU rack R1 has a power supply module 10, two CPU modules 5a and 5b, and an option module 6.
  • the CPU rack R2 includes a power supply module 10, one CPU module 5c, and an option module 6.
  • the CPU rack R3 has a power supply module 10 and one CPU module 5d.
  • the CPU modules 5a to 5d have the same configuration.
  • Each of the CPU racks R1 to R3 has an inter-rack interface unit (interface unit; hereinafter referred to as IF unit) F1 to F3.
  • the IF unit has a function of connecting CPU racks to each other via another IF unit.
  • the CPU rack R1 and the CPU rack R2 are connected via the IF unit F1 and the IF unit F2.
  • the CPU rack R1 and the CPU rack R3 are connected via the IF unit F1 and the IF unit F3.
  • the IF unit F1 is connected to the CPU module 5a via the power supply module 10.
  • the CPU module 5b is connected to the CPU module 5a.
  • the IF unit F2 is connected to the CPU module 5c via the power supply module 10.
  • the IF unit F3 is connected to the CPU module 5d via the power supply module 10.
  • the IF units F1 to F3 have a function of setting a CPU module connected to the IF unit F1 to F3 as a main CPU or a sub CPU depending on whether or not the slave rack expansion module 11 is provided therein. This point will be described later.
  • FIG. 3 is a block diagram showing a schematic configuration of the CPU module 5a connected to the IF unit F1 in the CPU rack R1.
  • FIG. 4 is a block diagram showing a schematic configuration of the CPU module 5c connected to the IF unit F2 in the CPU rack R2.
  • the CPU module 5 includes a CPU (arithmetic processing unit) 13, an FPGA 7, and a memory 8.
  • the CPU 13 is a processor that executes various applications.
  • the FPGA 7 is an integrated circuit incorporating a circuit specialized for the system, and has a function of executing processing such as generating a scan cycle based on the execution of the control program P.
  • a control program P is stored in the memory 8. When the control program P is executed, the CPU 13 performs calculation processing, and the operation of the servo motor 4 is controlled based on the calculation result.
  • the potential state of the connection port 11a connected to the CPU 5a is OPEN.
  • the potential level of the connection port 11b connected to the connection port 11a is the same as the potential level of the connection port 11a.
  • the potential level of the connection port 11b and the potential level of the determination bit 12a are the same level. Accordingly, the potential level of the connection port 11b and the potential level of the discrimination bit 12a are both the same as the potential level of the connection port 11a (hereinafter, this state is referred to as an OPEN state).
  • connection port 11a of the IF unit F1 is connected to the connection port 11b provided in the FPGA 7a in the CPU module 5a via the power supply module 10, and as a result, the first potential signal S1 is input from the IF unit F1 to the CPU module 5a. Is done.
  • the potential state of the connection port 11a is OPEN
  • the potential state of the first potential signal S1 input to the connection port 11b is determined by the potential level of the determination bit 12a and thus is at the low level.
  • the CPU module 5a has a discrimination bit 12a inside the memory 8a.
  • the determination bit 12a has binarized information indicating whether the CPU 13a in its own CPU module 5a is a main CPU or a sub CPU, and the information is a first potential signal input to the connection port 11b. Based on the potential state of S1. For example, in the first embodiment, when the potential state of the first potential signal S1 input to the connection port of the FPGA is Low, the determination bit is “0”, and the CPU module is set as the main CPU. To do. When the potential state of the first potential signal S1 input to the connection port of the FPGA is High, the determination bit is “1”, and the CPU module is set as the sub CPU.
  • the determination bit 12a becomes “0”, and the CPU 13a in the CPU module 5a is set as the main CPU.
  • the setting information (information that it is the main CPU) is stored in the memory 8a as the definition information Qa.
  • the operation clock signal of the CPU module 5a as the main CPU becomes the reference clock signal for program execution. Therefore, the clock signal of the CPU module 5a is transmitted toward the other sub CPU. Note that any of the CPU modules 5a to 5d generates a clock signal.
  • the CPU module 5a has an output port 11c.
  • the potential state (predetermined potential state) of the second potential signal S2 output from the output port 11c is set to Vcc.
  • the CPU module 5b has an FPGA 7b therein, and the output port 11c is connected to the connection port 11d of the FPGA 7b. Since the potential state of the output port 11c is at the Vcc level, the potential state of the second potential signal S2 input to the connection port 11d is at the High level.
  • the CPU module 5b has a discrimination bit 12b inside the memory 8b.
  • the configuration and function of the discrimination bit 12b are the same as those of the discrimination bit 12a.
  • the determination bit 12a is “1”
  • the CPU 13b in the CPU module 5b is set as a sub CPU.
  • the setting information (information that it is a sub CPU) is stored in the memory 8b as definition information Qb.
  • the control program P is executed, the operation clock signal of the CPU module 5a as the main CPU becomes the reference clock signal for program execution.
  • the operation clock signal of the CPU module 5b as the sub CPU is synchronized with the received clock signal from the CPU module 5a as the main CPU.
  • the CPU module 5a connected to the IF unit F1 is set as the main CPU.
  • the CPU module 5b connected to the CPU module 5a (in other words, a CPU module that is not directly connected to the IF unit and is connected to another CPU module) is set as a sub CPU.
  • the IF unit F2 has a slave rack expansion module 11 inside. Therefore, the potential state of the first potential signal S1 input to the connection port 11e connected to the CPU 5c is at the Vcc level.
  • the connection port 11e of the slave rack expansion module 11 is connected to the connection port 11f provided in the FPGA 7c in the CPU module 5c via the power supply module 10.
  • the potential state of the first potential signal S1 input to the connection port 11f is at the high level.
  • the CPU module 5c has a discrimination bit 12c inside the memory 8c.
  • the configuration and function of the discrimination bit 12c are the same as those of the discrimination bit 12a.
  • the determination bit 12c is “1”, and the CPU 13c in the CPU module 5c is set as a sub CPU.
  • the setting information (information that it is a sub CPU) is stored in the memory 8c as definition information Qc.
  • the control program P is executed, the operation clock signal of the CPU module 5a as the main CPU becomes the reference clock signal for program execution.
  • the operation clock signal of the CPU module 5c as the sub CPU is synchronized with the received clock signal from the CPU module 5a as the main CPU.
  • the CPU module 5c connected to the IF unit F2 is set as a sub CPU.
  • the CPU module connected to the CPU module 5c is also set as a sub CPU. Since the connection state between the IF unit F3 and the CPU module 5d and the setting of the CPU module 5d are the same as the connection state between the IF unit F2 and the CPU module 5c and the setting of the CPU module 5c, the description thereof is omitted. That is, since the IF unit F3 includes the slave rack expansion module 11, the determination bit 12d is “1”, and the CPU module 5d is set as a sub CPU. Information indicating that it is a sub CPU is stored as definition information Qd in the memory 8d (note that the determination bit 12d, the definition information Qd, and the memory 8d are not shown in the first embodiment).
  • the CPU modules 5a to 5d are CPU modules having the same configuration, whether the CPU module is a main CPU or a sub CPU is automatically set depending on the connection state with the IF unit. Is done. Depending on which IF unit is connected, that is, depending on whether it is connected to an IF unit having a slave rack expansion module or an IF unit not having a slave rack expansion module, the main CPU / sub CPU is automatically The setting contents are stored as definition information in each CPU module.
  • PLC2 performs hardware connection state detection operation and definition information confirmation operation after power-on.
  • the hardware connection state detection operation detection of the connection state between the CPU racks R1 to R3, detection of the presence / absence of a slave rack expansion module in each IF unit, detection of the connection state of each CPU module, and the like are executed.
  • detecting the connection state of each CPU module it is detected which IF unit each CPU module is connected to or which CPU module is connected.
  • the connection state between the IF unit and the CPU module is detected, and the CPU module to be set as the main CPU based on the connection state in the PLC 2 (this connection state is “main”.
  • a CPU module to be set as a sub CPU (referred to as a CPU module whose connection state is “sub”) is specified.
  • the setting contents of the definition information in each CPU module are confirmed. That is, which CPU module is set in advance as a main CPU (this is called a CPU module whose definition information is “main”), and which CPU module is set as a sub CPU in advance (this is defined as definition information).
  • the setting information is obtained for the CPU module whose "sub" is "sub”.
  • the PLC 2 is in a state where normal operation is possible.
  • a scan operation based on the execution of the control program P, a data backup process via the data communication port 2a of the PLC 2, a control program read using a program editing application, editing, writing, etc. can be performed. .
  • the PLC 2 does not enter the normal operation state.
  • some functions such as data backup processing via the data communication port 2a, reading of the control program, and monitoring of registers in the control program are valid, but scanning operation and data communication based on execution of the control program P are effective.
  • Other functions such as writing of a control program via the port 2a are not enabled.
  • FIG. 5 is a flowchart for explaining the operation of the PLC 2 when the power is turned on.
  • S1 the power of the PLC 2 is turned on
  • S2 the PLC 2 starts a hardware connection state detection operation
  • S3 the PLC 2 starts a definition information confirmation operation (S3).
  • the CPU modules 5a to 5d When the definition information Qa to Qd is not stored in any of the memories 8a to 8d (S4), that is, when none of the definition information Qa to Qd has contents, the CPU modules 5a to 5d Is also determined as “unused”. In this case, new definition information Qa to Qd is created in the memories 8a to 8d of the CPU modules 5a to 5d (S5). Specifically, “main” is stored as definition information in the CPU module whose connection state is “main”, and “sub” is defined in the CPU module whose connection state is “sub”. Stored as information. And PLC2 will be in a state in which normal operation is possible.
  • connection state is “main” (S6). If the connection state is not “main”, it is confirmed whether or not the definition information in the CPU module is “main” (S7). When the definition information is not “main”, it is determined that the connection state matches the definition state (that is, both are “sub”) (S8). If the definition information is “main”, it is determined that the connection state and the definition state do not match (S9), and an error is displayed on, for example, an error indicator (error notification means) ER of the PLC 2 (S10). . In this case, the PLC 2 does not enter a normal operation enabled state.
  • connection state is “main” (S6)
  • main it is confirmed whether or not the definition information in the CPU module is “main” (S11). If the definition information is also “main”, it is determined that the connection state matches the definition state (that is, both are “main”) (S12).
  • the definition information is “sub”, it is determined that the connection state and the definition state do not match (S9), and for example, an error is displayed on the error indicator ER of the PLC 2 (S10). In this case, the PLC 2 does not enter a normal operation enabled state.
  • connection state and the definition information are performed for all the CPU modules, and when it is determined that the connection state and the definition information are the same in all, the PLC 2 is in a normal operation enabled state.
  • batch output means that the contents of the set output register are output to an external device using a ladder program (control program written in ladder language)
  • batch input means input from an external device. Means to capture to the input register.
  • each CPU module 5a to 5d starts its operation (S24), and first, it is confirmed whether the connection state of each CPU module and the definition information match or do not match (S25). The process for confirming whether or not the connection state of each CPU module matches the definition information is as described with reference to FIG.
  • connection state of each CPU module matches the definition information
  • data backup from the PLC 2 to the USB memory data read from the PLC 2
  • data load from the USB memory to the PLC 2 data to the PLC 2 Writing
  • S34 data backup from the PLC 2 to the USB memory
  • S35 data writing to the PLC 2 is not permitted
  • FIG. 9 is a block diagram illustrating a schematic configuration of the PLC 2 according to the second embodiment.
  • the PLC 2 has a plurality of CPU racks R1 to R3.
  • Each of the CPU racks R1 to R3 has an IF unit F1 to F3, a power supply module 10, a CPU module 5, and an option module 6.
  • the CPU rack R1 has one CPU module 5a
  • the CPU rack R2 has one CPU module 5c
  • the CPU rack R3 has one CPU module 5d.
  • the CPU modules 5a, 5c, 5d have the same configuration.
  • FIG. 10 is a block diagram showing a schematic configuration of the CPU module 5a connected to the IF unit F1 in the CPU rack R1.
  • the CPU module 5a has a determination bit 12a inside the memory 8a.
  • the configuration and function of the determination bit 12a are the same as those described in the first embodiment.
  • the CPU module 5a since the IF unit F1 does not have the slave rack expansion module 11, the potential state of the connection port 11a becomes OPEN. Therefore, the input potential to the connection port 11b of the FPGA 7a by the first potential signal S1 becomes Low level, the discrimination bit 12a becomes “0”, and the CPU 13a in the CPU module 5a is set as the main CPU.
  • the setting information (information that it is the main CPU) is stored in the memory 8a as the definition information Qa.
  • the control program P is executed, the operation clock signal of the CPU module 5a as the main CPU becomes the reference clock signal for program execution.
  • the IF unit F2 has a slave rack expansion module 11. Therefore, the CPU module 5c is set as a sub CPU.
  • the IF unit F3 has a slave rack expansion module 11. Therefore, the CPU 13d in the CPU module 5d is set as a sub CPU.
  • the process of setting the CPU modules 5c and 5d as sub CPUs is the same as that described in the description of the CPU rack R2 and the CPU module 5c in the first embodiment and FIG. Detailed description will be omitted.
  • the control program P is executed, the operation clock signal of the CPU module 5c as the sub CPU is synchronized with the received clock signal from the CPU module 5a as the main CPU.
  • FIG. 11 is a block diagram illustrating a schematic configuration of the PLC 2 according to the third embodiment.
  • the PLC 2 has a plurality of CPU racks R1 to R3.
  • Each of the CPU racks R1 to R3 has an IF unit F1 to F3, a power supply module 10, a CPU module 5, and an option module 6.
  • the CPU rack R1 has two CPU modules 5a and 5b
  • the CPU rack R2 has two CPU modules 5c and 5d
  • the CPU rack R3 has two CPU modules 5e and 5f.
  • the CPU modules 5a to 5f have the same configuration.
  • the CPU 13a in the CPU module 5a is set as the main CPU. Further, the CPU 13b in the CPU module 5b connected to the CPU module 5a as the main CPU is set as a sub CPU. Since these setting processes are the same as those described for the CPU rack R1 and the CPU modules 5a and 5b in the first embodiment and those described with reference to FIG.
  • the operation clock signal of the CPU module 5a as the main CPU becomes the reference clock signal for program execution.
  • the operation clock signal of the CPU module 5b as the sub CPU is synchronized with the clock signal from the CPU module 5a as the main CPU.
  • FIG. 12 is a block diagram showing a schematic configuration of the CPU module 5c connected to the IF unit F2 in the CPU rack R2.
  • the CPU module 5c has a determination bit 12c inside the memory 8c.
  • the configuration and function of the determination bit 12c are the same as those described in the first embodiment.
  • the CPU module 5c since the IF unit F2 has the slave rack extension module 11, the potential state of the connection port 11e becomes the Vcc level. Therefore, the input potential to the connection port 11f of the FPGA 7c by the first potential signal S1 becomes High level, the discrimination bit 12c becomes “1”, and the CPU 13c in the CPU module 5c is set as a sub CPU.
  • the setting information (information that it is a sub CPU) is stored in the memory 8c as definition information Qc.
  • the control program P is executed, the operation clock signal of the CPU module 5c as the sub CPU is synchronized with the clock signal from the CPU module 5a as the main CPU.
  • the CPU module 5c has an output port 11g.
  • the potential state (predetermined potential state) of the second potential signal S2 output from the output port 11g is set to Vcc.
  • the CPU module 5d has an FPGA 7d therein, and the output port 11g is connected to the connection port 11h of the FPGA 7d. Since the potential state of the output port 11g is at the Vcc level, the potential state of the second potential signal S2 input to the connection port 11h is at the High level.
  • the CPU module 5d has a discrimination bit 12d inside the memory 8d.
  • the configuration and function of the determination bit 12d are the same as those of the determination bit 12a.
  • the determination bit 12a is “1”, and the CPU 13d in the CPU module 5d is set as a sub CPU.
  • the CPU 13d When the CPU 13d is set as a sub CPU, the setting information (information that it is a sub CPU) is stored in the memory 8d as definition information Qd.
  • the control program P When the control program P is executed, the operation clock signal of the CPU module 5d as the sub CPU is synchronized with the clock signal from the CPU module 5a as the main CPU.
  • the CPU in the CPU module 5e in the CPU rack R3 is also set as a sub CPU in the same manner as the CPU 13c in the CPU module 5c in the CPU rack R2. Also, the CPU in the CPU module 5f in the CPU rack R3 is set as a sub CPU (sub-sub CPU) similarly to the CPU 13d in the CPU module 5d in the CPU rack R2. Since these configurations and setting processes are the same as those described for the CPU rack R3 in the third embodiment and those described in FIG. 12, a detailed description thereof will be omitted.
  • Error indicator (error notification means): ER IF unit (inter-rack interface unit): F1 to F3 Definition information: Qa to Qd Control program: P CPU rack: R, R1-R3 First potential signal: S1 Second potential signal: S2 Programmable controller (PLC): 2 Data communication port: 2a, 2b Servo controller: 3 Servo motor (control target): 4 CPU module: 5, 5a to 5f Optional modules: 6 FPGA: 7, 7a-7d Memory: 8, 8a-8d Power supply module: 10 Slave rack expansion module: 11 Connection port: 11a, 11b, 11d, 11e, 11f, 11h Output port: 11c, 11g Discrimination bit: 12a to 12d CPU (arithmetic processing unit): 13, 13a to 13d

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

 PLC(2)は、複数のIFユニットと、複数のCPUモジュール(5)と、を含み、IFユニットは、CPUモジュール(5)と接続可能であって、接続されたCPUモジュール(5)に向けて複数の異なる電位状態を有する第1電位信号(S1)を送出可能であり、CPUモジュール(5)は、IFユニットと接続可能であると共に他のCPUモジュール(5)と接続可能であり、内部にCPU(13)と判別ビットと定義情報を格納するためのメモリ(8)とを有しており、判別ビットは、CPUモジュール(5)の接続先であるIFユニットからCPUモジュール(5)に入力された第1電位信号(S1)の電位状態に基づいて、CPU(13)がメインCPUであるかサブCPUであるかを示す2値化情報を有し、定義情報は、CPU(13)が予めメインCPUとして設定されているかサブCPUとして設定されているかを示す設定情報を有する。

Description

プログラマブルコントローラ
 本発明は、プログラマブルコントローラに関する。
 従来、複数のCPUモジュールからなるマルチCPU構成のプログラマブルコントローラが提案されている(例えば、特許文献1を参照)。このマルチCPU構成のプログラマブルコントローラによれば、マルチタスク処理が可能となり、負荷分散や処理高速化を実現する。また、複数のアプリケーションを機能ごとに区分けしてマルチCPUに処理担当させることにより、複雑な処理を回避して処理の単純化・高速化を図っている。
 特許文献1には、複数のCPUモジュールの各々を識別するために、システムプロセッサが局番スイッチを有することが開示されている。そして、局番スイッチの設定によって、自己のCPUモジュールと他のCPUモジュールとが区別可能であることが開示されている。
特開2011-123688号公報
 しかしながら、上述のように、従来のマルチCPU構成のプログラマブルコントローラでは、複数のCPUの各々を識別するために、CPUごとにスイッチを設け、わざわざスイッチ設定を行う必要があった。また、プログラム側で、どのCPUがメインCPUで、どのCPUがサブCPUであるかの宣言を行う必要があった。このプログラム側での宣言と、ハードウェア側で検出したメインCPUとサブCPUの設定(すなわち、スイッチ設定)とが矛盾した場合に、プログラムが異常動作する懸念がある。プログラムの異常動作は、プログラマブルコントローラで動作制御する制御対象(モータ等)の異常動作の原因となり得る。
 本発明は、上記の課題に鑑みてなされたもので、どのCPUがメインCPUであり、どのCPUがサブCPUであるかをプログラム上で宣言したり、スイッチ設定したりする必要がなく、同一構成の複数のCPUを回路に接続することにより自動的にメイン・サブの設定を完了することのできるプログラマブルコントローラを提供することを例示的課題とする。また、回路接続の変更等により、メインCPUとサブCPUの設定が変更となった場合でも、プログラムの異常動作を防止することのできるプログラマブルコントローラを提供することを例示的課題とする。
 上記の課題を解決するために、本発明の例示的側面としてのプログラマブルコントローラは、複数のインターフェースユニットと、複数のCPUモジュールと、を含む。インターフェースユニットは、CPUモジュールと接続可能であって、接続されたCPUモジュールに向けて複数の異なる電位状態を有する第1電位信号を送出可能である。CPUモジュールは、インターフェースユニットと接続可能であると共に他のCPUモジュールと接続可能であり、その内部に演算処理を実行するためのCPUと、判別ビット及び定義情報を格納するためのメモリと、を有している。判別ビットは、その判別ビットを有するCPUモジュールの接続先であるインターフェースユニットからそのCPUモジュールに入力された第1電位信号の電位状態に基づいて、そのCPUモジュール内のCPUがメインCPUであるかサブCPUであるかを示す2値化情報を有している。定義情報は、その定義情報を有するCPUモジュール内のCPUが予めメインCPUとして設定されているかサブCPUとして設定されているかを示す設定情報を有している。
 CPUモジュールは、他のCPUモジュールが接続された場合に、他のCPUモジュールに向けて所定の電位状態を有する第2電位信号を送出可能であり、他のCPUモジュール内の判別ビットは、第2電位信号の電位状態に基づいて自身のCPUがサブCPUであることを示す2値化情報を有してもよい。
 プログラマブルコントローラが、CPUモジュール内における判別ビットが有する2値化情報が示すメインCPUであるかサブCPUであるかについての内容と、そのCPUモジュール内における定義情報が有する設定情報が示すメインCPUであるかサブCPUであるかについての内容とが不一致である場合に、エラー報知するエラー報知手段を更に有してもよい。
 プログラマブルコントローラが、CPUモジュール内における判別ビットが有する2値化情報が示すメインCPUであるかサブCPUであるかについての内容と、そのCPUモジュール内における定義情報が有する設定情報が示すメインCPUであるかサブCPUであるかについての内容とが不一致である場合に、CPUによる演算処理の実行を制限してもよい。
 プログラマブルコントローラが、CPUモジュールが有するメモリ内に定義情報が格納されていない場合に、そのメモリ内にそのCPUモジュール内の判別ビットが有する2値化情報が示すメインCPUであるかサブCPUであるかについての内容に基づき新たな定義情報を作成してもよい。
 複数のCPUモジュールは、演算処理の実行のタイミングの基準となるクロック信号を生成しており、かつ、判別ビットが有する2値化情報がサブCPUであることを示すCPUモジュールのクロック信号を、判別ビットが有する2値化情報がメインCPUであることを示すCPUモジュールのクロック信号に同期させてもよい。
 本発明の更なる目的又はその他の特徴は、以下添付図面を参照して説明される好ましい実施の形態によって明らかにされるであろう。
 本発明によれば、どのCPUがメインCPUであり、どのCPUがサブCPUであるかをプログラム上で宣言したり、スイッチ設定したりする必要がなく、同一構成の複数のCPUを回路に接続することにより自動的にメイン・サブの設定を完了することができる。また、回路接続の変更等により、メインCPUとサブCPUの設定が変更となった場合でも、プログラムの異常動作を防止することができる。
本発明の実施形態1に係るプログラマブルコントローラ(PLC)の使用状態を示す図である。 図1に示すPLCの概略構成を示すブロック図である。 CPUラックにおいて、IFユニットに接続されたCPUモジュールの概略構成を示すブロック図である。 別のCPUラックにおいて、IFユニットに接続されたCPUモジュールの概略構成を示すブロック図である。 PLCの電源投入時の動作を説明するフローチャートである。 プログラムスキャン時におけるPLCの動作について説明するフローチャートである。 PLCのデータバックアップの手順について説明するフローチャートである。 エンジニアリングツール(プログラム編集アプリケーション)を用いた制御プログラムの編集手順について説明するフローチャートである。 実施形態2に係るPLC2の概略構成を示すブロック図である。 実施形態2におけるCPUラックにおいて、IFユニットに接続されたCPUモジュールの概略構成を示すブロック図である。 実施形態3に係るPLC2の概略構成を示すブロック図である。 実施形態3におけるCPUラックにおいて、IFユニットに接続されたCPUモジュールの概略構成を示すブロック図である。
  [実施形態1]
 以下、本発明の実施形態1について図面を用いて説明する。図1は、本発明の実施形態1に係るプログラマブルコントローラ(PLC)2の使用状態を示す図である。プログラマブルコントローラ2は、サーボ制御装置3を介して制御対象としてのサーボモータ4に接続されて使用される。もちろん、制御対象はサーボモータ4に限られず、その他の種類のモータやモータ以外の各種アクチュエータを制御対象とすることができる。
 PLC2は、内部に電源モジュール10、CPU(演算処理装置)モジュール5、オプションモジュール6等の複数のモジュールを有して構成されている。複数のCPUモジュール5は各々内部にメモリを有しており、そのメモリ内に各々制御プログラムが格納されている。制御プログラムが実行されると、CPUモジュール5の演算処理に基づきPLC2からサーボ制御装置3に向けて制御指令が送出されるようになっている。サーボ制御装置3は、受信した制御指令に基づき、サーボモータ(制御対象)4の動作制御及び駆動を実行するようになっている。
 PLC2は、USBポート等のデータ通信ポート2aを有しており、そのデータ通信ポート2aにUSBメモリ等の外部記憶装置を接続することで、PLC2内のデータや設定情報等をデータバックアップすることが可能となっている。また、PLC2は、Ethernetポート等のデータ通信ポート2bを有しており、データ通信ポート2bを介してエンジニアリングツール等のプログラム編集アプリケーションを有するPCに接続することにより、PCを介してPLC2内の制御プログラムの読み出し、編集、書き込み等を行えるようになっている。PLC2は、後述する判別ビットに基づく内容と定義情報に基づく内容とが不一致となった場合に、エラー表示を行うエラー表示器(エラー表示手段)ERを有している。
 図2は、PLC2の概略構成を示すブロック図である。PLC2は、複数のCPUラックRを有している。各々のCPUラックRが電源モジュール10、CPUモジュール5を有している。数種類のモジュールが、オプションモジュール6として用意されており、CPUラックRのうちいくつかが、オプションモジュール6を有していてもよい。例えば、制御機器に応じて、モジュールのラインナップから用途にあったモジュールを選んで、オプションモジュールとしてPLC2に適用してもよい。モジュールのラインナップには、RS-232C通信・Devicenet通信等のための通信モジュールや、サーボ制御モジュールや、I/Oモジュール等がある。
 図2では、CPUラックR1が電源モジュール10、2つのCPUモジュール5a,5b、オプションモジュール6を有している。CPUラックR2は電源モジュール10、1つのCPUモジュール5c、オプションモジュール6を有している。CPUラックR3は電源モジュール10、1つのCPUモジュール5dを有している。CPUモジュール5a~5dは、同一の構成を有している。
 各CPUラックR1~R3は、各々ラック間インターフェースユニット(インターフェースユニット。以下、IFユニットという。)F1~F3を有している。IFユニットは、他のIFユニットを介してCPUラック同士を接続する機能を有している。図2では、CPUラックR1とCPUラックR2とが、IFユニットF1とIFユニットF2とを介して接続されている。CPUラックR1とCPUラックR3とが、IFユニットF1とIFユニットF3とを介して接続されている。
 IFユニットF1は、電源モジュール10を介してCPUモジュール5aに接続されている。そして、CPUモジュール5bがCPUモジュール5aに接続されている。IFユニットF2は、電源モジュール10を介してCPUモジュール5cに接続されている。IFユニットF3は、電源モジュール10を介してCPUモジュール5dに接続されている。IFユニットF1~F3は、内部にスレーブラック拡張モジュール11を有するか否かにより、自身に接続されたCPUモジュールをメインCPU又はサブCPUに設定する機能を有するが、この点は後述する。
 図3は、CPUラックR1において、IFユニットF1に接続されたCPUモジュール5aの概略構成を示すブロック図である。図4は、CPUラックR2において、IFユニットF2に接続されたCPUモジュール5cの概略構成を示すブロック図である。CPUモジュール5は、CPU(演算処理装置)13とFPGA7とメモリ8とを有している。CPU13は、各種アプリケーションを実行するプロセッサである。FPGA7は、システムに特化した回路を組み込んだ集積回路であり、制御プログラムPの実行に基づくスキャン周期を生成する等の処理を実行する機能を有する。メモリ8内には、制御プログラムPが格納されている。制御プログラムPが実行されることによりCPU13が演算処理を行い、その演算結果に基づきサーボモータ4の動作が制御されるようになっている。
 IFユニットF1はスレーブラック拡張モジュール11を有していないので、CPU5aと接続される接続ポート11aの電位状態がOPENとなる。接続ポート11aに接続された接続ポート11bの電位レベルは接続ポート11aの電位レベルと同一となる。また、接続ポート11bの電位レベルと判別ビット12aの電位レベルは同一レベルである。したがって、接続ポート11bの電位レベル及び判別ビット12aの電位レベルは、いずれも接続ポート11aの電位レベルと同一レベルとなる(以下、この状態をOPENな状態、という。)。IFユニットF1の接続ポート11aは、電源モジュール10を介してCPUモジュール5a内のFPGA7aが備える接続ポート11bに接続され、結果的にIFユニットF1からCPUモジュール5aに向けて第1電位信号S1が入力される。接続ポート11aの電位状態がOPENな状態である場合、接続ポート11bへ入力される第1電位信号S1の電位状態は、判別ビット12aの電位レベルにより決定されるため、Lowレベルである。
 CPUモジュール5aでは、メモリ8a内部に判別ビット12aを有している。判別ビット12aは、自身のCPUモジュール5a内のCPU13aがメインCPUであるかサブCPUであるかを示す2値化情報を有しており、その情報は接続ポート11bへ入力される第1電位信号S1の電位状態に基づいている。例えば、本実施形態1では、FPGAの接続ポートへ入力される第1電位信号S1の電位状態がLowの場合、判別ビットは「0」であり、そのCPUモジュールはメインCPUとして設定されるものとする。FPGAの接続ポートへ入力される第1電位信号S1の電位状態がHighの場合、判別ビットは「1」であり、そのCPUモジュールはサブCPUとして設定されるものとする。
 CPUモジュール5aでは、FPGA7aの接続ポート11bへの入力電位の電位状態がLowレベルであるので、判別ビット12aは「0」となり、CPUモジュール5a内のCPU13aはメインCPUとして設定される。CPU13aがメインCPUとして設定されると、その設定情報(自身がメインCPUであるとの情報)が定義情報Qaとしてメモリ8a内に格納される。制御プログラムPの実行の際には、メインCPUとしてのCPUモジュール5aの動作クロック信号がプログラム実行の基準クロック信号となる。したがって、CPUモジュール5aのクロック信号が、他のサブCPUに向けて送信される。なお、いずれのCPUモジュール5a~5dもクロック信号を生成している。
 CPUモジュール5aは、出力ポート11cを有している。この出力ポート11cから出力される第2電位信号S2の電位状態(所定の電位状態)は、Vccとされている。CPUモジュール5bは内部にFPGA7bを有しており、出力ポート11cは、FPGA7bの接続ポート11dに接続される。出力ポート11cの電位状態がVccレベルであるので、接続ポート11dへ入力される第2電位信号S2の電位状態はHighレベルとなる。
 CPUモジュール5bでは、メモリ8b内部に判別ビット12bを有している。判別ビット12bの構成及び機能は、判別ビット12aと同様である。CPUモジュール5bでは、FPGA7bの接続ポート11dへ入力される第2電位信号S2の電位状態がHighレベルであるので、判別ビット12aは「1」となり、CPUモジュール5b内のCPU13bはサブCPUとして設定される。CPU13bがサブCPUとして設定されると、その設定情報(自身がサブCPUであるとの情報)が定義情報Qbとしてメモリ8b内に格納される。制御プログラムPの実行の際には、メインCPUとしてのCPUモジュール5aの動作クロック信号がプログラム実行の基準クロック信号となる。サブCPUとしてのCPUモジュール5bの動作クロック信号は、受け取ったメインCPUとしてのCPUモジュール5aからのクロック信号に同期する。
 上述のように、IFユニットF1がスレーブラック拡張モジュール11を有していないので、IFユニットF1に接続されたCPUモジュール5aはメインCPUとして設定される。CPUモジュール5aに接続されたCPUモジュール5b(換言すると、IFユニットに直接接続されておらず、他のCPUモジュールに接続されているCPUモジュール)は、サブCPUとして設定される。
 なお、FPGAの接続ポートへの入力電位がHighレベル/Lowレベルのいずれの場合に、自身のCPUをメインCPU/サブCPUのいずれに設定するかは、設計的に自由な事項である。また、FPGAの接続ポートへの入力電位がHighレベル/Lowレベルのいずれの場合に、判別ビットの情報値を「0」/「1」のいずれに設定するかも、設計的に自由な事項である。
 IFユニットF2は内部にスレーブラック拡張モジュール11を有している。したがって、CPU5cと接続される接続ポート11eに入力される第1電位信号S1の電位状態はVccレベルとなる。スレーブラック拡張モジュール11の接続ポート11eは、電源モジュール10を介してCPUモジュール5c内のFPGA7cが備える接続ポート11fに接続される。接続ポート11eの電位がVccレベルである場合、接続ポート11fへ入力される第1電位信号S1の電位状態はHighレベルとなる。
 CPUモジュール5cでは、メモリ8c内部に判別ビット12cを有している。判別ビット12cの構成及び機能は、判別ビット12aと同様である。CPUモジュール5cでは、FPGA7cの接続ポート11fへの入力電位がHighレベルであるので、判別ビット12cは「1」となり、CPUモジュール5c内のCPU13cはサブCPUとして設定される。CPU13cがサブCPUとして設定されると、その設定情報(自身がサブCPUであるとの情報)が定義情報Qcとしてメモリ8c内に格納される。制御プログラムPの実行の際には、メインCPUとしてのCPUモジュール5aの動作クロック信号がプログラム実行の基準クロック信号となる。サブCPUとしてのCPUモジュール5cの動作クロック信号は、受け取ったメインCPUとしてのCPUモジュール5aからのクロック信号に同期する。
 上述のように、IFユニットF2がスレーブラック拡張モジュール11を有している場合、IFユニットF2に接続されたCPUモジュール5cはサブCPUとして設定される。そして、CPUモジュール5cに接続されたCPUモジュールもサブCPUとして設定される。なお、IFユニットF3とCPUモジュール5dとの接続状態及びCPUモジュール5dの設定については、IFユニットF2とCPUモジュール5cとの接続状態及びCPUモジュール5cの設定と同様であるので、説明を省略する。すなわち、IFユニットF3は、スレーブラック拡張モジュール11を有しているので、判別ビット12dが「1」となり、CPUモジュール5dはサブCPUとして設定される。そして、サブCPUであるとの情報が定義情報Qdとしてメモリ8d内に格納される(なお、判別ビット12d、定義情報Qd及びメモリ8dについては、本実施形態1での図示を省略する。)。
 上記に説明したように、CPUモジュール5a~5dは、同一構成のCPUモジュールであるにも拘わらず、IFユニットとの接続状態により自動的にメインCPUであるか、サブCPUであるか、が設定される。どのIFユニットに接続されるかにより、つまり、スレーブラック拡張モジュールを有するIFユニットに接続されるかスレーブラック拡張モジュールを有さないIFユニットに接続されるかにより、自動的にメインCPU/サブCPUの設定がされ、その設定内容が各CPUモジュール内に定義情報として格納される。
 PLC2は、電源投入後にハードウェア接続状態検出動作と定義情報確認動作とを行う。ハードウェア接続状態検出動作においては、各CPUラックR1~R3間の接続状態の検出、各IFユニット内のスレーブラック拡張モジュールの有無の検出、各CPUモジュールの接続状態の検出等が実行される。各CPUモジュールの接続状態の検出においては、各CPUモジュールがどのIFユニットに接続されているか、又は、どのCPUモジュールに接続されているか、についての検出が行われる。このハードウェア接続状態検出動作により、IFユニットとCPUモジュールとの接続状態が検出され、PLC2内での接続状況に基づきメインCPUとして設定されるべきCPUモジュール(これを、接続状態が「メイン」であるCPUモジュールという。)とサブCPUとして設定されるべきCPUモジュール(これを、接続状態が「サブ」であるCPUモジュールという。)とが特定される。
 定義情報確認動作においては、各CPUモジュール内の定義情報の設定内容の確認が行われる。つまり、どのCPUモジュールが予めメインCPUとして設定されているか(これを、定義情報が「メイン」であるCPUモジュールという。)、どのCPUモジュールが予めサブCPUとして設定されているか(これを、定義情報が「サブ」であるCPUモジュールという。)についての設定情報が得られる。
 接続状態が「メイン」であるCPUモジュールと、定義情報が「メイン」であるCPUモジュールとに矛盾がなく、接続状態が「サブ」であるCPUモジュールと、定義情報が「サブ」であるCPUモジュールとに矛盾がない場合、PLC2は正常動作可能状態となる。PLC2が正常動作可能状態となると、制御プログラムPの実行に基づくスキャン動作、PLC2が有するデータ通信ポート2aを介したデータバックアップ処理やプログラム編集アプリケーションを用いた制御プログラムの読み出し、編集、書き込み等が行える。
 一方、CPUモジュールの接続状態と定義情報の内容とに矛盾がある場合、PLC2は正常動作可能状態とならない。その場合、データ通信ポート2aを介したデータバックアップ処理、制御プログラムの読み出しや制御プログラム内のレジスタのモニタ等の一部の機能は有効となるが、制御プログラムPの実行に基づくスキャン動作やデータ通信ポート2aを介した制御プログラムの書き込み等の他の機能は有効とならない。
 このPLC2の動作について、図5~図8のフローチャートを用いて説明する。図5は、PLC2の電源投入時の動作を説明するフローチャートである。PLC2の電源を投入すると(S1)、PLC2は、ハードウェア接続状態検出動作を開始する(S2)。そして、PLC2は、定義情報確認動作を開始する(S3)。これらの動作により、IFユニットF1~F3、CPUモジュール5a~5dの接続状態、スレーブラック拡張モジュール11の有無、定義情報Qa~Qdの内容が確認される。
 メモリ8a~8d内のいずれにも定義情報Qa~Qdが格納されていない場合(S4)、すなわち、定義情報Qa~Qdのいずれもが内容を有していない場合、CPUモジュール5a~5dはいずれも「未使用である」と判断される。その場合、各CPUモジュール5a~5dのメモリ8a~8d内に新たな定義情報Qa~Qdが作成される(S5)。具体的には、接続状態が「メイン」であるCPUモジュールに、「メイン」であることが定義情報として格納され、接続状態が「サブ」であるCPUモジュールに、「サブ」であることが定義情報として格納される。そして、PLC2は正常動作可能状態となる。
 メモリ8a~8d内のいずれかに定義情報Qa~Qdが格納されている場合(S4)、接続状態が「メイン」であるか否かが確認される(S6)。接続状態が「メイン」でない場合、そのCPUモジュール内の定義情報が「メイン」であるか否かが確認される(S7)。定義情報も「メイン」でない場合、接続状態と定義状態とが一致する(すなわち、いずれも「サブ」である。)と判断される(S8)。定義情報が「メイン」である場合は、接続状態と定義状態とが不一致であると判断され(S9)、例えば、PLC2が有するエラー表示器(エラー報知手段)ERにエラー表示される(S10)。この場合、PLC2は正常動作可能状態とならない。
 接続状態が「メイン」である場合(S6)、そのCPUモジュール内の定義情報が「メイン」であるか否かが確認される(S11)。定義情報も「メイン」である場合、接続状態と定義状態とが一致する(すなわち、いずれも「メイン」である。)と判断される(S12)。定義情報が「サブ」である場合は、接続状態と定義状態とが不一致であると判断され(S9)、例えば、PLC2が有するエラー表示器ERにエラー表示される(S10)。この場合、PLC2は正常動作可能状態とならない。
 上記の、接続状態と定義情報との照合動作をすべてのCPUモジュールについて行い、すべてにおいて接続状態と定義情報とが一致であると判断されると、PLC2は正常動作可能状態となる。
 次に、図6を用いて、プログラムスキャン時におけるPLC2の動作について説明する。スキャン動作が開始すると(S21)、一括出力(S22)及び一括入力(S23)が実行される。ここで、一括出力とは、ラダープログラム(ラダー言語により記述された制御プログラム)にて、設定した出力レジスタの内容を外部機器へ出力することをいい、一括入力とは、外部機器からの入力を入力レジスタへ取り込むことを意味する。そして、各CPUモジュール5a~5dが動作を開始し(S24)、まず、各CPUモジュールの接続状態と定義情報との一致/不一致が確認される(S25)。各CPUモジュールの接続状態と定義情報との一致/不一致の確認プロセスについては、図5において説明した通りである。
 各CPUモジュールの接続状態と定義情報とが一致していると判断されると、制御プログラム(例えば、ラダー言語によって記述されている。)Pの解析が実行され(S26)、制御プログラムPに基づくサーボモータ4の動作制御が行われる。ここで、メインCPUに設定されたCPUモジュールのクロック信号がサブCPUに設定されたCPUモジュールへと送信され、サブCPUは、そのメインCPUのクロック信号に同期しつつ動作する。
 次に、図7を用いて、PLC2のデータバックアップの手順について説明する。データ通信ポート2aにUSBメモリ(外部記憶装置)が接続され(S31)、USBメモリとのデータ通信要求信号を受信すると(S32)、PLC2は、まず、各CPUモジュールの接続状態と定義情報との一致/不一致を確認する(S33)。各CPUモジュールの接続状態と定義情報との一致/不一致の確認プロセスについては、図5において説明した通りである。
 各CPUモジュールの接続状態と定義情報とが一致していると判断されると、PLC2からUSBメモリへのデータバックアップ(PLC2からのデータ読み出し)とUSBメモリからPLC2へのデータロード(PLC2へのデータ書き込み)が許可される(S34)。一方、各CPUモジュールの接続状態と定義情報とが不一致であると判断されると、PLC2からのデータ読み出しのみが許可され、PLC2へのデータ書き込みは許可されない(S35)。
 次に、図8を用いて、エンジニアリングツール(プログラム編集アプリケーション)を用いた制御プログラムPの編集手順について説明する。データ通信ポート2aにエンジニアリングツールを有するPCが接続され(S41)、PC側から編集コマンドを受信すると(S42)、PLC2は、まず、各CPUモジュールの接続状態と定義情報との一致/不一致を確認する(S43)。各CPUモジュールの接続状態と定義情報との一致/不一致の確認プロセスについては、図5において説明した通りである。
 各CPUモジュールの接続状態と定義情報とが一致していると判断されると、エンジニアリングツールによるPLC2からPCへのデータ読み出し、PCからPLC2へのデータ書き込みのいずれもが許可される(S44)。一方、各CPUモジュールの接続状態と定義情報とが不一致であると判断されると、PLC2からのPCへのデータ読み出しのみが許可され、PLC2へのデータ書き込みは許可されない(S45)。
  [実施形態2]
 図9は、実施形態2に係るPLC2の概略構成を示すブロック図である。このPLC2は、複数のCPUラックR1~R3を有している。各々のCPUラックR1~R3が各々IFユニットF1~F3、電源モジュール10、CPUモジュール5、オプションモジュール6を有している。図9では、CPUラックR1が1つのCPUモジュール5aを、CPUラックR2が1つのCPUモジュール5cを、CPUラックR3が1つのCPUモジュール5dを有している。CPUモジュール5a,5c,5dは、同一の構成を有している。
 図10は、CPUラックR1において、IFユニットF1に接続されたCPUモジュール5aの概略構成を示すブロック図である。CPUモジュール5aでは、メモリ8a内部に判別ビット12aを有している。判別ビット12aの構成及び機能は、実施形態1にて説明したものと同様である。CPUモジュール5aでは、IFユニットF1がスレーブラック拡張モジュール11を有していないので、接続ポート11aの電位状態がOPENな状態となる。したがって、第1電位信号S1によるFPGA7aの接続ポート11bへの入力電位がLowレベルとなり、判別ビット12aは「0」となり、CPUモジュール5a内のCPU13aはメインCPUとして設定される。CPU13aがメインCPUとして設定されると、その設定情報(自身がメインCPUであるとの情報)が定義情報Qaとしてメモリ8a内に格納される。制御プログラムPの実行の際には、メインCPUとしてのCPUモジュール5aの動作クロック信号がプログラム実行の基準クロック信号となる。
 CPUラックR2において、IFユニットF2はスレーブラック拡張モジュール11を有している。したがって、CPUモジュール5cはサブCPUとして設定される。CPUラックR3において、IFユニットF3はスレーブラック拡張モジュール11を有している。したがって、CPUモジュール5d内のCPU13dはサブCPUとして設定される。このCPUラックR2,R3において、CPUモジュール5c,5dがサブCPUとして設定されるプロセスは、実施形態1におけるCPUラックR2及びCPUモジュール5cについての説明、並びに図4において説明したものと同様であるので、詳細な説明を省略する。制御プログラムPの実行の際には、サブCPUとしてのCPUモジュール5cの動作クロック信号は、受け取ったメインCPUとしてのCPUモジュール5aからのクロック信号に同期する。
  [実施形態3]
 図11は、実施形態3に係るPLC2の概略構成を示すブロック図である。このPLC2は、複数のCPUラックR1~R3を有している。各々のCPUラックR1~R3が各々IFユニットF1~F3、電源モジュール10、CPUモジュール5、オプションモジュール6を有している。図11では、CPUラックR1が2つのCPUモジュール5a,5bを、CPUラックR2が2つのCPUモジュール5c,5dを、CPUラックR3が2つのCPUモジュール5e,5fを有している。CPUモジュール5a~5fは、同一の構成を有している。
 CPUラックR1においては、IFユニットF1がスレーブラック拡張モジュール11を有していないので、CPUモジュール5a内のCPU13aがメインCPUとして設定される。また、メインCPUであるCPUモジュール5aに接続されたCPUモジュール5b内のCPU13bがサブCPUとして設定される。これらの設定プロセスについては、実施形態1におけるCPUラックR1及びCPUモジュール5a,5bについての説明、並びに図3において説明したものと同様であるので、詳細な説明を省略する。制御プログラムPの実行の際には、メインCPUとしてのCPUモジュール5aの動作クロック信号がプログラム実行の基準クロック信号となる。そして、サブCPUとしてのCPUモジュール5bの動作クロック信号は、メインCPUとしてのCPUモジュール5aからのクロック信号に同期する。
 図12は、CPUラックR2において、IFユニットF2に接続されたCPUモジュール5cの概略構成を示すブロック図である。CPUモジュール5cでは、メモリ8c内部に判別ビット12cを有している。判別ビット12cの構成及び機能は、実施形態1にて説明したものと同様である。CPUモジュール5cでは、IFユニットF2がスレーブラック拡張モジュール11を有しているので、接続ポート11eの電位状態がVccレベルとなる。したがって、第1電位信号S1によるFPGA7cの接続ポート11fへの入力電位がHighレベルとなり、判別ビット12cは「1」となり、CPUモジュール5c内のCPU13cはサブCPUとして設定される。CPU13cがサブCPUとして設定されると、その設定情報(自身がサブCPUであるとの情報)が定義情報Qcとしてメモリ8c内に格納される。制御プログラムPの実行の際には、サブCPUとしてのCPUモジュール5cの動作クロック信号は、メインCPUとしてのCPUモジュール5aからのクロック信号に同期する。
 CPUモジュール5cは出力ポート11gを有している。出力ポート11gから出力される第2電位信号S2の電位状態(所定の電位状態)は、Vccとされている。CPUモジュール5dは内部にFPGA7dを有しており、出力ポート11gは、FPGA7dの接続ポート11hに接続される。出力ポート11gの電位状態がVccレベルであるので、接続ポート11hへ入力される第2電位信号S2の電位状態はHighレベルとなる。
 CPUモジュール5dでは、メモリ8d内部に判別ビット12dを有している。判別ビット12dの構成及び機能は、判別ビット12aと同様である。CPUモジュール5dでは、FPGA7dの接続ポート11hへ入力される第2電位信号S2の電位状態がHighレベルであるので、判別ビット12aは「1」となり、CPUモジュール5d内のCPU13dはサブCPUとして設定される(サブCPUとしてのCPUモジュール5cに従属的に接続されたサブCPUであるので、サプCPUとしてのCPUモジュール5cと区別するためにサブ-サブCPUという場合もある。)。CPU13dがサブCPUとして設定されると、その設定情報(自身がサブCPUであるとの情報)が定義情報Qdとしてメモリ8d内に格納される。制御プログラムPの実行の際には、サブCPUとしてのCPUモジュール5dの動作クロック信号は、メインCPUとしてのCPUモジュール5aからのクロック信号に同期する。
 なお、CPUラックR3におけるCPUモジュール5e内のCPUもCPUラックR2におけるCPUモジュール5c内のCPU13cと同様に、サブCPUとして設定される。また、CPUラックR3におけるCPUモジュール5f内のCPUもCPUラックR2におけるCPUモジュール5d内のCPU13dと同様に、サブCPU(サブ-サブCPU)として設定される。これらの構成及び設定プロセスは、この実施形態3におけるCPUラックR3についての説明及び図12において説明したものと同様であるので、詳細な説明を省略する。
以上、本発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、その要旨の範囲内で様々な変形や変更が可能である。
エラー表示器(エラー報知手段):ER
IFユニット(ラック間インターフェースユニット):F1~F3
定義情報:Qa~Qd
制御プログラム:P
CPUラック:R,R1~R3
第1電位信号:S1
第2電位信号:S2
プログラマブルコントローラ(PLC):2
データ通信ポート:2a,2b
サーボ制御装置:3
サーボモータ(制御対象):4
CPUモジュール:5,5a~5f
オプションモジュール:6
FPGA:7,7a~7d
メモリ:8,8a~8d
電源モジュール:10
スレーブラック拡張モジュール:11
接続ポート:11a,11b,11d,11e,11f,11h
出力ポート:11c,11g
判別ビット:12a~12d
CPU(演算処理装置):13,13a~13d

Claims (6)

  1.  複数のインターフェースユニットと、
     複数のCPUモジュールと、を含むプログラマブルコントローラであって、
     前記インターフェースユニットは、前記CPUモジュールと接続可能であって、接続されたCPUモジュールに向けて複数の異なる電位状態を有する第1電位信号を送出可能であり、
     前記CPUモジュールは、前記インターフェースユニットと接続可能であると共に他のCPUモジュールと接続可能であり、その内部に演算処理を実行するためのCPUと、判別ビット及び定義情報を格納するためのメモリと、を有しており、
     前記判別ビットは、当該判別ビットを有するCPUモジュールの接続先である前記インターフェースユニットから当該CPUモジュールに入力された前記第1電位信号の電位状態に基づいて、当該CPUモジュール内のCPUがメインCPUであるかサブCPUであるかを示す2値化情報を有しており、
     前記定義情報は、当該定義情報を有するCPUモジュール内のCPUが予めメインCPUとして設定されているかサブCPUとして設定されているかを示す設定情報を有する、プログラマブルコントローラ。
  2.  前記CPUモジュールは、他のCPUモジュールが接続された場合に、当該他のCPUモジュールに向けて所定の電位状態を有する第2電位信号を送出可能であり、
     当該他のCPUモジュール内の判別ビットは、前記第2電位信号の電位状態に基づいて自身のCPUがサブCPUであることを示す2値化情報を有する、請求項1に記載のプログラマブルコントローラ
  3.  前記CPUモジュール内における前記判別ビットが有する2値化情報が示すメインCPUであるかサブCPUであるかについての内容と、当該CPUモジュール内における前記定義情報が有する設定情報が示すメインCPUであるかサブCPUであるかについての内容とが不一致である場合に、エラー報知するエラー報知手段を更に有する、請求項1又は請求項2に記載のプログラマブルコントローラ。
  4.  前記CPUモジュール内における前記判別ビットが有する2値化情報が示すメインCPUであるかサブCPUであるかについての内容と、当該CPUモジュール内における前記定義情報が有する設定情報が示すメインCPUであるかサブCPUであるかについての内容とが不一致である場合に、前記CPUによる前記演算処理の実行を制限する、請求項1から請求項3のうちいずれか1項に記載のプログラマブルコントローラ。
  5.  前記CPUモジュールが有する前記メモリ内に前記定義情報が格納されていない場合に、当該メモリ内に当該CPUモジュール内の前記判別ビットが有する2値化情報が示すメインCPUであるかサブCPUであるかについての内容に基づき新たな定義情報を作成する、請求項1から請求項4のうちいずれか1項に記載のプログラマブルコントローラ。
  6.  前記複数のCPUモジュールは、前記演算処理の実行のタイミングの基準となるクロック信号を生成しており、かつ、
     前記判別ビットが有する2値化情報がサブCPUであることを示すCPUモジュールのクロック信号を、前記判別ビットが有する2値化情報がメインCPUであることを示すCPUモジュールのクロック信号に同期させる、請求項1から請求項5のうちいずれか1項に記載のプログラマブルコントローラ。
      
PCT/JP2012/080099 2012-11-20 2012-11-20 プログラマブルコントローラ WO2014080457A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014548358A JP6015768B2 (ja) 2012-11-20 2012-11-20 プログラマブルコントローラ
PCT/JP2012/080099 WO2014080457A1 (ja) 2012-11-20 2012-11-20 プログラマブルコントローラ
US14/716,997 US10768601B2 (en) 2012-11-20 2015-05-20 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/080099 WO2014080457A1 (ja) 2012-11-20 2012-11-20 プログラマブルコントローラ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/716,997 Continuation US10768601B2 (en) 2012-11-20 2015-05-20 Programmable controller

Publications (1)

Publication Number Publication Date
WO2014080457A1 true WO2014080457A1 (ja) 2014-05-30

Family

ID=50775663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/080099 WO2014080457A1 (ja) 2012-11-20 2012-11-20 プログラマブルコントローラ

Country Status (3)

Country Link
US (1) US10768601B2 (ja)
JP (1) JP6015768B2 (ja)
WO (1) WO2014080457A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162680B2 (en) * 2016-12-13 2018-12-25 GM Global Technology Operations LLC Control of data exchange between a primary core and a secondary core using a freeze process flag and a data frozen flag in real-time
CN109960212B (zh) * 2017-12-25 2020-07-31 北京京东乾石科技有限公司 任务发送方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112519A (ja) * 1998-10-02 2000-04-21 Toshiba Corp 分散型プロセス入出力装置
JP2010061458A (ja) * 2008-09-04 2010-03-18 Yaskawa Electric Corp マシンコントローラシステムおよびマシンコントローラ間同期方法
JP2011123688A (ja) * 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd 同期プログラマブルコントローラ、同期プログラマブルコントローラシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3224406A1 (de) * 1981-07-01 1983-01-20 Canon K.K., Tokyo Bilduebertragungssystem
JPH0679307B2 (ja) * 1987-10-22 1994-10-05 日本電気株式会社 コプロセッサの並行動作制御方式
KR910005243B1 (ko) * 1988-12-30 1991-07-24 삼성전자 주식회사 지수함수적 가감속에 의한 서보모터의 위치제어장치 및 방법
JP3282470B2 (ja) * 1995-11-08 2002-05-13 三菱電機株式会社 パソコンを用いた数値制御装置及びその制御方法
US6360333B1 (en) * 1998-11-19 2002-03-19 Compaq Computer Corporation Method and apparatus for determining a processor failure in a multiprocessor computer
US6381693B2 (en) * 1998-12-31 2002-04-30 Intel Corp. Arrangements having firmware support for different processor types
JP3482992B2 (ja) * 1999-04-14 2004-01-06 日本電気株式会社 冗長lanシステムおよび現用系・予備系切り替え方法
US7088860B2 (en) * 2001-03-28 2006-08-08 Canon Kabushiki Kaisha Dynamically reconfigurable signal processing circuit, pattern recognition apparatus, and image processing apparatus
US7003608B2 (en) * 2003-06-12 2006-02-21 International Business Machines Corporation Method and system for automatic configuration of IDE bus devices
JP2006119724A (ja) * 2004-10-19 2006-05-11 Canon Inc Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム
DE102007046178A1 (de) * 2007-09-26 2009-04-09 Phoenix Contact Gmbh & Co. Kg Steuerungsblock mit einer Punkt-zu-Punkt-Kommunikation zwischen einem an einen Datenbus anzuschaltenden Steuerungs-Mastermodul und Erweiterungs-Slavenmodulen
WO2009089914A1 (en) * 2008-01-18 2009-07-23 Abb Technology Ab A control system for controlling an industrial robot
US20130172757A1 (en) * 2012-01-04 2013-07-04 General Electric Company Multiple transducer automatic initiation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112519A (ja) * 1998-10-02 2000-04-21 Toshiba Corp 分散型プロセス入出力装置
JP2010061458A (ja) * 2008-09-04 2010-03-18 Yaskawa Electric Corp マシンコントローラシステムおよびマシンコントローラ間同期方法
JP2011123688A (ja) * 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd 同期プログラマブルコントローラ、同期プログラマブルコントローラシステム

Also Published As

Publication number Publication date
JP6015768B2 (ja) 2016-10-26
US20150253756A1 (en) 2015-09-10
US10768601B2 (en) 2020-09-08
JPWO2014080457A1 (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
KR100932057B1 (ko) 피엘씨
EP0330475B1 (en) Configuration control system
JPH0213321B2 (ja)
JP2007511806A (ja) 技術的装置を制御するための冗長性自動化システム及びその作動方法
CN105339855B (zh) 可编程控制器
EP2733613B1 (en) Controller and program
JP6015768B2 (ja) プログラマブルコントローラ
JP2008097523A (ja) Plc装置
KR100377608B1 (ko) 데이터 처리장치 및 데이터 처리방법
US7007181B2 (en) Microcontroller
JP5365875B2 (ja) 産業用コントローラ
CN105389125B (zh) Emmc高温保护方法及装置
JP2003076569A (ja) バス同期2重系コンピュータ
US12085904B2 (en) Engineering device, engineering method, and information storage medium
JP3729457B2 (ja) アラーム履歴表示システム
KR101451747B1 (ko) 이중화 시스템 및 그의 제어 방법
JP2007084216A (ja) 制御装置
KR20000066126A (ko) 피엘씨의 이상 검출 방법
JPH11306010A (ja) コンピュータ
JP2010204737A (ja) プログラマブルコントローラの制御システムおよびプログラマブルコントローラの制御プログラム実行方法
JPS629442A (ja) 誤り検出回路
JPH0395653A (ja) データ記憶装置のアドレス誤り検出方法
KR100434142B1 (ko) 피엘씨의증설랙연결상태검출장치및방법
JPH0547842B2 (ja)
JP2009075953A (ja) 数値制御装置および数値制御プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12888934

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014548358

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12888934

Country of ref document: EP

Kind code of ref document: A1