Aspects of the present disclosure generally relate to positive displacement pumps and systems for monitoring and controlling such pumps.
Fluid handling apparatuses such as positive displacement pumps are used in various environments to supply fluids at set rates. Positive displacement pumps are often used due to their precision and durability. For example, positive displacement pumps may operate unattended for continuous laboratory or manufacturing processes.
Although positive displacement pumps can operate for long periods of time without malfunctioning, errors can occur. Although current pumps may monitor operation and report detected issues, control is conventionally performed locally.
Accordingly, there remains an unmet need in the related art for positive displacement pumps and systems and methods of control thereof that allow secure remote operation.
The following presents a simplified summary of one or more aspects of the present disclosure in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects, nor delineate the scope of any or all aspects. Its purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
In an aspect, the present disclosure provides for positive displacement pumps and methods and systems for remotely controlling such positive displacement pumps via a network. An application server receives, from a registered user, a selection of an operation program for the positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump. The application server transmits the program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub. The application server stores a record of the control commands associated with the registered user. The application server receives operation parameters from the positive displacement pump and stores the operation parameters in association with the registered user. The application server evaluates the operation parameters according to defined conditions. The application server transmits an alert to a registered user.
In another aspect, the present disclosure provides a positive displacement pump. The positive displacement pump may include a pumphead, a motor operably connected to the pumphead to drive the pump, a liquid leak sensor configured to detect leakage from the pumphead or tube installed therein, a memory, a network interface, a processor in communication with the memory and the network interface. The processor may be configured to subscribe, via the network interface, to a command hub that publishes commands for the pump. The processor may be configured to control the motor to drive the pumphead according to commands received from the command hub via the network interface. The processor may be configured to collect operation parameters from the motor and a liquid leak sensor. The processor may be configured to send the operation parameters to a remote server via the network interface.
In another aspect, the disclosure provides a system of controlling a positive displacement pump via a network. The system may include a positive displacement pump that includes a pumphead, a motor operably connected to the pumphead to drive the pump, and a liquid leak sensor configured to detect leakage from the pumphead or tube installed therein. The system may include a server comprising a memory, a network interface, and a processor in communication with the memory and the network interface. The processor may be configured to receive, from a registered user, a selection of an operation program for the positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump. The processor may be configured to transmit the program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub. The processor may be configured to store (e.g., in a data repository) a record of the control commands associated with the registered user. The processor may be configured to receive operation parameters from the positive displacement pump and store the operation parameters in association with the registered user. The processor may be configured to evaluate the operation parameters according to defined conditions to determine whether an alert condition has occurred. The processor may be configured to transmit an alert to the registered user or another registered user.
These and other aspects of the present disclosure will become more fully understood upon a review of the detailed description, which follows.
The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known components are shown in block diagram form in order to avoid obscuring such concepts.
In an aspect, the disclosure provides for a positive displacement pump and network system for controlling one or more positive displacement pumps via a remote application. The network system may be implemented using a cloud architecture that provides for geographic diversity for access speed and redundancy, for example. The network system may provide real-time monitoring and control of the positive displacement pumps.
The positive displacement pump 110 may be a positive displacement pump including the communications hardware (e.g., network interface) and software described herein for providing remote control of the positive displacement pump 110. In an aspect, the positive displacement pump 110 may operate in either a local mode, in which a local user interface is used to control operation of the positive displacement pump 110, or a remote mode, in which commands received via a network interface are used to control operation of the positive displacement pump 110.
The term “positive displacement pump” as used herein describes a category of fluid pumps that trap a fixed amount of fluid and force the trapped fluid to a discharge pipe. Positive displacement pumps are conventionally used in processes that require precise measurement or dosing of fluid. Positive displacement pumps may be driven by an electric motor under the control of a controller (e.g., electronic control unit (ECU) and/or other processor) that moves fluid at a desired rate. In an aspect, a positive displacement pump may include a detachable pumphead that includes a casing and fluid contacting components of the positive displacement pump. The pumphead may be driven by the motor via a magnetic coupling, for example. The positive displacement pump may be fitted with a different pumphead, depending on the desired operation. For example, in an aspect, a positive displacement pump may include a housing including the drive motor, controller, and user interfaces, and a detachable pumphead may be fitted in or on the housing. The selection of different pumpheads may configure the positive displacement pump 110 as, for example, one of a peristaltic pump, gear pump, or diaphragm pump.
The user device 120 may include various computing devices that may be used to access an application via a web interface. For example, the user device 120 may be or include any mobile or fixed computer device, including but not limited to a desktop or laptop or tablet computer, a cellular telephone, a gaming device, a mixed reality or virtual reality device, a music device, a television, a navigation system, a camera, a personal digital assistant (PDA), a handheld device, or any other suitable computer device having wired and/or wireless connection capability with one or more other devices. The user device 120 may include a processor that executes an operating system and one or more applications. In an aspect, the user device 120 may execute a dedicated application for providing a user interface to the pump control application server 150. In another aspect, the user device 120 may execute a web browser application to access a webpage providing a user interface to the pump control application server 150. In an aspect, the user device 120 may be configured for secure communication with the application server 150. For example, the user device 120 may install a certificate of the application server 150 allowing device verification and encrypted communications.
The communication network 130 may be or include a computer network that allows communication among various devices. For example, the communication network 130 may include the Internet and may transmit data packets according to the Internet protocol. As illustrated, the communication network 130 may include the command server 140, application server 150, and database server 160. In an aspect, the command server 140, application server 150, and database server 160 may be implemented using a cloud architecture. For example, the command server 140, application server 150, and database server 160 may each be implemented as a virtual server to be provided by a cloud services provider. The cloud service provider may generate instances of the virtual servers using geographically dispersed computing hardware. A cloud architecture may provide scalability, load balancing, stability against network interruptions, and redundancy of stored data, among other features. It should be appreciated that the command server 140, application server 150, and database server 160 may also be implemented using conventional computer servers configured to execute the programs described herein.
The command server 140 may include one or more computer servers configured to publish commands to one or more positive displacement pumps 110. In an aspect, the command server 140 may use a publish-subscribe based messaging protocol. For example, the command server 140 may use Message Queuing Telemetry Transport (MQTT) protocol. In an aspect, the use of a publish-subscribe based messaging protocol may provide security by having the positive displacement pumps 110 establish a connection to a known server, rather than accepting a connection from potentially different sources.
The command server 140 may publish commands to control the positive displacement pumps 110. The control may include commands for the positive displacement pump 110 to provide information. The commands may be associated with a command string or topic, which may include an identifier (id) of the positive displacement pump 110 that should execute the command. The id may be, for example, a media access control (MAC) address of the positive displacement pump 110. The commands may also include one or more parameters for executing the command. Table 1, below, includes a listing of example commands that may be used with a positive displacement pump 110.
The command server 140 may implement a program for a positive displacement pump 110 by publishing commands. For example, the command server 140 may receive a selection of a program from the application server 150. The selected program may include a series of commands and parameters. The command server 140 may publish the commands at the appropriate time to control the positive displacement pump 110 to operate according to the program. Additionally, the command server 140 may receive feedback from the positive displacement pump 110 (e.g., in response to a Get command). The command server 140 may evaluate conditions based on the feedback for executing the program. In an aspect, the command server 140 may be implemented as a remote server that provides commands for multiple positive displacement pumps 110, which may be owned by different organizations, for example. In another aspect, a local command server may be implemented (e.g., by an organization) to allow control of local positive displacement pumps 110. For example, a command server 140 may be implemented on a user device 120 and communicate via a local area network (LAN) or other short-range communication protocol.
Application server 150 may include one or more computer servers configured to provide a user interface accessible via a user device 120. The application server 150 may communicate with dedicated applications executing on user devices 120 or may provide a web-based interface accessible via a web browser, for example. As described in further detail below, in one or more example implementations, the user interface provided by the application server may allow a user to configure one or more positive displacement pumps for operation. The application server 150 may also perform monitoring of the positive displacement pumps 110 and provide alerts to the user devices 120. The user interface may allow the user device 120 to configure which alerts to receive and how the alerts are received (e.g., via application notification, text, or email).
Database server 160 may store information collected from one or more positive displacement pumps 110 via the command server 140. The database server 160 may provide data security and integrity protection, for example. In an aspect, the database server 160 may collect and store data that may be reported to regulatory agencies, for example, as evidence of laboratory processes. The database server 160 may provide data security using secure socket layer (SSL) certificates to encrypt data between the pumps 110 and the database server 160. Additionally, access to the database server 160, as well as the application server 150 and command server 140, may be controlled using authenticated user names and passwords, for example. Actions on any of the servers may be attributed to a specific user. The database server 160 may generate an audit trail indicating which users performed actions at which time. Further, because the pumps 110 may be operated in either local mode or remote mode, the database server 160 may track actions taken in local mode even if a registered user is not identified. For example, the actions performed in local mode may therefore be attributed to a local user.
The database server 160 may segregate data of multiple customers. For example, a customer (e.g., a laboratory, corporation, or other entity), may have access only to data associated with devices belonging to the customer. A customer may designate multiple registered users (e.g., employees), who may access data based on user role. For example, the database server 160 may allow access to users based on a security level. For instance, an administrator may be able to configure database storage, export data, annotate data, and generate audit reports, while a regular user may only be able to read or export data. Additionally, a system administrator may not be associated with any customer and may at least read any data.
The pumphead 222 may include a mechanism for pumping fluid. In an aspect, the positive displacement pump 110 may use a pumphead that allows precise monitoring of the fluid being pumped (e.g., volume pumped). Example pumpheads may include a peristaltic pumphead, a quaternary diaphragm pumphead, and/or a gear pumphead. The pumphead 222 may be connected to a liquid supply 224 via an inlet tube 226. The pumphead 222 may pump the fluid to the outlet tube 228. In an aspect, for example, using a peristaltic pump, the inlet tube 226 and the outlet tube 228 may be or include a continuous tube extending through the pumphead 222.
The case 230 may include electronic components of the positive displacement pump 110. For example, the case 230 may include a network interface 232, a local user interface 234, a drive motor 240, a processor 250, a memory 252, and a leak sensor 254. Further, the memory 252 may store instructions executable by the processor 250 for implementing a pump controller 260, which may include a motor controller 262, a command module 264, and a reporting module 266.
The network interface 232 may include a wired or wireless network interface for transmitting and receiving data packets. In an aspect, the network interface 232, for example, may utilize transmission control protocol/Internet protocol (TCP/IP) packets that may carry commands, parameters, or data. For example, the network interface 232 may receive MQTT messages including the commands listed in Table 1 above. The network interface 232 may forward commands to the processor 250 for processing by the pump controller 260. Conversely, the network interface 232 may receive data generated by the pump controller 260 from the processor 250 and transmit the data to the command server 140.
The local user interface 234 may include any suitable controls provided on the positive displacement pump 110 for controlling the positive displacement pump 110. In an aspect, the local user interface 234 may include a display screen that presents menus for selecting commands similar to the commands transmitted by the command server 140. In another aspect, the local user interface 234 may include dedicated buttons and/or other selection features that perform specific commands. For example, the local user interface 234 may include a button for selection to start/stop pumping. The local user interface 234 may generate commands to the processor 250 for processing by the pump controller 260. As noted above, the positive displacement pump 110 may operate in a remote mode in which the local user interface 234 is at least partially disabled to prevent local input.
The drive motor 240 may be or include an electric motor that provides a force for pumping the fluid. In an aspect, the drive motor 240 may be magnetically coupled to the pumphead 222 to drive the pumphead 222. The drive motor 240 may be controlled by the pump controller 260. For example, the pump controller 260 may generate a control signal indicating a speed and direction of the drive motor 240 based on received commands.
The processor 250 may include one or more processors for executing instructions. An example of processor 250 may include, but is not limited to, any suitable processor specially programmed as described herein, including a controller, microcontroller, application specific integrated circuit (ASIC), field programmable gate array (FPGA), system on chip (SoC), or other programmable logic or state machine. The processor 250 may include other processing components, such as an arithmetic logic unit (ALU), registers, and a control unit. The processor 250 may include multiple cores and may be able to process different sets of instructions and/or data concurrently using the multiple cores to execute multiple threads, for example.
Memory 252 may be configured for storing data and/or computer-executable instructions defining and/or associated with the pump controller 260, and processor 250 may execute such instructions with regard to operation of the pump controller 260. Memory 252 may represent one or more hardware memory devices accessible to processor 250. An example of memory 252 can include, but is not limited to, a type of memory usable by a computer, such as random access memory (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory, and any combination thereof. Memory 252 may store local versions of a pump controller application being executed by processor 250, for example.
Leak sensor 254 may be or include a hardware leak sensor that detects whether liquid is leaking within or from the positive displacement pump 110. For example, a leak may occur when a component of the wet end 220 fails or becomes detached. For example, either the inlet tube 226 or the outlet tube 228 may rupture or become detached from the pumphead 222. In an aspect, the leak sensor 254 may include an electronic mesh that forms a circuit when liquid is present. The leak sensor 254 may be coupled to the processor 250, which may generate a stop command to stop operation of the positive displacement pump 110 in response to the leak sensor 254 detecting a leak. Stopping the positive displacement pump 110 may prevent damage to the pump and waste of a fluid, for example. Further, a notification of the leak may be used to abort or modify a process using the positive displacement pump 110.
The pump controller 260 may control operation of the positive displacement pump 110 based on commands received from either the network interface 232 or the local user interface 234, for example. The pump controller 260 may include a motor controller 262 for controlling operation of the drive motor 240, a command module 264 for interpreting and executing received commands, and/or a reporting module 266 for monitoring pump operation and reporting data regarding the positive displacement pump 110.
As noted above, the application server 150 may be implemented using a computer server or a virtual server implemented using cloud resources, for example. In either case, the application server may be implemented on computer hardware including, for example, a processor 310, memory 312, and network interface 314, each of which may have similar hardware components to those described above.
The customer management system 320 may define a customer profile 330 for each customer organization. The customer profile 330 may include a number of registered users 332, which may include an owner, administrator, and staff, for example. The owner may be an account owner that retains all access privileges for the customer. An administrator may have the ability to configure pumps and select programs for operating the pumps. Staff may be limited to receiving alerts regarding pumps and obtaining data regarding the pumps or have only other limited permissions, for example.
The customer profile 330 may also include a number of pump profiles 334 associated with the customer. The customer may, for example, use a user device 120 to register each positive displacement pump 110 and create a corresponding pump profile 334. The pump profile 334 may then be accessed by the users 332. The pump profile may include one or more identifiers, a current control mode (e.g., remote or local), and a current status (e.g., on-off and/or current operation parameters), for example.
The customer profile 330 may also include a database module 336 that provides access to the database server 160. For example, the database module 336 may provide a user interface that allows a user 332 to generate various reports regarding the pump profiles 334. As another example, the database module 336 may include an audit tool 360 that allows a user to inspect an audit trail for data in the database server 160.
Among other things, the customer profile 330 may also include a notification module 338 that allows a customer to configure notifications or alerts to be received by users 332. The notification module 338 may allow a selection of an alert type (e.g., text, email, application notification) for each user, and selection of one or more predefined alert conditions (e.g., leak detected, change in flow rate, motor temperature, pump offline, dispense on, dispense off, pump head open, aux input open, aux input closed).
The customer profile 330 may also include a program module 340 that allows a customer to configure a program for controlling a positive displacement pump 110, for example. The program module 340 may allow the user to select a predefined program for a pump model and enter parameters for the predefined program. In an aspect, a user may upload a program to be included in the predefined programs.
The customer management system 320 may also include a pump management module 350. The pump management module 350 may be hidden from direct user interaction, for example, but may be used by a system administrator to manage different pump models. For example, the pump management module 350 may include programs 352, which are predefined for each pump model. The programs 352 may include commands that may be executed by a particular model of pump.
The pump management module 350 may also include a prediction module 354 for each pump model that is configured to predict when a failure is likely to occur for the particular pump model based on a current configuration of the pump. In an aspect, the prediction module 354 may collect pump data via one or more of the application server 150, command server 140, or database server 160. The data may, for example, include user entered data, such as a physical pump configuration including selected pumphead, selected tubing properties (e.g., formulation and size), fluid formulation, and/or other properties, based on choices made by the user. The data may also include pump operating parameters that may be detected and reported by the positive displacement pump 110, such as rotation speed, rotation direction, and number of compressions. The prediction module 354 may compare, for example, the current configuration and operating parameters of a specific pump to historical failure information for the same or similar model of pump or pump component (e.g., tubing) to predict a likelihood of failure or a component lifetime to prevent failure. For example, in a peristaltic pump, the prediction module 354 may determine an average time to failure or average number of cycles to failure for the tubing used in the current configuration. The prediction module 354 may then predict a likely time of failure under the current configuration. The prediction module 354 may provide (or may be selected to provide) a notification to the users 332 prior to the predicted likely time of failure.
In an aspect, the prediction module 354 may use data collected in database server 160 to determine the average likelihood of failure over a given time frame or likely length of a component lifetime, which may be used to prevent or reduce likelihood of failure. In another aspect, the prediction module 354 may use historical information of a component manufacturer or specifications provided by a component manufacturer, alone, or in combination with the data collected in database server 160.
In another aspect, the user interface 400 may include a program selection button 450. When a user selects the program selection button 450, the user interface 400 may present a list of programs available for the positive displacement pump 110. The user may select a program from the list. When the program is selected, the user interface 400 may update to display the operating parameters of the selected program. The user may start the program by selecting the start button 440.
The user interface 400 may include a data record button 460 providing an option regarding control of data generated by the positive displacement pump 110. For example, the user interface may allow a user to determine whether the data is copied to the data server 160.
In block 610, the method 600 may include receiving, such as from a registered user, a selection of an operation program for a positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump. In an aspect, for example, as shown in
In block 620, the method 600 may include sending the operation program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub. In an aspect, for example, as shown in
In block 630, the method 600 may include storing a record of the control commands associated with the registered user. In an aspect, for example, as shown in
In block 640, the method 600 may include receiving operation parameters from the positive displacement pump and storing the operation parameters in association with the registered user. In an aspect, for example, as shown in
In block 650, the method 600 may include evaluating the operation parameters according to defined conditions to determine whether an alert condition has occurred. In an aspect, for example, as shown in
In block 660, the method 600 may include transmitting an alert to the registered user or another registered user. In an aspect, for example, as shown in
In block 670, the method 600 may optionally include receiving an indication that a leak has been detected at the positive displacement pump. For example, as shown in
In block 680, the method 600 may optionally include generating an audit report including the record of the control commands and associated registered user. For example, as shown in
Aspects of the present disclosure may be implemented using hardware, software, or a combination thereof and may be implemented in one or more computer systems or other processing systems. In one aspect, the disclosure is directed toward one or more computer systems capable of carrying out the functionality described herein.
Computer system 700 includes one or more processors, such as processor 704. The processor 704 is connected to a communication infrastructure 706 (e.g., a communications bus, cross-over bar, or network). Various software aspects are described in terms of this example computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement aspects of the disclosure using other computer systems and/or architectures.
Computer system 700 may include a display interface 702 that forwards graphics, text, and other data from the communication infrastructure 706 (or from a frame buffer not shown) for display on a display unit 730. Computer system 700 also includes a main memory 708, preferably random access memory (RAM), and may also include a secondary memory 710. The secondary memory 710 may include, for example, a hard disk drive 712 and/or a removable storage drive 714, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 714 reads from and/or writes to a removable storage unit 718 in a well-known manner. Removable storage unit 718, represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive 714. As will be appreciated, the removable storage unit 718 includes a computer usable storage medium having stored therein computer software and/or data.
In alternative aspects, secondary memory 710 may include other similar devices for allowing computer programs or other instructions to be loaded into computer system 700. Such devices may include, for example, a removable storage unit 722 and an interface 720. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units 722 and interfaces 720, which allow software and data to be transferred from the removable storage unit 722 to computer system 700.
Computer system 700 may also include a communications interface 724. Communications interface 724 allows software and data to be transferred between computer system 700 and external devices. Examples of communications interface 724 may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface 724 are in the form of signals 728, which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 724. These signals 728 are provided to communications interface 724 via a communications path (e.g., channel) 726. This path 726 carries signals 728 and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and/or other communications channels. In this document, the terms “computer program medium” and “computer usable medium” are used to refer generally to media such as a removable storage drive 780, a hard disk installed in hard disk drive 770, and signals 728. These computer program products provide software to the computer system 700. Aspects of the disclosure are directed to such computer program products.
Computer programs (also referred to as computer control logic) are stored in main memory 708 and/or secondary memory 710. Computer programs may also be received via communications interface 724. Such computer programs, when executed, enable the computer system 700 to perform various features in accordance with aspects of the present disclosure, as discussed herein. In particular, the computer programs, when executed, enable the processor 704 to perform such features. Accordingly, such computer programs represent controllers of the computer system 700.
In variations where aspects of the disclosure are implemented using software, the software may be stored in a computer program product and loaded into computer system 700 using removable storage drive 714, hard disk drive 712, or communications interface 720. The control logic (software), when executed by the processor 704, causes the processor 704 to perform the functions in accordance with aspects of the disclosure as described herein. In another variation, aspects are implemented primarily in hardware using, for example, hardware components, such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
In yet another example variation, aspects of the disclosure are implemented using a combination of both hardware and software.
The aspects of the disclosure discussed herein may also be described and implemented in the context of computer-readable storage medium storing computer-executable instructions. Computer-readable storage media includes computer storage media and communication media. For example, flash memory drives, digital versatile discs (DVDs), compact discs (CDs), floppy disks, and tape cassettes. Computer-readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, modules or other data.
This written description uses examples to disclose aspects of the present disclosure, including the preferred embodiments, and also to enable any person skilled in the art to practice the aspects thereof, including making and using any devices or systems and performing any incorporated methods. The patentable scope of these aspects is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims. Aspects from the various embodiments described, as well as other known equivalents for each such aspect, can be mixed and matched by one of ordinary skill in the art to construct additional embodiments and techniques in accordance with principles of this application.
This application claims priority to U.S. Provisional Application No. 62/650,724 titled “NETWORK MONITORING AND CONTROL OF FLUID HANDLING APPARATUS,” filed Mar. 30, 2018, which is assigned to the assignee hereof, and incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62650724 | Mar 2018 | US |