Update JR_PB

This commit is contained in:
b.makharadze 2025-07-30 18:21:37 +04:00
parent cf53221c63
commit 809d05c99c
10 changed files with 6386 additions and 2274 deletions

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="Tue Jul 29 14:17:32 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="Tue Jul 29 14:17:29 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>

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,137 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--JAM RESET STATION PUSH BUTTON
-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_STATION_JR_PB" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-06-18T18:07:46.483Z" ContainsContext="true" ExportDate="Wed Jun 18 22:45:01 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_STATION_JR_PB" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-07-29T10:10:56.630Z" ContainsContext="true" ExportDate="Tue Jul 29 14:17:23 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Name="UDT_ALARMS_STATION" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="EStopped" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Emergency Stopped]]>
</Description>
</Member>
<Member Name="Stopped" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Stopped]]>
</Description>
</Member>
<Member Name="Pressed" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Button Pressed]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_CTRL_STATION" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_STATION_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STS" DataType="UDT_CTRL_STATION_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_STATION_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_STATION_STS"/>
</Dependencies>
</DataType>
<DataType Name="UDT_CTRL_STATION_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_S0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Jammed" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor]]>
</Description>
</Member>
<Member Name="EStop_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Emergency Stop Actuated]]>
</Description>
</Member>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Log]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_CTRL_STATION_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_S0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Start" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Start command For/From Partner Stations]]>
</Description>
</Member>
<Member Name="Stop" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Stop command For/From Partner Stations]]>
</Description>
</Member>
<Member Name="EStop_Was_Actuated" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Emergency Stop was Actuated]]>
</Description>
</Member>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Log]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZUDT_CTRL_S5" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="PB_LT" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S5" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[PushButton Light For/From Partner Stations]]>
</Description>
</Member>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S5" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Jammed]]>
</Description>
</Member>
<Member Name="Jam_Reset" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S5" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset Command For/From Partner Stations]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="UDT_HMI_STATION" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarm" DataType="UDT_ALARMS_STATION" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Station Alarms]]>
</Description>
</Member>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Start Color]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZUDT_HMI_ST2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="JR_PB" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_ST2" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset PushButton (HMI)]]>
</Description>
</Member>
<Member Name="Start_PB" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_ST2" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Start PushButton (HMI)]]>
</Description>
</Member>
<Member Name="Stop_PB" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_HMI_ST2" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Stop PushButton (HMI)]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_STATION"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_STATION_JR_PB" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2011-11-21T15:10:22.337Z" CreatedBy="Not Available" EditedDate="2025-06-18T18:07:46.483Z" EditedBy="LCIBATUMI\gigi.mamaladze"
<AddOnInstructionDefinition Use="Target" Name="AOI_STATION_JR_PB" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2011-11-21T15:10:22.337Z" CreatedBy="Not Available" EditedDate="2025-07-29T10:10:56.630Z" EditedBy="LCIBATUMI\beka.makharadze"
SoftwareRevision="v36.00">
<Description>
<![CDATA[JAM RESET STATION PUSH BUTTON
@ -24,11 +151,13 @@
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Partner" TagType="Base" DataType="UDT_CTRL_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Motor" TagType="Base" DataType="UDT_CTRL_VFD" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="JR_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset PushButton Input (NO)]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -37,6 +166,9 @@
<Description>
<![CDATA[Jam Reset PushButton Light Output]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -47,14 +179,17 @@
<Description>
<![CDATA[To prevent the Lathing of Start Signal between Partner Stations]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Jammed" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Conveyor Jammed]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -63,11 +198,17 @@
<Description>
<![CDATA[String contains ""]]>
</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="ONS_Diagnostic_Alram" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -77,6 +218,53 @@
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Station Jam-Reset Push-Button (GEM Reset)
This module handles the local Jam-Reset push-button (JR PB) and its HMI counterpart.
Jam indication When the upstream controller asserts CTRL.CMD.Jammed the lamp coil JR_PB_LT_O turns on and the status bit CTRL.STS.JR_PB_LT is echoed to the partner conveyor so everyone sees that a jam must be cleared.
Reset action A one-shot examines three parallel reset sources:
physical JR_PB_I,
HMI.JR_PB,
Partner.STS.Jam_Reset (reset requested from the adjacent conveyor).
On the rising edge it pulses CTRL.STS.Jam_Reset for one scan and clears the HMI command bit; this pulse lets the downstream AOI retract its photo-eye and clear the jam.
Lamp control The lamp is solid while CTRL.CMD.Jammed is true; once the jam clears the lamp drops.
Button states for HMI.STATE
0 idle, lamp off1 idle, lamp on
2 pressed, lamp on3 pressed, lamp off
The pressed states win if both conditions are true simultaneously.
Alarm When the physical push-button is pressed the AOI sets HMI.Alarm.Pressed so the operator log shows the event.
After every cycle the AOI clears CTRL.CMD.Jammed and blanks CTRL.CMD.Log so a new jam can generate a fresh log entry.
Command bits (received)
CTRL.CMD.Log
CTRL.CMD.Jammed
HMI.JR_PB
Partner.STS.Jam_Reset
Partner.STS.JR_PB_LT
Status bits (set)
CTRL.STS.Log
CTRL.STS.Jam_Reset
CTRL.STS.JR_PB_LT
JR_PB_LT_O (lamp output)
Jammed (local copy of CTRL.CMD.Jammed)
HMI bits
HMI.JR_PB (command)
HMI.STATE (0, 1, 2, 3 as above)
HMI.Alarm.Pressed (set while JR_PB_I is true)
Alarm bits
HMI.Alarm.Pressed is raised whenever the physical Jam-Reset push-button is pressed.
]]>
</Comment>
<Text>
<![CDATA[COP(CTRL.CMD.Log,CTRL.STS.Log,1);]]>
</Text>
@ -88,7 +276,7 @@
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[[XIC(CTRL.CMD.Jammed) ,XIO(Jammed) XIC(Partner.STS.JR_PB_LT) ]OTE(CTRL.STS.JR_PB_LT)OTE(JR_PB_LT_O);]]>
<![CDATA[[XIC(CTRL.CMD.Jammed) ,XIO(Jammed) XIC(Partner.STS.PB_LT) ][OTE(JR_PB_LT_O) ,OTE(CTRL.STS.PB_LT) ];]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
@ -107,10 +295,15 @@
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIC(JR_PB_I)OTE(HMI.Alarm.Pressed);]]>
<![CDATA[XIO(JR_PB_I)MOVE(0,HMI.Alarm.Pressed);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(JR_PB_I)MOVE(1,HMI.Alarm.Pressed);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Comment>
<![CDATA[Colors of Animation
]]>
@ -119,7 +312,7 @@
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Rung Number="8" Type="N">
<Comment>
<![CDATA[Gray
]]>
@ -128,7 +321,7 @@
<![CDATA[XIO(JR_PB_LT_O)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Rung Number="9" Type="N">
<Comment>
<![CDATA[White
]]>
@ -137,7 +330,7 @@
<![CDATA[XIC(JR_PB_LT_O)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Rung Number="10" Type="N">
<Comment>
<![CDATA[Yellow
]]>
@ -146,7 +339,7 @@
<![CDATA[XIO(JR_PB_LT_O)[XIC(JR_PB_I) ,XIC(HMI.JR_PB) ]MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Rung Number="11" Type="N">
<Comment>
<![CDATA[Green
]]>
@ -155,7 +348,7 @@
<![CDATA[XIC(JR_PB_LT_O)[XIC(JR_PB_I) ,XIC(HMI.JR_PB) ]MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Rung Number="12" Type="N">
<Text>
<![CDATA[COP(Empty_String,CTRL.CMD.Log,1)OTU(CTRL.CMD.Jammed);]]>
</Text>
@ -180,7 +373,6 @@
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_STATION"/>
<Dependency Type="DataType" Name="UDT_HMI_STATION"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>

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,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="Tue Jul 29 14:17:10 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

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_STATION" TargetType="DataType" ContainsContext="true" ExportDate="Wed Jun 18 22:45:25 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_STATION" TargetType="DataType" ContainsContext="true" ExportDate="Tue Jul 29 14:16:20 2025" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_STATION" Family="NoFamily" Class="User">
@ -15,7 +15,7 @@
<![CDATA[Conveyor Stopped]]>
</Description>
</Member>
<Member Name="Pressed" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write">
<Member Name="Pressed" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Button Pressed]]>
</Description>
@ -88,9 +88,9 @@
</Description>
</Member>
<Member Name="ZZZZZZZZZZUDT_CTRL_S5" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="JR_PB_LT" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S5" BitNumber="0" ExternalAccess="Read/Write">
<Member Name="PB_LT" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S5" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset Push Button Light]]>
<![CDATA[PushButton Light For/From Partner Stations]]>
</Description>
</Member>
<Member Name="Jam_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S5" BitNumber="1" ExternalAccess="Read/Write">
@ -133,11 +133,258 @@
<![CDATA[Stop PushButton (HMI)]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_STATION"/>
</Dependencies>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Name="AOI_STATION_JR_PB" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2011-11-21T15:10:22.337Z" CreatedBy="Not Available" EditedDate="2025-07-29T10:10:56.630Z" EditedBy="LCIBATUMI\beka.makharadze" SoftwareRevision="v36.00"
>
<Description>
<![CDATA[JAM RESET STATION PUSH BUTTON
]]>
</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_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Partner" TagType="Base" DataType="UDT_CTRL_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="JR_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset PushButton Input (NO)]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="JR_PB_LT_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Jam Reset PushButton Light Output]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="ONS" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[To prevent the Lathing of Start Signal between Partner Stations]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Jammed" 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="Empty_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains ""]]>
</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="ONS_Diagnostic_Alram" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Station Jam-Reset Push-Button (GEM Reset)
This module handles the local Jam-Reset push-button (JR PB) and its HMI counterpart.
Jam indication When the upstream controller asserts CTRL.CMD.Jammed the lamp coil JR_PB_LT_O turns on and the status bit CTRL.STS.JR_PB_LT is echoed to the partner conveyor so everyone sees that a jam must be cleared.
Reset action A one-shot examines three parallel reset sources:
physical JR_PB_I,
HMI.JR_PB,
Partner.STS.Jam_Reset (reset requested from the adjacent conveyor).
On the rising edge it pulses CTRL.STS.Jam_Reset for one scan and clears the HMI command bit; this pulse lets the downstream AOI retract its photo-eye and clear the jam.
Lamp control The lamp is solid while CTRL.CMD.Jammed is true; once the jam clears the lamp drops.
Button states for HMI.STATE
0 idle, lamp off1 idle, lamp on
2 pressed, lamp on3 pressed, lamp off
The pressed states win if both conditions are true simultaneously.
Alarm When the physical push-button is pressed the AOI sets HMI.Alarm.Pressed so the operator log shows the event.
After every cycle the AOI clears CTRL.CMD.Jammed and blanks CTRL.CMD.Log so a new jam can generate a fresh log entry.
Command bits (received)
CTRL.CMD.Log
CTRL.CMD.Jammed
HMI.JR_PB
Partner.STS.Jam_Reset
Partner.STS.JR_PB_LT
Status bits (set)
CTRL.STS.Log
CTRL.STS.Jam_Reset
CTRL.STS.JR_PB_LT
JR_PB_LT_O (lamp output)
Jammed (local copy of CTRL.CMD.Jammed)
HMI bits
HMI.JR_PB (command)
HMI.STATE (0, 1, 2, 3 as above)
HMI.Alarm.Pressed (set while JR_PB_I is true)
Alarm bits
HMI.Alarm.Pressed is raised whenever the physical Jam-Reset push-button is pressed.
]]>
</Comment>
<Text>
<![CDATA[COP(CTRL.CMD.Log,CTRL.STS.Log,1);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[[XIC(JR_PB_I) ,XIC(HMI.JR_PB) ,XIC(Partner.STS.Jam_Reset) ONS(ONS.0) ]OTE(CTRL.STS.Jam_Reset)OTU(HMI.JR_PB);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[[XIC(CTRL.CMD.Jammed) ,XIO(Jammed) XIC(Partner.STS.PB_LT) ][OTE(JR_PB_LT_O) ,OTE(CTRL.STS.PB_LT) ];]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Jammed)OTE(Jammed);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Comment>
<![CDATA[Alarms
]]>
</Comment>
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIO(JR_PB_I)MOVE(0,HMI.Alarm.Pressed);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(JR_PB_I)MOVE(1,HMI.Alarm.Pressed);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Comment>
<![CDATA[Colors of Animation
]]>
</Comment>
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Comment>
<![CDATA[Gray
]]>
</Comment>
<Text>
<![CDATA[XIO(JR_PB_LT_O)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Comment>
<![CDATA[White
]]>
</Comment>
<Text>
<![CDATA[XIC(JR_PB_LT_O)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Comment>
<![CDATA[Yellow
]]>
</Comment>
<Text>
<![CDATA[XIO(JR_PB_LT_O)[XIC(JR_PB_I) ,XIC(HMI.JR_PB) ]MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Comment>
<![CDATA[Green
]]>
</Comment>
<Text>
<![CDATA[XIC(JR_PB_LT_O)[XIC(JR_PB_I) ,XIC(HMI.JR_PB) ]MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[COP(Empty_String,CTRL.CMD.Log,1)OTU(CTRL.CMD.Jammed);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[FLL(0,HMI.Alarm,1)OTU(HMI.JR_PB);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_STATION"/>
<Dependency Type="DataType" Name="UDT_HMI_STATION"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>

File diff suppressed because it is too large Load Diff