Patent Description:
In the field of fluid mixing and dispensing systems, sensing components (e.g., sensors, flow meters) may monitor various parameters associated with component hardware that performs mixing and dispensing operations. Control systems facilitate management and monitoring of various hardware components by receiving inputs from a user interface and controlling the component hardware in accordance with the inputs. Parameters associated with the component hardware may also be displayed on a user interface. Typically, as new and/or different component hardware is installed in a fluid management system, the system is redesigned or replaced to accommodate the new and/or different component hardware. For example, a control system with associated software may be designed to operate for a specific configuration of component hardware.

<CIT> discloses an object oriented framework architecture for sensing and/or control environments that includes a set of sensing and/or control subsystems, a framework and interface system, a network, and a managing server system. <CIT> discloses industrial devices that are configured to provide their associated industrial data to client-side user interface applications in a self-describing manner that instructs the interface applications how the data is to be rendered.

Certain aspects commensurate in scope with the claimed subject matter are summarized below.

A first aspect of the invention provides a method according to claim <NUM>.

A second aspect of the invention provides a plural component fluid delivery system according to claim <NUM>.

A third aspect of the invention provides one or more tangible, non-transitory, machine-readable media according to claim <NUM>.

Embodiments of the present disclosure are directed to systems and methods for modular plural component platforms. The modular plural component platforms described herein provide control and communication for fluid mixing and dispensing hardware. While, in order to provide context, the modular plural component platforms are described in view of their application to paint spray applications, other applications may include industrial/chemical mixing and processing systems, fuel and hydraulic delivery systems, and so on.

The techniques described herein allow and enable plural component platforms to be reconfigured based upon a given configuration of component hardware. A common control system may have reconfigurable software modules corresponding to specific component hardware. The software modules are interchangeable such that modules may be installed and/or uninstalled to the common control system to match the component hardware for a particular configuration. As such, the common control system may be used for a variety of fluid mixing and dispensing operations that require varying software modules.

With the foregoing in mind, it may be useful to describe a modular plural component platform that may incorporate the techniques described herein, for example, to enable efficient operation of plural component platforms. Accordingly, <FIG> is a block diagram of an embodiment of a modular plural component platform <NUM> which may be suitable for a variety of fluid mixing and dispensing applications, such as fluid (e.g., paint) spray applications. In the depicted embodiment, the modular plural component platform <NUM> includes a user interface <NUM>, a common control system <NUM> having one or more software modules <NUM> and a hardware abstraction layer (HAL) <NUM>, and fluid hardware <NUM>. The common control system <NUM> is configured to receive inputs from the user interface <NUM> and provide outputs to the fluid hardware <NUM>, or vice versa.

The common control system <NUM> may include an industrial controller, and thus include a processor <NUM> and a memory <NUM>. The processor <NUM> may include multiple microprocessors, one or more "general-purpose" microprocessors, one or more special-purpose microprocessors, one or more application specific integrated circuits (ASICS), and/or one or more reduced instruction set (RISC) processors, or some combination thereof. The memory <NUM> may include a volatile memory, such as random access memory (RAM), and/or a nonvolatile memory, such as ROM, a hard drive, a memory card, a memory stick (e.g., USB stick) and so on. The memory <NUM> may include computer programs or instructions executable by the processor <NUM> and suitable for controlling the modular plural component platform <NUM>. The memory <NUM> may further include computer programs or instructions executable by the processor <NUM> and suitable for detecting various values and providing control actions, as described below. In certain embodiments, the processor <NUM>, the memory <NUM>, and/or other portions of the common control system <NUM> and/or the modular plural component platform <NUM> may be included in a programmable logic controller (PLC). For example, a PLC may be configured to receive signals indicative of devices connected to the modular plural component platform <NUM> (i.e., via a discrete input/output (I/O) interface) and/or signals indicative of control operations. The PLC may also output signals corresponding to the connected devices and/or indicative of the control operations.

The user interface <NUM> is configured to display values, images, and other information of the modular plural component platform <NUM>. Such values may include parameters measured at the fluid hardware <NUM> and/or values determined by the software modules <NUM> based on the measured parameters. In some embodiments, the user interface <NUM> may also provide options to a user of the modular plural component platform <NUM>. For example, the user interface <NUM> may display options to adjust a parameter or value of the modular plural component platform <NUM>. The user interface <NUM> may also display options for the modular plural component platform <NUM> to enter a specific operating mode (e.g., to begin a mixing cycle, to dispense one or more fluids, etc.). Based on the various options presented to a user, the user may provide user inputs to the modular plural component platform <NUM> via the user interface <NUM>. For example, a user may provide an input to adjust a flow rate via the user interface <NUM>. The user interface <NUM> may be a local and/or a remote interface. For example, the user interface <NUM> may be locally connected to the common control system <NUM> via a wired connection or may be remotely connected to the common control system <NUM> via a wireless connection.

The user interface <NUM> may send signals indicative of the user inputs to the common control system <NUM>. The software modules <NUM> of the common control system <NUM> may receive the input signals from the user interface <NUM>. In some embodiments, the software modules <NUM> may include a controller, a flow meter module, a motor power module, a user interface module, and other similar software modules. Based upon the user inputs received from the user interface <NUM>, the software modules <NUM> may determine values to be sent to the HAL <NUM>. In some embodiments, the values determined by the software modules <NUM> may be actual values of an adjustment, such as an adjustment to an operating parameter, to be made to the fluid hardware <NUM>. For example, if a user provides an input to the user interface <NUM> to adjust a flow rate to a target flow rate, a software module <NUM> may compare the target flow rate to a measured flow rate and provide an output to the HAL <NUM> indicating the value of the actual flow rate adjustment. In some embodiments, the software modules <NUM> may also provide values and parameters to be displayed at the user interface <NUM> based on values received from the HAL <NUM>.

The HAL <NUM> may receive the actual values from the software modules <NUM> and generate abstract values representative of the actual values for output to the fluid hardware <NUM>. For example, if the HAL <NUM> receives an actual value indicating an adjustment to a flow rate, the HAL <NUM> may convert the actual flow rate adjustment to an abstract value and provide the abstract value to the fluid hardware <NUM> (e.g., to a pump and/or a valve). Indeed, the HAL <NUM> is configured to convert and abstractly represent the values received from the software modules <NUM>. Based on the abstract value determined by the HAL <NUM>, a signal indicative of the abstract value may be generated by the common control system <NUM> and sent to the fluid hardware <NUM>. Additionally, the HAL <NUM> may include independent hardware interface modules configured to communicate to specific software modules <NUM> and specific components of the fluid hardware <NUM>.

The fluid hardware <NUM> may receive the signal indicative of the abstract value from the common control system <NUM> and determine an appropriate action based on the abstract value. For example, if the common control system <NUM> provides an output signal indicative of instructions to adjust a flow rate, a pump and/or a valve of the fluid hardware <NUM> may adjust a flow rate accordingly. In some embodiments, the common control system <NUM> may also receive data from the fluid hardware <NUM>, which may include various measurements. The data received from the fluid hardware <NUM> facilitates control of various fluid mixing and dispensing parameters by the common control system <NUM>.

<FIG> is a schematic diagram of an embodiment of channels of the modular plural component platform <NUM> of <FIG>. The modular plural component platform <NUM> may include channels configured to provide communication between fluid hardware <NUM> and the common control system <NUM>. As described herein, the common control system <NUM> is configured to provide various monitoring and control functions for the modular plural component platform <NUM>. In one embodiment, each particular component of the fluid hardware <NUM> is assigned an independent channel of the modular plural component platform <NUM>. The independent channel is configured to provide communication between the specific component of fluid hardware <NUM>, a corresponding hardware interface module of the HAL <NUM>, and a corresponding software module <NUM>. As depicted, the common control system <NUM> is included in an enclosure <NUM> with a channel one hardware interface module <NUM>, a channel two hardware interface module <NUM>, and a channel three hardware interface module <NUM>. The modular plural component platform <NUM> may also have more or less than three channels.

Each channel hardware interface module (i.e., the channel one hardware interface module <NUM>, the channel two hardware interface module <NUM>, and the channel three hardware interface module <NUM>) may include identification data ("ID") that enables the channel hardware interface module to detect and identify coupled fluid hardware components). The ID may include specific identification data corresponding to specific fluid hardware components and/or specific identification data corresponding software modules that may be loaded by the common control system <NUM>. The ID may be stored in a memory corresponding to each channel hardware interface module. Each channel hardware interface module may detect a specific identity of a coupled fluid hardware component via radio-frequency identification (RFID) tags, barcodes, optical identification codes, or any other suitable techniques that correspond to the ID. Based upon the detected identity of the fluid hardware component, the channel hardware interface module may determine which fluid hardware component has been coupled and/or connected to the common control system <NUM>. In certain embodiments, the channel hardware interface module may also determine which software modules should be loaded to the common control system <NUM>. As such, each channel is reconfigurable to connect to and provide communication for varying unit configurations. For example, the channel one hardware interface module <NUM> may connect to a first type of fluid component in a first configuration and connect to a second and different type of component in a second configuration. As such, the modular plural component platform <NUM> includes channels that reconfigure manually and/or automatically to connect to and provide communication for various types of fluid components. In certain embodiments, the ID may be used by the common control system <NUM> to automatically identify the configuration of the respective fluid hardware channel (e.g., channel <NUM>, channel <NUM>, etc.). For example, the channel hardware interface module may be a particular component that corresponds to a fluid hardware component, and the ID may specify the particular component.

Each channel hardware interface module (i.e., the channel one hardware interface module <NUM>, the channel two hardware interface module <NUM>, and the channel three hardware interface module <NUM>) is configured to provide an interface between a component of fluid hardware and the common control system <NUM>. In the embodiment of <FIG>, the channel one hardware interface module <NUM> is in communication with a channel one fluid hardware component <NUM> via channel one. The channel two hardware interface module <NUM> is in communication with a channel two fluid hardware component <NUM> via channel two. The channel three hardware interface module <NUM> is in communication with a channel three fluid hardware component <NUM> via channel three. Additionally, the channel one fluid hardware component <NUM>, the channel two fluid hardware component <NUM>, and the channel three fluid hardware component <NUM> are each in communication with a mixing module <NUM> via their respective channels. The mixing module <NUM> may include various fluid mixing and dispensing systems. For example, the mixing module <NUM> may be a paint spray mixer and/or an applicator.

Further, the common control system <NUM> may be controlled via a human-machine interface (HMI) <NUM> (e.g., a user interface) that is physically and/or communicatively connected to the enclosure <NUM>. In addition to or independent of the HMI <NUM>, the common control system <NUM> may also be controlled by a wireless interface <NUM>. The wireless interface <NUM> may include a tablet, phone, or similar device that provides for user interaction and control of the common control system <NUM>. In some embodiments, the HMI <NUM> and/or the wireless interface <NUM> include the user interface <NUM> described herein. As described herein, a user or users may interface with the common control system <NUM> via a user interface <NUM>, which may include touchscreens, displays, keyboards, mice, augmented reality/virtual reality systems, as well as tablets, smartphones, notebooks, and so on. In certain embodiments, the HMI <NUM> may be omitted from the modular plural component platform <NUM> (e.g., the modular plural component platform <NUM> may lack a physical user interface communicatively connected to the enclosure <NUM>).

In some embodiments, the common control system <NUM> may be controlled via communication protocol from another source, such as a different/separate controller or PLC. The communication protocol may include ethernet/IP, ProfitNet, Modbus, other types of communication protocol, or a combination thereof. For example, in embodiments of the modular plural component platform <NUM> with or without the HMI <NUM>, the common control system <NUM> may be controlled via the communication protocol from the different/separate controller or PLC (e.g., the modular plural component platform <NUM> may include the different/separate controller or PLC in addition to or in place of the HMI <NUM>).

<FIG> is a block diagram of an embodiment of the modular plural component platform <NUM> of <FIG>. As illustrated, the modular plural component platform <NUM> includes the user interface <NUM>, the common control system <NUM>, and fluid hardware <NUM>. The common control system <NUM> may provide control actions to the fluid hardware <NUM> based on inputs from the user interface <NUM> and may provide values to be displayed at the user interface <NUM> based on values and parameters received from the fluid hardware <NUM>. As depicted, the common control system <NUM> includes subgroups comprising the software modules <NUM>, the HAL <NUM>, a printed circuit board (PCB) <NUM>, a unit configuration file <NUM>, an I/O mapping file <NUM>, and a plural component software application <NUM>.

The software modules <NUM> include software that may perform various functions of the modular plural component platform <NUM>. As illustrated in <FIG>, the software modules <NUM> include proportional-integral-derivative (PID) controllers <NUM> and <NUM>, flow meters <NUM> and <NUM>, motor controllers <NUM> and <NUM>, and user interface modules <NUM> and <NUM>. In some embodiments, the software modules <NUM> may include other types of modules. The PID controllers <NUM> and <NUM> are configured to determine whether the common control system <NUM> should perform a control action. For example, the PID controllers <NUM> and <NUM> may receive an input to maintain a specified flow rate at the fluid hardware <NUM>. Based on the specified flow rate, the PID controllers <NUM> and <NUM> may determine whether a control action should be performed by the common control system <NUM> by comparing the specified flow rate to a measured flow rate determined and/or received by the flow meters <NUM> and <NUM> from the fluid hardware <NUM>. Based on the determination by the PID controllers <NUM> and <NUM>, the motor controllers <NUM> and <NUM> are configured to generate and/or send a signal indicative of a flow rate value to the fluid hardware <NUM> via the HAL <NUM>. The flow rate value may be an adjustment to the flow rate at the fluid hardware <NUM>. In certain embodiments, pumps may control the flow rate at the fluid hardware <NUM> in addition to, or in place of, the motor controllers <NUM> and <NUM>.

The user interface modules <NUM> and <NUM> are configured to receive data and inputs from the user interface <NUM> and provide the data and inputs to the relevant portions of the common control system <NUM>. For example, the user interface modules <NUM> and <NUM> may receive the specified flow rate described herein and output a signal to the PID controllers <NUM> and <NUM> indicative of the specified flow rate. The user interface modules <NUM> and <NUM> are also configured to provide data and outputs to the user interface <NUM> from the common control system <NUM>. Each software module <NUM> may correspond to a specific fluid of the mixing module (e.g., a PID controller, a flow meter, and a motor controller may correspond to a specific fluid).

The common control system <NUM> may be configured to provide signals to the fluid hardware <NUM> via the PCB <NUM>. As illustrated, the PCB <NUM> includes a processor <NUM>, the memory <NUM>, serial communication <NUM>, PCB inputs/outputs (I/O) <NUM>, ethernet communication <NUM>, and an inter-integrated circuit (I<NUM>C) <NUM>. The PCB <NUM> may also have other components configured to provide processing, memory, and/or communication functions. The processor <NUM> is configured to execute the computer programs and instructions included in the software modules <NUM> and other modules of the common control system <NUM>. For example, the processor <NUM> may determine, via a computer program or instructions of the PID controller <NUM> or <NUM>, that a flow rate should be adjusted and may output a command and/or signal accordingly. The memory <NUM> may include the computer programs or instructions executable by the processor <NUM> and store the various values measured at the fluid hardware <NUM>.

The PCB I/O <NUM> is configured to provide input and output connections at the PCB <NUM> for the serial communication <NUM> and the ethernet communication <NUM>. In certain embodiments, other forms of communication may be used in the common control system <NUM> (e.g., Bluetooth, WIFI, etc.). The PCB I/O <NUM> may be specific to the individual software modules <NUM>, the individual components of fluid hardware <NUM>, and/or the individual components of the PCB <NUM> in accordance with the unit configuration <NUM> described herein. The serial communication <NUM> and the ethernet communication <NUM> may provide communication paths from the PCB <NUM> to the fluid hardware <NUM>. For example, the serial communication <NUM> and/or the ethernet communication <NUM> may carry a signal from the PCB <NUM> to the fluid hardware <NUM> with instructions to adjust a flow rate. The I<NUM>C <NUM> may provide an interface for the processor <NUM> to communicate with peripheral devices of the PCB <NUM>. In certain embodiments, other forms of communication may provide an interface for the processor <NUM> to communicate with peripheral devices of the PCB <NUM>.

The unit configuration <NUM> includes the specific configuration of fluid hardware <NUM> and software modules <NUM>. In certain embodiments, the unit configuration <NUM> may be identified by a user of the modular plural component platform <NUM> and provided as input(s) to the user interface <NUM>. Based on the user input(s) to the user interface <NUM>, the common control system <NUM> may load software modules <NUM> corresponding to the user input(s). The unit configuration <NUM> may also include the specific channels connected to each software module <NUM>, each component of fluid hardware <NUM>, and other aspects of the modular plural component platform <NUM>.

In certain embodiments, the unit configuration <NUM> may be automatically detected by the modular plural component platform <NUM> via a discrete I/O interface or a network I/O interface. For example, as the fluid hardware <NUM> is connected to the modular plural component platform <NUM>, a discrete I/O interface may be configured to automatically detect the specific components of the fluid hardware <NUM> that are connected and output signals to the common control system <NUM> to load corresponding software modules <NUM>. The discrete I/O interface may operate via discrete digital signals and/or discrete analog signals. Additionally, the discrete I/O interface may be included in a PLC. For example, the modular plural component platform <NUM> may include a PLC that includes a discrete I/O interface and/or other portions of the modular plural component platform <NUM> described herein. In certain embodiments, a network I/O interface may be configured to detect the specific components of fluid hardware <NUM> that are connected and communicate the identity of each component to a PLC of the common control system <NUM>. The various unit configurations <NUM> that may be employed by the modular plural component platform <NUM> may be stored to the memory <NUM>.

The I/O mapping file <NUM> includes a list of connected fluid hardware I/O locations based on the PCB I/O <NUM> of the PCB <NUM> and fluid hardware I/O <NUM> of the fluid hardware <NUM>. The I/O mapping file <NUM> maps I/O signals from to the user interface <NUM> to the PCB <NUM>, from the PCB <NUM> to the user interface <NUM>, from the PCB <NUM> to the fluid hardware <NUM>, and from the fluid hardware <NUM> to the PCB <NUM>. The I/O mapping file <NUM> may change as components of the fluid hardware <NUM> are installed and/or uninstalled, and the I/O mapping file <NUM> may be loaded from the memory <NUM> based on the unit configuration <NUM> of the modular plural component platform <NUM>. In certain embodiments, the I/O mapping file <NUM> may be updated based on components of the fluid hardware <NUM> detected at a discrete I/O interface.

The plural component software application <NUM> provides the general software for configuring and controlling the common control system <NUM>. For example, the software may be configured to read inputs provided to the modular plural component platform <NUM>, determine what actions should be performed by the common control system <NUM>, provide outputs based on those control actions, and iteratively repeat the process as necessary. In some embodiments, the plural component software application <NUM> may also output an output signal to change the loaded software modules <NUM> based on a specific unit configuration <NUM>.

As illustrated in <FIG>, the fluid hardware <NUM> includes a flow meter <NUM>, a valve <NUM>, an electrical-to-pressure (EP) transducer <NUM>, a sensor <NUM>, a motor amp <NUM>, and the fluid hardware I/O <NUM>. In some embodiments, the fluid hardware <NUM> may also include other fluid components. Each component of fluid hardware <NUM> is configured to communicate with the common control system <NUM> via independent channels as described herein. Further, each component of fluid hardware <NUM> is configured to receive signals from the HAL <NUM> of the common control system <NUM> and perform various actions in response to those received signals. For example, a motor amp <NUM> may adjust a flow rate in response to a received signal from the common control system <NUM>. The valve <NUM> may control a movement of a fluid among the fluid hardware <NUM>. The fluid hardware I/O <NUM> may identify the physical locations for receiving and outputting signals at the fluid hardware <NUM> and may be mapped to the PCB I/O <NUM>. The various components of the fluid hardware <NUM> may be integrated with and/or connected to the mixing module <NUM>, as described in reference to <FIG>.

<FIG> is a flow diagram <NUM> illustrating operation of an embodiment of the common control system <NUM> of the modular plural component platform <NUM> of <FIG>. As noted herein, a user may interact with the user interface <NUM> to provide various inputs to the modular plural component platform <NUM>. In some embodiments, the inputs may include a flow rate, a motor speed, a mixing ratio, and/or other mixing module parameters. At block <NUM>, the common control system <NUM> receives a signal from the user interface <NUM> indicative of the inputs. In certain embodiments, the signal indicative of an input may be received via a discrete I/O interface of a PLC and/or a communication network interacting with the PLC. For example, an input may be provided to the user interface <NUM> and output via an output signal to the discrete I/O interface. The discrete I/O interface may receive the signal indicative of the input and may output a signal indicative of the input to a controller of the common control system <NUM> (e.g., a controller of the PLC).

At block <NUM>, the common control system <NUM> determines a mixing module adjustment based on the input from user interface <NUM>. For example, the PID controllers <NUM> and <NUM> may compare a received input from the user interface <NUM> to a sensed measurement from a component of the fluid hardware <NUM> to determine if an adjustment should be made to that component. In some embodiments, the common control system <NUM> may also be configured to iteratively determine a mixing module adjustment that will achieve the input. For example, the common control system <NUM> may iteratively determine and generate output signals to adjust a measured flow rate until a target flow rate corresponding to a user input is achieved. In certain embodiments, the PID controllers <NUM> and <NUM> may iteratively adjust various parameters of coupled fluid hardware independent of a user input (e.g., the common control system <NUM> may perform closed-loop control of coupled fluid hardware).

At block <NUM>, the common control system <NUM> determines a parameter that will be output to the fluid hardware <NUM>. The HAL <NUM> is configured to receive the adjustment determined by the respective software module <NUM> and determine an abstract parameter to be output to the fluid hardware <NUM>. The abstract parameter may correspond to the adjustment determined by respective software module <NUM> and may be output by the common control system <NUM> to the fluid hardware <NUM> via a mixing module output signal, as indicated by block <NUM>. In certain embodiments, the mixing module output signal may be output via a discrete I/O interface. The fluid hardware <NUM> may be configured to perform an adjustment based on the abstract parameter included in the mixing module output signal received from the common control system <NUM>. Accordingly, for varying configurations of the fluid hardware <NUM>, the common control system <NUM> may be configured to receive inputs at the user interface <NUM>, determine adjustments based on the inputs, and output signals indicative of such adjustments to the fluid hardware <NUM>.

<FIG> is a flow diagram <NUM> illustrating operation of an embodiment of the common control system <NUM> of the modular plural component platform <NUM> of <FIG>. In addition to performing control operations of the modular plural component platform <NUM>, the common control system <NUM> may be configured to receive an abstract parameter indicative of a sensed measurement of the fluid hardware <NUM> and display that measurement to a user. At block <NUM>, the common control system <NUM> receives a mixing module signal indicative of the abstract parameter. The signal may be received at processor <NUM> of the PCB <NUM> via the serial communication <NUM> and/or the ethernet communication <NUM>. In some embodiments, the mixing module may include the fluid hardware <NUM>.

After the common control system <NUM> receives the abstract value indicative of a sensed parameter, the HAL <NUM> may determine an actual value associated with the abstract value, as indicated by block <NUM>. The HAL <NUM> may then provide the actual value to a software module <NUM> to be output to the user interface <NUM>. For example, the HAL <NUM>, via the plural component software application <NUM>, may provide the actual value to the user interface module <NUM> or <NUM>. At block <NUM>, the common control system <NUM> may output a user interface signal indicative of the mixing module value, which may correspond to a measurement of the fluid hardware <NUM>. In some embodiments, the processor <NUM> may output the user interface signal to the user interface <NUM>. In response to receiving the signal, the user interface <NUM> may display the mixing module value.

At block <NUM>, the common control <NUM> may determine a mixing module adjustment based on the mixing module value. For example, the PID controllers <NUM> and/or <NUM> of the common control system <NUM> may compare the mixing module value to a target value, and, based on the comparison, may determine a mixing module adjustment that may achieve the target value or incrementally adjust the mixing module value toward the target value. The target value may be value received from the user interface <NUM> or may be independently determined by the common control system <NUM>. Additionally, the PID controllers <NUM> and <NUM> may determine the mixing module adjustment (e.g., block <NUM>) in addition to or independent of providing the mixing module value to the user interface <NUM> (e.g., block <NUM>). The common control system <NUM> may perform one or more of the blocks included in the flow diagram <NUM> automatically at periodic intervals, automatically based on a triggering event, and/or based on an input provided to the user interface <NUM>.

<FIG> is a block diagram <NUM> of an embodiment of the modular plural component platform <NUM> of <FIG>. The embodiment shown in the block diagram <NUM> depicts a unit configuration for a single component (i.e., a unit configuration for an application dispensing a single fluid). Accordingly, the modular plural component platform <NUM> is reconfigurable to control a single component. As illustrated, the modular plural component platform <NUM> for a single component includes a common control system <NUM>, a user interface <NUM>, and fluid hardware <NUM>. Because the block diagram <NUM> is configured for a single component, the modular plural component platform <NUM> includes a single channel (channel one) to which components of the common control system <NUM> and the fluid hardware <NUM> are connected. For example, the fluid hardware <NUM> includes a meter <NUM> and a dispenser <NUM> for the single fluid, both of which are connected to channel one. The common control system <NUM> comprises software modules including a PID controller <NUM>, a feedback meter module <NUM>, and a dispenser module <NUM>, each of which are also connected to channel one. The common control system <NUM> also includes a user interface module <NUM> configured to communicate with the user interface <NUM>. In some embodiments, the fluid hardware <NUM> and the software modules for modular plural component platform <NUM> having a single fluid may also be connected via multiple channels. For example, the feedback meter module <NUM> may be connected to the meter <NUM> via a first channel, and the dispenser module <NUM> may be connected to the dispenser <NUM> via a second channel.

In addition to having the software modules including the PID controller <NUM>, the feedback meter module <NUM>, and the dispenser module <NUM>, the common control system <NUM> of <FIG> includes many similar components to those illustrated and described in reference to <FIG>. In particular, the common control system <NUM> of the illustrated embodiment of <FIG> includes a HAL <NUM>, a unit configuration file <NUM>, an I/O mapping file <NUM>, a plural component software application <NUM>, and a PCB <NUM>. The PCB <NUM> includes a processor <NUM>, a memory <NUM>, PCB I/O <NUM>, serial communication <NUM>, ethernet communication <NUM>, and I<NUM>C <NUM>.

Accordingly, each of the components of the modular plural component platform <NUM> is configured to operate in an embodiment for a single fluid. For example, the meter <NUM> may measure a flow rate of the fluid and provide a parameter indicative of the flow rate to the HAL <NUM> of the common control system <NUM>. The HAL <NUM> may convert the parameter to an actual flow rate value and provide the value to the feedback meter module <NUM>. A user may also provide an input of a target flow rate for the fluid to the user interface <NUM>. The modular plural component platform <NUM> may also have a preset target flow rate such that a user input is not required. The target flow rate is provided to the PID controller <NUM> along with a measured flow rate from the feedback meter module <NUM> and/or from the HAL <NUM>. The PID controller <NUM> is configured to determine what adjustments, if any, are necessary to achieve the target flow rate. The PID controller <NUM> provides the adjustment to the dispenser module <NUM>, which is configured to control the flow rate at the dispenser <NUM>. The dispenser module <NUM> is configured to output a control value to the HAL <NUM> indicative of the required adjustment determined by the PID controller <NUM>. The HAL <NUM> may convert the control value to an abstract value and output a signal indicative of the abstract value to the dispenser <NUM>. In response, the dispenser <NUM> is configured to adjust the flow rate as determined by the PID controller <NUM>. The meter <NUM> may then measure a new, adjusted flow rate, provide the adjust flow rate to the HAL <NUM>, and the process is iteratively repeated until the target flow rate is achieved.

Additionally, while the illustrated embodiment of the modular plural component platform <NUM> includes various modules and components configured to control the flow rate of a single fluid, the modular plural component platform <NUM> may also include modules and components configured to measure and control other parameters. For example, the modular plural component platform <NUM> may be configured to control parameters including, but not limited to, a fluid density, a fluid temperature, and a fluid spray pattern.

<FIG> is a block diagram <NUM> of an embodiment of the modular plural component platform <NUM> of <FIG>. The embodiment shown in the block diagram <NUM> depicts a unit configuration with two components (i.e., a unit configuration for an application dispensing two fluids). Accordingly, the modular plural component platform <NUM> is reconfigurable to control two components. As illustrated, the modular plural component platform <NUM> for two components includes a common control system <NUM>, a user interface <NUM>, and fluid hardware <NUM>. Because the block diagram <NUM> is configured for two components, the modular plural component platform <NUM> includes two channels (channel one and channel two). However, in some embodiments, a modular plural component platform for two components may include more or less than two channels.

Similar to the dispensing operation of the embodiment of the modular plural component platform <NUM> of the block diagram <NUM> of <FIG>, the embodiment of the modular plural component platform <NUM> of the block diagram <NUM> of <FIG> is also configured to measure and/or control a flow rate. However, the illustrated embodiment is configured to measure and/or control a flow rate for two different fluids. For example, channel one may be connected to components of the fluid hardware <NUM> (i.e., meter <NUM> and dispenser <NUM>) and software modules (i.e., PID controller <NUM>, feedback meter module <NUM>, and dispenser module <NUM>) configured to measure and control the flow rate for a first fluid. Channel two may be connected to components of the fluid hardware <NUM> (i.e., meter <NUM> and dispenser <NUM>) and software modules (i.e., PID controller <NUM>, feedback meter module <NUM>, and dispenser module <NUM>) configured to measure and control the flow rate for a second fluid. Indeed, each fluid may be measured and controlled via separate channels.

Additionally, the two fluids of the illustrated embodiment may be measured and controlled via a single input or via multiple inputs to the user interface <NUM>. For example, a user may provide an input to the user interface <NUM> indicative of a target composition of a mixture of the first fluid and the second fluid. The software modules <NUM> and fluid hardware <NUM> corresponding to each of the first fluid and the second fluid may then measure and control various parameters (e.g., a flow rate, density, temperature) of the first fluid and the second fluid to achieve the target composition. As such, the modular plural component platform <NUM> may achieve a mixing ratio of two components ranging from <NUM>:<NUM> to <NUM>:<NUM>. In some embodiments, the first fluid and the second fluid may be dispensed as separate fluids (e.g., the first fluid may be dispensed by a first channel of a spray gun, and the second fluid may be dispensed by a second channel of the spray gun).

In certain embodiments, the modular plural component platform <NUM> of <FIG> and/or <NUM> may include a PLC having a discrete I/O interface and/or a network I/O interface. For example, a discrete I/O interface of the modular plural component platform <NUM> of <FIG> may receive a first signal indicative of a first ID of the first component connected via channel one and may receive a second signal indicative of a second ID of the second component connected via channel two. Based on the received signals indicative of the first ID and the second ID, the modular plural component platform <NUM> may load corresponding software modules <NUM> as described above.

<FIG> is a schematic diagram of an embodiment of the modular plural component platform <NUM> of <FIG> in a fluid mixing and dispensing application. In the illustrated embodiment, the fluid mixing and dispensing application is a spray application system <NUM> that may include one or more fluid pumps <NUM>, <NUM>. The pumps <NUM> and <NUM> may include a component of the fluid hardware described herein. For example, the pumps <NUM> and <NUM> may include the dispensers <NUM> and <NUM> of <FIG>. The spray application system <NUM> may be suitable for mixing and dispensing a variety of chemicals, such as chemicals used in applying spray foam insulation. In the depicted embodiment, chemical compounds A and B may be stored in tanks <NUM> and <NUM>, respectively. The tanks <NUM> and <NUM> may be fluidly coupled to the pumps <NUM> and <NUM> via conduits or hoses <NUM> and <NUM>. It is to be understood that while the depicted embodiment for the spray application system <NUM> shows two compounds used for mixing and spraying, other embodiments may use a single compound or <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> or more compounds. The pumps <NUM> and <NUM> may be independently controlled.

During operations of the spray application system <NUM>, the pumps <NUM>, <NUM> may be mechanically powered by motors <NUM> and <NUM>, respectively. In a preferred embodiment, the motors may be electric motors. However, the motors may be internal combustion engines (e.g., diesel engines), pneumatic motors, or a combination thereof. Motor controllers of the common control system <NUM> may provide for motor start/stop, loading, and control based on signals transmitted, for example, from the processor <NUM>. The motor <NUM> may be of the same type or of a different type from the motor <NUM>. Likewise, the pump <NUM> may be of the same type or of different type from the pump <NUM>. Indeed, the techniques described herein may be used with multiple pumps <NUM>, <NUM>, and multiple motors <NUM>, <NUM>, which may be of different types.

The pumps <NUM>, <NUM> provide for hydrodynamic forces suitable for moving the compounds A, B into a spray gun system <NUM>. More specifically, compound A may traverse the pump <NUM> through conduit <NUM> and then through a heated conduit <NUM> into the spray gun system <NUM>. Likewise, compound B may traverse pump <NUM> through conduit <NUM> and then through a heated conduit <NUM> into the spray gun system <NUM>. To heat the heated conduits <NUM>, <NUM>, a heating system <NUM> may be provided. The heating system <NUM> may provide for thermal energy, such as a heated fluid, suitable for preheating the compounds A and B before mixing and spraying and for heating the compounds A and B during mixing and spraying. In some embodiments, the modular plural component platform <NUM> may include additional or other components of fluid hardware (e.g., in addition to the pumps <NUM>, <NUM>, the tanks <NUM>, <NUM>, and the motors <NUM>, <NUM>). For example, the fluid hardware may include the fluid hardware <NUM> of <FIG>.

The spray gun system <NUM> may include a mixing chamber to mix the compounds A and B. For spray foam insulation applications, the compound A may include isocyanates while the compound B may include polyols, flame retardants, blowing agents, amine or metal catalysts, surfactants, and other chemicals. When mixed, an exothermic chemical reaction occurs and a foam <NUM> is sprayed onto a target. The foam then provides for insulative properties at various thermal resistance (i.e., R-values) based on the chemicals found in the compounds A and B.

Control for the spray application system <NUM> may be provided by the common control system <NUM>. The common control system <NUM> may include an industrial controller, and thus include the processor <NUM> and the memory <NUM> described herein. The memory <NUM> may further include computer programs or instructions executable by the processor <NUM> and suitable for detecting pump <NUM>, <NUM> slip and for providing ratio control actions to continue providing as a target ratio (e.g., <NUM>:<NUM>) for compounds A and B in the presence of slip, as further described below.

The common control system <NUM> may be communicatively coupled to one or more sensors <NUM> and operatively coupled to one or more actuators <NUM>. The sensors <NUM> may include pressure sensors, flow sensors, temperature sensors, chemical composition sensors, speed (e.g., rotary speed, linear speed) sensors, electric measurement sensors (e.g., voltage, amperage, resistance, capacitance, inductance), level (e.g., fluid level) sensors, limit switches, and so on. The actuators <NUM> may include valves, actuatable switches (e.g., solenoids), positioners, heating elements, and so on.

A user or users may interface with the common control system <NUM> via a user interface <NUM>, which may include touchscreens, displays, keyboards, mice, augmented reality/virtual reality systems, as well as tablets, smartphones, notebooks, and so on. A user may input target pressures, flow rates, temperatures, ratio between compound A and compound B (e.g., <NUM>:<NUM>), alarm thresholds (e.g., threshold fluid levels of compound A, B in tanks <NUM>, <NUM>), and so on. The user may then spray via the spray gun system <NUM>, and the common control system <NUM> may use the processor <NUM> to execute one or more programs stored in the memory <NUM> suitable for sensing conditions via the sensors <NUM> and for adjusting various parameters of the system <NUM> via the actuators <NUM> based on the user inputs. The user interface <NUM> may then display several of the sensed conditions as well as the adjusted parameters. Certain components of the spray application system <NUM> may be included in or interface with the modular plural component platform <NUM>. Components of the modular plural component platform <NUM> may be configured to "proportion" or deliver the compounds A, B at a specified ratio (e.g., <NUM>:<NUM>) to achieve the spray <NUM>. In this manner, the user(s) may mix and spray chemicals, such as compounds A and B, to provide for certain coatings, such as insulative spray foam.

As may be appreciated, the current systems and techniques provide significant enhancements to fluid mixing and dispensing systems. For example, the systems and techniques described herein enable plural component platforms of fluid mixing and dispensing systems to be reconfigured based upon a given configuration of component hardware. Software modules of the plural component platforms may be interchangeable such that modules may be installed and/or uninstalled to the common control system to match the component hardware for a particular configuration. A modular plural component platform may automatically detect the particular unit configuration and load software modules corresponding to fluid hardware of the particular unit configuration. As such, a common control system of a modular plural component platform may be used for a variety of fluid mixing and dispensing operations that include varying configurations of component hardware.

Claim 1:
A method, comprising:
receiving, via a processor (<NUM>), a unit configuration (<NUM>) for a fluid mixing and dispensing system (<NUM>), wherein the fluid mixing and dispensing system (<NUM>) comprises one or more fluid hardware components (<NUM>), wherein the one or more fluid hardware components (<NUM>) are configured to provide a sprayed paint;
determining one or more software modules (<NUM>) corresponding to the one or more fluid hardware components (<NUM>), wherein the one or more software modules (<NUM>) comprise a proportional-integral-derivative controller (<NUM>, <NUM>) and a motor controller (<NUM>, <NUM>); and
configuring a modular plural component platform (<NUM>) by loading the one or more software modules (<NUM>) corresponding to the one or more fluid hardware components (<NUM>), wherein the modular plural component platform comprises channels that detect and identify the one or more coupled fluid hardware component and that reconfigure automatically to connect to and provide communication to the one or more fluid hardware components (<NUM>) based on connection to the one or more fluid hardware components (<NUM>), wherein the one or more software modules (<NUM>) further comprise a flow meter module (<NUM>, <NUM>), a user interface module (<NUM>, <NUM>), or a combination thereof.