WO2017077887A1 - エンジニアリングツール、システムおよびモジュール - Google Patents

エンジニアリングツール、システムおよびモジュール Download PDF

Info

Publication number
WO2017077887A1
WO2017077887A1 PCT/JP2016/081335 JP2016081335W WO2017077887A1 WO 2017077887 A1 WO2017077887 A1 WO 2017077887A1 JP 2016081335 W JP2016081335 W JP 2016081335W WO 2017077887 A1 WO2017077887 A1 WO 2017077887A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
spreadsheet
web
engineering tool
exemplary embodiment
Prior art date
Application number
PCT/JP2016/081335
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 JP2017548709A priority Critical patent/JP6351869B2/ja
Priority to CN201680063767.6A priority patent/CN108351636B/zh
Priority to KR1020187011834A priority patent/KR101936027B1/ko
Publication of WO2017077887A1 publication Critical patent/WO2017077887A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Definitions

  • Exemplary embodiments disclosed herein relate to apparatus, systems, and methods for processing data obtained from equipment such as, for example, industrial robots, machine tools, factory automation (FA) equipment including embedded equipment.
  • equipment such as, for example, industrial robots, machine tools, factory automation (FA) equipment including embedded equipment.
  • FA factory automation
  • FA factory automation
  • plant equipment operators can use the World Wide Web to perform a variety of tasks such as monitoring plant equipment and processing factory equipment data.
  • network computer systems such as connected computer systems (web-based computer systems) are used.
  • common methods of building web-based computer systems include programs for communicating with information technology (IT) systems, programs for communicating with factory equipment, programs for data processing, on the web
  • Various programs such as a program for displaying and executing processing data are separately created, and these separately created programs are set to communicate with each other via a communication protocol.
  • web-based technology Since web-based technology is used all over the world, web-based technology has come to be used to visualize factory equipment and perform information processing operations.
  • FIG. 16 shows a web-based system for processing data obtained from FA devices according to related technology.
  • the web-based system 1600 includes a real device 1603 and a programming environment 1623 (eg, tools used to write code, verify code validity, and compile code for execution on a particular target platform. ).
  • a programming environment 1623 eg, tools used to write code, verify code validity, and compile code for execution on a particular target platform.
  • the real device 1603 includes a program execution space 1605 including a data processing program 1607 and a communication program 1609 with an external device, and a web server 1615.
  • the data processing program 1607 executes various data processing operations such as data selection, aggregation, conversion (scaling, etc.) and determination (business logic), and communicates with the web server 1615, and the web server 1615 communicates with the web client 1619.
  • Data processing program 1607 is also in communication with coding environment 1617.
  • a communication program 1609 with an external device can communicate with various systems using various communication protocols.
  • a communication program 1609 with an external device communicates with the IT system 1611 using a communication protocol such as HTTP, FTP, or JDBC, and uses RS-232C, Ethernet (registered trademark), or low-level I / O. It communicates with factory automation (FA) equipment 1613.
  • a communication program 1609 with an external device further communicates with the coding environment 1617.
  • the programming environment 1623 includes a coding environment 1617 that is an environment for creating computer code for executing the above processing.
  • the user uses the coding environment 1617 to (1) code based on C language for communicating with factory equipment, (2) code based on Java (registered trademark) for communicating with the IT system 1611, (3) web Including HTML, JavaScript, or PHP based code for applications, (4) SQL based code for accessing databases, (5) Lua based code for describing business logic, at least Create five types of computer code. In certain situations, more than 5 types of codes may be required.
  • the coding environment 1617 uses these created codes to use a data processing program 1607, a communication program 1609 with an external device, and a web for the World Wide Web. Communicate with file 1621.
  • a person who constructs and operates the web-based system 1600 is various in order to create various computer codes suitable for processing data of each FA device.
  • the operator of the web-based system 1600 needs to have highly specialized knowledge not only about the FA system itself, but also other systems including the IT system 1611 and web client 1619 that interact with the FA system.
  • the operator of the web-based system 1600 needs to know how to continuously combine data processing operations and communication processing operations, which can be a very complex process.
  • Roseman, US Pat. No. 5,038,318, discloses a programmable logic controller that directs automatic operation of a machine tool and a processing device.
  • Bedard U.S. Patent Application No. 2014/0149836 discloses a method for receiving a dashboard container file that includes a spreadsheet file and a dashboard structure file, the spreadsheet file and the dashboard structure file being respectively text-based. Is converted into a language-independent data exchange format, so that data indicative of dashboard characteristics can be provided using the converted spreadsheet and dashboard files.
  • aspects of this exemplary embodiment aim to solve these and / or other problems with related art web-based systems for processing FA device data. However, aspects of this exemplary embodiment are not necessarily to solve the above problems.
  • the engineering tool may include a spreadsheet data generation unit configured to generate spreadsheet data in a data description language and transmit the spreadsheet data to the controller.
  • the engineering tool may further include a flowchart editor configured to receive input for editing a process sequence of the flowchart and to edit the definition based on the input.
  • the engineering tool may further include a web display file generation unit configured to generate a web file based on the edited definition.
  • the engineering tool may be configured to simultaneously display the spreadsheet and a data model including information about the device on a display.
  • the engineering tool may be configured to simultaneously display the spreadsheet and a flowchart related to the spreadsheet on a display.
  • the spreadsheet editor converts cell data included in the cells of the spreadsheet from a first format to a second format, concatenates the converted data, and transmits the concatenated data to an external system. It may be further configured.
  • the spreadsheet editor receives linked data from the external system, unlinks the data, converts the unlinked data from the second format to the first format, and converts the converted data to
  • the data model stored in the external system may be further transmitted to a program or an apparatus that controls the data model.
  • the spreadsheet editor generates response intermediate data by parsing the response message received from the external system, and generates template intermediate data and mapping data by parsing the template received from the external system.
  • the difference data is generated by extracting the difference between the response intermediate data and the template intermediate data, the difference data is mapped to the final data based on the mapping data, and the final data is controlled by the data model. It may be further configured to transmit to the program or device.
  • the engineering tool further comprises a third party application and an input / output (I / O) configuration interface configured to give the third party application access to at least one function of the engineering tool. May be included.
  • I / O input / output
  • the engineering tool may further include a profile execution unit configured to generate a data model related to the spreadsheet based on a profile definition and link the data model to the spreadsheet.
  • a system configured to process data, displaying a spreadsheet containing device data and executing a spreadsheet program based on the data
  • a spreadsheet editor configured to generate a spreadsheet setting as an execution result
  • a module file generation unit configured to generate a module file that may be a script file based on the spreadsheet setting
  • an external device access settings editor configured to generate a settings screen based on the data description language, and data configured to generate settings for the entire data model based on the data models of multiple external devices
  • An engineering tool including a model information management unit, and Separately from the spreadsheet editor for executing the spreadsheet program, a module file execution unit configured to execute the module file, and acquiring device information of the plurality of external devices, and based on the device information
  • An external device execution unit configured to generate the data model, and a driver solver configured to generate an interface that allows access to the device data of the external device based on the entire data model; , And a controller.
  • the engineering tool may further include a data model structure editor configured to receive user input and edit one structure of the data model based on the user input.
  • the spreadsheet editor may be further configured to generate the spreadsheet settings based on the entire data model.
  • the engineering tool may further include a web display file generator configured to generate a web file based on the spreadsheet settings, and the controller is configured to exchange the web file with a web client.
  • a web server may be further included.
  • a spreadsheet is an engineering tool for generating a module file that is executed by a controller to control an instrument connected to the controller, the instrument including data on the instrument
  • a spreadsheet editor configured to generate a spreadsheet setting as an execution result by executing a spreadsheet program based on the data and generating the module file based on the spreadsheet setting
  • An engineering tool including a module file generation unit configured as described above is provided.
  • a module for controlling equipment connected to the controller based on a module file used by the controller and generated by an engineering tool based on a spreadsheet.
  • a module file execution unit configured to execute the module file separately from the engineering tool is provided, and the controller is provided with a module for controlling the device according to the execution of the module file execution unit.
  • FIG. 4 is an illustration of a web-based system for processing data according to a third exemplary embodiment.
  • FIG. 4 is an illustration of a web-based system for processing data according to a fourth exemplary embodiment.
  • FIG. 5 is an illustration of a web-based system for processing data according to a fifth exemplary embodiment.
  • Illustration of a web-based system for processing data according to a sixth exemplary embodiment FIG. 7 is an illustration of a web-based system for processing data according to a seventh exemplary embodiment
  • FIG. 8 is an illustration of a web-based system for processing data according to an eighth exemplary embodiment.
  • FIG. 9 is an illustration of a web-based system for processing data according to a ninth exemplary embodiment Illustration of a web-based system for processing data according to a tenth exemplary embodiment
  • FIG. 11 is an illustration of a web-based system for processing data according to an eleventh exemplary embodiment. Illustration of a web-based system for processing data according to a twelfth exemplary embodiment Illustration of a web-based system for processing data according to a thirteenth exemplary embodiment Illustration of a web-based system for processing data according to a fourteenth exemplary embodiment Illustration of a web-based system for processing data according to a fifteenth exemplary embodiment Illustration of a web-based system for processing data according to related technology FIG.
  • FIG. 4 illustrates an example screenshot showing the status of a factory automation (FA) device, according to an exemplary embodiment.
  • FIG. 4 illustrates an example screenshot showing the status of a factory automation (FA) device, according to an exemplary embodiment.
  • FIG. 4 is a diagram illustrating an example of a data model according to an exemplary embodiment.
  • FIG. 5 is a diagram illustrating an example of warning information according to an exemplary embodiment.
  • Figure showing a spreadsheet according to an exemplary embodiment Figure showing a spreadsheet according to an exemplary embodiment
  • FIG. 3 illustrates an email according to one exemplary embodiment.
  • FIG. 5 is a diagram illustrating an example of a screen including a data model according to an exemplary embodiment.
  • FIG. 6 illustrates an example of a screen that includes a data model according to an exemplary embodiment.
  • FIG. 7 illustrates an example of a flowchart according to an exemplary embodiment.
  • FIG. 3 illustrates an example of a hardware device that implements an aspect of a web-based system, according to an exemplary embodiment.
  • an operator of a factory automation (FA) device such as an industrial robot, machine tool, or embedded device controls the FA device and processes data obtained from the FA device.
  • a web-based system for enhancing capabilities is provided.
  • the exemplary embodiment is not limited to the FA device, and can be applied to various other types of devices that are directly or indirectly connected to each other through various networks.
  • the exemplary embodiments include the Internet, the Internet of Things (IoT), a local area network (LAN), a wide area network (WAN), a cellular network, a Bluetooth network, and near field communication. It can be used to control (NFC) networks and devices connected via various other types of networks.
  • IoT Internet of Things
  • LAN local area network
  • WAN wide area network
  • Bluetooth network a cellular network
  • NFC near field communication
  • Equipment includes all types of equipment that can be connected to a network, such as home automation system equipment (eg, refrigerators, dishwashers, televisions, air conditioning, lighting, etc.). Aspects of each exemplary embodiment are applicable not only to industrial uses, but also to personal uses (eg, hobbies) and are not limited to specific types of uses.
  • home automation system equipment eg, refrigerators, dishwashers, televisions, air conditioning, lighting, etc.
  • Terms such as “information”, “data”, “definition”, and other similar terms are used in the description of the exemplary embodiments, but broadly refer to various types of information, data, and definitions And is not limited to a particular context.
  • the term “information” or “data” refers to information or data relating to a fixed feature (eg, identification information) of an electronic device, dynamically changing status information (eg, power level, performance information, cycles / second, Ink level, memory storage level, other set values), connection information (eg, Wi-Fi, cellular, intranet, internet, etc.), location information (eg, fixed location information, GPS coordinates), financial information, and electronic devices It can mean various other types of information that are directly and indirectly related.
  • a fixed feature eg, identification information
  • dynamically changing status information eg, power level, performance information, cycles / second, Ink level, memory storage level, other set values
  • connection information eg, Wi-Fi, cellular, intranet, internet, etc.
  • location information eg, fixed
  • the term “definition” may broadly refer to any type of information described in, for example, a spreadsheet cell.
  • a description can have various meanings depending on the context in which the description is given. In the spreadsheet environment, the type of meaning of the description in each cell changes depending on the context of each description.
  • the term “definition” can mean a description of information in a spreadsheet cell, regardless of the particular context. In other words, the “definition” can be a description that is broadly independent of the information context of the spreadsheet cell.
  • a “definition” can be, for example, a mathematical or business logic definition (eg, a SUM function or conditional logic function (IF, ELSE, etc.)), attribute, array, setting, rule (eg, algorithm), or It may define other characteristics of the device and the information of the device itself.
  • a mathematical or business logic definition eg, a SUM function or conditional logic function (IF, ELSE, etc.)
  • attribute eg, array, setting, rule (eg, algorithm)
  • rule eg, algorithm
  • It may define other characteristics of the device and the information of the device itself.
  • the exemplary embodiments are described in connection with factory equipment, the exemplary embodiments are not limited thereto, and include personal electronic devices, home automation and consumer electronics, automotive devices, and various other types of electronic devices. It can be implemented in accordance with various other types of equipment including devices or non-electronic devices.
  • an engineering tool is used to create a setup screen for display on a web-based system.
  • the setup screen may be a spreadsheet application similar to an Excel document, but is not necessarily an Excel document.
  • the system is created based on a type of spreadsheet, uses the spreadsheet to perform calculations, uses graphs to provide visualization, creates and modifies process sequences, and uses process sequences Control or inspect equipment.
  • a web-based system facilitates a user of a web-based system to obtain data for various data processing and monitoring operations (eg, generate a graph of device performance).
  • This web-based system can be connected to a variety of devices, such as a programmable logic controller (PLC), a mail server, and other devices.
  • PLC programmable logic controller
  • a web-based system user wants to connect to a sequencer (for example, an electromechanical system that automatically controls a series of events, such as the operating sequence of factory equipment), the data stored in the sequencer Is displayed.
  • DB database
  • DB database
  • the web-based system includes three main features.
  • the first feature is the data model, which allows the user to access and manipulate data from various external devices such as sequencers, databases, and mail servers using the same simple technology.
  • the term “data model” is a general term that refers to an object model, which is described with data and is configured to have a data structure that logically arranges the data.
  • the data model can include all data that can be extracted from the machine, including internal statistics and records maintained by the machine, and other types of data stored by the machine. Examples of the data model (first feature) are shown in FIG. 19, FIG. 24, and FIG.
  • a data model 1900 shown in FIG. 19 is represented as “object browser”. As shown in FIG.
  • the screen 2400 includes a data model 2402 (“object browser”), which is an example of a data model related to a database (eg, “AzureDB”), and access that enables access to the database AzureDB.
  • Settings 2404 are included.
  • the screen 2500 includes a data model 2502 (“object browser”) that is an example of a data model related to a CPU (eg, “LCPU”), and further includes an access setting 2504 that enables access to the LCPU.
  • Data models 1900, 2402, and 2502 are used to organize information about dissimilar hardware. Various types of data models are possible and can be used for information indicating the status of factory automation (FA) equipment, such as exemplary information 1700 (FIG. 17) and 1800 (see FIG. 18). 19, 24, and 25 exemplify “object browser” as the data model, the exemplary embodiment is not limited to using “object browser” as the data model, and the data model is visually And logically, it can be implemented in various other ways.
  • FA factory automation
  • the second feature is a spreadsheet, which allows a user to easily write a program for processing information, a program for transferring information between databases, and a program for visualizing data.
  • FIGS. An example of a spreadsheet screen generated by a web-based system according to one exemplary embodiment is shown in FIGS.
  • the generation screen of FIG. 21 is a spreadsheet including status information 2102 that is exemplified as “Alarm Check” mode and indicates the status of various devices (for example, ink level, battery status, cooling fan time).
  • the generation screen of FIG. 22 is a spreadsheet exemplified as “Send Alarm” mode, and includes warning information 2202 indicating the status of warning levels of various devices.
  • the email further includes a link 2304 that links to the spreadsheet shown in FIG. FIG. 20 also shows warning information 2000.
  • the user can not only move the data from the database to the cell shown on the screen, but also export the data from the cell to the database.
  • the user can also use the input / output function to calculate a specific value and visually display the item.
  • the spreadsheet executes a program for bringing in values from an external device (for example, a sequencer, a printer, a machine tool, a personal electronic device, a household electric appliance, etc.), and causes an abnormality in various devices. May be detected.
  • the abnormality detection program is executed by calculation in a spreadsheet. All of the current status data may be inserted into one of the columns (eg, column E in FIG. 21), and the web-based system detects the difference by comparing the current status data with the previous or normal value.
  • the result of the abnormality detection program can be sent as an output to the mail server. For example, a message indicating the abnormality detection result may be output by e-mail. As shown in FIG.
  • the actual mail content seen by the e-mail recipient is connected to the spreadsheet via a link 2304.
  • the actual mail content may include not only the presence of an abnormality but also a specific value of an abnormality (for example, an abnormality of a cooling fan, an abnormality of an ink level, etc.). As a result, the operator of the web-based system is always notified of an abnormality without knowing the C language.
  • the third feature is the flowchart, and the spreadsheet has specific advantages and disadvantages, so the spreadsheet is supplemented and enhanced by the flowchart.
  • An example of a flowchart (third feature) generated by a web-based system according to one exemplary embodiment is shown in FIG.
  • Spreadsheets eg, FIGS. 21 and 22
  • spreadsheets have certain advantages and disadvantages.
  • spreadsheets have the advantage of being able to perform calculations efficiently, but have the disadvantage that it may be difficult to determine the priority or order of calculations using only the spreadsheet.
  • spreadsheets are disadvantageous with respect to causality, ie the if ⁇ then operation.
  • Flowcharts can control spreadsheet functions such as performing calculations, inputting data from the data model, and outputting data to the data model.
  • a flowchart is useful because a spreadsheet may not be able to describe the timing of calculations and data input / output functions.
  • the spreadsheet must be given data and execution triggers.
  • the timing may be defined as the time when the user inputs data by default.
  • the process is not manipulated by humans, so it may be necessary or desirable to define a specific timing instead of the default timing when the user enters data. Therefore, by combining the second feature and the third feature, the user may be able to more easily process and manipulate data transmitted / received to / from an external device (for example, an FA device).
  • an external device for example, an FA device
  • the exemplary embodiments are not limited to using flowcharts, but instead may use configuration tables and other mechanisms (eg, lists or grids) that describe the relationship between operations and information. To do.
  • the flowchart 2600 includes a series of operations for processing data.
  • a data processing operation is started.
  • data is copied from one column of the spreadsheet to another.
  • data is copied from cells G2 to G9 (“Current”) and inserted into cells F2 to F9 (“Previous”).
  • data is input from the physical device.
  • data is input from the LCPU to cells E2 to E9 (“Current (Raw)”).
  • a calculation is performed. For example, abnormality detection is performed based on a comparison between “Current (Raw)” data and “Previous” data.
  • a user can set a trigger timing to execute a specific operation at a predetermined interval.
  • the trigger timing can be set by the user, and the specific operation shown in FIG. 26 can be executed at predetermined intervals (for example, 1 second, 5 seconds, 10 seconds, 1 minute, 1 hour, etc.).
  • the user may interact with the flowchart without using a spreadsheet, in which case the script generation process is modified to omit the script portion for the spreadsheet.
  • the flowchart elements are configured to be manipulated by a graphical action (eg, drag and drop action, etc.).
  • a graphical action eg, drag and drop action, etc.
  • drag-and-drop operations and other types of operations can be used to rearrange or modify various processes or decisions in the flowchart.
  • data can be inserted into flowchart elements in various ways.
  • the cell range selection dialog may function in the same or exactly the same way as Microsoft Excel.
  • the web-based system enables an FA engineer to construct an information processing system without knowing the program language.
  • the web-based system is based on Microsoft Excel®
  • a user of the web-based system can use Microsoft Excel® to use the web-based system. Basically you only need to be familiar with it.
  • web-based systems use templates, so web-based system users do not even need to be familiar with Microsoft Excel to use web-based systems. .
  • FIG. 27 shows a hardware configuration of a web-based system according to an exemplary embodiment.
  • the hardware configuration 2700 includes a reference template application part package 2702, a web browser 2704, a spreadsheet-based human machine interface (HMI) builder 2706, and an information sharing platform 2708.
  • a device 2710 eg, a device having a data model already defined by a profile and standardization scheme
  • PLC programmable logic controller
  • OPC-UA client / server 2716 and a remote It includes a terminal 2718, a remote system 2720, a cloud 2722, and an analysis service 2726.
  • the information sharing platform 2708 may be implemented as hardware, software, or a combination thereof, and may be provided as various other types (for example, a combination of a hardware device and development code).
  • the device 2710 may be of various types such as a printer, an ink level sensor, a cooling fan, an assembly line device, a personal electronic device, and a home appliance.
  • the information sharing platform 2708 when the information sharing platform 2708 is realized as a factory automation (FA) device, the information sharing platform 2708 can be executed by a programmable logic controller, a C controller (a C language format program based on the MELSEC system architecture, It may be realized as an open platform controller), a kind of human machine interface (HMI), graphic operation terminal (GOT), computer numerical controller (CNC), or other type of FA equipment.
  • the information sharing platform 2708 when the information sharing platform 2708 is realized as a non-FA device, the information sharing platform 2708 may be realized as a point-of-sale information management (POS) terminal.
  • POS point-of-sale information management
  • the information sharing platform 2708 can be realized as various other types of devices.
  • Each of these hardware devices may be configured to interact with each other in various ways to take advantage of the features of this exemplary embodiment.
  • a reference template application part package 2702, a web browser 2704, and a spreadsheet-based HMI builder 2706 may be used to generate a flow diagram and spreadsheet 2728.
  • remote terminal 2718 and remote system 2720 may process data and control factory automation (FA) equipment by accessing a flow diagram and spreadsheet 2728 via cloud 2722.
  • FA factory automation
  • these hardware devices are merely examples, and various types of hardware devices may be used in accordance with the present exemplary embodiment instead of or in addition to the hardware devices shown in FIG. .
  • a web-based system can be incorporated into the sequencer.
  • a web-based system can be implemented as a specially configured combination of hardware and software included in a PC, tablet device, or smartphone.
  • a microprocessor, memory device, storage device, Ethernet port, or combination of devices capable of communicating with other devices based on the IP protocol may be utilized.
  • Various other hardware and software combinations are possible according to other exemplary embodiments.
  • a web-based system according to an exemplary embodiment may be implemented in one or a combination of these various hardware devices.
  • FIG. 28 is an example of a hardware device that implements an aspect of a web-based system according to an exemplary embodiment.
  • the hardware device 2800 executes an input module 2802 that receives an input (for example, data indicating the status of the machine) and performs a specified process, and controls the entire operation of the hardware device 2800.
  • a central processing unit (CPU) 2804 a memory 2806 for storing received input, other data, programs, and other types of information, an output module 2808 for outputting the results of processing executed by the CPU 2804, and an input module 2802, CPU 2804, memory 2806, and power supply unit 2810 for supplying power to the output module 2808.
  • CPU central processing unit
  • FIG. 28 illustrates input module 2802 and output module 2808 as different modules, according to some exemplary embodiments, input module 2802 and output module 2808 may be implemented within the same module. .
  • the hardware device 2800 can be implemented as a programmable logic controller (PLC), but is not limited thereto.
  • PLC programmable logic controller
  • hardware device 2800 may be implemented as various types of devices other than PLCs, such as home automation system devices, smartphones, tablets, cameras, automotive devices, and the like.
  • PLC programmable logic controller
  • the hardware device 2800 can be implemented in various ways.
  • FIG. 1 shows an overview of the structure of a web-based system according to some of the exemplary embodiments.
  • each exemplary embodiment is specific in that it can use a unique combination of specific processing units of the web-based system shown in FIG. 1 depending on the specific function and purpose of the exemplary embodiment.
  • the exemplary embodiments are differentiated from each other. It will be appreciated by those skilled in the art that the various exemplary embodiments can be combined in various ways. For example, various functions may be realized by combining different combinations of the processing apparatuses illustrated in FIGS. 1 to 15 by various methods.
  • the web-based system 100 includes an actual device 102 (for example, a PLC module) and an engineering tool 140 (for example, a PC, a tablet, a smartphone, or other computer apparatus).
  • an actual device 102 for example, a PLC module
  • an engineering tool 140 for example, a PC, a tablet, a smartphone, or other computer apparatus.
  • the engineering tool 140 includes a flowchart editor 142 (eg, “flowchart editor”), a spreadsheet editor 144 (eg, “spreadsheet editor”), a data model structure editor 146 (eg, “data model structure editor”), External device access setting editor 148 (for example, “external device access setting editor”), web display file generation unit 150 (for example, “web display file generation unit”), executable module file generation unit 151, data A model information management unit 154 (for example, a “data model information management unit”).
  • a flowchart editor 142 eg, “flowchart editor”
  • spreadsheet editor 144 eg, “spreadsheet editor”
  • data model structure editor 146 eg, “data model structure editor”
  • External device access setting editor 148 for example, “external device access setting editor”
  • web display file generation unit 150 for example, “web display file generation unit”
  • executable module file generation unit 151 for example, data
  • data A model information management unit 154 for example, a “
  • the flowchart editor 142 is configured to generate and edit flowcharts.
  • An example of the flowchart to be edited is the flowchart 2600 illustrated in FIG. 26, but the exemplary embodiment is not limited thereto, and various types of flowcharts may be created and edited.
  • the flowchart editor 142 receives and receives input from the user using an input device (eg, keyboard, touch screen, etc.) connected to the engineering tool 140 as described above with respect to FIG. Edit the flowchart based on the input.
  • the flowchart editor 142 is further configured to generate a process sequence setting 156 (eg, “process sequence setting”) based on the edited flowchart.
  • the process sequence setting 156 describes details of the flowchart, that is, details of a series of events executed during the data processing operation. Details of the series of events include, for example, the number of actions and transitions in the flowchart, the relationship between actions and transitions, the specific circumstances that determine the output for a particular action in the flowchart, and other features of the flowchart. including.
  • the flowchart editor 142 is further configured to send the process sequence settings 156 to the spreadsheet editor 144.
  • Spreadsheet editor 144 is configured to edit the spreadsheet based on received process sequence settings 156 and received data model overall settings 162 (eg, “data model overall settings”).
  • An example of the spreadsheet to be edited is the spreadsheets 2100 and 2200 illustrated in FIGS. 21 and 22, but the exemplary embodiment is not limited thereto, and various types of spreadsheets may be edited.
  • the spreadsheet editor 144 edits the spreadsheet based on the edited flowchart. For example, if the flowchart is edited to change which cell is used during the calculation, the spreadsheet editor 144 changes the cell used during the calculation accordingly.
  • the spreadsheet editor 144 further generates a spreadsheet setting 158 (eg, “spreadsheet setting”) that includes information indicating edits to the spreadsheet, and the spreadsheet setting 158 and 160 is the web display file generator 150 and executable module. It is comprised so that it may transmit to the file generation part 151.
  • Spreadsheet settings 158 and 160 may be formatted differently. For example, the spreadsheet settings 160 may be optimized for internal processing, while the spreadsheet settings 158 may be optimized for use with the GUI.
  • the data model structure editor 146 is configured to edit the structure of the data model.
  • the data model provides a path to access the data.
  • an input device eg, keyboard, touch screen, etc.
  • Edit the data model based on it. For example, if a new machine is added to the factory operation (eg, printer, CPU, mail server), the new machine can be added to the data model based on a simple operation by the user.
  • users can reuse or recycle data models that have already been built. For example, a user can add a new printer by copying and editing an existing printer data model.
  • the data model structure editor 146 is further configured to transmit a data model setting structure 164 (eg, “data model setting structure”) to the data model information management unit 154.
  • a data model setting structure 164 eg, “data model setting structure”
  • the data model information management unit 154 is configured to receive the data model setting structure 164 from the data model structure editor 146 and receive the data model 176 of each external device from the execution unit 110 that accesses the external device. Based on the data model setting structure 164 and the data model 176 of each external device, the data model information management unit 154 generates the entire data model setting 162 (for example, the entire data model setting) and transmits it to the spreadsheet editor 144. Configured as follows. The data model information management unit 154 is further configured to transmit the entire data model setting 174 to the driver solver 108.
  • the entire data model settings 162 and 174 may be formatted differently from each other. For example, the entire data model setting 162 may be a subset of the entire data model setting 174 in a state where the entire data model setting 174 has all of the information about all the data models of each external device.
  • the overall settings 162 may have information for reference only.
  • the external device access setting editor 148 is configured to receive an external device access setting definition 166 (for example, “external device access setting definition”). Based on the external device access setting definition 166, the external device access setting editor 148 further generates an external device access setting 178 (for example, “external device access setting”) and accesses the external device. Configured to transmit to 110.
  • an external device access setting definition 166 for example, “external device access setting definition”.
  • the external device access setting editor 148 further generates an external device access setting 178 (for example, “external device access setting”) and accesses the external device. Configured to transmit to 110.
  • the web display file generation unit 150 generates a web display file 170 (for example, “web file”) based on the spreadsheet setting 158 received from the spreadsheet editor 144, and transmits the generated web display file 170 to the web server 104. Configured to do.
  • a web display file 170 for example, “web file”
  • the executable module file generation unit 151 is configured to receive the spreadsheet setting 160.
  • the executable module file generation unit 151 is further configured to generate an execution module file 171 based on the spreadsheet setting 160 and transmit the generated execution module file 171 to the module file execution unit 105.
  • the executable module file generation unit 151 performs the following series of operations. First, the executable module file generation unit 151 sorts the calculation order by solving the reference dependence state between cells. Next, the executable module file generation unit 151 converts, for example, a spreadsheet function such as “SUM” (for example, an Excel function) into a function of the target module file or a function executed in the execution environment of the target module file. To do.
  • a spreadsheet function such as “SUM” (for example, an Excel function)
  • the executable module file generation unit 151 describes the functions in the order solved in the first operation.
  • the execution module file 171 is an executable module file that enables access to an external device using a data model.
  • the executable module file is implemented as a script (eg, text).
  • the executable module file generation unit 151, the execution module file 171, and the module file execution unit 105 are illustrated and described as an execution script file generation unit 152, an execution script file 172, and a script execution unit 106, respectively. May be.
  • the exemplary embodiment is not limited to an executable module file that is a script, and throughout the exemplary embodiment, the executable module file is a Java class file (intermediate code), machine code, etc.
  • an executable module file may be configured as a file that is compatible at various levels (high level, intermediate level, low level, etc.) and is executable on a particular platform. Also good.
  • the real device 102 includes a world wide web (eg, “web”) server 104, a module file execution unit 105 (eg, “module file execution unit”), and a processor 108 (eg, “driver solver”) that accesses the data model. And an execution unit 110 (for example, “external device execution unit”) that accesses an external device.
  • the real device 102 may be implemented, for example, as a hardware device 2800 (see FIG. 28), in which case a CPU 2804 may be included, and the CPU 2804 may include a web server 104, a module, as described in more detail below. It may be specially configured to control the performance and functionality of the file execution unit 105, the driver solver 108, the execution unit 110 accessing external devices, and / or other components.
  • the web server 104 is configured to communicate with the web client 190.
  • Web server 104 is configured to send web display file 192 to web client 190, receive request message 194 from web client 190, and return response data 196 to web client 190.
  • Request message 194 may be used, for example, as part of an application programming interface (API) that requests device data
  • response data 196 may also be used as part of the API, for example, device data. It may be for obtaining.
  • API application programming interface
  • the module file execution unit 105 is configured to execute a module file (for example, a command list executable by a specific program) based on the execution module file 171.
  • the module file execution unit 105 is configured to receive the call 112 from the web server 104 and return the result 114 to the web server 104.
  • the module file execution unit 105 is further configured to send a request 116 to the driver solver 108 and receive response data 118 from the driver solver 108. Similar to request message 194 and response data 196, request 116 and response data 118 may be part of an API that exchanges data.
  • Driver solver 108 is configured to access the data model.
  • the driver solver 108 is configured to receive the request 116 from the module file execution unit 105 and send response data 118 back to the module file execution unit 105.
  • the driver solver 108 is further configured to receive the request 124 from the web server 104 and send response data 126 back to the web server 104.
  • the driver solver 108 is further configured to send the request 120 to the execution unit 110 accessing the external device and receive the response data 122 from the execution unit 110 accessing the external device.
  • the driver solver 108 is further configured to receive the setting 174 of the entire data model from the information management unit 154 of the data model.
  • the execution unit 110 that accesses the external device is configured to receive the request 120 from the driver solver 108 and return the response data 122 to the driver solver 108.
  • the execution unit 110 that accesses the external device is further configured to transmit the request message 128 to the external device 180 and receive the response data 130 from the external device 180.
  • the request 120 may be, for example, a request regarding details regarding the external device 180 (eg, the identity of the external device 180, the status of the external device 180, etc.), and the response data 122 may include the requested details. Good. Similar to request message 194 and response data 196, request 120 and response data 122 may be part of an API that exchanges data.
  • the execution unit 110 that accesses an external device may be realized as a port configured to communicate with the external device 180. Furthermore, the execution unit 110 that accesses the external device may be configured to receive the access setting 178 for the external device from the access setting editor 148 for the external device.
  • FIG. 1 shows a web-based system for processing data according to a first exemplary embodiment.
  • HMI human machine interface
  • a combination of the functions of the spreadsheet editor 144, the executable module file generation unit 151, and the module file execution unit 105 is used. Is converted into a module file (for example, an execution module file 171 such as a script), and the module file is executed. According to related techniques, editing and execution operations are combined when a user edits and executes a spreadsheet using spreadsheet software.
  • the result obtained from the spreadsheet program executed by the engineering tool 140 is a module file (e.g., executed by the real device 102 (e.g., PLC module)).
  • the module file 171) is converted, and the real device 102 can execute the module file. Therefore, editing and execution can be performed separately.
  • the user can describe complicated arithmetic processing by editing the spreadsheet, and the arithmetic processing can be separately executed by another device (for example, a device without a display). Since editing processing and module file execution processing are performed separately, hardware with abundant resources, such as a personal computer (PC), can be used for editing, and editing with another device that does not have abundant resources Module files can be executed. It should be noted that the device that executes the edited module file may have certain beneficial features such as increased processing power or bandwidth, low latency, or direct access to device data.
  • PC personal computer
  • the term “script” broadly means an intermediate communication medium used between an editing process and an execution process.
  • the script may be an executable module file configured to be executed in the execution environment of the controller in order for the controller to control the device.
  • various types of scripts can be used (eg, Lua, Javascript®, etc.).
  • a processor such as the CPU 2804 (FIG. 28) controls the performance of the spreadsheet editor 144, the executable module file generator 151, and the module file execution unit 105 when executing the above functions. It may be configured specially.
  • FIG. 2 shows a web-based system for processing data according to a second exemplary embodiment.
  • the main difference between the web-based system 200 according to the second exemplary embodiment and the web-based system 100 according to the first exemplary embodiment is that the web-based system 200 according to the second exemplary embodiment uses spreadsheet data.
  • the generation unit 204 for example, “spreadsheet data generation unit”
  • the spreadsheet execution unit 202 are included.
  • the other components in FIG. 2 having the same reference numerals as those shown in the previous drawings may be the same as those shown in the previous drawings, and detailed description thereof will be omitted.
  • the spreadsheet data generation unit 204 receives the spreadsheet setting 160 from the spreadsheet editor 144, and generates the spreadsheet data 206 based on the spreadsheet setting 160.
  • Spreadsheet data 206 is defined by a data description language such as XML, JavaScript (registered trademark) Object Notation (JSON), or other languages known to those skilled in the art.
  • the spreadsheet data generation unit 204 transmits the spreadsheet data 206 to the spreadsheet execution unit 202, and the spreadsheet execution unit 202 loads the spreadsheet data 206 and executes the calculation.
  • the main advantage of the second exemplary embodiment is that the results obtained from the spreadsheet program executed on the engineering tool 140 are stored as data defined by a data description language (eg, XML, JSON) 102 (for example, a PLC module).
  • a data description language eg, XML, JSON
  • the spreadsheet execution unit 202 of the real device 102 loads the data in a markup language (eg, XML, JSON). Then, calculation and data are executed, and data is input / output according to the stored data. Therefore, there is no need to convert the spreadsheet data into a script (no intermediate script representation is needed).
  • the script generation process is omitted.
  • a data description language including a type of code that can be executed by a device for example, a sequencer device
  • a device for example, a sequencer device
  • data description language can be directly executed, data is generated so that an intermediate script expression is not required.
  • cords may be bundled together.
  • editing and execution may be performed separately as in the first exemplary embodiment.
  • the calculation process can be separately executed on another device (for example, a device without a display).
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of spreadsheet data generator 204 and spreadsheet executor 202 when performing the above functions. Good.
  • FIG. 3 shows a web-based system for processing data according to a third exemplary embodiment.
  • the main difference between the web-based system 300 according to the third exemplary embodiment and the web-based system 100 according to the first exemplary embodiment is that the web-based system 300 according to the third exemplary embodiment is based on the data model. It includes a processor (for example, a driver solver) 308 to access, an execution unit 310 for accessing an external device, an access setting editor 348 for an external device, and an information management unit 354 for a data model.
  • a processor for example, a driver solver
  • the other components shown in FIG. 3 having the same reference numerals as those shown in the previous figures may be the same as those shown in the previous figures, and their detailed description is omitted.
  • the external device access setting editor 348 is configured to receive the external device access setting definition 366.
  • An external device access setting definition 366 may be provided in the form of an XML schema.
  • the XML schema includes (1) information about external devices and (2) information about files to be created.
  • the external device access setting editor 348 is configured to generate a setting screen accessible to the user. The user sets the access definition by inputting data on the generated setting screen.
  • the external device access setting editor 348 generates an external device access setting 378 (for example, an access definition file) based on the access definition set by the user, and sets the external device access setting 378 to the external device.
  • the data is transmitted together with the access driver module 368 (for example, “external device access driver module”) to the execution unit 310 that accesses the external device.
  • FIG. 3 illustrates that the external device access driver module 368 may be separate from the real device 102, according to some exemplary embodiments, the external device access driver module 368. Module 368 may be included in real device 102.
  • the execution unit 310 for accessing the external device is configured to receive the access setting 378 for the external device and the access driver module 368 for the external device.
  • the execution unit 310 that accesses an external device may be realized in the same manner as the execution unit 110 that accesses an external device.
  • the execution unit 310 that accesses the external device is configured to request the device information about the external device 380.
  • Device information includes fixed information (for example, identification information of the external device 380), dynamically changing status information (for example, power level, performance information, cycle / second, ink level, memory storage level, and other settings), connection Any type of information regarding the external device 380 may be used, such as information (eg, Wi-Fi, cellular, intranet, Internet, etc.), location information, and other types of information.
  • the execution unit 310 accessing the external device transmits a request message 328 requesting details regarding at least one external device 380 corresponding to the XML schema, and the details are transmitted from the at least one external device 380.
  • Is configured to receive response data 330 including.
  • the response data 330 may indicate the type of data stored in at least one external device 380 (eg, the sequencer has a register and the DB has a table).
  • the execution unit 310 that accesses the external device further generates a data model 376 of each external device based on the access setting 378 to the external device and the response data 330, and the generated data model 376 of each external device is used as the data model.
  • the information management unit 354 is configured to transmit.
  • the execution unit 310 accessing the external device may flexibly generate the data model 376 of each external device according to various factors. For example, the execution unit 310 that accesses an external device may be configured to sort data categories, determine where to place information in the data model, and freely change the mapping.
  • the external device access driver module 368 queries the external device 380. However, if the data definition of the external device 380 managed by the access driver module 368 is fixed, the access driver module 368 does not need to query the device, and instead generates a data model internally. Can do.
  • the data model information management unit 354 collects the generated data model 376 of each external device for each of the at least one external device 380 and generates a setting 374 for the entire data model.
  • the setting 374 of the entire data model may be visually presented as an object browser 2402 (see FIG. 24), for example.
  • the data model information management unit 354 transmits the generated setting 374 of the entire data model to the driver solver 308.
  • the driver solver 308 transmits the request 320 to the execution unit 310 that accesses the external device, and receives the response data 322 from the execution unit 310 that accesses the external device.
  • the driver solver 308 loads the setting 374 of the entire data model, and generates an interface that enables access to the device data by the execution unit 310 that accesses the external device based on the loaded setting 374 of the entire data model.
  • the driver solver 308 determines which external device to use and accesses that device.
  • the main advantage of the third exemplary embodiment is that both an external device access setting definition 366 and an external device access driver module 368 can be added to the web-based system 300.
  • Another major advantage of the third exemplary embodiment is that the web-based system 300 provides data access by using the same operation scheme for multiple external devices. Manufacturers (eg, third parties) can add new schemas or drivers to access various devices based on market needs and other considerations.
  • a processor such as the CPU 2804 (FIG. 28) performs a driver solver 308, an execution unit 310 that accesses an external device, and an access setting editor 348 for an external device when executing the above functions.
  • the data model information management unit 354 may be specially configured to control the performance.
  • FIG. 4 shows a web-based system for processing data according to a fourth exemplary embodiment.
  • the main difference between the web-based system 400 according to the fourth exemplary embodiment and the web-based system 300 according to the third exemplary embodiment is that the web-based system 400 according to the fourth exemplary embodiment is a data model structure editor. 446 (eg, “Data Model Structure Editor”).
  • the other components shown in FIG. 4 having the same reference numerals as those shown in the previous figures may be the same as those shown in the previous figures, and the detailed description thereof will be omitted.
  • the data model structure editor 446 is configured to edit the structure of the data model. To edit the data model, the data model structure editor 446 receives input from a user using an input device (eg, keyboard, touch screen, etc.) connected to the engineering tool 140 and based on the received input. Edit the data model.
  • an input device eg, keyboard, touch screen, etc.
  • the main advantage of the fourth exemplary embodiment is that the data model structure editor 446 can improve data management by allowing the user to organize and reorganize the data.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of the data model structure editor 446 when performing the above functions.
  • FIG. 5 shows a web-based system for processing data according to a fifth exemplary embodiment.
  • the web-based system 500 according to the fifth exemplary embodiment includes the features of the web-based system 100 according to the first exemplary embodiment (or the web-based system 200 according to the second exemplary embodiment) and the third exemplary embodiment. This is a combination of the features of the web-based system 300 according to the embodiment.
  • the other components shown in FIG. 5 having the same reference numerals as those shown in the previous figures may be the same as those shown in the previous figures, and detailed description thereof will be omitted.
  • the web-based system 500 includes a script execution unit 506, a driver solver 508, a spreadsheet editor 544, an execution script file generation unit 552, and a data model information management unit 554.
  • Spreadsheet editor 544 is configured to receive overall data model settings 562 from data model information manager 554 and to generate spreadsheet settings 560 based on both user input and overall data model settings 562. .
  • the data model information management unit 554 is configured to generate a setting 574 for the entire data model.
  • the execution script file generation unit 552 is configured to receive the spreadsheet setting 560 and generate an execution script file 572 based on the received spreadsheet setting 560.
  • the execution script file generation unit 552 is further configured to transmit the execution script file 572 to the script execution unit 506.
  • the script execution unit 506 is configured to execute a script (for example, a command list executable by a specific program) based on the execution script file 572. As a result of executing the script, the script execution unit 506 is configured to access the external device by transmitting the request 516 to the driver solver 508 and receiving the response data 518 from the driver solver 508.
  • a script for example, a command list executable by a specific program
  • the main advantage of the fifth exemplary embodiment is that it implements a uniform and simple way to link data processing operations to external device data accessed by the driver solver 508.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of the component as it performs the above functions. .
  • FIG. 6 shows a web-based system for processing data according to a sixth exemplary embodiment.
  • the web-based system 600 includes a web server 604, a driver solver 608 that receives settings 614 for the entire data model, a spreadsheet editor 644, a web display file generator 650, a data model Information management unit 654.
  • the other components shown in FIG. 6 having the same reference numerals as the components shown in the above-described figures may be the same as those shown in FIG. 1, and detailed description thereof will be omitted.
  • the spreadsheet editor 644 receives the entire data model setting 662 from the data model information management unit 654, generates the spreadsheet setting 658 based on the received entire data model setting 662, and generates the generated spreadsheet setting 658.
  • the web display file generation unit 650 is configured to be transmitted.
  • the web display file generation unit 650 is configured to generate the web display file 670 based on the spreadsheet setting 658 and transmit the web display file 670 to the web server 604.
  • Web server 604 is configured to send web display file 692 to web client 690, and web client 690 is configured to communicate with web server 604 using request message 694 and response data 696.
  • the main advantage of the sixth exemplary embodiment is that it implements a uniform and simple way to link data processing operations and data visualization operations to external device data accessed by the driver solver 608.
  • the difference between the sixth exemplary embodiment and the fifth exemplary embodiment is that, according to the sixth exemplary embodiment, the data processing result output from the spreadsheet is converted into a web display file 692, and the web It can be delivered to the web browser via the server 604.
  • the web browser may display information based on the web display file 692 so that the user can input the command to the web browser while viewing the displayed information.
  • the input command may then be returned to the web server 604, which accesses the data model via the driver solver 608.
  • the web server 604 and the web client 690 execute the operation as a pair.
  • a processor such as CPU 2804 (FIG. 28), when executing the functions described above, web server 604, driver solver 608, spreadsheet editor 644, web display file generator 650,
  • the data model information management unit 654 may be specially configured to control the performance.
  • FIG. 7 shows a web-based system for processing data according to a seventh exemplary embodiment.
  • the difference between the web-based system 700 according to the seventh exemplary embodiment and the web-based system 100 according to the first exemplary embodiment is that the web-based system 700 according to the seventh exemplary embodiment adds a flowchart editor 742. It is that you are.
  • the other constituent elements shown in FIG. 7 having the same reference numerals as the constituent elements shown in the previous figures may be the same as the constituent elements shown in the previous figures, and their detailed description is omitted.
  • the flowchart editor 742 is configured to generate and edit flowcharts. To edit the flowchart, the flowchart editor 742 receives input from the user using an input device (eg, keyboard, touch screen, etc.) connected to the engineering tool 140 and edits the flowchart based on the received input. To do. The flowchart editor 742 is further configured to generate a process sequence setting 756 based on the edited flowchart and send the process sequence setting 756 to the spreadsheet editor 744.
  • an input device eg, keyboard, touch screen, etc.
  • the spreadsheet editor 744 edits the spreadsheet based on the received process sequence setting 756, generates the spreadsheet setting 760 based on the edited spreadsheet, and transmits the spreadsheet setting 760 to the execution script file generation unit 752. Configured as follows.
  • the execution script file generation unit 752 is configured to generate an execution script file 772 based on the spreadsheet setting 760 and transmit the generated execution script file 772 to the script execution unit 706.
  • the execution script file 772 can access an external device using a data model.
  • the script execution unit 706 is configured to execute a script (for example, a command list that can be executed by a specific program) based on the execution script file 772.
  • a script for example, a command list that can be executed by a specific program
  • the user edits the flowchart 2600 (see FIG. 26). For example, when the external device 180 is a printer, the user sets a parameter to issue a warning to the printer when the ink level of any printer falls below 10%.
  • the user identifies the parameters in the flowchart and specifies the spreadsheet cells corresponding to the printer ink level status (eg, cells G2 through G9, see FIG. 21).
  • the flowchart editor 742 generates a process sequence setting 756 based on the edited flowchart and sends the process sequence setting 756 to the spreadsheet editor 744, which in turn is based on the process sequence setting 756 (Star script generation processing (as described above).
  • the main advantage of the seventh exemplary embodiment is that it is simple and effective because the flowchart editor 742 is used to edit the flowchart, and because the spreadsheet editor 744 edits the spreadsheet based on the edited flowchart. Advanced data processing can be realized by a typical method.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of flowchart editor 742 when performing the above functions.
  • FIG. 8 shows a web-based system for processing data according to the eighth exemplary embodiment.
  • the difference between the web-based system 800 according to the eighth exemplary embodiment and the web-based system 600 according to the sixth exemplary embodiment is that the spreadsheet editor 844 processes the web-based system 800 according to the eighth exemplary embodiment. While configured to generate spreadsheet settings 858 based on sequence settings 856, in web-based system 600 according to the sixth exemplary embodiment, spreadsheet editor 644 is based on overall data model settings 662. It is configured to generate a spreadsheet setting 658. As a result, it is possible to flexibly send and receive data to and from the spreadsheet using the flowchart and to instruct the spreadsheet calculation flexibly.
  • the other constituent elements shown in FIG. 8 having the same reference numerals as the constituent elements shown in the previous figures may be the same as the constituent elements shown in the previous figures, and their detailed description is omitted.
  • the flowchart editor 842 is configured to generate and edit a flowchart, generate a process sequence setting 856 based on the edited flowchart, and send the process sequence setting 856 to the spreadsheet editor 844.
  • the spreadsheet editor 844 is configured to generate a spreadsheet setting 858 based on the process sequence setting 856 and send the spreadsheet setting 858 to the web display file generation unit 850.
  • the web display file generation unit 850 is configured to generate a web display file 870 based on the spreadsheet setting 858 and transmit the web display file 870 to the web server 804.
  • Web server 804 is configured to send web display file 892 to web client 890, and web client 890 is configured to communicate with web server 804 using request message 894 and response data 896.
  • the main advantage of the eighth exemplary embodiment is that advanced data processing and advanced data visualization can be achieved in a simple and effective manner.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of the above components when performing the above functions.
  • FIG. 9 shows a web-based system for processing data according to a ninth exemplary embodiment.
  • the web-based system 900 is configured to display the spreadsheet 902 and the data model 904 simultaneously.
  • the spreadsheet 902 and the data model 904 can be generated and edited by any combination of the first to eighth exemplary embodiments.
  • the link between the spreadsheet 902 and the data model 904 is set using the characteristics of the flowchart portion or setting table.
  • the main advantage of the ninth exemplary embodiment is to visualize the interrelationship between the spreadsheet 902 and the data model 904 in a simple and effective manner.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of components of web-based system 900 when performing the functions described above, and any Types of displays (eg, CRT, LCD, OLED, etc.) may be implemented as part of web-based system 900 or may be separate from web-based system 900.
  • any Types of displays eg, CRT, LCD, OLED, etc.
  • FIG. 10 shows a web-based system for processing data according to a tenth exemplary embodiment.
  • the web-based system 1000 is configured to display the flowchart 1006 and the data model 1004 simultaneously.
  • the flowchart 1006 and the data model 1004 can be generated and edited.
  • the link between the flowchart 1006 and the data model 1004 is set using the characteristics of the flowchart portion or the setting table.
  • the main advantage of the tenth exemplary embodiment is to visualize the interrelationship between the flowchart 1006 and the data model 1004 in a simple and effective manner.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of the components of web-based system 1000 when performing the functions described above, and any Types of displays (eg, CRT, LCD, OLED, etc.) may be implemented as part of web-based system 1000 or may be separate from web-based system 1000.
  • any Types of displays eg, CRT, LCD, OLED, etc.
  • FIG. 11 shows a web-based system for processing data according to the eleventh exemplary embodiment.
  • the web-based system 1100 assumes that the web-based system 1100 is connected to an external system such as an information technology (IT) system using XML, for example.
  • the web-based system 1100 performs two main functions including a concatenation function for concatenating cells and an escape function (also referred to as a “conversion” function) for converting characters that cannot be used in XML into a format compliant with XML Configured to do.
  • the web-based system 1100 may include a spreadsheet editor (eg, spreadsheet editor 144), module file execution unit (eg, module file execution unit 105), or message included in the first to eighth exemplary embodiments. You may load into various components, such as a web client to generate (for example, web client 190).
  • the web-based system 1100 may receive data from other cells (for example, “ ⁇ abc>” and “B & W”). However, certain characters, such as the characters “ ⁇ ”, “>”, and “&” included in the data may not conform to XML. Accordingly, the web-based system 1100 first executes the escape function 1108 that converts the characters “ ⁇ ”, “>”, and “&” into XML-compliant characters, and then concatenates the data, The link function 1110 is transmitted to the external IT system.
  • the escape function 1108 that converts the characters “ ⁇ ”, “>”, and “&” into XML-compliant characters
  • the main advantage of the web-based system 1100 according to the eleventh exemplary embodiment is that it provides a simple and effective way of generating text-based messages that are compliant with the computer language of an external system such as an external IT system. is there.
  • the web-based system 1100 is not limited to converting messages to XML, but instead may convert messages to various other types of computer languages, such as JSON.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of the components of web-based system 1100 when performing the functions described above, and any Types of displays (eg, CRT, LCD, OLED, etc.) may be implemented as part of the web-based system 1100 or may be separate from the web-based system 1100.
  • any Types of displays eg, CRT, LCD, OLED, etc.
  • FIG. 12 illustrates a web-based system for processing data according to a twelfth exemplary embodiment.
  • Web-based system 1200 performs the reverse function of the web-based system 1100 according to the eleventh exemplary embodiment.
  • Web-based system 1200 includes a regular expression extraction function 1208 and an escape cancellation function 1210 (also referred to as a conversion cancellation function).
  • the web-based system 1200 receives a template including data from an external system (for example, an external IT system), and executes a regular expression extraction function 1208 on the template to extract a blank cell.
  • Blank cells are specified by the user based on user settings.
  • a template can be linked to a regular expression column, and a designated blank cell can be linked as a special column for regular expression pattern matching such as “(.)”, And corresponding data can be extracted by the regular expression extraction function 1208.
  • the web-based system 1200 extracts characters included in the blank cells, and executes the escape release function 1210 on the characters included in the blank cells, thereby converting the characters into a format usable by the data model.
  • the escape function 1210 converts characters from XML format to non-XML format that can be used in the data model.
  • the web-based system 1200 then sends the converted characters to an appropriate location (eg, a device or program that controls the data model).
  • the main advantage of the web-based system 1200 according to the twelfth exemplary embodiment is that it is simple and effective to receive messages received from an external IT system and make the received messages compliant with the computer language of the spreadsheet Is to provide a method.
  • the web-based system 1200 is not limited to converting messages from XML, but instead may convert messages to various other types of computer languages, such as JSON.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of components of web-based system 1200 when performing the functions described above, and any Types of displays (eg, CRT, LCD, OLED, etc.) may be implemented as part of web-based system 1200 or may be separate from web-based system 1200.
  • any Types of displays eg, CRT, LCD, OLED, etc.
  • FIG. 13 shows a web-based system for processing data according to the thirteenth exemplary embodiment.
  • the web-based system 1300 according to the thirteenth exemplary embodiment differs from the web-based system 1200 according to the twelfth exemplary embodiment in that the web-based system 1300 according to the thirteenth exemplary embodiment includes a parser 1302 and a difference extraction. A part 1310 and a mapping solver 1314.
  • Parser 1302 is configured to generate response intermediate data 1304 by parsing a response message received from a system (eg, an external IT system). Further, the parser 1302 is configured to generate template intermediate data 1306 and mapping data 1308 by parsing the template.
  • the response intermediate data 1304 and the template intermediate data 1306 may be, for example, an XML object, a document object model (DOM) object, a JSON object, or other types of data.
  • the difference extraction unit 1310 is configured to obtain a difference between the response intermediate data 1304 and the template intermediate data 1306 and generate difference data 1312 indicating the difference.
  • the mapping solver 1314 uses the mapping data 1308 to extract the data 1316 from the difference data 1312 and then sends the extracted data 1316 to the appropriate location (eg, a device or program that controls the data model). Composed.
  • the main advantage of the thirteenth exemplary embodiment is to enhance certain features of the twelfth exemplary embodiment.
  • XML does not give a wide range of flexibility.
  • a more flexible approach is provided.
  • the response message received from the external system may not exactly match the template, but instead only needs to match the data description language of the template. Instead of using characters to perform tasks, replace characters with intermediate data. Further, using the difference data 1312 and the mapping data 1308, the web-based system 1300 can identify the source and accurately extract the correct value.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of the components of web-based system 1300 when performing the functions described above, and any Types of displays (eg, CRT, LCD, OLED, etc.) may be implemented as part of web-based system 1300 or may be separate from web-based system 1300.
  • any Types of displays eg, CRT, LCD, OLED, etc.
  • FIG. 14 illustrates a web-based system for processing data according to the fourteenth exemplary embodiment.
  • the difference between the web-based system 1400 according to the fourteenth exemplary embodiment and the web-based system 100 according to the first exemplary embodiment is that the web-based system 1400 according to the fourteenth exemplary embodiment has a configuration I / O interface 1402. And a third party application 1404.
  • the other constituent elements shown in FIG. 14 having the same reference numerals as those shown in the previous figures may be the same as the constituent elements shown in the previous figures, and the detailed description thereof will be omitted.
  • the setting I / O interface 1402 is an application programming interface (API) generated based on the access setting definition 166 for external devices and the setting 1462 of the entire data model.
  • the configuration I / O interface 1402 allows third parties to easily create their brand GUI software. The initially generated GUI is kept secret, but useful and versatile GUI parts may be provided to a third party for convenience.
  • a configuration I / O interface 1402 is provided as an application programming interface (API) to allow third party applications 1404 to be called into internal functions. To invoke the internal function, the third party application 1404 sends a call 1406 to the setup I / O interface 1402 and receives a result 1408 from the setup I / O interface 1402 based on the call 1406.
  • API application programming interface
  • Examples of internal functions include loading project functions (for example, loading a project file that was previously created as a template by the original engineering tool) and changing configuration functions (for example, created by a third party). Copy, delete, and modify project data loaded from the selected software) and write the project to real device functions (eg generate and generate scripts and files for web screens from the modified project data) Transfer scripts and files to the real device).
  • loading project functions for example, loading a project file that was previously created as a template by the original engineering tool
  • changing configuration functions for example, created by a third party.
  • Copy, delete, and modify project data loaded from the selected software and write the project to real device functions (eg generate and generate scripts and files for web screens from the modified project data) Transfer scripts and files to the real device).
  • real device functions eg generate and generate scripts and files for web screens from the modified project data
  • the main advantage of the fourteenth exemplary embodiment is that it allows third parties to use scripts that are pre-generated by the engineering tool 140. By removing the GUI screen resulting from spreadsheet editing and flowchart editing, third parties can use the script for other purposes.
  • the fourteenth exemplary embodiment is useful in situations where a third party wishes to add functionality and modify previously existing functionality based on what has already been created by the engineering tool 140. It is. Further, using the web-based system 1400 according to the fourteenth exemplary embodiment, a third party can create its own system and market the newly created system for sale.
  • a processor such as CPU 2804 (FIG. 28) may be specially configured to control the performance of the configuration I / O interface 1402 when performing the above functions.
  • FIG. 15 illustrates a web-based system for processing data according to the fifteenth exemplary embodiment.
  • the difference between the web-based system 1500 according to the fifteenth exemplary embodiment and the web-based system 300 according to the third exemplary embodiment is that the web-based system 1500 according to the fifteenth exemplary embodiment is based on the profile definition 1530.
  • the web-based system 1500 according to the fifteenth exemplary embodiment is based on the profile definition 1530.
  • Other constituent elements shown in FIG. 15 having the same reference numerals as those shown in the previous figures may be the same as the constituent elements shown in the previous figures, and detailed description thereof will be omitted.
  • the execution unit 1510 (for example, “profile execution unit”) accessing with a profile is configured to receive the profile definition 1530 and generate a data model based on the profile definition 1530.
  • the main advantage of the fifteenth exemplary embodiment is that, unlike the third exemplary embodiment that uses an access driver to generate the data model, the fifteenth exemplary embodiment uses a profile definition 1530. And generating a data model.
  • the profile definition 1530 a user can access an external device without a device access drive if the external device supports several standardized communication protocols having specific profile specifications. As a result, the data processing operation is simplified by requiring only the device profile data.
  • a processor such as the CPU 2804 (FIG. 28) may be specially configured to control the performance of the execution unit 1510 accessed by the profile when the above functions are executed.
  • the aspects of the above exemplary embodiment may be written as a computer program, or may be realized by a general-purpose digital computer that executes a program using a computer-readable recording medium.
  • Examples of computer readable recording media include magnetic storage media (eg, ROM, floppy disk, hard disk, etc.), optical recording media (eg, CD-ROM, DVD), and other types of recording media. included.
  • exemplary embodiments and advantages are merely examples and are not to be construed as limiting the exemplary embodiments.
  • the exemplary embodiments described above are readily applicable to other types of equipment such as equipment other than factory automation (FA) equipment.
  • FA factory automation
  • various electronic devices that connect the above exemplary embodiments to each other via a network such as the Internet, the Internet of Things (IOT), a local area network (LAN), a wide area network (WAN), etc. You may apply to.
  • IOT Internet of Things
  • LAN local area network
  • WAN wide area network
  • the above description of exemplary embodiments is for illustrative purposes, and is not intended to limit the scope of the claims, and various changes, modifications, and variations will be apparent to those skilled in the art.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • General Factory Administration (AREA)

Abstract

エンジニアリングツールは、スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータをスプレッドシートのセルのうちの1つのセルに設定することによって、または、スプレッドシートのセルのうちのいくつかのセルに定義された計算を、スプレッドシートのセルのうちの他のセルに関連して設定することによって、定義を編集するように構成されたスプレッドシートエディターと、コントローラが機器を制御するために、編集された定義に基づいて、コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部とを含む。

Description

エンジニアリングツール、システムおよびモジュール
 本明細書に開示する例示的実施形態は、例えば、産業ロボット、工作機械、組み込み機器を含むファクトリーオートメーション(FA)機器などの機器から得たデータを処理する装置、システム、および方法に関する。
 ファクトリーオートメーション(「FA」)の技術分野において、工場の機器の操作者は、工場の機器の監視および工場の機器に関するデータの処理などの様々なタスクを実行するのに、ワールド・ワイド・ウェブに接続したコンピュータシステム(ウェブベースのコンピュータシステム)などのネットワーク・コンピュータ・システムを使用することが多い。関連技術において、ウェブベースのコンピュータシステムを構築する一般的な方法では、情報技術(IT)システムと通信するためのプログラム、工場の機器と通信するためのプログラム、データ処理のためのプログラム、ウェブ上で処理データを表示および実行するためのプログラムなどの各種のプログラムを別々に作成し、これらの別々に作成されたプログラムが通信プロトコルを介して互いに通信するように設定する。
 ウェブベースの技術は世界中で利用されているので、工場の機器の視覚化および情報処理動作を実行するのにウェブベースの技術が使用されるようになってきた。
 図16は、関連技術に係る、FA機器から得たデータを処理するウェブベースシステムを示す。図16に示すように、ウェブベースシステム1600は実デバイス1603とプログラミング環境1623(例えば、コードの書き込み、コードの正当性の検証、および特定の対象プラットフォームで実行するためのコードのコンパイルに使用するツール)とを含む。
 実デバイス1603は、データ処理プログラム1607と外部機器との通信プログラム1609とを含むプログラム実行スペース1605と、ウェブサーバー1615とを含む。データ処理プログラム1607はデータの選別、集計、変換(スケーリングなど)、判定(ビジネスロジック)などの各種のデータ処理動作を実行し、ウェブサーバー1615と通信し、ウェブサーバー1615はウェブクライアント1619と通信する。データ処理プログラム1607はまた、コーディング環境1617と通信する。外部機器との通信プログラム1609は、各種の通信プロトコルにより、各種のシステムと通信可能である。外部機器との通信プログラム1609は、HTTP、FTP、またはJDBCなどの通信プロトコルを使用してITシステム1611と通信し、RS-232C、イーサネット(登録商標)、または低レベルI/Oを使用してファクトリーオートメーション(FA)機器1613と通信する。外部機器との通信プログラム1609はさらにコーディング環境1617と通信する。
 プログラミング環境1623は、上記処理を実行するためのコンピュータコードを作成する環境であるコーディング環境1617を含む。ユーザーはコーディング環境1617を用いて、(1)工場の機器と通信するためのC言語に基づくコード、(2)ITシステム1611と通信するためのJava(登録商標)に基づくコード、(3)ウェブアプリケーションのためのHTML、JavaScript(登録商標)、またはPHPに基づくコード、(4)データベースにアクセスするためのSQLに基づくコード、(5)ビジネスロジックを記述するためのLuaに基づくコードを含む、少なくとも5種類のコンピュータコードを作成する。特定の状況では、5を超える種類のコードが必要なこともある。ユーザーがこれらの各種のコンピュータコードを作成すると、コーディング環境1617はこれらの作成されたコードを使用して、データ処理プログラム1607と、外部機器との通信プログラム1609と、ワールド・ワイド・ウェブ用のウェブファイル1621と通信する。
 上述のように、関連技術のウェブベースシステム1600によれば、ウェブベースシステム1600を構築し操作する人は、各FA機器のデータを処理するのに適した各種のコンピュータコードを作成するために様々な種類のコンピュータ言語に堪能である必要があり、また、ウェブベースシステム1600、各FA機器、ITシステム、および他の実体との間でデータを交換するのに使用する様々な種類のプロトコルに堪能である必要もある。さらに、ウェブベースシステム1600の操作者は、FAシステム自体だけでなく、FAシステムと対話するITシステム1611およびウェブクライアント1619を含む他のシステムに関する高度に専門的な知識を有する必要がある。さらに、ウェブベースシステム1600の操作者は、データ処理動作と通信処理動作とを連続的に組み合わせる方法を知っている必要があるが、これは非常に複雑な処理になることがある。
 その結果、FA機器のデータ処理のためのウェブベースシステムを構築し操作するのに必要な技能を持つ人は非常に少ない。
 Rosemanの米国特許第5,038,318号は、工作機械の自動運転と処理装置とを指示するプログラマブル・ロジック・コントローラを開示している。
 Frederickらの米国特許第7,117,043号は、プログラマブル・ロジック・コントローラ(PLC)によって制御されるシステムの機器および機能に関する情報を含むスプレッドシートを作成し、スプレッドシートを分析し、システムを制御するためのPLCロジックを書く技術を開示している。
 Bedardの米国特許出願第2014/0149836号は、スプレッドシートファイルとダッシュボード構造ファイルとを含むダッシュボード・コンテナ・ファイルを受信する方法を開示し、スプレッドシートファイルとダッシュボード構造ファイルはそれぞれ、テキストベースの、言語非依存のデータ交換フォーマットに変換されるので、ダッシュボードの特徴を示すデータを、変換されたスプレッドシートおよびダッシュボードファイルを使用して提供することができる。
 しかしながら、これらの関連技術の技法では、FA機器などの機器のデータを処理するウェブベースシステムを構築および操作するのに必要な技能を持つ人が非常に少ないという上記の問題は解決しない。
米国特許第5,038,318号明細書 米国特許第7,117,043号明細書 米国特許出願公開第2014/0149836号明細書
 上記関連技術の説明は、先行技術を認めるものでは決してない。
 本例示的実施形態の態様は、FA機器のデータを処理するための関連技術のウェブベースシステムに関するこれらの問題および/または他の問題を解決することを目的とする。しかしながら、本例示的実施形態の態様は、上記の問題を解決するのに必然ではないものとする。
 一例示的実施形態の一態様によれば、スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの1つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、を含むエンジニアリングツールが提供される。
 前記エンジニアリングツールは、データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部を含んでもよい。
 前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに含んでもよい。
 前記エンジニアリングツールは、前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに含んでもよい。
 前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成されてもよい。
 前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成されてもよい。
 前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第1のフォーマットから第2のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成されてもよい。
 前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第2のフォーマットから前記第1のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成されてもよい。
 前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成されてもよい。
 前記エンジニアリングツールは、サード・パーティ・アプリケーションと、前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも1つの機能へのアクセスを与えるように構成された入出力(I/O)設定インターフェースとをさらに含んでもよい。
 前記エンジニアリングツールは、プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに含んでもよい。
 他の例示的実施形態の一態様によれば、データを処理するように構成されたシステムであって、機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、前記スプレッドシート設定に基づいて、スクリプトファイルであってもよいモジュールファイルを生成するように構成されたモジュールファイル生成部と、データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、を含むエンジニアリングツールと、前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、を含むコントローラと、を含むシステムが提供される。
 前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの1つの構造を編集するように構成されたデータモデル構造エディターをさらに含んでもよい。
 前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するようにさらに構成されてもよい。
 前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに含んでもよく、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに含んでもよい。
 他の例示的実施形態の一態様によれば、コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、を含むエンジニアリングツールが提供される。
 他の例示的実施形態の一態様によれば、コントローラで使用され、スプレッドシートに基づいてエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、モジュールが提供される。
 これらの態様および/または他の態様は、添付の図面と共に解釈することで、以下の例示的実施形態の説明により明らかとなり、より容易に理解されるであろう。
第1の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第2の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第3の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第4の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第5の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第6の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第7の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第8の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第9の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第10の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第11の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第12の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第13の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第14の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第15の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 関連技術による、データを処理するためのウェブベースシステムの説明図 一例示的実施形態による、ファクトリーオートメーション(FA)機器のステータスを示すスクリーンショットの一例を示す図 一例示的実施形態による、ファクトリーオートメーション(FA)機器のステータスを示すスクリーンショットの一例を示す図 一例示的実施形態によるデータモデルの一例を示す図 一例示的実施形態による警告情報の一例を示す図 一例示的実施形態によるスプレッドシートを示す図 一例示的実施形態によるスプレッドシートを示す図 一例示的実施形態による電子メールを示す図 一例示的実施形態によるデータモデルを含む画面の一例を示す図 一例示的実施形態によるデータモデルを含む画面の一例を示す図 一例示的実施形態によるフローチャートの一例を示す図 一例示的実施形態によるウェブベースシステムのハードウェア構成の一例を示す図 一例示的実施形態による、ウェブベースシステムの一態様を実現するハードウェア装置の一例を示す図
 ウェブベースシステムの概要
 各例示的実施形態の態様により、産業ロボット、工作機械、組み込み機器などのファクトリーオートメーション(FA)機器の操作者が、FA機器を制御し、FA機器から得たデータを処理する能力を高めるウェブベースシステムが提供される。しかしながら、本例示的実施形態はFA機器に限定されず、各種のネットワークで直接的または間接的に互いに接続される他の様々な種類の機器にも適用できる。例えば、本例示的実施形態は、インターネット、モノのインターネット(IoT)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、セルラーネットワーク、ブルートゥース(登録商標)ネットワーク、近距離無線通信(NFC)ネットワーク、および他の様々な種類のネットワークを介して接続された機器を制御するのに使用することができる。機器には、ホーム・オートメーション・システム機器(例えば、冷蔵庫、食洗機、テレビ、冷暖房空調設備、照明など)などの、ネットワークに接続可能なあらゆる種類の機器が含まれる。各例示的実施形態の態様は、産業的用途だけでなく、個人的用途(例えば、趣味)にも適用可能であり、特定の種類の用途に限定されない。
 「情報」、「データ」、「定義」、および他の類似した用語などの用語は、本例示的実施形態の説明で使用されるが、様々な種類の情報、データ、および定義を広く指すものであり、特定の文脈に限定されない。例えば、用語「情報」または「データ」は、電子装置の固定的な特徴(例えば、識別情報)に関する情報またはデータ、動的に変化するステータス情報(例えば、電力レベル、パフォーマンス情報、サイクル/秒、インクレベル、メモリ記憶レベル、他の設定値)、接続情報(例えば、Wi-Fi、セルラー、イントラネット、インターネットなど)、位置情報(例えば、固定位置情報、GPS座標)、金融情報、および電子装置に直接的および間接的に関連する、他の様々な種類の情報を意味し得る。さらに、用語「定義」は、例えば、スプレッドシートのセルに記述されるあらゆる種類の情報を広く指し得る。記述は、記述が与えられる文脈によって様々な意味を持ち得る。スプレッドシート環境では、各記述の文脈により、各セルにおいて記述が持つ意味の種類が変わる。用語「定義」は、特定の文脈にかかわらず、スプレッドシートのセルにおける情報の記述を意味し得る。言い換えると、「定義」は広くスプレッドシートセルの情報の文脈に依存しない記述であり得る。別の例として、「定義」は、例えば、数学的またはビジネスロジック定義(例えば、SUM機能または条件付きロジック機能(IF、ELSEなど))、属性、配列、設定、規則(例えば、アルゴリズム)、または機器および機器自身の情報の他の特徴を定義するものであり得る。さらに、例示的実施形態は工場の機器に関連して説明されるが、例示的実施形態はそれらに限定されず、パーソナル電子装置、ホームオートメーションおよび家電、自動車用装置、およびその他様々な種類の電子装置または非電子装置を含む、他の様々な種類の機器に応じて実現できるものとする。
 一例示的実施形態によれば、エンジニアリングツールを使用して、ウェブベースシステムに表示するセットアップ画面を作成する。セットアップ画面は、エクセル文書に似たスプレッドシートアプリケーションでもよいが、必ずしもエクセル文書とは限らない。システムはある種類のスプレッドシートに基づいて作成され、スプレッドシートを使用して計算を実行し、グラフを使用して視覚化を実現し、さらにプロセスシーケンスを作成および変更し、プロセスシーケンスを使用して機器を制御または検査する。
 一例示的実施形態によるウェブベースシステムは、ウェブベースシステムのユーザーが各種のデータ処理および監視操作のためのデータを取得する(例えば、機器のパフォーマンスのグラフを生成する)ことを容易に可能にする改良技術を提供する。このウェブベースシステムは、プログラマブル・ロジック・コントローラ(PLC)、メールサーバー、およびその他の装置など、各種の装置に接続可能である。例えば、ウェブベースシステムのユーザーがシーケンサ(例えば、工場の機器の動作順序など、一連のイベントを自動的に制御する電気機械システム)に接続したい場合、シーケンサに保存されたデータがウェブベースシステムの画面に表示される。他の例として、ウェブベースシステムのユーザーがデータベース(DB)に接続したい場合、DBのデータテーブルが表示される。
 一例示的実施形態によれば、ウェブベースシステムは3つの主な特徴を含む。
 第1の特徴はデータモデルであり、データモデルによりユーザーは、同じ簡単な技術を用いて、シーケンサ、データベース、メールサーバーなどの各種の外部装置からのデータにアクセスし、操作することができる。例示的実施形態によれば、用語「データモデル」は、オブジェクトモデルを意味する一般的な用語であり、オブジェクトモデルはデータで記述され、データを論理的に配置するデータ構造を有するように構成される。データモデルは、機械が保持する内部統計値や記録、および機械が保存するその他の種類のデータを含む、機械から抽出できる全てのデータを含むことができる。データモデル(第1の特徴)の例を、図19、図24、および図25に示す。図19に示すデータモデル1900は、「オブジェクトブラウザ」として表されている。図24に示すように、画面2400は、データベース(例えば、「AzureDB」)に関するデータモデルの一例であるデータモデル2402(「オブジェクトブラウザ」)を含み、さらに、データベースAzureDBへのアクセスを可能にするアクセス設定2404を含む。また、画面2500は、CPU(例えば、「LCPU」)に関するデータモデルの一例であるデータモデル2502(「オブジェクトブラウザ」)を含み、さらにLCPUへのアクセスを可能にするアクセス設定2504を含む。データモデル1900,2402、および2502を使用して、異種のハードウェアに関する情報を整理する。様々な種類のデータモデルが可能であり、例示的な情報1700(図17)および1800(図18参照)などのファクトリーオートメーション(FA)機器のステータスを示す情報に関し使用することができる。図19、図24、および図25はデータモデルとして「オブジェクトブラウザ」を例示しているが、例示的実施形態はデータモデルとして「オブジェクトブラウザ」を使用することに限定されず、データモデルは視覚的および論理的に、他の様々な方法で実現できるものとする。
 第2の特徴はスプレッドシートであり、スプレッドシートにより、ユーザーが情報を処理するためのプログラムや、データベース間で情報を転送するプログラム、およびデータを視覚化するプログラムを容易に書くことが可能となる。一例示的実施形態によるウェブベースシステムによって生成されたスプレッドシート画面の一例を図21および図22に示す。図21の生成画面は、「Alarm Check」モードと例示され、各種機器のステータス(例えば、インクレベル、バッテリーステータス、冷却ファン時間)を示すステータス情報2102を含むスプレッドシートである。図22の生成画面は、「Send Alarm」モードと例示されるスプレッドシートであり、各種機器の警告レベルのステータスを示す警告情報2202を含む。図23の生成画面は、警告情報2202に相当する電子メール内容2302を含む電子メールであり、電子メールによってユーザーに警告情報を通知する。電子メールはさらに、図22に示すスプレッドシートにリンクするリンク2304を含む。図20はまた警告情報2000を示す。
 図21および図22に示す画面で、ユーザーはデータを、データベースから画面に示されるセルに移動できるだけでなく、セルからデータベースにデータをエクスポートできる。ユーザーはまた、入力/出力機能を使用して特定の値を計算し、項目を視覚的に表示することができる。
 図21から図23に示すように、スプレッドシートは、外部機器(例えば、シーケンサ、プリンタ、工作機械、パーソナル電子装置、家庭用電気製品など)から値を持ち込むプログラムを実行して、各種機器の異常を検出してもよい。異常検出プログラムは、スプレッドシートでの計算により実行される。現在のステータスデータの全てをカラムの1つ(例えば、図21のカラムE)に挿入してもよく、ウェブベースシステムは現在のステータスデータを前回値または正常値と比較して差を検出する。異常検出プログラムの結果は、メールサーバーに出力として送ることができ、例として、電子メールにより異常検出結果を示すメッセージを出力してもよい。図23に示すように、電子メールの受信者が見る実際のメール内容は、リンク2304を介してスプレッドシートに接続される。実際のメール内容には、異常の存在だけでなく、異常(例えば、冷却ファンの異常、インクレベルの異常など)の特定値を含めてもよい。その結果、ウェブベースシステムの操作者はC言語を知らなくても、常時異常を通知される。
 第3の特徴はフローチャートであり、スプレッドシートには特定の長所と短所があるので、フローチャートによりスプレッドシートを補助し強化する。一例示的実施形態によるウェブベースシステムによって生成されたフローチャート(第3の特徴)の例を図26に示す。スプレッドシート(例えば、図21および図22)には特定の利点と不利点がある。例えば、スプレッドシートは、効率的に計算を実行できるという利点があるが、スプレッドシートだけを使用して計算の優先順位または順序を決定するのは難しい場合があるという不利点がある。言い換えると、スプレッドシートは因果関係、すなわち、if→then演算に関して不利である。フローチャートにより、計算の実行、データモデルからのデータ入力、およびデータモデルへのデータ出力などのスプレッドシートの機能を制御することができる。スプレッドシートは計算のタイミング、およびデータ入力/出力機能を記述できない場合があるので、フローチャートは有益である。スプレッドシートにはデータと実行トリガーを与えなければならない。エクセルの場合、タイミングを、デフォルトではユーザーがデータを入力した時点として定義してもよい。しかしながら、実デバイスの場合、処理は人によって操作されないので、ユーザーがデータを入力したデフォルトタイミングの代わりに、特定のタイミングを定義する必要があるか、それが望まれることがある。したがって、第2の特徴と第3の特徴を組み合わせることで、ユーザーは外部機器(例えば、FA機器)との間で送受信したデータをより簡単に処理し操作することができる場合がある。
 例示的実施形態はフローチャートを使用することに限定されず、代わりに設定テーブル、および動作と情報の間の関係を記述するその他の機構(例えば、リストまたはグリッドなど)を使用してもよいものとする。
 図26に示すように、フローチャート2600はデータを処理するための一連の動作を含む。動作2602において、データ処理動作を開始する。動作2604で、データをスプレッドシートの1つのカラムから別のカラムにコピーする。例えば、図21のスプレッドシートにおいて、データをセルG2からG9(「Current」)からコピーし、セルF2からF9(「Previous」)に挿入する。動作2606において、データを物理的装置から入力する。例えば、図21のスプレッドシートにおいて、データをLCPUからセルE2からE9(「Current(Raw)」)に入力する。動作2608において、計算を実行する。例えば、「Current(Raw)」データと「Previous」データとの比較に基づいて異常検出を行う。動作2610において、図22のスプレッドシートのカラムA10の値が1に等しい場合、処理は動作2612に進み、その他の場合、カラムA10の値をクリアし(動作2620)、処理を終了する(動作2622)。動作2612において、カラムH10の値が「TRUE」(「SendAlarm!」)である場合、処理は動作2614に進み、その他の場合、処理は終了する(動作2622)。動作2614において、実デバイスの情報(例えば、図21のカラムA15からE23)を含むAlarm Checkを出力する。動作2616において、カラムA11の値が1に等しい場合、処理は動作2618に進み、動作2608での計算結果を電子メールの内容として含む、図23に関して上述した電子メールなどの電子メールを出力し、その他の場合、処理は終了する(動作2622)。
 一例示的実施形態によれば、トリガータイミングをユーザーが設定して、特定の動作を所定の間隔で実行することができる。例えば、トリガータイミングをユーザーが設定して、図26の特定の動作を所定の間隔(例えば、1秒、5秒、10秒、1分、1時間など)で実行することができる。
 さらに、他の例示的実施形態によれば、ユーザーはスプレッドシートを使用せずにフローチャートと対話してもよく、その場合、スクリプト生成処理を変更して、スプレッドシートに関するスクリプト部分を省略する。
 一例示的実施形態によれば、フローチャート要素をグラフィカルな動作(例えば、ドラッグ・アンド・ドロップ動作など)によって操作するように構成する。例えば、ドラッグ・アンド・ドロップ動作および他の種類の動作を使用して、フローチャートの各種処理または決定を再配列または変更することができる。さらに、各種方法でデータをフローチャート要素に挿入することができる。例えば、動作2604において、セル範囲をG2からG9から別のセル範囲に変更するために、ユーザーは動作2604を示す枠を選択し、異なるセル範囲を入力することができる。一例示的実施形態によれば、セル範囲選択ダイアログは、マイクロソフト・エクセル(登録商標)と同様にまたは全く同じように機能するものでもよい。
 これらの3つの特徴を実現することで、一例示的実施形態によるウェブベースシステムは、FAエンジニアがプログラム言語を知らなくても情報処理のシステムを構築できるようにする。一例示的実施形態によれば、ウェブベースシステムはマイクロソフト・エクセル(登録商標)に基づいているので、ウェブベースシステムのユーザーは、ウェブベースシステムを使用するのに、マイクロソフト・エクセル(登録商標)に基本的に精通しているだけでよい。他の例示的実施形態によれば、ウェブベースシステムはテンプレートを使用するので、ウェブベースシステムのユーザーはウェブベースシステムを使用するのに、マイクロソフト・エクセル(登録商標)に精通している必要さえない。
 ウェブベースシステムが実現するその他の利点は、外部機器と内部処理動作が分かれているということである。
 ウェブベースシステムのハードウェア構成の概要
 図27は、一例示的実施形態によるウェブベースシステムのハードウェア構成を示す。
 図27に示すように、ハードウェア構成2700は、基準テンプレート・アプリケーション・パーツ・パッケージ2702と、ウェブブラウザ2704と、スプレッドシートベースのヒューマン・マシン・インターフェース(HMI)・ビルダー2706と、情報共有プラットフォーム2708と、機器2710(例えば、プロファイルおよび標準化方式によりすでに定義されたデータモデルを有する機器)と、内蔵データベース2712と、プログラマブル・ロジック・コントローラ(PLC)2714と、OPC-UAクライアント/サーバー2716と、遠隔端末2718と、遠隔システム2720と、クラウド2722と、分析サービス2726とを含む。情報共有プラットフォーム2708を、ハードウェア、ソフトウェア、またはそれらの組み合わせとして実現してもよく、他の様々な種類(例えば、ハードウェア装置と開発コードの組み合わせなど)として提供してもよい。さらに、機器2710は、プリンタ、インク・レベル・センサー、冷却ファン、組立ライン機器、パーソナル電子装置、家庭用電気製品など、様々な種類のものでもよい。
 例えば、情報共有プラットフォーム2708をファクトリーオートメーション(FA)機器として実現する場合、情報共有プラットフォーム2708を、プログラマブル・ロジック・コントローラ、Cコントローラ(MELSECシステムアーキテクチャに基づくC言語形式プログラムを実行可能な、一般的なオープン・プラットフォーム・コントローラ)、一種のヒューマン・マシン・インターフェース(HMI)であるグラフィック・オペレーション・ターミナル(GOT)、コンピュータ数値制御装置(CNC)、または他の種類のFA機器として実現してもよい。他の例として、情報共有プラットフォーム2708を非FA機器として実現する場合、情報共有プラットフォーム2708を販売時点情報管理(POS)端末として実現してもよい。情報共有プラットフォーム2708は他の様々な種類の装置として実現できるものとする。
 これらのハードウェア装置はそれぞれ、本例示的実施形態の特徴を利用するために、様々な方法で互いに対話するように構成されていてもよい。例えば、基準テンプレート・アプリケーション・パーツ・パッケージ2702、ウェブブラウザ2704、およびスプレッドシートベースのHMIビルダー2706を使用して、フロー図およびスプレッドシート2728を生成してもよい。さらに、遠隔端末2718と遠隔システム2720はクラウド2722を介してフロー図とスプレッドシート2728にアクセスすることにより、データを処理し、ファクトリーオートメーション(FA)機器を制御してもよい。さらに、これらのハードウェア装置は例にすぎず、図27に示すハードウェア装置の代わりに、またはそれらに加えて、様々な種類のハードウェア装置を本例示的実施形態にしたがって使用できるものとする。例えば、ウェブベースシステムをシーケンサに組み込むことができる。他の例として、ウェブベースシステムを、PC、タブレット装置、またはスマートフォンに含まれる、特別に構成されたハードウェアとソフトウェアの組み合わせとして実現することができる。本例示的実施形態において、マイクロプロセッサ、メモリ装置、記憶装置、イーサネット(登録商標)ポート、またはIPプロトコルに基づいて他の装置と通信可能な装置の組み合わせを利用してもよい。他の例示的実施形態により、その他様々なハードウェアとソフトウェアの組み合わせが可能である。
 これらの様々なハードウェア装置の1つまたは組み合わせにおいて例示的実施形態によるウェブベースシステムを実現してもよい。
 図28は、一例示的実施形態によるウェブベースシステムの一態様を実現するハードウェア装置の一例である。図28に示すように、ハードウェア装置2800は、入力(例えば、機械のステータスを示すデータ)を受信する入力モジュール2802と、指定された処理を実行し、ハードウェア装置2800の動作全体を制御する中央処理装置(CPU)2804と、受信した入力と、他のデータ、プログラム、および他の種類の情報を記憶するメモリ2806と、CPU2804が実行した処理の結果を出力する出力モジュール2808と、入力モジュール2802、CPU2804、メモリ2806、および出力モジュール2808に電力を供給する電力供給部2810とを含む。CPU2804は外部のプログラミング端末2812と通信するので、ハードウェア装置2800にプログラミング端末2812を使用してプログラムを書き込むことができる。図28は入力モジュール2802と出力モジュール2808とを異なるモジュールとして例示しているが、いくつかの例示的実施形態によれば、入力モジュール2802と出力モジュール2808とを同一モジュール内で実現してもよい。
 一例示的実施形態によれば、ハードウェア装置2800はプログラマブル・ロジック・コントローラ(PLC)として実現可能であるが、それに限定されない。他の例示的実施形態によれば、ハードウェア装置2800を、ホーム・オートメーション・システム装置、スマートフォン、タブレット、カメラ、自動車用装置などの、PLC以外の様々な種類の装置として実現してもよい。当業者であれば、ハードウェア装置2800を様々な方法で実現できることがわかるだろう。
 ウェブベースシステムの論理構造の概要
 図1は、例示的実施形態のいくつかによるウェブベースシステムの構造の概要を示す。後述のように、各例示的実施形態が、その例示的実施形態の特定の機能および目的に応じて、図1に示すウェブベースシステムの特定の処理部の独自の組み合わせを使用できる点で、特定の例示的実施形態は互いに差別化される。当業者であればわかるように、各種例示的実施形態は様々な方法で組み合わせ可能であるものとする。例えば、図1から図15に示す処理装置の異なる組み合わせを、様々な方法で組み合わせて、様々な機能を実現してもよい。
 図1に示すように、ウェブベースシステム100は実デバイス102(例えば、PLCモジュール)とエンジニアリングツール140(例えば、PC、タブレット、スマートフォン、または他のコンピュータ装置)とを含む。
 エンジニアリングツール140は、フローチャートエディター142(例えば、「フローチャートエディター」)と、スプレッドシートエディター144(例えば、「スプレッドシートエディター」)と、データモデル構造エディター146(例えば、「データモデル構造エディター」)と、外部機器へのアクセス設定エディター148(例えば、「外部機器アクセス設定エディター」)と、ウェブ表示ファイル生成部150(例えば、「ウェブ表示ファイル生成部」)と、実行可能モジュールファイル生成部151と、データモデルの情報管理部154(例えば、「データモデル情報管理部」)とを含む。
 フローチャートエディター142はフローチャートを生成および編集するように構成される。編集するフローチャートの一例は、図26に例示するフローチャート2600であるが、例示的実施形態はそれに限定されず、様々な種類のフローチャートを作成および編集してもよい。フローチャートを編集するために、フローチャートエディター142は、図26に関して上述したように、エンジニアリングツール140に接続した入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてフローチャートを編集する。フローチャートエディター142はさらに、編集したフローチャートに基づいてプロセスシーケンス設定156(例えば、「プロセスシーケンス設定」)を生成するように構成される。
 プロセスシーケンス設定156には、フローチャートの詳細、つまりデータ処理動作中に実行される一連のイベントの詳細を記述する。一連のイベントの詳細は、例えば、フローチャートにおける動作および移行の数と、動作と移行の間の関係と、フローチャートにおける特定の動作での出力を決定する特定の状況と、その他のフローチャートの各種特徴とを含む。フローチャートエディター142はさらに、プロセスシーケンス設定156をスプレッドシートエディター144に送信するように構成される。
 スプレッドシートエディター144は、受信したプロセスシーケンス設定156と受信したデータモデル全体の設定162(例えば、「データモデル全体設定」)に基づいてスプレッドシートを編集するように構成される。編集するスプレッドシートの一例は、図21および図22に例示するスプレッドシート2100および2200であるが、例示的実施形態はこれらに限定されず、様々な種類のスプレッドシートを編集してもよい。スプレッドシートエディター144は編集されたフローチャートに基づいてスプレッドシートを編集する。例えば、計算時にどのセルを使用するかを変更するようにフローチャートが編集された場合、スプレッドシートエディター144はそれに応じて、計算時に使用されるセルを変更する。スプレッドシートエディター144はさらに、スプレッドシートに対する編集を示す情報を含むスプレッドシート設定158(例えば、「スプレッドシート設定」)を生成し、スプレッドシート設定158および160をウェブ表示ファイル生成部150と実行可能モジュールファイル生成部151とに送信するように構成される。スプレッドシート設定158および160を互いに異なるようにフォーマットしてもよい。例えば、スプレッドシート設定160を内部処理のために最適化してもよく、一方、スプレッドシート設定158をGUIで使用するために最適化してもよい。
 データモデル構造エディター146は、データモデルの構造を編集するように構成される。データモデルはデータにアクセスするためのパスを提供する。データモデルの例を図24および図25に関して上述したが、例示的実施形態はこれらに限定されない。データモデルを編集するために、データモデル構造エディター146は、エンジニアリングツール140に動作可能に接続した入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてデータモデルを編集する。例えば、新たな機械がファクトリーオペレーションに追加される場合(例えば、プリンタ、CPU、メールサーバー)、ユーザーによる簡単な操作に基づいて新たな機械をデータモデルに加えることができる。さらに、ユーザーはすでに構築されているデータモデルを再利用またはリサイクルすることができる。例えば、ユーザーは現存のプリンタデータモデルをコピーおよび編集することによって、新たなプリンタを加えることができる。データモデル構造エディター146はさらに、データモデルの設定構造164(例えば、「データモデル設定構造」)をデータモデルの情報管理部154に送信するように構成される。
 データモデルの情報管理部154はデータモデル構造エディター146からデータモデルの設定構造164を受信し、外部機器にアクセスする実行部110から各外部機器のデータモデル176を受信するように構成される。データモデルの設定構造164および各外部機器のデータモデル176に基づき、データモデルの情報管理部154はデータモデル全体の設定162(例えば、データモデル全体設定)を生成し、スプレッドシートエディター144に送信するように構成される。データモデルの情報管理部154はさらに、データモデル全体の設定174をドライバソルバー108に送信するように構成される。データモデル全体の設定162および174を互いに異なるようにフォーマットしてもよい。例えば、データモデル全体の設定162は、データモデル全体の設定174が各外部機器のデータモデルの全てに関する情報の全てを有する状態で、データモデル全体の設定174の部分集合でもよく、一方、データモデル全体の設定162は参照のためだけの情報を有してもよい。
 外部機器へのアクセス設定エディター148は、外部機器へのアクセス設定定義166(例えば、「外部機器アクセス設定定義」)を受信するように構成される。外部機器へのアクセス設定定義166に基づき、外部機器へのアクセス設定エディター148はさらに、外部機器へのアクセス設定178(例えば、「外部機器アクセス設定」)を生成し、外部機器にアクセスする実行部110に送信するように構成される。
 ウェブ表示ファイル生成部150は、スプレッドシートエディター144から受信したスプレッドシート設定158に基づいてウェブ表示ファイル170(例えば、「ウェブファイル」)を生成し、生成したウェブ表示ファイル170をウェブサーバー104に送信するように構成される。
 実行可能モジュールファイル生成部151はスプレッドシート設定160を受信するように構成される。実行可能モジュールファイル生成部151はさらに、スプレッドシート設定160に基づいて実行モジュールファイル171を生成し、生成した実行モジュールファイル171をモジュールファイル実行部105に送信するように構成される。スプレッドシートデータからモジュールファイルを生成するために、実行可能モジュールファイル生成部151は以下の一連の動作を実行する。初めに、実行可能モジュールファイル生成部151は、セル間の参照依存状態を解くことによって、計算順序をソートする。次に、実行可能モジュールファイル生成部151は、例えば、「SUM」などのスプレッドシート機能(例えば、エクセル機能)を、対象モジュールファイルが有する機能または対象モジュールファイルの実行環境で実行される機能に変換する。第3に、実行可能モジュールファイル生成部151は第1の動作で解いた順序で機能を記載する。実行モジュールファイル171は、データモデルを使用した外部機器へのアクセスを可能にする実行可能なモジュールファイルである。いくつかの例示的実施形態において、実行可能なモジュールファイルはスクリプト(例えば、テキスト)として実現される。この場合、実行可能モジュールファイル生成部151と、実行モジュールファイル171と、モジュールファイル実行部105とをそれぞれ、実行スクリプトファイル生成部152と、実行スクリプトファイル172と、スクリプト実行部106として例示し説明してもよい。しかしながら、例示的実施形態はスクリプトである実行可能なモジュールファイルに限定されず、例示的実施形態全体において、実行可能なモジュールファイルは、Java(登録商標)クラスファイル(中間コード)、機械コードなど、スクリプト以外の様々な種類のファイルとして実現してもよい。したがって、例示的実施形態による実行可能なモジュールファイルを、様々なレベル(高レベル、中間レベル、低レベルなど)で互換性があるファイルとして構成してもよく、特定のプラットフォームで実行可能であってもよい。
 実デバイス102はワールド・ワイド・ウェブ(例えば、「ウェブ」)サーバー104と、モジュールファイル実行部105(例えば、「モジュールファイル実行部」)と、データモデルにアクセスするプロセッサ108(例えば、「ドライバソルバー」)と、外部機器にアクセスする実行部110(例えば、「外部機器実行部」)とを含む。実デバイス102を、例えば、ハードウェア装置2800(図28参照)として実現してもよく、この場合、CPU2804を含めてもよく、CPU2804は、以下により詳細に説明するように、ウェブサーバー104、モジュールファイル実行部105、ドライバソルバー108、外部機器にアクセスする実行部110、および/または他の構成要素のパフォーマンスおよび機能を制御するように特別に構成されていてもよい。
 ウェブサーバー104はウェブクライアント190と通信するように構成される。ウェブサーバー104はウェブ表示ファイル192をウェブクライアント190に送信し、要求メッセージ194をウェブクライアント190から受信し、応答データ196をウェブクライアント190に返信するように構成される。要求メッセージ194を、例えば、機器データを要求するアプリケーション・プログラミング・インターフェース(API)の一部として使用してもよく、応答データ196もまたAPIの一部として使用してもよく、例えば、機器データを得るためのものであってもよい。
 モジュールファイル実行部105は、実行モジュールファイル171に基づいてモジュールファイル(例えば、特定のプログラムによって実行可能なコマンドリスト)を実行するように構成される。モジュールファイル実行部105は、コール112をウェブサーバー104から受信し、結果114をウェブサーバー104に返信するように構成される。モジュールファイル実行部105はさらに、要求116をドライバソルバー108に送信し、応答データ118をドライバソルバー108から受信するように構成される。要求メッセージ194および応答データ196と同様に、要求116および応答データ118はデータを交換するAPIの一部であってもよい。
 ドライバソルバー108はデータモデルにアクセスするように構成される。ドライバソルバー108は要求116をモジュールファイル実行部105から受信し、応答データ118をモジュールファイル実行部105に返信するように構成される。ドライバソルバー108はさらに、要求124をウェブサーバー104から受信し、応答データ126をウェブサーバー104に返信するように構成される。ドライバソルバー108はさらに、要求120を外部機器にアクセスする実行部110に送信し、応答データ122を外部機器にアクセスする実行部110から受信するように構成される。ドライバソルバー108はさらに、データモデル全体の設定174をデータモデルの情報管理部154から受信するように構成される。
 外部機器にアクセスする実行部110は、要求120をドライバソルバー108から受信し、応答データ122をドライバソルバー108に返信するように構成される。外部機器にアクセスする実行部110はさらに、要求メッセージ128を外部機器180に送信し、応答データ130を外部機器180から受信するように構成される。要求120は、例えば、外部機器180に関する詳細(例えば、外部機器180のアイデンティティ、外部機器180のステータスなど)に関する要求であってもよく、応答データ122は要求された詳細を含むものであってもよい。要求メッセージ194および応答データ196と同様に、要求120および応答データ122はデータを交換するAPIの一部であってもよい。外部機器にアクセスする実行部110を、外部機器180と通信するように構成されたポートとして実現してもよい。さらに、外部機器にアクセスする実行部110を、外部機器へのアクセス設定178を外部機器へのアクセス設定エディター148から受信するように構成してもよい。
 第1の例示的実施形態
 図1は、第1の例示的実施形態による、データを処理するためのウェブベースシステムを示す。
 一般に、人々は様々な目的のために、生活の中で様々な種類の電子装置を使用する。例えば、工場の環境では、工場労働者はファクトリーオートメーション(FA)機器を監視または制御する必要があるだろう。他の例として、住宅所有者は、家の特定の電気器具を監視する必要があることがあり、また学生は学校で特定の電子装置を監視する必要があることがある。しかしながら、多くの電子装置は、ヒューマン・マシン・インターフェース(HMI)などの、ユーザーが機器を監視または制御するのを可能にするコンピューティング資源を欠いている。その結果、関連技術において、電子装置に格納されたコンピュータプログラムを編集または制御するのは非常に難しいかまたは不可能なことがある。
 第1の例示的実施形態では、スプレッドシートエディター144と、実行可能モジュールファイル生成部151と、モジュールファイル実行部105の機能を結合したものを使用し、それらは共に機能して、スプレッドシート編集結果をモジュールファイル(例えば、スクリプトなどの実行モジュールファイル171)に変換し、モジュールファイルを実行する。関連技術によれば、ユーザーがスプレッドシートソフトウェアを使用してスプレッドシートを編集および実行する際、編集および実行動作は組み合わされる。しかしながら、第1の例示的実施形態によるウェブベースシステム100では、エンジニアリングツール140で実行したスプレッドシートプログラムから得た結果は、実デバイス102(例えば、PLCモジュール)で実行可能なモジュールファイル(例えば、実行モジュールファイル171)に変換され、実デバイス102はモジュールファイルを実行できる。したがって、編集および実行を別に行うことができる。その結果、ユーザーはスプレッドシートを編集することによって複雑な演算処理を記述することができ、演算処理を別の装置(例えば、ディスプレイのない装置)で別に実行することができる。編集処理およびモジュールファイル実行処理は別々に行われるので、パーソナルコンピュータ(PC)などの、豊富な資源を有するハードウェアを編集に使用することができ、豊富な資源を持たない別の装置で、編集されたモジュールファイルを実行することができる。なお、編集されたモジュールファイルを実行する装置は、処理力または帯域幅の増大、低遅延、または機器データへの直接アクセスなどの、特定の有益な特徴を有してもよいこととする。
 モジュールファイルを「スクリプト」として実現する場合、本明細書で使用されるように、用語「スクリプト」は、編集処理と実行処理の間で使用される中間通信媒体を広く意味するものとする。例えば、スクリプトは、コントローラが機器を制御するために、コントローラの実行環境で実行されるように構成される実行可能なモジュールファイルであってもよい。例示的実施形態によれば、様々な種類のスクリプトを用いることができる(例えば、Lua、Javascript(登録商標)など)。
 第1の例示的実施形態では、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、スプレッドシートエディター144と、実行可能モジュールファイル生成部151と、モジュールファイル実行部105のパフォーマンスを制御するように特別に構成してもよい。
 第2の例示的実施形態
 図2は、第2の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第2の例示的実施形態によるウェブベースシステム200と第1の例示的実施形態によるウェブベースシステム100の間の主な違いは、第2の例示的実施形態によるウェブベースシステム200は、スプレッドシートデータ生成部204(例えば、「スプレッドシートデータ生成部」)とスプレッドシート実行部202とを含むことである。前述の図面に示す構成要素と同じ参照番号を有する図2の他の構成要素は、前述の図面に示す構成要素と同一でもよく、その詳細な説明を省略する。
 ウェブベースシステム200において、スプレッドシートデータ生成部204はスプレッドシート設定160をスプレッドシートエディター144から受信し、スプレッドシート設定160に基づいてスプレッドシートデータ206を生成する。スプレッドシートデータ206は、XML、JavaScript(登録商標) Object Notation(JSON)、または他の当業者が知っている言語などのデータ記述言語により定義される。次に、スプレッドシートデータ生成部204はスプレッドシートデータ206をスプレッドシート実行部202に送信し、スプレッドシート実行部202はスプレッドシートデータ206をロードし、計算を実行する。
 第2の例示的実施形態の主な利点は、エンジニアリングツール140で実行されたスプレッドシートプログラムから得た結果が、データ記述言語(例えば、XML、JSON)により定義されたデータとして保存され、実デバイス102(例えば、PLCモジュール)に転送されることである。したがって、スプレッドシートデータをスクリプトに変換する第1の例示的実施形態によるウェブベースシステム100とは異なり、実デバイス102のスプレッドシート実行部202はマークアップ言語(例えば、XML、JSON)でデータをロードして計算とデータを実行し、データは保存されたデータに応じて入出力される。したがって、スプレッドシートデータをスクリプトに変換する必要はない(中間スクリプト表現は必要ない)。
 したがって、第2の例示的実施形態によれば、スクリプト生成処理は省略される。さらに、装置(例えば、シーケンサ装置)によって実行可能な種類のコードを含むデータ記述言語を生成してもよく、生成したデータ記述言語は直接実行可能であるので、中間スクリプト表現が要らないようにデータとコードを共に束ねてもよい。
 さらに、第1の例示的実施形態と同様に、編集および実行を別々に行ってもよい。その結果、ユーザーは、スプレッドシートを使用して複雑な演算処理を記述することができるので、演算処理を他の装置(例えば、ディスプレイのない装置)で別に実行することができる。
 第2の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時にスプレッドシートデータ生成部204とスプレッドシート実行部202のパフォーマンスを制御するように特別に構成してもよい。
 第3の例示的実施形態
 図3は、第3の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第3の例示的実施形態によるウェブベースシステム300と第1の例示的実施形態によるウェブベースシステム100の間の主な違いは、第3の例示的実施形態によるウェブベースシステム300は、データモデルにアクセスするプロセッサ(例えば、ドライバソルバー)308と、外部機器にアクセスする実行部310と、外部機器へのアクセス設定エディター348と、データモデルの情報管理部354とを含むことである。前述の図に示す構成要素と同じ参照番号を有する図3に示すその他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
 外部機器へのアクセス設定エディター348は、外部機器へのアクセス設定定義366を受信するように構成される。外部機器へのアクセス設定定義366をXMLスキーマの形で提供してもよい。XMLスキーマは、(1)外部機器についての情報と、(2)作成するファイルについての情報とを含む。外部機器へのアクセス設定定義366に基づき、外部機器へのアクセス設定エディター348は、ユーザーがアクセスできる設定画面を生成するように構成される。ユーザーは、生成された設定画面にデータを入力することによって、アクセス定義を設定する。外部機器へのアクセス設定エディター348は、ユーザーが設定したアクセス定義に基づいて外部機器へのアクセス設定378(例えば、アクセス定義ファイル)を生成し、外部機器へのアクセス設定378を、外部機器へのアクセス・ドライバ・モジュール368(例えば、「外部機器アクセス・ドライバ・モジュール」)と共に、外部機器にアクセスする実行部310に送信する。
 図3は、外部機器へのアクセス・ドライバ・モジュール368が実デバイス102とは別でもよいことを例示しているが、いくつかの例示的実施形態によれば、外部機器へのアクセス・ドライバ・モジュール368は実デバイス102に含まれてもよい。
 外部機器にアクセスする実行部310は外部機器へのアクセス設定378と外部機器へのアクセス・ドライバ・モジュール368とを受信するように構成される。外部機器にアクセスする実行部310を、例えば、外部機器にアクセスする実行部110と同様に実現してもよい。機器情報が不明である場合、外部機器にアクセスする実行部310は外部機器380についての機器情報を要求するように構成される。機器情報は、固定情報(例えば、外部機器380の識別情報)、動的に変化するステータス情報(例えば、電力レベル、パフォーマンス情報、サイクル/秒、インクレベル、メモリ記憶レベル、その他の設定)、接続情報(例えば、Wi-Fi、セルラー、イントラネット、インターネットなど)、位置情報、およびその他の種類の情報など、外部機器380に関するいかなる種類の情報でもよい。機器情報を要求するために、外部機器にアクセスする実行部310は、XMLスキーマに対応する少なくとも1つの外部機器380に関する詳細を要求する要求メッセージ328を送信し、少なくとも1つの外部機器380からその詳細を含む応答データ330を受信するように構成される。応答データ330は少なくとも1つの外部機器380に保存されるデータの種類を示してもよい(例えば、シーケンサはレジスタを有し、DBはテーブルを有する)。外部機器にアクセスする実行部310はさらに、外部機器へのアクセス設定378と応答データ330とに基づいて各外部機器のデータモデル376を生成し、生成した各外部機器のデータモデル376をデータモデルの情報管理部354に送信するように構成される。外部機器にアクセスする実行部310は、各種要因に従って各外部機器のデータモデル376を柔軟に生成してもよい。例えば、外部機器にアクセスする実行部310を、データのカテゴリをソートし、データモデル内のどこに情報を置くかを決定し、自由にマッピングを変更するように構成してもよい。データ定義が外部機器380に保存されている場合、外部機器へのアクセス・ドライバ・モジュール368は外部機器380に照会する。しかしながら、アクセス・ドライバ・モジュール368が管理する外部機器380のデータ定義が固定されている場合、アクセス・ドライバ・モジュール368は機器に照会しなくてもよく、代わりに内部でデータモデルを生成することができる。
 データモデルの情報管理部354は、少なくとも1つの外部機器380のそれぞれに関し、生成された各外部機器のデータモデル376を収集し、データモデル全体の設定374を生成する。データモデル全体の設定374を、例えばオブジェクトブラウザ2402(図24参照)として視覚的に提示してもよい。次にデータモデルの情報管理部354は、生成したデータモデル全体の設定374をドライバソルバー308に送信する。ドライバソルバー308は要求320を外部機器にアクセスする実行部310に送信し、応答データ322を外部機器にアクセスする実行部310から受信する。
 ドライバソルバー308は、データモデル全体の設定374をロードし、ロードしたデータモデル全体の設定374に基づいて、外部機器にアクセスする実行部310による機器データへのアクセスを可能にするインターフェースを生成する。ユーザーがデータモデル全体の設定374を編集する際、ドライバソルバー308はどの外部機器を使用するべきかを決定し、その機器にアクセスする。
 第3の例示的実施形態の主な利点は、外部機器へのアクセス設定定義366と外部機器へのアクセス・ドライバ・モジュール368の両方をウェブベースシステム300に追加できるということである。第3の例示的実施形態の別の主な利点は、ウェブベースシステム300が複数の外部機器に対し同じオペレーションスキームを使用することでデータアクセスを実現するということである。製造者(例えば、サードパーティ)は新たなスキーマまたはドライバを追加して、市場のニーズおよび他の考慮すべき事項に基づいて各種機器にアクセスできる。
 第3の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ドライバソルバー308と、外部機器にアクセスする実行部310と、外部機器へのアクセス設定エディター348と、データモデルの情報管理部354のパフォーマンスを制御するように特別に構成してもよい。
 第4の例示的実施形態
 図4は第4の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第4の例示的実施形態によるウェブベースシステム400と第3の例示的実施形態によるウェブベースシステム300の間の主な違いは、第4の例示的実施形態によるウェブベースシステム400はデータモデル構造エディター446(例えば、「データモデル構造エディター」)をさらに含むことである。前述の図に示す構成要素と同じ参照番号を有する図4に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
 データモデル構造エディター446は、データモデルの構造を編集するように構成される。データモデルを編集するために、データモデル構造エディター446は、エンジニアリングツール140に接続された入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてデータモデルを編集する。
 第4の例示的実施形態の主な利点は、データモデル構造エディター446により、ユーザーがデータを整理および再構成できるようにすることで、データ管理を改良できることである。
 第4の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、データモデル構造エディター446のパフォーマンスを制御するように特別に構成してもよい。
 第5の例示的実施形態
 図5は、第5の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第5の例示的実施形態によるウェブベースシステム500は、第1の例示的実施形態によるウェブベースシステム100(または第2の例示的実施形態によるウェブベースシステム200)の特徴と、第3の例示的実施形態によるウェブベースシステム300の特徴とを組み合わせたものである。前述の図に示す構成要素と同じ参照番号を有する図5に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
 ウェブベースシステム500は、スクリプト実行部506と、ドライバソルバー508と、スプレッドシートエディター544と、実行スクリプトファイル生成部552と、データモデルの情報管理部554とを含む。
 スプレッドシートエディター544は、データモデル全体の設定562をデータモデルの情報管理部554から受信し、ユーザー入力とデータモデル全体の設定562の両方に基づいてスプレッドシート設定560を生成するように構成される。データモデルの情報管理部554は、データモデル全体の設定574を生成するように構成される。
 実行スクリプトファイル生成部552は、スプレッドシート設定560を受信し、受信したスプレッドシート設定560に基づいて実行スクリプトファイル572を生成するように構成される。実行スクリプトファイル生成部552はさらに、実行スクリプトファイル572をスクリプト実行部506に送信するように構成される。
 スクリプト実行部506は、実行スクリプトファイル572に基づいてスクリプト(例えば、特定のプログラムによって実行可能なコマンドリスト)を実行するように構成される。また、スクリプトを実行した結果、スクリプト実行部506は要求516をドライバソルバー508に送信し、応答データ518をドライバソルバー508から受信することによって、外部機器にアクセスするように構成される。
 第5の例示的実施形態の主な利点は、データ処理動作を、ドライバソルバー508がアクセスする外部機器データにリンクする一律の簡単な方法を実現していることである。
 第5の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の構成要素が上記の機能を実行する際に、該構成要素のパフォーマンスを制御するように特別に構成してもよい。
 第6の例示的実施形態
 図6は、第6の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第6の例示的実施形態によるウェブベースシステム600は、ウェブサーバー604と、データモデル全体の設定614を受信するドライバソルバー608と、スプレッドシートエディター644と、ウェブ表示ファイル生成部650と、データモデルの情報管理部654とを含む。前述の図に示す構成要素と同じ参照番号を有する図6に示す他の構成要素は、図1に示す構成要素と同一でもよく、その詳細な説明は省略する。
 スプレッドシートエディター644は、データモデル全体の設定662をデータモデルの情報管理部654から受信し、受信したデータモデル全体の設定662に基づいてスプレッドシート設定658を生成し、生成したスプレッドシート設定658をウェブ表示ファイル生成部650に送信するように構成される。ウェブ表示ファイル生成部650は、スプレッドシート設定658に基づいてウェブ表示ファイル670を生成し、ウェブ表示ファイル670をウェブサーバー604に送信するように構成される。ウェブサーバー604は、ウェブ表示ファイル692をウェブクライアント690に送信するように構成され、ウェブクライアント690は、要求メッセージ694と応答データ696を使用して、ウェブサーバー604と通信するように構成される。
 第6の例示的実施形態の主な利点は、データ処理動作とデータ視覚化動作を、ドライバソルバー608がアクセスする外部機器データにリンクする一律の簡単な方法を実現していることである。第6の例示的実施形態と第5の例示的実施形態との違いは、第6の例示的実施形態によれば、スプレッドシートから出力されるデータ処理結果がウェブ表示ファイル692に変換され、ウェブサーバー604を介してウェブブラウザに届けることができることである。ウェブブラウザがウェブ表示ファイル692に基づいて情報を表示することにより、ユーザーが表示された情報を見て、ウェブブラウザにコマンドを入力できるようにしてもよい。そして入力コマンドをウェブサーバー604に返信してもよく、ウェブサーバー604はドライバソルバー608を介してデータモデルにアクセスする。このように、実デバイス102が動作を実行する代わりに、ウェブサーバー604とウェブクライアント690が一対としてその動作を実行する。
 第6の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブサーバー604と、ドライバソルバー608と、スプレッドシートエディター644と、ウェブ表示ファイル生成部650と、データモデルの情報管理部654のパフォーマンスを制御するように特別に構成してもよい。
 第7の例示的実施形態
 図7は、第7の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第7の例示的実施形態によるウェブベースシステム700と第1の例示的実施形態によるウェブベースシステム100との違いは、第7の例示的実施形態によるウェブベースシステム700はフローチャートエディター742を付加していることである。前述の図に示す構成要素と同じ参照番号を有する図7に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
 フローチャートエディター742は、フローチャートを生成し、編集するように構成される。フローチャートを編集するために、フローチャートエディター742は、エンジニアリングツール140に接続された入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてフローチャートを編集する。フローチャートエディター742はさらに、編集したフローチャートに基づいてプロセスシーケンス設定756を生成し、プロセスシーケンス設定756をスプレッドシートエディター744に送信するように構成される。
 スプレッドシートエディター744は、受信したプロセスシーケンス設定756に基づいてスプレッドシートを編集し、編集したスプレッドシートに基づいてスプレッドシート設定760を生成し、スプレッドシート設定760を実行スクリプトファイル生成部752に送信するように構成される。
 実行スクリプトファイル生成部752は、スプレッドシート設定760に基づいて実行スクリプトファイル772を生成し、生成した実行スクリプトファイル772をスクリプト実行部706に送信するように構成される。実行スクリプトファイル772により、データモデルを使用して外部機器にアクセスすることができる。
 スクリプト実行部706は、実行スクリプトファイル772に基づいてスクリプト(例えば、特定のプログラムによって実行可能なコマンドリスト)を実行するように構成される。
 第7の例示的実施形態の動作例を以下に示す。
 最初に、ユーザーがフローチャート2600(図26参照)を編集する。例えば、外部機器180がプリンタである場合、ユーザーは、いずれかのプリンタのインクレベルが10%を下回った場合、警告をそのプリンタに発するというパラメータを設定する。パラメータを設定するために、ユーザーはフローチャートでパラメータを特定し、さらにプリンタのインク・レベル・ステータスに対応するスプレッドシートのセルを指定する(例えば、セルG2からG9、図21参照)。次に、フローチャートエディター742は編集されたフローチャートに基づいてプロセスシーケンス設定756を生成し、プロセスシーケンス設定756をスプレッドシートエディター744に送信し、次にスプレッドシートエディター744はプロセスシーケンス設定756に基づいて(上述のような)スクリプト生成処理を開始する。
 第7の例示的実施形態の主な利点は、フローチャートエディター742を使用してフローチャートを編集するため、また、スプレッドシートエディター744が編集されたフローチャートに基づいてスプレッドシートを編集するため、簡単で効果的な方法で高度なデータ処理を実現できることである。
 第7の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、フローチャートエディター742のパフォーマンスを制御するように特別に構成してもよい。
 第8の例示的実施形態
 図8は、第8の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第8の例示的実施形態によるウェブベースシステム800と第6の例示的実施形態によるウェブベースシステム600との違いは、第8の例示的実施形態によるウェブベースシステム800において、スプレッドシートエディター844がプロセスシーケンス設定856に基づいてスプレッドシート設定858を生成するように構成されており、一方、第6の例示的実施形態によるウェブベースシステム600において、スプレッドシートエディター644はデータモデル全体の設定662に基づいてスプレッドシート設定658を生成するように構成されていることである。その結果、フローチャートを使用してスプレッドシートとの間で柔軟にデータを送受信し、柔軟にスプレッドシート計算を指示することができる。前述の図に示す構成要素と同じ参照番号を有する図8に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
 フローチャートエディター842は、フローチャートを生成および編集し、編集したフローチャートに基づいてプロセスシーケンス設定856を生成し、プロセスシーケンス設定856をスプレッドシートエディター844に送信するように構成される。
 スプレッドシートエディター844は、プロセスシーケンス設定856に基づいてスプレッドシート設定858を生成し、スプレッドシート設定858をウェブ表示ファイル生成部850に送信するように構成される。
 ウェブ表示ファイル生成部850は、スプレッドシート設定858に基づいてウェブ表示ファイル870を生成し、ウェブ表示ファイル870をウェブサーバー804に送信するように構成される。ウェブサーバー804は、ウェブ表示ファイル892をウェブクライアント890に送信するように構成され、ウェブクライアント890は、要求メッセージ894と応答データ896とを使用してウェブサーバー804と通信するように構成される。
 第8の例示的実施形態の主な利点は、簡単で効果的な方法で高度なデータ処理と高度なデータ視覚化を実現できることである。
 第8の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、上記構成要素のパフォーマンスを制御するように特別に構成してもよい。
 第9の例示的実施形態
 図9は、第9の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
 第9の例示的実施形態によるウェブベースシステム900は、スプレッドシート902とデータモデル904とを同時に表示するように構成される。上記第1から第8の例示的実施形態を任意に組み合わせることによって、スプレッドシート902とデータモデル904とを生成し編集することができる。一例示的実施形態によれば、フローチャート部分または設定テーブルの特性を利用して、スプレッドシート902とデータモデル904の間のリンクを設定する。
 第9の例示的実施形態の主な利点は、簡単で効果的な方法で、スプレッドシート902とデータモデル904の間の相互連関を視覚化することである。
 第9の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム900の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム900の一部として実現してもよいし、ウェブベースシステム900とは別にしてもよい。
 第10の例示的実施形態
 図10は、第10の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
 第10の例示的実施形態によるウェブベースシステム1000は、フローチャート1006とデータモデル1004とを同時に表示するように構成される。上記第1から第9の例示的実施形態を任意に組み合わせることによって、フローチャート1006とデータモデル1004とを生成し編集することができる。一例示的実施形態によれば、フローチャート部分または設定テーブルの特性を利用して、フローチャート1006とデータモデル1004の間のリンクを設定する。
 第10の例示的実施形態の主な利点は、簡単で効果的な方法で、フローチャート1006とデータモデル1004の間の相互連関を視覚化することである。
 第10の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1000の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1000の一部として実現してもよいし、ウェブベースシステム1000とは別にしてもよい。
 第11の例示的実施形態
 図11は、第11の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
 第11の例示的実施形態によるウェブベースシステム1100は、ウェブベースシステム1100が、例えばXMLを使用する情報技術(IT)システムなどの外部システムに接続されていることを前提とする。ウェブベースシステム1100は、セルを連結する連結機能と、XMLで使用不可能な文字をXMLに準拠したフォーマットに変換するエスケープ機能(「変換」機能とも呼ぶ)とを含む2つの主な機能を実行するように構成される。ウェブベースシステム1100を、上記第1から第8の例示的実施形態に含まれる、スプレッドシートエディター(例えば、スプレッドシートエディター144)、モジュールファイル実行部(例えば、モジュールファイル実行部105)、またはメッセージを生成するウェブクライアント(例えば、ウェブクライアント190)などの各種構成要素にロードしてもよい。
 図11に例示するように、ウェブベースシステム1100は他のセル(例えば、「<abc>」および「B&W」)からデータを受け取ってもよい。しかしながら、データに含まれる、文字「<」、「>」、および「&」などの特定の文字はXMLに準拠しないことがある。したがって、ウェブベースシステム1100はまず、文字「<」、「>」、および「&」をXMLに準拠した文字に変換するエスケープ機能1108を実行し、次に、データを連結し、連結したデータを外部ITシステムに送信する連結機能1110を実行する。
 第11の例示的実施形態によるウェブベースシステム1100の主な利点は、外部ITシステムなどの外部システムのコンピュータ言語に準拠したテキストベースのメッセージを生成する、簡単で効果的な方法を提供することである。当然ながら、ウェブベースシステム1100はメッセージをXMLに変換することに限定されず、代わりにメッセージをその他の様々な種類のコンピュータ言語、例えばJSONに変換してもよいものとする。
 第11の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1100の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1100の一部として実現してもよいし、ウェブベースシステム1100とは別にしてもよい。
 第12の例示的実施形態
 図12は、第12の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
 第12の例示的実施形態によるウェブベースシステム1200は、第11の例示的実施形態によるウェブベースシステム1100の逆機能を実行する。ウェブベースシステム1200は、正規表現抽出機能1208とエスケープ解除機能1210(変換解除機能とも呼ぶ)とを含む。
 まず、ウェブベースシステム1200は、外部システム(例えば、外部ITシステム)からデータを含むテンプレートを受信し、テンプレートに対し正規表現抽出機能1208を実行して空白セルを抽出する。空白セルはユーザー設定に基づいてユーザーにより指定される。テンプレートを正規表現列に連結し、指定された空白セルを、「(.)」などの正規表現のパターンマッチングのための特別列として連結し、正規表現抽出機能1208により対応するデータを抽出できるようにする。次に、ウェブベースシステム1200は、空白セルに含まれる文字を抽出し、空白セルに含まれる文字に対しエスケープ解除機能1210を実行することにより、データモデルで使用可能なフォーマットに文字を変換する。例えば、エスケープ解除機能1210により、文字を、XMLフォーマットから、データモデルで使用可能な非XMLフォーマットに変換する。次に、ウェブベースシステム1200は変換した文字を適切な場所(例えば、データモデルを制御する装置またはプログラム)に送信する。
 第12の例示的実施形態によるウェブベースシステム1200の主な利点は、外部ITシステムから受信されるメッセージを受信し、受信したメッセージをスプレッドシートのコンピュータ言語に準拠するようにする簡単で効果的な方法を提供することである。
 当然ながら、ウェブベースシステム1200はメッセージをXMLから変換することに限定されず、代わりにメッセージを他の様々な種類のコンピュータ言語、例えばJSONに変換してもよい。
 第12の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1200の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1200の一部として実現してもよいし、ウェブベースシステム1200とは別にしてもよい。
 第13の例示的実施形態
 図13は、第13の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
 第13の例示的実施形態によるウェブベースシステム1300が第12の例示的実施形態によるウェブベースシステム1200と違うのは、第13の例示的実施形態によるウェブベースシステム1300は、パーサ1302と、差抽出部1310と、マッピングソルバ1314とを含むことである。
 パーサ1302は、システム(例えば、外部ITシステム)から受信した応答メッセージを構文解析することによって、応答中間データ1304を生成するように構成される。さらに、パーサ1302は、テンプレートを構文解析することによって、テンプレート中間データ1306とマッピングデータ1308を生成するように構成される。応答中間データ1304とテンプレート中間データ1306は、例えば、XMLオブジェクト、ドキュメント・オブジェクト・モデル(DOM)オブジェクト、JSONオブジェクト、または他の種類のデータでもよい。差抽出部1310は、応答中間データ1304とテンプレート中間データ1306との差を求め、その差を示す差データ1312を生成するように構成される。マッピングソルバ1314は、マッピングデータ1308を使用することでデータ1316を差データ1312から抽出し、次に抽出したデータ1316を適切な場所(例えば、データモデルを制御する装置またはプログラム)に送信するように構成される。
 第13の例示的実施形態の主な利点は、第12の例示的実施形態の特定の特徴を高めることである。XMLでは幅広い柔軟性は与えられない。第13の例示的実施形態によれば、より柔軟なアプローチが提供される。外部システムから受信した応答メッセージはテンプレートと正確に一致していなくてもよく、代わりに、テンプレートのデータ記述言語に一致しているだけでよい。タスクを実行するのに文字を使用する代わりに、文字を中間データに置き換える。さらに、差データ1312とマッピングデータ1308とを使用することで、ウェブベースシステム1300はソースを識別し、正確な値を正確に抽出することができる。
 第13の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1300の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1300の一部として実現してもよいし、ウェブベースシステム1300とは別にしてもよい。
 第14の例示的実施形態
 図14は、第14の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第14の例示的実施形態によるウェブベースシステム1400と第1の例示的実施形態によるウェブベースシステム100との違いは、第14の例示的実施形態によるウェブベースシステム1400は、設定I/Oインターフェース1402とサード・パーティ・アプリケーション1404とを含むことである。前述の図に示す構成要素と同じ参照番号を有する図14に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
 設定I/Oインターフェース1402は、外部機器へのアクセス設定定義166とデータモデル全体の設定1462に基づいて生成されるアプリケーション・プログラミング・インターフェース(API)である。設定I/Oインターフェース1402により、サードパーティはそのブランドのGUIソフトウェアを容易に作ることができる。最初に生成されたGUIは秘匿されるが、有用で汎用性のあるGUIパーツを便宜上サードパーティに提供してもよい。設定I/Oインターフェース1402をアプリケーション・プログラミング・インターフェース(API)として提供して、サード・パーティ・アプリケーション1404が内部機能に呼び出すことができるようにする。内部機能を呼び出すため、サード・パーティ・アプリケーション1404はコール1406を設定I/Oインターフェース1402に送信し、コール1406に基づいた設定I/Oインターフェース1402からの結果1408を受信する。内部機能の例には、プロジェクト機能をロードすること(例えば、元のエンジニアリングツールによってテンプレートとして予め作成されたプロジェクトファイルをロードすること)と、設定機能を変更すること(例えば、サードパーティによって作られたソフトウェアからロードされたプロジェクトデータをコピー、削除、および変更すること)と、プロジェクトを実デバイスの機能に書き込むこと(例えば、変更されたプロジェクトデータからウェブ画面用のスクリプトおよびファイルを生成し、生成したスクリプトとファイルを実デバイスに転送すること)が含まれる。その他様々な種類の機能も使用できるものとする。
 第14の例示的実施形態の主な利点は、サードパーティが、エンジニアリングツール140によって予め生成されたスクリプトを使用できるようにすることである。スプレッドシート編集およびフローチャート編集から生じるGUI画面を削除することで、サードパーティはスクリプトを他の目的に使用することができる。したがって、第14の例示的実施形態は、サードパーティが、エンジニアリングツール140によってすでに作成されたものを基礎にして、機能を追加すること、および以前から存在する機能を変更することを望む状況において有効である。さらに、第14の例示的実施形態によるウェブベースシステム1400を使用することで、サードパーティはそれ自身のシステムを作り出し、新たに作ったシステムを市場に出して売ることができる。
 第14の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、設定I/Oインターフェース1402のパフォーマンスを制御するように特別に構成してもよい。
 第15の例示的実施形態
 図15は、第15の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第15の例示的実施形態によるウェブベースシステム1500と第3の例示的実施形態によるウェブベースシステム300との違いは、第15の例示的実施形態によるウェブベースシステム1500は、プロファイル定義1530に基づいてデータモデルを生成することである。前述の図に示す構成要素と同じ参照番号を有する図15に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
 プロファイルでアクセスする実行部1510(例えば、「プロファイル実行部」)は、プロファイル定義1530を受信し、プロファイル定義1530に基づいてデータモデルを生成するように構成される。
 第15の例示的実施形態の主な利点は、アクセスドライバを使用してデータモデルを生成する第3の例示的実施形態とは異なり、第15の例示的実施形態においては、プロファイル定義1530を使用してデータモデルを生成することである。プロファイル定義1530を使用することで、外部機器が、特定のプロファイル仕様を有するいくつかの標準化通信プロトコルに対応する場合、ユーザーはデバイス・アクセス・ドライブなしで外部機器にアクセスすることができる。その結果、機器のプロファイルデータのみが必要であることによって、データ処理動作が簡単なものになる。
 第15の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、プロファイルでアクセスする実行部1510のパフォーマンスを制御するように特別に構成してもよい。
 上記例示的実施形態の態様をコンピュータプログラムとして書いてもよいし、コンピュータ読み取り可能記録媒体を使用してプログラムを実行する汎用デジタルコンピュータで実現してもよい。コンピュータ読み取り可能記録媒体の例には、磁気記憶媒体(例えば、ROM、フロッピー(登録商標)ディスク、ハードディスクなど)、光記録媒体(例えば、CD-ROM、DVD)、およびその他の種類の記録媒体が含まれる。
 前述の例示的実施形態および利点は例にすぎず、上記例示的実施形態を限定するものとして解釈されるものではない。上記例示的実施形態は、ファクトリーオートメーション(FA)機器以外の機器などの他の種類の機器にも容易に適用可能である。例えば、上記例示的実施形態を、例えば、インターネット、モノのインターネット(IOT)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)などのネットワークを介して互いに接続される各種電子装置に適用してもよい。また、上記例示的実施形態の説明は例示を目的とするものであり、請求項の範囲を限定するものではなく、当業者であれば様々な変更、修正、および変形が明らかであろう。

Claims (17)

  1.  スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの1つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
     コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、
    を備えるエンジニアリングツール。
  2.  前記エンジニアリングツールは、データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部をさらに備える、請求項1に記載のエンジニアリングツール。
  3.  前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに備える、請求項1に記載のエンジニアリングツール。
  4.  前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備える、請求項1に記載のエンジニアリングツール。
  5.  前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成される、請求項1に記載のエンジニアリングツール。
  6.  前記エンジニアリングツールは、構成されたディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成される、請求項1に記載のエンジニアリングツール。
  7.  前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第1のフォーマットから第2のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成される、請求項1に記載のエンジニアリングツール。
  8.  前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第2のフォーマットから前記第1のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成される、請求項7に記載のエンジニアリングツール。
  9.  前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成される、請求項8に記載のエンジニアリングツール。
  10.  前記エンジニアリングツールは、
     サード・パーティ・アプリケーションと、
     前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも1つの機能へのアクセスを与えるように構成された入出力設定インターフェースと、
    をさらに備える、請求項1に記載のエンジニアリングツール。
  11.  プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに備える、請求項1に記載のエンジニアリングツール。
  12.  データを処理するように構成されたシステムであって、
     機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
     前記スプレッドシート設定に基づいてモジュールファイルを生成するように構成されたモジュールファイル生成部と、
     データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、
     複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、
    を備えるエンジニアリングツールと、
     前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、
     前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、
     前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、
    を備えるコントローラと、
    を備えるシステム。
  13.  前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの1つの構造を編集するように構成されたデータモデル構造エディターをさらに備える、請求項12に記載のシステム。
  14.  前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するように構成される、請求項13に記載のシステム。
  15.  前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備え、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに備える、請求項14に記載のシステム。
  16.  コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、
     機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
     前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、
    を備えるエンジニアリングツール。
  17.  コントローラで使用され、スプレッドシートに基づいてエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、
     前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、
     前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、
    モジュール。
PCT/JP2016/081335 2015-11-06 2016-10-21 エンジニアリングツール、システムおよびモジュール WO2017077887A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017548709A JP6351869B2 (ja) 2015-11-06 2016-10-21 エンジニアリングツール、システムおよびモジュール
CN201680063767.6A CN108351636B (zh) 2015-11-06 2016-10-21 工程设计工具、系统及模块
KR1020187011834A KR101936027B1 (ko) 2015-11-06 2016-10-21 엔지니어링 툴, 시스템 및 모듈

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/934,948 2015-11-06
US14/934,948 US10198422B2 (en) 2015-11-06 2015-11-06 Information-processing equipment based on a spreadsheet

Publications (1)

Publication Number Publication Date
WO2017077887A1 true WO2017077887A1 (ja) 2017-05-11

Family

ID=58661883

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/081335 WO2017077887A1 (ja) 2015-11-06 2016-10-21 エンジニアリングツール、システムおよびモジュール

Country Status (6)

Country Link
US (1) US10198422B2 (ja)
JP (1) JP6351869B2 (ja)
KR (1) KR101936027B1 (ja)
CN (1) CN108351636B (ja)
TW (1) TWI649662B (ja)
WO (1) WO2017077887A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019083009A (ja) * 2017-10-27 2019-05-30 セールスフォース ドット コム インコーポレイティッド コンピュータ・システムの作動方法、コンピュータ・システム、コンピュータ・プログラム及び記憶媒体
JP2020061016A (ja) * 2018-10-11 2020-04-16 ファナック株式会社 製造装置の制御装置及び監視システム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126391A (zh) * 2016-06-28 2016-11-16 北京百度网讯科技有限公司 系统监控方法和装置
CN106383766B (zh) * 2016-09-09 2018-09-11 北京百度网讯科技有限公司 系统监控方法和装置
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN108626850B (zh) * 2017-03-20 2020-06-12 台达电子工业股份有限公司 空调设备的远程智能有限状态机控制系统
US10492046B2 (en) * 2017-04-07 2019-11-26 Servicenow, Inc. System of actions for IoT devices
US11422833B1 (en) 2017-06-30 2022-08-23 Cognex Corporation System and method for automatic generation of human-machine interface in a vision system
US10620798B2 (en) 2017-10-21 2020-04-14 Mordechai Teicher Autonomously cooperating smart devices
US10742442B2 (en) 2017-10-21 2020-08-11 Mordechai Teicher Cluster of smart devices operable in hub-based and hub-less modes
JP6860529B2 (ja) * 2018-07-20 2021-04-14 ファナック株式会社 数値制御装置及びデータ編集方法
TWI709908B (zh) * 2019-05-03 2020-11-11 直得科技股份有限公司 在plc編輯環境中與其他軟體協作之方法、程式產品、電腦可讀取媒體
WO2021204115A1 (zh) * 2020-04-07 2021-10-14 添可智能科技有限公司 数据生成方法、处理方法和执行方法及设备
US11157267B1 (en) * 2020-09-09 2021-10-26 International Business Machines Corporation Evaluation of dynamic relationships between application components
TWI757926B (zh) 2020-10-22 2022-03-11 財團法人工業技術研究院 工具機數值控制器軟體動態產生裝置及方法
CN114765558B (zh) 2021-01-15 2024-04-09 台达电子工业股份有限公司 工业设备监控方法及工业设备监控系统
TWI795009B (zh) * 2021-10-01 2023-03-01 王世華 應用程式介面(api)生成與管理系統
TWI805093B (zh) * 2021-11-24 2023-06-11 台中精機廠股份有限公司 人機介面機台控制系統
CN114625093B (zh) * 2022-03-25 2023-05-02 佛山市博顿光电科技有限公司 工艺控制方法、装置及工业控制系统
US11909707B2 (en) * 2022-04-15 2024-02-20 Red Hat, Inc. Message schema migration in messaging systems
CN115544983B (zh) * 2022-11-29 2023-03-21 明度智云(浙江)科技有限公司 基于矩阵类设备的数据处理方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125129A1 (en) * 1999-05-17 2009-05-14 Invensys Systems, Inc. Control system configurator and methods with edit selection
JP2011040059A (ja) * 2009-08-11 2011-02-24 Fisher-Rosemount Systems Inc プロセス制御構成方法、プロセス制御構成システム、モジュールテンプレート、及びプロセス制御システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038318A (en) 1987-12-17 1991-08-06 Square D Company Device for communicating real time data between a programmable logic controller and a program operating in a central controller
JPH09201746A (ja) 1996-01-25 1997-08-05 Denso Corp 生産システム設計支援装置
JP2002370142A (ja) 2001-06-14 2002-12-24 Ntn Corp 生産ラインおよびその工程変更方法
US7117043B1 (en) 2002-03-28 2006-10-03 Integrator.Com Method for programming a programmable logic controller
WO2009149262A1 (en) 2008-06-04 2009-12-10 Us Biomedical Information Systems, Inc. Methods and systems for creating and editing a graph data structure
US9053260B2 (en) * 2009-04-13 2015-06-09 Honeywell International Inc. Utilizing spreadsheet user interfaces with flowsheets of a CPI simulation system
US20120303645A1 (en) 2010-02-03 2012-11-29 Anita Kulkarni-Puranik System and method for extraction of structured data from arbitrarily structured composite data
US20140149836A1 (en) 2012-11-29 2014-05-29 Jason Bedard Dashboard Visualizations Using Web Technologies

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125129A1 (en) * 1999-05-17 2009-05-14 Invensys Systems, Inc. Control system configurator and methods with edit selection
JP2011040059A (ja) * 2009-08-11 2011-02-24 Fisher-Rosemount Systems Inc プロセス制御構成方法、プロセス制御構成システム、モジュールテンプレート、及びプロセス制御システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019083009A (ja) * 2017-10-27 2019-05-30 セールスフォース ドット コム インコーポレイティッド コンピュータ・システムの作動方法、コンピュータ・システム、コンピュータ・プログラム及び記憶媒体
JP7195108B2 (ja) 2017-10-27 2022-12-23 セールスフォース ドット コム インコーポレイティッド コンピュータ・システムの作動方法、コンピュータ・システム、コンピュータ・プログラム及び記憶媒体
JP2020061016A (ja) * 2018-10-11 2020-04-16 ファナック株式会社 製造装置の制御装置及び監視システム
US11699111B2 (en) 2018-10-11 2023-07-11 Fanuc Corporation Control device and monitoring system of manufacturing device

Also Published As

Publication number Publication date
CN108351636B (zh) 2020-04-10
CN108351636A (zh) 2018-07-31
JPWO2017077887A1 (ja) 2018-04-26
KR20180061280A (ko) 2018-06-07
TWI649662B (zh) 2019-02-01
US10198422B2 (en) 2019-02-05
KR101936027B1 (ko) 2019-01-07
TW201723886A (zh) 2017-07-01
US20170132194A1 (en) 2017-05-11
JP6351869B2 (ja) 2018-07-04

Similar Documents

Publication Publication Date Title
JP6351869B2 (ja) エンジニアリングツール、システムおよびモジュール
JP6624008B2 (ja) エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体
Bloomfield et al. Interoperability of manufacturing applications using the Core Manufacturing Simulation Data (CMSD) standard information model
JP2016526231A (ja) 技術設備を記述したデータの交換の方法
KR20140121145A (ko) Bim기반 건설데이터 통합관리 시스템
JP6805832B2 (ja) 複数ワークシートのエクスポートの生成
CN113168564A (zh) 用于生成人工智能模型的方法和系统
CN105159754A (zh) 基于商业智能云平台的在线仿真方法及装置
CN109460231B (zh) 基于xml的上位机软件实现方法
Sauer Developments and trends in shopfloor-related ICT systems
Ivanovic et al. Technologies for a diagnostic technique for HVAC systems using IoT and cloud-based architecture
Papakonstantinou et al. Object oriented extensions of IEC 61131–3 as an enabling technology of software product lines
JP2020102115A (ja) エンジニアリング支援システム及びエンジニアリング支援方法
Xue et al. Learning with remote laboratories: Designing control algorithms with both block diagrams and customized C code schemes
JP2014035687A (ja) エンジニアリングシステムとその監視制御方法
Nelson Smart factories leverage cloud, edge computing
Mónica et al. Agent-based communication to map and exchange shop floor data between MES and material flow simulation based on the open standard CMSD
CN115525321A (zh) 分布式任务生成方法、装置、设备及存储介质
WO2022068105A1 (zh) 非标设备测试系统、方法和存储介质
Lucke et al. Implementation of the MIALinx user interface for future manufacturing environments
Neges et al. Enabling round-trip engineering between P&I diagrams and augmented reality work instructions in maintenance processes utilizing graph-based modelling
JP2020027663A (ja) 仕様書作成部
WO2019240743A1 (en) A method and system for semantic integration approach for field device life cycle management
Schilberg et al. Virtual Production-The connection of the modules through the Virtual Production Intelligence
US11789421B2 (en) Efficient client updates using patience difference algorithm in a unidirectional data flow architecture for industrial automation design

Legal Events

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

Ref document number: 16861950

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017548709

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20187011834

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16861950

Country of ref document: EP

Kind code of ref document: A1