The present invention relates to metal cladding, and more particularly to a system and method for high-speed robotic cladding of metal.
Cladding or coating refers to a process where a metal, corrosion resistant alloy or composite (the cladding material) is bonded electrically, mechanically or through some other high pressure and temperature process onto another dissimilar metal (the substrate) to enhance its durability, strength or appearance. The majority of clad products made today use carbon steel as the substrate and aluminum, nickel, nickel alloys, copper, copper alloys and stainless steel as the clad materials to be bonded. Typically, the purpose of the clad is to protect the underlying steel substrate from the environment it resides in. Cladded steel plate, sheet, pipe, and other tubular products are often used in highly corrosive or stressful environments where other coating methods cannot prevail.
Cladding of low alloy steels is a complex process which generally requires total control of the welding process and total situation awareness. During the cladding process, power is fed through cables attached to a rotary table, and cladding is performed with a wire, shielding gas or flux by building up multiple beads. Typically, an operator must monitor the welding head voltage, amperage, and bead profile during the cladding process.
The current cost of clad steel limits its use in a variety of applications and industries, as the cost of clad steel for high corrosion application is about five times the cost of carbon steel. The primary buyers of cladded steel products today are the petroleum (oil, gas, and petrochemical), chemical, marine exploration, mining, shipping, desalination and nuclear industries.
In the prior art, there are a number of processes for performing metal cladding, including Metal Inert Gas (MIG) welding, Tungsten Inert Gas (TIG) welding, strip welding, electro slag, and plasma spray. Selecting the best depends on many parameters such as size, metallurgy of the substrate, adaptability of the coating material to the technique intended, level of adhesion required, and availability and cost of the equipment. Typically the final use environment often determines the clad materials to be combined, the thickness and number of layers applied. The cladding may be applied to the inside, outside or both sides of a substrate depending upon which surface(s) needs to be protected.
Generally speaking, these cladding processes tend to be slow, and costly due to consumables, labour and other costs. For example, with MIG welding, strip welding, and electro slag, the operator is compelled to stop the machine and clean it between each pass. Unless such is performed after each weld pass, there is increased risk lack of fusion, and defects. As an illustrative example, a prior art process for cladding a Cr—Mo steel tube sheet is performed at a welding speed between 5 inches/minute and 9 inches/minute in a semi-automatic process with the welding head attached to a 2-axis positioner. This prior art process is slow and an expensive way to produce cladding, as it limits the work to one position and causes high levels of unnecessary labour, and high levels of UV rays are given off while the machine is working.
The plasma spray process uses a 5 kW transverse flowing CO2 laser, which is used for cladding a Co base alloy. Powder is pre-placed on the substrates which add to the cost, and the cladding results show a cladding microstructure with close texture and small size grain. However, plasma spray emits high levels of infrared and ultraviolet radiation, including noise during operation, necessitating special protection devices for operators. In addition, plasma spray may have an increased chance of electrical hazards, require significant operator training, and have higher equipment costs and inert gas consumption. Furthermore, with all welding processes, there may be dangerous fumes given off during the welding process.
Another technique is laser cladding, which uses a laser heat source to deposit a thin layer of a desired metal on a moving substrate. The deposited material can be transferred to the substrate by several methods: powder injection, pre-placed powder on the substrate, or by wire feeding. The process has some significant drawbacks, such as high investment costs, low efficiency of the laser sources, and lack of control over the cladding process, poor reproducibility attributable to the small changes in the operating parameters such as laser power, beam velocity and powder feed rate.
The common denominator of these clad production methods is that they are slow and expensive. Buyers need to weigh the advantages of cladded steel over other corrosion materials and faster production processes (from other inorganic metal finishing processes like fusion bond (FBE) epoxies, galvanizing and chromate and zinc priming) in their purchasing decisions.
It is thus an object of the present invention to mitigate or obviate at least one of the above-mentioned disadvantages.
In one of its aspects, there is provided a method of cladding a metal using a programmable robotic welding torch having a leader wire and a trailer wire, the method comprising the steps of:
In another of its aspects, there is provided a method of controlling a robot tool to perform a weaving action for producing a weld on a metal with a torch having at least two wires, the method comprising the steps of:
In another of its aspects, there is provided a metal cladding process using an automated welding tool, the tool comprising at least one torch for receiving two weld wires to produce a molten pool on the metal, the process having the steps of:
Advantageously, coating results in deposition of a thin layer of material (e.g., metals and ceramics) onto the surface of a selected material. This changes the surface properties of the substrate to those of the deposited material. The substrate becomes a composite material exhibiting properties generally not achievable through the use of the substrate material alone. The coating provides a durable, corrosion-resistant layer, and the core material provides the load bearing capability. A number of different types of metals, such as chromium, titanium, nickel, copper, and cadmium, can be used in the metallic coating process.
Advantageously, as flux is not needed in the welding process, it is possible to weld continually to complete a metal cladding job without stoppage. When using flux core electrode wire, a gaseous cloud is produced and some of the flux ends up in the molten weld pool and gathers up impurities from the slag which covers the weld as it cools. Accordingly, constant cleaning and vigilance is required to maintain the weld area free of slag and other contaminants, which when left uncleaned would affect the weld strength or the integrity of the weld. Therefore, unlike prior art welding systems and methods, the present invention consumes less quantities of energy, materials and pollution, thereby substantially minimizes the impact on the environment. In addition, the steps of cleaning flux and slag is obviated thus resulting in significantly reduced labour. In addition, the cladding process in one aspect of the invention is fully automated, such that human operators do not have to be positioned near high UV ray discharges and toxic fumes given off by the welding arc, thus making the process safer than prior art systems.
In another of its aspects, there is provided a non-transitory machine readable medium comprising instructions executable by a processor to cause the processor to: control the travel speed of the welding tool, the wire feed speed, and the weaving pattern to minimize lack of fusion problems that may result at the toe of a weld bead when the travel speed of the welding tool is increased.
In another aspect, the work piece may be cladded in a stable non-rotatiing state, which eliminates with the grounding problems caused by turning the work piece during cladding. Accordingly, a workpiece may be continuously clad without excessive stopping and higher speeds than in prior art systems. Advantageously, the high speeds keep the inter-pass temperatures and heat input to a minimum. The resulting grain structure in the metal is better than MIG, TIG, strip, and less electro slag is produced due to the low heat input. More particularly, the metal cladding process disclosed herein employs a welding tool travelling and welding at significantly increased speeds, and in which the consumable wire feed speed is increased correspondingly to produce a molten pool.
Several preferred embodiments of the present invention will now be described, by way of example only, with reference to the appended drawings in which:
a depicts a schematic diagram of an apparatus for performing a gas metal arc welding (GMAW) pulse-time synchronized twin-arc tandem process, in one embodiment;
b shows exemplary steps for an arc welding (GMAW) pulse-time synchronized twin-arc tandem process;
a depicts a novel welding tool oscillation pattern in accordance with an embodiment;
b depicts the results of using the welding tool oscillation pattern of
a depicts a schematic diagram of a high-speed robotic welding tool used to form cladding beads on a base metal in accordance with an embodiment;
b and 3c show the results of using the high-speed robotic welding tool of
a depicts an exemplary work cell; and
b depicts an exemplary work cell in another embodiment.
The detailed description of exemplary embodiments of the invention herein makes reference to the accompanying block diagrams and schematic diagrams, which show the exemplary embodiment by way of illustration and its best mode. While these exemplary embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, it should be understood that other embodiments may be realized and that logical and mechanical changes may be made without departing from the spirit and scope of the invention. Thus, the detailed description herein is presented for purposes of illustration only and not of limitation. For example, the steps recited in any of the method or process descriptions may be executed in any order and are not limited to the order presented.
Moreover, it should be appreciated that the particular implementations shown and described herein are illustrative of the invention and its best mode and are not intended to otherwise limit the scope of the present invention in any way. Indeed, for the sake of brevity, certain sub-components of the individual operating components, conventional data networking, application development and other functional aspects of the systems may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent exemplary functional relationships and/or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in a practical system.
The present invention may also be described herein in terms of screen shots and flowcharts, optional selections and various processing steps. Such functional blocks may be realized by any number of hardware and/or software components configured to perform to specified functions. For example, the present invention may employ various integrated circuit components (e.g., memory elements, processing elements, logic elements, look-up tables, and the like), which may carry out a variety of functions under the control of one or more microprocessors or other control devices. Similarly, the software elements of the present invention may be implemented with any, programming or scripting language such as C, C++, Java, assembler, PERL, extensible markup language (XML), smart card technologies with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements. Further, it should be noted that the present invention may employ any number of conventional techniques for data transmission, signaling, data processing, network control, and the like.
For the purposes of the present disclosure, the high-speed process for cladding metals using a robotic system will hereinafter be generally referred to as High Speed Robotic Cladding (“HSRC”). HSRC incorporates an automatic Gas Metal Arc Welding (GMAW) pulse-time synchronized twin-arc tandem process, which may be performed by an exemplary system 100 as illustrated in
Looking at
As will be explained in more detail below, system 100 uses the tandem welding torch 102 to produce a molten pool while cladding at high-speed, while producing desired welding beads with predetermined characteristics, and with minimal defects. The solid electrode wires 104, 106 are electrically isolated from each other, and are positioned in line, one behind the other, in the direction of welding. Accordingly, one electrode wire 104 is designated the lead wire or leader, while the other electrode wire 106 is designated the trail wire or trailer. The two contact tips 122, 124 are contained within a common torch body 130, surrounded by a common gas nozzle to provide the shielding gas. The two contact tips 122, 124 are angled in such a way that during welding, the two wires 104, 106 produce dual arcs which both contribute to a single molten puddle 132. As will be described below, the lead wire 104 controls one side of the bead while the trail wire 106 controls the other side of the bead, to produce a consistent bead.
The synchronization system 121 synchronizes the pulse frequency of the power delivered by the two power supplies 108 and 109, and ultimately to the electrode wires 104, 106. Pulse synchronization stabilizes the arcs by reducing interference between the two welding circuits and optimizes the penetration and geometry of the cladding. In addition, the synchronized pulse current minimizes spatter and potential arc blow problems.
The tandem wires 104, 106 may be setup on spools to provide a continuous supply of wire. For example, for electrode wire 104, a first wire feeder 116 is used to pull the wire 104 out of the wire spool 112 or drum through the robot wip. A second wire feeder 117 is used to minimize resistance or drag on the wire 104 and maintain a predetermined feed rate, and without damaging the wire 104. In one embodiment, the second wire feeder 117 is located adjacent to the torch 102. Correspondingly, the electrode wire 106 is drawn from wire spool 113 by the first wire feeder 118, and a second wire feeder 119 located adjacent to the torch 102 is used to minimize resistance or drag on the wire 106 and maintain a predetermined feed rate. When the feed rate is properly controlled at an optimal feed rate, the resulting bead includes substantially straight edges, as shown in
The robotic system 110 may be a Fanuc R-J3 robot 110 available from Fanuc, Japan. The robot controller 111 runs the programming and relays instructions to and from the robot 110, and to the welding apparatus 101. The controller 111 may an Allen Bradley PLC, available from Allen Bradley, U.S.A. Welding parameters are set at the power sources 108, 109 via digital communication from either a programmable logic controller (PLC) associated with a work cell or by a robot controller 111. The programs may be modified to maintain the welding process within suitable operating parameters. The welding operator programs the robot controller 111 with the instructions required for a given welding procedure. The robot 110 carries out the commands set by the program to perform the operations of the welding process, such as the weaving patterns. In one exemplary embodiment, the robotic system 100 does not require a positioner to move the part 120 when commanded by the program, as is common in prior art systems. Instead, the torch 102 moves about a stationary part or work piece 120, as will be described later.
Motoman robot/
Table A below shows exemplary parameters that may be programmed for use in a GMAW pulse-time synchronized twin-arc tandem process, using the system 100. For example, instructions for a welding program may be input via a user interface associated with the power supplies 108, 109. The user interface allows the input of a plurality of parameters pertaining to the welding process, power sources 108, 109 and welding torch 102, among others. For example, in one exemplary embodiment, the welding system 100 comprises two TransPuls Synergic 5000 welding machines, from Fronius, Austria, with digitized, microprocessor-controlled inverter power sources 108, 109. Generally, the parameters are input via one of the many interface modes depending on the welding application, or remotely via an interface communicatively coupled to the power source 106 or 108, such as a remote control unit RCU5000i, from Fronius. The plurality of parameters forms the welding program which is assigned an identifier and is stored in memory, such as an EPROM. For an alloy steel base metal to be clad using a pulse-mode GMAW twin-arc tandem process with a torch 102, such as a Fronius Robacta Drive—RA900, the following parameters may be selected: the deposition rate of the Iconel 52 wire is set at 24 to 30 lbs/hr, at a welding speed of 66 to 95 cm/minute, and the shielding gas, such as argon, is supplied at a rate of 60 cfh. Other parameters include: sheet thickness; welding current; wirefeed speed; wire diameter; torch neck angle, weld preparation angle, weld position, welding angle, travel angle, weld seam (combination seam/weld cladding), weld seam quality control (X-ray, Ultrasonic, Hardness tests), compressing test (tensile test, C & E, visual) feeder inching speed, welding process, electrode polarity, preheat temperature, weld roller drive, groove profile, control unit, automating component (robot, semi automatic) and root protection.
Table B shows exemplary predefined sets of parameters that may be programmed for a particular weaving pattern or oscillation pattern for the torch 102, using the GMAW pulse-time synchronized twin-arc tandem process with system 100 of
Looking at
Generally, when the welding torch 102 travels at speeds of over 5 inches per minute, one of the most common defects is a lack of fusion at the toe of a cladded bead. However, these defects are significantly reduced using the exemplary parameters shown in Table B for a weaving pattern of
As described above, the system 100 may be associated with a multi axis robotic system to clad a part 120 using an exemplary oscillation pattern of
With a reference weld line A-A′ on the base metal having been chosen, and the torch 102 oscillates right and left of that reference line while moving along the reference weld line A-A′ at a predefined speed to form a weld bead 140, as shown in
Following the pause at point p4, the leader 104 begins welding along weld path s2 along the reference line A-A′, such that the weld segment s2 is parallel to the reference line A-A′. At the same time, following the pause at point p2 the trailer 106 begins welding following a weld path s2′ parallel to the reference line A-A′. Therefore, s2′ forms an edge of the weld to the left of the reference line A-A′, such that a weld pool is formed between the reference line A-A′ and the weld segment s2′. The tandem wires 104, 106 proceed along their given paths s2 and s2′, respectively, until the leader 104 pauses at point p5 on the reference line A-A′ and the trailer pauses at point p3 located a predetermined distance d2 from the reference line A-A′. Accordingly, the length of the path s2 is equal to the length of the path s2′.
Following the pause at point p5, the leader 104 begins welding along weld path s3, away from the reference line A-A′ and at angle φ with the reference line A-A′. At the same time, following the pause at point p3 the trailer 106 begins welding following a weld path s3′ towards the reference line A-A′, such that the weld path s3′ is at an angle φ with the weld path s2′. The tandem wires 104, 106 proceed along their given paths s3 and s3′, respectively, until the leader 104 pauses at point p8 located a predetermined distance d1 from the reference line A-A, and the trailer meets the reference line A-A′ at an angle θ and pauses at point p4. Accordingly, the length of the path s3 is equal to the length of the path s3′.
Following the pause at point p8, the leader 104 begins welding along weld path s4 parallel to the reference line A-A′. At the same time, following the pause at point p4 the trailer 106 begins welding following a weld path s4′ along the reference line A-A′. Therefore, s4 forms an edge of the weld to the right of the reference line A-A′, such that a weld pool is formed between the reference A-A′ and the weld segment s4. The tandem wires 104, 106 proceed along their given paths s4 and s4′, respectively, until the leader 104 pauses at point p9 located a predetermined distance d1 from the reference line A-A′, the trailer, 106 pauses at point p5 located on the reference line A-A′. Accordingly, the length of the path s4 is equal to the length of the path s4′.
Following the pause at point p9, the leader 104 begins welding following a weld path s5 towards the reference line A-A′, such that the weld path s5 is at an angle φ with the weld path s4. At the same time, the trailer 106 begins welding following a weld path s5′ away from the reference line A-A′, such that the weld path s5′ is at an angle φ with the reference line A-A′. The tandem wires 104, 106 proceed along their given paths s5 and s5′, respectively, until the leader 104 pauses at point p10 on the reference line A-A′ and the trailer pauses at point p6 located a predetermined distance d2 from the reference line A-A′. Accordingly the length of the path s5 is equal to the length of the path s5′.
Following the pause at point p10, the leader 104 begins welding along weld path s6 along the reference line A-A′. At the same time, following the pause at point p6 the trailer 106 begins welding following a weld path s6′ parallel to the reference line A-A′. Therefore, s6′ forms an edge of the weld to the left of the reference line A-A′, such that a weld pool is formed between the reference line A-A′ and the weld segment s6′. The tandem wires 104, 106 proceed along their given paths s6 and s6′, respectively, until the leader 104 pauses at point p11 located on the reference line A-A′, and the trailer 106 pauses at point p7 located a predetermined distance d2 from the reference line A-A′. Accordingly, the length of the path s6 is equal to the length of the path s6′.
Following the pause at point p11, the leader 104 begins welding along weld path s7, away from the reference line A-A′ and at angle φ with the reference line A-A′. At the same time, following the pause at point p7 the trailer 106 begins welding following a weld path s7′ towards the reference line A-A′, such that the weld path s7′ is at an angle φ with the weld path s6′. The tandem wires 104, 106 proceed along their given paths s7 and s7′, respectively, until the leader 104 pauses at point p12 located a predetermined distance d1 from the reference line A-A, and the trailer meets the reference line A-A′ at an angle θ and pauses at point p10. Accordingly, the length of the path s7 is equal to the length of the path sr.
Finally, following the pause at point p12, the leader 104 begins welding along weld path s8 parallel to the reference line A-A′. At the same time, following the pause at point p10 the trailer 106 begins welding following a weld path sr along the reference line A-A′. Therefore, s8 forms an edge of the weld to the right of the reference line A-A′, such that a weld pool is formed between the reference A-A′ and the weld segment sg. The tandem wires 104, 106 proceed along their given paths s8 and s8′, respectively, until the leader 104 pauses at point p13 located a predetermined distance d1 from the reference line A-A′, the trailer 106 pauses at point p11 located on the reference line A-A′. Accordingly, the length of the path s8 is equal to the length of the path s8′.
Therefore, in one cycle the leader 104 welds and moves along a path starting from point p0 to points p4, p5, p8, p9, p10, p11, p12 and finally to point p13. Simultaneously, the trailer 106 welds and moves along a path starting from point p1 to points p2, p3, p4, p6, p7, p10 and finally to point p11. The weave cycle is the length L of the weld from point p1 to point p13 along the reference line A-A′. A resultant bead 140 is shown in
b depicts the results of using the welding tool oscillation pattern of
The bead profile is dependent on the weave angle. For instance, the bead profile is flat when a weave angle of 0 degrees is used, while the bead profile is substantially rounded when a weave angle between 0 and 45 degrees. A typical bead has a geometry shown in
As can be seen in
In another embodiment, the weave angle may be adjusted to result in less dilution, higher wire deposit rate (lb/hr), and to help with the puddle size.
In another embodiment, the oscillation frequency may be varied to control the size and speed of the weaving angle, and to help control the lack of fusion defects. The oscillation frequency may also be used to control how often the torch moves from the center, and to the right and left of the center of the welding puddle.
The defect free results with system 100 is achieved by the removal of virtually all oxidized impurities from the surface with the tandem-welding arc, as the machine is running with the right parameters and setup. More particularly, experimentation and studies have revealed the following:
(1) robotic tandem pulse welding can produce an inch and quarter wide convex bead at 4 mm in height with good weldability and molten pool control;
(2) cycle time can be cut in half in comparison to MIG and strip processes. Using system 100, there was an increase in the consumption of welding wire 104 or 106, from 12 to 15 lbs/hr to 24 to 30 lbs/hr;
(3) the low dilution levels kept solidification shrinkage under control and helped prevent cracking of the bead. The use of welding wire 104, 106 and the above-noted welding parameters helped to improve metallurgical and mechanical properties of the welding pool; and
(4) the significant reduction of dilution cracking and amount of iron pick with system 100, and the decrease of heat input while welding provides better grain structure of the bead. While the weld procedure specification (WPS) instructions call for maximum of 116 kJ for SA 516-Gr 70 part 120 in the MIG welding process, while using system 100 on the same part 120 only produces 19 kJ.
Investigative work has been completed has shown that this layer can be deposited quicker and with a higher quality than that currently being done in industry, leading to significant savings in material costs and manufacturing time. As an illustrative example, using prior art processes, a 24-inch diameter tube sheet (SA 516-G70) 120 may be clad in 26 hours at a cost $5,874.00, at a welding speed of 5 inches per minute in a semi-automatic process with Inconel 52 wire. In comparison, with system 100 the same part 120 would be clad in 1.5 hours and cost less than $1,000.00, at a welding speed of over 37 inches per minute in a fully automatic cladding process, and production output was increased without compromising quality or safety, and the part 120 had minimal dilution in the range of 7% to 12%. Dilution is the amount of iron picked up in the welding puddle from the base metal of part 120. Accordingly, the approximate savings in cost and time are very significant.
To further illustrate the cost savings that may be achieved with the HSRC system 100, in one example, using a prior art methods, the estimated time to clad a 12.5 foot diameter by 8-inch thick tube sheet 120 it would take approximately 792 hours or 33 days in cycle time at a cost of over $70,000 per unit in wire 104, 106 and shielding gas; however, using the system 100 employing the exemplary weaving pattern of
Table C further illustrates the labour and cost advantages of the system 100 in comparison to a prior art MIG process.
Now referring to
The part 302 is held in a fixed position on a grounded part station 306, thus eliminating common grounding problems associated with rotating parts with positioners in prior art methods. In prior art methods, the lack of proper grounding results in sputtering, and erratic arcs, and results in frequent adjustment the wire feed speed and the voltage during welding, as the arc appears to be unbalanced. In addition, a rotating positioner requires accurate control of the angular (or linear) speed of a rotating disk, which is often difficult to achieve, and therefore results in inconsistent welds. Unlike prior art systems that require a positioner in order to accommodate a wide variety of repair parts, such as shafts, disks, rings, to manipulate or rotate the parts about a horizontal or vertical axis, the system 100 instead causes the torch 303 to rotate about the part 302, such that cylindrical parts (such as shafts) or flat parts, such as disks and rings may be readily processed. The torch 303 with the aid of the robot 301 may be placed in any position with respect to the part 302. In one example, a bead using the weaving pattern of
A tandem MIG welding package system 308 is coupled to the robot 301 and robot controller 304, the system 308 includes tandem power supplies for producing the welding current, amps and voltage, and also provides water cooling to remove the excessive heat. A torch cleaner system 310 may be provided to clean the welding torch 303. The robot 301 is held in a 3-axis gantry fabrication cell/setup or robotic cell/setup 312, which allows the system 100 to have an extra axis for welding. A ventilation system 314 may be provided to remove welding fumes, ozone, or smoke that may collect in the welding area. Typically, the ventilation system 314 is localized and uses fixed or flexible exhaust pickups which force the exhaust away from the affected welding area, or its vicinity, at a predetermined and acceptable rate.
Multiple cameras 316 may be provided to allow an operator to see the welding process from multiples angles, and allows the operator to manually or automatically make fine adjustments of the parameters from a remote location, thus protecting the operator from harmful radiation or toxic gases, airborne particles containing Cr, Ni, Cu, and other harmful elements potentially released during cladding. The cameras 316 monitor the wire tip position in relation to the weld pool, and provide front and side view images of the weld pool area on a split-screen video monitor. An infrared sensor is used to measure the interpass temperature of the part 302 being clad, to ensure that the highest part 302 quality will be maintained from a metallurgical standpoint.
A light stack 318 may be used as a safety guard, and guarding lot zone scanners and wire mesh guarding 320 may be used for safe operation of the cell 300. Extendable tracks 322 may be provided to allow the robot 301 to be positioned in different locations in the cell 301. In another embodiment, multiple robots may be placed in the cell 300.
In addition to cladding the parts 120, 302 with beads on plate, a plurality of other welds, such as butt and fillet welds are also possible with the above-mentioned method of system 100.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as critical, required, or essential features or elements of any or all the claims. As used herein, the terms “comprises,” “comprising,” or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, no element described herein is required for the practice of the invention unless expressly described as “essential” or “critical.”
The features described herein can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The features can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
The preceding detailed description is presented for purposes of illustration only and not of limitation, and the scope of the invention is defined by the preceding description, and with respect to the attached claims.
This application claims the benefit of priority to U.S. Provisional Application Ser. No. 61/491,775, filed on May 31, 2011.
Number | Date | Country | |
---|---|---|---|
61491775 | May 2011 | US |