CA2349546C - Distributed life cycle development tool for controls - Google Patents

Distributed life cycle development tool for controls Download PDF

Info

Publication number
CA2349546C
CA2349546C CA002349546A CA2349546A CA2349546C CA 2349546 C CA2349546 C CA 2349546C CA 002349546 A CA002349546 A CA 002349546A CA 2349546 A CA2349546 A CA 2349546A CA 2349546 C CA2349546 C CA 2349546C
Authority
CA
Canada
Prior art keywords
control
software
computer
control panel
hardware
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CA002349546A
Other languages
French (fr)
Other versions
CA2349546A1 (en
Inventor
Michael T. Gaston
David Cook
Goutam Gandhi
Gary D. Hedrick
Victor L. Potter
Carl J. Lecheler
Timothy S. Matt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robertshaw Controls Co
Original Assignee
Robertshaw Controls Co
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 Robertshaw Controls Co filed Critical Robertshaw Controls Co
Publication of CA2349546A1 publication Critical patent/CA2349546A1/en
Application granted granted Critical
Publication of CA2349546C publication Critical patent/CA2349546C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23446HIL hardware in the loop, simulates equipment to which a control module is fixed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2633Washing, laundry
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32129Select program for specified machine from library, file server

Abstract

A control system for a device, such as an appliance, is designed by stori ng software representations of pre-existing control panel components (2005) and pre-existing control processes (2010) on a computer, using the computer to develop a control panel for the device by selecting and placing software representations of pre-existing control panel objects in a software representation of the control panel (2015), and using the computer to develop control software for the device by selecting software representations of pre-existing control processes and associating the selected control processes with the selected control pan el objects (2020). The control software then is downloaded from the computer to control hardware to be included in the device (2025). Finally, the device is tested using the control software running on the control hardware and under the control of the computer (2030). A system (2100) for designing a control system for a device (2105) includes a computer (2110) having an input unit (2115), an output unit (2120), a processor (2125), a storage device (2130) on which the softwa re representations (2140) are stored, and a display (2135) on which a representation of the control panel is presented. The system also includes control hardware (2145) connected to active components (2150) of thedevice (2105) and operabl e to receive data from the output unit (2120) of the computer (2110). The processor (2125) is programmed to generate the control system in the manner discussed above.

Description

WO OO12673Z ~ 02349546 2001-04-27 pCT/US99/25618 DISTRIBUTED LIFE CYCLE DEVELOPMENT TOOL FOR CONTROLS
TECHNICAL FIELD
The invention relates to designing controls for appliances, machines, machine tools, and other devices.
BACKf3R0UND
Typically, development of a new product, such as an appliance, starts with the manufacturer writing a system requirements specification. This specification is sent to various engineering firms with a request for proposal. Each engineering firm provides a proposal and cost estimate to the manufacturer. The manufacturer evaluates the proposals and selects a short list of engineering firms. The manufacturer then asks these firms to submit firm quotes for the new product based on their proposals. Finally, the manufacturer reviews all firm quotes and selects one engineering firm to produce the new product. This is a long and laborious process that usually takes three to nine months with only one tangible result: a firm proposal for development of a new product.
The next step in the process is for the manufacturer and the selected engineering firm to develop a detailed design specification for the new product.
This development usually takes three to six months.
The final step in the process is to produce a prototype system based on the detailed design specification. Once the prototype is complete, the new system is extensively tested by the engineering firm and by the manufacturer. After all regression and acceptance testing is complete, the system is tested for.
certification to ensure it meets all applicable government requirements for safety and operation. The new product goes into production once testing is complete.
SUL~2ARY
l0 A system for the design of control systems for appliances, machines, machine tools, and the like improves a user's ability to develop a processor-based control system by reducing development cycles and eliminating or reducing the need for a formal customer requirement specification. The system is intended to reduce time to market, eliminate excess requirements cycles, lower system development costs, and improve overall product quality. Improvements in the product development cycle may be attained through the use of a computer-based virtual prototype tool, a state machine engine,. standard embedded control code, a standard hardware platform, and real-time testing on actual appliance hardware for verification of the embedded control system.
In one general aspect, a control system for a device, such as an appliance, is generated by storing software representations of pre-existing Control panel components and control processes on a computer and using the computer to develop a control panel and control software for the device by selecting and placing software representations of pre-existing control panel objects in a softv~are representation of the control panel, selecting software representations of pre-existing control processes, and associating the selected Control processes WO 00/26732 ~ 02349546 2001-04-27 with the selected control panel objects. The control software then is downloaded from the computer to control hardware to be included in the device, and the device is tested using the control software running on the control hardware and under the control of the computer.
Embodiments may include one or more of the following features. For example, a virtual control panel generated at the computer may embody the control panel designed for the device. A user may manipulate the l0 virtual control panel to generate virtual control inputs that then are transmitted to the control hardware to control the control hardware. The virtual control. inputs may be transmitted using a communications protocol. The inputs may be transferred, for example, over a pair of wires, or through use of infrared or radio frequency transmission channels, and using any standard communications protocol.
When the control hardware includes a.standard hardware control module for implementing the control software and having a communications interface, the standard hardware control module may be connected to the computer through the communications interface and to active components of the device prior to transmission., After the device is tested, copies of the standard hardware control module may be included in production versions of the device. The standard hardware control module may be selected from a set of predefined standard hardware control modules. Each standard hardware control module may be capable of running standard software and may have different performance characteristics, and selection of a standard hardware control module may be based on performance characteristics required by the control panel and the control software. Selection may be done automatically by the computer.

PC'T/US99ll5or o _ , Software representations of active device nents also may be stored on the computer. In this compo the computer to develop the control panel and case, using ontrol software for the device may include selecting the c one or more representations of active device components and associating the selected active device components h one or more selected control processes or selected wlt control panel objects.
A standard control process may include, for example a list of sequential control steps, a state l0 machine, or a set of interrupts Using the computer to develop a control panel and control software for the device may include using graphical techniques to display the software resentation of the control panel and to select and rep ace software representations of the control panel p1 onents on the displayed software representation of comp a control panel. The software representations of th nel components may be displayed as icons, and a control pa cted icon may be displayed as a three-dimensional sele re resentation of a corresponding control panel P
component.
The graphical techniques may involve use of a al drawing tool. The graphical drawing tool also graphic a icons representing the pre-existing control may displ y processes.
com uter-controlled modelling system may be used A P
enerate a three-dimensional model of the control to g panel.
he control hardware may include standard control ware. Downloading the control software from the soft uter to the control hardware may include adding one comp more modules to the standard control software, or or replacing one or more modules of that software.

WQ UU/16'Lil The control software may be generated without generating a control panel. Such an approach may find .
use, for example, when it is desired to add functionality to a device or modify operation of the device without modifying the control panel of the device.
The control software also may be generated prior to generating a control panel. In this case, the computer may automatically generate a list of control-panel components needed for a control panel of the device based on requirements of the control software.
The control panel also may be generated without also generating new control software. This may be useful, for example, when it is desired to provide a new control panel design without modifying the underlying functionality of a device.
In another general aspect, a design specification for a control panel for a device is generated. First, a computer is used to graphically generate a control panel for a device. Thereafter, the computer is used to automatically generate the design specification from the control panel. Using the computer to graphically generate the control panel for the device may include using one or more standard objects. A standard object may include a graphical representation of a physical embodiment of the object and a logical representation of operation of the object. Embodiments may include one or more of the features noted above.
In another general aspect a control system for a device may be designed by providing a collection of standard hardware control modules, each of which is capable of running standard software and has different performance characteristics. A computer may be used to develop a control panel and control software for the device, and one or more of the standard hardware control modules to be included in the device may be selected based on performance characteristics required by the trot panel and control software. Thus, the hardware con be included is selected after the control software is to enerated so that optimal hardware for the software may g be provided. Embodiments may include one or more of the features noted above.
Tie systems and techniques may be used to develop a pliance control systems and will be described using P
that product as a reference. Appliances may include, for p example, blenders, coffee makers, clock radios, clothes dryers, dish washers, food processors, microwave ovens, mixers, ovens, ranges, refrigerators, stereo equipment, televisions, video cassette or digital video disc recorders, and washing machines. It also should be 15 understood that this invention can be used for elo ment of any type of-microprocessor-based control dev p system.
The known product development process in the prior t takes from six to eighteen months and averages about ar twelve months. The intention of this invention is to the new product development cycle from its current reduce a of twelve months to less than six months. 'This averag be accomplished by eliminating the need for a system will re irements specification and a detailed design ication, or at least simplifying the creation of specif s ecifications, and through re-use of Pre-existing, these p pre-tested software components.
The techniques may be implemented in computer hardware or software. or a Co~snation of the two.
r the techniques are not limited to any particular Howeve , ardware or software configuration; they may find h ability in any computing or processing environment applic ma be used for control system design. Preferably.
that Y
the techniques are implemented in computer programs utin on programmable computers that each include a exec processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code is applied to data entered using the input device to perform the functions described and to generate output information. The output information is applied to the one or more output devices.
Each program is preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language.
Each such computer program is preferably stored on a storage medium or device (e.g., CD-ROM, EEPROM, hard disk or magnetic diskette) that is readable by a general or special purpose programmable computer or controller for configuring and operating the computer or controller when the storage medium or device is read by the computer or controller to perform the procedures described in this document. The system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.
According to the present invention then, there is provided a method of designing a control system for a device, the method comprising storing software representations of pre-existing control panel components on a computer: storing software representations of pre-existing control processes on the computer; using the computer to develop a control panel for the device by selecting and placing software representations of pre-existing control panel objects in a software representation of the control panel; using the computer to develop control software for the device by selecting software representations of pre-existing control processes and associating the selected control processes with the selected control panel objects;

- 7a -downloading the control software from the computer to control hardware to be included in the device; testing the device using the control software running on the control hardware and under the control of the computer; generating a virtual control panel at the computer, the virtual control panel embodying the control panel designed for the device; permitting a user to manipulate the virtual control panel to generate virtual control inputs;
and transmitting the virtual control inputs to the control hardware to control the control hardware.
According to another aspect of the present invention there is provided a method of designing control software for a device, the method comprising storing software representations of pre-, existing control processes on a computer; using the computer to develop control software for the device by selecting software representations of pre-existing control processes and associating the selected control processes with each other;
downloading the control software from the computer to control hardware to be included in the device; and testing the device using the control software running on the control hardware;
generating a virtual control panel for the device at the computer; permitting a user to manipulate the virtual control panel to generate virtual control inputs; transmitting the virtual control inputs to the control hardware to control the control hardware.
According to yet another aspect of the present invention there is provided a method of designing a control panel for a device, the method comprising storing software representations of pre-existing control panel components on a computer; using the computer to develop a control panel for the device by selecting and placing software representations of pre-existing control panel objects in a software representation of the control panel; testing the device by running the control hardware under the control of the control panel on the computer;
generating a virtual control panel at the computer, the virtual control panel embodying the control panel designed for the device; permitting a user to manipulate the virtual control - 7b -panel to generate virtual control inputs; and transmitting the virtual control inputs to the control hardware to control the control hardware.
According to yet another aspect of the present invention there is provided a method of generating a design specification for a control panel for a device, the method comprising using a computer to graphically generate a control panel for a device;
and using the computer to automatically generate the design specification from the control panel.
According to yet another aspect of the present invention there is provided a method of designing a control system for a device, the method comprising providing a collection of standard hardware control modules, each control module being capable of running standard software and having difficult performance characteristics; using a computer to develop a control panel and control software for the device; selecting one or more of the standard hardware control modules to be included in the device based on performance characteristics required by the control panel and control software; wherein selecting one or more of the standard hardware control modules comprises having the computer automatically select the one or more of the standard hardware control modules based on performance characteristics required by the control panel and the control software.
According to yet another aspect of the present invention there is provided a system for designing a control system for a device, the system comprising a computer having an input unit, an output unit, a processor, a storage device, and a display;
software representations of pre-existing control panel components stored on the storage device; and control hardware connectable to active components of the device and operable to receive data from the output unit of the computer; wherein the processor is programmed to present a representation of a control panel on the display, permit a user to develop the control panel and control software for the device by using the input device to select and place representations of pre-existing control panel components on the displayed representation of the control panel, download the control software from the computer to the control hardware through the output unit; test the device using the control software running on the control hardware and under the control of the computer through the output unit; display a virtual control panel on the display, the virtual control panel embodying the control panel designated for the device; permit the user to use the input unit to manipulate the virtual control panel to generate virtual control inputs; and transmit the virtual control inputs to the control hardware through the output unit to control.
According to yet another aspect of the present invention there is provided a device control system design tool, comprising a computer-readable medium bearing a program that, when executed by a computer, causes the computer to store software representations of pre-existing control panel and control processes; in response to user-provided inputs (a) develop a simulated control panel containing user-selected control panel objects in user-selected locations, (b) produce device control software based on user-selected software representations of pre-existing control processes, and (c) associate the selected control processes with the selected control panel objects; download the control software to device control hardware; and implement the downloaded control software to test device control system functions.
Other features and advantages will be apparent from the following description, including the drawings and the claims.
DESCRIPTION OF DRAWINGS
Fig. 1 is a block diagram of a design system for controls.
Fig. 2 is a block diagram of an appliance.
Fig. 3 is a flow chart of a procedure for producing an appliance using the system of Fig. 1.

W~ 04/2&73Z CA 02349546 2001-04-27 Fig. 4 is a block diagram showing details of a tool of the system of F'ig. 1.
Figs. 6A-6G are block diagrams. of standard hardware modules of the system of Fig. 1.
Fig, 7 is a flow chart of a procedure for producing a control system using the system of Fig. 1.
Fig. 8 is a block diagram of an object model used by the system of Fig. 1., Figs, 9-17 are screen displays of the system of ' 10 Fig. 1.
Figs. 18 and 19 are flow charts of procedures for designing and testing appliance control systems.
Fig. 20 is a flow chart of a procedure for designing and testing a control system for a device.
Fig. 21 is a block diagram of a system for .
designing and testing a control system for a device.
DETAILED DESCRIPTION
Referring to Fig. 1, a design system 100 uses a design tool 105 running on a computer 110 along with a set of standard hardware control modules 115 to simplify design and development of controls for a device 120, such as an appliance, a machine, or a machine tool. Through the computer 110 and a communications link 125, the design tool 105 communicates with a standard hardware control module 115 that is connected to control active components 130 of a device 120.
Referring also to Fig. 2, an appliance or other.
device 120 typically includes active components 130, a control panel 200, and a controller 205 connected between the control panel 200 and the active components 130. The control panel 200 provides the interface between the appliance and the appliance operator. The controller 205 receives inputs from the control panel 200 and from sensors associated with the active components 130, and j'l.llVJJlnrLw...

_ g _ generates control signals that control the active components 130, The controller 205 also provides feedback to the control panel 200 for use in controlling indicators and displays on the control panel 200. With the system 100, the controller 205 is embodied in the standard hardware control module 115, and the tool 105 is used to design the control panel 200 and the software implemented by the hardware control module 115.
The design tool. 105 provides a library 135 of l0 standard control objects 140 that may be used by users to design and implement device control systems. The design system 100 promises to dramatically reduce development time, to eliminate the need to hold large inventories of controls for different models of a device, to Pez'n'~t cost-effective production of short-run, niche devices, and to allow upgrading of. existing devices by simply reprogramming the controller. While the design system 100 may be used to design controls for a variety of 'fferent device types. the following discussion focuses di on appliance controls.
The design system 100 permits engineers to reuse aspects of prior designs in designing a new product. To this end, the tool 105 provides a series of control objects 140 that may be used as provided, or modified as desired. For example, a typical control for starting a gas oven includes this sequence of events: open the gas valve, ignite the flame, bring the oven cavity temperature to a desired value, and maintain that temperature until instructed otherwise. The control for an automatic washing machine, when washing cotton fabric, might include this sequence of events: fill the tub to a desired level, heat the wash water to a desired tem erature, agitate for a designated number of minutes, p drain the tub, spin for a designated number of minutes, then shut off. Each of these sequences of steps is Y(r I! VJ//a...v..

stored as a control object 140 in the library 135. The library 135 of control objects 140 provides common control elements (e.g., buttons, switches, knobs, and 'ndicators) and software interfaces (e. g., oven or washer 'nitration sequences) between those control elements and appliance components.
In general, a standard hardware control module 'ncludes a processor 145. RAM 150, flash memory 155, and r terface.hardware 160. During design, development, and in l0 testing, a standard hardware control module 115 is connected to the device 120 to control active components 130 of the device. During production, the standard hardware control module is installed in the device. Use of the same hardware for development, testing, and uction serves to eliminate, or at least substantially prod reduce, post-production operational problems After the control panel and the control software ed using the tool 105, the control software is are design linked. The linked software may include previously-ed modules, as well as new modules generated for the test icular control panel. The linked software then is part reloaded to the flash memory 155 of the module 115.
dow din the linked software may involve replacing the Downloa g a contents of the flash memory 155, or may involve emir e1 replacing one or more modules of a previously-mer y and previously-tested) system. Thereafter, the loaded ule 115 may be operated to contxol the device 120.
mod to roduction, the module 115 may be operated using Prier P
s from a simulated control panel implemented by the input 05. After production, the module' 115 is operated tool 1 control of an actual control panel 200. Through under se of flash memory. the software can be updated at a a date to correct problems or to provide enhanced later functionality.

The software-based design approach also permits development of niche products. An example of such a product is a microwave oven with symbols and controls geared to the specific needs of children or the elderly.
Another example is an appliance that accounts for factors such as the altitude, water hardness, or climate of a region to which the appliance is to be shipped. The appliance owner also can account for these factors by reprogramming the control module upon moving the appliance between regions having substantially different conditions. This reprogramming may be provided over the telephone or over the Internet. To this end, the appliance may include a port that permits a connection to the owner's computer or a direct telephone or Internet connection. The Internet or a telephone connection also may be used to provide problem diagnosis or repair.
Referring also to Fig. 3, product development using the system 100 proceeds according to a four phase process 300. Initially, a prototype is designed using only the design tool 105 and the computer 110 (step 305).
Next, the prototype is tested and debugged using an interface module 165 connected between the computer 110 and the active components 130 of the appliance (step 310). Essentially, the interface module is a single hardware device that implements all variations of the set of standard hardware control modules 115. Use of the interface module permits the prototype to be designed without selecting the Particular hardware Control module.
to be used in the appliance. This allows selection of the optimal Control module 115 after the design is corn lete. The tool 105 provides a virtual Control panel P
that is displayed on a display 170 of the computer and ermits the Computer 110 to operate the interface module, P
which, in turn, operates the active components 130 of the appliance.

Once the design is debugged and the desired hardware control module 115 is selected, the hardware control module and the hardware control panel are installed in the appliance and further testing is performed (step 315). During this phase of the process, the computer 110 is used to acquire data from the appliance for analysis of the design. Finally, once all testing is complete, the appliance is ready for production (step 320).
Design Tool 105 Referring to Fig. 4, the design tool 105 may be used to design processor-based control systems, such as ma be used in an appliance 400. Major components of the Y
tool 105 include a panel building workbench 405, a logic workbench 410. a state machine workbench 415, an a liance hardware workbench 420, a materials workbench PP
425, a project management workbench 430, a configuration manager workbench 435, a specification workbench 440, a olding workbench 445. a test workbench 450, a data m ac uisition workbench 455, a linker 460, a communications q package 465, an appliance parts database 470, an a liance control database 475, and a virtual panel 480.
PP
Each component of the tool 105 performs a specific function and works interactively with the other components of the tool 105.
The tool 105 and its components are implemented by 110, the display 170 of which may be used to the computer dis lay the virtual panel 480 and user interfaces of P
other system components. In one implementation, the computer is a conventional personal computer having an Intel, Pentium processor, or the equivalent, and running Windows NT or a comparable operating system. The uter also includes sufficient memory, storage, I/O, comp rocessor speed, and peripherals to accomplish the P

WU UU/lb7J~ CA 02349546 2001-04-27 designated functions. The computer also may be implemented using a laptop or notebook computer. The tool 105 communicates with the interface module 165, which is also referred to as the rapid-prototyping hardware platform, or with a standard hardware control module 115, which is also referred to as the target hardware platform, through the communications link 125.
panel Building Workbench 405 The panel building workbench 405 :is a graphical drawing tool. Referring also to Fig. 5, the user screen 500 is split vertically into two specific areas. The left side 505 of the screen (one-fourth of the screen) is populated with icons 510 that may be used to select three-dimensioned photorealistic representations 515 of standard hardware objects (e. g., buttons, knobs, dials, displays). The right side~520 of the screen (three-fourths of the screen) is defined as a work area where the user designs a new control panel 525 that serves as the interface for the control system. The panel building workbench may be implemented using, for example, Visio graphics software available from visio Corporation.
The characteristics of each icon 510 (e. g., size, shape, electrical connection, voltage requirements, and state logic description) are predefined and stored in the appliance control database 475. When the user selects an icon 510 and moves the representation 515 to the work area 520, the tool 105 retrieves the characteristics of the icon trom the appliance control database 475 and deposits data related to the characteristics into other workbenches. For example, electrical connection, voltage requirements and state logical characteristics are sent to the logic workbench 410. Similarly, the part number, vendor data, cost and lead time are sent to the project management workbench 430 and the materials workbench 425.

W U UU/.GO /JG

The design process starts with the user defining the overall size and shape of the control panel 525. To this end, the work area 520 includes vertical and horizontal rulers 530. Next, the user places object representations 515 onto the control panel 525 by using a mouse or other pointer device of the computer to select an appropriate icon 510 and to drag the representation 515 into the work area 520. The user can modify, for example, the location on the control panel, the size, the shape, the color, and the text for each representation 515 that is moved into the work area 520. When the panel design is complete, the user saves the drawing to a file for future reference.
One advantage of this system is that the user designs the panel and sees the actual panel as built. By contrast, traditional design approaches require a designer to write a specification that then is interpreted by other designers who produce a panel according to their interpretation of the specification.
Logic Workbench 410 The logic workbench 410 allows the user to create the desired control logic for the appliance 400. As noted above, the logic workbench 410 is automatically populated with standard component characteristics as the control panel 525 is generated. The logic workbench 410 permits the user to edit these standard characteristics to establish the desired control logic. After all editing is complete, the user can send the final control logic to the linker 46o for linking, which may be followed by downloading using the communications package 465 and testing using the test workbench 450.
State Machine Workbench 415 ' CA 02349546 2001-04-27 a''m V~~.---The state machine workbench 415 allows.the user to build and maintain one or more libraries of predefined components. These components describe the elementary control functions of the hardware devices used in the development of device functionality. The state machine workbench allows the user to define the states of operation of the device and to link any of the components to any of these states to further define the function of the device in each state. The user can further define the logical process of transition through the various states of operation of the device. The states and their transition logic are stared in the appliance control database 475~
Appliance Hardware Workbench 410 The hardware workbench 410 allows the user to create and maintain databases 470 and 475 of information associated with the parts that are used to build the appliance control panels. Data is retrieved from the appliance parts database 470, manipulated by the user, 0 and stored into the appliance control database 475. The a liance parts database 470 can be maintained by the PP
user, or by the user's customer. For example, a customer's purchasing department may maintain its own appliance parts database 470. These databases may be 5 shared, if desired and authorized. The parts information retrieved from the appliance parts database 470 may include, for example, part number, vendor data, price and lead-time information. All of the data is inserted into records and stored in the appropriate appliance database control database 475 As shown in Fig. 4, all workbench tools have access to the appliance control database 475, while access to the appliance parts database 470 is limited.

Materials Workbench 425 The materials workbench 425 automatically creates a bill of materials for the new control panel that is developed in the panel workbench 405. The materials workbench 425 acquires input from the panel building workbench 405 and. based on the devices selected, accesses the appliance parts database 470 and the appliance control database 475 to acquire part numbers, vendor identification, price, and parts delivery lead time. The materials workbench outputs this data to a file that can be accessed by the user.
Project Management Workbench 430 The project management workbench 430 automatically generates a project schedule that includes a task list, duration, milestones, staffing requirements, and one or more proposed budgets. This workbench receives input from the panel building workbench 405, the materials workbench 425, and the appliance control database 475 to determine time and cost estimates based on the parts selected. The project management workbench generates a schedule and illustrates the schedule in a selected chart format. The user can then edit and save the schedule for future reference.
Configuration Manager Workbench 435 The configuration manager workbench 435 permits the user to define the operational parameters for the system. The user has the ability to define parameters for the hardware, communications, system administration functions, and any other required configuration parameters.
Specification Workbench 440 V1~~ 00/26732 CA 02349546 2001-04-27 The specification workbench 440 automatically generates a detailed design specification document for the new control board or panel. The workbench 440 receives inputs from the panel building workbench 405, the logic workbench 410, the state machine workbench 415, the materials workbench 425, the configuration manager workbench 435, and the appliance control database 475.
The output of this workbench may be, for example, a text file that can be edited in a conventional word processing package.
Molding Workbench 445 The molding workbench 445 receives input from the panel building workbench 405. In one implementation, this input is in the form of a CA.D drawing file of the new appliance control panel. The molding workbench 445 can output this CAD drawing file to any of several available plastic modeling tools to produce a physical, three-dimensional model of the control panel. This model then can be used to verify form and fit of physical the prototype Control panel in a cavity of the appliance 400 intended for the production control panel. This feature vastly improves the development cycle by producing a three-dimensional plastic model within a very t time. For example, the prototype can be available shor in one to two weeks, which allows for modifications in both the control panel and appliance designs at a very early, economical stage of development.
Test Wo~ckbench 450 The test workbench 450 includes a library of standard test scripts used to perform various tests on appliances. Examples include regression and acceptance tests. The user Can select predefined tests from the standard library to r~ against the newly-developed .....,.. .,......,...",m,y""."~,".p ...,...,...». ......"...w...rdwe ,_,.",~__.

control panel. The test workbench 450 also may include a test creation tool that assists the user in creating and modifying specific tests that can be saved in the standard library. A benefit of using standard test scripts is a significant time reduction in the testing cycle. Another benefit is ease of modifying old tests and developing new tests.
Data Acquisition Workbench 455 The data acquisition workbench 455 monitors performance parameters of the hardware in the interface module 165 or the standard hardware control module 115.
This workbench uses the virtual panel 480 and the communications package 465 to acquire data from the hardware module.
The workbench permits the user to select the data to be monitored, and to start and stop operation in the data acquisition mode. Once the appliance is configured for data acquisition, performance parameters are communicated from the appliance hardware to the virtual 0 anel 480. This communication may occur at predefined 2 p time intervals. The data collected can be displayed online and logged to a file for future analysis and 'fication. Tests run on the appliance hardware can be veri rested by the user or selected from the test workbench c 450.
Linker 460 The linker 460 converts all of the code generated the logic workbench 410, the state machine workbench by 415, and the configuration manager workbench 435 into a edefined binary format recognized by software embedded pr in the interface module 165 or the hardware module 115.
c~unications Package 465 W V UVII.U IJI.

The communications package 465 is a messaging system that allows the virtual panel 480 to communicate with the interface module 165 or the hardware module 115.
The messages transmitted between the virtual panel and the module are predefined and allow operation of the appliance 400 to be controlled from the computer. In particular, the user can run the virtual panel 480- on the computer to control and monitor the operation of the appliance in real-time. The running appliance can send update messages to the computer to update the virtual panel 480.
The communications package may be used to communicate with multiple appliances at the same time, through.a single port or multiple ports. For example, multiple appliances can be controlled simultaneously using one or more virtual panels running on a single computer.
Appliance Parts Database 470 The appliance parts database 470 may be implemented as a relational database that contains information on all of the parts used to build appliance control boards/panels. Companies. that build control boards normally maintain an appliance parts database 470.
The tool 105 can communicate with any open database compliant (ODBC) system, or the equivalent, for data retrieval. Data from the appliance parts database are used as inputs to the appliance.hardware workbench 420 and the materials workbench 425.
Appliance Control Database 475 3o The appliance control database 475 may be implemented as a relational database containing information for each of the parts that are,used to build control boards. Detailed information for each part WO 00/26732 ~ 02349546 2001-04-27 includes, for example, size, shape, color, electrical characteristics, state logic,~and any other information required by any warkbench.
Virtual Panel 480 The virtual panel 480 allows the user to control and monitor a running appliance from the computer. The control panel designed with the panel building workbench 405 is used as an active display to mimic the actual appliance control panel. The virtual panel 480 uses the communications package to send commands to the standard hardware platform 136 and receive updates from the hardware. The user can start, stop, and change the position of controls such as buttons, switches, and knobs on the virtual panel, and have these actions communicated to the appliance hardware.. Any changes in the appliance hardware display are communicated to the virtual panel 480 as update messages to the panel.
Standard Hardware Control Modules 115 The standard hardware control modules 115 provide a scalable approach to hardware' definition. They allow the user to select a hardware platform based on criteria such as input/output pin counts, RAM size, ROM size, display requirements (LED, VFD, LCD), and desired power requirements. The hardware may be selected from a standard family of microprocessors or controllers based on design requirements. Each microprocessor or controller in the family is capable of running standard embedded software that may be configured per appliance.
For example, one implementation uses seven different types of standard hardware modules, with the modules differing based on their pin counts (ranging from 13 pins for the simplest module to 80 pins for the most complex module) and performance characteristics. Figs. 6A-6G

.... ......,..._- Cp 02349546 2001-04-27 illustrate characteristics of the seven types of hardware modules.
Interface Module 165 In essence, the interface module 165 is one or more modules including all permitted variations of the standard control modules 115. Since the interface module supports all of the variations, it provides a useful, efficient mechanism for testing those variations..
Furthermore, it permits the user to delay selection of l0 the particular control module to be used until the design is complete. This permits the user to select the control module that is optimal for the final design.
Product Development Using the System Fig. 7 illustrates one implementation of the product development process 700 using the tool 105.
Initially, a user lays out the appliance control panel using the panel building workbench 405 (step 705). As noted above, the panel building workbench uses the appliance control database 475 and automatically sends information about the panel design to other workbenches, such as the logic workbench 410, the project management workbench 430, and the materials workbench 430.
Once the control panel design is complete, the user builds the control logic for the panel using the logic workbench 410 and the state machine workbench 415 (step 710). This process uses standard control objects from the appliance control database 475, which speeds the development process significantly. As noted above, control objects embodied in the elements of the panel are provided automatically to the logic workbench 410 by the panel building workbench 405.
The materials workbench 430 then automatically generates a bill of materials (step 715) using information from the panel building workbench 405, the logic workbench 410, and the parts database 470.
Similarly, the project management workbench automatically enerates a.project schedule (step 720), and the g specification workbench 440 automatically generates a detailed design specification (step 725).
pt this time, the.user may use the molding workbench 445 to produce a plastic model of the control anel (step 730). If necessary, the Control panel design p then may be further refined (step 705) .
Next, the linker 460 links the control logic (step 735). The Communications package 465 then downloads the linked control logic to the interface module 165 or the control module 115 (step 740), which is connected to the appliance 400 to be Controlled.
Using the data acquisition workbench 455, the virtual. panel 480, and the test workbench.450, the user sts the control panel design (step 745) on the then to al hardware to be included in the appliance. This actu ffers considerable advantages over merely simulating operation of the Control panel. If necessary, menu may be made to the control panel design (step ref ine or the control logic (step 710) in response to the 705) test results.
System Object Model Referring to Fig. 8, the System 100 maintains of s stem designs using an object model 800. The contr Y
re stored in an application database 805 that is designs a ivided by users 810. Properties associated with a subd include a user name 811, a password 812, and project user information 813. Functions associated with a user lude adding a user (814) deleting a user (815).
inc in the user's password (816). and Changing the chang g user's rights (817).

A set of one or more projects 820 is associated with each u9er 810. Properties of a project include the project name 821, the associated user 810, and a description 822 of the project. Functions associated with projects include adding a project (823), updating a project (824), deleting a project (825), exporting a project (826), importing a project (827), and renaming a project (828) A set of one or more control panels 830 is associated with each project 820. Properties of a control panel includes the name 831, the controller type 832, and the controller name 833 for the control panel.
Functions associated with control panels include deleting a control panel (834), adding a control panel (835), closing a control panel (836), saving a control panel (g37), saving a control panel under a different name (g3g), attaching a control panel to the communications link (839), and detaching the control panel from the communications link (840).
One or more panel objects 850 are associated with each control panel 830. Properties of a panel object include the function 851 of the object, the name 852 (objectid) of the object, the component type 853 of the object, and the class 854 of the object. Functions associated with objects include adding an object (855), deleting an object (856), and copying an object (857).
Control logic also is associated with each project, For example, when a project implements a washing machine,. the control logic is represented by a wash chart object 860- Properties of a wash chart object g60 include the name 861 of the wash chart, the name 862 of the control panel associated with the wash chart, the options file 863 associated with the wash chart, and the hardware configuration file 864 associated with the wash chart. Functions associated with wash charts include wo oon6~32 adding a wash chart (865), opening a wash chart (866), deleting a wash chart (867), and saving a wash chart (868) -System Operation Example System operation now will be described with respect to the example of designing a control panel for a washing machine, using screen displays of an implementation of the tool 1.05. The implementation is a Windows-based application that provides an interface having the same look and feel as well known programs, such as Microsoft Word or Microsoft Excel.
Referring to Fig. 9, upon system initiation, a login dialog 900 requires a user to log into the system t ing a user name 811 and a password 812. This login by YP
requirement serves to Protect proprietary design information, such as appliance behavior models, from unauthorized access.
Referring to Fig. 10, once the user logs into the stem, a project selection dialog 1000 is presented.
sy he roject selection dialog permits the user to select a T P
roject 820 on which to work. An Add button 1005, an P
O en button 1010, a Save button 1015, a Delete button P
20 and a Close button 1.025 permit the 'user to operate 10 , on the list of projects. For example, the user can use the Add button 1005 to add a new project. Projects may a on a client basis, with all projects associated be set P
a articular client stored together. Alternatively, with p o'ects may be defined on a project-by-project basis pr with, for example, multiple versions of a derivative _ 30 project grouped together.
For each project, the user must specify the 'ect name 821 and may enter a project description 822.
prod The user also must select an appliance type 1030 from a su orted app1:iance types. Examples of supported list of PP

W V UU/GU ~J~.

appliance types include Washer, Dryer, Washer/Dryer, Cooking, and Dishwasher.
The appliance type 1030 for the project controls which other dialogs are presented to the user. For S example, if an appliance type of Washer is selected, a wash chart selection dialog 1100, such as is shown in Fig. 11, is presented to the user. The wash chart selection dialog 1100 is similar to the project selection dialog 1000, and allows user management of all wash 1~0 charts 860 that may be associated with a project. The wash chart selection dialog 1100 provides an Add button 1105, an Open button 1110, a Save button 1115,~a Delete button 1120, and a Close button 1125 that permit the user to perform the corresponding functions.
15 Three files are associated with each wash chart 860: an options file 863 that defines user interface options, a hardware configuration file 864 that defines the hardware configuration, and an appliance control panel file 862 that specifies an appliance control panel 20 associated with the wash chart 860. Use of these separate files permits the wash chart to be designed independently of hardware specific data for use across multiple products.
Upon selecting a wash chart 860, the user is 25 permitted to edit the associated control panel using the panel building workbench 405, or to edit the associated control logic using the logic workbench 410 and state machine workbench 415. Selection of the panel building workbench 405 is illustrated in Fig. 5 and discussed 30 above. Each panel element may be customized as desired by the user. Properties. that may be modified include the shape and color of the element, whether the element is three-dimensional or provides a flat panel appearance, whether there is an indicator on or near the element, and 35 the color of that indicator. In addition, text or icons wo oon673a associated with an element may be positioned as desired, and may be in any desired color or font.
Referring to Fig, 12, an assign appliance function dialog 1200 is used to correlate the panel objects (e-g.~
the buttons, knobs, and display indicators) to operational functions of the appliance. To assign a function 851 to a panel object, the user selects .the object and activates the assign appliance function dialog 1200. The dialog identifies the name 1205 of the object.
the current assigned function 1210 for the object, and a list 1215 of all available appliance functions for the ob'ect type- The user uses the mouse to select orie of the available functions from the list 1215 and then actuates an assign button 1220 to cause the selected function to become the current assigned function 1210.
For example, as shown in Fig. 12, the spin speed lection function has been selected for the rotary knob se This assignment determines how the control panel 1225.
'1l communicate desired spin speed information to the wi controller of the washing machine.
Referring to Fig. 13A, the panel building workbench 405 also may be used to edit an existing ntrol panel 1300. As shown, the control panel 1300 co udes a start program button 1305 with an associated incl icon 1310, a no spin option button 1315 with an ed icon 1320, a load size option button 1325 with associat sociated icon 1330, a cycle status indicator 1335 an as associated icon 1340, a water temperature, setting with an ob 1345 with an associated icon 1350, and a wash kn m selection knob 1355 with an associated icon 1360.
progra eferring also to Fig- 13B, a gentle wash cycle button R
ma be added to the control panel by copying and the load size option button 1325 to the desired pasting location, and changing the associated icon 1370 to 'cate gentle wash. The assign appliance function indi ...... ,. ,.. ,..~.,...ww,~s,y"".",.",g,y.,w",.,."".w...m.r.w....* ~.»a.. .*
....".. .... . .. ....

~ 4 a. vvm....~---dialog 1200 then is used to assign a fragile textile function to the button 1365.
As noted above, the user also can edit the wash chart (i.e., the control logic) for the washer.
Essentially, the wash chart is a collectian of programs for different textiles. For example, a wash chart might include a program for synthetic textiles, a program for cotton textiles, a program for wool textiles, and a program for delicate textiles. Each program controls the duration and sequence of different stages of the wash cycle (e. g., fill,, wash, rinse, or spin), and the motion, if any. of the washer drum during each stage. Each program may include optional components, such as pre-washing or temperature settings.
Referring to Fig. 14, the collection of textile programs that make up the wash chart may be edited by invoking a wash chart editor dialog 1400. Using the dialog 1400, the user selects a textile chart 1405 (e. g., cotton) to edit a particular textile program. The f0 textile program is represented as a set of program lines 1410, each of which includes a line number 1415 and a..
sequence number 1420. A line number 1415 uniquely identifies a program line 1410. However, multiple lines can have the same sequence number. Wheri this occurs, the line executed in the textile program varies based on a setting of the control panel. For example, lines 12 and 13 each have the sequence number 7.01. Line 13, which corresponds to gentle washing. is executed when the gentle wash button 1365 has been selected, while line 12, which Corresponds to normal washing, is executed when the gentle wash button 1365 has not been selected.
Each line 1410 also includes a script field 1425, which labels the line, and a function field 1430, which identifies the function performed by the line. An options field 1435 identifies the Conditions under which Yl. I I Vo»,.........

the line is implemented. For example, line 12 has an option label of Normal Textile, which indicates that line 12 is implemented when normal washing has been selected, while line 13 has an option label of Gentle Textile, which indicates that line 13 is implemented when gentle washing has been selected. Similarly, lines 1-9 include option labels of PW1, which indicates that these lines are implemented when prewashing has been selected.
An EV field 1440 indicates whether implementation of the line involves operation of a valve or pump of the washer. A level field 1445 indicates whether the valve or pump is operated until a designated water level is obtained. An associated advance field.1447 indicates whether the program advances to the next sequence number upon reaching the designated water level.
A temperature field 1450 indicates whether im lementation of the line involves keeping or setting p the water temperature to a desired value. An associated advance field 1452 indicates whether the program advances to the next sequence number upon reaching the designated temperature.
A timerl field 1455 indicates whether a first timer is to be initiated by implementation of the line and the time value to which the timer is to be initiated.
An associated advance field 1457 indicates whether the program advances to the next sequence number upon ex iration of the first timer. A timer2 field 1460 and P
an associated advance field 1462 operate in the same waY
with respect to a second timer.
A timeout field 1465 indicates whether a value is to be set for a timeout timer that causes the program to advance to the next line. An associated advance field 1467 indicates that such an advance will occur whenever a value is provided for the timeout timer.
... ~._, n-.,..~..~M~,~.~..,~,.""~",~",.,.,~..~~.,...~...~......._, _ _._ ..
.._~. .......-..~.,~

1 V a. vvi ~.--.

wo oon6~32 A motor profile field 1470 identifies a motor profile associated with the line. The motor profile controls how the washer motor is operated, and thereby controls drum motion. For example, the motor profile associated with step 12 is designated as "Normal", while the motor profile associated with step 13 is designated as "Gentle".
Referring to Fig. 15, a motor profile editor dialog 1500 permits the user to edit different motor profiles. The user selects a particular motor profile 1505 having an associated name 1510. The profile 1505 'consists of a sequence of steps 1515, each of which has an associated step number 1520.
Each step 1515 has an associated motor operation function 1525. The motor operation functions define basic actions to be taken by the motor_ In one implementation, the functions include StopWait, which causes the motor to stop driving the drum, but permits the drum to spin freely; Run, which causes the motor to run at a specified speed and direction of rotation; Ramp, which causes the motor to ramp its speed from a first speed to a second speed; Peak, which causes the motor to increase its speed until a desired speed is reached;
EndSpin, which causes the motor to stop rotation of the motor drum; ChangeTarget, which causes the motor to change the desired rotation speed; SetUnb, which causes the motor to attempt to remove an unbalanced load condition; StartUnb, which causes the washer to indicate that an unbalanced load condition has occurred; TestUnb, 3o which causes the washer to test for an unbalanced load condition; WaitSpeed, which causes the motor to permit the drum to decelerate until a desired speed is reached;
and SpinRhythm, which causes the motor to spin the drum with a desired rhythm.

CL.tIVwi.~..___ wo ooias~32 Each step also includes a next step field 1530 that indicates the next step to be performed by the motor. A time field 1535 indicates how long the motor should operate in the current step before advancing to the next step.
A final speed field 1540 indicates the desired rotation speed for the drum, and an associated direction field 1545 indicates the desired direction of rotation.
An initial speed field 1550 indicates the starting rotation speed. This field is used by the Ramp function.
A load field 1555 indicates the amount of motor load that will trigger an unbalanced condition. This field is used by the TestUnb function.
pn unbalanced step field 1560 indicates a step to be erformed by the motor in the event that an unbalanced P
condition occurs. Similarly. a fail. step field 1565 indicates a step to be performed by the motor in the event that the motor fails to achieve the conditions of the current function.
A rhythm field 1570 indicates a rhythm associated .
with the step. Finally, an iterations field~1575 indicates a number of iterations of the step to be erformed. The iterations field is used by the SetUnb P
and SpinRhythm functions.
Fig. 15 also illustrates a rhythm editor dialog 0 used to create a motor operation rhythm. The rhythm r dialog 1600 permits the user to identify a rhythm edito 605 having a name 1610. After identifying the rhythm, user selects the durations of an initial stop period the 1615, an initial run period 1620, a subsequent stop eriod 1625, and a subsequent run period 1630. The user P
so can separately designate the rotational speeds 1635 al and directions 1640 for the two run periods 1620, 1630.
For example, the normal rhythm shown in Fig. 15 causes a drum of the washer to stop for 3 seconds, rotate in a th WO 00/26732 ~ 02349546 2001-04-27 clockwise direction at 55 RPM for 12 seconds, stop for 3 seconds, and rotate in a counter-clockwise direction at 55 RPM for 12 seconds. By contrast, the gentle rhythm shown in Fig. 16 causes the drum of the washer to stop for 12 seconds, rotate in a clockwise direction at 35 RPM
for 3 seconds, stop for 12 seconds, and rotate in a counter-clockwise direction at 35 RPM for 3 seconds.
Referring to Fig. 17, a wash dial configuration profile 1700 may be used to configure how different textile programs and program steps correspond to ositions of a dial on the control panel. Positions of P
the wash dial are designated by a series of steps 1705, each of which is identified by a step number 1710. A
extile program 1715 and a position in the script.1720 of t the textile Program are associated with each step Referring again to Fig. 14, after making any other esired changes to the wash chart, the user generates the d wash chart by selecting the link option 1475 from the tools menu 1480. The link option creates a data file that can be downloaded to the appropriate hardware for testing.
Referring to Fig. 18, testing and refinement of a 01 s stem for an appliance using one implementation contr Y
of the tool 105 may proceed according to a procedure 800, referred to as an appliance functional interface " .. The AFI provides an interface between a virtual ( AFI ) 'ance control panel and the controller of an actual apple liance. This allows the virtual panel to act as the app interface for the appliance in order to control the ' user 0 a liance as if the virtual panel is actually the appliance's control panel. The AFI provides a ation layer which translates an appliance function transl h as start bake or spin speed to a virtual panel suc object such as a display or a button.

Wp 00/26732 ~ 02349546 2001-04-27 Initially, the appliance type (e. g., clothes washer) is set (step 1805). Thereafter, an appliance function table for the selected appliance type is loaded (step 1810) and available functions for the appliance type are retrieved (step 1815).
Next, an appliance function is assigned to a panel object (step 1820)- This step is repeated until all functions have been assigned to corresponding panel objects (step 1825).
Next, a controller type is defined fox the appliance and its associated functions (step 1830). In general, the controller type is selected from a group of standard controller types (such as the standard hardware control modules illustrated in Figs. 6A-6G and discussed above), and is selected based on performance requirements of the appliance type and the software needed to implement the appliance functions.
After verifying that the selected controller type is connected to the computer (step 1835), the procedure' waits for the user to initiate live control of the appliance (step 1840). The following discussion of live control assumes that the appliance is a clothes washer.
Live control of other appliances would praceed similarly.
To begin live control, the procedure compiles the wash chart for the appliance (step 1845) and downloads the wash chart to the controller (step 1850). The procedure then initializes live control of the controller by the virtual control panel (step 1855).
During live control, if a controller event is detected (step 1860), the procedure passes the event to the virtual panel (step 1865) to update the virtual panel. Similarly, if a panel message is detected (step 1870), the procedure passes the panel message (i.e., a virtual control signal) to the controller (step 1875).
.. ,....... .. ._ ..._. _ .._ . ... _ . ... ~ .....~.n~..~~-.~w-.._ .. . ..

WO 00/16732 ~ 02349546 2001-04-27 This continues until the user stops live control of the appliance (step 1880).
As illustrated by procedure 1.900. of Fig. 19, the AFI operates similarly for the case in which all appliance functions have already been assigned to corresponding panel objects. Initially, a virtual panel file is read (step 1905) and an appropriate appliance function table is loaded (step 1910). Thereafter, available functions for the appliance type are retrieved (step 1915)-Next, a relationship table that links panel objects to appliance functions is retrieved (step 1920) and the relationships are re-assigned, if necessary, to reflect any changes in the Control panel or the controller (step 1925). After verifying that the controller type from the virtual panel file is connected to the computer (step 1930), the procedure proceeds with live control as discussed above.
In summary) a control system for a device, such as an appliance, may be generated according to the procedure 2000 illustrated in Fig. 20. First, software representations of pre-existing control panel components and control processes are stored on a computer (steps 2005 and 2010). In general, the software representations constitute reusable, pre-tested modules. The computer then is used to develop a control panel for the device by selecting and placing software representations of pre-existing Control panel objects in a software representation of the control panel (step 2015). The computer is also used to develop Control software for the device by selecting software representations of pre-existing Control processes and associating the selected control processes with the selected control panel objects (step 2020). The Control software is downloaded from the computer to control hardware to be included in the device (step 2025). Finally, the device is tested using the control software running on the control hardware and under the control of the computer (step 2030).
Fig. 2.1 illustrates a system 2100 for generating a control system for a device 2105. The system includes a computer 2110 having an input unit 2115, an output unit 2120, a processor 2125, a storage device 2130, and a display 2135. Software representations 21.40 of pre-existing control panel components are stored on the to storage device 2130. The system also includes control hardware 2145 connectable to active components 2150 of the device 2105 and operable to receive data from the output unit 2120 of the computer 2110. The processor 2125 is programmed to present a representation of a control panel on the display, to permit a user to develop the control panel and control software for the device by using the input device to select and place representations of pre-existing control panel components on the displayed representation of the control panel, to download the control software from the computer to the control hardware through the output unit, and to test the device using the control software running on the control hardware and under the control of 'the computer through the output unit.
Other embodiments are within the scope of the following claims. For example, the functions of generating the control panel and control software may be implemented separately from the testing function. In one aspect of this, the control panel and control software are generated using a computer, and then are downloaded, by, for example, an infrared link, to a personal digital assistant ("PDA"_) that is connected to the appliance and used to control the appliance.

Claims (65)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A method of designing a control system for a device, the method comprising:
storing software representations of pre-existing control panel components on a computer:
storing software representations of pre-existing control processes on the computer;
using the computer to develop a control panel for the device by selecting and placing software representations of pre-existing control panel objects in a software representation of the control panel;
using the computer to develop control software for the device by selecting software representations of pre-existing control processes and associating the selected control processes with the selected control panel objects;
downloading the control software from the computer to control hardware to be included in the device;
testing the device using the control software running on the control hardware and under the control of the computer;
generating a virtual control panel at the computer, the virtual control panel embodying the control panel designed for the device;
permitting a user to manipulate the virtual control panel to generate virtual control inputs; and transmitting the virtual control inputs to the control hardware to control the control hardware.
2. The method of claims 1 or 2, wherein transmitting the virtual control inputs comprises transmitting the virtual control inputs using a communications protocol.
3. The method of claim 1, wherein the control hardware comprises a standard hardware control module for implementing the control software and having a communications interface, the method further comprising:
connecting the standard hardware control module to operating components of the device; and connecting the standard hardware control module to the computer through the communications interface.
4. The method of anyone of claims 1, 2 or 3, further comprising, after testing the device, including copies of the standard hardware control module in production versions of the device.
5. The method of any one of claims 1, 2 or 3, further comprising selecting the standard hardware control module from a set of predefined standard hardware control modules.
6. The method of any of claims 1 to 5, wherein the control hardware comprises a collection of standard hardware control modules, the method further comprising selecting one or more standard hardware control modules from the collection and including copies of the selected standard hardware control modules in production versions of the device.
7. The method of any of claims 1 to 6, further comprising storing software representations of active device components, wherein using the computer to develop the control panel and the control software for the device further comprises selecting one or more representations of active device components and associating the selected active device components with one or more selected control processes or selected control panel objects.
8. The method of any of claims 1 to 7, wherein a software representation of a pre-existing control process comprises a list of sequential control steps.
9. The method of any of claims 1 to 8, wherein a software representation of a pre-existing control process comprises a state machine.
10. The method of any of claims 1 to 9, wherein using the computer to develop a control panel and control software for the device comprises using graphical techniques to display the software representation of the control panel and to select and place software representations of the control panel components on the displayed software representation of the control panel.
11. The method of claim 10, further comprising representing the software representations of control panel components using displayed icons.
12. The method of claim 11, further comprising displaying a selected icon as a three-dimensional representation of a corresponding control panel component.
13. The method of claim 10, wherein using graphical techniques comprises using a graphical drawing tool.
14. The method of claim 13, wherein the graphical drawing tool displays icons representing the pre-existing control processes.
15. The method of any of claims 1 to 14, wherein the device comprises an appliance.
16. The method of claim 15, wherein the appliance comprises a clothes washer.
17. The method of any of claims 1 to 16, further comprising using a computer-controlled modelling system to generate a three-dimensional model of the control panel.
18. The method of any of claims 1 to 17, further comprising storing pre-existing control software in the control hardware.
19. The method of claim 18, wherein downloading the control software from the computer to the control hardware comprises adding one or more modules to the pre-existing control software.
20. The method of claim 18, wherein downloading the control software from the computer to the control hardware comprises replacing one or more modules of the pre-existing control software.
21. The method of any of claims 1 to 20, further comprising using the computer to automatically generate a design specification from the control panel.
22. The method of any of claims 1 to 21, further comprising:
providing a collection of standard hardware control modules, each control module being capable of running standard software and having different performance characteristics; and selecting one or more of the standard hardware control modules as the control hardware for the device based on performance characteristics required by the control panel and the control software.
23. The method of claim 22, wherein selecting one or more of the standard hardware control modules comprises having the computer automatically select the one or more of the standard hardware control modules based on performance characteristics required by the control panel and the control software.
24. A method of designing control software for a device, the method comprising:
storing software representations of pre-existing control processes on a computer;
using the computer to develop control software for the device by selecting software representations of pre-existing control processes and associating the selected control processes with each other;
downloading the control software from the computer to control hardware to be included in the device; and testing the device using the control software running on the control hardware;
generating a virtual control panel for the device at the computer;
permitting a user to manipulate the virtual control panel to generate virtual control inputs;
transmitting the virtual control inputs to the control hardware to control the control hardware.
25. The method of claim 24, wherein the control hardware comprises a standard hardware control module for implementing the control software and having a communications interface, the method further comprising:
connecting the standard hardware control module to active components of the device; and connecting the standard hardware control module to the computer through the communications interface.
26. The method of any one of claims 24 or 25, further comprising having the computer automatically generate a list of control panel components needed for a control panel of the device based on requirements of the control software.
27. The method of any one of claims 24, 25 or 26, further comprising:
storing software representations of pre-existing control panel components on the computer;

using the computer to develop a control panel for the device by selecting and placing software representations of pre-existing control panel objects in a software representation of the control panel; and associating the selected control processes with the selected control panel objects.
28. The method of any of claim 24 to 27, wherein the control hardware comprises a standard hardware control module for implementing the control software and having a communications interface, the method further comprising:
connecting the standard hardware control module to operating components of the device; and connecting the standard hardware control module to the computer through the communications interface.
29. The method of any of claims 24 to 28, further comprising storing software representations of active device components, wherein using the computer to develop the control software for the device further comprises selecting one or more representations of active device components and associating the selected active device components with one or more selected control processes.
30. The method of any of claims 24 to 29, wherein using the computer to develop control software for the device comprises using graphical techniques to display the software representations of the pre-existing control processes.
31. The method of claim 30, wherein using graphical techniques comprises using a graphical drawing tool that displays icons representing the pre-existing control processes.
32. The method of any of claims 24 to 31, further comprising storing pre-existing control software in the control hardware.
33. The method of claim 32, wherein downloading the control software from the computer to the control hardware comprises adding one or more modules to the pre-existing control software.
34. The method of claim 32, wherein downloading the control software from the computer to the control hardware comprises replacing one or more modules of the pre-existing control software.
35. The method of any of claims 24 to 34, further comprising:
providing a collection of standard hardware control modules, each control module being capable of running standard software and having different performance characteristics; and selecting one or more of the-standard hardware control modules as the control hardware for the device based on performance characteristics required by the control software.
36. The method of claim 35, wherein selecting one or more of the standard hardware control modules comprises having the computer automatically select the one or more of the standard hardware control modules based on performance characteristics required by the control software.
37. A method of designing a control panel for a device, the method comprising:
storing software representations of pre-existing control panel components on a computer;

using the computer to develop a control panel for the device by selecting and placing software representations of pre-existing control panel objects in a software representation of the control panel;
testing the device by running the control hardware under the control of the control panel on the computer;
generating a virtual control panel at the computer, the virtual control panel embodying the control panel designed for the device;
permitting a user to manipulate the virtual control panel to generate virtual control inputs; and transmitting the virtual control inputs to the control hardware to control the control hardware.
38. The method of claim 37, wherein transmitting the virtual control inputs comprises transmitting the virtual control inputs using a communications protocol.
39. The method of claims 37 or 38, wherein using the computer to develop the control panel for the device comprises using graphical techniques to display the software representation of the control panel and to select and place software representations of the control panel components on the displayed software representation of the control panel.
40. The method of claim 39, further comprising representing the software representations of control panel components using displayed icons.
41. The method of claim 40, further comprising displaying a selected icon as a three-dimensional representation of a corresponding control panel component.
42. The method of any of claims 39 to 41, wherein using graphical techniques comprises using a graphical drawing tool.
43. The method of any of claims 37 to 42, further comprising using a computer-controlled modelling system to generate a three-dimensional model of the control panel.
44. The method of any of claims 37 to 43, further comprising using the computer to automatically generate a design specification from the control panel.
45. A method of generating a design specification for a control panel for a device, the method comprising:
using a computer to graphically generate a control panel for a device; and using the computer to automatically generate the design specification from the control panel.
46. The method of claim 45, wherein using the computer to graphically generate the control panel for the device comprises using one or more pre-existing objects.
47. The method of claims 45 or 46, wherein a pre-existing object includes a graphical representation of a physical embodiment of the object and a logical representation of operation of the object.
48. A method of designing a control system for a device, the method comprising:
providing a collection of standard hardware control modules, each control module being capable of running standard software and having difficult performance characteristics;
using a computer to develop a control panel and control software for the device;
selecting one or more of the standard hardware control modules to be included in the device based on performance characteristics required by the control panel and control software; wherein selecting one or more of the standard hardware control modules comprises having the computer automatically select the one or more of the standard hardware control modules based on performance characteristics required by the control panel and the control software.
49. The method of claim 48, further comprising storing software representations of pre-existing control panel components on a computer, wherein using the computer to develop the control panel and the control software comprises selecting and placing software representations of pre-existing control panel components on a software representation of the control panel.
50. The method of claim 49, further comprising storing software representations of pre-existing control processes on the computer, wherein using the computer to develop the control panel and the control software for the device comprises:
selecting and placing pre-existing representations of control panel components;
selecting one or more pre-existing control processes;
associating each of the selected control operations with a selected control panel component; and generating the control software by manipulating the software representations of the control panel components and the software representations of the one or more pre-existing control processes.
51. The method of any one of claims 48, 49 or 50, further comprising:
connecting one or more of the standard hardware control modules to active components of the device;
downloading the control software from the computer to the connected standard hardware control modules; and testing the device using the control software running on the connected standard hardware control modules under control of the computer.
52. The method of claim 51, further comprising:
generating a virtual control panel at the computer, the virtual control panel embodying the control panel designed for the device;
permitting a user to manipulate the virtual control panel to generate virtual control inputs; and transmitting the virtual control inputs to the connected standard hardware control modules to control the device.
53. The method of claim 52, wherein transmitting the virtual control inputs comprises transmitting the virtual control inputs over a pair of wires using a communications protocol.
54. A system for designing a control system for a device, the system comprising:
a computer having an input unit, an output unit, a processor, a storage device, and a display;
software representations of pre-existing control panel components stored on the storage device; and control hardware connectable to active components of the device and operable to receive data from the output unit of the computer;
wherein the processor is programmed to:
present a representation of a control panel on the display, permit a user to develop the control panel and control software for the device by using the input device to select and place representations of pre-existing control panel components on the displayed representation of the control panel, download the control software from the computer to the control hardware through the output unit;
test the device using the control software running on the control hardware and under the control of the computer through the output unit;

display a virtual control panel on the display, the virtual control panel embodying the control panel designated for the device;
permit the user to use the input unit to manipulate the virtual control panel to generate virtual control inputs;
and transmit the virtual control inputs to the control hardware through the output unit to control.
55. The system of claim 54, wherein the output unit comprises a pair of wires connected to the control hardware and transmitting the virtual control inputs comprises transmitting the virtual control inputs over the pair of wires using a communications protocol.
56. The system of claims 54 or 55, wherein the control hardware comprises a standard hardware control module for implementing the control software and having a communications interface, the standard hardware control module being connected to active components of the device, and being connected to the computer through the communications interface.
57. The system of any one of claims 54, 55 or 56, further comprising software representations of standard control operations stored an the storage device, wherein:
the processor is programmed to permit the user to:
select and place multiple ones of the standard representations of control panel components;
select one or more standard control operations; and associate each of the selected control operations with a selected standard representation of a control panel component; and the processor is programmed to generate the control software by manipulating the software representations of the control panel components and the software representations of the one or more standard control operations.
58. The system of any of claims 54 to 57, wherein the device comprises an appliance.
59. The system of claim 58, wherein the appliance comprises a clothes washer.
60. The system of any of claims 54 to 59, further comprising a computer-controlled modelling system connected to the computer and operable to generate a three-dimensional model of the control panel.
61. The system of any of claims 54 to 60, wherein the control hardware comprises standard control software.
62. The system of claim 61, wherein downloading the control software from the computer to the control hardware comprises adding one or more modules to the standard control software.
63. The system of claim 61, wherein downloading the control software from the computer to the control hardware comprises replacing one or more modules of the standard control software.
64. The system of any of claims 54 to 63, wherein the processor is further programmed to automatically generate a design specification from the control panel.
65. A device control system design tool, comprising a computer-readable medium bearing a program that, when executed by a computer, causes the computer to:
store software representations of pre-existing control panel and control processes;
in response to user-provided inputs (a) develop a simulated control panel containing user-selected control panel objects in user-selected locations, (b) produce device control software based on user-selected software representations of pre-existing control processes, and (c) associate the selected control processes with the selected control panel objects;
download the control software to device control hardware;
and implement the downloaded control software to test device control system functions.
CA002349546A 1998-11-03 1999-11-02 Distributed life cycle development tool for controls Expired - Fee Related CA2349546C (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US10680498P 1998-11-03 1998-11-03
US60/106,804 1998-11-03
US11296498P 1998-12-18 1998-12-18
US60/112,964 1998-12-18
US09/378,509 US6546297B1 (en) 1998-11-03 1999-08-20 Distributed life cycle development tool for controls
US09/378,509 1999-08-20
PCT/US1999/025618 WO2000026732A1 (en) 1998-11-03 1999-11-02 Distributed life cycle development tool for controls

Publications (2)

Publication Number Publication Date
CA2349546A1 CA2349546A1 (en) 2000-05-11
CA2349546C true CA2349546C (en) 2006-08-15

Family

ID=27380194

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002349546A Expired - Fee Related CA2349546C (en) 1998-11-03 1999-11-02 Distributed life cycle development tool for controls

Country Status (7)

Country Link
US (1) US6546297B1 (en)
EP (1) EP1127300B1 (en)
AT (1) ATE249638T1 (en)
AU (1) AU1460500A (en)
CA (1) CA2349546C (en)
DE (1) DE69911233T2 (en)
WO (1) WO2000026732A1 (en)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6854111B1 (en) * 1999-09-24 2005-02-08 Rockwell Software Inc. Library manager for automated programming of industrial controls
JP3897948B2 (en) * 2000-02-14 2007-03-28 富士通株式会社 Computer-readable recording medium recording support system and support program
ATE375827T1 (en) * 2000-02-29 2007-11-15 Pcc Spec Prod Inc INTELLIGENT MACHINE TOOL SYSTEM
US6732296B1 (en) * 2000-07-14 2004-05-04 Rockwell Automation Technologies, Inc. Object oriented scaleable test executive
DE60134034D1 (en) * 2000-08-08 2008-06-26 Lg Electronics Inc METHOD AND DEVICE FOR DISPLAYING THE INSTRUCTION MANUAL OF A WASC MACHINE
US6738852B1 (en) * 2000-09-27 2004-05-18 Palm Source, Inc. Palmtop computer expansion using shared memory access
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
DE10125384B4 (en) 2000-12-22 2018-09-20 Siemens Aktiengesellschaft Device and method for commissioning and diagnosis of control systems
US6965803B2 (en) * 2000-12-22 2005-11-15 Siemens Aktiengesellschaft Apparatus and method for commissioning and diagnosing control systems
JP2003005966A (en) * 2001-06-25 2003-01-10 Mitsubishi Electric Corp Device for automatically generating program
JP4837844B2 (en) * 2001-07-19 2011-12-14 富士通株式会社 Simulation system, method, program, and recording medium
US7367028B2 (en) * 2001-08-14 2008-04-29 National Instruments Corporation Graphically deploying programs on devices in a system
US20030043192A1 (en) * 2001-08-31 2003-03-06 Schlumberger Technology Corporation Dynamically modifiable user interface
US6823220B2 (en) * 2001-10-10 2004-11-23 Ge Medical Systems Global Technology Company, Llc Design and implementation device for real-time controllers
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US8073439B2 (en) * 2002-02-18 2011-12-06 Infineon Technologies Ag Control system and method for operating a transceiver
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US20050188351A1 (en) * 2002-04-02 2005-08-25 Siemens Aktiengesellschaft Device and method for automatically generating automation software
US20030233437A1 (en) * 2002-04-24 2003-12-18 Hiroshi Kitada Browser, method, and computer program product for managing documents
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US9983559B2 (en) 2002-10-22 2018-05-29 Fisher-Rosemount Systems, Inc. Updating and utilizing dynamic process simulation in an operating process environment
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
DE10348563B4 (en) 2002-10-22 2014-01-09 Fisher-Rosemount Systems, Inc. Integration of graphic display elements, process modules and control modules in process plants
JP2004206550A (en) * 2002-12-26 2004-07-22 Fanuc Ltd Numerical control apparatus
US7865251B2 (en) * 2003-01-28 2011-01-04 Fisher-Rosemount Systems, Inc. Method for intercontroller communications in a safety instrumented system or a process control system
US7237109B2 (en) * 2003-01-28 2007-06-26 Fisher- Rosemount Systems, Inc. Integrated security in a process plant having a process control system and a safety system
US7526347B2 (en) * 2003-02-18 2009-04-28 Fisher-Rosemount Systems, Inc. Security for objects in a process plant configuration system
US7117052B2 (en) * 2003-02-18 2006-10-03 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system
US7043311B2 (en) 2003-02-18 2006-05-09 Fisher-Rosemount Systems, Inc. Module class objects in a process plant configuration system
US20040207607A1 (en) * 2003-04-15 2004-10-21 Will Specks Operating element having an integrated display element, and a method for command output using an operating element
WO2005096189A1 (en) * 2004-04-01 2005-10-13 Pipercove Software Pty Ltd Method and computer software for integrating systems engineering and project management tools
US7729789B2 (en) 2004-05-04 2010-06-01 Fisher-Rosemount Systems, Inc. Process plant monitoring based on multivariate statistical analysis and on-line process simulation
JP2007536634A (en) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド Service-oriented architecture for process control systems
US7590942B2 (en) * 2004-09-16 2009-09-15 Novatech Llc System, method and computer program product for documenting and managing execution of procedures in a graphical interface environment
US20060089737A1 (en) * 2004-10-08 2006-04-27 General Electric Company Methods and systems for integrating design software modules
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7692635B2 (en) * 2005-02-28 2010-04-06 Sony Corporation User interface with thin display device
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8126577B2 (en) 2005-06-03 2012-02-28 Neophotonics Corporation Monitoring and control of electronic devices
US20060276917A1 (en) * 2005-06-03 2006-12-07 Beam Express, Inc. Monitoring and control of electronic devices
CN101322083A (en) 2005-12-05 2008-12-10 费舍-柔斯芒特系统股份有限公司 Multi-objective predictive process optimization with concurrent process simulation
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8092083B2 (en) * 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8040266B2 (en) * 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8788959B1 (en) 2007-04-25 2014-07-22 Cypress Semiconductor Corporation System and method for monitoring a target device
US9720805B1 (en) * 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
WO2010004544A1 (en) * 2008-07-08 2010-01-14 Technion - Research & Development Foundation Ltd Decision support system for project managers and associated method
US8473110B2 (en) * 2008-11-25 2013-06-25 Regal Beloit America, Inc. Systems and methods for controlling operation of a motor
FR2939555B1 (en) * 2008-12-10 2015-09-18 Somfy Sas METHOD FOR OPERATING A DEVICE FOR CONTROLLING DOMOTIC EQUIPMENT
WO2010080608A1 (en) * 2008-12-18 2010-07-15 Qsc Audio Products, Llc Audio system control interface
US8881039B2 (en) 2009-03-13 2014-11-04 Fisher-Rosemount Systems, Inc. Scaling composite shapes for a graphical human-machine interface
US8825183B2 (en) * 2010-03-22 2014-09-02 Fisher-Rosemount Systems, Inc. Methods for a data driven interface based on relationships between process control tags
DE102010050333A1 (en) 2010-11-05 2012-05-10 Robert Falk Method for generating functional safety information of workpiece processing machine, involves determining time and use limits over entire life cycle of machine, and performing risk assessment based on technical information of machine
US20130201316A1 (en) * 2012-01-09 2013-08-08 May Patents Ltd. System and method for server based control
KR20140084448A (en) * 2012-12-26 2014-07-07 두산인프라코어 주식회사 Operational programs and tools selection method of Numerical control composite Machine
NO335328B1 (en) * 2013-05-02 2014-11-17 Marine Cybernetics As A TEST SYSTEM AND PROCEDURE TO TEST THE INTERACTION BETWEEN TWO OR MORE CONTROL SYSTEM SOFTWARE ON A MARINE INSTALLATION OR VESSEL
DE102013007927B4 (en) * 2013-05-10 2014-12-24 Hoerbiger Automatisierungstechnik Holding Gmbh drive unit
JP6267152B2 (en) * 2015-04-14 2018-01-24 ファナック株式会社 Tool conveying apparatus and processing system provided with gripping force measuring means of tool holding means of tool magazine
US10216523B2 (en) 2015-07-17 2019-02-26 General Electric Company Systems and methods for implementing control logic
US9989950B2 (en) 2015-07-17 2018-06-05 General Electric Company Systems and methods for generating control logic
DE102016208382A1 (en) * 2016-05-17 2017-11-23 BSH Hausgeräte GmbH System for implementing a process engineering process on a domestic appliance
US10878140B2 (en) 2016-07-27 2020-12-29 Emerson Process Management Power & Water Solutions, Inc. Plant builder system with integrated simulation and control system configuration
US11424865B2 (en) 2020-12-10 2022-08-23 Fisher-Rosemount Systems, Inc. Variable-level integrity checks for communications in process control environments
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6086644A (en) 1983-10-17 1985-05-16 Sanyo Electric Co Ltd Check system of control substrate
US4914568A (en) 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
EP0626635B1 (en) * 1993-05-24 2003-03-05 Sun Microsystems, Inc. Improved graphical user interface with method for interfacing to remote devices
US5812394A (en) 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5751163A (en) 1996-04-16 1998-05-12 Lattice Semiconductor Corporation Parallel programming of in-system (ISP) programmable devices using an automatic tester
JP3398676B2 (en) * 1996-11-26 2003-04-21 株式会社四国総合研究所 Equipment management system
JPH10289108A (en) * 1997-04-17 1998-10-27 Matsushita Electric Ind Co Ltd Remote program downloading device
JPH11143511A (en) * 1997-11-04 1999-05-28 Fanuc Ltd Numerical controller
US6396516B1 (en) * 1998-05-29 2002-05-28 Plexus Systems, Llc Graphical user interface shop floor control system

Also Published As

Publication number Publication date
DE69911233T2 (en) 2004-07-01
WO2000026732A1 (en) 2000-05-11
EP1127300B1 (en) 2003-09-10
AU1460500A (en) 2000-05-22
CA2349546A1 (en) 2000-05-11
EP1127300A1 (en) 2001-08-29
ATE249638T1 (en) 2003-09-15
US6546297B1 (en) 2003-04-08
DE69911233D1 (en) 2003-10-16

Similar Documents

Publication Publication Date Title
CA2349546C (en) Distributed life cycle development tool for controls
JP6549748B2 (en) Process control configuration method, process control configuration system, and software system
US10268185B2 (en) Multiple deployment of applications with multiple configurations in an industrial automation environment
US7086009B2 (en) Customizable system for creating supervisory process control and manufacturing information applications
US7802238B2 (en) Process control script development and execution facility supporting multiple user-side programming languages
US7162387B2 (en) Measurement system graphical user interface for easily configuring measurement applications
US7210117B2 (en) System and method for programmatically generating a graphical program in response to program information
US7076740B2 (en) System and method for performing rapid control prototyping using a plurality of graphical programs that share a single graphical user interface
US20040148037A1 (en) System and method for model based control of a mechanical device
US7533347B2 (en) Creating a graphical user interface for selected parameters of a graphical program
EP2592506B1 (en) Chainable plug-ins
EP2592516B1 (en) Data resource identity
WO2009082381A1 (en) Incorporating development tools in system for deploying computer based process on shared infrastructure
US8793668B2 (en) Protocol independent programming environment
US20020188434A1 (en) System and method for providing cross-development application design tools and services via a network
CN106094750A (en) The simulative debugging method of dcs
Thomas et al. A process definition environment for component based manufacturing machine control systems developed under the foresight vehicle programme
Johnson et al. AN APPLICATION GENERATOR FOR RAPID PROTOTYPING OF ADA REAL-TIME
Jablonski et al. Architecture of the DaltOn Data Integration System for Scientific Applications
Lopez et al. Open control architecture for discrete manufacturing automation
Marrenbach Rapid Development and Evaluation of Interactive Systems
Van Zee et al. Multi‐sensor system for flexible assembly
Barot Operator interfaces for the lifecycle support of component based automation systems
Penney Automated test—the virtual instrument revolution

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed