<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE FunctionCatalog SYSTEM "fcat.dtd">

<!-- This function catalogue is created by Vector Informatik GmbH. -->
<FunctionCatalog>
  <CatalogVersion>
    <Release>1.0.1</Release>
    <Date/>
    <Author/>
    <Company/>
    <Modification>
      <Change/>
      <Reason/>
    </Modification>
  </CatalogVersion>

  <!-- FBlock: NetBlock -->

  <FBlock>
    <FBlockID>0x01</FBlockID>
    <FBlockKind>Administration</FBlockKind>
    <FBlockName>NetBlock</FBlockName>
    <FBlockDescription>The NetBlock provides functions that affect a whole device. Each device has to contain the function block NetBlock.</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FBlockIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FBlockIDs</FunctionName>
      <FunctionDescription>Property for inquiring the function blocks that are implemeted in a device and for setting the InstID.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- FBlockID  -->
            <PUParam>
              <ParamName ParamIdx="6">FBlockID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- NewInstID -->
            <PUParam>
              <ParamName ParamIdx="1">NewInstID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>3</ParamPos>
                  </PCmdSetGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- OldInstID -->
            <PUParam>
              <ParamName ParamIdx="2">OldInstID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>2</ParamPos>
                  </PCmdSetGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FBlockIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FBlockIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FBlockID, InstID{, FBlockID, InstID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq2">FBlockID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq2">InstID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>DeviceInfo</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ID -->
            <PUParam>
              <ParamName ParamIdx="2">ID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>175</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- Description -->
            <PUParam>
              <ParamName ParamIdx="3">Description</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="29" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x00">CompanyName</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">CompanyName</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x01">ProductName</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ProductName</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x02">ProductVersion</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ProductVersion</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x03">ProductSerialNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ProductSerialNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x04">ProductDescription</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ProductDescription</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x05">LegalCopyright</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">LegalCopyright</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x06">LegalTrademarks</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">LegalTrademarks</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x20">MostTransceiverVersion</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">MostTransceiverVersion</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x21">MostNetservicesVersion</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">MostNetservicesVersion</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x22">MostNetservicesRevision</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">MostNetservicesRevision</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TString TypeRef="type_string" MaxSize="#NULL#"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x80">ECUIdentificationDataTable</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ECUIdentificationDataTable</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="29" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x81">ECUIdentificationScalingTable</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ECUIdentificationScalingTable</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="29" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x82..0x87">reservedByDocument</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">Dummy1</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="1" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x88">changeIndex</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">changeIndex</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="2" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x89">systemSupplierECUSerialNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">systemSupplierECUSerialNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="9" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x8A..0x8F">systemSupplierSpecific</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">Dummy2</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="1" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x90">VIN</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">VIN</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="7" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x91">vehicleManufacturerECUHardwareNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">vehicleManufacturerECUHardwareNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="18" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x92">systemSupplierECUHardwareNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">systemSupplierECUHardwareNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="29" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x93">systemSupplierECUHardwareVersionNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">systemSupplierECUHardwareVersionNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="29" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x94">systemSupplierECUSoftwareNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">systemSupplierECUSoftwareNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="29" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x95">systemSupplierECUSoftwareVersionNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">systemSupplierECUSoftwareVersionNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="29" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x96">exhaustRegulationOrTypeApprovalNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">exhaustRegulationOrTypeApprovalNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="6" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x97">systemNameOrEngineType</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">systemNameOrEngineType</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="2" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x98">repairShopCodeAndTesterSerialNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">repairShopCodeOrTesterSerialNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="8" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x99">ProgrammingDate</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ProgrammingDate</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="4" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x9A">vehicleManufacturerECUHardwareVersionNumber</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">vehicleManufacturerECUHardwareVersionNumber</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="1" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x9B">vehicleManufacturerCodingIndex</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">vehicleManufacturerCodingIndex</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="1" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x9C">vehicleManufacturerDiagnosticIndex</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">vehicleManufacturerDiagnosticIndex</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="2" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x9D">dateOfECUManufacturing</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">dateOfECUManufacturing</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="4" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x9E">systemSupplierIndex</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">systemSupplierIndex</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="1" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0x9F">vehicleManufECUSoftwareLayerVersionNumbers</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">vehicleManufECUSoftwareLayerVersionNumbers</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="12" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0xA0">MOSTVersion</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">MOSTVersion</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="10" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0xAE">MOSTConfigurationSwitch</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">MOSTConfigurationSwitch</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="1" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ID" PosY="0xAF">OpticalTransmitPowSwitch</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">OpticalTransmitPowSwitch</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="1" TypeRef="type_stream"/>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="7">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="8">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NodePositionAddress</FunctionName>
      <FunctionDescription>Inquire the node position address of the device with this property.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NodePositionAddress -->
            <PNParam>
              <ParamName ParamIdx="1">NodePositionAddress</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0x0400</RangeMin>
                  <RangeMax>0x04FF</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x003</FunctionID>
      <FunctionName>NodeAddress</FunctionName>
      <FunctionDescription>With this property the logical node address of the devices can be set or inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NodeAddress -->
            <PNParam>
              <ParamName ParamIdx="1">NodeAddress</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x004</FunctionID>
      <FunctionName>GroupAddress</FunctionName>
      <FunctionDescription>With this property the group address of the devices can be set or inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- GroupAddress -->
            <PNParam>
              <ParamName ParamIdx="1">GroupAddress</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x005</FunctionID>
      <FunctionName>PermissionToWake</FunctionName>
      <FunctionDescription>Activate or deactivate the device's ability to wake up the network. This function decides if a device has permission to WakeUp. Operation SetGet shall not be used, use Set instead.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration</FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void"/>
              </PEParamType>
            </PEParam>
            <!-- WakeStatus -->
            <PEParam>
              <ParamName ParamIdx="1">WakeStatus</ParamName>
              <ParamDescription>Permission to wake up the network.</ParamDescription>
              <PEParamOPType>
                <PECommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PECommand>
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="2">
                  <TEnumValue Code="0x00">Off</TEnumValue>
                  <TEnumValue Code="0x01">On</TEnumValue>
                  <TEnumValue Code="0x02">Critical</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand/>
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void"/>
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand/>
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void"/>
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x006</FunctionID>
      <FunctionName>ShutDown</FunctionName>
      <FunctionDescription>In normal operation mode only the Power Master switches off the network.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method </FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- Suspend -->
            <MUParam>
              <ParamName ParamIdx="1">Suspend</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStart OPTypeRef="MCmdStart">
                    <ParamPos>1</ParamPos>
                  </MCmdStart>
                  <MCmdStartAck OPTypeRef="MCmdStartAck">
                    <ParamPos>2</ParamPos>
                  </MCmdStartAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>2</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="5">
                  <TEnumValue Code="0x00">Query</TEnumValue>
                  <TEnumValue Code="0x01">Suspend</TEnumValue>
                  <TEnumValue Code="0x02">Execute</TEnumValue>
                  <TEnumValue Code="0x03">Temperature Shutdown</TEnumValue>
                  <TEnumValue Code="0x04">Device Shutdown</TEnumValue>
                  <TEnumValue Code="0x05">Wake from Device Shutdown</TEnumValue>
                </TEnum>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>2</ParamPos>
                  </MReportErrorAck>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- SenderHandle -->
            <MUParam>
              <ParamName ParamIdx="1">SenderHandle</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartAck OPTypeRef="MCmdStartAck">
                    <ParamPos>1</ParamPos>
                  </MCmdStartAck>
                </MUCommand>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>1</ParamPos>
                  </MReportErrorAck>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>1</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>3</ParamPos>
                  </MReportErrorAck>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x007</FunctionID>
      <FunctionName>RetryParameters</FunctionName>
      <FunctionDescription>With this property the retry time of the devices can be set or inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- RetryNumbers -->
            <PUParam>
              <ParamName ParamIdx="1">RetryNumbers</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>2</ParamPos>
                  </PCmdSetGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- RetryTime -->
            <PUParam>
              <ParamName ParamIdx="2">RetryTime</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>3</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x008</FunctionID>
      <FunctionName>SamplingFrequency</FunctionName>
      <FunctionDescription>Inquire the sampling frequency of the MOST Network. This property is provided only in that device, which contains the timing master. A slave device reports an error message "function not available".</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- ErrorCode -->
            <PNParam details="true">
              <ParamName ParamIdx="#NULL#">SamplingFrequency</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TULong TypeRef="type_unsigned_long"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <PNParam details="false">
              <ParamName ParamIdx="#NULL#"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <PNParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- ShutDownReason -->
    <Function>
      <FunctionID>0x009</FunctionID>
      <FunctionName>ShutDownReason</FunctionName>
      <FunctionDescription>State information before last restart of the network.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam>
              <ParamName ParamIdx="#NULL#">DiagID</ParamName>
              <ParamDescription>The diagnostic identifier of the device. The content is defined by the system integrator and its length has to be chosen so that the message can be sent as an unsegmented control message.</ParamDescription>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream TypeRef="type_stream"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <!-- ErrorCode -->
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">SSOCUStatus</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <!-- SSOCUStatus -->
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x23">
                  <TEnumValue Code="0x00">No result available</TEnumValue>
                  <TEnumValue Code="0x01">No fault saved</TEnumValue>
                  <TEnumValue Code="0x02">Sudden Signal Off</TEnumValue>
                  <TEnumValue Code="0x03">Critical Unlock</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <!-- ErrorInfo -->
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- ImplFBlockIDs -->
    <Function>
      <FunctionID>0x012</FunctionID>
      <FunctionName>ImplFBlockIDs</FunctionName>
      <FunctionDescription>Provides a static list with all implemented FBlocks.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ImplFBlockIDs</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">Stream structure: {FBlockID1, InstID1}{, FBlockID2, InstID2} ...</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq2">FBlockID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>-</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>-</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq2">InstID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>-</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>-</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <!-- ErrorInfo -->
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- EUI48 -->
    <Function>
      <FunctionID>0x013</FunctionID>
      <FunctionName>EUI48</FunctionName>
      <FunctionDescription>Provides an IEEE defined 48-bit extended unique identifier.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
      </FunctionVersion>
      <FunctionClass ClassRef="class_sequence_property">
        <FunctionClassDesc>Sequence Property</FunctionClassDesc>
        <Property>
          <PSequence>
            <PQParam>
              <ParamName ParamIdx="#NULL#">EUI5</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>6</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PQParamType>
            </PQParam>
            <PQParam>
              <ParamName ParamIdx="#NULL#">EUI4</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>5</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PQParamType>
            </PQParam>
            <PQParam>
              <ParamName ParamIdx="#NULL#">EUI3</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>4</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PQParamType>
            </PQParam>
            <PQParam>
              <ParamName ParamIdx="#NULL#">EUI2</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PQParamType>
            </PQParam>
            <PQParam>
              <ParamName ParamIdx="#NULL#">EUI1</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PQParamType>
            </PQParam>
            <PQParam>
              <ParamName ParamIdx="#NULL#">EUI0</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PQParamType>
            </PQParam>
            <PQParam details="false">
              <ParamName ParamIdx="#NULL#"/>
              <ParamDescription/>
              <PQParamOPType>
                <PQCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PQCommand>
              </PQParamOPType>
              <PQParamType>
                <TVoid TypeRef="type_void"/>
              </PQParamType>
            </PQParam>
            <PQParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PQReport>
              </PQParamOPType>
              <!-- ErrorCode -->
              <PQParamType>
                <TVoid TypeRef="type_void"/>
              </PQParamType>
            </PQParam>
            <PQParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
              <PQParamOPType>
                <PQReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PQReport>
              </PQParamOPType>
              <!-- ErrorInfo -->
              <PQParamType>
                <TVoid TypeRef="type_void"/>
              </PQParamType>
            </PQParam>
          </PSequence>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x010</FunctionID>
      <FunctionName>Version</FunctionName>
      <FunctionDescription>This function has to be implemented in every node. It describes the version of the FBlock, divided into the major version, the minor version and the build number. (E.g., Version 2.3.5)</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam>
              <ParamName ParamIdx="1">Major</ParamName>
              <ParamDescription>Major version value of the FBlock.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="1">Minor</ParamName>
              <ParamDescription>Minor version value of the FBlock.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="1">Build</ParamName>
              <ParamDescription>Build number of the FBlock.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x100</FunctionID>
      <FunctionName>SourceHandles</FunctionName>
      <FunctionDescription>The function SourceHandles is able to determine which function block in a device holds a particular connection at the moment. If an inquiry carries the Handle = 0xFF, all respective function blocks for each connection will be returned.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- FBlockID  -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">Handle</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>59</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- HandleFBlockList -->
            <PUParam>
              <ParamName ParamIdx="1">HandleFBlockList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">Handle, FBlockID, InstID {, Handle, FBlockID, InstID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq3">Handle</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>59</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq3">FBlockID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="3seq3">InstID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x401</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll </TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceID {, DeviceID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x402</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription>Under certain system conditions it can be helpfull if a device can check whether its entries are still existent in the notification matrix or not. In case of error, a device is able to renew its entries.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- RBDResult -->
    <Function>
      <FunctionID>0x405</FunctionID>
      <FunctionName>RBDResult</FunctionName>
      <FunctionDescription>Provides the result of the RBD test containing the status of the test and its diagnostic identifier.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam>
              <ParamName ParamIdx="#NULL#">DiagID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream TypeRef="type_stream"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">RBDStatus</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x02">
                  <TEnumValue Code="0x00">Activity and lock</TEnumValue>
                  <TEnumValue Code="0x01">Activity but no lock</TEnumValue>
                  <TEnumValue Code="0x02">No activity</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0xA03</FunctionID>
      <FunctionName>Boundary</FunctionName>
      <FunctionDescription>Property for administration of the boundary between streaming data and packet data. This property is available only in the TimingMaster device, and therefore only accessible in the NetBlock with instance ID 0.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void" />
              </PNParamType>
            </PNParam>
            <!-- BoundaryDescriptor -->
            <PNParam>
              <ParamName ParamIdx="1">BoundaryDescriptor</ParamName>
              <ParamDescription>Boundary between streaming data and packet data in quadlets.</ParamDescription>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>93</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Protocols: OPType")</ParamDescription>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Protocols: OPType")</ParamDescription>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
  </FBlock>

  <!-- FBlock: NetworkMaster -->

  <FBlock>
    <FBlockID>0x02</FBlockID>
    <FBlockKind>Administration</FBlockKind>
    <FBlockName>NetworkMaster</FBlockName>
    <FBlockDescription>In a MOST network there exists exactly one Network Master. The Network Master administrates the central registry that represents an image of the physical and logical system configuration.</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">
                      FktID1, FktID2,
                      ...
                    </PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0x010</FunctionID>
      <FunctionName>Version</FunctionName>
      <FunctionDescription>This function has to be implemented in every node. It describes the version of the FBlock, divided into the major version, the minor version and the build number. (E.g., Version 2.3.5)</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam>
              <ParamName ParamIdx="1">Major</ParamName>
              <ParamDescription>Major version value of the FBlock.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="1">Minor</ParamName>
              <ParamDescription>Minor version value of the FBlock.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="1">Build</ParamName>
              <ParamDescription>Build number of the FBlock.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0xA00</FunctionID>
      <FunctionName>Configuration</FunctionName>
      <FunctionDescription>Informs each device about the state of the network configuration. If this correspond to the previous operation, the devices may hold their decentral registries. The Status is reported by a broadcast message.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_sequence_property">
        <FunctionClassDesc>Sequence Property</FunctionClassDesc>
        <Property>
          <PSequence>
            <PQParam details="false">
              <ParamName ParamIdx="#NULL#"/>
              <ParamDescription/>
              <PQParamOPType>
                <PQCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PQCommand>
              </PQParamOPType>
              <PQParamType>
                <TVoid TypeRef="type_void"/>
              </PQParamType>
            </PQParam>
            <PQParam>
              <ParamName ParamIdx="#NULL#">ConfigurationControl</ParamName>
              <ParamDescription>Validity of the Central Registry.</ParamDescription>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x04">
                  <TEnumValue Code="0x00">NotOK</TEnumValue>
                  <TEnumValue Code="0x01">OK</TEnumValue>
                  <TEnumValue Code="0x02">Invalid</TEnumValue>
                  <TEnumValue Code="0x03">New</TEnumValue>
                  <TEnumValue Code="0x04">NewExt</TEnumValue>
                </TEnum>
              </PQParamType>
            </PQParam>
            <PQParam>
              <ParamName ParamIdx="#NULL#">DeltaFBlockList</ParamName>
              <ParamDescription>List of changed FBlocks.</ParamDescription>
              <PQParamOPType>
                <PQReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TStream TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="ConfigurationControl" PosY="0x00...0x01">-</PosDescription>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ConfigurationControl" PosY="0x02...0x03">Stream structure: {FBlockID1, InstID1} {, FBlockID2, InstID2} ...</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq2">FBlockID</ParamName>
                      <ParamDescription>Functional address of an FBlock.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>1</RangeMin>
                          <RangeMax>255</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq2">InstID</ParamName>
                      <ParamDescription>Distinction of identical FBlocks in a system.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>255</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="ConfigurationControl" PosY="0x04">Stream structure: {RxTxLog1, FBlockID1, InstID1} {, RxTxLog2, FBlockID2, InstID2} ...</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq3">RxTxLog</ParamName>
                      <ParamDescription>Calculated by each device when the network is initialized: RxTxLog = 0x0100 + RxTxPos.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq3">FBlockID</ParamName>
                      <ParamDescription>Functional address of an FBlock.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>1</RangeMin>
                          <RangeMax>255</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="3seq3">InstID</ParamName>
                      <ParamDescription>Distinction of identical FBlocks in a system.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>255</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PQParamType>
            </PQParam>
            <PQParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TVoid TypeRef="type_void"/>
              </PQParamType>
            </PQParam>
            <PQParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PQParamOPType>
                <PQReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PQReport>
              </PQParamOPType>
              <PQParamType>
                <TVoid TypeRef="type_void"/>
              </PQParamType>
            </PQParam>
          </PSequence>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0xA01</FunctionID>
      <FunctionName>CentralRegistry</FunctionName>
      <FunctionDescription>Inquiry of informations about a function block out of the central registry. The parameter InstID is optional. After a Get without any parameter the network master reponds with all registry entries.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- FBlockID -->
            <PUParam>
              <ParamName ParamIdx="4">FBlockID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!--InstID -->
            <PUParam>
              <ParamName ParamIdx="5">InstID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>2</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FBlockInfoList -->
            <PUParam>
              <ParamName ParamIdx="1">FBlockInfoList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">RxTxLog, FBlockID, InstID {, RxTxLog, FBlockID, InstID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq3">RxTxLog</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq3">FBlockID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="3seq3">InstID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>1</RangeMin>
                          <RangeMax>255</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0xA02</FunctionID>
      <FunctionName>SaveConfiguration</FunctionName>
      <FunctionDescription>Function for saving the central registry as default configuration.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_trigger">
        <FunctionClassDesc>Trigger </FunctionClassDesc>
        <Method>
          <MTrigger>
            <!-- void -->
            <MTParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <MTParamOPType>
                <MTCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>0</ParamPos>
                  </MCmdStartResult>
                </MTCommand>
                <MTReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>0</ParamPos>
                  </MReportResult>
                </MTReport>
              </MTParamOPType>
              <MTParamType>
                <TVoid TypeRef="type_void"/>
              </MTParamType>
            </MTParam>
            <!-- ErrorCode -->
            <MTParam details="false">
              <ParamName ParamIdx="1">ErrorCode</ParamName>
              <ParamDescription/>
              <MTParamOPType>
                <MTCommand/>
                <MTReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MTReport>
              </MTParamOPType>
              <MTParamType>
                <TVoid TypeRef="type_void"/>
              </MTParamType>
            </MTParam>
            <!-- ErrorInfo -->
            <MTParam details="false">
              <ParamName ParamIdx="2">ErrorInfo</ParamName>
              <ParamDescription/>
              <MTParamOPType>
                <MTCommand/>
                <MTReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MTReport>
              </MTParamOPType>
              <MTParamType>
                <TVoid TypeRef="type_void"/>
              </MTParamType>
            </MTParam>
          </MTrigger>
        </Method>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID>0xA03</FunctionID>
      <FunctionName>Boundary</FunctionName>
      <FunctionDescription>Property for administration of the boundary between synchronous and asynchronous area in the network master.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- BoundaryDescriptor -->
            <PNParam>
              <ParamName ParamIdx="1">BoundaryDescriptor</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>93</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <Function>
      <FunctionID Occurrence="Optional">0xA10</FunctionID>
      <FunctionName>SystemAvail</FunctionName>
      <FunctionDescription>
After System State OK is entered the NetworkMaster shall query the property ImplFBlockIDs of each device that either reported an empty or non empty list as FBlockIDs.Status before.
Furthermore, the NetworkMaster shall also query the property ImplFBlockIDs after it has received an FBlockIDs.Status message from a device that has not replied to ImplFBlockIDs.Get at all or has replied with ImplFBlockIDs.Error 0x41 before.
A system integrator may decide to delay that request according to the specific needs.
By comparing the list of implemented FBlocks with the list of registered FBlocks in the Central Registry, the NetworkMaster can determine the current state of the system configuration and makes this information available via the function SystemAvail.
This function is optional.
      </FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam>
              <ParamName ParamIdx="#NULL#">DeviceAvail</ParamName>
              <ParamDescription>Device availability.</ParamDescription>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x02">
                  <TEnumValue Code="0x00">Incomplete</TEnumValue>
                  <TEnumValue Code="0x01">Complete</TEnumValue>
                  <TEnumValue Code="0x02">Error</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">FBlockAvail</ParamName>
              <ParamDescription>FBlock availability.</ParamDescription>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x01">
                  <TEnumValue Code="0x00">Incomplete</TEnumValue>
                  <TEnumValue Code="0x01">Complete</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam details="false">
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
  </FBlock>

  <!-- FBlock: ConnectionMaster -->

  <FBlock>
    <FBlockID>0x03</FBlockID>
    <FBlockKind>Administration</FBlockKind>
    <FBlockName>ConnectionMaster</FBlockName>
    <FBlockDescription>Synchronous connection management</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: BuildSyncConnection -->
    <Function>
      <FunctionID>0x200</FunctionID>
      <FunctionName>BuildSyncConnection</FunctionName>
      <FunctionDescription>This method instructs the connection master to build a synchronous connection between sink and source.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method </FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- SenderHandle -->
            <MUParam>
              <ParamName ParamIdx="1">SenderHandle</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>1</ParamPos>
                  </MReportErrorAck>
                  <MReportProcessingAck OPTypeRef="MReportProcessingAck">
                    <ParamPos>1</ParamPos>
                  </MReportProcessingAck>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>1</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SinkNr -->
            <MUParam>
              <ParamName ParamIdx="2">SinkNr</ParamName>
              <ParamDescription>Number of data sink within the sink FunctionBlock. 0x01 for the first sink.</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>6</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>7</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>6</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>7</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SinkInstID -->
            <MUParam>
              <ParamName ParamIdx="3">SinkInstID</ParamName>
              <ParamDescription>Instance ID of the Synchronous data sink</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>5</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>6</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>5</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>6</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SinkFBlock -->
            <MUParam>
              <ParamName ParamIdx="4">SinkFBlock</ParamName>
              <ParamDescription>Function Block ID of the Synchronous data sink</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>4</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>5</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>4</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>5</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="5">SourceNr</ParamName>
              <ParamDescription>Number of data source within the Source FBlock. 0x01 for the first source.</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>4</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>3</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>4</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceInstID -->
            <MUParam>
              <ParamName ParamIdx="6">SourceInstID</ParamName>
              <ParamDescription>Instance ID of the Synchronous data source</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>2</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>3</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceFBlock -->
            <MUParam>
              <ParamName ParamIdx="7">SourceFBlock</ParamName>
              <ParamDescription>FBlock ID of the Synchronous data source</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>2</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="8">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>2</ParamPos>
                  </MReportErrorAck>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam>
              <ParamName ParamIdx="1">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>3</ParamPos>
                  </MReportErrorAck>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: RemoveSyncConnection -->
    <Function>
      <FunctionID>0x201</FunctionID>
      <FunctionName>RemoveSyncConnection</FunctionName>
      <FunctionDescription>This method instructs the connection master to remove the synchronous connection between the specified sink and source.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- SenderHandle -->
            <MUParam>
              <ParamName ParamIdx="1">SenderHandle</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>1</ParamPos>
                  </MReportErrorAck>
                  <MReportProcessingAck OPTypeRef="MReportProcessingAck">
                    <ParamPos>1</ParamPos>
                  </MReportProcessingAck>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>1</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SinkNr -->
            <MUParam>
              <ParamName ParamIdx="2">SinkNr</ParamName>
              <ParamDescription>Number of data sink within the sink FBlock. 0x01 for the first sink.</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>6</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>7</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>6</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>7</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SinkInstID -->
            <MUParam>
              <ParamName ParamIdx="3">SinkInstID</ParamName>
              <ParamDescription>Instance ID of the Synchronous data sink</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>5</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>6</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>5</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>6</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SinkFBlock -->
            <MUParam>
              <ParamName ParamIdx="4">SinkFBlock</ParamName>
              <ParamDescription>FBlock ID of the Synchronous data sink</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>4</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>5</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>4</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>5</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="5">SourceNr</ParamName>
              <ParamDescription>Number of data source within the Source FBlock. 0x01 for the first source.</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>4</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>3</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>4</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceInstID -->
            <MUParam>
              <ParamName ParamIdx="6">SourceInstID</ParamName>
              <ParamDescription>Instance ID of the Synchronous data source</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>2</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>3</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceFBlock -->
            <MUParam>
              <ParamName ParamIdx="7">SourceFBlock</ParamName>
              <ParamDescription>FBlock ID of the Synchronous data source</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>2</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="8">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>2</ParamPos>
                  </MReportErrorAck>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam>
              <ParamName ParamIdx="1">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>3</ParamPos>
                  </MReportErrorAck>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: SyncConnectionTable -->
    <Function>
      <FunctionID>0x400</FunctionID>
      <FunctionName>SyncConnectionTable</FunctionName>
      <FunctionDescription>Array of all existing connections including sources and sinks.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ConnectionList -->
            <PUParam>
              <ParamName ParamIdx="1">ConnectionList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">
                      SourceFBlock, SourceInstID, SourceNr, SinkFBlock, SinkInstID, SinkNr, SrcDelay, NoChannels, ChannelList
                      {, SourceFBlock, SourceInstID, SourceNr, SinkFBlock, SinkInstID, SinkNr, SrcDelay, NoChannels, ChannelList}
                    </PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq9">SourceFBlock</ParamName>
                      <ParamDescription>FBlock ID of the Synchronous data source</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>255</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq9">SourceInstID</ParamName>
                      <ParamDescription>Instance ID of the Synchronous data source</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="3seq9">SourceNr</ParamName>
                      <ParamDescription>Number of data source within the Source FBlock. 0x01 for the first source.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="4seq9">SinkFBlock</ParamName>
                      <ParamDescription>FBlock ID of the Synchronous data sink.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>255</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="5seq9">SinkInstID</ParamName>
                      <ParamDescription>Instance ID of the Synchronous data sink</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="6seq9">SinkNr</ParamName>
                      <ParamDescription>Number of data sink within the sink FBlock. 0x01 for the first sink.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="7seq9">SrcDelay</ParamName>
                      <ParamDescription>Delay of synchronous data related to the Timing Master.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="8seq9">NoChannels</ParamName>
                      <ParamDescription>Number of channels given in the parameter channels</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="9seq9">ChannelList</ParamName>
                      <ParamDescription>Channel numbers of the synchronous connection</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: AvailableChannels -->
    <Function>
      <FunctionID>0x401</FunctionID>
      <FunctionName>AvailableChannels</FunctionName>
      <FunctionDescription>This property reflects the number of synchronous channels that are currently available for connection requests.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- NoChannels -->
            <PUParam>
              <ParamName ParamIdx="1">NoChannels</ParamName>
              <ParamDescription>Number of available channels.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>  
    <!-- Function: SyncConnectionTableLabel -->
    <Function>
        <FunctionID Occurrence="Optional">0xF40</FunctionID>
        <FunctionName>SyncConnectionTableLabel</FunctionName>
        <FunctionDescription>The ConnectionMaster generates an array of all existing connections, including sources and sinks, where it adds more information. This array is accessible in the property ConnectionTable.</FunctionDescription>
        <FunctionVersion Access="public">
            <Release>0.0.1</Release>
            <Date/>
            <Author/>
            <Company/>
            <Modification>
                <Change/>
                <Reason/>
            </Modification>
        </FunctionVersion>
        <FunctionClass ClassRef="class_container">
            <FunctionClassDesc>Container</FunctionClassDesc>
            <Property>
                <PContainer>
                    <PCParam>
                        <ParamName ParamIdx="#NULL#">ConnectionList</ParamName>
                        <ParamDescription/>
                        <PCParamOPType>
                            <PCReport>
                                <PReportStatus OPTypeRef="PReportStatus">
                                    <ParamPos>1</ParamPos>
                                </PReportStatus>
                            </PCReport>
                        </PCParamOPType>
                        <!-- ConnectionList -->
                        <PCParamType>
                            <TStream TypeRef="type_stream">
                                <StreamCase>
                                    <PosDescription PosX="#NULL#" PosY="#NULL#">Stream structure: {SourceFBlock1, SourceInstID1, SourceNr1, SinkFBlock1, SinkInstID1, SinkNr1, BlockWidth1, ConnectionLabel1}
{, SourceFBlock2, SourceInstID2, SourceNr2, SinkFBlock2, SinkInstID2, SinkNr2, BlockWidth2, ConnectionLabel2}...</PosDescription>
                                    <StreamParam>
                                        <ParamName ParamIdx="1seq8">SourceFBlock</ParamName>
                                        <ParamDescription>FBlock ID of the streaming data source.</ParamDescription>
                                        <!-- SourceFBlock -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin>1</RangeMin>
                                                <RangeMax>0xFF</RangeMax>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="2seq8">SourceInstID</ParamName>
                                        <ParamDescription>Instance ID of the streaming data source</ParamDescription>
                                        <!-- SourceInstID -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin/>
                                                <RangeMax/>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="3seq8">SourceNr</ParamName>
                                        <ParamDescription>Number of a data source within the Source FBlock. 0x01 is used for the first source.</ParamDescription>
                                        <!-- SourceNr -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin>1</RangeMin>
                                                <RangeMax>255</RangeMax>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="4seq8">SinkFBlock</ParamName>
                                        <ParamDescription>FBlock ID of the streaming data sink.</ParamDescription>
                                        <!-- SinkFBlock -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin>0</RangeMin>
                                                <RangeMax>0xFF</RangeMax>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="5seq8">SinkInstID</ParamName>
                                        <ParamDescription>Instance ID of the streaming data sink.</ParamDescription>
                                        <!-- SinkInstID -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin/>
                                                <RangeMax/>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="6seq8">SinkNr</ParamName>
                                        <ParamDescription>Number of a data sink within the sink FBlock. 0x01 is used for the first sink.</ParamDescription>
                                        <!-- SinkNr -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin>1</RangeMin>
                                                <RangeMax>255</RangeMax>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="7seq8">BlockWidth</ParamName>
                                        <ParamDescription>Number of transferred bytes per MOST frame.</ParamDescription>
                                        <!-- BlockWidth -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUWord TypeRef="type_unsigned_word"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="8seq8">ConnectionLabel</ParamName>
                                        <ParamDescription>Connection identifier.</ParamDescription>
                                        <!-- ConnectionLabel -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUWord TypeRef="type_unsigned_word"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                </StreamCase>
                            </TStream>
                        </PCParamType>
                    </PCParam>
                    <PCParam details="false">
                        <ParamName ParamIdx="#NULL#"/>
                        <ParamDescription/>
                        <PCParamOPType>
                            <PCCommand>
                                <PCmdGet OPTypeRef="PCmdGet">
                                    <ParamPos>0</ParamPos>
                                </PCmdGet>
                            </PCCommand>
                        </PCParamOPType>
                        <!--  -->
                        <PCParamType>
                            <TVoid TypeRef="type_void"/>
                        </PCParamType>
                    </PCParam>
                    <PCParam details="false">
                        <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
                        <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
                        <PCParamOPType>
                            <PCReport>
                                <PReportError OPTypeRef="PReportError">
                                    <ParamPos>1</ParamPos>
                                </PReportError>
                            </PCReport>
                        </PCParamOPType>
                        <!-- ErrorCode -->
                        <PCParamType>
                            <TVoid TypeRef="type_void"/>
                        </PCParamType>
                    </PCParam>
                    <PCParam details="false">
                        <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
                        <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
                        <PCParamOPType>
                            <PCReport>
                                <PReportError OPTypeRef="PReportError">
                                    <ParamPos>2</ParamPos>
                                </PReportError>
                            </PCReport>
                        </PCParamOPType>
                        <!-- ErrorInfo -->
                        <PCParamType>
                            <TVoid TypeRef="type_void"/>
                        </PCParamType>
                    </PCParam>
                </PContainer>
            </Property>
        </FunctionClass>
    </Function>
  </FBlock>

  <!-- FBlock: PowerMaster -->

  <FBlock>
    <FBlockID>0x04</FBlockID>
    <FBlockKind>Administration</FBlockKind>
    <FBlockName>PowerMaster</FBlockName>
    <FBlockDescription>Dummy definition for PowerMaster FBlock.</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
  </FBlock>

  <!--Diagnosis-->

  <FBlock>
    <FBlockID>0x06</FBlockID>
    <FBlockKind>Administration</FBlockKind>
    <FBlockName>Diagnosis</FBlockName>
    <FBlockDescription />
    <FBlockVersion Access="public">
      <Release>0.0.1</Release>
      <Date>2008-11-12</Date>
      <Author />
      <Company>Vector Informatik GmbH</Company>
    </FBlockVersion>
    <!-- DiagMsg -->
    <Function Virtual="false">
      <FunctionID Wellknown="true" Occurrence="Optional">0x200</FunctionID>
      <FunctionName>DiagMsg</FunctionName>
      <FunctionDescription>This property is used for transferring diagnostic messages. The Set OpType is used for transferring a diagnostic request and the Status OpType is used for transferring a diagnostic response.
For this FktID implicit notification exists, that is, the controller will receive an OpType Status reply to requests with OpType Set. The usual notification mechanism, where Notification.Set is used, is not applied.
      </FunctionDescription>
      <FunctionVersion Access="public">
        <Release>0.0.1</Release>
        <Date>2008-11-13</Date>
        <Company>Vector Informatik GmbH</Company>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property Notification="false">
          <PUnclassified Length="1">
            <PUParam>
              <ParamName ParamIdx="#NULL#">Payload</ParamName>
              <ParamDescription>The Payload data field of the DAP PDU.</ParamDescription>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>6</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>6</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">PayloadByte {, PayloadByte}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">PayloadByte</ParamName>
                      <ParamDescription />
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">PayloadLength</ParamName>
              <ParamDescription>Determines the length of the Payload parameter.</ParamDescription>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TULong TypeRef="type_unsigned_long" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">SourceAddress</ParamName>
              <ParamDescription>The data field SourceAddress can be used to identify the test tool that has sent a request.</ParamDescription>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>5</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>5</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">SystemIntegratorPart</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>4</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>4</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">TypeOfService</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">DAPHeaderVersion</ParamName>
              <ParamDescription>This field identifies the version of the DAP header</ParamDescription>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
  </FBlock>

  <!-- FBlock: AudioAmplifier -->

  <FBlock>
    <FBlockID>0x22</FBlockID>
    <FBlockKind>Audio</FBlockKind>
    <FBlockName>AudioAmplifier</FBlockName>
    <FBlockDescription>Customized version of the standard AudioAmplifier</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: SinkInfo-->
    <Function>
      <FunctionID>0x110</FunctionID>
      <FunctionName>SinkInfo</FunctionName>
      <FunctionDescription>The property SinkInfo can be used to query the sink about the type of data it can handle.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- DataType -->
            <PUParam>
              <ParamName ParamIdx="1">DataType</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0xFF">
                  <TEnumValue Code="0x00">Audio</TEnumValue>
                  <TEnumValue Code="0x01...0xFF">None</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DataDescription -->
            <PUParam>
              <ParamName ParamIdx="2">DataDescription</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x00">DataDescription={Resolution, AudioChannels, SrcDelay, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">Resolution</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">AudioChannels</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x01">DataDescription={Blockwidth, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x02">DataDescription={ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x20">DataDescription={Blockwidth, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x21">DataDescription={Blockwidth, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x22">DataDescription={Blockwidth, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x40">DataDescription={Blockwidth, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x41">DataDescription={Blockwidth, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x42">DataDescription={Blockwidth, Channels}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- SinkNr -->
            <PUParam>
              <ParamName ParamIdx="5">SinkNr</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="6">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="7">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Connect-->
    <Function>
      <FunctionID>0x111</FunctionID>
      <FunctionName>Connect</FunctionName>
      <FunctionDescription>By use of the method Connect synchronous channels for audio reception will be connected.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- SrcDelay -->
            <MUParam>
              <ParamName ParamIdx="1">SrcDelay</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport/>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ChannelList -->
            <MUParam>
              <ParamName ParamIdx="2">ChannelList</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport/>
              </MUParamOPType>
              <MUParamType>
                <TStream Length="60" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">Channel</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>59</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </MUParamType>
            </MUParam>
            <!-- SinkNr -->
            <MUParam>
              <ParamName ParamIdx="3">SinkNr</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: DisConnect-->
    <Function>
      <FunctionID>0x112</FunctionID>
      <FunctionName>DisConnect</FunctionName>
      <FunctionDescription>By use of the method DisConnect synchronous channels for audio reception will be disconnected.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- SinkNr -->
            <MUParam>
              <ParamName ParamIdx="1">SinkNr</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: Mute-->
    <Function>
      <FunctionID>0x113</FunctionID>
      <FunctionName>Mute</FunctionName>
      <FunctionDescription>This property is for setting and reading the mute status.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- SinkNr -->
            <PUParam>
              <ParamName ParamIdx="1">SinkNr</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- Status -->
            <PUParam>
              <ParamName ParamIdx="2">Status</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>2</ParamPos>
                  </PCmdSetGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TBool TypeRef="type_unsigned_byte">
                  <TBoolField BitPos="0">
                    <BitTrueDesc>Mute On</BitTrueDesc>
                    <BitFalseDesc>Mute Off</BitFalseDesc>
                  </TBoolField>
                  <TBoolField BitPos="1 ... 7">
                    <BitTrueDesc>reserved</BitTrueDesc>
                    <BitFalseDesc/>
                  </TBoolField>
                </TBool>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: SinkName-->
    <Function>
      <FunctionID>0x114</FunctionID>
      <FunctionName>SinkName</FunctionName>
      <FunctionDescription>By using property SinkName, a name for the synchronous data can be requested.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- SinkName -->
            <PUParam>
              <ParamName ParamIdx="1">SinkName</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TString TypeRef="type_string" MaxSize="11"/>
              </PUParamType>
            </PUParam>
            <!-- SinkNr -->
            <PUParam>
              <ParamName ParamIdx="2">SinkNr</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: ConnectTo -->
    <Function>
      <FunctionID>0x115</FunctionID>
      <FunctionName>ConnectTo</FunctionName>
      <FunctionDescription>By calling this method, the sink will be occasioned to connect itself to a certain source.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- Address -->
            <MUParam>
              <ParamName ParamIdx="1">Address</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="2">SourceNr</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>4</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>3</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- InstID -->
            <MUParam>
              <ParamName ParamIdx="3">InstID</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>2</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- FBlockID -->
            <MUParam>
              <ParamName ParamIdx="4">FBlockID</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="5">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="6">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: SyncDataInfo-->
    <Function>
      <FunctionID>0x116</FunctionID>
      <FunctionName>SyncDataInfo</FunctionName>
      <FunctionDescription>This property SyncDataInfo can be used to query the function block on how many connections it may serve as sink or source.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- SinkCount -->
            <PUParam>
              <ParamName ParamIdx="1">SinkCount</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- SourceCount -->
            <PUParam>
              <ParamName ParamIdx="2">SourceCount</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Balance -->
    <Function>
      <FunctionID>0x200</FunctionID>
      <FunctionName>Balance</FunctionName>
      <FunctionDescription>The balance adjusts the sound pattern between the left and right sink group. The adjustment is done by respective left/right symmetric volume commands (Balance-commands).</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport/>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- Balance -->
            <PNParam>
              <ParamName ParamIdx="2">Balance</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TSByte TypeRef="type_signed_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Bass -->
    <Function>
      <FunctionID>0x202</FunctionID>
      <FunctionName>Bass</FunctionName>
      <FunctionDescription>To individually control the sound of the entertainment source there are separate bass- and treble-adjustments assigned.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport/>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- Bass -->
            <PNParam>
              <ParamName ParamIdx="2">Bass</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TSByte TypeRef="type_signed_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Treble -->
    <Function>
      <FunctionID>0x203</FunctionID>
      <FunctionName>Treble</FunctionName>
      <FunctionDescription>To individually control the sound of the entertainment source there are separate bass- and treble-adjustments assigned.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport/>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- Treble -->
            <PNParam>
              <ParamName ParamIdx="2">Treble</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TSByte TypeRef="type_signed_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Fader -->
    <Function>
      <FunctionID>0x204</FunctionID>
      <FunctionName>Fader</FunctionName>
      <FunctionDescription>The Fader adjusts the sound pattern between the front and rear sink group. The adjustment is done by respective left/right symmetric volume commands.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport/>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- Fader -->
            <PNParam>
              <ParamName ParamIdx="2">Fader</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TSByte TypeRef="type_signed_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Volume -->
    <Function>
      <FunctionID>0x400</FunctionID>
      <FunctionName>Volume</FunctionName>
      <FunctionDescription>The volume can be set or read by use of this property.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport/>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>31</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- Volume -->
            <PNParam>
              <ParamName ParamIdx="2">Volume</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>31</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: ConnectLabel-->
    <Function>
      <FunctionID>0xF11</FunctionID>
      <FunctionName>ConnectLabel</FunctionName>
      <FunctionDescription>By use of the method Connect synchronous channels for audio reception will be connected to a label.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- SrcDelay -->
            <MUParam>
              <ParamName ParamIdx="1">SrcDelay</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport/>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ChannelList -->
            <MUParam>
              <ParamName ParamIdx="2">ConnectionLabel</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport/>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SinkNr -->
            <MUParam>
              <ParamName ParamIdx="3">SinkNr</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
  </FBlock>

  <!-- FBlock: AudioDiskPlayer-->

  <FBlock>
    <FBlockID>0x31</FBlockID>
    <FBlockKind>Drives</FBlockKind>
    <FBlockName>AudioDiskPlayer</FBlockName>
    <FBlockDescription>Customized version of the standard AudioDiskPlayer</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: SourceInfo -->
    <Function>
      <FunctionID>0x100</FunctionID>
      <FunctionName>SourceInfo</FunctionName>
      <FunctionDescription>This property gives particulars about the type of synchronous source data.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- DataType -->
            <PUParam>
              <ParamName ParamIdx="1">DataType</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="255">
                  <TEnumValue Code="0x00">Audio</TEnumValue>
                  <TEnumValue Code="0x01">CDROM</TEnumValue>
                  <TEnumValue Code="0x02...0xFF">None</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DataDescription -->
            <PUParam>
              <ParamName ParamIdx="2">DataDescription</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x00">DataDescription={Resolution, AudioChannels, SrcDelay, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">Resolution</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">AudioChannels</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="3">SrcDelay</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="4">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x01">DataDescription={Blockwidth, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x02">DataDescription={ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x20">DataDescription={Blockwidth, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x21">DataDescription={Blockwidth, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x22">DataDescription={Blockwidth, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x40">DataDescription={Blockwidth, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x41">DataDescription={Blockwidth, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x42">DataDescription={Blockwidth, ChannelList}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription/>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none"/>
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- SourceNr -->
            <PUParam>
              <ParamName ParamIdx="3">SourceNr</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Allocate-->
    <Function>
      <FunctionID>0x101</FunctionID>
      <FunctionName>Allocate</FunctionName>
      <FunctionDescription>With this method Allocate the source will be caused to occupy synchronous channels.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="1">SourceNr</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SrcDelay -->
            <MUParam>
              <ParamName ParamIdx="2">SrcDelay</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>2</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ChannelList -->
            <MUParam>
              <ParamName ParamIdx="3">ChannelList</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>3</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TStream Length="60" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">ChannelList::=&lt;Channel>{, &lt;Channel>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">Channel</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>59</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: DeAllocate-->
    <Function>
      <FunctionID>0x102</FunctionID>
      <FunctionName>DeAllocate</FunctionName>
      <FunctionDescription>The method DeAllocate causes the source to free occupied synchronous channels.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="1">SourceNr</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: SourceActivity -->
    <Function>
      <FunctionID>0x103</FunctionID>
      <FunctionName>SourceActivity</FunctionName>
      <FunctionDescription>This method starts and stops the output of synchronous data to the MOST-Network. It is a high-level method that has to be implemented in each source of synchronous data. Different sources have to take different actions to realise the commands.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <MUParam>
              <ParamName ParamIdx="1">Activity</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>2</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="2">
                  <TEnumValue Code="0">Off</TEnumValue>
                  <TEnumValue Code="1">Pause</TEnumValue>
                  <TEnumValue Code="2">On</TEnumValue>
                </TEnum>
              </MUParamType>
            </MUParam>
            <MUParam>
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
            <MUParam>
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <MUParam>
              <ParamName ParamIdx="4">SourceNr</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <MUParam>
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <MUParamOPType>
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: SourceName-->
    <Function>
      <FunctionID>0x104</FunctionID>
      <FunctionName>SourceName</FunctionName>
      <FunctionDescription>By property SourceName, an identifier of the synchronous source data can be rquested.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- SourceName -->
            <PUParam>
              <ParamName ParamIdx="1">SourceName</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TString TypeRef="type_string" MaxSize="11"/>
              </PUParamType>
            </PUParam>
            <!-- SourceNr -->
            <PUParam>
              <ParamName ParamIdx="2">SourceNr</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: SyncDataInfo-->
    <Function>
      <FunctionID>0x116</FunctionID>
      <FunctionName>SyncDataInfo</FunctionName>
      <FunctionDescription>This property SyncDataInfo can be used to query the function block on how many connections it may serve as sink or source.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- SinkCount -->
            <PUParam>
              <ParamName ParamIdx="1">SinkCount</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- SourceCount -->
            <PUParam>
              <ParamName ParamIdx="2">SourceCount</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: DeckStatus -->
    <Function>
      <FunctionID>0x200</FunctionID>
      <FunctionName>DeckStatus</FunctionName>
      <FunctionDescription>This property controls and shows the state of the drive.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration</FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void"/>
              </PEParamType>
            </PEParam>
            <!-- Mode -->
            <PEParam>
              <ParamName ParamIdx="1">DeckStatus</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PECommand>
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x6">
                  <TEnumValue Code="0x00">Play</TEnumValue>
                  <TEnumValue Code="0x01">Stop</TEnumValue>
                  <TEnumValue Code="0x02">Pause</TEnumValue>
                  <TEnumValue Code="0x03">Load</TEnumValue>
                  <TEnumValue Code="0x04">Unload</TEnumValue>
                  <TEnumValue Code="0x05">Search Forward</TEnumValue>
                  <TEnumValue Code="0x06">Search Backward</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand/>
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void"/>
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand/>
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void"/>
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: TimePosition -->
    <Function>
      <FunctionID>0x201</FunctionID>
      <FunctionName>TimePosition</FunctionName>
      <FunctionDescription>Display of current or setting of a new position in milliseconds. Datatype: Record of {DiskTime,TrackTime, TitleTime} Remark: * an event is triggered only every second</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_record">
        <FunctionClassDesc>Record of { Number Number Number }</FunctionClassDesc>
        <Property>
          <PRecord NElements="N (>=0)">
            <PosDescription PosX="0" PosY="#NULL#">DiskTime, TrackTime, TitleTime</PosDescription>
            <PosDescription PosX="1" PosY="#NULL#">DiskTime</PosDescription>
            <PosDescription PosX="2" PosY="#NULL#">TrackTime</PosDescription>
            <PosDescription PosX="3" PosY="#NULL#">TitleTime</PosDescription>
            <!-- Pos -->
            <PRParam>
              <ParamName ParamIdx="1">Pos</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PRCommand>
                <PRReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PRParamType>
            </PRParam>
            <!-- Data -->
            <PRParam>
              <ParamName ParamIdx="2">Data</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>2</ParamPos>
                  </PCmdSetGet>
                </PRCommand>
                <PRReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TRecord NElements="3" TypeRef="type_record">
                  <TRecordName/>
                  <TRecordDesc/>
                  <TRecordField FieldIdx="1">
                    <TRecordFieldName>DiskTime</TRecordFieldName>
                    <TRecordFieldDesc>Time details in milliseconds related to begin of disk.</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TSLong TypeRef="type_signed_long"/>
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin/>
                        <RangeMax/>
                        <Step>1</Step>
                        <Unit UnitRef="unit_ms"/>
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="2">
                    <TRecordFieldName>TrackTime</TRecordFieldName>
                    <TRecordFieldDesc>Time details in milliseconds related to begin of current track.</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TSLong TypeRef="type_signed_long"/>
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin/>
                        <RangeMax/>
                        <Step>1</Step>
                        <Unit UnitRef="unit_ms"/>
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="3">
                    <TRecordFieldName>TitleTime</TRecordFieldName>
                    <TRecordFieldDesc>Time details in milliseconds related to the start of the current title.</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TSLong TypeRef="type_signed_long"/>
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin/>
                        <RangeMax/>
                        <Step>1</Step>
                        <Unit UnitRef="unit_ms"/>
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                </TRecord>
              </PRParamType>
            </PRParam>
            <!-- NSteps -->
            <PRParam>
              <ParamName ParamIdx="3">NSteps</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>2</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>2</ParamPos>
                  </PCmdDecrement>
                </PRCommand>
                <PRReport/>
              </PRParamOPType>
              <PRParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PRParamType>
            </PRParam>
            <!-- ErrorCode -->
            <PRParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand/>
                <PRReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TVoid TypeRef="type_void"/>
              </PRParamType>
            </PRParam>
            <!-- ErrorInfo -->
            <PRParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand/>
                <PRReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TVoid TypeRef="type_void"/>
              </PRParamType>
            </PRParam>
          </PRecord>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: TrackPosition -->
    <Function>
      <FunctionID>0x202</FunctionID>
      <FunctionName>TrackPosition</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport/>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- Track -->
            <PNParam>
              <ParamName ParamIdx="2">Track</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: FramePosition -->
    <Function>
      <FunctionID>0x203</FunctionID>
      <FunctionName>FramePosition</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport/>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- Frame -->
            <PNParam>
              <ParamName ParamIdx="2">Frame</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TULong TypeRef="type_unsigned_long"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand/>
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void"/>
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: MagazineStatus -->
    <Function>
      <FunctionID>0x410</FunctionID>
      <FunctionName>MagazineStatus</FunctionName>
      <FunctionDescription>This property shows the state of the magazine.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration </FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- MagazineStatus -->
            <PEParam>
              <ParamName ParamIdx="1">MagazineStatus</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">NoMagazine</TEnumValue>
                  <TEnumValue Code="0x01">Magazine loaded</TEnumValue>
                  <TEnumValue Code="0x02">DiskCheck</TEnumValue>
                  <TEnumValue Code="0x03">DiskChange</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: ActiveDisk -->
    <Function>
      <FunctionID>0x412</FunctionID>
      <FunctionName>ActiveDisk</FunctionName>
      <FunctionDescription>This property is for administration of the players automatic loading equipment for the changer. By setting the number of the desired magazin pocket the particular CD will be loaded.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number </FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void" />
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription />
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport />
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- MagazinPos -->
            <PNParam>
              <ParamName ParamIdx="2">MagazinPos</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand />
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void" />
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand />
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void" />
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: MediaInfo -->
    <Function>
      <FunctionID>0x413</FunctionID>
      <FunctionName>MediaInfo</FunctionName>
      <FunctionDescription>This property shows the name (MediaTitle), the type (MediaType), the file system (MediaFileSystem), the first Track (FirstTrack), the last track (LastTrack) and the duration (PlayTime) for every medium.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_array">
        <FunctionClassDesc>Array of Record of { Text Enumeration Enumeration Number Number Number }</FunctionClassDesc>
        <Property>
          <PArray NMax="#NULL#">
            <PosDescription PosX="0" PosY="0">MediaTitle[1], MediaType[1], MediaFileSystem[1], FirstTrack[1], LastTrack[1], PlayTime[1], ..., MediaTitle[NMax], MediaType[NMax], MediaFileSystem[NMax], FirstTrack[NMax], LastTrack[NMax], PlayTime[NMax]</PosDescription>
            <PosDescription PosX=">0" PosY="0">MediaTitle[x], MediaType[x], MediaFileSystem[x], FirstTrack[x], LastTrack[x], PlayTime[x]</PosDescription>
            <PosDescription PosX=">0" PosY="1">MediaTitle[x]</PosDescription>
            <PosDescription PosX=">0" PosY="2">MediaType[x]</PosDescription>
            <PosDescription PosX=">0" PosY="3">MediaFileSystem[x]</PosDescription>
            <PosDescription PosX=">0" PosY="4">FirstTrack[x]</PosDescription>
            <PosDescription PosX=">0" PosY="5">LastTrack[x]</PosDescription>
            <PosDescription PosX=">0" PosY="6">PlayTime[x]</PosDescription>
            <!-- Pos -->
            <PAParam>
              <ParamName ParamIdx="1">Pos</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PAParamType>
            </PAParam>
            <!-- Data -->
            <PAParam>
              <ParamName ParamIdx="2">Data</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TArray NMax="NMax" TypeRef="type_array_of_record">
                  <TArrayName/>
                  <TArrayDesc/>
                  <TArrayElementType>
                    <TRecord NElements="6" TypeRef="type_record">
                      <TRecordName/>
                      <TRecordDesc/>
                      <TRecordField FieldIdx="1">
                        <TRecordFieldName>MediaTitle</TRecordFieldName>
                        <TRecordFieldDesc>Name of medium Hint: If the name of the medium is not available, an empty string will be transferred.</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TString TypeRef="type_string" MaxSize=""/>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="2">
                        <TRecordFieldName>MediaType</TRecordFieldName>
                        <TRecordFieldDesc>Type of stored information</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TEnum TypeRef="type_enum" TEnumMax="4">
                            <TEnumValue Code="0x00">no disc/unknown</TEnumValue>
                            <TEnumValue Code="0x01">Audio</TEnumValue>
                            <TEnumValue Code="0x02">Video</TEnumValue>
                            <TEnumValue Code="0x03">ROM</TEnumValue>
                            <TEnumValue Code="0x04">Mixed</TEnumValue>
                          </TEnum>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="3">
                        <TRecordFieldName>MediaFileSystem</TRecordFieldName>
                        <TRecordFieldDesc>Filesystem Hint: For MixedMode-Media the filesystem of the data tracks will be shown, because the audio tracks are always of type CDDA.</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TEnum TypeRef="type_enum" TEnumMax="10">
                            <TEnumValue Code="0x00">no disk/unknown</TEnumValue>
                            <TEnumValue Code="0x01">CDDA (CD Digital Audio)</TEnumValue>
                            <TEnumValue Code="0x02">BridgeDisc</TEnumValue>
                            <TEnumValue Code="0x03">ISO9660 (Format of CDROM)</TEnumValue>
                            <TEnumValue Code="0x04">Joliet (Format of CDROM)</TEnumValue>
                            <TEnumValue Code="0x05">PhotoCD</TEnumValue>
                            <TEnumValue Code="0x06">HFS</TEnumValue>
                            <TEnumValue Code="0x07">CDi (CD Interactive, that is with application)</TEnumValue>
                            <TEnumValue Code="0x08">CDExtra</TEnumValue>
                            <TEnumValue Code="0x09">CDXA</TEnumValue>
                            <TEnumValue Code="0x0A">UDF</TEnumValue>
                          </TEnum>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="4">
                        <TRecordFieldName>FirstTrack</TRecordFieldName>
                        <TRecordFieldDesc/>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TUWord TypeRef="type_unsigned_word"/>
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin/>
                            <RangeMax/>
                            <Step>1</Step>
                            <Unit UnitRef="unit_none"/>
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="5">
                        <TRecordFieldName>LastTrack</TRecordFieldName>
                        <TRecordFieldDesc/>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TUWord TypeRef="type_unsigned_word"/>
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin/>
                            <RangeMax/>
                            <Step>1</Step>
                            <Unit UnitRef="unit_none"/>
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="6">
                        <TRecordFieldName>PlayTime</TRecordFieldName>
                        <TRecordFieldDesc/>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TULong TypeRef="type_unsigned_long"/>
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin/>
                            <RangeMax/>
                            <Step>1</Step>
                            <Unit UnitRef="unit_none"/>
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                    </TRecord>
                  </TArrayElementType>
                </TArray>
              </PAParamType>
            </PAParam>
            <!-- ErrorCode -->
            <PAParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand/>
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void"/>
              </PAParamType>
            </PAParam>
            <!-- ErrorInfo -->
            <PAParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand/>
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void"/>
              </PAParamType>
            </PAParam>
          </PArray>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: AudioDiskInfo -->
    <Function>
      <FunctionID>0x420</FunctionID>
      <FunctionName>AudioDiskInfo</FunctionName>
      <FunctionDescription>For all audio data of the current medium this property will get the name (AudioTitle) as well as the playing time (AudioTime).</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_array">
        <FunctionClassDesc>Array of Record of { Text Number Number Text }</FunctionClassDesc>
        <Property>
          <PArray NMax="N (&gt;=0)">
            <PosDescription PosX="0" PosY="0">AudioTitle[1], AudioTime[1], TrackNo[1], AudioFilename[1], AudioTitle[2], AudioTime[2], TrackNo[2], AudioFilename[2], ...</PosDescription>
            <PosDescription PosX="&gt;0" PosY="0">AudioTitle[x], AudioTime[x], TrackNo[x], AudioFilename[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="1">AudioTitle[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="2">AudioTime[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="3">TrackNo[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="4">AudioFilename[x]</PosDescription>
            <!-- Pos -->
            <PAParam>
              <ParamName ParamIdx="1">Pos</ParamName>
              <ParamDescription>The parameter Pos={x,y} consists of two byte PosX and PosY and shows which parameter shall be set, inquired or read.</ParamDescription>
              <PAParamOPType>
                <PACommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PAParamType>
            </PAParam>
            <!-- Data -->
            <PAParam>
              <ParamName ParamIdx="2">Data</ParamName>
              <ParamDescription>The content of Data depends on parameter Pos={x,y}.</ParamDescription>
              <PAParamOPType>
                <PACommand/>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TArray NMax="NMax" TypeRef="type_array_of_record">
                  <TArrayName/>
                  <TArrayDesc/>
                  <TArrayElementType>
                    <TRecord NElements="4" TypeRef="type_record">
                      <TRecordName/>
                      <TRecordDesc/>
                      <TRecordField FieldIdx="1">
                        <TRecordFieldName>AudioTitle</TRecordFieldName>
                        <TRecordFieldDesc>Name of the song.</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TString TypeRef="type_string" MaxSize=""/>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="2">
                        <TRecordFieldName>AudioTime</TRecordFieldName>
                        <TRecordFieldDesc>Playing time in milliseconds.</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TULong TypeRef="type_unsigned_long"/>
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin/>
                            <RangeMax/>
                            <Step>1</Step>
                            <Unit UnitRef="unit_ms"/>
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="3">
                        <TRecordFieldName>TrackNo</TRecordFieldName>
                        <TRecordFieldDesc>Number of the particular track.</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TUWord TypeRef="type_unsigned_word"/>
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin/>
                            <RangeMax/>
                            <Step>1</Step>
                            <Unit UnitRef="unit_none"/>
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="4">
                        <TRecordFieldName>AudioFilename</TRecordFieldName>
                        <TRecordFieldDesc></TRecordFieldDesc>
                        <TRecordFieldType>
                          <TString TypeRef="type_string" MaxSize=""/>
                        </TRecordFieldType>
                      </TRecordField>
                    </TRecord>
                  </TArrayElementType>
                </TArray>
              </PAParamType>
            </PAParam>
            <!-- ErrorCode -->
            <PAParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand/>
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void" />
              </PAParamType>
            </PAParam>
            <!-- ErrorInfo -->
            <PAParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand/>
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void" />
              </PAParamType>
            </PAParam>
          </PArray>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: DeckEvent -->
    <Function>
      <FunctionID>0x430</FunctionID>
      <FunctionName>DeckEvent</FunctionName>
      <FunctionDescription>Events concerning the drive.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration </FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- DeckEvent -->
            <PEParam>
              <ParamName ParamIdx="1">DeckEvent</ParamName>
              <ParamDescription>Type of event</ParamDescription>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="5">
                  <TEnumValue Code="0x00">Normal Operation</TEnumValue>
                  <TEnumValue Code="0x01">Deck Error</TEnumValue>
                  <TEnumValue Code="0x02">over normal temp</TEnumValue>
                  <TEnumValue Code="0x03">under normal temp</TEnumValue>
                  <TEnumValue Code="0x04">under voltage</TEnumValue>
                  <TEnumValue Code="0x05">over voltage</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: MediaEvent -->
    <Function>
      <FunctionID>0x431</FunctionID>
      <FunctionName>MediaEvent</FunctionName>
      <FunctionDescription>Events concerning the current medium.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration</FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- MediaEvent -->
            <PEParam>
              <ParamName ParamIdx="1">MediaEvent</ParamName>
              <ParamDescription>Type of event</ParamDescription>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="7">
                  <TEnumValue Code="0x00">Normal Operation</TEnumValue>
                  <TEnumValue Code="0x01">Corrupted File or Track</TEnumValue>
                  <TEnumValue Code="0x02">End of CD</TEnumValue>
                  <TEnumValue Code="0x03">Corrupted ROM-Filesystem</TEnumValue>
                  <TEnumValue Code="0x04">Startposition</TEnumValue>
                  <TEnumValue Code="0x05">TOC Unreadable</TEnumValue>
                  <TEnumValue Code="0x06">Disk not available</TEnumValue>
                  <TEnumValue Code="0x07">End of File</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Random -->
    <Function>
      <FunctionID>0x450</FunctionID>
      <FunctionName>Random</FunctionName>
      <FunctionDescription>This property is for switching on and off the Random function.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration</FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- RandomState -->
            <PEParam>
              <ParamName ParamIdx="1">RandomState</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PECommand>
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="4">
                  <TEnumValue Code="0x00">Off</TEnumValue>
                  <TEnumValue Code="0x01">reserved</TEnumValue>
                  <TEnumValue Code="0x02">Disk</TEnumValue>
                  <TEnumValue Code="0x03">Magazine (only drive with magazine)</TEnumValue>
                  <TEnumValue Code="0x04">All Magazins (only drive with several magazines)</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Scan -->
    <Function>
      <FunctionID>0x451</FunctionID>
      <FunctionName>Scan</FunctionName>
      <FunctionDescription>This property is for switching on and off the Scan function.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration</FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- ScanState -->
            <PEParam>
              <ParamName ParamIdx="1">ScanState</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PECommand>
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="4">
                  <TEnumValue Code="0x00">Off</TEnumValue>
                  <TEnumValue Code="0x01">reserved</TEnumValue>
                  <TEnumValue Code="0x02">Disk</TEnumValue>
                  <TEnumValue Code="0x03">Magazine (only drive with magazine)</TEnumValue>
                  <TEnumValue Code="0x04">All Magazins (only drive with several magazines)</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: PeakLevel -->
    <Function>
      <FunctionID>0xF00</FunctionID>
      <FunctionName>PeakLevel</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="2">LevelLeft</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="3">LevelRight</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="6">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: AllocateLabel -->
    <Function>
        <FunctionID Occurrence="Conditional">0xF01</FunctionID>
        <FunctionName>AllocateLabel</FunctionName>
        <FunctionDescription>The presence of this function is conditional; it is required for FBlocks that contain a source. The Allocate method causes the source to occupy bandwidth for streaming data.</FunctionDescription>
        <FunctionVersion Access="public">
            <Release>0.0.1</Release>
            <Date/>
            <Author/>
            <Company/>
            <Modification>
                <Change/>
                <Reason/>
            </Modification>
        </FunctionVersion>
        <FunctionClass ClassRef="class_sequence_method">
            <FunctionClassDesc>Sequence Method</FunctionClassDesc>
            <Method>
                <MSequence>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">SenderHandle</ParamName>
                        <ParamDescription>Unique identifier of the requesting task within the device.</ParamDescription>
                        <MQParamOPType>
                            <MQCommand>
                                <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                                    <ParamPos>1</ParamPos>
                                </MCmdStartResultAck>
                            </MQCommand>
                            <MQReport>
                                <MReportErrorAck OPTypeRef="MReportErrorAck">
                                    <ParamPos>1</ParamPos>
                                </MReportErrorAck>
                                <MReportProcessingAck OPTypeRef="MReportProcessingAck">
                                    <ParamPos>1</ParamPos>
                                </MReportProcessingAck>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>1</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- SenderHandle -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUWord TypeRef="type_unsigned_word"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <Step>1</Step>
                                <Unit UnitRef="unit_none"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">BlockWidth</ParamName>
                        <ParamDescription>Number of transferred bytes per MOST frame.</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportResult OPTypeRef="MReportResult">
                                    <ParamPos>2</ParamPos>
                                </MReportResult>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>3</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- BlockWidth -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUWord TypeRef="type_unsigned_word"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <Step>1</Step>
                                <Unit UnitRef="unit_Byte"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam details="false">
                        <ParamName ParamIdx="#NULL#"/>
                        <ParamDescription/>
                        <MQParamOPType>
                            <MQReport>
                                <MReportProcessing OPTypeRef="MReportProcessing">
                                    <ParamPos>0</ParamPos>
                                </MReportProcessing>
                            </MQReport>
                        </MQParamOPType>
                        <!--  -->
                        <MQParamType>
                            <TVoid TypeRef="type_void"/>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">SourceNr</ParamName>
                        <ParamDescription>Number of a data source (within one FBlock there can be more than one), for example, 0x01 for the first source.</ParamDescription>
                        <MQParamOPType>
                            <MQCommand>
                                <MCmdStartResult OPTypeRef="MCmdStartResult">
                                    <ParamPos>1</ParamPos>
                                </MCmdStartResult>
                                <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                                    <ParamPos>2</ParamPos>
                                </MCmdStartResultAck>
                            </MQCommand>
                            <MQReport>
                                <MReportResult OPTypeRef="MReportResult">
                                    <ParamPos>1</ParamPos>
                                </MReportResult>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>2</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- SourceNr -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <RangeMin>1</RangeMin>
                                <RangeMax>255</RangeMax>
                                <Step>1</Step>
                                <Unit UnitRef="unit_none"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
                        <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportErrorAck OPTypeRef="MReportErrorAck">
                                    <ParamPos>2</ParamPos>
                                </MReportErrorAck>
                                <MReportError OPTypeRef="MReportError">
                                    <ParamPos>1</ParamPos>
                                </MReportError>
                            </MQReport>
                        </MQParamOPType>
                        <!-- ErrorCode -->
                        <MQParamType>
                            <TVoid TypeRef="type_void"/>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">ConnectionLabel</ParamName>
                        <ParamDescription>Connection identifier.</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportResult OPTypeRef="MReportResult">
                                    <ParamPos>3</ParamPos>
                                </MReportResult>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>4</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- ConnectionLabel -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUWord TypeRef="type_unsigned_word"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <Step>1</Step>
                                <Unit UnitRef="unit_none"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
                        <ParamDescription>Besides the error information provided in the MOST Specification, function specific error info values are specified here.</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportErrorAck OPTypeRef="MReportErrorAck">
                                    <ParamPos>3</ParamPos>
                                </MReportErrorAck>
                                <MReportError OPTypeRef="MReportError">
                                    <ParamPos>2</ParamPos>
                                </MReportError>
                            </MQReport>
                        </MQParamOPType>
                        <!-- ErrorInfo -->
                        <MQParamType>
                            <TStream TypeRef="type_stream">
                                <StreamCase>
                                    <PosDescription PosX="#NULL#" PosY="#NULL#"/>
                                    <StreamParam>
                                        <ParamName ParamIdx="1">SourceNr</ParamName>
                                        <ParamDescription>Number of a data source (within one FBlock there can be more than one), for example, 0x01 for the first source.</ParamDescription>
                                        <!-- SourceNr -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin>1</RangeMin>
                                                <RangeMax>255</RangeMax>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="2">BlockWidth</ParamName>
                                        <ParamDescription>The requested BlockWidth.</ParamDescription>
                                        <!-- BlockWidth -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUWord TypeRef="type_unsigned_word"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_Byte"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                </StreamCase>
                            </TStream>
                        </MQParamType>
                    </MQParam>
                </MSequence>
            </Method>
        </FunctionClass>
    </Function>
 
  </FBlock>

  <!-- FBlock: AmFmTuner -->

  <FBlock>
    <FBlockID>0x40</FBlockID>
    <FBlockKind>Receiver</FBlockKind>
    <FBlockName>AmFmTuner</FBlockName>
    <FBlockDescription>Customized version of the standard AmFmTuner</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: SourceInfo -->
    <Function>
      <FunctionID>0x100</FunctionID>
      <FunctionName>SourceInfo</FunctionName>
      <FunctionDescription>This property gives particulars about the type of synchronous source data.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- DataType -->
            <PUParam>
              <ParamName ParamIdx="1">DataType</ParamName>
              <ParamDescription>Type of synchronous data stream.</ParamDescription>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="255">
                  <TEnumValue Code="0x00">PCM</TEnumValue>
                  <TEnumValue Code="0x01">CDROM</TEnumValue>
                  <TEnumValue Code="0x02">SPDIF</TEnumValue>
                  <TEnumValue Code="0x20">MPEG1 System Stream</TEnumValue>
                  <TEnumValue Code="0x21">MPEG2 Program Stream</TEnumValue>
                  <TEnumValue Code="0x22">MPEG2 Transport Stream</TEnumValue>
                  <TEnumValue Code="0x40">MPEG1 DTCP System Stream</TEnumValue>
                  <TEnumValue Code="0x41">MPEG2 DTCP Program Stream</TEnumValue>
                  <TEnumValue Code="0x42">MPEG2 DTCP Transport Stream</TEnumValue>
                  <TEnumValue Code="0xFF">Unknown</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DataDescription -->
            <PUParam>
              <ParamName ParamIdx="2">DataDescription</ParamName>
              <ParamDescription>Depending on DataType, additional information will be transported in DataDescription.</ParamDescription>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x00">Resolution, AudioChannels, SrcDelay, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">Resolution</ParamName>
                      <ParamDescription>Resolution of the AudioSamples in byte.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">AudioChannels</ParamName>
                      <ParamDescription>Number of audio channels.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="3">SrcDelay</ParamName>
                      <ParamDescription>Delay of synchronous Ddata related to the Timing Master. Remark: The parameter SrcDelay represents the register NDR.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="4">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x01">Blockwidth, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription>Number of transferred byte per MOST frame.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x02">ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x20">Blockwidth, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription>Number of transferred byte per MOST frame.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x21">Blockwidth, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription>Number of transferred byte per MOST frame.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x22">Blockwidth, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription>Number of transferred byte per MOST frame.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x40">Blockwidth, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription>Number of transferred byte per MOST frame.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel{, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x41">Blockwidth, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription>Number of transferred byte per MOST frame.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                  <StreamCase>
                    <PosDescription PosX="DataType" PosY="0x42">Blockwidth, ChannelList</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1">BlockWidth</ParamName>
                      <ParamDescription>Number of transferred byte per MOST frame.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin />
                          <RangeMax />
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2">ChannelList</ParamName>
                      <ParamDescription>List of particular channels.</ParamDescription>
                      <ParamType>
                        <TStream Length="60" TypeRef="type_stream">
                          <StreamCase>
                            <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                            <StreamParam>
                              <ParamName ParamIdx="1seq1">Channel</ParamName>
                              <ParamDescription>Number of a channel.</ParamDescription>
                              <ParamType>
                                <TNumber>
                                  <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte" />
                                  </BasisDataType>
                                  <Exponent>0</Exponent>
                                  <RangeMin>0</RangeMin>
                                  <RangeMax>59</RangeMax>
                                  <Step>1</Step>
                                  <Unit UnitRef="unit_none" />
                                </TNumber>
                              </ParamType>
                            </StreamParam>
                          </StreamCase>
                        </TStream>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- SourceNr -->
            <PUParam>
              <ParamName ParamIdx="3">SourceNr</ParamName>
              <ParamDescription>Number of data source.</ParamDescription>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Allocate -->
    <Function>
      <FunctionID>0x101</FunctionID>
      <FunctionName>Allocate</FunctionName>
      <FunctionDescription>With this method Allocate the source will be caused to occupy synchronous channels.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method </FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="1">SourceNr</ParamName>
              <ParamDescription>Number of data source (within one function block there can be more than one), e.g. 0x01 for the first source.</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SrcDelay -->
            <MUParam>
              <ParamName ParamIdx="2">SrcDelay</ParamName>
              <ParamDescription>Delay of synchronous data related to the Timing Master. Remark: The parameter SrcDelay represents the register NDR.</ParamDescription>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>2</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ChannelList -->
            <MUParam>
              <ParamName ParamIdx="3">ChannelList</ParamName>
              <ParamDescription>List of particular Channels.</ParamDescription>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>3</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TStream Length="60" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">Channel {, Channel}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">Channel</ParamName>
                      <ParamDescription>Number of a channel.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte" />
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin>0</RangeMin>
                          <RangeMax>59</RangeMax>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none" />
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: DeAllocate -->
    <Function>
      <FunctionID>0x102</FunctionID>
      <FunctionName>DeAllocate</FunctionName>
      <FunctionDescription>The method DeAllocate causes the source to free occupied synchronous channels.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="1">SourceNr</ParamName>
              <ParamDescription>Number of the data source</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: SourceActivity -->
    <Function>
      <FunctionID>0x103</FunctionID>
      <FunctionName>SourceActivity</FunctionName>
      <FunctionDescription>This methode controlls the activity of an audio source.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method </FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- void -->
            <MUParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportProcessing OPTypeRef="MReportProcessing">
                    <ParamPos>1</ParamPos>
                  </MReportProcessing>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
            <!-- Activity -->
            <MUParam>
              <ParamName ParamIdx="1">Activity</ParamName>
              <ParamDescription />
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>2</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="2">
                  <TEnumValue Code="0x00">Off</TEnumValue>
                  <TEnumValue Code="0x01">Pause</TEnumValue>
                  <TEnumValue Code="0x02">On</TEnumValue>
                </TEnum>
              </MUParamType>
            </MUParam>
            <!-- SourceNr -->
            <MUParam>
              <ParamName ParamIdx="2">SourceNr</ParamName>
              <ParamDescription>Number of data source.</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResult OPTypeRef="MCmdStartResult">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResult>
                </MUCommand>
                <MUReport>
                  <MReportResult OPTypeRef="MReportResult">
                    <ParamPos>1</ParamPos>
                  </MReportResult>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>1</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand />
                <MUReport>
                  <MReportError OPTypeRef="MReportError">
                    <ParamPos>2</ParamPos>
                  </MReportError>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void" />
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: SourceName -->
    <Function>
      <FunctionID>0x104</FunctionID>
      <FunctionName>SourceName</FunctionName>
      <FunctionDescription>By property SourceName, an identifier of the synchronous source data can be rquested.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- SourceName -->
            <PUParam>
              <ParamName ParamIdx="1">SourceName</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TString TypeRef="type_string" MaxSize="11" />
              </PUParamType>
            </PUParam>
            <!-- SourceNr -->
            <PUParam>
              <ParamName ParamIdx="2">SourceNr</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: ATStationInfo -->
    <Function>
      <FunctionID>0x201</FunctionID>
      <FunctionName>ATStationInfo</FunctionName>
      <FunctionDescription>Audio tuner station information</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_record">
        <FunctionClassDesc>Record of { Text Enumeration Number Number Number Switch Number }</FunctionClassDesc>
        <Property>
          <PRecord NElements="N (&gt;=0)">
            <PosDescription PosX="0" PosY="#NULL#">Sendername, SendernameInfo, Frequency, PTY, PI, ATStationInfoSwitches, ReceptionQuality</PosDescription>
            <PosDescription PosX="1" PosY="#NULL#">Sendername</PosDescription>
            <PosDescription PosX="2" PosY="#NULL#">SendernameInfo</PosDescription>
            <PosDescription PosX="3" PosY="#NULL#">Frequency</PosDescription>
            <PosDescription PosX="4" PosY="#NULL#">PTY</PosDescription>
            <PosDescription PosX="5" PosY="#NULL#">PI</PosDescription>
            <PosDescription PosX="6" PosY="#NULL#">ATStationInfoSwitches</PosDescription>
            <PosDescription PosX="7" PosY="#NULL#">ReceptionQuality</PosDescription>
            <!-- Pos -->
            <PRParam>
              <ParamName ParamIdx="1">Pos</ParamName>
              <ParamDescription>
              </ParamDescription>
              <PRParamOPType>
                <PRCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PRCommand>
                <PRReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>0xFFFF</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PRParamType>
            </PRParam>
            <!-- Data -->
            <PRParam>
              <ParamName ParamIdx="2">Data</ParamName>
              <ParamDescription>The content of Data depends on parameter Pos={x,y}.</ParamDescription>
              <PRParamOPType>
                <PRCommand />
                <PRReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TRecord NElements="7" TypeRef="type_record">
                  <TRecordName />
                  <TRecordDesc />
                  <TRecordField FieldIdx="1">
                    <TRecordFieldName>Sendername</TRecordFieldName>
                    <TRecordFieldDesc>PS or frequency</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TString TypeRef="type_string" MaxSize="8" />
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="2">
                    <TRecordFieldName>SendernameInfo</TRecordFieldName>
                    <TRecordFieldDesc />
                    <TRecordFieldType>
                      <TEnum TypeRef="type_enum" TEnumMax="5">
                        <TEnumValue Code="0x00">Station without RDS</TEnumValue>
                        <TEnumValue Code="0x01">via RDS received name (original)</TEnumValue>
                        <TEnumValue Code="0x02">by the radio automatically given name (PS changes)</TEnumValue>
                        <TEnumValue Code="0x03">by the radio automatically given name (several equal PS)</TEnumValue>
                        <TEnumValue Code="0x04">by customer fixed name</TEnumValue>
                        <TEnumValue Code="0x05">by customer newly given name</TEnumValue>
                      </TEnum>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="3">
                    <TRecordFieldName>Frequency</TRecordFieldName>
                    <TRecordFieldDesc>Frequency</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TULong TypeRef="type_unsigned_long" />
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin />
                        <RangeMax />
                        <Step>1</Step>
                        <Unit UnitRef="unit_kHz" />
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="4">
                    <TRecordFieldName>PTY</TRecordFieldName>
                    <TRecordFieldDesc>Programme Type of station as code according to RDS specification.</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TUByte TypeRef="type_unsigned_byte" />
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin>0</RangeMin>
                        <RangeMax>31</RangeMax>
                        <Step>1</Step>
                        <Unit UnitRef="unit_none" />
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="5">
                    <TRecordFieldName>PI</TRecordFieldName>
                    <TRecordFieldDesc>ProgramIndex</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TUWord TypeRef="type_unsigned_word" />
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin />
                        <RangeMax />
                        <Step>1</Step>
                        <Unit UnitRef="unit_none" />
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="6">
                    <TRecordFieldName>ATStationInfoSwitches</TRecordFieldName>
                    <TRecordFieldDesc>No Description</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TBool TypeRef="type_unsigned_byte">
                        <TBoolField BitPos="0">
                          <BitTrueDesc>TP on</BitTrueDesc>
                          <BitFalseDesc>TP off</BitFalseDesc>
                        </TBoolField>
                        <TBoolField BitPos="1">
                          <BitTrueDesc>TA on</BitTrueDesc>
                          <BitFalseDesc>TA off</BitFalseDesc>
                        </TBoolField>
                        <TBoolField BitPos="2">
                          <BitTrueDesc>D0 on</BitTrueDesc>
                          <BitFalseDesc>D0 off</BitFalseDesc>
                        </TBoolField>
                        <TBoolField BitPos="3">
                          <BitTrueDesc>D1 on</BitTrueDesc>
                          <BitFalseDesc>D1 off</BitFalseDesc>
                        </TBoolField>
                        <TBoolField BitPos="4">
                          <BitTrueDesc>D2 on</BitTrueDesc>
                          <BitFalseDesc>D2 off</BitFalseDesc>
                        </TBoolField>
                        <TBoolField BitPos="5">
                          <BitTrueDesc>D3 on</BitTrueDesc>
                          <BitFalseDesc>D3 off</BitFalseDesc>
                        </TBoolField>
                        <TBoolField BitPos="6">
                          <BitTrueDesc>MS on</BitTrueDesc>
                          <BitFalseDesc>MS off</BitFalseDesc>
                        </TBoolField>
                        <TBoolField BitPos="7">
                          <BitTrueDesc>TMC available</BitTrueDesc>
                          <BitFalseDesc>TMC not available</BitFalseDesc>
                        </TBoolField>
                      </TBool>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="7">
                    <TRecordFieldName>ReceptionQuality</TRecordFieldName>
                    <TRecordFieldDesc>
                      debug information Bit0..3 = Quality, Bit4..7 = FieldStrength
                    </TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TUByte TypeRef="type_unsigned_byte" />
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin />
                        <RangeMax />
                        <Step>1</Step>
                        <Unit UnitRef="unit_none" />
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                </TRecord>
              </PRParamType>
            </PRParam>
            <!-- ErrorCode -->
            <PRParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand />
                <PRReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TVoid TypeRef="type_void" />
              </PRParamType>
            </PRParam>
            <!-- ErrorInfo -->
            <PRParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand />
                <PRReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TVoid TypeRef="type_void" />
              </PRParamType>
            </PRParam>
          </PRecord>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: ATPI -->
    <Function>
      <FunctionID>0x205</FunctionID>
      <FunctionName>ATPI</FunctionName>
      <FunctionDescription>This Property is for adjusting the ProgramIndex PI manually.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_number">
        <FunctionClassDesc>Number</FunctionClassDesc>
        <Property>
          <PNumber>
            <!-- void -->
            <PNParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PNParamOPType>
                <PNCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PNCommand>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void" />
              </PNParamType>
            </PNParam>
            <!-- NSteps -->
            <PNParam>
              <ParamName ParamIdx="1">NSteps</ParamName>
              <ParamDescription>Number of steps for adjustment.</ParamDescription>
              <PNParamOPType>
                <PNCommand>
                  <PCmdIncrement OPTypeRef="PCmdIncrement">
                    <ParamPos>1</ParamPos>
                  </PCmdIncrement>
                  <PCmdDecrement OPTypeRef="PCmdDecrement">
                    <ParamPos>1</ParamPos>
                  </PCmdDecrement>
                </PNCommand>
                <PNReport />
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>1</RangeMin>
                  <RangeMax>255</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ProgramIndex -->
            <PNParam>
              <ParamName ParamIdx="2">ProgramIndex</ParamName>
              <ParamDescription />
              <PNParamOPType>
                <PNCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PNCommand>
                <PNReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin />
                  <RangeMax />
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PNParamType>
            </PNParam>
            <!-- ErrorCode -->
            <PNParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand />
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void" />
              </PNParamType>
            </PNParam>
            <!-- ErrorInfo -->
            <PNParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PNParamOPType>
                <PNCommand />
                <PNReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PNReport>
              </PNParamOPType>
              <PNParamType>
                <TVoid TypeRef="type_void" />
              </PNParamType>
            </PNParam>
          </PNumber>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: ATPresetList1 -->
    <Function>
      <FunctionID>0x401</FunctionID>
      <FunctionName>ATPresetList1</FunctionName>
      <FunctionDescription>List of stations. Via parameter PresetSelection a stored station may be selected.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_array">
        <FunctionClassDesc>Array of Record of { Enumeration Text Enumeration Number Number Switch }</FunctionClassDesc>
        <Property>
          <PArray NMax="#NULL#">
            <PosDescription PosX="0" PosY="0">PresetSelection[1], Sendername[1], SendernameInfo[1], PTY[1], PI[1], TpTa[1], ..., PresetSelection[Nmax], Sendername[NMax], SendernameInfo[NMax], PTY[NMax], PI[NMax], TpTa[NMax]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="0">PresetSelection[x], Sendername[x], SendernameInfo[x], PTY[x], PI[x], TpTa[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="1">PresetSelection[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="2">Sendername[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="3">SendernameInfo[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="4">PTY[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="5">PI[x]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="6">TpTa[x]</PosDescription>
            <!-- Pos -->
            <PAParam>
              <ParamName ParamIdx="1">Pos</ParamName>
              <ParamDescription>The parameter Pos={x,y} consists of two byte x and y.</ParamDescription>
              <PAParamOPType>
                <PACommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>1</ParamPos>
                  </PCmdSetGet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word" />
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>0xFFFF</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none" />
                </TNumber>
              </PAParamType>
            </PAParam>
            <!-- Data -->
            <PAParam>
              <ParamName ParamIdx="2">Data</ParamName>
              <ParamDescription>The content of Data depends on parameter Pos={x,y}.</ParamDescription>
              <PAParamOPType>
                <PACommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                  <PCmdSetGet OPTypeRef="PCmdSetGet">
                    <ParamPos>2</ParamPos>
                  </PCmdSetGet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TArray NMax="NMax" TypeRef="type_array_of_record">
                  <TArrayName />
                  <TArrayDesc />
                  <TArrayElementType>
                    <TRecord NElements="6" TypeRef="type_record">
                      <TRecordName />
                      <TRecordDesc />
                      <TRecordField FieldIdx="1">
                        <TRecordFieldName>PresetSelection</TRecordFieldName>
                        <TRecordFieldDesc />
                        <TRecordFieldType>
                          <TEnum TypeRef="type_enum" TEnumMax="1">
                            <TEnumValue Code="0x00">not active</TEnumValue>
                            <TEnumValue Code="0x01">active</TEnumValue>
                          </TEnum>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="2">
                        <TRecordFieldName>Sendername</TRecordFieldName>
                        <TRecordFieldDesc>Frequency without unit or RDS-name</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TString TypeRef="type_string" MaxSize="15" />
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="3">
                        <TRecordFieldName>SendernameInfo</TRecordFieldName>
                        <TRecordFieldDesc />
                        <TRecordFieldType>
                          <TEnum TypeRef="type_enum" TEnumMax="5">
                            <TEnumValue Code="0x00">Station without RDS</TEnumValue>
                            <TEnumValue Code="0x01">via RDS received name (original)</TEnumValue>
                            <TEnumValue Code="0x02">by the radio automatically given name (PS changes)</TEnumValue>
                            <TEnumValue Code="0x03">by the radio automatically given name (several equal PS)</TEnumValue>
                            <TEnumValue Code="0x04">by customer fixed name</TEnumValue>
                            <TEnumValue Code="0x05">by customer newly given name</TEnumValue>
                          </TEnum>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="4">
                        <TRecordFieldName>PTY</TRecordFieldName>
                        <TRecordFieldDesc>Programme Type of station as code according to RDS specification.</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TUByte TypeRef="type_unsigned_byte" />
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin>0</RangeMin>
                            <RangeMax>31</RangeMax>
                            <Step>1</Step>
                            <Unit UnitRef="unit_none" />
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="5">
                        <TRecordFieldName>PI</TRecordFieldName>
                        <TRecordFieldDesc>ProgramIndex</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TUWord TypeRef="type_unsigned_word" />
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin />
                            <RangeMax />
                            <Step>1</Step>
                            <Unit UnitRef="unit_none" />
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="6">
                        <TRecordFieldName>TpTa</TRecordFieldName>
                        <TRecordFieldDesc />
                        <TRecordFieldType>
                          <TBool TypeRef="type_unsigned_byte">
                            <TBoolField BitPos="0">
                              <BitTrueDesc>Tp On</BitTrueDesc>
                              <BitFalseDesc>Tp Off</BitFalseDesc>
                            </TBoolField>
                            <TBoolField BitPos="1">
                              <BitTrueDesc>Ta On</BitTrueDesc>
                              <BitFalseDesc>Ta Off</BitFalseDesc>
                            </TBoolField>
                            <TBoolField BitPos="2 ... 7">
                              <BitTrueDesc>reserved</BitTrueDesc>
                              <BitFalseDesc />
                            </TBoolField>
                          </TBool>
                        </TRecordFieldType>
                      </TRecordField>
                    </TRecord>
                  </TArrayElementType>
                </TArray>
              </PAParamType>
            </PAParam>
            <!-- ErrorCode -->
            <PAParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand />
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void" />
              </PAParamType>
            </PAParam>
            <!-- ErrorInfo -->
            <PAParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand />
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void" />
              </PAParamType>
            </PAParam>
          </PArray>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Radiotext -->
    <Function>
      <FunctionID>0x45A</FunctionID>
      <FunctionName>Radiotext</FunctionName>
      <FunctionDescription>This property contains the Radiotext (RT) servive of an RDS / RBDS Tuner</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport />
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
            <!-- TextB -->
            <PUParam>
              <ParamName ParamIdx="1">TextB</ParamName>
              <ParamDescription>32 Characters of Radiotext with Text B Flag.</ParamDescription>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TString TypeRef="type_string" MaxSize="#NULL#" />
              </PUParamType>
            </PUParam>
            <!-- TextA -->
            <PUParam>
              <ParamName ParamIdx="2">TextA</ParamName>
              <ParamDescription>32 Characters of Radiotext with Text A Flag.</ParamDescription>
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TString TypeRef="type_string" MaxSize="32" />
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand />
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: PeakLevel -->
    <Function>
      <FunctionID>0xF00</FunctionID>
      <FunctionName>PeakLevel</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="2">LevelLeft</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="3">LevelRight</ParamName>
              <ParamDescription />
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="6">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- AllocateLabel -->
    <Function>
        <FunctionID Occurrence="Conditional">0xF01</FunctionID>
        <FunctionName>AllocateLabel</FunctionName>
        <FunctionDescription>The presence of this function is conditional; it is required for FBlocks that contain a source. The Allocate method causes the source to occupy bandwidth for streaming data.</FunctionDescription>
        <FunctionVersion Access="public">
            <Release>0.0.1</Release>
            <Date/>
            <Author/>
            <Company/>
            <Modification>
                <Change/>
                <Reason/>
            </Modification>
        </FunctionVersion>
        <FunctionClass ClassRef="class_sequence_method">
            <FunctionClassDesc>Sequence Method</FunctionClassDesc>
            <Method>
                <MSequence>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">SenderHandle</ParamName>
                        <ParamDescription>Unique identifier of the requesting task within the device.</ParamDescription>
                        <MQParamOPType>
                            <MQCommand>
                                <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                                    <ParamPos>1</ParamPos>
                                </MCmdStartResultAck>
                            </MQCommand>
                            <MQReport>
                                <MReportErrorAck OPTypeRef="MReportErrorAck">
                                    <ParamPos>1</ParamPos>
                                </MReportErrorAck>
                                <MReportProcessingAck OPTypeRef="MReportProcessingAck">
                                    <ParamPos>1</ParamPos>
                                </MReportProcessingAck>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>1</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- SenderHandle -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUWord TypeRef="type_unsigned_word"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <Step>1</Step>
                                <Unit UnitRef="unit_none"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">BlockWidth</ParamName>
                        <ParamDescription>Number of transferred bytes per MOST frame.</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportResult OPTypeRef="MReportResult">
                                    <ParamPos>2</ParamPos>
                                </MReportResult>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>3</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- BlockWidth -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUWord TypeRef="type_unsigned_word"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <Step>1</Step>
                                <Unit UnitRef="unit_Byte"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam details="false">
                        <ParamName ParamIdx="#NULL#"/>
                        <ParamDescription/>
                        <MQParamOPType>
                            <MQReport>
                                <MReportProcessing OPTypeRef="MReportProcessing">
                                    <ParamPos>0</ParamPos>
                                </MReportProcessing>
                            </MQReport>
                        </MQParamOPType>
                        <!--  -->
                        <MQParamType>
                            <TVoid TypeRef="type_void"/>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">SourceNr</ParamName>
                        <ParamDescription>Number of a data source (within one FBlock there can be more than one), for example, 0x01 for the first source.</ParamDescription>
                        <MQParamOPType>
                            <MQCommand>
                                <MCmdStartResult OPTypeRef="MCmdStartResult">
                                    <ParamPos>1</ParamPos>
                                </MCmdStartResult>
                                <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                                    <ParamPos>2</ParamPos>
                                </MCmdStartResultAck>
                            </MQCommand>
                            <MQReport>
                                <MReportResult OPTypeRef="MReportResult">
                                    <ParamPos>1</ParamPos>
                                </MReportResult>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>2</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- SourceNr -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUByte TypeRef="type_unsigned_byte"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <RangeMin>1</RangeMin>
                                <RangeMax>255</RangeMax>
                                <Step>1</Step>
                                <Unit UnitRef="unit_none"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
                        <ParamDescription>(Refer to the MOST Specification, section "Structure of MOST Messages: OPType")</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportErrorAck OPTypeRef="MReportErrorAck">
                                    <ParamPos>2</ParamPos>
                                </MReportErrorAck>
                                <MReportError OPTypeRef="MReportError">
                                    <ParamPos>1</ParamPos>
                                </MReportError>
                            </MQReport>
                        </MQParamOPType>
                        <!-- ErrorCode -->
                        <MQParamType>
                            <TVoid TypeRef="type_void"/>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">ConnectionLabel</ParamName>
                        <ParamDescription>Connection identifier.</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportResult OPTypeRef="MReportResult">
                                    <ParamPos>3</ParamPos>
                                </MReportResult>
                                <MReportResultAck OPTypeRef="MReportResultAck">
                                    <ParamPos>4</ParamPos>
                                </MReportResultAck>
                            </MQReport>
                        </MQParamOPType>
                        <!-- ConnectionLabel -->
                        <MQParamType>
                            <TNumber>
                                <BasisDataType>
                                    <TUWord TypeRef="type_unsigned_word"/>
                                </BasisDataType>
                                <Exponent>0</Exponent>
                                <Step>1</Step>
                                <Unit UnitRef="unit_none"/>
                            </TNumber>
                        </MQParamType>
                    </MQParam>
                    <MQParam>
                        <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
                        <ParamDescription>Besides the error information provided in the MOST Specification, function specific error info values are specified here.</ParamDescription>
                        <MQParamOPType>
                            <MQReport>
                                <MReportErrorAck OPTypeRef="MReportErrorAck">
                                    <ParamPos>3</ParamPos>
                                </MReportErrorAck>
                                <MReportError OPTypeRef="MReportError">
                                    <ParamPos>2</ParamPos>
                                </MReportError>
                            </MQReport>
                        </MQParamOPType>
                        <!-- ErrorInfo -->
                        <MQParamType>
                            <TStream TypeRef="type_stream">
                                <StreamCase>
                                    <PosDescription PosX="#NULL#" PosY="#NULL#"/>
                                    <StreamParam>
                                        <ParamName ParamIdx="1">SourceNr</ParamName>
                                        <ParamDescription>Number of a data source (within one FBlock there can be more than one), for example, 0x01 for the first source.</ParamDescription>
                                        <!-- SourceNr -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUByte TypeRef="type_unsigned_byte"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <RangeMin>1</RangeMin>
                                                <RangeMax>255</RangeMax>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_none"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                    <StreamParam>
                                        <ParamName ParamIdx="2">BlockWidth</ParamName>
                                        <ParamDescription>The requested BlockWidth.</ParamDescription>
                                        <!-- BlockWidth -->
                                        <ParamType>
                                            <TNumber>
                                                <BasisDataType>
                                                    <TUWord TypeRef="type_unsigned_word"/>
                                                </BasisDataType>
                                                <Exponent>0</Exponent>
                                                <Step>1</Step>
                                                <Unit UnitRef="unit_Byte"/>
                                            </TNumber>
                                        </ParamType>
                                    </StreamParam>
                                </StreamCase>
                            </TStream>
                        </MQParamType>
                    </MQParam>
                </MSequence>
            </Method>
        </FunctionClass>
    </Function>
    </FBlock>

  <!-- FBlock: VectorPhoneBook -->

  <FBlock>
    <FBlockID>0x51</FBlockID>
    <FBlockKind>Communication</FBlockKind>
    <FBlockName>VectorPhoneBook</FBlockName>
    <FBlockDescription>This FBlock is only included to demonstrate MHP</FBlockDescription>
    <FBlockVersion Access="public">
      <Release>0.9</Release>
      <Date>27 September 2006</Date>
      <Author>Kr</Author>
      <Company>Vector</Company>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Phonebook -->
    <Function>
      <FunctionID>0x400</FunctionID>
      <FunctionName>Phonebook</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_dynamic_array">
        <FunctionClassDesc>DynamicArray of Record of { Number Text Text }</FunctionClassDesc>
        <Property>
          <PArray NMax="N (&gt;=0)">
            <PosDescription PosX="0" PosY="0">Tag[1], Name[Tag[1]], TelNumber[Tag[1]], Tag[2], Name[Tag[2]], TelNumber[Tag[2]], ..., Tag[Nmax], Name[Tag[NMax]], TelNumber[Tag[NMax]]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="0">Tag, Name[Tag], TelNumber[Tag]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="2">Name[Tag]</PosDescription>
            <PosDescription PosX="&gt;0" PosY="3">TelNumber[Tag]</PosDescription>
            <!-- Tag -->
            <PAParam>
              <ParamName ParamIdx="1">Tag</ParamName>
              <ParamDescription>Unique identifier of the phonebook entry (0xFFFF is no valid Tag)</ParamDescription>
              <PAParamOPType>
                <PACommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin>0</RangeMin>
                  <RangeMax>65535</RangeMax>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PAParamType>
            </PAParam>
            <!-- PosY -->
            <PAParam>
              <ParamName ParamIdx="2">PosY</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>2</ParamPos>
                  </PCmdGet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TNumber>
                  <BasisDataType>
                    <TUByte TypeRef="type_unsigned_byte"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PAParamType>
            </PAParam>
            <!-- Data -->
            <PAParam>
              <ParamName ParamIdx="3">Data</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PACommand>
                <PAReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TArray NMax="NMax" TypeRef="type_array">
                  <TArrayName/>
                  <TArrayDesc/>
                  <TArrayElementType>
                    <TRecord NElements="3" TypeRef="type_record">
                      <TRecordName/>
                      <TRecordDesc/>
                      <TRecordField FieldIdx="1">
                        <TRecordFieldName>Tag</TRecordFieldName>
                        <TRecordFieldDesc>Unique identifier of the phonebook entry (0xFFFF is no valid Tag)</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TNumber>
                            <BasisDataType>
                              <TUWord TypeRef="type_unsigned_word"/>
                            </BasisDataType>
                            <Exponent>0</Exponent>
                            <RangeMin>0</RangeMin>
                            <RangeMax>65535</RangeMax>
                            <Step>1</Step>
                            <Unit UnitRef="unit_none"/>
                          </TNumber>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="2">
                        <TRecordFieldName>Name</TRecordFieldName>
                        <TRecordFieldDesc>Name in phonebook</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TString TypeRef="type_string" MaxSize="50"/>
                        </TRecordFieldType>
                      </TRecordField>
                      <TRecordField FieldIdx="3">
                        <TRecordFieldName>TelNumber</TRecordFieldName>
                        <TRecordFieldDesc>Phone number</TRecordFieldDesc>
                        <TRecordFieldType>
                          <TString TypeRef="type_string" MaxSize="40"/>
                        </TRecordFieldType>
                      </TRecordField>
                    </TRecord>
                  </TArrayElementType>
                </TArray>
              </PAParamType>
            </PAParam>
            <!-- ErrorCode -->
            <PAParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand/>
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void"/>
              </PAParamType>
            </PAParam>
            <!-- ErrorInfo -->
            <PAParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PAParamOPType>
                <PACommand/>
                <PAReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PAReport>
              </PAParamOPType>
              <PAParamType>
                <TVoid TypeRef="type_void"/>
              </PAParamType>
            </PAParam>
          </PArray>
        </Property>
      </FunctionClass>
    </Function>
  </FBlock>

  <!-- FBlock: Navigation -->

  <FBlock>
    <FBlockID>0x52</FBlockID>
    <FBlockKind/>
    <FBlockName>Navigation</FBlockName>
    <FBlockDescription/>
    <FBlockVersion Access="public">
      <Release>1.0</Release>
      <Date>2006-09-25</Date>
      <Author>Michael Mertens</Author>
      <Company>Vector Informatik GmbH</Company>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property </FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: CalculateRoute -->
    <Function>
      <FunctionID>0xE00</FunctionID>
      <FunctionName>CalculateRoute</FunctionName>
      <FunctionDescription>Calculates a route from A to B. Note: This function was designed for demonstration purposes only.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- SenderHandle -->
            <MUParam>
              <ParamName ParamIdx="1">SenderHandle</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>1</ParamPos>
                  </MReportErrorAck>
                  <MReportProcessingAck OPTypeRef="MReportProcessingAck">
                    <ParamPos>1</ParamPos>
                  </MReportProcessingAck>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>1</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- From -->
            <MUParam>
              <ParamName ParamIdx="2">From</ParamName>
              <ParamDescription>Start location.</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
              </MUParamOPType>
              <MUParamType>
                <TString TypeRef="type_string" MaxSize="50"/>
              </MUParamType>
            </MUParam>
            <!-- To -->
            <MUParam>
              <ParamName ParamIdx="3">To</ParamName>
              <ParamDescription>Destination</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>3</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
              </MUParamOPType>
              <MUParamType>
                <TString TypeRef="type_string" MaxSize="50"/>
              </MUParamType>
            </MUParam>
            <!-- RouteHandle -->
            <MUParam>
              <ParamName ParamIdx="4">RouteHandle</ParamName>
              <ParamDescription>Handle for identifying the route.</ParamDescription>
              <MUParamOPType>
                <MUReport>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>2</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TULong TypeRef="type_unsigned_long"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="5">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>2</ParamPos>
                  </MReportErrorAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam>
              <ParamName ParamIdx="6">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>3</ParamPos>
                  </MReportErrorAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: Waypoints -->
    <Function>
      <FunctionID>0xE01</FunctionID>
      <FunctionName>Waypoints</FunctionName>
      <FunctionDescription>Returns waypoints of a calculated route. Note: This function was designed for demonstration purposes only.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam details="false">
              <ParamName ParamIdx="1">RouteHandle</ParamName>
              <ParamDescription>Handle of a calculated route</ParamDescription>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TULong TypeRef="type_unsigned_long"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="2">WaypointList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#"></PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq2">Longitude</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TULong TypeRef="type_unsigned_long"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                    <StreamParam>
                      <ParamName ParamIdx="2seq2">Latitude</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TULong TypeRef="type_unsigned_long"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: CurrentPosition -->
    <Function>
      <FunctionID>0xE02</FunctionID>
      <FunctionName>CurrentPosition</FunctionName>
      <FunctionDescription>Current coordinates of the car.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_record">
        <FunctionClassDesc>Record of { Number Number Number }</FunctionClassDesc>
        <Property>
          <PRecord NElements="#NULL#">
            <PosDescription PosX="0" PosY="#NULL#">Longitude,Latitude,Height</PosDescription>
            <PosDescription PosX="1" PosY="#NULL#">Longitude</PosDescription>
            <PosDescription PosX="2" PosY="#NULL#">Latitude</PosDescription>
            <PosDescription PosX="3" PosY="#NULL#">Height</PosDescription>
            <!-- Pos -->
            <PRParam>
              <ParamName ParamIdx="1">Pos</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PRCommand>
                <PRReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PRParamType>
            </PRParam>
            <!-- Data -->
            <PRParam>
              <ParamName ParamIdx="2">Data</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TRecord NElements="3" TypeRef="type_record">
                  <TRecordName/>
                  <TRecordDesc/>
                  <TRecordField FieldIdx="1">
                    <TRecordFieldName>Longitude</TRecordFieldName>
                    <TRecordFieldDesc/>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TULong TypeRef="type_unsigned_long"/>
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin/>
                        <RangeMax/>
                        <Step>1</Step>
                        <Unit UnitRef="unit_none"/>
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="2">
                    <TRecordFieldName>Latitude</TRecordFieldName>
                    <TRecordFieldDesc/>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TULong TypeRef="type_unsigned_long"/>
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin/>
                        <RangeMax/>
                        <Step>1</Step>
                        <Unit UnitRef="unit_none"/>
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                  <TRecordField FieldIdx="3">
                    <TRecordFieldName>Height</TRecordFieldName>
                    <TRecordFieldDesc>Height above sea level</TRecordFieldDesc>
                    <TRecordFieldType>
                      <TNumber>
                        <BasisDataType>
                          <TUWord TypeRef="type_unsigned_word"/>
                        </BasisDataType>
                        <Exponent>0</Exponent>
                        <RangeMin/>
                        <RangeMax/>
                        <Step>1</Step>
                        <Unit UnitRef="unit_m"/>
                      </TNumber>
                    </TRecordFieldType>
                  </TRecordField>
                </TRecord>
              </PRParamType>
            </PRParam>
            <!-- ErrorCode -->
            <PRParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand/>
                <PRReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TVoid TypeRef="type_void"/>
              </PRParamType>
            </PRParam>
            <!-- ErrorInfo -->
            <PRParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PRParamOPType>
                <PRCommand/>
                <PRReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PRReport>
              </PRParamOPType>
              <PRParamType>
                <TVoid TypeRef="type_void"/>
              </PRParamType>
            </PRParam>
          </PRecord>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Image -->
    <Function>
      <FunctionID>0xE03</FunctionID>
      <FunctionName>Image</FunctionName>
      <FunctionDescription>Returns an image file over MOST High. Note: This function was designed for demonstration purposes only.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <PUParam details="false">
              <ParamName ParamIdx="1">Filename</ParamName>
              <ParamDescription>File name of the image.</ParamDescription>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TString TypeRef="type_string" MaxSize="400"/>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="2">ImageType</ParamName>
              <ParamDescription>This is just a weak interpretation of the first two bytes.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0xFFFF">
                  <TEnumValue Code="0x424D">Windows Bitmap</TEnumValue>
                  <TEnumValue Code="0x4749">GIF - Graphics Interchange Format</TEnumValue>
                  <TEnumValue Code="0x4949">TIF - Tagged Image File Format</TEnumValue>
                  <TEnumValue Code="0x9850">PNG - Portable Network Graphics</TEnumValue>
                  <TEnumValue Code="0xFFD8">JPEG File Interchange Format</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="3">ImageTypeExt</ParamName>
              <ParamDescription>Bytes 2 and 3 in the file.</ParamDescription>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="4">Databytes</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>3</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#"></PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DWord</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TULong TypeRef="type_unsigned_long"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
  </FBlock>

  <!-- FBlock: VectorSystemManager -->

  <FBlock>
    <FBlockID>0xD0</FBlockID>
    <FBlockKind>Administration</FBlockKind>
    <FBlockName>VectorSystemManager</FBlockName>
    <FBlockDescription>Manages unique resources in the system.</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: SwitchAudioSource -->
    <Function>
      <FunctionID>0xD00</FunctionID>
      <FunctionName>SwitchAudioSource</FunctionName>
      <FunctionDescription>The method instructs the connection master to build a synchronous connection between an audio source and the standard audio sink.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_method">
        <FunctionClassDesc>Unclassified Method</FunctionClassDesc>
        <Method>
          <MUnclassified>
            <!-- SenderHandle -->
            <MUParam>
              <ParamName ParamIdx="1">SenderHandle</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>1</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>1</ParamPos>
                  </MReportErrorAck>
                  <MReportProcessingAck OPTypeRef="MReportProcessingAck">
                    <ParamPos>1</ParamPos>
                  </MReportProcessingAck>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>1</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </MUParamType>
            </MUParam>
            <!-- SourceID -->
            <MUParam>
              <ParamName ParamIdx="2">SourceID</ParamName>
              <ParamDescription>ID of the audio source (system specific).</ParamDescription>
              <MUParamOPType>
                <MUCommand>
                  <MCmdStartResultAck OPTypeRef="MCmdStartResultAck">
                    <ParamPos>2</ParamPos>
                  </MCmdStartResultAck>
                </MUCommand>
                <MUReport>
                  <MReportResultAck OPTypeRef="MReportResultAck">
                    <ParamPos>2</ParamPos>
                  </MReportResultAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x03">
                  <TEnumValue Code="0x00">None</TEnumValue>
                  <TEnumValue Code="0x01">Disc player</TEnumValue>
                  <TEnumValue Code="0x02">Tuner</TEnumValue>
                  <TEnumValue Code="0x03">Telephone</TEnumValue>
                </TEnum>
              </MUParamType>
            </MUParam>
            <!-- ErrorCode -->
            <MUParam details="false">
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>2</ParamPos>
                  </MReportErrorAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
            <!-- ErrorInfo -->
            <MUParam>
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <MUParamOPType>
                <MUCommand/>
                <MUReport>
                  <MReportErrorAck OPTypeRef="MReportErrorAck">
                    <ParamPos>3</ParamPos>
                  </MReportErrorAck>
                </MUReport>
              </MUParamOPType>
              <MUParamType>
                <TVoid TypeRef="type_void"/>
              </MUParamType>
            </MUParam>
          </MUnclassified>
        </Method>
      </FunctionClass>
    </Function>
    <!-- Function: CurrentAudioSource -->
    <Function>
      <FunctionID>0xD01</FunctionID>
      <FunctionName>CurrentAudioSource</FunctionName>
      <FunctionDescription>Property to inquire the current audio source (system specific).</FunctionDescription>
      <FunctionVersion Access="public">
        <Release />
        <Date />
        <Author />
        <Company />
        <Modification>
          <Change />
          <Reason />
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_enumeration">
        <FunctionClassDesc>Enumeration</FunctionClassDesc>
        <Property>
          <PEnum>
            <!-- void -->
            <PEParam details="false">
              <ParamName ParamIdx="1" />
              <ParamDescription />
              <PEParamOPType>
                <PECommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PECommand>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- SourceID -->
            <PEParam>
              <ParamName ParamIdx="1">SourceID</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PEReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TEnum TypeRef="type_enum" TEnumMax="0x03">
                  <TEnumValue Code="0x00">None</TEnumValue>
                  <TEnumValue Code="0x01">Disc player</TEnumValue>
                  <TEnumValue Code="0x02">Tuner</TEnumValue>
                  <TEnumValue Code="0x03">Telephone</TEnumValue>
                </TEnum>
              </PEParamType>
            </PEParam>
            <!-- ErrorCode -->
            <PEParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
            <!-- ErrorInfo -->
            <PEParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PEParamOPType>
                <PECommand />
                <PEReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PEReport>
              </PEParamOPType>
              <PEParamType>
                <TVoid TypeRef="type_void" />
              </PEParamType>
            </PEParam>
          </PEnum>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: AvailableAudioSources -->
    <Function>
      <FunctionID>0xD05</FunctionID>
      <FunctionName>AvailableAudioSources</FunctionName>
      <FunctionDescription>Provides the available audio sources in the system.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_switch">
        <FunctionClassDesc/>
        <Property>
          <PSwitch>
            <!-- SourceIDBitfield -->
            <PSParam>
              <ParamName ParamIdx="1">SourceIDBitfield</ParamName>
              <ParamDescription>Encodes the available audio sources in a bitfield</ParamDescription>
              <PSParamOPType>
                <PSReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PSReport>
              </PSParamOPType>
              <PSParamType>
                <TBool TypeRef="type_unsigned_byte">
                  <TBoolField BitPos="0">
                    <BitTrueDesc>reserved</BitTrueDesc>
                    <BitFalseDesc/>
                  </TBoolField>
                  <TBoolField BitPos="1">
                    <BitTrueDesc>Disc player available</BitTrueDesc>
                    <BitFalseDesc>Disc player not available</BitFalseDesc>
                  </TBoolField>
                  <TBoolField BitPos="2">
                    <BitTrueDesc>Tuner available</BitTrueDesc>
                    <BitFalseDesc>Tuner not available</BitFalseDesc>
                  </TBoolField>
                  <TBoolField BitPos="3">
                    <BitTrueDesc>Telephone available</BitTrueDesc>
                    <BitFalseDesc>Telephone not available</BitFalseDesc>
                  </TBoolField>
                </TBool>
              </PSParamType>
            </PSParam>
            <!-- void -->
            <PSParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PSParamOPType>
                <PSCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PSCommand>
                <PSReport/>
              </PSParamOPType>
              <PSParamType>
                <TVoid TypeRef="type_void"/>
              </PSParamType>
            </PSParam>
            <PSParam>
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PSParamOPType>
                <PSReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PSReport>
              </PSParamOPType>
              <PSParamType>
                <TVoid TypeRef="type_void" />
              </PSParamType>
            </PSParam>
            <PSParam>
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PSParamOPType>
                <PSReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PSReport>
              </PSParamOPType>
              <PSParamType>
                <TVoid TypeRef="type_void" />
              </PSParamType>
            </PSParam>
          </PSwitch>
        </Property>
      </FunctionClass>
    </Function>

  </FBlock>

  <!-- FBlock: Gateway -->

  <FBlock>
    <FBlockID>0xC9</FBlockID>
    <FBlockKind>Administration</FBlockKind>
    <FBlockName>Gateway</FBlockName>
    <FBlockDescription>A very simple gateway FBlock.</FBlockDescription>
    <FBlockVersion Access="public">
      <Release/>
      <Date/>
      <Author/>
      <Company/>
      <Modification>
        <Change/>
        <Reason/>
      </Modification>
    </FBlockVersion>
    <!-- Function: FktIDs -->
    <Function>
      <FunctionID>0x000</FunctionID>
      <FunctionName>FktIDs</FunctionName>
      <FunctionDescription>With the property FktIDs the functions of a function block may be inquired.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- void -->
            <PUParam details="false">
              <ParamName ParamIdx="1"/>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>0</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- BitField -->
            <PUParam>
              <ParamName ParamIdx="1">BitField</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID1, FktID2, ...</PosDescription>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="2">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="3">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: Notification -->
    <Function>
      <FunctionID>0x001</FunctionID>
      <FunctionName>Notification</FunctionName>
      <FunctionDescription>This property administrates the Notification Matrix of a function block.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- Control -->
            <PUParam>
              <ParamName ParamIdx="1">Control</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>1</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TEnum TypeRef="type_enum" TEnumMax="3">
                  <TEnumValue Code="0x00">SetAll</TEnumValue>
                  <TEnumValue Code="0x01">SetFunction</TEnumValue>
                  <TEnumValue Code="0x02">ClearAll</TEnumValue>
                  <TEnumValue Code="0x03">ClearFunction</TEnumValue>
                </TEnum>
              </PUParamType>
            </PUParam>
            <!-- DeviceID -->
            <PUParam>
              <ParamName ParamIdx="6">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>2</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- FktID -->
            <PUParam>
              <ParamName ParamIdx="7">FktID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- DeviceIDList -->
            <PUParam>
              <ParamName ParamIdx="2">DeviceIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">DeviceIDList::=&lt;DeviceID>{, &lt;DeviceID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">DeviceID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- FktIDList -->
            <PUParam>
              <ParamName ParamIdx="3">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand>
                  <PCmdSet OPTypeRef="PCmdSet">
                    <ParamPos>3</ParamPos>
                  </PCmdSet>
                </PUCommand>
                <PUReport/>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktIDList::=&lt;FktID>{, &lt;FktID>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <!-- ErrorCode -->
            <PUParam details="false">
              <ParamName ParamIdx="4">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam details="false">
              <ParamName ParamIdx="5">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: NotificationCheck -->
    <Function>
      <FunctionID>0x002</FunctionID>
      <FunctionName>NotificationCheck</FunctionName>
      <FunctionDescription/>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc>Unclassified Property</FunctionClassDesc>
        <Property>
          <PUnclassified Length="1">
            <!-- ErrorCode -->
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">FktIDList</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="-" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">FktID {, FktID}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">FktID</ParamName>
                      <ParamDescription/>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUWord TypeRef="type_unsigned_word"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam details="true">
              <ParamName ParamIdx="#NULL#">DeviceID</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
                <PUCommand>
                  <PCmdGet OPTypeRef="PCmdGet">
                    <ParamPos>1</ParamPos>
                  </PCmdGet>
                </PUCommand>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
            <!-- ErrorInfo -->
            <PUParam>
              <ParamName ParamIdx="#NULL#">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void"/>
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>
    <!-- Function: CANEvent -->
    <Function>
      <FunctionID>0xC09</FunctionID>
      <FunctionName>CANEvent</FunctionName>
      <FunctionDescription>Transports a CAN message over MOST.</FunctionDescription>
      <FunctionVersion Access="public">
        <Release/>
        <Date/>
        <Author/>
        <Company/>
        <Modification>
          <Change/>
          <Reason/>
        </Modification>
      </FunctionVersion>
      <FunctionClass ClassRef="class_unclassified_property">
        <FunctionClassDesc/>
        <Property>
          <PUnclassified Length="1">
            <!-- SourceIDBitfield -->
            <PUParam>
              <ParamName ParamIdx="1">CANID</ParamName>
              <ParamDescription>Identifier of the CAN message.</ParamDescription>
              <PUParamOPType>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>1</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TNumber>
                  <BasisDataType>
                    <TUWord TypeRef="type_unsigned_word"/>
                  </BasisDataType>
                  <Exponent>0</Exponent>
                  <RangeMin/>
                  <RangeMax/>
                  <Step>1</Step>
                  <Unit UnitRef="unit_none"/>
                </TNumber>
              </PUParamType>
            </PUParam>
            <!-- CANBytes -->
            <PUParam>
              <ParamName ParamIdx="2">CANBytes</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUCommand/>
                <PUReport>
                  <PReportStatus OPTypeRef="PReportStatus">
                    <ParamPos>2</ParamPos>
                  </PReportStatus>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TStream Length="8" TypeRef="type_stream">
                  <StreamCase>
                    <PosDescription PosX="#NULL#" PosY="#NULL#">CANBytes::=&lt;CANByte>{, &lt;CANByte>}</PosDescription>
                    <StreamParam>
                      <ParamName ParamIdx="1seq1">CANByte</ParamName>
                      <ParamDescription>A single data byte of the CAN message.</ParamDescription>
                      <ParamType>
                        <TNumber>
                          <BasisDataType>
                            <TUByte TypeRef="type_unsigned_byte"/>
                          </BasisDataType>
                          <Exponent>0</Exponent>
                          <RangeMin/>
                          <RangeMax/>
                          <Step>1</Step>
                          <Unit UnitRef="unit_none"/>
                        </TNumber>
                      </ParamType>
                    </StreamParam>
                  </StreamCase>
                </TStream>
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="3">ErrorCode</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>1</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
            <PUParam>
              <ParamName ParamIdx="4">ErrorInfo</ParamName>
              <ParamDescription/>
              <PUParamOPType>
                <PUReport>
                  <PReportError OPTypeRef="PReportError">
                    <ParamPos>2</ParamPos>
                  </PReportError>
                </PUReport>
              </PUParamOPType>
              <PUParamType>
                <TVoid TypeRef="type_void" />
              </PUParamType>
            </PUParam>
          </PUnclassified>
        </Property>
      </FunctionClass>
    </Function>

  </FBlock>

  <Definition>
    <ClassDef ClassID="class_trigger">
      <ClassDefName>Trigger</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_switch">
      <ClassDefName>Switch</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_number">
      <ClassDefName>Number</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_enumeration">
      <ClassDefName>Enumeration</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_text">
      <ClassDefName>Text</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_unclassified_property">
      <ClassDefName>Unclassified Property</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_unclassified_method">
      <ClassDefName>Unclassified Method</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_record">
      <ClassDefName>Record</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_array">
      <ClassDefName>Array</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_dynamic_array">
      <ClassDefName>Dynamic Array</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_long_array">
      <ClassDefName>Long Array</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_container">
      <ClassDefName>Container</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_sequence_property">
      <ClassDefName>Sequence Property</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_array_window">
      <ClassDefName>ArrayWindow</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_sequence_method">
      <ClassDefName>Sequence Method</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_boolfield">
      <ClassDefName>Boolfield</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_bitset">
      <ClassDefName>Bitset</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <ClassDef ClassID="class_map">
      <ClassDefName>Map</ClassDefName>
      <ClassDefDesc />
    </ClassDef>
    <PCmdDef PCmdID="PCmdSet">
      <CmdDefName>Set</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x0</CmdDefOPType>
    </PCmdDef>
    <PCmdDef PCmdID="PCmdGet">
      <CmdDefName>Get</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x1</CmdDefOPType>
    </PCmdDef>
    <PCmdDef PCmdID="PCmdSetGet">
      <CmdDefName>SetGet</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x2</CmdDefOPType>
    </PCmdDef>
    <PCmdDef PCmdID="PCmdIncrement">
      <CmdDefName>Increment</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x3</CmdDefOPType>
    </PCmdDef>
    <PCmdDef PCmdID="PCmdDecrement">
      <CmdDefName>Decrement</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x4</CmdDefOPType>
    </PCmdDef>
    <PCmdDef PCmdID="PCmdGetInterface">
      <CmdDefName>GetInterface</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x5</CmdDefOPType>
    </PCmdDef>
    <MCmdDef MCmdID="MCmdStart">
      <CmdDefName>Start</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x0</CmdDefOPType>
    </MCmdDef>
    <MCmdDef MCmdID="MCmdAbort">
      <CmdDefName>Abort</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x1</CmdDefOPType>
    </MCmdDef>
    <MCmdDef MCmdID="MCmdStartResult">
      <CmdDefName>StartResult</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x2</CmdDefOPType>
    </MCmdDef>
    <MCmdDef MCmdID="MCmdGetInterface">
      <CmdDefName>GetInterface</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x5</CmdDefOPType>
    </MCmdDef>
    <MCmdDef MCmdID="MCmdStartResultAck">
      <CmdDefName>StartResultAck</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x6</CmdDefOPType>
    </MCmdDef>
    <MCmdDef MCmdID="MCmdAbortAck">
      <CmdDefName>AbortAck</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x7</CmdDefOPType>
    </MCmdDef>
    <MCmdDef MCmdID="MCmdStartAck">
      <CmdDefName>StartAck</CmdDefName>
      <CmdDefDesc />
      <CmdDefOPType>0x8</CmdDefOPType>
    </MCmdDef>
    <PReportDef PReportID="PReportStatus">
      <ReportDefName>Status</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xC</ReportDefOPType>
    </PReportDef>
    <PReportDef PReportID="PReportInterface">
      <ReportDefName>Interface</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xE</ReportDefOPType>
    </PReportDef>
    <PReportDef PReportID="PReportError">
      <ReportDefName>Error</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xF</ReportDefOPType>
    </PReportDef>
    <MReportDef MReportID="MReportErrorAck">
      <ReportDefName>ErrorAck</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0x9</ReportDefOPType>
    </MReportDef>
    <MReportDef MReportID="MReportProcessingAck">
      <ReportDefName>ProcessingAck</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xA</ReportDefOPType>
    </MReportDef>
    <MReportDef MReportID="MReportProcessing">
      <ReportDefName>Processing</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xB</ReportDefOPType>
    </MReportDef>
    <MReportDef MReportID="MReportResult">
      <ReportDefName>Result</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xC</ReportDefOPType>
    </MReportDef>
    <MReportDef MReportID="MReportResultAck">
      <ReportDefName>ResultAck</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xD</ReportDefOPType>
    </MReportDef>
    <MReportDef MReportID="MReportInterface">
      <ReportDefName>Interface</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xE</ReportDefOPType>
    </MReportDef>
    <MReportDef MReportID="MReportError">
      <ReportDefName>Error</ReportDefName>
      <ReportDefDesc />
      <ReportDefOPType>0xF</ReportDefOPType>
    </MReportDef>
    <TypeDef TypeID="type_record">
      <TDefName>Record</TDefName>
      <TDefDesc />
      <TDefSize>255</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_array">
      <TDefName>Array</TDefName>
      <TDefDesc />
      <TDefSize>255</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_array_of_record">
      <TDefName>ArrayOfRecord</TDefName>
      <TDefDesc />
      <TDefSize />
    </TypeDef>
    <TypeDef TypeID="type_dynamic_array">
      <TDefName>DynamicArray</TDefName>
      <TDefDesc />
      <TDefSize />
    </TypeDef>
    <TypeDef TypeID="type_boolean">
      <TDefName>Boolean</TDefName>
      <TDefDesc />
      <TDefSize>1</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_bitfield">
      <TDefName>BitField</TDefName>
      <TDefDesc />
      <TDefSize />
    </TypeDef>
    <TypeDef TypeID="type_enum">
      <TDefName>Enum</TDefName>
      <TDefDesc />
      <TDefSize>1</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_unsigned_byte">
      <TDefName>Unsigned Byte</TDefName>
      <TDefDesc />
      <TDefSize>1</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_signed_byte">
      <TDefName>Signed Byte</TDefName>
      <TDefDesc />
      <TDefSize>1</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_unsigned_word">
      <TDefName>Unsigned Word</TDefName>
      <TDefDesc />
      <TDefSize>2</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_signed_word">
      <TDefName>Signed Word</TDefName>
      <TDefDesc />
      <TDefSize>2</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_unsigned_long">
      <TDefName>Unsigned Long</TDefName>
      <TDefDesc />
      <TDefSize>4</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_signed_long">
      <TDefName>Signed Long</TDefName>
      <TDefDesc />
      <TDefSize>4</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_string">
      <TDefName>String</TDefName>
      <TDefDesc />
      <TDefSize>255</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_stream">
      <TDefName>Stream</TDefName>
      <TDefDesc />
      <TDefSize>4095</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_void">
      <TDefName>Void</TDefName>
      <TDefDesc />
      <TDefSize>0</TDefSize>
    </TypeDef>
    <TypeDef TypeID="type_shortstream">
      <TDefName>Short Stream</TDefName>
      <TDefDesc />
      <TDefSize />
    </TypeDef>
    <TypeDef TypeID="type_cstream">
      <TDefName>Classified Stream</TDefName>
      <TDefDesc />
      <TDefSize />
    </TypeDef>
    <UnitDef UnitID="unit_1_min">
      <UnitDefName>1/min</UnitDefName>
      <UnitDefCode>0x20</UnitDefCode>
      <UnitDefGroup>Frequency</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_360_degree_2pow32">
      <UnitDefName>360_deg/2pow32</UnitDefName>
      <UnitDefCode>0xA3</UnitDefCode>
      <UnitDefGroup>Angle</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_360_degree_2pow8">
      <UnitDefName>360_deg/2pow8</UnitDefName>
      <UnitDefCode>0xA4</UnitDefCode>
      <UnitDefGroup>Angle</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_a">
      <UnitDefName>a</UnitDefName>
      <UnitDefCode>0x17</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_A">
      <UnitDefName>A</UnitDefName>
      <UnitDefCode>0x91</UnitDefCode>
      <UnitDefGroup>Current</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_bar">
      <UnitDefName>bar</UnitDefName>
      <UnitDefCode>0x63</UnitDefCode>
      <UnitDefGroup>Temperature and Pressure</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_bit">
      <UnitDefName>bit</UnitDefName>
      <UnitDefCode>0xC5</UnitDefCode>
      <UnitDefGroup>Data</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_bps">
      <UnitDefName>bps</UnitDefName>
      <UnitDefCode>0xD0</UnitDefCode>
      <UnitDefGroup>Data Rate</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_Byte_s">
      <UnitDefName>Bps</UnitDefName>
      <UnitDefCode>0xD3</UnitDefCode>
      <UnitDefGroup>Data Rate</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_Byte">
      <UnitDefName>Byte</UnitDefName>
      <UnitDefCode>0xC0</UnitDefCode>
      <UnitDefGroup>Data</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_C">
      <UnitDefName>C</UnitDefName>
      <UnitDefCode>0x60</UnitDefCode>
      <UnitDefGroup>Temperature and Pressure</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_ccm">
      <UnitDefName>ccm</UnitDefName>
      <UnitDefCode>0x33</UnitDefCode>
      <UnitDefGroup>Volume</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_cm">
      <UnitDefName>cm</UnitDefName>
      <UnitDefCode>0x01</UnitDefCode>
      <UnitDefGroup>Distance</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_cm_s">
      <UnitDefName>cm/s</UnitDefName>
      <UnitDefCode>0x53</UnitDefCode>
      <UnitDefGroup>Speed and Acceleration</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_d">
      <UnitDefName>d</UnitDefName>
      <UnitDefCode>0x15</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_dB">
      <UnitDefName>dB</UnitDefName>
      <UnitDefCode>0x70</UnitDefCode>
      <UnitDefGroup>Miscellaneous</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_deg_s">
      <UnitDefName>deg/s</UnitDefName>
      <UnitDefCode>0x54</UnitDefCode>
      <UnitDefGroup>Speed and Acceleration</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_degrees">
      <UnitDefName>degrees</UnitDefName>
      <UnitDefCode>0xA0</UnitDefCode>
      <UnitDefGroup>Angle</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_F">
      <UnitDefName>F</UnitDefName>
      <UnitDefCode>0x61</UnitDefCode>
      <UnitDefGroup>Temperature and Pressure</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_gal_UK">
      <UnitDefName>gal_UK</UnitDefName>
      <UnitDefCode>0x31</UnitDefCode>
      <UnitDefGroup>Volume</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_gal_US">
      <UnitDefName>gal_US</UnitDefName>
      <UnitDefCode>0x32</UnitDefCode>
      <UnitDefGroup>Volume</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_GByte">
      <UnitDefName>GByte</UnitDefName>
      <UnitDefCode>0xC3</UnitDefCode>
      <UnitDefGroup>Data</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_h">
      <UnitDefName>h</UnitDefName>
      <UnitDefCode>0x14</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_Hz">
      <UnitDefName>Hz</UnitDefName>
      <UnitDefCode>0x21</UnitDefCode>
      <UnitDefGroup>Frequency</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_K">
      <UnitDefName>K</UnitDefName>
      <UnitDefCode>0x62</UnitDefCode>
      <UnitDefGroup>Temperature and Pressure</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_kbps">
      <UnitDefName>kbps</UnitDefName>
      <UnitDefCode>0xD1</UnitDefCode>
      <UnitDefGroup>Data Rate</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_kByte_s">
      <UnitDefName>kBps</UnitDefName>
      <UnitDefCode>0xD4</UnitDefCode>
      <UnitDefGroup>Data Rate</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_kByte">
      <UnitDefName>kByte</UnitDefName>
      <UnitDefCode>0xC1</UnitDefCode>
      <UnitDefGroup>Data</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_kHz">
      <UnitDefName>kHz</UnitDefName>
      <UnitDefCode>0x22</UnitDefCode>
      <UnitDefGroup>Frequency</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_km">
      <UnitDefName>km</UnitDefName>
      <UnitDefCode>0x03</UnitDefCode>
      <UnitDefGroup>Distance</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_km_h">
      <UnitDefName>km/h</UnitDefName>
      <UnitDefCode>0x50</UnitDefCode>
      <UnitDefGroup>Speed and Acceleration</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_km_l">
      <UnitDefName>km/l</UnitDefName>
      <UnitDefCode>0x42</UnitDefCode>
      <UnitDefGroup>Consumption</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_l">
      <UnitDefName>l</UnitDefName>
      <UnitDefCode>0x30</UnitDefCode>
      <UnitDefGroup>Volume</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_l_100km">
      <UnitDefName>l/100km</UnitDefName>
      <UnitDefCode>0x40</UnitDefCode>
      <UnitDefGroup>Consumption</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_m">
      <UnitDefName>m</UnitDefName>
      <UnitDefCode>0x02</UnitDefCode>
      <UnitDefGroup>Distance</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_m_s">
      <UnitDefName>m/s</UnitDefName>
      <UnitDefCode>0x52</UnitDefCode>
      <UnitDefGroup>Speed and Acceleration</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_m_s_2">
      <UnitDefName>m/s_2</UnitDefName>
      <UnitDefCode>0x55</UnitDefCode>
      <UnitDefGroup>Speed and Acceleration</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_mA">
      <UnitDefName>mA</UnitDefName>
      <UnitDefCode>0x90</UnitDefCode>
      <UnitDefGroup>Current</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_MByte_s">
      <UnitDefName>MBps</UnitDefName>
      <UnitDefCode>0xD5</UnitDefCode>
      <UnitDefGroup>Data Rate</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_Mbps">
      <UnitDefName>Mbps</UnitDefName>
      <UnitDefCode>0xD2</UnitDefCode>
      <UnitDefGroup>Data Rate</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_MByte">
      <UnitDefName>MByte</UnitDefName>
      <UnitDefCode>0xC2</UnitDefCode>
      <UnitDefGroup>Data</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_MHz">
      <UnitDefName>MHz</UnitDefName>
      <UnitDefCode>0x23</UnitDefCode>
      <UnitDefGroup>Frequency</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_min">
      <UnitDefName>min</UnitDefName>
      <UnitDefCode>0x13</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_minutes">
      <UnitDefName>minutes</UnitDefName>
      <UnitDefCode>0xA1</UnitDefCode>
      <UnitDefGroup>Angle</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_mls">
      <UnitDefName>mls</UnitDefName>
      <UnitDefCode>0x04</UnitDefCode>
      <UnitDefGroup>Distance</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_mls_gal">
      <UnitDefName>mls/gal</UnitDefName>
      <UnitDefCode>0x41</UnitDefCode>
      <UnitDefGroup>Consumption</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_mls_h">
      <UnitDefName>mls/h</UnitDefName>
      <UnitDefCode>0x51</UnitDefCode>
      <UnitDefGroup>Speed and Acceleration</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_mon">
      <UnitDefName>mon</UnitDefName>
      <UnitDefCode>0x16</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_ms">
      <UnitDefName>ms</UnitDefName>
      <UnitDefCode>0x11</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_mV">
      <UnitDefName>mV</UnitDefName>
      <UnitDefCode>0x80</UnitDefCode>
      <UnitDefGroup>Voltage</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_none">
      <UnitDefName>none</UnitDefName>
      <UnitDefCode>0x00</UnitDefCode>
      <UnitDefGroup />
    </UnitDef>
    <UnitDef UnitID="unit_percent">
      <UnitDefName>percent</UnitDefName>
      <UnitDefCode>0x71</UnitDefCode>
      <UnitDefGroup>Miscellaneous</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_pixel">
      <UnitDefName>pixel</UnitDefName>
      <UnitDefCode>0xB0</UnitDefCode>
      <UnitDefGroup>Resolution</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_psi">
      <UnitDefName>psi</UnitDefName>
      <UnitDefCode>0x64</UnitDefCode>
      <UnitDefGroup>Temperature and Pressure</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_s">
      <UnitDefName>s</UnitDefName>
      <UnitDefCode>0x12</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_seconds">
      <UnitDefName>seconds</UnitDefName>
      <UnitDefCode>0xA2</UnitDefCode>
      <UnitDefGroup>Angle</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_TByte">
      <UnitDefName>TByte</UnitDefName>
      <UnitDefCode>0xC4</UnitDefCode>
      <UnitDefGroup>Data</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_us">
      <UnitDefName>us</UnitDefName>
      <UnitDefCode>0x10</UnitDefCode>
      <UnitDefGroup>Time</UnitDefGroup>
    </UnitDef>
    <UnitDef UnitID="unit_V">
      <UnitDefName>V</UnitDefName>
      <UnitDefCode>0x81</UnitDefCode>
      <UnitDefGroup>Voltage</UnitDefGroup>
    </UnitDef>
    <ErrorDef ErrorID="error_general_0x01">
      <ErrorDefCode>0x01</ErrorDefCode>
      <ErrorDefCodeDesc> = FBlockID not available</ErrorDefCodeDesc>
      <ErrorDefInfo>0x00</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x02">
      <ErrorDefCode>0x02</ErrorDefCode>
      <ErrorDefCodeDesc> = InstID not available</ErrorDefCodeDesc>
      <ErrorDefInfo>0x00</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x03">
      <ErrorDefCode>0x03</ErrorDefCode>
      <ErrorDefCodeDesc> = FktID not available</ErrorDefCodeDesc>
      <ErrorDefInfo>0x00</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x04">
      <ErrorDefCode>0x04</ErrorDefCode>
      <ErrorDefCodeDesc> = OPType not available</ErrorDefCodeDesc>
      <ErrorDefInfo>return OPType</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x05">
      <ErrorDefCode>0x05</ErrorDefCode>
      <ErrorDefCodeDesc> = Invalid length</ErrorDefCodeDesc>
      <ErrorDefInfo>0x00</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x06">
      <ErrorDefCode>0x06</ErrorDefCode>
      <ErrorDefCodeDesc> = Parameter wrong / out of range</ErrorDefCodeDesc>
      <ErrorDefInfo>return Parameter</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x07">
      <ErrorDefCode>0x07</ErrorDefCode>
      <ErrorDefCodeDesc> = Parameter not available</ErrorDefCodeDesc>
      <ErrorDefInfo>return Parameter</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x08">
      <ErrorDefCode>0x08</ErrorDefCode>
      <ErrorDefCodeDesc> = Parameter missing</ErrorDefCodeDesc>
      <ErrorDefInfo>0x00</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x09">
      <ErrorDefCode>0x09</ErrorDefCode>
      <ErrorDefCodeDesc> = Too many parameters</ErrorDefCodeDesc>
      <ErrorDefInfo>0x00</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x0A">
      <ErrorDefCode>0x0A</ErrorDefCode>
      <ErrorDefCodeDesc>= Seconary Node</ErrorDefCodeDesc>
      <ErrorDefInfo>return Address of Primary</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x0B">
      <ErrorDefCode>0x0B</ErrorDefCode>
      <ErrorDefCodeDesc> = Device Malfunction</ErrorDefCodeDesc>
      <ErrorDefInfo>return Parameter</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x0C">
      <ErrorDefCode>0x0C</ErrorDefCode>
      <ErrorDefCodeDesc> = Segmentation Error</ErrorDefCodeDesc>
      <ErrorDefInfo>0x01 First segment missing;
0x02 Target device does not provide enough buffers to handle a message of this size;
0x03 Unexpected segment number;
0x04 Too many unfinished segmentation messages pending;
0x05 Timeout while waiting for next segment;
0x06 Device not capable to handle segmented messages;
0x07 Segmented message has not been finished before the arrival of another message sent by the same node</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x20">
      <ErrorDefCode>0x20</ErrorDefCode>
      <ErrorDefCodeDesc> = Function specific</ErrorDefCodeDesc>
      <ErrorDefInfo>0x01 Buffer overflow; 0x02 List overflow; 0x03 Element overflow; 0x04 Value not available</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x40">
      <ErrorDefCode>0x40</ErrorDefCode>
      <ErrorDefCodeDesc> = Busy</ErrorDefCodeDesc>
      <ErrorDefInfo>return Parameter</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x41">
      <ErrorDefCode>0x41</ErrorDefCode>
      <ErrorDefCodeDesc> = Not available</ErrorDefCodeDesc>
      <ErrorDefInfo>return Parameter</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x42">
      <ErrorDefCode>0x42</ErrorDefCode>
      <ErrorDefCodeDesc>= Processing Error</ErrorDefCodeDesc>
      <ErrorDefInfo>return Parameter</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_0x43">
      <ErrorDefCode>0x43</ErrorDefCode>
      <ErrorDefCodeDesc>= Method aborted</ErrorDefCodeDesc>
      <ErrorDefInfo>return Parameter</ErrorDefInfo>
      <ErrorDefInfoDesc />
    </ErrorDef>
    <ErrorDef ErrorID="error_general_unknown">
      <ErrorDefCode />
      <ErrorDefCodeDesc />
      <ErrorDefInfo />
      <ErrorDefInfoDesc />
    </ErrorDef>
  </Definition>

</FunctionCatalog>
