WO2019198221A1 - データ処理装置、データ処理方法及びプログラム - Google Patents

データ処理装置、データ処理方法及びプログラム Download PDF

Info

Publication number
WO2019198221A1
WO2019198221A1 PCT/JP2018/015473 JP2018015473W WO2019198221A1 WO 2019198221 A1 WO2019198221 A1 WO 2019198221A1 JP 2018015473 W JP2018015473 W JP 2018015473W WO 2019198221 A1 WO2019198221 A1 WO 2019198221A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
data
partial
unit
flow
Prior art date
Application number
PCT/JP2018/015473
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 JP2019559126A priority Critical patent/JPWO2019198221A1/ja
Priority to DE112018007472.2T priority patent/DE112018007472T5/de
Priority to CN201880092143.6A priority patent/CN111954866A/zh
Priority to PCT/JP2018/015473 priority patent/WO2019198221A1/ja
Priority to US17/045,995 priority patent/US20210041859A1/en
Priority to TW108111601A priority patent/TW201944341A/zh
Publication of WO2019198221A1 publication Critical patent/WO2019198221A1/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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by programme execution
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • 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 data processing device, a data processing method, and a program.
  • Patent Document 1 discloses a configuration in which a computer connected to a machine includes base software and work software.
  • the base software is installed in the computer and relays data transmitted between the newly installed work software and the machine. Thereby, the processing content of the data by the computer can be changed by installing new work software.
  • Patent Document 1 In recent years, the amount of data collected in a facility has increased, and the use of processing results has been diverse. Therefore, there are many cases where processing flows that combine various processes are applied to data.
  • one piece of work software obtains information from a machine, specifies an output destination machine, and outputs instruction information. For this reason, in order to change the processing flow that combines various processes applied to data, it is necessary to prepare work software that realizes the changed processing flow with one software each time, and the preparation work is complicated. It was.
  • the present invention has been made in view of the above circumstances, and an object thereof is to simply apply a processing flow in which various processes are combined to data.
  • a data processing apparatus is a data processing apparatus connected to a device, wherein communication means for communicating with the device, and setting of a processing flow applied to data received by the communication means The data received by the communication means to one of the receiving means for receiving the data and one or a plurality of processing means for executing the partial processes constituting the processing flow, and one or more in the order corresponding to the processing flow Control means for causing a plurality of processing means to execute partial processing and sending out processing results obtained by the execution.
  • the data processing apparatus causes one or a plurality of processing units that execute the partial processes constituting the processing flow to execute the partial processes in the order corresponding to the set processing flow. For this reason, various process flows can be executed by changing the execution order of the partial processes. Therefore, a processing flow combining various processes can be easily performed on the data.
  • FIG. 1 is a block diagram of a data processing system according to a first embodiment of the present invention.
  • the figure which shows an example of the management information which concerns on Embodiment 1 The figure which shows the 1st example of the input screen which concerns on Embodiment 1
  • the figure which shows the 2nd example of the input screen which concerns on Embodiment 1 The figure which shows an example of the condition table which concerns on Embodiment 1.
  • the figure which shows the 1st example of the intermediate information which concerns on Embodiment 1 The figure which shows the 2nd example of the intermediate information which concerns on Embodiment 1
  • the figure which shows the processing flow which concerns on a modification The 1st figure which shows the functional structure of the data processor which concerns on a modification 2nd figure which shows the functional structure of the data processor which concerns on a modification.
  • a data processing system 1000 is a system that processes data transmitted from a device.
  • the data processing system 1000 is installed in a factory as a product production system. Data processing by the data processing system 1000 is executed to realize, for example, detection of defective products and exclusion from the manufacturing process, material classification, or abnormality monitoring.
  • the data processing system 1000 allows a user to easily design the content of processing to be performed on data.
  • the data processing system 1000 includes devices 21, 22, 23 that operate in a product manufacturing process, and a data processing device 10 that processes data transmitted from the devices 21, 22, 23. Have.
  • the data processing apparatus 10 is connected to the devices 21 and 22 via the network 41, and communicates with each other by transmitting and receiving signals to and from the devices 21 and 22.
  • the data processing apparatus 10 is connected to the device 23 via the network 43 and communicates with each other by transmitting and receiving signals to and from the device 23.
  • the network 41 and the network 43 are industrial networks of different standards.
  • the networks 41 and 43 may be dedicated lines for realizing serial communication.
  • the device 21 has a sensor 21a used in the product manufacturing process.
  • the sensor 21a is, for example, an optical sensor, a pressure sensor, an ultrasonic sensor, or other detectors.
  • the device 21 repeatedly transmits data including the sensing result of the sensor 21 a to the data processing device 10 at a cycle specified by the data processing device 10. This period is, for example, 10 ms, 100 ms, or 1 sec.
  • the device 22 is an actuator or a robot used in a product manufacturing process.
  • the device 22 operates according to the data processing result by the data processing apparatus 10. Specifically, when the device 22 receives from the data processing device 10 an operation command that instructs one of operation mode designation, operation start, and operation stop as a data processing result, the operation state is changed according to the operation command. To do.
  • the device 23 is connected to a sensor 23a used in a product manufacturing process.
  • the device 23 acquires a sensing result from the sensor 23a from the sensor 23a, and repeatedly transmits data including the sensing result to the data processing device 10 at a cycle specified by the data processing device 10.
  • the data transmission path 40 connecting the data processing apparatus 10 and the device 20 is not limited to a wired communication transmission path such as the network 41 and the network 43, and may be a transmission path for wireless communication.
  • the device 20 is not limited to any one of a device that transmits data including a sensing result and a device that operates in accordance with an operation command from the data processing device 10.
  • the device 20 may be a device that transmits data to the data processing device 10 and operates in accordance with an operation command from the data processing device 10.
  • the data processing device 10 is a PLC or an industrial personal computer, and is an FA (Factory Automation) device that performs preset processing on data collected from the device 20 and outputs a processing result.
  • the data processing apparatus 10 transmits an operation command to the device 20 as an output of the processing result, but is not limited thereto, and quality control information obtained by analyzing or processing the data may be presented to the user. Quality control information may be stored in the device 10 itself or in an external server device.
  • the data processing device 10 includes a processor 11, a main storage unit 12, an auxiliary storage unit 13, an input unit 14, an output unit 15, and a communication unit 16 as illustrated in FIG. 2.
  • a computer device having The main storage unit 12, auxiliary storage unit 13, input unit 14, output unit 15, and communication unit 16 are all connected to the processor 11 via the internal bus 17.
  • the processor 11 includes an MPU (Micro Processing Unit).
  • the processor 11 implements various functions of the data processing apparatus 10 by executing the program P1 stored in the auxiliary storage unit 13, and executes processing described later.
  • the main storage unit 12 includes a RAM (Random Access Memory).
  • the main storage unit 12 is loaded with the program P1 from the auxiliary storage unit 13.
  • the main storage unit 12 is used as a work area for the processor 11.
  • the auxiliary storage unit 13 includes a nonvolatile memory represented by EEPROM (ElectricallyrErasable Programmable Read-Only Memory).
  • the auxiliary storage unit 13 stores various data used for the processing of the processor 11 in addition to the program P1.
  • the auxiliary storage unit 13 supplies data used by the processor 11 to the processor 11 according to an instruction from the processor 11 and stores the data supplied from the processor 11.
  • one program P1 stored in the auxiliary storage unit 13 is representatively shown, but the program P1 may be a plurality of programs.
  • the program P1 may include a program preset in the data processing device 10 and a program added by the user of the data processing device 10.
  • the input unit 14 includes input devices represented by input keys and pointing devices.
  • the input unit 14 acquires information input by the user of the data processing device 10 and notifies the processor 11 of the acquired information.
  • the output unit 15 includes an output device represented by an LCD (Liquid Crystal Display) and a speaker.
  • the output unit 15 presents various information to the user in accordance with instructions from the processor 11.
  • the communication unit 16 includes a network interface circuit for communicating with the external device 20.
  • the communication unit 16 receives a signal from the device 20 and outputs data indicated by the signal to the processor 11. Further, the communication unit 16 transmits a signal indicating the data output from the processor 11 to the device 20.
  • the data processing apparatus 10 executes the process of the flow set by the user by cooperation of the hardware configuration shown in FIG.
  • the processing flow set in the data processing apparatus 10 is achieved by executing a plurality of partial processes 701 to 710 in a preset order as illustrated in FIG.
  • an arrow heading from the partial process 701 to the partial process 703 means that data obtained by the partial process “data reception from the device 1” is targeted for “scaling”. Arrows correspond to at least one of input and output data of the partial processes 701 to 710, and data labels are attached to the input / output data.
  • the partial processing 703 receives data input with the data label “# 1” and outputs data with the data label “# 3”. This data label is used to identify input / output data for partial processing in the processing flow, and does not identify the data itself.
  • the data label “# 3” is attached to all data repeatedly output from the partial processing 703.
  • the data label may be arbitrarily set by the user or may be allocated by the data processing device 10. Note that “device 1”, “device 2”, and “device 3” in FIG. 3 are label names given to the devices 21, 22, and 23 by the user, respectively.
  • a partial process 701 “data reception from the device 1” and a partial process 702 “data reception from the device 3” each represent reception of data transmitted from the device 20.
  • the partial process 703 called “scaling” represents adding an offset value set in advance after multiplying an input value by a preset coefficient, and includes so-called normalization.
  • a partial process 704 called “data thinning” indicates that a part of input values repeatedly input is discarded and other input values are output as they are, for example, the input values are discarded at a preset period. including.
  • a partial process 705 called “FFT” means fast Fourier transform (Fast Fourier Transform) and means that time-series data is converted into a frequency representation.
  • the partial process 706 called “smoothing” represents removing noise from a series of input values, and includes, for example, outputting an average value of a predetermined number of input values.
  • a partial process 707 called “size comparison” represents comparing the magnitudes of two input values.
  • a partial process 708 called “threshold determination” represents comparing a preset threshold value with an input value.
  • a partial process 709 called “region determination” represents that it is determined whether all input values that are repeatedly input are within an error range from a preset reference value. Means a time range including the sampling time.
  • the partial processes 703 to 706 for realizing the data processing process and the partial processes 707 to 709 for realizing the data analysis process and the diagnostic process are separate processes. It is not limited. For example, a single partial process in which FFT and threshold determination are combined may be provided.
  • the processing flow may include a branch part that inputs the output value of one partial process to two or more other partial processes, like the outputs of the partial processes 702, 704, and 710. Further, the processing flow may include a merging part that inputs outputs of two or more partial processes to one partial process, like the input of the partial processes 707 and 710.
  • a partial process 710 called “command determination” represents determining an operation command to the device 20 depending on whether or not the input value matches a preset condition. Details of the determination of the operation command will be described later. Note that a process 801 “write to device 1” and a process 802 “write to device 2” each indicate that an operation command is given by writing command data in the storage area of the device 20.
  • the data processing device 10 has various functions as a control unit 110 that controls the components of the data processing device 10 as illustrated in FIG. 4.
  • a storage unit 120 for storing the data
  • a communication unit 130 provided according to the type of the transmission path 40 and communicating with the device 20, and a reception for accepting the setting of the processing flow applied to the data received by the communication unit 130 Unit 140
  • a user interface (UI) unit 150 for setting a processing flow by a user
  • a plurality of processing units 161 and 162 that execute partial processes constituting the processing flow
  • a control unit 110 and processing units 161 and 162
  • a transmission unit 170 that transmits data to and from each other.
  • processing units 161 and 162 are collectively referred to as a processing unit 160.
  • 4 representatively shows the processing units 161 and 162 that execute the partial processing.
  • the data processing apparatus 10 performs the partial processing.
  • the seven processing units 160 that execute each of 703 to 709 are provided.
  • the present invention is not limited to this, and a single processing unit 160 may execute a plurality of partial processes shown in FIG.
  • the number of processing units 160 and the number of partial processes may be different.
  • the control unit 110 executes the set processing flow by controlling the processing unit 160. Specifically, the control unit 110 acquires data received by the communication unit 130. Then, the control unit 110 sends the acquired data to one of the plurality of processing units 160 via the transmission unit 170, and executes partial processing on the plurality of processing units 160 in the order corresponding to the processing flow. Let Further, the control unit 110 executes a partial process 710 constituting the process flow shown in FIG. Then, the control unit 110 obtains a processing flow processing result by executing a plurality of partial processes, and sends the processing result to the output unit 132 of the communication unit 130.
  • the control unit 110 is mainly realized by the processor 11. Specifically, the control unit 110 is realized by the processor 11 executing at least a part of the program P1. The control unit 110 functions as control means in the claims.
  • Data stored in the storage unit 120 includes management information 121 for the control unit 110 to manage a plurality of processing units 160, flow information 122 indicating a processing flow for which settings have been received by the receiving unit 140, Intermediate information 123 temporarily generated during execution. Details of the management information 121, the flow information 122, and the intermediate information 123 will be described later.
  • the storage unit 120 is mainly realized by the auxiliary storage unit 13. However, the present invention is not limited to this, and the storage unit 120 may be realized by the main storage unit 12 or may be realized by the cooperation of the main storage unit 12 and the auxiliary storage unit 13.
  • the storage unit 120 functions as a storage unit of claims.
  • the communication unit 130 receives data transmitted from the device 20 via the transmission path 40 in accordance with an instruction from the control unit 110, and sends the received data to the control unit 110.
  • the communication unit 130 is mainly realized by the communication unit 16.
  • the communication unit 130 functions as communication means in the claims.
  • the communication unit 130 is transmitted using a communication protocol corresponding to the transmission path 40, a reception unit 131 that receives data transmitted from the device 20, an output unit 132 that outputs information indicating a result of execution of the processing flow, and the like.
  • a conversion unit 133 that converts data into data of a common protocol suitable for the control unit 110.
  • the receiving unit 131 receives data transmitted from the device 20 via the transmission path 40 in accordance with an instruction from the control unit 110, and sends the received data to the control unit 110.
  • the reception unit 131 converts the protocol using the conversion unit 133 and sends the data with the converted protocol to the control unit 110.
  • the reception of data by the receiving unit 131 corresponds to the partial processes 701 and 702 in FIG.
  • the output unit 132 acquires an operation command to the device 20 from the control unit 110 as a result of the processing flow. Then, the output unit 132 transmits an operation command to the device 20. Specifically, the output unit 132 writes information indicating an operation command in the device 20 via the transmission path 40 in accordance with an instruction from the control unit 110. Similarly to the reception unit 131, the output unit 132 converts the protocol using the conversion unit 133, and outputs data in which the protocol is converted.
  • the output unit 132 is mainly realized by the communication unit 16.
  • the output unit 132 functions as output means of claims.
  • the accepting unit 140 accepts the setting of the processing flow by the user, and sends the flow information 122 indicating the content of the processing flow to the control unit 110.
  • the flow information 122 sent to the control unit 110 is stored in the storage unit 120 by the control unit 110.
  • the receiving unit 140 is mainly realized by the processor 11.
  • the receiving unit 140 functions as a receiving unit for claims.
  • the UI unit 150 acquires an instruction from the control unit 110 via the reception unit 140, and presents a screen for inputting the content of the processing flow to the user according to the instruction.
  • the UI unit 150 notifies the reception unit 140 of the content of the processing flow set by the user.
  • the UI unit 150 is realized mainly by the cooperation of the processor 11, the input unit 14, and the output unit 15.
  • the UI unit 150 is developed as an engineering tool for setting a processing flow.
  • Each of the plurality of processing units 160 outputs the result of performing partial processing on the data input from the control unit 110 via the transmission unit 170 to the control unit 110 via the transmission unit 170.
  • the processing unit 160 is realized mainly by the processor 11 executing a part of the program P1.
  • software for realizing the processing unit 160 is developed as a highly independent software component or library. In other words, the processing unit 160 does not transmit / receive data to / from components other than the transmission unit 170 shown in FIG.
  • Software components or libraries for realizing the processing unit 160 can be added as appropriate after shipment or installation of the data processing apparatus 10.
  • the program for realizing the processing unit 160 may be different from the program for realizing the control unit 110.
  • the processing unit 160 may be realized by the control unit 110 sequentially starting a program for realizing the processing unit 160.
  • the processing unit 160 functions as processing means in claims.
  • the transmission unit 170 is an interface that transmits data between the control unit 110 and the processing unit 160.
  • the transmission unit 170 is mainly realized by the processor 11.
  • the data processing shown in FIG. 5 starts when the data processing apparatus 10 is turned on or according to a user operation.
  • the data processing apparatus 10 updates the management information 121 stored in the storage unit 120 (step S1). Specifically, the control unit 110 confirms partial processes that can be executed by the control unit 110 itself, the communication unit 130, and the plurality of processing units 160. For example, when a software component or library that implements the processing unit 160 is added by a user, or when firmware is updated to support a new communication protocol, the device 20 is connected to the data processing apparatus 10 via the transmission path 40. The control unit 110 updates the management information 121 when a program for realizing the communication unit 130 is added or activated.
  • the management information 121 associates an execution subject that executes a partial process, an ID of the execution subject, a partial process, and a setting item that indicates a parameter for executing the partial process. It is a table.
  • the codes of the communication unit 130, the processing units 161 and 162, and the control unit 110 that are execution subjects are IDs.
  • the setting items are added to the management information 121 when the control unit 110 reads out information related to the setting items held by the communication unit 130 and the processing unit 160, respectively.
  • the data processing apparatus 10 accepts processing flow settings from the user (step S ⁇ b> 2). Specifically, the control unit 110 reads the management information 121 from the storage unit 120 and notifies the reception unit 140 of it. The accepting unit 140 transmits screen data for generating an input screen to the UI unit 150 based on the management information 121. Thereby, the user can set the processing flow by operating the UI unit 150.
  • FIG. 7 shows an example of an input screen for setting a processing flow.
  • a block 91 indicating a partial process and an arrow 92 indicating the direction of data exchanged between the partial processes are shown in the same manner as in FIG. 3.
  • the user drags the partial processing block 91 from the list on the left side and arranges it on the right side.
  • a menu 93 for inputting setting items for partial processing corresponding to the block 91 is displayed.
  • the 7 is set as the setting items for executing the partial processing “data reception from the device 3”, the ID of the device to receive data, the data collection cycle, and the sensor. Threshold.
  • the user sets the start point and end point of the arrow 92. As a result, the execution order of the partial processes constituting the process flow and the parameters of the partial processes are set.
  • the input screen for setting the processing flow may be a screen that displays a table format input field as shown in FIG.
  • the processing flow table shown in FIG. 8 includes a number assigned to partial processing, a data label attached to input data of the partial processing, a data label attached to output data of the partial processing, and the partial processing. This is a table in which the setting items are associated with each other. Note that the numbers in FIG. 8 are equal to the symbols for the partial processes shown in FIG. 8 corresponds to each of the partial processes 701 to 710 in FIG. 3, and the link between the partial processes defined by the input / output data labels corresponds to the arrow in FIG. .
  • the setting item of “command determination” executed at the end of the processing flow shown in FIGS.
  • the setting item of “command determination” includes an input value condition and an operation according to whether or not the condition is satisfied.
  • FIG. 9 shows an example of a condition table that defines input value conditions
  • FIG. 10 shows an example of an operation table that defines operations.
  • the condition table in FIG. 9 defines values according to the partial processing results of “size comparison”, “threshold judgment”, and “area judgment”. For example, if the result of “size comparison” is YES, the result of “threshold determination” is YES, and the result of “area determination” is YES, the value is “1”.
  • the operation table in FIG. 10 defines an operation command to each device according to the value. For example, if the value obtained as a result of the condition determination is “1”, it instructs “device 1” to change the operating state to “safe mode” and instructs “device 2” to stop the operation. Will be.
  • step S ⁇ b> 2 the reception unit 140 notifies the control unit 110 of flow information 122 indicating the content of the processing flow set by the user.
  • the data processing device 10 receives data transmitted from the device 20 (step S3).
  • the communication unit 130 executes a partial process “data reception” defined in the flow information 122.
  • the communication unit 130 receives data transmitted from the devices 21 and 23 shown in FIG. More specifically, the communication unit 130 receives data by instructing the device 20 to transmit data according to the content of the setting item “data reception”.
  • the communication unit 130 sends the received data to the control unit 110, and the control unit 110 acquires the data from the communication unit 130 (step S4).
  • the control unit 110 stores the acquired data in the storage unit 120 as intermediate information 123.
  • FIG. 11A shows an example of the intermediate information 123 when step S4 is executed.
  • the intermediate information 123 is information in which a data label attached to data, a time stamp indicating the time when the communication unit 130 received data to be processed, and a data value are associated with each other.
  • the intermediate information 123 shown in FIG. 11A is given the data label “# 1” as a result of performing the partial processing 701 shown in FIG. 3 on the data received by the communication unit 130 at 10:42:00. Data is obtained and the value of the data is “521”. This indicates that the next process of data received from the device 21 is a partial process 704.
  • control unit 110 determines a processing unit as a data transmission destination (step S5). Specifically, based on the flow information 122 stored in the storage unit 120, the control unit 110 determines a processing unit 160 that is a destination of data included in the intermediate information 123.
  • control unit 110 sends data to the determined processing unit 160 (step S6). Specifically, the control unit 110 inputs the data value of the intermediate information 123 to the processing unit 160 determined in step S5.
  • step S7 the processing unit 160 that has acquired data from the control unit 110 executes partial processing. Then, the processing unit 160 sends data indicating the result of the partial processing to the control unit 110.
  • the result of the partial process executed by the processing unit 160 is referred to as a partial process result.
  • the control unit 110 acquires data indicating the partial processing result from the processing unit 160 (step S8).
  • the control unit 110 stores the acquired data in the storage unit 120 as intermediate information.
  • FIG. 12 shows an example of the intermediate information 123 when step S8 is executed.
  • the intermediate information 123 shown in FIG. 12 is given the data label “# 3” as a result of performing the partial processing 701 and 703 shown in FIG. 3 on the data received by the communication unit 130 at 10:42:00. This indicates that the data value is “1.02”.
  • control unit 110 determines whether or not the partial processing by the last processing unit 160 in the processing flow is completed (step S9). Specifically, the control unit 110 determines whether or not the intermediate information 123 stored in the storage unit 120 is information indicating the last partial process result executed by the processing unit 160 among the partial processes constituting the processing flow. Is determined by referring to the flow information 122.
  • step S9 If it is determined that the partial processing by the last processing unit 160 has not been completed (step S9; No), the processing after step S5 is repeated.
  • the intermediate information 123 and the flow information 122 shown in FIG. 12 are referred to, it can be understood that the next process is the partial process 704. Therefore, when the intermediate information 123 of FIG. 12 is stored in the storage unit 120, the transmission destination of the data included in the intermediate information 123 is determined with reference to the flow information 122 in step S5. In this way, by repeating the exchange of data between the processing unit 160 and the control unit 110, partial processes constituting the processing flow are sequentially executed.
  • step S9 when it is determined in step S9 that the partial processing by the last processing unit 160 has been completed (step S9; Yes), the control unit 110 obtains a processing result that is a result of the processing flow (step S9). S10).
  • the intermediate information 123 shown in FIG. 13 includes the data label “#” as a result of performing the partial processing 701 to 704 and 707 shown in FIG. 3 on the data received by the communication unit 130 at 10:42:00. Data obtained with “5” is obtained, and the value of the data is “13”.
  • the control unit 110 executes the “command determination” partial process 710 to determine the content of the operation command.
  • control unit 110 sends the processing result to the output unit 132 (step S11). Specifically, the control unit 110 instructs the output unit 132 to transmit an operation command for the device 20 to the device 20.
  • the output unit 132 outputs information indicating the processing result of the processing flow (step S12). Specifically, the output unit 132 transmits a signal for writing an operation command to the device 20 to the device 20. Thereafter, the processing after step S3 is repeated. Thereby, the data processing apparatus 10 can output the result of applying the processing flow to the data repeatedly transmitted from the device 20.
  • FIGS. 11B and 11C show an example of the intermediate information 123 generated in step S4 that is repeatedly executed.
  • the intermediate information 123 shown in FIGS. 11B and 11C is obtained as a result of performing the partial processing 701 shown in FIG. 3 on the data received by the communication unit 130 at 10:42:02 and 10:42:04.
  • the data with the data label “# 1” is obtained, indicating that the data values are “480” and “513”, respectively.
  • the data processing apparatus 10 includes a plurality of processing units 160 that execute partial processing, and the control unit 110 causes the plurality of processing units 160 to execute partial processing in the order corresponding to the processing flow.
  • the processing result obtained by the execution is sent out. For this reason, various process flows can be executed by changing the execution order of the partial processes. Therefore, a processing flow combining various processes can be easily performed on the data.
  • each of the plurality of processing units 160 transmitted partial processing results obtained by performing partial processing on the data transmitted from the control unit 110 to the control unit 110. Then, the control unit 110 sends the data indicating the partial processing result sent from the one processing unit 160 to the next processing unit 160 according to the processing flow indicated by the flow information 122, so that the plurality of processing units 160 can receive the data. Partial processing was executed. For this reason, the partner to which each processing unit 160 transmits and receives data is limited to the control unit 110. Accordingly, the development of the program P1 for realizing the processing unit 160 is facilitated, and the user can easily add a desired partial process. As a result, an arbitrary processing flow can be more easily applied to data.
  • the storage unit 120 stores the partial processing result obtained by performing the partial processing on the data received by the communication unit 130 as the intermediate information 123 in association with the data label for identifying the input / output data of the partial processing.
  • the control unit 110 refers to the data label of the intermediate information 123 and the flow information 122 indicating the processing flow, and determines the next processing unit 160 that is a transmission destination of data indicating the partial processing result. Therefore, the control unit 110 can send data to an appropriate processing unit simply by referring to the storage unit 120 without simultaneously managing the plurality of processing units 160. Therefore, the load on the control unit 110 can be reduced. As a result, the load on the processor 11 can be reduced and the processing unit 160 can afford to execute the partial processing with a relatively high load, so that more various processing flows can be performed.
  • the data transmitted from the device 20 includes a sensing result by the sensor. Furthermore, the output unit 132 outputs an operation command for at least one of the device 20 that has transmitted the data and another device 20 that is different from the device 20. Therefore, the data processing apparatus 10 is suitable for a system constructed in a facility represented by a factory.
  • the reception of data by the communication unit 130, the transmission / reception of data between the control unit 110 and the processing unit 160, and the output of information by the output unit 132 are performed.
  • An example of executing in order was shown.
  • new data is received from the device 20 after the processing flow is completed.
  • data processing by the data processing apparatus 10 is not limited to this, and new data may be received from the device 20 at any time during execution of the processing flow.
  • the control unit 110, the communication unit 130, and the output unit 132 may perform their functions in parallel.
  • the communication unit 130 may receive and send data to the control unit 110 as needed, and the control unit 110 may send and receive data to and from each processing unit 160 as needed.
  • the control unit 110 refers to the intermediate information 123 generated by the completion of one partial process, and sends data to the processing unit 160 responsible for the next partial process as needed.
  • the process part 160 performs a partial process at the timing set to each process part 160.
  • the control unit 110 may cause the processing unit 160 to execute partial processing by sending data at a predetermined timing.
  • Embodiment 2 the second embodiment will be described focusing on the differences from the first embodiment.
  • the description is abbreviate
  • the software for realizing the processing unit 160 needs to be developed by the owner or administrator of the facility where the data processing apparatus 10 is installed, or open source software must be used.
  • plug-in software distributed by a specialized developer is often higher quality and more functional than such software. For this reason, if the use of plug-in software for realizing the processing unit 160 is restricted and the restriction is removed when the price is paid, development of the paid software can be promoted, and the user can perform more various processing. It can be expected that the flow is easily executed at a relatively low cost.
  • the plug-in software itself is free, it is conceivable that a developer sets a device 20 corresponding to the plug-in software and places a restriction when executing data processing related to the device 20.
  • a developer sets a device 20 corresponding to the plug-in software and places a restriction when executing data processing related to the device 20.
  • the plug-in software by restricting the processing flow using the high-quality equipment 20 manufactured by a specialized manufacturer, the user can easily perform various processing flows at a relatively low cost. You can also expect to do it.
  • the data processing apparatus 10 is the same as the first embodiment in that the control unit 110 includes an authentication module 111 and the storage unit 120 includes authentication information 124. It is different from the one concerning.
  • the authentication information 124 associates the usage target used to execute the processing flow, the expiration date for using the usage target, and the capacity of the data transmission amount via the usage target. It is a table.
  • the first line of the authentication information 124 indicates that the expiration date of the processing unit A is limited to one month from the start of use.
  • the second line of the authentication information 124 indicates that the amount of data transmitted via the processing unit B is limited to 1 Gbit.
  • the third line of the authentication information 124 indicates that the expiration date of the device 1 is limited to one month from the start of use.
  • the fourth line of the authentication information 124 indicates that the amount of data transmission via the device 2 is limited to 1 Gbit.
  • the amount of data transmitted through the processing unit 160 means the cumulative amount of data transmitted through the transmission unit 170. Further, the data transmission amount via the device 20 means a cumulative data amount transmitted between the device 20 and the data processing device 10.
  • the control unit 110 inquires of an external server (not shown) about the payment status of the fee, and updates the authentication information 124 when the fee is paid.
  • the user can use the processing unit 160 or the device 20 by paying a fee.
  • step S4 the control unit 110 determines whether or not the execution of the processing flow should be restricted based on the authentication information 124 (step S21). Specifically, the control unit 110 determines whether or not the use of the processing unit 160 determined in step S ⁇ b> 4 is restricted, and from the device 20 that transmitted the data from which the intermediate information 123 is derived, and the intermediate information 123. Further, it is determined whether or not the use of the device 20 that is the destination of the operation command obtained as a result of the partial processing is restricted. Then, the control unit 110 determines that the execution of the processing flow should be restricted when use of at least one usage target is restricted.
  • step S21 If it is determined in step S21 that it should not be restricted (step S21: No), the processing after step S5 is executed. On the other hand, if it is determined that the restriction should be made (step S21: Yes), the data processing apparatus 10 outputs an error (step S22) and ends the data processing.
  • the error output may be a warning displayed on the screen of the UI unit 150, an alarm sound from a speaker, or transmission of information indicating an error from the output unit 132 to the user terminal. May be.
  • At least one of the plurality of processing units 160 is realized by plug-in software.
  • plug-in software As described above, at least one of the plurality of processing units 160 is realized by plug-in software.
  • the development of plug-in software is facilitated, and the user can easily add a desired partial process.
  • an arbitrary processing flow can be more easily applied to data.
  • control unit 110 limited the execution of the processing flow according to the amount of data transmitted via the processing unit 160 realized by plug-in software. Accordingly, the processing unit 160 is realized by plug-in software provided by a specialized developer, and the user of the data processing apparatus 10 can expect to easily execute more various processing flows at a relatively low cost. .
  • control unit 110 limited the execution of the processing flow according to the data transmission amount between the data processing apparatus 10 and the device 20. Thereby, the user of the data processing apparatus 10 can expect to easily execute more various processing flows at a relatively low cost by using the device 20 manufactured by a specialized manufacturer.
  • control unit 110 limited the execution of the processing flow according to the length of time that has elapsed since a preset time. Specifically, the control unit 110 limited the execution of the processing flow using the processing unit 160 or the device 20 defined by the authentication information 124 according to the elapsed time from the use start time to the present time. Thereby, the user of the data processing apparatus 10 can be expected to easily execute various processing flows at a relatively low cost.
  • the data processing system 1000 may be a product production system, a manufacturing system, a processing system, an inspection system, an industrial control system, or other systems.
  • the data processing system 1000 may be installed in a plant including a power plant, a mobile body including an automobile, an aircraft and a ship, an office building, or a public facility represented by a school.
  • the transmission path 40 may be a communication path that transmits information only in one direction.
  • the data transmitted from the device 20 is not limited to data including a sensing result, and may be data indicating an operating state of the device 20 or data including a result of signal processing by the device 20, for example.
  • the information that the data processing device 10 transmits to the device 20 as a result of the data processing is not limited to the operation command, and may be a notification of the operating state of the data processing device 10.
  • the receiving unit 131 and the output unit 132 are integrally configured as the communication unit 130, the receiving unit 131 and the output unit 132 may be configured separately.
  • the communication part 130 was provided for every classification of the transmission line 40, it is not limited to this.
  • a single communication unit 130 corresponding to a plurality of types of transmission paths 40 may be provided, or a plurality of communication units 130 corresponding to a single type of transmission paths 40 may be provided.
  • processing unit 160 sends the partial processing result to the control unit 110, but is not limited thereto, and may be directly stored in the storage unit 120 in accordance with an instruction from the control unit 110.
  • the plurality of processing units 160 exchange data via the storage unit 120 without going through the control unit 110.
  • control unit 110 generates the intermediate information 123 for controlling the execution of the partial processing by the processing unit 160.
  • the control unit 110 may execute the processing flow without generating the intermediate information 123 by referring to the flow information 122.
  • FIG. 17 shows a modification of the processing flow.
  • the partial processing 1805 by the control unit 110 may be executed after the partial processing 1802 by the communication unit 130.
  • a partial process 1811 by the processing unit 160 may be inserted.
  • two partial processes 1807 and 1808 by the same processing unit 160 may be included.
  • the processing unit 160 may execute a partial process 1803 called “file read” or a partial process 1809 called “file write”.
  • the processing by the output unit 132 is not limited to data writing to the device 20, and may be processing 1814 for notifying information to the server or processing 1815 for outputting information by GUI.
  • the output unit 132 that executes the process 1815 is configured separately from the communication unit 130, and is realized by the input unit 14 and the output unit 15.
  • the UI unit 150 may be omitted to configure the data processing apparatus 10, and the reception unit 140 may acquire the flow information 122 from an external terminal.
  • the data processing apparatus 10 includes the plurality of processing units 160.
  • the present invention is not limited to this.
  • a single processing unit 160 may be provided.
  • the processing flow may be an iterative process that repeats a process that can be executed by the processing unit 160. If the single processing unit 160 can execute data processing, analysis, and diagnosis processing according to the contents of the setting items, the processing flow similar to that in FIG. 3 can be obtained by appropriately setting the setting items. Can be executed.
  • the functions of the data processing apparatus 10 can be realized by dedicated hardware or by a normal computer system.
  • the program P1 executed by the processor 11 is stored in a computer-readable non-transitory recording medium and distributed, and the program P1 is installed in the computer, thereby configuring an apparatus that executes the above-described processing. be able to.
  • a recording medium for example, a flexible disk, a CD-ROM (Compact Disc-Read-Only Memory), a DVD (Digital Versatile Disc), and an MO (Magneto-Optical Disc) can be considered.
  • the program P1 may be stored in a disk device included in a server device on a communication network represented by the Internet, and may be downloaded onto a computer, for example, superimposed on a carrier wave.
  • the above-described processing can also be achieved by starting and executing the program P1 while transferring it through the communication network.
  • processing can also be achieved by executing all or part of the program P1 on the server device and executing the program while the computer transmits / receives information related to the processing via the communication network.
  • the means for realizing the functions of the data processing apparatus 10 is not limited to software, and part or all of the means may be realized by dedicated hardware including a circuit.
  • the present invention is suitable for processing collected data.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Factory Administration (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Selective Calling Equipment (AREA)

Abstract

データ処理装置(10)は、機器(20)に接続される装置であって、機器(20)と通信する通信部(130)と、通信部(130)によって受信されたデータに施される処理フローの設定を受け付ける受付部(140)と、処理フローを構成する部分処理を実行する一又は複数の処理部(160)のうちのいずれかに、通信部(130)によって受信されたデータを送出して、処理フローに対応する順で一又は複数の処理部(160)に部分処理を実行させ、該実行により得る処理結果を送出する制御部(110)と、を備える。

Description

データ処理装置、データ処理方法及びプログラム
 本発明は、データ処理装置、データ処理方法及びプログラムに関する。
 工場に代表される施設では、施設内からデータを収集して処理することで、生産工程、検査工程、その他の工程が実現されている。そして、様々な市場の要求に対応するために、データを処理する装置を置き換えることなく処理の内容を変更することが広く行われている(例えば、特許文献1を参照)。
 特許文献1には、機械に接続されたコンピュータが、ベースソフトウェアおよび作業ソフトウェアを備える構成が開示されている。ベースソフトウェアは、コンピュータに搭載されていて、新たにインストールされる作業ソフトウェアと機械との間で伝送されるデータを中継する。これにより、新たな作業ソフトウェアをインストールすることで、コンピュータによるデータの処理内容を変更することができる。
特開2017-157189号公報
 近年、施設内で収集するデータ量が増加し、処理結果の利用用途も多岐に渡ることから、種々の処理を組み合わせた処理フローがデータに施されるケースが多い。しかしながら、特許文献1では、一つの作業ソフトウェアが、機械からの情報を取得し、出力先の機械を特定して、指示情報を出力するところまでを実施するものであった。このため、データに施す種々の処理を組み合わせた処理フローを変更するためには、変更後の処理フローを一つのソフトウェアで実現する作業ソフトウェアを都度準備する必要があり、その準備作業が煩雑であった。
 本発明は、上記の事情に鑑みてなされたものであり、種々の処理を組み合わせた処理フローをデータに対して簡便に施すことを目的とする。
 上記目的を達成するため、本発明のデータ処理装置は、機器に接続されるデータ処理装置であって、機器と通信する通信手段と、通信手段によって受信されたデータに施される処理フローの設定を受け付ける受付手段と、処理フローを構成する部分処理を実行する一又は複数の処理手段のうちのいずれかに、通信手段によって受信されたデータを送出して、処理フローに対応する順で一又は複数の処理手段に部分処理を実行させ、該実行により得る処理結果を送出する制御手段と、を備える。
 本発明によれば、データ処理装置は、処理フローを構成する部分処理を実行する一又は複数の処理手段に、設定された処理フローに対応する順で部分処理を実行させる。このため、部分処理の実行順序を変更することで、多様な処理フローを実行することができる。したがって、種々の処理を組み合わせた処理フローをデータに対して簡便に施すことができる。
本発明の実施の形態1に係るデータ処理システムのブロック図 実施の形態1に係るデータ処理装置のハードウェア構成を示す図 実施の形態1に係る処理フローの一例を示す図 実施の形態1に係るデータ処理装置の機能的な構成を示す図 実施の形態1に係るデータ処理を示すフローチャート 実施の形態1に係る管理情報の一例を示す図 実施の形態1に係る入力画面の第1の例を示す図 実施の形態1に係る入力画面の第2の例を示す図 実施の形態1に係る条件テーブルの一例を示す図 実施の形態1に係る動作テーブルの一例を示す図 実施の形態1に係る中間情報の第1の例を示す図 実施の形態1に係る中間情報の第2の例を示す図 実施の形態1に係る中間情報の第3の例を示す図 実施の形態1に係る中間情報の第4の例を示す図 実施の形態1に係る中間情報の第5の例を示す図 実施の形態2に係るデータ処理装置の機能的な構成を示す図 実施の形態2に係る認証情報の一例を示す図 実施の形態2に係るデータ処理を示すフローチャート 変形例に係る処理フローを示す図 変形例に係るデータ処理装置の機能的な構成を示す第1の図 変形例に係るデータ処理装置の機能的な構成を示す第2の図
 以下、本発明の実施の形態に係るデータ処理システム1000について、図面を参照しつつ詳細に説明する。
 実施の形態1.
 本実施の形態に係るデータ処理システム1000は、機器から送信されたデータを処理するシステムである。データ処理システム1000は、製品の生産システムとして工場に設置される。データ処理システム1000によるデータの処理は、例えば、不良品の検出及び製造工程からの除外、材料の分類、又は異常の監視を実現するために実行される。データ処理システム1000は、データに施す処理の内容をユーザが容易に設計することを可能にする。データ処理システム1000は、図1に示されるように、製品の製造工程で稼働する機器21,22,23と、機器21,22,23から送信されたデータを処理するデータ処理装置10と、を有している。
 データ処理装置10は、ネットワーク41を介して機器21,22と接続され、機器21,22との間で信号を送受信することにより互いに通信する。また、データ処理装置10は、ネットワーク43を介して機器23と接続され、機器23との間で信号を送受信することにより互いに通信する。ネットワーク41とネットワーク43は、異なる規格の産業用ネットワークである。なお、ネットワーク41,43は、シリアル通信を実現するための専用線であってもよい。
 機器21は、製品の製造工程で利用されるセンサ21aを有している。センサ21aは、例えば、光センサ、圧力センサ、超音波センサ、その他の検出器である。機器21は、センサ21aによるセンシング結果を含むデータを、データ処理装置10から指定された周期で繰り返しデータ処理装置10に送信する。この周期は、例えば、10ms、100ms、又は1secである。
 機器22は、製品の製造工程で利用されるアクチュエータ又はロボットである。機器22は、データ処理装置10によるデータの処理結果に応じて稼働する。詳細には、機器22は、データの処理結果として、稼働モードの指定、稼働開始、及び稼働停止のいずれかを指示する動作指令をデータ処理装置10から受信すると、この動作指令に従って稼働状態を変更する。
 機器23は、製品の製造工程で利用されるセンサ23aに接続される。機器23は、センサ23aによるセンシング結果をセンサ23aから取得して、このセンシング結果を含むデータを、データ処理装置10から指定された周期で繰り返しデータ処理装置10に送信する。
 以下では、データ処理装置10に接続される機器21,22,23を総称して機器20と表記する。データ処理装置10と機器20とを接続するデータの伝送路40は、ネットワーク41及びネットワーク43のような有線通信の伝送路に限定されず、無線通信のための伝送路であってもよい。
 機器20は、センシング結果を含むデータを送信する機器とデータ処理装置10からの動作指令に従って稼働する機器とのいずれか一方に限定されない。機器20は、データ処理装置10にデータを送信するとともにデータ処理装置10からの動作指令に従って稼働する機器であってもよい。
 データ処理装置10は、PLC又は産業用パソコンであって、機器20から収集したデータに対して、あらかじめ設定された処理を施して処理結果を出力するFA(Factory Automation)装置である。データ処理装置10は、処理結果の出力として、機器20へ動作指令を送信するが、これには限定されず、データを分析又は加工した品質管理情報をユーザに提示してもよいし、データ処理装置10自体又は外部のサーバ装置へ品質管理情報を蓄積してもよい。
 データ処理装置10は、そのハードウェア構成として、図2に示されるように、プロセッサ11と、主記憶部12と、補助記憶部13と、入力部14と、出力部15と、通信部16と、を有するコンピュータ装置である。主記憶部12、補助記憶部13、入力部14、出力部15及び通信部16はいずれも、内部バス17を介してプロセッサ11に接続される。
 プロセッサ11は、MPU(Micro Processing Unit)を含む。プロセッサ11は、補助記憶部13に記憶されるプログラムP1を実行することにより、データ処理装置10の種々の機能を実現して、後述の処理を実行する。
 主記憶部12は、RAM(Random Access Memory)を含む。主記憶部12には、補助記憶部13からプログラムP1がロードされる。そして、主記憶部12は、プロセッサ11の作業領域として用いられる。
 補助記憶部13は、EEPROM(Electrically Erasable Programmable Read-Only Memory)に代表される不揮発性メモリを含む。補助記憶部13は、プログラムP1の他に、プロセッサ11の処理に用いられる種々のデータを記憶する。補助記憶部13は、プロセッサ11の指示に従って、プロセッサ11によって利用されるデータをプロセッサ11に供給し、プロセッサ11から供給されたデータを記憶する。なお、図2では、補助記憶部13に記憶される1つのプログラムP1が代表的に示されているが、プログラムP1は、複数のプログラムであってもよい。また、プログラムP1は、データ処理装置10に予め設定されたプログラムと、データ処理装置10のユーザによって追加されたプログラムと、を含んでいてもよい。
 入力部14は、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部14は、データ処理装置10のユーザによって入力された情報を取得して、取得した情報をプロセッサ11に通知する。
 出力部15は、LCD(Liquid Crystal Display)及びスピーカに代表される出力デバイスを含む。出力部15は、プロセッサ11の指示に従って、種々の情報をユーザに提示する。
 通信部16は、外部の機器20と通信するためのネットワークインタフェース回路を含む。通信部16は、機器20から信号を受信して、この信号により示されるデータをプロセッサ11へ出力する。また、通信部16は、プロセッサ11から出力されたデータを示す信号を機器20へ送信する。
 データ処理装置10は、図2に示されるハードウェア構成が協働することにより、ユーザによって設定されるフローの処理を実行する。データ処理装置10に設定される処理フローは、図3に例示されるように、複数の部分処理701~710が予め設定された順序で実行されることにより達成される。
 図3中の矢印は、部分処理の実行の結果として得る出力値を次の部分処理に入力することを意味する。例えば、部分処理701から部分処理703に向かう矢印は、「機器1からデータ受信」という部分処理により得たデータを「スケーリング」の対象とすることを意味する。矢印は、部分処理701~710それぞれの入力及び出力の少なくとも一方のデータに対応し、この入出力データには、データラベルが付されている。例えば、部分処理703は、データラベル「#1」が付されたデータの入力を受けて、データラベル「#3」が付されたデータを出力する。このデータラベルは、処理フローにおける部分処理の入出力データを識別するために用いられ、データ自体を識別するものではない。例えば、部分処理703から繰り返し出力されるデータにはすべてデータラベル「#3」が付される。データラベルは、ユーザによって任意に設定されてもよいし、データ処理装置10によって割り振られてもよい。なお、図3中の「機器1」、「機器2」及び「機器3」はそれぞれ、ユーザによって機器21,22,23に付されたラベル名である。
 図3において、「機器1からデータ受信」という部分処理701及び「機器3からデータ受信」という部分処理702はそれぞれ、機器20から送信されたデータを受信することを表す。
 また、「スケーリング」という部分処理703は、予め設定された係数を入力値に乗じた上で予め設定されたオフセット値を加算することを表し、いわゆる正規化を含む。「データ間引き」という部分処理704は、繰り返し入力される入力値の一部を破棄して、他の入力値をそのまま出力することを表し、例えば、予め設定された周期で入力値を破棄することを含む。「FFT」という部分処理705は、高速フーリエ変換(Fast Fourier Transform)を意味し、時系列データを周波数表現に変換することを意味する。「平滑化」という部分処理706は、入力値の系列からノイズを除去することを表し、例えば、予め定められた個数の入力値の平均値を出力することを含む。これらの部分処理703~706は、データの加工処理に相当する。
 また、「大小比較」という部分処理707は、2つの入力値の大きさを比較することを表す。「閾値判定」という部分処理708は、予め設定された閾値と入力値とを比較することを表す。「領域判定」という部分処理709は、繰り返し入力される入力値がいずれも、予め設定された基準値から誤差の範囲内にあるか否かを判定することを表し、領域は、複数の入力値のサンプリング時刻を含む時間範囲を意味する。これらの部分処理707~709は、データの分析処理及び診断処理に相当する。
 なお、図3の例では、データの加工処理を実現する部分処理703~706と、データの分析処理及び診断処理を実現する部分処理707~709と、を別個の処理としているが、これには限定されない。例えば、FFTと閾値判定とをまとめた単一の部分処理を設けてもよい。
 処理フローは、部分処理702,704,710の出力のように、一の部分処理の出力値を2以上の他の部分処理に入力する分岐部分を含んでいてもよい。また、処理フローは、部分処理707,710の入力のように、2以上の部分処理の出力を1つの部分処理に入力する合流部分を含んでいてもよい。
 また、「指令決定」という部分処理710は、入力値が予め設定された条件に合致するかどうかに応じて機器20への動作指令を決定することを表す。動作指令の決定の詳細については後述する。なお、「機器1に書込」という処理801及び「機器2に書込」という処理802はそれぞれ、機器20の記憶領域に指令データを書き込むことにより、動作指令を与えることを表す。
 データ処理装置10は、図3に例示されるような処理フローを実行するために、その機能として、図4に示されるように、データ処理装置10の構成要素を制御する制御部110と、種々のデータを記憶する記憶部120と、伝送路40の種別に応じて設けられて機器20と通信する通信部130と、通信部130によって受信されたデータに施される処理フローの設定を受け付ける受付部140と、ユーザが処理フローを設定するためのUI(User Interface)部150と、処理フローを構成する部分処理を実行する複数の処理部161,162と、制御部110と処理部161,162との間でデータを伝送する伝送部170と、を有している。以下では、処理部161,162を総称して処理部160と表記する。なお、図4では、部分処理を実行する処理部161,162が代表的に示されているが、図3に例示された処理フローが実行される場合には、データ処理装置10は、部分処理703~709のそれぞれを実行する7個の処理部160を有することとなる。ただし、これには限定されず、単一の処理部160が、図3に示される複数の部分処理を実行してもよい。処理部160の数と部分処理の数とは、異なっていてもよい。
 制御部110は、処理部160を制御することにより、設定された処理フローを実行する。詳細には、制御部110は、通信部130によって受信されたデータを取得する。そして、制御部110は、取得したデータを、伝送部170を介して複数の処理部160のうちのいずれかに送出して、処理フローに対応する順で複数の処理部160に部分処理を実行させる。また、制御部110は、図3に示される処理フローを構成する部分処理710を実行する。そして、制御部110は、複数の部分処理の実行により処理フローの処理結果を得て、通信部130の出力部132に送出する。制御部110は、主としてプロセッサ11によって実現される。詳細には、制御部110は、プロセッサ11がプログラムP1の少なくとも一部を実行することにより実現される。制御部110は、請求項の制御手段として機能する。
 記憶部120に記憶されるデータは、制御部110が複数の処理部160を管理するための管理情報121と、受付部140によって設定が受け付けられた処理フローを示すフロー情報122と、処理フローの実行中に一時的に生成される中間情報123と、を含む。管理情報121、フロー情報122及び中間情報123の詳細については後述する。記憶部120は、主として補助記憶部13によって実現される。ただし、これに限定されず、記憶部120は、主記憶部12によって実現されてもよいし、主記憶部12と補助記憶部13との協働によって実現されてもよい。記憶部120は、請求項の記憶手段として機能する。
 通信部130は、制御部110の指示に従って、機器20から送信されたデータを、伝送路40を介して受信し、受信したデータを制御部110に送出する。通信部130は、主として通信部16によって実現される。通信部130は、請求項の通信手段として機能する。通信部130は、機器20から送信されるデータを受信する受信部131と、処理フローが実行された結果を示す情報を出力する出力部132と、伝送路40に対応する通信プロトコルで伝送されるデータを、制御部110に適した共通のプロトコルのデータに変換する変換部133と、を有している。
 受信部131は、制御部110の指示に従って、機器20から送信されたデータを、伝送路40を介して受信し、受信したデータを制御部110に送出する。受信部131は、変換部133を利用してプロトコルを変換し、プロトコルが変換されたデータを制御部110に送出する。受信部131によるデータの受信は、図3中の部分処理701,702に相当する。
 出力部132は、処理フローの結果として機器20への動作指令を制御部110から取得する。そして、出力部132は、機器20に動作指令を送信する。詳細には、出力部132は、制御部110の指示に従って、伝送路40を介して動作指令を示す情報を機器20に書き込む。出力部132は、受信部131と同様に、変換部133を利用してプロトコルを変換し、プロトコルが変換されたデータを出力する。出力部132は、主として通信部16によって実現される。出力部132は、請求項の出力手段として機能する。
 受付部140は、ユーザによる処理フローの設定を受け付けて、処理フローの内容を示すフロー情報122を制御部110に送出する。制御部110に送出されたフロー情報122は、制御部110によって記憶部120に格納される。受付部140は、主としてプロセッサ11によって実現される。受付部140は、請求項の受付手段として機能する。
 UI部150は、制御部110の指示を、受付部140を介して取得し、この指示に従って、処理フローの内容を入力するための画面をユーザに対して提示する。そして、UI部150は、ユーザによって設定された処理フローの内容を受付部140に通知する。UI部150は、主としてプロセッサ11と入力部14と出力部15との協働により実現される。UI部150は、処理フローを設定するためのエンジニアリングツールとして開発される。
 複数の処理部160はそれぞれ、制御部110から伝送部170を介して入力されたデータに対し部分処理を施した結果を、伝送部170を介して制御部110に出力する。処理部160は、主として、プロセッサ11がプログラムP1の一部を実行することによって実現される。ここで、処理部160がデータを送受する相手は伝送部170に限られることから、処理部160を実現するためのソフトウェアは、独立性の高いソフトウェアコンポーネント又はライブラリとして開発される。すなわち、処理部160は、図4に示される伝送部170以外の構成要素との間でデータを送受することがない。処理部160を実現するためのソフトウェアコンポーネント又はライブラリは、データ処理装置10の出荷後又は設置後に適宜追加することができる。処理部160を実現するためのプログラムは、制御部110を実現するためのプログラムとは異なっていてもよい。制御部110が、処理部160を実現するためのプログラムを順次起動することによって処理部160が実現されてもよい。処理部160は、請求項の処理手段として機能する。
 伝送部170は、制御部110と処理部160との間でデータを伝送するインタフェースである。伝送部170は、主としてプロセッサ11によって実現される。
 続いて、データ処理装置10によって実行されるデータ処理について、図5~13を用いて詳細に説明する。図5に示されるデータ処理は、データ処理装置10の電源が投入されたときに又はユーザによる操作に応じて開始する。
 データ処理において、データ処理装置10は、記憶部120に記憶される管理情報121を更新する(ステップS1)。具体的には、制御部110が、制御部110自体、通信部130及び複数の処理部160によって実行可能な部分処理を確認する。例えば、処理部160を実現するソフトウェアコンポーネント又はライブラリがユーザによって追加された場合、新たな通信プロトコルに対応するためのファームウェアの更新があった場合、機器20が伝送路40を介してデータ処理装置10に接続された場合、及び、通信部130を実現するためのプログラムが追加され又は起動された場合に、制御部110は、管理情報121を更新する。
 管理情報121は、図6に例示されるように、部分処理を実行する実行主体と、実行主体のIDと、部分処理と、部分処理を実行するためのパラメータを示す設定項目と、を関連付けたテーブルである。図6においては、実行主体である通信部130、処理部161,162及び制御部110の符号をIDとしている。設定項目は、通信部130及び処理部160それぞれが保持している設定項目に関する情報を制御部110が読み出すことで、管理情報121に追加される。
 図5に戻り、ステップS1に続いて、データ処理装置10は、処理フローの設定をユーザから受け付ける(ステップS2)。具体的には、制御部110が記憶部120から管理情報121を読み出して受付部140に通知する。受付部140は、管理情報121に基づいて、入力画面を生成するための画面データをUI部150に送信する。これにより、ユーザは、UI部150を操作して処理フローを設定することができる。
 図7には、処理フローを設定するための入力画面の一例が示されている。図7に示される例では、部分処理を示すブロック91と、部分処理同士の間で授受されるデータの方向を示す矢印92が、図3と同様に示される。なお、図7における処理フローの内容は、図3に示された処理フローから簡略化されている。ユーザは、左側のリストから部分処理のブロック91をドラッグして右側に配置する。配置されたブロック91がユーザによって選択されると、このブロック91に対応する部分処理の設定項目を入力するためのメニュー93が表示される。図7に示されるメニュー93は、「機器3からデータ受信」という部分処理を実行するための設定項目として、データを受信する対象となる機器のIDと、データの収集周期と、センサに設定される閾値と、を含んでいる。また、ユーザは、矢印92の始点及び終点を設定する。これにより、処理フローを構成する部分処理の実行順序と、部分処理のパラメータと、が設定される。
 なお、処理フローを設定するための入力画面は、図8に示されるようにテーブル形式の入力欄を表示する画面であってもよい。図8に示される処理フローテーブルは、部分処理に付される番号と、この部分処理の入力データに付されるデータラベルと、この部分処理の出力データに付されるデータラベルと、この部分処理の設定項目と、を関連付けたテーブルである。なお、図8における番号は、図3に示される部分処理の符号に等しい。図8の処理フローテーブルの各行が、図3中の部分処理701~710それぞれに対応し、入出力のデータラベルによって規定される部分処理同士のリンクが、図3中の矢印に対応している。
 ここで、図7,8に示される処理フローの最後に実行される「指令決定」の設定項目について説明する。「指令決定」の設定項目は、入力値の条件と、条件の成立の有無に応じた動作と、を含む。図9には、入力値の条件を規定する条件テーブルの一例が示され、図10には、動作を規定する動作テーブルの一例が示されている。
 図9の条件テーブルは、「大小比較」、「閾値判定」及び「領域判定」それぞれの部分処理の結果に応じた値を規定している。例えば、「大小比較」の結果がYESであり、「閾値判定」の結果がYESであり、「領域判定」の結果がYESであれば、値は「1」となる。図10の動作テーブルは、値に応じた各機器への動作指令を規定している。例えば、条件判定の結果として得た値が「1」であれば、稼働状態を「セーフモード」に変更することを「機器1」に指令するとともに、稼働を停止することを「機器2」に指令することとなる。
 図5に戻り、ステップS2において、受付部140は、ユーザによって設定された処理フローの内容を示すフロー情報122を制御部110に通知する。次に、データ処理装置10は、機器20から送信されるデータを受信する(ステップS3)。具体的には、通信部130が、フロー情報122に規定される「データ受信」という部分処理を実行する。例えば、通信部130は、図1に示される機器21,23から送信されたデータを受信する。より詳細には、通信部130は、「データ受信」の設定項目の内容に従ってデータを送信することを機器20に対して指示することにより、データを受信する。
 次に、通信部130が、受信したデータを制御部110に送出し、制御部110が、通信部130からデータを取得する(ステップS4)。制御部110は、取得したデータを中間情報123として記憶部120に格納する。図11Aには、ステップS4が実行されたときの中間情報123の一例が示されている。中間情報123は、データに付されるデータラベルと、処理フローを施すデータを通信部130が受信した時刻を示すタイムスタンプと、データの値と、を関連付けた情報である。図11Aに示される中間情報123は、通信部130が10時42分00秒に受信したデータに対して図3に示される部分処理701を施した結果としてデータラベル「#1」が付されるデータを得て、そのデータの値が「521」であることを示している。機器21から受信したデータの次処理が部分処理704であることを示している。
 図5に戻り、ステップS4に続いて、制御部110が、データの送出先である処理部を決定する(ステップS5)。具体的には、制御部110が、記憶部120に格納されているフロー情報122に基づいて、この中間情報123に含まれるデータの送出先である処理部160を決定する。
 次に、制御部110は、決定した処理部160にデータを送出する(ステップS6)。具体的には、制御部110は、ステップS5で決定した処理部160に、中間情報123のデータ値を入力する。
 次に、制御部110からデータを取得した処理部160が、部分処理を実行する(ステップS7)。そして、処理部160は、部分処理の結果を示すデータを制御部110に送出する。以下では、処理部160によって実行された部分処理の結果を、部分処理結果という。
 次に、制御部110が、処理部160から部分処理結果を示すデータを取得する(ステップS8)。制御部110は、取得したデータを中間情報として記憶部120に格納する。図12には、ステップS8が実行されたときの中間情報123の一例が示されている。図12に示される中間情報123は、通信部130が10時42分00秒に受信したデータに対して図3に示される部分処理701,703を施した結果としてデータラベル「#3」が付されるデータを得て、そのデータの値が「1.02」であることを示している。
 図5に戻り、ステップS8に続いて、制御部110は、処理フローのうち最後の処理部160による部分処理が完了したか否かを判定する(ステップS9)。具体的には、制御部110は、記憶部120に格納されている中間情報123が、処理フローを構成する部分処理のうち、処理部160によって実行される最後の部分処理結果を示す情報か否かを、フロー情報122を参照することにより判定する。
 最後の処理部160による部分処理が完了していないと判定された場合(ステップS9;No)、ステップS5以降の処理が繰り返される。例えば、図12に示される中間情報123とフロー情報122を参照すれば、次処理が部分処理704であることがわかる。このため、図12の中間情報123が記憶部120に格納されているときには、ステップS5にて、フロー情報122を参照して、中間情報123に含まれるデータの送出先が決定される。このようにして処理部160と制御部110との間でデータの授受を繰り返されることにより、処理フローを構成する部分処理が順次実行される。
 図5に戻り、ステップS9にて、最後の処理部160による部分処理が完了したと判定された場合(ステップS9;Yes)、制御部110は、処理フローの結果である処理結果を求める(ステップS10)。例えば、図13に示される中間情報123は、通信部130が10時42分00秒に受信したデータに対して図3に示される部分処理701~704,707を施した結果としてデータラベル「#5」が付されるデータを得て、そのデータの値が「13」であることを示している。フロー情報122を参照することで、処理フローのうち処理部160によって実行される最後の部分処理が完了したことがわかる。そこで、制御部110は、「指令決定」の部分処理710を実行して、動作指令の内容を決定する。
 図5に戻り、ステップS10に続いて、制御部110は、処理結果を出力部132に送出する(ステップS11)。具体的には、制御部110が、機器20に対する動作指令を機器20に送信することを出力部132に指示する。
 次に、出力部132が、処理フローの処理結果を示す情報を出力する(ステップS12)。具体的には、出力部132が、動作指令を機器20に書き込むための信号を機器20に送信する。その後、ステップS3以降の処理が繰り返される。これにより、データ処理装置10は、機器20から繰り返し送信されるデータに処理フローを施した結果を出力することができる。
 図11B,11Cには、繰り返し実行されるステップS4にて生成される中間情報123の例が示されている。図11B,11Cに示される中間情報123は、通信部130が10時42分02秒及び10時42分04秒に受信したデータそれぞれに対して図3に示される部分処理701を施した結果としてデータラベル「#1」が付されるデータを得て、それぞれデータの値が「480」及び「513」であることを示している。
 以上、説明したように、データ処理装置10は、部分処理を実行する複数の処理部160を有し、制御部110が、処理フローに対応する順で複数の処理部160に部分処理を実行させ、該実行により得る処理結果を送出する。このため、部分処理の実行順序を変更することで、多様な処理フローを実行することができる。したがって、種々の処理を組み合わせた処理フローをデータに対して簡便に施すことができる。
 また、複数の処理部160はそれぞれ、制御部110から送出されたデータに部分処理を施して得る部分処理結果を制御部110に送出した。そして、制御部110は、一の処理部160から送出された部分処理結果を示すデータを、フロー情報122により示される処理フローに従って次の処理部160に送出することで、複数の処理部160に部分処理を実行させた。このため、処理部160それぞれがデータを送受する相手は、制御部110に限られる。従って、処理部160を実現するためのプログラムP1の開発が容易になり、ユーザが所望の部分処理を追加することが容易になる。ひいては、任意の処理フローをデータに対してより簡便に施すことができる。
 また、機器20からはデータが繰り返し送信された。記憶部120は、通信部130によって受信されるデータに部分処理を施して得る部分処理結果を、部分処理の入出力データを識別するためのデータラベルと関連付けて、中間情報123として記憶した。制御部110は、中間情報123のデータラベルと処理フローを示すフロー情報122とを参照して、部分処理結果を示すデータの送出先である次の処理部160を決定した。このため、制御部110は、複数の処理部160を同時に管理することなく、単に記憶部120を参照するだけで適当な処理部にデータを送出することができる。したがって、制御部110にかかる負荷を軽減することができる。ひいては、プロセッサ11にかかる負荷を軽減して、処理部160が比較的高負荷の部分処理を実行する余裕ができるため、より多様な処理フローを施すことができるようになる。
 また、機器20から送信されるデータは、センサによるセンシング結果を含む。さらに、出力部132は、データを送信した機器20と、この機器20とは異なる他の機器20と、の少なくとも一方に対する動作指令を出力する。このため、データ処理装置10は、工場に代表される施設に構築されるシステムに適している。
 なお、図5では、説明の理解を容易にするため、通信部130によるデータの受信と、制御部110と処理部160との間におけるデータの送受と、出力部132による情報の出力と、を順に実行する例を示した。この例では、処理フローが完了した後に機器20から新たなデータを受信することとなる。しかしながら、データ処理装置10によるデータ処理は、これに限定されず、処理フローの実行中に機器20から新たなデータを随時受信してもよい。制御部110、通信部130、及び出力部132は、並行にその機能を発揮してもよい。
 すなわち、通信部130がデータを随時受信して制御部110へ送出するとともに、制御部110が各処理部160との間でデータを随時送受してもよい。この際に、制御部110は、1つの部分処理の完了により生成された中間情報123を参照して、随時、次の部分処理を担う処理部160へデータを送出する。そして、各処理部160に設定されたタイミングで処理部160が部分処理を実行する。なお、制御部110は、予め規定されたタイミングでデータを送出して、処理部160に部分処理を実行させてもよい。
 実施の形態2.
 続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上述の実施の形態1では、処理部160がそれぞれ機能を発揮すれば、処理フローの実行には何ら制限がなかった。このため、処理部160を実現するソフトウェアは、データ処理装置10が設置される施設の所有者又は管理者が自ら開発するか、又はオープンソースソフトウェアを利用する必要がある。
 しかしながら、一般的には、そのようなソフトウェアよりも、専門の開発業者が配布した有償のプラグインソフトウェアの方が、品質が高く多機能であるケースが多い。このため、処理部160を実現するプラグインソフトウェアの利用に制限を設けて、代価を支払ったときにこの制限を外せば、有償ソフトウェアの開発を促進することができ、ユーザは、より多様な処理フローを比較的低いコストで容易に実行することが期待できる。
 さらに、プラグインソフトウェア自体は無償であっても、このプラグインソフトウェアに対応する機器20を開発業者が設定し、この機器20に関するデータ処理を実行する際に制限を設けることも考えられる。また、プラグインソフトウェアとは関わりなく、専門の製造業者が製造した高品質の機器20を利用する処理フローに制限を設けることで、ユーザは、より多様な処理フローを比較的低いコストで容易に実行することも期待できる。
 そこで、以下では、処理フローの実行に制限を設ける形態について説明する。本実施の形態に係るデータ処理装置10は、図14に示されるように、制御部110が認証モジュール111を有し、記憶部120が認証情報124を有している点で、実施の形態1に係るものと異なっている。
 認証情報124は、図15に例示されるように、処理フローを実行するために利用する利用対象と、利用対象を使用する使用期限と、利用対象を介するデータ伝送量の容量と、を関連付けたテーブルである。認証情報124の1行目は、処理部Aの使用期限が、使用開始から1ヶ月間に制限されることを示す。認証情報124の2行目は、処理部Bを介したデータ伝送量が1Gbitに制限されることを示す。認証情報124の3行目は、機器1の使用期限が、使用開始から1ヶ月間に制限されることを示す。認証情報124の4行目は、機器2を介したデータ伝送量が1Gbitに制限されることを示す。
 ここで、処理部160を介したデータ伝送量は、伝送部170を介して伝送される累積のデータ量を意味する。また、機器20を介したデータ伝送量は、機器20とデータ処理装置10との間で伝送される累積のデータ量を意味する。
 制御部110は、不図示の外部サーバに料金の支払い状況を問い合わせて、料金の支払いがあった場合には、認証情報124を更新する。これにより、ユーザは、料金を支払うことで、処理部160或いは機器20を利用することができるようになる。
 続いて、データ処理装置10によって実行されるデータ処理について、図16を参照して説明する。図16に示されるデータ処理では、図5と同様のステップS1~S4が実行される。
 ステップS4に続いて、制御部110は、認証情報124に基づいて、処理フローの実行を制限すべきか否かを判定する(ステップS21)。具体的には、制御部110が、ステップS4で決定した処理部160の使用が制限されるか否かを判定するとともに、中間情報123が由来するデータを送信した機器20、及び中間情報123からさらに部分処理を施した結果として得る動作指令の送出先となる機器20の使用が制限されるか否かを判定する。そして、制御部110は、少なくとも1つの利用対象の使用が制限されるときに、処理フローの実行を制限すべきと判定する。
 ステップS21にて制限すべきでないと判定された場合(ステップS21:No)、ステップS5以降の処理が実行される。一方、制限すべきと判定された場合(ステップS21:Yes)、データ処理装置10は、エラーを出力して(ステップS22)、データ処理を終了する。エラーの出力は、UI部150の画面に表示される警告であってもよいし、スピーカからの警報音であってもよいし、出力部132からユーザ端末へのエラーを示す情報の送信であってもよい。
 以上、説明したように、複数の処理部160の少なくとも1つがプラグインソフトウェアで実現される。これにより、実施の形態1と同様に、プラグインソフトウェアの開発が容易になり、ユーザが所望の部分処理を追加することが容易になる。ひいては、任意の処理フローをデータに対してより簡便に施すことができる。
 また、制御部110は、処理フローの実行を、プラグインソフトウェアで実現される処理部160を介したデータの伝送量に応じて制限した。これにより、専門の開発業者から提供されたプラグインソフトウェアで処理部160を実現して、データ処理装置10のユーザは、より多様な処理フローを比較的低いコストで容易に実行することが期待できる。
 また、制御部110は、処理フローの実行を、データ処理装置10と機器20との間におけるデータの伝送量に応じて制限した。これにより、専門の製造業者によって製造された機器20を利用して、データ処理装置10のユーザは、より多様な処理フローを比較的低いコストで容易に実行することが期待できる。
 また、制御部110は、処理フローの実行を、予め設定された時刻から経過した時間の長さに応じて制限した。具体的には、制御部110は、認証情報124で規定された処理部160又は機器20を利用する処理フローの実行を、使用開始時刻から現在までの経過時間に応じて制限した。これにより、データ処理装置10のユーザは、より多様な処理フローを比較的低いコストで容易に実行することが期待できる。
 以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
 例えば、上記実施の形態1,2では、データ処理システム1000が製品の生産システムとして工場に代表される施設に設置される例を説明したが、これには限定されない。データ処理システム1000は、製品の生産システム、製造システム、加工システム、検査システム、産業用制御システム、その他のシステムであってもよい。また、データ処理システム1000は、発電プラントを含むプラント、自動車、航空機及び船を含む移動体、オフィスビル、又は、学校に代表される公共施設に設置されてもよい。
 また、上記実施の形態では、機器20の台数が3つである例が示されているが、これには限定されず、3つより少なくてもよいし、3つより多くてもよい。さらに、伝送路40が双方向の通信路である例を説明したが、伝送路40は、一方向のみに情報を伝送する通信路であってもよい。
 また、機器20から送信されるデータは、センシング結果を含むデータに限定されず、例えば、機器20の稼働状態を示すデータ、又は、機器20による信号処理の結果を含むデータであってもよい。さらに、データ処理装置10がデータ処理の結果として機器20に送信する情報は、動作指令に限定されず、データ処理装置10の稼働状態の通知であってもよい。
 また、受信部131と出力部132とが通信部130として一体的に構成されたが、受信部131と出力部132を別途の構成としてもよい。また、通信部130は、伝送路40の種別ごとに設けられたが、これには限定されない。伝送路40の複数の種別に対応する単一の通信部130を設けてもよいし、伝送路40の単一の種別に対応する複数の通信部130を設けてもよい。
 また、処理部160は部分処理結果を制御部110に送出したが、これには限定されず、制御部110の指示に従って記憶部120に直接格納してもよい。これにより、複数の処理部160は、制御部110を介することなく記憶部120を介してデータを授受することとなる。
 また、上記実施の形態1,2では、制御部110が、処理部160による部分処理の実行を制御するための中間情報123を生成したが、これには限定されない。制御部110は、フロー情報122を参照することで、中間情報123を生成することなく処理フローを実行してもよい。
 また、図17には、処理フローの変形例が示されている。図17に示されるように、通信部130による部分処理1802の次に制御部110による部分処理1805が実行されてもよい。また、処理部160による部分処理1811が挿入されてもよい。また、同一の処理部160による2つの部分処理1807,1808を含んでいてもよい。さらに、処理部160によって「ファイル読出」という部分処理1803が実行されてもよいし、「ファイル書込」という部分処理1809が実行されてもよい。また、出力部132による処理は、機器20へのデータ書込に限定されず、サーバへの情報の通知をする処理1814、又は、情報をGUIにより出力する処理1815であってもよい。ただし、処理1815を実行する出力部132は、図18に示されるように、通信部130とは別途の構成であって、入力部14と出力部15とによって実現される。
 また、UI部150を省いてデータ処理装置10を構成し、受付部140が外部の端末からフロー情報122を取得してもよい。
 また、上記実施の形態1,2では、データ処理装置10が、複数の処理部160を有していたが、これには限定されない。例えば、図19に示されるように、単一の処理部160を設けてもよい。この場合に、処理フローは、処理部160が実行可能な処理を繰り返す反復処理であってもよい。また、単一の処理部160が、設定項目の内容に応じてデータの加工、分析、及び診断処理を実行可能であれば、設定項目を適切に設定することで図3と同様の処理フローを実行することができる。
 また、データ処理装置10の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
 例えば、プロセッサ11によって実行されるプログラムP1を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD-ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)が考えられる。
 また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
 また、通信ネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
 さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
 なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
 また、データ処理装置10の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
 本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
 本発明は、収集したデータの処理に適している。
 1000 データ処理システム、 10 データ処理装置、 11 プロセッサ、 12 主記憶部、 13 補助記憶部、 14 入力部、 15 出力部、 16 通信部、 17 内部バス、 110 制御部、 111 認証モジュール、 120 記憶部、 121 管理情報、 122 フロー情報、 123 中間情報、 124 認証情報、 130 通信部、 131 受信部、 132 出力部、 133 変換部、 140 受付部、 150 UI部、 160~162 処理部、 170 伝送部、 20~23 機器、 21a,23a センサ、 40 伝送路、 41 ネットワーク、 43 ネットワーク、 701~710,1801~1811 部分処理、 801,802,1814,1815 処理、 91 ブロック、 92 矢印、 93 メニュー、 P1 プログラム。

Claims (11)

  1.  機器に接続されるデータ処理装置であって、
     前記機器と通信する通信手段と、
     前記通信手段によって受信されたデータに施される処理フローの設定を受け付ける受付手段と、
     前記処理フローを構成する部分処理を実行する一又は複数の処理手段のうちのいずれかに、前記通信手段によって受信されたデータを送出して、前記処理フローに対応する順で前記一又は複数の処理手段に前記部分処理を実行させ、該実行により得る処理結果を送出する制御手段と、
     を備えるデータ処理装置。
  2.  前記一又は複数の処理手段はそれぞれ、前記制御手段から送出されたデータに前記部分処理を施して得る部分処理結果を前記制御手段に送出し、
     前記制御手段は、いずれか一の処理手段から送出された前記部分処理結果を示すデータを前記処理フローに従って次の処理手段に送出することで、前記一又は複数の処理手段に前記部分処理を実行させる、
     請求項1に記載のデータ処理装置。
  3.  前記機器から繰り返し送信されて前記通信手段によって受信されるデータに前記部分処理を施して得る前記部分処理結果を、部分処理の入出力データを識別するためのラベルと関連付けて記憶する記憶手段、をさらに備え、
     前記制御手段は、前記部分処理結果に関連付けられた前記ラベルと前記処理フローとを参照して、該部分処理結果を示すデータの送出先である前記次の処理手段を決定する、
     請求項2に記載のデータ処理装置。
  4.  前記一又は複数の処理手段の少なくとも1つは、プラグインソフトウェアで実現される、
     請求項1から3のいずれか一項に記載のデータ処理装置。
  5.  前記制御手段は、前記処理フローの実行を、前記プラグインソフトウェアで実現される前記処理手段を介したデータの伝送量に応じて制限する、
     請求項4に記載のデータ処理装置。
  6.  前記制御手段は、前記処理フローの実行を、データ処理装置と前記機器との間におけるデータの伝送量に応じて制限する、
     請求項1から5のいずれか一項に記載のデータ処理装置。
  7.  前記制御手段は、前記処理フローの実行を、予め設定された時刻から経過した時間の長さに応じて制限する、
     請求項1から6のいずれか一項に記載のデータ処理装置。
  8.  前記機器から送信されるデータは、センサによるセンシング結果を含む、
     請求項1から7のいずれか一項に記載のデータ処理装置。
  9.  前記通信手段は、前記制御手段から送出される前記処理結果を示す情報を出力する出力手段、を備え、
     前記出力手段は、前記処理結果を示す情報として、前記機器と、該機器とは異なる他の機器と、の少なくとも一方に対する動作指令を出力する、
     請求項1から8のいずれか一項に記載のデータ処理装置。
  10.  データを受信し、
     受信したデータに施される処理フローの設定を受け付け、
     前記処理フローを構成する部分処理を実行する一又は複数の処理手段のうちのいずれかに、受信したデータを送出して、前記処理フローに対応する順で前記一又は複数の処理手段に前記部分処理を実行させ、該実行により得る処理結果を送出する、
     ことを含むデータ処理方法。
  11.  コンピュータに、
     データを受信し、
     受信したデータに施される処理フローの設定を受け付け、
     前記処理フローを構成する部分処理を実行する一又は複数の処理手段のうちのいずれかに、受信したデータを送出して、前記処理フローに対応する順で前記一又は複数の処理手段に前記部分処理を実行させ、該実行により得る処理結果を送出する、
     ことを実行させるためのプログラム。
PCT/JP2018/015473 2018-04-13 2018-04-13 データ処理装置、データ処理方法及びプログラム WO2019198221A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2019559126A JPWO2019198221A1 (ja) 2018-04-13 2018-04-13 データ処理装置、データ処理方法及びプログラム
DE112018007472.2T DE112018007472T5 (de) 2018-04-13 2018-04-13 Datenverarbeitungsgerät, Datenverarbeitungsverfahren und Programm
CN201880092143.6A CN111954866A (zh) 2018-04-13 2018-04-13 数据处理装置、数据处理方法及程序
PCT/JP2018/015473 WO2019198221A1 (ja) 2018-04-13 2018-04-13 データ処理装置、データ処理方法及びプログラム
US17/045,995 US20210041859A1 (en) 2018-04-13 2018-04-13 Data processing device, data processing method and program
TW108111601A TW201944341A (zh) 2018-04-13 2019-04-02 資料處理裝置、資料處理方法及程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/015473 WO2019198221A1 (ja) 2018-04-13 2018-04-13 データ処理装置、データ処理方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2019198221A1 true WO2019198221A1 (ja) 2019-10-17

Family

ID=68163371

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/015473 WO2019198221A1 (ja) 2018-04-13 2018-04-13 データ処理装置、データ処理方法及びプログラム

Country Status (6)

Country Link
US (1) US20210041859A1 (ja)
JP (1) JPWO2019198221A1 (ja)
CN (1) CN111954866A (ja)
DE (1) DE112018007472T5 (ja)
TW (1) TW201944341A (ja)
WO (1) WO2019198221A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021176983A1 (ja) * 2020-03-04 2021-09-10 オムロン株式会社 ビジュアルプログラミングの補助方法、プログラム及びビジュアルプログラミング補助装置
JP2021144651A (ja) * 2020-03-13 2021-09-24 株式会社安川電機 生産システム、データ送信方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014155A (ja) * 1999-07-01 2001-01-19 Japan Radio Co Ltd ソフト部品実行制御装置
US20070179900A1 (en) * 2006-01-05 2007-08-02 Alcatel Lucent License protection system, billing system therewith, and method for licensing a software
JP2011008376A (ja) * 2009-06-24 2011-01-13 Hitachi High-Tech Control Systems Corp プロセス制御システムにおける制御プログラム生成装置及びプロセス制御方法
JP2011023820A (ja) * 2009-07-13 2011-02-03 Ricoh Co Ltd 画像形成装置、画像処理装置、画像処理システム、画像処理方法、プログラム、及び記録媒体
JP2013242669A (ja) * 2012-05-18 2013-12-05 Omron Corp 画像処理システム、画像処理装置および情報処理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962637A (ja) * 1995-08-28 1997-03-07 Hitachi Ltd プログラム実行管理方法
JP3827051B2 (ja) * 1999-03-26 2006-09-27 オムロン株式会社 ツール装置及びネットワークシステム構築方法並びに記録媒体
US7865835B2 (en) * 2007-10-25 2011-01-04 Aquatic Informatics Inc. System and method for hydrological analysis
JP2009187099A (ja) * 2008-02-04 2009-08-20 Fuji Xerox Co Ltd 情報処理装置およびプログラム
US8694959B2 (en) * 2008-09-30 2014-04-08 Ics Triplex Isagraf Inc. Multi language editor
CN105843684B (zh) * 2009-02-13 2020-03-03 起元技术有限责任公司 管理任务执行
JP2010237895A (ja) * 2009-03-31 2010-10-21 Hitachi Automotive Systems Ltd 車載電子制御装置,制御ソフトウェアおよび制御ソフトウェアの開発ツール
US20160274646A1 (en) * 2012-02-21 2016-09-22 Omniboard, Inc. System and Method for a Database Layer for Managing a Set of Energy Consuming Devices
DE112014001381T5 (de) * 2013-03-15 2016-03-03 Fisher-Rosemount Systems, Inc. Emerson Process Management Datenmodellierungsstudio
EP3092557B1 (en) * 2013-12-05 2024-03-27 AB Initio Technology LLC Managing interfaces for dataflow graphs composed of sub-graphs
JP6217491B2 (ja) * 2014-03-27 2017-10-25 村田機械株式会社 搬送制御システム及びデータ処理装置
US9525599B1 (en) * 2014-06-24 2016-12-20 Google Inc. Modeling distributed systems
US9804830B2 (en) * 2014-12-19 2017-10-31 Signalfx, Inc. Anomaly detection using a data stream processing language for analyzing instrumented software
KR102092721B1 (ko) * 2016-03-23 2020-04-23 포그혼 시스템스 인코포레이티드 실시간 데이터플로우 프로그래밍에서 패턴 구동형 반응의 구성
WO2019147986A1 (en) * 2018-01-26 2019-08-01 Ge Inspection Technologies, Lp Determination of virtual process parameters

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014155A (ja) * 1999-07-01 2001-01-19 Japan Radio Co Ltd ソフト部品実行制御装置
US20070179900A1 (en) * 2006-01-05 2007-08-02 Alcatel Lucent License protection system, billing system therewith, and method for licensing a software
JP2011008376A (ja) * 2009-06-24 2011-01-13 Hitachi High-Tech Control Systems Corp プロセス制御システムにおける制御プログラム生成装置及びプロセス制御方法
JP2011023820A (ja) * 2009-07-13 2011-02-03 Ricoh Co Ltd 画像形成装置、画像処理装置、画像処理システム、画像処理方法、プログラム、及び記録媒体
JP2013242669A (ja) * 2012-05-18 2013-12-05 Omron Corp 画像処理システム、画像処理装置および情報処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021176983A1 (ja) * 2020-03-04 2021-09-10 オムロン株式会社 ビジュアルプログラミングの補助方法、プログラム及びビジュアルプログラミング補助装置
CN115176222A (zh) * 2020-03-04 2022-10-11 欧姆龙株式会社 视觉编程的辅助方法、程序以及视觉编程辅助装置
CN115176222B (zh) * 2020-03-04 2023-06-20 欧姆龙株式会社 视觉编程的辅助方法、存储介质以及视觉编程辅助装置
JP7456199B2 (ja) 2020-03-04 2024-03-27 オムロン株式会社 ビジュアルプログラミングの補助方法、プログラム及びビジュアルプログラミング補助装置
JP2021144651A (ja) * 2020-03-13 2021-09-24 株式会社安川電機 生産システム、データ送信方法、及びプログラム

Also Published As

Publication number Publication date
JPWO2019198221A1 (ja) 2020-04-30
TW201944341A (zh) 2019-11-16
US20210041859A1 (en) 2021-02-11
CN111954866A (zh) 2020-11-17
DE112018007472T5 (de) 2021-02-11

Similar Documents

Publication Publication Date Title
CN110050237B (zh) 数据收集装置、数据收集方法及记录介质
JP5024624B2 (ja) フィールド機器管理装置、フィールド機器管理システム、フィールド機器管理方法、コンピュータプログラム、記録媒体
WO2019198221A1 (ja) データ処理装置、データ処理方法及びプログラム
CN111198790A (zh) 机器人测试方法、机器人测试装置及机器人
JP6644202B1 (ja) データ処理装置、データ処理システム、データ処理方法及びプログラム
US8301273B2 (en) Method for providing functions in an industrial automation system, control program and industrial automation system
EP2492765A2 (en) Extraction of a Foundation Fieldbus Device Information for Enhanced Device Selection and Data Validation
KR101072380B1 (ko) 인터넷기반 업무관리 시스템
JP6285473B2 (ja) 通信設定通知装置
JP6833109B1 (ja) データ収集装置、データ収集方法及びプログラム
JP6262064B2 (ja) 遠隔操作装置、遠隔操作システム
WO2017212592A1 (ja) プログラマブル表示器
EP2757803B1 (en) Field device and communication system
US9336181B2 (en) Retrieval of measured values, diagnostic information or device parameters
US11442741B2 (en) Method for expanding a functionality of a field device
JP6790309B1 (ja) データ処理装置、データ送信方法及びプログラム
JP6746003B2 (ja) 管理装置、管理方法及びプログラム
EP3748440B1 (en) Workflow of an apparatus
WO2014080491A1 (ja) プログラマブル表示器
JP5619312B2 (ja) データ処理装置およびその制御方法
JP2015185083A (ja) 機器管理装置および機器管理方法
CN110879715A (zh) 一种基于嵌入式会议系统的远程更新方法及其装置
CN114415606A (zh) 控制方法和系统
US20120239168A1 (en) Virtual communication relationship information extraction, availability determination and validation from foundation fieldbus device description files
JP2014120986A (ja) スレーブ機器

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019559126

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18914079

Country of ref document: EP

Kind code of ref document: A1