Abstract:
Methods and apparatus for transmitting data between elements of a data acquisition system are provided. The method includes receiving, at a first element, a self-describing control packet including a first configuration parameter, the first configuration parameter controls first data acquisition by the first element, acquiring first data by the first element in accordance with the first configuration parameter, generating a self-describing data packet including an identifier for the first configuration parameter and the acquired first data, and interpreting the acquired first data using the identifier.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    This invention relates generally to data acquisition systems and more particularly, to methods and apparatus for transmitting self-describing data packets to change configuration parameters on the fly. 
         [0002]    In at least some known data acquisition systems a detailed description of all electrical hardware and data display parameters is defined prior to actual data acquisition. Typically, such configuration parameters are defined prior to data acquisition, and then remain constant for the duration of data acquisition. Configuration parameters are not typically permitted to change during data acquisition. If the system permits changes to configuration parameters on the fly, it is difficult to correlate acquired data to the set of configuration parameters used while the data was acquired. The difficulty requires significant processing overhead to accomplish. At relatively slow data rates, known processors may be able to process the acquired data and the configuration parameters in use when the data was acquired. However, for data transfer rates commonly in use and for data rates expected in the future, faster methods of correlating data with the configuration parameters in use when the data was acquired are needed. Additionally, configuration and control interfaces generally do not permit configuration parameters to be modified individually. 
       BRIEF DESCRIPTION OF THE INVENTION 
       [0003]    In one embodiment, a method for transmitting data between elements of a data acquisition system includes receiving, at a first element, a self-describing control packet including a first configuration parameter, the first configuration parameter controls first data acquisition by the first element, acquiring first data by the first element in accordance with the first configuration parameter, generating a self-describing data packet including an identifier for the first configuration parameter and the acquired first data, and interpreting the acquired first data using the identifier. 
         [0004]    In another embodiment, a data acquisition system includes an interface element configured to receive first configuration parameter information from at least one of a user at said interface element and a software generated rule. The interface element is further configured to generate a self-describing control packet including the received first configuration parameter information, The data acquisition system further includes a first element configured to receive the self-describing control packet and to control acquisition of first data by the first element using the first configuration parameter information, and a second element configured to interpret the acquired first data using the first configuration parameter information. 
         [0005]    In yet another embodiment, a computer program embodied on a computer readable medium for controlling data acquisition on a machine includes a code segment that controls a data acquisition system to receive, at a first element, a self-describing control packet including a first configuration parameter, the first configuration parameter controls first data acquisition by the first element. The code segment also controls the data acquisition system to acquire first data by the first element in accordance with the first configuration parameter, generate a self-describing data packet including an identifier for the first configuration parameter and the acquired first data, and interpret the acquired first data using the identifier. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]      FIG. 1  is a schematic view of an exemplary architecture for a portion of a data acquisition system in accordance with an embodiment of the present invention; 
           [0007]      FIG. 2  is a block diagram of the format of a configuration and control message packet that may be used with the data acquisition system shown in  FIG. 1 ; 
           [0008]      FIG. 3  is a block diagram of the format of a data packet that may be used with the data acquisition system shown in  FIG. 1 ; and 
           [0009]      FIG. 4  is a block diagram of the format of a data packet object that may be used with the data packet shown in  FIG. 3 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0010]      FIG. 1  is a schematic view of an exemplary architecture for a portion of a data acquisition system  100  in accordance with an embodiment of the present invention. Data acquisition system  100  includes a data storage and acquisition element  102  that communicates with other data acquisition system  100  elements through a bus  104 , for example, a PCI bus. A data transfer interface  106  facilitates formatting the communicated data in a predetermined protocol on bus  104 . A plurality of data source elements  108 , such as data acquisition system input cards each communicate through bus  104  with other data acquisition system  100  elements. Each input card  108  includes a PCI bus interface  109  that facilitates formatting the input data in the protocol used on bus  104 . Each input card  108  also includes an input connection that is communicatively coupled to a sensor  112  such as a vibration sensor. A configuration and control interface  114  is used to transmit configuration and control messages from data storage and acquisition element  102  to elements communicatively coupled to configuration and control interface  114 . 
         [0011]      FIG. 2  is a block diagram of the format of a configuration and control message packet  200  that may be used with data acquisition system  100  (shown in  FIG. 1 ). During operation of  100 , a detailed description of the electrical hardware and data display parameters are defined prior to actual data acquisition by data acquisition system  100 . In at least some known prior art systems (not shown), such configuration parameters are defined prior to data acquisition, and then remain constant for the duration of data acquisition. In the exemplary embodiment, data acquisition system  100  permits on-the-fly configuration such that configurations of each of data source elements  108  can be changed during data acquisition and display to facilitate quick and efficient interpretation of the data. In known systems, if changes are made to configuration parameters it is difficult to correlate acquired data to the set of configuration parameters used while the data was acquired. Additionally, known configuration and control interfaces do not support individual parameters to be modified. As described herein, individual configuration parameters that control the acquisition of data by data source elements  108  are selectably individually changeable and substantially eliminate the need to correlate configuration parameters that can change on-the-fly to specific units of data. The configuration parameters used by each data source element  108  at the time of the acquisition of data is included in the message packet containing the acquired data. Transmitting the acquired data and the configuration parameters used at the time of data acquisition in the same message packet permits the data to be quickly interpreted without referencing an external database to obtain configuration information. The configuration information is used to correctly interpret the data. In known data acquisition systems, for on-the-fly parameters, before a packet of data can be interpreted, its associated configuration parameters are fetched from a configuration database, which increases the processing requirements of the system and/or slows down the system capability to a greater extent than interpreting the actual data. 
         [0012]    In the exemplary embodiment, a configuration and control protocol is used that is flexible to allow single or multiple configuration parameters to be changed using a single configuration packet such that on-the-fly configuration changes are supported. A message can be comprised of any number of objects. In the exemplary embodiment, an individual object contains an individual configuration parameter. Because of this a single or any number of configuration parameters can be supplied to any input card  108  at any time. Additionally, to mark a beginning of a configuration sequence and an end of a configuration sequence, multiple messages are bundled together in a packet. By bundling the messages together special enter configuration and exit configuration tokens do not need to be passed from system component to component. 
         [0013]    Configuration and control message packet  200  includes a protocol field  202  is used to identify the protocol used with the message packet. Various protocol types are configurable and future protocols may be generated without affecting existing protocols. A packet  204  includes a packet header  206  and one or more messages  208 . Packet header  206  supports providing the entire configuration of any input card  108  using a single configuration packet. A message header  210  includes a message ID field that identifies the operation, a message overall length field that identifies the length of entire message, including the message header, and an operator such as a set operator, a get operator, a response, and a trap. A trap is an unsolicited event or message that informs the SBC of asynchronous events. Each object  212  included in a message  208  includes an object header  214 . Object header  214  includes an object identifier (OID) and a length field that describes an overall length of object  212 . Each object also includes a data field  216  that includes the individual configuration parameters. 
         [0014]      FIG. 3  is a block diagram of the format of a data packet  300  that may be used with data acquisition system  100  (shown in  FIG. 1 ). In the exemplary embodiment, data packets  300  are similar to configuration and control packets, in that at the lowest layer they contain objects. However data packet objects are different from configuration and control objects in that they contain data as well as all the configuration parameters that can change on-the-fly for a specific data object type. Data packet  300  includes a protocol field  302  that is used to identify the protocol. A packet header  304  includes a packet overall length field that describes the overall length of the packet, including packet header  304  and a time sync index that points software to the correct time offset index within a data base. 
         [0015]    An object header  306  includes an object identifier (OID), and an identifier that varies for a given object type. For example, for some objects the identifier indicates physical channel, for others a group ID. For some objects the identifier is not used. A cause field indicates why a sample was taken and if the data is pre-trigger or post trigger. In the case of an event notification the cause field is used by firmware to indicate to the system computer if the group has transitioned in or out of the triggered state. The cause field is used to indicate the reason why the data was collected such as due to an amplitude event, delta time event, rpm event, or some other external event. A length filed describes the overall length of the object including the header in bytes. A data field  308  includes both acquired data and all the configuration parameters that can change on-the-fly for the specific object type. 
         [0016]      FIG. 4  is a block diagram of the format of a data packet object  400  that may be used with data packet  300  (shown in  FIG. 3 ). In the exemplary embodiment, configuration parameters are combined with the acquired data by including the configuration parameters that can change on-the-fly with the actual data that is acquired. By combining the acquired data with the configuration parameters that can change on-the-fly, the system interpreting the data does not need to refer to an external configuration data base. Limiting references to an external database decreases the loading on data acquisition system  100  by allowing the system component interpreting the data to exclusively dedicate its resources to interpreting the data and not communicating with an external configuration data base. In the exemplary embodiment, data packet object  400  comprises a spectral data object that includes a waveform id field and a spectral data configuration field  404 . Information contained in spectral data configuration field  404  includes transducer scale factor, transducer full scale range, signal gain, reference direction, transducer orientation angle and direction, shaft rotational direction, number of waveforms to average, begin frequency, and end frequency. The configuration information can be changed on-the-fly and is used by software to determine how to display the data. 
         [0017]    A spectral data sample information field  406  includes, for example, a number samples that describes the number of raw samples included in the object. A time stamp is generated by a high resolution, 100 microsecond (μs) resolution hardware timer that indicates when the first sample was acquired. A data type field describes the type of sampling used, for example, asynchronous, synchronous, true zoom asynchronous, or true zoom synchronous. A spectral data samples field  408  includes the acquired data described in for example, an unsigned 16 bit value. 
         [0018]    A static data object field  408  includes the acquired data configuration. In the exemplary embodiment, the following information is included: 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 Description 
               
               
                   
               
             
             
               
                 Transducer Scale Factor 
                 Can be changed on the fly and is used by software 
               
               
                   
                 to determine how to display the data. 
               
               
                   
                 Range of values 0.05 [V] to 0.6 [V] 
               
               
                   
                 0.16 format, value/2**16. 
               
               
                 Transducer Full Scale 
                 Can be changed on the fly and is used by software 
               
               
                 Range 
                 to determine how to display the data 
               
               
                 Signal Gain 
                 Can be changed on the fly and is used by software 
               
               
                   
                 to determine how to display the data. 
               
               
                   
                 x1, x5, x10 or x20 . . . 
               
               
                 Slope (filter) 
                 Number polls for band pass filter 
               
               
                 1X Bandwidth Filter 
                 The width of the filter will stay the same, however 
               
               
                 2X Bandwidth Filter 
                 it&#39;s center frequency change depending on the 
               
               
                 Bandwidth Filter_0 (nX) 
                 speed of the machine. 
               
               
                 Bandwidth Filter_1 (nX) 
               
               
                 Bandwidth Filter_2 (nX) 
               
               
                 Bandwidth Filter_3 (nX) 
               
               
                 Center Frequency_0 (nX) 
                 The center frequency will move with the 
               
               
                 Center Frequency_1 (nX) 
                 synchronous speed of the machine. 
               
               
                 Center Frequency_2 (nX) 
                 16.16 Format. 
               
               
                 Center Frequency_3 (nX) 
                 The first 16 bits are used for the whole number 
               
               
                   
                 the second 16 bits are used for the fractional 
               
               
                   
                 portion of the number. 
               
               
                 Corner Frequency (Low Pass) 
                 Channel low pass filter corner 
               
               
                 Corner Frequency (High Pass) 
                 Channel high pass filter corner 
               
               
                 Integrated 
                 Indicates what type of integration this channel is to perform, 
               
               
                   
                 if any. 
               
               
                 Mode 
                 Indicates the sampling mode 
               
               
                 Reference Direction 
                 Echoed back to SBC, used for forward and 
               
               
                   
                 reverse vector calculations 
               
               
                 Shaft Rotational Direction 
                 Echoed back to SBC, used for forward and 
               
               
                   
                 reverse vector calculations 
               
               
                 Transducer Orientation 
                 Echoed back to the SBC, used for forward and 
               
               
                 Angle and Direction 
                 reverse vector calculations 
               
               
                 Units 
                 Echoed back to the SBC, used to indicate units 
               
               
                   
                 (pressure, distance, velocity etc) 
               
               
                   
               
             
          
         
       
     
         [0019]    The above-described on-the-fly configuration method is cost-effective and highly reliable. The method permits configurations to be changed “during” data acquisition and display and also permits the data to be quickly and efficiently interpreted and individual parameters to be changed individually such that correlating configuration parameters that can change on-the-fly to specific units of data is performed using configuration information contained in each message packet. Accordingly, the on-the-fly configuration method facilitates the interpretation of acquired data in a cost-effective and reliable manner. 
         [0020]    While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims.