FMH Extendo

This commit is contained in:
b.makharadze 2025-08-04 12:44:02 +04:00
parent 37be908d50
commit b04cf3b4c1
10 changed files with 7885 additions and 0 deletions

View File

@ -0,0 +1,467 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_FMH_EXTENDO" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-08-04T08:02:53.445Z" ContainsContext="true" ExportDate="Mon Aug 04 12:41:18 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Name="UDT_ALARMS_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[E Stop activated]]>
</Description>
</Member>
<Member Name="Motor_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Motor Faulted]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_CTRL_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="STS" DataType="UDT_CTRL_FMH_EXTENDO_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_FMH_EXTENDO_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_CMD"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_FMH_EXTENDO_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_E0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Downstream Is Running]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="1" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_FMH_EXTENDO_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_F0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Recieve" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="6" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_MCM_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Command To MCM]]>
</Description>
</Member>
<Member Name="STS" DataType="UDT_CTRL_MCM_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Status From MCM]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_STS"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_MCM_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="VFD_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Was_Present" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Encoder_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M11" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="EStop_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop_Was_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="4" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="System_Started" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Jam_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M12" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Setup_Motor_Speeds" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="System_Start_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[System Start Requested]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_HMI_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarms" DataType="UDT_ALARMS_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM1" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Receive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM7" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EX_Type" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_FMH_EXTENDO"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_FMH_EXTENDO" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-07-27T14:20:57.182Z" CreatedBy="LCIBATUMI\goga.abashidze" EditedDate="2025-08-04T08:02:53.445Z" EditedBy="LCIBATUMI\beka.makharadze" SoftwareRevision="v36.00"
>
<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="HMI" TagType="Base" DataType="UDT_HMI_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="IP" TagType="Base" DataType="STRING" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Statuses_Read_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Ready_To_Receive_Write_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Statuses_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Belt Running Input Status]]>
</Comment>
<Comment Operand=".1">
<![CDATA[PLC is Ready To Run Input Status]]>
</Comment>
<Comment Operand=".2">
<![CDATA[E Stop Activation Input Status]]>
</Comment>
<Comment Operand=".3">
<![CDATA[Motor Faulted Input Status]]>
</Comment>
<Comment Operand=".4">
<![CDATA[OK To Run Input Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="Ready_To_Receive_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Ready To Receive From Customer Ouput Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Communication from Ethernet Faulted]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="MSG_Timer" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,500,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="500"/>
<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="asdasd" 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="Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Statuses_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Ready_to_Receive_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Interlock" 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="EstoppedLatch" 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="Statuses" DataType="UDT_CTRL_FMH_EXTENDO_STS" ExternalAccess="None">
<Comments>
<Comment Operand=".INTERLOCK">
<![CDATA[Downstream conveyor is running]]>
</Comment>
</Comments>
<DefaultData Format="L5K">
<![CDATA[[0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="UDT_CTRL_FMH_EXTENDO_STS">
<DataValueMember Name="Belt_Running" DataType="BOOL" Value="0"/>
<DataValueMember Name="PLC_Ready_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="EStop" DataType="BOOL" Value="0"/>
<DataValueMember Name="Motor_Fault" DataType="BOOL" Value="0"/>
<DataValueMember Name="OK_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="Ready_To_Recieve" DataType="BOOL" Value="0"/>
<DataValueMember Name="Interlock" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[The AOI Communicates with Extendo via Statuses_Read_MSG and Ready_To_Receive_Write_MSG.
Read bits are stored locally in Status_Tag:
0 stores Belt Running bit
1 stores PLC ready to run / No faults status
2 stores E-Stop status
3 stores Motor Fault status
4 stores Okay To Run status
Write bit is sent in Ready To Receive From Customer depending on interlock status
Ethernet Communication Faulted status is received from DPM and is checked before assigning statuses
E-stop status is transferred into MCM
Motor Fault and E-stop are Sent to HMI Alarm system
stored statuses are sent o HMI and HMI State is modified according to them:
Belt_Running sets HMI.State to 0
Okay To Run sets HMI.State to 1
PLC Ready To Run sets HMI.State to 2
Ready To Receive Customer Sets HMI.State to 3
Motor Fault Sets HMI.State to 4
E-Stop Sets HMI.State to 5]]>
</Comment>
<Text>
<![CDATA[XIO(MSG_Timer.DN)TON(MSG_Timer,?,?);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[[MOVE(1,Statuses_Read_MSG.REQ_LEN) COP(Statuses_Source_Elem,Statuses_Read_MSG.RemoteElement,1) COP(IP,Statuses_Read_MSG.Path,1) ,MOVE(1,Ready_To_Receive_Write_MSG.REQ_LEN) COP(Ready_to_Receive_Source_Elem,Ready_To_Receive_Write_MSG.RemoteElement,1) COP(IP,Ready_To_Receive_Write_MSG.Path,1) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(MSG_Timer.DN)MSG(Statuses_Read_MSG);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Interlock)[OTE(Interlock) ,OTE(CTRL.STS.Interlock) ];]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Interlock)XIC(MSG_Timer.DN)MSG(Ready_To_Receive_Write_MSG);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.1)XIO(Communication_Faulted)OTE(Statuses.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.2)XIO(Communication_Faulted)OTE(Statuses.EStop);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.3)XIO(Communication_Faulted)OTE(Statuses.Motor_Fault);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.4)XIO(Communication_Faulted)OTE(Statuses.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(Ready_To_Receive_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Ready_To_Recieve);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(MCM.CMD.EStop_Actuated);]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)OTE(HMI.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)OTE(HMI.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)OTE(HMI.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)OTE(HMI.Ready_To_Receive);]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)OTE(HMI.Alarms.Motor_Faulted);]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(HMI.Alarms.E_Stop);]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Text>
<![CDATA[MOVE(1,HMI.EX_Type);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_HMI_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>

View File

@ -0,0 +1,381 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--DATA POWER MODULE-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_DPM" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-07-11T06:08:04.500Z" ContainsContext="true" ExportDate="Mon Aug 04 12:33:06 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Name="UDT_ALARMS_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_CTRL_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="STS" DataType="UDT_CTRL_IO_BLOCK_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_IO_BLOCK_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK_CMD"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_IO_BLOCK_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Log]]>
</Description>
</Member>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Log Quantity]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_CTRL_IO_BLOCK_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_S0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Acknowledge Log]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZUDT_CTRL_S3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S3" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[All Unacknowledged Logs]]>
</Description>
</Member>
<Member Name="Unacknowldge_All" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S3" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Unacknowledge all Alarms]]>
</Description>
</Member>
<Member Name="Aknowledgement_ID" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Aknowledgement ID]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_MCM_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Command To MCM]]>
</Description>
</Member>
<Member Name="STS" DataType="UDT_CTRL_MCM_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Status From MCM]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_STS"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_MCM_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="VFD_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Was_Present" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Encoder_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M11" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="EStop_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop_Was_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="4" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="System_Started" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Jam_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M12" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Setup_Motor_Speeds" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="System_Start_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[System Start Requested]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_HMI_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarm" DataType="UDT_ALARMS_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Color of Animations]]>
</Description>
</Member>
<Member Name="IP_Address" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[IP Address]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_IO_BLOCK"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_DPM" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2021-06-02T10:38:08.709Z" CreatedBy="KONON\Artem" EditedDate="2025-07-11T06:08:04.500Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<Description>
<![CDATA[DATA POWER MODULE]]>
</Description>
<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="HMI" TagType="Base" DataType="UDT_HMI_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="EN4TR_Communication_Fault" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Communication_Fault" TagType="Base" DataType="BOOL" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="MSG_Tmr" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,2000,804]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="2000"/>
<DataValueMember Name="ACC" DataType="DINT" Radix="Decimal" Value="804"/>
<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="TImeout_Tmr" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,10000,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="10000"/>
<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="Concatenated_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Sring for Log]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Empty_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Communication_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Communication Fault Code]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Acknowledge" 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="Acknowledge_ONS" 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="Lost_Communication_String" 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="Name" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Ack" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[DPM Octopus-Switch Communication Monitor
The routine monitors its own Ethernet link together with the upstream EN4TR rack adapter.
If either path is lost, it turns on Communication_Faulted and mirrors that state to CTRL.STS.Communication_Faulted, allowing higher-level blocks to see the break.
HMI.STATE is set to 0 while communications are good and 1 whenever any link is lost.
An HMI alarm is generated only when the switch itself is faulted while the EN4TR adapter remains healthy, ensuring that alarms are not duplicated up the chain.
Whenever a loss occurs, the code builds a text line such as “<Switch HMI.Name> — Lost Communication”, places it in MCM.CMD.Log, and increments MCM.CMD.Log_Quantity.
If the same line later appears in MCM.STS.Acknowledge_Log, the routine latches Acknowledge and clears the entry so the log stays current.
The command bit MCM.STS.Unacknowledge_All_Logs resets the Acknowledge latch, guaranteeing that the next loss of communication will produce a fresh message.
Command bits
The routine receives Communication_Fault from its own port monitor.
The routine receives EN4TR_Communication_Fault from the rack adapter.
The routine receives MCM.STS.Unacknowledge_All_Logs to clear the acknowledge latch.
Status bits
The routine sets Communication_Faulted when either link is down.
The routine sets CTRL.STS.Communication_Faulted with the same value.
HMI bits
The HMI displays HMI.STATE as 0 for healthy and 1 for faulted.
The HMI raises HMI.Alarm.Communication_Faulted only while Communication_Faulted is true and EN4TR_Communication_Fault is false.
Alarm bits
The system raises HMI.Alarm.Communication_Faulted whenever the switch itself loses communication and the EN4TR adapter is still online.
]]>
</Comment>
<Text>
<![CDATA[[XIC(Communication_Fault) ,XIC(EN4TR_Communication_Fault) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIO(Communication_Faulted)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)XIO(EN4TR_Communication_Fault)OTE(HMI.Alarm.Communication_Faulted);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.Unacknowledge_All_Logs)OTU(Acknowledge);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS) OTU(Acknowledge) ,XIC(Communication_Faulted) XIO(Acknowledge) COP(Lost_Communication_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[MOVE(1000,MSG_Tmr.PRE)MOVE(5000,TImeout_Tmr.PRE)MOVE(0,Ack);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>

View File

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_FLIP_FLOP" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-05-21T10:05:03.350Z" ContainsContext="true" ExportDate="Mon Aug 04 12:33:04 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_FLIP_FLOP" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2022-03-10T21:16:26.590Z" CreatedBy="DESKTOP-T9CCJM5\autStand" EditedDate="2025-05-21T10:05:03.350Z" EditedBy="LCIBATUMI\ilia.gurielidze" SoftwareRevision="v36.00"
>
<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="On" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Amount of time Beacon is On while Flashing]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Off" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Amount of time Beacon is Off while Flashing]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Flash" 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>
</Parameters>
<LocalTags>
<LocalTag Name="Flip" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,0,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="0"/>
<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="Flop" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,0,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="0"/>
<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>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[MOVE(On,Flip.PRE)MOVE(Off,Flop.PRE);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIO(Flop.DN)TON(Flip,?,?);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(Flip.DN)TON(Flop,?,?);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(Flip.DN)OTE(Flash)OTE(EnableOut);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>

View File

@ -0,0 +1,467 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_FMH_EXTENDO" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-08-04T08:02:53.445Z" ContainsContext="true" ExportDate="Mon Aug 04 12:33:00 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Name="UDT_ALARMS_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[E Stop activated]]>
</Description>
</Member>
<Member Name="Motor_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Motor Faulted]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_CTRL_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="STS" DataType="UDT_CTRL_FMH_EXTENDO_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_FMH_EXTENDO_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_CMD"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_FMH_EXTENDO_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_E0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Downstream Is Running]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="1" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_FMH_EXTENDO_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_F0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Recieve" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="6" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_MCM_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Command To MCM]]>
</Description>
</Member>
<Member Name="STS" DataType="UDT_CTRL_MCM_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Status From MCM]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_STS"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_MCM_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="VFD_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Was_Present" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Encoder_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M11" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="EStop_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop_Was_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="4" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="System_Started" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Jam_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M12" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Setup_Motor_Speeds" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="System_Start_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[System Start Requested]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_HMI_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarms" DataType="UDT_ALARMS_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM1" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Receive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM7" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EX_Type" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_FMH_EXTENDO"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_FMH_EXTENDO" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-07-27T14:20:57.182Z" CreatedBy="LCIBATUMI\goga.abashidze" EditedDate="2025-08-04T08:02:53.445Z" EditedBy="LCIBATUMI\beka.makharadze" SoftwareRevision="v36.00"
>
<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="HMI" TagType="Base" DataType="UDT_HMI_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="IP" TagType="Base" DataType="STRING" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Statuses_Read_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Ready_To_Receive_Write_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Statuses_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Belt Running Input Status]]>
</Comment>
<Comment Operand=".1">
<![CDATA[PLC is Ready To Run Input Status]]>
</Comment>
<Comment Operand=".2">
<![CDATA[E Stop Activation Input Status]]>
</Comment>
<Comment Operand=".3">
<![CDATA[Motor Faulted Input Status]]>
</Comment>
<Comment Operand=".4">
<![CDATA[OK To Run Input Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="Ready_To_Receive_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Ready To Receive From Customer Ouput Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Communication from Ethernet Faulted]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="MSG_Timer" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,500,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="500"/>
<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="asdasd" 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="Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Statuses_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Ready_to_Receive_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Interlock" 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="EstoppedLatch" 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="Statuses" DataType="UDT_CTRL_FMH_EXTENDO_STS" ExternalAccess="None">
<Comments>
<Comment Operand=".INTERLOCK">
<![CDATA[Downstream conveyor is running]]>
</Comment>
</Comments>
<DefaultData Format="L5K">
<![CDATA[[0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="UDT_CTRL_FMH_EXTENDO_STS">
<DataValueMember Name="Belt_Running" DataType="BOOL" Value="0"/>
<DataValueMember Name="PLC_Ready_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="EStop" DataType="BOOL" Value="0"/>
<DataValueMember Name="Motor_Fault" DataType="BOOL" Value="0"/>
<DataValueMember Name="OK_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="Ready_To_Recieve" DataType="BOOL" Value="0"/>
<DataValueMember Name="Interlock" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[The AOI Communicates with Extendo via Statuses_Read_MSG and Ready_To_Receive_Write_MSG.
Read bits are stored locally in Status_Tag:
0 stores Belt Running bit
1 stores PLC ready to run / No faults status
2 stores E-Stop status
3 stores Motor Fault status
4 stores Okay To Run status
Write bit is sent in Ready To Receive From Customer depending on interlock status
Ethernet Communication Faulted status is received from DPM and is checked before assigning statuses
E-stop status is transferred into MCM
Motor Fault and E-stop are Sent to HMI Alarm system
stored statuses are sent o HMI and HMI State is modified according to them:
Belt_Running sets HMI.State to 0
Okay To Run sets HMI.State to 1
PLC Ready To Run sets HMI.State to 2
Ready To Receive Customer Sets HMI.State to 3
Motor Fault Sets HMI.State to 4
E-Stop Sets HMI.State to 5]]>
</Comment>
<Text>
<![CDATA[XIO(MSG_Timer.DN)TON(MSG_Timer,?,?);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[[MOVE(1,Statuses_Read_MSG.REQ_LEN) COP(Statuses_Source_Elem,Statuses_Read_MSG.RemoteElement,1) COP(IP,Statuses_Read_MSG.Path,1) ,MOVE(1,Ready_To_Receive_Write_MSG.REQ_LEN) COP(Ready_to_Receive_Source_Elem,Ready_To_Receive_Write_MSG.RemoteElement,1) COP(IP,Ready_To_Receive_Write_MSG.Path,1) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(MSG_Timer.DN)MSG(Statuses_Read_MSG);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Interlock)[OTE(Interlock) ,OTE(CTRL.STS.Interlock) ];]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Interlock)XIC(MSG_Timer.DN)MSG(Ready_To_Receive_Write_MSG);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.1)XIO(Communication_Faulted)OTE(Statuses.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.2)XIO(Communication_Faulted)OTE(Statuses.EStop);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.3)XIO(Communication_Faulted)OTE(Statuses.Motor_Fault);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.4)XIO(Communication_Faulted)OTE(Statuses.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(Ready_To_Receive_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Ready_To_Recieve);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(MCM.CMD.EStop_Actuated);]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)OTE(HMI.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)OTE(HMI.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)OTE(HMI.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)OTE(HMI.Ready_To_Receive);]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)OTE(HMI.Alarms.Motor_Faulted);]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(HMI.Alarms.E_Stop);]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Text>
<![CDATA[MOVE(1,HMI.EX_Type);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_HMI_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,478 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_FMH_EXTENDO" TargetType="DataType" ContainsContext="true" ExportDate="Mon Aug 04 12:32:16 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Name="UDT_CTRL_MCM" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_MCM_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Command To MCM]]>
</Description>
</Member>
<Member Name="STS" DataType="UDT_CTRL_MCM_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Status From MCM]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_STS"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_MCM_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="VFD_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Was_Present" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Encoder_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M11" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="EStop_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop_Was_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="4" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="System_Started" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Jam_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M12" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Setup_Motor_Speeds" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="System_Start_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[System Start Requested]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_ALARMS_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[E Stop activated]]>
</Description>
</Member>
<Member Name="Motor_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Motor Faulted]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_AOI_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="AOI" DataType="AOI_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_HMI_FMH_EXTENDO"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="STS" DataType="UDT_CTRL_FMH_EXTENDO_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_FMH_EXTENDO_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_CMD"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_FMH_EXTENDO_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_E0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Downstream Is Running]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="1" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_FMH_EXTENDO_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_F0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Recieve" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="6" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_HMI_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarms" DataType="UDT_ALARMS_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM1" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Receive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM7" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EX_Type" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_FMH_EXTENDO"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Name="AOI_FMH_EXTENDO" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-07-27T14:20:57.182Z" CreatedBy="LCIBATUMI\goga.abashidze" EditedDate="2025-08-04T08:02:53.445Z" EditedBy="LCIBATUMI\beka.makharadze" SoftwareRevision="v36.00">
<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="HMI" TagType="Base" DataType="UDT_HMI_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="IP" TagType="Base" DataType="STRING" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Statuses_Read_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Ready_To_Receive_Write_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Statuses_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Belt Running Input Status]]>
</Comment>
<Comment Operand=".1">
<![CDATA[PLC is Ready To Run Input Status]]>
</Comment>
<Comment Operand=".2">
<![CDATA[E Stop Activation Input Status]]>
</Comment>
<Comment Operand=".3">
<![CDATA[Motor Faulted Input Status]]>
</Comment>
<Comment Operand=".4">
<![CDATA[OK To Run Input Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="Ready_To_Receive_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Ready To Receive From Customer Ouput Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Communication from Ethernet Faulted]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="MSG_Timer" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,500,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="500"/>
<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="asdasd" 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="Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Statuses_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Ready_to_Receive_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Interlock" 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="EstoppedLatch" 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="Statuses" DataType="UDT_CTRL_FMH_EXTENDO_STS" ExternalAccess="None">
<Comments>
<Comment Operand=".INTERLOCK">
<![CDATA[Downstream conveyor is running]]>
</Comment>
</Comments>
<DefaultData Format="L5K">
<![CDATA[[0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="UDT_CTRL_FMH_EXTENDO_STS">
<DataValueMember Name="Belt_Running" DataType="BOOL" Value="0"/>
<DataValueMember Name="PLC_Ready_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="EStop" DataType="BOOL" Value="0"/>
<DataValueMember Name="Motor_Fault" DataType="BOOL" Value="0"/>
<DataValueMember Name="OK_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="Ready_To_Recieve" DataType="BOOL" Value="0"/>
<DataValueMember Name="Interlock" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[The AOI Communicates with Extendo via Statuses_Read_MSG and Ready_To_Receive_Write_MSG.
Read bits are stored locally in Status_Tag:
0 stores Belt Running bit
1 stores PLC ready to run / No faults status
2 stores E-Stop status
3 stores Motor Fault status
4 stores Okay To Run status
Write bit is sent in Ready To Receive From Customer depending on interlock status
Ethernet Communication Faulted status is received from DPM and is checked before assigning statuses
E-stop status is transferred into MCM
Motor Fault and E-stop are Sent to HMI Alarm system
stored statuses are sent o HMI and HMI State is modified according to them:
Belt_Running sets HMI.State to 0
Okay To Run sets HMI.State to 1
PLC Ready To Run sets HMI.State to 2
Ready To Receive Customer Sets HMI.State to 3
Motor Fault Sets HMI.State to 4
E-Stop Sets HMI.State to 5]]>
</Comment>
<Text>
<![CDATA[XIO(MSG_Timer.DN)TON(MSG_Timer,?,?);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[[MOVE(1,Statuses_Read_MSG.REQ_LEN) COP(Statuses_Source_Elem,Statuses_Read_MSG.RemoteElement,1) COP(IP,Statuses_Read_MSG.Path,1) ,MOVE(1,Ready_To_Receive_Write_MSG.REQ_LEN) COP(Ready_to_Receive_Source_Elem,Ready_To_Receive_Write_MSG.RemoteElement,1) COP(IP,Ready_To_Receive_Write_MSG.Path,1) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(MSG_Timer.DN)MSG(Statuses_Read_MSG);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Interlock)[OTE(Interlock) ,OTE(CTRL.STS.Interlock) ];]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Interlock)XIC(MSG_Timer.DN)MSG(Ready_To_Receive_Write_MSG);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.1)XIO(Communication_Faulted)OTE(Statuses.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.2)XIO(Communication_Faulted)OTE(Statuses.EStop);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.3)XIO(Communication_Faulted)OTE(Statuses.Motor_Fault);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.4)XIO(Communication_Faulted)OTE(Statuses.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(Ready_To_Receive_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Ready_To_Recieve);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(MCM.CMD.EStop_Actuated);]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)OTE(HMI.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)OTE(HMI.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)OTE(HMI.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)OTE(HMI.Ready_To_Receive);]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)OTE(HMI.Alarms.Motor_Faulted);]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(HMI.Alarms.E_Stop);]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Text>
<![CDATA[MOVE(1,HMI.EX_Type);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_HMI_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>

View File

@ -0,0 +1,392 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_IO_BLOCK" TargetType="DataType" ContainsContext="true" ExportDate="Mon Aug 04 12:32:45 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Name="UDT_CTRL_MCM" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_MCM_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Command To MCM]]>
</Description>
</Member>
<Member Name="STS" DataType="UDT_CTRL_MCM_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Status From MCM]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_STS"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_MCM_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="VFD_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Was_Present" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Encoder_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M11" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="EStop_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop_Was_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="4" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="System_Started" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Jam_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M12" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Setup_Motor_Speeds" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="System_Start_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[System Start Requested]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_ALARMS_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_AOI_DPM" Family="NoFamily" Class="User">
<Members>
<Member Name="AOI" DataType="AOI_DPM" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_DPM"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_IO_BLOCK"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="STS" DataType="UDT_CTRL_IO_BLOCK_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_IO_BLOCK_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK_CMD"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_IO_BLOCK_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Log]]>
</Description>
</Member>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Log Quantity]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_IO_BLOCK_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_S0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Acknowledge Log]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZUDT_CTRL_S3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S3" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[All Unacknowledged Logs]]>
</Description>
</Member>
<Member Name="Unacknowldge_All" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S3" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Unacknowledge all Alarms]]>
</Description>
</Member>
<Member Name="Aknowledgement_ID" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Aknowledgement ID]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_HMI_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarm" DataType="UDT_ALARMS_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Color of Animations]]>
</Description>
</Member>
<Member Name="IP_Address" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[IP Address]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_IO_BLOCK"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Name="AOI_DPM" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2021-06-02T10:38:08.709Z" CreatedBy="KONON\Artem" EditedDate="2025-07-11T06:08:04.500Z" EditedBy="LCIBATUMI\ilia.gurielidze" SoftwareRevision="v36.00"
>
<Description>
<![CDATA[DATA POWER MODULE]]>
</Description>
<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="HMI" TagType="Base" DataType="UDT_HMI_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="EN4TR_Communication_Fault" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Communication_Fault" TagType="Base" DataType="BOOL" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="MSG_Tmr" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,2000,804]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="2000"/>
<DataValueMember Name="ACC" DataType="DINT" Radix="Decimal" Value="804"/>
<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="TImeout_Tmr" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,10000,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="10000"/>
<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="Concatenated_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Sring for Log]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Empty_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Communication_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Communication Fault Code]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Acknowledge" 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="Acknowledge_ONS" 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="Lost_Communication_String" 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="Name" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Ack" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[DPM Octopus-Switch Communication Monitor
The routine monitors its own Ethernet link together with the upstream EN4TR rack adapter.
If either path is lost, it turns on Communication_Faulted and mirrors that state to CTRL.STS.Communication_Faulted, allowing higher-level blocks to see the break.
HMI.STATE is set to 0 while communications are good and 1 whenever any link is lost.
An HMI alarm is generated only when the switch itself is faulted while the EN4TR adapter remains healthy, ensuring that alarms are not duplicated up the chain.
Whenever a loss occurs, the code builds a text line such as “<Switch HMI.Name> — Lost Communication”, places it in MCM.CMD.Log, and increments MCM.CMD.Log_Quantity.
If the same line later appears in MCM.STS.Acknowledge_Log, the routine latches Acknowledge and clears the entry so the log stays current.
The command bit MCM.STS.Unacknowledge_All_Logs resets the Acknowledge latch, guaranteeing that the next loss of communication will produce a fresh message.
Command bits
The routine receives Communication_Fault from its own port monitor.
The routine receives EN4TR_Communication_Fault from the rack adapter.
The routine receives MCM.STS.Unacknowledge_All_Logs to clear the acknowledge latch.
Status bits
The routine sets Communication_Faulted when either link is down.
The routine sets CTRL.STS.Communication_Faulted with the same value.
HMI bits
The HMI displays HMI.STATE as 0 for healthy and 1 for faulted.
The HMI raises HMI.Alarm.Communication_Faulted only while Communication_Faulted is true and EN4TR_Communication_Fault is false.
Alarm bits
The system raises HMI.Alarm.Communication_Faulted whenever the switch itself loses communication and the EN4TR adapter is still online.
]]>
</Comment>
<Text>
<![CDATA[[XIC(Communication_Fault) ,XIC(EN4TR_Communication_Fault) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIO(Communication_Faulted)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)XIO(EN4TR_Communication_Fault)OTE(HMI.Alarm.Communication_Faulted);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.Unacknowledge_All_Logs)OTU(Acknowledge);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS) OTU(Acknowledge) ,XIC(Communication_Faulted) XIO(Acknowledge) COP(Lost_Communication_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[MOVE(1000,MSG_Tmr.PRE)MOVE(5000,TImeout_Tmr.PRE)MOVE(0,Ack);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,478 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_FMH_EXTENDO" TargetType="DataType" ContainsContext="true" ExportDate="Mon Aug 04 12:41:09 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Name="UDT_CTRL_MCM" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_MCM_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Command To MCM]]>
</Description>
</Member>
<Member Name="STS" DataType="UDT_CTRL_MCM_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Status From MCM]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM_STS"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_MCM_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="VFD_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Was_Present" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Encoder_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M2" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M11" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="EStop_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop_Was_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M11" BitNumber="4" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="UDT_CTRL_MCM_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Log_Quantity" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Acknowledge_Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Was_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="VFD_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Power_Branch_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="Low_Air_Pressure_Fault_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="System_Started" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Jam_Reset_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="6" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M3" BitNumber="7" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_CTRL_M12" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Setup_Motor_Speeds" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="System_Start_Requested" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_M12" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[System Start Requested]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_ALARMS_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[E Stop activated]]>
</Description>
</Member>
<Member Name="Motor_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Motor Faulted]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_AOI_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="AOI" DataType="AOI_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_HMI_FMH_EXTENDO"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="STS" DataType="UDT_CTRL_FMH_EXTENDO_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_FMH_EXTENDO_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_CMD"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_FMH_EXTENDO_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_E0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Downstream Is Running]]>
</Description>
</Member>
<Member Name="E_Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="1" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_FMH_EXTENDO_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_F0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="4" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Recieve" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="5" ExternalAccess="Read/Write"/>
<Member Name="Interlock" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_F0" BitNumber="6" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_HMI_FMH_EXTENDO" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarms" DataType="UDT_ALARMS_FMH_EXTENDO" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM1" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Belt_Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="PLC_Ready_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="OK_To_Run" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Ready_To_Receive" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM1" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="ZZZZZZZZZZUDT_HMI_FM7" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="EStop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Motor_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_FM7" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="EX_Type" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_FMH_EXTENDO"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Name="AOI_FMH_EXTENDO" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-07-27T14:20:57.182Z" CreatedBy="LCIBATUMI\goga.abashidze" EditedDate="2025-08-04T08:02:53.445Z" EditedBy="LCIBATUMI\beka.makharadze" SoftwareRevision="v36.00">
<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="HMI" TagType="Base" DataType="UDT_HMI_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_FMH_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="IP" TagType="Base" DataType="STRING" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Statuses_Read_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Ready_To_Receive_Write_MSG" TagType="Base" DataType="MESSAGE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Statuses_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Belt Running Input Status]]>
</Comment>
<Comment Operand=".1">
<![CDATA[PLC is Ready To Run Input Status]]>
</Comment>
<Comment Operand=".2">
<![CDATA[E Stop Activation Input Status]]>
</Comment>
<Comment Operand=".3">
<![CDATA[Motor Faulted Input Status]]>
</Comment>
<Comment Operand=".4">
<![CDATA[OK To Run Input Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="Ready_To_Receive_Tag" TagType="Base" DataType="DINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".0">
<![CDATA[Ready To Receive From Customer Ouput Status]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Communication from Ethernet Faulted]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="MSG_Timer" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,500,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="500"/>
<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="asdasd" 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="Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Statuses_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Ready_to_Receive_Source_Elem" DataType="STRING" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00']]]>
</DefaultData>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Interlock" 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="EstoppedLatch" 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="Statuses" DataType="UDT_CTRL_FMH_EXTENDO_STS" ExternalAccess="None">
<Comments>
<Comment Operand=".INTERLOCK">
<![CDATA[Downstream conveyor is running]]>
</Comment>
</Comments>
<DefaultData Format="L5K">
<![CDATA[[0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Structure DataType="UDT_CTRL_FMH_EXTENDO_STS">
<DataValueMember Name="Belt_Running" DataType="BOOL" Value="0"/>
<DataValueMember Name="PLC_Ready_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="EStop" DataType="BOOL" Value="0"/>
<DataValueMember Name="Motor_Fault" DataType="BOOL" Value="0"/>
<DataValueMember Name="OK_To_Run" DataType="BOOL" Value="0"/>
<DataValueMember Name="Ready_To_Recieve" DataType="BOOL" Value="0"/>
<DataValueMember Name="Interlock" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[The AOI Communicates with Extendo via Statuses_Read_MSG and Ready_To_Receive_Write_MSG.
Read bits are stored locally in Status_Tag:
0 stores Belt Running bit
1 stores PLC ready to run / No faults status
2 stores E-Stop status
3 stores Motor Fault status
4 stores Okay To Run status
Write bit is sent in Ready To Receive From Customer depending on interlock status
Ethernet Communication Faulted status is received from DPM and is checked before assigning statuses
E-stop status is transferred into MCM
Motor Fault and E-stop are Sent to HMI Alarm system
stored statuses are sent o HMI and HMI State is modified according to them:
Belt_Running sets HMI.State to 0
Okay To Run sets HMI.State to 1
PLC Ready To Run sets HMI.State to 2
Ready To Receive Customer Sets HMI.State to 3
Motor Fault Sets HMI.State to 4
E-Stop Sets HMI.State to 5]]>
</Comment>
<Text>
<![CDATA[XIO(MSG_Timer.DN)TON(MSG_Timer,?,?);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[[MOVE(1,Statuses_Read_MSG.REQ_LEN) COP(Statuses_Source_Elem,Statuses_Read_MSG.RemoteElement,1) COP(IP,Statuses_Read_MSG.Path,1) ,MOVE(1,Ready_To_Receive_Write_MSG.REQ_LEN) COP(Ready_to_Receive_Source_Elem,Ready_To_Receive_Write_MSG.RemoteElement,1) COP(IP,Ready_To_Receive_Write_MSG.Path,1) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(MSG_Timer.DN)MSG(Statuses_Read_MSG);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Interlock)[OTE(Interlock) ,OTE(CTRL.STS.Interlock) ];]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Interlock)XIC(MSG_Timer.DN)MSG(Ready_To_Receive_Write_MSG);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.1)XIO(Communication_Faulted)OTE(Statuses.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.2)XIO(Communication_Faulted)OTE(Statuses.EStop);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.3)XIO(Communication_Faulted)OTE(Statuses.Motor_Fault);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(Statuses_Tag.4)XIO(Communication_Faulted)OTE(Statuses.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(Ready_To_Receive_Tag.0)XIO(Communication_Faulted)OTE(Statuses.Ready_To_Recieve);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(MCM.CMD.EStop_Actuated);]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)OTE(HMI.Belt_Running);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)OTE(HMI.OK_To_Run);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)OTE(HMI.PLC_Ready_To_Run);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)OTE(HMI.Ready_To_Receive);]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)OTE(HMI.Alarms.Motor_Faulted);]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)OTE(HMI.Alarms.E_Stop);]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[XIC(Statuses.Belt_Running)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Text>
<![CDATA[XIC(Statuses.OK_To_Run)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Text>
<![CDATA[XIC(Statuses.PLC_Ready_To_Run)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(Statuses.Ready_To_Recieve)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Text>
<![CDATA[XIC(Statuses.Motor_Fault)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[XIC(Statuses.EStop)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Text>
<![CDATA[MOVE(1,HMI.EX_Type);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_HMI_FMH_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
<Dependency Type="DataType" Name="UDT_CTRL_FMH_EXTENDO_STS"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>