mbus CSDB Discriminate SI For Label.vi
The mbus CSDB Discriminate SI For Label function is useful to treat incoming messages using the same label but different Source Identifiers (SI) as separate messages. SI discrimination is enabled or disabled for one label.
The SI is the two Least Significant Bits of the data. It serves as a label extension and can help differentiate two identical units in the same environment.
A data stream may include message showing up with different SIs. In the general case, in sampling, SI discrimination is disabled, and labels are the only message ID. Therefore, each label is returned individually, regardless of the SI. When SI discrimination is enabled, the label-SI pair is the message ID. In this case, each label-SI is returned individually.
Example: Assuming label 0x20 shows with SI 0 every 100 ms and with SI 1 every 100 ms with a 50 ms offset. Tables below reflect what is returned to the user depending on selected receive settings.
|Label 0x20 SI 0||Received at time tag 0 ms|
|Label 0x20 SI 1||Received at time tag 50 ms|
|Label 0x20 SI 0||Received at time tag 100 ms|
|Label 0x20 SI 1||Received at time tag 150 ms|
|Label 0x20 SI 0||Received at time tag 200 ms|
|Label 0x20 SI 1||Received at time tag 250 ms|
|Sampling with no SI filtering|
|Label 0x20||Receiving rate of 50 ms|
|Sampling with SI filtering|
|Label 0x20 SI 0||Receiving rate of 100 ms|
|Label 0x20 SI 1||Receiving rate of 100 ms|
|error in||in||error conditions that occur before entering the function|
|portHandle||in||reference to the configured port|
|label||in||CSDB label onto which SI discrimination is set|
|enable||in||Enables (true) or disables (false) SI discrimination|
|portHandle||out||reference to the configured port|
|error out||out||error information|
|function return||out||function execution status|
Handle parameters are available as input and output. Output is a copy of the input and may be used to daisy chain successive VIs and reduce wire density.
Available in Multibus VI 1.3 and later.