WO2020079720A1 - プログラマブルロジックコントローラ、外部機器、方法、及びプログラム - Google Patents

プログラマブルロジックコントローラ、外部機器、方法、及びプログラム Download PDF

Info

Publication number
WO2020079720A1
WO2020079720A1 PCT/JP2018/038262 JP2018038262W WO2020079720A1 WO 2020079720 A1 WO2020079720 A1 WO 2020079720A1 JP 2018038262 W JP2018038262 W JP 2018038262W WO 2020079720 A1 WO2020079720 A1 WO 2020079720A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
value
read
storage unit
program
Prior art date
Application number
PCT/JP2018/038262
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 US17/265,212 priority Critical patent/US11467990B2/en
Priority to DE112018007978.3T priority patent/DE112018007978T5/de
Priority to JP2019519774A priority patent/JP6563155B1/ja
Priority to CN201880098607.4A priority patent/CN112840278B/zh
Priority to PCT/JP2018/038262 priority patent/WO2020079720A1/ja
Priority to TW108116835A priority patent/TWI684079B/zh
Publication of WO2020079720A1 publication Critical patent/WO2020079720A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a programmable logic controller, an external device, a method, and a program.
  • the CPU unit of the programmable logic controller executes each instruction of the program at each scan time to control the device to be controlled, performs the operation using the input signal supplied from the detector, and outputs the operation result.
  • the signal is supplied to the device to be controlled.
  • the input unit of the programmable logic controller inputs the input signal supplied from the detector connected to the input unit to the CPU unit of the programmable logic controller.
  • the output unit of the programmable logic controller supplies the output signal output by the CPU unit to the control target device connected to the output unit.
  • the input signal supplied from the detector and the output signal which is the calculation result are stored in a memory area of the CPU unit called a device memory.
  • a programmable display reads a device value from a device memory at each scan time, that is, at an I / O (Input / Output) refresh timing, and displays the read device value on a display. It is described to do.
  • the I / O refresh means collectively exchanging the data of the device memory between the programmable logic controller and the input unit and the output unit at the end of each scan time. Specifically, data exchange of the device memory is performed between the CPU unit and the input unit, and data exchange of the device memory is performed between the CPU unit and the output unit. Since the data stored in the device memory includes data that is rewritten at any time during the execution of the program, the I / O refresh is executed at the end of the scan time, that is, after all the instructions have been executed. It
  • Patent Document 2 describes that I / O refresh is performed not only at the end of the scan time but also during program execution by interrupting program execution.
  • a conventional programmable logic controller receives a device memory read request from a programmable display device, a development tool, or the like, the programmable display device, the development tool, and the I / O refresh timing. And the like, the value of the device memory designated by the read request is transmitted as a response to the read request.
  • the length of scan time differs for each programmable logic controller.
  • the programmable display device, the development tool, or the like sends a read request to the programmable logic controller for which the scan time is set to be long, the programmable logic controller does not send a response until the end of the scan time.
  • Programmable displays, development tools, etc. had to wait a long time before receiving a response. For this reason, the user cannot operate the programmable display unit, the development tool, and the like in the standby state, resulting in a significant decrease in the operability of external devices such as the programmable display unit and the development tool.
  • the execution of the program is interrupted and the I / O refresh is performed. Therefore, at the timing of the I / O refresh performed by interrupting the execution of the program, the CPU unit causes the programmable display unit to operate. It is also possible to send a response to the read request to the development tool or the like. In this case, the programmable display device, the development tool, etc. do not have to wait until all the program instructions are executed. However, the value read from the device memory in this case is not the value after the program instructions have been executed. That is, it is not the data determined by executing all the program instructions. Therefore, even with the configuration described in Patent Document 2, it is not possible to immediately return the confirmed device value.
  • the present invention has been made in view of the above circumstances, an external device for monitoring a device memory, it is possible to read the determined device value without depending on the scan time of the programmable logic controller, The purpose is to improve the operability of external devices.
  • the programmable logic controller repeatedly executes the program every set cycle.
  • the device storage means stores a device value which is an input value and an output value of the program.
  • the saved data storage means stores the device value stored in the device storage means in the previous cycle.
  • the command processing unit receives a device value read request from an external device, if the preset read target for the device designated in the read request is the device storage unit, the device is executed after the execution of the program in the cycle is completed.
  • the device value stored in the storage unit is read out, and when the preset read target for the designated device is the saved data storage unit, the device value stored in the saved data storage unit is immediately read out.
  • the transmission means transmits the device value read by the command processing means to an external device.
  • the save data storage means stores the device value stored in the device storage means in the previous cycle.
  • the programmable logic controller when the read target preset for the device specified by the read request received from the external device is the device storage unit, the device value stored in the device storage unit after the execution of the program in the cycle is completed. Is read and the device value is transmitted to the external device.
  • the programmable logic controller immediately reads the device value stored in the save data storage unit and transmits the device value to the external device.
  • Block diagram showing a hardware configuration of a programmable logic controller and an engineering tool according to an embodiment Functional block diagram of a CPU unit of a programmable logic controller and an engineering tool according to an embodiment
  • Flowchart of monitor response processing of the CPU unit according to the embodiment The figure which shows an example of the input screen of the device monitor of the engineering tool which concerns on the modification 1.
  • the programmable logic controller 1 according to the embodiment of the present invention will be described below in detail with reference to the drawings.
  • the programmable logic controller 1 shown in FIG. 1 controls a detector 901 and a controlled device 902 that operate in a production system, a control system, or the like.
  • the programmable logic controller 1 includes a CPU (Central Processing Unit) unit 100 that controls the entire programmable logic controller 1, an input unit 200 that supplies an input signal received from the detector 901 to the CPU unit 100, and a calculation result of the CPU unit 100.
  • the output unit 300 that outputs an output signal indicating to the controlled device 902, and the base unit 400 for mounting each unit.
  • the CPU unit 100 executes a program instruction according to ON / OFF of the input signal supplied from the input unit 200, and outputs the operation result represented by ON / OFF to the output unit 300 as an output signal.
  • the CPU unit 100 starts the execution of the program at the set cycle, executes the END instruction which is the last instruction of the program, and then ends the execution of the program.
  • the CPU unit 100 starts executing the program again in the next cycle. This set cycle is called a scan time.
  • a detector 901 including a sensor, a switch, etc. is connected to the input unit 200.
  • the input unit 200 converts an input signal indicating ON / OFF supplied from the detector 901 into a predetermined signal level, and supplies the converted input signal to the CPU unit 100.
  • a controlled device 902 including an actuator, a solenoid valve, an indicator lamp, etc. is connected to the output unit 300.
  • the output unit 300 converts the output signal indicating ON / OFF supplied from the CPU unit 100 into a predetermined signal level, and supplies the converted output signal to the controlled device 902.
  • the CPU unit 100, the input unit 200, and the output unit 300 are mounted on the base unit 400.
  • the CPU unit 100, the input unit 200, and the output unit 300 are connected to a power supply unit (not shown) via the base unit 400, and operate by electric power supplied from the power supply unit.
  • the CPU unit 100, the input unit 200, and the output unit 300 are connected to each other via a shared bus 410 and communicate with each other via the shared bus 410.
  • An engineering tool 500 which is a development tool, can be connected to the CPU unit 100 of the programmable logic controller 1. The configuration of the engineering tool 500 will be described later.
  • the CPU unit 100 has, as a hardware configuration, a memory 110 that stores various programs and data, an input / output interface 120 that communicates with the input unit 200 and the output unit 300, and a tool interface 130 that communicates with an engineering tool 500 described later. , And an arithmetic unit 140 that controls the entire CPU unit 100.
  • the memory 110, the input / output interface 120, and the tool interface 130 are connected to the arithmetic device 140 via the bus 190 and communicate with the arithmetic device 140.
  • the memory 110 includes a volatile memory 111 and a non-volatile memory 112, and stores various programs and data.
  • the volatile memory 111 is used as a work memory of the arithmetic device 140.
  • the non-volatile memory 112 responds to a device setting 1121 that stores data related to allocation of data to be stored in the device memory, a user program 1122 that is executed at each scan time, and a monitor request received from an engineering tool 500 described later. And a monitor response program 1123 for storing.
  • the access speed of the volatile memory 111 is higher than the access speed of the nonvolatile memory 112.
  • the user program 1122 is an example of the program of the present invention.
  • the memory 110 realizes the function of a device memory.
  • the device memory is a value that indicates an input signal supplied from the detector 901 to the CPU unit 100, and is a memory that stores the input value of the calculation of the user program 1122 and the output value output as the calculation result of the user program 1122. Area.
  • the output value output by the arithmetic unit 140 executing the user program 1122 is a value indicating an output signal supplied to the controlled device 902.
  • a value indicating an input signal and a value indicating an output signal stored in the device memory are called device values.
  • the device memory may be simply called a device.
  • the CPU unit 100 has a master device memory that stores the device value at the current scan time and a save device memory that stores the device value at the previous scan time.
  • the volatile memory 111 functions as a master device memory.
  • the non-volatile memory 112 functions as a device memory for saving.
  • the device value includes, for example, time-series data collected from the same sensor or data collected from a plurality of sensors at the same timing.
  • the device setting 1121 is data defining an area for storing an input signal, an area for storing an output signal, and the like.
  • the device value, the data of the input signal and the output signal, are stored in the area corresponding to the type of data.
  • the area in which the value of the input signal is stored is “X”
  • the area in which the value of the output signal is stored is “Y”
  • the area in which other values are stored is “D”. It is defined.
  • the device setting 1121 includes a start number and an end number for specifying the size of each area of “X”, “Y”, and “D”.
  • the number corresponds to a so-called memory address.
  • a plurality of device values are stored in each of the “X”, “Y”, and “D” areas, and each device value is assigned a number indicating the number of data in the area. There is. For example, when the head number of the “X” area is 1, the data stored in “X100” is the 100th data in the “X” area. The start number is the number assigned to the first device value in the area, and the end number is the number assigned to the last device value in the area.
  • the user program 1122 is a program created by the user and is executed by the arithmetic unit 140.
  • the arithmetic unit 140 executes the user program 1122 to perform arithmetic using the value indicating the input signal supplied from the detector 901.
  • the monitor response program 1123 is a program for the CPU unit 100 to realize a function of transmitting a monitor response including a specified device value to the engineering tool 500 as a response to the monitor request received from the engineering tool 500.
  • the monitor response program 1123 is executed by the arithmetic unit 140.
  • the monitor request means a command transmitted by the engineering tool 500 to the CPU unit 100 in order to request reading of the device value.
  • the monitor response means a response that the CPU unit 100 sends to the engineering tool 500 in response to the monitor request.
  • the input / output interface 120 is a communication interface for the CPU unit 100 to communicate with the input unit 200 and the output unit 300.
  • the input / output interface 120 converts the data supplied from the arithmetic device 140 into an electric signal, and transmits the converted signal to the output unit 300 via the shared bus 410. Further, the input / output interface 120 restores the electric signal received from the input unit 200 into data and outputs the data to the arithmetic device 140.
  • the tool interface 130 is a communication interface for the CPU unit 100 to communicate with an engineering tool 500 described later.
  • the tool interface 130 converts the data supplied from the arithmetic device 140 into an electric signal, and transmits the converted signal to the engineering tool 500 via the communication cable 509. Further, the tool interface 130 restores the electric signal received from the engineering tool 500 into data and outputs the data to the arithmetic device 140.
  • the arithmetic unit 140 has MPUs (Micro Processing Units) 150 and 160, and executes various programs stored in the memory 110 to realize various functions of the CPU unit 100.
  • MPUs Micro Processing Units
  • the MPU 150 has a function of receiving a monitor request from the engineering tool 500 and transmitting a monitor response to the engineering tool 500.
  • the MPU 160 has a function of executing the user program 1122 at each scan time.
  • the engineering tool 500 is a device in which a dedicated application is installed in a personal computer, and is a development tool having a program creation function.
  • the engineering tool 500 has a function of monitoring the device memory of the CPU unit 100. Therefore, the user can monitor the device memory of the CPU unit 100 using the engineering tool 500.
  • the engineering tool 500 is an example of the external device of the present invention.
  • the engineering tool 500 includes a memory 510 that stores programs and data, an input device 520 that detects a user's input operation, an output device 530 that outputs an image, a communication interface 540 that communicates with the CPU unit 100, and an engineering tool.
  • An arithmetic unit 550 for controlling the whole 500 is included.
  • the respective parts of the engineering tool 500 are connected by a bus 590.
  • the memory 510 includes a volatile memory and a non-volatile memory, and stores various programs and data used when the programs are executed.
  • the memory 510 stores a setting program 511 for setting the device value read target of the CPU unit 100 and a monitoring program 512 for monitoring the device value of the CPU unit 100.
  • the input device 520 includes an input device such as a keyboard and a mouse, detects a user's input operation, and supplies a signal indicating the detected user's input operation to the arithmetic device 550.
  • the output device 530 includes a display and displays an image based on the signal supplied from the arithmetic device 550 on the display.
  • the communication interface 540 is a communication interface for communicating with the CPU unit 100 via the communication cable 509.
  • the communication interface 540 converts the data supplied from the arithmetic unit 550 into an electric signal, and transmits the converted signal to the CPU unit 100 via the communication cable 509. Further, the communication interface 540 restores the electric signal received from the CPU unit 100 into data and outputs the data to the arithmetic unit 550.
  • the arithmetic unit 550 includes a CPU and executes various programs stored in the memory 110 to realize various functions of the engineering tool 500.
  • the arithmetic unit 550 executes the monitor program 512, transmits a device memory monitor request to the CPU unit 100, and displays the contents of the monitor response received from the CPU unit 100 on the display of the output unit 530. indicate.
  • the arithmetic unit 550 executes the setting program 511 to set the CPU unit 100 as a target for reading the device value in response to the monitor request.
  • the CPU unit 100 specifies a first device storage unit 101 that stores a device value, a second device storage unit 102 that stores saved data of the first device storage unit 101, and a device value read target.
  • Read target designation table 103 command transmission / reception unit 104 that transmits / receives commands to / from engineering tool 500, command processing unit 105 that reads a device value from the read target designated in read target designation table 103, and first device storage unit It has a write control unit 106 that saves the device value of 101 in the second device storage unit 102, and an execution unit 107 that executes the user program 1122.
  • the first device storage unit 101 is an example of the device storage means of the present invention.
  • the second device storage unit 102 is an example of the save data storage means of the present invention.
  • the read target designation table 103 is an example of the setting information storage means of the present invention.
  • the command transmission / reception unit 104 is an example of the transmission means of the present invention.
  • the command processing unit 105 is an example of the command processing unit of the present invention.
  • the write control unit 106 is an example of the write control means of the present invention.
  • the first device storage unit 101 stores input values and output values of the user program 1122 at the current scan time, that is, device values.
  • the first device storage unit 101 is a master device memory of the CPU unit 100.
  • the input value of the user program 1122 is written in the first device storage unit 101 by the I / O refresh. Further, by executing the user program 1122, the output value output by executing the user program 1122 is written in the first device storage unit 101.
  • the function of the first device storage unit 101 is realized by the volatile memory 111 of the memory 110 shown in FIG. This is because the access speed of the volatile memory 111 is higher than that of the nonvolatile memory 112.
  • the second device storage unit 102 shown in FIG. 2 stores the data saved from the first device storage unit 101. More specifically, the second device storage unit 102 stores the device value stored in the first device storage unit 101 at the previous scan time, that is, the input value and the output value at the previous scan time.
  • the second device storage unit 102 is a device memory for saving.
  • the write control unit 106 writes the device value of the first device storage unit 101 to the second device storage unit 102.
  • the function of the second device storage unit 102 is realized by the nonvolatile memory 112 of the memory 110 shown in FIG.
  • the read target designation table 103 stores data that designates whether the device value designated by the monitor request is acquired from the first device storage unit 101 or the second device storage unit 102. As shown in FIG. 3, in the read target designation table 103, whether the read target is the first device storage unit 101 or not for the device value in the range specified by the area name of the device, the start number, and the end number. It is designated whether it is the storage unit 102.
  • the start number and the end number indicate the start point and the end point of the set range of the device.
  • the read target indicates whether the read target of the device value in the set range is the first device storage unit 101 or the second device storage unit 102.
  • the device values of “X1” to “X250” are specified to be read from the second device storage unit 102.
  • the device values of “Y200” to “Y400” are read from the first device storage unit 101.
  • the read target designation table 103 it is possible to designate a read target for each designated range.
  • the default read target is the first device storage unit 101. Therefore, device values in a range not set in the read target designation table 103 are read from the first device storage unit 101.
  • the function of the read target designation table 103 is realized by the nonvolatile memory 112 of the memory 110 shown in FIG.
  • the command transmitting / receiving unit 104 shown in FIG. 2 receives a monitor request from the engineering tool 500, and outputs the received monitor request to the command processing unit 105.
  • the command transmission / reception unit 104 also transmits the monitor response supplied from the command processing unit 105 to the engineering tool 500.
  • the function of the command transmitting / receiving unit 104 is realized by the tool interface 130 and the MPU 150 of FIG.
  • the command processing unit 105 illustrated in FIG. 2 reads the value of the device specified in the monitor request from the read target specified in the read target specification table 103, and outputs the monitor response including the read device value to the command transmitting / receiving unit 104. Output to.
  • the monitoring request transmitted by the engineering tool 500 includes a value that specifies the device area, and a start number and an end number that indicate the range of the monitoring target.
  • the monitor response includes the device values read in the order specified by the monitor request. For example, in the monitor request, the device values from the start number “100” to the end number “150” of the device “X” and the device values from the start number “50” to the end number “100” of the device “D” are displayed. Suppose it is requested. In this case, the monitor response stores the device values of "X100” to "X250” and the device values of "D50" to "D100” arranged in this order.
  • the engineering tool 500 requests the CPU unit 100 to read the device values of device numbers 100 to 150 of the device “X” due to a monitor request.
  • the command processing unit 105 determines that the read target of the device values of “X100” to “X150” is the second device storage unit 102 from the read target designation table 103 of FIG. It is also assumed that the monitor request requests reading of the device values of device No. 1001 to No. 1200. In this case, the command processing unit 105 determines that the read target of the device values “Y1001” to “Y1200” in the read target designation table 103 is the first device storage unit 101.
  • the command processing unit 105 is requested to read a device value for which the read target is not set in the read target specification table 103, the first device storage unit in which the read target of the device value is the default read target. It is determined to be 101.
  • the command processing unit 105 executes the reading of the device value as follows when the first device storage unit 101 is designated as the reading target of the device value designated by the monitor request in the reading target designation table 103.
  • the command processing unit 105 reads the device value specified by the monitor request from the first device storage unit 101 after the execution unit 107 executes the END command of the user program 1122, and outputs the read device value to the command transmission / reception unit 104. To do.
  • the command processing unit 105 executes the reading of the device value as follows when the second device storage unit 102 is designated as the reading target of the device value designated by the monitor request in the reading target designation table 103.
  • the command processing unit 105 immediately reads the device value specified by the monitor request from the second device storage unit 102, and outputs the read device value to the command transmitting / receiving unit 104.
  • the MPU 160 reads the device value from the first device storage unit 101
  • the MPU 150 reads the device value from the second device storage unit 102.
  • the function of the command processing unit 105 is realized by the MPU 150 and MPU 160 of FIG.
  • the command processing unit 105 when the command processing unit 105 receives a command instructing to update the read target designation table 103 from the engineering tool 500, the command processing unit 105 includes a value for specifying the device region included in the command and a monitor target of the region. Data is registered in the read target designation table 103 based on the start number and end number indicating the range and the value that specifies the designated read target. For example, when receiving a command from the engineering tool 500 instructing that the read targets of Nos. 100 to 250 of “X” are slaves, the command processing unit 105 displays ““ ”in the target designation table 103 shown in FIG. Data of "device: X, start number: 1, end number 250, read target: second device storage unit" is registered.
  • the write control unit 106 illustrated in FIG. 2 receives a notification from the execution unit 107 that the END instruction of the user program 1122 has been executed, the device value of the first device storage unit 101 is copied to the second device storage unit 102. .
  • the device value in the first device storage unit 101 is overwritten by the execution of the user program 1122 at the next scan time, but the second device storage unit 102 holds the device value at the previous scan time. In other words, the device value of the first device storage unit 101 is saved in the second device storage unit 102.
  • the function of the write control unit 106 is realized by the MPU 160 in FIG.
  • the execution unit 107 shown in FIG. 2 executes the user program 1122 at each scan time. Specifically, the execution unit 107 executes each instruction of the user program 1122 according to the input signal stored in the first device storage unit 101, and stores the calculation result in the first device storage unit 101. The execution unit 107 executes the END instruction, which is the last instruction of the user program 1122, and then notifies the write control unit 106 that one scan is completed. In response to this notification, the write control unit 106 copies the device value of the first device storage unit 101 to the second device storage unit 102. After that, the execution unit 107 performs I / O refresh to collectively exchange the device value of the first device storage unit 101 with the input unit 200 and the output unit 300. The function of the execution unit 107 is realized by the MPU 160 in FIG.
  • the engineering tool 500 is functionally provided with a reception unit 501 that receives an instruction regarding reading of a device value, an acquisition processing unit 502 that acquires a device value from the CPU unit 100, a CPU unit 100, and a command. And a command transmitting / receiving unit 503 for transmitting / receiving.
  • the reception unit 501 is an example of reception means of the present invention.
  • the acquisition processing unit 502 is an example of the acquisition processing unit of the present invention.
  • the reception unit 501 receives an instruction regarding reading of a device value from a user. Specifically, the reception unit 501 receives an instruction from the user that specifies whether the device value read target is the master or the save target. For example, the reception unit 501 displays a screen as shown in FIG. 4 on the output device 530, and receives an instruction from the user regarding designation of a read target. In this case, the reception unit 501 receives from the user the designation of the area of the device, the range in the area, and the read target.
  • An acquisition processing unit 502 which will be described later, transmits a command instructing to update the target designation table 103 to the CPU unit 100 via a command transmission / reception unit 503 according to the content input by the user on the screen shown in FIG.
  • the reception unit 501 receives an instruction from the user to read out the specified device value. For example, the reception unit 501 displays a screen as shown in FIG. 5A on the output device 530, and receives an instruction for reading the device value from the user. In this case, the reception unit 501 receives the designation of the device area and the range in the area from the user.
  • the acquisition processing unit 502 shown in FIG. 2 transmits to the CPU unit 100 a command according to the user's instruction accepted by the acceptance unit 501. Specifically, the acquisition processing unit 502 issues a command instructing to update the target designation table 103 via the command transmission / reception unit 503 in response to the designation of the read target designated by the reception unit 501 from the user. Send to.
  • the command includes a value that specifies the device area, a start number and an end number that indicate the range of the monitoring target in the area, and a value that specifies the specified read target.
  • the acquisition processing unit 502 generates a monitor request for reading the specified device value in response to the device reading instruction received by the receiving unit 501 from the user, and sends the monitor request to the command transmitting / receiving unit 503. Output.
  • the monitor request includes a value that specifies the device area, and a start number and an end number that indicate the range of the monitoring target in the area.
  • the acquisition processing unit 502 acquires the device value included in the monitor response received from the CPU unit 100 by the command transmission / reception unit 503, and stores it in the memory 510 shown in FIG.
  • the monitor response includes the device values read in the order specified by the monitor request.
  • the acquisition processing unit 502 may display a screen displaying the device value included in the monitor response on the output device 530 as illustrated in FIG. 5B.
  • the functions of the acquisition processing unit 502 described above are realized by the arithmetic unit 550 of FIG. 1 executing the monitor program 512 and the setting program 511.
  • the command transmission / reception unit 503 shown in FIG. 2 transmits to the CPU unit 100 a command output from the acquisition processing unit 502 and instructing to update the target designation table 103. Furthermore, the command transmission / reception unit 503 transmits the monitor request output from the acquisition processing unit 502 to the CPU unit 100. The command transmitting / receiving unit 503 also outputs the monitor response received from the CPU unit 100 to the acquisition processing unit 502.
  • the function of the command transmitting / receiving unit 503 is realized by the communication interface 540 and the arithmetic unit 550 of FIG.
  • the read target of the device value designated by the monitor request is designated. Therefore, prior to the device monitoring, it is necessary to register the data for specifying the device value read target in the read target specification table 103.
  • the user uses the engineering tool 500 to register data for designating a read target in the read target designation table 103 of the CPU unit 100
  • the user operates the input device 520 such as a keyboard and a mouse in a state in which the engineering tool 500 and the CPU unit 100 are connected to each other via the communication cable 509 to execute the setting program 511.
  • the arithmetic unit 550 executes the setting program 511 in response to the user's operation and realizes the following functions.
  • the arithmetic unit 550 requests the CPU unit 100 to provide the data of the device setting 1121.
  • the CPU unit 100 transmits the data of the device setting 1121 to the engineering tool 500.
  • the device name “X” indicating the area where the value of the input signal is stored
  • the device name “Y” indicating the area where the value of the output signal is stored
  • other values are stored.
  • the device name “D” indicating the specified area and the start number and the end number indicating the size of each area are transmitted.
  • the arithmetic unit 550 displays a designation screen for reading as shown in FIG. 4 on the output unit 530 based on the device setting data 1121 provided from the CPU unit 100.
  • the user can operate the input device 520 such as a keyboard and a mouse on the screen shown in the figure to select any device from “X”, “Y”, and “D”. Also, the user can enter a start number and an end number to specify the range in each device.
  • the user can select "master” or "save” as the read target.
  • “master” refers to the first device storage unit 101
  • “save” refers to the second device storage unit 102.
  • the arithmetic unit 550 transmits to the CPU unit 100 a command instructing to update the read target designation table 103.
  • the command includes data indicating the update content input by the user.
  • the CPU unit 100 updates the read target designation table 103 with the received data.
  • the user can use the engineering tool 500 to update the data in the read target designation table 103 as needed.
  • the CPU unit 100 reads the device value from the read target designated by the updated read target designation table 103.
  • the user operates the input device 520 such as a keyboard and a mouse in a state where the engineering tool 500 and the CPU unit 100 are connected to each other via the communication cable 509 to execute the monitor program 512.
  • the arithmetic unit 550 executes the monitor program 512 in response to the user's operation and realizes the following functions.
  • the arithmetic device 550 displays the input screen of the device monitor as shown in FIG. 5A on the output device 530. It is assumed that the user operates the input device 520 such as a keyboard and a mouse on the screen shown in the figure to input the device to be monitored and the start number and end number indicating the range, and presses the "send" button. Therefore, the arithmetic unit 550 transmits to the CPU unit 100 a monitor request including the designated device and the start number and the end number. In response to this, the CPU unit 100 reads the device value designated by the monitor request, and transmits a monitor response including the read device value to the engineering tool 500.
  • the arithmetic device 550 Upon receiving the monitor response from the CPU unit 100, the arithmetic device 550 displays a device monitor result screen as shown in FIG. 5B on the output device 530. In the illustrated example, the arithmetic device 550 also displays a number indicating which number of data each device value is. For example, the CPU unit 100 reads the device values from “X100” to “X150” in the designated order, and sends the read device values to the engineering tool 500. The arithmetic unit 550 is a device number indicating the number of data in the area of “X” based on the device number received from the CPU unit 100 and the start number and end number input by the user. Is also displayed.
  • the MPU 150 determines whether or not a monitor request has been received from the engineering tool 500 (step S11). When determining that the monitor request has been received (step S11; Yes), the MPU 150 determines the read target of the device value designated by the monitor request based on the read target designation table 103 (step S12). On the other hand, if the monitor request has not been received from the engineering tool 500 (step S11; No), the process of step S11 is executed again after waiting for a certain period of time.
  • step S13; Yes When it is determined that the read target includes the first device storage unit 101 (step S13; Yes), after the MPU 160 executes the END command of the user program 1122 (step S14; Yes), the MPU 150 and MPU 160 cooperate with each other.
  • the designated device value is read (step S15).
  • the MPU 150 requests the MPU 160 to read the device value for the device value for which the first device storage unit 101 is specified as the read target in the read target specification table 103.
  • the MPU 160 determines whether or not a read request has been received from the MPU 160.
  • the MPU 160 determines that the read request is received from the MPU 150 after executing the END instruction in step S14, the MPU 160 reads the specified device value from the first device storage unit 101 in step S15.
  • the MPU 160 transmits the device value read from the first device storage unit 101 to the MPU 150.
  • the MPU 150 also reads the device value from the second device storage unit 102 for the device value for which the second device storage unit 102 is specified as the read target in the read target specification table 103. When the read target is only the first device storage unit 101, the MPU 150 does not need to read the device value from the second device storage unit 102.
  • the MPU 150 transmits the device value to the engineering tool 500 (step S16).
  • the MPU 150 receives the device value of the first device storage unit 101 received from the MPU 160 and the second device storage unit read by the MPU 150.
  • the device value of 102 and the engineering tool 500 are transmitted.
  • the MPU 150 transmits the device value of the first device storage unit 101 received from the MPU 160 to the engineering tool 500.
  • step S13 when it is determined in step S13 that the read target does not include the first device storage unit 101 (step S13; No), that is, when the read target is only the second device storage unit 102, the MPU 150 determines that the second target The specified device value is read from the device storage unit 102 (step S17), and the read device value is transmitted to the engineering tool 500 (step S18). Specifically, the MPU 150 transmits a response command including the read device value to the engineering tool 500.
  • the CPU unit 100 Immediately returns the device value stored in the second device storage unit 102 to the engineering tool 500. Therefore, the device value for which the user has designated the second device storage unit 102 as the read target can be read without depending on the scan time of the CPU unit 100.
  • the engineering tool 500 does not wait for a long time until receiving the monitor response. This improves the operability of the engineering tool 500.
  • the CPU unit 100 causes the first unit for each scan time as in the conventional case.
  • the device value stored in the device storage unit 101 is returned to the engineering tool 500.
  • the configuration according to the embodiment is particularly effective.
  • the second device storage unit 102 is set as the read target for the CPU unit 100 having a long scan time, and the read target is set as the second read target for the CPU unit 100 having a short scan time. It can also be the one-device storage unit 101.
  • step S13 of FIG. 6 when the read target includes the first device storage unit 101 and the second device storage unit 102, the device value is returned to the engineering tool 500 at each scan time. Therefore, the response of the device value of the second device storage unit 102 also becomes slow. For example, it is possible to prevent such a situation from occurring by the following method.
  • the memory 510 of the engineering tool 500 stores the same data as the content registered in the read target designation table 103 of the CPU unit 100.
  • the arithmetic unit 550 displays on the screen. May display a message warning that the response will be delayed.
  • the engineering tool 500 may send to the CPU unit 100 a monitor request including information designating a read target.
  • the accepting unit 501 accepts from the user the area of the device to be read, the range in the area, and the designation of the reading target.
  • the reception unit 501 may be able to specify the read target on the input screen of the device monitor as illustrated in FIG. 7.
  • the acquisition processing unit 502 shown in FIG. 2 generates a monitor request according to the user's instruction received by the reception unit 501, and transmits the generated monitor request to the CPU unit 100 via the command transmission / reception unit 503.
  • the monitor request includes a value that specifies the area of the device, a start number and an end number that indicate the range of the monitor target in the area, and a value that specifies the specified read target.
  • the CPU unit 100 reads the specified device value from the read target specified by the monitor request, and sends a monitor response including the read device value to the engineering tool 500. In the case of the above configuration, it is not necessary to register the read target in the read target designation table 103.
  • the device value for which the user has designated the second device storage unit 102 as the read target is immediately returned from the CPU unit 100 to the engineering tool 500, and thus external The operability of the device is improved.
  • the CPU unit 100 has two MPUs 150 and 160, the MPU 150 executes the process related to the monitor response, and the MPU 160 executes the user program 1122. In this case, since the processing is performed by the two MPUs in a distributed manner, the processing load on each MPU can be suppressed. However, the CPU unit 100 does not have to have two MPUs.
  • the CPU unit 100 may have only one MPU 150. Since the CPU unit 100 has only one MPU, the cost can be reduced as compared with the case of having two MPUs. In this case, the MPU 150 realizes the functions of both the command processing unit 105 and the write control unit 106 shown in FIG.
  • the execution unit 107 shown in FIG. 2 may execute the user program 1122 using the device value stored in the second device storage unit 102. Since the second device storage unit 102 stores the device value at the scan time completed before the power failure, there is an advantage that the controlled device 902 can be restored from the intermediate process.
  • the write control unit 106 may copy the device value stored in the second device storage unit 102 to the first device storage unit 101. Since the data is copied between the memories in the same CPU unit 100, it does not take time to transfer the data. After that, the execution unit 107 may execute the user program 1122 using the device value stored in the first device storage unit 101. In this case, since the device value at the scan time completed before the power failure occurs is copied to the first device storage unit 101, there is an advantage that the controlled device 902 can be restored from the intermediate process.
  • the command processing unit 105 reads the device value from the default read target when the read target is not specified in the read target specification table 103.
  • the provision of such a configuration has the following advantages. For example, when the first device storage unit 101 is the default read target, it is not necessary to register the read target device value of the first device storage unit 101 in the read target designation table 103. The user only needs to specify in the read target specification table 103 only the device that specifies the second device storage unit 102 as the read target and its range.
  • the second device storage unit 102 may be realized by a volatile memory.
  • the CPU unit 100 immediately returns the device value designated to read the second device storage unit 102 to the engineering tool 500. Therefore, the operability of the external device can be improved.
  • the first device storage unit 101 may be realized by a non-volatile memory instead of a volatile memory as long as a sufficient access speed is guaranteed. In this case, even if the power supply to the CPU unit 100 is cut off, the device value of the first device storage unit 101 is retained.
  • the engineering tool 500 has been described as an example of the external device for monitoring the device memory, but the external device may be a programmable display or can communicate with the CPU unit 100. It may be another information processing device.
  • a computer-readable recording medium including a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, a semiconductor memory, and a magnetic tape can be used.
  • 1 programmable logic controller 100 CPU unit, 101 first device storage unit, 102 second device storage unit, 103 read target designation table, 104, 503 command transmission / reception unit, 105 command processing unit, 106 write control unit, 107 execution unit, 110,510 memory, 111 volatile memory, 112 non-volatile memory, 120 input / output interface, 130 tool interface, 140,550 arithmetic unit, 150,160 MPU, 190,590 bus, 200 input unit, 300 output unit, 400 base Unit, 410 shared bus, 500 engineering tool, 501 reception unit, 502 acquisition processing unit, 509 communication cable, 511 setting program, 512 model Data program, 520 input unit, 530 output unit, 540 communication interface, 901 detector, 902 the controlled device 1121 device settings, 1122 user program 1123 monitors the response program

Abstract

プログラマブルロジックコントローラは、設定された周期毎にプログラムを繰り返し実行する。第1デバイス記憶部(101)は、プログラムの入力値及び出力値であるデバイス値を記憶する。第2デバイス記憶部(102)は前回の周期において第1デバイス記憶部(101)が記憶していたデバイス値を記憶する。コマンド処理部(105)は、エンジニアリングツール(500)から受け付けたモニタ要求に指定されたデバイスについて予め設定された読み出し対象が第1デバイス記憶部(101)である場合、その周期におけるプログラムの実行が完了した後に第1デバイス記憶部(101)のデバイス値を読み出し、読み出し対象が第2デバイス記憶部(102)である場合、直ちに第2デバイス記憶部(102)のデバイス値を読み出す。コマンド送受信部(104)は、デバイス値をエンジニアリングツール(500)に送信する。

Description

プログラマブルロジックコントローラ、外部機器、方法、及びプログラム
 本発明は、プログラマブルロジックコントローラ、外部機器、方法、及びプログラムに関する。
 プログラマブルロジックコントローラのCPUユニットは、制御対象の機器を制御するため、スキャンタイム毎にプログラムの各命令を実行して、検出器から供給された入力信号を使用した演算を行い、演算結果である出力信号を制御対象の機器に供給する。プログラマブルロジックコントローラの入力ユニットは、入力ユニットに接続された検出器から供給された入力信号を、プログラマブルロジックコントローラのCPUユニットに入力する。プログラマブルロジックコントローラの出力ユニットは、CPUユニットが出力した出力信号を、出力ユニットに接続された制御対象の機器に供給する。プログラマブルロジックコントローラのCPUユニットにおいて、検出器から供給された入力信号と、演算結果である出力信号とは、CPUユニットが有するデバイスメモリと呼ばれるメモリ上の領域に格納される。
 ユーザは、例えば、プログラマブルロジックコントローラのプログラムの動作が正常であるか否かを確認するために、プログラマブル表示器、プログラムの開発ツール等の外部機器を介してデバイスメモリのデータを監視する。特許文献1には、プログラマブル表示器が、スキャンタイム毎に、即ち、I/O(Input/Output:入出力)リフレッシュのタイミングで、デバイスメモリからデバイス値を読み出し、読み出したデバイス値をディスプレイに表示することが記載されている。
 ここで、I/Oリフレッシュとは、各スキャンタイムの最後に、デバイスメモリのデータを、プログラマブルロジックコントローラと、入力ユニット及び出力ユニットとの間で一括交換することをいう。具体的には、CPUユニットと入力ユニットとの間でデバイスメモリのデータ交換が行われ、CPUユニットと出力ユニットとの間でデバイスメモリのデータ交換が行われる。デバイスメモリが記憶するデータには、プログラムの実行中に随時書き換えられるデータも含まれていることから、I/Oリフレッシュは、スキャンタイムの最後に、即ち命令が一通り実行された後に、実行される。
 また、特許文献2には、I/Oリフレッシュを、スキャンタイムの最後だけではなく、プログラムの実行中に、プログラムの実行を中断して行うことが記載されている。
特開2003-84811号公報 特開2016-110458号公報
 特許文献1に記載されているように、従来のプログラマブルロジックコントローラは、プログラマブル表示器、開発ツール等から、デバイスメモリの読み出し要求を受け付けると、I/Oリフレッシュのタイミングで、プログラマブル表示器、開発ツール等に、読み出し要求の応答として、読み出し要求で指定されたデバイスメモリの値を送信する。
 スキャンタイムの長さは、プログラマブルロジックコントローラ毎に異なる。プログラマブル表示器、開発ツール等が、スキャンタイムが長く設定されたプログラマブルロジックコントローラに読み出し要求を送信した場合、そのプログラマブルロジックコントローラは、当該スキャンタイムの終わりまで応答を送信しない。プログラマブル表示器、開発ツール等は、応答を受信するまで長時間待機することになっていた。このため、ユーザは待機中のプログラマブル表示器、開発ツール等を操作することができず、プログラマブル表示器、開発ツール等の外部機器の操作性が著しく低下する結果となっていた。
 特許文献2に記載されている構成においては、プログラムの実行を中断してI/Oリフレッシュを行うので、プログラムの実行を中断して行うI/Oリフレッシュのタイミングで、CPUユニットが、プログラマブル表示器、開発ツール等に、読み出し要求に対する応答を送信することも可能である。この場合、プログラマブル表示器、開発ツール等は、プログラムの命令が一通り実行されるまで待つ必要はない。しかし、この場合にデバイスメモリから読み出される値は、プログラムの命令が一通り実行された後の値ではない。即ち、プログラムの命令が一通り実行されることにより確定したデータではない。このため、特許文献2に記載された構成においても、確定したデバイス値を即時に返すことはできない。
 本発明は、上記実情に鑑みてなされたものであり、デバイスメモリをモニタするための外部機器が、プログラマブルロジックコントローラのスキャンタイムに依存せずに確定したデバイス値の読み出しを行うことを可能とし、外部機器の操作性を向上させることを目的とする。
 上記目的を達成するため、プログラマブルロジックコントローラは、設定された周期毎にプログラムを繰り返し実行する。デバイス記憶手段は、プログラムの入力値及び出力値であるデバイス値を記憶する。退避データ記憶手段は、前回の周期においてデバイス記憶手段が記憶していたデバイス値を記憶する。コマンド処理手段は、外部機器からデバイス値の読み出し要求を受け付けると、読み出し要求において指定されたデバイスについて予め設定された読み出し対象がデバイス記憶手段である場合、その周期におけるプログラムの実行が完了した後にデバイス記憶手段が記憶するデバイス値を読み出し、指定されたデバイスについて予め設定された読み出し対象が退避データ記憶手段である場合、直ちに退避データ記憶手段が記憶するデバイス値を読み出す。送信手段は、コマンド処理手段が読み出したデバイス値を外部機器に送信する。
 本発明のプログラマブルロジックコントローラにおいて、退避データ記憶手段は、前回の周期においてデバイス記憶手段が記憶していたデバイス値を記憶する。プログラマブルロジックコントローラは、外部機器から受け付けた読み出し要求で指定されたデバイスについて予め設定された読み出し対象がデバイス記憶手段である場合、その周期におけるプログラムの実行が完了した後にデバイス記憶手段が記憶するデバイス値を読み出して、デバイス値を外部機器に送信する。プログラマブルロジックコントローラは、指定されたデバイスについて予め設定された読み出し対象が退避データ記憶手段である場合、直ちに退避データ記憶手段が記憶するデバイス値を読み出して、デバイス値を外部機器に送信する。このような構成を備えること、プログラマブルロジックコントローラのスキャンタイムに依存せずにデバイスメモリの読み出しを行うことを可能とし、外部機器の操作性を向上させることができる。
実施の形態に係るプログラマブルロジックコントローラとエンジニアリングツールのハードウェア構成を示すブロック図 実施の形態に係るプログラマブルロジックコントローラのCPUユニットとエンジニアリングツールの機能ブロック図 実施の形態に係る読み出し対象指定テーブルに登録されるデータの一例を示す図 実施の形態に係るエンジニアリングツールの読み出しの指定画面の一例を示す図 実施の形態に係るエンジニアリングツールのデバイスモニタの入力画面の一例を示す図 実施の形態に係るエンジニアリングツールのデバイスモニタの実行結果画面の一例を示す図 実施の形態に係るCPUユニットのモニタ応答処理のフローチャート 変形例1に係るエンジニアリングツールのデバイスモニタの入力画面の一例を示す図 変形例2に係るプログラマブルロジックコントローラのハードウェア構成を示すブロック図
 以下、本発明の実施の形態に係るプログラマブルロジックコントローラ1について、図面を参照しつつ詳細に説明する。
(実施の形態)
 図1に示す、プログラマブルロジックコントローラ1は、生産システム、制御システム等において稼動する検出器901と被制御機器902とを制御する。プログラマブルロジックコントローラ1は、プログラマブルロジックコントローラ1全体を制御するCPU(Central Processing Unit)ユニット100と、検出器901から受け付けた入力信号をCPUユニット100に供給する入力ユニット200と、CPUユニット100の演算結果を示す出力信号を被制御機器902に出力する出力ユニット300と、各ユニットを装着するためのベースユニット400を含む。
 CPUユニット100は、入力ユニット200から供給された入力信号のオン/オフに従って、プログラムの命令を実行し、オン/オフで表される演算結果を出力信号として出力ユニット300に出力する。CPUユニット100は、設定された周期でプログラムの実行を開始し、プログラムの最後の命令であるEND命令を実行した後、プログラムの実行を終了する。CPUユニット100は、次の周期に再びプログラムの実行を開始する。この設定された周期をスキャンタイムという。
 入力ユニット200には、センサ、スイッチ等を含む検出器901が接続されている。入力ユニット200は、検出器901から供給されたオン/オフを示す入力信号を、決められた信号レベルに変換し、変換した入力信号をCPUユニット100に供給する。出力ユニット300には、アクチュエータ、電磁弁、表示灯等を含む被制御機器902が接続されている。出力ユニット300は、CPUユニット100から供給されたオン/オフを示す出力信号を、決められた信号レベルに変換し、変換した出力信号を被制御機器902に供給する。
 ベースユニット400には、CPUユニット100と入力ユニット200と出力ユニット300とが装着される。CPUユニット100と入力ユニット200と出力ユニット300とは、ベースユニット400を介して不図示の電源ユニットに接続され、電源ユニットから供給される電力によって動作する。また、CPUユニット100と入力ユニット200と出力ユニット300とは、共有バス410を介して相互に接続され、共有バス410を介して通信を行う。
 また、プログラマブルロジックコントローラ1のCPUユニット100には、開発ツールであるエンジニアリングツール500を接続することが可能である。エンジニアリングツール500の構成については後述する。
 以下の説明においては、実施の形態において特徴的な構成を備えるCPUユニット100を中心に説明する。
 CPUユニット100はハードウェア構成として、各種プログラム、データを記憶するメモリ110と、入力ユニット200及び出力ユニット300と通信を行う入出力インタフェース120と、後述するエンジニアリングツール500と通信を行うツールインタフェース130と、CPUユニット100全体を制御する演算装置140と、を有する。メモリ110と、入出力インタフェース120と、ツールインタフェース130とはバス190を介して演算装置140に接続されており、演算装置140と通信する。
 メモリ110は、揮発性メモリ111と不揮発性メモリ112とを含み、各種プログラム、データとを記憶する。揮発性メモリ111は、演算装置140のワークメモリとして用いられる。不揮発性メモリ112には、デバイスメモリに格納するデータの割り当てに関するデータを記憶するデバイス設定1121と、スキャンタイム毎に実行されるユーザプログラム1122と、後述するエンジニアリングツール500から受信したモニタ要求に応答するためのモニタ応答プログラム1123とが格納される。なお、揮発性メモリ111のアクセス速度は、不揮発性メモリ112のアクセス速度より高速である。ユーザプログラム1122は本発明のプログラムの一例である。
 さらに、メモリ110は、デバイスメモリの機能を実現する。デバイスメモリとは、検出器901からCPUユニット100に供給された入力信号を示す値であって、ユーザプログラム1122の演算の入力値、ユーザプログラム1122の演算結果として出力された出力値を格納するメモリ領域である。演算装置140がユーザプログラム1122を実行して出力した出力値は、被制御機器902に供給される出力信号を示す値である。デバイスメモリに格納される入力信号を示す値及び出力信号を示す値をデバイス値という。なお、デバイスメモリを単にデバイスと呼ぶこともある。実施の形態においては、CPUユニット100は、今回のスキャンタイムにおけるデバイス値を記憶するマスタのデバイスメモリと、前回のスキャンタイムにおけるデバイス値を記憶する退避用のデバイスメモリとを有する。揮発性メモリ111は、マスタのデバイスメモリとして機能する。不揮発性メモリ112は退避用のデバイスメモリとして機能する。
 デバイス値は、例えば、同一のセンサから収集された時系列のデータ、あるいは、複数のセンサから同じタイミングで収集されたデータを含む。
 デバイス設定1121は、入力信号を記憶する領域、出力信号を記憶する領域等を定義するデータである。デバイス値は、入力信号及び出力信号のデータは、データの種類に応じた領域に格納される。デバイス設定1121においては、入力信号の値が格納されている領域を「X」、出力信号の値が格納されている領域を「Y」、その他の値が格納されている領域を「D」と定義している。さらに、デバイス設定1121は、「X」、「Y」、「D」それぞれの領域の大きさを特定するための先頭番号と末尾番号とを含む。ここで、番号はいわゆるメモリのアドレスに相当するものである。「X」、「Y」、「D」のそれぞれの領域には複数のデバイス値が格納されており、各デバイス値には、当該領域において何番目のデータであるかを示す番号が割り当てられている。例えば、「X」の領域の先頭番号が1である場合、「X100」に格納されたデータは、「X」の領域における100番目のデータである。先頭番号は、当該領域における最初のデバイス値に割り当てられた番号であり、末尾番号は当該領域における最後のデバイス値に割り当てられた番号である。
 ユーザプログラム1122は、ユーザが作成したプログラムであって、演算装置140により実行される。演算装置140は、ユーザプログラム1122を実行して、検出器901から供給された入力信号を示す値を使用した演算を行う。
 モニタ応答プログラム1123は、CPUユニット100が、エンジニアリングツール500から受信したモニタ要求に対する応答として、指定されたデバイス値を含むモニタ応答をエンジニアリングツール500に送信する機能を実現するためのプログラムである。モニタ応答プログラム1123は演算装置140により実行される。ここで、モニタ要求とは、デバイス値の読み出しを要求するため、エンジニアリングツール500がCPUユニット100に送信するコマンドのことをいう。また、モニタ応答とは、CPUユニット100がモニタ要求に応答してエンジニアリングツール500に送信するレスポンスのことをいう。
 入出力インタフェース120は、CPUユニット100が入力ユニット200及び出力ユニット300と通信するための通信インタフェースである。入出力インタフェース120は、演算装置140から供給されたデータを電気信号に変換し、変換した信号を共有バス410を介して出力ユニット300に送信する。また、入出力インタフェース120は、入力ユニット200から受信した電気信号をデータに復元して演算装置140に出力する。
 ツールインタフェース130は、CPUユニット100が後述のエンジニアリングツール500と通信するための通信インタフェースである。ツールインタフェース130は、演算装置140から供給されたデータを電気信号に変換し、変換した信号を通信ケーブル509を介してエンジニアリングツール500に送信する。また、ツールインタフェース130は、エンジニアリングツール500から受信した電気信号をデータに復元して演算装置140に出力する。
 演算装置140は、MPU(Micro Processing Unit)150、160を有し、メモリ110に記憶される各種プログラムを実行して、CPUユニット100の各種機能を実現する。詳しくは後述するが、MPU150は、エンジニアリングツール500からモニタ要求を受け付け、エンジニアリングツール500にモニタ応答を送信する機能を担う。MPU160は、スキャンタイム毎にユーザプログラム1122を実行する機能を担う。
 エンジニアリングツール500は、パーソナルコンピュータに専用のアプリケーションをインストールした装置であり、プログラムの作成機能を有した開発ツールである。実施の形態においては、エンジニアリングツール500は、CPUユニット100のデバイスメモリをモニタする機能を備える。よって、ユーザは、エンジニアリングツール500を使用してCPUユニット100のデバイスメモリをモニタできる。エンジニアリングツール500は、本発明の外部機器の一例である。
 エンジニアリングツール500は、プログラム及びデータを記憶するメモリ510と、ユーザの入力操作を検出する入力装置520と、画像を出力する出力装置530と、CPUユニット100と通信を行う通信インタフェース540と、エンジニアリングツール500全体を制御する演算装置550とを含む。エンジニアリングツール500の各部はバス590により接続されている。
 メモリ510は、揮発性メモリと、不揮発性メモリとを含み、各種プログラムと、プログラムの実行時に使用されるデータとを記憶する。実施の形態においては、メモリ510は、CPUユニット100のデバイス値の読み出し対象を設定するための設定用プログラム511と、CPUユニット100のデバイス値をモニタするためのモニタ用プログラム512とを記憶する。
 入力装置520は、キーボード、マウス等の入力装置を含み、ユーザの入力操作を検出し、検出したユーザの入力操作を示す信号を演算装置550に供給する。出力装置530は、ディスプレイを含み、演算装置550から供給された信号に基づいた画像をディスプレイに表示する。通信インタフェース540は、通信ケーブル509を介してCPUユニット100と通信するための通信インタフェースである。通信インタフェース540は、演算装置550から供給されたデータを電気信号に変換し、変換した信号を通信ケーブル509を介してCPUユニット100に送信する。また、通信インタフェース540は、CPUユニット100から受信した電気信号をデータに復元して演算装置550に出力する。
 演算装置550は、CPUを含み、メモリ110に記憶された各種プログラムを実行して、エンジニアリングツール500の各種機能を実現する。実施の形態においては、演算装置550は、モニタ用プログラム512を実行して、CPUユニット100にデバイスメモリのモニタ要求を送信し、CPUユニット100から受信したモニタ応答の内容を出力装置530のディスプレイに表示する。また、演算装置550は、設定用プログラム511を実行して、モニタ要求に応答してCPUユニット100がデバイス値を読み出す対象をCPUユニット100に設定する。
 続いて図2を参照しながら、CPUユニット100の機能的な構成を説明する。CPUユニット100は、機能的には、デバイス値を記憶する第1デバイス記憶部101と、第1デバイス記憶部101の退避データを記憶する第2デバイス記憶部102と、デバイス値の読み出し対象を指定する読み出し対象指定テーブル103と、エンジニアリングツール500とコマンドの送受信を行うコマンド送受信部104と、読み出し対象指定テーブル103で指定された読み出し対象からデバイス値を読み出すコマンド処理部105と、第1デバイス記憶部101のデバイス値を第2デバイス記憶部102に退避する書き込み制御部106と、ユーザプログラム1122を実行する実行部107とを有する。第1デバイス記憶部101は本発明のデバイス記憶手段の一例である。第2デバイス記憶部102は本発明の退避データ記憶手段の一例である。読み出し対象指定テーブル103は、本発明の設定情報記憶手段の一例である。コマンド送受信部104は、本発明の送信手段の一例である。コマンド処理部105は、本発明のコマンド処理手段の一例である。書き込み制御部106は、本発明の書き込み制御手段の一例である。
 第1デバイス記憶部101は、今回のスキャンタイムにおけるユーザプログラム1122の入力値及び出力値、即ちデバイス値を記憶する。第1デバイス記憶部101は、CPUユニット100のマスタのデバイスメモリである。I/Oリフレッシュにより、第1デバイス記憶部101には、ユーザプログラム1122の入力値が書き込まれる。さらに、ユーザプログラム1122の実行により、第1デバイス記憶部101には、ユーザプログラム1122の実行により出力された出力値が書き込まれる。第1デバイス記憶部101の機能は、図1に示すメモリ110の揮発性メモリ111により実現される。揮発性メモリ111のアクセス速度は、不揮発性メモリ112より高速だからである。
 図2に示す第2デバイス記憶部102は、第1デバイス記憶部101から退避されたデータを記憶する。より具体的には、第2デバイス記憶部102は、前回のスキャンタイムにおいて第1デバイス記憶部101が記憶していたデバイス値、即ち、前回のスキャンタイムにおける入力値及び出力値を記憶する。第2デバイス記憶部102は退避用のデバイスメモリである。第2デバイス記憶部102には、書き込み制御部106によって、第1デバイス記憶部101のデバイス値が書き込まれる。第2デバイス記憶部102の機能は、図1に示すメモリ110の不揮発性メモリ112により実現される。
 読み出し対象指定テーブル103には、モニタ要求により指定されたデバイス値を第1デバイス記憶部101又は第2デバイス記憶部102のいずれかから取得するかを指定するデータが格納されている。図3に示すように、読み出し対象指定テーブル103では、デバイスの領域名と開始番号と終了番号とにより特定される範囲のデバイス値について、読み出し対象が第1デバイス記憶部101であるか第2デバイス記憶部102であるかが指定されている。
 図示する例では、開始番号と終了番号とは、そのデバイスにおける設定された範囲の始点と終点とを示す。読み出し対象は設定された範囲のデバイス値の読み出し対象を第1デバイス記憶部101とするか第2デバイス記憶部102とするかを示す。例えば、「X1」から「X250」のデバイス値は第2デバイス記憶部102から読み出すことが指定されている。ここでは、また、「Y200」から「Y400」のデバイス値は第1デバイス記憶部101から読み出すことが指定されている。読み出し対象指定テーブル103において、指定した範囲毎に読み出し対象を指定することが可能である。なお、実施の形態において、デフォルトの読み出し対象は第1デバイス記憶部101とする。このため、読み出し対象指定テーブル103に設定されていない範囲のデバイス値は第1デバイス記憶部101から読み出される。読み出し対象指定テーブル103の機能は、図1に示すメモリ110の不揮発性メモリ112により実現される。
 図2に示すコマンド送受信部104は、エンジニアリングツール500からモニタ要求を受け付け、受け付けたモニタ要求をコマンド処理部105に出力する。また、コマンド送受信部104は、コマンド処理部105から供給されたモニタ応答をエンジニアリングツール500に送信する。コマンド送受信部104の機能は、図1のツールインタフェース130と、MPU150とにより実現される。
 図2に示すコマンド処理部105は、モニタ要求において指定されたデバイスの値を、読み出し対象指定テーブル103において指定された読み出し対象から読み出し、読み出したデバイス値が含まれたモニタ応答をコマンド送受信部104に出力する。エンジニアリングツール500が送信したモニタ要求には、デバイスの領域を特定する値と、モニタ対象の範囲を示す開始番号及び終了番号とが含まれている。また、モニタ応答には、モニタ要求で指定された順序で読み出されたデバイス値が含まれている。例えば、モニタ要求で、デバイス「X」の開始番号「100」から終了番号「150」までのデバイス値と、デバイス「D」の開始番号「50」から終了番号「100」までのデバイス値とが要求されたとする。この場合、モニタ応答には、「X100」から「X250」のデバイス値と、「D50」から「D100」のデバイス値とが、この順序で並べられた状態で格納されている。
 モニタ要求により、エンジニアリングツール500からCPUユニット100に対して、デバイス「X」の100番から150番のデバイス値の読み出しが要求されたとする。この場合、コマンド処理部105は、図3の読み出し対象指定テーブル103から「X100」から「X150」のデバイス値の読み出し対象が第2デバイス記憶部102であると判別する。また、モニタ要求で、デバイス「Y」の1001番から1200番のデバイス値の読み出しが要求されたとする。この場合、コマンド処理部105は、読み出し対象指定テーブル103から「Y1001」から「Y1200」のデバイス値の読み出し対象が第1デバイス記憶部101であると判別する。なお、コマンド処理部105は、読み出し対象指定テーブル103に読み出し対象が設定されていないデバイス値を読み出すことが要求された場合、当該デバイス値の読み出し対象がデフォルトの読み出し対象である第1デバイス記憶部101であると判別する。
 コマンド処理部105は、読み出し対象指定テーブル103で、モニタ要求により指定されたデバイス値の読み出し対象として第1デバイス記憶部101が指定されている場合、次のようにデバイス値の読み出しを実行する。コマンド処理部105は、実行部107がユーザプログラム1122のEND命令を実行した後に、モニタ要求により指定されたデバイス値を第1デバイス記憶部101から読み出し、読み出したデバイス値をコマンド送受信部104に出力する。
 コマンド処理部105は、読み出し対象指定テーブル103で、モニタ要求により指定されたデバイス値の読み出し対象として第2デバイス記憶部102が指定されている場合、次のようにデバイス値の読み出しを実行する。コマンド処理部105は、直ちにモニタ要求により指定されたデバイス値を第2デバイス記憶部102から読み出し、読み出したデバイス値をコマンド送受信部104に出力する。実施の形態において、第1デバイス記憶部101からデバイス値を読み出すのは、MPU160であり、第2デバイス記憶部102からデバイス値を読み出すのはMPU150である。コマンド処理部105の機能は、図1のMPU150及びMPU160により実現される。
 さらに、コマンド処理部105は、エンジニアリングツール500から読み出し対象指定テーブル103の更新を指示するコマンドを受信すると、当該コマンドに含まれている、デバイスの領域を特定する値と、当該領域におけるモニタ対象の範囲を示す開始番号及び終了番号と、指定された読み出し対象を特定する値と、に基づいて、読み出し対象指定テーブル103にデータを登録する。例えば、エンジニアリングツール500から、「X」の100番から250番の読み出し対象をスレーブとすることを指示するコマンドを受信した場合、コマンド処理部105は、図3に示す対象指定テーブル103に、「デバイス:X、開始番号:1、終了番号250、読み出し対象:第2デバイス記憶部」というデータを登録する。
 図2に示す書き込み制御部106は、実行部107からユーザプログラム1122のEND命令を実行した旨の通知を受けると、第1デバイス記憶部101のデバイス値を、第2デバイス記憶部102にコピーする。第1デバイス記憶部101のデバイス値は、次のスキャンタイムにおけるユーザプログラム1122の実行により上書きされるが、第2デバイス記憶部102には、前回のスキャンタイムにおけるデバイス値が保持されている。言い換えると、第2デバイス記憶部102には、第1デバイス記憶部101のデバイス値が退避されている。書き込み制御部106の機能は、図1のMPU160により実現される。
 図2に示す実行部107は、スキャンタイム毎にユーザプログラム1122を実行する。具体的には実行部107は、第1デバイス記憶部101に格納されている入力信号に応じて、ユーザプログラム1122の各命令を実行し、演算結果を第1デバイス記憶部101に格納する。実行部107はユーザプログラム1122の最後の命令であるEND命令を実行した後、書き込み制御部106に1スキャンが終了したことを通知する。この通知に応答して、書き込み制御部106は、第1デバイス記憶部101のデバイス値を第2デバイス記憶部102にコピーする。その後、実行部107はI/Oリフレッシュを行い、第1デバイス記憶部101のデバイス値を、入力ユニット200及び出力ユニット300と一括交換する。実行部107の機能は、図1のMPU160により実現される。
 図2に示すように、エンジニアリングツール500は、機能的には、デバイス値の読み出しに関する指示を受け付ける受付部501と、CPUユニット100からデバイス値を取得する取得処理部502と、CPUユニット100とコマンドを送受信するコマンド送受信部503とを有する。受付部501は、本発明の受付手段の一例である。取得処理部502は、本発明の取得処理手段の一例である。
 受付部501は、ユーザから、デバイス値の読み出しに関する指示を受け付ける。具体的には、受付部501は、ユーザから、デバイス値の読み出し対象をマスタにするか退避にするかを指定する指示を受け付ける。例えば、受付部501は図4に示すような画面を出力装置530に表示し、ユーザから読み出し対象の指定についての指示を受け付ける。この場合、受付部501は、デバイスの領域及び当該領域における範囲と、読み出し対象とについての指定をユーザから受け付ける。ユーザが図4に示す画面上で入力した内容に応じて、後述の取得処理部502がコマンド送受信部503を介して対象指定テーブル103の更新を指示するコマンドをCPUユニット100に送信する。
 さらに、受付部501は、ユーザから、指定されたデバイス値を読み出す指示を受け付ける。例えば、受付部501は図5Aに示すような画面を出力装置530に表示し、ユーザからデバイス値の読み出しについての指示を受け付ける。この場合、受付部501は、デバイスの領域及び当該領域における範囲の指定をユーザから受け付ける。ユーザが図5Aに示す画面上で入力した内容に応じて、後述の取得処理部502がコマンド送受信部503を介してモニタ要求をCPUユニット100に送信する。
 図2に示す取得処理部502は、受付部501が受け付けたユーザの指示に応じたコマンドをCPUユニット100に送信する。具体的には、取得処理部502は、受付部501がユーザから受け付けた読み出し対象の指定の指示に応じて、対象指定テーブル103の更新を指示するコマンドをコマンド送受信部503を介してCPUユニット100に送信する。当該コマンドには、デバイスの領域を特定する値と、当該領域におけるモニタ対象の範囲を示す開始番号及び終了番号と、指定された読み出し対象を特定する値とが含まれている。
 さらに、取得処理部502は、受付部501がユーザから受け付けたデバイスの読み出しの指示に応じて、指定されたデバイス値を読み出すことを要求するモニタ要求を生成し、モニタ要求をコマンド送受信部503に出力する。モニタ要求には、デバイスの領域を特定する値と、当該領域におけるモニタ対象の範囲を示す開始番号及び終了番号とが含まれている。
 また、取得処理部502は、コマンド送受信部503がCPUユニット100から受信したモニタ応答に含まれるデバイス値を取得し、図1に示すメモリ510に格納する。前述のように、モニタ応答には、モニタ要求で指定された順序で読み出されたデバイス値が含まれている。さらに、取得処理部502は図5Bに示すようにモニタ応答に含まれるデバイス値を表示する画面を出力装置530に表示してもよい。上述した取得処理部502の機能は、図1の演算装置550がモニタ用プログラム512、設定用プログラム511を実行することにより実現される。
 図2に示すコマンド送受信部503は、取得処理部502から出力された対象指定テーブル103の更新を指示するコマンドをCPUユニット100に送信する。さらに、コマンド送受信部503は、取得処理部502から出力されたモニタ要求をCPUユニット100に送信する。また、コマンド送受信部503は、CPUユニット100から受信したモニタ応答を取得処理部502に出力する。コマンド送受信部503の機能は、図1の通信インタフェース540と、演算装置550とにより実現される。
 上述したように、読み出し対象指定テーブル103において、モニタ要求により指定されたデバイス値の読み出し対象が指定されている。このため、デバイスのモニタに先立って、読み出し対象指定テーブル103にデバイス値の読み出し対象を指定するデータが登録されている必要がある。
 以下、ユーザがエンジニアリングツール500を使用してCPUユニット100の読み出し対象指定テーブル103に読み出し対象を指定するデータを登録する方法を説明する。ユーザは、図1に示すように、エンジニアリングツール500とCPUユニット100とを通信ケーブル509を介して相互に接続した状態で、キーボード、マウス等の入力装置520を操作して、設定用プログラム511を起動する。演算装置550は、ユーザの操作に応答して設定用プログラム511を実行し、以下の機能を実現する。
 演算装置550は、CPUユニット100に対してデバイス設定1121のデータの提供を要求する。これに応答して、CPUユニット100がデバイス設定1121のデータをエンジニアリングツール500に送信したものとする。デバイス設定1121のデータとして、入力信号の値が格納されている領域を示すデバイス名「X」と、出力信号の値が格納されている領域を示すデバイス名「Y」と、その他の値が格納されている領域を示すデバイス名「D」と、それぞれの領域のサイズを示す先頭番号及び末尾番号と、が送信されたものとする。
 演算装置550は、CPUユニット100から提供されたデバイス設定1121のデータに基づいて、図4に示すような読み出し対象の指定画面を出力装置530に表示する。ユーザは、図示する画面上において、キーボード、マウス等の入力装置520を操作して、デバイスとして、「X」、「Y」、「D」から任意のものを選択できる。また、ユーザは、それぞれのデバイスにおける範囲を指定するため開始番号と終了番号とを入力できる。ユーザは読み出し対象として「マスタ」又は「退避」を選択できる。ここで、「マスタ」は第1デバイス記憶部101を指し、「退避」は第2デバイス記憶部102を指す。
 ユーザが入力を終え、「登録」ボタンを押したとする。従って、演算装置550は読み出し対象指定テーブル103の更新を指示するコマンドをCPUユニット100に送信する。当該コマンドには、ユーザが入力した更新内容を示すデータが含まれている。これに応答して、CPUユニット100は受信したデータで、読み出し対象指定テーブル103を更新する。なお、ユーザは、エンジニアリングツール500を使用して読み出し対象指定テーブル103のデータを必要に応じて更新できる。読み出し対象指定テーブル103のデータが更新されると、CPUユニット100は、更新後の読み出し対象指定テーブル103が指定する読み出し対象からデバイス値を読み出す。
 続いて、ユーザがエンジニアリングツール500を使用してCPUユニット100のデバイス値をモニタする方法を説明する。ユーザは、図1に示すように、エンジニアリングツール500とCPUユニット100とを通信ケーブル509を介して相互に接続した状態で、キーボード、マウス等の入力装置520を操作して、モニタ用プログラム512を起動する。演算装置550は、ユーザの操作に応答してモニタ用プログラム512を実行し、以下の機能を実現する。
 演算装置550は、図5Aに示すようなデバイスモニタの入力画面を出力装置530に表示する。ユーザが、図示する画面上において、キーボード、マウス等の入力装置520を操作して、モニタしたいデバイスと範囲を示す開始番号及び終了番号とを入力し、「送信」ボタンを押したとする。従って、演算装置550は、指定されたデバイスと開始番号及び終了番号とを含むモニタ要求をCPUユニット100に送信する。これに応答して、CPUユニット100は、モニタ要求により指定されたデバイス値を読み出し、読み出したデバイス値を含むモニタ応答をエンジニアリングツール500に送信する。
 演算装置550は、CPUユニット100からモニタ応答を受信すると、図5Bに示すようなデバイスモニタの結果画面を出力装置530に表示する。図示する例では、演算装置550は、各デバイス値が何番目のデータであるかを示す番号を併せて表示する。例えば、CPUユニット100は、「X100」から「X150」のデバイス値を、指定された順序で読み出し、読み出したデバイス値をエンジニアリングツール500に送信する。演算装置550は、CPUユニット100から受信したデバイス値とともに、ユーザが入力した開始番号及び終了番号に基づいて、各デバイス値が「X」の領域における何番目のデータであるかを示すデバイスの番号を併せて表示している。
 次に、CPUユニット100が、エンジニアリングツール500からモニタ要求を受け付けた場合に、モニタ応答をエンジニアリングツール500に返す処理(モニタ応答処理)を説明する。以下の処理はMPU150が、図1に示すモニタ応答プログラム1123を実行することで実現される。一方、MPU160は、ユーザプログラム1122をスキャンタイム毎に実行しているものとする。
 図6に示すように、MPU150は、エンジニアリングツール500からモニタ要求を受信したか否かを判別する(ステップS11)。MPU150は、モニタ要求を受信したと判別すると(ステップS11;Yes)、モニタ要求により指定されたデバイス値の読み出し対象を、読み出し対象指定テーブル103に基づいて判別する(ステップS12)。一方、モニタ要求をエンジニアリングツール500から受信していない場合(ステップS11;No)、一定時間待機してから、再びステップS11の処理を実行する。
 読み出し対象が第1デバイス記憶部101を含むと判別されると(ステップS13;Yes)、MPU160がユーザプログラム1122のEND命令を実行した後(ステップS14;Yes)、MPU150及びMPU160は協働して指定されたデバイス値を読み出す(ステップS15)。
 具体的には、ステップS13で、MPU150は、読み出し対象指定テーブル103で読み出し対象として第1デバイス記憶部101が指定されているデバイス値については、MPU160にデバイス値の読み出しの要求を出す。MPU160は、END命令を実行した後、MPU160から読み出しの要求を受信したか否かを判別する。MPU160は、ステップS14でEND命令を実行した後、読み出しの要求をMPU150から受信したと判別すると、ステップS15で、指定されたデバイス値を第1デバイス記憶部101から読み出す。MPU160は第1デバイス記憶部101から読み出したデバイス値をMPU150に送信する。
 また、MPU150は、読み出し対象指定テーブル103で読み出し対象として第2デバイス記憶部102が指定されているデバイス値については、第2デバイス記憶部102からデバイス値を読み出す。なお、読み出し対象が第1デバイス記憶部101だけである場合、MPU150は第2デバイス記憶部102からデバイス値を読み出す必要はない。
 MPU150は、デバイス値をエンジニアリングツール500に送信する(ステップS16)。読み出し対象として第1デバイス記憶部101と第2デバイス記憶部102とを含む場合には、MPU150は、MPU160から受信した第1デバイス記憶部101のデバイス値と、MPU150が読み出した第2デバイス記憶部102のデバイス値とをエンジニアリングツール500に送信する。読み出し対象が第1デバイス記憶部101だけである場合、MPU150は、MPU160から受信した第1デバイス記憶部101のデバイス値をエンジニアリングツール500に送信する。
 一方、ステップS13において、読み出し対象が第1デバイス記憶部101を含まないと判別すると、(ステップS13;No)、即ち、読み出し対象が第2デバイス記憶部102のみである場合、MPU150は、第2デバイス記憶部102から指定されたデバイス値を読み出し(ステップS17)、読み出したデバイス値をエンジニアリングツール500に送信する(ステップS18)。具体的には、MPU150は読み出したデバイス値を含む応答コマンドをエンジニアリングツール500に送信する。
 以上説明したように、実施の形態においては、エンジニアリングツール500から要求されたデバイス値が、読み出し対象指定テーブル103で第2デバイス記憶部102から読み出すことが指定されている場合、CPUユニット100は、即時に第2デバイス記憶部102に格納されているデバイス値をエンジニアリングツール500に返す。よって、ユーザが読み出し対象として第2デバイス記憶部102を指定したデバイス値については、CPUユニット100のスキャンタイムに依存せず読み出すことが可能である。エンジニアリングツール500は、モニタ応答を受信するまで長時間待たされることがない。これにより、エンジニアリングツール500の操作性が向上する。
 一方、読み出し対象指定テーブル103でエンジニアリングツール500から要求されたデバイス値を第1デバイス記憶部101から読み出すことが指定されている場合、CPUユニット100は、従来と同様に、スキャンタイム毎に第1デバイス記憶部101に格納されているデバイス値をエンジニアリングツール500に返す。
 ユーザプログラムの実行中に値が変わらないデバイス値については、読み出し対象を第2デバイス記憶部102と指定することで、ユーザは、デバイス値をモニタするため長時間待つ必要がない。このような場合に、実施の形態に係る構成は特に効果的である。
 あるいは、複数のCPUユニット100のデバイスをモニタする場合に、スキャンタイムが長いCPUユニット100については、読み出し対象を第2デバイス記憶部102とし、スキャンタイムが短いCPUユニット100については、読み出し対象を第1デバイス記憶部101とすることもできる。
 なお、図6のステップS13において、読み出し対象が第1デバイス記憶部101と第2デバイス記憶部102とを含む場合には、スキャンタイム毎にデバイス値がエンジニアリングツール500に返されることになる。このため、第2デバイス記憶部102のデバイス値の応答も遅くなってしまう。例えば、以下のような方法でこのような状況が発生するのを防止できる。エンジニアリングツール500のメモリ510に、CPUユニット100の読み出し対象指定テーブル103に登録された内容と同じデータを記憶しておく。例えば、図5Aに示すデバイスモニタの入力画面で、ユーザが指定したデバイス値の読み出し対象が第1デバイス記憶部101と第2デバイス記憶部102とを含む場合には、演算装置550は、画面上に応答が遅くなることを警告するメッセージを表示するようにしてもよい。
(変形例1)
 上記の実施の形態においては、CPUユニット100の読み出し対象指定テーブル103にデバイス値の読み出し対象を予め設定しておく例を説明したが、読み出し対象の指定方法はこれに限られない。
 エンジニアリングツール500は、読み出し対象を指定する情報を含むモニタ要求をCPUユニット100に送信してもよい。受付部501は、読み出し対象のデバイスの領域と、当該領域における範囲と、読み出し対象とについての指定とをユーザから受け付ける。例えば、受付部501は、図7に示すようにデバイスモニタの入力画面で、読み出し対象を指定できるようにしてもよい。
 この場合、図2に示す取得処理部502は、受付部501が受け付けたユーザの指示に応じたモニタ要求を生成し、生成したモニタ要求をコマンド送受信部503を介してCPUユニット100に送信する。モニタ要求には、デバイスの領域を特定する値と、当該領域におけるモニタ対象の範囲を示す開始番号及び終了番号と、指定された読み出し対象を特定する値とが含まれている。CPUユニット100は、モニタ要求により指定された読み出し対象から指定されたデバイス値を読み出し、読み出したデバイス値を含むモニタ応答をエンジニアリングツール500に送信する。上記のような構成の場合、読み出し対象指定テーブル103に読み出し対象を登録しておく必要がない。
 変形例1に係る構成においても、実施の形態と同様に、ユーザが読み出し対象として第2デバイス記憶部102を指定したデバイス値については、CPUユニット100からエンジニアリングツール500に即時に返されるため、外部機器の操作性が向上する。
(変形例2)
 実施の形態においては、CPUユニット100が2つのMPU150、160を有し、MPU150がモニタ応答に係る処理を実行し、MPU160がユーザプログラム1122を実行した。この場合、2つのMPUで分散して処理を行うので各MPUの処理負荷を抑えることができる。しかしながら、CPUユニット100は2つのMPUを有していなくてもよい。
 図8に示すように、CPUユニット100は1つのみのMPU150を有していてもよい。CPUユニット100はMPUを1つだけ有するので、MPUを2つ有する場合に比べコストを低減できる。この場合、MPU150が、図2に示すコマンド処理部105、書き込み制御部106の双方の機能を実現する。
(変形例3)
 実施の形態においては、図1に示すように第1デバイス記憶部101を揮発性メモリ111により実現し、第2デバイス記憶部102を不揮発性メモリ112により実現する例を説明した。この場合、例えば、停電により、CPUユニット100への電源供給が遮断された場合には以下のようなメリットがある。
 停電によりCPUユニット100の電源供給が遮断されると、第1デバイス記憶部101に記憶されたデータは保持されないが、第2デバイス記憶部102に記憶されたデータは保持されている。この場合、図2に示す実行部107は、第2デバイス記憶部102に記憶されたデバイス値を使用して、ユーザプログラム1122を実行すればよい。第2デバイス記憶部102には、停電が起きる前に完了したスキャンタイムにおけるデバイス値が格納されているため、被制御機器902を途中工程から復帰できるというメリットがある。
 あるいは、第2デバイス記憶部102のアクセス速度が遅い場合、書き込み制御部106が、第2デバイス記憶部102に記憶されたデバイス値を第1デバイス記憶部101にコピーしてもよい。同一のCPUユニット100内におけるメモリ間のデータのコピーであるため、データ転送に時間を要しない。その後、実行部107は、第1デバイス記憶部101に記憶されたデバイス値を使用して、ユーザプログラム1122を実行すればよい。この場合、第1デバイス記憶部101に、停電が起きる前に完了したスキャンタイムにおけるデバイス値がコピーされるため、被制御機器902を途中工程から復帰できるというメリットがある。
 また、実施の形態において、コマンド処理部105は、読み出し対象指定テーブル103に読み出し対象が指定されていない場合は、デフォルトの読み出し対象からデバイス値を読み出した。このような構成を備えることで、次のような利点がある。例えば、第1デバイス記憶部101をデフォルトの読み出し対象とした場合、読み出し対象が第1デバイス記憶部101のデバイス値については読み出し対象指定テーブル103に登録する必要はない。ユーザは読み出し対象指定テーブル103に読み出し対象として第2デバイス記憶部102を指定するデバイスとその範囲だけを指定すればよい。
 実施の形態においては、第1デバイス記憶部101のデバイス値がすべて第2デバイス記憶部102にコピーされる例を説明したが、これに限られない。第1デバイス記憶部101のデバイス値のうち指定された範囲のデバイス値のみを第2デバイス記憶部102にコピーするようにしてもよい。
 実施の形態においては、第2デバイス記憶部102を、不揮発性メモリ112により実現する例を説明したが、第2デバイス記憶部102は揮発性のメモリにより実現されてもよい。この場合も、CPUユニット100は、第2デバイス記憶部102を読み出し対象とするよう指定されたデバイス値については、即時にエンジニアリングツール500に返す。よって、外部機器の操作性を向上することができる。また、第1デバイス記憶部101は、十分なアクセス速度が保証されるのならば、揮発性のメモリではなく、不揮発性のメモリにより実現されてもよい。この場合、CPUユニット100への電源供給が遮断されたとしても、第1デバイス記憶部101のデバイス値は保持される。
 実施の形態においては、デバイスメモリをモニタするための外部機器として、エンジニアリングツール500を例に説明したが、外部機器は、プログラマブル表示器であってもよいし、あるいは、CPUユニット100と通信可能な他の情報処理装置であってもよい。
 上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
 本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
1 プログラマブルロジックコントローラ、100 CPUユニット、101 第1デバイス記憶部、102 第2デバイス記憶部、103 読み出し対象指定テーブル、104,503 コマンド送受信部、105 コマンド処理部、106 書き込み制御部、107 実行部、110,510 メモリ、111 揮発性メモリ、112 不揮発性メモリ、120 入出力インタフェース、130 ツールインタフェース、140,550 演算装置、150,160 MPU、190,590 バス、200 入力ユニット、300 出力ユニット、400 ベースユニット、410 共有バス、500 エンジニアリングツール、501 受付部、502 取得処理部、509 通信ケーブル、511 設定用プログラム、512 モニタ用プログラム、520 入力装置、530 出力装置、540 通信インタフェース、901 検出器、902 被制御機器、1121 デバイス設定、1122 ユーザプログラム、1123 モニタ応答プログラム

Claims (11)

  1.  設定された周期毎にプログラムを繰り返し実行するプログラマブルロジックコントローラであって、
     前記プログラムの入力値及び出力値であるデバイス値を記憶するデバイス記憶手段と、
     前回の周期において前記デバイス記憶手段が記憶していた前記デバイス値を記憶する退避データ記憶手段と、
     外部機器から前記デバイス値の読み出し要求を受け付けると、前記読み出し要求において指定されたデバイスについて予め設定された読み出し対象が前記デバイス記憶手段である場合、その周期における前記プログラムの実行が完了した後に前記デバイス記憶手段が記憶する前記デバイス値を読み出し、前記指定されたデバイスについて予め設定された前記読み出し対象が前記退避データ記憶手段である場合、直ちに前記退避データ記憶手段が記憶する前記デバイス値を読み出すコマンド処理手段と、
     前記コマンド処理手段が読み出した前記デバイス値を前記外部機器に送信する送信手段と、
     を備えるプログラマブルロジックコントローラ。
  2.  前記デバイス記憶手段が記憶する前記デバイス値を、前記退避データ記憶手段に書き込む書き込み制御手段、
     をさらに備える、
     請求項1に記載のプログラマブルロジックコントローラ。
  3.  前記書き込み制御手段は、前回の周期における前記プログラムの実行が完了したときに、前記デバイス記憶手段が記憶しており、確定した前記デバイス値を前記退避データ記憶手段に書き込む、
     請求項2に記載のプログラマブルロジックコントローラ。
  4.  前記プログラマブルロジックコントローラが前記プログラムの最後の命令を実行したときに、当該周期における前記プログラムの実行が完了し、
     前回の周期における前記プログラムの実行が完了したときに、前記デバイス記憶手段が記憶している前記確定した前記デバイス値は、前記プログラマブルロジックコントローラが前回の周期において前記プログラムの前記最後の命令を実行した後に、前記デバイス記憶手段が記憶している前記デバイス値である、
     請求項3に記載のプログラマブルロジックコントローラ。
  5.  前記読み出し要求は、前記デバイス記憶手段又は前記退避データ記憶手段のうち前記読み出し対象となる記憶手段を指定する情報を含み、
     前記コマンド処理手段は、前記読み出し要求で指定された記憶手段を前記読み出し対象として判別する、
     請求項1から4のいずれか1項に記載のプログラマブルロジックコントローラ。
  6.  前記デバイス値について予め設定された前記読み出し対象として前記デバイス記憶手段又は前記退避データ記憶手段を指定する設定情報記憶手段、
     をさらに備え、
     前記コマンド処理手段は、前記読み出し要求で指定された前記デバイス値について、前記設定情報記憶手段で指定された記憶手段を前記読み出し対象として判別する、
     請求項1から4のいずれか1項に記載のプログラマブルロジックコントローラ。
  7.  前記設定情報記憶手段は、指定された範囲毎に前記デバイス値の読み出し対象を指定する、
     請求項6に記載のプログラマブルロジックコントローラ。
  8.  前記退避データ記憶手段は、不揮発性のメモリを含む、
     請求項1から7のいずれか1項に記載のプログラマブルロジックコントローラ。
  9.  請求項1から5のいずれか1項に記載のプログラマブルロジックコントローラに接続され、前記デバイス値を読み出す前記外部機器であって、
     前記デバイス値の読み出しに関する指示を受け付ける受付手段と、
     前記受付手段が受け付けた指示に応じたコマンドを前記プログラマブルロジックコントローラに送信する取得処理手段と、
     を備え、
     前記取得処理手段は、
     前記受付手段が、指定された前記デバイス値について前記読み出し対象として前記デバイス記憶手段を指定する指示を受け付けた場合、前記指定されたデバイスについて前記読み出し対象として前記デバイス記憶手段を指定する指示を示すコマンドを前記プログラマブルロジックコントローラに送信し、
     前記受付手段が、前記指定された前記デバイス値について前記読み出し対象として前記退避データ記憶手段を指定する指示を受け付けた場合、前記読み出し対象として前記退避データ記憶手段を指定する指示を示すコマンドを前記プログラマブルロジックコントローラに送信し、
     前記読み出し要求に対する応答として、前記プログラマブルロジックコントローラから前記デバイス値を受信する、
     外部機器。
  10.  設定された周期毎にプログラムを繰り返し実行するプログラマブルロジックコントローラが実行する方法であって、
     外部機器から受け付けたデバイス値の読み出し要求において指定されたデバイスについて、今回の周期における前記デバイス値を読み出し対象とすることが設定されている場合、その周期における前記プログラムの実行が完了した後に前記デバイス値を前記外部機器に送信し、前記指定されたデバイスについて、前回の周期における前記デバイス値を読み出し対象とすることが設定されている場合、直ちに前回の周期における前記デバイス値を前記外部機器に送信するステップ、
     を含む方法。
  11.  設定された周期毎にプログラムを繰り返し実行するプログラマブルロジックコントローラに、
     デバイス記憶手段に、前記プログラムの入力値及び出力値であるデバイス値を記憶させ、
     退避データ記憶手段に、前回の周期において前記デバイス記憶手段が記憶していた前記デバイス値を記憶させ、
     外部機器から受け付けた前記デバイス値の読み出し要求において指定されたデバイスについて、前記デバイス記憶手段又は前記退避データ記憶手段のうち予め設定された読み出し対象から前記デバイス値を読み出させ、
     前記デバイス値を前記外部機器に送信させる、
     プログラム。
PCT/JP2018/038262 2018-10-15 2018-10-15 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム WO2020079720A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US17/265,212 US11467990B2 (en) 2018-10-15 2018-10-15 Programmable logic controller, external apparatus, method, and recording medium
DE112018007978.3T DE112018007978T5 (de) 2018-10-15 2018-10-15 Programmierbare Logiksteuerung, externes Gerät, Verfahren und Programm
JP2019519774A JP6563155B1 (ja) 2018-10-15 2018-10-15 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム
CN201880098607.4A CN112840278B (zh) 2018-10-15 2018-10-15 可编程逻辑控制器、外部仪器、方法及程序
PCT/JP2018/038262 WO2020079720A1 (ja) 2018-10-15 2018-10-15 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム
TW108116835A TWI684079B (zh) 2018-10-15 2019-05-16 可程式邏輯控制器、外部機器、方法、及程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/038262 WO2020079720A1 (ja) 2018-10-15 2018-10-15 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2020079720A1 true WO2020079720A1 (ja) 2020-04-23

Family

ID=67692147

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/038262 WO2020079720A1 (ja) 2018-10-15 2018-10-15 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム

Country Status (6)

Country Link
US (1) US11467990B2 (ja)
JP (1) JP6563155B1 (ja)
CN (1) CN112840278B (ja)
DE (1) DE112018007978T5 (ja)
TW (1) TWI684079B (ja)
WO (1) WO2020079720A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282319A (ja) * 2000-03-30 2001-10-12 Toyoda Mach Works Ltd プログラマブルコントローラ
JP2004272629A (ja) * 2003-03-10 2004-09-30 Omron Corp プログラマブルコントローラ用機器並びにプログラマブルコントローラ用機器におけるプログラム更新方法並びにプログラム起動方法
JP2007280377A (ja) * 2006-03-15 2007-10-25 Omron Corp Plcシステム
JP2015141648A (ja) * 2014-01-30 2015-08-03 三菱電機株式会社 プログラマブルコントローラ

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0522055T3 (da) 1990-03-22 1997-10-27 Schneider Automation Apparat til tilslutning af programmErbare logiske styreenheder til værtscomputere via netværk
JP4043742B2 (ja) 2001-09-10 2008-02-06 株式会社デジタル ラダーモニタ装置、並びに、そのプログラムおよび記録媒体
JP2004199670A (ja) 2002-12-04 2004-07-15 Omron Corp データ収集装置及びデータ収集システム
JP5224923B2 (ja) 2008-06-13 2013-07-03 三菱電機株式会社 制御装置
CN102713774B (zh) 2010-01-20 2015-05-13 三菱电机株式会社 可编程控制器系统及开发系统
JP2012108901A (ja) 2010-10-29 2012-06-07 Sanin Seigyo Corp 混注作業支援装置
CN103314334B (zh) 2011-01-21 2016-03-02 三菱电机株式会社 模拟输入单元以及可编程控制器
JP4894961B1 (ja) 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US8504176B2 (en) * 2011-03-15 2013-08-06 Omron Corporation CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
TWI481979B (zh) 2011-11-08 2015-04-21 Inst Information Industry Programmable logic controller drive system, method and recording media
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
KR102097637B1 (ko) * 2013-10-21 2020-04-06 엘지전자 주식회사 이동 단말기의 제어 장치 및 그 방법
WO2015140910A1 (ja) * 2014-03-17 2015-09-24 三菱電機株式会社 プログラマブルロジックコントローラ
JP6347055B2 (ja) * 2014-03-28 2018-06-27 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
JP6535459B2 (ja) 2014-12-08 2019-06-26 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP6626315B2 (ja) 2015-10-21 2019-12-25 株式会社キーエンス プログラマブル・ロジック・コントローラのモニタ装置及びプログラマブル・ロジック・コントローラ・システム
JP6870234B2 (ja) * 2016-08-02 2021-05-12 富士電機株式会社 制御装置、制御システム及び制御方法
US20180071515A1 (en) * 2016-09-10 2018-03-15 Boston Scientific Neuromodulation Corporation Pulse Definition Circuitry for Creating Stimulation Waveforms in an Implantable Pulse Generator
JP2018120327A (ja) 2017-01-24 2018-08-02 オムロン株式会社 制御装置、制御プログラムおよび制御システム
JP6601433B2 (ja) 2017-02-08 2019-11-06 横河電機株式会社 イベント解析装置、イベント解析システム、イベント解析方法、イベント解析プログラム及び記録媒体
US10901394B2 (en) 2017-02-28 2021-01-26 Sap Se Manufacturing process data collection and analytics
KR102016629B1 (ko) * 2018-01-18 2019-08-30 미쓰비시덴키 가부시키가이샤 Plc, 네트워크 유닛, cpu 유닛, 및 데이터 전송 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282319A (ja) * 2000-03-30 2001-10-12 Toyoda Mach Works Ltd プログラマブルコントローラ
JP2004272629A (ja) * 2003-03-10 2004-09-30 Omron Corp プログラマブルコントローラ用機器並びにプログラマブルコントローラ用機器におけるプログラム更新方法並びにプログラム起動方法
JP2007280377A (ja) * 2006-03-15 2007-10-25 Omron Corp Plcシステム
JP2015141648A (ja) * 2014-01-30 2015-08-03 三菱電機株式会社 プログラマブルコントローラ

Also Published As

Publication number Publication date
DE112018007978T5 (de) 2021-05-20
CN112840278A (zh) 2021-05-25
JPWO2020079720A1 (ja) 2021-02-15
JP6563155B1 (ja) 2019-08-21
CN112840278B (zh) 2022-05-10
TWI684079B (zh) 2020-02-01
US20210303487A1 (en) 2021-09-30
US11467990B2 (en) 2022-10-11
TW202016664A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
US8700935B2 (en) Power supply unit configured to not control a power supply from reducing the power state to a mirroring unit and storage units during a rebuild operation even when such power reducing state is satisfied
TW201905713A (zh) 用於記憶體系統之控制器
US8346378B2 (en) Programmable controller
JP6180450B2 (ja) 制御装置、制御装置の制御方法及びプログラム
US20200334145A1 (en) Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection
US9612781B2 (en) Printing system and information processing apparatus, method, and program for controlling job transmission based on authentication setting of an image forming apparatus
JP2011130215A (ja) データ処理装置およびその制御方法
JP6680741B2 (ja) 数値制御装置
WO2020079720A1 (ja) プログラマブルロジックコントローラ、外部機器、方法、及びプログラム
JP2002318780A (ja) リアルタイム制御システム
JP2008226111A (ja) 2重化コントローラシステム、その稼動系コントローラ
JP2017059051A (ja) 情報処理装置及びその制御方法、並びにプログラム
EP3428799B1 (en) Data access device and access error notification method
JP6701440B2 (ja) リモートコントローラ、遠隔制御方法、及び、プログラム
KR102280241B1 (ko) 메모리 액세스 제어 시스템, 메모리 액세스 제어 장치 및 이를 이용한 메모리 액세스 제어 방법
WO2023166691A1 (ja) 産業機械の制御装置
JP3977694B2 (ja) リセット装置
JP4968224B2 (ja) 画像読取装置
WO2020065863A1 (ja) プログラマブルロジックコントローラ、方法、及びプログラム
JP6415633B2 (ja) 情報処理装置及びその制御方法
JP4689189B2 (ja) 情報処理装置
JP2023021707A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JPS60685B2 (ja) オンラインメンテナンス装置
JP2006190218A (ja) 印刷システムおよび印刷方法
JP2020140562A (ja) 省電力モードに移行可能な記憶装置を備える情報処理装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019519774

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: 18937047

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18937047

Country of ref document: EP

Kind code of ref document: A1