<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="GSDML-Stylesheet-HTML-V2.3.xsl" type="text/xsl"?>
<ISO15745Profile xmlns="http://www.profibus.com/GSDML/2003/11/DeviceProfile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.profibus.com/GSDML/2003/11/DeviceProfile  ..\XSD\GSDML-DeviceProfile-v2.3.xsd">
  <ProfileHeader>
    <ProfileIdentification>PROFINET Device Profile</ProfileIdentification>
    <ProfileRevision>1.00</ProfileRevision>
    <ProfileName>Device Profile for PROFINET Devices</ProfileName>
    <ProfileSource>PROFIBUS Nutzerorganisation e. V. (PNO)</ProfileSource>
    <ProfileClassID>Device</ProfileClassID>
    <ISO15745Reference>
      <ISO15745Part>4</ISO15745Part>
      <ISO15745Edition>1</ISO15745Edition>
      <ProfileTechnology>GSDML</ProfileTechnology>
    </ISO15745Reference>
  </ProfileHeader>
  <ProfileBody>
    <DeviceIdentity VendorID="0x014D" DeviceID="0x0400">
      <InfoText TextId="TOK_DevIdent_InfoText"/>
      <VendorName Value="Festo"/>
    </DeviceIdentity>
    <DeviceFunction>
      <Family MainFamily="Sensors" ProductFamily="SBSI Vision Sensor"/>
    </DeviceFunction>
    <ApplicationProcess>
      <DeviceAccessPointList>
        <DeviceAccessPointItem ID="DAP 1" PhysicalSlots="0..5" ModuleIdentNumber="0x00000001" MinDeviceInterval="128" DNS_CompatibleName="SBSI" ExtendedAddressAssignmentSupported="true" FixedInSlots="0" ObjectUUID_LocalIndex="1" RequiredSchemaVersion="V2.0" MaxSupportedRecordSize="4068" PowerOnToCommReady="30000" DeviceAccessSupported="true" PNIO_Version="V2.2">
          <ModuleInfo>
            <Name TextId="TOK_Standard"/>
            <InfoText TextId="TOK_Standard_with_PDEV_Info"/>
            <VendorName Value="Festo"/>
          </ModuleInfo>
          <SubslotList>
            <SubslotItem SubslotNumber="32768" TextId="TOK_Subslot_8000"/> 
            <SubslotItem SubslotNumber="32769" TextId="TOK_Subslot_8001"/> 
          </SubslotList>
          <IOConfigData MaxInputLength="532" MaxOutputLength="272"/>
          <UseableModules>
            <ModuleItemRef ModuleItemTarget="ID_Mod_11" AllowedInSlots="1" UsedInSlots="1"/>   <!-- Control -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_21" AllowedInSlots="2" UsedInSlots="2"/>   <!-- Status -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_31" AllowedInSlots="3"/>                   <!-- Data 08 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_32" AllowedInSlots="3"/>                   <!-- Data 16 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_33" AllowedInSlots="3"/>                   <!-- Data 32 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_34" AllowedInSlots="3"/>                   <!-- Data 64 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_35" AllowedInSlots="3"/>                   <!-- Data 128 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_36" AllowedInSlots="3"/>                   <!-- Data 256 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_41" AllowedInSlots="4"/>                   <!-- Request 08 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_42" AllowedInSlots="4"/>                   <!-- Request 16 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_43" AllowedInSlots="4"/>                   <!-- Request 32 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_44" AllowedInSlots="4"/>                   <!-- Request 64 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_45" AllowedInSlots="4"/>                   <!-- Request 128 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_46" AllowedInSlots="4"/>                   <!-- Request 256 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_51" AllowedInSlots="5"/>                   <!-- Response 08 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_52" AllowedInSlots="5"/>                   <!-- Response 16 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_53" AllowedInSlots="5"/>                   <!-- Response 32 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_54" AllowedInSlots="5"/>                   <!-- Response 64 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_55" AllowedInSlots="5"/>                   <!-- Response 128 Bytes -->
            <ModuleItemRef ModuleItemTarget="ID_Mod_56" AllowedInSlots="5"/>                   <!-- Response 256 Bytes -->
          </UseableModules>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="DAP 1" SubmoduleIdentNumber="0x0001">
              <IOData/>
              <ModuleInfo>
                <Name TextId="TOK_Standard"/>
                <InfoText TextId="TOK_Standard_with_PDEV_Info"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
          <SystemDefinedSubmoduleList>
            <InterfaceSubmoduleItem ID="IDS_2I" SubslotNumber="32768" SubmoduleIdentNumber="0x0002" SupportedRT_Classes="RT_CLASS_1" TextId="TOK_DAP_InterfaceModule" IsochroneModeSupported="false" SupportedProtocols="LLDP" SupportedMibs="">
              <ApplicationRelations NumberOfAdditionalInputCR="0" NumberOfAdditionalMulticastProviderCR="0" NumberOfAdditionalOutputCR="0" NumberOfMulticastConsumerCR="0">
                <TimingProperties SendClock="32 64 128" ReductionRatio="1 2 4 8 16 32 64 128 256 512"/>
              </ApplicationRelations>
            </InterfaceSubmoduleItem>
            <PortSubmoduleItem ID="IDS_2P" SubslotNumber="32769" SubmoduleIdentNumber="0x0003" MAUType="100BASETXFD" TextId="TOK_Port1" />
          </SystemDefinedSubmoduleList>
          <Graphics>
            <GraphicItemRef Type="DeviceSymbol" GraphicItemTarget="ID_Graph_1"/>
          </Graphics>
        </DeviceAccessPointItem>
      </DeviceAccessPointList>
      <ModuleList>
        <ModuleItem ID="ID_Mod_11" ModuleIdentNumber="0x00000011">
          <ModuleInfo CategoryRef="ID_Category_Control">
            <Name TextId="T_Control"/> 
            <InfoText TextId="T_ControlInfo"/> 
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="11" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Output Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_ControlRegister" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResetError" /><!--BitOffset 0 means the least significant bit.-->
                    <BitDataItem BitOffset="1" TextId="T_HWTriggerDisable" />
                    <BitDataItem BitOffset="2" TextId="T_Trigger" />
                    <BitDataItem BitOffset="3" TextId="T_ChangeJob" />
                    <BitDataItem BitOffset="4" TextId="T_SwitchToRun" />
                    <BitDataItem BitOffset="5" TextId="T_Reserve" />
                    <BitDataItem BitOffset="6" TextId="T_Reserve" />
                    <BitDataItem BitOffset="7" TextId="T_Reserve" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_JobnumberChange" />
                </Output>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Control"/>
                <InfoText TextId="T_ControlInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        <ModuleItem ID="ID_Mod_21" ModuleIdentNumber="0x00000021">
          <ModuleInfo CategoryRef="ID_Category_Status">
            <Name TextId="T_Status"/> 
            <InfoText TextId="T_StatusInfo"/> 
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="12" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_StatusRegister1" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_Ready" />
                    <BitDataItem BitOffset="1" TextId="T_Valid" />
                    <BitDataItem BitOffset="2" TextId="T_TriggerAck" />
                    <BitDataItem BitOffset="3" TextId="T_ChangeJobAck" />
                    <BitDataItem BitOffset="4" TextId="T_SwitchToRunAck" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_DigitalResult" />
                  <DataItem DataType="Unsigned8" TextId="T_Jobnumber" />
                  <DataItem DataType="Unsigned8" TextId="T_ImageID" />
                  <DataItem DataType="Unsigned8" TextId="T_StatusRegister2" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_Error" /> <!--BitOffset 0 means the least significant bit.--> 
                    <BitDataItem BitOffset="1" TextId="T_Error" /> 
                    <BitDataItem BitOffset="2" TextId="T_Error" />
                    <BitDataItem BitOffset="3" TextId="T_Error" />
                    <BitDataItem BitOffset="4" TextId="T_TriggerMode" />
                    <BitDataItem BitOffset="5" TextId="T_TriggerMode" />
                    <BitDataItem BitOffset="6" TextId="T_OperationMode" />
                    <BitDataItem BitOffset="7" TextId="T_Reserve" />
                  </DataItem>
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Status"/>
                <InfoText TextId="T_StatusInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>

        <ModuleItem ID="ID_Mod_31" ModuleIdentNumber="0x00000031">
          <ModuleInfo CategoryRef="ID_Category_Data">
            <Name TextId="T_Data8"/>
            <InfoText TextId="T_DataInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="13" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_ImageID" />
                  <DataItem DataType="Unsigned8" TextId="T_ResultStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResultDataOverrun" />
                  </DataItem>
                  <DataItem DataType="OctetString" TextId="T_Data" Length="8" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Data8"/>
                <InfoText TextId="T_DataInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        
       <ModuleItem ID="ID_Mod_32" ModuleIdentNumber="0x00000032">
          <ModuleInfo CategoryRef="ID_Category_Data">
            <Name TextId="T_Data16"/>
            <InfoText TextId="T_DataInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="14" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_ImageID" />
                  <DataItem DataType="Unsigned8" TextId="T_ResultStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResultDataOverrun" />
                  </DataItem>
                  <DataItem DataType="OctetString" TextId="T_Data" Length="16" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Data16"/>
                <InfoText TextId="T_DataInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>

       <ModuleItem ID="ID_Mod_33" ModuleIdentNumber="0x00000033">
          <ModuleInfo CategoryRef="ID_Category_Data">
            <Name TextId="T_Data32"/>
            <InfoText TextId="T_DataInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="15" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_ImageID" />
                  <DataItem DataType="Unsigned8" TextId="T_ResultStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResultDataOverrun" />
                  </DataItem>
                  <DataItem DataType="OctetString" TextId="T_Data" Length="32" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Data32"/>
                <InfoText TextId="T_DataInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>        

       <ModuleItem ID="ID_Mod_34" ModuleIdentNumber="0x00000034">
          <ModuleInfo CategoryRef="ID_Category_Data">
            <Name TextId="T_Data64"/>
            <InfoText TextId="T_DataInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="16" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_ImageID" />
                  <DataItem DataType="Unsigned8" TextId="T_ResultStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResultDataOverrun" />
                  </DataItem>
                  <DataItem DataType="OctetString" TextId="T_Data" Length="64" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Data64"/>
                <InfoText TextId="T_DataInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>        

       <ModuleItem ID="ID_Mod_35" ModuleIdentNumber="0x00000035">
          <ModuleInfo CategoryRef="ID_Category_Data">
            <Name TextId="T_Data128"/>
            <InfoText TextId="T_DataInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="17" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_ImageID" />
                  <DataItem DataType="Unsigned8" TextId="T_ResultStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResultDataOverrun" />
                  </DataItem>
                  <DataItem DataType="OctetString" TextId="T_Data" Length="128" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Data128"/>
                <InfoText TextId="T_DataInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>        

       <ModuleItem ID="ID_Mod_36" ModuleIdentNumber="0x00000036">
          <ModuleInfo CategoryRef="ID_Category_Data">
            <Name TextId="T_Data256"/>
            <InfoText TextId="T_DataInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="18" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_ImageID" />
                  <DataItem DataType="Unsigned8" TextId="T_ResultStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResultDataOverrun" />
                  </DataItem>
                  <DataItem DataType="OctetString" TextId="T_Data" Length="256" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Data256"/>
                <InfoText TextId="T_DataInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>        

        <ModuleItem ID="ID_Mod_41" ModuleIdentNumber="0x00000041">
         <ModuleInfo CategoryRef="ID_Category_Request">
           <Name TextId="T_Request8"/>
           <InfoText TextId="T_RequestInfo"/>
         </ModuleInfo>
         <VirtualSubmoduleList>
           <VirtualSubmoduleItem ID="19" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Output Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_RequestKey" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_UserData" Length="8" />
                </Output>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Request8"/>
                <InfoText TextId="T_RequestInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        
        <ModuleItem ID="ID_Mod_42" ModuleIdentNumber="0x00000042">
          <ModuleInfo CategoryRef="ID_Category_Request">
            <Name TextId="T_Request16"/>
            <InfoText TextId="T_RequestInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="20" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Output Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_RequestKey" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_UserData" Length="16" />
                </Output>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Request16"/>
                <InfoText TextId="T_RequestInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>

        <ModuleItem ID="ID_Mod_43" ModuleIdentNumber="0x00000043">
          <ModuleInfo CategoryRef="ID_Category_Request">
            <Name TextId="T_Request32"/>
            <InfoText TextId="T_RequestInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="21" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Output Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_RequestKey" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_UserData" Length="32" />
                </Output>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Request32"/>
                <InfoText TextId="T_RequestInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        
        <ModuleItem ID="ID_Mod_44" ModuleIdentNumber="0x00000044">
          <ModuleInfo CategoryRef="ID_Category_Request">
            <Name TextId="T_Request64"/>
            <InfoText TextId="T_RequestInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="22" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Output Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_RequestKey" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_UserData" Length="64" />
                </Output>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Request64"/>
                <InfoText TextId="T_RequestInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        
        <ModuleItem ID="ID_Mod_45" ModuleIdentNumber="0x00000045">
          <ModuleInfo CategoryRef="ID_Category_Request">
            <Name TextId="T_Request128"/>
            <InfoText TextId="T_RequestInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="23" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Output Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_RequestKey" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_UserData" Length="128" />
                </Output>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Request128"/>
                <InfoText TextId="T_RequestInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>        

        <ModuleItem ID="ID_Mod_46" ModuleIdentNumber="0x00000046">
          <ModuleInfo CategoryRef="ID_Category_Request">
            <Name TextId="T_Request256"/>
            <InfoText TextId="T_RequestInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="24" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Output Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_RequestKey" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_UserData" Length="256" />
                </Output>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Request256"/>
                <InfoText TextId="T_RequestInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        
        <ModuleItem ID="ID_Mod_51" ModuleIdentNumber="0x00000051">
          <ModuleInfo CategoryRef="ID_Category_Response">
            <Name TextId="T_Response8"/>
            <InfoText TextId="T_ResponseInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="25" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_Key" />
                  <DataItem DataType="Unsigned8" TextId="T_ResponseStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResponseDataOverrun" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_ResponseData" Length="8" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Response8"/>
                <InfoText TextId="T_ResponseInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        
        <ModuleItem ID="ID_Mod_52" ModuleIdentNumber="0x00000052">
          <ModuleInfo CategoryRef="ID_Category_Response">
            <Name TextId="T_Response16"/>
            <InfoText TextId="T_ResponseInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="26" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_Key" />
                  <DataItem DataType="Unsigned8" TextId="T_ResponseStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResponseDataOverrun" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_ResponseData" Length="16" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Response16"/>
                <InfoText TextId="T_ResponseInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>

        <ModuleItem ID="ID_Mod_53" ModuleIdentNumber="0x00000053">
          <ModuleInfo CategoryRef="ID_Category_Response">
            <Name TextId="T_Response32"/>
            <InfoText TextId="T_ResponseInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="27" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_Key" />
                  <DataItem DataType="Unsigned8" TextId="T_ResponseStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResponseDataOverrun" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_ResponseData" Length="32" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Response32"/>
                <InfoText TextId="T_ResponseInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        
        <ModuleItem ID="ID_Mod_54" ModuleIdentNumber="0x00000054">
          <ModuleInfo CategoryRef="ID_Category_Response">
            <Name TextId="T_Response64"/>
            <InfoText TextId="T_ResponseInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="28" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_Key" />
                  <DataItem DataType="Unsigned8" TextId="T_ResponseStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResponseDataOverrun" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_ResponseData" Length="64" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Response64"/>
                <InfoText TextId="T_ResponseInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>

        <ModuleItem ID="ID_Mod_55" ModuleIdentNumber="0x00000055">
          <ModuleInfo CategoryRef="ID_Category_Response">
            <Name TextId="T_Response128"/>
            <InfoText TextId="T_ResponseInfo"/>
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="29" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_Key" />
                  <DataItem DataType="Unsigned8" TextId="T_ResponseStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResponseDataOverrun" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_ResponseData" Length="128" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Response128"/>
                <InfoText TextId="T_ResponseInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>

        <ModuleItem ID="ID_Mod_56" ModuleIdentNumber="0x00000056">
          <ModuleInfo CategoryRef="ID_Category_Response">
            <Name TextId="T_Response256"/>
            <InfoText TextId="T_ResponseInfo"/>
          </ModuleInfo> 
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="30" SubmoduleIdentNumber="0x0001" API="0">
              <IOData>
                <Input Consistency="All items consistency">
                  <DataItem DataType="Unsigned8" TextId="T_Key" />
                  <DataItem DataType="Unsigned8" TextId="T_ResponseStatus" UseAsBits="true">
                    <BitDataItem BitOffset="0" TextId="T_ResponseDataOverrun" />
                  </DataItem>
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="Unsigned8" TextId="T_Reserve" />
                  <DataItem DataType="OctetString" TextId="T_ResponseData" Length="256" />
                </Input>
              </IOData>
              <ModuleInfo>
                <Name TextId="T_Response256"/>
                <InfoText TextId="T_ResponseInfo"/>
              </ModuleInfo>
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
      </ModuleList>
      
      <ChannelDiagList>
        <ChannelDiagItem ErrorType="16">
          <Name TextId="TOK_Name_ErrorType16"/>
          <Help TextId="TOK_HelpName_ErrorType16"/>
        </ChannelDiagItem>
      </ChannelDiagList>
      <GraphicsList>
        <GraphicItem ID="ID_Graph_1" GraphicFile="GSDML-014D-0400-SBSIVisionSensor"/>
      </GraphicsList>
      <CategoryList>
        <CategoryItem ID="ID_Category_Control" TextId="T_ControlCategory"/>
        <CategoryItem ID="ID_Category_Status" TextId="T_StatusCategory"/>
        <CategoryItem ID="ID_Category_Data" TextId="T_DataCategory"/>
        <CategoryItem ID="ID_Category_Request" TextId="T_RequestCategory"/>
        <CategoryItem ID="ID_Category_Response" TextId="T_ResponseCategory"/>
      </CategoryList>
      <ExternalTextList>
        <PrimaryLanguage>
          <!--english-->
          <Text TextId="TOK_DevIdent_InfoText" Value="SBSI Vision Sensor"/>
          <!--DAP - VISOR Vision Sensor-->
          <Text TextId="TOK_Standard_no_PDEV" Value="SBSI (no PDEV)"/>
          <Text TextId="TOK_Standard" Value="SBSI"/>
          <Text TextId="TOK_Standard_with_PDEV_Info" Value="SBSI IO device, for pnio controller with PDev"/>
          <!--port name-->
          <Text TextId="TOK_Subslot_8000" Value="X1"/> <!-- tbd -->
          <Text TextId="TOK_Subslot_8001" Value="P1"/> <!-- tbd -->
          <Text TextId="TOK_DAP_InterfaceModule" Value="Interface"/>
          <Text TextId="TOK_Port1" Value="RJ45 10/100 MBit/s"/>
          <!--module name-->
          <Text TextId="T_ControlCategory" Value="Control Module (CTRL)"/>
          <Text TextId="T_Control" Value="CTRL (3 bytes)"/>
          <Text TextId="T_ControlInfo" Value="Control Module"/>
          <Text TextId="T_StatusCategory" Value="Status Module (STAT)"/>
          <Text TextId="T_Status" Value="STAT (6 bytes)"/>
          <Text TextId="T_StatusInfo" Value="Status Module"/>
          <Text TextId="T_DataCategory" Value="Data Module (DATA)" />
          <Text TextId="T_DataInfo" Value="Result data as defined in SensoConfig by user"/>
          <Text TextId="T_Data8" Value="DATA (2 + 8 bytes)"/>
          <Text TextId="T_Data16" Value="DATA (2 + 16 bytes)"/>
          <Text TextId="T_Data32" Value="DATA (2 + 32 bytes)"/>
          <Text TextId="T_Data64" Value="DATA (2 + 64 bytes)"/>
          <Text TextId="T_Data128" Value="DATA (2 + 128 bytes)"/>
          <Text TextId="T_Data256" Value="DATA (2 + 256 bytes)"/>
          <Text TextId="T_RequestCategory" Value="Request Module (REQU)" />
          <Text TextId="T_RequestInfo" Value="Request data as defined in Payload"/>
          <Text TextId="T_Request8" Value="REQU (4 + 8 bytes)"/>
          <Text TextId="T_Request16" Value="REQU (4 + 16 bytes)"/>
          <Text TextId="T_Request32" Value="REQU (4 + 32 bytes)"/>
          <Text TextId="T_Request64" Value="REQU (4 + 64 bytes)"/>
          <Text TextId="T_Request128" Value="REQU (4 + 128 bytes)"/>
          <Text TextId="T_Request256" Value="REQU (4 + 256 bytes)"/>
          <Text TextId="T_ResponseCategory" Value="Response Module (RESP)" />
          <Text TextId="T_ResponseInfo" Value="Response data for request"/>
          <Text TextId="T_Response8" Value="RESP (4 + 8 bytes)"/>
          <Text TextId="T_Response16" Value="RESP (4 + 16 bytes)"/>
          <Text TextId="T_Response32" Value="RESP (4 + 32 bytes)"/>
          <Text TextId="T_Response64" Value="RESP (4 + 64 bytes)"/>
          <Text TextId="T_Response128" Value="RESP (4 + 128 bytes)"/>
          <Text TextId="T_Response256" Value="RESP (4 + 256 bytes)"/>
          <!--dataitem name-->
          <Text TextId="T_ControlRegister" Value="Control Register "/>
          <Text TextId="T_HWTriggerDisable" Value="HW-Trigger Disable "/>
          <Text TextId="T_Trigger" Value="Trigger "/>
          <Text TextId="T_TeachTemporary" Value="Teach Temporary "/>
          <Text TextId="T_TeachPermanent" Value="Teach Permanent "/>
          <Text TextId="T_ResetError" Value="Reset Error "/>
          <Text TextId="T_ChangeJob" Value="Job Change "/>
          <Text TextId="T_SwitchToRun" Value="Switch to Run Mode "/>
          <Text TextId="T_Reserve" Value="Reserve "/>
          <Text TextId="T_JobnumberChange" Value="Jobnumber Change "/>
          <Text TextId="T_StatusRegister1" Value="Control Status Register 1 "/>
          <Text TextId="T_StatusRegister2" Value="Control Status Register 2 "/>
          <Text TextId="T_Ready" Value="Ready "/>
          <Text TextId="T_Valid" Value="Valid "/>
          <Text TextId="T_TriggerAck" Value="Trigger Acknowledge "/>
          <Text TextId="T_ChangeJobAck" Value="Change Job Acknowledge "/>
          <Text TextId="T_SwitchToRunAck" Value="Switch To Run Acknowledge "/>
          <Text TextId="T_DigitalResult" Value="Digital Result "/>
          <Text TextId="T_Jobnumber" Value="Jobnumber "/>
          <Text TextId="T_ImageID" Value="Image ID "/>
          <Text TextId="T_Error" Value="Error "/>
          <Text TextId="T_TriggerMode" Value="Trigger Mode "/>
          <Text TextId="T_OperationMode" Value="Operation Mode "/>
          <Text TextId="T_RequestKey" Value="Request Key "/>
          <Text TextId="T_RequestID" Value="Request ID "/>
          <Text TextId="T_UserData" Value="Request User Data "/>
          <Text TextId="T_Key" Value="Request Key "/>
          <Text TextId="T_ResponseStatus" Value="Response Status Register"/>
          <Text TextId="T_ResponseDataOverrun" Value="Response Data Overrun"/>
          <Text TextId="T_ResponseError" Value="Response Error"/>
          <Text TextId="T_ResponseData" Value="Response Data"/>
          <Text TextId="T_Data" Value="Data Data"/>
          <Text TextId="T_ResultStatus" Value="Result Status Register"/>
          <Text TextId="T_ResultDataOverrun" Value="Result Data Overrun"/>
          <!--  Parameter -->          
          <Text TextId="InitValueInput" Value="Initialisation value for Input Object"/>
          <Text TextId="TestValue" Value="Test value for Input Object"/>
          <Text TextId="TestValue2" Value="Test value for Output Object"/>
          <Text TextId="BigRecord" Value="Test value for Big Record Data"/>
          <!--errortype name-->
          <Text TextId="TOK_Name_ErrorType16" Value="parameter assignment error"/>
          <Text TextId="TOK_HelpName_ErrorType16" Value="parameter assignment error"/>
        </PrimaryLanguage>
      </ExternalTextList>
    </ApplicationProcess>
  </ProfileBody>
</ISO15745Profile>
