<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="20.05" TargetName="AMCI_NXFE2_Run_Blend_Move" TargetType="AddOnInstructionDefinition" TargetRevision="2.0 " TargetLastEdited="2025-12-23T16:58:31.915Z" ContainsContext="true" Owner="root" ExportDate="Fri Jan 02 09:35:23 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_Run_Blend_Move" Revision="2.0" Vendor="AMCI" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="true" CreatedDate="2011-05-06T14:19:37.914Z" CreatedBy="AMCI_HQ\jsutula" EditedDate="2025-12-23T16:58:31.915Z" EditedBy="AMCI-MC\jsutula"
 SoftwareRevision="v20.05">
<RevisionNote>
<![CDATA[Version 2.0 was released on 12/23/2025.  The AOI was modified to use the Input and Output user defined data type.   ]]>
</RevisionNote>
<AdditionalHelpText>
<![CDATA[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.  


EN (Enable) Set when rung is true, Reset when rung is false   
DN (Done): Set when the command has been sent the the NXFE2.  Reset when the rung is false.   
ER (Error) Set when there is an Input Error, a Command Error, or a Configuration Error.   Reset when the rung is false.   

Direction_0_PositiveCW_1_NegativeCCW:  Determines the direction that the blend move will be run.   ]]>
</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="Direction_0_PositiveCW_1_NegativeCCW" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData>00</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="EN" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<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/Write">
<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">
<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[Command Bits LSW]]>
</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>
<Comment Operand="[5]">
<![CDATA[Lower 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">
<Comment>
<![CDATA[The following rung moves a decimal value of 4096 or 8192 to run the previously programmed blend move in either the CW or CCW direction.       ]]>
</Comment>
<Text>
<![CDATA[XIO(NXFE2_Input_Data.MovingCW)XIO(NXFE2_Input_Data.MovingCCW)XIO(EN)XIO(Direction_0_PositiveCW_1_NegativeCCW)MOV(4096,command_data_block[0])OTL(DN);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Comment>
<![CDATA[The following rung moves a decimal value of 4096 or 8192 to run the previously programmed blend move in either the CW or CCW direction.       ]]>
</Comment>
<Text>
<![CDATA[XIO(NXFE2_Input_Data.MovingCW)XIO(NXFE2_Input_Data.MovingCCW)XIO(EN)XIC(Direction_0_PositiveCW_1_NegativeCCW)MOV(8192,command_data_block[0])OTL(DN);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Comment>
<![CDATA[The following rung moves a value of 0 to output word 0 while motion is occurring.  This will allow the NXFE2 to see the next 0 to 1 transition of the command bit.     ]]>
</Comment>
<Text>
<![CDATA[[XIC(NXFE2_Input_Data.MovingCW) ,XIC(NXFE2_Input_Data.MovingCCW) ]MOV(0,command_data_block[0]);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Comment>
<![CDATA[The Run Blend Move command does not use the data in registers one through nine and the following rung resets these registers to zero.  ]]>
</Comment>
<Text>
<![CDATA[FLL(0,command_data_block[1],9);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[[XIC(NXFE2_Input_Data.InputError) ,XIC(NXFE2_Input_Data.CommandError) ,XIC(NXFE2_Input_Data.CommandError) ]OTE(ER)MOV(0,command_data_block[0]);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[OTL(EN);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Comment>
<![CDATA[Move the command block data internal to the Add on Instruction to the output registers assigned to the NXFE2.  ]]>
</Comment>
<Text>
<![CDATA[CPS(command_data_block[0],NXFE2_Output_Data,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>
