CONFIGURATION FILE DATABASE FOR DISPENSING SYSTEMS

Systems, methods, and computer program products for configuring and managing chemical dispensers (41). A mobile device (18) scans for and wirelessly connects to dispensers (41) within range of the wireless device (18). The wireless device (18) downloads one or more configuration files from a database (28) of dispenser configuration files for configuring the dispenser (41). In response to the user selecting a configuration file, one or more configuration parameters defined by the configuration file are uploaded into the dispenser (41). The wireless device (18) may then step the user through setup of the dispenser (41) using data in the configuration file. The mobile device (16) may further determine the location of the dispenser (41), and upload the location to the database (28). The database (28) may then associate the dispenser (41) with the location as well as keep track of how the dispenser is configured.

BACKGROUND

This invention generally relates to chemical dispensers and, in particular, to methods, systems, and computer program products for controlling chemical dispensers.

Industrial and commercial firms frequently require the use of chemical solutions. For example, commercial laundry and warewash machines require various chemical products, such as rinse aids, detergents, and sanitizers, be dispensed into the machines at various stages of each wash cycle in order to perform properly. The type, amount, and order in which chemical products are dispensed can vary from cycle to cycle (e.g., due to different types of items being washed), between different washing machines (e.g., tunnel verses batch washing machines), as well as by location (e.g., due to different health code requirements or quality of water). In addition, technicians may be required to install and service dispensers for multiple customers each having their own particular formulas for washing.

Due to the wide variety of dispenser types and applications, determining how to configure a dispenser can be a difficult and time consuming process. In addition, keeping track of what types of dispensers have been deployed, how they are configured, where they are located, and whether they need servicing can be a daunting task for customers or suppliers who own or operate a large number of dispensers. These problems can compound each other when a new formula or software update needs to be installed in an existing base of deployed dispensers.

Thus, there is a need for improved systems, methods, and computer program products for configuring chemical dispensers.

SUMMARY

Embodiments of the invention are directed to improved systems, methods, and computer program products for dispensing products, such as chemical solutions. These systems may be remotely or locally programmable using an application that runs on a mobile device, and scalable for use with small on the premises laundries with top-load washers, medium laundries with washer/extractor machines, and large industrial laundries that use tunnel washers. The dispensing systems may also be used with ware-wash machines, or any other machine or process that uses chemical solutions.

In an embodiment of the invention, a system for configuring a dispenser is provided. The system includes a database containing one or more configuration files each defining one or more parameter values that configure the dispenser, and a mobile device in communication with both the database and a dispenser controller. The mobile device is configured to download a configuration file from the database, and upload the one or more parameter values defined by the configuration file to the dispenser controller. The one or more parameter values may then cause the dispenser to operate in accordance with the configuration file.

In an aspect of the invention, the mobile device may be further configured to scan for dispensers within range, wirelessly connect to one or more of the dispensers within range and, in response to connecting to a dispenser, download data from the dispenser.

In another aspect of the invention, the mobile device may be further configured to determine a location of at least one of the one or more of the dispensers within range of the mobile device, and upload the location to the database.

In another aspect of the invention, the data downloaded from the dispenser includes configuration data, and the mobile device may be further configured to display one or more dispenser windows each associated with one of the dispensers within range of the mobile device, and in response to activation of a dispenser window, display a manager screen that includes the configuration data for the dispenser associated with the activated dispenser window.

In another aspect of the invention, the manager screen includes one or more pump buttons, the data downloaded from the dispenser includes pump status data, and the mobile device may be further configured to, in response to activation of a pump button, display a status of the pump.

In another aspect of the invention, each of the dispenser windows includes a dispenser status bar that indicates a status of the dispenser.

In another aspect of the invention, each of the dispenser windows includes a status indicator that indicates if the dispenser is in an alarm condition.

In another aspect of the invention, the mobile device may be further configured to determine if each of the dispensers within range of the mobile device meets a filter criterion, and only display dispenser windows for the dispensers that meet the filter criterion.

In another aspect of the invention, the mobile device may be further configured to display a setup from file button and, in response to activation of the setup from file button, display one or more configuration buttons each associated with a respective configuration file in the database, wherein the configuration file is downloaded in response to activation of a configuration button associated with the configuration file.

In another aspect of the invention, the mobile device may be further configured to, in response to activation of the configuration button associated with the configuration file, display a configuration screen that includes one or more configuration parameter data entry fields each associated with a configuration parameter.

In another aspect of the invention, at least one of the one or more configuration parameter data entry fields is prepopulated with a parameter value defined by the configuration file.

In another aspect of the invention, the mobile device may be further configured to display a guided setup button that initiates a setup process and, in response to activation of the guided setup button, display a sequence of windows that prompt a user to enter configuration parameters.

In another aspect of the invention, the dispenser detects if a probe is connected to the dispenser, and if so, a type of the probe connected to the dispenser, and the mobile device is configured to display a probe status indicator that provides an indication of whether the probe is connected to the dispenser, and if so, the type of probe.

In another embodiment of the invention, a method for configuring the dispenser is provided. The method includes downloading the configuration file to the mobile device from the database containing the one or more configuration files each defining the one or more parameter values that configure the dispenser, and uploading the one or more parameter values defined by the configuration file from the mobile device to the dispenser controller, wherein the one or more parameter values cause the dispenser to operate in accordance with the configuration file.

In an aspect of the invention, the method may further include scanning for dispensers within range of the mobile device, wirelessly connecting the mobile device to one or more of the dispensers within range of the mobile device, and in response to the mobile device connecting to the dispenser, downloading data from the dispenser into the mobile device.

In another aspect of the invention, the method may further include determining the location of at least one of the one or more of the dispensers within range of the mobile device, and uploading the location from the mobile device to the database.

In another aspect of the invention wherein the data downloaded from the dispenser includes configuration data, the method may further include displaying one or more dispenser windows each associated with one of the dispensers within range of the mobile device, and in response to activation of the dispenser window, displaying the manager screen that includes the configuration data for the dispenser associated with the activated dispenser window.

In another aspect of the invention wherein the manager screen includes one or more pump buttons and the data downloaded from the dispenser includes pump status data, the method may further include, in response to activation of the pump button, displaying the status of the pump on the mobile device.

In another aspect of the invention, each of the dispenser windows includes the dispenser status bar that indicates the status of the dispenser.

In another aspect of the invention, each of the dispenser windows includes the status indicator that indicates if the dispenser is in the alarm condition.

In another aspect of the invention, the method may further include determining if each of the dispensers within range of the mobile device meets the filter criterion, and only displaying dispenser windows for the dispensers that meet the filter criterion.

In another aspect of the invention, the method may further include displaying the setup from file button on the mobile device, and in response to activation of the setup from file button, displaying one or more configuration buttons each associated with the respective configuration file in the database on the mobile device, wherein the configuration file is downloaded in response to activation of the configuration button associated with the configuration file.

In another aspect of the invention, the method may further include, in response to activation of the configuration button associated with the configuration file, displaying the configuration screen that includes one or more configuration parameter data entry fields each associated with the configuration parameter.

In another aspect of the invention, at least one of the one or more configuration parameter data entry fields may be prepopulated with the parameter value defined by the configuration file.

In another aspect of the invention, the method may further include displaying the guided setup button that initiates the setup process, and in response to activation of the guided setup button, displaying the sequence of windows that prompt the user to enter configuration parameters into the mobile device.

In another aspect of the invention, the method may further include detecting if the probe is connected to the dispenser, and if so, the type of the probe connected to the dispenser, and displaying the probe status indicator that provides the indication of whether the probe is connected to the dispenser, and if so, the type of probe.

In another embodiment of the invention, a computer program product for configuring the dispenser is provided. The computer program product includes a non-transitory computer-readable storage medium, and program code stored on the non-transitory computer-readable storage medium. The program code is configured so that, when executed by one or more processors, the program code causes the one or more processors to download the configuration file to the mobile device from the database containing one or more configuration files each defining one or more parameter values that configure the dispenser, and upload the one or more parameter values defined by the configuration file from the mobile device to the dispenser controller, wherein the one or more parameter values cause the dispenser to operate in accordance with the configuration file.

The above summary presents a simplified overview of some embodiments of the invention to provide a basic understanding of certain aspects of the invention discussed herein. The summary is not intended to provide an extensive overview of the invention, nor is it intended to identify any key or critical elements, or delineate the scope of the invention. The sole purpose of the summary is merely to present some concepts in a simplified form as an introduction to the detailed description presented below.

DETAILED DESCRIPTION

FIG. 1depicts an exemplary operating environment10including a dispenser controller12, a dispensing device14, a washing machine16(e.g., a ware-washing machine, a clothes-washing machine, or any other machine or process that uses chemical solutions), a mobile device18, a network access point20, and a network22in communication with one or more computers24-27, such as a tablet computer24, a laptop computer25, a mobile device26, or a desktop computer27, and a database28. The computers24-27may enable users to access data generated by the dispenser controller12, dispensing device14, or washing machine16, either directly or from the database28. The computers24-27may also enable users to update the configuration of the dispenser controller12, dispensing device14, or washing machine16, e.g., by downloading dispensing programs to the dispenser controller12. One or more of the computers24-27may include a server (e.g., a webserver, an application server, or a database server) that communicates with a client application on the mobile device18, such as a web browser or other mobile application. In an embodiment of the invention, the dispenser controller12and dispensing device14may be integrated into a single dispenser.

The dispenser controller12may include a central processing unit30, a communication unit32, and a power supply34. The central processing unit30may include a microprocessor and a user interface. In an embodiment of the invention, the user interface may include one or more buttons (e.g., four buttons) and one or more lights (e.g., four lights). The communication unit32may be an optionally installed board that includes a transceiver configured to enable the central processing unit30to communicate with the network22, e.g. using the access point20. The transceiver may include a microprocessor, a radio frequency transmitter, and a radio frequency receiver. The radio frequency transmitter and receiver may communicate using one or more sub-Gigahertz carrier frequencies, such as those found in the industrial, scientific and medical (ISM) radio band. The communication unit32may also be configured to communicate over a transmission line, such as a cable including conductive elements or an optical fiber, using a suitable communication protocol, such as Ethernet. The communication unit32may enable the dispenser controller12to transmit usage and error information in real-time to the network22, and may transmit warning or error messages (e.g., via email or text message) to authorized users. The communication unit32may also enable users with sufficient security clearance to remotely access and adjust settings of the dispenser controller12and review reports via an Internet connection.

The dispensing device14may be configured to provide one or more chemical products from one or more sources of chemical product (i.e., a container of the chemical product) to the washing machine16. The chemical products may be provided in the form of a dilute chemical solution that is created by mixing the chemical product with a diluent (e.g., water), or by dispensing the chemical product directly from the source into the washing machine16. To this end, the dispensing device14may be connected to a source of diluent, and may include one or more pumps, venturi-based eductors, flush manifolds, valves, etc. configured to deliver controlled amounts of chemical product to the washing machine16in response to signals from the dispenser controller12. The dispenser controller12may be remote from the dispensing device14or integrated into the dispensing device14, and may control a single dispensing device14, or multiple dispensing devices14. As used herein, the term “dispenser” may refer to the dispensing device14alone or combination with the dispenser controller12.

The power supply34may receive power from the electric grid (e.g., 240 to 90-volt AC power) and provide one or more DC or AC voltages used by the dispensing device14, washing machine16, central processing unit30, and communication unit32(e.g., 24-volt DC power). Power may be provided to the dispensing device14, for example, through a multi-conductor cable38(e.g., a seven-conductor cable) that carries power and data signals, and that operably couples the dispensing device14to the power supply34. An additional cable40may connect the power supply34to the washing machine16.

The power supply34may include a signal interface36configured to transmit signals to and receive signals from the washing machine16and central processing unit30. In an alternative embodiment of the invention, the signal interface36may be separate from the power supply. The signal interface36may include a microcontroller or other control logic, a machine interface that operably couples the microcontroller to the washing machine16, and a CPU interface that operably couples the microcontroller to the central processing unit30. The signal interface36may enable communication between the washing machine16and central processing unit30by translating communication protocols and signals used by the washing machine16and central processing unit30. The signal interface36may also operably couple the central processing unit30to one or more sensors, such as a conductivity probe that senses a conductivity of a washing solution in the washing machine16, a float probe that senses a level of solution in the washing machine16, a temperature probe that senses a temperature of the solution in the washing machine16, or any other suitable sensor. The conductivity probe may be an inductive probe that determines a chemical concentration level using a magnetic field generated by one or more coils. The conductivity probe may also measure conductivity between electrodes in direct contact with the washing solution.

For example, the signal interface36may include a trigger signal interface that receives trigger signals from the washing machine16indicative of an operational state of the washing machine16, e.g., the beginning or end of a fill cycle, wash cycle, rinse cycle, etc. The signal interface36may convert the trigger signals (e.g., 24-volt AC signals) into signals having a voltage level suitable for use by the central processing unit30(e.g., 5-volt logic-level signals). To this end, the signal interface36may include optical isolators or other devices that provide galvanic isolation between high voltage trigger signals received from the washing machine16and the other system components.

The mobile device18may be a smart phone, tablet computer, or any other portable computing device, and may communicate with the central processing unit30using a suitable communication protocol, e.g., a communication protocol having a relatively short range such as between one and 20 meters. Exemplary communication protocols may include, but are not limited to, Bluetooth®, Radio Frequency Identification (RFID), and Near-Field Communication (NFC). The mobile device18may also communicate with the network22using a communication protocol such as Wi-Fi®, Bluetooth®, Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), cdmaOne, CDMA2000, Evolution-Data Optimized (EV-DO), Enhanced Data Rates for GSM Evolution (EDGE), Universal Mobile Telecommunications System (UMTS), Integrated Digital Enhanced Network (iDEN), or any other suitable protocol. The mobile device18may also retrieve data regarding the dispenser by scanning a Quick Response (QR) code, NFC device, or the like. The retrieved data may be used, for example, to track and manage assets.

A mobile application may reside on the mobile device18that is used to wirelessly connect to any dispenser controller12within range. In response to connecting to the dispenser controller12, the mobile application may indicate a condition of one or more dispensing devices14in communication with the dispenser controller12. Exemplary conditions may include whether the dispensing device14is operating normally or is in an alarm condition. The mobile application may also display settings, usage and error history, a maintenance schedule, etc. for each dispensing device14to which the dispenser controller12is connected.

The mobile application may enable a user (e.g., a technician performing maintenance on an existing system or installing a new system) to configure the dispenser controller12or a dispensing device14associated therewith. The mobile application may also include “plug-and-play” features that enable it to be customized to a particular system configuration, such as the number and type of pumps, probes (e.g., conductivity or float probe), etc. The mobile application may also enable the user to download usage and error reports and view these reports in a user friendly, customized format.

The dispenser controller12may be configured to recognize one or more of the make, model, and serial number of the dispenser device14to which it is connected. This determination may be made, for example, based on signals received through the cable38. Suitable signals for identifying the dispensing device14may include serial data signals, impedance signals (e.g., sensing the presence of absence of one or more jumpers), or any other electrical signal that can be used to convey information. The dispenser controller12may provide this data to the mobile application on mobile device18in response to a query. Advantageously, this feature may enable the mobile application to automatically configure the user interface based on the type and configuration of dispensing device14being controlled. For example, the mobile application may present different user interface elements depending on whether the dispensing device14dispenses solid or liquid chemical products, the type and number of sensors used (e.g., inductive, capacitive, or contact based concentration probes, temperature sensors, level sensors, etc.), the type of pump, and whether the pump is activated by a motor or solenoid.

The mobile application may upload dispenser settings, usage, and error data to the network22via the network connectivity of the mobile device18. The mobile application may also enable users to adjust settings, share settings and other reports using communication applications (e.g., e-mail or instant messaging) to facilitate remote support. The mobile application may also be configured to provide access to help videos, instruction sheets, troubleshooting documents, spares, contacts, etc.

The network access point20may include hardware and software that enables devices such as the dispenser controller12or mobile device18to communicate with the network22. To this end, the network access point20may include one or more transceivers that transmits and receives data using a suitable protocol, such as Wi-Fi or Ethernet. The network access point20may also include data processing circuitry that maps data between one or more layers of the communication protocols used by the devices12,18(e.g., Wi-Fi) and the network22(e.g., Ethernet). The network access point20may provide a central hub that enables multiple dispenser controllers12or dispensing devices14, including different types of dispensing controllers12and dispensing devices14, to communicate with each other or one or more of the computers24-27. Communication between the dispenser controller12and network access point20may use a communication protocol that enables communication over a relatively long distance (e.g., between 100 and 1000 meters) such as Wi-Fi or WiMAX. In an embodiment of the invention, the access point20may include a cellular modem that connects to a cellular network for communication with the computers24-27or database28.

Data provided to the dispenser controller12by the dispensing device14may include flow data for one or more of dispensed chemical products, diluent, or solution. Flow data may be generated by one or more flow switches or flow meters, or may be generated based on pump displacement and motor speed. When available, data from flow switches or flow meters may be used to adjust the pump running time or speed and to meter the desired flow. Data may also be provided to the dispenser controller12by the washing machine16, or may be inferred by the dispenser controller12based on trigger signals received from the washing machine16. This data may include a number of wash cycles, wash loads, etc.

FIG. 2depicts an exemplary dispenser41(e.g., an integrated dispenser controller12and dispensing device14) that includes one or more pumps42(e.g., three pumps), and a housing44. The pumps42may be peristaltic pumps (shown), diaphragm pumps, or any other suitable type of pump. The housing44may include a door46coupled to a frame48by one or more hinges50. A latch52may secure the door46to the frame48when the door46is in a closed position. The housing44may have a width w that varies depending on the number of pumps42provided by the dispenser41.

The dispenser41may include an overlay54, a standby button56, a dispenser status indicator58(e.g., a light emitting diode (LED)), and one or more prime buttons60(e.g., one for each pump42). Each of the prime buttons60may be associated with a respective pump status indicator62. One or more of the overlay54, standby button56, dispenser status indicator58, prime buttons60, and pump status indicators62may be mounted to or visible through the door46so that they are readily accessible when the door46is in the closed position. For example, the door46may be transparent or include a transparent portion that enables users to view the pumps42or indicators58,62while the door46is in the closed position.

The dispenser41may be configured so that in response to pushing and holding the standby button56for a predetermined period of time (e.g., 1 second), the dispenser41cycles between an on-state and an off- or standby-state. This feature may be user settable, e.g., the predetermined period of time may be set, or the feature disabled, using the mobile application. The standby button56may be located on the right side of the door46(as shown), or in any other suitable location, such as the center or left side of the door46, and the position may vary depending on the number of pumps42.

The status indicator58may include one or more light sources (e.g., a blue LED, a green LED, and a red LED) that indicate the status of the dispenser41. For example, the status indicator58may emit light having different colors or intensities depending on the status of the dispenser41. For example, the status indicator may emit a green light when the dispenser41is in the on-state but not connected to the mobile device18or access point20, and may emit a blue light in response to being connected to the mobile device18or access point20. The intensity of the light may be constant or may vary over time, e.g., by slowly fading in and out in the manner of a heart-beat.

Each of the one or more prime buttons60may be associated with a respective pump42and a respective pump status indicator62. In response to pressing a prime button60, the respective pump42may execute a priming function that introduces a chemical product into the pump42to prepare the pump42for operation. The prime buttons60may be disabled using the mobile application, either collectively or individually. When a prime button60has been disabled, activation of the prime button60will not cause the associated pump42to execute the priming function.

Each of the pump status indicators62may be proximate to its respective prime button60(e.g., an LED proximate to, or a ring surrounding, the button), and may emit light of varying color or intensity to indicate a status of the associated pump42. To this end, each pump status indicator62may include one or more light sources (e.g., LED's having different colors) and an optical element (e.g., a light-pipe) that directs the light toward an observer. By way of example, an indicator62may emit a green light when its respective pump42is running normally, an orange or yellow light when the pump42requires non-urgent attention, and a red light when the pump42requires urgent attention. In the event urgent attention is needed, the pump42in question may be stopped and an alarm activated, e.g., by sounding a buzzer. In an alternative embodiment of the invention, each pump status indicator62may be configured to illuminate a chamber of the housing44containing the pump42rather than emitting light from a position on the door46as shown.

Conditions requiring urgent attention may include the occurrence of a pump jam or an out of product condition. An out of product condition may be determined, for example, based on a concentration probe reading at the washing machine16or a float or other level probe reading at the source of the chemical product. Conditions requiring non-urgent attention may include a pump tube that needs changing, tank water that needs changing, delime required, or an unconfigured dispenser. Each of these non-urgent conditions may be associated with a different display by the pump status indicator62, such as a flashing light (e.g., on two seconds for each six second period), a continuous light output, synchronous flashing of multiple status indicators at one rate (e.g., on one second for each three second period), or synchronous flashing of multiple status indicators at another rate (e.g., on one second for each two second period), respectively.

The dispenser41may include a device that emits an audible sound, e.g., a buzzer. In an embodiment of the invention, the priming function of the prime buttons60may be disabled when the buzzer is sounding. This may enable the prime buttons60to be used to put the dispenser41into a “snooze mode” by pressing any one of the prime buttons60without activating an unwanted pump priming. The snooze mode may silence the buzzer for a predetermined amount of time, such as until the event which triggered the buzzer has been cleared. When the dispenser41is in the snooze mode, the pump status indicator62associated with the prime button60used to enter the snooze mode may change its appearance, e.g., change from a solid light to a flashing light. The priming function for this prime button60may then continue to be suppressed so that the button can be used to control the dispenser41. For example, pressing and holding the prime button60in question for a predetermined period of time (e.g., three seconds) may cause the fault which triggered the alarm to be reset.

FIGS. 3-7depict exemplary screens of a user interface (e.g., a graphical user interface (GUI)) that may be displayed by the mobile application running on the mobile device18.FIG. 3depicts an exemplary login screen100that includes a username data entry field102, a password data entry field104, and slider buttons106,108that allow the user to select whether the mobile application remembers the data that has been entered into the respective data entry fields102,104. Once the user has entered their username and password into the data entry fields102,104and selected a memory option using the slider buttons106,108, the user may activate a login button110. Activating the login button110may cause the mobile application to attempt to authenticate the user based on the data entered into the data entry fields102,104, either by the user or from the memory of the mobile device18. The authentication process may include comparing the entered data to a list of valid users in the database28. If the username and password cannot be authenticated by the mobile application, the mobile application may redisplay the login screen100with an indication that the entered information could not be authenticated.

Referring now toFIG. 4, in response to the mobile device18connecting to a dispenser controller12or the database28, and the username and password being authenticated, the mobile application may display a home screen112. The home screen112may indicate a condition of one or more dispensers, e.g., whether the dispenser is operating normally, in standby-mode, or in an alarm condition. The home screen112may also include a data entry field113for entering search terms (e.g., a dispenser location, type, user, etc.), a home button114, a settings button115, one or more data display windows116-119that provide information relating to the one or more dispensers, and an information tab122. The information displayed in the data display windows116-119may include, for example, search results for a term entered into the data entry field113. Each data display window116-119may include an icon124-127that indicates a type of dispenser, a character string132-135that identifies a particular dispenser (e.g., by location), and one or more status indicators140-147.

Each status indicator140-147may provide an indication of a status of the dispenser, such as the status of a pump of the dispenser. The status may be indicated, for example, by outputting a predetermined color corresponding to the status in question. For example, green may indicate normal operation, yellow or orange may indicate a non-urgent condition, and red may indicate an urgent condition. Each data display window116-119may also include a manage button156-159and an identify button164-167. When one or more of the status indicators140-147of a dispenser indicates a problem with the dispenser, the manage button156-159of that window116-119may change color or otherwise provide an indication that the respective dispenser has an issue which the user may want to investigate.

Referring now toFIG. 5, activating a manage button156-159may bring up a manager screen172for the dispenser associated with the data display window116-119of the activated manage button156-159. Activating the manage button156-159may also cause the information tab122to display an identity of the dispenser or associated washing machine. The manager screen172may include status indicators174,176, a status message window178, one or more pump buttons180,182, one or more maintenance buttons184, a setup button186that opens a setup screen, a report window188, and an identify button189.

The status message window178may display information that identifies an issue with one or more pumps of the dispenser in question. For example, the information may identify a pending maintenance issue, e.g., a squeeze tube that is nearing the end of its operational life. Each pump button180,182may provide information about one of the pumps of the dispenser, such as the remaining service life of a component of the pump, a number of racks processed by the washing machine, or that the chemical product provided by the pump is running low or has been depleted.

The maintenance button184may be configured to open a maintenance window when activated, and the appearance of the maintenance button184may vary depending on a condition of the dispenser or equipment associated with the dispenser, such as the dispenser controller or washing machine. For example, in the absence of any maintenance issues, the maintenance button may have a neutral color, e.g., gray. In response to detection of a non-urgent condition, the appearance of the maintenance button184may indicate the non-urgent condition, e.g., by displaying a yellow or orange outline. In response to an urgent condition, the appearance of the maintenance button184may indicate the urgent condition, e.g., by displaying a red outline.

The report window188may include one or more drop-down windows190,192that enable the user to select a start date and a stop date, or a predetermined range (e.g., the last week, last month or last6months) for aggregating data, and a results window194. Activating a drop-down window190,192may cause the mobile device18to display a spin box196for selecting the respective start or stop date. The results window194may display aggregated data generated during the period of time defined by the selected start and stop dates. Exemplary data may include racks processed by the washing machine, the volume of chemical used, or the number of alarm conditions detected per shift, per day, or per week, or any other metric related to operation of the dispenser or washing machine. Activating the identify button189may cause the manager screen172to populate the information tab122with information identifying the source of the data displayed in the report window188, e.g., the identity of the washing machine.

Referring now toFIG. 6, in response to activating the setup button186, the mobile application may cause the mobile device18to display a setup screen200. The setup screen200may include one or more step number buttons202. Activating a step number button may cause the setup screen200to display an associated setup window, such as exemplary setup window204. The step number buttons202may be arranged in a recommended order for configuring a new dispenser installation or reconfiguring an existing dispenser. The setup window204may include pump selection buttons206, a pump setting window208, a rinse feed option window210, a rinse delay window212, a last button214, and a next button216.

The pump setting window208may enable the user to control operation of the pump selected using the pump selection buttons206. To this end, the pump setting window208may include a display box218and a track bar220having an indicator222. The user may adjust the speed of the pump by moving the indicator222of track bar220horizontally until the display box218displays the desired pump speed. The user may also enter data setting the speed of the pump into a data entry field (not shown).

The rinse feed option window210may include a slider button224that enables the user to select between providing a rinse feed on a rinse cycle, or on a detergent dispensing cycle.

The rinse delay window212may enable the user to control a rinse delay time. To this end, the rinse delay window212may include a display box226and a track bar228having an indicator230. The user may adjust the rinse delay time by moving the indicator230of track bar228horizontally until the display box226displays the desired rinse delay time. The user may also enter data setting the rinse delay time into a data entry field (not shown).

Activating the last button214may cause the setup screen200to display the setup window for the previous setup step. Activating the next button216may cause the setup screen200to display the next setup step. The last button214and next button216may thereby provide a way for the user to navigate between steps in addition to activating the step number buttons202.

Referring now toFIG. 7, in response to activation of the settings button115, the mobile application may cause the mobile device18to display a settings screen232. The settings screen232may include a spin box234that enables users to select the language (shown), currency, units of measurement (e.g., metric or U.S.), or other settings used by the mobile application, a time format window236having a slider button238for selecting a time format (e.g., 12 hour, 24 hour) used by the mobile application, a date format window240including a track bar242for selecting the date format used by the mobile application (e.g., dd/mm/yyyy, mm/dd/yyyy, or yyyy/mm/dd), and a user update button244. Activation of the user update button244may cause the mobile application to display a user update screen (not shown) that enables the user to update their username and password.

In operation, the dispenser controller12may measure and store data on the flow of chemical products, diluent, and dispensed solutions; dosing events; costs; and alarms for each of the dispensing devices14controlled by the dispenser controller12. This operational data may be transmitted to, stored in, and organized by the database28. The database28may be used to generate reports on production (e.g., loads, racks, or weight), usage, costs, and alarms, and provide recommended actions based on observations of the operational data. The mobile application may provide a real-time dashboard showing dispenser performance, daily wash summaries, and push notifications via email or messaging.

Advantages provided by embodiments of the invention may include reduced service costs, simplified installation, savings by reducing the frequency with which components (e.g., squeeze tubes) are replaced, improved versatility, reduced food safety concerns, and improved reliability.

For example, embodiments of the invention may reduce costs by enabling service only when needed with real-time information on alerts, usage, cost, and productivity. Installation may be simplified by the mobile application, which may facilitate installation with minimal tools, enable plug and play components, such as pumps, alarms, and probes, and reduce or eliminate costly field wiring of power, trigger signals, and probes. Global versatility may be provided by use of a single dispenser controller12for all types of warewash machines and probe types, feature boards that expand the capabilities of dispenser controllers12and dispensing devices14, and compatibility with existing squeeze tube designs. Expansion boards that enable out of product detection and rinse aid or detergent tank temperature measurement, as well as the detection of dirty water and de-lime alerts, may increase washing machine performance and reduce food safety concerns. Pumps using direct current motors optimized for accuracy and reliability and alternative pump technologies may offer improved reliability.

Data access may be provided using different tiers. For example, a basic tier of service for deployments lacking the network access point20may use the mobile device18to transmit operational data to the database28. The mobile device18may store and transmit data to the network when convenient, e.g., using an available cellular or Wi-Fi connection. A more advanced service tier may include the access point20and communication unit32. The communication unit32may comprise a daughter board that is connected to the central processing unit30that enables the central processing unit30to communicate with the database28through the access point20on demand. The access point20may provide a communication hub that transmits data collected from multiple dispensing devices14by one or more dispenser controllers12to the network in real-time via a cellular or other network connection. This constant connectivity may enable more proactive alarm maintenance to reduce service costs, may eliminate the requirement for a kitchen manager to have the mobile application or be connected, and may leverage a common infrastructure that will support other dispensers, including but not limited to dilution and on-premise laundry systems.

Embodiments of the invention may be used with any type of system that uses chemical products, such as laundry dispensers connected to top load washers, washer/extractor, or tunnel washers. The dispenser controller12may be configured to dispense one or more chemical products (e.g., between one and ten chemical products) and operate with one or more washing machines (e.g., between one and ten washing machines) each having a capacity a different weight capacity.

When used with industrial commercial machines, such as a tunnel washer, the dispensing device14may comprise a cabinet having a width and depth (e.g., about six feet wide and six feed deep), and may include one or more pumps (e.g., up to five pumps) of a suitable type (e.g., pneumatic diaphragm pumps) to provide a suitable chemical product dispense rate (e.g., 1.1 gallons/minute) to one or more delivery channels (e.g., up to five channels/machines). This type of dispenser may include a user interface (e.g., a seven-inch touchscreen) and a controller (e.g., a programmable logic controller) capable of storing a plurality of formulas (e.g., over100formulas), an air-assist module to ensure rapid, consistent delivery of chemical products, and integrated calibration drives to provide accurate and quick calibrations. Integrated flow meters may be used to provide accurate dosing and usage data. The dispensing device14may include full reporting capabilities via Ethernet and remote/wireless access that allows users to monitor results and modify settings from anywhere using an Internet connection. Diaphragm pumps may provide advantages over peristaltic pumps by eliminating maintenance associated with squeeze tubes and preventing issues with chemically resilient components.

In another embodiment that may be used with industrial commercial machines, the dispensing device14may comprise a cabinet having a width and depth (e.g., about three feet wide and three feet deep), and may include one or more pumps (e.g., up to five pumps) of a suitable type (e.g., single or dual-channel pneumatic diaphragm pumps) to provide a suitable chemical product dispense rate (e.g., 1.1 gallons/minute) to one or more delivery channels (e.g., up to five channels/machines). The dispensing device14may also include an adaptable distributor (e.g., that uses electric valves to direct the flow of chemical product/diluent/solution) to allow flexibility as dispensing requirements change over time.

In another embodiment, the dispensing device14may be used in a central dosing system for an on premises laundry, and may include a PCB-based control panel with a user interface (e.g., a two-line 16-digit display and 6 button keypad) and a store a plurality of formulas (e.g., up to 40 formulas). The dispensing device14may be further configured to dispense one or more products (e.g., four, six, or eight products) and use one or more pumps (e.g., a one liter per minute electromagnetic diaphragm pump or 1.75 liter per minute pneumatic pump, with alternative pumps as an option), a proof of flow capacity (e.g., using a digital rotameter on the chemical product feedline), a paddle wheel flow meter on water or product delivery lines, and an adaptable distributor. The adaptable distributor may allow flexibility to supply one or more washer extractors (e.g., between four and six washer extractors). The above described dispensing device14may include a capability to be addressed and configured locally via the mobile device18, thereby avoiding the need for personal computer software, and may also include online reporting capabilities via Ethernet and cloud-based services (e.g., Skylink Technology of Bellevue, Nebr.; or Microsoft Azure, available from the Microsoft Corporation of Redmond, Wash.) to allow users to view summary statistics from anywhere with an Internet connection.

FIGS. 8-28depict exemplary screens of a user interface that may be displayed by the mobile application in another embodiment of the invention. Referring now toFIG. 8, in response to the user activating a mobile application icon on the mobile device18, the mobile application may cause the mobile device18to display a login screen250to the user. The login screen250may include a data entry fields252,254for entering a username and a password, a check box256that provides an option of having the application remember the user when using the mobile device18in question to log back into the application, and a login button258.

Referring now toFIG. 9, in response to the user entering their username and password, and activating the login button258, the mobile application may cause the mobile device18display a home screen260. The mobile application may also cause the mobile device18to scan for and wirelessly connect to dispenser controllers12within range. Scanning for dispenser controllers12may include transmitting interrogation signals (e.g., RFID or NFC interrogation signals) from the mobile device18and scanning for responses from dispenser controllers12prompted by the interrogation signals. Scanning for dispenser controllers12may also include scanning for signals autonomously transmitted by the dispenser controller12(e.g., Bluetooth or WiFi beacon signals). Once a connection to a dispenser controller12is established, the mobile application may cause the mobile device18to download data from the dispenser controller12, such as the make, model, and serial number of the dispenser controller12and any dispensing devices14connected to the dispenser controller12, as well as any configuration parameters currently loaded into the dispenser.

The home screen260may include one or more dispenser windows262-265each including information about a dispenser, one or more navigation buttons270-274for navigating to other screens, and a filter button280. The information about the dispenser in the dispenser windows262-265may include a dispenser status bar281that changes color (e.g., from green to red) to indicate a status of the dispenser, component status indicators282(e.g., colored circles) each representing a component (e.g., a pump) associated with the dispenser, text describing the location and type of dispenser, a distance indicator284that provides an indication of how far the mobile device18is from the dispenser, and a status indicator286that provides an indication of the status of the dispenser (e.g., needs component to be replaced, out of a chemical). The distance between the mobile device18and each of the dispensers within range of the mobile device18may be determined, for example, based on a signal strength associated with a wireless data link between the mobile device18and dispenser controller12.

The screen navigation buttons270-274may include a logout button270, a settings button271, a home button272, a guides button273, and a hydro connect button274. Activating the filter button280may cause a dropdown window to be displayed that allows the user to filter the dispenser windows262-265displayed by signal strength or any other suitable criterion.

In response to the user activating (e.g., by touching) one of the displayed dispenser windows262-265, the mobile application may cause the mobile device18to download data from the dispenser associated with the activated dispenser window262-265. During the downloading process, the mobile application may cause the mobile device18to display instructions telling the user to remain close to the dispenser, and a status bar indicating progress of the download. The downloaded data may include dispenser configuration data, operational data, or any other suitable data.

Referring now toFIG. 10, in response to the download completing, the mobile application may cause the mobile device18to display a manager screen290A. The manager screen290A may include a header displaying information about the dispenser (e.g., location, dispenser type, serial number, and model number), a report button292, one or more pump buttons294-301, one or more maintenance buttons310-315(e.g., a replace container button310, change squeeze tube button311, a delime tank button312, a change tank water button313, dose initial charge button314, and sensor reading button315), and a setup button322. Depending on the type of dispenser or pump selected, or more of the maintenance buttons310-315may be grayed-out to indicate that the buttons are currently disabled. Maintenance buttons310-315may be disabled, for example, when they are associated with a feature that is not applicable to the dispenser or pump in question. In response to the user activating the sensor reading button315, the mobile application may cause the mobile device18to display a screen showing real time sensor readings, e.g., live tank temperature, live rinse temperature, last rack rinse temperature, live concentration probe reading, etc.

Activating the report button292of manager screen290A may cause the mobile device18to display a chemical product report screen330such as depicted byFIG. 11. The chemical product report screen330may include report type check boxes332-334for selecting the type of data to be reported (e.g., chemical use check box332, racks check box333, events check box334) and one or more report range check boxes338,340(e.g., one week, one month) for selecting the period of time over which the selected report is to be run. Activating a report type check box332-334may cause the mobile device18to display data associated with the report in question. For example, the chemical use reports depicted on the chemical product report screen330may display the amount of each chemical product dispensed over the selected period (e.g., one week). Usage may be broken down by sub-periods (e.g., usage for each day and a total for the week, usage for each week and total for the month, etc.). As depicted byFIGS. 12 and 13, respectively, a rack report screen350may be displayed in response to the user selecting the racks check box333, and includes the number of racks processed over the reporting period. An events report screen360may be displayed in response to the user activating the events check box334, and includes the number of events that occurred over the reporting period.

Referring now toFIG. 14, activating a specific time period (e.g., Monday, Aug. 5) on the events report screen360may cause the mobile device18to display a detailed events report screen365. The detailed events report screen365may list each type of event and how many times that event was counted in the period. Exemplary events may include, but are not limited to detergent low, faulty probe detected, low tank temperature, delime tank reminder, change water tank, out of detergent, out of rinse aid, out of sanitizer, squeeze tube change, and pump jam.

FIG. 15depicts the manager screen290B as it may appear in response to the user activating one of the pump buttons294-301(e.g., pump button295). In response to activation of a pump button, the mobile application may cause one or more warnings associated with the pump in question to be displayed in the manager screen290B. Activation of a pump button294-301may also cause the mobile application to enable one more additional maintenance buttons310-315corresponding to the pump, e.g., the replace container button310and change squeeze tube button311.

In response to pressing a maintenance button310-315associated with a warning (e.g., the replace container button310), the mobile application may cause the mobile device18to display a popup window with instructions on how to clear the event, a cancel button, and a complete button. Once the maintenance has been completed (e.g., the container has been replaced, the chemical has been refilled, the squeeze tube has been replaced, etc.), the user may activate the complete button on the popup window. This may cause the mobile application to return to the manager screen290B and update the status of the pump to reflect clearing of the alert.

Referring now toFIG. 16, in response to the user activating the setup button322of manager screen290B, the mobile application may cause the mobile device18to display a home dispenser setup screen370. The home dispenser setup screen370may include one or more setup buttons372-375, e.g., a guided setup button372, a configure alarms button373, a setup from file button374, and an advanced setting button375. The home dispenser setup screen370may also include a dropdown menu380for selecting a pump to configure, and one or more settings links382,384.

FIGS. 17-18depict a home guided setup screen390that may be displayed by the mobile device18in response to activation of the guided setup button372. The home guided setup screen390may initially be obscured by a popup window392including instructions or warnings associated with the type of setup being performed. The exemplary popup window392depicted byFIG. 17instructs the user to make sure the dispenser is turned on, that there is water in the tank, and to remain close to the dispenser during the guided setup process. Before the mobile application allows the user to continue, the user may be required to activate a continue button on the popup window392, thereby providing an indication that the instructions have been acknowledged.

The home guided setup screen390may include a data entry field393for entering a name of the dispenser, a data entry field394for entering a short name for the dispenser, one or more machine type check boxes396,398for selecting a type of machine the dispenser is dispensing chemicals to (e.g., door or conveyor warewash), a data entry field400for entering data about the machine (e.g., conveyor rack time), and a probe status indicator401. The home guided setup screen390may also include a cancel button402and a next button404. Activating the cancel button402may return the mobile application to the home dispenser setup screen370. The probe status indicator401may provide an indication of the type of probe (if any) used by the dispensing device14(e.g., conduction probe, float probe, or probeless). The presence and type of probes connected to the dispenser may be determined by one or more of the dispenser controller12and dispensing device14, and transmitted to the application as described above. Activating the next button404may cause the mobile device18to display a pump configuration guided setup screen410.

Referring now toFIG. 19, the pump configuration guided setup screen410may include the pump buttons294-301, an information header that provides information on the selected pump (e.g., a detergent pump), a pulse feed enable slider button412, one or more pump parameter data entry fields414-416for setting pump parameters for the selected pump, one or more preset pulse speed check boxes420-422for setting the pump pulse speed, a back button426that returns the user to the previous guided setup screen, a next button428that causes the mobile application to display the next guided setup screen, and a probe status indicator429.

Activating a pump button294-301may cause the mobile device18to display a pump configuration screen for that pump. As depicted byFIG. 20, activating sanitizer pump button295may cause the mobile device18to display a pump configuration guided setup screen430for a sanitizer pump. The sanitizer pump configuration guided setup screen430may include a timing data entry field432for entering a pump speed, sanitizer feed option check boxes434,436(e.g., with rinse or with detergent), a calibrate pump button438, a back button440, and a next button442. It should be understood that each pump configuration setup screen may be configured according to the selected pump type, and embodiments of the invention are not limited to the exemplary pump configuration guided setup screens410,430depicted herein.

As depicted byFIGS. 21 and 22, activating the calibrate pump button438may cause the mobile application to display a calibrate pump screen450. The calibrate pump screen450may include one or more check boxes452,454to select the type of calibration to be performed (e.g., time or volume), one or more data entry fields456-458corresponding to the selected calibration (e.g., amount of liquid dispensed in the allotted time, or volume of liquid and elapsed time), a start button462, a cancel button464, and an apply button468. Activating the time check box may cause the mobile device18to display a calibrate pump screen configured for performing a time-based pump calibration as depicted by the calibrate pump screen450ofFIG. 21. In the exemplary calibrate pump screen450depicted byFIG. 22, the volume check box454is selected so that the screen is configured for performing a volume-based pump calibration.

In a time-based calibration, activating the start button462may cause the pump to operate for a predetermined amount of time (e.g., 20 seconds) while the output of the pump is collected in a measuring device, such as a graduated cylinder. The amount of chemical product pumped into the measuring device may then be entered into the date entry field456so that the dispenser controller12can determine a calibration factor for the pump.

In a volume based calibration, activating the start button462may cause the pump to be activated. The start button may then become a stop button which is activated to deactivate the pump when the predetermined volume has been dispensed into the measuring device. While the pump is activated, the mobile application may track the elapsed time in the data entry field458, or this time may be kept by the user. In any case, once the pump has been stopped, the volume of chemical product dispensed into the measuring device and the elapsed time may be entered into their respective data entry fields457,458, and the values provided to the dispenser controller12for determining the calibration factor.

Activating the configure alarms button373of home dispenser setup screen370(FIG. 16) may cause the mobile device18to display a configure alarms screen470such as depicted byFIG. 23. The configure alarms screen470may include a list of one or more alarms each associated with a slider button472-481, a cancel button490, and an apply button492.

Referring now toFIG. 24, activating the setup from file button374of home dispenser setup screen370may cause the mobile device18to display a setup from file screen500A. The setup from file screen500A may include one or more configuration buttons502-507, a modify button512, and an apply button514. Activating a configuration button502-507may enable the user to activate the modify button512or apply button514to modify the selected dispenser configuration or apply the selected dispenser configuration to the dispenser being configured, e.g., the “Floor3Storage Room” dispenser.

Multiple dispenser configurations may be created by a chemical product distributer or other entity and stored in a database, e.g., database28. This database of configuration files may provide a library of predefined dispenser configurations for use in the field. The user may download a configuration file from the database into the mobile device18or other computer running the application by activating a configuration button502-507. The configuration parameters in the configuration file may then be uploaded into a dispenser controller12by activating the apply button514. The configuration parameters may be uploaded with the same values they had when received from the database, or after one or more parameters have been customized to optimize a particular dispenser installation.

The above library feature may allow the user to set up a dispenser in the field using a predefined dispenser configuration file. Advantageously, this feature would enable a chemical company, for example, to build a library of standard configurations. These standard configurations may simplify training and improve consistency of configuration parameters, e.g., the cost of chemical products and dispense amounts will always be correct. It also allows individual dispensers to be setup more quickly, saving time and money.

In the above scenario, a setup from file process may begin by the application downloading the corporate library of configuration files associated with the chemical company into a local memory of the mobile device18. After the user has been authenticated (e.g., by logging into the application), the user can view configuration files associated with libraries to which they have been granted access, e.g., the library of a chemical company they represent. The application may allow the user to filter configuration files on one or more criteria. Filtering criteria may include, but is not limited to file name, machine type (e.g., door or conveyer), and probe setting (e.g., capacitive probe, inductive probe, probeless machine). Based on the model of dispenser being configured, the application may recognize whether a configuration is valid or invalid for that dispenser. Configuration files which would be invalid for the dispenser (e.g., wrong number of pumps or liquid verses solid chemical products) may be filtered out by the application so that only valid configuration files are displayed to the user when viewing configuration file libraries.

After the user has selected the configuration, the application may cause the mobile device18to display a summary of the configuration parameters and an apply button that, when activated, causes the selected configuration to be uploaded to the dispenser. In response to activating the apply button, the application may display a warning that indicates this action will overwrite the current settings in the dispenser, and may take a certain amount of time (e.g., 30 seconds) to complete. This warning may include another button that enables the user to confirm the apply action.

Some dispenser parameters may vary too much from unit to unit to be part of a standard library configuration file. For example, pump calibration values, the name of the site where the dispenser is located, the name of the dispenser, etc. These fields may be displayed to the user with instructions to enter values before the apply function can be executed.

The user may create a new configuration file, or edit an existing configuration file, name the configuration file, and store the configuration file, either locally on their mobile device18, or (if permitted) on the database28. In an embodiment of the invention, the administrator of the library may prohibit the user from sharing new or modified configuration files. In this case, the user may only be allowed to save custom configuration files in a personal library stored locally in the mobile device18, or that is stored in an area of the database28which is not accessible by other users. In another embodiment of the invention, the application may enable the user to forward a configuration file to other users, e.g., as an attachment to an email or other message.

Referring now toFIG. 25, activating the modify button512may cause the mobile device18to download the configuration file from the network database or from local memory, and display a modify configuration screen520for the selected configuration, e.g., the “American Diner” configuration associated with configuration button502. The modify configuration screen520may include a configuration category drop down menu522that allows the user to select a configuration category, and one or more configuration parameter data entry fields524-531each associated with a configuration parameter.

One or more of the data entry fields524-531may be pre-populated with parameter values defined by the configuration file. One or more of the parameter values may be fixed so that the user can only view the parameter value, or may be modifiable by the user entering a new value into the respective data entry field524-531. The Exemplary configuration parameters may include pump configuration, pump install date, detergent mode, machine type, detergent type, pulse feed mode, user prime enable/disable, auto switch enable, etc. Each of the configuration parameters may also be associated with an information button544-551. The modify configuration screen520may also include a save as button560and an apply button562. Modified configuration files may be stored locally, or uploaded to the network database for future use.

Activating an information button544-551may cause the mobile device18to display a popup window including information on the parameter in question. For example, activating the “pulseFeedMode” parameter information button549may cause the mobile device18to display a popup window informing the user that entering 0-7 selects the pulse feed on/off time, with 0=always off (i.e., a 0% duty cycle), and 7 being always on (i.e., a 100% duty cycle). Each configuration parameter may initially be set to a pre-determined value corresponding to the selected configuration.

Advantageously, storing configuration files in a database may enable a distributer of chemical products, an owner of a chain of restaurants, or other responsible entity to have chemical dispensers configured with a standard set of configuration parameters suited to the chemical products dispensed or a particular dispensing application. The configuration file database may also facilitate updating chemical dispenser configurations, which could be pushed out to dispensers directly or through the mobile device18of a visiting technician. For example, in response to a health department modifying the requirements for the amount of sanitizer to be dispensed when cleaning dishes, an operator could update this parameter in each dispenser within the geographic region governed by the health department. By way of another example, a chemical product distributer that changes the formula of a chemical product could update the dispensers dispensing the chemical product in question by simply updating the configuration file on the database and updating the dispenser as the new chemical product is delivered.

The user may be allowed to modify a configuration file by changing certain parameters. The parameters may be changed, for example, by entering data into a corresponding data entry field524-531. In response to the user activating the apply button, the mobile application may cause any modified parameter values to be updated for the configuration file in question. Activating the save as button560may cause the mobile device18to display a popup window including a configuration name data entry field, a cancel button, and a save button. The user may thereby save a custom configuration file to facilitate loading the parameters defined by the configuration file into multiple dispensers.FIG. 26depicts an exemplary setup from file screen500B that may be displayed in response to the user saving a new dispenser configuration. As can be seen, the setup from file screen500B has an additional configuration button508as compared to the setup from file screen500A before the modified configuration file was saved.

Referring now toFIG. 27, in response to the user activating the advanced setting button375of home dispenser setup screen370, the mobile application may cause the mobile device18to display an advanced settings screen570. The advanced settings screen may include one or more slider buttons572-574for selectively enabling/disabling features, a download detailed data button578, an asset management button580, a cancel button582, and an apply button584.

Activating a slider button572-574may cause the mobile device18to display a dropdown menu with one or more data entry fields. These data entry fields may allow the user to set various parameters for the feature the slider button enables. For example, how often and for how long the dispenser operator is allowed to prime a pump when a permission to prime feature is enabled, price per unit for chemical products being dispensed for use when a cost summary feature is enabled, etc.

Activating the download detailed data button578may cause the mobile device18to display a download data screen that allows the user to selectively download data from the dispenser. For example, the user may be able to download diagnostic data or rack data, and may be able to specify a time period during which the data to be downloaded was generated, e.g., one month, three months, all available data.

Referring now toFIG. 28, activating the asset management button580may cause the mobile device18to display an asset management screen590. The asset management screen590may include a search data entry field592that allows the user to enter search terms, an available sites window594that displays a list of available sites, a cancel button596, and an apply button598. Available sites and their addresses may be determined, for example, by querying the database28for geographic locations where the user's employer maintains dispensers. Selecting an available site from the list of available sites and activating the apply button may cause the mobile device18to transmit data to the database28associating the selected dispenser (e.g., the “Floor3Storage Room” dispenser) with the selected site. The asset management feature may thereby facilitate tracking assets, as well as checking the status of any dispenser within range of the mobile device18or known to the database28.

The asset management feature may associate the serial number of each dispenser to a location where the dispenser was last communicated with by a mobile device18. In this way, the asset management feature may facilitate tracking of dispensers. The location of a dispenser within range of the mobile device18may be determined at least in part based on a distance between the mobile device18and the dispenser, and the geographic location of the mobile device18at the time this distance is determined. As described above, one way this distance may be determined is based on the signal strength of the wireless data link between the mobile device18and dispenser controller12. In cases where the mobile device18uses the Bluetooth wireless protocol to communicate with the dispenser controller12, this distance may be short enough to provide a relatively accurate location for the dispenser controller12. The geographic location of the mobile device18may then be used to identify potential sites in the database28with which the dispenser may be associated.

Referring now toFIG. 29, embodiments of the invention described above, or portions thereof (e.g., the dispenser controller12, dispensing device14, washing machine16, mobile device18, network access point20, network22, computers24-27, or database28) may be implemented using one or more computer devices or systems, such as exemplary computer600. The computer600may include a processor602, a memory604, an input/output (I/O) interface606, and a Human Machine Interface (HMI)608. The computer600may also be operatively coupled to one or more external resources610via the network612or I/O interface606. External resources may include, but are not limited to, servers, databases, mass storage devices, peripheral devices, cloud-based network services, or any other resource that may be used by the computer600.

The processor602may include one or more devices selected from microprocessors, micro-controllers, digital signal processors, microcomputers, central processing units, field programmable gate arrays, programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, or any other devices that manipulate signals (analog or digital) based on operational instructions that are stored in memory604. Memory604may include a single memory device or a plurality of memory devices including, but not limited to, read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, or data storage devices such as a hard drive, optical drive, tape drive, volatile or non-volatile solid state device, or any other device capable of storing data.

The processor602may operate under the control of an operating system614that resides in memory604. The operating system614may manage computer resources so that computer program code embodied as one or more computer software applications, such as an application616residing in memory604, may have instructions executed by the processor602. In an alternative embodiment, the processor602may execute the application616directly, in which case the operating system614may be omitted. One or more data structures618may also reside in memory604, and may be used by the processor602, operating system614, or application616to store or manipulate data.

The I/O interface606may provide a machine interface that operatively couples the processor602to other devices and systems, such as the external resource610or the network612. The application616may thereby work cooperatively with the external resource610or network612by communicating via the I/O interface606to provide the various features, functions, applications, processes, or modules comprising embodiments of the invention. The application616may also have program code that is executed by one or more external resources610, or otherwise rely on functions or signals provided by other system or network components external to the computer600. Indeed, given the nearly endless hardware and software configurations possible, persons having ordinary skill in the art will understand that embodiments of the invention may include applications that are located externally to the computer600, distributed among multiple computers or other external resources610, or provided by computing resources (hardware and software) that are provided as a service over the network612, such as a cloud computing service.

The HMI608may be operatively coupled to the processor602of computer600to allow a user to interact directly with the computer600. The HMI608may include video or alphanumeric displays, a touch screen, a speaker, and any other suitable audio and visual indicators capable of providing data to the user. The HMI608may also include input devices and controls such as an alphanumeric keyboard, a pointing device, keypads, pushbuttons, control knobs, microphones, etc., capable of accepting commands or input from the user and transmitting the entered input to the processor602.

A database620may reside in memory604, and may be used to collect and organize data used by the various systems and modules described herein. The database620may include data and supporting data structures that store and organize the data. In particular, the database620may be arranged with any database organization or structure including, but not limited to, a relational database, a hierarchical database, a network database, or combinations thereof. A database management system in the form of a computer software application executing as instructions on the processor602may be used to access the information or data stored in records of the database620in response to a query, which may be dynamically determined and executed by the operating system614, other applications616, or one or more modules.

The program code embodied in any of the applications/modules described herein is capable of being individually or collectively distributed as a computer program product in a variety of different forms. In particular, the program code may be distributed using a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to carry out aspects of the embodiments of the invention.

Computer-readable storage media, which is inherently non-transitory, may include volatile and non-volatile, and removable and non-removable tangible media implemented in any method or technology for storage of data, such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, portable compact disc read-only memory (CD-ROM), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store data and which can be read by a computer. A computer-readable storage medium should not be construed as transitory signals per se (e.g., radio waves or other propagating electromagnetic waves, electromagnetic waves propagating through a transmission media such as a waveguide, or electrical signals transmitted through a wire). Computer-readable program instructions may be downloaded to a computer, another type of programmable data processing apparatus, or another device from a computer-readable storage medium or to an external computer or external storage device via a network.

Computer-readable program instructions stored in a computer-readable medium may be used to direct a computer, other types of programmable data processing apparatuses, or other devices to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions that implement the functions, acts, or operations specified in the flow-charts, sequence diagrams, or block diagrams. The computer program instructions may be provided to one or more processors of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the one or more processors, cause a series of computations to be performed to implement the functions, acts, or operations specified in the flow-charts, sequence diagrams, or block diagrams.

In certain alternative embodiments, the functions, acts, or operations specified in the flow-charts, sequence diagrams, or block diagrams may be re-ordered, processed serially, or processed concurrently consistent with embodiments of the invention. Moreover, any of the flow-charts, sequence diagrams, or block diagrams may include more or fewer blocks than those illustrated consistent with embodiments of the invention.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include both the singular and plural forms, and the terms “and” and “or” are each intended to include both alternative and conjunctive combinations, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” or “comprising,” when used in this specification, specify the presence of stated features, integers, actions, steps, operations, elements, or components, but do not preclude the presence or addition of one or more other features, integers, actions, steps, operations, elements, components, or groups thereof. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, “comprised of”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”.