The present invention relates to a method and apparatus for determining a unique condition in a system and in particular for determining a unique condition in a cyclic system.
In a cyclic system, such as a fluid power system, various steps or events occur during a system cycle. For example, valves shift, and actuators are selectively pressurized causing movement resulting in position sensors being activated. The various steps may be controlled by a programmable logic controller (“PLC”) or other controllers both digital and analog. In a cyclic system, these events are repeated in the same sequence in each cycle. This repetitive nature permits data collected from one cycle to be compared to subsequent cycles. Variations in the data can be used to determine the operational fitness of the system. One such diagnostic system is set forth in U.S. Pat. No. 7,031,850.
If it is desired to compare one cycle to another, it is important that the cycle length be accurately defined so that like information is being compared. For example, if a cycle is defined as having 10 events, and then the cycle is repeated, the 10 events of one cycle need to be compared to the same 10 events from a subsequent cycle if meaningful comparison data is to be generated.
In a cyclic system, one way of determining a cycle length is to rely on the programming of a PLC. A PLC program will typically include a series of steps that are to be completed within a cycle. When the cycle is completed, the PLC will again initiate the beginning of the next cycle. The PLC can be programmed to generate a signal when the cycle begins, or ends. This signal can be used by a diagnostic unit which is analyzing data generated during the cycle and looking for variations between the cycles or other information.
However, relying on the PLC requires that the PLC program be modified to cooperate with a diagnostic unit. This can be troublesome for a system that is already in operation, and therefore, requires retrofitting. If a diagnostic unit is to be added to such a machine, the PLC program would have to be modified. Since there are many different types of PLC's in the market, attempting to retrofit a machine with a diagnostic unit may require an installer to be familiar with many different PLC programming codes. In addition, the PLC, due to design or capacity, may not be able to generate the necessary signal.
Accordingly, it would be desirable to provide a method and apparatus for determining the bounds of a cycle system in an efficient and reliable manner.
It is a feature of the present invention to provide a method and apparatus for determining a unique condition in a system cycle.
It is also a feature of the present invention to provide a method and apparatus for determining a unique condition in a digital data array.
It is a further feature of the present invention to provide a method and apparatus for determining the bounds of a cycle based on determining a unique event through analyzing a digital data array.
The present invention provides a method of determining a unique condition in a cyclic system including the steps of:
defining a set of system variables and a sample time, the variables varying between a first and second state;
operating the system for more than one cycle;
creating a data array based on system variables and time;
analyzing the data array for changes in the variables;
generating arrays responsive to the changes in the variables; and
analyzing the arrays to determine unique set of variable conditions.
The present invention also provides a method of determining a unique condition in a system including the steps of:
defining a set of system variables and a sample time, the variable having a first and second state;
operating the system for a period longer than one cycle;
sampling data generated by the system variables during the system operation;
creating a first data array based on the system variables and time;
analyzing the first data array for rising and falling edges of the variables;
for at least one of the variables, at each rising edge and each falling edge saving a condition of each the variables at the time of the rising and falling edges in condition sets;
for each rising edge comparing the condition sets to each other; deleting the condition sets which are the same;
for each falling edge comparing the condition sets to each other;
deleting the condition sets which are the same; and
selecting one of any remaining condition sets to determine the unique system condition.
The present invention further provides an apparatus for determining a unique condition in a cyclic, system including a data acquisition device operatively connected to a plurality of system elements that form system variables. A data storage device is provided for storing data collected by the data acquisition device. A processor is operatively connected to the data storage device. The processor creates a first data array responsive to the system variables and time and analyzing the data array for changes in the system variables. The processor generates a plurality of second arrays responsive to the changes in the variables and analyzes the second data arrays to determine a unique set or sets of variable conditions.
The present invention collects and analyzes data generated during the operation of a system in order to determine a condition or set of conditions that occurs only once during a system cycle. By determining such a unique condition, the bounds of the cycle can be determined. When the unique condition occurs, this can be set as the beginning of the cycle. When the unique condition occurs again, this marks the end of the cycle and the beginning of the next cycle. The unique condition can be used in conjunction with other systems in which knowing the bounds of a cycle is desirable.
In a diagnostic system which compares the data from one cycle to the next, the ability to define the cycle is important. This way, like data sets are compared and variations between the data sets can be used to provide meaningful information. For such a comparison, it is not necessary that the unique condition occur at the very beginning of a machine operation or the first step in the machine's operation. In a cyclical system, the events in one cycle are the same as every other cycle. Therefore, there is a consistency between cycles. Due to the repetitive nature of a cyclic system, any unique condition during the cycle could be determined to be the “beginning”. The “end” of the cycle occurs when the unique condition comes up again. With the beginning and end of a cycle so defined, the events occurring in each cycle should be the same. This permits a complete set of data from one cycle to be compared to a complete set of date from a subsequent cycle. Variations between the data sets can be used to provide information about the system, such as the condition of the system components.
The present invention includes a method preferably including a plurality of steps as set forth in
A valve may be switched between a first and second position, therefore, each of the valves constitute a system variable that may be digitally represented as having a 0 or 1 state. The signal used to switch the valve will be either on or off, and this is used to determine the state of the valve. Such a signal may be operatively connected to the data acquisition device 9. The position sensors activated by the movement of an actuator also constitute system variables and can be digitally represented as an off, 0, or on, 1, state. The signal generated by the position sensors may also be operatively connected to the data acquisition device 9. For the system shown in
With the variables defined, the system may be run for more than one complete cycle to generate data, step 22. Each change in a system variable constitutes an event in the system. Running the system for such length ensures that a complete cycle has elapsed and all the events in the cycle are detected. During this running of the system, signals corresponding to the variables are sampled at a predetermined sample rate, step 24, by the data acquisition device. The data obtained may be transferred from the data acquisition device 9 to the processor 33 and used to populate a digital array, step 23. A digital array 25 with data points 26 is shown in
In the preferred embodiment, once the digital data array 25 is populated, it is analyzed by the processor 33 to remove variables that remain constant through the data array, step 28. If a particular variable remains constant, it will not be helpful in identifying a unique condition set since it is the same for all. Therefore, the data for the constant variable may be dropped or marked as unusable in order to assist in simplifying the further analysis. As shown in
With reference to
For each of the variables, an array of rising edges and falling edges is created, step 40. As shown for example in
In a preferred embodiment, either before or after the array of rising and failing edges is created, additional analysis, step 43, on the data array 30 may be performed to improve the robustness of the methodology. Due to tolerances in a fluid power system and in the recording of data by the data acquisition device, events may occur, or be recorded as occurring, at slightly different times from one cycle to the next. Therefore, a variable may change state at slightly different times between system cycles. In order to address these variations, in a preferred embodiment, a time tolerance may be set by an operator, step 44, at any time in the process prior to the analysis of step 43. After a variable changes state, i.e., rising or failing edge, the other variables in the condition set are analyzed at a predetermined amount of time before and after the edge. If the other variables change state within the time tolerance range, the actual state of the variable cannot be certain, i.e., it could be either 0 or 1. Therefore, that variable may be assigned to have a state of 1 or 0, step 43. For example, as shown in
Variable 3 has a falling edge 49 at TI 8. Examining the other variables at that time shows that variable 2 has a change within the 10 ms tolerance. Therefore, variable 2 could be 0 or 1. With this information determined, the array 42 of variable 3 falling edges (
The arrays of falling edges and rising edges are then analyzed, step 50, to remove any conditions sets or rows that are the same. The condition sets are compared and if a condition set repeats itself, meaning it occurs more than once during a cycle. It is not unique and does not help define the bounds of a cycle. For example, with reference to
After rows of similar conditions are eliminated, the remaining row(s) indicate unique sets of conditions for the system that occur only once a cycle. One of these condition sets may he used to establish the beginning and end of the cycle. A unique condition set may be transformed into a conditional statement for use in a program which needs to determine the bounds of a cycle. For example, with reference to
IF var X AND var Y low to high AND NOT var Z AND var P THEN generate beginning of cycle signal.
In the conditional statement, one of the conditions is the changing event, such as a variable going high to low, or low to high. This permits the conditional statement to identify a specific moment in time. In the above example, since the array used is rising edges of variable Y, the Y condition is low to high.
In practice, a data array could include thousands of data points. For example, if a system has 40 variables and the cycle is sampled every 5 ms, even a cycle running for only a minute creates an array of 480,000 data points. In such a system having many variables with a large data array, it is likely that there will be a number of unique condition sets in a system cycle. Therefore, in a preferred embodiment, the arrays including the list of unique conditions established for the rising edges and falling edges for each variable are analyzed to simplify them in steps 52 and 53. If in an array, a variable column has all the same condition, it does not distinguish one condition set from another. Therefore, it is not necessary and can be eliminated.
After all the rising and falling arrays are analyzed to eliminate constant variables, the condition set having the fewest remaining data points is chosen as the suggested trigger to indicate the beginning of a cycle at step 62. This results in the most concise conditional statement. For example, the array of
The present invention has been described herein with respect to a cyclic fluid power system. However, the present application is not limited to such a system and can be employed to determine a unique condition in digital data generated by other systems or in other manners.
Although preferred embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments and that various other changes and modifications may be affected herein by one skilled in the art without departing from the scope or spirit of the invention, and that it is intended to claim all such changes and modifications that fall within the scope of the invention.