<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="GSDML-Stylesheet-HTML-V2.34.xsl" type="text/xsl"?>

<!--
     If you change something here, don't forget to update the CI validation
     script after changing the filename.
-->

<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.34.xsd">
    <!-- ProfileHeader definition as defined in ISO 15745-1. Please do not change the content. -->
    <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 DeviceID="0x4005" VendorID="0x0053">
            <InfoText TextId="TOK_DevIdent_InfoText"/>
            <VendorName Value="Fluke Process Instruments"/>
        </DeviceIdentity>
        <DeviceFunction>
            <Family MainFamily="Sensors" ProductFamily="T40 Serie" />
        </DeviceFunction>
        <ApplicationProcess>
            <DeviceAccessPointList>
                <DeviceAccessPointItem ID="DAP 1" PhysicalSlots="0..2"
                ModuleIdentNumber="0x00000001" MinDeviceInterval="32"
                ImplementationType="T40" DNS_CompatibleName="t40"
                FixedInSlots="0" ObjectUUID_LocalIndex="1"
                RequiredSchemaVersion="V2.2" MaxSupportedRecordSize="4068"
                ParameterizationSpeedupSupported="false" PowerOnToCommReady="0"
                DeviceAccessSupported="true" NumberOfDeviceAccessAR="1"
                PNIO_Version="V2.34" ResetToFactoryModes="1 2 4"
                CheckDeviceID_Allowed="true" MultipleWriteSupported="true"
                LLDP_NoD_Supported="true" NameOfStationNotTransferable="true"
                AddressAssignment="DCP">
                    <ModuleInfo CategoryRef="ID_T40">
                        <Name TextId="TOK_Standard_T40"/>
                        <InfoText TextId="TOK_ModInfo_InfoTextId_DAP1"/>
                        <VendorName Value="Fluke Process Instruments"/>
                        <OrderNumber Value="Thermalert 4.0"/>                     <!-- Order number need to be confirmed -->
                        <HardwareRelease Value="1.0"/>					 <!-- Hardware version need to be confirmed -->	
                        <SoftwareRelease Value="V1.1.0"/>					 <!-- Software version need to be confirmed -->	
                    </ModuleInfo>
                    <CertificationInfo ConformanceClass="A" ApplicationClass="" NetloadClass="I"/>
                    <SubslotList>
                        <SubslotItem SubslotNumber="32768" TextId="TOK_Subslot_8000"/>
                        <SubslotItem SubslotNumber="32769" TextId="TOK_Subslot_8001"/>
                    </SubslotList>
                    <IOConfigData MaxInputLength="1440" MaxOutputLength="1440"/>
                    <UseableModules>
                        <ModuleItemRef ModuleItemTarget="ID_Mod_11" AllowedInSlots="1"/>    
						<ModuleItemRef ModuleItemTarget="ID_Mod_12" AllowedInSlots="2"/>						
                    </UseableModules>
                    <VirtualSubmoduleList>
                        <VirtualSubmoduleItem ID="DAP1" SubmoduleIdentNumber="0x0001" Writeable_IM_Records="1 2 3 4" MayIssueProcessAlarm="false">
                            <IOData/>							
                            <ModuleInfo>
                                <Name TextId="TOK_Standard_T40"/>
                                <InfoText TextId="TOK_ModInfo_InfoTextId_DAP1"/>
                            </ModuleInfo>
                        </VirtualSubmoduleItem>
                    </VirtualSubmoduleList>
                    <SystemDefinedSubmoduleList>
                        <InterfaceSubmoduleItem ID="IDS_1I" SubslotNumber="32768" SubmoduleIdentNumber="0x8000" SupportedRT_Classes="RT_CLASS_1" TextId="TOK_DAP_InterfaceModule" IsochroneModeSupported="false" SupportedProtocols="LLDP" NetworkComponentDiagnosisSupported="false" PTP_BoundarySupported="true" DCP_BoundarySupported="true">
                            <ApplicationRelations NumberOfAdditionalInputCR="0" NumberOfAdditionalMulticastProviderCR="0" NumberOfAdditionalOutputCR="0" NumberOfMulticastConsumerCR="0" PullModuleAlarmSupported="false" StartupMode="Advanced;Legacy">
                                <TimingProperties SendClock="32" ReductionRatio="1 2 4 8 16 32 64 128 256 512"/>
                            </ApplicationRelations>
                        </InterfaceSubmoduleItem>
                        <PortSubmoduleItem ID="IDS_1P" SubslotNumber="32769" SubmoduleIdentNumber="0x8001" TextId="TOK_Port1" MaxPortRxDelay="378" MaxPortTxDelay="1212" PortDeactivationSupported="true" LinkStateDiagnosisCapability="Up+Down">
                            <MAUTypeList>
                                <MAUTypeItem Value="16"/>
                            </MAUTypeList>
                        </PortSubmoduleItem>
                    </SystemDefinedSubmoduleList>
                    <Graphics>
                        <GraphicItemRef Type="DeviceSymbol" GraphicItemTarget="ID_Graph_1"/>  <!-- Graph need to be confirmed -->
                    </Graphics>
                </DeviceAccessPointItem>
            </DeviceAccessPointList>
            <ModuleList>
                <ModuleItem ID="ID_Mod_11" ModuleIdentNumber="0x00000030">
                    <ModuleInfo>
                        <Name TextId="TOK_TextId_Module_12I"/>
                        <InfoText TextId="TOK_InfoTextId_Module_IData"/>
                        <HardwareRelease Value="1.0"/>
                        <SoftwareRelease Value="1.0"/>
                    </ModuleInfo>
                    <VirtualSubmoduleList>
                        <VirtualSubmoduleItem ID="11" SubmoduleIdentNumber="0x0001" MayIssueProcessAlarm="false">
                            <IOData>
                                <Input Consistency="All items consistency">
                                    <DataItem DataType="OctetString" TextId="TOK_Input_DataItem_12" Length="12" UseAsBits="true"/>
                                </Input>                                
                            </IOData>
							<RecordDataList>
                            <!--    <ParameterRecordDataItem Index="1" Length="3">
                                    <Name TextId="IDT_RECORD_NAME_rec1"/>
                                    <Const Data="0x03,0x00,0x00"/>
                                </ParameterRecordDataItem>
                                <ParameterRecordDataItem Index="2" Length="3">
                                    <Name TextId="IDT_RECORD_NAME_rec2"/>
                                    <Const Data="0x03,0x00,0x00"/>
                                </ParameterRecordDataItem> -->
								
								<ParameterRecordDataItem Index="51" Length="2" TransferSequence="0">
								  <Name TextId="TOK_Alarmverhalten" />
								  <!-- <Const Data="0x00" ByteOffset="0" /> -->
								  <Ref ValueItemTarget="Diagnostics_Alarm" DataType="Unsigned8" ByteOffset="0" DefaultValue="0" AllowedValues="0 1" Changeable="true" Visible="true" TextId="TOK_Diagnostics_Alarm" />
								  <Ref ValueItemTarget="Process_Alarm" DataType="Unsigned8" ByteOffset="1" DefaultValue="0" AllowedValues="0 1" Changeable="true" Visible="true" TextId="TOK_Process_Alarm" />				  
								</ParameterRecordDataItem>
								<ParameterRecordDataItem Index="52" Length="1" TransferSequence="0">
								  <Name TextId="TOK_PeripheryErrorbehaviour" />
								  <Ref ValueItemTarget="Error_Behaviour" DataType="Unsigned8" ByteOffset="0" DefaultValue="0" AllowedValues="0 1" Changeable="true" Visible="true" TextId="TOK_Error_Behaviour" />
								</ParameterRecordDataItem>
								<ParameterRecordDataItem Index="41" Length="20" TransferSequence="0"> 
								  <Name TextId="TOK_GeneralParameter" />
								  <Ref ValueItemTarget="Temperature_Unit" DataType="Unsigned8" ByteOffset="0" DefaultValue="67" AllowedValues="67 70" Changeable="true" Visible="true" TextId="TOK_Temperature_Unit" />
								  <Ref TextId="Emissivity_1" DataType="Unsigned16" ByteOffset="1" DefaultValue="950" AllowedValues="100..1100" Changeable="true" Visible="true" />
								  <Ref TextId="Transmissivity_1" DataType="Unsigned16" ByteOffset="3" DefaultValue="1000" AllowedValues="100..1000" Changeable="true" Visible="true" />
								  <Ref TextId="SensorOffset" DataType="Integer32" ByteOffset="5" DefaultValue="0" AllowedValues="-200..200" Changeable="true" Visible="true" />
								  <Ref TextId="SensorGain" DataType="Unsigned32" ByteOffset="9" DefaultValue="1000" AllowedValues="800..1200" Changeable="true" Visible="true" />
								  <Ref TextId="Averaging_Time_1" DataType="Unsigned16" ByteOffset="13" DefaultValue="0" AllowedValues="0..9990" Changeable="true" Visible="true" />
								  <Ref TextId="Peak_Hold_Time_1" DataType="Unsigned16" ByteOffset="15" DefaultValue="0" AllowedValues="0..9990" Changeable="true" Visible="true" />
								  <Ref TextId="Valley_Hold_Time_1" DataType="Unsigned16" ByteOffset="17" DefaultValue="0" AllowedValues="0..9990" Changeable="true" Visible="true" />
								  <Ref ValueItemTarget="Laser_1" DataType="Unsigned8" ByteOffset="19" DefaultValue="0" AllowedValues="0 1" Changeable="true" Visible="true" TextId="TOK_Laser_1" /> 
								</ParameterRecordDataItem> 
                            </RecordDataList>
                            <ModuleInfo>
                                <Name TextId="TOK_TextId_Module_12I"/>
                                <InfoText TextId="TOK_InfoTextId_Module_IData"/>
                            </ModuleInfo>
                        </VirtualSubmoduleItem>
                    </VirtualSubmoduleList>
                </ModuleItem>
				<ModuleItem ID="ID_Mod_12" ModuleIdentNumber="0x00000031">
                    <ModuleInfo>
                        <Name TextId="TOK_TextId_Module_5O"/>
                        <InfoText TextId="TOK_InfoTextId_Module_OData"/>
                        <HardwareRelease Value="1.0"/>
                        <SoftwareRelease Value="1.0"/>
                    </ModuleInfo>
                    <VirtualSubmoduleList>
                        <VirtualSubmoduleItem ID="12" SubmoduleIdentNumber="0x0001" MayIssueProcessAlarm="false">
                            <IOData>
                                <Output Consistency="All items consistency">
                                    <DataItem DataType="OctetString" TextId="TOK_Output_DataItem_5" Length="5" UseAsBits="true"/>
                                </Output>
                            </IOData>
                            <ModuleInfo>
                                <Name TextId="TOK_TextId_Module_5O"/>
                                <InfoText TextId="TOK_InfoTextId_Module_OData"/>
                            </ModuleInfo>
                        </VirtualSubmoduleItem>
                    </VirtualSubmoduleList>
                </ModuleItem>
            </ModuleList>
			<ValueList>	
				<ValueItem ID="Temperature_Unit">
				<Help TextId="Help_CorF" />
				<Assignments>
				<Assign TextId="Celsius" Content="67" />
				<Assign TextId="Fahrenheit" Content="70" />
				</Assignments>
				</ValueItem>
				<ValueItem ID="Laser_1">
				<Assignments>
				<Assign TextId="Laser_OFF" Content="0" />
				<Assign TextId="Laser_ON" Content="1" />	
				<!-- <Assign TextId="Laser_Flash" Content="2" />
				<Assign TextId="Laser_Trigger" Content="3" /> -->
				</Assignments>
				</ValueItem>
				<ValueItem ID="Error_Behaviour">
				<Assignments>
				<Assign TextId="Set_To_Zero" Content="0" />
				<Assign TextId="Freeze_up" Content="1" />
				</Assignments>
				</ValueItem>
				<ValueItem ID="Diagnostics_Alarm">
				<Assignments>
				<Assign TextId="Meldungen_inaktiv" Content="0" />
				<Assign TextId="Meldungen_aktiv" Content="1" />
				</Assignments>
				</ValueItem>
				<ValueItem ID="Process_Alarm">
				<Assignments>
				<Assign TextId="Meldungen_inaktiv" Content="0" />
				<Assign TextId="Meldungen_aktiv" Content="1" />
				</Assignments>
				</ValueItem>
			</ValueList>
            <ChannelDiagList>
             <!--   <ChannelDiagItem ErrorType="15">
                    <Name TextId="TOK_DIAG5_EXT"/>
                    <ExtChannelDiagList>
                        <ExtChannelDiagItem ErrorType="1">
                            <Name TextId="TOK_DIAG5_EXT_ET"/>
                            <ExtChannelAddValue>
                                <DataItem Id="1" DataType="Unsigned16"/>
                                <DataItem Id="2" DataType="Unsigned8"/>
                                <DataItem Id="3" DataType="Unsigned8"/>
                            </ExtChannelAddValue>
                        </ExtChannelDiagItem>
                    </ExtChannelDiagList>
                </ChannelDiagItem>  -->
                <ChannelDiagItem ErrorType="16">
                    <Name TextId="TOK_Name_ErrorType16"/>
                    <Help TextId="TOK_HelpName_ErrorType16"/>
                </ChannelDiagItem>
				<ChannelDiagItem ErrorType="22">
				  <Name TextId="TOK_Name_SAMPLING" />
				  <Help TextId="TOK_HelpName_SAMPLING" />
				</ChannelDiagItem>
				<ChannelDiagItem ErrorType="23">
				  <Name TextId="TOK_Name_THRESHOLD" />
				  <Help TextId="TOK_HelpName_THRESHOLD" />
				</ChannelDiagItem>        
            </ChannelDiagList>
            <GraphicsList>
                <GraphicItem ID="ID_Graph_1" GraphicFile="GSDML-0053-4005-T40"/>
            </GraphicsList>
            <CategoryList>
                <CategoryItem ID="ID_T40" TextId="TOK_Category_T40"/>
            </CategoryList>
            <ExternalTextList>
                <PrimaryLanguage>
                    <!--english-->
                    <Text TextId="TOK_DevIdent_InfoText" Value="T40"/>

                    <!--DAP - port IO device example-->
                    <Text TextId="TOK_Category_T40" Value="T40 PN IO"/>
                    <Text TextId="TOK_Standard_T40" Value="T40 PN Device"/>
                    <Text TextId="TOK_ModInfo_InfoTextId_DAP1" Value="Non contact temperature sensor T40 serie, for PROFINET IO with Laser.
						Input data: 
						Address w/o offset - Format - Value 
						0  - Real - Target temperature
						4  - Real - Internal temperature
						8  - DWORD - Error Code
						Output data: 
						Address w/o offset - Format - Value 
						0  - BYTE      - Type of parameter 
						1  - Real/WORD - Parameter(Value)
						----------------------------------------
						Nbr.Type - Meaning	   - Format
						0	 - Do not change anything
						1	 - Emissivity	   - Real
						2	 - Transmissivity  - Real
						3	 - Averaging time  - Real
						4	 - Peak hold time  - Real
						5	 - Valley hold time- Real
						6	 - Laser control   - WORD" />
                    <!--port name-->
                    <Text TextId="TOK_Subslot_8000" Value="X1"/>
                    <Text TextId="TOK_Subslot_8001" Value="P1"/>         				
                    <Text TextId="TOK_DAP_InterfaceModule" Value="Interface"/>
                    <Text TextId="TOK_Port1" Value="M12 10/100 MBit/s" />
                    <!--module name-->
                    <Text TextId="TOK_TextId_Module_12I" Value="12 bytes I"/>
					<Text TextId="TOK_TextId_Module_5O" Value="5 bytes O"/>
                    <!--module info name-->					
                    <Text TextId="TOK_InfoTextId_Module_IData" Value="
						Input data: 
						Address w/o offset - Format - Value 
						0  - Real - Target temperature
						4  - Real - Internal temperature
						8  - DWORD - Error Code" />
					<Text TextId="TOK_InfoTextId_Module_OData" Value="
						Output data: 
						Address w/o offset - Format - Value 
						0  - BYTE      - Type of parameter 
						1  - Real/WORD - Parameter(Value)
						----------------------------------------
						Nbr.Type - Meaning	   - Format
						0	 - Do not change anything
						1	 - Emissivity	   - Real
						2	 - Transmissivity  - Real
						3	 - Averaging time  - Real
						4	 - Peak hold time  - Real
						5	 - Valley hold time- Real
						6	 - Laser control   - WORD" />
                    <!--dataitem name-->
                    <Text TextId="TOK_Output_DataItem_5" Value="Output 5 bytes" /> 
					  <Text TextId="TOK_Input_DataItem_12" Value="Input 12 bytes" />	  					  
                    <!--errortype name-->
                    <Text TextId="TOK_Name_ErrorType16" Value="parameter assignment error" />
					  <Text TextId="TOK_HelpName_ErrorType16" Value="parameter assignment error" />          
					  <Text TextId="TOK_Name_THRESHOLD" Value="Threshold warning" />
					  <Text TextId="TOK_HelpName_THRESHOLD" Value="Threshold warning" />
					  <Text TextId="TOK_Name_SAMPLING" Value="Process event lost/sampling error" />
					  <Text TextId="TOK_HelpName_SAMPLING" Value="Process event lost/sampling error" />                     
					  <Text TextId="TOK_GeneralParameter" Value="Configuration Parameters" />
					  <Text TextId="TOK_Alarmverhalten" Value="PROFINET alarm behavior" />
					  <Text TextId="TOK_PeripheryErrorbehaviour" Value="Periphery error behavior" />
					  <Text TextId="TOK_Error_Behaviour" Value="Behavior on module fault" />
					  <Text TextId="TOK_SetupParameter" Value="Setup Parameters" />          
					  <Text TextId="TOK_Temperature_Unit" Value="Temperature Unit" />
					  <Text TextId="TOK_Unit_Mode" Value="Color mode" />
					  <Text TextId="TOK_Periphery_Diagnostics" Value="Periphery diagnostics" />					 
					  <Text TextId="TOK_Process_Alarm" Value="Process alarm" />
					  <Text TextId="TOK_Diagnostics_Alarm" Value="Diagnostics alarm" />
					  <Text TextId="Set_To_Zero" Value="set process data to zero" />
					  <Text TextId="Freeze_up" Value="set process data to last value" />
					  <Text TextId="Meldungen_inaktiv" Value="message inactive" />
					  <Text TextId="Meldungen_aktiv" Value="message active" />
					  <Text TextId="Diagnosealarm" Value="diagnostic alarm" />
					  <Text TextId="Processalarm" Value="process alarm" />
					  <Text TextId="Celsius" Value="Celsius" />
					  <Text TextId="Fahrenheit" Value="Fahrenheit" />
					  <Text TextId="Help_CorF" Value="Celsius or Fahrenheit" />					
					  <Text TextId="Emissivity_1" Value="Emissivity (* 1000)" />
					  <Text TextId="Transmissivity_1" Value="Transmissivity (* 1000)" />	
					  <Text TextId="SensorOffset" Value="Sensor Offset  (* 10)" />
					  <Text TextId="SensorGain" Value="Sensor Gain (* 1000)" />					  
					  <Text TextId="Averaging_Time_1" Value="Averaging time (* 10s)" />
					  <Text TextId="Peak_Hold_Time_1" Value="Peak hold time (* 10s)" />
					  <Text TextId="Valley_Hold_Time_1" Value="Valley hold time (* 10s)" />		  
					  <Text TextId="TOK_Laser_1" Value="Laser control" />	  		  
					  <Text TextId="Laser_OFF" Value="off" />
					  <Text TextId="Laser_ON" Value="on" />	  	  
                </PrimaryLanguage>
            </ExternalTextList>
        </ApplicationProcess>
    </ProfileBody>
</ISO15745Profile>
