WO2020208791A1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
WO2020208791A1
WO2020208791A1 PCT/JP2019/015857 JP2019015857W WO2020208791A1 WO 2020208791 A1 WO2020208791 A1 WO 2020208791A1 JP 2019015857 W JP2019015857 W JP 2019015857W WO 2020208791 A1 WO2020208791 A1 WO 2020208791A1
Authority
WO
WIPO (PCT)
Prior art keywords
project
control
information
user
plc
Prior art date
Application number
PCT/JP2019/015857
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 PCT/JP2019/015857 priority Critical patent/WO2020208791A1/ja
Priority to CN201980095087.6A priority patent/CN113711141B/zh
Priority to JP2019557649A priority patent/JP6644209B1/ja
Publication of WO2020208791A1 publication Critical patent/WO2020208791A1/ja

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

Definitions

  • This application relates to a control device.
  • PLC Programmable Logic Controller
  • the PLC realizes sequence control of a machine tool or the like by executing arithmetic processing by a PLC program which is a so-called sequence program.
  • the PLC program is created by a program developer who is a manufacturer of machine tools and the like. From the viewpoint of preventing malfunction of the machine tool and preventing technology leakage, the PLC program is protected by a password or the like, and the PLC program cannot be viewed or edited.
  • Patent Document 1 discloses a programmable controller system in which security for program protection can be set or canceled for each program block by assigning a password or the like to each group of program blocks.
  • the machine tool manufacturer may receive a request from the end user who purchased the machine tool to change the PLC program due to the change in the machine tool configuration.
  • the manufacturer of the machine tool responds to the change of the PLC program in response to the request from the end user even if the change of the configuration is simple such as adding a sensor. Therefore, the work load of the machine tool manufacturer is large.
  • Patent Document 1 A method of permitting the end user to change the PLC program by applying the technique disclosed in Patent Document 1 is also conceivable. However, it is necessary to permit the change of the PLC program while preventing the malfunction of the machine tool and the outflow of technology, which may cause a work load on the machine tool manufacturer.
  • the present invention has been made in view of the above, and an object of the present invention is to provide a control device capable of preventing malfunction of a controlled device while reducing the work load of a manufacturer when changing a PLC program.
  • the control device includes an interface device having a plurality of devices for storing device values for controlling the controlled device, and the controlled device.
  • the control program for controlling by the second function are divided into a first project for executing the first function and a second project for executing the second function.
  • a device information storage unit that stores preset project storage areas, device information storage units that store preset usable device information in association with the first project and the second project, and a control unit that controls controlled devices.
  • the plurality of devices include a first device writable by the first project and a second device writable by the second project, which are set based on the above information, and the second project is the second device. Writing to one device is restricted.
  • the figure which shows an example of the control system which concerns on Embodiment 1. A block diagram showing an example of the functional configuration of the program creation device according to the first embodiment.
  • the figure which shows an example of the setting of the interface device which concerns on Embodiment 1. A flowchart showing an example of a processing procedure by the device determination unit according to the first embodiment.
  • FIG. 1 is a diagram showing an example of the control system 1 according to the first embodiment.
  • the control system 1 includes a program creation device 10, a communication line, a control target device 20, an input device 30, an output device 40, and a control device 100.
  • the control system 1 is used in factories and various infrastructure facilities to control the controlled device 20, the input device 30, and the output device 40 that constitute them.
  • the control device 100 is a programmable controller (PLC: Programmable Logic Controllers).
  • the programmable controller is defined by JIS (Japanese Industrial Standards) B 3502: 2011.
  • the control device 100 may be any device that controls the control target device 20, the input device 30, and the output device 40, which are peripheral devices, and is not limited to the programmable controller.
  • the control target device 20, the input device 30, and the output device 40, which are peripheral devices may be collectively referred to as devices.
  • the control device 100 is connected to the control target device 20, the input device 30, and the output device 40 via a communication line.
  • Examples of the controlled device 20 include, but are not limited to, industrial robots, machine tools, assembly devices, transfer devices, sorting devices, outdoor units, indoor units, pumps, valves, fans, and the like.
  • Examples of the input device 30 include a changeover switch, a push button, a relay, and a touch panel connected to the control target device 20.
  • Examples of the output device 40 include a lamp, a conductor, a solenoid valve, and a touch panel type monitor connected to the device to be controlled 20.
  • the control device 100 controls a plurality of devices, but the present invention is not particularly limited to this example.
  • One control device 100 may control one device. In this case, the control device 100 and the device may be only one, or the control device 100 and the device may be a plurality and the same number, respectively.
  • the program creation device 10 creates a computer program executed by the control device 100 to control the device.
  • the program creation device 10 is a general-purpose computer such as a personal computer.
  • FIG. 2 is a block diagram showing an example of the functional configuration of the program creation device 10 according to the first embodiment.
  • the program creation device 10 includes an input unit 11, a communication control unit 12, a storage unit 13, an arithmetic processing unit 14, and a display unit 15, and functions or operates the processing of the program creation device 10 described below. Do or realize.
  • the program creation device 10 is an example of an information processing device.
  • the input unit 11 is composed of, for example, a keyboard, a pointing device, or the like, and processes various inputs to the program creation device 10.
  • the communication control unit 12 is composed of a communication interface and controls communication performed with a control device 100 connected via a communication line.
  • the storage unit 13 is composed of a non-volatile storage device and a volatile storage device (not shown), and stores various programs and various data executed by the arithmetic processing unit 14.
  • the storage unit 13 stores a PLC development tool 13A which is an application program having a function of creating and editing a PLC program which is a so-called sequence program by using a programming language such as a ladder diagram.
  • the arithmetic processing unit 14 is composed of a processor such as a CPU (Central Processing Unit), and realizes various processes of the program creation device 10 by executing a program stored in the storage unit 13.
  • the arithmetic processing unit 14 uses the PLC development tool 13A to execute a PLC program creation process performed by the developer or end user of the PLC project using a programming language.
  • the arithmetic processing unit 14 converts the PLC program created by using the programming language into machine language, and stores the converted PLC program in the control device 100 via the communication control unit 12.
  • the display unit 15 is composed of an LCD (Liquid Crystal Display) or the like and displays various information.
  • the display unit 15 can display various operation windows of the PLC development tool 13A executed when creating the PLC project described below, for example.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the control device 100EX according to the comparative example.
  • the control device 100EX according to the comparative example is a device that sets a password for each project to prevent modification of the PLC program.
  • the control device 100EX includes a communication control unit 110EX, a control unit 120EX, a password management unit 130EX, a project storage area 140EX, and a device 150EX.
  • the communication control unit 110EX controls the communication performed with the program creation device 10 connected via the communication line.
  • the control unit 120EX executes arithmetic processing by a PLC program, which is a so-called sequence program, and executes sequence control of the controlled device 20.
  • the password management unit 130EX manages the password set in the PLC project.
  • the PLC project refers to a PLC program divided into functions.
  • the project storage area 140EX stores a PLC program divided for each function as a PLC project.
  • the device 150EX is a memory area for storing device values used in the ladder circuit of the PLC program, and stores data which are device values exchanged between the control device 100EX and the device.
  • the device 150EX includes a common device 151EX which is a common interface device between the projects used in each PLC project.
  • the control device 100EX executes sequence control of the control target device 20 and the output device 40 by executing the PLC program created by the program creation device 10. That is, the control device 100EX reads the PLC program written in the project storage area 140EX and executes the analysis of the PLC program. Then, the control device 100EX executes the sequence processing of the analysis result on the data input from the control target device 20 or the input device 30, and outputs the processing result to the device 150EX, whereby the control target device 20 and the output device 20 and the output device. Performs 40 sequence controls.
  • the PLC project developer launches the PLC development tool 13A in the program creation device 10, and accesses the control unit 120EX of the control device 100EX by the PLC development tool 13A. Then, the project developer creates a PLC project.
  • FIG. 4 is a diagram showing an example of an operation window of the PLC development tool 13A according to the comparative example.
  • the operation window W1 shown in FIG. 4 is displayed on the display unit 15.
  • the project developer sets the parameters related to the operation of the project on the operation window W1
  • the project developer sets the password for editing the project for the project storage area 140EX (for example, the password shown in FIG. 3: "1234". ").
  • the password for editing the project for the project storage area 140EX for example, the password shown in FIG. 3: "1234". ".
  • the project developer can create any number of PLC projects.
  • the examples shown in FIGS. 3 and 4 show an example in which three PLC projects are created.
  • the maximum number of PLC projects that can be created is determined according to the capacity of the memory mounted on the control device 100EX. In the example shown in FIG. 4, the maximum number of PLC projects that can be created is "6".
  • the project number automatically assigned from "01" is displayed.
  • the project number is managed as the project name of the PLC project, and also functions as information for identifying the PLC project.
  • the project display area A2 includes an item of "project No.”, an item of "project ratio (%)", an item of "execution project”, an item of "execution order", and an item of "password”. ..
  • the project number is set in the item of "project No.”.
  • the size of the data storage area is set in the item of "project ratio (%)”.
  • ON or OFF of the PLC project to be executed is set.
  • the execution order of the project is set in the item of "execution order”.
  • a password is set in the "password” item.
  • the details of the PLC project set on the operation window W1 by the project developer are written in the project storage area 140EX via the control unit 120EX. Further, the password set for each PLC project by the project developer is managed by the password management unit 130EX.
  • FIG. 5 is a diagram showing an example of password information managed by the password management unit 130EX according to the comparative example.
  • the password information managed by the password management unit 130EX includes a project information item and a password item, and these items are associated with each other.
  • the project storage area number and the project number are stored in the project information item.
  • the target PLC program is stored in the file.
  • the password set for each project is stored in the password item.
  • the password set in the project storage area 140EX is required.
  • Examples of editing the structure of the PLC project storage area 140EX include increasing the number of projects, changing the size of the data storage area, and changing the execution order. Further, when editing a PLC project using the PLC development tool 13A, a password set for each PLC project is required.
  • the control unit 120EX when the control unit 120EX receives access to the project storage area 140EX using the PLC development tool 13A, it requests the input of a password. Then, when the control unit 120 receives the input of the password, the control unit 120 sends a password confirmation request to the password management unit 130EX.
  • the password management unit 130EX collates the input password with the managed password information, and returns whether or not editing is possible to the control unit 120EX.
  • the control unit 120EX permits the editing of the PLC project based on the editability received from the password management unit 130EX.
  • the control device 100 limits the interface devices that access the control target device 20 for each project. As a result, it is possible to provide the control device 100 that can prevent the malfunction of the controlled device 20 while reducing the work load of the project developer.
  • FIG. 6 is a block diagram showing an example of the functional configuration of the control device 100 according to the first embodiment.
  • the control device 100 according to the first embodiment includes a communication control unit 110, a control unit 120, a password management unit 130, a project storage area 140, a device 150, a device information storage unit 160, and a device determination unit 170. To be equipped with.
  • the control device 100 according to the first embodiment is different from the control device 100EX according to the comparative example in the points described below.
  • the project storage area 140 is a developer project 140a for executing the first function of the control program for controlling the controlled device 20 by the first function and the second function. It is divided and stored in 140b and a user project 140c for executing the second function.
  • the developer projects 140a and 140b are created by the project developer, and the user project 140c is created by the end user.
  • PLC programs that control the controlled device 20 by the first function are stored, respectively.
  • the user project 140c a PLC program that controls the controlled device 20 by the second function is stored.
  • the developer projects 140a and 140b are examples of the first project for executing the first function
  • the user project 140c is an example of the second project for executing the second function.
  • the device 150 is an interface device having a plurality of devices for storing device values for controlling the controlled device 20, and includes a common device 151 and a user device 152.
  • the common device 151 and the user device 152 are preset by the project developer using the PLC development tool 13A.
  • a device in which the assigned project can be used independently other projects cannot be used
  • a device in which the assigned project can be used in common and a device in which the assigned project can be used independently or in common
  • the device is set up.
  • the common device 151 is assigned from a device that can be commonly used by the project and a device that is used by selecting either independent or common use.
  • the common device 151 is a device writable by the developer projects 140a and 140b, which is set based on the information of a plurality of devices stored in the device information storage unit 160.
  • As the common device 151 an interface device used for data communication with the controlled device 20 is assigned as the common device 151.
  • the common device 151 is used by the PLC program stored in the developer projects 140a and 140b.
  • the common device 151 can be written by the developer projects 140a and 140b. That is, the PLC programs stored in the developer projects 140a and 140b output (write) data to the common device 151 and input (read) data from the common device 151. On the other hand, in the user project 140c, writing to the common device 151 is restricted.
  • the common device 151 is an example of a first device writable by the developer projects 140a and 140b, which is an example of the first project.
  • the user device 152 is a device in which the user project 140c can be written, which is set based on the information of a plurality of devices stored in the device information storage unit 160.
  • the user device 152 is an interface device used by the end user assigned by the project developer from among the common devices 151.
  • the user device 152 is assigned to, for example, an I / O port to which an end user can connect.
  • the user device 152 is used by the PLC program stored in the user project 140c.
  • the PLC program stored in the user project 140c outputs (writes) data to the user device 152 and inputs (reads) data from the user device 152.
  • the user device 152 is an example of a second device writable by the user project 140c, which is an example of the second project.
  • the device information storage unit 160 stores information on a plurality of preset usable devices in association with the developer projects 140a and 140b and the user project 140c.
  • the device information storage unit 160 stores information on a plurality of devices in association with information that identifies, for example, the developer projects 140a and 140b and the user project 140c.
  • a project number project name automatically assigned for each project is exemplified.
  • the information stored in the device information storage unit 160 is preset by the project developer using the PLC development tool 13A. As a result, the score of the user device 152 in the common device 151 is determined.
  • FIG. 7 is a diagram showing an example of setting of the interface device according to the first embodiment.
  • the project developer uses the PLC development tool 13A to set the points of the interface devices that can be used in each project.
  • the operation window W2 shown in FIG. 7 has a device score setting area A3.
  • the number of devices that can be used by each project is set in association with each project number (project name). Access to each project can be restricted by presetting the number of devices that can be used by each project.
  • FIG. 7 shows the names “M”, “L”, “B”, “F”, “SB”, “V”, “S”, “T”, “” of the plurality of interface devices included in the device 150. “ST”, “C”, “D”, “W”, and “SW” are indicated. Further, FIG. 7 shows the project numbers “01” and “02” corresponding to the developer projects 140a and 140b and the project numbers “03” corresponding to the user project 140c.
  • each device of "M” and “SW” is assigned to the user project 140c indicated by the project number "03", and the device score is set for each device.
  • the score set for the M device is "16960", and such a device is used only for the read / write process of the user project 140c (PLC program) having the project number "03".
  • the manufacturer can inform the project number corresponding to the user project 140c and the available devices in advance in the specification manual or the like.
  • the operation window W2 shown in FIG. 7 has a common device score setting area A4.
  • M device and F device are assigned as common devices 151 that can be used by the developer projects 140a and 140b and the user project 140c indicated by the project numbers “01” to “03”.
  • the device 150 classifies the user device 152 in the common device 151 by setting the score of the interface device in advance by the project developer for each project. Then, an I / O port that can be used by the end user is assigned to the user device 152 in advance. Therefore, the PLC program stored in the user project 140c outputs data to the device connected to the I / O port available to the end user, and does not output data to the common device 151. .. Therefore, the controlled device 20 does not malfunction due to an error in the setting of the user project 140c or the like.
  • the device determination unit 170 determines whether or not the output by the PLC program created by the end user and written to the control device 100 is to be performed on the interface device that can be used by the user project 140c.
  • the device determination unit 170 receives the device confirmation request from the control unit 120, and acquires the project number and the device used information included in the device confirmation request. The device determination unit 170 determines whether or not the device used in the device confirmation request matches the usable device stored in the device information storage unit 160, based on the project number included in the device confirmation request. When the used device included in the device confirmation request matches the usable device, the device determination unit 170 returns to the control unit 120 the determination result that the user project 140c is writable. On the other hand, if the device used included in the device confirmation request does not match the usable device, the device determination unit 170 returns a determination result indicating that the user project 140c cannot be written to the control unit 120.
  • control unit 120 When the control unit 120 receives the project edit (write) request by the PLC development tool 13A, the control unit 120 determines whether to edit the developer projects 140a and 140b or the user project 140c. Then, in the case of editing the user project 140c, the control unit 120 sends a device confirmation request to the device determination unit 170. When the control unit 120 receives the determination result that the user project 140c is writable, the control unit 120 writes the user project 140c written by the end user to the project storage area 140. On the other hand, when the control unit 120 receives the determination result that the user project 140c is not writable, the control unit 120 notifies the end user that the device that cannot be used is set via the PLC development tool 13A. Do not write user project 140c.
  • FIG. 8 is a flowchart showing an example of the processing procedure by the device determination unit 170 according to the first embodiment.
  • the device determination unit 170 determines whether or not a device confirmation request has been acquired from the control unit 120 (step S101).
  • the device determination unit 170 determines that the device confirmation request has not been acquired from the control unit 120 (step S101; No), the device determination unit 170 ends the process shown in FIG.
  • the device determination unit 170 determines whether or not the device used included in the device confirmation request can be used (step). S102). Specifically, the device determination unit 170 acquires information on available devices corresponding to the project number included in the device confirmation request from the device information storage unit 160. Then, the device determination unit 170 determines whether or not the used device included in the device confirmation request matches the usable device.
  • step S102 the device determination unit 170 determines that the device to be used can be used (step S102; Yes)
  • the device determination unit 170 sends a determination result indicating that the project can be written to the control unit 120 (step S103), and FIG. The process shown in is terminated.
  • step S102 when the device determination unit 170 determines that the device used is unusable (step S102; No), the device determination unit 170 sends a determination result indicating that the project cannot be written to the control unit 120 (step S104). The process shown in FIG. 8 is completed.
  • FIG. 9 is a diagram showing a hardware configuration example when the control unit 120 and the device determination unit 170 of the control device 100 according to the first embodiment are realized by a processor.
  • the functions of the control unit 120 and the device determination unit 170 included in the control device 100 are realized by the processor 301.
  • the processor 301 is also referred to as a CPU (Central Processing Unit), a processing device, an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor).
  • control unit 120 and the device determination unit 170 are realized by software, firmware, or a combination of software and firmware.
  • the software and firmware are described as a program and stored in the memory 302.
  • the processor 301 realizes the functions of the control unit 120 and the device determination unit 170 by reading and executing the program stored in the memory 302.
  • the program stored in the memory 302 causes the computer to execute the procedure executed by the control unit 120 and the device determination unit 170 and the method according to the first embodiment.
  • the memory 302 is volatile or non-volatile such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), and EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory).
  • RAM Random Access Memory
  • ROM Read Only Memory
  • flash memory EPROM (Erasable Programmable Read Only Memory)
  • EEPROM registered trademark
  • Semiconductor memory magnetic disk, flexible disk, optical disk, compact disk, mini disk, and DVD (Digital Versatile Disc) are applicable.
  • the memory 302 has a volatile storage device such as a RAM and a non-volatile storage device such as a ROM.
  • the non-volatile storage device stores a program for realizing the functions of the control unit 120 and the device determination unit 170, and setting data used when creating the program.
  • the setting data includes password information stored in the password management unit 130 and information on usable devices stored in the device information storage unit 160.
  • a volatile storage device is appropriately used as a work memory when the processor 301 executes processing.
  • FIG. 10 is a diagram showing a hardware configuration example in which the control unit 120 and the device determination unit 170 of the control device 100 according to the first embodiment are realized by the processing circuit 401.
  • the processing circuit 401 corresponds to a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. To do.
  • different processing circuits 401 may realize each function, or one processing circuit 401 may realize each function collectively.
  • control unit 120 and the device determination unit 170 may be partially realized by dedicated hardware and partly realized by software or firmware. In this way, the control device 100 can realize the functions of the control unit 120 and the device determination unit 170 by means of hardware, software, firmware, or a combination thereof.
  • the control device 100 includes a project storage area 140, a device 150, a device information storage unit 160, and a control unit 120 that controls the control target device 20.
  • the device 150 has a plurality of devices that store device values for controlling the controlled device 20.
  • the project storage area 140 is a control program for controlling the controlled device 20 by the first function and the second function, and the developer projects 140a and 140b for executing the first function and the second function. It is divided and stored in the user project 140c for executing the above.
  • the device information storage unit 160 stores preset information on a plurality of usable devices in association with the developer projects 140a and 140b and the user project 140c.
  • the device 150 includes a common device 151 that is set based on the information stored in the device information storage unit 160 and is writable by the developer projects 140a and 140b, and a user device 152 that is writable by the user project 140c. Including, the user project 140c is restricted from writing to the common device 151. Therefore, according to the control device 100 according to the first embodiment, data is output (written) from the PLC program stored in the user project 140c created by the end user for the common device 151 other than the user device 152. Is never done.
  • control device 100 even if the end user creates a PLC program, it is possible to prevent the operation of the controlled device 20 from being affected by an error in the device setting or the like.
  • the work load of the project developer can be reduced without incurring the work load of the project developer due to the change or addition of the project by the end user.
  • the machine tool manufacturer when executing a PLC program that performs NC (Numerical Control) machining control, the machine tool manufacturer has a function to start the NC machining program of the NC controller as the first project, and the coolant is turned on as the third project. It is assumed that the function to be performed is created as a PLC program.
  • the user wants to add a second project in which the temperature sensor is independently attached and the temperature sensor is turned on, and a fourth project in which the lamp is turned on in the event of a temperature abnormality, to the PLC program. To do.
  • the first device used for the first project and the third project is a device that may lead to a malfunction of NC processing, it is necessary to restrict writing to the user.
  • the first device performs write restriction from the second and fourth projects, and the second and fourth projects execute their respective functions using the second device. This makes it possible to reduce the work load of the manufacturer when changing the PLC program, and at the same time, it is possible to prevent malfunction of the controlled device 20.
  • the device information storage unit 160 stores the points of usable interface devices in association with the project number. Therefore, the control device 100 according to the first embodiment can easily set access restrictions to the interface device for each project.
  • the device information storage unit 160 stores the points of usable interface devices in association with the project number.
  • the example is not particularly limited.
  • the device number of the common device 151 that can be used by the developer projects 140a and 140b and the user project 140c may be set.
  • FIG. 11 is a block diagram showing an example of the functional configuration of the control device 100 according to the modified example.
  • the developer project 140d stored in the project storage area 140 includes a user interface program.
  • the user interface program has a function for fetching data from the user device 152 and executing sequence control to output to the common device 151 when the setting of the fetched data does not affect the operation of the controlled device 20. ..
  • the developer project 140d is an example of a first project for executing the first function.
  • the user interface program is an example of the determination function unit.
  • Timing can be mentioned as one of the cases where the operation of the controlled device 20 is not affected. For example, if there is a device that may malfunction if changed during machining, the user interface program is provided with a mechanism for reflecting the value of the user device 152 on the common device 151 only when machining is stopped.
  • the operation of the controlled device 20 is not affected, there is no problem even if the data fetched from the user device 152 is freely set in the common device 151 (of the machine). It suffices to create a user interface program so that only the switches and LED lighting control on the operation panel, the common device output of signals that do not affect the machine used by the end user's sensor control, etc.) can be output.
  • the project developer can inform the end user in advance of the relationship between the interface device and the user device 152, which have no problem even if the common device 151 is freely set, by means of a specification manual or the like.
  • the PLC program of the user project 140c can access the common device 151 through the function of the user interface program stored in the developer project 140d. That is, according to the control device 100 according to the modified example, the project developer can centrally manage the output to the common device 151, and the safety of the controlled device 20 can be improved.
  • control device 100 may include a function of assisting the project developer and the end user in setting and operating the interface device.
  • FIG. 12 is a block diagram showing an example of the functional configuration of the control device 100 according to the second embodiment. The functional configuration of the control device 100 shown in FIG. 12 is different from that of the first embodiment in that the points described below will be described.
  • the control unit 120 of the control device 100 includes a display processing unit 120a.
  • the display processing unit 120a provides the program creation device 10 with information on an interface device that can be set as the common device 151, for example, in response to a request from the project developer.
  • FIG. 13 is a diagram showing a display example of list information of common devices for the project developer according to the second embodiment.
  • the list information J1 shown in FIG. 13 is provided to the program creation device 10 by the display processing unit 120a of the control unit 120 in response to a display request transmitted from the program creation device 10 operated by the project developer U1 shown in FIG. Will be done.
  • the display request can be transmitted by the project developer U1 shown in FIG. 13 by executing the PLC development tool 13A on the program creation device 10.
  • the score of the interface device for each project is set.
  • the same device score “17120” is set for each of the developer projects 140a and 140b indicated by the project numbers “01” and “02”. Further, the device score "16960" is set in the user project 140c indicated by the project number "03".
  • the operation window W3 shown in FIG. 13 displays list information J1 of interface devices that can be used in each project among the common devices 151.
  • the list information J1 displays the device name and the information on the score of the interface device that can be used for each project in association with each other. For example, the list information J1 displays "0 to 9999" as the score of the interface device that can be used by the developer project 140a indicated by the project number "01".
  • list information J1 displays "0 to 9999” as the score of the interface device that can be used by the developer project 140b indicated by the project number "02". Further, the list information J1 displays "10000 to 10239" as the score of the interface device that can be used by the user project 140c indicated by the project number "03".
  • the project developer U1 or the end user can use "0 to 9999” among the points "10240" of the common device 151 by the developer projects 140a and 140b. Can be grasped. That is, for the points "0 to 9999", the PLC program of the developer projects 140a and 140b of the project number "01" or "02" can write and read the data.
  • the project developer U1 or the end user can refer to the list information J1 to refer to the developer projects 140a, 140b or the user project 140c for "10000 to 10239" among the points "10240" of the common device 151. It can be grasped that it is available. That is, for the points "0 to 9999", the PLC program of the developer projects 140a and 140b of the project number "01" or "02" writes and reads the data, or the PLC program of the user project 140c of the project number "03". Can be read.
  • control device 100 can also provide the program creation device 10 with information on an interface device that can be set as a common device 151 by the end user.
  • FIG. 14 is a diagram showing a flow of device information display processing according to the second embodiment.
  • the program creation device 10 used by the end user transmits a device display request to the control device 100 (step S201).
  • the display processing unit 120a of the control device 100 receives the device display request from the program creation device 10 and acquires the device information (step S202). Specifically, the display processing unit 120a sends a device information inquiry to the device determination unit 170. The device determination unit 170 acquires device information from the device information storage unit 160 based on the project number included in the device information inquiry, and returns the device information to the display processing unit 120a.
  • the display processing unit 120a of the control unit 120 acquires the device information acquired from the device determination unit 170, it requests the program creation device 10 to display the acquired device information (step S203), and ends the process shown in FIG. To do.
  • the program creation device 10 receives a device information display request from the control device 100, displays the device information sent from the control device 100 as list information (step S204), and ends the process shown in FIG.
  • FIG. 15 is a diagram showing a display example of list information of user devices for end users according to the second embodiment.
  • list information J4, ladder diagram G4, and pull-down menu M4 are displayed.
  • the list information J4 displays the device name in association with the number of devices set as the user device 152 that can be used by the user project 140c.
  • the M device For example, in the M device, "10000 to 10239" is set as the score of the interface device that can be used by the user project 140c of the project number "03".
  • the end user U2 shown in FIG. 15 can easily confirm the allocation of the interface device set as the user device 152 by referring to the list information J4.
  • the pull-down menu M4 is displayed according to the operation of the end user U2 with respect to the ladder diagram G4.
  • the pull-down menu M4 displays a list of device information that can be selected by the end user U2. Since the end user U2 shown in FIG. 15 displays a list of device information that can be selected by the pull-down menu M4 according to the operation of the ladder diagram G4, the interface device can be easily set and the PLC program can be created. It will be simple.
  • FIG. 16 is a diagram showing a display example of list information of common devices for end users according to a modified example.
  • the information J5 indicating the correspondence between the user device 152 and the common device 151 is further displayed in the list information J4.
  • the end user U2 shown in FIG. 16 wants to output from the PLC program of the user project 140c to the common device 151, the output cannot be made directly, but the output is performed to the user device 152 corresponding to the common device 151, and the developer project. It is necessary to output from the PLC program of the developer project 140d via the user interface program of 140d (see FIG. 11).
  • the PLC development tool 13A has a function of directly setting a device in the ladder diagram G4 by accepting a device selection from the end user U2 shown in FIG. 16 from the list of available devices displayed in the pull-down menu M4. May be provided.
  • the correspondence between the user device 152 and the common device 151 needs to be set in advance by the project developer.
  • the end user U2 can easily confirm which user device 152 should output the common device 151 to be output in the above information J5.
  • the configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
  • 10 program creation device 20 controlled device, 30 input device, 40 output device, 100 control device, 110 communication control unit, 120 control unit, 130 password management unit, 140 project storage area, 140a, 140b developer project, 140c user Project, 150 devices, 151 common devices, 152 user devices, 160 device information storage unit, 170 device judgment unit.

Landscapes

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

Abstract

本発明は、制御対象機器を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイス(150)と、制御対象機器を第1の機能と第2の機能により制御するための制御プログラムを、第1の機能を実行するための第1のプロジェクトと、第2の機能を実行するための第2のプロジェクトと、に分割して格納するプロジェクト格納領域(140)と、第1のプロジェクト及び第2のプロジェクトに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶するデバイス情報記憶部(160)と、制御対象機器を制御する制御部(120)とを備える制御装置(100)である。複数のデバイスは、前記情報に基づいて設定された、第1のプロジェクトにより書き込み可能な第1デバイス(151)と、第2のプロジェクトが書き込み可能な第2デバイス(152)と、を含み、第2のプロジェクトは、第1デバイスへの書き込みが制限される。

Description

制御装置
 本出願は、制御装置に関する。
 産業用の工作機械等を制御する制御装置としてPLC(Programmable Logic Controller)が用いられている。PLCは、いわゆるシーケンスプログラムであるPLCプログラムによる演算処理を実行することにより、工作機械等のシーケンス制御を実現する。PLCプログラムは、工作機械等の製造メーカであるプログラム開発者により作成される。工作機械の誤作動の防止並びに技術流出の防止の観点から、PLCプログラムはパスワードなどにより保護されており、PLCプログラムを見たり、編集したりすることができない仕組みとなっている。
 下記特許文献1には、一群のプログラムブロック毎にパスワード等を割り当てることにより、プログラム保護のためのセキュリティをプログラムブロック単位で設定または解除可能としたプログラマブルコントローラシステムが開示されている。
特開2002-328706号公報
 工作機械の製造メーカは、工作機械を購入したエンドユーザから、工作機械の構成の変更に伴って、PLCプログラムを変更したいという要請を受ける場合がある。この場合、工作機械の製造メーカは、センサの追加などの簡単な構成の変更であっても、エンドユーザからの要望に応じて、PLCプログラムの変更の対応を行う。このため、工作機械の製造メーカの作業負担が大きい。
 特許文献1に開示の技術を適用して、エンドユーザに対してPLCプログラムの変更を許可する方法も考えられる。しかし、工作機械の誤作動の防止並びに技術流出の防止を図りつつ、PLCプログラムの変更を許可する必要があり、少なからず、工作機械の製造メーカに作業負担が発生するおそれがある。
 本発明は上記に鑑みてなされたものであって、PLCプログラムの変更における製造メーカの作業負担を軽減しつつ、制御対象機器の誤作動を防止できる制御装置を提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明にかかる制御装置は、制御対象機器を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイスと、制御対象機器を第1の機能と第2の機能により制御するための制御プログラムを、第1の機能を実行するための第1のプロジェクトと、第2の機能を実行するための第2のプロジェクトと、に分割して格納するプロジェクト格納領域と、第1のプロジェクト及び第2のプロジェクトに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶するデバイス情報記憶部と、制御対象機器を制御する制御部とを備える。複数のデバイスは、前記情報に基づいて設定された、第1のプロジェクトにより書き込み可能な第1デバイスと、第2のプロジェクトが書き込み可能な第2デバイスと、を含み、第2のプロジェクトは、第1デバイスへの書き込みが制限される。
 本発明によれば、PLCプログラムの変更における製造メーカの作業負担を軽減しつつ、制御対象機器の誤作動を防止できるという効果を奏する。
実施の形態1に係る制御システムの一例を示す図 実施の形態1に係るプログラム作成装置の機能構成の一例を示すブロック図 比較例に係る制御装置の機能構成の一例を示すブロック図 比較例に係るPLC開発ツールの操作ウィンドウの一例を示す図 比較例に係るパスワード管理部で管理されるパスワード情報の一例を示す図 実施の形態1に係る制御装置の機能構成の一例を示すブロック図 実施の形態1に係るインターフェースデバイスの設定の一例を示す図 実施の形態1に係るデバイス判断部による処理の手順の一例を示すフローチャート 実施の形態1に係る制御装置の制御部及びデバイス判断部がプロセッサで実現される場合のハードウェア構成例を示す図 実施の形態1に係る制御装置の制御部及びデバイス判断部が処理回路で実現される場合のハードウェア構成例を示す図 変形例に係る制御装置の機能構成の一例を示すブロック図 実施の形態2に係る制御装置の機能構成の一例を示すブロック図 実施の形態2に係るプロジェクト開発者向けの共通デバイスの一覧情報の表示例を示す図 実施の形態2に係るデバイス情報の表示処理の流れを示す図 実施の形態2に係るエンドユーザ向けの共通デバイスの一覧情報の表示例を示す図 変形例に係るエンドユーザ向けの共通デバイスの一覧情報の表示例を示す図
 以下、本発明に係る制御装置の複数の実施の形態について、図面を参照して説明する。以下に説明する複数の実施の形態により、本発明が限定されるものではない。
実施の形態1.
 図1は、実施の形態1に係る制御システム1の一例を示す図である。制御システム1は、プログラム作成装置10、通信回線、制御対象機器20、入力機器30、出力機器40、及び制御装置100を含んで構成される。制御システム1は、工場及び各種のインフラ設備において、これらを構成する制御対象機器20、入力機器30、及び出力機器40を制御するために用いられる。
 実施の形態1において、制御装置100は、プログラマブルコントローラ(PLC:Programmable Logic Controllers)である。プログラマブルコントローラは、JIS(日本工業規格) B 3502:2011により規定されたものである。制御装置100は、周辺機器である制御対象機器20、入力機器30、出力機器40を制御する装置であればよく、プログラマブルコントローラに限定されるものではない。以下、周辺機器である制御対象機器20、入力機器30、及び出力機器40を機器と総称する場合がある。
 制御装置100は、通信回線を介して、制御対象機器20、入力機器30、及び出力機器40に接続される。制御対象機器20として、産業用ロボット、工作機械、組立装置、搬送装置、仕分装置、室外機、室内機、ポンプ、バルブ及びファンなどが例示されるが、特にこれらに限定されない。入力機器30として、制御対象機器20に接続された切り換えスイッチ、押しボタン、リレー、タッチパネルなどが例示される。出力機器40として、制御対象機器20に接続されたランプ、コンダクタ、電磁弁、タッチパネル式のモニタなどが例示される。実施の形態1において、制御装置100が複数の機器を制御するが、この例に特に限定される必要はない。1台の制御装置100が1台の機器を制御してもよい。この場合、制御装置100と機器とがそれぞれ1台のみであってもよいし、制御装置100と機器とがそれぞれ複数かつ同数であってもよい。
 プログラム作成装置10は、制御装置100が機器を制御するために実行するコンピュータプログラムを作成する。実施の形態1において、プログラム作成装置10は、パーソナルコンピュータのような汎用のコンピュータである。
 図2は、実施の形態1に係るプログラム作成装置10の機能構成の一例を示すブロック図である。プログラム作成装置10は、入力部11と、通信制御部12と、記憶部13と、演算処理部14と、表示部15とを備え、以下に説明するプログラム作成装置10の処理の機能又は作用を実行又は実現する。プログラム作成装置10は、情報処理装置の一例である。
 入力部11は、たとえばキーボードおよびポインティングデバイス等により構成され、プログラム作成装置10に対する各種入力を処理する。
 通信制御部12は、通信インターフェースにより構成され、通信回線を介して接続された制御装置100との間で行われる通信を制御する。
 記憶部13は、図示しない不揮発性記憶装置及び揮発性記憶装置で構成され、演算処理部14により実行される各種プログラム及び各種データを記憶する。記憶部13は、ラダー図などのプログラミング言語を用いて、いわゆるシーケンスプログラムであるPLCプログラムを作成及び編集する機能を備えたアプリケーションプログラムであるPLC開発ツール13Aを記憶する。
 演算処理部14は、CPU(Central Processing Unit)などのプロセッサにより構成され、記憶部13に記憶されたプログラムを実行することによって、プログラム作成装置10の各種処理を実現する。演算処理部14は、PLC開発ツール13Aを用いてPLCプロジェクトの開発者又はエンドユーザがプログラミング言語を用いて行うPLCプログラムの作成処理を実行する。演算処理部14は、プログラミング言語を用いて作成されたPLCプログラムを機械語に変換し、変換したPLCプログラムを、通信制御部12を介して、制御装置100に格納する。
 表示部15は、LCD(Liquid Crystal Display)等により構成され、各種情報を表示する。表示部15は、たとえば以下に説明するPLCプロジェクトを作成する際に実行されるPLC開発ツール13Aの各種操作ウィンドウを表示できる。
 ここで、図3~図5を参照しつつ、比較例に係る制御装置100EXに対するPLCプロジェクト及びPLCプログラムの作成の概要について説明する。図3は、比較例に係る制御装置100EXの機能構成の一例を示すブロック図である。比較例に係る制御装置100EXは、プロジェクトごとにパスワードを設定して、PLCプログラムの改変を防止する装置である。
 制御装置100EXは、通信制御部110EXと、制御部120EXと、パスワード管理部130EXと、プロジェクト格納領域140EXと、デバイス150EXとを備える。
 通信制御部110EXは、通信回線を介して接続されたプログラム作成装置10との間で行われる通信を制御する。制御部120EXは、いわゆるシーケンスプログラムであるPLCプログラムによる演算処理を実行して、制御対象機器20のシーケンス制御を実行する。パスワード管理部130EXは、PLCプロジェクトに設定されたパスワードを管理する。ここで、PLCプロジェクトとは、PLCプログラムを機能ごとに分割したものを指す。プロジェクト格納領域140EXは、機能ごとに分割されたPLCプログラムをPLCプロジェクトとして格納する。
 デバイス150EXは、PLCプログラムのラダー回路で用いられるデバイス値を記憶しておくメモリ領域であり、制御装置100EXと機器との間でやり取りされるデバイス値であるデータを保管する。デバイス150EXは、各PLCプロジェクトで利用されるプロジェクト間で共通のインターフェースデバイスである共通デバイス151EXを備える。
 制御装置100EXは、プログラム作成装置10によって作成されたPLCプログラムを実行することにより、制御対象機器20及び出力機器40のシーケンス制御を実行する。すなわち、制御装置100EXは、プロジェクト格納領域140EXに書き込まれたPLCプログラムを読み出し、PLCプログラムの解析を実行する。そして、制御装置100EXは、制御対象機器20又は入力機器30から入力されたデータに対し、解析結果のシーケンス処理を実行し、処理結果をデバイス150EXに出力することにより、制御対象機器20及び出力機器40のシーケンス制御を実行する。
 PLCプロジェクトの開発者(以下、「プロジェクト開発者」と記載する)は、プログラム作成装置10においてPLC開発ツール13Aを立ち上げ、PLC開発ツール13Aにより制御装置100EXの制御部120EXにアクセスする。そして、プロジェクト開発者は、PLCプロジェクトを作成する。
 図4を用いて、PLC開発ツール13AによるPLCプロジェクトの作成の詳細について説明する。図4は、比較例に係るPLC開発ツール13Aの操作ウィンドウの一例を示す図である。プロジェクト開発者は、プロジェクト格納領域140EXの構造を作成する際に、図4に示す操作ウィンドウW1を表示部15に表示させる。そして、プロジェクト開発者は、かかる操作ウィンドウW1上でプロジェクトの動作に関するパラメータを設定する際、プロジェクト格納領域140EXに対して、プロジェクト編集用のパスワードを設定する(たとえば、図3に示すパスワード:「1234」)。これにより、プロジェクト格納領域140EXにアクセスするためにはパスワードの入力が必要となる。
 プロジェクト開発者は、任意の数のPLCプロジェクトを作成できる。図3及び図4に示す例では、3つのPLCプロジェクトが作成される例を示している。作成可能なPLCプロジェクトの数は、制御装置100EXに搭載されるメモリの容量に応じて最大数が決定される。図4に示す例では、作成可能なPLCプロジェクトの最大数が「6つ」である。
 最大プロジェクトNo.の表示領域A1には、「01」から自動的に採番されたプロジェクト番号が表示される。プロジェクト番号は、PLCプロジェクトのプロジェクト名として管理され、PLCプロジェクトを特定する情報としても機能する。
 また、操作ウィンドウW1におけるプロジェクト表示領域A2には、各PLCプロジェクトに対してそれぞれ設定されたパラメータが表示される。プロジェクト表示領域A2は、「プロジェクトNO.」の項目と、「プロジェクト割合(%)」の項目と、「実行プロジェクト」の項目と、「実行順序」の項目と、「パスワード」の項目とを備える。「プロジェクトNO.」の項目には、プロジェクト番号が設定される。「プロジェクト割合(%)」の項目には、データ格納領域のサイズが設定される。「実行プロジェクト」の項目には、実行するPLCプロジェクトのON又はOFFが設定される。「実行順序」の項目には、プロジェクトの実行順序が設定される。「パスワード」の項目には、パスワードが設定される。
 プロジェクト表示領域A2の「パスワード」の項目にパスワードが設定されている場合、該当の入力エリアに「****」が表示される(図4のP1参照)。また、他のプロジェクトと同一のパスワードが設定されている場合、該当の入力エリアに対応するプロジェクト番号が表示される(図4のP2参照)。パスワードを設定しない場合、プロジェクト表示領域A2の「パスワード」の項目は空欄となる。なお、パスワードを設定しない場合、パスワードが設定されてないことを示す値が表示されてもよい。
 プロジェクト開発者により操作ウィンドウW1上で設定されたPLCプロジェクトの詳細は、制御部120EXを介して、プロジェクト格納領域140EXに書き込まれる。また、プロジェクト開発者により、PLCプロジェクトごとに設定されたパスワードは、パスワード管理部130EXで管理される。
 図5は、比較例に係るパスワード管理部130EXで管理されるパスワード情報の一例を示す図である。パスワード管理部130EXにより管理されるパスワード情報は、プロジェクト情報の項目と、パスワードの項目とを含み、これらの項目が対応付けられている。プロジェクト情報の項目には、プロジェクト格納領域番号およびプロジェクト番号が記憶される。ファイルには、対象PLCプログラムが記憶される。パスワードの項目には、プロジェクトごとに設定されたパスワードが記憶される。
 PLC開発ツール13Aを用いてPLCプロジェクト格納領域140EXの構造を編集する際には、プロジェクト格納領域140EXに設定されたパスワードが必要になる。PLCプロジェクト格納領域140EXの構造の編集としては、プロジェクトの数を増やす、データ格納領域のサイズを変更する、実行順序を変更するなどが例示される。また、PLC開発ツール13Aを用いてPLCプロジェクトを編集する際には、PLCプロジェクトごとに設定されたパスワードがそれぞれ必要となる。
 プロジェクト格納領域140EXの構造を編集する場合の例を示すと、制御部120EXは、PLC開発ツール13Aを用いて、プロジェクト格納領域140EXに対するアクセスを受け付けると、パスワードの入力を要求する。そして、制御部120は、パスワードの入力を受け付けると、パスワード管理部130EXにパスワードの確認依頼を送る。パスワード管理部130EXは、入力されたパスワードと、管理しているパスワード情報とを照合し、編集の可否を制御部120EXに返す。制御部120EXは、パスワード管理部130EXから受け取った編集の可否に基づいて、PLCプロジェクトの編集を許可する。
 上述してきた比較例では、パスワードが掛けられていないプロジェクトをエンドユーザが編集すれば、自由にPLCプログラムを作り、センサの追加も可能となる。しかし、エンドユーザがインターフェースを自由に使用すると、制御対象機器20を誤作動させてしまうおそれがある。
 このような事態を鑑み、実施の形態1に係る制御装置100は、プロジェクトごとに制御対象機器20にアクセスするインターフェースデバイスを制限する。これにより、プロジェクト開発者の作業負担を軽減しつつ、制御対象機器20の誤作動を防止できる制御装置100を提供できる。
 図6は、実施の形態1に係る制御装置100の機能構成の一例を示すブロック図である。実施の形態1に係る制御装置100は、通信制御部110と、制御部120と、パスワード管理部130と、プロジェクト格納領域140と、デバイス150と、デバイス情報記憶部160と、デバイス判断部170とを備える。実施の形態1に係る制御装置100は、比較例に係る制御装置100EXと以下に説明する点が相違する。
 図6に示す例において、プロジェクト格納領域140は、制御対象機器20を第1の機能と第2の機能により制御するための制御プログラムを、第1の機能を実行するための開発者プロジェクト140a,140bと、第2の機能を実行するためのユーザプロジェクト140cと、に分割して格納する。たとえば開発者プロジェクト140a,140bはプロジェクト開発者により作成され、ユーザプロジェクト140cはエンドユーザにより作成される。開発者プロジェクト140a,140bには、それぞれ、制御対象機器20を第1の機能により制御するPLCプログラムが格納される。ユーザプロジェクト140cには、制御対象機器20を第2の機能により制御するPLCプログラムが格納される。開発者プロジェクト140a,140bは第1の機能を実行するための第1のプロジェクトの一例であり、ユーザプロジェクト140cは第2の機能を実行するための第2のプロジェクトの一例である。
 デバイス150は、制御対象機器20を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイスであり、共通デバイス151とユーザ用デバイス152とを備える。共通デバイス151及びユーザ用デバイス152は、PLC開発ツール13Aを利用して、プロジェクト開発者により事前に設定される。デバイス150には、割当したプロジェクトが独立して利用可能な(他のプロジェクトが利用できない)デバイスと、各プロジェクトによる共通利用が可能なデバイスと、独立又は共通利用のいずれかを選択して使用するデバイスが設定される。共通デバイス151は、プロジェクトによる共通利用が可能なデバイス、及び独立又は共通利用のいずれかを選択して使用するデバイスの中から割り当てられる。
 共通デバイス151は、デバイス情報記憶部160に記憶される複数のデバイスの情報に基づいて設定された、開発者プロジェクト140a,140bにより書き込み可能なデバイスである。共通デバイス151は、制御対象機器20とのデータ通信に用いられるインターフェースデバイスが共通デバイス151として割り当てられる。共通デバイス151は、開発者プロジェクト140a,140bに格納されるPLCプログラムにより利用される。共通デバイス151は、開発者プロジェクト140a,140bによる書き込みが可能である。すなわち、開発者プロジェクト140a,140bに格納されるPLCプログラムは、共通デバイス151に対するデータの出力(書き込み)、及び共通デバイス151からのデータの入力(読み出し)を行う。一方で、ユーザプロジェクト140cは、共通デバイス151への書き込みが制限される。すなわち、共通デバイス151に対して、ユーザプロジェクト140cに格納されるPLCプログラムはデータの出力を行うことができない。なお、共通デバイス151から、ユーザプロジェクト140cに格納されるPLCプログラムはデータの入力(読み出し)を行うことは可能である。共通デバイス151は第1のプロジェクトの一例である開発者プロジェクト140a,140bにより書き込み可能な第1デバイスの一例である。
 また、ユーザ用デバイス152は、デバイス情報記憶部160に記憶される複数のデバイスの情報に基づいて設定された、ユーザプロジェクト140cが書き込み可能なデバイスである。ユーザ用デバイス152は、プロジェクト開発者がエンドユーザの利用するインターフェースデバイスを共通デバイス151の中から割り当てたものである。ユーザ用デバイス152は、たとえばエンドユーザが接続可能なI/Oポートに割り当てられる。ユーザ用デバイス152は、ユーザプロジェクト140cに格納されるPLCプログラムにより利用される。ユーザプロジェクト140cに格納されるPLCプログラムは、ユーザ用デバイス152に対するデータの出力(書き込み)、及びユーザ用デバイス152からのデータの入力(読み出し)を行う。ユーザ用デバイス152は第2プロジェクトの一例であるユーザプロジェクト140cが書き込み可能な第2デバイスの一例である。
 デバイス情報記憶部160は、開発者プロジェクト140a,140b及びユーザプロジェクト140cに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶する。デバイス情報記憶部160は、たとえば開発者プロジェクト140a,140b及びユーザプロジェクト140cを特定する情報に対応付けて、複数のデバイスの情報を記憶する。開発者プロジェクト140a,140b及びユーザプロジェクト140cを特定する情報として、プロジェクトごとに自動的に採番されるプロジェクト番号(プロジェクト名)が例示される。デバイス情報記憶部160に記憶される情報は、PLC開発ツール13Aを利用して、プロジェクト開発者により事前に設定される。これにより共通デバイス151の中のユーザ用デバイス152の点数が決定される。
 図7は、実施の形態1に係るインターフェースデバイスの設定の一例を示す図である。プロジェクト開発者は、プロジェクト作成時に、PLC開発ツール13Aを用いて、各プロジェクトで使用可能なインターフェースデバイスの点数の設定を行う。
 図7に示す操作ウィンドウW2は、デバイス点数設定領域A3を有する。デバイス点数設定領域A3には、各プロジェクト番号(プロジェクト名)に対応付けて、それぞれのプロジェクトが使用可能なデバイス点数が設定される。それぞれのプロジェクトが使用できるデバイス点数を予め設定することにより、それぞれのプロジェクトのアクセスを制限できる。
 たとえば、図7には、デバイス150が有する複数のインターフェースデバイスの名称「M」,「L」,「B」,「F」,「SB」,「V」,「S」,「T」,「ST」,「C」,「D」,「W」,「SW」が示される。また、図7には、開発者プロジェクト140a,140bに対応するプロジェクト番号「01」,「02」と、ユーザプロジェクト140cに対応するプロジェクト番号「03」が示される。
 図7において、プロジェクト番号「01」で示される開発者プロジェクト140aに対して「M」,「L」,「B」,「SB」,「V」,「T」,「ST」,「C」,「D」,「W」,「SW」の各デバイスが割り当てられている。そして、各デバイスにはデバイス点数が設定されている。たとえば、Lデバイスに設定された点数は「1024」であり、かかるデバイスは、プロジェクト番号「01」の開発者プロジェクト140a(PLCプログラム)の読み書き処理にのみ利用される。
 また、図7において、プロジェクト番号「02」で示される開発者プロジェクト140bに対して「M」,「L」,「B」,「SB」,「V」,「T」,「ST」,「C」,「D」,「W」,「SW」の各デバイスが割り当てられている。そして、各デバイスにはデバイス点数が設定されている。たとえば、Bデバイスに設定された点数は「20480」であり、かかるデバイスは、プロジェクト番号「02」の開発者プロジェクト140b(PLCプログラム)の読み書き処理にのみ利用される。
 また、図7において、プロジェクト番号「03」で示されるユーザプロジェクト140cに対して、「M」,「SW」の各デバイスが割り当てられており、それぞれのデバイスにデバイス点数が設定されている。たとえば、Mデバイスに設定された点数は「16960」であり、かかるデバイスは、プロジェクト番号「03」のユーザプロジェクト140c(PLCプログラム)の読み書き処理にのみ利用される。製造メーカは、ユーザプロジェクト140cに対応するプロジェクト番号と利用可能なデバイスを仕様説明書等で予め伝達できる。
 以上が、各プロジェクトが、それぞれ個別にデータの書き込み及びデータの読み出しが可能なデバイスの設定例である。
 また、図7に示す操作ウィンドウW2は、共通デバイス点数設定領域A4を有する。図7に示す例では、プロジェクト番号「01」~「03」で示される開発者プロジェクト140a,140b及びユーザプロジェクト140cが使用可能な共通デバイス151としてMデバイス、及びFデバイスが割り当てられている。
 上述したように、デバイス150は、各プロジェクトごとに、プロジェクト開発者がインターフェースデバイスの点数を事前に設定することにより、共通デバイス151の中のユーザ用デバイス152を区分する。そして、ユーザ用デバイス152にはエンドユーザが利用可能なI/Oポートを予め割り当てておく。このため、ユーザプロジェクト140cに格納されるPLCプログラムから、エンドユーザが利用可能なI/Oポートに接続された機器に対するデータの出力が行われ、共通デバイス151に対するデータの出力が行われることはない。よって、ユーザプロジェクト140cの設定の誤りなどを原因として、制御対象機器20が誤作動を起こすことはない。
 デバイス判断部170は、エンドユーザにより作成され、制御装置100に書き込まれるPLCプログラムによる出力が、ユーザプロジェクト140cにより使用可能なインターフェースデバイスに対して行われるものであるかどうかを判定する。
 デバイス判断部170は、制御部120からデバイス確認依頼を受け取り、デバイス確認依頼に含まれるプロジェクト番号と使用デバイスの情報を取得する。デバイス判断部170は、デバイス確認依頼に含まれるプロジェクト番号に基づいて、デバイス確認依頼に含まれる使用デバイスが、デバイス情報記憶部160に記憶された使用可能デバイスと一致するか否かを判定する。デバイス判断部170は、デバイス確認依頼に含まれる使用デバイスが使用可能デバイスと一致する場合、ユーザプロジェクト140cが書き込み可能である旨の判断結果を制御部120に返す。一方、デバイス判断部170は、デバイス確認依頼に含まれる使用デバイスが使用可能デバイスと一致しない場合、ユーザプロジェクト140cが書き込み不可である旨の判断結果を制御部120に返す。
 制御部120は、PLC開発ツール13Aにより、プロジェクトの編集(書き込み)要求を受け付けると、開発者プロジェクト140a,140bの編集か、ユーザプロジェクト140cの編集かを判別する。そして、制御部120は、ユーザプロジェクト140cの編集の場合、デバイス確認依頼をデバイス判断部170に送る。制御部120は、ユーザプロジェクト140cが書き込み可能である旨の判断結果を受け取ると、エンドユーザにより書き込まれたユーザプロジェクト140cをプロジェクト格納領域140に書き込む。一方、制御部120は、ユーザプロジェクト140cが書き込み不可である旨の判断結果を受け取ると、PLC開発ツール13Aを介して、エンドユーザに対して、使用できないデバイスが設定されている旨を通知し、ユーザプロジェクト140cの書き込みを実行しない。
 図8は、実施の形態1に係るデバイス判断部170による処理の手順の一例を示すフローチャートである。
 図8に示すように、デバイス判断部170は、制御部120からデバイス確認依頼を取得したか否かを判定する(ステップS101)。
 デバイス判断部170は、制御部120からデバイス確認依頼を取得していないと判定した場合(ステップS101;No)、図8に示す処理を終了する。
 一方、デバイス判断部170は、制御部120からデバイス確認依頼を取得したと判定した場合(ステップS101;Yes)、デバイス確認依頼に含まれる使用デバイスを使用可能であるか否かを判定する(ステップS102)。具体的には、デバイス判断部170は、デバイス確認依頼に含まれるプロジェクト番号に対応する使用可能デバイスの情報をデバイス情報記憶部160から取得する。そして、デバイス判断部170は、デバイス確認依頼に含まれる使用デバイスが使用可能デバイスに一致するか否かを判定する。
 デバイス判断部170は、使用デバイスが使用可能であると判定した場合(ステップS102;Yes)、プロジェクトの書き込みが可能である旨の判断結果を制御部120に送付して(ステップS103)、図8に示す処理を終了する。
 一方、デバイス判断部170は、使用デバイスが使用不可であると判定した場合(ステップS102;No)、プロジェクトの書き込みが不可である旨の判断結果を制御部120に送付して(ステップS104)、図8に示す処理を終了する。
 図9は、実施の形態1に係る制御装置100の制御部120及びデバイス判断部170がプロセッサで実現される場合のハードウェア構成例を示す図である。
 制御装置100が備える制御部120及びデバイス判断部170の機能は、プロセッサ301によって実現される。プロセッサ301は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はDSP(Digital Signal Processor)ともいう。
 この場合、制御部120及びデバイス判断部170の機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組合せにより実現される。ソフトウェア及びファームウェアはプログラムとして記述され、メモリ302に記憶される。プロセッサ301は、メモリ302に記憶されたプログラムを読み出して実行することにより、制御部120及びデバイス判断部170の機能を実現する。
 メモリ302に記憶されたプログラムは、制御部120及びデバイス判断部170が実行する手順及び実施の形態1に係る方法をコンピュータに実行させるものであるともいえる。
 メモリ302は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、及びEEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)といった揮発性又は不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、及びDVD(Digital Versatile Disc)が該当する。
 実施の形態1において、メモリ302は、RAMのような揮発性記憶装置と、ROMのような不揮発性記憶装置とを有する。不揮発性記憶装置には、制御部120及びデバイス判断部170の機能を実現するためのプログラムと、プログラムの作成時に用いられる設定データとが記憶される。設定データには、パスワード管理部130に格納されるパスワード情報、及びデバイス情報記憶部160に記憶される使用可能デバイスの情報が含まれる。プロセッサ301が処理を実行する際のワークメモリとして、揮発性記憶装置が適宜使用される。
 制御装置100が備える制御部120及びデバイス判断部170の機能は、専用のハードウェアである処理回路401によって実現されてもよい。図10は、実施の形態1に係る制御装置100の制御部120及びデバイス判断部170が処理回路401で実現される場合のハードウェア構成例を示す図である。この場合、処理回路401は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、又はこれらを組み合わせたものが該当する。制御部120及びデバイス判断部170の機能が複数ある場合、それぞれの機能を異なる処理回路401が実現してもよいし、それぞれの機能をまとめて1つの処理回路401が実現してもよい。
 制御部120及びデバイス判断部170の機能は、一部が専用のハードウェアで実現され、一部がソフトウェア又はファームウェアで実現されてもよい。このように、制御装置100は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組合せによって、制御部120及びデバイス判断部170の機能を実現することができる。
 上述してきたように、実施の形態1に係る制御装置100は、プロジェクト格納領域140と、デバイス150と、デバイス情報記憶部160と、制御対象機器20を制御する制御部120とを備える。デバイス150は、制御対象機器20を制御するためのデバイス値を記憶する複数のデバイスを有する。プロジェクト格納領域140は、制御対象機器20を第1の機能と第2の機能により制御するための制御プログラムを、第1の機能を実行するための開発者プロジェクト140a,140bと、第2の機能を実行するためのユーザプロジェクト140cと、に分割して格納する。デバイス情報記憶部160は、開発者プロジェクト140a,140b及びユーザプロジェクト140cに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶する。デバイス150は、デバイス情報記憶部160に記憶される情報に基づいて設定された、開発者プロジェクト140a,140bにより書き込み可能な共通デバイス151と、ユーザプロジェクト140cが書き込み可能なユーザ用デバイス152と、を含み、ユーザプロジェクト140cは、共通デバイス151への書き込みが制限される。このため、実施の形態1に係る制御装置100によれば、ユーザ用デバイス152以外の共通デバイス151に対して、エンドユーザが作成したユーザプロジェクト140cに格納されるPLCプログラムからデータの出力(書き込み)が行われることがない。よって、実施形態1に係る制御装置100によれば、エンドユーザがPLCプログラムを作成しても、デバイスの設定の誤りなどを原因として、制御対象機器20の動作に影響を与えることを防止できる。また、エンドユーザによるプロジェクトの変更及び追加に伴ってプロジェクト開発者の作業負担が発生することがなく、プロジェクト開発者の作業負担を軽減できる。
 例えば、NC(Numerical Control)加工制御を行うPLCプログラムを実行する場合、工作機械の製造メーカは第1のプロジェクトとしてNC制御装置のNC加工プログラムを起動する機能を、第3のプロジェクトとしてクーラントがONされる機能をPLCプログラムとして作成しているとする。一方で、ユーザが独自に温度センサを取り付けて温度センサをONとする第2のプロジェクトと、温度異常の際にランプをONとする第4のプロジェクトと、をPLCプログラムに追加したい場合があるとする。このとき、第1のプロジェクトと第3のプロジェクトに使用される第1のデバイスは、NC加工の誤作動につながる可能性があるデバイスであるため、ユーザには書き込み制限をする必要がある。
 そこで、本実施の形態を用いれば、第1のデバイスは第2及び第4のプロジェクトからは書き込み制限を行い、第2及び第4のプロジェクトは第2のデバイスを用いてそれぞれの機能を実行することが可能になるため、PLCプログラムの変更における製造メーカの作業負担を軽減しつつ、制御対象機器20の誤作動を防止できるという効果を奏する。
 また、上記の実施の形態1では、デバイス情報記憶部160が、プロジェクト番号に対応付けて、使用可能なインターフェースデバイスの点数を記憶する。このため、実施の形態1に係る制御装置100は、インターフェースデバイスに対するアクセスの制限をプロジェクトごとに簡易に設定できる。上記の実施の形態1では、デバイス情報記憶部160が、プロジェクト番号に対応付けて、使用可能なインターフェースデバイスの点数を記憶する例を説明したが、この例には特に限定される必要はない。たとえば、インターフェースデバイスの点数の代わりに、開発者プロジェクト140a,140b、及びユーザプロジェクト140cが使用可能な共通デバイス151のデバイス番号を設定してもよい。
 上述した実施の形態1に係る制御装置100の変形例を説明する。制御装置100の制御部120は、ユーザ用デバイス152に格納されたデータを取り込み、取り込んだデータに問題がない場合にのみ、共通デバイス151に出力するシーケンス制御を実行してもよい。図11は、変形例に係る制御装置100の機能構成の一例を示すブロック図である。
 図11に示すように、プロジェクト格納領域140に格納された開発者プロジェクト140dは、ユーザインターフェースプログラムを備える。ユーザインターフェースプログラムは、ユーザ用デバイス152からデータを取り込み、取り込んだデータの設定が制御対象機器20の動作に影響を与えない場合に、共通デバイス151に出力するシーケンス制御を実行するための機能を有する。開発者プロジェクト140dは、第1の機能を実行するための第1のプロジェクトの一例である。ユーザインターフェースプログラムは、判定機能部の一例である。
 制御対象機器20の動作に影響を与えない場合の1つとしてタイミングが挙げられる。例えば加工中には変更すると誤動作する可能性のあるデバイスがあれば、加工停止中のみユーザ用デバイス152の値を共通デバイス151に反映するような仕組みをユーザインターフェースプログラムに備える。
 制御対象機器20の動作に影響を与えない場合の別の例として、ユーザ用デバイス152から取り込んだデータの設定が共通デバイス151において自由な設定が行われても問題がない共通デバイス151(機械の操作パネル上のスイッチ及びLED点灯制御、エンドユーザが追加したセンサ制御で使用する機械に影響を与えない信号の共通デバイス出力等)のみ、出力できるようにユーザインターフェースプログラムを作成すれば良い。プロジェクト開発者は、共通デバイス151において自由な設定が行われても問題がないインターフェースデバイスと、ユーザ用デバイス152との関係について、仕様説明書等によりエンドユーザに予め伝達できる。
 このように、変形例に係る制御装置100によれば、開発者プロジェクト140dに格納されたユーザインターフェースプログラムが有する機能を介して、ユーザプロジェクト140cのPLCプログラムは、共通デバイス151にアクセスできる。すなわち、変形例に係る制御装置100によれば、プロジェクト開発者が共通デバイス151への出力を一元管理することができ、制御対象機器20の安全性を向上できる。
実施の形態2.
 上記の実施の形態1において、制御装置100は、プロジェクト開発者及びエンドユーザによるインターフェースデバイスの設定操作をアシストする機能を備えてもよい。図12は、実施の形態2に係る制御装置100の機能構成の一例を示すブロック図である。図12に示す制御装置100の機能構成は、以下に説明する点が実施の形態1とは相違する。
 実施の形態2に係る制御装置100の制御部120は、表示処理部120aを備える。表示処理部120aは、たとえばプロジェクト開発者からのリクエストに応じて、共通デバイス151として設定可能なインターフェースデバイスの情報をプログラム作成装置10に提供する。
 図13は、実施の形態2に係るプロジェクト開発者向けの共通デバイスの一覧情報の表示例を示す図である。図13に示す一覧情報J1は、制御部120の表示処理部120aが、図13に示すプロジェクト開発者U1が操作するプログラム作成装置10から送信された表示リクエストに応じて、プログラム作成装置10に提供される。表示リクエストは、図13に示すプロジェクト開発者U1が、プログラム作成装置10においてPLC開発ツール13Aを実行することにより送信できる。
 図13に示す操作ウィンドウW3には、プロジェクトごとのインターフェースデバイスの点数が設定されている。図13に示す例において、プロジェクト番号「01」,「02」で示される各開発者プロジェクト140a,140bに対して、それぞれ同一のデバイス点数「17120」が設定されている。また、プロジェクト番号「03」で示されるユーザプロジェクト140cには、デバイス点数「16960」が設定されている。
 また、図13に示す操作ウィンドウW3には、開発者プロジェクト140a,140b及びユーザプロジェクト140c等が共通で利用する共通デバイス151の点数として、「10240」が設定されている。図13に示す操作ウィンドウW3は、共通デバイス151のうち、各プロジェクトで使用可能なインターフェースデバイスの一覧情報J1を表示する。一覧情報J1は、デバイス名と、プロジェクトごとが使用可能なインターフェースデバイスの点数の情報とを対応付けて表示している。たとえば一覧情報J1は、プロジェクト番号「01」で示される開発者プロジェクト140aが使用可能なインターフェースデバイスの点数として「0~9999」を表示する。また、一覧情報J1は、プロジェクト番号「02」で示される開発者プロジェクト140bが使用可能なインターフェースデバイスの点数として「0~9999」を表示する。また、一覧情報J1は、プロジェクト番号「03」で示されるユーザプロジェクト140cが使用可能なインターフェースデバイスの点数として「10000~10239」を表示する。
 プロジェクト開発者U1、またはエンドユーザは、一覧情報J1を参照することにより、共通デバイス151の点数「10240」のうち、「0~9999」については、開発者プロジェクト140a,140bにより利用可能であることを把握できる。すなわち、点数「0~9999」については、プロジェクト番号「01」又は「02」の開発者プロジェクト140a,140bのPLCプログラムがデータの書き込み及び読み出しが可能である。
 また、プロジェクト開発者U1、又はエンドユーザは、一覧情報J1を参照することにより、共通デバイス151の点数「10240」のうち、「10000~10239」については、開発者プロジェクト140a,140b或いはユーザプロジェクト140cにより利用可能であることを把握できる。すなわち、点数「0~9999」については、プロジェクト番号「01」又は「02」の開発者プロジェクト140a,140bのPLCプログラムがデータの書き込み及び読み出し、或いはプロジェクト番号「03」のユーザプロジェクト140cのPLCプログラムの読み出しが可能である。
 また、実施の形態2に係る制御装置100は、エンドユーザが共通デバイス151として設定可能なインターフェースデバイスの情報をプログラム作成装置10に提供することもできる。図14は、実施の形態2に係るデバイス情報の表示処理の流れを示す図である。
 図14に示すように、エンドユーザが利用するプログラム作成装置10は、デバイス表示要求を制御装置100に送信する(ステップS201)。
 制御装置100の表示処理部120aは、プログラム作成装置10からのデバイス表示要求を受けて、デバイス情報を取得する(ステップS202)。具体的には、表示処理部120aは、デバイス判断部170に対して、デバイス情報の問合せを送る。デバイス判断部170は、デバイス情報の問合せに含まれるプロジェクト番号に基づいて、デバイス情報記憶部160からデバイス情報を取得し、デバイス情報を表示処理部120aに返す。
 制御部120の表示処理部120aは、デバイス判断部170から取得したデバイス情報を取得すると、取得したデバイス情報の表示をプログラム作成装置10に要求して(ステップS203)、図14に示す処理を終了する。
 プログラム作成装置10は、制御装置100からデバイス情報の表示要求を受けて、制御装置100から送られるデバイス情報を一覧情報として表示し(ステップS204)、図14に示す処理を終了する。
 図15は、実施の形態2に係るエンドユーザ向けのユーザ用デバイスの一覧情報の表示例を示す図である。
 図15に示す操作ウィンドウW4には、一覧情報J4と、ラダー図G4と、プルダウンメニューM4とが表示される。図15に示す例において、一覧情報J4は、デバイス名と、ユーザプロジェクト140cが使用可能なユーザ用デバイス152として設定されたデバイス点数とを対応付けて表示している。たとえばMデバイスには、プロジェクト番号「03」のユーザプロジェクト140cが使用可能なインターフェースデバイスの点数として、「10000~10239」が設定されている。図15に示すエンドユーザU2は、一覧情報J4を参照することにより、ユーザ用デバイス152として設定されたインターフェースデバイスの割当てを容易に確認できる。
 また、図15に示す操作ウィンドウW4において、プルダウンメニューM4は、ラダー図G4に対するエンドユーザU2の操作に応じて表示される。プルダウンメニューM4には、エンドユーザU2が選択可能なデバイスの情報の一覧が表示される。図15に示すエンドユーザU2は、ラダー図G4の操作に応じて、プルダウンメニューM4により選択可能なデバイスの情報の一覧が表示されるので、インターフェースデバイスの設定を容易に実行でき、PLCプログラム作成が簡易になる。
 図16は、変形例に係るエンドユーザ向けの共通デバイスの一覧情報の表示例を示す図である。図16に示すように、図15に示す操作ウィンドウW4には、一覧情報J4において、ユーザ用デバイス152と共通デバイス151との対応関係を示す情報J5がさらに表示される。図16に示すエンドユーザU2がユーザプロジェクト140cのPLCプログラムから共通デバイス151へ出力を行いたい場合、直接の出力は出来ず、共通デバイス151に対応するユーザ用デバイス152に出力を行い、開発者プロジェクト140dのユーザインターフェースプログラム経由で、開発者プロジェクト140dのPLCプログラムから出力する必要がある(図11参照)。また、PLC開発ツール13Aは、プルダウンメニューM4に表示される使用可能なデバイスの一覧から、デバイスの選択を図16に示すエンドユーザU2から受け付けることにより、ラダー図G4に直接デバイスを設定する機能を提供してもよい。なお、ユーザ用デバイス152と共通デバイス151との対応関係については、プロジェクト開発者が事前に設定しておく必要がある。
 図16に示す変形例によれば、エンドユーザU2は、上記の情報J5にて出力したい共通デバイス151をどのユーザ用デバイス152で出力すればよいかを容易に確認できる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 10 プログラム作成装置、20 制御対象機器、30 入力機器、40 出力機器、100 制御装置、110 通信制御部、120 制御部、130 パスワード管理部、140 プロジェクト格納領域、140a,140b 開発者プロジェクト、140c ユーザプロジェクト、150 デバイス、151 共通デバイス、152 ユーザ用デバイス、160 デバイス情報記憶部、170 デバイス判断部。

Claims (5)

  1.  制御対象機器を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイスと、
     前記制御対象機器を第1の機能と第2の機能により制御するための制御プログラムを、前記第1の機能を実行するための第1のプロジェクトと、前記第2の機能を実行するための第2のプロジェクトと、に分割して格納するプロジェクト格納領域と、
     前記第1のプロジェクト及び前記第2のプロジェクトに対応付けて、予め設定された使用可能な前記複数のデバイスの情報を記憶するデバイス情報記憶部と、
     前記制御対象機器を制御する制御部と
     を備え、
     前記複数のデバイスは、
     前記情報に基づいて設定された、前記第1のプロジェクトにより書き込み可能な第1デバイスと、前記第2のプロジェクトが書き込み可能な第2デバイスと、を含み、
     前記第2のプロジェクトは、前記第1デバイスへの書き込みが制限されることを特徴とする制御装置。
  2.  前記デバイス情報記憶部は、
     前記インターフェースデバイスの情報として、前記情報に対応付けてデバイス点数を記憶することを特徴とする請求項1に記載の制御装置。
  3.  前記第1のプロジェクトは、
     前記第2デバイスに書き込まれたデータを、前記第1デバイスに書き込み可能か否かを判定する機能を有するインターフェースプログラムを備えることを特徴とする請求項1又は2に記載の制御装置。
  4.  前記制御プログラムの作成機能を備える情報処理装置との通信を制御する通信制御部を更に備え、
     前記制御部は、
     前記制御プログラムの作成機能からの要求に応じて、前記第1デバイスの一覧情報を前記情報処理装置に提供する表示処理部を有することを特徴とする請求項1から3のいずれか1項に記載の制御装置。
  5.  前記表示処理部は、
     前記制御プログラムの作成機能からの要求に応じて、前記第2デバイスの一覧情報を前記情報処理装置に提供することを特徴とする請求項4に記載の制御装置。
PCT/JP2019/015857 2019-04-11 2019-04-11 制御装置 WO2020208791A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/015857 WO2020208791A1 (ja) 2019-04-11 2019-04-11 制御装置
CN201980095087.6A CN113711141B (zh) 2019-04-11 2019-04-11 控制装置
JP2019557649A JP6644209B1 (ja) 2019-04-11 2019-04-11 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/015857 WO2020208791A1 (ja) 2019-04-11 2019-04-11 制御装置

Publications (1)

Publication Number Publication Date
WO2020208791A1 true WO2020208791A1 (ja) 2020-10-15

Family

ID=69412122

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/015857 WO2020208791A1 (ja) 2019-04-11 2019-04-11 制御装置

Country Status (3)

Country Link
JP (1) JP6644209B1 (ja)
CN (1) CN113711141B (ja)
WO (1) WO2020208791A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7288156B1 (ja) * 2023-03-17 2023-06-06 日機装株式会社 連携システム、連携方法、連携プログラム、および連携補助プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319512A (ja) * 1994-05-26 1995-12-08 Fanuc Ltd プログラマブル・ロジック・コントローラ
JPH1083206A (ja) * 1996-09-10 1998-03-31 Mitsubishi Electric Corp シーケンスプログラム作成装置およびシーケンスプログラム作成方法
JP2012014561A (ja) * 2010-07-02 2012-01-19 Mitsubishi Electric Corp ラダープログラム作成装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4238964B2 (ja) * 2001-04-27 2009-03-18 オムロン株式会社 プログラマブルコントローラ・システム
JP5561357B2 (ja) * 2010-03-04 2014-07-30 三菱電機株式会社 プログラマブル表示器を備えた制御システム及びプログラマブル表示器並びにその作画データ作成手段
JP5934428B2 (ja) * 2013-02-28 2016-06-15 発紘電機株式会社 プログラマブル表示器、プログラマブルコントローラシステム、プログラム
JP6394013B2 (ja) * 2014-03-14 2018-09-26 オムロン株式会社 作業工程管理システムおよびそれに用いられる個別制御器並びにアクセス制限方法
CN105431848B (zh) * 2014-07-14 2017-05-17 三菱电机株式会社 共通参数接口生成方法以及参数读入方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319512A (ja) * 1994-05-26 1995-12-08 Fanuc Ltd プログラマブル・ロジック・コントローラ
JPH1083206A (ja) * 1996-09-10 1998-03-31 Mitsubishi Electric Corp シーケンスプログラム作成装置およびシーケンスプログラム作成方法
JP2012014561A (ja) * 2010-07-02 2012-01-19 Mitsubishi Electric Corp ラダープログラム作成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7288156B1 (ja) * 2023-03-17 2023-06-06 日機装株式会社 連携システム、連携方法、連携プログラム、および連携補助プログラム

Also Published As

Publication number Publication date
CN113711141A (zh) 2021-11-26
JPWO2020208791A1 (ja) 2021-04-30
JP6644209B1 (ja) 2020-02-12
CN113711141B (zh) 2022-10-21

Similar Documents

Publication Publication Date Title
US7456839B2 (en) Screen creating device
CN100538567C (zh) 可编程控制器
WO2011108026A1 (ja) プログラマブル表示器を備えた制御システム及びプログラマブル表示器並びにその作画データ作成手段
JP4485326B2 (ja) プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体
JPH0463652A (ja) Nc加工制御装置
JP6514252B2 (ja) ロボットのデータ設定システム、データ設定方法及びプログラム
WO2005065894A1 (ja) 産業用ロボット
WO2020208791A1 (ja) 制御装置
US20130338815A1 (en) Numerical controller for displaying virtual control panel
JP4566904B2 (ja) システム、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画像データ作成プログラムおよびそのプログラムを記録した記録媒体
JP2001014017A (ja) Nc工作機械用プログラム制御装置
JP2007072518A (ja) 制御装置のヒューマン・マシン・インタフェース装置
JP4281511B2 (ja) ロボットシステム
JP2005131747A5 (ja)
JP4372739B2 (ja) プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体
JP2001350509A (ja) ロボット制御装置
JP7404645B2 (ja) プログラマブルコントローラの動作履歴記録方法及びシーケンスプログラム
JP3579220B2 (ja) プログラミング装置並びに割込処理記述方法、プログラマブルコントローラ、及び記録媒体
WO2023105723A1 (ja) ロボットまたは工作機械の拡張機能を制御する制御装置及びユーザインタフェース装置
JPH03140279A (ja) 制御プログラム書換え可能なプリンタ装置
US20040066406A1 (en) Object processing system using an object model
Dominik et al. PLC's programming with examples
JPH04330532A (ja) プログラマブルコントローラ
JP3195322B2 (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP2023034569A (ja) コントローラ及びプログラムのファイル構造

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019557649

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19924287

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19924287

Country of ref document: EP

Kind code of ref document: A1