If only dynamic measurement data is required, there is theoretically no need to start static measurement. However, in reality static measurement is always started, e.g. for a live view of the measurement values while a dynamic measurement is active. The following figure shows the required steps for starting a static measurement:
Steps for "starting static measurement"
oThe function MSC_SetupStaticChannel together with the Opcode opcRS (0x40) starts the cyclic transfer of static measurement values through the MscDll. A buffer must be provided to this function. The MscDll will place the static measurement values into this buffer. All measurement values are stored as „32 Bit signed integer“ – values (little ended), independent of the data type of the respective measurement channel.
The required buffer size depends on the maximum number of measurement channels. Each channel required 4 Bytes, e.g.:
8 measurement channels -> 32 Bytes
64 measurement channels -> 256 Bytes
Since plenty of memory is available on a PC, it is good practice to allocate 1024 bytes of memory for a maximum of 256 measurement channels.
The following table shows the buffer layout:
Bytes (Hex) |
Size |
Content |
---|---|---|
0x00 .. 0x03 |
4 Bytes |
Measurement value of channel 1 |
0x04 .. 0x07 |
4 Bytes |
Measurement value of channel 2 |
0x08 .. 0x0B |
4 Bytes |
Measurement value of channel 3 |
0x0C .. 0x0F |
4 Bytes |
Measurement value of channel 4 |
0x10 .. 0x13 |
4 Bytes |
Measurement value of channel 5 |
0x14 .. 0x17 |
4 Bytes |
Measurement value of channel 6 |
0x18 .. 0x1B |
4 Bytes |
Measurement value of channel 7 |
0x1C .. 0x1F |
4 Bytes |
Measurement value of channel 8 |
0x20 .. 0x23 |
4 Bytes |
Measurement value of channel 9 |
etc. |
||
|
4 Bytes |
Measurement value of channel n |
oAfter calling the function MSC_SetNotificationMessage (alternatively MSC_SetNotificationEvent or MSC_SetNotificationCallback) together with the opcode opcRS (0x40), the application is informed every time new static measurement values are available. It is up to the application whether it uses or ignores them.
Using notifications is recommended, but not required.
oThe measurement values are first stored into an internal buffer of the MscDll. In order to copy them into the buffer of the application, the function MSC_ReadStatic together with the opcode opcRS (0x40) must be called (see following figure). This procedure must be repeated every time new measurement values have been received.
Steps for "copying static measurement values into the buffer of the application"
The update rate for measurement values depends on two factors:
oThe update-rate of the MscDll.
oThe internal update-rate of the Irinos-System.
The update-rate of the MscDll is determined by the send-period, which has been defined during connection establishment with MSC_Start. If the send-period is 30ms, the update-rate is about 30 updates/s; 20ms send-period result in 50 updates/s. The highest achievable update-rate with a send-period of 1ms is a little bit more than 100 updates/s.
The internal update-rate of the Irinos-System depends on whether a dynamic measurement is active or not.
If a dynamic measurement is active, the update-rate is always about 30 updates/s.
If dynamic measurement is inactive, the update-rate is about 100 updates/s using up to 8 Irinos-Boxes. If 32 Irinos-Boxes are used, the internal update-rate is about 30 updates/s.
The following table shows typical update rates for various combinations of send-period and "number of Irinos-Boxes", if no dynamic measurement is active:
Send-period MscDll |
Update-rate MscDll |
Number of Irinos-Boxes |
Internal Update-rate |
Approximate number of achievable updates/s per measurement channel |
---|---|---|---|---|
[ms] |
Updates/s |
|
Updates/s |
Updates/s |
30 |
30 |
≤ 8 |
100 |
30 |
30 |
30 |
12 |
80 |
30 |
30 |
30 |
16 |
60 |
30 |
30 |
30 |
24 |
45 |
30 |
30 |
30 |
32 |
30 |
30 |
20 |
50 |
≤ 8 |
100 |
50 |
20 |
50 |
12 |
80 |
50 |
20 |
50 |
16 |
60 |
50 |
20 |
50 |
24 |
45 |
45 |
20 |
50 |
32 |
30 |
30 |
1 |
100 |
≤ 8 |
100 |
100 |
1 |
100 |
12 |
80 |
80 |
1 |
100 |
16 |
60 |
60 |
1 |
100 |
24 |
45 |
45 |
1 |
100 |
32 |
30 |
30 |
➔ For most applications a send-period of 1ms is recommended.
The update-rate is independent of the number of channels. It does not matter, whether 7, 23 or 41 static measurement channels are used. Traditional systems often provide an update-rate, which depends on the number of measurement channels. Thus it is far lower than it appears at first glance. This limitation does not apply to the Irinos-System. |
Please not that all update-rates above are estimated values but not guaranteed. In case a data frame gets lost, a longer break between two updates may occur. If a guaranteed sample-rate is required, dynamic measurement must be used. |