﻿<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="33.00" TargetName="Data_Logging" TargetType="AddOnInstructionDefinition" TargetRevision="1.4 " TargetLastEdited="2021-02-26T16:21:18.861Z" ContainsContext="true" Owner="Rockwell Automation, Rockwell Automation" ExportDate="Fri Feb 26 10:21:34 2021" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="ConditionMonitoring">
<DataTypes Use="Context">
<DataType Name="TKNX_Arm_Data_Logging_Service" Family="NoFamily" Class="User">
<Members>
<Member Name="TriggerType" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="TriggerMode" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="TriggerSource" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="TriggerBit" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="PrestoreSamples" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="NumberOfSamples" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="TriggerLevel" DataType="REAL" Dimension="0" Radix="Float" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="PAD" DataType="REAL" Dimension="0" Radix="Float" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="SamplePeriod" DataType="LINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="DataSource" DataType="INT" Dimension="8" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="TKNX_GetAxisAttrListRequestType" Family="NoFamily" Class="User">
<Members>
<Member Name="NumberOfAttribs" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Pad1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="AttrID" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Dimension" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Size" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="StartIndex" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="NumElements" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="TKNX_GetAxisAttrListResponseType" Family="NoFamily" Class="User">
<Members>
<Member Name="NumberOfAttribs" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Pad1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="AttrID" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Dimension" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Size" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="StartIndex" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="NumElements" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Data" DataType="REAL" Dimension="400" Radix="Float" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="Data_Logging" Revision="1.4" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="true" CreatedDate="2014-11-19T20:43:28.049Z" CreatedBy="RA-INT\AMDasilv" EditedDate="2021-02-26T16:21:18.861Z" EditedBy="V32-V16-VM\Rockwell Automation" SoftwareRevision="v33.00"
>
<RevisionNote>
<![CDATA[v1.0 Created for Logix V21.03
v1.1 Changed to read blocks of 50 data points instead of 60, Logix V28.02 (EE, 18. July 2017)
V1.2 - Improved time to read data of drive when AOI is on Periodic Task.
V1.3 - Added the ability to read attributes that are DINTs.
V1.4 - Added additional DINT data sources and added reset of bit checking for DINT vs. REAL data sources.
]]>
</RevisionNote>
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
<![CDATA[Enable Input - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="EnableOut" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
<![CDATA[Enable Output - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="Msg_Arm_Data_Logging_Service" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Msg_Check_Data_Log_Status" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Msg_Check_Data_Log_Time_Stamp" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Msg_Check_Data_Log_Trigger_Index" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Msg_Get_Data_Log" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Inp_Data_Source_0" TagType="Base" DataType="INT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Data_Source_1" TagType="Base" DataType="INT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Data_Source_2" TagType="Base" DataType="INT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Data_Source_3" TagType="Base" DataType="INT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Number_of_Samples" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Trigger_Source" TagType="Base" DataType="INT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Trigger_Type" TagType="Base" DataType="SINT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Trigger_Level" TagType="Base" DataType="REAL" Usage="Input" Radix="Float" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0.00000000e+000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="REAL" Radix="Float" Value="0.0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Trigger_Mode" TagType="Base" DataType="SINT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Trigger_Bit" TagType="Base" DataType="SINT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_Sample_Period_us" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Inp_PreStore_Samples_Perc" TagType="Base" DataType="SINT" Usage="Input" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Cfg_Data_Log_Status" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Cfg_GetDataLog" TagType="Base" DataType="TKNX_GetAxisAttrListRequestType" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Cfg_GetDataLog_Response" TagType="Base" DataType="TKNX_GetAxisAttrListResponseType" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Cfg_DataLog_Request_DINT" TagType="Base" DataType="DINT" Dimensions="10" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Out_DataLog_Values0" TagType="Base" DataType="REAL" Dimensions="40000" Usage="InOut" Radix="Float" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Out_DataLog_Values1" TagType="Base" DataType="REAL" Dimensions="40000" Usage="InOut" Radix="Float" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Out_DataLog_Values2" TagType="Base" DataType="REAL" Dimensions="40000" Usage="InOut" Radix="Float" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Out_DataLog_Values3" TagType="Base" DataType="REAL" Dimensions="40000" Usage="InOut" Radix="Float" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Sts_Percent_Complete" TagType="Base" DataType="DINT" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Sts_IP" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Sts_DN" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Sts_ER" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Cfg_Instance" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="Cmd_Arm_DataLogging" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Get_Data_Log_Seq" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Data_Log_TimeStamp" DataType="LINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Remaining_Elements" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Real_LowWord_Final" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Real_HighWord_Final" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Real_HighWord" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Data_Log_Trigger_Index" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Data_Log_Capture_Size" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="count" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="ArrayPointer" DataType="DINT" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="TestMSG7" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="TestMSG6" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="TestMSG4" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="TestMSG3" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="TestMSG2" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="TestMSG1" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Copy_UDT_to_DINT" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Convert_TriggerLevel_to_DINT" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Datalog_Request" DataType="TKNX_Arm_Data_Logging_Service" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[[0,0,0,0,0,0,0.00000000e+000,0.00000000e+000,0,[0,0,0,0,0,0,0,0]]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TKNX_Arm_Data_Logging_Service">
<DataValueMember Name="TriggerType" DataType="SINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="TriggerMode" DataType="SINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="TriggerSource" DataType="INT" Radix="Decimal" Value="0"/>
<DataValueMember Name="TriggerBit" DataType="SINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="PrestoreSamples" DataType="SINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="NumberOfSamples" DataType="INT" Radix="Decimal" Value="0"/>
<DataValueMember Name="TriggerLevel" DataType="REAL" Radix="Float" Value="0.0"/>
<DataValueMember Name="PAD" DataType="REAL" Radix="Float" Value="0.0"/>
<DataValueMember Name="SamplePeriod" DataType="LINT" Radix="Decimal" Value="0"/>
<ArrayMember Name="DataSource" DataType="INT" Dimensions="8" Radix="Decimal">
<Element Index="[0]" Value="0"/>
<Element Index="[1]" Value="0"/>
<Element Index="[2]" Value="0"/>
<Element Index="[3]" Value="0"/>
<Element Index="[4]" Value="0"/>
<Element Index="[5]" Value="0"/>
<Element Index="[6]" Value="0"/>
<Element Index="[7]" Value="0"/>
</ArrayMember>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="TestMSG5" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT125" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[125000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="125000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT250" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[250000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="250000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT375" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[375000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="375000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT500" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[500000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="500000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FS" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Sts_Percent_Complete_Real" DataType="REAL" Radix="Float" ExternalAccess="Read Only">
<DefaultData Format="L5K">
<![CDATA[0.00000000e+000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="REAL" Radix="Float" Value="0.0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_Sts_Bits" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Comments>
<Comment Operand=".0">
<![CDATA[Data Source 0 requested]]>
</Comment>
<Comment Operand=".1">
<![CDATA[Data Source 1 requested]]>
</Comment>
<Comment Operand=".2">
<![CDATA[Data Source 2 requested]]>
</Comment>
<Comment Operand=".3">
<![CDATA[Data Source 3 requested]]>
</Comment>
<Comment Operand=".4">
<![CDATA[FLL complete]]>
</Comment>
</Comments>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT625" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[625000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="625000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT750" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[750000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="750000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT875" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[875000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="875000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inp_Sample_Period_LINT1000" DataType="LINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[1000000]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="LINT" Radix="Decimal" Value="1000000"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Cfg_BlockSize" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[2]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="2"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog0" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog1" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog2" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog3" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="timer" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,10,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="10"/>
<DataValueMember Name="ACC" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="TT" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Sts_DataSource0_is_DINT" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[1 = DINT
0 = REAL]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_DataSource_DINT" DataType="DINT" Dimensions="400" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Array DataType="DINT" Dimensions="400" Radix="Decimal">
<Element Index="[0]" Value="0"/>
<Element Index="[1]" Value="0"/>
<Element Index="[2]" Value="0"/>
<Element Index="[3]" Value="0"/>
<Element Index="[4]" Value="0"/>
<Element Index="[5]" Value="0"/>
<Element Index="[6]" Value="0"/>
<Element Index="[7]" Value="0"/>
<Element Index="[8]" Value="0"/>
<Element Index="[9]" Value="0"/>
<Element Index="[10]" Value="0"/>
<Element Index="[11]" Value="0"/>
<Element Index="[12]" Value="0"/>
<Element Index="[13]" Value="0"/>
<Element Index="[14]" Value="0"/>
<Element Index="[15]" Value="0"/>
<Element Index="[16]" Value="0"/>
<Element Index="[17]" Value="0"/>
<Element Index="[18]" Value="0"/>
<Element Index="[19]" Value="0"/>
<Element Index="[20]" Value="0"/>
<Element Index="[21]" Value="0"/>
<Element Index="[22]" Value="0"/>
<Element Index="[23]" Value="0"/>
<Element Index="[24]" Value="0"/>
<Element Index="[25]" Value="0"/>
<Element Index="[26]" Value="0"/>
<Element Index="[27]" Value="0"/>
<Element Index="[28]" Value="0"/>
<Element Index="[29]" Value="0"/>
<Element Index="[30]" Value="0"/>
<Element Index="[31]" Value="0"/>
<Element Index="[32]" Value="0"/>
<Element Index="[33]" Value="0"/>
<Element Index="[34]" Value="0"/>
<Element Index="[35]" Value="0"/>
<Element Index="[36]" Value="0"/>
<Element Index="[37]" Value="0"/>
<Element Index="[38]" Value="0"/>
<Element Index="[39]" Value="0"/>
<Element Index="[40]" Value="0"/>
<Element Index="[41]" Value="0"/>
<Element Index="[42]" Value="0"/>
<Element Index="[43]" Value="0"/>
<Element Index="[44]" Value="0"/>
<Element Index="[45]" Value="0"/>
<Element Index="[46]" Value="0"/>
<Element Index="[47]" Value="0"/>
<Element Index="[48]" Value="0"/>
<Element Index="[49]" Value="0"/>
<Element Index="[50]" Value="0"/>
<Element Index="[51]" Value="0"/>
<Element Index="[52]" Value="0"/>
<Element Index="[53]" Value="0"/>
<Element Index="[54]" Value="0"/>
<Element Index="[55]" Value="0"/>
<Element Index="[56]" Value="0"/>
<Element Index="[57]" Value="0"/>
<Element Index="[58]" Value="0"/>
<Element Index="[59]" Value="0"/>
<Element Index="[60]" Value="0"/>
<Element Index="[61]" Value="0"/>
<Element Index="[62]" Value="0"/>
<Element Index="[63]" Value="0"/>
<Element Index="[64]" Value="0"/>
<Element Index="[65]" Value="0"/>
<Element Index="[66]" Value="0"/>
<Element Index="[67]" Value="0"/>
<Element Index="[68]" Value="0"/>
<Element Index="[69]" Value="0"/>
<Element Index="[70]" Value="0"/>
<Element Index="[71]" Value="0"/>
<Element Index="[72]" Value="0"/>
<Element Index="[73]" Value="0"/>
<Element Index="[74]" Value="0"/>
<Element Index="[75]" Value="0"/>
<Element Index="[76]" Value="0"/>
<Element Index="[77]" Value="0"/>
<Element Index="[78]" Value="0"/>
<Element Index="[79]" Value="0"/>
<Element Index="[80]" Value="0"/>
<Element Index="[81]" Value="0"/>
<Element Index="[82]" Value="0"/>
<Element Index="[83]" Value="0"/>
<Element Index="[84]" Value="0"/>
<Element Index="[85]" Value="0"/>
<Element Index="[86]" Value="0"/>
<Element Index="[87]" Value="0"/>
<Element Index="[88]" Value="0"/>
<Element Index="[89]" Value="0"/>
<Element Index="[90]" Value="0"/>
<Element Index="[91]" Value="0"/>
<Element Index="[92]" Value="0"/>
<Element Index="[93]" Value="0"/>
<Element Index="[94]" Value="0"/>
<Element Index="[95]" Value="0"/>
<Element Index="[96]" Value="0"/>
<Element Index="[97]" Value="0"/>
<Element Index="[98]" Value="0"/>
<Element Index="[99]" Value="0"/>
<Element Index="[100]" Value="0"/>
<Element Index="[101]" Value="0"/>
<Element Index="[102]" Value="0"/>
<Element Index="[103]" Value="0"/>
<Element Index="[104]" Value="0"/>
<Element Index="[105]" Value="0"/>
<Element Index="[106]" Value="0"/>
<Element Index="[107]" Value="0"/>
<Element Index="[108]" Value="0"/>
<Element Index="[109]" Value="0"/>
<Element Index="[110]" Value="0"/>
<Element Index="[111]" Value="0"/>
<Element Index="[112]" Value="0"/>
<Element Index="[113]" Value="0"/>
<Element Index="[114]" Value="0"/>
<Element Index="[115]" Value="0"/>
<Element Index="[116]" Value="0"/>
<Element Index="[117]" Value="0"/>
<Element Index="[118]" Value="0"/>
<Element Index="[119]" Value="0"/>
<Element Index="[120]" Value="0"/>
<Element Index="[121]" Value="0"/>
<Element Index="[122]" Value="0"/>
<Element Index="[123]" Value="0"/>
<Element Index="[124]" Value="0"/>
<Element Index="[125]" Value="0"/>
<Element Index="[126]" Value="0"/>
<Element Index="[127]" Value="0"/>
<Element Index="[128]" Value="0"/>
<Element Index="[129]" Value="0"/>
<Element Index="[130]" Value="0"/>
<Element Index="[131]" Value="0"/>
<Element Index="[132]" Value="0"/>
<Element Index="[133]" Value="0"/>
<Element Index="[134]" Value="0"/>
<Element Index="[135]" Value="0"/>
<Element Index="[136]" Value="0"/>
<Element Index="[137]" Value="0"/>
<Element Index="[138]" Value="0"/>
<Element Index="[139]" Value="0"/>
<Element Index="[140]" Value="0"/>
<Element Index="[141]" Value="0"/>
<Element Index="[142]" Value="0"/>
<Element Index="[143]" Value="0"/>
<Element Index="[144]" Value="0"/>
<Element Index="[145]" Value="0"/>
<Element Index="[146]" Value="0"/>
<Element Index="[147]" Value="0"/>
<Element Index="[148]" Value="0"/>
<Element Index="[149]" Value="0"/>
<Element Index="[150]" Value="0"/>
<Element Index="[151]" Value="0"/>
<Element Index="[152]" Value="0"/>
<Element Index="[153]" Value="0"/>
<Element Index="[154]" Value="0"/>
<Element Index="[155]" Value="0"/>
<Element Index="[156]" Value="0"/>
<Element Index="[157]" Value="0"/>
<Element Index="[158]" Value="0"/>
<Element Index="[159]" Value="0"/>
<Element Index="[160]" Value="0"/>
<Element Index="[161]" Value="0"/>
<Element Index="[162]" Value="0"/>
<Element Index="[163]" Value="0"/>
<Element Index="[164]" Value="0"/>
<Element Index="[165]" Value="0"/>
<Element Index="[166]" Value="0"/>
<Element Index="[167]" Value="0"/>
<Element Index="[168]" Value="0"/>
<Element Index="[169]" Value="0"/>
<Element Index="[170]" Value="0"/>
<Element Index="[171]" Value="0"/>
<Element Index="[172]" Value="0"/>
<Element Index="[173]" Value="0"/>
<Element Index="[174]" Value="0"/>
<Element Index="[175]" Value="0"/>
<Element Index="[176]" Value="0"/>
<Element Index="[177]" Value="0"/>
<Element Index="[178]" Value="0"/>
<Element Index="[179]" Value="0"/>
<Element Index="[180]" Value="0"/>
<Element Index="[181]" Value="0"/>
<Element Index="[182]" Value="0"/>
<Element Index="[183]" Value="0"/>
<Element Index="[184]" Value="0"/>
<Element Index="[185]" Value="0"/>
<Element Index="[186]" Value="0"/>
<Element Index="[187]" Value="0"/>
<Element Index="[188]" Value="0"/>
<Element Index="[189]" Value="0"/>
<Element Index="[190]" Value="0"/>
<Element Index="[191]" Value="0"/>
<Element Index="[192]" Value="0"/>
<Element Index="[193]" Value="0"/>
<Element Index="[194]" Value="0"/>
<Element Index="[195]" Value="0"/>
<Element Index="[196]" Value="0"/>
<Element Index="[197]" Value="0"/>
<Element Index="[198]" Value="0"/>
<Element Index="[199]" Value="0"/>
<Element Index="[200]" Value="0"/>
<Element Index="[201]" Value="0"/>
<Element Index="[202]" Value="0"/>
<Element Index="[203]" Value="0"/>
<Element Index="[204]" Value="0"/>
<Element Index="[205]" Value="0"/>
<Element Index="[206]" Value="0"/>
<Element Index="[207]" Value="0"/>
<Element Index="[208]" Value="0"/>
<Element Index="[209]" Value="0"/>
<Element Index="[210]" Value="0"/>
<Element Index="[211]" Value="0"/>
<Element Index="[212]" Value="0"/>
<Element Index="[213]" Value="0"/>
<Element Index="[214]" Value="0"/>
<Element Index="[215]" Value="0"/>
<Element Index="[216]" Value="0"/>
<Element Index="[217]" Value="0"/>
<Element Index="[218]" Value="0"/>
<Element Index="[219]" Value="0"/>
<Element Index="[220]" Value="0"/>
<Element Index="[221]" Value="0"/>
<Element Index="[222]" Value="0"/>
<Element Index="[223]" Value="0"/>
<Element Index="[224]" Value="0"/>
<Element Index="[225]" Value="0"/>
<Element Index="[226]" Value="0"/>
<Element Index="[227]" Value="0"/>
<Element Index="[228]" Value="0"/>
<Element Index="[229]" Value="0"/>
<Element Index="[230]" Value="0"/>
<Element Index="[231]" Value="0"/>
<Element Index="[232]" Value="0"/>
<Element Index="[233]" Value="0"/>
<Element Index="[234]" Value="0"/>
<Element Index="[235]" Value="0"/>
<Element Index="[236]" Value="0"/>
<Element Index="[237]" Value="0"/>
<Element Index="[238]" Value="0"/>
<Element Index="[239]" Value="0"/>
<Element Index="[240]" Value="0"/>
<Element Index="[241]" Value="0"/>
<Element Index="[242]" Value="0"/>
<Element Index="[243]" Value="0"/>
<Element Index="[244]" Value="0"/>
<Element Index="[245]" Value="0"/>
<Element Index="[246]" Value="0"/>
<Element Index="[247]" Value="0"/>
<Element Index="[248]" Value="0"/>
<Element Index="[249]" Value="0"/>
<Element Index="[250]" Value="0"/>
<Element Index="[251]" Value="0"/>
<Element Index="[252]" Value="0"/>
<Element Index="[253]" Value="0"/>
<Element Index="[254]" Value="0"/>
<Element Index="[255]" Value="0"/>
<Element Index="[256]" Value="0"/>
<Element Index="[257]" Value="0"/>
<Element Index="[258]" Value="0"/>
<Element Index="[259]" Value="0"/>
<Element Index="[260]" Value="0"/>
<Element Index="[261]" Value="0"/>
<Element Index="[262]" Value="0"/>
<Element Index="[263]" Value="0"/>
<Element Index="[264]" Value="0"/>
<Element Index="[265]" Value="0"/>
<Element Index="[266]" Value="0"/>
<Element Index="[267]" Value="0"/>
<Element Index="[268]" Value="0"/>
<Element Index="[269]" Value="0"/>
<Element Index="[270]" Value="0"/>
<Element Index="[271]" Value="0"/>
<Element Index="[272]" Value="0"/>
<Element Index="[273]" Value="0"/>
<Element Index="[274]" Value="0"/>
<Element Index="[275]" Value="0"/>
<Element Index="[276]" Value="0"/>
<Element Index="[277]" Value="0"/>
<Element Index="[278]" Value="0"/>
<Element Index="[279]" Value="0"/>
<Element Index="[280]" Value="0"/>
<Element Index="[281]" Value="0"/>
<Element Index="[282]" Value="0"/>
<Element Index="[283]" Value="0"/>
<Element Index="[284]" Value="0"/>
<Element Index="[285]" Value="0"/>
<Element Index="[286]" Value="0"/>
<Element Index="[287]" Value="0"/>
<Element Index="[288]" Value="0"/>
<Element Index="[289]" Value="0"/>
<Element Index="[290]" Value="0"/>
<Element Index="[291]" Value="0"/>
<Element Index="[292]" Value="0"/>
<Element Index="[293]" Value="0"/>
<Element Index="[294]" Value="0"/>
<Element Index="[295]" Value="0"/>
<Element Index="[296]" Value="0"/>
<Element Index="[297]" Value="0"/>
<Element Index="[298]" Value="0"/>
<Element Index="[299]" Value="0"/>
<Element Index="[300]" Value="0"/>
<Element Index="[301]" Value="0"/>
<Element Index="[302]" Value="0"/>
<Element Index="[303]" Value="0"/>
<Element Index="[304]" Value="0"/>
<Element Index="[305]" Value="0"/>
<Element Index="[306]" Value="0"/>
<Element Index="[307]" Value="0"/>
<Element Index="[308]" Value="0"/>
<Element Index="[309]" Value="0"/>
<Element Index="[310]" Value="0"/>
<Element Index="[311]" Value="0"/>
<Element Index="[312]" Value="0"/>
<Element Index="[313]" Value="0"/>
<Element Index="[314]" Value="0"/>
<Element Index="[315]" Value="0"/>
<Element Index="[316]" Value="0"/>
<Element Index="[317]" Value="0"/>
<Element Index="[318]" Value="0"/>
<Element Index="[319]" Value="0"/>
<Element Index="[320]" Value="0"/>
<Element Index="[321]" Value="0"/>
<Element Index="[322]" Value="0"/>
<Element Index="[323]" Value="0"/>
<Element Index="[324]" Value="0"/>
<Element Index="[325]" Value="0"/>
<Element Index="[326]" Value="0"/>
<Element Index="[327]" Value="0"/>
<Element Index="[328]" Value="0"/>
<Element Index="[329]" Value="0"/>
<Element Index="[330]" Value="0"/>
<Element Index="[331]" Value="0"/>
<Element Index="[332]" Value="0"/>
<Element Index="[333]" Value="0"/>
<Element Index="[334]" Value="0"/>
<Element Index="[335]" Value="0"/>
<Element Index="[336]" Value="0"/>
<Element Index="[337]" Value="0"/>
<Element Index="[338]" Value="0"/>
<Element Index="[339]" Value="0"/>
<Element Index="[340]" Value="0"/>
<Element Index="[341]" Value="0"/>
<Element Index="[342]" Value="0"/>
<Element Index="[343]" Value="0"/>
<Element Index="[344]" Value="0"/>
<Element Index="[345]" Value="0"/>
<Element Index="[346]" Value="0"/>
<Element Index="[347]" Value="0"/>
<Element Index="[348]" Value="0"/>
<Element Index="[349]" Value="0"/>
<Element Index="[350]" Value="0"/>
<Element Index="[351]" Value="0"/>
<Element Index="[352]" Value="0"/>
<Element Index="[353]" Value="0"/>
<Element Index="[354]" Value="0"/>
<Element Index="[355]" Value="0"/>
<Element Index="[356]" Value="0"/>
<Element Index="[357]" Value="0"/>
<Element Index="[358]" Value="0"/>
<Element Index="[359]" Value="0"/>
<Element Index="[360]" Value="0"/>
<Element Index="[361]" Value="0"/>
<Element Index="[362]" Value="0"/>
<Element Index="[363]" Value="0"/>
<Element Index="[364]" Value="0"/>
<Element Index="[365]" Value="0"/>
<Element Index="[366]" Value="0"/>
<Element Index="[367]" Value="0"/>
<Element Index="[368]" Value="0"/>
<Element Index="[369]" Value="0"/>
<Element Index="[370]" Value="0"/>
<Element Index="[371]" Value="0"/>
<Element Index="[372]" Value="0"/>
<Element Index="[373]" Value="0"/>
<Element Index="[374]" Value="0"/>
<Element Index="[375]" Value="0"/>
<Element Index="[376]" Value="0"/>
<Element Index="[377]" Value="0"/>
<Element Index="[378]" Value="0"/>
<Element Index="[379]" Value="0"/>
<Element Index="[380]" Value="0"/>
<Element Index="[381]" Value="0"/>
<Element Index="[382]" Value="0"/>
<Element Index="[383]" Value="0"/>
<Element Index="[384]" Value="0"/>
<Element Index="[385]" Value="0"/>
<Element Index="[386]" Value="0"/>
<Element Index="[387]" Value="0"/>
<Element Index="[388]" Value="0"/>
<Element Index="[389]" Value="0"/>
<Element Index="[390]" Value="0"/>
<Element Index="[391]" Value="0"/>
<Element Index="[392]" Value="0"/>
<Element Index="[393]" Value="0"/>
<Element Index="[394]" Value="0"/>
<Element Index="[395]" Value="0"/>
<Element Index="[396]" Value="0"/>
<Element Index="[397]" Value="0"/>
<Element Index="[398]" Value="0"/>
<Element Index="[399]" Value="0"/>
</Array>
</DefaultData>
</LocalTag>
<LocalTag Name="Cfg_BlockSizeX2" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Sts_DataSource1_is_DINT" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[1 = DINT
0 = REAL]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Sts_DataSource2_is_DINT" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[1 = DINT
0 = REAL]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Sts_DataSource3_is_DINT" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[1 = DINT
0 = REAL]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog00" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog11" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog22" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Wrk_FAL_DataLog33" DataType="CONTROL" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,50,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="CONTROL">
<DataValueMember Name="LEN" DataType="DINT" Radix="Decimal" Value="50"/>
<DataValueMember Name="POS" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EU" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
<DataValueMember Name="EM" DataType="BOOL" Value="0"/>
<DataValueMember Name="ER" DataType="BOOL" Value="0"/>
<DataValueMember Name="UL" DataType="BOOL" Value="0"/>
<DataValueMember Name="IN" DataType="BOOL" Value="0"/>
<DataValueMember Name="FD" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="EnableInFalse" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[OTU(Wrk_FS)OTU(Sts_IP)OTU(Wrk_Sts_Bits.4)OTU(Wrk_Sts_Bits.5)OTU(Wrk_Sts_Bits.20);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[OTU(Sts_DataSource0_is_DINT)OTU(Sts_DataSource1_is_DINT)OTU(Sts_DataSource2_is_DINT)OTU(Sts_DataSource3_is_DINT);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Load configuration of data to be logged]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)[OTL(Sts_IP) OTU(Sts_ER) OTU(Sts_DN) ,COP(Msg_Arm_Data_Logging_Service.Path,Msg_Check_Data_Log_Status.Path,1) COP(Msg_Arm_Data_Logging_Service.Path,Msg_Check_Data_Log_Time_Stamp.Path,1) ,COP(Msg_Arm_Data_Logging_Service.Path,Msg_Check_Data_Log_Trigger_Index.Path,1) COP(Msg_Arm_Data_Logging_Service.Path,Msg_Get_Data_Log.Path,1) ,MOV(0,Cfg_GetDataLog.StartIndex) ,MOV(Inp_Data_Source_0,Datalog_Request.DataSource[0]) MOV(Inp_Data_Source_1,Datalog_Request.DataSource[1]) MOV(Inp_Data_Source_2,Datalog_Request.DataSource[2]) ,MOV(Inp_Data_Source_3,Datalog_Request.DataSource[3]) MOV(Inp_Number_of_Samples,Datalog_Request.NumberOfSamples) MOV(Inp_Trigger_Source,Datalog_Request.TriggerSource) ,MOV(Inp_Trigger_Type,Datalog_Request.TriggerType) MOV(Inp_Trigger_Mode,Datalog_Request.TriggerMode) MOV(Inp_Trigger_Level,Datalog_Request.TriggerLevel) ,MOV(Inp_Trigger_Bit,Datalog_Request.TriggerBit) MOV(Inp_PreStore_Samples_Perc,Datalog_Request.PrestoreSamples) ,LEQ(Inp_Sample_Period_us,125) MOV(125,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT125,Datalog_Request.SamplePeriod,1) ,GRT(Inp_Sample_Period_us,125) LEQ(Inp_Sample_Period_us,250) MOV(250,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT250,Datalog_Request.SamplePeriod,1) ,GRT(Inp_Sample_Period_us,250) LEQ(Inp_Sample_Period_us,375) MOV(375,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT375,Datalog_Request.SamplePeriod,1) ,GRT(Inp_Sample_Period_us,375) LEQ(Inp_Sample_Period_us,500) MOV(500,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT500,Datalog_Request.SamplePeriod,1) ,GRT(Inp_Sample_Period_us,500) LEQ(Inp_Sample_Period_us,625) MOV(625,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT625,Datalog_Request.SamplePeriod,1) ,GRT(Inp_Sample_Period_us,625) LEQ(Inp_Sample_Period_us,750) MOV(750,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT750,Datalog_Request.SamplePeriod,1) ,GRT(Inp_Sample_Period_us,750) LEQ(Inp_Sample_Period_us,875) MOV(875,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT875,Datalog_Request.SamplePeriod,1) ,GRT(Inp_Sample_Period_us,875) LEQ(Inp_Sample_Period_us,1000) MOV(1000,Inp_Sample_Period_us) COP(Inp_Sample_Period_LINT1000,Datalog_Request.SamplePeriod,1) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Comment>
<![CDATA[Identify which channels of the Data Source are being requested to log data]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)[NEQ(0,Datalog_Request.DataSource[0]) OTL(Wrk_Sts_Bits.0) ,NEQ(0,Datalog_Request.DataSource[1]) OTL(Wrk_Sts_Bits.1) ,NEQ(0,Datalog_Request.DataSource[2]) OTL(Wrk_Sts_Bits.2) ,NEQ(0,Datalog_Request.DataSource[3]) OTL(Wrk_Sts_Bits.3) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Comment>
<![CDATA[Identify if attribute selected in Data Source 0 is DINT.]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)XIC(Wrk_Sts_Bits.0)[EQU(Datalog_Request.DataSource[0],2103) ,EQU(Datalog_Request.DataSource[0],522) ,EQU(Datalog_Request.DataSource[0],434) ,EQU(Datalog_Request.DataSource[0],1402) ,EQU(Datalog_Request.DataSource[0],1452) ,EQU(Datalog_Request.DataSource[0],365) ,EQU(Datalog_Request.DataSource[0],432) ,EQU(Datalog_Request.DataSource[0],458) ]OTL(Sts_DataSource0_is_DINT);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Comment>
<![CDATA[Identify if attribute selected in Data Source 1 is DINT.]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)XIC(Wrk_Sts_Bits.1)[EQU(Datalog_Request.DataSource[1],2103) ,EQU(Datalog_Request.DataSource[1],522) ,EQU(Datalog_Request.DataSource[1],434) ,EQU(Datalog_Request.DataSource[1],1402) ,EQU(Datalog_Request.DataSource[1],1452) ,EQU(Datalog_Request.DataSource[1],365) ,EQU(Datalog_Request.DataSource[1],432) ,EQU(Datalog_Request.DataSource[1],458) ]OTL(Sts_DataSource1_is_DINT);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Comment>
<![CDATA[Identify if attribute selected in Data Source 2 is DINT.]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)XIC(Wrk_Sts_Bits.2)[EQU(Datalog_Request.DataSource[2],2103) ,EQU(Datalog_Request.DataSource[2],522) ,EQU(Datalog_Request.DataSource[2],434) ,EQU(Datalog_Request.DataSource[2],1402) ,EQU(Datalog_Request.DataSource[2],1452) ,EQU(Datalog_Request.DataSource[2],365) ,EQU(Datalog_Request.DataSource[2],432) ,EQU(Datalog_Request.DataSource[2],458) ]OTL(Sts_DataSource2_is_DINT);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Comment>
<![CDATA[Identify if attribute selected in Data Source 3 is DINT.]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)XIC(Wrk_Sts_Bits.3)[EQU(Datalog_Request.DataSource[3],2103) ,EQU(Datalog_Request.DataSource[3],522) ,EQU(Datalog_Request.DataSource[3],434) ,EQU(Datalog_Request.DataSource[3],1402) ,EQU(Datalog_Request.DataSource[3],1452) ,EQU(Datalog_Request.DataSource[3],365) ,EQU(Datalog_Request.DataSource[3],432) ,EQU(Datalog_Request.DataSource[3],458) ]OTL(Sts_DataSource3_is_DINT);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Comment>
<![CDATA[Clean all previously stored data]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)FLL(0,Out_DataLog_Values0[0],40000)FLL(0,Out_DataLog_Values1[0],40000)FLL(0,Out_DataLog_Values2[0],40000)FLL(0,Out_DataLog_Values3[0],40000)OTL(Wrk_Sts_Bits.4);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Comment>
<![CDATA[Change from structure to DINT array for messaging.]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)COP(Datalog_Request,Cfg_DataLog_Request_DINT[0],40);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Comment>
<![CDATA[Since the drive values are in 64 floats, but logix only supports 32bit reals, it needs to do some work to convert the trigger level value.]]>
</Comment>
<Text>
<![CDATA[XIO(Wrk_FS)COP(Datalog_Request.TriggerLevel,Real_HighWord,1);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIO(Wrk_FS)BTD(Real_HighWord,27,Cfg_DataLog_Request_DINT[3],27,5)BTD(Real_HighWord,3,Cfg_DataLog_Request_DINT[3],0,27)BTD(Real_HighWord,0,Cfg_DataLog_Request_DINT[2],29,3)MOV(100,Get_Data_Log_Seq)XIC(Wrk_Sts_Bits.4)OTL(Wrk_FS);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[AFI()NOP();]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Comment>
<![CDATA[Arm the data logging service]]>
</Comment>
<Text>
<![CDATA[EQU(100,Get_Data_Log_Seq)[MOV(66,Msg_Arm_Data_Logging_Service.Class) MOV(Cfg_Instance,Msg_Arm_Data_Logging_Service.Instance) ,MOV(40,Msg_Arm_Data_Logging_Service.REQ_LEN) MOV(0,Msg_Arm_Data_Logging_Service.Attribute) ]MOV(101,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[EQU(101,Get_Data_Log_Seq)[MSG(Msg_Arm_Data_Logging_Service) ,MOV(1,Get_Data_Log_Seq) ,OTU(Cmd_Arm_DataLogging) ];]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[EQU(1,Get_Data_Log_Seq)[XIC(Msg_Arm_Data_Logging_Service.DN) MOV(102,Get_Data_Log_Seq) ,XIC(Msg_Arm_Data_Logging_Service.ER) OTU(Sts_IP) OTL(Sts_ER) MOV(999,Get_Data_Log_Seq) ];]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Comment>
<![CDATA[Check the data logging status and wait for the values to be collected before moving on.]]>
</Comment>
<Text>
<![CDATA[EQU(102,Get_Data_Log_Seq)[MOV(66,Msg_Check_Data_Log_Status.Class) MOV(Cfg_Instance,Msg_Check_Data_Log_Status.Instance) ,MOV(0,Msg_Check_Data_Log_Status.REQ_LEN) MOV(940,Msg_Check_Data_Log_Status.Attribute) ]MOV(2,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[EQU(2,Get_Data_Log_Seq)[XIO(Msg_Check_Data_Log_Status.EN) MSG(Msg_Check_Data_Log_Status) ,XIC(Msg_Check_Data_Log_Status.DN) EQU(Cfg_Data_Log_Status,4) MOV(103,Get_Data_Log_Seq) ,XIC(Msg_Check_Data_Log_Status.ER) OTU(Sts_IP) OTL(Sts_ER) MOV(999,Get_Data_Log_Seq) ];]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Comment>
<![CDATA[Get the timestamp of the first data point]]>
</Comment>
<Text>
<![CDATA[EQU(103,Get_Data_Log_Seq)[MOV(66,Msg_Check_Data_Log_Time_Stamp.Class) MOV(Cfg_Instance,Msg_Check_Data_Log_Time_Stamp.Instance) ,MOV(0,Msg_Check_Data_Log_Time_Stamp.REQ_LEN) MOV(941,Msg_Check_Data_Log_Time_Stamp.Attribute) ]MOV(3,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[EQU(3,Get_Data_Log_Seq)[XIO(Msg_Check_Data_Log_Time_Stamp.EN) MSG(Msg_Check_Data_Log_Time_Stamp) ,XIO(Msg_Check_Data_Log_Time_Stamp.DN) MOV(104,Get_Data_Log_Seq) ,XIC(Msg_Check_Data_Log_Time_Stamp.ER) OTU(Sts_IP) OTL(Sts_ER) MOV(999,Get_Data_Log_Seq) ];]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Comment>
<![CDATA[Get the trigger index location value]]>
</Comment>
<Text>
<![CDATA[EQU(104,Get_Data_Log_Seq)[MOV(66,Msg_Check_Data_Log_Trigger_Index.Class) MOV(Cfg_Instance,Msg_Check_Data_Log_Trigger_Index.Instance) ,MOV(0,Msg_Check_Data_Log_Trigger_Index.REQ_LEN) MOV(942,Msg_Check_Data_Log_Trigger_Index.Attribute) ]MOV(4,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[EQU(4,Get_Data_Log_Seq)XIC(Msg_Check_Data_Log_Time_Stamp.DN)[XIO(Msg_Check_Data_Log_Trigger_Index.EN) MSG(Msg_Check_Data_Log_Trigger_Index) ,XIO(Msg_Check_Data_Log_Trigger_Index.DN) MOV(5,Get_Data_Log_Seq) ,XIC(Msg_Check_Data_Log_Trigger_Index.ER) OTU(Sts_IP) OTL(Sts_ER) MOV(999,Get_Data_Log_Seq) ];]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Comment>
<![CDATA[Initiate the process to read the logged data
Create tag BlockSize and set to read 50 elements at a time instead of 60 (EE, 18.July 2017)]]>
</Comment>
<Text>
<![CDATA[EQU(5,Get_Data_Log_Seq)XIC(Msg_Check_Data_Log_Trigger_Index.DN)[MOV(0,Cfg_GetDataLog.StartIndex) ,MOV(0,count) ,MOV(50,Cfg_BlockSize) MUL(Cfg_BlockSize,Cfg_BlockSize,Cfg_BlockSizeX2) ,MOV(Cfg_BlockSize,Cfg_GetDataLog.NumElements) ,MOV(106,Get_Data_Log_Seq) ];]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Comment>
<![CDATA[Read the logged values in data log 1.]]>
</Comment>
<Text>
<![CDATA[EQU(106,Get_Data_Log_Seq)[MOV(66,Msg_Get_Data_Log.Class) MOV(Cfg_Instance,Msg_Get_Data_Log.Instance) ,MOV(12,Msg_Get_Data_Log.REQ_LEN) MOV(0,Msg_Get_Data_Log.Attribute) ,XIC(Wrk_Sts_Bits.3) XIO(Wrk_Sts_Bits.0) XIO(Wrk_Sts_Bits.1) XIO(Wrk_Sts_Bits.2) MOV(946,Cfg_GetDataLog.AttrID) OTU(Wrk_Sts_Bits.3) ,XIC(Wrk_Sts_Bits.2) XIO(Wrk_Sts_Bits.0) XIO(Wrk_Sts_Bits.1) MOV(945,Cfg_GetDataLog.AttrID) OTU(Wrk_Sts_Bits.2) ,XIC(Wrk_Sts_Bits.1) XIO(Wrk_Sts_Bits.0) MOV(944,Cfg_GetDataLog.AttrID) OTU(Wrk_Sts_Bits.1) ,XIC(Wrk_Sts_Bits.0) MOV(943,Cfg_GetDataLog.AttrID) ,MOV(1,Cfg_GetDataLog.Dimension) MOV(8,Cfg_GetDataLog.Size) MOV(1,Cfg_GetDataLog.NumberOfAttribs) ]MOV(6,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Comment>
<![CDATA[Added the XIO with Msg_Get_Data_Log.EN to force the MSG to execute every time when the AOI is in a continuous task. When the AOI was o a continuous task after updating rung 19, the AOI would skip the reading of sections of data on all four data sources. (AMS, 1/28/2021]]>
</Comment>
<Text>
<![CDATA[[EQU(Get_Data_Log_Seq,6) ,EQU(Get_Data_Log_Seq,10) ][XIO(Msg_Get_Data_Log.EN) MSG(Msg_Get_Data_Log) ,XIC(Msg_Get_Data_Log.ER) OTU(Sts_IP) OTL(Sts_ER) MOV(999,Get_Data_Log_Seq) ,XIO(Msg_Get_Data_Log.ER) MOV(7,Get_Data_Log_Seq) ];]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,7)XIC(Msg_Get_Data_Log.DN)MOV(8,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Comment>
<![CDATA[UPDATE (EE, 18.July 2017): Use variable BlockSize instead of always 60 elements 

UPDATE (AMS, 1/28/2021): Replace the MOV with a FAL to improve the time to read data from the controller. 
For example, if the AOI was on a 50ms Periodic Task to read 4 data sources with 40,000 data points each, it would take:
 (0.05 sec x 4 channels x 40,000 data points per channel ) = 8000 sec = 2.2 hours. 
With the FAL, it takes:
 (0.05 sec x 4 channels x 40,000 data points per channel / 50 datapoints per MSG ) x 2 updates/MSG = 320 sec = 5.3 min. 

UPDATE (AMS, 1/28/2021): Added the AFI and duplicated FAL to avoid eventually missing enabling the MSG on previous rung (AMS, 1/28/2021)]]>
</Comment>
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,8)[EQU(943,Cfg_GetDataLog.AttrID) MOV(Cfg_BlockSize,Wrk_FAL_DataLog0.LEN) [XIO(Sts_DataSource0_is_DINT) [AFI() FAL(Wrk_FAL_DataLog0,?,?,ALL,Out_DataLog_Values0[Wrk_FAL_DataLog0.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog0.POS*2]) ,FAL(Wrk_FAL_DataLog0,?,?,ALL,Out_DataLog_Values0[Wrk_FAL_DataLog0.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog0.POS*2]) ] ,XIC(Sts_DataSource0_is_DINT) [COP(Cfg_GetDataLog_Response.Data[0],Wrk_DataSource_DINT[0],Cfg_BlockSizeX2) ,AFI() FAL(Wrk_FAL_DataLog00,?,?,ALL,Out_DataLog_Values0[Wrk_FAL_DataLog00.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog00.POS*2]) ,FAL(Wrk_FAL_DataLog00,?,?,ALL,Out_DataLog_Values0[Wrk_FAL_DataLog00.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog00.POS*2]) ] ] ,EQU(944,Cfg_GetDataLog.AttrID) MOV(Cfg_BlockSize,Wrk_FAL_DataLog1.LEN) [XIO(Sts_DataSource1_is_DINT) [AFI() FAL(Wrk_FAL_DataLog1,?,?,ALL,Out_DataLog_Values1[Wrk_FAL_DataLog1.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog1.POS*2]) ,FAL(Wrk_FAL_DataLog1,?,?,ALL,Out_DataLog_Values1[Wrk_FAL_DataLog1.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog1.POS*2]) ] ,XIC(Sts_DataSource1_is_DINT) [COP(Cfg_GetDataLog_Response.Data[0],Wrk_DataSource_DINT[0],Cfg_BlockSizeX2) ,AFI() FAL(Wrk_FAL_DataLog11,?,?,ALL,Out_DataLog_Values1[Wrk_FAL_DataLog11.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog11.POS*2]) ,FAL(Wrk_FAL_DataLog11,?,?,ALL,Out_DataLog_Values1[Wrk_FAL_DataLog11.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog11.POS*2]) ] ] ,EQU(945,Cfg_GetDataLog.AttrID) MOV(Cfg_BlockSize,Wrk_FAL_DataLog2.LEN) [XIO(Sts_DataSource2_is_DINT) [AFI() FAL(Wrk_FAL_DataLog2,?,?,ALL,Out_DataLog_Values2[Wrk_FAL_DataLog2.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog2.POS*2]) ,FAL(Wrk_FAL_DataLog2,?,?,ALL,Out_DataLog_Values2[Wrk_FAL_DataLog2.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog2.POS*2]) ] ,XIC(Sts_DataSource2_is_DINT) [COP(Cfg_GetDataLog_Response.Data[0],Wrk_DataSource_DINT[0],Cfg_BlockSizeX2) ,AFI() FAL(Wrk_FAL_DataLog22,?,?,ALL,Out_DataLog_Values2[Wrk_FAL_DataLog22.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog22.POS*2]) ,FAL(Wrk_FAL_DataLog22,?,?,ALL,Out_DataLog_Values2[Wrk_FAL_DataLog22.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog22.POS*2]) ] ] ,EQU(946,Cfg_GetDataLog.AttrID) MOV(Cfg_BlockSize,Wrk_FAL_DataLog3.LEN) [XIO(Sts_DataSource3_is_DINT) [AFI() FAL(Wrk_FAL_DataLog3,?,?,ALL,Out_DataLog_Values3[Wrk_FAL_DataLog3.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog3.POS*2]) ,FAL(Wrk_FAL_DataLog3,?,?,ALL,Out_DataLog_Values3[Wrk_FAL_DataLog3.POS+(count*Cfg_BlockSize)],Cfg_GetDataLog_Response.Data[Wrk_FAL_DataLog3.POS*2]) ] ,XIC(Sts_DataSource3_is_DINT) [COP(Cfg_GetDataLog_Response.Data[0],Wrk_DataSource_DINT[0],Cfg_BlockSizeX2) ,AFI() FAL(Wrk_FAL_DataLog33,?,?,ALL,Out_DataLog_Values3[Wrk_FAL_DataLog33.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog33.POS*2]) ,FAL(Wrk_FAL_DataLog33,?,?,ALL,Out_DataLog_Values3[Wrk_FAL_DataLog33.POS+(count*Cfg_BlockSize)],Wrk_DataSource_DINT[Wrk_FAL_DataLog33.POS*2]) ] ] ,[XIO(Sts_DataSource0_is_DINT) XIC(Wrk_FAL_DataLog0.DN) ,XIO(Sts_DataSource1_is_DINT) XIC(Wrk_FAL_DataLog1.DN) ,XIO(Sts_DataSource2_is_DINT) XIC(Wrk_FAL_DataLog2.DN) ,XIO(Sts_DataSource3_is_DINT) XIC(Wrk_FAL_DataLog3.DN) ,XIC(Sts_DataSource0_is_DINT) XIC(Wrk_FAL_DataLog00.DN) ,XIC(Sts_DataSource1_is_DINT) XIC(Wrk_FAL_DataLog11.DN) ,XIC(Sts_DataSource2_is_DINT) XIC(Wrk_FAL_DataLog22.DN) ,XIC(Sts_DataSource3_is_DINT) XIC(Wrk_FAL_DataLog33.DN) ] MOV(9,Get_Data_Log_Seq) ];]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Comment>
<![CDATA[Use variable BlockSize instead of always 60 elements (EE, 18.July 2017)
AFI branch with Remaining_Elements since it doesn't seem to be used]]>
</Comment>
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,9)[ADD(Cfg_GetDataLog.StartIndex,Cfg_BlockSize,Cfg_GetDataLog.StartIndex) ,ADD(count,1,count) ,LES(Remaining_Elements,60) EQU(Cfg_GetDataLog.StartIndex,-25576) MOV(40,Cfg_GetDataLog.NumElements) ,GEQ(Datalog_Request.NumberOfSamples,0) [GEQ(Cfg_GetDataLog.StartIndex,Datalog_Request.NumberOfSamples) MOV(11,Get_Data_Log_Seq) ,LES(Cfg_GetDataLog.StartIndex,Datalog_Request.NumberOfSamples) MOV(10,Get_Data_Log_Seq) ] ,LES(Datalog_Request.NumberOfSamples,0) [LES(Cfg_GetDataLog.StartIndex,0) GRT(Cfg_GetDataLog.StartIndex,Datalog_Request.NumberOfSamples) MOV(11,Get_Data_Log_Seq) ,[GEQ(Cfg_GetDataLog.StartIndex,0) ,LES(Cfg_GetDataLog.StartIndex,0) LES(Cfg_GetDataLog.StartIndex,Datalog_Request.NumberOfSamples) ] MOV(10,Get_Data_Log_Seq) ] ];]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Comment>
<![CDATA[Calculate the percentage of logged data that was transfer to the controlle. This is for status only.]]>
</Comment>
<Text>
<![CDATA[GEQ(Datalog_Request.NumberOfSamples,0)DIV(Cfg_GetDataLog.StartIndex,Inp_Number_of_Samples,Sts_Percent_Complete_Real)MUL(Sts_Percent_Complete_Real,100,Sts_Percent_Complete_Real);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Text>
<![CDATA[LES(Datalog_Request.NumberOfSamples,0)[GEQ(Cfg_GetDataLog.StartIndex,0) DIV(Cfg_GetDataLog.StartIndex,Inp_Number_of_Samples,Sts_Percent_Complete_Real) MUL(Sts_Percent_Complete_Real,100,Sts_Percent_Complete_Real) ,LES(Cfg_GetDataLog.StartIndex,0) CPT(Sts_Percent_Complete_Real,100*(65536+Cfg_GetDataLog.StartIndex)/Inp_Number_of_Samples) ];]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[[GRT(Sts_Percent_Complete_Real,100) MOV(100,Sts_Percent_Complete_Real) ,MOV(Sts_Percent_Complete_Real,Sts_Percent_Complete) ];]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Comment>
<![CDATA[Decide if need to repeat the process to read data from the drive in case more than one data source are being used if already read all the data from the drive and can finish the AOI program and set the DN bit.]]>
</Comment>
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,11)OTU(Wrk_Sts_Bits.0);]]>
</Text>
</Rung>
<Rung Number="30" Type="N">
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,11)XIC(Wrk_Sts_Bits.1)XIO(Wrk_Sts_Bits.0)MOV(5,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="31" Type="N">
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,11)XIC(Wrk_Sts_Bits.2)XIO(Wrk_Sts_Bits.0)XIO(Wrk_Sts_Bits.1)MOV(5,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="32" Type="N">
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,11)XIC(Wrk_Sts_Bits.3)XIO(Wrk_Sts_Bits.0)XIO(Wrk_Sts_Bits.1)XIO(Wrk_Sts_Bits.2)MOV(5,Get_Data_Log_Seq);]]>
</Text>
</Rung>
<Rung Number="33" Type="N">
<Text>
<![CDATA[EQU(Get_Data_Log_Seq,11)XIO(Wrk_Sts_Bits.3)XIO(Wrk_Sts_Bits.0)XIO(Wrk_Sts_Bits.1)XIO(Wrk_Sts_Bits.2)OTU(Sts_IP)OTL(Sts_DN)MOV(999,Get_Data_Log_Seq);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="TKNX_GetAxisAttrListRequestType"/>
<Dependency Type="DataType" Name="TKNX_GetAxisAttrListResponseType"/>
<Dependency Type="DataType" Name="TKNX_Arm_Data_Logging_Service"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>
