<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--AMCI Preset Motor Position-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="20.05" TargetName="AMCI_NXFE2_MRP" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-12-23T16:56:55.565Z" ContainsContext="true" Owner="root" ExportDate="Fri Jan 02 09:35:05 2026" ExportOptions="References DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="NXFE2_EDS_AOI_sample_RSLogix_V20">
<DataTypes Use="Context">
<DataType Name="AMCI_NXFE2_Output_Data" Family="NoFamily" Class="User">
<Members>
<Member Name="Command_Word_0" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Command_Word_1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Position_or_Distance" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Programmed_Speed" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Acceleration" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Deceleration" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved_Word_8" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved_Word_9" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="AMCI_NXFE2_Input_Data" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZAMCI_NXFE20" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="MovingCW" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="MovingCCW" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="InHoldState" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Stopped" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="AtHome" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Accelerating" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Decelerating" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="MoveComplete" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE20" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZAMCI_NXFE29" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="HomeInvalid" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="ProfileInvalid" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="PositionInvalid" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="InputError" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="CommandError" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="ConfigurationError" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="ModuleOK" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="ModeFlag" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE29" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZAMCI_NXFE218" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="CaptureInputActive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="ExternalInputActive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="HomeInputActive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="CWLimitActive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="CCWLimiitActive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="NoFaultOutputState" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="OnLineOutputState" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="MoveCompleteOutputState" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE218" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZAMCI_NXFE227" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="RunningBlendMove" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="BlendMoveACK" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="NonZeroMinRegDistance" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Reserved_bit_11" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="BckplnHomeProxBitState" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="EncoderFollowerMode" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Reserved_bit_14" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Reserved_bit_15" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZAMCI_NXFE227" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="MotorPosition" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="EncoderPosition" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CaptureData" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved_Word_8" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="NetworkConnectivity" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AMCI_NXFE2_MRP" Revision="1.0" Vendor="AMCI" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="true" CreatedDate="2011-05-06T14:19:37.914Z" CreatedBy="AMCI_HQ\jsutula" EditedDate="2025-12-23T16:56:55.565Z" EditedBy="AMCI-MC\jsutula"
 SoftwareRevision="v20.05">
<Description>
<![CDATA[AMCI Preset Motor Position]]>
</Description>
<RevisionNote>
<![CDATA[12/22/2025 Intial release.  Replaces the previous Preset Motor Position AOI.   ]]>
</RevisionNote>
<AdditionalHelpText>
<![CDATA[MOTION REDEFINE POSITION (MRP): Sets the Current Motor Position to the value in the Target Position field of the AOI.  This command will also reset the Position Invalid status bit.    

AXIS INPUT DATA:  Input data from the NXFE2.   Uses the AMCI_NXFE2_Input_Data User Defined Data Type.  

AXIS OUTPUT DATA; Output data from the AOI to the AMCI NXFE2.    Uses the AMCI_NXFE2_Output_Data User Defined Data Type.  



TARGET POSITION: Position to which the Motor Position is to be set.

EN (Enable) Set when rung is true, Reset when rung is false
DN (Done) Set when command is sent to the NXFE2.  Reset when the rung is false.   
ER (Error) Set when a command or input error failed to clear.  Reset when the rung is false.   ]]>
</AdditionalHelpText>
<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="NXFE2_Input_Data" TagType="Base" DataType="AMCI_NXFE2_Input_Data" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="NXFE2_Output_Data" TagType="Base" DataType="AMCI_NXFE2_Output_Data" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="TargetPosition" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData>00 00 00 00</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="EN" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[set when rung with AOI is true]]>
</Description>
<DefaultData>00</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="DN" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[set when preset motor position command sent to motion axis]]>
</Description>
<DefaultData>00</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="ER" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[set when input, command, or configuraiton error]]>
</Description>
<DefaultData>00</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="command_data_block" DataType="INT" Dimensions="10" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00</DefaultData>
<Comments>
<Comment Operand="[0]">
<![CDATA[Command Bits MSW]]>
</Comment>
<Comment Operand="[1]">
<![CDATA[Target Position]]>
</Comment>
<Comment Operand="[2]">
<![CDATA[Upper Target Position]]>
</Comment>
<Comment Operand="[3]">
<![CDATA[Lower Target Position]]>
</Comment>
<Comment Operand="[4]">
<![CDATA[Upper Programmed Speed]]>
</Comment>
</Comments>
<DefaultData Format="Decorated">
<Array DataType="INT" Dimensions="10" 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"/>
</Array>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="EnableInFalse" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[XIC(EN)MOV(0,command_data_block[0])CPS(command_data_block[0],NXFE2_Output_Data.Command_Word_0,10);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[OTU(EN)OTU(DN)OTU(ER);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[OTL(EN);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Comment>
<![CDATA[The following rung moves a decimal value of "512" (bit 9 set) to the command word.  This commands sets the current position to the desired value.       ]]>
</Comment>
<Text>
<![CDATA[MOV(512,command_data_block[0])OTL(DN);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[[XIC(NXFE2_Input_Data.InputError) ,XIC(NXFE2_Input_Data.CommandError) ,XIC(NXFE2_Input_Data.ConfigurationError) ]MOV(0,command_data_block[0])OTE(ER);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[CPS(TargetPosition,command_data_block[2],2);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Comment>
<![CDATA[The Preset command does not use the data in registers four through nine and the following rung resets these registers to zero.  ]]>
</Comment>
<Text>
<![CDATA[FLL(0,command_data_block[4],6);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Comment>
<![CDATA[Move the command block data internal to the Add on Instruction to the output registers assigned to the AMCI 5024-PTO-AM.   ]]>
</Comment>
<Text>
<![CDATA[CPS(command_data_block[0],NXFE2_Output_Data.Command_Word_0,10);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="AMCI_NXFE2_Input_Data"/>
<Dependency Type="DataType" Name="AMCI_NXFE2_Output_Data"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>
