Plant control system using voice as a control mechanism

A system and method for controlling processing equipment. The system includes a control computer communicatively coupled to a terminal computer. Voice data for each of several authorized operators at a plant is stored. The control computer is programmed to implement a voice recognition and authenticated voice-activated control program. The control computer, responsive to receiving a voice-derived input, analyzes the voice-derived input to determine if the voice-derived input matches the voice data for any of the authorized operators. Provided the voice-derived input matches the voice data, the control computer determines at least one command from the voice-derived input for controlling the processing equipment to modify an operation at the plant. The control computer executes the command to control the processing equipment.

FIELD

Disclosed embodiments relate to computer systems used with industrial hardware devices and more specifically relate to computer control of processing equipment or material handling equipment involving a tangible material at a plant.

BACKGROUND

Loading terminals and bulk material distribution plants are used to load and distribute a variety of bulk tangible materials. For example, at a petroleum refinery, tank trucks enter a loading terminal to be filled with liquid fuels such as gasoline or diesel fuel for distribution to retail delivery stations. At a fertilizer manufacturing plant, semi-trucks enter a loading terminal to be filled with fertilizer for distribution to wholesale distributors and farms. At a cement plant, semi-trucks enter a loading terminal to be filled with cement for distribution to wholesale distributors and cement plants.

Loading terminals have used process control computers to assist with record keeping and safety checks. For example, after fuel has been dispensed into a tank truck, a computer can print a bill of lading to accompany the shipment that identifies the type and quantity of dispensed product. In a large terminal operation with multiple loading stations, it can be difficult for one or more operators to effectively monitor and control the operations within the plant loading terminal facility.

SUMMARY

Disclosed embodiments include a system for controlling processing equipment or material handling equipment involving a tangible material at a plant. The system includes a control computer communicatively coupled by a communication path to a terminal computer. The control computer includes a processor connected to a storage device that has a non-transitory machine readable storage medium. The storage device stores voice data for each of a plurality of authorized operators at the plant and a voice recognition and authenticated voice-activated control (VR/VAC) program. The control computer is programmed to implement the VR/VAC program. The control computer, responsive to receiving a voice-derived input over a communications path, analyzes the voice-derived input to determine if the voice-derived input matches the voice data for any of the plurality of authorized operators. Provided the voice input matches the voice data, the control computer determines at least one command from the voice-derived input for controlling the processing equipment or the material handling equipment to modify the operation. The control computer executes the command to control the processing equipment or the material handling equipment.

One disclosed embodiment comprises a method for controlling processing equipment or material handling equipment involving a tangible material at a plant. The method includes providing a control system including non-transitory machine readable storage and at least one processor. Voice data for each of a plurality of authorized operators at the plant and an algorithm for voice recognition and authenticated voice-activated control (VR/VAC) of at least one operation at the plant are stored in the machine readable storage. The VR/VAC algorithm is implemented by the processor causing the processor to execute responsive to receiving a voice-derived input over a communications path analyzing of the voice-derived input to determine if the voice-derived input matches the voice data for any of the authorized operators. Provided the voice input matches the voice data, at least one command is determined from the voice-derived input for controlling the processing equipment or the material handling equipment to modify the operation. The command is executed to control the processing equipment or the material handling equipment.

DETAILED DESCRIPTION

Disclosed embodiments are described with reference to the attached figures, wherein like reference numerals are used throughout the figures to designate similar or equivalent elements. The figures are not drawn to scale and they are provided merely to illustrate certain disclosed aspects. Several disclosed aspects are described below with reference to example applications for illustration. It should be understood that numerous specific details, relationships, and methods are set forth to provide a full understanding of the disclosed embodiments.

One having ordinary skill in the relevant art, however, will readily recognize that the subject matter disclosed herein can be practiced without one or more of the specific details or with other methods. In other instances, well-known structures or operations are not shown in detail to avoid obscuring certain aspects. This Disclosure is not limited by the illustrated ordering of acts or events, as some acts may occur in different orders and/or concurrently with other acts or events. Furthermore, not all illustrated acts or events are required to implement a methodology in accordance with the embodiments disclosed herein.

Disclosed embodiments provide a method, system and computer program product for controlling processing equipment or material handling equipment involving a tangible material at a plant. The system includes a control computer communicatively coupled by a communication path to a terminal computer. The control computer includes a processor connected to a storage device that has a non-transitory machine readable storage medium. The storage device stores voice data for each of a plurality of authorized operators at the plant and a voice recognition and authenticated voice-activated control (VR/VAC) program. The control computer is programmed to implement the VR/VAC program. The control computer, responsive to receiving a voice-derived input over a communications path, analyzes the voice-derived input to determine if the voice-derived input matches the voice data for any of the plurality of authorized operators. Provided the voice input matches the voice data, the control computer determines at least one command from the voice-derived input for controlling the processing equipment or the material handling equipment to modify the operation. The control computer executes the command to control the processing equipment or the material handling equipment.

FIG. 1illustrates a block diagram of an example material processing plant100that includes a communication system105. Material processing plant100can be a variety of manufacturing plants that handle and process a tangible material. In one embodiment, material processing plant100can be a petroleum refinery. In another embodiment, material processing plant100can be a grain processing and shipping facility. Material processing plant100has a loading terminal110and a control room136. Trucks180are able to enter the loading terminal110through a gate171in order to load and pickup up tangible materials.

Communication system105allows for communication between various components and subsystems of the material processing plant100. As shown inFIG. 1, communication system105comprises a control computer140that is in communication with one or more terminal computers130via a communication device150and a communication connection or path170.

Loading terminal110comprises several loading stations or bays including bay1112, bay2114and bay3116(collectively bays112-116). Bays112-116are each able to receive a truck180and are able to load truck180independently of the other bays. The operation of each bay is controlled by a bay control device. Bay1112is connected to bay1control devices122. Bay2114is connected to bay2control devices124. Bay3116is connected to bay3control devices126. In one embodiment, bay control devices122-126can be fluid control devices such as pumps, valves, meters and tank sensors. Each of the bay control devices122-126is communicatively coupled to a terminal computer130.

Terminal computer130can transmit instructions and commands to bay control devices122-126and can receive data from bay control devices122-126. For example, the terminal computer130can transmit a command to bay control device122to turn on a pump in order to fill truck180. Terminal computer130is also communicatively coupled to a video display132and a printer134. In one embodiment, video display132is located in a central location where it is visible from each of bays112-116. Video display132can display information such as which bays are empty and which bays are occupied. Printer134can print documents such as bills of lading, receipts and invoices.

Control room136comprises a control computer140, microphone142and communication device150. Control computer140is connected to microphone142. Control computer140can receive voice data that is spoken by an operator into the microphone142. Control computer140is further connected to communication device150. Communication device150provides communication between control computer140and terminal computer130via an electrical cable or communication path170. Electrical cable or communication path170is connected between communication device150and terminal computer130. In one embodiment, communication device150can provide a computer communication interface such as an Ethernet connection. The control computer140can be connected or networked to other target servers. In one embodiment, control computer140can operate in the capacity of a client machine in a client-server network environment.

Communication device150is also connected via a communication path170to microphone144and to gate171. Control computer140can receive voice data that is spoken by a driver of truck180into microphone144via communication path170and communication device150. Control computer140can transmit commands to gate171, such as open gate or close gate, via communication path170and communication device150.

FIG. 2illustrates an example block diagram of control computer140within which a set of instructions224and/or algorithms225can be executed causing the control computer140to perform any one or more of the methods, processes, operations, applications, or methodologies described herein.

Control computer140includes one or more processors202such as a central processing unit (CPU), a graphics processing unit (GPU) or both, a main memory204and a static memory206, which communicate with each other via a system bus208which can represent a data bus and an address bus. Main memory204can store instructions224and/or algorithms225for execution by processor202. The control computer140further includes output devices such as an output devices/video display210and a signal generation device218(e.g., a speaker) which are connected to system bus208. The control computer140also has input devices212such as an alphanumeric input device (e.g., keyboard213), microphone142and a cursor control device214(e.g., a mouse) that are connected to system bus208. A network interface device220is shown connected to an external communication network226to enable communication with the system bus208.

A storage device216, such as a hard drive or solid state drive, is connected to and in communication with the system bus208. The storage device216includes a machine readable medium222on which is stored one or more sets of software such as instructions224and/or algorithms225embodying any one or more of the methodologies or functions described herein. The instructions224and/or algorithms225can also reside, completely or at least partially, within the main memory204and/or within the processor202during execution thereof by the control computer140. The main memory204and the processor202also containing machine readable media. The instructions224and/or algorithms225can further be transmitted or received over network226via the network interface device220.

While the machine readable medium222is shown in an example embodiment to be a single medium, the term “machine readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the computer system and that cause the computer system to perform any one or more of the methodologies shown in the various embodiments of the present invention. The term “machine readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.

With reference toFIG. 3A, example contents of machine readable medium222stored within storage device216are shown. Machine readable medium222can store instructions224and/or algorithms225for execution by processor202. Instructions224can include a voice recognition algorithm or program312and an authenticated voice-activated control (VR/VAC) algorithm or program310. Voice recognition algorithm or program312, when executed by processor202can recognize and decode voice input data from microphones142and144producing voice-derived input325. VR/VAC algorithm or program310, when executed by processor202can authenticate an operator or driver of truck180and determine one or more commands to control processing equipment or material handling equipment such as bay control devices122-126.

An operating system (O/S)320is also stored in machine readable medium222. Operating system (O/S)320manages resources and provides common services for control computer140. Machine readable medium222further can store operator voice input330from operators in control room136and driver voice input335from drivers of trucks180. Machine readable medium222also can store operator voice data340and driver voice data345. Operator voice data340includes data that allows processor202to determine the identity of a specific control room operator based on recognizing the operator's voice. Operator voice data340includes operator A voice identification (ID) data341, operator B voice ID data342and operator C voice ID data343. Driver voice data345includes data that allows processor202to determine the identity of a specific truck driver based on recognizing the truck driver's voice. Driver voice data345includes driver A voice identification (ID) data346, driver B voice ID data347and driver C voice ID data348.

Machine readable medium222further can store spoken voice commands350that are spoken by a control room operator, recognized by voice recognition algorithm or program312and acted upon by authenticated VR/VAC algorithm or program310. Voice commands350include start command352, stop command354, re-start command356, abort command358, authorize load command360, emergency stop command362, driver report to control room command364, de-allocate bay command366, open gate command368, close gate command370, driver not authorized command372, print command374and top up command376.

With reference toFIG. 3B, additional contents of machine readable medium222stored within storage device216are shown. Machine readable medium222can store several privilege levels380. Privilege levels380identify specific voice commands350that each operator or driver is authorized to issue or perform. Certain operators or drivers may be restricted to only issue a limited number of voice commands350. Other operators or drivers may be allowed to issue all of the voice commands350.

Privilege levels380include privilege levels390,394and396. Privilege level390authorizes or permits operator A to issue all voice commands350. Privilege level394restricts operator B to only issue stop command354, abort command358, emergency stop command362and driver report to control room command364. Privilege level396authorizes or permits driver A to only issue open gate command368and close gate command370.

FIGS. 4A-4Bprovide a flow chart showing steps in an example method400for controlling processing equipment or material handling equipment involving a tangible material at material processing plant100. Method400can be implemented via the execution of instructions224and/or algorithms225by processor202within the control computer140. Method400begins at the start block and proceeds to block402where processor202checks or detects if operator voice input330has been received from microphone142.

At decision block404, processor202determines if operator voice input330has been received from microphone142. In response to no operator voice input330being received, processor202continues to determine if operator voice input330has been received at block402. In response to operator voice input330being received, processor202, executing voice recognition program312, determines the identity of the operator (block406). Processor202executing voice recognition program312retrieves operator voice data340and compares the operator voice input330to operator voice identifiers341-343in order to determine the identity of the individual operator. Processor202analyzes the operator voice input330to determine if the voice-derived input matches the operator voice identifiers341-343for any of the authorized operators.

Processor202, executing authenticated voice activated control program310, determines if the identified operator is an authorized operator (block408). In response to the identified operator not being an authorized operator, method400ends. In response to the identified operator being an authorized operator, processor202determines the commands contained within operator voice input330(block410). Processor202retrieves the list of voice command350and compares the received voice-derived input to the list of voice commands350.

At block412, processor202determines if operator voice input330contains one or more voice commands350. In response to the operator voice input330not containing a voice command350, method400ends. In response to the operator voice input330containing at least one voice command350, processor202determines a privilege level380associated with the identified operator (block414). Processor202determines if the identified operator is authorized to issue the identified command (block416). Processor202determines if the identified command is contained within the corresponding privilege level380associated with the identified operator.

In response to the identified operator not having the privilege level (authorization) to issue the identified command, method400ends. In response to the identified operator having the privilege level authorization to issue the identified command, processor202determines if the command is a bay/location specific command (block418). In one embodiment, the voice commands350can be associated with actions at a specific one of bays112-116. In response to the command being a bay/location specific command, processor202identifies the specific one of bays112-112where the voice command350is to be executed (block420). In one embodiment, when the operator provides voice input, the voice input can include a location385such as one of bays112-116. Processor202executing voice recognition program312retrieves locations385and compares the operator voice input330to the locations385in order to determine the specific one of bays112-116.

After block420and also in response to the command not being a bay/location specific command, processor202transmits the identified one of commands350and the specific location385to terminal computer130via communication path170(block422). Processor202triggers terminal computer130to execute the identified voice command350at the specific identified location385(block424). Terminal computer130causes at least one of bay control devices122-126to execute the identified voice command.

After a pre-determined time period, processor202receives data from terminal computer130indicating the execution status of the issued voice command (block426). At block428, processor202determines if the voice command has been successfully executed. In response to the voice command being successfully executed, method400terminates. In response to the voice command not being successfully executed, processor202issues a warning to the operator (block430) that the voice command was not executed via output devices/video display210. Method400then ends.

FIG. 5is a flow chart showing steps in an example method500for controlling access to material processing plant100using voice data. Method500can be implemented via the execution of instructions224and/or algorithms225by processor202within the control computer140. Method500begins at the start block and proceeds to block502where processor202checks or detects if driver voice input335has been received from microphone144.

At decision block504, processor202determines if driver voice input335has been received from microphone144. In response to no driver voice input335being received, processor202continues to determine if driver voice input335has been received at block502. In response to driver voice input335being received, processor202, executing voice recognition program312, determines the identity of the driver (block506). Processor202executing voice recognition program312retrieves driver voice data345and compares the driver voice input335to driver voice identifiers346-348in order to determine the identity of the individual driver. Processor202analyzes the driver voice input335to determine if the voice-derived input matches the driver voice identifiers346-348for any of the authorized drivers.

Processor202, executing authenticated voice activated control program310, determines if the identified driver is an authorized driver (block508) who is allowed access to material processing plant100. In response to the identified driver not being an authorized driver, processor202triggers gate171to close or remain closed (block512). Method500then terminates. In response to the identified driver being an authorized driver, processor202triggers gate171to open (block510). Method500then ends.

While disclosed embodiments are described herein with voice control being implemented solely by the control computer140, disclosed embodiments also include performing voice control implemented via the execution of disclosed instructions and/or algorithms by the terminal computer130.

While various disclosed embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Numerous changes to the subject matter disclosed herein can be made in accordance with this Disclosure without departing from the spirit or scope of this Disclosure. In addition, while a particular feature may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.

As will be appreciated by one skilled in the art, the subject matter disclosed herein may be embodied as a system, method or computer program product. Accordingly, this Disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, this Disclosure may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium.