<?xml version="1.0" encoding="iso-8859-1"?>
<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.33.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="0x0507" DeviceID="0x2001">
      <InfoText TextId="TOK_DevIdent_InfoText" />
      <VendorName Value="Robotics Technology" />
    </DeviceIdentity>
    <DeviceFunction>
      <Family MainFamily="I/O" ProductFamily="Robot Device" />
    </DeviceFunction>
    <ApplicationProcess>
      <DeviceAccessPointList>
        <DeviceAccessPointItem ID="Standard IO" PhysicalSlots="0..1" ModuleIdentNumber="0x00000001" MinDeviceInterval="8" ImplementationType="SOFTWARE" DNS_CompatibleName="RobotIO" FixedInSlots="0" ObjectUUID_LocalIndex="1" MultipleWriteSupported="true" PowerOnToCommReady="210" DeviceAccessSupported="true" NumberOfDeviceAccessAR="1" RequiredSchemaVersion="V2.31" PNIO_Version="V2.32" NameOfStationNotTransferable="true" SharedDeviceSupported="true" LLDP_NoD_Supported="true" ResetToFactoryModes="2" CheckDeviceID_Allowed="false" ParameterizationSpeedupSupported="true" PrmBeginPrmEndSequenceSupported="true">
          <ModuleInfo>
            <Name TextId="T_ID_DAP" />
            <InfoText TextId="T_ID_InfoTextId_DAP1" />
            <VendorName Value="   Robotics" />
            <OrderNumber Value="0000000" />
            <HardwareRelease Value="1" />
            <SoftwareRelease Value="V16.00.17" />
          </ModuleInfo>
          <CertificationInfo ApplicationClass="Isochronous" ConformanceClass="C" NetloadClass="III" />
          <SubslotList>
            <SubslotItem SubslotNumber="32768" TextId="TOK_Subslot_8000" />
            <SubslotItem SubslotNumber="32769" TextId="TOK_Subslot_8001" />
            <SubslotItem SubslotNumber="32770" TextId="TOK_Subslot_8002" />
          </SubslotList>
          <IOConfigData MaxInputLength="128" MaxOutputLength="128"></IOConfigData>
          <UseableModules>
            <ModuleItemRef ModuleItemTarget="1" AllowedInSlots="1" FixedInSlots="1"></ModuleItemRef>
          </UseableModules>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="Standard IO" SubmoduleIdentNumber="0x00000001" Writeable_IM_Records="1 2 3 4" MayIssueProcessAlarm="true">
              <IOData></IOData>
              <RecordDataList>
                <ParameterRecordDataItem Index="8192" Length="4">
                  <Name TextId="TI_OFFSET" />
                  <Const Data="0x00,0x00,0x10,0x00" />
                  <!-- const offset in ns input trigger T3 -->
                </ParameterRecordDataItem>
                <ParameterRecordDataItem Index="8193" Length="4">
                  <Name TextId="TO_OFFSET" />
                  <Const Data="0x00,0x00,0x20,0x00" />
                  <!-- const offset in ns output trigger T4 -->
                </ParameterRecordDataItem>
              </RecordDataList>
              <ModuleInfo>
                <Name TextId="PEB" />
                <InfoText TextId="PEB" />
              </ModuleInfo>
              <IsochroneMode T_DC_Base="4" T_DC_Min="1" T_DC_Max="8" T_IO_Base="1000" T_IO_InputMin="40" T_IO_OutputMin="40" IsochroneModeRequired="false" />
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
          <SystemDefinedSubmoduleList>
            <InterfaceSubmoduleItem ID="IDS_1I" SubslotNumber="32768" SubmoduleIdentNumber="0x000a" DelayMeasurementSupported="true" IsochroneModeSupported="true" SupportedRT_Classes="RT_CLASS_1;RT_CLASS_3" IsochroneModeInRT_Classes="RT_CLASS_3" TextId="TOK_DAP_InterfaceModule" SupportedProtocols="LLDP;SNMP" NetworkComponentDiagnosisSupported="true" DCP_BoundarySupported="true" PTP_BoundarySupported="true" DCP_HelloSupported="true">
              <RT_Class3Properties StartupMode="Legacy;Advanced" MaxBridgeDelay="3860" MaxNumberIR_FrameData="128" ForwardingMode="Relative" />
              <SynchronisationMode SupportedRole="SyncSlave" MaxLocalJitter="10" T_PLL_MAX="1000" SupportedSyncProtocols="PTCP" />
              <ApplicationRelations StartupMode="Legacy;Advanced" NumberOfAdditionalInputCR="0" NumberOfAdditionalMulticastProviderCR="0" NumberOfAdditionalOutputCR="0" NumberOfMulticastConsumerCR="0" NumberOfAR="2">
                <TimingProperties SendClock="8 16 32" ReductionRatio="1 2 4 8 16 32 64 128 256 512" />
                <RT_Class3TimingProperties SendClock="8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128" ReductionRatio="1" ReductionRatioPow2="2 4 8 16 32 64 128" />
              </ApplicationRelations>
              <MediaRedundancy SupportedRole="Client" />
            </InterfaceSubmoduleItem>
            <PortSubmoduleItem ID="IDS_1P1" SubslotNumber="32769" SubmoduleIdentNumber="0x000b" MAUTypes="16" TextId="TOK_Port1" MaxPortRxDelay="173" MaxPortTxDelay="74" PortDeactivationSupported="false" LinkStateDiagnosisCapability="Up+Down" SupportsRingportConfig="true" IsDefaultRingport="true" CheckMAUTypeSupported="true" CheckMAUTypeDifferenceSupported="true">
              <MAUTypeList>
                <MAUTypeItem Value="16" AdjustSupported="true" />
              </MAUTypeList>
            </PortSubmoduleItem>
            <PortSubmoduleItem ID="IDS_1P2" SubslotNumber="32770" SubmoduleIdentNumber="0x000c" MAUTypes="16" TextId="TOK_Port2" MaxPortRxDelay="173" MaxPortTxDelay="74" PortDeactivationSupported="false" LinkStateDiagnosisCapability="Up+Down" SupportsRingportConfig="true" IsDefaultRingport="true" CheckMAUTypeSupported="true" CheckMAUTypeDifferenceSupported="true">
              <MAUTypeList>
                <MAUTypeItem Value="16" AdjustSupported="true" />
              </MAUTypeList>
            </PortSubmoduleItem>
          </SystemDefinedSubmoduleList>
          <Graphics>
            <GraphicItemRef Type="DeviceSymbol" GraphicItemTarget="ID_Graph_V2" />
            <GraphicItemRef Type="DeviceIcon" GraphicItemTarget="ID_Icon_V1" />
          </Graphics>
          <SystemRedundancy DeviceType="S2" MaxSwitchOverTime="3" RT_InputOnBackupAR_Supported="false" NumberOfAR_Sets="1" DataInvalidOnBackupAR_Supported="false" />
        </DeviceAccessPointItem>
      </DeviceAccessPointList>
      <ModuleList>
        <ModuleItem ID="1" ModuleIdentNumber="0x00000002">
          <ModuleInfo>
            <Name TextId="TOK_TextId_Module_1IO" />
            <InfoText TextId="TOK_InfoTextId_Module_1IO" />
            <HardwareRelease Value="1.0" />
            <SoftwareRelease Value="1.0" />
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="1" SubmoduleIdentNumber="0x0002" MayIssueProcessAlarm="true">
              <IOData>
                <Input Consistency="Item consistency">
                  <DataItem TextId="T_ID_IN_5BYTE" DataType="OctetString" Length="5" UseAsBits="true" />
                </Input>
                <Output Consistency="Item consistency">
                  <DataItem TextId="T_ID_OUT_5BYTE" DataType="OctetString" Length="5" UseAsBits="true" />
                </Output>
              </IOData>
              <RecordDataList>
                <!-- Example for using record parameters. Change it for your own needs. -->
                <ParameterRecordDataItem Index="1234" Length="2">
                  <Name TextId="TOK_ExampleParameter" />
                  <Const Data="0xAB,0xCD" />
                </ParameterRecordDataItem>
                <!-- Configuration of replacement values. This is only used if the TPS-1 is configured for "Local IO" mode. -->
                <!-- The configuration has to be adapted to the length of the Ouput data (1-6 Byte). 
                     The Format is: [Substitution Value 0] ... [Substitution Value n] [SubstitutionMode] -->
                <ParameterRecordDataItem Index="8200" Length="3" TransferSequence="0">
                  <Name TextId="SubstitutionMode" />
                  <Const Data="0xFF,0xFF,0x01" />
                  <Ref TextId="SubstitutionMode" Visible="true" DataType="Bit" BitOffset="0" ByteOffset="2" Changeable="true" AllowedValues="0 1" DefaultValue="1" ValueItemTarget="SubstitutionMode" />
                  <Ref TextId="ReplacementValue0..7" Visible="true" DataType="Unsigned8" ByteOffset="0" Changeable="true" AllowedValues="0..255" DefaultValue="0" />
                  <Ref TextId="ReplacementValue8..15" Visible="true" DataType="Unsigned8" ByteOffset="1" Changeable="true" AllowedValues="0..255" DefaultValue="0" />
                  <!--Ref TextId="ReplacementValue16..23" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="2" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue16..23" />
                  <Ref TextId="ReplacementValue24..31" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="3" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue24..31" />
                  <Ref TextId="ReplacementValue32..39" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="4" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue32..39" />
                  <Ref TextId="ReplacementValue40..47" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="5" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue40..47" /-->
                </ParameterRecordDataItem>
              </RecordDataList>
              <ModuleInfo>
                <Name TextId="TOK_TextId_Module_1IO" />
                <InfoText TextId="TOK_InfoTextId_Module_1IO" />
              </ModuleInfo>
              <IsochroneMode T_DC_Base="4" T_DC_Min="1" T_DC_Max="8" T_IO_Base="1000" T_IO_InputMin="40" T_IO_OutputMin="40" IsochroneModeRequired="false" />
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
        <ModuleItem ID="2" ModuleIdentNumber="0x00000003">
          <ModuleInfo>
            <Name TextId="TOK_TextId_Module_1IO2" />
            <InfoText TextId="TOK_InfoTextId_Module_1IO" />
            <HardwareRelease Value="1.0" />
            <SoftwareRelease Value="1.0" />
          </ModuleInfo>
          <VirtualSubmoduleList>
            <VirtualSubmoduleItem ID="2" SubmoduleIdentNumber="0x0002" MayIssueProcessAlarm="true">
              <IOData>
                <Input Consistency="Item consistency">
                  <DataItem TextId="T_ID_AI_4BYTE" DataType="OctetString" Length="4" UseAsBits="true" />
                </Input>
              </IOData>
              <RecordDataList>
                <!-- Example for using record parameters. Change it for your own needs. -->
                <ParameterRecordDataItem Index="1234" Length="2">
                  <Name TextId="TOK_ExampleParameter" />
                  <Const Data="0xAB,0xCD" />
                </ParameterRecordDataItem>
                <!-- Configuration of replacement values. This is only used if the TPS-1 is configured for "Local IO" mode. -->
                <!-- The configuration has to be adapted to the length of the Ouput data (1-6 Byte). 
                     The Format is: [Substitution Value 0] ... [Substitution Value n] [SubstitutionMode] -->
                <ParameterRecordDataItem Index="8200" Length="3" TransferSequence="0">
                  <Name TextId="SubstitutionMode" />
                  <Const Data="0xFF,0xFF,0x01" />
                  <Ref TextId="SubstitutionMode" Visible="true" DataType="Bit" BitOffset="0" ByteOffset="2" Changeable="true" AllowedValues="0 1" DefaultValue="1" ValueItemTarget="SubstitutionMode" />
                  <Ref TextId="ReplacementValue0..7" Visible="true" DataType="Unsigned8" ByteOffset="0" Changeable="true" AllowedValues="0..255" DefaultValue="0" />
                  <Ref TextId="ReplacementValue8..15" Visible="true" DataType="Unsigned8" ByteOffset="1" Changeable="true" AllowedValues="0..255" DefaultValue="0" />
                  <!--Ref TextId="ReplacementValue16..23" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="2" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue16..23" />
                  <Ref TextId="ReplacementValue24..31" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="3" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue24..31" />
                  <Ref TextId="ReplacementValue32..39" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="4" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue32..39" />
                  <Ref TextId="ReplacementValue40..47" Visible="true" DataType="Unsigned8" BitOffset="0" ByteOffset="5" Changeable="true" AllowedValues="0..255" DefaultValue="0" ValueItemTarget="ReplacementValue40..47" /-->
                </ParameterRecordDataItem>
              </RecordDataList>
              <ModuleInfo>
                <Name TextId="TOK_TextId_Module_1IO2" />
                <InfoText TextId="TOK_InfoTextId_Module_1IO" />
              </ModuleInfo>
              <IsochroneMode T_DC_Base="4" T_DC_Min="1" T_DC_Max="8" T_IO_Base="1000" T_IO_InputMin="40" T_IO_OutputMin="40" IsochroneModeRequired="false" />
            </VirtualSubmoduleItem>
          </VirtualSubmoduleList>
        </ModuleItem>
      </ModuleList>
      <ValueList>
        <ValueItem ID="SubstitutionMode">
          <Assignments>
            <Assign TextId="Replacement value" Content="1" />
            <Assign TextId="Last value" Content="0" />
          </Assignments>
        </ValueItem>
        <!--ValueItem ID="ReplacementValue16..23"></ValueItem>
        <ValueItem ID="ReplacementValue24..31"></ValueItem>
        <ValueItem ID="ReplacementValue32..39"></ValueItem>
        <ValueItem ID="ReplacementValue40..47"></ValueItem-->
      </ValueList>
      <GraphicsList>
        <GraphicItem ID="ID_Graph_V1" GraphicFile="GSDML-0507-2001-Robot Device" />
        <GraphicItem ID="ID_Graph_V2" GraphicFile="GSDML-0507-2001-Robot Device" />
        <GraphicItem ID="ID_Icon_V1" GraphicFile="GSDML-0174-1234-TPS-1-EXTENDED" />
      </GraphicsList>
      <ExternalTextList>
        <PrimaryLanguage>
          <!--without translation-->
          <Text TextId="T_ID_DAP" Value="  IO V1.0" />
          <Text TextId="TOK_Subslot_8000" Value="X1" />
          <Text TextId="TOK_Subslot_8001" Value="X1 P1" />
          <Text TextId="TOK_Subslot_8002" Value="X1 P2" />
          <Text TextId="TOK_DAP_InterfaceModule" Value="PN-IO" />
          <Text TextId="TOK_Port1" Value="Port 1 - RJ45" />
          <Text TextId="TOK_Port2" Value="Port 2 - RJ45" />
          <Text TextId="TOK_In" Value="DI" />
          <Text TextId="TOK_Out" Value="IN/OUT" />
          <Text TextId="TOK_InOut" Value="DI/DO" />
          <Text TextId="TOK_ExampleParameter" Value="Example Parameter" />
          <Text TextId="TI_OFFSET" Value="TI_OFFSET" />
          <Text TextId="TO_OFFSET" Value="TO_OFFSET"></Text>
          <!--DAPs-->
          <Text TextId="PEB" Value="PEB" />
          <Text TextId="TOK_DevIdent_InfoText" Value="The robot controller's internal PROFINET IO device." />
          <Text TextId="T_ID_InfoTextId_DAP1" Value="Robot Device" />
          <!--module name-->
          <Text TextId="TOK_TextId_Module_1IO" Value="DI-5BYTE-DO-5BYTE" />
          <Text TextId="TOK_TextId_Module_1IO2" Value="AI-4BYTE" />
          <!--module info name-->
          <Text TextId="TOK_InfoTextId_Module_1IO" Value="Template GSD-File for TPS-1, PLEASE CHANGE" />
          <Text TextId="T_ID_AI_4BYTE" Value="32bit Analog Input" />
          <!--dataitem name-->
          <Text TextId="T_ID_IN_5BYTE" Value="5 byte input" />
          <Text TextId="T_ID_OUT_5BYTE" Value="5 byte output" />
          <!-- TextIDs for Replacement Mode. -->
          <Text TextId="Analog_Input_32bit" Value="Analog Input Modules" />
          <Text Value="default value cautions" TextId="SubstitutionMode" />
          <Text Value="default value bits 0-7" TextId="ReplacementValue0..7" />
          <Text Value="default value bits 8-15" TextId="ReplacementValue8..15" />
          <Text Value="Replacement value" TextId="Replacement value" />
          <Text Value="Last value" TextId="Last value" />
        </PrimaryLanguage>
      </ExternalTextList>
    </ApplicationProcess>
  </ProfileBody>
</ISO15745Profile>