<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="20.05" TargetName="AMCI_NXFE2_Immediate_Stop" TargetType="AddOnInstructionDefinition" TargetRevision="2.0 " TargetLastEdited="2025-12-22T19:59:09.642Z" ContainsContext="true" Owner="root" ExportDate="Fri Jan 02 09:34:37 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_Immediate_Stop" 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-22T19:59:09.642Z" EditedBy="AMCI-MC\jsutula"
 SoftwareRevision="v20.05">
<RevisionNote>
<![CDATA[Version 1.1 added the slot_axis number and the input parameters can now be tags or discrete values.  

Version 2.0 was released on 12/22/2025 and added the input and output user defined data types.   ]]>
</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 command is sent to the NXFE2.  Reset when the rung is false.   
ER (Error) Set when a command, input, configuration error exists.  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="EN" 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="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/Write">
<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])MOV(0,NXFE2_Output_Data.Command_Word_0);]]>
</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 "16" (bit 4 set) to the MSW command word.  This commands the NXFE2 to perform an Immediate Stop operation.       ]]>
</Comment>
<Text>
<![CDATA[MOV(16,command_data_block[0])OTL(DN);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Comment>
<![CDATA[The Immediate Stop 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="3" 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="4" 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>
