ErrorCode/ErrorInfo parameters

ErrorCode and ErrorInfo parameters are required for the OPTypes Error and ErrorAck. In the function catalog, however, they only appear if their content deviates from the values that are described in the MOST Specification. A common example is the use of function specific errors.


Below is an example from the ConnectionMaster FBlock (FBlockID 0x03). As mandated by the MOST Specification, ErrorCode always is of type Unsigned Byte. function specific errors -- ErrorCode

function specific errors -- ErrorCode

ErrorInfo is modeled as a Stream case with only one row populated. That is the row that matches an ErrorCode value of 0x20, which is the function specific error. The Stream case links to additional parameters, namely CMErrorCode and CMErrorInfo, which provide additional details regarding the error. function specific errors -- ErrorInfo

function specific errors -- ErrorInfo

CMErrorCode is an Enum, which lists different error cases. It also serves as Stream Selector for the CMErrorInfo stream, which, depending on the error condition, offers more information on what went wrong. For the case CMErrorCode=0x10 (not enough bandwidth), the required bandwidth and the available bandwidth are listed. function specific errors -- CMErrorCode/CMErrorInfo

function specific errors -- CMErrorCode/CMErrorInfo

Finally, the actual definition of the AvailableBandwidth and the RequiredBandwidth parameters is shown. function specific errors -- CMErrorCode/CMErrorInfo details

function specific errors -- CMErrorCode/CMErrorInfo details

.