WO2002091134A2 - Object-oriented operating system for a spray controller - Google Patents
Object-oriented operating system for a spray controller Download PDFInfo
- Publication number
- WO2002091134A2 WO2002091134A2 PCT/US2002/014873 US0214873W WO02091134A2 WO 2002091134 A2 WO2002091134 A2 WO 2002091134A2 US 0214873 W US0214873 W US 0214873W WO 02091134 A2 WO02091134 A2 WO 02091134A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- spray
- controller
- objects
- application file
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B12/00—Arrangements for controlling delivery; Arrangements for controlling the spray area
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45013—Spraying, coating, painting
Definitions
- Spray control systems are used in variety of applications, such as for applying paints and other coating compositions to plastic, metal, and optical components. In many of these applications, it is beneficial if not important to achieve a uniform thickness of coating material. Consequently, spray control systems typically utilize closed loop control to regulate the flow of coating fluid and/or fluid pressure provided to the spray gun or other applicator. These closed loop control schemes use the error between the measured flow and/or pressure and setpoints corresponding to desired flow and pressure to provide negative feedback that drives the flow toward the setpoint. PID (proportional plus integral plus derivative) control is common among these control schemes.
- the user has limited ability to modify the control and operation of the controller according to the specific requirements of his or her application. That is, while the user can alter the desired setpoints for the control system, the more intrinsic logical and procedural operations as defined by the instructions/algorithms within the controller memory cannot be directly modified.
- the ability of the user to accommodate spraying requirements that extend beyond the capabilities of the pre-programmed user settings/modes is impractical in most conventional spray controllers and systems.
- the present invention generally relates to a method and system for implementing the logical and physical operations of an electronic spray controller using object-oriented programming techniques. In this way, the invention provides a convenient way to implement the functionality of an industrial spray controller without knowledge of the underlying complexities of each logical and physical property of the system.
- the connector port 32 provides a general data transfer interface, which allows application data, system logs, and other information related to the spraying system to be easily retrieved from the controller memory (not shown) by the PC 30 over a communication channel 33.
- the data transfer interface 32 also allows program data containing executable instructions related to the operation of the controller to be downloaded from the PC 30 over the channel 33, and stored within the controller memory.
- the spray controller 20 also comprises multiple input connectors 34 and 36 for communicating with external devices.
- Such devices may include a flow meter 38 for measuring the flow rates of low and high viscosity liquids, a pressure sensor 40 for detecting liquid pressure, and an optical sensor 42 for monitoring the spray density.
- Each of the devices can be connected to the spray controller using a connector cable 44, as shown in FIG. 1.
- an external power supply or battery source 45 can be connected to the controller to provide auxiliary or primary power to the controller 20 as it is in operation.
- output devices are connected to the controller via output connectors 46, 48 and connector cable 50 and 51 to control and regulate liquid outputs.
- External output devices can include an alarm 52 or indicator siren/lamp 54, a pressure regulator 56, and a plurality of valves 58 and relays 60 that operate a spray gun 62.
- the various input and output devices of the spray controller 20 interact with each other according to a set of programmed instructions that are stored within the controller memory. These instructions are processed by a central processing unit (CPU) located within the controller circuitry that implements the instructions to control the operation of the spray system.
- CPU central processing unit
- FIG. 2 shows an abstraction of a function block object or software object 120 that is used to build an application program according to the invention.
- a software object 120 is a graphical representation of a function block — a specialized control feature stored within memory of the controller — that corresponds to a specific property of the controller. More specifically, each software object is implemented as a data structure representative of a specific logical or physical component of the controller.
- the data structure 120 comprises different types of data that define its characteristics. This includes internal data 122, which is data that is supplied by the user of the controller system 20 or the system manufacturer at design time. The internal data of an object is static, and therefore cannot typically be changed during the processing or execution of the data structure 120. Internal data 122 can include properties specific to the particular hardware component or function represented by the software object 120.
- internal data may include the physical address of an output component (e.g., a flow meter), or a maximum/minimum value of an input or output parameter for a hardware component.
- Internal data may also include component or application specific instructions and algorithms that are necessary for the proper operation of the controller. For instance, a scaling function, linearization factor or power regulation function may be stored within the internal data 122 to regulate or control the behavior of an actuator. Virtually any data, including algorithms, complex instruction sets, data tables, logical address locations, etc., can be stored as internal data 122 that is associated with a particular software object.
- the data structure 120 also comprises one or more input 124 and output 126 lines. These lines are the primary external interface points of the function block 120 for receiving and/or transmitting data and commands.
- the data lines 128 receive the data necessary for the object's internal operation, and the data outputs 130 yield the output produced by the object as a result of its execution.
- command inputs 132 and command outputs 134 allow commands to be received and events to be triggered by a software object, respectively.
- the lines 124 and 126 permit commands and data to be stored into, and subsequently retrieved from, the data structure 120. As illustrated in FIG. 2, the internal data 122 varies significantly from the input data 124.
- the internal data 122 unlike the input data 126, cannot typically be altered.
- the PID has an inhibit input (regulate) 164 that can be used to temporarily hold the control signal to a certain level. This can prevent the pressure, or analog output 165, from rising in instances where the PID is used to regulate an inactive but connected output device, such as a spray gun (e.g. by manipulating the analog output range 169).
- a defined period setting 167 is also provided, which allows the regulator to operate using a configured period as a time base.
- the PID regulator object also comprises a PWM (pulse width modulated) output 168 to allow for digital signal control.
- the PID regulator includes internal data 122 including the logical address information of the output value or any special control options.
- the PID regulator object 140 provides a convenient programming interface for implementing the PID mathematical function shown above (e.g. for altering the K, T ⁇ and T D values). In this way, the intricacies of the function itself are hidden from the user, which minimizes the time and skill required to implement PID regulation within the controller 20.
- the implementation of the PID regulator described in FIG. 3(a) is only one possible implementation. Indeed, the PID regulator object, and all of the software objects representative of the various aspects of the controller, can be designed to meet specific applications. FIGs.
- the spray gun function block handles various timing relating to these outputs.
- the spray gun block itself contains the hardware specification for the PWM bridge output as an example.
- the spray gun block includes a dedicated command output or outputs for this purpose. Based on a target flow rate and maximum target flow rate input parameters, the spray gun function block calculates the necessary PWM duty cycle.
- a switch fault is checked by the spray gun using a switch input and switch time, as shown in FIG. 3(d). This input is active when the spray gun is actually spraying within a time tolerance given by the parameter "switch time.”
- the switch input may be connected through flow detection sensors which may detect the presence of flow through the spray gun.
- a valve gun open fault may be checked by the spray gun function block using a "valve gun open input” and “valve gun open time.” These inputs normally follow the PWM signal at the spray gun within a time tolerance given by the input value "valve gun open time.” For actually implementing the spray gun function block shown in FIG.
- that block may be cascaded with a multi-dimensional table function block.
- This block may perform various calculations to determine a maximum flow rate for a spray nozzle based on a measured liquid in atomizing air pressure.
- the multi-dimensional table function block contains a multi- dimensional table and performs an interpolation method in accordance with certain algorithms.
- the flow rate may be calculated based on measured liquid in air pressure. If a flow sensor in the system is then used to calculate actual flow rate, then the calculated flow rate may be compared with the measured flow rate and when the difference exceeds a certain value, an indication made.
- Other output parameters for the spray gun object 172 include the gun on/off outputs 192 and status output 199 for indicating the activity or condition of the spray controller. Also, three different systems for detecting faults within the spray process are provided. These are the bridge fault 194, switch fault 195 and valve/gun open fault 196.
- the fault system outputs operate according to the certain logical conditions. For example, if the hardware detects a short-circuit on the pulse width modulated outputs (e.g., corresponding to the PWM output located at the physical address 195 or for a connected pressure regulator), then a bridge fault 194 is generated.
- the system may also utilize the switch input 181 and the switch time data input 182 to generate a fault on the switch fault output. This may occur when the switch input fails to follow the timing and the pulse width generated signal within the set switch time 182, then the fault 195 is generated.
- the system also generates a valve/gun open fault output 196 when the valve/gun open input 183 and the valve/gun open time data input 184 are indicative of certain conditions.
- the PID regulator object 140 shown in FIG. 3(a), and the spray gun object 172 shown in 3(b), are two examples of objects used to implement the spray controller 20.
- numerous other types of software objects may be used to model the spray controller 20. This can include, but is not limited to, a parameter object, digital and analog input/output objects, frequency inputs, tables, timing functions, menu line functions, switches, and other functional and physical components.
- the software objects can be abstracted, and that none of the objects illustrated above are meant to be limiting as to the scope of the invention. Because the objects are implemented as data structures, they can be easily modified to accommodate varying application or user specific needs.
- the invention has thus far been described with respect to the plurality of software objects that graphically and programmatically represent the logical and physical properties of the system.
- an object-oriented software program is used to interconnect the pluralities of software objects in accordance with the intended or desired functionality of the controller.
- the objects are then executed in accordance with this characterization by the controller. This aspect of the invention is described further in the subsequent paragraphs.
- these various toolbars, palettes and controls may be activated using a mouse device, scroll ball, touch pad or standard function keys provided by the keyboard.
- Any computer operating system having the appropriate APIs and function calls for processing user input commands (e.g. mouse or keyboard entry) and rendering graphics to a computer display screen is suitable for executing the configuration program.
- the functional block representation 218 is similar to a circuit diagram, where pluralities of integrated circuits are represented as being connected to each other via signal lines. Because the controller system is represented graphically, the user of the configuration program need not have programming experience to implement the functionality of the controller 20. The user merely needs a basic knowledge of the features of the controller hardware, and an understanding of the process to be implemented. Unlike some conventional programming methodologies, such as ladder logic, the intricacies of the operation to be executed need not be explicitly programmed by the user. Rather, the plurality of objects made available to the configuration program from the function block library, contain internal mechanisms for performing these operations. This again decreases the amount of time required to generate an operable spray control program.
- the configuration program 200 also includes various iconographic controls 240 for performing common user tasks. This includes various buttons/controls for opening 242 an existing or saved functional block representation, exporting 244 and importing 246 files between the PC 30 and the controller 20, saving 248 a created representation, and refreshing 250 any file content.
- Another important feature of the configuration program is the data validation control 252, which analyzes the data that is provided as input into each object. This feature reduces the time to debug and develop a spray controller program by identifying invalid data, instructions or command inputs instantly.
- the validation control feature is further explained with reference to FIG. 5.
- FIG. 5 shows a display window 260 for receiving user input for a spray gun object 172.
- Each of the lines 262 and data fields 264 shown in the display window 260 corresponds to one or more of the spray gun object input terminals 173 (see FIG. 3(b)).
- Line2 263 and data entry field 265 correspond to the application rate input terminal 175 of the spray gun object 172.
- the user enters the data for each input into the corresponding data field(s) 264.
- the configuration program 200 analyzes the data entered, and rejects any invalid input.
- the configuration program 200 can then assign default values automatically, or optionally, alert the user of the configuration program of the changes that are needed.
- each of the software objects are interconnected by extending a connector line 212 from a transmission line 220 (e.g. output) to a receiving line 222 (e.g., input).
- Lines are the primary connection points of an object for exchanging data and commands between interconnected objects, and are specifically defined according to the object's interface design.
- each object exposes its internal procedures and data to other objects according to a unique interface.
- An object interface is created using OOP techniques to correspond to the distinct characteristics of the physical or logical component that the object depicts.
- object 224 is a function object for performing division that is comprised of two input terminals 222 and 226. These terminals serve as inputs for receiving a dividend and divider data respectively.
- analog input object 221, nozzle object 223, and parameter object 225, also shown in the FIG. 6, comprise only single input terminals due to their differing function and interface design
- internal data 122 is specified during the creation of the functional block representation 218 by the user of the configuration program 200. In other instances, the manufacturer of the spray controller can preset the internal data according to a specific component type or application requirement.
- Logical addresses 238, 239, 240 and 244 are assigned to objects 221, 225, 224 and 223 respectively.
- the logical values of an object are assigned automatically by the configuration program 200, and are hidden from the user during the creation of the functional block representation 218.
- the division object 224 specifies logical address 238 for its dividend input 'a', and address 239 for its divider input 'b' (see 230).
- the result 'r' 220 of the analog input object 221 having logical address 238, and the result V 220 of the parameter object 225 having logical address 239 is provided as input.
- the result V of the division object 224 logically flows into the nozzle object 223 as indicated 232.
- each of the objects that represent hardware must refer to that hardware component with a physical address.
- the physical address is made up of a circuit board or bus address value and optionally a port number that the corresponding component is physically connected to.
- Hardware configurations suitable for connecting the external components of the controller 20 together according to a physical addressing scheme can include, but are not limited to, a CAN (controller area network) interface connector, a signal block device having multiple I/O terminals, a port connector, or any standard bus interface device.
- a physical address each software object representative of hardware can be mapped to its corresponding physical component to allow for its control and manipulation.
- the user specifies the physical addresses during the creation of the function block representation 218 by selecting them from an address list provided by the configuration program 200.
- the addresses can be assigned automatically by the configuration program.
- a spray controller configuration wizard may optionally be utilized in conjunction with the configuration program 200.
- a wizard is a utility associated with an application that helps a user of the application perform a specific task with greater ease.
- a "letter wizard" within a word processing application leads a user through the steps of producing various types of written correspondence.
- the user need only provide the basic input parameters and/or input data required to yield the end result (the letter), such as the primary mailing address or recipient information.
- the wizard typically facilitates the data collection process by prompting the user to enter the data in response to a series of questions. Based on the information provided, and the requirements of the user, the wizard generates the desired user output.
- a wizard guides the user through the spray controller 20 configuration process.
- the wizard obtains basic input information from the user, such as the desired application rate of the controller, pressure and flow rates, etc.
- the wizard preferably permits user access to a database of nozzle or spray gun characteristics to increase the user's ease of programming. Such characteristics would include application flow/pressure, fluid drop sizes and spray application patterns, pressure/atomizing air pressure, and other basic characteristics, and are commonly available as would be understood by those skilled in the art.
- the user would simply need to select from the list of available characteristics based on their particular application. This selection process is facilitated using a graphical window, such as a dialog box, having a pull-down menu feature for selecting a desired characteristic.
- the wizard extrapolates the information accordingly and assemble the corresponding functional block representations to achieve the desired result. Such a utility would significantly minimize the time required to design and program complex spray controller systems having multiple control characteristics.
- the configuration program 200 provides access to composite function blocks to further speed the control program development process.
- Composite function blocks are groups of individual function blocks that are interconnected and grouped to represent a single function block. These blocks can either be created by the user, or provided by the function block library by the manufacturer of the spray controller. When the user creates the composite function block, the user has the ability to manipulate the internal connections, data and other pertinent information within the composite function block. In this way, they may develop customized blocks to meet specific control requirements. These blocks can then be assigned a unique function block name, and saved in memory for later usage.
- FIG. 6(b) A generalized example of composite function block 232 is shown in FIG. 6(b).
- objects A 242, B 243, C 244 and D 245 are interconnected via their respective input and output lines to provide some logical or physical operation.
- the composite function block is comprised of INPUTS 1 and 2, 250 and 251 respectively, as well as OUTPUTS 1-3, 252-254.
- the inputs to the various objects that comprise the composite function block 232 namely 256- 258, act as inputs for the composite function block as well.
- the outputs 259-261 also define the outputs of the composite function block.
- the internal complexities of the program e.g., interconnections of objects A-D
- Composite functions blocks enable a modular approach to programming the controller, which significantly advances the ability to design a complete representation of the system.
- the function block library which contains all of the various components of the controller system, can be used in connection with any spray controller system. Regardless of the particular hardware arrangement of the controller, it can be readily programmed using the configuration program 200 described above as long as a function block library containing the appropriate component implementations/representations and data for the controller is provided.
- the configuration program is not limited to any specific spray controller implementation. Rather, the manufacturer of the spray controller can provide the appropriate software objects — implemented as data structures! — that correspond to their particular system.
- the operation of the controller 20 is shown in FIG. 7. More specifically, the method of the invention by which the functional block representation 218 is translated into actual instructions for implementing the functionality of the spray controller 20 will be described.
- an application file 304 is created, as shown in FIG. 7.
- the application file 304 is a binary version of the functional block representation 218 that is generated by the configuration program 200.
- the application file specifies all of the objects 305, characteristic data and logical instructions indicated by the functional block representation 218.
- the functionality of the controller is therefore defined by the data in the application file 304.
- the application file can be easily transferred from the PC 30 to the controller 20 over the communication channel 33, and stored into controller memory 118.
- the application file can be saved to a portable storage medium, such as a diskette 31, and then uploaded into the controller memory 118. Any means by which the file is transferred from the PC 30 to the controller 20 is within the scope of the invention.
- a run-time engine inte ⁇ rets and processes the data contents (e.g., software objects, internal data, logical instructions) of the application file.
- the run-time engine 300 is an interrupt-driven operating system that executes within the controller 20.
- the run-time engine 300 acts as the intermediary mechanism that integrates the data and logical instructions contained in the application file 304 with a set of function block code 306 stored in memory 118.
- the function block code 306 is a collection of programmed instructions that characterize each of the plurality of data structures/software objects 305. For each of the objects 305 indicated in the application file 304, the runtime engine 300 executes a corresponding set of function block code 306 that performs the specified logical or physical operation of the controller 20.
- set refers to one or more lines of computer-executable instructions. Each set corresponds to an individual property of the controller.
- function block code is created by the controller manufacturer using a high-level programming language such as C, and stored into the controller memory 118.
- the function block code provides the fundamental characteristics of the controller, and is designed to control the input and output characteristics of the controller hardware 302 directly, or interact with the OS 308.
- the runtime engine 300 is also responsible for initializing 400 and executing 402 the function block code 306 corresponding to each software object 305.
- the runtime engine is also responsible for processing the commands 404 and data 406 specified in the application file 304.
- the runtime engine 300 interacts with the other integral mechanisms of the spray controller 20 to provide the various features of the system.
- One of these mechanisms is the real time operating system (OS) 308 of the controller (if present), shown in FIG. 7.
- the runtime engine 300 can interact with the OS to schedule and synchronize (time) system events 408, handle information display 410, perform networking capabilities 412, and other general computing tasks.
- the runtime engine 300 can operate within the controller 20 independently of the real time operating system 308.
- the real time operating system 308 need not be present within the controller to carry out the primary functions of the runtime engine 300 as described above.
- the runtime engine 300 of the present invention is implemented such that the processing, timing, and management activities of the controller can be handled correspondingly in situations where both systems 300/308 are present; eliminating the need for full conversion of existing systems from one primary system to another.
- a real time operating system 308 relates to a software driven mechanism that performs basic computing tasks, such as recognizing input from a user keypad, sending output to a display screen, keeping track of files and directories on the within memory, and controlling peripheral devices that are coupled to the system.
- the runtime engine 300 disclosed herein can perform these basic mechanisms.
- the runtime engine 300 is capable of operating in conjunction with the controller CPU to perform its tasks according to relative clock speeds and processing rates.
- Flowcharts 9(a) and 9(b) illustrate the procedural steps taken by the runtime engine 300 for performing function block code initialization 400 and main loop process execution 402.
- the initialization procedure 400 is carried out when the user first activates the controller in order to ready the function block code for processing by the runtime engine 300. Once the code is initialized, it is executed as often as possible according to the main loop procedure 402 of the runtime engine 300.
- flowcharts 9(c), 9(d) and 9(e) show the procedural steps performed by the runtime engine for performing command processing 404, data processing 406 and timing processing 408 respectively.
- Command processing 404 enables the runtime engine to facilitate the exchange of commands between objects indicated in the application file 304.
- object 500 is representative of a menu line function that is displayed to the LCD display 28 of the controller. It is comprised of an input data line 502, and an enable input 503. Also, the menu line object 500 is comprised of internal data 504, which includes a caption to be written to the display 505, display options and settings 507, and numerical settings 509.
- the connected object 506 is representative of an analog pressure input component comprising a sensor span input 509, and minimum input value 510, and a filter value 512 for affecting the actual output of the object 506.
- the analog input object 506 also specifies internal data 514 that defines its intrinsic settings.
- the input to object 500 is provided by the output 508 of object 506.
- the runtime engine 300 requests the output value 508 of the referenced object 506, checks the validity of the data being obtained, converts the data accordingly, and transfers this information to object 500 via the menu line object 502.
- the result in this example, is the output value of the analog input being printed to the display 28 by the display menu function 502 as the pressure in PSI (the information is output to the corresponding physical address of the controller display).
- FIG. 9(e) the procedure carried out by the runtime engine for enabling timing processing 408 is shown. This procedure enables the function block code corresponding to a particular object to be executed at a pre-defined time.
- the three interconnected objects 610, 612 and 614 represent a digital input, timer function, and digital output respectively.
- the digital input object 610 is capable of receiving commands via its input terminals 615 for triggering high-to-low 616 or low-to-high 618 digital input signals.
- the commands 615 can be received from an external hardware component such as a sensor 40/42 or a user keypad entry 26.
- the input signal is indicated as low-to-high 618, this phenomenon is indicated to the controller 20 microprocessor/CPU and an interrupt is generated.
- the runtime engine 300 in conjunction with the CPU stops its currently running function block code and starts the code for the digital input object 610.
- the code for the object responsible for triggering the interrupt need not be in execution by the runtime engine 300 at the time the interrupt is generated. Because of this capability, interrupts can be triggered anytime during the runtime of the controller 20 without impeding its overall performance and operation.
- the logical flow of the functional block representation 613 is to the timer function object 612.
- the runtime engine 300 is invoked to relay a START command 620 to the timer object 612.
- the timer is a function object that serves as a timed trigger or release for activating other objects or processes within the controller.
- the timer function adds the value indicated at its time connection input 622 to the current time recorded since the initial interrupt. This value is then saved in the timer's queue of events.
- control is then returned to the program that was running before the interrupt was generated.
- an interrupt is again generated and the runtime engine 300 executes the timer function block code.
- the resulting action of the timer in this case is to send an ON command to the digital output object 614.
- the runtime engine 300 executes the function block code for the digital output timer 614, which places the digital output status terminal 624 in the ON state.
- the internal data of the digital output object 626 includes the appropriate information for mapping the software object with its corresponding physical component within the controller circuitry.
- the result of this particular functional block representation 613 when executed by the runtime engine 300 is the activation of the digital output signal 614 of the controller 20.
- FIG. 12 provides only one example of a functional block representation for characterizing the operation of the controller system 20.
- One of skill in the art will recognize that various implementations of the controller system are possible, and that the overall interaction between objects is established by the user of the configuration program according to the functional block representation 613 and characteristic data provided.
- the interrupt scheme described above provides only a single example of how interrupts can be generated in response to external events, and then handled by the runtime engine 300.
- the interrupt properties of the controller are ultimately dependent upon the characteristics of the microprocessor(s)/CPU associated with the controller, and is not limited to the above-described implementation.
- the invention provides a convenient way for a user to modify or completely redesign the functionality of a spray controller to meet specific design requirements.
- the usage of a GUI based configuration program provides a higher level of user friendliness, and accommodates those users who have no programming expertise. All that is necessary to program the spray controller is a basic knowledge of the features of the controller hardware, and an understanding of the process or system to be implemented. With this knowledge, the user can easily design a functional block representation 218 of the system to meet their specific requirements.
- the configuration program can provide default input values for the various objects, and can reject invalid inputs that are entered by the user. This guides the user along during the creation of the functional block representation 218.
- the function block code 306 provides the actual building blocks that define the intrinsic properties of the spray controller. These building blocks are pre-programmed in the controller, and typically cannot be altered by the user.
- the functional block representation 218 is a user-defined template that influences how each of the building blocks interact with each other, and the type of data that they require. Without the functional block diagram 218, the runtime engine 300 cannot execute the function block code 306 in any meaningful way.
- the functional block representation 218 provides the data and logical instructions needed by the function block code 306 to ensure that each logical or physical property of the controller 20 is implemented in a desired way. As those skilled in the art will recognize, this is clearly advantageous over conventional systems where the ability of the user to control, manipulate, or modify the functionality of the controller is limited to only the pre-defined user modes or settings.
- the invention permits a user to readily configure a spray controller without an in-depth knowledge of the programming steps involved. Instead, the user may provide information concerning the process being controlled and the basic features of the hardware being employed. In operation, the application is executed using an interrupt-driven run-time environment to enable the use of lower cost components.
Abstract
Description
Claims
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2002340972A AU2002340972A1 (en) | 2001-05-09 | 2002-05-09 | Object-oriented operating system for a spray controller |
EP02769402A EP1386217A4 (en) | 2001-05-09 | 2002-05-09 | Object-oriented technique for creating a sprayer control program |
JP2002588328A JP2004534997A (en) | 2001-05-09 | 2002-05-09 | Object Oriented Operating System for Spray Controller |
BRPI0206342A BRPI0206342A2 (en) | 2001-05-09 | 2002-05-09 | object-oriented operating system for a spray controller |
CA2432191A CA2432191C (en) | 2001-05-09 | 2002-05-09 | Object-oriented technique for creating a sprayer control program |
US10/463,164 US7024285B2 (en) | 2001-05-09 | 2003-06-17 | Object-oriented operating system for a spray controller |
US11/396,864 US20060253835A1 (en) | 2001-05-09 | 2006-04-03 | Object-oriented operating system for a spray controller |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28983001P | 2001-05-09 | 2001-05-09 | |
US60/289,830 | 2001-05-09 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/463,164 Continuation US7024285B2 (en) | 2001-05-09 | 2003-06-17 | Object-oriented operating system for a spray controller |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2002091134A2 true WO2002091134A2 (en) | 2002-11-14 |
WO2002091134A3 WO2002091134A3 (en) | 2003-07-31 |
WO2002091134A8 WO2002091134A8 (en) | 2003-12-24 |
Family
ID=23113287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/014873 WO2002091134A2 (en) | 2001-05-09 | 2002-05-09 | Object-oriented operating system for a spray controller |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1386217A4 (en) |
JP (1) | JP2004534997A (en) |
AU (1) | AU2002340972A1 (en) |
BR (1) | BRPI0206342A2 (en) |
CA (1) | CA2432191C (en) |
WO (1) | WO2002091134A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2051083A1 (en) * | 2007-10-17 | 2009-04-22 | Millipore Corporation | Microbiological analysis system |
US8071022B2 (en) | 2007-10-17 | 2011-12-06 | Millipore Corporation | Decontamination method and system implementing it |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5576946A (en) * | 1993-09-30 | 1996-11-19 | Fluid Air, Inc. | Icon based process design and control system |
US5591409A (en) * | 1995-08-15 | 1997-01-07 | Watkins; Carl J. | Providing aromas |
US5927603A (en) * | 1997-09-30 | 1999-07-27 | J. R. Simplot Company | Closed loop control system, sensing apparatus and fluid application system for a precision irrigation device |
US6199000B1 (en) * | 1998-07-15 | 2001-03-06 | Trimble Navigation Limited | Methods and apparatus for precision agriculture operations utilizing real time kinematic global positioning system systems |
US6282458B1 (en) * | 1996-09-17 | 2001-08-28 | Ricoh Company, Ltd. | Methods and systems for controlling olfactory stimuli |
US6345212B1 (en) * | 1998-11-20 | 2002-02-05 | Manufacturing Data Systems, Inc. | Automatic variable linkage mechanism for integrating third party software components |
US6371451B1 (en) * | 1999-10-29 | 2002-04-16 | Korea Institute Of Science And Technology | Scent diffusion apparatus and method |
US6445969B1 (en) * | 1997-01-27 | 2002-09-03 | Circuit Image Systems | Statistical process control integration systems and methods for monitoring manufacturing processes |
US6460070B1 (en) * | 1998-06-03 | 2002-10-01 | International Business Machines Corporation | Mobile agents for fault diagnosis and correction in a distributed computer environment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR9910512A (en) * | 1998-05-15 | 2001-01-02 | Tridium Inc | System and methods for object-oriented control of diverse electromechanical systems using a computer network |
-
2002
- 2002-05-09 JP JP2002588328A patent/JP2004534997A/en active Pending
- 2002-05-09 EP EP02769402A patent/EP1386217A4/en not_active Withdrawn
- 2002-05-09 BR BRPI0206342A patent/BRPI0206342A2/en not_active Application Discontinuation
- 2002-05-09 WO PCT/US2002/014873 patent/WO2002091134A2/en active Application Filing
- 2002-05-09 CA CA2432191A patent/CA2432191C/en not_active Expired - Lifetime
- 2002-05-09 AU AU2002340972A patent/AU2002340972A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5576946A (en) * | 1993-09-30 | 1996-11-19 | Fluid Air, Inc. | Icon based process design and control system |
US5591409A (en) * | 1995-08-15 | 1997-01-07 | Watkins; Carl J. | Providing aromas |
US6282458B1 (en) * | 1996-09-17 | 2001-08-28 | Ricoh Company, Ltd. | Methods and systems for controlling olfactory stimuli |
US6445969B1 (en) * | 1997-01-27 | 2002-09-03 | Circuit Image Systems | Statistical process control integration systems and methods for monitoring manufacturing processes |
US5927603A (en) * | 1997-09-30 | 1999-07-27 | J. R. Simplot Company | Closed loop control system, sensing apparatus and fluid application system for a precision irrigation device |
US6460070B1 (en) * | 1998-06-03 | 2002-10-01 | International Business Machines Corporation | Mobile agents for fault diagnosis and correction in a distributed computer environment |
US6199000B1 (en) * | 1998-07-15 | 2001-03-06 | Trimble Navigation Limited | Methods and apparatus for precision agriculture operations utilizing real time kinematic global positioning system systems |
US6345212B1 (en) * | 1998-11-20 | 2002-02-05 | Manufacturing Data Systems, Inc. | Automatic variable linkage mechanism for integrating third party software components |
US6371451B1 (en) * | 1999-10-29 | 2002-04-16 | Korea Institute Of Science And Technology | Scent diffusion apparatus and method |
Non-Patent Citations (1)
Title |
---|
See also references of EP1386217A2 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2051083A1 (en) * | 2007-10-17 | 2009-04-22 | Millipore Corporation | Microbiological analysis system |
FR2922651A1 (en) * | 2007-10-17 | 2009-04-24 | Millipore Corp | MICROBIOLOGICAL ANALYSIS SYSTEM |
US8071022B2 (en) | 2007-10-17 | 2011-12-06 | Millipore Corporation | Decontamination method and system implementing it |
US8815173B2 (en) | 2007-10-17 | 2014-08-26 | Emd Millipore Corporation | Decontamination method and system implementing it |
Also Published As
Publication number | Publication date |
---|---|
WO2002091134A8 (en) | 2003-12-24 |
JP2004534997A (en) | 2004-11-18 |
BRPI0206342A2 (en) | 2016-10-25 |
CA2432191C (en) | 2011-03-15 |
AU2002340972A1 (en) | 2002-11-18 |
CA2432191A1 (en) | 2002-11-14 |
EP1386217A4 (en) | 2008-11-26 |
EP1386217A2 (en) | 2004-02-04 |
WO2002091134A3 (en) | 2003-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7024285B2 (en) | Object-oriented operating system for a spray controller | |
CA2222235C (en) | Motion control systems | |
CN101995860B (en) | Use the system configuration of template | |
US5801942A (en) | Process control system user interface including selection of multiple control languages | |
US5862052A (en) | Process control system using a control strategy implemented in a layered hierarchy of control modules | |
US8151196B2 (en) | Abstracted display building method and system | |
US8639491B2 (en) | Emulator for general purpose viewer configurable interface | |
US8918733B2 (en) | Interface method and system for enhanced data and memory management | |
US20020013629A1 (en) | Process control system using a process control strategy distributed among multiple control elements | |
US20120041570A1 (en) | Efficient Design and Configuration of Elements in a Process Control System | |
US20150081781A1 (en) | Method and system for interface configuration via device-side scripting | |
US20060095855A1 (en) | HMI reconfiguration method and system | |
US20040148037A1 (en) | System and method for model based control of a mechanical device | |
US20080004744A1 (en) | Method for Adapting Parameters of a Control or Regulating Device | |
JP2003519858A (en) | General motion control system | |
CA2432191C (en) | Object-oriented technique for creating a sprayer control program | |
US7574267B2 (en) | Controller for a machine-tool or production machine | |
CN111344642B (en) | Method and device for computer-supported provision of information in the form of computer code | |
CA2586401C (en) | Motion control systems | |
Wang et al. | Time Windows: Automated Abstraction of Continuous-Time Models into Discrete-Event Models in High Autonomy Systems∗ | |
CN111308961A (en) | Human-computer interface configuration development method of motion controller | |
Diedrich et al. | Field device integration in DCS engineering using a device model | |
EP3889700A1 (en) | Systems and methods for operation and design of industrial system | |
Weber | Applying visual basic for human machine interface applications | |
Nielsen | Computer implementation of control systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2432191 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002769402 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002588328 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 028095693 Country of ref document: CN |
|
CFP | Corrected version of a pamphlet front page |
Free format text: UNDER (54) PUBLISHED TITLE REPLACED BY CORRECT TITLE |
|
WWP | Wipo information: published in national office |
Ref document number: 2002769402 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
ENP | Entry into the national phase |
Ref document number: PI0206342 Country of ref document: BR Kind code of ref document: A2 Effective date: 20030707 |