The MscDll stores all dynamic measurement values in buffers, which must be provided by the application. For each measurement channel used in a dynamic measurement, a separate buffer is required. The channel list determines the number of measurement channels.
Example:
For the dynamic measurement 1, the channel list 1 is used. It is defined as follows:
#1;T2;T4;T5;T6;T17#
-> The channel list contains 5 measurement channels. Therefore 5 buffers for measurement values are required.
The size of the buffers depends on the maximum number of measurement values (-> maximum number of samples), which are required for the dynamic measurement. All measurement values are stored as "32 Bit integer" values (little endian), independent of the data type of the respective measurement channel. Thus follows:
oAll buffers have the same size.
oEach measurement value required 4 bytes.
Example:
A time-controlled dynamic measurement will take 2,5 seconds. The sample rate is 4.000 samples/s. Thus the required buffer size is:
4000 samples/s * 2,5s * 4 bytes/sample = 40000 bytes.
The measurement values are always transferred in related blocks to the MscDll. The MscDll stores them in the buffers, which have been allocated by the application (see following figure). This means the demultiplexing is done by the MscDll. The application can access the measurement values in the order of samples.
All buffers have the same filling level, i.e. the filling level returned by the function MSC_GetPosition applies to all buffers of a dynamic measurement.
Buffers with dynamic measurement values