refactored plc code

This commit is contained in:
Salijoghli 2025-06-13 13:16:36 +04:00
parent b4e5bcc01e
commit d10413d665

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="BaseProgram" TargetType="Controller" ContainsContext="false" ExportDate="Fri Jun 13 12:10:57 2025" ExportOptions="NoRawData L5KData DecoratedData ForceProtectedEncoding AllProjDocTrans"> <RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="BaseProgram" TargetType="Controller" ContainsContext="false" ExportDate="Fri Jun 13 13:14:48 2025" ExportOptions="NoRawData L5KData DecoratedData ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Target" Name="BaseProgram" ProcessorType="Emulate 5570" MajorRev="36" MinorRev="11" TimeSlice="20" ShareUnusedTimeSlice="1" ProjectCreationDate="Fri Jun 13 11:40:48 2025" LastModifiedDate="Fri Jun 13 12:09:51 2025" SFCExecutionControl="CurrentActive" SFCRestartPosition="MostRecent" <Controller Use="Target" Name="BaseProgram" ProcessorType="Emulate 5570" MajorRev="36" MinorRev="11" TimeSlice="20" ShareUnusedTimeSlice="1" ProjectCreationDate="Fri Jun 13 11:40:48 2025" LastModifiedDate="Fri Jun 13 13:14:35 2025" SFCExecutionControl="CurrentActive" SFCRestartPosition="MostRecent"
SFCLastScan="DontScan" ProjectSN="16#7024_3ff1" MatchProjectToController="false" CanUseRPIFromProducer="false" InhibitAutomaticFirmwareUpdate="0" PassThroughConfiguration="EnabledWithAppend" DownloadProjectDocumentationAndExtendedProperties="true" DownloadProjectCustomProperties="true" ReportMinorOverflow="false"> SFCLastScan="DontScan" ProjectSN="16#7024_3ff1" MatchProjectToController="false" CanUseRPIFromProducer="false" InhibitAutomaticFirmwareUpdate="0" PassThroughConfiguration="EnabledWithAppend" DownloadProjectDocumentationAndExtendedProperties="true" DownloadProjectCustomProperties="true" ReportMinorOverflow="false">
<RedundancyInfo Enabled="false" KeepTestEditsOnSwitchOver="false" IOMemoryPadPercentage="90" DataTablePadPercentage="50"/> <RedundancyInfo Enabled="false" KeepTestEditsOnSwitchOver="false" IOMemoryPadPercentage="90" DataTablePadPercentage="50"/>
<Security Code="0" ChangesToDetect="16#ffff_ffff_ffff_ffff"/> <Security Code="0" ChangesToDetect="16#ffff_ffff_ffff_ffff"/>
@ -14,12 +14,7 @@
<![CDATA[Conveyor]]> <![CDATA[Conveyor]]>
</Description> </Description>
</Member> </Member>
<Member Name="Disabled" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write"> <Member Name="Full" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[PE]]>
</Description>
</Member>
<Member Name="Full" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write">
<Description> <Description>
<![CDATA[Conveyor]]> <![CDATA[Conveyor]]>
</Description> </Description>
@ -3159,6 +3154,14 @@ NEEDS CLARIFICATION]]>
</AddOnInstructionDefinition> </AddOnInstructionDefinition>
</AddOnInstructionDefinitions> </AddOnInstructionDefinitions>
<Tags> <Tags>
<Tag Name="Can_Run_UP_OIP" TagType="Base" DataType="BOOL" Radix="Decimal" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[1]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
</Data>
</Tag>
<Tag Name="fio" TagType="Base" DataType="UDT_AOI_SIO_FIO" Constant="false" ExternalAccess="Read/Write"> <Tag Name="fio" TagType="Base" DataType="UDT_AOI_SIO_FIO" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K"> <Data Format="L5K">
<![CDATA[[[1,0,[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' <![CDATA[[[1,0,[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'
@ -3377,7 +3380,6 @@ NEEDS CLARIFICATION]]>
<StructureMember Name="HMI" DataType="UDT_HMI_PE"> <StructureMember Name="HMI" DataType="UDT_HMI_PE">
<StructureMember Name="Alarm" DataType="UDT_ALARMS_PE"> <StructureMember Name="Alarm" DataType="UDT_ALARMS_PE">
<DataValueMember Name="Jammed" DataType="BOOL" Value="1"/> <DataValueMember Name="Jammed" DataType="BOOL" Value="1"/>
<DataValueMember Name="Disabled" DataType="BOOL" Value="0"/>
<DataValueMember Name="Full" DataType="BOOL" Value="0"/> <DataValueMember Name="Full" DataType="BOOL" Value="0"/>
</StructureMember> </StructureMember>
<DataValueMember Name="TimeOut" DataType="DINT" Radix="Decimal" Value="5"/> <DataValueMember Name="TimeOut" DataType="DINT" Radix="Decimal" Value="5"/>
@ -3404,54 +3406,6 @@ NEEDS CLARIFICATION]]>
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/> <DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
</Data> </Data>
</Tag> </Tag>
<Tag Name="FL2078_2_JPE2" TagType="Base" DataType="UDT_AOI_JPE" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[[[1,[0,0,0],[1,0,0,[0,0,0],[0,0,0]],[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'
],[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'
],[0,0,0]],[[0],0],[[0],[0]]]]]>
</Data>
<Data Format="Decorated">
<Structure DataType="UDT_AOI_JPE">
<StructureMember Name="AOI" DataType="AOI_JPE">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="0"/>
<DataValueMember Name="In_Clear" DataType="BOOL" Value="0"/>
<DataValueMember Name="Blocked" DataType="BOOL" Value="0"/>
<DataValueMember Name="Jammed" DataType="BOOL" Value="0"/>
<DataValueMember Name="Disabled" DataType="BOOL" Value="0"/>
<DataValueMember Name="Can_Run_Up" DataType="BOOL" Value="0"/>
<DataValueMember Name="Run_Up" DataType="BOOL" Value="0"/>
</StructureMember>
<StructureMember Name="HMI" DataType="UDT_HMI_PE">
<StructureMember Name="Alarm" DataType="UDT_ALARMS_PE">
<DataValueMember Name="Jammed" DataType="BOOL" Value="0"/>
<DataValueMember Name="Disabled" DataType="BOOL" Value="0"/>
<DataValueMember Name="Full" DataType="BOOL" Value="0"/>
</StructureMember>
<DataValueMember Name="TimeOut" DataType="DINT" Radix="Decimal" Value="0"/>
</StructureMember>
<StructureMember Name="CTRL" DataType="UDT_CTRL_PE">
<StructureMember Name="CMD" DataType="UDT_CTRL_PE_CMD">
<DataValueMember Name="Dynamic_Jam" DataType="BOOL" Value="0"/>
</StructureMember>
<StructureMember Name="STS" DataType="UDT_CTRL_PE_STS">
<DataValueMember Name="Blocked" DataType="BOOL" Value="0"/>
<DataValueMember Name="Jammed" DataType="BOOL" Value="0"/>
<DataValueMember Name="Full" DataType="BOOL" Value="0"/>
<DataValueMember Name="Chute_Roller_PE" DataType="BOOL" Value="0"/>
</StructureMember>
</StructureMember>
</Structure>
</Data>
</Tag>
<Tag Name="FL2078_2_JPE2_OIP" TagType="Base" DataType="BOOL" Radix="Decimal" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[0]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</Data>
</Tag>
<Tag Name="FL2078_2_JR_PB1" TagType="Base" DataType="UDT_AOI_STATION_JR_PB" Constant="false" ExternalAccess="Read/Write"> <Tag Name="FL2078_2_JR_PB1" TagType="Base" DataType="UDT_AOI_STATION_JR_PB" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K"> <Data Format="L5K">
<![CDATA[[[1,0,[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' <![CDATA[[[1,0,[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'
@ -3781,6 +3735,14 @@ NEEDS CLARIFICATION]]>
</Structure> </Structure>
</Data> </Data>
</Tag> </Tag>
<Tag Name="FL2078_3_JPE1_OIP" TagType="Base" DataType="BOOL" Radix="Decimal" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[0]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</Data>
</Tag>
<Tag Name="FL2078_3_OIP" TagType="Base" DataType="REAL" Radix="Float" Constant="false" ExternalAccess="Read/Write"> <Tag Name="FL2078_3_OIP" TagType="Base" DataType="REAL" Radix="Float" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K"> <Data Format="L5K">
<![CDATA[2.00000000e+000]]> <![CDATA[2.00000000e+000]]>
@ -3978,51 +3940,10 @@ NEEDS CLARIFICATION]]>
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/> <DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</Data> </Data>
</Tag> </Tag>
<Tag Name="Run_Interlock" TagType="Base" DataType="BOOL" Radix="Decimal" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[1]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
</Data>
</Tag>
<Tag Name="Run_Until_Discharge_Blocked" TagType="Base" DataType="BOOL" Radix="Decimal" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[1]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
</Data>
</Tag>
</Tags> </Tags>
<Programs> <Programs>
<Program Name="MainProgram" TestEdits="false" MainRoutineName="MainRoutine" Disabled="false" UseAsFolder="false"> <Program Name="MainProgram" TestEdits="false" MainRoutineName="MainRoutine" Disabled="false" UseAsFolder="false">
<Tags> <Tags/>
<Tag Name="NO" TagType="Base" DataType="BOOL" Radix="Decimal" Constant="true" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[0]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</Data>
</Tag>
<Tag Name="OIP_CON2" TagType="Base" DataType="REAL" Radix="Float" Constant="false" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[0.00000000e+000]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="REAL" Radix="Float" Value="0.0"/>
</Data>
</Tag>
<Tag Name="YES" TagType="Base" DataType="BOOL" Radix="Decimal" Constant="true" ExternalAccess="Read/Write">
<Data Format="L5K">
<![CDATA[1]]>
</Data>
<Data Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
</Data>
</Tag>
</Tags>
<Routines> <Routines>
<Routine Name="MainRoutine" Type="RLL"> <Routine Name="MainRoutine" Type="RLL">
<RLLContent> <RLLContent>
@ -4043,47 +3964,32 @@ NEEDS CLARIFICATION]]>
</Rung> </Rung>
<Rung Number="3" Type="N"> <Rung Number="3" Type="N">
<Text> <Text>
<![CDATA[XIC(Run_Interlock)MOVE(2,FL2078_3_OIP)MOVE(3,FL2078_3_VFD1.HMI.STATE);]]> <![CDATA[XIC(FL2078_3_JPE1_OIP)MOVE(2,FL2078_3_OIP)MOVE(3,FL2078_3_VFD1.HMI.STATE);]]>
</Text> </Text>
</Rung> </Rung>
<Rung Number="4" Type="N"> <Rung Number="4" Type="N">
<Text> <Text>
<![CDATA[XIO(Run_Interlock)MOVE(0,FL2078_3_OIP)MOVE(0,FL2078_3_VFD1.HMI.STATE);]]> <![CDATA[XIO(FL2078_3_JPE1_OIP)MOVE(0,FL2078_3_OIP)MOVE(0,FL2078_3_VFD1.HMI.STATE);]]>
</Text> </Text>
</Rung> </Rung>
<Rung Number="5" Type="N"> <Rung Number="5" Type="N">
<Text> <Text>
<![CDATA[XIO(FL2078_2_VFD1.CTRL.CMD.Jammed)XIC(FL2078_2_VFD1.CTRL.STS.MCM_Started)OTE(Run_Conveyor);]]> <![CDATA[XIO(FL2078_2_VFD1.CTRL.CMD.Jammed)XIC(FL2078_2_VFD1.CTRL.STS.MCM_Started)[XIC(FL2078_2_VFD1.CTRL.CMD.Run_Up_Enabled) ,XIC(FL2078_2_VFD1.CTRL.STS.Interlock) ]OTE(Run_Conveyor);]]>
</Text> </Text>
</Rung> </Rung>
<Rung Number="6" Type="N"> <Rung Number="6" Type="N">
<Text> <Text>
<![CDATA[XIC(FL2078_2_VFD1.CTRL.CMD.Jammed)OTE(Run_Until_Discharge_Blocked);]]> <![CDATA[XIC(MCM_OIP)OTE(FL2078_2_VFD1.CTRL.STS.MCM_Started)OTE(FL2078_3_VFD1.CTRL.STS.MCM_Started);]]>
</Text> </Text>
</Rung> </Rung>
<Rung Number="7" Type="N"> <Rung Number="7" Type="N">
<Text> <Text>
<![CDATA[XIC(Run_Until_Discharge_Blocked)OTE(FL2078_2_VFD1.CTRL.STS.Interlock);]]> <![CDATA[XIC(Jam_PB_OIP)XIC(FL2078_2_JPE1_OIP)OTE(FL2078_2_JR_PB2.CTRL.STS.Start)OTU(FL2078_2_VFD1.CTRL.CMD.Jammed);]]>
</Text> </Text>
</Rung> </Rung>
<Rung Number="8" Type="N"> <Rung Number="8" Type="N">
<Text> <Text>
<![CDATA[XIC(FL2078_3_VFD1.CTRL.STS.MCM_Started)XIC(FL2078_2_VFD1.CTRL.STS.Interlock)OTE(Run_Interlock);]]> <![CDATA[OTU(FL2078_2_VFD1.CTRL.CMD.Run_Up_Enabled)OTE(FL2078_2_VFD1.CTRL.STS.Interlock);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[[XIC(FL2078_2_JPE2_OIP) ,XIO(FL2078_3_VFD1.CTRL.STS.MCM_Started) ]XIC(FL2078_2_VFD1.CTRL.CMD.Jammed)OTU(Run_Interlock);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(MCM_OIP)OTE(FL2078_2_VFD1.CTRL.STS.MCM_Started)OTE(FL2078_3_VFD1.CTRL.STS.MCM_Started);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(Jam_PB_OIP)XIC(FL2078_2_JPE1_OIP)OTE(FL2078_2_JR_PB2.CTRL.STS.Start)OTU(FL2078_2_VFD1.CTRL.CMD.Jammed);]]>
</Text> </Text>
</Rung> </Rung>
</RLLContent> </RLLContent>
@ -4092,7 +3998,7 @@ NEEDS CLARIFICATION]]>
<RLLContent> <RLLContent>
<Rung Number="0" Type="N"> <Rung Number="0" Type="N">
<Text> <Text>
<![CDATA[AOI_JPE(FL2078_2_JPE1.AOI,FL2078_2_JPE1.HMI,FL2078_2_JPE1.CTRL,FL2078_2_VFD1.CTRL,FL2078_2_JR_PB2.CTRL,fio.CTRL,FL2078_2_JPE1_OIP,Run_Until_Discharge_Blocked,FL2078_2_BCN_OIP.0);]]> <![CDATA[AOI_JPE(FL2078_2_JPE1.AOI,FL2078_2_JPE1.HMI,FL2078_2_JPE1.CTRL,FL2078_2_VFD1.CTRL,FL2078_2_JR_PB2.CTRL,fio.CTRL,FL2078_2_JPE1_OIP,Can_Run_UP_OIP,FL2078_2_BCN_OIP.0);]]>
</Text> </Text>
</Rung> </Rung>
</RLLContent> </RLLContent>