Abstract:
The invention relates to a control unit for thread feeding devices, such as those associated with knitting machines and the like. The control unit generates pattern or switch data control signals based on a pattern memory, or otherwise, for the thread feeding devices. In an embodiment of the invention, the control unit adds to or subtracts from the pattern data any advance or lag angles as necessary to account for the structure of the machine and to thus assure effective thread feeding.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention relates to a control device for at least one thread feeding device of a thread processing machine, especially a knitting machine. The invention also relates to a method for positive thread feeding to a textile machine, especially a knitting machine with changing thread requirements. 
       BACKGROUND OF THE INVENTION 
       [0002]    Circular knitting machines and flat knitting machines are known, which are designed for stitching patterned goods. With respect to patterned goods, different stitching positions must be supplied with thread intermittently rather than continuously. 
         [0003]    One example of a circular knitting machine for creating patterned goods is seen in EP 0 724 033 A1. The circular knitting machine has a cutting device in order to cut away unnecessary thread. If thread of the corresponding color is needed again, the previously cut thread is fed again to the stitching position. 
         [0004]    In addition, a so-called striping attachment for a circular knitting machine and for a circular machine is seen in DE-PS 2024 341. The striping attachment contains devices to lay threads in and out, i.e., to feed the stitching positions selectively. 
         [0005]    Knitting machines that stitch plain-weave goods, i.e., to whose stitching positions continuous thread is fed, are usually supplied with thread by means of so-called positive feed wheel mechanisms, which feed a certain amount of thread to the stitching position for every rotation of the machine cylinder. Thus, the mesh size is uniform independent of tolerances of the stitching positions. Such positive feed wheel mechanisms are usually driven by means of a toothed belt or the like and thus are forced to run in sync with the knitting machine. 
         [0006]    Knitting machines used to create patterned goods cannot be supplied with thread with such positive feed wheel mechanisms. Instead, so-called friction feed wheel mechanisms are usually used, as seen in DE 100 06 599 A1. Such friction feed wheel mechanisms have a thread feed wheel that is driven so that it rotates. The thread contacts this thread feed wheel over a wrapping angle, which changes as a function of the thread tension at the point using thread. For this purpose, a so-called feeder lever is provided, which carries on its end an eyelet through which the thread runs. The lever is mounted so that it can pivot and is biased by a spring in the feeder direction, i.e., away from the thread feed wheel. If the thread tension breaks down, the feeder lever lifts the thread away from the thread feed wheel and drastically reduces at least the wrapping angle. 
         [0007]    Such thread feeding devices have been proven in practice. Unlike positive feeding devices, however, they do not directly create a uniform mesh size. 
       OBJECTS AND SUMMARY OF THE INVENTION 
       [0008]    The goal of the invention is to present a system, as well as a method, with which thread-processing machines, especially circular knitting machines, can be fed with thread in a way that allows increased stitch quality despite changing thread requirements. 
         [0009]    To control the one or more thread feeding devices the control device according to the invention uses a pattern memory, which is used for controlling the knitting machine or some other textile machine. The pattern memory contains data for turning the thread feeding devices on and off at various positions of thread use, for example, stitching positions. Thus, the pattern memory controls, e.g., the lock of a knitting machine, in order to activate or deactivate individual needles, the thread feeder lever to lay thread in and out, cutting devices and the like. The control device has a pattern interface, by means of which it is connected to the pattern memory. In addition, the control device receives from a position sensor information on the current machine position. For a circular knitting machine, the term “machine position” is understood to be primarily the rotational angle of the needle cylinder. Here, the machine position can be detected either as an absolute position or as a relative position in the form of a pulse sequence or otherwise. 
         [0010]    The central component of the control device is a processing module, which can also be designated as a machine interpreter, especially when it is realized in software. The processing module obtains data from the pattern memory according to the position of the machine and converts this data according to a set of given logic rules into control commands for the one or more thread feeding devices. The “set of given logic rules” can be a delay command in the simplest case. When the position sensor delivers, for example, a pulse sequence specifying the angular steps of the needle cylinder, and when the needle cylinder must rotate by a preset angle between the activation of a stitching position and the resulting thread requirements, there is the logic rule of waiting an appropriate number of pulses of the position sensor until a further request for thread is issued from the pattern memory to the thread feeding device. This can be realized with a gate circuit, which, after counting the relevant pulse number, forward the step pulses of the position sensor of the needle cylinder to the thread feeding device in order to cause the synchronous rotation between the thread feed wheel and needle cylinder with the desired delay. 
         [0011]    The number of angular steps that pass between the activation of a certain point in the pattern and the required start of feeding can be viewed as the lag angle. In other cases, advance angles may also be necessary. This is easier to set when the position sensor is an absolute value sensor. The advance angle and/or lag angle are machine-specific and depend on, for example, the distance between a thread supply and feeder lever and a stitching position. For a given machine, they can be constant or dependent on settings or add-on parts. Preferably, they are stored in a data memory for machine data. 
         [0012]    “Machine data” is, for example, a number of angular steps of the stitch cylinder or a number of other machine cycles that are executed after receiving a pattern command until the thread requirements actually change according to the pattern. Thus, the machine interpreter accesses both the pattern data memory and also the machine data memory and links these together (for example, through addition or subtraction of the advance angle or lag angle from the data of the pattern memory) and ensures that the feed wheel mechanisms are activated or deactivated at the correct point of the rotation of the needle cylinder. Instead of the access to the pattern memory, the machine interpreter can also be connected to a line that carries the pattern switching signals. Such lines are, for example, lines controlling switching elements of the knitting machine for activating or deactivating stitching positions. Thus, easily detectable control signals can be used that are used for controlling switching elements. In addition, signals of sensors that poll switching elements, needles, or other mechanical parts for executing pattern-specific actions can be used. 
         [0013]    While activated thread feeding devices run-in sync with the needle cylinder, deactivated thread feeding devices are stationary. In addition to this switching operation, it can also be necessary to create at least temporary operating states in which the thread feeding devices are run at reduced rotational speed or also at overspeed. 
         [0014]    For a simple embodiment, the advance and lag angles can be determined beforehand and programmed by service personnel or the machine manufacturer or the feed wheel mechanism manufacturer. However, it is also possible to provide an input interface, by means of which corresponding data, for example, screen masks, can be input. It is thus possible to test certain start and stop points relative to the rotation of the machine cylinder, and in this way to optimize the quality of the stitching to be created. It has also been found to be useful to establish positive thread feeding for jacquard circular knitting machines, wherein the thread feeding is not dependent on the current thread tension. 
         [0015]    In addition, it is possible to provide thread tension sensors for simplifying the gathering of the machine data and to monitor the thread tension in a test operating mode as well as to activate the thread feeding devices only when tension appears in the thread. The rotational angle of the needle cylinder at which the thread tension appears can be compared to the associated pattern data. The angle differences between the pattern data and the rotational angles at which tension appears in the thread can be stored as advance angles or lag angles. After completing the test run, the thread tension sensor can be deactivated and pure positive operation can be performed with reference to the obtained data. If necessary, however, thread tension monitoring can be continuous or intermittent, e.g., in order to identify error states. 
         [0016]    Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings, in which: 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0017]      FIG. 1  is a schematic view of a knitting machine with electronic positive feed wheel mechanisms and an associated control device, 
           [0018]      FIG. 2  is a diagrammatic view of advance and lag angles for controlling the feed wheel mechanism for use in embodiments of the invention, 
           [0019]      FIG. 3  is a symbolic illustration of a section from a pattern data memory usable in an embodiment of the invention; 
           [0020]      FIG. 4  is a schematic view of a jacquard knitting machine with a self-programming positive feed wheel mechanism usable in embodiments of the invention; and 
           [0021]      FIG. 5  is a schematic view of a jacquard knitting machine with a self-programming positive feed wheel mechanism and indirect sampling of pattern data from a line carrying switching signals usable in embodiments of the invention. 
       
    
    
       [0022]    While the invention is susceptible of various modifications and alternative constructions, certain illustrated embodiments thereof have been shown in the drawings and will be described below in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions and equivalents falling within the spirit and scope of the invention. 
       DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0023]    In the following description, a number of reference numbers are used to refer to specific elements in the several drawings. These reference numerals correspond to the drawing elements as follows: Knitting machine ( 1 ); Needle cylinder ( 2 ); Needles ( 3 ); Lock ( 4 ); Lock cam ( 5 ); Line ( 7 ); Switching element ( 8 ,  8   a ); Actuator ( 8   b ); Branches (v); Points ( 12 ); Stitching positions ( 14 ); Thread ( 15 ); Hold points ( 16 ); Thread guide ( 17 ); Thread feeding devices ( 18 ,  19 ); Thread feed wheel ( 21 ); Motor ( 22 ); Control device ( 23 ); Processing module ( 23   a ); Position sensor ( 24 ); Position input ( 25 ); Control unit ( 26 ); Position input ( 27 ); Pattern memory ( 28 ); Data connection ( 29 ); Input device ( 31 ); Display device ( 32 ); Input masks ( 33 ); Data memory ( 34 ); and Thread tension sensor ( 35 ). 
         [0024]    In  FIG. 1 , a knitting machine  1  designed for manufacturing patterned goods is shown schematically. The knitting machine  1  has a needle cylinder  2 , which is mounted so that it can rotate about a vertical axis and which is connected to a drive device. On its outer periphery, the needle cylinder  2  has vertical guide channels, in which needles  3  are held so that they can move vertically. A lock  4 , which has a groove-like lock cam  5 , is associated with the needles  3 . Feet  6  of the needles  3  project into the lock cam  5 , such that they may move vertically with the position of the lock cam  5  as the needle cylinder  2  turns. The lock cam  5  can have wave-shaped sections as indicated in  FIG. 1  with a dashed line  7 , which rise or fall and thus push the needles  3  out (up) or pull them in (down). 
         [0025]    A switching device  8  can be used to activate or deactivate alternative branches  9 ,  11  of the lock cam  5 . Additional switching elements and/or lock cams can be provided, but are omitted from  FIG. 1  for the sake of clarity. For example, plates can be provided between the needles  3  to guide the stitched material hanging on the needles  3  and to otherwise affect the stitches. 
         [0026]    Downwardly extending positions  12  of the lock cam  5  guide the needles  3  downward to define stitching positions  14  at which a received thread  15  is formed into a stitch. The stitching positions  14  are preceded by holding points  16  at which the thread  15  is guided to the needles  3 . The needles  3  are driven to the holding points  16  by the cam lock  5 , e.g., by branch  9 . Generally at the holding position  16 , there is preferably a thread guide  17  for guiding the thread  15  toward or away from the needles  3 . 
         [0027]    In addition, the device  1  can also include cutting elements, pull-in devices, and the like, as will be appreciated by those of skill in the art. In order to improve clarity, such additional devices are omitted from  FIG. 1 . 
         [0028]    Thread feeding devices  18 ,  19 , which may be identically or similarly constructed, are used for guiding the thread. The following description of the thread feeding device  18  applies equally to the thread feeding device  19  in an embodiment of the invention. Additional thread feeding devices (not shown) may also be used in keeping with this description. 
         [0029]    The thread feeding device  18  has a thread feed wheel  21  coupled to a motor  22  to rotate therewith. The thread feed wheel is, for example, a bobbin formed of a barred cage or a one-piece part deep-drawn from sheet metal, and can have extended edges or guides on its ends and a cylindrical ribbed storage or receiving portion between the extended edges or guides. In use, the thread  15  wraps around the thread feed wheel  21  one or more times and thus forms a winding. The winding can contact the entire periphery of the thread feed wheel  21 . In an alternative embodiment, the winding is guided over one or more thread lifting pins oriented approximately parallel to the rotational axis of the thread feed wheel  21 . In this embodiment, the winding may contact only part of the periphery of the thread feed wheel  21 . This technique can be used to allow a certain amount of slippage in the thread  15  on the thread feed wheel  21 , so as to buffer feeding errors. In addition, a winding advance and/or an axial stretching of the winding can be achieved with the thread lifting pin, e.g., adjacent windings can be separated from each other. A high angular resolution position sensor preferably associated with the motor  22  allows the position of the motor  22  to be accurately sensed and controlled. In an embodiment of the invention, the accuracy of the position sensor is such that the feeding deviation of the thread  15  is less than 1 mm. A control device  23  is used to control the motor  22  based on the information provided by the sensor. The control device  23  controls the motor  22  by providing continuously updated angular information to the motor  22 , such that the motor  22  rotates with continuous angular information. The angular information can be transmitted in the form of data, currents, voltages, pulses, i.e., step information, etc. 
         [0030]    A second position sensor  24  is associated with the needle cylinder  2  to detect the current angular position of the cylinder  2 . This position sensor  24  then forwards the angular position information, for example, in the form of increments, i.e., angular steps, to a position input  25  of the control device  23 . In an embodiment of the invention wherein the angular position information is relative to the previous position rather than absolute, the position of the needle cylinder is preferably calibrated, such as once at start up, on each rotation, and/or at certain angular intervals. At the time of calibration, a zeroing signal is generated so that the control device can subsequently determine the absolute position of the needle cylinder  2  by counting the individual step pulses (increments). In an alternative embodiment of the invention, the position sensor  24  is an absolute value sensor that supplies an analog or digital signal characterizing the rotational angle of the needle cylinder  2  to the position input  25 . 
         [0031]    The knitting machine  1  is controlled by a control device  26 , which has a position input  27  connected to the position sensor  24 . The control device  26  controls the switching element  8  and also possibly other units of the knitting machine  1 . For example, the control device  26  may control another switching element  8   a  shown schematically, an actuator  8   b  for moving the thread guide, cutting devices, and/or other elements. 
         [0032]    The control device  26  is connected to a pattern data memory  28 , which contains suitably prepared data characterizing the pattern of the knitted material to be created. An excerpt of the memory contents for a pattern that is continuous over several cylinder rotations is shown in  FIG. 3 . The beginnings of the two first rows Z 1 , Z 2  of the control data are shown for example, for two stitching positions. Angular increments are mapped column by column, which can correspond, for example, to the needle spacing. While the first stitching position for the first cylinder rotation (line  1 ) is active (all 1&#39;s) at least in the area considered, the second stitching position is inactive (all 0&#39;s). In the second row, the second stitching position is continuously active (all 1&#39;s) while the first stitching position operates intermittently (sequence of 0&#39;s and 1&#39;s). In this way, the pattern memory continues for all rows of the pattern and all stitching positions as well as all angular increments. 
         [0033]    The control device  23  is also connected to this pattern memory  28 . In this way it can retrieve the associated pattern data from the pattern memory  28  according to the position signals received via the position input  25 . In  FIG. 1 , this is characterized by a corresponding bi-directional data connection  29 . The control device  23  converts the received pattern data into control data for the thread feeding devices  18 ,  19 . The conversion between the received pattern data and control data is executed in an embodiment of the invention according to given logic rules, which can be input, for example, via an input device  31  in the form of a keyboard or other input means and/or with reference to a display device  32 , for example, in the form of a monitor or display. For this purpose, input masks  33  in which count values can be entered are displayed on the display device  32  in an embodiment of the invention. The input masks  33  may assist the user in inputting advance angles or lag angles. These values may be given, for example, by the distance from the holding position  16  to the stitching position  14 , and thus relate to structural details of the knitting machine  1 . In particular, this data relates to advance or delay angles (lag angles) that define the number of increments of the position sensor that the thread requirements actually rise or fall before or after a switching command given to the switching element  8  or  8   a.    
         [0034]    Having discussed the knitting machine  1  generally, the following section discusses the function of the control device  23  in the operation of knitting machine  1  in greater detail. In this embodiment of the invention, the knitting machine  1  is knitting plain-weave goods, although it will be appreciated that the described principles are more broadly applicable. In this case, the needle cylinder  2  runs at an essentially constant rotational speed. The rotational movement is detected in the form of individual increments or in the form of a sequence of absolute position information by the position sensor  24  and is forwarded to the control device  23  and also to the control unit  26 . The stitching positions fed by the thread feeding devices  18 ,  19  are both active. Accordingly, the control device  23  controls the motors  22  of the thread feeding devices  18 ,  19  via control pulses and/or other appropriate control signals, so that the thread feed wheels  21  rotate with a given speed ratio in sync with the needle cylinder  2 . The thread  15  is thus fed positively, i.e., at a predetermined rate. The needles  3  run through the top branch  9  of the lock cam symbolized by the line  7  and hold the thread, which is then stitched at the stitching position  14 . 
         [0035]    It is now assumed that a knitted material section is reached in which a pattern is to be generated. At this point, the control unit  26  receives the corresponding information by polling the pattern memory  28  and then switches the switching elements  8 ,  8   a  for the corresponding angular position of the needle cylinder  2  detected by the position sensor  24 , so that the needles are no longer driven in and out and the loops are not sunk any further. For example, the feet  6  of the needles then run through the branch  11  of the lock cam, and also through the horizontal branch at the stitching position  14 . Additionally or alternatively, the thread  15  can be pivoted outward by means of the actuator  8   b  and the thread guide  17 , such that the thread  15  is no longer engaged by the needles  3 . This is also a mechanism for interrupting the knitting operation when needed. 
         [0036]    In either case (switching of elements  8 ,  8   a  or pivoting of the thread  15 ) the feeding operation of the associated thread feeding device  18  needs to be modified since the timing of the feeding lock no longer necessarily coincides with the timing of the switching of the switching element  8  or the actuator  8   b . Instead, generally after the switching of elements  8 ,  8   a , a portion of the needles are still located in the upward or downward extending lock cam ( 9 ,  12 ), that executes the loop-sinking movement, so that additional thread must still be delivered. 
         [0037]    This phenomenon is shown diagrammatically in  FIG. 2 . For a rotational angle α 0 , if the knitting machine  1  is switched according to the pattern data, then the associated thread feeding device  18  can be turned off somewhat later at an angle α N  of the needle cylinder  2 . The corresponding angular difference α 0 −α N  is referred to as the lag angle. A corresponding lag angle α N1  is needed when turning on the stitching position  14 . The lag angles α N1  and α N  for turning the stitching position  14  on and off are usually different. In particular, turning the stitching position on generally involves taking into consideration the distance between the holding point  16  and the stitching position  14 . Thus, α N1  is usually significantly larger than α N . 
         [0038]    In principle, advance angles α v  can also be stored and maintained, so that the thread feeding starts shortly before the knitting machine  1  receives a corresponding switching command. Such advance angles are especially easy to maintain when the position sensor  24  is an absolute position sensor as opposed to a relative position sensor. 
         [0039]    The necessary advance and lag angles for turning on and off stitching positions  14  or other measures that require an increase or decrease in the feed rate of the thread feeding devices  18 ,  19 , are preferably stored in a data memory  34  which is part of the control device  23 . The data stored in the data memory includes the mentioned advance or lag angles, and is input, for example, via the input device  31 . 
         [0040]      FIG. 4  illustrates an embodiment of a control device  23  and associated components that allows simplified programming of the data memory  34  and thus simplified management of the control device  23 . As in the preceding embodiment, the logic rules with regard to processing of the pattern data of the pattern memory  28  for obtaining control signals for controlling the thread feeding device  18  are composed predominantly of the addition or subtraction of advance angles or lag angles at the individual angular steps α 1 , α 2 , etc., for which pattern switching commands are given to the switching elements  8 ,  8   a . This corresponds to zero-one or one-zero transitions in each row in  FIG. 3 . For example, in the top sub-row of Z 2  between α 1  and α 2 , if a one-zero transition appears, this indicates that a deactivation command is sent for the switching element  8 . The thread feeding device  18  is then controlled with a corresponding angular offset (α 1 +α N1 ). 
         [0041]    The lag angle α N1  can be obtained in the system of  FIG. 4 , for example, by means of a thread tension sensor  35  that detects the thread tension between the thread feed wheel  21  and the knitting machine  1 . The thread tension sensor  35 , when activated, delivers thread tension signals to the control device  23 . The control device  23  then controls the motor  22  such that the thread tension is always kept within a given tolerance range. Thus, if the knitting machine  1  does not take up thread during a certain period, then the thread feed wheel  21  is still during that period (i.e., the tension is maintained). If the knitting machine  1  draws thread, i.e., if the stitching position  14  has been activated, then the thread tension initially increases temporarily. This causes the control device  23  to set the motor  22  into operation, so that thread is again fed positively. The appropriate feeding amount is set to keep the thread tension constant by driving the control device  23 . 
         [0042]    The timing or rotational angle of the needle cylinder  2  at which the thread feed can be adjusted is the rotational angle at which the thread tension increases to an amount outside of the predetermined range. The control device  23  can record this associated rotational angle and it can be assigned to the pattern data of the pattern memory  28 . This is realized, for example, by forming the difference between the angle at which the thread tension peak appeared and the angle at which a corresponding switching command was given to the switching element  8  or to the actuator  17 . The difference is stored in the data memory  34  and may be later used in positive operation without tension monitoring in an embodiment of the invention. 
         [0043]    Alternatively, the rotation of the thread feed wheel  21  can be monitored at the position of the detection of the thread tension peak. This involves the detection of the time or rotational angle of the needle cylinder  2  at which the rotation of the thread feed wheel  21  caused by the tension of thread  15  begins. The angular difference between the beginning of rotation of the thread feed wheel  21  and the angle at which the pattern memory  28  causes switching of the actuators or switching elements of the knitting machine  1  is in turn stored in the data memory  34 . 
         [0044]    In an embodiment of the invention, the advance angle and lag angle data obtained and stored in the data memory is editable. Optionally, a corresponding menu can be provided which can be invoked and operated via the input device  31  and the display device  32 . 
         [0045]    Optionally, certain rotational speed stages of the thread feed wheel  21  can also be monitored and registered in order to differentiate, for example, not only two states, e.g., active and inactive, but also a third state such as a “weak feeding” state involving the feeding of floating thread. During operation, the amount of thread fed is preferably determined according to the pattern information. As discussed above, the monitoring of the rotation of the thread feed wheel  21  or alternatively the thread tension is used to establish the angle of the needle cylinder  2  at which feeding of the thread  15  is to begin or stop, with reference to the pattern data. The data obtained in this way is then taken into account by the software operating the control device  21 , which interprets the pattern data of the pattern memory  28  continuously, and determines the switching commands for the thread feeding devices  18 ,  19  with reference to the data stored in the data memory  34 . 
         [0046]    In an embodiment of the invention, the control device  23  is a central control device that is constructed independently of the control unit  26 . Alternatively, the control device  23  is part of the same unit. Furthermore, it is possible to house the control device  23  in a thread feeding device  18 , a separate unit, or in a network formed by the thread feeding devices  18 ,  19 . 
         [0047]      FIG. 5  illustrates another modification of the described knitting machine  1 . It concerns the knitting machine according to  FIG. 4 , whose description is referred to. For the knitting machine according to  FIG. 5 , the data connection  29  to the pattern memory  28  is created by polling switching signals from the line that connects the control unit  26  to the switching elements  8 ,  8   a . In this embodiment of the invention, direct access to the pattern memory  28  is not necessary. This embodiment of the invention is especially beneficial for retrofitting solutions. In an alternative embodiment of the invention, sensors on the knitting machine  1  that monitor the lock  4 , the switching elements  8 ,  8   a , thread guide  17 , or other elements to be moved according to the pattern, provide pattern information. 
         [0048]    In an embodiment of the invention, the control device  23  is used for processing such secondary pattern signals, and may employ its self-learning mode. The control device  23  takes into account advance or lag angles between the switching signal and change in thread use. The advance and lag angles can be determined by manual input or with learning methods by monitoring the thread tension. Learning methods are especially suited for polling pattern data from switching lines. A point-exact turning on and off of the thread feeding devices can be achieved without manual input, without knowledge of the pattern data, and without knowledge of the machine data. 
         [0049]    It will be appreciated that there has been described herein a novel system and control device for controlling thread feeding devices based on the data of a pattern memory or from pattern or switching data, wherein advance or lag angles which relate to the rotation of the needle cylinder for a specific machine are added to or subtracted from the pattern data. All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein. 
         [0050]    The use of the terms “a” and “an” and “the” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention. 
         [0051]    Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.