BETA

BETA

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC / OLD PLC Compare Summary

NEW Controller Chassis

CHANGES: LOGIC, UDTs, TAGs, MODULEs, PRODUCED, CONSUMED, MSGs, NODEs, DOCs
Allen‑Bradley
1756-L85E
0
1756-EN2T
1
ENET
1756-EN2T
2
ENET
SLOT 3
SLOT 4
SLOT 5
SLOT 6

WARNING:This PLC is TESTING 1 rung edit(s)! WARNING:This PLC has 1 PENDING rung edit(s)!

Slot Name Module Address Firmware
0 EP_GTG01Z1 1756-L85E 120.15.250.47 v32.12
1 ENet01 1756-EN2T 120.15.250.48 v11.3
2 ENet02 1756-EN2T 120.15.250.49 v11.3
3 Spare None
4 Spare None
5 Spare None
6 Spare None
7 Spare None




OLD Controller Chassis

CHANGES: LOGIC, UDTs, TAGs, MODULEs, PRODUCED, CONSUMED, MSGs, NODEs, DOCs
Allen‑Bradley
1756-L85E
0
1756-EN2T
1
ENET
1756-EN2T
2
ENET
SLOT 3
SLOT 4
SLOT 5
SLOT 6

Slot Name Module Address Firmware
0 EP_GTG01Z1 1756-L85E v32.11
1 ENet01 1756-EN2T 120.15.234.30 v10.1
2 ENet02 1756-EN2T 120.15.234.31 v10.1
3 Spare None
4 Spare None
5 Spare None
6 Spare None
7 Spare None

NEW PLC Program

CONFIGURATION
Controller EP_GTG01Z1 File EP_GTG01Z1_HTI_20230927_0850AM.L5K* Date 9/29/2023 9:52:15 AM*
127.00:10:16.8756926
Description GCCS Error Proofing Platform >*
DATA
UDTs 459* +23 TAGs 1940* -56
LOGIC
AOIs 61* -3 TASKs 5 PROGRAMs 13* +2 ROUTINEs 511* +19 RUNGs 7056* -246
COMMUNICATION
SLOTs 7 MODULEs 3 PRODUCED 2* +2 CONSUMED 2* +2 MESSAGEs 24* -33 NODEs 17* -75

OLD PLC Program

CONFIGURATION
Controller EP_GTG01Z1 File EP_GTG01Z1_CDE_REV05.L5K* Date 5/25/2023 9:41:58 AM*
-127.00:10:16.8756926
Description GCCS Error Proofing Platform >*
DATA
UDTs 436* -23 TAGs 1996* +56
LOGIC
AOIs 64* +3 TASKs 5 PROGRAMs 11* -2 ROUTINEs 492* -19 RUNGs 7302* +246
COMMUNICATION
SLOTs 7 MODULEs 3 PRODUCED 0* -2 CONSUMED 0* -2 MESSAGEs 57* +33 NODEs 92* +75

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | TASK: EXTENSIONS (I+C) | | | | | | | | | | { AOI } za_EPStatusBK (I) (<@VER 1.400> Err) | | | | | | | | | | Routine: Logic (I) () | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.400><@NO EDITS> <@SYS> #======================================================= # GM ERROR PROOFING BLOCK I/O IP ADDRESS # AND DIAGNOSTIC # # This instruction drives the I/O Status for a Turck TBEN-G4-16DXP. # Input: # inEnetAddressTable is always standard tag EnetAddressTableLoad # Output # devBK- Device Block IO #======================================================= <@INFO> #======================================================= # Copy Address from Standard structure #======================================================= BST MOV(in_EnetAddressTable.cfg1stIPAddressOctet,devBK.IP[0]) NXB MOV(in_EnetAddressTable.cfg2ndIPAddressOctet,devBK.IP[1]) NXB MOV(in_EnetAddressTable.cfg3rdIPAddressOctet,devBK.IP[2]) NXB MOV(in_EnetAddressTable.cfg4thIPAddressOctet,devBK.IP[3]) BND ;

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics ################################################################ XIO(devBK.I.Input00Short)XIO(devBK.I.Input01Short)XIO(devBK.I.Input02Short)XIO(devBK.I.Input03Short)XIO(devBK.I.Input04Short)XIO(devBK.I.Input05Short)XIO(devBK.I.Input06Short)XIO(devBK.I.Input07Short)OTE(devBK.InputsOK);

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics ################################################################ XIO(devBK.I.Output00Short)XIO(devBK.I.Output01Short)XIO(devBK.I.Output02Short)XIO(devBK.I.Output03Short)XIO(devBK.I.Output04Short)XIO(devBK.I.Output05Short)XIO(devBK.I.Output06Short)XIO(devBK.I.Output07Short)XIO(devBK.I.Output08Short)XIO(devBK.I.Output09Short)XIO(devBK.I.Output10Short)XIO(devBK.I.Output11Short)XIO(devBK.I.Output12Short)XIO(devBK.I.Output13Short)XIO(devBK.I.Output14Short)XIO(devBK.I.Output15Short)OTE(devBK.OutputsOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics ################################################################ XIO(devBK.I.ConfigFault)XIO(devBK.I.ForceModeActive)OTE(devBK.ConfigOK);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics ################################################################ XIC(devBK.Comm.OK)BST XIO(devBK.ConfigOK) NXB XIO(devBK.InputsOK) NXB XIO(devBK.OutputsOK) NXB XIC(devBK.I.InternalCommFlt) BND MOV(2000,devBK.FaultDelay.PRE)TON(devBK.FaultDelay,0,0);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Input Output Block Faults . # ################################################################ BST XIC(in_ENetComOK) XIC(in_PWSACPowerON) BST XIO(devBK.Comm.OK) NXB XIC(devBK.Comm.FltMem) XIO(in_FaultReset) BND OTE(devBK.Comm.FltMem) NXB BST XIC(devBK.FaultDelay.DN) XIO(devBK.InputsOK) NXB XIC(devBK.InputFltMem) XIO(in_FaultReset) BND OTE(devBK.InputFltMem) NXB BST XIC(devBK.FaultDelay.DN) XIO(devBK.OutputsOK) NXB XIC(devBK.OutputFltMem) XIO(in_FaultReset) BND OTE(devBK.OutputFltMem) BND ;

| | | | | { AOI } za_EPTask (I+C) (<@VER 1.420> Err) | | | | | | | | | | Routine: EnableInFalse (I+C) () | | | | |
0 <------- EDITED (I+C) ------> 0 | | | | |
NEW RUNG

<@VER 1.420><@NO EDITS> <@SYS> #======================================================= # ERROR PROOFING TASK CONTROL AOI # # This instruction sets & resets the behavior statuses for this # Error Proofing Task, except for the In Progress, Complete & # Bad Build Data statuses, which are set in the tool action AOI. # Last Update March 22 2023 #======================================================= <@INFO> #======================================================= # If Task Number = 0, disable the Task and end the AOI (Task not assigned) #======================================================= BST LEQ(in_ConfigFPTask.Number,0) NXB XIC(in_ConfigFPTask.DisableTask) XIO(inoTask.Status.RTEnable) BND BST XIO(inoTask.Status.Disabled) FLL(0,inoTask,1) BST OTU(WorkRequired) OTU(PrerequisitesComplete) OTU(ActionComplete) NXB OTU(WorkEnabled) OTU(InProgress) OTU(WorkComplete) BND NXB OTE(inoTask.Status.Disabled) OTU(WorkRequiredMem) BND JMP(End);

OLD RUNG

<@VER 1.413><@NO EDITS> <@SYS> #======================================================= # ERROR PROOFING TASK CONTROL AOI # # This instruction sets & resets the behavior statuses for this # Error Proofing Task, except for the In Progress, Complete & # Bad Build Data statuses, which are set in the tool action AOI. # Last Update February 18 2021 #======================================================= <@INFO> #======================================================= # If Task Number = 0, disable the Task and end the AOI (Task not assigned) #======================================================= BST LEQ(in_ConfigFPTask.Number,0) NXB XIC(in_ConfigFPTask.DisableTask) XIO(inoTask.Status.RTEnable) BND BST XIO(inoTask.Status.Disabled) FLL(0,inoTask,1) MOV(1,inoFPStatusEPA.Status) BST OTU(WorkRequired) OTU(PrerequisitesComplete) OTU(ActionComplete) NXB OTU(WorkEnabled) OTU(InProgress) OTU(WorkComplete) BND NXB OTE(inoTask.Status.Disabled) OTU(WorkRequiredMem) MOV(1,inoFPStatusEPA.Type) BND JMP(End);

17 <------- EDITED (I) --------> 17 | | | | |
NEW RUNG

<@INFO> #======================================================= # Set the Error Proofing Action HMI Status #======================================================= BST MOV(1,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.RTEnable) MOV(11,inoFPStatusEPA.Status) NXB XIO(inoTask.Status.WorkRequired) XIO(inoTask.Status.Disabled) GEQ(tagConvStatus.PercentTravel,in_ConfigFPTask.StartTravel) MOV(2,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.InProgress) MOV(3,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WorkComplete) MOV(4,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WarningPoint) MOV(5,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Fail) MOV(6,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.FPS) MOV(7,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Bypassed) BST BST XIC(inoTask.Status.KSBypass) NXB EQU(inoFPStatusEPA.Status,8) BND MOV(8,inoFPStatusEPA.Status) NXB BST XIC(inoTask.Status.RTBypass) NXB EQU(inoFPStatusEPA.Status,9) BND MOV(9,inoFPStatusEPA.Status) BND NXB XIC(inoTask.Status.Released) MOV(10,inoFPStatusEPA.Status) BND ;

OLD RUNG

<@INFO> #======================================================= # Set the Error Proofing Action HMI Status #======================================================= BST MOV(1,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.RTEnable) MOV(11,inoFPStatusEPA.Status) NXB XIO(inoTask.Status.WorkRequired) GEQ(tagConvStatus.PercentTravel,in_ConfigFPTask.StartTravel) MOV(2,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.InProgress) MOV(3,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WorkComplete) MOV(4,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WarningPoint) MOV(5,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Fail) MOV(6,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.FPS) MOV(7,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Bypassed) BST BST XIC(inoTask.Status.KSBypass) NXB EQU(inoFPStatusEPA.Status,8) BND MOV(8,inoFPStatusEPA.Status) NXB BST XIC(inoTask.Status.RTBypass) NXB EQU(inoFPStatusEPA.Status,9) BND MOV(9,inoFPStatusEPA.Status) BND NXB XIC(inoTask.Status.Released) MOV(10,inoFPStatusEPA.Status) BND ;

19 <------- EDITED (I+C) ------> 19 |████████████ | |
NEW RUNG

<@INFO> #======================================================= # Task Intrnal Memory For Task Being Not Active at Current FP # Used for Hard Hold No Action Report # Reset Key Switch data #======================================================= BST XIC(tagConvStatus.LeavingFPS) OTL(NoActionMem) NXB OTU(inoTask.Status.KSBypass) OTU(inoTask.Status.KSRelease) BND ;

OLD RUNG

<@INFO> #======================================================= # Task Intrnal Memory For Task Being Not Active at Current FP # Used for Hard Hold No Action Report #======================================================= XIC(tagConvStatus.LeavingFPS)OTL(NoActionMem);

| | | | | Routine: Logic (I+C) () | | | | |
0 <------- EDITED (I+C) ------> 0 | | | | |
NEW RUNG

<@VER 1.420><@NO EDITS> <@SYS> #======================================================= # ERROR PROOFING TASK CONTROL AOI # # This instruction sets & resets the behavior statuses for this # Error Proofing Task, except for the In Progress, Complete & # Bad Build Data statuses, which are set in the tool action AOI. # Last Update May 16 2023 #======================================================= <@INFO> #======================================================= # If Task Number = 0, disable the Task and end the AOI (Task not assigned) # Set the Error Proofing Action Type =1 if disabled. #======================================================= BST LEQ(in_ConfigFPTask.Number,0) NXB XIC(in_ConfigFPTask.DisableTask) XIO(inoTask.Status.RTEnable) BND BST XIO(inoTask.Status.Disabled) FLL(0,inoTask,1) BST OTU(WorkRequired) OTU(PrerequisitesComplete) OTU(ActionComplete) NXB OTU(WorkEnabled) OTU(InProgress) OTU(WorkComplete) BND NXB OTE(inoTask.Status.Disabled) BND JMP(End);

OLD RUNG

<@VER 1.416.1><@NO EDITS> <@SYS> #======================================================= # ERROR PROOFING TASK CONTROL AOI # # This instruction sets & resets the behavior statuses for this # Error Proofing Task, except for the In Progress, Complete & # Bad Build Data statuses, which are set in the tool action AOI. # Last Update December 01 2021 #======================================================= <@INFO> #======================================================= # If Task Number = 0, disable the Task and end the AOI (Task not assigned) # Set the Error Proofing Action Type =1 if disabled. #======================================================= BST LEQ(in_ConfigFPTask.Number,0) NXB XIC(in_ConfigFPTask.DisableTask) XIO(inoTask.Status.RTEnable) BND BST XIO(inoTask.Status.Disabled) FLL(0,inoTask,1) MOV(1,inoFPStatusEPA.Status) BST OTU(WorkRequired) OTU(PrerequisitesComplete) OTU(ActionComplete) NXB OTU(WorkEnabled) OTU(InProgress) OTU(WorkComplete) BND NXB OTE(inoTask.Status.Disabled) MOV(1,inoFPStatusEPA.Type) BND JMP(End);

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> #======================================================= # Determine Key Switch Hardware Option #======================================================= XIC(inoTask.Status.KSBypass)XIC(inoTask.Status.KSRelease)OTE(OneInKS);

5 <------- EDITED (I) --------> 6 |████| | | |
NEW RUNG

<@INFO> #======================================================= # Job Release Request #======================================================= BST BST XIC(inoTask.Status.KSRelease) NXB XIC(inoTask.Status.RTRelease) BND XIC(inoTask.Status.PrerequisitesComplete) NXB BST XIC(inoTask.Status.KSBypass) NXB XIC(inoTask.Status.RTBypass) BND NXB XIC(tagConvStatus.LeavingFPS) XIC(inoTask.Status.Fail) NXB EQU(in_ConfigFPTask.ExecOrderLeft,tagSequence.CurrentStepLeft1) XIO(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqLeft1) NXB EQU(in_ConfigFPTask.ExecOrderLeft,tagSequence.CurrentStepLeft2) XIC(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqLeft2) NXB EQU(in_ConfigFPTask.ExecOrderRight,tagSequence.CurrentStepRight1) XIO(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqRight1) NXB EQU(in_ConfigFPTask.ExecOrderRight,tagSequence.CurrentStepRight2) XIC(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqRight2) BND XIO(inoTask.Status.WorkComplete)XIO(inoTask.Status.Released)XIO(BypassReq)XIO(inoTask.Status.Bypassed)OTL(inoTask.Status.ReleaseReq);

OLD RUNG

<@INFO> #======================================================= # Job Release Request #======================================================= BST BST XIC(inoTask.Status.KSRelease) NXB XIC(inoTask.Status.RTRelease) BND BST XIC(tagConvStatus.AtFPS) XIO(inoTask.Status.PreStopFP) NXB XIO(OneInKS) BND XIC(inoTask.Status.PrerequisitesComplete) NXB BST BST XIC(inoTask.Status.KSBypass) NXB XIC(inoTask.Status.RTBypass) BND XIO(OneInKS) XIC(tagConvStatus.AtFPS) NXB XIC(tagConvStatus.LeavingFPS) BND XIC(inoTask.Status.Fail) NXB EQU(in_ConfigFPTask.ExecOrderLeft,tagSequence.CurrentStepLeft1) XIO(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqLeft1) NXB EQU(in_ConfigFPTask.ExecOrderLeft,tagSequence.CurrentStepLeft2) XIC(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqLeft2) NXB EQU(in_ConfigFPTask.ExecOrderRight,tagSequence.CurrentStepRight1) XIO(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqRight1) NXB EQU(in_ConfigFPTask.ExecOrderRight,tagSequence.CurrentStepRight2) XIC(in_ConfigFPTask.SecondaryExecOrder) XIC(tagSequence.StepRelReqRight2) BND XIO(inoTask.Status.WorkComplete)XIO(inoTask.Status.Released)XIO(BypassReq)XIO(inoTask.Status.Bypassed)OTL(inoTask.Status.ReleaseReq);

19 <------- EDITED (I) --------> 20 | | | | |
NEW RUNG

<@INFO> #======================================================= # Instruction Status #======================================================= BST XIC(inoTask.Status.WorkRequired) OTE(WorkRequired) NXB XIC(inoTask.Status.PrerequisitesComplete) OTE(PrerequisitesComplete) NXB XIC(inoTask.Status.WorkEnabled) OTE(WorkEnabled) NXB XIC(inoTask.Status.InProgress) OTE(InProgress) NXB XIC(inoTask.Status.WorkComplete) OTE(ActionComplete) NXB XIC(TaskCompleted) OTE(WorkComplete) NXB XIC(inoTask.Status.Fail) OTE(Faulted) NXB XIC(tagJobdata.NoOperation) OTE(inoTask.Status.NoBuildJob) NXB XIC(tagJobdata.Data.Present) OTE(inoTask.Status.JobPresent) BND ;

OLD RUNG

<@INFO> #======================================================= # Instruction Status #======================================================= BST XIC(inoTask.Status.WorkRequired) OTE(WorkRequired) NXB XIC(inoTask.Status.PrerequisitesComplete) OTE(PrerequisitesComplete) NXB XIC(inoTask.Status.WorkEnabled) OTE(WorkEnabled) NXB XIC(inoTask.Status.InProgress) OTE(InProgress) NXB XIC(inoTask.Status.WorkComplete) OTE(ActionComplete) NXB XIC(TaskCompleted) OTE(WorkComplete) NXB XIC(inoTask.Status.Fail) OTE(Faulted) NXB OTU(inoTask.Status.KSBypass) OTU(inoTask.Status.KSRelease) NXB XIC(tagJobdata.NoOperation) OTE(inoTask.Status.NoBuildJob) NXB XIC(tagJobdata.Data.Present) OTE(inoTask.Status.JobPresent) BND ;

23 <------- EDITED (I) --------> 24 | | | | |
NEW RUNG

<@INFO> #======================================================= # Set the Error Proofing Action HMI Status #======================================================= BST MOV(1,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.RTEnable) MOV(11,inoFPStatusEPA.Status) NXB XIO(inoTask.Status.WorkRequired) XIO(inoTask.Status.Disabled) GEQ(tagConvStatus.PercentTravel,in_ConfigFPTask.StartTravel) MOV(2,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.InProgress) MOV(3,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WorkComplete) MOV(4,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WarningPoint) MOV(5,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Fail) MOV(6,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.FPS) MOV(7,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Bypassed) BST BST XIC(inoTask.Status.KSBypass) NXB EQU(inoFPStatusEPA.Status,8) BND MOV(8,inoFPStatusEPA.Status) NXB BST XIC(inoTask.Status.RTBypass) NXB EQU(inoFPStatusEPA.Status,9) BND MOV(9,inoFPStatusEPA.Status) BND NXB XIC(inoTask.Status.Released) MOV(10,inoFPStatusEPA.Status) BND ;

OLD RUNG

<@INFO> #======================================================= # Set the Error Proofing Action HMI Status #======================================================= BST MOV(1,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.RTEnable) MOV(11,inoFPStatusEPA.Status) NXB XIO(inoTask.Status.WorkRequired) GEQ(tagConvStatus.PercentTravel,in_ConfigFPTask.StartTravel) MOV(2,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.InProgress) MOV(3,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WorkComplete) MOV(4,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.WarningPoint) MOV(5,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Fail) MOV(6,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.FPS) MOV(7,inoFPStatusEPA.Status) NXB XIC(inoTask.Status.Bypassed) BST BST XIC(inoTask.Status.KSBypass) NXB EQU(inoFPStatusEPA.Status,8) BND MOV(8,inoFPStatusEPA.Status) NXB BST XIC(inoTask.Status.RTBypass) NXB EQU(inoFPStatusEPA.Status,9) BND MOV(9,inoFPStatusEPA.Status) BND NXB XIC(inoTask.Status.Released) MOV(10,inoFPStatusEPA.Status) BND ;

25 <------- EDITED (I+C) ------> 26 |████████████ | |
NEW RUNG

<@INFO> #======================================================= # Task Intrnal Memory For Task Being Not Active at Current FP # Used for Hard Hold No Action Report # Reset Key Switch data #======================================================= BST OTU(NoActionMem) NXB OTU(inoTask.Status.KSBypass) OTU(inoTask.Status.KSRelease) BND ;

OLD RUNG

<@INFO> #======================================================= # Task Intrnal Memory For Task Being Not Active at Current FP # Used for Hard Hold No Action Report #======================================================= OTU(NoActionMem);

| | | | | { AOI } za_NotifyMessage (I) (<@VER 1.262> HMI) | | | | | | | | | | Routine: EnableInFalse (I) (EnableInFalse) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.262><@NO EDITS> <@SYS> #======================================================= # HMI DISPLAY NOTIFICATION MESSAGE REQUEST AOI - FALSE EXECUTION # #======================================================= <@INFO> ################################################################ Anti-Repeat limits to one execution per false to true execution of AOI - This rung resets. If In Progress and Complete outputs are both off - exit routine. ################################################################ OTU(AntiRepeat)NEQ(inoHMINotify.Displayed,in_MsgNum)XIO(outInProgress)XIO(outComplete)TND();

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ In progress output Message is being displayed. ################################################################ <@INFO> ################################################################ Complete output Set complete output from HMI display data. ################################################################ EQU(in_MsgNum,inoHMINotify.Displayed)BST OTE(outInProgress) NXB XIC(inoHMINotify.Complete) OTL(outComplete) BND ;

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> #======================================================= Complete Timer Run timer to reset complete memory. #======================================================= XIC(outComplete)XIO(outInProgress)BST TON(Displayed,,) NXB XIC(Displayed.DN) OTU(outComplete) RES(Displayed) BND ;

| | | | | Routine: Logic (I) () | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.262><@NO EDITS> <@SYS> #======================================================= # HMI DISPLAY NOTIFICATION MESSAGE REQUEST AOI # #======================================================= <@INFO> ################################################################ Write request to HMI for notification display. Reset the complete bit, write memory time. Anti-Repeat limits to one execution per false to true execution of AOI ################################################################ XIO(AntiRepeat)MOV(in_DisplayTime,inoHMINotify.Inbox.DisplayTime)MOV(in_MsgNum,inoHMINotify.Inbox.Message)MOV(in_MemoryTime,Displayed.PRE)OTU(outComplete)OTL(AntiRepeat);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ In progress output Message is being displayed. ################################################################ <@INFO> ################################################################ Complete output Set complete output from HMI display data. ################################################################ EQU(in_MsgNum,inoHMINotify.Displayed)BST OTE(outInProgress) NXB XIC(inoHMINotify.Complete) OTL(outComplete) BND ;

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> #======================================================= Complete Timer Run timer to reset complete memory. #======================================================= XIC(outComplete)XIO(outInProgress)BST TON(Displayed,,) NXB XIC(Displayed.DN) OTU(outComplete) RES(Displayed) BND ;

| | | | | Routine: Prescan (I) (Initialize Instr) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.262><@NO EDITS> <@SYS> #======================================================= # HMI DISPLAY NOTIFICATION MESSAGE REQUEST AOI - PRESCAN ROUTINE # #======================================================= <@INFO> ################################################################ Set all parameters to default on pre-scan. ################################################################ OTU(outInProgress)OTU(outComplete)OTU(AntiRepeat)MOV(1000000,Displayed.PRE)RES(Displayed);

| | | | | { AOI } za_QDIStationQuery (I) (<@VER 1.012>Add ) | | | | | | | | | | Routine: EnableInFalse (I) () | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.012PFS><@NO EDITS> <@SYS> ################################################################ # Reset Query Status # When Done or Job is Gone ################################################################ NEQ(in_PVI,dPrevPVI)OTU(outDuplicateFlt)OTU(outEntryDataFlt)OTU(Waiting)OTU(QueryLoaded)OTU(outDataFlt)OTU(HoldPres)OTU(HoldNotPres)OTU(QueryCmpl)OTU(outDataFlt)MOV(0,Holds);

DELETED --> 1 |████████████████████
DELETED RUNG

################################################################ # Confirm Query # Set Output Info # Query Process Status Output Bit ################################################################ XIC(Waiting)BST EQU(inoFromQDI.PVI,dPrevPVI) EQU(inoFromQDI.MCode,in_dQueryCode) EQU(inoFromQDI.FCode,2) BST XIC(inoFromQDI.Completed) BST MOV(inoFromQDI.Holds,Holds) NXB GRT(Holds,0) OTL(HoldPres) NXB XIO(HoldPres) OTL(HoldNotPres) NXB OTL(QueryCmpl) OTU(Waiting) BND NXB XIC(inoFromQDI.DataFault) OTL(outDataFlt) OTU(Waiting) BND NXB OTE(InProgress) BND ;

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Duplicate Input Status # Duplicate Fault Reset ################################################################ BST XIO(inDuplicateEn) OTU(DuplicatePVI) NXB OTU(CmplMem) NXB OTU(outDuplicateFlt) BND ;

| | | | | Routine: Logic (I) () | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.012><@NO EDITS> <@SYS> ######################################################## # Writing Quality Event Record To QDI Queue ######################################################## <@INFO> ################################################################ # Looking for Dupicate PVI Data ################################################################ EQU(dPrevPVI,in_PVI)BST XIO(outDataFlt) XIO(CmplMem) OTE(outDuplicateFlt) NXB XIC(inDuplicateEn) XIO(DuplicatePVI) BST OTL(DuplicatePVI) NXB CLR(dPrevPVI) BND NXB XIO(inDuplicateEn) XIC(outDuplicateFlt) OTU(DuplicatePVI) BND ;

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Looking for New Data ################################################################ NEQ(dPrevPVI,in_PVI)BST OTU(outEntryDataFlt) OTU(Waiting) OTU(QueryLoaded) OTU(HoldPres) OTU(HoldNotPres) OTU(outDataFlt) OTU(outDuplicateFlt) MOV(0,Holds) OTU(QueryCmpl) OTU(CmplMem) NXB GRT(inoQueue.Size,inoQueue.Length) NEQ(in_PVI,0) BST OTL(DuplicatePVI) OTE(NewData) NXB MOV(in_PVI,dPrevPVI) NXB FLL(0,Record,1) NXB MOV(2,Record.FCode) BND BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 2 |████████████████████
DELETED RUNG

################################################################ # Confirm Query # Set Output Info # Exit, if access to queue is not needed ################################################################ XIO(NewData)BST XIC(Waiting) BST EQU(inoFromQDI.PVI,dPrevPVI) EQU(inoFromQDI.MCode,in_dQueryCode) EQU(inoFromQDI.FCode,2) BST XIC(inoFromQDI.Completed) BST MOV(inoFromQDI.Holds,Holds) NXB GRT(Holds,0) OTL(HoldPres) NXB XIO(HoldPres) OTL(HoldNotPres) NXB OTL(QueryCmpl) OTU(Waiting) BND NXB XIC(inoFromQDI.DataFault) OTL(outDataFlt) OTU(Waiting) BND NXB OTE(InProgress) BND NXB BST XIC(QueryLoaded) NXB XIO(ValidData) BND TND() BND ;

DELETED --> 3 |████████████████████
DELETED RUNG

################################################################ # Verifying Machine Code Present # Add PVI and Query Code to the Record ################################################################ XIC(NewData)LIM(1,in_PVI,999999999)NEQ(in_dQueryCode,0)BST MOV(in_PVI,Record.dPVI) NXB MOV(in_dQueryCode,Record.MCode) BND OTE(ValidData);

DELETED --> 4 |████████████████████
DELETED RUNG

################################################################ # Verifying Queue availability # Adding Time Stamp to the new Event Record # Updating Queue with the new Event Record ################################################################ XIC(ValidData)GRT(inoQueue.Size,inoQueue.Length)BST ADD(inoQueue.Address,inoQueue.Length,Index) NXB GEQ(Index,inoQueue.Size) SUB(Index,inoQueue.Size,Index) NXB GSV(WALLCLOCKTIME,,DateTime,Record.TimeStamp[0]) NXB COP(Record,inoQueue.Queue[Index],1) NXB ADD(inoQueue.Length,1,inoQueue.Length) OTL(QueryLoaded) OTL(Waiting) OTL(CmplMem) BND ;

DELETED --> 5 |████████████████████
DELETED RUNG

################################################################ # Data Fault # PVI has more then 9 digits or Query Code equal 0 ################################################################ XIC(NewData)XIO(ValidData)OTE(outEntryDataFlt);

| | | | | Routine: Prescan (I) (QDI Event Record) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.012><@NO EDITS> <@SYS> ######################################################## # Writing Quality Event Record To QDI Queue ######################################################## OTU(outEntryDataFlt)OTU(Waiting)OTU(QueryLoaded)OTU(HoldPres)OTU(HoldNotPres)OTU(QueryCmpl)OTU(outDataFlt)MOV(0,Holds);

| | | | | TASK: MainTask (I+C) | | | | | | | | | | PROGRAM: MCP (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: A000_Main (I) (Main Control Rou) | | | | |
1 <--- INSERTED |████████████████████
INSERTED RUNG

************************************************** 9/27/23 ************************************************* ******************************************************************** Temporary Bit to be Removed after Integration ******************************************************************** OTU(_HTI.1)OTU(_HTI.2)OTL(_HTI.8)OTL(_HTI.10)OTL(_HTI.20)OTL(_HTI.31);

2 <--- INSERTED |████████████████████
INSERTED RUNG

******************************************************************************* Enable to Simulate Conveyor Interlocks ******************************************************************************* OTU(_HTI.0);

| | | | | ROUTINE: B001_MapInputs (I+C) (Maps Real Input ) | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.410><@EDITS ALLOWED> <@TODO> ################################################################ # Enable all used DeviceNet Scanners, block all unused DeviceNet Scanners # with an XIC AlwaysOff to supress the alarms ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.417><@EDITS ALLOWED> <@TODO> ################################################################ # Enable all used DeviceNet Scanners, block all unused DeviceNet Scanners # with an XIC AlwaysOff to supress the alarms ################################################################ OTE(RungComment);

2 <------- EDITED (I+C) ------> 2 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1001]: GTG01Z1LPLC> # za_EnetMapping(EnetAddressTableLoad,PLCENET.Comm,1,1001,120,15,250,47,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,3000,0,ENetNetwork1);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1001]: GTG01PLCENET> # za_EnetMapping(EnetAddressTableLoad,PLCENET.Comm,1,1001,120,15,234,30,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,3000,0,ENetNetwork1);

3 <------- EDITED (C) --------> 3 | | | | |
NEW RUNG

<@INFO> ################################################################ # Ethernet Card / Port Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[1]: PLC Ethernet Port Fault /*R*/ Check Module In I/O Tree For Further Diagnostics > # <Alarm[2]: PLC Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.250.47 > # <Alarm[3]: PLC Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.250.47 > # BST BST XIO(PLCENET.Comm.OK) NXB XIC(PLCENET.Comm.FltMem) XIO(Controller.FaultReset) BND BST OTE(PLCENET.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.LocalIO,kAlarm[1],kHelp.ENetCommFlt) BND NXB XIC(PLCENET.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[2],kHelp.ENetPortStatusWrn) NXB XIC(PLCENET.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[3],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@INFO> ################################################################ # Ethernet Card / Port Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[1]: PLC Ethernet Port Fault /*R*/ Check Module In I/O Tree For Further Diagnostics > # <Alarm[2]: PLC Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.234.30 > # <Alarm[3]: PLC Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.234.30 > # BST BST XIO(PLCENET.Comm.OK) NXB XIC(PLCENET.Comm.FltMem) XIO(Controller.FaultReset) BND BST OTE(PLCENET.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.LocalIO,kAlarm[1],kHelp.ENetCommFlt) BND NXB XIC(PLCENET.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[2],kHelp.ENetPortStatusWrn) NXB XIC(PLCENET.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[3],kHelp.ENetPortCommWrn) BND ;

5 <------- EDITED (I) --------> 5 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1002]: GTG01Z1EN2T1> # za_EnetMapping(EnetAddressTableLoad,EN2TSlot1.Comm,2,1002,120,15,250,48,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,3000,1,ENetNetwork1);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1002]: GTG01Z1EN2T1> # za_EnetMapping(EnetAddressTableLoad,EN2TSlot1.Comm,2,1002,120,15,234,31,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,3000,1,ENetNetwork1);

6 <------- EDITED (I+C) ------> 9 | | | | |
NEW RUNG

<@INFO> ################################################################ # Ethernet Card / Port Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[7]: EN2T Slot 1 Ethernet Card Fault /*R*/ Check Module In I/O Tree For Further Diagnostics > # <Alarm[8]: EN2T Slot 1 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.250.48 > # <Alarm[9]: EN2T Slot 1 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.250.48 > # BST BST XIO(EN2TSlot1.Comm.OK) NXB XIC(EN2TSlot1.Comm.FltMem) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.LocalIO,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(EN2TSlot1.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetPortStatusWrn) NXB XIC(EN2TSlot1.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@INFO> ################################################################ # Ethernet Card / Port Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[7]: EN2T Slot 2 Ethernet Card Fault /*R*/ Check Module In I/O Tree For Further Diagnostics > # <Alarm[8]: EN2T Slot 2 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.234.32 > # <Alarm[9]: EN2T Slot 2 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.234.32 > # BST BST XIO(EN2TSlot2.Comm.OK) NXB XIC(EN2TSlot2.Comm.FltMem) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.LocalIO,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(EN2TSlot2.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetPortStatusWrn) NXB XIC(EN2TSlot2.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

8 <------- EDITED (I) --------> 8 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1003]: GTG01Z1EN2T2> # za_EnetMapping(EnetAddressTableLoad,EN2TSlot2.Comm,3,1003,120,15,250,49,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,3000,2,ENetNetwork1);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1003]: GTG01Z1EN2T2> # za_EnetMapping(EnetAddressTableLoad,EN2TSlot2.Comm,3,1003,120,15,234,32,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,3000,2,ENetNetwork1);

9 <------- EDITED (I+C) ------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # Ethernet Card / Port Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[4]: EN2T Slot 2 Ethernet Card Fault /*R*/ Check Module In I/O Tree For Further Diagnostics > # <Alarm[5]: EN2T Slot 2 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.250.49 > # <Alarm[6]: EN2T Slot 2 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.250.49 > # BST BST XIO(EN2TSlot2.Comm.OK) NXB XIC(EN2TSlot2.Comm.FltMem) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.LocalIO,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(EN2TSlot2.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetPortStatusWrn) NXB XIC(EN2TSlot2.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@INFO> ################################################################ # Ethernet Card / Port Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[4]: EN2T Slot 1 Ethernet Card Fault /*R*/ Check Module In I/O Tree For Further Diagnostics > # <Alarm[5]: EN2T Slot 1 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.234.31 > # <Alarm[6]: EN2T Slot 1 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.234.31 > # BST BST XIO(EN2TSlot1.Comm.OK) NXB XIC(EN2TSlot1.Comm.FltMem) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.LocalIO,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(EN2TSlot1.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetPortStatusWrn) NXB XIC(EN2TSlot1.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

11 <------- EDITED (I) --------> 11 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1005]: GTG01Z1ES1> # BST XIC(ENetNetwork1.DeviceData[5].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,5,1005,120,15,250,22,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,1,ENetNetwork1) BND ;

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1005]: GTG01Z1ES1> # BST XIC(ENetNetwork1.DeviceData[6].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,5,1005,120,15,234,4,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,0,ENetNetwork1) BND ;

14 <------- EDITED (I) --------> 14 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1006]: GTG01Z1ES3> # BST XIC(ENetNetwork1.DeviceData[6].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,6,1006,120,15,250,23,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,1,ENetNetwork1) BND ;

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1006]: GTG01Z1ES3> # BST XIC(ENetNetwork1.DeviceData[6].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,6,1006,120,15,234,5,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,0,ENetNetwork1) BND ;

17 <------- EDITED (I+C) ------> 17 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1007]: GTG01Z1ES11> # BST XIC(ENetNetwork1.DeviceData[7].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,7,1007,120,15,250,87,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,1,ENetNetwork1) BND ;

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1007]: GTG01Z1ES4> # BST XIC(ENetNetwork1.DeviceData[7].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,7,1007,120,15,234,6,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,0,ENetNetwork1) BND ;

18 <------- EDITED (C) --------> 18 | | | | |
NEW RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[25]: ES11 Enet Switch Speed/Duplex Wrn /*R*/ Port /*VAR1*/ Running Wrong Speed or Duplex > # XIC(ENetNetwork1.DeviceData[7].Link.Scanned)NEQ(ENetNetwork1.DeviceData[7].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[7].Link.Port1Speed10) NXB XIC(ENetNetwork1.DeviceData[7].Link.HalfDuplex1) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[7].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[25],kHelp.ENetPortStatusWrn) BND ;

OLD RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[25]: ES4 Enet Switch Speed/Duplex Wrn /*R*/ Port /*VAR1*/ Running Wrong Speed or Duplex > # XIC(ENetNetwork1.DeviceData[7].Link.Scanned)NEQ(ENetNetwork1.DeviceData[7].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[7].Link.Port1Speed10) NXB XIC(ENetNetwork1.DeviceData[7].Link.HalfDuplex1) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[7].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[25],kHelp.ENetPortStatusWrn) BND ;

19 <------- EDITED (C) --------> 19 | | | | |
NEW RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[26]: ES11 Enet Switch CRC Error Warning /*R*/ Port /*VAR1*/ Has CRC Errors - Check Enet Cabling > # XIC(ENetNetwork1.DeviceData[7].Link.Scanned)NEQ(ENetNetwork1.DeviceData[7].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[7].Link.Port1CRCWarning) NXB XIC(ENetNetwork1.DeviceData[7].Link.Port2CRCWarning) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[7].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[26],kHelp.ENetCRCErrors) BND ;

OLD RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[26]: ES4 Enet Switch CRC Error Warning /*R*/ Port /*VAR1*/ Has CRC Errors - Check Enet Cabling > # XIC(ENetNetwork1.DeviceData[7].Link.Scanned)NEQ(ENetNetwork1.DeviceData[7].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[7].Link.Port1CRCWarning) NXB XIC(ENetNetwork1.DeviceData[7].Link.Port2CRCWarning) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[7].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[26],kHelp.ENetCRCErrors) BND ;

20 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1008]: GTG01Z1ES12> # BST XIC(ENetNetwork1.DeviceData[8].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,8,1008,120,15,250,88,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,1,ENetNetwork1) BND ;

21 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[27]: ES12 Enet Switch Speed/Duplex Wrn /*R*/ Port /*VAR1*/ Running Wrong Speed or Duplex > # XIC(ENetNetwork1.DeviceData[8].Link.Scanned)NEQ(ENetNetwork1.DeviceData[8].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[8].Link.Port1Speed10) NXB XIC(ENetNetwork1.DeviceData[8].Link.HalfDuplex1) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[8].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[27],kHelp.ENetPortStatusWrn) BND ;

22 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[28]: ES12 Enet Switch CRC Error Warning /*R*/ Port /*VAR1*/ Has CRC Errors - Check Enet Cabling > # XIC(ENetNetwork1.DeviceData[8].Link.Scanned)NEQ(ENetNetwork1.DeviceData[8].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[8].Link.Port1CRCWarning) NXB XIC(ENetNetwork1.DeviceData[8].Link.Port2CRCWarning) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[8].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[28],kHelp.ENetCRCErrors) BND ;

23 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1009]: GTG01Z1ES13> # BST XIC(ENetNetwork1.DeviceData[9].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,9,1009,120,15,250,89,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,1,ENetNetwork1) BND ;

24 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[29]: ES13 Enet Switch Speed/Duplex Wrn /*R*/ Port /*VAR1*/ Running Wrong Speed or Duplex > # XIC(ENetNetwork1.DeviceData[9].Link.Scanned)NEQ(ENetNetwork1.DeviceData[9].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[9].Link.Port1Speed10) NXB XIC(ENetNetwork1.DeviceData[9].Link.HalfDuplex1) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[9].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[29],kHelp.ENetPortStatusWrn) BND ;

25 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[30]: ES13 Enet Switch CRC Error Warning /*R*/ Port /*VAR1*/ Has CRC Errors - Check Enet Cabling > # XIC(ENetNetwork1.DeviceData[9].Link.Scanned)NEQ(ENetNetwork1.DeviceData[9].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[9].Link.Port1CRCWarning) NXB XIC(ENetNetwork1.DeviceData[9].Link.Port2CRCWarning) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[9].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[30],kHelp.ENetCRCErrors) BND ;

26 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1010]: GTG01Z1ES14> # BST XIC(ENetNetwork1.DeviceData[10].Link.Scanned) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,10,1010,120,15,250,90,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.No,2101,1,ENetNetwork1) BND ;

27 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[31]: ES14 Enet Switch Speed/Duplex Wrn /*R*/ Port /*VAR1*/ Running Wrong Speed or Duplex > # XIC(ENetNetwork1.DeviceData[10].Link.Scanned)NEQ(ENetNetwork1.DeviceData[10].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[10].Link.Port1Speed10) NXB XIC(ENetNetwork1.DeviceData[10].Link.HalfDuplex1) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[10].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[31],kHelp.ENetPortStatusWrn) BND ;

28 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Ethernet Switch Diagnostics ################################################################ <@DIAG> # # <Alarm[32]: ES14 Enet Switch CRC Error Warning /*R*/ Port /*VAR1*/ Has CRC Errors - Check Enet Cabling > # XIC(ENetNetwork1.DeviceData[10].Link.Scanned)NEQ(ENetNetwork1.DeviceData[10].Link.PortWarning,0)BST XIC(ENetNetwork1.DeviceData[10].Link.Port1CRCWarning) NXB XIC(ENetNetwork1.DeviceData[10].Link.Port2CRCWarning) BND BST OTL(PFEControl.IsEmbeddedVariable) MOV(ENetNetwork1.DeviceData[10].Link.PortWarning,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[32],kHelp.ENetCRCErrors) BND ;

32 <--- INSERTED |████████████████████
INSERTED RUNG

<@TODO> #======================================================= The rung below sets the number of unconnected buffers for Message instructions and I/O connections. Delete this rung for CompactLogix / CompactGuardLogix controllers - 1769 and 5069 PLCs. #======================================================= <@PARAM> ################################################################ # Message instruction settings: # # Message type: CIP Generic # Service type: Custom # Service code: 4 # Class 304 # Instance 1 # Attribute 0 # Source Element PMCUCB.SetNewSource # Source Length 8 # Destination PMCUCB.SetNewDest # Path 1,0 # Connected Unchecked ################################################################ XIC(S:FS)MOV(1,PMCUCB.SetNewSource[0])MOV(17,PMCUCB.SetNewSource[2])MOV(40,PMCUCB.SetNewSource[4])MSG(PMCUCBSetNew);

33 <--- INSERTED |████████████████████
INSERTED RUNG

<@TODO> #======================================================= The rung below sets the number of unconnected buffers for Message instructions and I/O connections. Delete this rung for CompactLogix / CompactGuardLogix controllers - 1769 and 5069 PLCs. #======================================================= <@PARAM> ################################################################ # Message instruction settings: # # Message type: CIP Generic # Service type: Custom # Service code: 3 # Class 304 # Instance 1 # Attribute 0 # Source Element PMCUCB.GetCurrentSource # Source Length 8 # Destination PMCUCB.GetCurrentDest # Path 1,0 # Connected Unchecked ################################################################ XIC(S:FS)MOV(1,PMCUCB.GetCurrentSource[0])MOV(17,PMCUCB.GetCurrentSource[2])MSG(PMCUCBGetCurrent);

34 <--- INSERTED |████████████████████
INSERTED RUNG

<@TODO> #======================================================= The rung below sets the number of unconnected buffers for Message instructions and I/O connections. Delete this rung for CompactLogix / CompactGuardLogix controllers - 1769 and 5069 PLCs. #======================================================= <@DIAG> # # <Alarm[340]: Unconnected Buffer Connections Low > # XIO(_HTI.31)XIO(S:FS)NEQ(PMCUCB.GetCurrentDest[6],PMCUCB.SetNewSource[4])BST MOV(6000,PMCUCB.Timer.PRE) TON(PMCUCB.Timer,,) NXB XIC(PMCUCB.Timer.DN) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintStatusGeneral,kAlarm[340],kHelp.None) BND ;

| | | | | ROUTINE: B070_EnetCardMonitor (I+C) | | | | | (Configure Ethern) | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Ethernet Network Adapter Monitoring Routine ################################################################ <@TODO> ################################################################ # Use this routine to monitor PLC Ethernet cards / ports. # # DO NOT USE THIS ROUTINE FOR ENBT MODULES. USE THE ENBT SPECIFIC ROUTINE FOR ENBT MODULES. # # Follow the instructions on the rung to configure the Ethernet card monitoring ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.410><@EDITS ALLOWED> <@SYS> ################################################################ # Ethernet Network Adapter Monitoring Routine ################################################################ <@TODO> ################################################################ # Use this routine to monitor PLC Ethernet cards / ports. # # DO NOT USE THIS ROUTINE FOR ENBT MODULES. USE THE ENBT SPECIFIC ROUTINE FOR ENBT MODULES. # # Follow the instructions on the rung to configure the Ethernet card monitoring ################################################################ OTE(RungComment);

1 <------- EDITED (I) --------> 1 | | | | |
NEW RUNG

<@INFO> ################################################################ # Ethernet Communication modules have a limited amount of connections # available. Each version of ethernet module has its own limitations. # Errors may occur when the amount of connections exceeds the limitations # set by the hardware/firmware. Logic in this routine will scan ethernet # modules configured for monitoring. Faults will be announced at 80% of # the limits set by the manufactorer. # # The settings in the MOV instructions below are default settings. Changes should # only be made if there are resource problems with the Ethernet interface cards # Or the number of interface cards changes. # ################################################################ <@TODO> ################################################################ # Move the number of Ethernet modules to be monitored as the source of the MOV instruction # to EnetConnMngr.NumberOfDevices. Numbers can NOT be skipped. Do not include # ENBT modules. ENBT modules have a separate monitoring system. # # Move the time between messages to devices into the EnetConnMngr.DeviceScanTMR.PRE. Use 5000 # as the default. If the ethernet card or message instruction resources are a problem, # increase the time. # ################################################################ BST MOV(4,EnetConnMngr.NumberOfDevices) NXB MOV(5000,EnetConnMngr.DeviceScanTMR.PRE) NXB MOV(1000000,EnetDevice_ConnMngr.UnconnectedTimeout) BND ;

OLD RUNG

<@INFO> ################################################################ # Ethernet Communication modules have a limited amount of connections # available. Each version of ethernet module has its own limitations. # Errors may occur when the amount of connections exceeds the limitations # set by the hardware/firmware. Logic in this routine will scan ethernet # modules configured for monitoring. Faults will be announced at 80% of # the limits set by the manufactorer. # # The settings in the MOV instructions below are default settings. Changes should # only be made if there are resource problems with the Ethernet interface cards # Or the number of interface cards changes. # ################################################################ <@TODO> ################################################################ # Move the number of Ethernet modules to be monitored as the source of the MOV instruction # to EnetConnMngr.NumberOfDevices. Numbers can NOT be skipped. Do not include # ENBT modules. ENBT modules have a separate monitoring system. # # Move the time between messages to devices into the EnetConnMngr.DeviceScanTMR.PRE. Use 5000 # as the default. If the ethernet card or message instruction resources are a problem, # increase the time. # ################################################################ BST MOV(3,EnetConnMngr.NumberOfDevices) NXB MOV(5000,EnetConnMngr.DeviceScanTMR.PRE) NXB MOV(1000000,EnetDevice_ConnMngr.UnconnectedTimeout) BND ;

4 <------- EDITED (I) --------> 2 |████████ | | |
NEW RUNG

<@INFO> ################################################################ Ethernet module resource monitoring. The Ethernet module (ENBT, EN2T, etc.) has a fixed amount of TCP and CIP connections. The CPU usage and number of active TCP and CIP connections are monitored for diagnostic purposes. The fault limits for CPU, TCP, and CIP connections is 80% of maximum value. Below Is The Max Number Of TCP And CIP Connections For Various Cards: EN2T: TCP 128, CIP 256 ENBT: TCP 64, CIP 128. L3xE: TCP 32, CIP 32. L3xER(MS): TCP 128, CIP 256 L8xES: TCP 512 , CIP 1024 ################################################################ <@TODO> ################################################################ Set the Slot number For This Enet Card. Use slot 0 for a CompactLogix PLC with a built in port. Set .CPUUsageFltLimit = 80 Set the TCPConnectionsFltLimit to: ENBT = 51 L3xE CompactLogix = 25 L3xER CompactLogix = 96 EN2T = 102 L8xES = 410 Set the CIPConnectionsFltLimit to: ENBT = 102 L3xE CompactLogix = 25 L3xER CompactLogix = 204 EN2T = 204 L8xES = 820 ################################################################ BST MOV(3,EN2TSlot3.Data.Slot) NXB MOV(80,EN2TSlot3.CPUUsageFltLimit) MOV(102,EN2TSlot3.TCPConnectionsFltLimit) MOV(204,EN2TSlot3.CIPConnectionsFltLimit) BND ;

OLD RUNG

<@INFO> ################################################################ Ethernet module resource monitoring. The Ethernet module (ENBT, EN2T, etc.) has a fixed amount of TCP and CIP connections. The CPU usage and number of active TCP and CIP connections are monitored for diagnostic purposes. The fault limits for CPU, TCP, and CIP connections is 80% of maximum value. Below Is The Max Number Of TCP And CIP Connections For Various Cards: EN2T: TCP 128, CIP 256 ENBT: TCP 64, CIP 128. L3xE: TCP 32, CIP 32. L3xER(MS): TCP 128, CIP 256 L8xES: TCP 512 , CIP 1024 ################################################################ <@TODO> ################################################################ Set the Slot number For This Enet Card. Use slot 0 for a CompactLogix PLC with a built in port. Set .CPUUsageFltLimit = 80 Set the TCPConnectionsFltLimit to: ENBT = 51 L3xE CompactLogix = 25 L3xER CompactLogix = 96 EN2T = 102 L8xES = 410 Set the CIPConnectionsFltLimit to: ENBT = 102 L3xE CompactLogix = 25 L3xER CompactLogix = 204 EN2T = 204 L8xES = 820 ################################################################ BST MOV(1,PLCENET.Data.Slot) NXB MOV(80,PLCENET.CPUUsageFltLimit) MOV(102,PLCENET.TCPConnectionsFltLimit) MOV(204,PLCENET.CIPConnectionsFltLimit) BND ;

5 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ Ethernet module resource monitoring. The Ethernet module (ENBT, EN2T, etc.) has a fixed amount of TCP and CIP connections. The CPU usage and number of active TCP and CIP connections are monitored for diagnostic purposes. The fault limits for CPU, TCP, and CIP connections is 80% of maximum value. Below Is The Max Number Of TCP And CIP Connections For Various Cards: EN2T: TCP 128, CIP 256 ENBT: TCP 64, CIP 128. L3xE: TCP 32, CIP 32. L3xER(MS): TCP 128, CIP 256 L8xES: TCP 512 , CIP 1024 ################################################################ <@TODO> ################################################################ Set the Slot number For This Enet Card. Use slot 0 for a CompactLogix PLC with a built in port. Set .CPUUsageFltLimit = 80 Set the TCPConnectionsFltLimit to: ENBT = 51 L3xE CompactLogix = 25 L3xER CompactLogix = 96 EN2T = 102 L8xES = 410 Set the CIPConnectionsFltLimit to: ENBT = 102 L3xE CompactLogix = 25 L3xER CompactLogix = 204 EN2T = 204 L8xES = 820 ################################################################ BST MOV(4,EN2TSlot4.Data.Slot) NXB MOV(80,EN2TSlot4.CPUUsageFltLimit) MOV(102,EN2TSlot4.TCPConnectionsFltLimit) MOV(204,EN2TSlot4.CIPConnectionsFltLimit) BND ;

6 <------- EDITED (I) --------> 5 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Load device data to Connection manager scanner. # ################################################################ <@TODO> ################################################################ # Add a branch to this rung for each Ethernet module in the rack. # Configure the EQU block to match the order in which to scan modules. # The first EQU block source B value shall be "0", with each successive # branch increasing by 1. # ################################################################ XIC(EnetConnMngr.Ready)BST EQU(EnetConnMngr.Device,0) COP(EN2TSlot1.Data,EnetConnMngr.Data,1) NXB EQU(EnetConnMngr.Device,1) COP(EN2TSlot2.Data,EnetConnMngr.Data,1) NXB EQU(EnetConnMngr.Device,0) COP(EN2TSlot3.Data,EnetConnMngr.Data,1) NXB EQU(EnetConnMngr.Device,1) COP(EN2TSlot4.Data,EnetConnMngr.Data,1) BND ;

OLD RUNG

<@INFO> ################################################################ # Load device data to Connection manager scanner. # ################################################################ <@TODO> ################################################################ # Add a branch to this rung for each Ethernet module in the rack. # Configure the EQU block to match the order in which to scan modules. # The first EQU block source B value shall be "0", with each successive # branch increasing by 1. # ################################################################ XIC(EnetConnMngr.Ready)BST EQU(EnetConnMngr.Device,0) COP(PLCENET.Data,EnetConnMngr.Data,1) NXB EQU(EnetConnMngr.Device,1) COP(EN2TSlot1.Data,EnetConnMngr.Data,1) NXB EQU(EnetConnMngr.Device,0) COP(EN2TSlot2.Data,EnetConnMngr.Data,1) BND ;

8 <------- EDITED (I) --------> 7 |████████ | | |
NEW RUNG

XIC(EnetConnMngr.ReadComplete)BST EQU(EnetConnMngr.Data.Slot,EN2TSlot1.Data.Slot) COP(EnetConnMngr.Data,EN2TSlot1.Data,1) NXB EQU(EnetConnMngr.Data.Slot,EN2TSlot2.Data.Slot) COP(EnetConnMngr.Data,EN2TSlot2.Data,1) NXB EQU(EnetConnMngr.Data.Slot,EN2TSlot3.Data.Slot) COP(EnetConnMngr.Data,EN2TSlot3.Data,1) NXB EQU(EnetConnMngr.Data.Slot,EN2TSlot4.Data.Slot) COP(EnetConnMngr.Data,EN2TSlot4.Data,1) BND OTE(EnetConnMngr.ResetData);

OLD RUNG

XIC(EnetConnMngr.ReadComplete)BST EQU(EnetConnMngr.Data.Slot,PLCENET.Data.Slot) COP(EnetConnMngr.Data,PLCENET.Data,1) NXB EQU(EnetConnMngr.Data.Slot,EN2TSlot1.Data.Slot) COP(EnetConnMngr.Data,EN2TSlot1.Data,1) NXB EQU(EnetConnMngr.Data.Slot,EN2TSlot2.Data.Slot) COP(EnetConnMngr.Data,EN2TSlot2.Data,1) BND OTE(EnetConnMngr.ResetData);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
10 <------- EDITED (I+C) ------> 9 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[310]: Slot 1 EN2T CPU Usage /*VAR1*/% Warning /*R*/ Check Network / Program For Excess Traffic > # BST GEQ(EN2TSlot1.Data.CPUUsage,EN2TSlot1.CPUUsageFltLimit) NXB XIC(EN2TSlot1.CPUFaultMem) XIO(EN2TSlot1.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.CPUFaultMem) NXB MOV(EN2TSlot1.Data.MaxCPUUsage,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[310],kHelp.ENetCardCPU) BND ;

OLD RUNG

<@DIAG> # # <Alarm[310]: PLC ENET CPU Usage /*VAR1*/% Warning /*R*/ Check Network / Program For Excess Traffic > # BST GEQ(PLCENET.Data.CPUUsage,PLCENET.CPUUsageFltLimit) NXB XIC(PLCENET.CPUFaultMem) XIO(PLCENET.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(PLCENET.CPUFaultMem) NXB MOV(PLCENET.Data.MaxCPUUsage,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[310],kHelp.ENetCardCPU) BND ;

12 <------- EDITED (I+C) ------> 11 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[311]: Slot 1 EN2T TCP Connection Warning /*R*//*VAR1*/ Of 128 Used, Check Module and Network > # BST GEQ(EN2TSlot1.Data.TCPConnections,EN2TSlot1.TCPConnectionsFltLimit) NXB XIC(EN2TSlot1.TCPFaultMem) XIO(EN2TSlot1.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.TCPFaultMem) NXB MOV(EN2TSlot1.Data.TCPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[311],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@DIAG> # # <Alarm[311]: PLC ENET TCP Connection Warning /*R*//*VAR1*/ Of 128 Used, Check Module and Network > # BST GEQ(PLCENET.Data.TCPConnections,PLCENET.TCPConnectionsFltLimit) NXB XIC(PLCENET.TCPFaultMem) XIO(PLCENET.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(PLCENET.TCPFaultMem) NXB MOV(PLCENET.Data.TCPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[311],kHelp.ENetCardConnect) BND ;

14 <------- EDITED (I+C) ------> 13 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[312]: Slot 1 EN2T CIP Connection Warning /*R*//*VAR1*/ Of 256 Used, Check Module and Network > # BST GEQ(EN2TSlot1.Data.CIPConnections,EN2TSlot1.CIPConnectionsFltLimit) NXB XIC(EN2TSlot1.CIPFaultMem) XIO(EN2TSlot1.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.CIPFaultMem) NXB MOV(EN2TSlot1.Data.CIPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[312],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@DIAG> # # <Alarm[312]: PLC ENET CIP Connection Warning /*R*//*VAR1*/ Of 256 Used, Check Module and Network > # BST GEQ(PLCENET.Data.CIPConnections,PLCENET.CIPConnectionsFltLimit) NXB XIC(PLCENET.CIPFaultMem) XIO(PLCENET.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(PLCENET.CIPFaultMem) NXB MOV(PLCENET.Data.CIPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[312],kHelp.ENetCardConnect) BND ;

17 <------- EDITED (I) --------> 16 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[313]: Slot 2 EN2T CPU Usage /*VAR1*/% Warning /*R*/ Check Network / Program For Excess Traffic > # BST GEQ(EN2TSlot2.Data.CPUUsage,EN2TSlot2.CPUUsageFltLimit) NXB XIC(EN2TSlot2.CPUFaultMem) XIO(EN2TSlot2.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.CPUFaultMem) NXB MOV(EN2TSlot2.Data.MaxCPUUsage,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[313],kHelp.ENetCardCPU) BND ;

OLD RUNG

<@DIAG> # # <Alarm[313]: Slot 1 EN2T CPU Usage /*VAR1*/% Warning /*R*/ Check Network / Program For Excess Traffic > # BST GEQ(EN2TSlot1.Data.CPUUsage,EN2TSlot1.CPUUsageFltLimit) NXB XIC(EN2TSlot1.CPUFaultMem) XIO(EN2TSlot1.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.CPUFaultMem) NXB MOV(EN2TSlot1.Data.MaxCPUUsage,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[313],kHelp.ENetCardCPU) BND ;

19 <------- EDITED (I) --------> 18 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[314]: Slot 2 EN2T TCP Connection Warning /*R*//*VAR1*/ Of 128 Used, Check Module and Network > # BST GEQ(EN2TSlot2.Data.TCPConnections,EN2TSlot2.TCPConnectionsFltLimit) NXB XIC(EN2TSlot2.TCPFaultMem) XIO(EN2TSlot2.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.TCPFaultMem) NXB MOV(EN2TSlot2.Data.TCPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[314],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@DIAG> # # <Alarm[314]: Slot 1 EN2T TCP Connection Warning /*R*//*VAR1*/ Of 128 Used, Check Module and Network > # BST GEQ(EN2TSlot1.Data.TCPConnections,EN2TSlot1.TCPConnectionsFltLimit) NXB XIC(EN2TSlot1.TCPFaultMem) XIO(EN2TSlot1.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.TCPFaultMem) NXB MOV(EN2TSlot1.Data.TCPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[314],kHelp.ENetCardConnect) BND ;

21 <------- EDITED (I) --------> 20 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[315]: Slot 2 EN2T CIP Connection Warning /*R*//*VAR1*/ Of 256 Used, Check Module and Network > # BST GEQ(EN2TSlot2.Data.CIPConnections,EN2TSlot2.CIPConnectionsFltLimit) NXB XIC(EN2TSlot2.CIPFaultMem) XIO(EN2TSlot2.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.CIPFaultMem) NXB MOV(EN2TSlot2.Data.CIPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[315],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@DIAG> # # <Alarm[315]: Slot 1 EN2T CIP Connection Warning /*R*//*VAR1*/ Of 256 Used, Check Module and Network > # BST GEQ(EN2TSlot1.Data.CIPConnections,EN2TSlot1.CIPConnectionsFltLimit) NXB XIC(EN2TSlot1.CIPFaultMem) XIO(EN2TSlot1.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot1.CIPFaultMem) NXB MOV(EN2TSlot1.Data.CIPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[315],kHelp.ENetCardConnect) BND ;

23 <------- EDITED (I) --------> 8 |████████████ | |
NEW RUNG

XIC(EN2TSlot3.CPUFaultMem)XIC(Controller.FaultReset)CLR(EN2TSlot3.Data.MaxCPUUsage);

OLD RUNG

XIC(PLCENET.CPUFaultMem)XIC(Controller.FaultReset)CLR(PLCENET.Data.MaxCPUUsage);

24 <------- EDITED (I) --------> 23 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[316]: Slot 3 EN2T CPU Usage /*VAR1*/% Warning /*R*/ Check Network / Program For Excess Traffic > # BST GEQ(EN2TSlot3.Data.CPUUsage,EN2TSlot3.CPUUsageFltLimit) NXB XIC(EN2TSlot3.CPUFaultMem) XIO(EN2TSlot3.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot3.CPUFaultMem) NXB MOV(EN2TSlot3.Data.MaxCPUUsage,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[316],kHelp.ENetCardCPU) BND ;

OLD RUNG

<@DIAG> # # <Alarm[316]: Slot 2 EN2T CPU Usage /*VAR1*/% Warning /*R*/ Check Network / Program For Excess Traffic > # BST GEQ(EN2TSlot2.Data.CPUUsage,EN2TSlot2.CPUUsageFltLimit) NXB XIC(EN2TSlot2.CPUFaultMem) XIO(EN2TSlot2.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.CPUFaultMem) NXB MOV(EN2TSlot2.Data.MaxCPUUsage,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[316],kHelp.ENetCardCPU) BND ;

25 <------- EDITED (I) --------> 10 |████████████ | |
NEW RUNG

XIC(EN2TSlot3.TCPFaultMem)XIC(Controller.FaultReset)CLR(EN2TSlot3.Data.MaxTCPConnections);

OLD RUNG

XIC(PLCENET.TCPFaultMem)XIC(Controller.FaultReset)CLR(PLCENET.Data.MaxTCPConnections);

26 <------- EDITED (I) --------> 25 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[317]: Slot 3 EN2T TCP Connection Warning /*R*//*VAR1*/ Of 128 Used, Check Module and Network > # BST GEQ(EN2TSlot3.Data.TCPConnections,EN2TSlot3.TCPConnectionsFltLimit) NXB XIC(EN2TSlot3.TCPFaultMem) XIO(EN2TSlot3.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot3.TCPFaultMem) NXB MOV(EN2TSlot3.Data.TCPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[317],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@DIAG> # # <Alarm[317]: Slot 2 EN2T TCP Connection Warning /*R*//*VAR1*/ Of 128 Used, Check Module and Network > # BST GEQ(EN2TSlot2.Data.TCPConnections,EN2TSlot2.TCPConnectionsFltLimit) NXB XIC(EN2TSlot2.TCPFaultMem) XIO(EN2TSlot2.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.TCPFaultMem) NXB MOV(EN2TSlot2.Data.TCPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[317],kHelp.ENetCardConnect) BND ;

27 <------- EDITED (I) --------> 12 |████████████ | |
NEW RUNG

XIC(EN2TSlot3.CIPFaultMem)XIC(Controller.FaultReset)CLR(EN2TSlot3.Data.MaxCIPConnections);

OLD RUNG

XIC(PLCENET.CIPFaultMem)XIC(Controller.FaultReset)CLR(PLCENET.Data.MaxCIPConnections);

28 <------- EDITED (I) --------> 27 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[318]: Slot 3 EN2T CIP Connection Warning /*R*//*VAR1*/ Of 256 Used, Check Module and Network > # BST GEQ(EN2TSlot3.Data.CIPConnections,EN2TSlot3.CIPConnectionsFltLimit) NXB XIC(EN2TSlot3.CIPFaultMem) XIO(EN2TSlot3.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot3.CIPFaultMem) NXB MOV(EN2TSlot3.Data.CIPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[318],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@DIAG> # # <Alarm[318]: Slot 2 EN2T CIP Connection Warning /*R*//*VAR1*/ Of 256 Used, Check Module and Network > # BST GEQ(EN2TSlot2.Data.CIPConnections,EN2TSlot2.CIPConnectionsFltLimit) NXB XIC(EN2TSlot2.CIPFaultMem) XIO(EN2TSlot2.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot2.CIPFaultMem) NXB MOV(EN2TSlot2.Data.CIPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[318],kHelp.ENetCardConnect) BND ;

29 <------- EDITED (I) --------> 14 |████████████ | |
NEW RUNG

<@INFO> ################################################################ Auto Fault Reset This timer automatically clears the warning messages after 1 hour if the problem is no longer active. ################################################################ BST XIC(EN2TSlot3.CPUFaultMem) LES(EN2TSlot3.Data.CPUUsage,EN2TSlot3.CPUUsageFltLimit) NXB XIC(EN2TSlot3.CIPFaultMem) LES(EN2TSlot3.Data.CIPConnections,EN2TSlot3.CIPConnectionsFltLimit) NXB XIC(EN2TSlot3.TCPFaultMem) LES(EN2TSlot3.Data.TCPConnections,EN2TSlot3.TCPConnectionsFltLimit) BND MOV(3600000,EN2TSlot3.AutoFltReset.PRE)TON(EN2TSlot3.AutoFltReset,,);

OLD RUNG

<@INFO> ################################################################ Auto Fault Reset This timer automatically clears the warning messages after 1 hour if the problem is no longer active. ################################################################ BST XIC(PLCENET.CPUFaultMem) LES(PLCENET.Data.CPUUsage,PLCENET.CPUUsageFltLimit) NXB XIC(PLCENET.CIPFaultMem) LES(PLCENET.Data.CIPConnections,PLCENET.CIPConnectionsFltLimit) NXB XIC(PLCENET.TCPFaultMem) LES(PLCENET.Data.TCPConnections,PLCENET.TCPConnectionsFltLimit) BND MOV(3600000,PLCENET.AutoFltReset.PRE)TON(PLCENET.AutoFltReset,,);

30 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(EN2TSlot4.CPUFaultMem)XIC(Controller.FaultReset)CLR(EN2TSlot4.Data.MaxCPUUsage);

31 <--- INSERTED |████████████████████
INSERTED RUNG

<@DIAG> # # <Alarm[319]: Slot 4 EN2T CPU Usage /*VAR1*/% Warning /*R*/ Check Network / Program For Excess Traffic > # BST GEQ(EN2TSlot4.Data.CPUUsage,EN2TSlot4.CPUUsageFltLimit) NXB XIC(EN2TSlot4.CPUFaultMem) XIO(EN2TSlot4.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot4.CPUFaultMem) NXB MOV(EN2TSlot4.Data.MaxCPUUsage,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[319],kHelp.ENetCardCPU) BND ;

32 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(EN2TSlot4.TCPFaultMem)XIC(Controller.FaultReset)CLR(EN2TSlot4.Data.MaxTCPConnections);

33 <--- INSERTED |████████████████████
INSERTED RUNG

<@DIAG> # # <Alarm[320]: Slot 4 EN2T TCP Connection Warning /*R*//*VAR1*/ Of 128 Used, Check Module and Network > # BST GEQ(EN2TSlot4.Data.TCPConnections,EN2TSlot4.TCPConnectionsFltLimit) NXB XIC(EN2TSlot4.TCPFaultMem) XIO(EN2TSlot4.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot4.TCPFaultMem) NXB MOV(EN2TSlot4.Data.TCPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[320],kHelp.ENetCardConnect) BND ;

34 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(EN2TSlot4.CIPFaultMem)XIC(Controller.FaultReset)CLR(EN2TSlot4.Data.MaxCIPConnections);

35 <--- INSERTED |████████████████████
INSERTED RUNG

<@DIAG> # # <Alarm[336]: Slot 4 EN2T CIP Connection Warning /*R*//*VAR1*/ Of 256 Used, Check Module and Network > # BST GEQ(EN2TSlot4.Data.CIPConnections,EN2TSlot4.CIPConnectionsFltLimit) NXB XIC(EN2TSlot4.CIPFaultMem) XIO(EN2TSlot4.AutoFltReset.DN) XIO(Controller.FaultReset) BND BST OTE(EN2TSlot4.CIPFaultMem) NXB MOV(EN2TSlot4.Data.CIPConnections,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[336],kHelp.ENetCardConnect) BND ;

36 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ Auto Fault Reset This timer automatically clears the warning messages after 1 hour if the problem is no longer active. ################################################################ BST XIC(EN2TSlot4.CPUFaultMem) LES(EN2TSlot4.Data.CPUUsage,EN2TSlot4.CPUUsageFltLimit) NXB XIC(EN2TSlot4.CIPFaultMem) LES(EN2TSlot4.Data.CIPConnections,EN2TSlot4.CIPConnectionsFltLimit) NXB XIC(EN2TSlot4.TCPFaultMem) LES(EN2TSlot4.Data.TCPConnections,EN2TSlot4.TCPConnectionsFltLimit) BND MOV(3600000,EN2TSlot4.AutoFltReset.PRE)TON(EN2TSlot4.AutoFltReset,,);

| | | | | ROUTINE: B070_EnetNetworkMonitor (I+C) | | | | | (Configure Ethern) | | | | |
1 <------- EDITED (I) --------> 1 | | | | |
NEW RUNG

<@INFO> ################################################################ # The Ethernet Diagnostics routines scan a "network" tag with an array of devices. # # Each Ethernet device should be added to a network. # # Each network will display as one screen (page) on the HMI. # # As many networks as needed can be created. ################################################################ <@TODO> ################################################################ # MOVe the number of Ethernet Network array tags as the source of the MOV instruction # to EnetManager.Netorks. # # The network identification number must be 1, 2, 3, etc. # Do not repeat numbers. # Do not skip numbers. ################################################################ MOV(16,EnetManager.Networks);

OLD RUNG

<@INFO> ################################################################ # The Ethernet Diagnostics routines scan a "network" tag with an array of devices. # # Each Ethernet device should be added to a network. # # Each network will display as one screen (page) on the HMI. # # As many networks as needed can be created. ################################################################ <@TODO> ################################################################ # MOVe the number of Ethernet Network array tags as the source of the MOV instruction # to EnetManager.Netorks. # # The network identification number must be 1, 2, 3, etc. # Do not repeat numbers. # Do not skip numbers. ################################################################ MOV(13,EnetManager.Networks);

25 <------- EDITED (C) --------> 25 | | | | |
NEW RUNG

<@INFO> ################################################################ Ethernet Switch configuration load. ################################################################ <@TODO> ################################################################ Add this rung for each ethernet switch that should be monitored for CRC errors. ################################################################ Enet switch build AOI AOI backing tag. Must be unique Example - TC310ES1AOI in_NetworkNumber ID number of network. Must be 1, 2, 3, etc. DO NOT REPEAT NUMBERS. DO NOT SKIP NUMBERS. SHARED WITH ALL ENETNETWORKS cfgNameID Text list ID from text list declaration. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgNumberOfPorts Number of ports on the switch cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. Use the following: 2000 - 2999 Ethernet switches 2100 - 2199 Hirschmann Octopus Ethernet switches in_CommPath Pointer to Ethernet port for controller Slot Number - for controllers with separate ethernet cards, like EN2T. 0 - for controllers with built in ethernet ports. in_EnetNetwork Controller scope tag for network. in_DisplayNetwork EnetNetwork tag used for za_EnetMapping AOI for the switch in_DeviceArrayPosition Array position value configured on za_EnetMapping AOI for the switch tagEnetLinkStatus EnetLinkStatus tag. tagEnetManager EnetManager tag. Add the network description to the NetworkDescription_TL[x] below. x = Network Number. ################################################################ If a switch port should communicate at 10mb: Program an OTL EnetManager.Tenmb.Port[x] where x=port number at 10mb If a switch port should communicate at Half Duplex: Program an OTL EnetManager.HalfDuplex.Port[x] where x=port number ################################################################ # # <TL100 NetworkDescription_TL[12]: GTG01Z1ES3 - Upper Switch > # za_EnetSwitchBuild(GTG01Z1ES3AOI,12,12,120,15,234,5,28,kConstant.No,2102,2,ENetNetwork12,ENetNetwork1,6,EnetLinkStatus,EnetManager);

OLD RUNG

<@INFO> ################################################################ Ethernet Switch configuration load. ################################################################ <@TODO> ################################################################ Add this rung for each ethernet switch that should be monitored for CRC errors. ################################################################ Enet switch build AOI AOI backing tag. Must be unique Example - TC310ES1AOI in_NetworkNumber ID number of network. Must be 1, 2, 3, etc. DO NOT REPEAT NUMBERS. DO NOT SKIP NUMBERS. SHARED WITH ALL ENETNETWORKS cfgNameID Text list ID from text list declaration. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgNumberOfPorts Number of ports on the switch cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. Use the following: 2000 - 2999 Ethernet switches 2100 - 2199 Hirschmann Octopus Ethernet switches in_CommPath Pointer to Ethernet port for controller Slot Number - for controllers with separate ethernet cards, like EN2T. 0 - for controllers with built in ethernet ports. in_EnetNetwork Controller scope tag for network. in_DisplayNetwork EnetNetwork tag used for za_EnetMapping AOI for the switch in_DeviceArrayPosition Array position value configured on za_EnetMapping AOI for the switch tagEnetLinkStatus EnetLinkStatus tag. tagEnetManager EnetManager tag. Add the network description to the NetworkDescription_TL[x] below. x = Network Number. ################################################################ If a switch port should communicate at 10mb: Program an OTL EnetManager.Tenmb.Port[x] where x=port number at 10mb If a switch port should communicate at Half Duplex: Program an OTL EnetManager.HalfDuplex.Port[x] where x=port number ################################################################ # # <TL100 NetworkDescription_TL[12]: GTG01Z1ES3 - Left Private Switch > # za_EnetSwitchBuild(GTG01Z1ES3AOI,12,12,120,15,234,5,28,kConstant.No,2102,2,ENetNetwork12,ENetNetwork1,6,EnetLinkStatus,EnetManager);

26 <------- EDITED (I+C) ------> 26 | | | | |
NEW RUNG

<@INFO> ################################################################ Ethernet Switch configuration load. ################################################################ <@TODO> ################################################################ Add this rung for each ethernet switch that should be monitored for CRC errors. ################################################################ Enet switch build AOI AOI backing tag. Must be unique Example - TC310ES1AOI in_NetworkNumber ID number of network. Must be 1, 2, 3, etc. DO NOT REPEAT NUMBERS. DO NOT SKIP NUMBERS. SHARED WITH ALL ENETNETWORKS cfgNameID Text list ID from text list declaration. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgNumberOfPorts Number of ports on the switch cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. Use the following: 2000 - 2999 Ethernet switches 2100 - 2199 Hirschmann Octopus Ethernet switches in_CommPath Pointer to Ethernet port for controller Slot Number - for controllers with separate ethernet cards, like EN2T. 0 - for controllers with built in ethernet ports. in_EnetNetwork Controller scope tag for network. in_DisplayNetwork EnetNetwork tag used for za_EnetMapping AOI for the switch in_DeviceArrayPosition Array position value configured on za_EnetMapping AOI for the switch tagEnetLinkStatus EnetLinkStatus tag. tagEnetManager EnetManager tag. Add the network description to the NetworkDescription_TL[x] below. x = Network Number. ################################################################ If a switch port should communicate at 10mb: Program an OTL EnetManager.Tenmb.Port[x] where x=port number at 10mb If a switch port should communicate at Half Duplex: Program an OTL EnetManager.HalfDuplex.Port[x] where x=port number ################################################################ # # <TL100 NetworkDescription_TL[13]: GTG01Z1ES11 - Left Private Switch > # za_EnetSwitchBuild(GTG01Z1ES11AOI,13,13,120,15,234,6,8,kConstant.No,2102,2,ENetNetwork13,ENetNetwork1,7,EnetLinkStatus,EnetManager);

OLD RUNG

<@INFO> ################################################################ Ethernet Switch configuration load. ################################################################ <@TODO> ################################################################ Add this rung for each ethernet switch that should be monitored for CRC errors. ################################################################ Enet switch build AOI AOI backing tag. Must be unique Example - TC310ES1AOI in_NetworkNumber ID number of network. Must be 1, 2, 3, etc. DO NOT REPEAT NUMBERS. DO NOT SKIP NUMBERS. SHARED WITH ALL ENETNETWORKS cfgNameID Text list ID from text list declaration. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgNumberOfPorts Number of ports on the switch cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. Use the following: 2000 - 2999 Ethernet switches 2100 - 2199 Hirschmann Octopus Ethernet switches in_CommPath Pointer to Ethernet port for controller Slot Number - for controllers with separate ethernet cards, like EN2T. 0 - for controllers with built in ethernet ports. in_EnetNetwork Controller scope tag for network. in_DisplayNetwork EnetNetwork tag used for za_EnetMapping AOI for the switch in_DeviceArrayPosition Array position value configured on za_EnetMapping AOI for the switch tagEnetLinkStatus EnetLinkStatus tag. tagEnetManager EnetManager tag. Add the network description to the NetworkDescription_TL[x] below. x = Network Number. ################################################################ If a switch port should communicate at 10mb: Program an OTL EnetManager.Tenmb.Port[x] where x=port number at 10mb If a switch port should communicate at Half Duplex: Program an OTL EnetManager.HalfDuplex.Port[x] where x=port number ################################################################ # # <TL100 NetworkDescription_TL[13]: GTG01Z1ES4 - Right Private Switch > # za_EnetSwitchBuild(GTG01Z1ES4AOI,13,13,120,15,234,6,28,kConstant.No,2102,2,ENetNetwork13,ENetNetwork1,7,EnetLinkStatus,EnetManager);

27 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ Ethernet Switch configuration load. ################################################################ <@TODO> ################################################################ Add this rung for each ethernet switch that should be monitored for CRC errors. ################################################################ Enet switch build AOI AOI backing tag. Must be unique Example - TC310ES1AOI in_NetworkNumber ID number of network. Must be 1, 2, 3, etc. DO NOT REPEAT NUMBERS. DO NOT SKIP NUMBERS. SHARED WITH ALL ENETNETWORKS cfgNameID Text list ID from text list declaration. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgNumberOfPorts Number of ports on the switch cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. Use the following: 2000 - 2999 Ethernet switches 2100 - 2199 Hirschmann Octopus Ethernet switches in_CommPath Pointer to Ethernet port for controller Slot Number - for controllers with separate ethernet cards, like EN2T. 0 - for controllers with built in ethernet ports. in_EnetNetwork Controller scope tag for network. in_DisplayNetwork EnetNetwork tag used for za_EnetMapping AOI for the switch in_DeviceArrayPosition Array position value configured on za_EnetMapping AOI for the switch tagEnetLinkStatus EnetLinkStatus tag. tagEnetManager EnetManager tag. Add the network description to the NetworkDescription_TL[x] below. x = Network Number. ################################################################ If a switch port should communicate at 10mb: Program an OTL EnetManager.Tenmb.Port[x] where x=port number at 10mb If a switch port should communicate at Half Duplex: Program an OTL EnetManager.HalfDuplex.Port[x] where x=port number ################################################################ # # <TL100 NetworkDescription_TL[14]: GTG01Z1ES12 - Right Private Switch > # za_EnetSwitchBuild(GTG01Z1ES12AOI,14,14,120,15,113,8,8,kConstant.No,2102,2,ENetNetwork14,ENetNetwork1,8,EnetLinkStatus,EnetManager);

28 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ Ethernet Switch configuration load. ################################################################ <@TODO> ################################################################ Add this rung for each ethernet switch that should be monitored for CRC errors. ################################################################ Enet switch build AOI AOI backing tag. Must be unique Example - TC310ES1AOI in_NetworkNumber ID number of network. Must be 1, 2, 3, etc. DO NOT REPEAT NUMBERS. DO NOT SKIP NUMBERS. SHARED WITH ALL ENETNETWORKS cfgNameID Text list ID from text list declaration. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgNumberOfPorts Number of ports on the switch cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. Use the following: 2000 - 2999 Ethernet switches 2100 - 2199 Hirschmann Octopus Ethernet switches in_CommPath Pointer to Ethernet port for controller Slot Number - for controllers with separate ethernet cards, like EN2T. 0 - for controllers with built in ethernet ports. in_EnetNetwork Controller scope tag for network. in_DisplayNetwork EnetNetwork tag used for za_EnetMapping AOI for the switch in_DeviceArrayPosition Array position value configured on za_EnetMapping AOI for the switch tagEnetLinkStatus EnetLinkStatus tag. tagEnetManager EnetManager tag. Add the network description to the NetworkDescription_TL[x] below. x = Network Number. ################################################################ If a switch port should communicate at 10mb: Program an OTL EnetManager.Tenmb.Port[x] where x=port number at 10mb If a switch port should communicate at Half Duplex: Program an OTL EnetManager.HalfDuplex.Port[x] where x=port number ################################################################ # # <TL100 NetworkDescription_TL[15]: GTG01Z1ES13 - Left Private Switch > # za_EnetSwitchBuild(GTG01Z1ES13AOI,15,15,120,15,113,9,8,kConstant.No,2102,2,ENetNetwork15,ENetNetwork1,9,EnetLinkStatus,EnetManager);

29 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ Ethernet Switch configuration load. ################################################################ <@TODO> ################################################################ Add this rung for each ethernet switch that should be monitored for CRC errors. ################################################################ Enet switch build AOI AOI backing tag. Must be unique Example - TC310ES1AOI in_NetworkNumber ID number of network. Must be 1, 2, 3, etc. DO NOT REPEAT NUMBERS. DO NOT SKIP NUMBERS. SHARED WITH ALL ENETNETWORKS cfgNameID Text list ID from text list declaration. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgNumberOfPorts Number of ports on the switch cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. Use the following: 2000 - 2999 Ethernet switches 2100 - 2199 Hirschmann Octopus Ethernet switches in_CommPath Pointer to Ethernet port for controller Slot Number - for controllers with separate ethernet cards, like EN2T. 0 - for controllers with built in ethernet ports. in_EnetNetwork Controller scope tag for network. in_DisplayNetwork EnetNetwork tag used for za_EnetMapping AOI for the switch in_DeviceArrayPosition Array position value configured on za_EnetMapping AOI for the switch tagEnetLinkStatus EnetLinkStatus tag. tagEnetManager EnetManager tag. Add the network description to the NetworkDescription_TL[x] below. x = Network Number. ################################################################ If a switch port should communicate at 10mb: Program an OTL EnetManager.Tenmb.Port[x] where x=port number at 10mb If a switch port should communicate at Half Duplex: Program an OTL EnetManager.HalfDuplex.Port[x] where x=port number ################################################################ # # <TL100 NetworkDescription_TL[16]: GTG01Z1ES14 - Right Private Switch > # za_EnetSwitchBuild(GTG01Z1ES14AOI,16,16,120,15,113,10,8,kConstant.No,2102,2,ENetNetwork16,ENetNetwork1,10,EnetLinkStatus,EnetManager);

| | | | | ROUTINE: X010_QDIMessaging (I) (Retrieves record) | | | | |
2 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.31)GRT(QDIQueue.Length,9)FLL(0,QDIQueue.Queue[0],500)MOV(0,QDIQueue.Length);

7 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # Create Pulse every 10 sec. # For Resend Message ################################################################ XIO(_HTI.31)XIC(QDIMsg.Send.Auto)BST OTE(QDIMsg.Send.AutoSetup) NXB MOV(10000,QDIMsg.IntervalTMR.PRE) NXB XIO(QDIMsg.NewDataONS) XIO(QDIMsg.IntervalTMR.DN) TON(QDIMsg.IntervalTMR,,) BND ;

OLD RUNG

<@INFO> ################################################################ # Create Pulse every 10 sec. # For Resend Message ################################################################ XIC(QDIMsg.Send.Auto)BST OTE(QDIMsg.Send.AutoSetup) NXB MOV(10000,QDIMsg.IntervalTMR.PRE) NXB XIO(QDIMsg.NewDataONS) XIO(QDIMsg.IntervalTMR.DN) TON(QDIMsg.IntervalTMR,,) BND ;

| | | | | ROUTINE: X020_TraceMessaging (I) () | | | | |
9 <------- EDITED (I) --------> 9 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Confirm Data Transfer Completed # Branch with XIO TempOFF has to be removed after # Multi part barcode evaluation ################################################################ XIC(TRaceMsg.Send.ProcComp)BST ADD(TRaceMsgPartNum,1,TRaceMsgPartNum) NXB GEQ(TRaceMsgPartNum,TraceBuffer.Tracebility.NumOfParts) OTE(TRaceMsg.Send.Comp) BND ;

OLD RUNG

<@INFO> ################################################################ # Confirm Data Transfer Completed # Branch with XIO TempOFF has to be removed after # Multi part barcode evaluation ################################################################ XIC(TRaceMsg.Send.ProcComp)BST ADD(TRaceMsgPartNum,1,TRaceMsgPartNum) NXB BST GEQ(TRaceMsgPartNum,TraceBuffer.Tracebility.NumOfParts) NXB GEQ(TRaceMsgPartNum,1) BND OTE(TRaceMsg.Send.Comp) BND ;

| | | | | PROGRAM: GTG01Z1 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: A000_Main (I) (Main Control Rou) | | | | |
DELETED --> 10 |████████████████████
DELETED RUNG

XIC(ConvStatus.DataShiftONS)OTU(ConvStatus.DataShiftONS);

| | | | | ROUTINE: B001_MapInputs (I) (Maps Real Input ) | | | | |
2 <------- EDITED (I) --------> 2 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[9021]: GTG01Z1D1> # za_EnetMapping(EnetAddressTableLoad,D1.Comm,1,9021,192,168,1,245,kConstant.Yes,kConstant.Yes,2,kConstant.Yes,kConstant.Yes,10000,2,ENetNetwork9);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[9021]: GTG01Z1D1> # za_EnetMapping(EnetAddressTableLoad,D1.Comm,21,9021,192,168,1,245,kConstant.Yes,kConstant.Yes,2,kConstant.Yes,kConstant.Yes,10000,2,ENetNetwork9);

| | | | | ROUTINE: B002_MapOutputs (I) (Maps Output Data) | | | | |
1 <------- EDITED (I) --------> 1 | | | | |
NEW RUNG

<@TODO> ################################################################ # Set Communication Statuses In Runtime Status Array. ################################################################ BST EQU(ODD1Share.TransProcFlt,0) OTE(RuntimeStatus1[0,0].1) NXB XIC(CG_GTG01Z1Controller.RunOK) OTE(RuntimeStatus1[0,0].2) NXB XIC(ConfigControl.DownloadInProgress) OTE(RuntimeStatus1[0,0].3) BND ;

OLD RUNG

<@TODO> ################################################################ # Set Communication Statuses In Runtime Status Array. ################################################################ BST EQU(ODD1Share.TransProcFlt,0) OTE(RuntimeStatus1[0,0].1) NXB XIC(CG_GTG01Controller.RunOK) OTE(RuntimeStatus1[0,0].2) NXB XIC(ConfigControl.DownloadInProgress) OTE(RuntimeStatus1[0,0].3) BND ;

5 <------- EDITED (I) --------> 5 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # ECS-5322 Fault Beacon output mapping. # If an HMI is shared by more than 1 cell, only 1 should have this software. # # Fault Light # # Program the fault light status (XIC AAccXDY.FltBcn) from each cell in parallel # In place of the TBD. Delete the TBD branch if HMI is not shared. ################################################################ BST XIC(D1.FltBcn) XIC(Flash.Norm) NXB XIC(Cell.Req.LampTest) BND OTE(D1.O.F108LT);

OLD RUNG

<@INFO> ################################################################ # ECS-5322 Fault Beacon output mapping. # If an HMI is shared by more than 1 cell, only 1 should have this software. # # Fault Light # # Program the fault light status (XIC AAccXDY.FltBcn) from each cell in parallel # In place of the TBD. Delete the TBD branch if HMI is not shared. ################################################################ BST BST XIC(D1.FltBcn) NXB XIC(TBD) BND XIC(Flash.Norm) NXB XIC(Cell.Req.LampTest) BND OTE(D1.O.F108LT);

| | | | | ROUTINE: B004_Parameters (I) (Sets Program Par) | | | | |
4 <------- EDITED (I) --------> 4 |████████ | | |
NEW RUNG

<@TODO> ################################################################ # Program Name using Ascii Codes for Characters. ################################################################ MOV(8,HMI.Diag.Pgm.Name.LEN)BST MOV(71,HMI.Diag.Pgm.Name.DATA[0]) NXB MOV(84,HMI.Diag.Pgm.Name.DATA[1]) NXB MOV(71,HMI.Diag.Pgm.Name.DATA[2]) NXB MOV(48,HMI.Diag.Pgm.Name.DATA[3]) NXB MOV(49,HMI.Diag.Pgm.Name.DATA[4]) NXB MOV(90,HMI.Diag.Pgm.Name.DATA[5]) NXB MOV(49,HMI.Diag.Pgm.Name.DATA[6]) BND ;

OLD RUNG

<@TODO> ################################################################ # Program Name using Ascii Codes for Characters. ################################################################ MOV(9,HMI.Diag.Pgm.Name.LEN)BST MOV(71,HMI.Diag.Pgm.Name.DATA[0]) NXB MOV(84,HMI.Diag.Pgm.Name.DATA[1]) NXB MOV(71,HMI.Diag.Pgm.Name.DATA[2]) NXB MOV(48,HMI.Diag.Pgm.Name.DATA[3]) NXB MOV(48,HMI.Diag.Pgm.Name.DATA[4]) NXB MOV(49,HMI.Diag.Pgm.Name.DATA[5]) NXB MOV(84,HMI.Diag.Pgm.Name.DATA[6]) NXB MOV(90,HMI.Diag.Pgm.Name.DATA[7]) NXB MOV(49,HMI.Diag.Pgm.Name.DATA[8]) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | ROUTINE: B016_EPSimJobdataAuto (I) | | | | | (Error Proofing S) | | | | |
DELETED --> 12 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Convert ODD Alternate Key Data into # Job Data Decimal Carrier ID Number. # # Remove XIC(TBD) instruction if GEPICS sends Carrier ID Number as # Alternate Key OR Delete this rung if GEPICS does not. ################################################################ XIC(TBD)COP(SimData.Jobdata.Options[1],SimData.Jobdata.Carrier,1);

| | | | | ROUTINE: C001_InterlockStatus (I+C) | | | | | (Detect Interlock) | | | | |
1 <------- EDITED (I+C) ------> 1 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1012]: GVD01ES1> # za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,12,1012,120,15,102,12,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.Yes,2101,1,ENetNetwork1);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1013]: GAz1ES1> # za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,13,1013,120,15,255,11,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.Yes,2101,1,ENetNetwork1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1012]: GTG01ES1> # za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,12,1012,120,15,255,12,kConstant.Yes,kConstant.No,24,kConstant.No,kConstant.Yes,2101,1,ENetNetwork1);

2 <------- EDITED (I) --------> 3 |████| | | |
NEW RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@INFO> ################################################################ Rockwell 1734 Slice I/O modules have a "Rack Optimization" setting. If Rack Optimization is used, the standard (non safety) I/O connections are combined into 1 connection controlled by the AENT chassis adapter module. Safety modules are NOT included in that connection. If "Rack Optimization" is used, include the AENT module, do not include standard modules on this AOI. Safety modules must be used. If "Rack Optimization" is used and there are no safety modules, use the za_EnetIOModule AOI and connect the AENT module. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,CG_GTG01Z1Controller.Comm,CG_GTG01Z1,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

OLD RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@INFO> ################################################################ Rockwell 1734 Slice I/O modules have a "Rack Optimization" setting. If Rack Optimization is used, the standard (non safety) I/O connections are combined into 1 connection controlled by the AENT chassis adapter module. Safety modules are NOT included in that connection. If "Rack Optimization" is used, include the AENT module, do not include standard modules on this AOI. Safety modules must be used. If "Rack Optimization" is used and there are no safety modules, use the za_EnetIOModule AOI and connect the AENT module. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,CG_GTG01Controller.Comm,CG_GTG01,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

3 <------- EDITED (I+C) ------> 4 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1013]: CG_GVD01PLC> # za_EnetMapping(EnetAddressTableLoad,CG_GTG01Z1Controller.Comm,13,1013,120,15,102,30,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork1);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1011]: CG_GTG01PLC> # za_EnetMapping(EnetAddressTableLoad,CG_GTG01Controller.Comm,13,1013,120,15,255,30,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork1);

4 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(CG_GTG01Z1toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIC(CG_GTG01Z1toEP_GTG01Z1Interlocks.Comm.RunMode)OTE(CG_GTG01Z1Controller.RunOK);

DELETED --> 5 |████████████████████
DELETED RUNG

XIO(CG_GTG01toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIC(CG_GTG01toEP_GTG01Z1Interlocks.Comm.RunMode)OTE(CG_GTG01Controller.RunOK);

5 <------- EDITED (I+C) ------> 6 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[120]: Remote Controller CG_GAc1 Not in Run > # XIO(CG_GTG01Z1toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIO(CG_GTG01Z1toEP_GTG01Z1Interlocks.Comm.RunMode)JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[120],kHelp.RemProc);

OLD RUNG

<@DIAG> # # <Alarm[120]: Remote Controller CG_GTG01 Not in Run > # XIO(CG_GTG01toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIO(CG_GTG01toEP_GTG01Z1Interlocks.Comm.RunMode)JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[120],kHelp.RemProc);

6 <------- EDITED (I+C) ------> 7 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[122]: Comm Fault to Controller CG_GAc1 /*R*/ Producer/Consumer Fault > # XIO(_HTI.31)BST XIC(CG_GTG01Z1toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted) NXB XIC(CG_GTG01Z1Controller.ProdConsFltMem) XIO(Cell.Req.FaultReset) BND BST OTE(CG_GTG01Z1Controller.ProdConsFltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[122],kHelp.ProdConsume) BND ;

OLD RUNG

<@DIAG> # # <Alarm[122]: Comm Fault to Controller CG_GTG01 /*R*/ Producer/Consumer Fault > # BST XIC(CG_GTG01toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted) NXB XIC(CG_GTG01Controller.ProdConsFltMem) XIO(Cell.Req.FaultReset) BND BST OTE(CG_GTG01Controller.ProdConsFltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[122],kHelp.ProdConsume) BND ;

7 <------- EDITED (I+C) ------> 8 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[123]: CG_GAc1 PLC Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.102.30 > # <Alarm[124]: CG_GAc1 PLC Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.102.30 > # BST XIC(CG_GTG01Z1Controller.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[123],kHelp.ENetCRCErrors) NXB XIC(CG_GTG01Z1Controller.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[124],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@DIAG> # # <Alarm[123]: CG_GTG01 PLC Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.255.30 > # <Alarm[124]: CG_GTG01 PLC Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.255.30 > # BST XIC(CG_GTG01Controller.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[123],kHelp.ENetCRCErrors) NXB XIC(CG_GTG01Controller.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[124],kHelp.ENetPortCommWrn) BND ;

| | | | | ROUTINE: X030_EPRuntimeDataMessaging (I) | | | | | (Sends Build Data) | | | | |
3 <------- EDITED (I) --------> 3 | | | | |
NEW RUNG

<@INFO> ################################################################ # Increment the Footprint Index, Modify the text of Message Remote Element # name based on the Footprint Index and Set the Transaction Start AFTER # the previous Transaction is Complete for one scan. Set the Runtime # Command In Progress IF a Runtime Command triggered the Data Messaging. ################################################################ <@TODO> ################################################################ # Configure Source B of the LES instruction to the Number of Footprint Tags in the # Runtime MPG Server. Modify the RuntimeDataMsg.RemoteElement.DATA[xx] array # element references based on the location of the Footprint Number variables in the # message Destination Element name IF the length of the Controller Name changes. ################################################################ XIO(RuntimeData.TransStart)BST XIC(RuntimeData.TransComp) NXB XIO(RuntimeData.Sending) BND BST LES(RuntimeData.Index,3) BST ADD(RuntimeData.Index,1,RuntimeData.Index) MOV(RuntimeData.Index,RuntimeDataMsg.LocalIndex) OTL(RuntimeData.TransStart) NXB DIV(RuntimeData.Index,10,RuntimeDataMsg.RemoteElement.DATA[13]) ADD(RuntimeDataMsg.RemoteElement.DATA[13],48,RuntimeDataMsg.RemoteElement.DATA[13]) NXB MOD(RuntimeData.Index,10,RuntimeDataMsg.RemoteElement.DATA[14]) ADD(RuntimeDataMsg.RemoteElement.DATA[14],48,RuntimeDataMsg.RemoteElement.DATA[14]) BND NXB XIC(RuntimeControl.CommandONS) XIO(RuntimeData.Sending) EQU(RuntimeControl.Command,1024) OTL(RuntimeControl.CommandInProgress) NXB OTL(RuntimeData.Sending) OTU(RuntimeData.TransInProgress) OTU(RuntimeData.TransComp) BND ;

OLD RUNG

<@INFO> ################################################################ # Increment the Footprint Index, Modify the text of Message Remote Element # name based on the Footprint Index and Set the Transaction Start AFTER # the previous Transaction is Complete for one scan. Set the Runtime # Command In Progress IF a Runtime Command triggered the Data Messaging. ################################################################ <@TODO> ################################################################ # Configure Source B of the LES instruction to the Number of Footprint Tags in the # Runtime MPG Server. Modify the RuntimeDataMsg.RemoteElement.DATA[xx] array # element references based on the location of the Footprint Number variables in the # message Destination Element name IF the length of the Controller Name changes. ################################################################ XIO(RuntimeData.TransStart)BST XIC(RuntimeData.TransComp) NXB XIO(RuntimeData.Sending) BND BST LES(RuntimeData.Index,4) BST ADD(RuntimeData.Index,1,RuntimeData.Index) MOV(RuntimeData.Index,RuntimeDataMsg.LocalIndex) OTL(RuntimeData.TransStart) NXB DIV(RuntimeData.Index,10,RuntimeDataMsg.RemoteElement.DATA[13]) ADD(RuntimeDataMsg.RemoteElement.DATA[13],48,RuntimeDataMsg.RemoteElement.DATA[13]) NXB MOD(RuntimeData.Index,10,RuntimeDataMsg.RemoteElement.DATA[14]) ADD(RuntimeDataMsg.RemoteElement.DATA[14],48,RuntimeDataMsg.RemoteElement.DATA[14]) BND NXB XIC(RuntimeControl.CommandONS) XIO(RuntimeData.Sending) EQU(RuntimeControl.Command,1024) OTL(RuntimeControl.CommandInProgress) NXB OTL(RuntimeData.Sending) OTU(RuntimeData.TransInProgress) OTU(RuntimeData.TransComp) BND ;

| | | | | ROUTINE: zZ110_EPConfigDownload1 (I) | | | | | (Manage Error Pro) | | | | |
12 <------- EDITED (I) --------> 12 | | | | |
NEW RUNG

<@INFO> #======================================================= # This rung updates existing Build Data as required and # Applies downloaded Triggers & Configurations. # # Wait until conveyor is at FPS with either all tasks or no tasks complete # (for all jobs) before changing Build Data, Configurations or Triggers. # # Set Download In Production bits and Clear Download Complete & # Buid Data Ready bits, then jump routine execution over Alarms. #======================================================= XIC(ConfigControl.BuildDataReady)BST BST XIC(ConvStatus.AtFPS) XIC(ConvStatus.AllTasksComp) XIC(ConvStatus.OkayToRun) XIO(ConvStatus.StoppedByERP) NXB XIC(SimStatus.InSimMode) BND XIO(ConfigControl.Running) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIC(_HTI.31) BND BND BST COP(ConfigControl.VersionConfirm,RuntimeStatus1[0,2],2) JSR(zZ114_EPConfigUpdate1,0) NXB OTL(ConfigControl.DownloadInProd) OTL(ConfigControl.DownloadInProdONS) OTU(ConfigControl.DownloadComplete) OTU(ConfigControl.BuildDataReady) BND ;

OLD RUNG

<@INFO> #======================================================= # This rung updates existing Build Data as required and # Applies downloaded Triggers & Configurations. # # Wait until conveyor is at FPS with either all tasks or no tasks complete # (for all jobs) before changing Build Data, Configurations or Triggers. # # Set Download In Production bits and Clear Download Complete & # Buid Data Ready bits, then jump routine execution over Alarms. #======================================================= XIC(ConfigControl.BuildDataReady)BST BST XIC(ConvStatus.AtFPS) XIC(ConvStatus.AllTasksComp) XIC(ConvStatus.OkayToRun) XIO(ConvStatus.StoppedByERP) NXB XIC(SimStatus.InSimMode) BND XIO(ConfigControl.Running) NXB XIC(ConvStatus.ResetAllTasks) BND BST COP(ConfigControl.VersionConfirm,RuntimeStatus1[0,2],2) JSR(zZ114_EPConfigUpdate1,0) NXB OTL(ConfigControl.DownloadInProd) OTL(ConfigControl.DownloadInProdONS) OTU(ConfigControl.DownloadComplete) OTU(ConfigControl.BuildDataReady) BND ;

| | | | | PROGRAM: FPEntry1 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: A000_Main (I) (Main Control Rou) | | | | |
15 <--- INSERTED |████████████████████
INSERTED RUNG

<@TODO> ################################################################ # Replace the XIO(TBD) instruction with an XIC(AlwaysOff) instruction to # Disable the JSR once the GEPICS server is available to send build data. ################################################################ XIC(_HTI.2)XIC(ODD1Share.TrigReq.TransStart)XIO(API.CNV[0].Simulated.Enabled)JSR(B302_ODD1ClientSim_EP1,0);

| | | | | ROUTINE: B001_MapInputs (I+C) (Maps Real Input ) | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Map real world inputs from each node into internal tags and # diagnose connection status ################################################################ <@TODO> ################################################################ # Add a mapping rung for each cell level safe and standard node ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.413><@EDITS ALLOWED> <@SYS> ################################################################ # Map real world inputs from each node into internal tags and # diagnose connection status ################################################################ <@TODO> ################################################################ # Add a mapping rung for each cell level safe and standard node ################################################################ OTE(RungComment);

1 <------- EDITED (I) --------> 1 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Z1Controller.RunOK)CPS(CG_GTG01Z1toEP_GTG01Z1Interlocks.ToFP[0],FromConveyor,1);

OLD RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Controller.RunOK)CPS(CG_GTG01toEP_GTG01Z1Interlocks.ToFP[0],FromConveyor,1);

DELETED --> 6 |████████████████████
DELETED RUNG

JSR(B930_MapInputsBC,0);

6 <------- EDITED (I) --------> 4 |████████ | | |
NEW RUNG

JSR(B971_MapInputsPT,0);

OLD RUNG

JSR(B912_MapInputsTC,0);

9 <------- EDITED (I) --------> 10 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2001]: LTC1BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,1,2001,192,168,1,2,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,2,ENetNetwork2);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2001]: LTC1BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,1,2001,192,168,1,2,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

13 <------- EDITED (I) --------> 20 | | | | |
NEW RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,EntryBarcode[0].Comm,LTCBC01,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

OLD RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,EntryBarcode[0].Comm,LTC1BC2,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

14 <------- EDITED (I) --------> 21 | | | | |
NEW RUNG

<@INFO> ################################################################ # Line Tracking Console (LTC) Backup Barcode Scanner # Ethernet Status / Diagnostics / Map Inputs ################################################################ BST XIC(EntryBarcode[0].Comm.OK) za_EPBarcodeComtrol(EntryComtrol[0],LTCBC01:I.Data,EntryBarcode[0]) NXB XIO(EntryBarcode[0].Comm.OK) FLL(0,EntryBarcode[0].I,1) BND ;

OLD RUNG

<@INFO> ################################################################ # Line Tracking Console (LTC) Backup Barcode Scanner # Ethernet Status / Diagnostics / Map Inputs ################################################################ BST XIC(EntryBarcode[0].Comm.OK) za_EPBarcodeComtrol(EntryComtrol[0],LTC1BC2:I.Data,EntryBarcode[0]) NXB XIO(EntryBarcode[0].Comm.OK) FLL(0,EntryBarcode[0].I,1) BND ;

15 <------- EDITED (I) --------> 22 |████████████ | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Delete branch with XIC(ConvStatus.AtStop instruction if carrier can't be detected at Stop. # Delete branch with XIC(ConvStatus.Entering instruction if carrier can't be detected while Entering. # Set limits for LIM instruction to the sensor input range that detects the carrier. ################################################################ XIC(AlwaysOff)BST BST XIC(ConvStatus.Entering) NXB XIC(ConvStatus.AtStop) BND EQU(MB[0].Port[2].Sts.DID,1049344) EQU(MB[0].Port[2].Sts.VID,1) LIM(-40,MB[0].Port[2].I.Data[1],20) MOV(2000,LineTrackingID.IDSW1Dwell.PRE) TON(LineTrackingID.IDSW1Dwell,,) NXB BST XIC(LineTrackingID.IDSW1Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW1Dwell.DN) BND OTL(LineTrackingID.IDSW1mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIO(ConvStatus.Entering) XIO(ConvStatus.AtStop) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW1mem) NXB BST XIC(LineTrackingID.IDSW1Dwell.EN) NXB XIC(LineTrackingID.IDSW1mem) BND OTL(LineTrackingID.IDSW1) NXB XIO(LineTrackingID.IDSW1Dwell.EN) XIO(LineTrackingID.IDSW1mem) OTU(LineTrackingID.IDSW1) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Delete branch with XIC(ConvStatus.AtStop instruction if carrier can't be detected at Stop. # Delete branch with XIC(ConvStatus.Entering instruction if carrier can't be detected while Entering. # Set limits for LIM instruction to the sensor input range that detects the carrier. ################################################################ XIC(TBD)BST BST XIC(ConvStatus.Entering) NXB XIC(ConvStatus.AtStop) BND EQU(MB[0].Port[2].Sts.DID,1049344) EQU(MB[0].Port[2].Sts.VID,1) LIM(-40,MB[0].Port[2].I.Data[1],20) MOV(2000,LineTrackingID.IDSW1Dwell.PRE) TON(LineTrackingID.IDSW1Dwell,,) NXB BST XIC(LineTrackingID.IDSW1Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW1Dwell.DN) BND OTL(LineTrackingID.IDSW1mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIO(ConvStatus.Entering) XIO(ConvStatus.AtStop) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW1mem) NXB BST XIC(LineTrackingID.IDSW1Dwell.EN) NXB XIC(LineTrackingID.IDSW1mem) BND OTE(LineTrackingID.IDSW1) BND ;

16 <------- EDITED (I) --------> 23 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[105]: Carrier Detect Switch IDSW1 in Master BK01 /*R*/ Not Connected to Port 2> # <Alarm[106]: Carrier Detect Switch IDSW1 Wrong Device /*R*/ in Master BK01 Port 2> # XIC(AlwaysOff)BST BST XIO(MB[0].Port[2].Sts.Status.0) NXB XIO(MB[0].Port[2].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[105],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[2].Sts.VID,1) NXB NEQ(MB[0].Port[2].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[106],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[105]: Carrier Detect Switch IDSW1 in Master BK01 /*R*/ Not Connected to Port 2> # <Alarm[106]: Carrier Detect Switch IDSW1 Wrong Device /*R*/ in Master BK01 Port 2> # XIC(TBD)BST BST XIO(MB[0].Port[2].Sts.Status.0) NXB XIO(MB[0].Port[2].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[105],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[2].Sts.VID,1) NXB NEQ(MB[0].Port[2].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[106],kHelp.ENetCardConnect) BND ;

17 <------- EDITED (I) --------> 24 |████████████ | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Delete branch with XIC(ConvStatus.AtStop instruction if job can't be detected at Stop. # Delete branch with XIC(ConvStatus.Entering instruction if job can't be detected while Entering. # Set limits for LIM instruction to the sensor input range that detects the job. ################################################################ XIC(AlwaysOff)BST BST XIC(ConvStatus.Entering) NXB XIC(ConvStatus.AtStop) BND EQU(MB[0].Port[3].Sts.DID,1049344) EQU(MB[0].Port[3].Sts.VID,1) LIM(-40,MB[0].Port[3].I.Data[1],20) MOV(2000,LineTrackingID.IDSW2Dwell.PRE) TON(LineTrackingID.IDSW2Dwell,,) NXB BST XIC(LineTrackingID.IDSW2Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW2Dwell.DN) BND OTL(LineTrackingID.IDSW2mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIO(ConvStatus.Entering) XIO(ConvStatus.AtStop) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW2mem) NXB BST XIC(LineTrackingID.IDSW2Dwell.EN) NXB XIC(LineTrackingID.IDSW2mem) BND OTL(LineTrackingID.IDSW2) NXB XIO(LineTrackingID.IDSW2Dwell.EN) XIO(LineTrackingID.IDSW2mem) OTU(LineTrackingID.IDSW2) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Delete branch with XIC(ConvStatus.AtStop instruction if job can't be detected at Stop. # Delete branch with XIC(ConvStatus.Entering instruction if job can't be detected while Entering. # Set limits for LIM instruction to the sensor input range that detects the job. ################################################################ XIC(TBD)BST BST XIC(ConvStatus.Entering) NXB XIC(ConvStatus.AtStop) BND EQU(MB[0].Port[3].Sts.DID,1049344) EQU(MB[0].Port[3].Sts.VID,1) LIM(-40,MB[0].Port[3].I.Data[1],20) MOV(2000,LineTrackingID.IDSW2Dwell.PRE) TON(LineTrackingID.IDSW2Dwell,,) NXB BST XIC(LineTrackingID.IDSW2Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW2Dwell.DN) BND OTL(LineTrackingID.IDSW2mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIO(ConvStatus.Entering) XIO(ConvStatus.AtStop) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW2mem) NXB BST XIC(LineTrackingID.IDSW2Dwell.EN) NXB XIC(LineTrackingID.IDSW2mem) BND OTE(LineTrackingID.IDSW2) BND ;

18 <------- EDITED (I) --------> 25 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[107]: Job Detect Switch IDSW2 in Master BK01 /*R*/ Not Connected to Port 3> # <Alarm[108]: Job Detect Switch IDSW2 Wrong Device /*R*/ in Master BK01 Port 3> # XIC(AlwaysOff)BST BST XIO(MB[0].Port[3].Sts.Status.0) NXB XIO(MB[0].Port[3].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[107],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[3].Sts.VID,1) NXB NEQ(MB[0].Port[3].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[108],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[107]: Job Detect Switch IDSW2 in Master BK01 /*R*/ Not Connected to Port 3> # <Alarm[108]: Job Detect Switch IDSW2 Wrong Device /*R*/ in Master BK01 Port 3> # XIC(TBD)BST BST XIO(MB[0].Port[3].Sts.Status.0) NXB XIO(MB[0].Port[3].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[107],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[3].Sts.VID,1) NXB NEQ(MB[0].Port[3].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[108],kHelp.ENetCardConnect) BND ;

19 <------- EDITED (I+C) ------> 26 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Set limits for 1st LIM instruction to the conveyor travel range where the carrier entry is detected. # Set limits for 2nd LIM instruction to the sensor input range that detects the carrier entering. ################################################################ XIC(AlwaysOff)BST LIM(75,ConvStatus.PercentTravel,85) EQU(MB[0].Port[4].Sts.DID,1049344) EQU(MB[0].Port[4].Sts.VID,1) LIM(-40,MB[0].Port[4].I.Data[1],20) MOV(2000,LineTrackingID.IDSW3Dwell.PRE) TON(LineTrackingID.IDSW3Dwell,,) NXB BST XIC(LineTrackingID.IDSW3Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW3Dwell.DN) BND OTL(LineTrackingID.IDSW3mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB LES(ConvStatus.PercentTravel,2) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW3mem) NXB BST XIC(LineTrackingID.IDSW3Dwell.EN) NXB XIC(LineTrackingID.IDSW3mem) BND OTE(LineTrackingID.IDSW3) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Set limits for LIM instruction to the sensor input range that detects the carrier entering. ################################################################ XIC(TBD)BST XIC(ConvStatus.Entering) EQU(MB[0].Port[4].Sts.DID,1049344) EQU(MB[0].Port[4].Sts.VID,1) LIM(-40,MB[0].Port[4].I.Data[1],20) MOV(2000,LineTrackingID.IDSW3Dwell.PRE) TON(LineTrackingID.IDSW3Dwell,,) NXB BST XIC(LineTrackingID.IDSW3Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW3Dwell.DN) BND OTL(LineTrackingID.IDSW3mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIO(ConvStatus.Entering) XIO(ConvStatus.AtStop) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW3mem) NXB BST XIC(LineTrackingID.IDSW3Dwell.EN) NXB XIC(LineTrackingID.IDSW3mem) BND OTE(LineTrackingID.IDSW3) BND ;

20 <------- EDITED (I) --------> 27 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[109]: Carrier Entering Switch IDSW3 in Master BK01 /*R*/ Not Connected to Port 4> # <Alarm[110]: Carrier Entering Switch IDSW3 Wrong Device /*R*/ in Master BK01 Port 4> # XIC(AlwaysOff)BST BST XIO(MB[0].Port[4].Sts.Status.0) NXB XIO(MB[0].Port[4].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[109],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[4].Sts.VID,1) NXB NEQ(MB[0].Port[4].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[110],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[109]: Carrier Entering Switch IDSW3 in Master BK01 /*R*/ Not Connected to Port 4> # <Alarm[110]: Carrier Entering Switch IDSW3 Wrong Device /*R*/ in Master BK01 Port 4> # XIC(TBD)BST BST XIO(MB[0].Port[4].Sts.Status.0) NXB XIO(MB[0].Port[4].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[109],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[4].Sts.VID,1) NXB NEQ(MB[0].Port[4].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[110],kHelp.ENetCardConnect) BND ;

21 <------- EDITED (I+C) ------> 28 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Set limits for 1st LIM instruction to the conveyor travel range where the leaving carrier is detected. # Set limits for 2nd LIM instruction to the sensor input range that detects the carrier leaving. ################################################################ XIC(AlwaysOff)BST LIM(75,ConvStatus.PercentTravel,85) EQU(MB[0].Port[5].Sts.DID,1049344) EQU(MB[0].Port[5].Sts.VID,1) LIM(-40,MB[0].Port[5].I.Data[1],20) MOV(2000,LineTrackingID.IDSW4Dwell.PRE) TON(LineTrackingID.IDSW4Dwell,,) NXB BST XIC(LineTrackingID.IDSW4Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW4Dwell.DN) BND OTL(LineTrackingID.IDSW4mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB LES(ConvStatus.PercentTravel,2) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW4mem) NXB BST XIC(LineTrackingID.IDSW4Dwell.EN) NXB XIC(LineTrackingID.IDSW4mem) BND OTE(LineTrackingID.IDSW4) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Set limits for 2nd LIM instruction to the sensor input range that detects the carrier leaving. ################################################################ XIC(TBD)BST BST XIC(FromConveyor.Leaving) NXB XIC(ConvStatus.AtStop) BND EQU(MB[0].Port[5].Sts.DID,1049344) EQU(MB[0].Port[5].Sts.VID,1) LIM(-40,MB[0].Port[5].I.Data[1],20) MOV(2000,LineTrackingID.IDSW4Dwell.PRE) TON(LineTrackingID.IDSW4Dwell,,) NXB BST XIC(LineTrackingID.IDSW4Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW4Dwell.DN) BND OTL(LineTrackingID.IDSW4mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIO(ConvStatus.AtStop) XIO(FromConveyor.Leaving) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW4mem) NXB BST XIC(LineTrackingID.IDSW4Dwell.EN) NXB XIC(LineTrackingID.IDSW4mem) BND OTE(LineTrackingID.IDSW4) BND ;

22 <------- EDITED (I) --------> 29 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[111]: Carrier Leaving Switch IDSW4 in Master BK01 /*R*/ Not Connected to Port 5> # <Alarm[112]: Carrier Leaving Switch IDSW4 Wrong Device /*R*/ in Master BK01 Port 5> # XIC(AlwaysOff)BST BST XIO(MB[0].Port[5].Sts.Status.0) NXB XIO(MB[0].Port[5].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[111],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[5].Sts.VID,1) NXB NEQ(MB[0].Port[5].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[112],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[111]: Carrier Leaving Switch IDSW4 in Master BK01 /*R*/ Not Connected to Port 5> # <Alarm[112]: Carrier Leaving Switch IDSW4 Wrong Device /*R*/ in Master BK01 Port 5> # XIC(TBD)BST BST XIO(MB[0].Port[5].Sts.Status.0) NXB XIO(MB[0].Port[5].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[111],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[5].Sts.VID,1) NXB NEQ(MB[0].Port[5].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[112],kHelp.ENetCardConnect) BND ;

23 <------- EDITED (I+C) ------> 30 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Set limits for 1st LIM instruction to the conveyor travel range where the job is detected. # Set limits for 2nd LIM instruction to the sensor input range that detects the job. ################################################################ XIC(AlwaysOff)BST LIM(75,ConvStatus.PercentTravel,85) EQU(MB[0].Port[6].Sts.DID,1049344) EQU(MB[0].Port[6].Sts.VID,1) LIM(-40,MB[0].Port[6].I.Data[1],20) MOV(2000,LineTrackingID.IDSW5Dwell.PRE) TON(LineTrackingID.IDSW5Dwell,,) NXB BST XIC(LineTrackingID.IDSW5Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW5Dwell.DN) BND OTL(LineTrackingID.IDSW5mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB LES(ConvStatus.PercentTravel,2) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW5mem) NXB BST XIC(LineTrackingID.IDSW5Dwell.EN) NXB XIC(LineTrackingID.IDSW5mem) BND OTE(LineTrackingID.IDSW5) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. # Delete branch with XIC(ConvStatus.AtStop instruction if job can't be detected at Stop. # Delete branch with XIC(ConvStatus.Entering instruction if job can't be detected while Entering. # Set limits for LIM instruction to the sensor input range that detects the job. ################################################################ XIC(TBD)BST BST XIC(ConvStatus.Entering) NXB XIC(ConvStatus.AtStop) BND EQU(MB[0].Port[6].Sts.DID,1049344) EQU(MB[0].Port[6].Sts.VID,1) LIM(-40,MB[0].Port[6].I.Data[1],20) MOV(2000,LineTrackingID.IDSW5Dwell.PRE) TON(LineTrackingID.IDSW5Dwell,,) NXB BST XIC(LineTrackingID.IDSW5Dwell.EN) XIC(Jobdata.DataRdy) NXB XIC(LineTrackingID.IDSW5Dwell.DN) BND OTL(LineTrackingID.IDSW5mem) NXB BST XIC(ConvStatus.ResetAllTasks) NXB XIO(ConvStatus.Entering) XIO(ConvStatus.AtStop) BND XIO(SimStatus.InSimMode) OTU(LineTrackingID.IDSW5mem) NXB BST XIC(LineTrackingID.IDSW5Dwell.EN) NXB XIC(LineTrackingID.IDSW5mem) BND OTE(LineTrackingID.IDSW5) BND ;

24 <------- EDITED (I) --------> 31 | | | | |
NEW RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[113]: Job Detect Switch IDSW5 in Master BK01 /*R*/ Not Connected to Port 6> # <Alarm[114]: Job Detect Switch IDSW5 Wrong Device /*R*/ in Master BK01 Port 6> # XIC(AlwaysOff)BST BST XIO(MB[0].Port[6].Sts.Status.0) NXB XIO(MB[0].Port[6].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[113],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[6].Sts.VID,1) NXB NEQ(MB[0].Port[6].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[114],kHelp.ENetCardConnect) BND ;

OLD RUNG

<@TODO> ################################################################ # Delete TBD instruction if the sensor is available. # Replace TBD with AlwaysOff if the sensor does not exist. ################################################################ <@DIAG> # # <Alarm[113]: Job Detect Switch IDSW5 in Master BK01 /*R*/ Not Connected to Port 6> # <Alarm[114]: Job Detect Switch IDSW5 Wrong Device /*R*/ in Master BK01 Port 6> # XIC(TBD)BST BST XIO(MB[0].Port[6].Sts.Status.0) NXB XIO(MB[0].Port[6].Sts.Status.1) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[113],kHelp.ENetCardConnect) NXB BST NEQ(MB[0].Port[6].Sts.VID,1) NXB NEQ(MB[0].Port[6].Sts.DID,1049344) BND JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[114],kHelp.ENetCardConnect) BND ;

25 <------- EDITED (I) --------> 14 | | | | |
NEW RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,CAM01.Comm,EPGTG01Z1CAM1,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

OLD RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,CAM01.Comm,GTG01Z1CAM01,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

26 <------- EDITED (I) --------> 15 | | | | |
NEW RUNG

<@TODO> ################################################################ # Map the Real World Inputs to the Internal Tag ################################################################ BST XIC(CAM01.Comm.OK) CPS(EPGTG01Z1CAM1:I.Data[0],CAM01.I,1) NXB XIO(CAM01.Comm.OK) FLL(0,CAM01.I,1) BND ;

OLD RUNG

<@TODO> ################################################################ # Map the Real World Inputs to the Internal Tag ################################################################ BST XIC(CAM01.Comm.OK) CPS(GTG01Z1CAM01:I.Data[0],CAM01.I,1) NXB XIO(CAM01.Comm.OK) FLL(0,CAM01.I,1) BND ;

27 <------- EDITED (I+C) ------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1014]: GTG01Z1CAM1> # za_EnetMapping(EnetAddressTableLoad,CAM01.Comm,14,1014,120,15,250,55,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork1);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[9022]: GTG01Z1CAM01> # za_EnetMapping(EnetAddressTableLoad,CAM01.Comm,22,9022,120,15,234,57,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork9);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
29 <------- EDITED (I+C) ------> 18 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[115]: Barcode CAM01 EtherNet IP Comm Fault /*R*/ IP Address 120.15.250.55 > # BST XIO(CAM01.Comm.OK) NXB XIC(CAM01.Comm.FltMem) XIO(Cell.Req.FaultReset) BND XIO(Barcode1.Bypass.On)BST OTE(CAM01.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[115],kHelp.ENetCommFlt) BND ;

OLD RUNG

<@DIAG> # # <Alarm[100]: Barcode CAM01 EtherNet IP Comm Fault /*R*/ IP Address 120.15.234.57 > # BST XIO(CAM01.Comm.OK) NXB XIC(CAM01.Comm.FltMem) XIO(Cell.Req.FaultReset) BND XIO(Barcode1.Bypass.On)BST OTE(CAM01.Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[100],kHelp.ENetCommFlt) BND ;

30 <------- EDITED (I+C) ------> 19 | | | | |
NEW RUNG

<@INFO> ################################################################ # Ethernet Interface Input Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[116]: Barcode CAM01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.250.55 > # <Alarm[117] Barcode CAM01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.250.55 > # BST XIC(CAM01.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[116],kHelp.ENetCRCErrors) NXB XIC(CAM01.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[117],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@INFO> ################################################################ # Ethernet Interface Input Mapping and Diagnostics ################################################################ <@DIAG> # # <Alarm[101]: Barcode CAM01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 120.15.234.57 > # <Alarm[102] Barcode CAM01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 120.15.234.57 > # BST XIC(CAM01.Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[101],kHelp.ENetCRCErrors) NXB XIC(CAM01.Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[102],kHelp.ENetPortCommWrn) BND ;

| | | | | ROUTINE: B002_MapOutputs (I) (Maps Output Data) | | | | |
1 <------- EDITED (I) --------> 1 |████| | | |
NEW RUNG

CPS(ToConveyor,EP_GTG01TZ1toCG_GTG01Z1Interlocks.FP[0],1);

OLD RUNG

CPS(ToConveyor,EP_GTG01Z1toCG_GTG01Interlocks.FP[0],1);

2 <------- EDITED (I) --------> 2 |████| | | |
NEW RUNG

<@TODO> ################################################################ Map the Internal Tag to the Real World Outputs ################################################################ CPS(CAM01.O,EPGTG01Z1CAM1:O,1);

OLD RUNG

<@TODO> ################################################################ Map the Internal Tag to the Real World Outputs ################################################################ CPS(CAM01.O,GTG01Z1CAM01:O,1);

| | | | | ROUTINE: B011_ODD1ToolTrig_EP (I)(Example Of Tool ) | | | | |
1 <------- EDITED (I) --------> 1 | | | | |
NEW RUNG

<@INFO> ################################################################ # ODD EP Trigger Interface Faulted - Tooling and operator reference. ################################################################ <@TODO> ################################################################ # Use an appropriate Kalarm # for your cpu. Once configured remove the # TBD instruction at the beginning of the rung. ################################################################ <@DIAG> # # <Alarm[820]: ODD1/GEPICSTrigger Data Error at Fault Bit /*VAR1*/ /*R*/ Build data not being received. See ODD Screens for Details > # XIO(_HTI.31)XIO(ODD1Interface.ManMode)XIO(ODD1App.DataIn.GenControl.4)NEQ(ODD1App.DataOut.FaultNdx,0)NEQ(ODD1App.DataOut.FaultNdx,16)BST NEQ(ODD1App.DataOut.FaultNdx,27) NXB XIO(ConfigControl.BuildDataUpdating) XIO(TrackingControl.UpdatedOneFP) BND BST SUB(ODD1App.DataOut.FaultNdx,1,PFEControl.Var1) OTE(ODD1Interface.Faulted) NXB CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[820],kHelp.None) BND ;

OLD RUNG

<@INFO> ################################################################ # ODD EP Trigger Interface Faulted - Tooling and operator reference. ################################################################ <@TODO> ################################################################ # Use an appropriate Kalarm # for your cpu. Once configured remove the # TBD instruction at the beginning of the rung. ################################################################ <@DIAG> # # <Alarm[820]: ODD1/GEPICSTrigger Data Error at Fault Bit /*VAR1*/ /*R*/ Build data not being received. See ODD Screens for Details > # XIO(ODD1Interface.ManMode)XIO(ODD1App.DataIn.GenControl.4)NEQ(ODD1App.DataOut.FaultNdx,0)NEQ(ODD1App.DataOut.FaultNdx,16)BST NEQ(ODD1App.DataOut.FaultNdx,27) NXB XIO(ConfigControl.BuildDataUpdating) XIO(TrackingControl.UpdatedOneFP) BND BST SUB(ODD1App.DataOut.FaultNdx,1,PFEControl.Var1) OTE(ODD1Interface.Faulted) NXB CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[820],kHelp.None) BND ;

3 <------- EDITED (I) --------> 3 |████████████ | |
NEW RUNG

<@INFO> ################################################################ # ODD Tool Trigger Logic (Rung 1 of 11) - START # Modify this rung if ODD Manual Mode will be used. It indicates that tool # is ready for ODD to be switched to/from manual mode. ################################################################ <@TODO> ################################################################ # Replace .OKforODDModeChg bit with a series of tags # representing the home position or idle state of the tool indicating the completion # of the build process. In this position, the change from ODD Manual to Auto or # vice-versa will be managed within the ODD logic. ################################################################ BST XIC(_HTI.8) BST XIC(ConvStatus.Entering) NXB XIC(ConvStatus.AtStop) BND NXB XIO(_HTI.8) XIC(ConvStatus.AtFPS) BND XIO(ConvStatus.NewDataONS)XIO(ODD1Interface.RunPartMem)OTE(ODD1Interface.ModeChgOK);

OLD RUNG

<@INFO> ################################################################ # ODD Tool Trigger Logic (Rung 1 of 11) - START # Modify this rung if ODD Manual Mode will be used. It indicates that tool # is ready for ODD to be switched to/from manual mode. ################################################################ <@TODO> ################################################################ # Replace .OKforODDModeChg bit with a series of tags # representing the home position or idle state of the tool indicating the completion # of the build process. In this position, the change from ODD Manual to Auto or # vice-versa will be managed within the ODD logic. ################################################################ XIC(ConvStatus.AtFPS)XIO(ConvStatus.NewDataONS)XIO(ODD1Interface.RunPartMem)OTE(ODD1Interface.ModeChgOK);

10 <------- EDITED (I) --------> 10 |████| | | |
NEW RUNG

<@INFO> ################################################################ # ODD Tool Trigger Logic (Rung 8 of 11) # This rung indicates whether current job in buffer is valid for build or not. ################################################################ XIC(Jobdata.DataRdy)XIO(TrackingControl.ResetDataReady)BST XIO(_HTI.1) XIC(FPEntry_FP01_Empty) NXB XIC(_HTI.1) BND XIC(ODD1Interface.ModeChgOK)XIO(ODD1Interface.IllegalOptionsSet)XIO(ODD1Interface.ManMode)BST EQU(ODD1App.DataOut.Buf.Data[1].BufferStat,1) NXB XIC(_HTI.31) BND BST COP(ODD1App.Curr.Jobdata,Jobdata.Data,1) COP(ODD1App.Curr.Data[1].BldRec.BuildData,BuildData,1) NXB OTE(ODD1Interface.NewDataValid) BND ;

OLD RUNG

<@INFO> ################################################################ # ODD Tool Trigger Logic (Rung 8 of 11) # This rung indicates whether current job in buffer is valid for build or not. ################################################################ XIC(Jobdata.DataRdy)XIO(TrackingControl.ResetDataReady)XIC(ODD1Interface.ModeChgOK)XIO(ODD1Interface.PVIDupeError)XIO(ODD1Interface.IllegalOptionsSet)XIO(ODD1Interface.ManMode)EQU(ODD1App.DataOut.Buf.Data[1].BufferStat,1)BST COP(ODD1App.Curr.Jobdata,Jobdata.Data,1) COP(ODD1App.Curr.Data[1].BldRec.BuildData,BuildData,1) NXB OTE(ODD1Interface.NewDataValid) BND ;

13 <------- EDITED (I) --------> 13 | | | | |
NEW RUNG

<@INFO> ################################################################ # ODD Tool Trigger Logic (Rung 11 of 11) - END # Disables End of Sequence (TEND) Trigger Re-Try during non-production hours # to prevent communication faults when GEPICS is down for maintenance. ################################################################ <@TODO> ################################################################ # For typical BSSN sequences, replace TBD with AlwaysOff to disable this rung. # For special sequences (typically in closures) created from a trigger (typically # in respot), delete the XIC TBD instruction and add other conditions as required. ################################################################ XIC(AlwaysOff)XIO(PMCD.PLC.ControlBits.1)XIO(PMCD.PLC.ControlBits.2)XIO(PMCD.PLC.ControlBits.3)OTE(ODD1Interface.DisableTEND_ReTrig);

OLD RUNG

<@INFO> ################################################################ # ODD Tool Trigger Logic (Rung 11 of 11) - END # Disables End of Sequence (TEND) Trigger Re-Try during non-production hours # to prevent communication faults when GEPICS is down for maintenance. ################################################################ <@TODO> ################################################################ # For typical BSSN sequences, replace TBD with AlwaysOff to disable this rung. # For special sequences (typically in closures) created from a trigger (typically # in respot), delete the XIC TBD instruction and add other conditions as required. ################################################################ XIC(TBD)XIO(PMCD.PLC.ControlBits.1)XIO(PMCD.PLC.ControlBits.2)XIO(PMCD.PLC.ControlBits.3)OTE(ODD1Interface.DisableTEND_ReTrig);

| | | | | ROUTINE: B016_ODD1JobdataAuto_v2 (I) | | | | | (Maps ODD Text Da) | | | | |
DELETED --> 12 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Convert ODD Alternate Key Data into # Job Data Decimal Carrier ID Number. # # Remove XIC(TBD) instruction if GEPICS sends Carrier ID Number as # Alternate Key OR Delete this rung if GEPICS does not. ################################################################ XIC(TBD)COP(ODD1App.Curr.Jobdata.Options[1],ODD1App.Curr.Jobdata.Carrier,1);

| | | | | ROUTINE: B022_ConveyorStatus_ALS_StopStation (I) | | | | | ( Conveyor Stop S) | | | | |
1 <------- EDITED (I) --------> 1 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(1,ConvStatus.StartingPoint)MOV(60,ConvStatus.TaktTime);

OLD RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(5,ConvStatus.StartingPoint)MOV(400,ConvStatus.TaktTime);

13 <------- EDITED (I) --------> 13 | | | | |
NEW RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)BST XIC(JobID1.WorkComplete) NXB XIC(JobID1.Bypassed) NXB XIC(SimStatus.InSimMode) BND XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

OLD RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)BST XIC(JobIDCheck1.DataMatch) NXB XIC(JobIDCheck1.Bypassed) NXB XIC(SimStatus.InSimMode) BND XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

15 <------- EDITED (I) --------> 15 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB BST XIO(FromConveyor.Running) NXB XIC(_HTI.31) BND BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

OLD RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB XIO(FromConveyor.Running) BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

| | | | | ROUTINE: B060_BC01_Config01 (I) (This routine con) | | | | |
3 <------- EDITED (I) --------> 3 | | | | |
NEW RUNG

<@INFO> ################################################################ # Return Online Signal Sent to Carmera will Force Camera to an Online State # If Trigger is Received while Camera is Offline PLC can Automatically Return Camera Online # In xx Seconds which is Configurable in ConfigCAM01 Routine # And Providing CAM01.Cfg.ReturnOnlineEnable is Set On in ConfigCAM01 Routine # A Message will be Displaying that Camera will Return Online in xx Seconds ################################################################ <@DIAG> # # <Alarm[807]: CAM01 Barcode Rdy to Trigger and Not Online /*R*/ Camera Returning Online in /*VAR1*/ Seconds > # BST XIC(Barcode1.TriggerSetup) XIC(CAM01.Cfg.ReturnOnlineEnable) XIO(CAM01.I.Online) BST MUL(CAM01.Cfg.ReturnOnlineTime,1000,CAM01.Cfg.ReturnOnlineTimer.PRE) TON(CAM01.Cfg.ReturnOnlineTimer,,) NXB XIC(CAM01.Cfg.ReturnOnlineTimer.DN) OTE(CAM01.O.ReturnOnline) BND NXB XIC(CAM01.Cfg.ReturnOnlineTimer.TT) XIO(CAM01.I.Online) BST MOV(CAM01.Cfg.ReturnOnlineTime,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.Mode,kAlarm[807],kHelp.None) BND BND ;

OLD RUNG

<@INFO> ################################################################ # Return Online Signal Sent to Carmera will Force Camera to an Online State # If Trigger is Received while Camera is Offline PLC can Automatically Return Camera Online # In xx Seconds which is Configurable in ConfigCAM01 Routine # And Providing CAM01.Cfg.ReturnOnlineEnable is Set On in ConfigCAM01 Routine # A Message will be Displaying that Camera will Return Online in xx Seconds ################################################################ <@DIAG> # # <Alarm[807]: CAM01 Barcode Rdy to Trigger and Not Online /*R*/ Camera Returning Online in /*VAR1*/ Seconds > # BST XIC(TBD) XIC(Barcode1.TriggerSetup) XIC(CAM01.Cfg.ReturnOnlineEnable) XIO(CAM01.I.Online) BST MUL(CAM01.Cfg.ReturnOnlineTime,1000,CAM01.Cfg.ReturnOnlineTimer.PRE) TON(CAM01.Cfg.ReturnOnlineTimer,,) NXB XIC(CAM01.Cfg.ReturnOnlineTimer.DN) OTE(CAM01.O.ReturnOnline) BND NXB XIC(CAM01.Cfg.ReturnOnlineTimer.TT) XIO(CAM01.I.Online) BST MOV(CAM01.Cfg.ReturnOnlineTime,PFEControl.Var1) CLR(PFEControl.Var2) CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.Mode,kAlarm[807],kHelp.None) BND BND ;

6 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # Camera Barcode ID For Current Job ################################################################ <@TODO> ################################################################ # # Program the Barcode 1D or 2D ID into the Recipe ID Register # Receipe # 100 for 1D barcode # Receipe # 200 for 2D barcode # # # ################################################################ XIC(Barcode1.TriggerSetup)XIC(CAM01.I.Online)BST ONS(Barcode1.User.OneShot.4) CTU(CAM01.Cfg.ReadCount,,) NXB BST XIO(CAM01.Drv.SelectFail) NXB XIO(Cell.Req.FaultReset) BND OTE(CAM01.Cfg.IDEnable) NXB XIC(Barcode1.TriggerSetup) MOV(100,CAM01.Cfg.RecipeID) NXB MOV(CAM01.Cfg.ReadCount.ACC,CAM01.Cfg.BarcodeID) NXB MOV(Jobdata.Data.VID,CAM01.Cfg.PVI) MOV(Jobdata.Data.SeqNum,CAM01.Cfg.BSN) BND ;

OLD RUNG

<@INFO> ################################################################ # Camera Barcode ID For Current Job ################################################################ <@TODO> ################################################################ # # Program the Barcode 1D or 2D ID into the Recipe ID Register # Receipe # 100 for 1D barcode # Receipe # 200 for 2D barcode # # # ################################################################ XIC(TBD)XIC(Barcode1.TriggerSetup)XIC(CAM01.I.Online)BST ONS(Barcode1.User.OneShot.4) CTU(CAM01.Cfg.ReadCount,,) NXB BST XIO(CAM01.Drv.SelectFail) NXB XIO(Cell.Req.FaultReset) BND OTE(CAM01.Cfg.IDEnable) NXB XIC(Barcode1.TriggerSetup) MOV(200,CAM01.Cfg.RecipeID) NXB MOV(CAM01.Cfg.ReadCount.ACC,CAM01.Cfg.BarcodeID) NXB MOV(Jobdata.Data.VID,CAM01.Cfg.PVI) MOV(Jobdata.Data.SeqNum,CAM01.Cfg.BSN) BND ;

| | | | | ROUTINE: B300_LineTrackingConfig (I) | | | | | (Error Proofing L) | | | | |
2 <------- EDITED (I) --------> 2 |████| | | |
NEW RUNG

<@TODO> ################################################################ # Latch LineTrackingID.ConfigVIDTypePVI bit if the PVI is being scanned. # Latch LineTrackingID.ConfigVIDTypeCSN bit if the CSN is being scanned. # Latch LineTrackingID.ConfigVIDTypeSVI bit if an SVI is being scanned. # Latch LineTrackingID.ConfigVIDTypeCID bit if the Carrier ID is being scanned. # Only one of these bits may be an OTL at any given time # without customization of the Jobdata routines. # Replace XIC(TBD) with XIO(AlwaysOff) to label the SVI display as CID on the LTC. # Otherwise, delete the branch with the XIC(TBD) instruction. ################################################################ BST OTL(LineTrackingID.ConfigVIDTypePVI) OTU(LineTrackingID.ConfigVIDTypeCSN) OTU(LineTrackingID.ConfigVIDTypeSVI) OTU(LineTrackingID.ConfigVIDTypeCID) NXB XIC(LineTrackingID.ConfigVIDTypeCID) OTE(LineTrackingID.ConfigDisplayCID) BND ;

OLD RUNG

<@TODO> ################################################################ # Latch LineTrackingID.ConfigVIDTypePVI bit if the PVI is being scanned. # Latch LineTrackingID.ConfigVIDTypeCSN bit if the CSN is being scanned. # Latch LineTrackingID.ConfigVIDTypeSVI bit if an SVI is being scanned. # Latch LineTrackingID.ConfigVIDTypeCID bit if the Carrier ID is being scanned. # Only one of these bits may be an OTL at any given time # without customization of the Jobdata routines. # Replace XIC(TBD) with XIO(AlwaysOff) to label the SVI display as CID on the LTC. # Otherwise, delete the branch with the XIC(TBD) instruction. ################################################################ BST OTL(LineTrackingID.ConfigVIDTypePVI) OTU(LineTrackingID.ConfigVIDTypeCSN) OTU(LineTrackingID.ConfigVIDTypeSVI) OTU(LineTrackingID.ConfigVIDTypeCID) NXB BST XIC(LineTrackingID.ConfigVIDTypeCID) NXB XIC(TBD) BND OTE(LineTrackingID.ConfigDisplayCID) BND ;

| | | | | ROUTINE: B302_ODD1ClientSim_EP1 (I) () | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # ODD EP Trigger Client Simulation Routine ################################################################ <@INFO> ################################################################ # This routine simulates a GEPICS client transaction and populates the GEPICS1_BDRx_Flat # GEPICS Return Build Data Packet tag before the GEPICS server is available. # NOTE: SVI Trigger Requests must be 7 digits. ################################################################ # This rung clears the transaction request so the X302_ODD1ClientMain_EP # routine does not attempt a GEPICS client transaction that will fail. ################################################################ OTU(ODD1Share.TrigReq.TransStart);

1 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # IF a Get-Next PVI Trigger Request is made, THEN the PVI is incremented by 1, # except IF the last three digits of the PVI are 999, THEN they change to 000. ################################################################ XIC(ODD1Config.TriggerPVI)EQU(ODD1Share.TrigReq.TransCode,ODD1Share.TrigReq.TransCode)BST COP(ODD1Share.TrigReq.PVI[3],ODD1Share.SintString[0],4) ADD(ODD1Share.SintString[3],1,ODD1Share.SintString[3]) NXB GEQ(ODD1Share.SintString[3],58) BST MOV(48,ODD1Share.SintString[3]) ADD(ODD1Share.SintString[0],1,ODD1Share.SintString[0]) NXB GEQ(ODD1Share.SintString[0],58) BST MOV(48,ODD1Share.SintString[0]) ADD(ODD1Share.SintString[1],1,ODD1Share.SintString[1]) NXB GEQ(ODD1Share.SintString[1],58) MOV(48,ODD1Share.SintString[1]) BND BND BND COP(ODD1Share.SintString[0],ODD1Share.TrigReq.PVI[3],2);

2 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # IF a PVI Trigger Request is made, THEN # The PVI is set equal to the PVI Trigger Request, # Digits 1-4 of the SVI are set to 1000, # Digits 5-7 of the SVI are set equal to digits 7-9 of the PVI, # Characters 1-7 of the CSN are set to 1EP0000 and # Characters 8-10 of the CSN are set equal to digits 7-9 of the PVI. ################################################################ XIC(ODD1Config.TriggerPVI)BST COP(ODD1Share.TrigReq.PVI[0],GEPICS1_BDRx_Flat[0],5) MOV(12592,GEPICS1_BDRx_Flat[5]) MOV(12336,GEPICS1_BDRx_Flat[6]) COP(ODD1Share.TrigReq.PVI[3],GEPICS1_BDRx_Flat[7],2) FLL(8224,GEPICS1_BDRx_Flat[9],4) NXB MOV(12613,GEPICS1_BDRx_Flat[13]) MOV(20528,GEPICS1_BDRx_Flat[14]) MOV(12336,GEPICS1_BDRx_Flat[15]) MOV(12336,GEPICS1_BDRx_Flat[16]) NXB BTD(ODD1Share.TrigReq.PVI[3],8,GEPICS1_BDRx_Flat[16],0,8) BTD(ODD1Share.TrigReq.PVI[3],0,GEPICS1_BDRx_Flat[17],8,8) BTD(ODD1Share.TrigReq.PVI[4],8,GEPICS1_BDRx_Flat[17],0,8) OTL(ODD1Share.DataUpdateOK) BND ;

3 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # IF a Get-Next CSN Trigger Request is made, THEN the CSN is incremented by 1, # except IF the last three digits of the CSN are 999, THEN they change to 000. ################################################################ XIO(ODD1Config.TriggerPVI)XIO(ODD1Share.TrigReq.AK[0].14)XIC(ODD1Share.TrigReq.AK[0].9)XIC(ODD1Share.TrigReq.AK[0].6)XIC(ODD1Share.TrigReq.AK[1].14)XIO(ODD1Share.TrigReq.AK[3].6)XIC(ODD1Share.TrigReq.AK[3].5)XIO(ODD1Share.TrigReq.AK[4].14)XIC(ODD1Share.TrigReq.AK[4].13)XIO(ODD1Share.TrigReq.AK[4].6)XIC(ODD1Share.TrigReq.AK[4].5)EQU(ODD1Share.TrigReq.TransCode,ODD1Share.TrigReq.TransCode)BST COP(ODD1Share.TrigReq.AK[3],ODD1Share.SintString[0],4) ADD(ODD1Share.SintString[2],1,ODD1Share.SintString[2]) NXB GEQ(ODD1Share.SintString[2],58) BST MOV(48,ODD1Share.SintString[2]) ADD(ODD1Share.SintString[3],1,ODD1Share.SintString[3]) NXB GEQ(ODD1Share.SintString[3],58) BST MOV(48,ODD1Share.SintString[0]) ADD(ODD1Share.SintString[0],1,ODD1Share.SintString[0]) NXB GEQ(ODD1Share.SintString[0],58) MOV(48,ODD1Share.SintString[0]) BND BND BND COP(ODD1Share.SintString[0],ODD1Share.TrigReq.AK[3],2);

4 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # IF a CSN Trigger Request is made, THEN # The CSN is set equal to the CSN Trigger Request, # The SVI is set equal to characters 4-10 of the CSN, # Digits 1-6 of the PVI are set to 221999 and # Digits 7-9 of the PVI are set equal to characters 8-10 of the CSN. ################################################################ XIO(ODD1Config.TriggerPVI)XIO(ODD1Share.TrigReq.AK[0].14)XIC(ODD1Share.TrigReq.AK[0].9)XIC(ODD1Share.TrigReq.AK[0].6)XIC(ODD1Share.TrigReq.AK[1].14)XIO(ODD1Share.TrigReq.AK[3].6)XIC(ODD1Share.TrigReq.AK[3].5)XIO(ODD1Share.TrigReq.AK[4].14)XIC(ODD1Share.TrigReq.AK[4].13)XIO(ODD1Share.TrigReq.AK[4].6)XIC(ODD1Share.TrigReq.AK[4].5)BST MOV(12850,GEPICS1_BDRx_Flat[0]) MOV(12601,GEPICS1_BDRx_Flat[1]) MOV(14649,GEPICS1_BDRx_Flat[2]) NXB BTD(ODD1Share.TrigReq.AK[3],0,GEPICS1_BDRx_Flat[3],8,8) BTD(ODD1Share.TrigReq.AK[4],8,GEPICS1_BDRx_Flat[3],0,8) MOV(8224,GEPICS1_BDRx_Flat[4]) BTD(ODD1Share.TrigReq.AK[4],0,GEPICS1_BDRx_Flat[4],8,8) NXB BTD(ODD1Share.TrigReq.AK[1],0,GEPICS1_BDRx_Flat[5],8,8) BTD(ODD1Share.TrigReq.AK[2],8,GEPICS1_BDRx_Flat[5],0,8) BTD(ODD1Share.TrigReq.AK[2],0,GEPICS1_BDRx_Flat[6],8,8) BTD(ODD1Share.TrigReq.AK[3],8,GEPICS1_BDRx_Flat[6],0,8) NXB BTD(ODD1Share.TrigReq.AK[3],0,GEPICS1_BDRx_Flat[7],8,8) BTD(ODD1Share.TrigReq.AK[4],8,GEPICS1_BDRx_Flat[7],0,8) MOV(8224,GEPICS1_BDRx_Flat[8]) BTD(ODD1Share.TrigReq.AK[4],0,GEPICS1_BDRx_Flat[8],8,8) NXB FLL(8224,GEPICS1_BDRx_Flat[9],4) COP(ODD1Share.TrigReq.AK[0],GEPICS1_BDRx_Flat[13],5) OTL(ODD1Share.DataUpdateOK) BND ;

5 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # IF a Get-Next SVI Trigger Request is made, THEN the SVI is incremented by 1, # except IF the last three digits of the SVI are 999, THEN they change to 000. ################################################################ XIO(ODD1Config.TriggerPVI)XIO(ODD1Share.TrigReq.AK[0].6)XIO(ODD1Share.TrigReq.AK[1].14)XIO(ODD1Share.TrigReq.AK[2].14)XIC(ODD1Share.TrigReq.AK[2].13)XIO(ODD1Share.TrigReq.AK[2].6)XIC(ODD1Share.TrigReq.AK[2].5)XIO(ODD1Share.TrigReq.AK[3].14)XIC(ODD1Share.TrigReq.AK[3].13)EQU(ODD1Share.TrigReq.TransCode,ODD1Share.TrigReq.TransCode)BST COP(ODD1Share.TrigReq.AK[2],ODD1Share.SintString[0],4) ADD(ODD1Share.SintString[3],1,ODD1Share.SintString[3]) NXB GEQ(ODD1Share.SintString[3],58) BST MOV(48,ODD1Share.SintString[3]) ADD(ODD1Share.SintString[0],1,ODD1Share.SintString[0]) NXB GEQ(ODD1Share.SintString[0],58) BST MOV(48,ODD1Share.SintString[0]) ADD(ODD1Share.SintString[1],1,ODD1Share.SintString[1]) NXB GEQ(ODD1Share.SintString[1],58) MOV(48,ODD1Share.SintString[1]) BND BND BND COP(ODD1Share.SintString[0],ODD1Share.TrigReq.AK[2],2);

6 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # IF an SVI Trigger Request is made, THEN # The SVI is set equal to the SVI Trigger Request, # Digits 1-6 of the PVI are set to 221999, # Digits 7-9 of the PVI are set equal to digits 5-7 of the SVI, # Characters 1-7 of the CSN are set to 1EP0000 and # Characters 8-10 of the CSN are set equal to digits 5-7 of the SVI. ################################################################ XIO(ODD1Config.TriggerPVI)XIO(ODD1Share.TrigReq.AK[0].6)XIO(ODD1Share.TrigReq.AK[1].14)XIO(ODD1Share.TrigReq.AK[2].14)XIC(ODD1Share.TrigReq.AK[2].13)XIO(ODD1Share.TrigReq.AK[2].6)XIC(ODD1Share.TrigReq.AK[2].5)XIO(ODD1Share.TrigReq.AK[3].14)XIC(ODD1Share.TrigReq.AK[3].13)BST MOV(12850,GEPICS1_BDRx_Flat[0]) MOV(12601,GEPICS1_BDRx_Flat[1]) MOV(14649,GEPICS1_BDRx_Flat[2]) COP(ODD1Share.TrigReq.AK[2],GEPICS1_BDRx_Flat[3],2) NXB COP(ODD1Share.TrigReq.AK[0],GEPICS1_BDRx_Flat[5],3) MOV(8224,GEPICS1_BDRx_Flat[8]) BTD(ODD1Share.TrigReq.AK[3],0,GEPICS1_BDRx_Flat[8],8,8) FLL(8224,GEPICS1_BDRx_Flat[9],4) NXB MOV(12613,GEPICS1_BDRx_Flat[13]) MOV(20528,GEPICS1_BDRx_Flat[14]) MOV(12336,GEPICS1_BDRx_Flat[15]) MOV(12336,GEPICS1_BDRx_Flat[16]) NXB BTD(ODD1Share.TrigReq.AK[2],8,GEPICS1_BDRx_Flat[16],0,8) BTD(ODD1Share.TrigReq.AK[2],0,GEPICS1_BDRx_Flat[17],8,8) BTD(ODD1Share.TrigReq.AK[3],8,GEPICS1_BDRx_Flat[17],0,8) OTL(ODD1Share.DataUpdateOK) BND ;

7 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # IF the Trigger Request is not in the correct format, THEN # Set an Incorrect Vehicle ID ODD Fault (TSVI, TPVI) and # Exit this routine before populating the GEPICS1_BDRx_Flat tag. ################################################################ XIO(ODD1Share.DataUpdateOK)OTL(ODD1Share.Faults.13)OTL(ODD1Share.RtnProcFlt.13)TND();

8 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # This rung sets the Model Designator according to the last digit of the PVI: # 0 = 6GB79 1 = 6G279 2 = 6G379 3 = 6G579 4 = 6GD79 # 5 = 6GE79 6 = 6GL79 7 = 6GN79 8 = 6GB79 9 = 6G279 ################################################################ BST FLL(8224,GEPICS1_BDRx_Flat[18],2) MOV(13895,GEPICS1_BDRx_Flat[20]) MOV(16951,GEPICS1_BDRx_Flat[21]) MOV(14624,GEPICS1_BDRx_Flat[22]) NXB XIO(GEPICS1_BDRx_Flat[4].10) XIO(GEPICS1_BDRx_Flat[4].9) XIC(GEPICS1_BDRx_Flat[4].8) OTU(GEPICS1_BDRx_Flat[21].14) OTL(GEPICS1_BDRx_Flat[21].13) OTL(GEPICS1_BDRx_Flat[21].12) NXB XIO(GEPICS1_BDRx_Flat[4].10) XIC(GEPICS1_BDRx_Flat[4].9) XIO(GEPICS1_BDRx_Flat[4].8) OTU(GEPICS1_BDRx_Flat[21].14) OTL(GEPICS1_BDRx_Flat[21].13) OTL(GEPICS1_BDRx_Flat[21].12) OTL(GEPICS1_BDRx_Flat[21].8) NXB XIO(GEPICS1_BDRx_Flat[4].10) XIC(GEPICS1_BDRx_Flat[4].9) XIC(GEPICS1_BDRx_Flat[4].8) OTU(GEPICS1_BDRx_Flat[21].14) OTL(GEPICS1_BDRx_Flat[21].13) OTL(GEPICS1_BDRx_Flat[21].12) OTL(GEPICS1_BDRx_Flat[21].10) OTU(GEPICS1_BDRx_Flat[21].9) OTL(GEPICS1_BDRx_Flat[21].8) NXB XIC(GEPICS1_BDRx_Flat[4].10) XIO(GEPICS1_BDRx_Flat[4].9) XIO(GEPICS1_BDRx_Flat[4].8) OTL(GEPICS1_BDRx_Flat[21].10) OTU(GEPICS1_BDRx_Flat[21].9) NXB XIC(GEPICS1_BDRx_Flat[4].10) XIO(GEPICS1_BDRx_Flat[4].9) XIC(GEPICS1_BDRx_Flat[4].8) OTL(GEPICS1_BDRx_Flat[21].10) OTU(GEPICS1_BDRx_Flat[21].9) OTL(GEPICS1_BDRx_Flat[21].8) NXB XIC(GEPICS1_BDRx_Flat[4].10) XIC(GEPICS1_BDRx_Flat[4].9) XIO(GEPICS1_BDRx_Flat[4].8) OTL(GEPICS1_BDRx_Flat[21].11) OTL(GEPICS1_BDRx_Flat[21].10) OTU(GEPICS1_BDRx_Flat[21].9) NXB XIC(GEPICS1_BDRx_Flat[4].10) XIC(GEPICS1_BDRx_Flat[4].9) XIC(GEPICS1_BDRx_Flat[4].8) OTL(GEPICS1_BDRx_Flat[21].11) OTL(GEPICS1_BDRx_Flat[21].10) BND ;

9 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # This rung sets the CSN Prefix Reference to EP, sets the Engineering # Model Year to 24, fills the VIN and RPO Option Codes with spaces, # and clears all Part Number & Broadcast Code data. ################################################################ MOV(17744,GEPICS1_BDRx_Flat[23])MOV(12852,GEPICS1_BDRx_Flat[24])FLL(8224,GEPICS1_BDRx_Flat[25],612)FLL(0,GEPICS1_BDRx_Flat[640],384);

10 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # This rung sets the GEPICS Format ID to 5000 and sets the Earliest # Download Version ID Supported by GEPICS Format to 0. ################################################################ MOV(13616,GEPICS1_BDRx_Flat[636])MOV(12336,GEPICS1_BDRx_Flat[637])MOV(12320,GEPICS1_BDRx_Flat[638])MOV(8224,GEPICS1_BDRx_Flat[639])MOV(5000,ODD1App.Curr.FormatID)MOV(0,ODD1App.Curr.DownloadID)MOV(ODD1App.Curr.FormatID,ConfigControl.GEPICSFormatID);

| | | | | ROUTINE: B911_MapInputsTC (I) (Maps Real Input ) | | | | |
3 <------- EDITED (I) --------> 3 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4001]: GTG01Z1TC001> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[1].Comm,01,4001,192,168,1,122,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,2,ENetNetwork4);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4001]: GTG01Z1TC001> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[1].Comm,01,4001,192,168,1,122,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

7 <------- EDITED (I) --------> 7 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4002]: GTG01Z1TC002> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[2].Comm,02,4002,192,168,1,123,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,2,ENetNetwork4);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4002]: GTG01Z1TC002> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[2].Comm,02,4002,192,168,1,123,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

11 <------- EDITED (I) --------> 11 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4003]: GTG01Z1TC003> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[3].Comm,03,4003,192,168,1,124,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,2,ENetNetwork4);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4003]: GTG01Z1TC003> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[3].Comm,03,4003,192,168,1,124,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

15 <------- EDITED (I) --------> 15 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4004]: GTG01Z1TC004> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[4].Comm,04,4004,192,168,1,125,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,2,ENetNetwork4);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4004]: GTG01Z1TC004> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[4].Comm,04,4004,192,168,1,125,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

19 <------- EDITED (I) --------> 19 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4005]: GTG01Z1TC005> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[5].Comm,05,4005,192,168,1,126,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,2,ENetNetwork4);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4005]: GTG01Z1TC005> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[5].Comm,05,4005,192,168,1,126,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

23 <------- EDITED (I) --------> 23 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4006]: GTG01Z1TC006> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[6].Comm,06,4006,192,168,1,127,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,2,ENetNetwork4);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4006]: GTG01Z1TC006> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[6].Comm,06,4006,192,168,1,127,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[7].Comm,GTG01Z1TC007,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC007:I,ZoneTorqueController1[7],ZoneTorqueTools1);

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4007]: GTG01Z1TC007> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[7].Comm,07,4007,192,168,1,128,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 28 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[7].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[7].Comm.OK) NXB XIC(ZoneTorqueController1[7].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[7].Comm.FltMem) BND ;

DELETED --> 29 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[8].Comm,GTG01Z1TC008,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 30 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC008:I,ZoneTorqueController1[8],ZoneTorqueTools1);

DELETED --> 31 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4008]: GTG01Z1TC008> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[8].Comm,08,4008,192,168,1,129,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 32 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[8].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[8].Comm.OK) NXB XIC(ZoneTorqueController1[8].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[8].Comm.FltMem) BND ;

DELETED --> 33 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[9].Comm,GTG01Z1TC009,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 34 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC009:I,ZoneTorqueController1[9],ZoneTorqueTools1);

DELETED --> 35 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4009]: GTG01Z1TC009> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[9].Comm,09,4009,192,168,1,130,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 36 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[9].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[9].Comm.OK) NXB XIC(ZoneTorqueController1[9].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[9].Comm.FltMem) BND ;

DELETED --> 37 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[10].Comm,GTG01Z1TC010,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 38 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC010:I,ZoneTorqueController1[10],ZoneTorqueTools1);

DELETED --> 39 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4010]: GTG01Z1TC010> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[10].Comm,10,4010,192,168,1,131,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 40 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Veriffy comm ok of Enet Card For This Device's Network. ################################################################ <@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[10].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[10].Comm.OK) NXB XIC(ZoneTorqueController1[10].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[10].Comm.FltMem) BND ;

DELETED --> 41 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[11].Comm,GTG01Z1TC011,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 42 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC011:I,ZoneTorqueController1[11],ZoneTorqueTools1);

DELETED --> 43 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4011]: GTG01Z1TC011> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[11].Comm,11,4011,192,168,1,132,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 44 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[11].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[11].Comm.OK) NXB XIC(ZoneTorqueController1[11].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[11].Comm.FltMem) BND ;

DELETED --> 45 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[12].Comm,GTG01Z1TC012,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 46 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC012:I,ZoneTorqueController1[12],ZoneTorqueTools1);

DELETED --> 47 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4012]: GTG01Z1TC012> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[12].Comm,12,4012,192,168,1,133,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 48 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address # Torque Tools Communication Fault ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[12].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[12].Comm.OK) NXB XIC(ZoneTorqueController1[12].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[12].Comm.FltMem) BND ;

DELETED --> 49 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[13].Comm,GTG01Z1TC013,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 50 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC013:I,ZoneTorqueController1[13],ZoneTorqueTools1);

DELETED --> 51 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4013]: GTG01Z1TC013> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[13].Comm,13,4013,192,168,1,134,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 52 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[13].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[13].Comm.OK) NXB XIC(ZoneTorqueController1[13].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[13].Comm.FltMem) BND ;

DELETED --> 53 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[14].Comm,GTG01Z1TC014,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 54 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC014:I,ZoneTorqueController1[14],ZoneTorqueTools1);

DELETED --> 55 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4014]: GTG01Z1TC014> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[14].Comm,14,4014,192,168,1,135,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 56 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[14].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[14].Comm.OK) NXB XIC(ZoneTorqueController1[14].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[14].Comm.FltMem) BND ;

DELETED --> 57 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[15].Comm,GTG01Z1TC015,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 58 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC015:I,ZoneTorqueController1[15],ZoneTorqueTools1);

DELETED --> 59 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4015]: GTG01Z1TC015> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[15].Comm,15,4015,192,168,1,136,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 60 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[15].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[15].Comm.OK) NXB XIC(ZoneTorqueController1[15].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[15].Comm.FltMem) BND ;

DELETED --> 61 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[16].Comm,GTG01Z1TC016,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 62 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC016:I,ZoneTorqueController1[16],ZoneTorqueTools1);

DELETED --> 63 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4016]: GTG01Z1TC016> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[16].Comm,16,4016,192,168,1,137,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 64 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[16].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[16].Comm.OK) NXB XIC(ZoneTorqueController1[16].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[16].Comm.FltMem) BND ;

DELETED --> 65 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[17].Comm,GTG01Z1TC017,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 66 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC017:I,ZoneTorqueController1[17],ZoneTorqueTools1);

DELETED --> 67 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4017]: GTG01Z1TC017> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[17].Comm,17,4017,192,168,1,138,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 68 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[17].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[17].Comm.OK) NXB XIC(ZoneTorqueController1[17].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[17].Comm.FltMem) BND ;

DELETED --> 69 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[18].Comm,GTG01Z1TC018,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 70 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC018:I,ZoneTorqueController1[18],ZoneTorqueTools1);

DELETED --> 71 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4018]: GTG01Z1TC018> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[18].Comm,18,4018,192,168,1,139,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 72 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[18].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[18].Comm.OK) NXB XIC(ZoneTorqueController1[18].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[18].Comm.FltMem) BND ;

DELETED --> 73 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[19].Comm,GTG01Z1TC019,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 74 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC019:I,ZoneTorqueController1[19],ZoneTorqueTools1);

DELETED --> 75 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4019]: GTG01Z1TC019> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[19].Comm,19,4019,192,168,1,140,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 76 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[19].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[19].Comm.OK) NXB XIC(ZoneTorqueController1[19].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[19].Comm.FltMem) BND ;

DELETED --> 77 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[20].Comm,GTG01Z1TC020,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 78 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC020:I,ZoneTorqueController1[20],ZoneTorqueTools1);

DELETED --> 79 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4020]: GTG01Z1TC020> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[20].Comm,20,4020,192,168,1,141,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 80 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Veriffy comm ok of Enet Card For This Device's Network. ################################################################ <@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[20].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[20].Comm.OK) NXB XIC(ZoneTorqueController1[20].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[20].Comm.FltMem) BND ;

DELETED --> 81 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[21].Comm,GTG01Z1TC021,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 82 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC021:I,ZoneTorqueController1[21],ZoneTorqueTools1);

DELETED --> 83 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4021]: GTG01Z1TC021> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[21].Comm,21,4021,192,168,1,142,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 84 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[21].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[21].Comm.OK) NXB XIC(ZoneTorqueController1[21].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[21].Comm.FltMem) BND ;

DELETED --> 85 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[22].Comm,GTG01Z1TC022,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 86 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC022:I,ZoneTorqueController1[22],ZoneTorqueTools1);

DELETED --> 87 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4022]: GTG01Z1TC022> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[22].Comm,22,4022,192,168,1,143,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 88 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address # Torque Tools Communication Fault ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[22].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[22].Comm.OK) NXB XIC(ZoneTorqueController1[22].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[22].Comm.FltMem) BND ;

DELETED --> 89 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[23].Comm,GTG01Z1TC023,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 90 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC023:I,ZoneTorqueController1[23],ZoneTorqueTools1);

DELETED --> 91 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4023]: GTG01Z1TC023> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[23].Comm,23,4023,192,168,1,144,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 92 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[23].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[23].Comm.OK) NXB XIC(ZoneTorqueController1[23].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[23].Comm.FltMem) BND ;

DELETED --> 93 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[24].Comm,GTG01Z1TC024,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 94 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC024:I,ZoneTorqueController1[24],ZoneTorqueTools1);

DELETED --> 95 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4024]: GTG01Z1TC024> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[24].Comm,24,4024,192,168,1,145,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 96 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[24].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[24].Comm.OK) NXB XIC(ZoneTorqueController1[24].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[24].Comm.FltMem) BND ;

DELETED --> 97 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[25].Comm,GTG01Z1TC025,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 98 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC025:I,ZoneTorqueController1[25],ZoneTorqueTools1);

DELETED --> 99 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[4025]: GTG01Z1TC025> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[25].Comm,25,4025,192,168,1,146,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,0,ENetNetwork4);

DELETED --> 100 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[25].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneTorqueController1[25].Comm.OK) NXB XIC(ZoneTorqueController1[25].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[25].Comm.FltMem) BND ;

| | | | | ROUTINE: B912_MapInputsTC (I+C) (Maps Real Input ) | | | | |
DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[26].Comm,GTG01Z1TC026,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC026:I,ZoneTorqueController1[26],ZoneTorqueTools1);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5001]: GAc1TC026> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[26].Comm,01,5001,192,168,1,147,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[26].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[26].Comm.OK) NXB XIC(ZoneTorqueController1[26].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[26].Comm.FltMem) BND ;

DELETED --> 5 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[27].Comm,GTG01Z1TC027,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 6 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC027:I,ZoneTorqueController1[27],ZoneTorqueTools1);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5002]: GAc1TC027> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[27].Comm,02,5002,192,168,1,148,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[27].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[27].Comm.OK) NXB XIC(ZoneTorqueController1[27].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[27].Comm.FltMem) BND ;

DELETED --> 9 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[28].Comm,GTG01Z1TC028,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 10 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC028:I,ZoneTorqueController1[28],ZoneTorqueTools1);

DELETED --> 11 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5003]: GAc1TC028> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[28].Comm,03,5003,192,168,1,149,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 12 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[28].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[28].Comm.OK) NXB XIC(ZoneTorqueController1[28].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[28].Comm.FltMem) BND ;

DELETED --> 13 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[29].Comm,GTG01Z1TC029,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 14 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC029:I,ZoneTorqueController1[29],ZoneTorqueTools1);

DELETED --> 15 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5004]: GAc1TC029> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[29].Comm,04,5004,192,168,1,150,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 16 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[29].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[29].Comm.OK) NXB XIC(ZoneTorqueController1[29].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[29].Comm.FltMem) BND ;

DELETED --> 17 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[30].Comm,GTG01Z1TC030,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 18 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC030:I,ZoneTorqueController1[30],ZoneTorqueTools1);

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5005]: GAc1TC030> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[30].Comm,05,5005,192,168,1,151,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 20 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Veriffy comm ok of Enet Card For This Device's Network. ################################################################ <@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[30].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[30].Comm.OK) NXB XIC(ZoneTorqueController1[30].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[30].Comm.FltMem) BND ;

DELETED --> 21 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[31].Comm,GTG01Z1TC031,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 22 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC031:I,ZoneTorqueController1[31],ZoneTorqueTools1);

DELETED --> 23 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5006]: GAc1TC031> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[31].Comm,06,5006,192,168,1,152,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 24 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Veriffy comm ok of Enet Card For This Device's Network. ################################################################ <@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[31].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[31].Comm.OK) NXB XIC(ZoneTorqueController1[31].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[31].Comm.FltMem) BND ;

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[32].Comm,GTG01Z1TC032,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC032:I,ZoneTorqueController1[32],ZoneTorqueTools1);

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5007]: GAc1TC032> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[32].Comm,07,5007,192,168,1,153,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 28 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address # Torque Tools Communication Fault ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[32].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[32].Comm.OK) NXB XIC(ZoneTorqueController1[32].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[32].Comm.FltMem) BND ;

DELETED --> 29 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[33].Comm,GTG01Z1TC033,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 30 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC033:I,ZoneTorqueController1[33],ZoneTorqueTools1);

DELETED --> 31 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5008]: GAc1TC033> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[33].Comm,08,5008,192,168,1,154,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 32 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[33].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[33].Comm.OK) NXB XIC(ZoneTorqueController1[33].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[33].Comm.FltMem) BND ;

DELETED --> 33 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[34].Comm,GTG01Z1TC034,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 34 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC034:I,ZoneTorqueController1[34],ZoneTorqueTools1);

DELETED --> 35 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5009]: GAc1TC034> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[34].Comm,09,5009,192,168,1,155,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 36 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[34].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[34].Comm.OK) NXB XIC(ZoneTorqueController1[34].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[34].Comm.FltMem) BND ;

DELETED --> 37 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[35].Comm,GTG01Z1TC035,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 38 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC035:I,ZoneTorqueController1[35],ZoneTorqueTools1);

DELETED --> 39 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5010]: GAc1TC035> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[35].Comm,10,5010,192,168,1,156,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 40 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[35].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[35].Comm.OK) NXB XIC(ZoneTorqueController1[35].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[35].Comm.FltMem) BND ;

DELETED --> 41 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[36].Comm,GTG01Z1TC036,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 42 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC036:I,ZoneTorqueController1[36],ZoneTorqueTools1);

DELETED --> 43 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5011]: GAc1TC036> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[36].Comm,11,5011,192,168,1,157,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 44 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[36].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[36].Comm.OK) NXB XIC(ZoneTorqueController1[36].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[36].Comm.FltMem) BND ;

DELETED --> 45 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[37].Comm,GTG01Z1TC037,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 46 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC037:I,ZoneTorqueController1[37],ZoneTorqueTools1);

DELETED --> 47 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5012]: GAc1TC037> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[37].Comm,12,5012,192,168,1,158,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 48 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[37].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[37].Comm.OK) NXB XIC(ZoneTorqueController1[37].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[37].Comm.FltMem) BND ;

DELETED --> 49 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[38].Comm,GTG01Z1TC038,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 50 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC038:I,ZoneTorqueController1[38],ZoneTorqueTools1);

DELETED --> 51 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5013]: GAc1TC038> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[38].Comm,13,5013,192,168,1,159,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 52 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[38].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[38].Comm.OK) NXB XIC(ZoneTorqueController1[38].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[38].Comm.FltMem) BND ;

DELETED --> 53 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[39].Comm,GTG01Z1TC039,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 54 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC039:I,ZoneTorqueController1[39],ZoneTorqueTools1);

DELETED --> 55 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5014]: GAc1TC039> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[39].Comm,14,5014,192,168,1,160,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 56 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[39].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[39].Comm.OK) NXB XIC(ZoneTorqueController1[39].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[39].Comm.FltMem) BND ;

DELETED --> 57 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[40].Comm,GTG01Z1TC040,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 58 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC040:I,ZoneTorqueController1[40],ZoneTorqueTools1);

DELETED --> 59 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5015]: GAc1TC040> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[40].Comm,15,5015,192,168,1,161,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 60 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Veriffy comm ok of Enet Card For This Device's Network. ################################################################ <@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[40].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[40].Comm.OK) NXB XIC(ZoneTorqueController1[40].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[40].Comm.FltMem) BND ;

DELETED --> 61 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[41].Comm,GTG01Z1TC041,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 62 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC041:I,ZoneTorqueController1[41],ZoneTorqueTools1);

DELETED --> 63 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5016]: GAc1TC041> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[41].Comm,16,5016,192,168,1,162,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,3,ENetNetwork5);

DELETED --> 64 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[41].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[41].Comm.OK) NXB XIC(ZoneTorqueController1[41].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[41].Comm.FltMem) BND ;

DELETED --> 65 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[42].Comm,GTG01Z1TC042,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 66 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC042:I,ZoneTorqueController1[42],ZoneTorqueTools1);

DELETED --> 67 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5017]: GAc1TC042> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[42].Comm,17,5017,192,168,1,163,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 68 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address # Torque Tools Communication Fault ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[42].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[42].Comm.OK) NXB XIC(ZoneTorqueController1[42].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[42].Comm.FltMem) BND ;

DELETED --> 69 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[43].Comm,GTG01Z1TC043,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 70 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC043:I,ZoneTorqueController1[43],ZoneTorqueTools1);

DELETED --> 71 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5018]: GAc1TC043> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[43].Comm,18,5018,192,168,1,164,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 72 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[43].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[43].Comm.OK) NXB XIC(ZoneTorqueController1[43].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[43].Comm.FltMem) BND ;

DELETED --> 73 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[44].Comm,GTG01Z1TC044,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 74 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC044:I,ZoneTorqueController1[44],ZoneTorqueTools1);

DELETED --> 75 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5019]: GAc1TC044> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[44].Comm,19,5019,192,168,1,165,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 76 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[44].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[44].Comm.OK) NXB XIC(ZoneTorqueController1[44].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[44].Comm.FltMem) BND ;

DELETED --> 77 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[45].Comm,GTG01Z1TC045,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 78 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC045:I,ZoneTorqueController1[45],ZoneTorqueTools1);

DELETED --> 79 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5020]: GAc1TC045> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[45].Comm,20,5020,192,168,1,166,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 80 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[45].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[45].Comm.OK) NXB XIC(ZoneTorqueController1[45].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[45].Comm.FltMem) BND ;

DELETED --> 81 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[46].Comm,GTG01Z1TC046,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 82 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC046:I,ZoneTorqueController1[46],ZoneTorqueTools1);

DELETED --> 83 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5021]: GAc1TC046> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[46].Comm,21,5021,192,168,1,167,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 84 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[46].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[46].Comm.OK) NXB XIC(ZoneTorqueController1[46].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[46].Comm.FltMem) BND ;

DELETED --> 85 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[47].Comm,GTG01Z1TC047,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 86 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC047:I,ZoneTorqueController1[47],ZoneTorqueTools1);

DELETED --> 87 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5022]: GAc1TC047> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[47].Comm,22,5022,192,168,1,168,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 88 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[47].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[47].Comm.OK) NXB XIC(ZoneTorqueController1[47].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[47].Comm.FltMem) BND ;

DELETED --> 89 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[48].Comm,GTG01Z1TC048,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 90 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC048:I,ZoneTorqueController1[48],ZoneTorqueTools1);

DELETED --> 91 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5023]: GAc1TC048> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[48].Comm,23,5023,192,168,1,169,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 92 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[48].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[48].Comm.OK) NXB XIC(ZoneTorqueController1[48].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[48].Comm.FltMem) BND ;

DELETED --> 93 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[49].Comm,GTG01Z1TC049,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 94 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC049:I,ZoneTorqueController1[49],ZoneTorqueTools1);

DELETED --> 95 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5024]: GAc1TC049> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[49].Comm,24,5024,192,168,1,170,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 96 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[49].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[49].Comm.OK) NXB XIC(ZoneTorqueController1[49].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[49].Comm.FltMem) BND ;

DELETED --> 97 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneTorqueController1[50].Comm,GTG01Z1TC050,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 98 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Multi Torque Tool Input Map AOI # Parameters # in_TCInput - TC0xx:I # devTC - ZoneTorqueController[xx] # devZoneTorqueTools - ZoneTorqueTools # xx - Torque Controler Number ################################################################ za_EPMultiToolsInput(TorqueMultiToolIN,GTG01Z1TC050:I,ZoneTorqueController1[50],ZoneTorqueTools1);

DELETED --> 99 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[5025]: GAc1TC050> # za_EnetMapping(EnetAddressTableLoad,ZoneTorqueController1[50].Comm,25,5025,192,168,1,171,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.No,10000,1,ENetNetwork5);

DELETED --> 100 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Veriffy comm ok of Enet Card For This Device's Network. ################################################################ <@INFO> ################################################################ # Torque Tools Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneTorqueController1[50].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneTorqueController1[50].Comm.OK) NXB XIC(ZoneTorqueController1[50].Comm.FltMem) XIO(ConvStatus.LeavingFPS) XIO(Cell.Req.FaultReset) BND OTE(ZoneTorqueController1[50].Comm.FltMem) BND ;

| | | | | ROUTINE: B930_MapInputsBC (I) (Maps Real Input ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.415><@EDITS ALLOWED> <@SYS> ################################################################ # Map Barcode real world inputs from each node into internal tags and # diagnose connection status ################################################################ <@TODO> ################################################################ # Add a mapping rung for each Barcode Scanner node ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[1].Comm,GTG01Z1BC001,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanner Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[1].Comm.OK) za_EPBarcodeComtrol(Comtrol[1],GTG01Z1BC001:I.Data,ZoneBarcode1[1]) NXB XIO(ZoneBarcode1[1].Comm.OK) FLL(0,ZoneBarcode1[1].I,1) BND ;

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8001]: GTG01Z1BC001> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[1].Comm,01,8001,192,168,1,192,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[1].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[1].Comm.OK) NXB XIC(ZoneBarcode1[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[1].Comm.FltMem) BND ;

DELETED --> 5 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[2].Comm,GTG01Z1BC002,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 6 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[2].Comm.OK) za_EPBarcodeComtrol(Comtrol[2],GTG01Z1BC002:I.Data,ZoneBarcode1[2]) NXB XIO(ZoneBarcode1[2].Comm.OK) FLL(0,ZoneBarcode1[2].I,1) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8002]: GTG01Z1BC002> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[2].Comm,02,8002,192,168,1,193,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[2].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[2].Comm.OK) NXB XIC(ZoneBarcode1[2].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[2].Comm.FltMem) BND ;

DELETED --> 9 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[3].Comm,GTG01Z1BC003,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 10 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[3].Comm.OK) za_EPBarcodeComtrol(Comtrol[3],GTG01Z1BC003:I.Data,ZoneBarcode1[3]) NXB XIO(ZoneBarcode1[3].Comm.OK) FLL(0,ZoneBarcode1[3].I,1) BND ;

DELETED --> 11 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8003]: GTG01Z1BC003> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[3].Comm,03,8003,192,168,1,194,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 12 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[3].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[3].Comm.OK) NXB XIC(ZoneBarcode1[3].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[3].Comm.FltMem) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 13 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[4].Comm,GTG01Z1BC004,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 14 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[4].Comm.OK) za_EPBarcodeComtrol(Comtrol[4],GTG01Z1BC004:I.Data,ZoneBarcode1[4]) NXB XIO(ZoneBarcode1[4].Comm.OK) FLL(0,ZoneBarcode1[4].I,1) BND ;

DELETED --> 15 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8004]: GTG01Z1BC004> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[4].Comm,04,8004,192,168,1,195,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 16 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[4].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[4].Comm.OK) NXB XIC(ZoneBarcode1[4].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[4].Comm.FltMem) BND ;

DELETED --> 17 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[5].Comm,GTG01Z1BC005,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 18 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[5].Comm.OK) za_EPBarcodeComtrol(Comtrol[5],GTG01Z1BC005:I.Data,ZoneBarcode1[5]) NXB XIO(ZoneBarcode1[5].Comm.OK) FLL(0,ZoneBarcode1[5].I,1) BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8005]: GTG01Z1BC005> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[5].Comm,05,8005,192,168,1,196,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 20 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[5].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[5].Comm.OK) NXB XIC(ZoneBarcode1[5].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[5].Comm.FltMem) BND ;

DELETED --> 21 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[6].Comm,GTG01Z1BC006,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 22 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[6].Comm.OK) za_EPBarcodeComtrol(Comtrol[6],GTG01Z1BC006:I.Data,ZoneBarcode1[6]) NXB XIO(ZoneBarcode1[6].Comm.OK) FLL(0,ZoneBarcode1[6].I,1) BND ;

DELETED --> 23 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8006]: GTG01Z1BC006> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[6].Comm,06,8006,192,168,1,197,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 24 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[6].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[6].Comm.OK) NXB XIC(ZoneBarcode1[6].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[6].Comm.FltMem) BND ;

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[7].Comm,GTG01Z1BC007,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[7].Comm.OK) za_EPBarcodeComtrol(Comtrol[7],GTG01Z1BC007:I.Data,ZoneBarcode1[7]) NXB XIO(ZoneBarcode1[7].Comm.OK) FLL(0,ZoneBarcode1[7].I,1) BND ;

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8007]: GTG01Z1BC007> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[7].Comm,07,8007,192,168,1,198,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 28 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[7].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[7].Comm.OK) NXB XIC(ZoneBarcode1[7].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[7].Comm.FltMem) BND ;

DELETED --> 29 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[8].Comm,GTG01Z1BC008,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 30 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[8].Comm.OK) za_EPBarcodeComtrol(Comtrol[8],GTG01Z1BC008:I.Data,ZoneBarcode1[8]) NXB XIO(ZoneBarcode1[8].Comm.OK) FLL(0,ZoneBarcode1[8].I,1) BND ;

DELETED --> 31 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8008]: GTG01Z1BC008> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[8].Comm,08,8008,192,168,1,199,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 32 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[8].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[8].Comm.OK) NXB XIC(ZoneBarcode1[8].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[8].Comm.FltMem) BND ;

DELETED --> 33 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[9].Comm,GTG01Z1BC009,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 34 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[9].Comm.OK) za_EPBarcodeComtrol(Comtrol[9],GTG01Z1BC009:I.Data,ZoneBarcode1[9]) NXB XIO(ZoneBarcode1[9].Comm.OK) FLL(0,ZoneBarcode1[9].I,1) BND ;

DELETED --> 35 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8009]: GTG01Z1BC009> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[9].Comm,09,8009,192,168,1,200,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 36 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[9].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[9].Comm.OK) NXB XIC(ZoneBarcode1[9].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[9].Comm.FltMem) BND ;

DELETED --> 37 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[10].Comm,GTG01Z1BC010,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 38 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[10].Comm.OK) BST OTE(ZoneBarcode1[10].Comm.OK) NXB za_EPBarcodeComtrol(Comtrol[10],GTG01Z1BC010:I.Data,ZoneBarcode1[10]) BND NXB XIO(ZoneBarcode1[10].Comm.OK) FLL(0,ZoneBarcode1[10].I,1) BND ;

DELETED --> 39 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8010]: GTG01Z1BC010> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[10].Comm,10,8010,192,168,1,201,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,0,ENetNetwork8);

DELETED --> 40 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[10].IP) NXB XIC(EPPLCENET.Comm.OK) BST XIO(ZoneBarcode1[10].Comm.OK) NXB XIC(ZoneBarcode1[10].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[10].Comm.FltMem) BND ;

DELETED --> 41 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[11].Comm,GTG01Z1BC011,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 42 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[11].Comm.OK) za_EPBarcodeComtrol(Comtrol[11],GTG01Z1BC011:I.Data,ZoneBarcode1[11]) NXB XIO(ZoneBarcode1[11].Comm.OK) FLL(0,ZoneBarcode1[11].I,1) BND ;

DELETED --> 43 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8011]: GTG01Z1BC011> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[11].Comm,11,8011,192,168,1,202,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 44 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[11].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[11].Comm.OK) NXB XIC(ZoneBarcode1[11].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[11].Comm.FltMem) BND ;

DELETED --> 45 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[12].Comm,GTG01Z1BC012,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 46 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[12].Comm.OK) za_EPBarcodeComtrol(Comtrol[12],GTG01Z1BC012:I.Data,ZoneBarcode1[12]) NXB XIO(ZoneBarcode1[12].Comm.OK) FLL(0,ZoneBarcode1[12].I,1) BND ;

DELETED --> 47 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8012]: GTG01Z1BC012> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[12].Comm,12,8012,192,168,1,203,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 48 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[12].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[12].Comm.OK) NXB XIC(ZoneBarcode1[12].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[12].Comm.FltMem) BND ;

DELETED --> 49 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[13].Comm,GTG01Z1BC013,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 50 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[13].Comm.OK) za_EPBarcodeComtrol(Comtrol[13],GTG01Z1BC013:I.Data,ZoneBarcode1[13]) NXB XIO(ZoneBarcode1[13].Comm.OK) FLL(0,ZoneBarcode1[13].I,1) BND ;

DELETED --> 51 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8013]: GTG01Z1BC013> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[13].Comm,13,8013,192,168,1,204,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 52 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[13].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[13].Comm.OK) NXB XIC(ZoneBarcode1[13].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[13].Comm.FltMem) BND ;

DELETED --> 53 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[14].Comm,GTG01Z1BC014,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 54 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[14].Comm.OK) za_EPBarcodeComtrol(Comtrol[14],GTG01Z1BC014:I.Data,ZoneBarcode1[14]) NXB XIO(ZoneBarcode1[14].Comm.OK) FLL(0,ZoneBarcode1[14].I,1) BND ;

DELETED --> 55 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8014]: GTG01Z1BC014> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[14].Comm,14,8014,192,168,1,205,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 56 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[14].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[14].Comm.OK) NXB XIC(ZoneBarcode1[14].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[14].Comm.FltMem) BND ;

DELETED --> 57 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[15].Comm,GTG01Z1BC015,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 58 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[15].Comm.OK) za_EPBarcodeComtrol(Comtrol[15],GTG01Z1BC015:I.Data,ZoneBarcode1[15]) NXB XIO(ZoneBarcode1[15].Comm.OK) FLL(0,ZoneBarcode1[15].I,1) BND ;

DELETED --> 59 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8015]: GTG01Z1BC015> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[15].Comm,15,8015,192,168,1,206,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 60 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[15].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[15].Comm.OK) NXB XIC(ZoneBarcode1[15].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[15].Comm.FltMem) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 61 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[16].Comm,GTG01Z1BC016,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 62 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[16].Comm.OK) za_EPBarcodeComtrol(Comtrol[16],GTG01Z1BC016:I.Data,ZoneBarcode1[16]) NXB XIO(ZoneBarcode1[16].Comm.OK) FLL(0,ZoneBarcode1[16].I,1) BND ;

DELETED --> 63 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8016]: GTG01Z1BC016> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[16].Comm,16,8016,192,168,1,207,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 64 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[16].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[16].Comm.OK) NXB XIC(ZoneBarcode1[16].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[16].Comm.FltMem) BND ;

DELETED --> 65 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[17].Comm,GTG01Z1BC017,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 66 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[17].Comm.OK) za_EPBarcodeComtrol(Comtrol[17],GTG01Z1BC017:I.Data,ZoneBarcode1[17]) NXB XIO(ZoneBarcode1[17].Comm.OK) FLL(0,ZoneBarcode1[17].I,1) BND ;

DELETED --> 67 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8017]: GTG01Z1BC017> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[17].Comm,17,8017,192,168,1,208,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 68 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[17].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[17].Comm.OK) NXB XIC(ZoneBarcode1[17].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[17].Comm.FltMem) BND ;

DELETED --> 69 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[18].Comm,GTG01Z1BC018,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 70 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[18].Comm.OK) za_EPBarcodeComtrol(Comtrol[18],GTG01Z1BC018:I.Data,ZoneBarcode1[18]) NXB XIO(ZoneBarcode1[18].Comm.OK) FLL(0,ZoneBarcode1[18].I,1) BND ;

DELETED --> 71 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8018]: GTG01Z1BC018> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[18].Comm,18,8018,192,168,1,209,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 72 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[18].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[18].Comm.OK) NXB XIC(ZoneBarcode1[18].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[18].Comm.FltMem) BND ;

DELETED --> 73 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[19].Comm,GTG01Z1BC019,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 74 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[19].Comm.OK) za_EPBarcodeComtrol(Comtrol[19],GTG01Z1BC019:I.Data,ZoneBarcode1[19]) NXB XIO(ZoneBarcode1[19].Comm.OK) FLL(0,ZoneBarcode1[19].I,1) BND ;

DELETED --> 75 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8019]: GTG01Z1BC019> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[19].Comm,19,8019,192,168,1,210,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 76 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[19].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[19].Comm.OK) NXB XIC(ZoneBarcode1[19].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[19].Comm.FltMem) BND ;

DELETED --> 77 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,ZoneBarcode1[20].Comm,GTG01Z1BC020,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 78 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Controller Ethernet Status / Diagnostics # Map Inputs ################################################################ BST XIC(ZoneBarcode1[20].Comm.OK) za_EPBarcodeComtrol(Comtrol[20],GTG01Z1BC020:I.Data,ZoneBarcode1[20]) NXB XIO(ZoneBarcode1[20].Comm.OK) FLL(0,ZoneBarcode1[20].I,1) BND ;

DELETED --> 79 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[8020]: GTG01Z1BC020> # za_EnetMapping(EnetAddressTableLoad,ZoneBarcode1[20].Comm,20,8020,192,168,1,211,kConstant.Yes,kConstant.Yes,1,kConstant.No,kConstant.Yes,10000,1,ENetNetwork8);

DELETED --> 80 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Barcode Scanners Number # Controller Ethernet Address ################################################################ BST XIC(S:FS) za_EPDeviceIP(DeviceTagIP,EnetAddressTableLoad,ZoneBarcode1[20].IP) NXB XIC(EPEN2TSlot1.Comm.OK) BST XIO(ZoneBarcode1[20].Comm.OK) NXB XIC(ZoneBarcode1[20].Comm.FltMem) XIO(Cell.Req.FaultReset) BND OTE(ZoneBarcode1[20].Comm.FltMem) BND ;

| | | | | ROUTINE: B971_MapInputsPT (I+C) (Maps Process Too) | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.413><@EDITS ALLOWED> <@SYS> ################################################################ # Map Consumer tag to Process Tools Inputs ################################################################ <@TODO> ################################################################ # Verify consumer Tags parameters # Customized mapping is required for Process Tools ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.415><@EDITS ALLOWED> <@SYS> ################################################################ # Map Torque Tool real world inputs from each node into internal tags and # diagnose connection status ################################################################ <@TODO> ################################################################ # Add a mapping rung for each Torque Tool Controller node ################################################################ OTE(RungComment);

1 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Inputs ################################################################ XIO(GA_TGGS01toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIC(GA_TGGS01toEP_GTG01Z1Interlocks.Comm.RunMode)CPS(GA_TGGS01toEP_GTG01Z1Interlocks.TGGS010.FromPTC,ZoneProcessTool1[1].I,1);

2 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Divide CQIs fault value to match offset Tool Events AOI ################################################################ GRT(ZoneProcessTool1[1].I.CQis_Fault,0)DIV(ZoneProcessTool1[1].I.CQis_Fault,8,ZoneProcessTool1[1].I.CQis_Fault);

3 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Inputs ################################################################ XIO(GA_TGGS01toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIC(GA_TGGS01toEP_GTG01Z1Interlocks.Comm.RunMode)CPS(GA_TGGS01toEP_GTG01Z1Interlocks.TGGS020.FromPTC,ZoneProcessTool1[2].I,1);

4 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Divide CQIs fault value to match offset Tool Events AOI ################################################################ GRT(ZoneProcessTool1[2].I.CQis_Fault,0)DIV(ZoneProcessTool1[2].I.CQis_Fault,8,ZoneProcessTool1[2].I.CQis_Fault);

5 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Inputs ################################################################ XIO(GA_TGGS02toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIC(GA_TGGS02toEP_GTG01Z1Interlocks.Comm.RunMode)CPS(GA_TGGS02toEP_GTG01Z1Interlocks.TGGS010.FromPTC,ZoneProcessTool1[3].I,1);

6 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Divide CQIs fault value to match offset Tool Events AOI ################################################################ GRT(ZoneProcessTool1[3].I.CQis_Fault,0)DIV(ZoneProcessTool1[3].I.CQis_Fault,8,ZoneProcessTool1[3].I.CQis_Fault);

7 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Inputs ################################################################ XIO(GA_TGGS02toEP_GTG01Z1Interlocks.Comm.ConnectionFaulted)XIC(GA_TGGS02toEP_GTG01Z1Interlocks.Comm.RunMode)CPS(GA_TGGS02toEP_GTG01Z1Interlocks.TGGS020.FromPTC,ZoneProcessTool1[4].I,1);

8 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Divide CQIs fault value to match offset Tool Events AOI ################################################################ GRT(ZoneProcessTool1[4].I.CQis_Fault,0)DIV(ZoneProcessTool1[4].I.CQis_Fault,8,ZoneProcessTool1[4].I.CQis_Fault);

| | | | | ROUTINE: J001_JobDataODD (I) (Footprint JobDat) | | | | |
6 <------- EDITED (I) --------> 6 |████| | | |
NEW RUNG

<@INFO> ################################################################ # When the Job is in the Conveyor FPS, Copy the Footprint's Job Data & Build # Data To the Next Buffer and Clear the Footprint's Job Data & Build Data. ################################################################ BST BST XIC(_HTI.1) NXB XIO(_HTI.8) BND XIC(ConvStatus.LeavingFPS) NXB XIC(_HTI.8) XIO(_HTI.1) XIC(FromConveyor.FPS) XIC(FP001FromConveyor.FPS) XIC(JobID1.WorkComplete) BND XIO(TrackingBufferNext.JobData.Data.Present)XIO(SimStatus.InSimMode)BST BST XIC(JobID1.Released) NXB XIC(JobID1.Bypassed) BND OTL(Jobdata.Data.BuildStatus.2) NXB COP(Jobdata.Data,TrackingBufferNext.JobData.Data,1) COP(BuildData,TrackingBufferNext.BuildData,1) NXB XIC(TrackingBufferNext.JobData.Data.Present) JSR(zX325_UnloadBuffers,0) BND ;

OLD RUNG

<@INFO> ################################################################ # When the Job is in the Conveyor FPS, Copy the Footprint's Job Data & Build # Data To the Next Buffer and Clear the Footprint's Job Data & Build Data. ################################################################ XIC(ConvStatus.LeavingFPS)XIO(TrackingBufferNext.JobData.Data.Present)XIO(SimStatus.InSimMode)BST BST XIC(JobID1.Released) NXB XIC(JobID1.Bypassed) BND OTL(Jobdata.Data.BuildStatus.2) NXB COP(Jobdata.Data,TrackingBufferNext.JobData.Data,1) MOV(JobdataRF.Data.Carrier,TrackingBufferNext.JobData.Data.Carrier) COP(BuildData,TrackingBufferNext.BuildData,1) NXB XIC(TrackingBufferNext.JobData.Data.Present) JSR(zX325_UnloadBuffers,0) BND ;

7 <------- EDITED (I) --------> 7 |████| | | |
NEW RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Clear the ODD Build Data & # Job Data and Trigger an ODD Buffer Shift. ################################################################ BST BST XIC(_HTI.1) NXB XIO(_HTI.8) BND XIC(ConvStatus.LeavingFPS) NXB XIC(_HTI.8) XIO(_HTI.1) XIC(FromConveyor.FPS) XIC(FP001FromConveyor.FPS) XIC(JobID1.WorkComplete) BND XIO(SimStatus.InSimMode)BST FLL(0,Jobdata.Data,1) FLL(32,BuildData.ID[0],72) FLL(0,BuildData.ID[72],928) NXB XIC(TrackingBufferNext.JobData.Data.Present) XIO(TrackingControl.ResetDataReady) OTL(ODD1Interface.OKforODDDataShift) NXB XIC(TrackingControl.ResetDataReady) OTU(TrackingControl.ResetDataReady) BND ;

OLD RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Clear the ODD Build Data & # Job Data and Trigger an ODD Buffer Shift. ################################################################ XIC(ConvStatus.LeavingFPS)XIO(SimStatus.InSimMode)BST FLL(0,Jobdata.Data,1) FLL(0,JobdataRF.Data,1) FLL(32,BuildData.ID[0],72) FLL(0,BuildData.ID[72],928) NXB XIC(TrackingBufferNext.JobData.Data.Present) XIO(TrackingControl.ResetDataReady) OTL(ODD1Interface.OKforODDDataShift) NXB XIC(TrackingControl.ResetDataReady) OTU(TrackingControl.ResetDataReady) BND ;

9 <------- EDITED (I) --------> 9 | | | | |
NEW RUNG

<@TODO> ################################################################ # Add additional No Operation conditions in parallel if required. # Replace branch starting from TBD bit with specific sensor data logic # that indicates a job is present, as required for your application. ################################################################ BST XIC(Jobdata.Data.Present) BST EQU(Jobdata.Data.Style,255) NXB XIC(Jobdata.Data.BuildStatus.2) BND NXB XIC(AlwaysOff) XIO(Jobdata.Data.Present) BST XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW3) BND BST XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW5) BND BND OTE(Jobdata.NoOperation);

OLD RUNG

<@TODO> ################################################################ # Add additional No Operation conditions in parallel if required. # Replace branch starting from TBD bit with specific sensor data logic # that indicates a job is present, as required for your application. ################################################################ BST XIC(Jobdata.Data.Present) BST EQU(Jobdata.Data.Style,255) NXB XIC(Jobdata.Data.BuildStatus.2) BND NXB XIO(Jobdata.Data.Present) XIC(TBD) BST XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW3) BND BST XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW5) BND BND OTE(Jobdata.NoOperation);

12 <------- EDITED (I) --------> 12 | | | | |
NEW RUNG

<@TODO> ################################################################ # Use Data Ready bit as a memory indicating a job that is ready for build data # has been detected in the footprint and requires build data. # Replace branch starting from TBD bit with specific sensor data logic # that indicates a job is present, as required for your application. ################################################################ BST BST XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW3) BND BST XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW5) BND NXB XIC(LineTrackingID.MainScan1.DataPresent) NXB XIC(LineTrackingID.BackupScan1.DataPresent) NXB XIC(LineTrackingID.BackupManual1.DataPresent) NXB XIC(LineTrackingID.MainScan2.DataPresent) NXB XIC(LineTrackingID.BackupScan2.DataPresent) NXB XIC(LineTrackingID.BackupManual2.DataPresent) BND XIO(ConvStatus.NewDataONS)OTL(Jobdata.DataRdy);

OLD RUNG

<@TODO> ################################################################ # Use Data Ready bit as a memory indicating a job that is ready for build data # has been detected in the footprint and requires build data. # Replace branch starting from TBD bit with specific sensor data logic # that indicates a job is present, as required for your application. ################################################################ BST XIO(TBD) BST XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW3) BND BST XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW5) BND NXB XIC(LineTrackingID.MainScan1.DataPresent) NXB XIC(LineTrackingID.BackupScan1.DataPresent) NXB XIC(LineTrackingID.BackupManual1.DataPresent) NXB XIC(LineTrackingID.MainScan2.DataPresent) NXB XIC(LineTrackingID.BackupScan2.DataPresent) NXB XIC(LineTrackingID.BackupManual2.DataPresent) BND XIO(ConvStatus.NewDataONS)OTL(Jobdata.DataRdy);

| | | | | ROUTINE: J002_JobdataBarcode1 (I)(Error Proofing L) | | | | |
2 <------- EDITED (I) --------> 2 | | | | |
NEW RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Trigger the Barcode Reader when the # Barcode Label is Present. Set the LIM instruction High Limit & Low Limit to the # Conveyor Travel window where the fixed scanner can read the barcode. ################################################################ BST LIM(5,ConvStatus.PercentTravel,95) NXB XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW3) BND XIO(JobID1.WorkComplete)XIO(Barcode1.Bypass.On)XIO(SimStatus.InSimMode)OTE(Barcode1.TriggerSetup);

OLD RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Trigger the Barcode Reader when the # Barcode Label is Present. Set the LIM instruction High Limit & Low Limit to the # Conveyor Travel window where the fixed scanner can read the barcode. ################################################################ BST LIM(5,ConvStatus.PercentTravel,95) NXB XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW3) BND XIO(JobID1.WorkComplete)XIO(Mode.Tryout)XIO(Barcode1.Bypass.On)XIO(SimStatus.InSimMode)OTE(Barcode1.TriggerSetup);

3 <------- EDITED (I) --------> 3 | | | | |
NEW RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Clear the Barcode Reader Data # When the Barcode Label is Not Present ################################################################ BST XIC(ConvStatus.ResetAllTasks) XIO(SimStatus.InSimMode) NXB XIC(Barcode1.Bypass.On) BND OTE(Barcode1.ClearSetup);

OLD RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Clear the Barcode Reader Data # When the Barcode Label is Not Present ################################################################ BST XIC(ConvStatus.ResetAllTasks) XIO(SimStatus.InSimMode) NXB XIC(Mode.Tryout) NXB XIC(Barcode1.Bypass.On) BND OTE(Barcode1.ClearSetup);

8 <------- EDITED (I) --------> 8 | | | | |
NEW RUNG

<@INFO> ################################################################ # This rung copies build data received from Camera into a SINT array Buffer. # For "2D: label: CAM01.I.String05 is filled with the first 240 characters and then # String01 to 04 if BC has more than 240 characters. # For "1D" label CAM01.I.String01 is filled with up to 40 characters. ################################################################ <@TODO> ################################################################ # Modify this rung to match BC Data format. # IF "2D" barcode is read, THEN Delete the Top Branch with TBD & COP # IF "1D" barcode is read, THEN Delete the 2nd Branch with TBD & COP # Delete remaining TBD instruction. ################################################################ XIC(CAM01.Sts.Pass)XIC(CAM01.I.RunMode)GRT(CAM01.I.DataSize,0)BST COP(CAM01.I.String01[2],Barcode1.Data.Data[0],60) NXB BST LES(CAM01.I.DataSize,60) EQU(Barcode1.Data.Data[CAM01.I.DataSize],13) NXB GEQ(CAM01.I.DataSize,60) BND BST OTE(Barcode1.NewData) NXB MOV(CAM01.I.DataSize,Barcode1.Length) BND BND ;

OLD RUNG

<@INFO> ################################################################ # This rung copies build data received from Camera into a SINT array Buffer. # For "2D: label: CAM01.I.String05 is filled with the first 240 characters and then # String01 to 04 if BC has more than 240 characters. # For "1D" label CAM01.I.String01 is filled with up to 40 characters. ################################################################ <@TODO> ################################################################ # Modify this rung to match BC Data format. # IF "2D" barcode is read, THEN Delete the Top Branch with TBD & COP # IF "1D" barcode is read, THEN Delete the 2nd Branch with TBD & COP # Delete remaining TBD instruction. ################################################################ XIC(CAM01.Sts.Pass)XIC(CAM01.I.RunMode)GRT(CAM01.I.DataSize,0)BST XIC(TBD) COP(CAM01.I.String01[2],Barcode1.Data.Data[0],38) NXB XIC(TBD) COP(CAM01.I.String05[2],Barcode1.Data.Data[0],60) NXB BST LES(CAM01.I.DataSize,60) EQU(Barcode1.Data.Data[CAM01.I.DataSize],13) NXB GEQ(CAM01.I.DataSize,60) BND BST OTE(Barcode1.NewData) NXB MOV(CAM01.I.DataSize,Barcode1.Length) BND BND ;

13 <------- EDITED (I) --------> 13 | | | | |
NEW RUNG

<@TODO> ################################################################ # If the Barcode Jobdata is Valid Trigger a Read Pass # # This Rung will change with the format of the Barcode Label # Set Source A in EQU instruction to the number of characters on the Barcode Label # Valid styles should be paralleled on this rung ################################################################ BST XIC(Barcode1.NewData) EQU(Barcode1.Length,9) NXB XIC(_HTI.9) BND BST XIC(LineTrackingID.ConfigVIDTypePVI) LIM(1,LineTrackingID.MainScan1.VID,999999999) BST NEQ(LineTrackingID.MainScan1.VID,ODD1App.DataOut.Buf.Data[0].VID) NXB EQU(LineTrackingID.MainScan1.VID,ODD1App.Curr.Jobdata.VID) BND NXB XIC(LineTrackingID.ConfigVIDTypeCSN) LIM(1,LineTrackingID.MainScan1.SeqNum,9999999) BST NEQ(LineTrackingID.MainScan1.SeqNum,ODD1App.DataOut.Buf.Data[0].SeqNum) NXB NEQ(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.DataOut.Buf.Data[0].SeqNumSuffix) NXB EQU(LineTrackingID.MainScan1.SeqNum,ODD1App.Curr.Jobdata.SeqNum) EQU(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.Curr.Jobdata.SeqNumSuffix) BND NXB XIC(LineTrackingID.ConfigVIDTypeSVI) LIM(1,LineTrackingID.MainScan1.SeqNum,9999999) BST NEQ(LineTrackingID.MainScan1.SeqNum,ODD1App.DataOut.Buf.Data[0].SeqNum) NXB NEQ(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.DataOut.Buf.Data[0].SeqNumSuffix) NXB EQU(LineTrackingID.MainScan1.AltKey[0],ODD1App.Curr.Jobdata.Options[1]) EQU(LineTrackingID.MainScan1.AltKey[1],ODD1App.Curr.Jobdata.Options[2]) EQU(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.Curr.Jobdata.Options[3]) BND NXB XIC(LineTrackingID.ConfigVIDTypeCID) LIM(1,LineTrackingID.MainScan1.Carrier,9999) NEQ(LineTrackingID.MainScan1.Carrier,TrackingImage1[1].JobData.Data.Carrier) BND OTE(Barcode1.PassRead);

OLD RUNG

<@TODO> ################################################################ # If the Barcode Jobdata is Valid Trigger a Read Pass # # This Rung will change with the format of the Barcode Label # Set Source A in EQU instruction to the number of characters on the Barcode Label # Valid styles should be paralleled on this rung ################################################################ XIC(Barcode1.NewData)EQU(Barcode1.Length,9)BST XIC(LineTrackingID.ConfigVIDTypePVI) LIM(1,LineTrackingID.MainScan1.VID,999999999) BST NEQ(LineTrackingID.MainScan1.VID,ODD1App.DataOut.Buf.Data[0].VID) NXB EQU(LineTrackingID.MainScan1.VID,ODD1App.Curr.Jobdata.VID) BND NXB XIC(LineTrackingID.ConfigVIDTypeCSN) LIM(1,LineTrackingID.MainScan1.SeqNum,9999999) BST NEQ(LineTrackingID.MainScan1.SeqNum,ODD1App.DataOut.Buf.Data[0].SeqNum) NXB NEQ(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.DataOut.Buf.Data[0].SeqNumSuffix) NXB EQU(LineTrackingID.MainScan1.SeqNum,ODD1App.Curr.Jobdata.SeqNum) EQU(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.Curr.Jobdata.SeqNumSuffix) BND NXB XIC(LineTrackingID.ConfigVIDTypeSVI) LIM(1,LineTrackingID.MainScan1.SeqNum,9999999) BST NEQ(LineTrackingID.MainScan1.SeqNum,ODD1App.DataOut.Buf.Data[0].SeqNum) NXB NEQ(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.DataOut.Buf.Data[0].SeqNumSuffix) NXB EQU(LineTrackingID.MainScan1.AltKey[0],ODD1App.Curr.Jobdata.Options[1]) EQU(LineTrackingID.MainScan1.AltKey[1],ODD1App.Curr.Jobdata.Options[2]) EQU(LineTrackingID.MainScan1.SeqNumSuffix,ODD1App.Curr.Jobdata.Options[3]) BND NXB XIC(LineTrackingID.ConfigVIDTypeCID) LIM(1,LineTrackingID.MainScan1.Carrier,9999) NEQ(LineTrackingID.MainScan1.Carrier,TrackingImage1[1].JobData.Data.Carrier) BND OTE(Barcode1.PassRead);

17 <------- EDITED (I) --------> 17 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[450]: Barcode/ODD Mismatch /*VAR1*///*VAR2*//*R*/Confirm Job From Line Tracking Console Screen > # BST XIO(_HTI.31) NXB XIC(_HTI.31) XIC(TrackingImage1[0].JobData.Data.Present) BND XIC(LineTrackingID.MainScan1.DataMisMatch)XIO(JobID1.WorkComplete)BST BST XIC(LineTrackingID.ConfigVIDTypePVI) MOV(LineTrackingID.MainScan1.VID,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.VID,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeCSN) MOV(LineTrackingID.MainScan1.SeqNum,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.SeqNum,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeSVI) MOV(LineTrackingID.MainScan1.SeqNum,PFEControl.Var1) COP(ODD1App.Curr.Jobdata.Options[1],PFEControl.Var2,1) NXB XIC(LineTrackingID.ConfigVIDTypeCID) MOV(LineTrackingID.MainScan1.Carrier,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.Carrier,PFEControl.Var2) BND CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[450],kHelp.None) BND ;

OLD RUNG

<@DIAG> # # <Alarm[450]: Barcode/ODD Mismatch /*VAR1*///*VAR2*//*R*/Confirm Job From Line Tracking Console Screen > # XIC(LineTrackingID.MainScan1.DataMisMatch)XIO(JobID1.WorkComplete)BST BST XIC(LineTrackingID.ConfigVIDTypePVI) MOV(LineTrackingID.MainScan1.VID,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.VID,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeCSN) MOV(LineTrackingID.MainScan1.SeqNum,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.SeqNum,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeSVI) MOV(LineTrackingID.MainScan1.SeqNum,PFEControl.Var1) COP(ODD1App.Curr.Jobdata.Options[1],PFEControl.Var2,1) NXB XIC(LineTrackingID.ConfigVIDTypeCID) MOV(LineTrackingID.MainScan1.Carrier,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.Carrier,PFEControl.Var2) BND CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[450],kHelp.None) BND ;

| | | | | ROUTINE: J003_JobdataBackupScan1 (I) | | | | | (Error Proofing B) | | | | |
2 <------- EDITED (I) --------> 2 | | | | |
NEW RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Trigger the Barcode Reader # When the Barcode Label is Present ################################################################ BST GEQ(ConvStatus.PercentTravel,5) NXB XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW3) BND XIO(JobID1.WorkComplete)XIO(BackupScan1.Bypass.On)XIO(SimStatus.InSimMode)OTE(BackupScan1.TriggerSetup);

OLD RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Trigger the Barcode Reader # When the Barcode Label is Present ################################################################ BST GEQ(ConvStatus.PercentTravel,5) NXB XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW3) BND XIO(JobID1.WorkComplete)XIO(Mode.Tryout)XIO(BackupScan1.Bypass.On)XIO(SimStatus.InSimMode)OTE(BackupScan1.TriggerSetup);

3 <------- EDITED (I) --------> 3 | | | | |
NEW RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Clear the Barcode Reader Data # When the Barcode Label is Not Present ################################################################ BST XIC(ConvStatus.ResetAllTasks) XIO(SimStatus.InSimMode) NXB XIC(BackupScan1.Bypass.On) BND FLL(0,EntryBarcode[0].I.Data,1);

OLD RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Clear the Barcode Reader Data # When the Barcode Label is Not Present ################################################################ BST XIC(ConvStatus.ResetAllTasks) XIO(SimStatus.InSimMode) NXB XIC(Mode.Tryout) NXB XIC(BackupScan1.Bypass.On) BND FLL(0,EntryBarcode[0].I.Data,1);

14 <------- EDITED (I) --------> 14 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[451]: Barcode/ODD Mismatch /*VAR1*///*VAR2*//*R*/Confirm Job From Line Tracking Console Screen > # BST XIO(_HTI.31) NXB XIC(_HTI.31) XIC(TrackingImage1[0].JobData.Data.Present) BND XIC(LineTrackingID.BackupScan1.DataMisMatch)XIO(JobID1.WorkComplete)BST BST XIC(LineTrackingID.ConfigVIDTypePVI) MOV(LineTrackingID.BackupScan1.VID,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.VID,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeCSN) MOV(LineTrackingID.BackupScan1.SeqNum,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.SeqNum,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeSVI) MOV(LineTrackingID.BackupScan1.SeqNum,PFEControl.Var1) COP(ODD1App.Curr.Jobdata.Options[1],PFEControl.Var2,1) NXB XIC(LineTrackingID.ConfigVIDTypeCID) MOV(LineTrackingID.BackupScan1.Carrier,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.Carrier,PFEControl.Var2) BND CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[451],kHelp.None) BND ;

OLD RUNG

<@DIAG> # # <Alarm[451]: Barcode/ODD Mismatch /*VAR1*///*VAR2*//*R*/Confirm Job From Line Tracking Console Screen > # XIC(LineTrackingID.BackupScan1.DataMisMatch)XIO(JobID1.WorkComplete)BST BST XIC(LineTrackingID.ConfigVIDTypePVI) MOV(LineTrackingID.BackupScan1.VID,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.VID,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeCSN) MOV(LineTrackingID.BackupScan1.SeqNum,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.SeqNum,PFEControl.Var2) NXB XIC(LineTrackingID.ConfigVIDTypeSVI) MOV(LineTrackingID.BackupScan1.SeqNum,PFEControl.Var1) COP(ODD1App.Curr.Jobdata.Options[1],PFEControl.Var2,1) NXB XIC(LineTrackingID.ConfigVIDTypeCID) MOV(LineTrackingID.BackupScan1.Carrier,PFEControl.Var1) MOV(ODD1App.Curr.Jobdata.Carrier,PFEControl.Var2) BND CLR(PFEControl.Var3) NXB OTL(PFEControl.IsEmbeddedVariable) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[451],kHelp.None) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | ROUTINE: J004_JobdataManualEntry1 (I+C) | | | | | (Error Proofing M) | | | | |
2 <------- EDITED (I) --------> 2 | | | | |
NEW RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Trigger the Barcode Reader # When the Barcode Label is Present ################################################################ BST GEQ(ConvStatus.PercentTravel,5) NXB XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW3) BND XIO(JobID1.WorkComplete)XIO(BackupManual1.Bypass.On)XIO(SimStatus.InSimMode)OTE(BackupManual1.TriggerSetup);

OLD RUNG

<@TODO> ################################################################ # Add Conditions to this Rung that will Trigger the Barcode Reader # When the Barcode Label is Present ################################################################ BST GEQ(ConvStatus.PercentTravel,5) NXB XIC(LineTrackingID.IDSW1) NXB XIC(LineTrackingID.IDSW2) NXB XIC(LineTrackingID.IDSW3) BND XIO(JobID1.WorkComplete)XIO(Mode.Tryout)XIO(BackupManual1.Bypass.On)XIO(SimStatus.InSimMode)OTE(BackupManual1.TriggerSetup);

16 <------- EDITED (C) --------> 16 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[557]: All Barcode 1 Scanners Bypassed> # <Alarm[521]: LTC In Assume Mode> # XIC(BackupManual1.Bypass.On)BST JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[557],kHelp.None) NXB XIC(LineTrackingID.ConfigAllowAssumedData) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdStatus,kAlarm[521],kHelp.None) BND ;

OLD RUNG

<@DIAG> # # <Alarm[557]: All Barcode 1 Scanners Bypassed> # <Alarm[521]: FPEntry1 LTC In Assume Mode> # XIC(BackupManual1.Bypass.On)BST JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[557],kHelp.None) NXB XIC(LineTrackingID.ConfigAllowAssumedData) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdStatus,kAlarm[521],kHelp.None) BND ;

| | | | | ROUTINE: S010_LineTrackingID1 (I+C) | | | | | (Error Proofing L) | | | | |
8 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(JobID1.WorkComplete)OTE(JobID1WorkComplete);

11 <------- EDITED (I) --------> 10 | | | | |
NEW RUNG

<@INFO> ################################################################ # Request to Stop Conveyor # Work is Not Completed ################################################################ <@TODO> ################################################################ # Set Source B of GEQ instruction Equal to Stop Travel Percentage ################################################################ XIC(JobID1.WorkRequired)XIO(SimStatus.InSimMode)BST XIC(Jobdata.DataRdy) XIO(JobID1.WorkComplete) XIO(JobID1.Released) GEQ(ConvStatus.PercentTravel,90) OTU(ConvStatus.OkayToRun) NXB XIO(Jobdata.DataRdy) XIC(JobID1.Fail) BND OTE(JobID1.Fail);

OLD RUNG

<@INFO> ################################################################ # Request to Stop Conveyor # Work is Not Completed ################################################################ <@TODO> ################################################################ # Set Source B of GEQ instruction Equal to Stop Travel Percentage ################################################################ XIC(JobID1.WorkRequired)XIO(SimStatus.InSimMode)BST XIC(Jobdata.DataRdy) XIO(JobID1.WorkComplete) XIO(JobID1.Released) BST GEQ(ConvStatus.PercentTravel,90) NXB XIC(ConvStatus.AtFPS) BND OTU(ConvStatus.OkayToRun) NXB XIO(Jobdata.DataRdy) XIC(JobID1.Fail) BND OTE(JobID1.Fail);

24 <------- EDITED (I) --------> 23 | | | | |
NEW RUNG

<@INFO> ################################################################ # Seal Memory of Set-In Job Confirmation ################################################################ BST XIC(HMItoLTC.ConfirmSetInJobPB) XIC(LineTracking.MismatchMem) XIC(LineTracking.SetInJobPresent) NXB XIC(LineTrackingID.SetInJobConfirmed1) BST XIO(ConvStatus.ResetAllTasks) GRT(ConvStatus.PercentTravel,2) NXB XIC(SimStatus.InSimMode) BND BND OTE(LineTrackingID.SetInJobConfirmed1);

OLD RUNG

<@INFO> ################################################################ # Seal Memory of Set-In Job Confirmation ################################################################ BST XIC(HMItoLTC.ConfirmSetInJobPB) XIC(LineTracking.MismatchMem) XIC(LineTracking.SetInJobPresent) NXB XIC(LineTrackingID.SetInJobConfirmed1) BST XIO(ConvStatus.ResetAllTasks) BST XIC(ConvStatus.AtStop) NXB XIC(ConvStatus.Entering) BND NXB XIC(SimStatus.InSimMode) BND BND OTE(LineTrackingID.SetInJobConfirmed1);

25 <------- EDITED (I) --------> 24 | | | | |
NEW RUNG

<@INFO> ################################################################ # Seal Memory of Set-Out Job Confirmation ################################################################ BST XIC(HMItoLTC.ConfirmSetOutJobPB) XIC(LineTracking.MismatchMem) XIC(LineTracking.SetOutJobPresent) NXB XIC(LineTrackingID.SetOutJobConfirmed1) BST XIO(ConvStatus.ResetAllTasks) GRT(ConvStatus.PercentTravel,2) NXB XIC(SimStatus.InSimMode) BND BND OTE(LineTrackingID.SetOutJobConfirmed1);

OLD RUNG

<@INFO> ################################################################ # Seal Memory of Set-Out Job Confirmation ################################################################ BST XIC(HMItoLTC.ConfirmSetOutJobPB) XIC(LineTracking.MismatchMem) XIC(LineTracking.SetOutJobPresent) NXB XIC(LineTrackingID.SetOutJobConfirmed1) BST XIO(ConvStatus.ResetAllTasks) BST XIC(ConvStatus.AtStop) NXB XIC(ConvStatus.Entering) BND NXB XIC(SimStatus.InSimMode) BND BND OTE(LineTrackingID.SetOutJobConfirmed1);

26 <------- EDITED (C) --------> 25 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[238]: Set-In Job Accepted at LTC > # <Alarm[239]: Set-Out Job Accepted at LTC > # BST XIC(LineTrackingID.MainScan1.DataMatch) NXB XIC(LineTrackingID.BackupScan1.DataMatch) NXB XIC(LineTrackingID.BackupManual1.DataMatch) BND BST XIC(LineTrackingID.SetInJobConfirmed1) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[238]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[238],kHelp.None) NXB XIC(LineTrackingID.SetOutJobConfirmed1) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[239]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[239],kHelp.None) BND ;

OLD RUNG

<@DIAG> # # <Alarm[238]:Set-In Job Accepted at LTC > # <Alarm[239]:Set-Out Job Accepted at LTC > # BST XIC(LineTrackingID.MainScan1.DataMatch) NXB XIC(LineTrackingID.BackupScan1.DataMatch) NXB XIC(LineTrackingID.BackupManual1.DataMatch) BND BST XIC(LineTrackingID.SetInJobConfirmed1) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[238]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[238],kHelp.None) NXB XIC(LineTrackingID.SetOutJobConfirmed1) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[239]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[239],kHelp.None) BND ;

27 <--- INSERTED |████████████████████
INSERTED RUNG

<@DIAG> # # <Alarm[240]: LTC Auto Released Gap > # <Alarm[241]: LTC Manually Released Gap > # BST BST XIC(JobID1.KSRelease) NXB XIC(HMItoLTC.EnableAutoGapMode) BND XIC(LineTrackingID.ConfigEnableGapMode) XIC(LineTrackingID.CarrierGap) NXB XIC(LineTrackingID.CarrierGapConfirmed) BST XIO(ConvStatus.ResetAllTasks) GRT(ConvStatus.PercentTravel,2) NXB XIC(SimStatus.InSimMode) BND BND BST OTE(LineTrackingID.CarrierGapConfirmed) OTU(JobID1.InProgress) OTL(JobID1.Released) NXB XIC(HMItoLTC.EnableAutoGapMode) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[240]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[240],kHelp.None) NXB XIO(HMItoLTC.EnableAutoGapMode) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[241]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[241],kHelp.None) BND ;

28 <--- INSERTED |████████████████████
INSERTED RUNG

<@DIAG> # # <Alarm[242]: LTC Auto Released Empty Carrier > # <Alarm[243]: LTC Manually Released Empty Carrier > # BST BST XIC(JobID1.KSRelease) NXB XIC(HMItoLTC.EnableEmptyCarrierBypass) BND XIC(LineTrackingID.ConfigEnableEmptyCarrierMode) XIC(LineTrackingID.EmptyCarrierPresent1) BST OTL(Jobdata.Data.Present) NXB MOV(255,Jobdata.Data.Style) BND NXB XIC(LineTrackingID.EmptyCarrierConfirmed1) BST XIO(ConvStatus.ResetAllTasks) GRT(ConvStatus.PercentTravel,2) NXB XIC(SimStatus.InSimMode) BND BND BST OTE(LineTrackingID.EmptyCarrierConfirmed1) OTU(JobID1.InProgress) OTL(JobID1.Released) NXB XIC(HMItoLTC.EnableEmptyCarrierBypass) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[242]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[242],kHelp.None) NXB XIO(HMItoLTC.EnableEmptyCarrierBypass) OTU(PFENusAlarmActive[HMI.Diag.Pgm.InterestID].NusAlarm[243]) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[243],kHelp.None) BND ;

29 <--- INSERTED |████████████████████
INSERTED RUNG

<@DIAG> # # <Alarm[244]: Current PVI Matches Last Built PVI. /*R*/ Initialize ODD Buffer. > # <Alarm[245]: Current PVI Matches Non-Consecutive Built PVI. /*R*/ Initialize ODD Buffer. > # XIC(LineTrackingID.DuplicateJobPresent1)XIO(LineTrackingID.ConfigAllowDupRelease)BST EQU(ODD1App.Curr.Jobdata.VID,ODD1App.DataOut.Buf.Data[0].VID) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[244],kHelp.None) NXB NEQ(ODD1App.Curr.Jobdata.VID,ODD1App.DataOut.Buf.Data[0].VID) JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdFltGeneral,kAlarm[245],kHelp.None) BND ;

30 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Hold Gaps, Duplicate Jobs & Empty Carriers for Verification ################################################################ BST XIC(LineTrackingID.CarrierGap) XIO(LineTrackingID.CarrierGapConfirmed) NXB XIC(LineTrackingID.DuplicateJobPresent1) XIO(LineTrackingID.ConfigAllowDupRelease) NXB XIC(LineTrackingID.EmptyCarrierPresent1) XIO(LineTrackingID.EmptyCarrierConfirmed1) BND OTU(ConvStatus.OkayToRun)OTL(JobID1.InProgress)OTL(JobID1.Fail)OTL(JobID1.AtFPS);

31 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Reset JobID In Progress when Duplicate Job is Cleared ################################################################ BST XIO(LineTrackingID.DuplicateJobPresent1) NXB XIC(LineTrackingID.ConfigAllowDupRelease) BND ONS(Jobdata.OneShot.14)BST XIC(JobID1.WorkComplete) NXB XIC(JobID1.Released) NXB XIC(JobID1.Bypassed) BND OTU(JobID1.InProgress);

| | | | | ROUTINE: X303_ODD1AppInit_EP (I) (ODD E Trigger Bo) | | | | |
49 <------- EDITED (I) --------> 49 | | | | |
NEW RUNG

<@DIAG> # # <Alarm[889]: ODD Bypassed> # # <@TODO> ################################################################ # Replace the TBD with the appropriate bit when available ################################################################ XIC(AlwaysOff)BST OTE(ODD1ToCimp[2].9) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[889],kHelp.None) BND ;

OLD RUNG

<@DIAG> # # <Alarm[889]: ODD Bypassed> # # <@TODO> ################################################################ # Replace the TBD with the appropriate bit when available ################################################################ XIC(TBD)BST OTE(ODD1ToCimp[2].9) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.ProdWarn,kAlarm[889],kHelp.None) BND ;

| | | | | PROGRAM: FP001 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: A000_Main (I) (Main Control Rou) | | | | |
DELETED --> 22 |████████████████████
DELETED RUNG

JSR(X400_ExtMsgVIP1,0);

22 <------- EDITED (I) --------> 23 | | | | |
NEW RUNG

JSR(X400_ExtMsgPPS1,0);

OLD RUNG

JSR(X401_ExtMsgPPS1,0);

DELETED --> 24 |████████████████████
DELETED RUNG

JSR(X402_ExtMsgVCVS1,0);

| | | | | ROUTINE: B001_MapInputs (I) (Maps Real Input ) | | | | |
1 <------- EDITED (I) --------> 1 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Z1Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01Z1toEP_GTG01Z1Interlocks.ToFP[1],FromConveyor,1);

OLD RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01toEP_GTG01Z1Interlocks.ToFP[1],FromConveyor,1);

DELETED --> 9 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[0].Comm,FP001BK01,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 10 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[0].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[0],FP001BK01:I.Data,MB[0]) NXB XIO(MB[0].Comm.OK) FLL(0,MB[0].Port[0],8) BND ;

DELETED --> 11 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2002]: FP001BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,2,2002,192,168,1,3,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 12 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP001BK01,MB[0].Path);

DELETED --> 13 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[4]: BK01 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.3 > # <Alarm[5]: BK01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.3 > # <Alarm[6]: BK01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.3 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[0].Comm.OK) NXB XIC(MB[0].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[0].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(MB[0].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetCRCErrors) NXB XIC(MB[0].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

DELETED --> 14 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[1].Comm,FP001BK02,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 15 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[1].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[1],FP001BK02:I.Data,MB[1]) NXB XIO(MB[1].Comm.OK) FLL(0,MB[1].Port[0],8) BND ;

DELETED --> 16 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2003]: FP001BK02> # za_EnetMapping(EnetAddressTableLoad,MB[1].Comm,3,2003,192,168,1,4,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 17 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP001BK02,MB[1].Path);

DELETED --> 18 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[7]: BK02 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.4 > # <Alarm[8]: BK02 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.4 > # <Alarm[9]: BK02 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.4 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[1].Comm.OK) NXB XIC(MB[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[1].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(MB[1].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetCRCErrors) NXB XIC(MB[1].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[2].Comm,FP001BK03,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 20 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[2].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[2],FP001BK03:I.Data,MB[2]) NXB XIO(MB[2].Comm.OK) FLL(0,MB[2].Port[0],8) BND ;

DELETED --> 21 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2004]: FP001BK03> # za_EnetMapping(EnetAddressTableLoad,MB[2].Comm,4,2004,192,168,1,11,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 22 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP001BK03,MB[2].Path);

DELETED --> 23 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[10]: BK03 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.11 > # <Alarm[11]: BK03 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.11 > # <Alarm[12]: BK03 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.11 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[2].Comm.OK) NXB XIC(MB[2].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[2].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[10],kHelp.ENetCommFlt) BND NXB XIC(MB[2].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[11],kHelp.ENetCRCErrors) NXB XIC(MB[2].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[12],kHelp.ENetPortCommWrn) BND ;

DELETED --> 24 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[3].Comm,FP001BK04,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[3].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[3],FP001BK04:I.Data,MB[3]) NXB XIO(MB[3].Comm.OK) FLL(0,MB[3].Port[0],8) BND ;

DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2005]: FP001BK04> # za_EnetMapping(EnetAddressTableLoad,MB[3].Comm,5,2005,192,168,1,12,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP001BK04,MB[3].Path);

DELETED --> 28 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[13]: BK04 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.12 > # <Alarm[14]: BK04 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.12 > # <Alarm[15]: BK04 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.12 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[3].Comm.OK) NXB XIC(MB[3].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[3].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[13],kHelp.ENetCommFlt) BND NXB XIC(MB[3].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[14],kHelp.ENetCRCErrors) NXB XIC(MB[3].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[15],kHelp.ENetPortCommWrn) BND ;

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | ROUTINE: B002_MapOutputs (I) (Maps Output Data) | | | | |
1 <------- EDITED (I) --------> 2 |████| | | |
NEW RUNG

CPS(ToConveyor,EP_GTG01TZ1toCG_GTG01Z1Interlocks.FP[1],1);

OLD RUNG

CPS(ToConveyor,EP_GTG01Z1toCG_GTG01Interlocks.FP[1],1);

2 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(AlwaysOff)TND();

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Footprint Summary Stack Light # Left Side ################################################################ za_EPFootprIOLStackLt(StackLightIOLLeft,TaskSummary.Left,MB[0].Port[0]);

DELETED --> 5 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #1 # IO-Link Master Left Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[0].Port[0].Cfg.IOLinkMode) OTL(MB[0].Port[1].Cfg.IOLinkMode) OTL(MB[0].Port[2].Cfg.IOLinkMode) OTL(MB[0].Port[3].Cfg.IOLinkMode) NXB OTL(MB[0].Port[4].Cfg.IOLinkMode) OTL(MB[0].Port[5].Cfg.IOLinkMode) OTL(MB[0].Port[6].Cfg.IOLinkMode) OTL(MB[0].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[0],FP001BK01:C.Data,FP001BK01:O.Data) BND ;

DELETED --> 6 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #2 # IO-Link Master Right Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[1].Port[0].Cfg.IOLinkMode) OTL(MB[1].Port[1].Cfg.IOLinkMode) OTL(MB[1].Port[2].Cfg.IOLinkMode) OTL(MB[1].Port[3].Cfg.IOLinkMode) NXB OTL(MB[1].Port[4].Cfg.IOLinkMode) OTL(MB[1].Port[5].Cfg.IOLinkMode) OTL(MB[1].Port[6].Cfg.IOLinkMode) OTL(MB[1].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[1],FP001BK02:C.Data,FP001BK02:O.Data) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #3 # IO-Link Master Left Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[2].Port[0].Cfg.IOLinkMode) OTL(MB[2].Port[1].Cfg.IOLinkMode) OTL(MB[2].Port[2].Cfg.IOLinkMode) OTL(MB[2].Port[3].Cfg.IOLinkMode) NXB OTL(MB[2].Port[4].Cfg.IOLinkMode) OTL(MB[2].Port[5].Cfg.IOLinkMode) OTL(MB[2].Port[6].Cfg.IOLinkMode) OTL(MB[2].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[2],FP001BK03:C.Data,FP001BK03:O.Data) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #4 # IO-Link Master Right Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[3].Port[0].Cfg.IOLinkMode) OTL(MB[3].Port[1].Cfg.IOLinkMode) OTL(MB[3].Port[2].Cfg.IOLinkMode) OTL(MB[3].Port[3].Cfg.IOLinkMode) NXB OTL(MB[3].Port[4].Cfg.IOLinkMode) OTL(MB[3].Port[5].Cfg.IOLinkMode) OTL(MB[3].Port[6].Cfg.IOLinkMode) OTL(MB[3].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[3],FP001BK04:C.Data,FP001BK04:O.Data) BND ;

| | | | | ROUTINE: B007_StatusSummation (I)(Set Station Stat) | | | | |
14 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(TrackingBufferPrev.JobData.Data.Present)XIO(TrackingImage1[0].JobData.Data.Present)XIO(Jobdata.Data.Present)OTE(FPEntry_FP01_Empty);

| | | | | ROUTINE: B022_ConveyorStatus_ALS_StopStation (I) | | | | | ( Conveyor Stop S) | | | | |
1 <------- EDITED (I) --------> 1 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(1,ConvStatus.StartingPoint)MOV(60,ConvStatus.TaktTime);

OLD RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(5,ConvStatus.StartingPoint)MOV(400,ConvStatus.TaktTime);

12 <------- EDITED (I) --------> 12 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Footprint Status # Condition to Start Tasks # Data has to be available ################################################################ <@TODO> ################################################################ # Remove TBD or replace with condition to read data before FPS # When job data read is at Stop Position remove branch with TBD ################################################################ BST XIC(_HTI.1) BST XIC(ConvStatus.EnteringFPS) NXB XIC(ConvStatus.Entering) XIC(FromConveyor.Running) BND NXB XIO(_HTI.1) BST XIC(FromConveyor.FPS) NXB XIC(SimStatus.InSimMode) XIC(FromConveyor.Entering) BND XIC(ConvStatus.NoTasksComp) XIC(TrackingBufferPrev.JobData.Data.Present) BND XIO(ConvStatus.DataShifted)BST OTE(ConvStatus.DataShiftONS) NXB OTL(ConvStatus.DataShifted) BND ;

OLD RUNG

<@INFO> ################################################################ # Footprint Status # Condition to Start Tasks # Data has to be available ################################################################ <@TODO> ################################################################ # Remove TBD or replace with condition to read data before FPS # When job data read is at Stop Position remove branch with TBD ################################################################ BST XIC(ConvStatus.EnteringFPS) NXB XIC(ConvStatus.Entering) XIC(FromConveyor.Running) BND XIO(ConvStatus.DataShifted)BST OTE(ConvStatus.DataShiftONS) NXB OTL(ConvStatus.DataShifted) BND ;

14 <------- EDITED (I) --------> 14 |████████ | | |
NEW RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

OLD RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)BST XIC(JobIDCheck1.DataMatch) NXB XIC(JobIDCheck1.Bypassed) NXB XIC(SimStatus.InSimMode) BND XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

16 <------- EDITED (I) --------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB BST XIO(FromConveyor.Running) NXB XIC(_HTI.31) BND BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

OLD RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB XIO(FromConveyor.Running) BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

| | | | | ROUTINE: J001_JobDataEP (I) (Footprint JobDat) | | | | |
5 <--- INSERTED |████████████████████
INSERTED RUNG

<@TODO> ################################################################ # Set Source B of the EQU instruction to the FPIndex of the other side ot the split footprint. # Set the Source of the MOV instruction to the FPIndex of this side ot the split footprint. # This Resets all tasks on this side when all tasks are reset on the other side of the footprint. ################################################################ XIC(RuntimeControl.CommandONS)XIC(ConvStatus.OkayToEditData)XIC(TrackingControl.ResetTasksFP)XIC(TrackingControl.ResetTasksInProgress)EQU(RuntimeControl.FPIndex,2)MOV(1,RuntimeControl.FPIndex);

7 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ BST XIC(ConvStatus.DataShiftONS) NXB XIC(_HIT_ClearModel.11) BND BST XIO(_HIT_ClearModel.11) COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

OLD RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ XIC(ConvStatus.DataShiftONS)BST COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

| | | | | ROUTINE: M001_Modes (I) (Station Mode Log) | | | | |
1 <------- EDITED (I) --------> 1 |████████████ | |
NEW RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ XIC(Cell.Mode.Tryout)OTE(Mode.Tryout);

OLD RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ BST XIC(Cell.Mode.Tryout) NXB XIC(TBD) BND OTE(Mode.Tryout);

| | | | | ROUTINE: S020_EPTask02 (I+C) () | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.420><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

6 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status01]);

OLD RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status00]);

| | | | | ROUTINE: X400_ExtMsgVIP1 (I) (Error Proofing E) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.417><@EDITS ALLOWED> <@SYS> ################################################################ # ERROR PROOFING EXTERNAL MESSAGE ROUTINE # Vehicle Inspection Point (VIP) HVLB Trigger at start of Track Zone # Fixed Position Stop (FPS) Conveyor ################################################################ OTE(RungComment);

DELETED --> 3 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Update alarm text based on external message application. # Delete Duplicate Vehicle ID Warning if AOI is configured to # allow duplicate Vehicle IDs or if it is otherwise not required. ################################################################ <@DIAG> # # <Alarm[521]: VIP1 External Message Error /*R*/ HVLB data not being sent to GEPICS for GSIP > # <Alarm[522]: VIP1 External Message Canceled /*R*/ HVLB data not sent to GEPICS for GSIP > # <Alarm[523]: VIP1 External Message Warning /*R*/ Vehicle ID is Duplicate of Last Message > # BST XIC(ExtMsgControl01.Faulted) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[521],kHelp.None) NXB XIC(ExtMsgControl01.Canceled) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[522],kHelp.None) NXB XIC(ExtMsgControl01.WarnDupVID) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysWarn,kAlarm[523],kHelp.None) BND ;

| | | | | ROUTINE: X400_ExtMsgPPS1 (I) (Error Proofing E) | | | | |
1 <------- EDITED (I) --------> 1 |████████ | | |
NEW RUNG

<@TODO> ################################################################ # Program External Message Name using Ascii Codes for Characters. ################################################################ XIC(S:FS)MOV(9,ExtMsgLog01.Name.LEN)BST MOV(70,ExtMsgLog01.Name.DATA[0]) NXB MOV(80,ExtMsgLog01.Name.DATA[1]) NXB MOV(48,ExtMsgLog01.Name.DATA[2]) NXB MOV(48,ExtMsgLog01.Name.DATA[3]) NXB MOV(49,ExtMsgLog01.Name.DATA[4]) NXB MOV(80,ExtMsgLog01.Name.DATA[5]) NXB MOV(80,ExtMsgLog01.Name.DATA[6]) NXB MOV(83,ExtMsgLog01.Name.DATA[7]) NXB MOV(49,ExtMsgLog01.Name.DATA[8]) BND ;

OLD RUNG

<@TODO> ################################################################ # Program External Message Name using Ascii Codes for Characters. ################################################################ XIC(S:FS)MOV(9,ExtMsgLog01.Name.LEN)BST MOV(70,ExtMsgLog01.Name.DATA[0]) NXB MOV(80,ExtMsgLog01.Name.DATA[1]) NXB MOV(48,ExtMsgLog01.Name.DATA[2]) NXB MOV(48,ExtMsgLog01.Name.DATA[3]) NXB MOV(49,ExtMsgLog01.Name.DATA[4]) NXB MOV(86,ExtMsgLog01.Name.DATA[5]) NXB MOV(73,ExtMsgLog01.Name.DATA[6]) NXB MOV(80,ExtMsgLog01.Name.DATA[7]) NXB MOV(49,ExtMsgLog01.Name.DATA[8]) BND ;

| | | | | ROUTINE: X401_ExtMsgPPS1 (I) (Error Proofing E) | | | | |
DELETED --> 1 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Program External Message Name using Ascii Codes for Characters. ################################################################ XIC(S:FS)MOV(9,ExtMsgLog02.Name.LEN)BST MOV(70,ExtMsgLog02.Name.DATA[0]) NXB MOV(80,ExtMsgLog02.Name.DATA[1]) NXB MOV(48,ExtMsgLog02.Name.DATA[2]) NXB MOV(48,ExtMsgLog02.Name.DATA[3]) NXB MOV(49,ExtMsgLog02.Name.DATA[4]) NXB MOV(80,ExtMsgLog02.Name.DATA[5]) NXB MOV(80,ExtMsgLog02.Name.DATA[6]) NXB MOV(83,ExtMsgLog02.Name.DATA[7]) NXB MOV(49,ExtMsgLog02.Name.DATA[8]) BND ;

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Error Proofing External Message # # The AOI sends a message to an external device, including a # Transaction ID (2 - 9999) which is incremented for each new message. # If in_ByteSwap = 1, then it byte swaps the data packet. # It resends errored messages until the maximum retry count is reached. # # in_MessageControl - Controller scope message control structure tag # in_DataSource - Source for message data packet in INT array format # in_MaxRetryCount - Number of times to try sending message # in_MinRetryDelay - Minimum wait time (in milliseconds) before resending message # in_TransIDPos - Position of Transaction ID element in data source array # in_VehicleIDPos - Position of first Vehicle ID element in data source array # in_AllowDupVID - Allow message with same Vehicle ID as last successful message # in_ByteSwap - Byte swap data source array before sending message # in_CycleReset - Command to unconditionally reset status bits (optional) # (This bit blocks Message Start) # in_FaultReset - Command to reset status bits when faulted (optional) # (This bit blocks Message Start when status is faulted) # tagController - Controller scope Controller tag # outTransHistory - Transacton History Log # # Configure the Message instruction on the AOI faceplate. # # Replace COP instruction with logic as required to populate data packet. # Replace LIM instruction with logic as required to validate data packet. # Replace XIC instructions in top branch with one-shot logic as required to trigger message. # If status is not reset at end of cycle, then change in_CycleReset configuration to kConstant.No # and add XIC(ExtMsgControlXX.InProgress) in series before XIC(Jobdata.Valid) or its replacement. # If status is not reset by Fault Reset then change in_FaultReset configuration to kConstant.No. # If Fault Reset must resend the message, then add XIC(Cell.Req.FaultReset) # in parallel with XIC(ConvStatus.NewDataONS) or its replacement. ################################################################ BST XIC(Jobdata.Valid) XIC(ConvStatus.NewDataONS) LIM(1,Jobdata.Data.VID,999999999) COP(BuildData.ID[0],LTS_EXT_01_TX[1],5) COP(BuildData.ID[26],LTS_EXT_01_TX[6],6) NXB XIC(ExtMsgControl02.InProgress) BND za_EPExternalMessage(ExtMsgControl02,ExtMsg02,LTS_EXT_01_TX,3,10000,0,1,kConstant.No,kConstant.Yes,ConvStatus.ResetAllTasks,Cell.Req.FaultReset,Controller,ExtMsgLog02);

| | | | | ROUTINE: X400_ExtMsgPPS1 (I) (Error Proofing E) | | | | |
3 <------- EDITED (I) --------> 3 |████| | | |
NEW RUNG

<@TODO> ################################################################ # Update alarm text based on external message application. # Delete Duplicate Vehicle ID Warning if AOI is configured to # allow duplicate Vehicle IDs or if it is otherwise not required. ################################################################ <@DIAG> # # <Alarm[524]: PPS1 External Message Error /*R*/ PPS data not being sent to Material Dept > # <Alarm[525]: PPS1 External Message Canceled /*R*/ PPS data not sent to Material Dept > # <Alarm[526]: PPS1 External Message Warning /*R*/ Vehicle ID is Duplicate of Last Message > # XIO(_HTI.31)BST XIC(ExtMsgControl01.Faulted) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[524],kHelp.None) NXB XIC(ExtMsgControl01.Canceled) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[525],kHelp.None) NXB XIC(ExtMsgControl01.WarnDupVID) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysWarn,kAlarm[526],kHelp.None) BND ;

OLD RUNG

<@TODO> ################################################################ # Update alarm text based on external message application. # Delete Duplicate Vehicle ID Warning if AOI is configured to # allow duplicate Vehicle IDs or if it is otherwise not required. ################################################################ <@DIAG> # # <Alarm[524]: PPS1 External Message Error /*R*/ PPS data not being sent to Material Dept > # <Alarm[525]: PPS1 External Message Canceled /*R*/ PPS data not sent to Material Dept > # <Alarm[526]: PPS1 External Message Warning /*R*/ Vehicle ID is Duplicate of Last Message > # BST XIC(ExtMsgControl02.Faulted) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[524],kHelp.None) NXB XIC(ExtMsgControl02.Canceled) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[525],kHelp.None) NXB XIC(ExtMsgControl02.WarnDupVID) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysWarn,kAlarm[526],kHelp.None) BND ;

| | | | | ROUTINE: X402_ExtMsgVCVS1 (I) (Error Proofing E) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.417><@EDITS ALLOWED> <@SYS> ################################################################ # ERROR PROOFING EXTERNAL MESSAGE ROUTINE # Trace Verification Station (VCVS) Trigger # Fixed Position Stop (FPS) Conveyor ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Program External Message Name using Ascii Codes for Characters. ################################################################ XIC(S:FS)MOV(10,ExtMsgLog03.Name.LEN)BST MOV(70,ExtMsgLog03.Name.DATA[0]) NXB MOV(80,ExtMsgLog03.Name.DATA[1]) NXB MOV(48,ExtMsgLog03.Name.DATA[2]) NXB MOV(48,ExtMsgLog03.Name.DATA[3]) NXB MOV(49,ExtMsgLog03.Name.DATA[4]) NXB MOV(86,ExtMsgLog03.Name.DATA[5]) NXB MOV(67,ExtMsgLog03.Name.DATA[6]) NXB MOV(86,ExtMsgLog03.Name.DATA[7]) NXB MOV(83,ExtMsgLog03.Name.DATA[8]) NXB MOV(49,ExtMsgLog03.Name.DATA[9]) BND ;

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Error Proofing External Message # # The AOI sends a message to an external device, including a # Transaction ID (2 - 9999) which is incremented for each new message. # If in_ByteSwap = 1, then it byte swaps the data packet. # It resends errored messages until the maximum retry count is reached. # # in_MessageControl - Controller scope message control structure tag # in_DataSource - Source for message data packet in INT array format # in_MaxRetryCount - Number of times to try sending message # in_MinRetryDelay - Minimum wait time (in milliseconds) before resending message # in_TransIDPos - Position of Transaction ID element in data source array # in_VehicleIDPos - Position of first Vehicle ID element in data source array # in_AllowDupVID - Allow message with same Vehicle ID as last successful message # in_ByteSwap - Byte swap data source array before sending message # in_CycleReset - Command to unconditionally reset status bits (optional) # (This bit blocks Message Start) # in_FaultReset - Command to reset status bits when faulted (optional) # (This bit blocks Message Start when status is faulted) # tagController - Controller scope Controller tag # outTransHistory - Transacton History Log # # Configure the Message instruction on the AOI faceplate. # # Replace COP instruction with logic as required to populate data packet. # Replace LIM instruction with logic as required to validate data packet. # Replace XIC instructions in top branch with one-shot logic as required to trigger message. # If status is not reset at end of cycle, then change in_CycleReset configuration to kConstant.No # and add XIC(ExtMsgControlXX.InProgress) in series before XIC(Jobdata.Valid) or its replacement. # If status is not reset by Fault Reset then change in_FaultReset configuration to kConstant.No. # If Fault Reset must resend the message, then add XIC(Cell.Req.FaultReset) # in parallel with XIC(ConvStatus.NewDataONS) or its replacement. ################################################################ BST XIC(Jobdata.Valid) XIC(ConvStatus.NewDataONS) LIM(1,Jobdata.Data.VID,999999999) COP(BuildData.ID[0],LTS_EXT_02_TX[1],5) COP(BuildData.ID[26],LTS_EXT_02_TX[6],6) NXB XIC(ExtMsgControl03.InProgress) BND za_EPExternalMessage(ExtMsgControl03,ExtMsg03,LTS_EXT_02_TX,3,10000,0,1,kConstant.No,kConstant.Yes,ConvStatus.ResetAllTasks,Cell.Req.FaultReset,Controller,ExtMsgLog03);

DELETED --> 3 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Update alarm text based on external message application. # Delete Duplicate Vehicle ID Warning if AOI is configured to # allow duplicate Vehicle IDs or if it is otherwise not required. ################################################################ <@DIAG> # # <Alarm[533]: VCVS1 External Message Error /*R*/ Trace Verification data request not being sent to GEPICS > # <Alarm[534]: VCVS1 External Message Canceled /*R*/ Trace Verification data request not sent to GEPICS > # <Alarm[535]: VCVS1 External Message Warning /*R*/ Vehicle ID is Duplicate of Last Message > # BST XIC(ExtMsgControl03.Faulted) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[533],kHelp.None) NXB XIC(ExtMsgControl03.Canceled) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[534],kHelp.None) NXB XIC(ExtMsgControl03.WarnDupVID) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysWarn,kAlarm[535],kHelp.None) BND ;

| | | | | | | | | | | | | | | | | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | PROGRAM: FP002 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: B001_MapInputs (I+C) (Maps Real Input ) | | | | |
1 <------- EDITED (I) --------> 1 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Z1Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01Z1toEP_GTG01Z1Interlocks.ToFP[2],FromConveyor,1);

OLD RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01toEP_GTG01Z1Interlocks.ToFP[2],FromConveyor,1);

11 <------- EDITED (I+C) ------> 11 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2003]: FP002BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,3,2003,192,168,1,4,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,2,ENetNetwork2);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2006]: FP002BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,6,2006,192,168,1,5,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

13 <------- EDITED (C) --------> 13 | | | | |
NEW RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[4]: BK01 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.4 > # <Alarm[5]: BK01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.4 > # <Alarm[6]: BK01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.4 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[0].Comm.OK) NXB XIC(MB[0].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[0].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(MB[0].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetCRCErrors) NXB XIC(MB[0].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[4]: BK01 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.5 > # <Alarm[5]: BK01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.5 > # <Alarm[6]: BK01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.5 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[0].Comm.OK) NXB XIC(MB[0].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[0].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(MB[0].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetCRCErrors) NXB XIC(MB[0].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

16 <------- EDITED (I+C) ------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2004]: FP002BK02> # za_EnetMapping(EnetAddressTableLoad,MB[1].Comm,4,2004,192,168,1,5,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,2,ENetNetwork2);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2007]: FP002BK02> # za_EnetMapping(EnetAddressTableLoad,MB[1].Comm,7,2007,192,168,1,6,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

18 <------- EDITED (C) --------> 18 | | | | |
NEW RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[7]: BK02 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.5 > # <Alarm[8]: BK02 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.5 > # <Alarm[9]: BK02 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.5 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[1].Comm.OK) NXB XIC(MB[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[1].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(MB[1].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetCRCErrors) NXB XIC(MB[1].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[7]: BK02 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.6 > # <Alarm[8]: BK02 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.6 > # <Alarm[9]: BK02 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.6 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[1].Comm.OK) NXB XIC(MB[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[1].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(MB[1].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetCRCErrors) NXB XIC(MB[1].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[2].Comm,FP002BK03,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 20 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[2].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[2],FP002BK03:I.Data,MB[2]) NXB XIO(MB[2].Comm.OK) FLL(0,MB[2].Port[0],8) BND ;

DELETED --> 21 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2008]: FP002BK03> # za_EnetMapping(EnetAddressTableLoad,MB[2].Comm,8,2008,192,168,1,13,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 22 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP002BK03,MB[2].Path);

DELETED --> 23 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[10]: BK03 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.13 > # <Alarm[11]: BK03 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.13 > # <Alarm[12]: BK03 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.13 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[2].Comm.OK) NXB XIC(MB[2].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[2].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[10],kHelp.ENetCommFlt) BND NXB XIC(MB[2].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[11],kHelp.ENetCRCErrors) NXB XIC(MB[2].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[12],kHelp.ENetPortCommWrn) BND ;

DELETED --> 24 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[3].Comm,FP002BK04,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[3].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[3],FP002BK04:I.Data,MB[3]) NXB XIO(MB[3].Comm.OK) FLL(0,MB[3].Port[0],8) BND ;

DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2009]: FP002BK04> # za_EnetMapping(EnetAddressTableLoad,MB[3].Comm,9,2009,192,168,1,14,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP002BK04,MB[3].Path);

DELETED --> 28 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[13]: BK04 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.14 > # <Alarm[14]: BK04 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.14 > # <Alarm[15]: BK04 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.14 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[3].Comm.OK) NXB XIC(MB[3].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[3].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[13],kHelp.ENetCommFlt) BND NXB XIC(MB[3].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[14],kHelp.ENetCRCErrors) NXB XIC(MB[3].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[15],kHelp.ENetPortCommWrn) BND ;

| | | | | ROUTINE: B002_MapOutputs (I+C) (Maps Output Data) | | | | |
1 <------- EDITED (I) --------> 2 |████| | | |
NEW RUNG

CPS(ToConveyor,EP_GTG01TZ1toCG_GTG01Z1Interlocks.FP[2],1);

OLD RUNG

CPS(ToConveyor,EP_GTG01Z1toCG_GTG01Interlocks.FP[2],1);

2 <------- EDITED (I) --------> 1 |████████████ | |
NEW RUNG

<@INFO> ################################################################ # Silence the Horn ################################################################ <@TODO> ################################################################ # Replace XIC TBD instruction # with condition to block the horn ################################################################ BST XIC(FromConveyor.MS) NXB XIC(_HTI.31) BND OTU(TaskSummary.Left.Any.Horn)OTU(TaskSummary.Right.Any.Horn);

OLD RUNG

<@INFO> ################################################################ # Silence the Horn ################################################################ <@TODO> ################################################################ # Replace XIC TBD instruction # with condition to block the horn ################################################################ XIC(TBD)OTU(TaskSummary.Left.Any.Horn)OTU(TaskSummary.Right.Any.Horn);

4 <------- EDITED (C) --------> 4 | | | | |
NEW RUNG

<@INFO> ################################################################ # Footprint Summary Stack Light # Left Side ################################################################ za_EPFootprIOLStackLt(StackLightIOLRight,TaskSummary.Right,MB[1].Port[0]);

OLD RUNG

<@INFO> ################################################################ # Footprint Summary Stack Light # Right Side ################################################################ za_EPFootprIOLStackLt(StackLightIOLRight,TaskSummary.Right,MB[1].Port[0]);

7 <--- INSERTED |████████████████████
INSERTED RUNG

BST XIC(EPTask[2].WorkComplete) OTE(EP_GTG01Z1toGA_TGGS01Interlocks.FP002L_SecuresComp) NXB XIC(EPTask[3].WorkComplete) OTE(EP_GTG01Z1toGA_TGGS02Interlocks.FP002R_SecuresComp) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #3 # IO-Link Master Left Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[2].Port[0].Cfg.IOLinkMode) OTL(MB[2].Port[1].Cfg.IOLinkMode) OTL(MB[2].Port[2].Cfg.IOLinkMode) OTL(MB[2].Port[3].Cfg.IOLinkMode) NXB OTL(MB[2].Port[4].Cfg.IOLinkMode) OTL(MB[2].Port[5].Cfg.IOLinkMode) OTL(MB[2].Port[6].Cfg.IOLinkMode) OTL(MB[2].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[2],FP002BK03:C.Data,FP002BK03:O.Data) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #4 # IO-Link Master Right Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[3].Port[0].Cfg.IOLinkMode) OTL(MB[3].Port[1].Cfg.IOLinkMode) OTL(MB[3].Port[2].Cfg.IOLinkMode) OTL(MB[3].Port[3].Cfg.IOLinkMode) NXB OTL(MB[3].Port[4].Cfg.IOLinkMode) OTL(MB[3].Port[5].Cfg.IOLinkMode) OTL(MB[3].Port[6].Cfg.IOLinkMode) OTL(MB[3].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[3],FP002BK04:C.Data,FP002BK04:O.Data) BND ;

| | | | | ROUTINE: B007_StatusSummation (I)(Set Station Stat) | | | | |
20 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.3)BST BST XIC(Task[0].Status.WorkComplete) OTL(Task[1].Status.WorkComplete) NXB XIC(Task[2].Status.WorkComplete) OTL(Task[3].Status.WorkComplete) NXB XIC(Task[4].Status.WorkComplete) OTL(Task[5].Status.WorkComplete) NXB XIC(Task[6].Status.WorkComplete) OTL(Task[7].Status.WorkComplete) NXB XIC(Task[8].Status.WorkComplete) OTL(Task[9].Status.WorkComplete) BND NXB BST XIC(Task[1].Status.WorkComplete) OTL(Task[0].Status.WorkComplete) NXB XIC(Task[3].Status.WorkComplete) OTL(Task[2].Status.WorkComplete) NXB XIC(Task[5].Status.WorkComplete) OTL(Task[4].Status.WorkComplete) NXB XIC(Task[7].Status.WorkComplete) OTL(Task[6].Status.WorkComplete) NXB XIC(Task[9].Status.WorkComplete) OTL(Task[8].Status.WorkComplete) BND BND ;

| | | | | ROUTINE: B022_ConveyorStatus_ALS_StopStation (I) | | | | | ( Conveyor Stop S) | | | | |
1 <------- EDITED (I) --------> 1 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(1,ConvStatus.StartingPoint)MOV(60,ConvStatus.TaktTime);

OLD RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(5,ConvStatus.StartingPoint)MOV(400,ConvStatus.TaktTime);

14 <------- EDITED (I) --------> 14 |████████ | | |
NEW RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

OLD RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)BST XIC(JobIDCheck1.DataMatch) NXB XIC(JobIDCheck1.Bypassed) NXB XIC(SimStatus.InSimMode) BND XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

16 <------- EDITED (I) --------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB BST XIO(FromConveyor.Running) NXB XIC(_HTI.31) BND BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

OLD RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB XIO(FromConveyor.Running) BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

| | | | | ROUTINE: J001_JobDataEP (I) (Footprint JobDat) | | | | |
5 <--- INSERTED |████████████████████
INSERTED RUNG

<@TODO> ################################################################ # Set Source B of the EQU instruction to the FPIndex of the other side ot the split footprint. # Set the Source of the MOV instruction to the FPIndex of this side ot the split footprint. # This Resets all tasks on this side when all tasks are reset on the other side of the footprint. ################################################################ XIC(RuntimeControl.CommandONS)XIC(ConvStatus.OkayToEditData)XIC(TrackingControl.ResetTasksFP)XIC(TrackingControl.ResetTasksInProgress)EQU(RuntimeControl.FPIndex,2)MOV(1,RuntimeControl.FPIndex);

7 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ BST XIC(ConvStatus.DataShiftONS) NXB XIC(_HIT_ClearModel.12) BND BST XIO(_HIT_ClearModel.12) COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

OLD RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ XIC(ConvStatus.DataShiftONS)BST COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

| | | | | ROUTINE: M001_Modes (I) (Station Mode Log) | | | | |
1 <------- EDITED (I) --------> 1 |████████████ | |
NEW RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ XIC(Cell.Mode.Tryout)OTE(Mode.Tryout);

OLD RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ BST XIC(Cell.Mode.Tryout) NXB XIC(TBD) BND OTE(Mode.Tryout);

| | | | | ROUTINE: S010_EPTask01 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.20)BST BST XIC(Task[1].Status.WorkComplete) NXB XIC(EPTask[1].WorkComplete) NXB XIC(EPTask[1].ActionComplete) BND XIO(EPTask[0].WorkComplete) XIO(_HTI.22) ONS(OneShot.1) OTL(ZoneProcessTool1[2].I.CTL.PTC_InCycle) OTL(ZoneProcessTool1[2].I.CTL.DN) OTL(_HTI.21) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.21) BND ;

| | | | | ROUTINE: S020_EPTask02 (I+C) () | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.420><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.20)BST BST XIC(Task[0].Status.WorkComplete) NXB XIC(EPTask[0].WorkComplete) NXB XIC(EPTask[0].ActionComplete) BND XIO(EPTask[1].WorkComplete) XIO(_HTI.21) ONS(OneShot.2) OTL(ZoneProcessTool1[4].I.CTL.PTC_InCycle) OTL(ZoneProcessTool1[4].I.CTL.DN) OTL(_HTI.22) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.22) BND ;

7 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status01]);

OLD RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status00]);

| | | | | | | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | ROUTINE: S030_EPTask03 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.20)BST BST XIC(Task[3].Status.WorkComplete) NXB XIC(EPTask[3].WorkComplete) NXB XIC(EPTask[3].ActionComplete) BND XIO(EPTask[2].WorkComplete) XIO(_HTI.24) ONS(OneShot.3) OTL(ZoneTorqueTools1[1].I.CycleComplete) OTL(ZoneTorqueTools1[1].I.GlobalAccept) OTL(_HTI.23) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.23) BND ;

| | | | | ROUTINE: S040_EPTask04 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.20)BST BST XIC(Task[2].Status.WorkComplete) NXB XIC(EPTask[2].WorkComplete) NXB XIC(EPTask[2].ActionComplete) BND XIO(EPTask[3].WorkComplete) XIO(_HTI.23) ONS(OneShot.4) OTL(ZoneTorqueTools1[2].I.CycleComplete) OTL(ZoneTorqueTools1[2].I.GlobalAccept) OTL(_HTI.24) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.24) BND ;

| | | | | ROUTINE: S050_EPTask05 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.20)BST BST XIC(Task[5].Status.WorkComplete) NXB XIC(EPTask[5].WorkComplete) NXB XIC(EPTask[5].ActionComplete) BND XIO(EPTask[4].WorkComplete) XIO(_HTI.26) BST XIO(_HTI.25) ONS(OneShot.5) OTL(ZoneTorqueTools1[3].I.CycleComplete) OTL(ZoneTorqueTools1[3].I.TighteningStatusOK) OTL(_HTI.25) CTU(_FP02Task5,,) NXB GRT(_FP02Task5.ACC,0) XIO(ZoneTorqueTools1[3].I.CycleComplete) XIO(ZoneTorqueTools1[3].I.TighteningStatusOK) MOV(1000,_FP02Task5Delay.PRE) TON(_FP02Task5Delay,,) XIC(_FP02Task5Delay.DN) OTU(_HTI.25) BND NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.25) RES(_FP02Task5) BND ;

| | | | | ROUTINE: S060_EPTask06 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.20)BST BST XIC(Task[4].Status.WorkComplete) NXB XIC(EPTask[4].WorkComplete) NXB XIC(EPTask[4].ActionComplete) BND XIO(EPTask[5].WorkComplete) XIO(_HTI.25) BST XIO(_HTI.26) ONS(OneShot.6) OTL(ZoneTorqueTools1[4].I.CycleComplete) OTL(ZoneTorqueTools1[4].I.TighteningStatusOK) OTL(_HTI.26) CTU(_FP02Task6,,) NXB GRT(_FP02Task6.ACC,0) XIO(ZoneTorqueTools1[4].I.CycleComplete) XIO(ZoneTorqueTools1[4].I.TighteningStatusOK) MOV(1000,_FP02Task6Delay.PRE) TON(_FP02Task6Delay,,) XIC(_FP02Task6Delay.DN) OTU(_HTI.26) BND NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.26) RES(_FP02Task6) BND ;

| | | | | ROUTINE: V700_ProcessToolCommon (I) | | | | | (Common Process T) | | | | |
3 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(ConvStatus.LeavingFPS)OTU(ZoneProcessTool1[PT01].O.CTL.FPS)OTE(ZoneProcessTool1[PT01].O.CTL.EM);

6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(ConvStatus.LeavingFPS)OTU(ZoneProcessTool1[PT02].O.CTL.FPS)OTE(ZoneProcessTool1[PT02].O.CTL.EM);

| | | | | PROGRAM: BF001 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: B001_MapInputs (I+C) (Maps Real Input ) | | | | |
1 <------- EDITED (I) --------> 1 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Z1Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01Z1toEP_GTG01Z1Interlocks.ToFP[3],FromConveyor,1);

OLD RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01toEP_GTG01Z1Interlocks.ToFP[3],FromConveyor,1);

3 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(AlwaysOff)TND();

10 <------- EDITED (I) --------> 9 | | | | |
NEW RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[0].Comm,FP003BK01,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

OLD RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[0].Comm,BF001BK01,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

11 <------- EDITED (I) --------> 10 | | | | |
NEW RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[0].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[0],FP003BK01:I.Data,MB[0]) NXB XIO(MB[0].Comm.OK) FLL(0,MB[0].Port[0],8) BND ;

OLD RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[0].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[0],BF001BK01:I.Data,MB[0]) NXB XIO(MB[0].Comm.OK) FLL(0,MB[0].Port[0],8) BND ;

12 <------- EDITED (I+C) ------> 11 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2007]: FP001BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,7,2007,192,168,1,6,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,2,ENetNetwork2);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2010]: BF001XBK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,10,2010,192,168,1,7,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

13 <------- EDITED (I) --------> 12 |████| | | |
NEW RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP003BK01,MB[0].Path);

OLD RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,BF001BK01,MB[0].Path);

14 <------- EDITED (I+C) ------> 13 | | | | |
NEW RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[4]: BK01 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.6 > # <Alarm[5]: BK01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.6 > # <Alarm[6]: BK01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.6 > # BST XIC(EPEN2TSlot2.Comm.OK) BST XIO(MB[0].Comm.OK) NXB XIC(MB[0].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[0].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(MB[0].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetCRCErrors) NXB XIC(MB[0].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[4]: BK01 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.7 > # <Alarm[5]: BK01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.7 > # <Alarm[6]: BK01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.7 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[0].Comm.OK) NXB XIC(MB[0].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[0].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(MB[0].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetCRCErrors) NXB XIC(MB[0].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

15 <------- EDITED (I) --------> 14 | | | | |
NEW RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[1].Comm,FP003BK02,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

OLD RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[1].Comm,BF001BK02,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

16 <------- EDITED (I) --------> 15 | | | | |
NEW RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[1].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[1],FP003BK02:I.Data,MB[1]) NXB XIO(MB[1].Comm.OK) FLL(0,MB[1].Port[0],8) BND ;

OLD RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[1].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[1],BF001BK02:I.Data,MB[1]) NXB XIO(MB[1].Comm.OK) FLL(0,MB[1].Port[0],8) BND ;

17 <------- EDITED (I+C) ------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2006]: FP003BK02> # za_EnetMapping(EnetAddressTableLoad,MB[1].Comm,6,2006,192,168,1,7,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,2,ENetNetwork2);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2011]: BF001XBK02> # za_EnetMapping(EnetAddressTableLoad,MB[1].Comm,11,2011,192,168,1,8,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

18 <------- EDITED (I) --------> 17 |████| | | |
NEW RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP003BK02,MB[1].Path);

OLD RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,BF001BK02,MB[1].Path);

19 <------- EDITED (I+C) ------> 18 | | | | |
NEW RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[7]: BK02 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.7 > # <Alarm[8]: BK02 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.7 > # <Alarm[9]: BK02 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.7 > # BST XIC(EPEN2TSlot2.Comm.OK) BST XIO(MB[1].Comm.OK) NXB XIC(MB[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[1].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(MB[1].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetCRCErrors) NXB XIC(MB[1].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[7]: BK02 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.8 > # <Alarm[8]: BK02 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.8 > # <Alarm[9]: BK02 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.8 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[1].Comm.OK) NXB XIC(MB[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[1].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(MB[1].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetCRCErrors) NXB XIC(MB[1].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[2].Comm,BF001BK03,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 20 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[2].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[2],BF001BK03:I.Data,MB[2]) NXB XIO(MB[2].Comm.OK) FLL(0,MB[2].Port[0],8) BND ;

DELETED --> 21 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2012]: BF001XBK03> # za_EnetMapping(EnetAddressTableLoad,MB[2].Comm,12,2012,192,168,1,15,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 22 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,BF001BK03,MB[2].Path);

DELETED --> 23 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[10]: BK03 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.15 > # <Alarm[11]: BK03 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.15 > # <Alarm[12]: BK03 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.15 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[2].Comm.OK) NXB XIC(MB[2].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[2].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[10],kHelp.ENetCommFlt) BND NXB XIC(MB[2].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[11],kHelp.ENetCRCErrors) NXB XIC(MB[2].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[12],kHelp.ENetPortCommWrn) BND ;

DELETED --> 24 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[3].Comm,BF001BK04,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[3].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[3],BF001BK04:I.Data,MB[3]) NXB XIO(MB[3].Comm.OK) FLL(0,MB[3].Port[0],8) BND ;

DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2013]: BF001XBK04> # za_EnetMapping(EnetAddressTableLoad,MB[3].Comm,13,2013,192,168,1,16,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,BF001BK04,MB[3].Path);

DELETED --> 28 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[13]: BK04 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.16 > # <Alarm[14]: BK04 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.16 > # <Alarm[15]: BK04 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.16 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[3].Comm.OK) NXB XIC(MB[3].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[3].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[13],kHelp.ENetCommFlt) BND NXB XIC(MB[3].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[14],kHelp.ENetCRCErrors) NXB XIC(MB[3].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[15],kHelp.ENetPortCommWrn) BND ;

| | | | | ROUTINE: B002_MapOutputs (I) (Maps Output Data) | | | | |
1 <------- EDITED (I) --------> 2 |████| | | |
NEW RUNG

CPS(ToConveyor,EP_GTG01TZ1toCG_GTG01Z1Interlocks.FP[3],1);

OLD RUNG

CPS(ToConveyor,EP_GTG01Z1toCG_GTG01Interlocks.FP[3],1);

2 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(AlwaysOff)TND();

3 <------- EDITED (I) --------> 1 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Silence the Horn ################################################################ <@TODO> ################################################################ # Replace XIC TBD instruction # with condition to block the horn ################################################################ OTU(TaskSummary.Left.Any.Horn)OTU(TaskSummary.Right.Any.Horn);

OLD RUNG

<@INFO> ################################################################ # Silence the Horn ################################################################ <@TODO> ################################################################ # Replace XIC TBD instruction # with condition to block the horn ################################################################ XIC(TBD)OTU(TaskSummary.Left.Any.Horn)OTU(TaskSummary.Right.Any.Horn);

6 <------- EDITED (I) --------> 5 | | | | |
NEW RUNG

<@INFO> ################################################################ # Master Block #1 # IO-Link Master Left Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[0].Port[0].Cfg.IOLinkMode) OTL(MB[0].Port[1].Cfg.IOLinkMode) OTL(MB[0].Port[2].Cfg.IOLinkMode) OTL(MB[0].Port[3].Cfg.IOLinkMode) NXB OTL(MB[0].Port[4].Cfg.IOLinkMode) OTL(MB[0].Port[5].Cfg.IOLinkMode) OTL(MB[0].Port[6].Cfg.IOLinkMode) OTL(MB[0].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[0],FP003BK01:C.Data,FP003BK01:O.Data) BND ;

OLD RUNG

<@INFO> ################################################################ # Master Block #1 # IO-Link Master Left Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[0].Port[0].Cfg.IOLinkMode) OTL(MB[0].Port[1].Cfg.IOLinkMode) OTL(MB[0].Port[2].Cfg.IOLinkMode) OTL(MB[0].Port[3].Cfg.IOLinkMode) NXB OTL(MB[0].Port[4].Cfg.IOLinkMode) OTL(MB[0].Port[5].Cfg.IOLinkMode) OTL(MB[0].Port[6].Cfg.IOLinkMode) OTL(MB[0].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[0],BF001BK01:C.Data,BF001BK01:O.Data) BND ;

7 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # Master Block #2 # IO-Link Master Right Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[1].Port[0].Cfg.IOLinkMode) OTL(MB[1].Port[1].Cfg.IOLinkMode) OTL(MB[1].Port[2].Cfg.IOLinkMode) OTL(MB[1].Port[3].Cfg.IOLinkMode) NXB OTL(MB[1].Port[4].Cfg.IOLinkMode) OTL(MB[1].Port[5].Cfg.IOLinkMode) OTL(MB[1].Port[6].Cfg.IOLinkMode) OTL(MB[1].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[1],FP003BK02:C.Data,FP003BK02:O.Data) BND ;

OLD RUNG

<@INFO> ################################################################ # Master Block #2 # IO-Link Master Right Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[1].Port[0].Cfg.IOLinkMode) OTL(MB[1].Port[1].Cfg.IOLinkMode) OTL(MB[1].Port[2].Cfg.IOLinkMode) OTL(MB[1].Port[3].Cfg.IOLinkMode) NXB OTL(MB[1].Port[4].Cfg.IOLinkMode) OTL(MB[1].Port[5].Cfg.IOLinkMode) OTL(MB[1].Port[6].Cfg.IOLinkMode) OTL(MB[1].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[1],BF001BK02:C.Data,BF001BK02:O.Data) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #3 # IO-Link Master Left Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[2].Port[0].Cfg.IOLinkMode) OTL(MB[2].Port[1].Cfg.IOLinkMode) OTL(MB[2].Port[2].Cfg.IOLinkMode) OTL(MB[2].Port[3].Cfg.IOLinkMode) NXB OTL(MB[2].Port[4].Cfg.IOLinkMode) OTL(MB[2].Port[5].Cfg.IOLinkMode) OTL(MB[2].Port[6].Cfg.IOLinkMode) OTL(MB[2].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[2],BF001BK03:C.Data,BF001BK03:O.Data) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #4 # IO-Link Master Right Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[3].Port[0].Cfg.IOLinkMode) OTL(MB[3].Port[1].Cfg.IOLinkMode) OTL(MB[3].Port[2].Cfg.IOLinkMode) OTL(MB[3].Port[3].Cfg.IOLinkMode) NXB OTL(MB[3].Port[4].Cfg.IOLinkMode) OTL(MB[3].Port[5].Cfg.IOLinkMode) OTL(MB[3].Port[6].Cfg.IOLinkMode) OTL(MB[3].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[3],BF001BK04:C.Data,BF001BK04:O.Data) BND ;

| | | | | ROUTINE: B005_Parameters (I) (Sets Program Par) | | | | |
5 <------- EDITED (I) --------> 5 |████████ | | |
NEW RUNG

<@TODO> ################################################################ # Footprint Name using Ascii Codes for Characters. # This will not match the Program Name. ################################################################ MOV(9,HMI.Diag.Pgm.Name.LEN)BST MOV(49,HMI.Diag.Pgm.Name.DATA[0]) NXB MOV(55,HMI.Diag.Pgm.Name.DATA[1]) NXB MOV(45,HMI.Diag.Pgm.Name.DATA[2]) NXB MOV(84,HMI.Diag.Pgm.Name.DATA[3]) NXB MOV(71,HMI.Diag.Pgm.Name.DATA[4]) NXB MOV(45,HMI.Diag.Pgm.Name.DATA[5]) NXB MOV(66,HMI.Diag.Pgm.Name.DATA[6]) NXB MOV(70,HMI.Diag.Pgm.Name.DATA[7]) NXB MOV(49,HMI.Diag.Pgm.Name.DATA[8]) BND ;

OLD RUNG

<@TODO> ################################################################ # Footprint Name using Ascii Codes for Characters. # This will not match the Program Name. ################################################################ MOV(10,HMI.Diag.Pgm.Name.LEN)BST MOV(49,HMI.Diag.Pgm.Name.DATA[0]) NXB MOV(55,HMI.Diag.Pgm.Name.DATA[1]) NXB MOV(45,HMI.Diag.Pgm.Name.DATA[2]) NXB MOV(84,HMI.Diag.Pgm.Name.DATA[3]) NXB MOV(71,HMI.Diag.Pgm.Name.DATA[4]) NXB MOV(45,HMI.Diag.Pgm.Name.DATA[5]) NXB MOV(48,HMI.Diag.Pgm.Name.DATA[6]) NXB MOV(48,HMI.Diag.Pgm.Name.DATA[7]) NXB MOV(49,HMI.Diag.Pgm.Name.DATA[8]) NXB MOV(88,HMI.Diag.Pgm.Name.DATA[9]) BND ;

| | | | | ROUTINE: B022_ConveyorStatus_ALS_StopStation (I) | | | | | ( Conveyor Stop S) | | | | |
1 <------- EDITED (I) --------> 1 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(1,ConvStatus.StartingPoint)MOV(60,ConvStatus.TaktTime);

OLD RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(5,ConvStatus.StartingPoint)MOV(400,ConvStatus.TaktTime);

14 <------- EDITED (I) --------> 14 |████████ | | |
NEW RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

OLD RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)BST XIC(JobIDCheck1.DataMatch) NXB XIC(JobIDCheck1.Bypassed) NXB XIC(SimStatus.InSimMode) BND XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

16 <------- EDITED (I) --------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB BST XIO(FromConveyor.Running) NXB XIC(_HTI.31) BND BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

OLD RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB XIO(FromConveyor.Running) BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

| | | | | ROUTINE: J001_JobDataEP (I+C) (Footprint JobDat) | | | | |
1 <------- EDITED (C) --------> 1 | | | | |
NEW RUNG

<@SYS> ################################################################ # This rung loads the JobData register's name and offset. # The name is displayed on the HMI style screen and MUST be 12 characters or less. # Each JobData register in a station must have a unique name. # The offset is a unique number used by the HMI to identify the specific job data. # The first JobData register in a program should use the program's diagnostic # offset number. Additional JobData registers should add a constant value to # the program's diagnostic offset number. ################################################################ <@INFO> ################################################################ # This rung sets JobData name in the style overview text list. # Remember that the JobData name MUST be 12 characters or less. # This rung also copies the station program diagnostic offset # number into the JobData offset number. ################################################################ # # <TL12 StyleOverviewID_TL[5000]: BF001> # MOV(HMI.Diag.Pgm.MsgOffset,Jobdata.Offset);

OLD RUNG

<@SYS> ################################################################ # This rung loads the JobData register's name and offset. # The name is displayed on the HMI style screen and MUST be 12 characters or less. # Each JobData register in a station must have a unique name. # The offset is a unique number used by the HMI to identify the specific job data. # The first JobData register in a program should use the program's diagnostic # offset number. Additional JobData registers should add a constant value to # the program's diagnostic offset number. ################################################################ <@INFO> ################################################################ # This rung sets JobData name in the style overview text list. # Remember that the JobData name MUST be 12 characters or less. # This rung also copies the station program diagnostic offset # number into the JobData offset number. ################################################################ # # <TL12 StyleOverviewID_TL[5000]: 17-TG-001X> # MOV(HMI.Diag.Pgm.MsgOffset,Jobdata.Offset);

6 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ BST XIC(ConvStatus.DataShiftONS) NXB XIC(_HIT_ClearModel.13) BND BST XIO(_HIT_ClearModel.13) COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

OLD RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ XIC(ConvStatus.DataShiftONS)BST COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

| | | | | ROUTINE: M001_Modes (I) (Station Mode Log) | | | | |
1 <------- EDITED (I) --------> 1 |████████████ | |
NEW RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ XIC(Cell.Mode.Tryout)OTE(Mode.Tryout);

OLD RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ BST XIC(Cell.Mode.Tryout) NXB XIC(TBD) BND OTE(Mode.Tryout);

| | | | | ROUTINE: S020_EPTask02 (I+C) () | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.420><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

6 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status01]);

OLD RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status00]);

| | | | | PROGRAM: FP003 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: A000_Main (I) (Main Control Rou) | | | | |
DELETED --> 22 |████████████████████
DELETED RUNG

JSR(X402_ExtMsgVIP2,0);

| | | | | ROUTINE: B001_MapInputs (I+C) (Maps Real Input ) | | | | |
1 <------- EDITED (I) --------> 1 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Z1Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01Z1toEP_GTG01Z1Interlocks.ToFP[4],FromConveyor,1);

OLD RUNG

<@INFO> ################################################################ # Copy Interlock from Conveyor to Status and Temp. Buffer ################################################################ XIC(CG_GTG01Controller.RunOK)XIO(SimStatus.InSimMode)CPS(CG_GTG01toEP_GTG01Z1Interlocks.ToFP[4],FromConveyor,1);

11 <------- EDITED (I+C) ------> 11 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2005]: FP003BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,5,2005,192,168,1,6,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,2,ENetNetwork2);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2014]: FP003BK01> # za_EnetMapping(EnetAddressTableLoad,MB[0].Comm,14,2014,192,168,1,9,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

13 <------- EDITED (C) --------> 13 | | | | |
NEW RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[4]: BK01 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.6 > # <Alarm[5]: BK01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.6 > # <Alarm[6]: BK01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.6 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[0].Comm.OK) NXB XIC(MB[0].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[0].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(MB[0].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetCRCErrors) NXB XIC(MB[0].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[4]: BK01 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.9 > # <Alarm[5]: BK01 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.9 > # <Alarm[6]: BK01 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.9 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[0].Comm.OK) NXB XIC(MB[0].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[0].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[4],kHelp.ENetCommFlt) BND NXB XIC(MB[0].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[5],kHelp.ENetCRCErrors) NXB XIC(MB[0].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[6],kHelp.ENetPortCommWrn) BND ;

16 <------- EDITED (I+C) ------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2006]: FP003BK02> # za_EnetMapping(EnetAddressTableLoad,MB[1].Comm,6,2006,192,168,1,7,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,2,ENetNetwork2);

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2015]: FP003BK02> # za_EnetMapping(EnetAddressTableLoad,MB[1].Comm,15,2015,192,168,1,10,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

18 <------- EDITED (C) --------> 18 | | | | |
NEW RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[7]: BK02 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.7 > # <Alarm[8]: BK02 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.7 > # <Alarm[9]: BK02 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.7 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[1].Comm.OK) NXB XIC(MB[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[1].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(MB[1].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetCRCErrors) NXB XIC(MB[1].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

OLD RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[7]: BK02 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.10 > # <Alarm[8]: BK02 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.10 > # <Alarm[9]: BK02 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.10 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[1].Comm.OK) NXB XIC(MB[1].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[1].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[7],kHelp.ENetCommFlt) BND NXB XIC(MB[1].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[8],kHelp.ENetCRCErrors) NXB XIC(MB[1].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[9],kHelp.ENetPortCommWrn) BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[2].Comm,FP003BK03,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 20 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[2].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[2],FP003BK03:I.Data,MB[2]) NXB XIO(MB[2].Comm.OK) FLL(0,MB[2].Port[0],8) BND ;

DELETED --> 21 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2016]: FP003BK03> # za_EnetMapping(EnetAddressTableLoad,MB[2].Comm,16,2016,192,168,1,17,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 22 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP003BK03,MB[2].Path);

DELETED --> 23 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[10]: BK03 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.17 > # <Alarm[11]: BK03 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.17 > # <Alarm[12]: BK03 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.17 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[2].Comm.OK) NXB XIC(MB[2].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[2].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[10],kHelp.ENetCommFlt) BND NXB XIC(MB[2].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[11],kHelp.ENetCRCErrors) NXB XIC(MB[2].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[12],kHelp.ENetPortCommWrn) BND ;

DELETED --> 24 |████████████████████
DELETED RUNG

<@INFO> ################################################################ I/O Module Ethernet communication status AOI This AOI determines the communication status for the I/O module. This AOI must scan BEFORE the za_EnetMapping AOI. The Enet mapping AOI uses outputs from this AOI. ################################################################ <@TODO> ################################################################ Program the following for the EnetIOModule AOI za_EnetIOModule EnetIOModule tag Example: EnetIOModule in_Comm Device's .Comm structure. Example: SBK01.Comm in_CommModule Device's Ethernet adapter I/O module Example: AAcc1SBK01 in_SafeCommOK: If the module is a safety module, program the module's .Safety.CommOK here. Example: SBK01.Safety.CommOK If the module is not a safety module, program kConstant.No Example: kConstant.No outEntryStatus Program EnetAddressTableLoad.EntryStatus. Used by EnetMapping AOI Example: EnetAddressTableLoad.EntryStatus outFaultCode Program EnetAddressTableLoad.FaultCode. Used by EnetMapping AOI Example: EnetAddressTableLoad.FaultCode ################################################################ za_EnetIOModule(EnetIOModule,MB[3].Comm,FP003BK04,kConstant.No,EnetAddressTableLoad.EntryStatus,EnetAddressTableLoad.FaultCode);

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Turck 16 Input / Output Ethernet Status / Diagnostics # # Map Inputs ################################################################ BST XIC(MB[3].Comm.OK) za_IOLBallufMasterInput(IOLMasterIn[3],FP003BK04:I.Data,MB[3]) NXB XIO(MB[3].Comm.OK) FLL(0,MB[3].Port[0],8) BND ;

DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[2017]: FP003BK04> # za_EnetMapping(EnetAddressTableLoad,MB[3].Comm,17,2017,192,168,1,18,kConstant.Yes,kConstant.Yes,2,kConstant.No,kConstant.Yes,10000,0,ENetNetwork2);

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # IO Link Master # Ethernet Address ################################################################ XIC(S:FS)za_IOLMasterPath(IOLMasterPath,FP003BK04,MB[3].Path);

DELETED --> 28 |████████████████████
DELETED RUNG

<@TODO> ################################################################ Replace "EPEN2TSlot2.Comm.OK" with EnetName.Comm OK of Enet Card For This Device's Network. ################################################################ <@DIAG> # # <Alarm[13]: BK04 Ethernet Comm Fault /*R*/ Check Enet Screen - 192.168.1.18 > # <Alarm[14]: BK04 Ethernet Port CRC Faults /*R*/ Check Ethernet Cables / Receptacles - 192.168.1.18 > # <Alarm[15]: BK04 Ethernet Port Status Error /*R*/ A Port is Running Wrong Speed or Duplex - 192.168.1.18 > # BST XIC(EPPLCENET.Comm.OK) BST XIO(MB[3].Comm.OK) NXB XIC(MB[3].Comm.FltMem) XIO(Cell.Req.FaultReset) BND BST OTE(MB[3].Comm.FltMem) NXB JSR(zZ999_Diagnostics,3,kDiag.Alarm.Comm,kAlarm[13],kHelp.ENetCommFlt) BND NXB XIC(MB[3].Comm.PortCRCErrors) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[14],kHelp.ENetCRCErrors) NXB XIC(MB[3].Comm.PortCommWarning) JSR(zZ999_Diagnostics,3,kDiag.Alarm.MaintWarnPLCSW,kAlarm[15],kHelp.ENetPortCommWrn) BND ;

| | | | | ROUTINE: B002_MapOutputs (I) (Maps Output Data) | | | | |
DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Silence the Horn ################################################################ <@TODO> ################################################################ # Replace XIC TBD instruction # with condition to block the horn ################################################################ XIC(TBD)OTU(TaskSummary.Left.Any.Horn)OTU(TaskSummary.Right.Any.Horn);

1 <------- EDITED (I) --------> 2 |████| | | |
NEW RUNG

CPS(ToConveyor,EP_GTG01TZ1toCG_GTG01Z1Interlocks.FP[4],1);

OLD RUNG

CPS(ToConveyor,EP_GTG01Z1toCG_GTG01Interlocks.FP[4],1);

2 <------- EDITED (I) --------> 1 |████████████ | |
NEW RUNG

<@INFO> ################################################################ # Silence the Horn ################################################################ <@TODO> ################################################################ # Replace XIC TBD instruction # with condition to block the horn ################################################################ BST XIC(FromConveyor.MS) NXB XIC(_HTI.31) BND OTU(TaskSummary.Left.Any.Horn)OTU(TaskSummary.Right.Any.Horn);

OLD RUNG

<@INFO> ################################################################ # Silence the Horn ################################################################ <@TODO> ################################################################ # Replace XIC TBD instruction # with condition to block the horn ################################################################ XIC(TBD)OTU(TaskSummary.Left.Any.Horn)OTU(TaskSummary.Right.Any.Horn);

7 <--- INSERTED |████████████████████
INSERTED RUNG

BST XIC(EPTask[2].WorkComplete) OTE(EP_GTG01Z1toGA_TGGS01Interlocks.FP003L_SecuresComp) NXB XIC(EPTask[3].WorkComplete) OTE(EP_GTG01Z1toGA_TGGS02Interlocks.FP003R_SecuresComp) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #3 # IO-Link Master Left Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[2].Port[0].Cfg.IOLinkMode) OTL(MB[2].Port[1].Cfg.IOLinkMode) OTL(MB[2].Port[2].Cfg.IOLinkMode) OTL(MB[2].Port[3].Cfg.IOLinkMode) NXB OTL(MB[2].Port[4].Cfg.IOLinkMode) OTL(MB[2].Port[5].Cfg.IOLinkMode) OTL(MB[2].Port[6].Cfg.IOLinkMode) OTL(MB[2].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[2],FP003BK03:C.Data,FP003BK03:O.Data) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Master Block #4 # IO-Link Master Right Side # Outputs and Configuration Setup ################################################################ BST OTL(MB[3].Port[0].Cfg.IOLinkMode) OTL(MB[3].Port[1].Cfg.IOLinkMode) OTL(MB[3].Port[2].Cfg.IOLinkMode) OTL(MB[3].Port[3].Cfg.IOLinkMode) NXB OTL(MB[3].Port[4].Cfg.IOLinkMode) OTL(MB[3].Port[5].Cfg.IOLinkMode) OTL(MB[3].Port[6].Cfg.IOLinkMode) OTL(MB[3].Port[7].Cfg.IOLinkMode) NXB za_IOLBalluffMasterOutputs(IOLMasterOut,MB[3],FP003BK04:C.Data,FP003BK04:O.Data) BND ;

| | | | | | | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | ROUTINE: B022_ConveyorStatus_ALS_StopStation (I) | | | | | ( Conveyor Stop S) | | | | |
1 <------- EDITED (I) --------> 1 |████████ | | |
NEW RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(1,ConvStatus.StartingPoint)MOV(60,ConvStatus.TaktTime);

OLD RUNG

<@INFO> ################################################################ # Footprint Error Proofing Parameter # Conveyor TAKT Time in Seconds ################################################################ <@TODO> ################################################################ # Enter Takt Time For Footprint # Enter Starting Point - For Max transfer time ################################################################ MOV(5,ConvStatus.StartingPoint)MOV(400,ConvStatus.TaktTime);

14 <------- EDITED (I) --------> 14 |████████ | | |
NEW RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

OLD RUNG

XIC(ConvStatus.DataShifted)XIC(ConvStatus.AtStop)BST XIC(JobIDCheck1.DataMatch) NXB XIC(JobIDCheck1.Bypassed) NXB XIC(SimStatus.InSimMode) BND XIO(ConvStatus.DataLoaded)BST OTE(ConvStatus.NewDataONS) NXB OTL(ConvStatus.DataLoaded) BND ;

16 <------- EDITED (I) --------> 16 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB BST XIO(FromConveyor.Running) NXB XIC(_HTI.31) BND BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

OLD RUNG

<@INFO> ################################################################ # Conditions to Enable Shift, Rebuild & Functions on Style Overview HMI screen. ################################################################ BST XIO(ConvStatus.AtStop) NXB XIO(FromConveyor.Running) BND XIO(ConvStatus.ResetAllTasks)XIO(ConvStatus.NewDataONS)OTE(ConvStatus.OkayToEditData);

| | | | | ROUTINE: J001_JobDataEP (I) (Footprint JobDat) | | | | |
6 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ BST XIC(ConvStatus.DataShiftONS) NXB XIC(_HIT_ClearModel.14) BND BST XIO(_HIT_ClearModel.14) COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

OLD RUNG

<@INFO> ################################################################ # When the Job leaves the Conveyor FPS, Copy Job Data, # Build Data & Backup Data from the Previous Buffer To the Footprint's # Job Data, Build Data & Backup Data and Clear the Buffer. ################################################################ XIC(ConvStatus.DataShiftONS)BST COP(TrackingBufferPrev.JobData.Data,Jobdata.Data,1) COP(TrackingBufferPrev.BuildData,BuildData,1) COP(TrackingBufferPrev.BackupData,BackupData,1) NXB FLL(0,TrackingBufferPrev.JobData.Data,1) FLL(0,TrackingBufferPrev.BackupData,1) NXB FLL(32,TrackingBufferPrev.BuildData.ID[0],72) FLL(0,TrackingBufferPrev.BuildData.ID[72],928) BND ;

| | | | | ROUTINE: M001_Modes (I) (Station Mode Log) | | | | |
1 <------- EDITED (I) --------> 1 |████████████ | |
NEW RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ XIC(Cell.Mode.Tryout)OTE(Mode.Tryout);

OLD RUNG

<@TODO> ################################################################ # Replace TBD with application specific memthod of entering tryout # This will normally be the "Tryout" bit of the Style Build Status ################################################################ BST XIC(Cell.Mode.Tryout) NXB XIC(TBD) BND OTE(Mode.Tryout);

| | | | | ROUTINE: S010_EPTask01 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.10)BST BST XIC(Task[1].Status.WorkComplete) NXB XIC(EPTask[1].WorkComplete) NXB XIC(EPTask[1].ActionComplete) BND XIO(EPTask[0].WorkComplete) XIO(_HTI.12) ONS(OneShot.1) OTL(ZoneProcessTool1[5].I.CTL.PTC_InCycle) OTL(ZoneProcessTool1[5].I.CTL.DN) OTL(_HTI.11) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.11) BND ;

| | | | | ROUTINE: S020_EPTask02 (I+C) () | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.420><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Error Proofing Project Task Routine ################################################################ OTE(RungComment);

6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.10)BST BST XIC(Task[0].Status.WorkComplete) NXB XIC(EPTask[0].WorkComplete) NXB XIC(EPTask[0].ActionComplete) BND XIO(EPTask[1].WorkComplete) XIO(_HTI.11) ONS(OneShot.2) OTL(ZoneProcessTool1[6].I.CTL.PTC_InCycle) OTL(ZoneProcessTool1[6].I.CTL.DN) OTL(_HTI.12) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.12) BND ;

7 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status01]);

OLD RUNG

<@TODO> ################################################################ # Error Proofing Task Backup Control # # The AOI sets & resets Backup Statuses for this Error Proofing Task. # It updates Backup Data based on this task's status. # It requests retriggers for this task and unstarted alternate tasks. # It releases this task and stores GSIP Event in Backup Data if a backup task # is active and if not, it loads stored GSIP Events to the GSIP Event Queue. # Condition this AOI with the TriggerSetup.Backup bit for this task. # # in_ConfigFPTask - Program scope ConfigFP.Task tag array element for this task # (configuration for this task) # in_DataIndex - Program scope BackupDataIndex tag array element for this task # (position of task in Backup Data array) # in_NewDataONS - Program scope ConvStatus.NewDataONS tag member # (new job data received one-shot signal) # in_StatusIndex - Program scope BackupIndex.StatusXX tag member for this task # (position of task in Backup Status array) # tagBackupStatus - Controller scope BackupStatus tag # (task backup statuses for trackzone) # tagConfigArraySize - Controller scope ConfigArraySize tag # (EP Action & Trigger Configuration array sizes) # tagJobdata - Jobdata for job that triggers this task (active Build data) # inoBackupData - Task Backup Data for job that triggers this task # inoQueue - Controller scope QDIQueue tag (QDI Events to be sent to GSIP) # inoTask - Program scope Task tag array element for this task # (current behavior) # inoTaskBackupStatus - Controller scope BackupStatus tag array element for this task # (backup status for this task) ################################################################ XIC(EPTriggerSetup[1].Backup)za_EPTaskBackup(EPTaskBackup[1],ConfigFP.Task[1],BackupDataIndex[1],ConvStatus.NewDataONS,BackupIndex.Status01,BackupStatus1,ConfigArraySize,TrackingImage1[TrackingIndex01].JobData,TrackingImage1[TrackingIndex01].BackupData,QDIQueue,Task[1],BackupStatus1[BackupIndex.Status00]);

| | | | | ROUTINE: S030_EPTask03 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.10)BST BST XIC(Task[3].Status.WorkComplete) NXB XIC(EPTask[3].WorkComplete) NXB XIC(EPTask[3].ActionComplete) BND XIO(EPTask[2].WorkComplete) XIO(_HTI.14) ONS(OneShot.3) OTL(ZoneTorqueTools1[5].I.CycleComplete) OTL(ZoneTorqueTools1[5].I.GlobalAccept) OTL(_HTI.13) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.13) BND ;

| | | | | ROUTINE: S040_EPTask04 (I) () | | | | |
6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.10)BST BST XIC(Task[2].Status.WorkComplete) NXB XIC(EPTask[2].WorkComplete) NXB XIC(EPTask[2].ActionComplete) BND XIO(EPTask[3].WorkComplete) XIO(_HTI.13) ONS(OneShot.4) OTL(ZoneTorqueTools1[6].I.CycleComplete) OTL(ZoneTorqueTools1[6].I.GlobalAccept) OTL(_HTI.14) NXB XIC(ConvStatus.ResetAllTasks) OTU(_HTI.14) BND ;

| | | | | ROUTINE: V700_ProcessToolCommon (I) | | | | | (Common Process T) | | | | |
3 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(ConvStatus.LeavingFPS)OTU(ZoneProcessTool1[PT01].O.CTL.FPS)OTE(ZoneProcessTool1[PT01].O.CTL.EM);

6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(ConvStatus.LeavingFPS)OTU(ZoneProcessTool1[PT02].O.CTL.FPS)OTE(ZoneProcessTool1[PT02].O.CTL.EM);

| | | | | ROUTINE: X402_ExtMsgVIP2 (I) (Error Proofing E) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.417><@EDITS ALLOWED> <@SYS> ################################################################ # ERROR PROOFING EXTERNAL MESSAGE ROUTINE # Vehicle Inspection Point (VIP) HVLB Trigger at start of Track Zone # Fixed Position Stop (FPS) Conveyor ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Program External Message Name using Ascii Codes for Characters. ################################################################ XIC(S:FS)MOV(9,ExtMsgLog01.Name.LEN)BST MOV(70,ExtMsgLog01.Name.DATA[0]) NXB MOV(80,ExtMsgLog01.Name.DATA[1]) NXB MOV(48,ExtMsgLog01.Name.DATA[2]) NXB MOV(48,ExtMsgLog01.Name.DATA[3]) NXB MOV(51,ExtMsgLog01.Name.DATA[4]) NXB MOV(86,ExtMsgLog01.Name.DATA[5]) NXB MOV(73,ExtMsgLog01.Name.DATA[6]) NXB MOV(80,ExtMsgLog01.Name.DATA[7]) NXB MOV(50,ExtMsgLog01.Name.DATA[8]) BND ;

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Error Proofing External Message # # The AOI sends a message to an external device, including a # Transaction ID (2 - 9999) which is incremented for each new message. # If in_ByteSwap = 1, then it byte swaps the data packet. # It resends errored messages until the maximum retry count is reached. # # in_MessageControl - Controller scope message control structure tag # in_DataSource - Source for message data packet in INT array format # in_MaxRetryCount - Number of times to try sending message # in_MinRetryDelay - Minimum wait time (in milliseconds) before resending message # in_TransIDPos - Position of Transaction ID element in data source array # in_VehicleIDPos - Position of first Vehicle ID element in data source array # in_AllowDupVID - Allow message with same Vehicle ID as last successful message # in_ByteSwap - Byte swap data source array before sending message # in_CycleReset - Command to unconditionally reset status bits (optional) # (This bit blocks Message Start) # in_FaultReset - Command to reset status bits when faulted (optional) # (This bit blocks Message Start when status is faulted) # tagController - Controller scope Controller tag # outTransHistory - Transacton History Log # # Configure the Message instruction on the AOI faceplate. # # Replace COP instruction with logic as required to populate data packet. # Replace LIM instruction with logic as required to validate data packet. # Replace XIC instructions in top branch with one-shot logic as required to trigger message. # If status is not reset at end of cycle, then change in_CycleReset configuration to kConstant.No # and add XIC(ExtMsgControlXX.InProgress) in series before XIC(Jobdata.Valid) or its replacement. # If status is not reset by Fault Reset then change in_FaultReset configuration to kConstant.No. # If Fault Reset must resend the message, then add XIC(Cell.Req.FaultReset) # in parallel with XIC(ConvStatus.NewDataONS) or its replacement. ################################################################ BST XIC(Jobdata.Valid) XIC(ConvStatus.NewDataONS) LIM(1,Jobdata.Data.VID,999999999) COP(BuildData.ID[0],LTS_EXT_02_TX[1],5) COP(BuildData.ID[26],LTS_EXT_02_TX[6],6) NXB XIC(ExtMsgControl01.InProgress) BND za_EPExternalMessage(ExtMsgControl01,ExtMsg01,LTS_EXT_02_TX,3,10000,0,1,kConstant.No,kConstant.Yes,ConvStatus.ResetAllTasks,Cell.Req.FaultReset,Controller,ExtMsgLog01);

DELETED --> 3 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Update alarm text based on external message application. # Delete Duplicate Vehicle ID Warning if AOI is configured to # allow duplicate Vehicle IDs or if it is otherwise not required. ################################################################ <@DIAG> # # <Alarm[521]: VIP1 External Message Error /*R*/ HVLB data not being sent to GEPICS for GSIP > # <Alarm[522]: VIP1 External Message Canceled /*R*/ HVLB data not sent to GEPICS for GSIP > # <Alarm[523]: VIP1 External Message Warning /*R*/ Vehicle ID is Duplicate of Last Message > # BST XIC(ExtMsgControl01.Faulted) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[521],kHelp.None) NXB XIC(ExtMsgControl01.Canceled) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysFltGeneral,kAlarm[522],kHelp.None) NXB XIC(ExtMsgControl01.WarnDupVID) JSR(zZ999_Diagnostics,3,kDiag.Alarm.SysWarn,kAlarm[523],kHelp.None) BND ;

| | | | | PROGRAM: FPExit1 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: A000_Main (I) (Main Control Rou) | | | | |
DELETED --> 5 |████████████████████
DELETED RUNG

JSR(B052_Operator4U2SEE2,0);

5 <------- EDITED (I) --------> 6 | | | | |
NEW RUNG

JSR(J001_JobDataFPSExit,0);

OLD RUNG

JSR(J001_JobDataALSExit,0);

DELETED --> 7 |████████████████████
DELETED RUNG

JSR(V501_Custom01,0);

DELETED --> 9 |████████████████████
DELETED RUNG

JSR(V502_CustomQR,0);

DELETED --> 10 |████████████████████
DELETED RUNG

JSR(V503_CustomQR,0);

DELETED --> 11 |████████████████████
DELETED RUNG

JSR(V504_CustomQR,0);

DELETED --> 12 |████████████████████
DELETED RUNG

JSR(V505_CustomQR,0);

DELETED --> 13 |████████████████████
DELETED RUNG

JSR(V506_CustomQR,0);

DELETED --> 14 |████████████████████
DELETED RUNG

JSR(V507_CustomQR,0);

DELETED --> 15 |████████████████████
DELETED RUNG

JSR(V508_CustomQR,0);

DELETED --> 16 |████████████████████
DELETED RUNG

JSR(V509_CustomQR,0);

DELETED --> 17 |████████████████████
DELETED RUNG

JSR(V510_CustomQR,0);

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 18 |████████████████████
DELETED RUNG

JSR(V511_CustomQR,0);

DELETED --> 19 |████████████████████
DELETED RUNG

JSR(V512_CustomQR,0);

DELETED --> 20 |████████████████████
DELETED RUNG

JSR(V513_CustomQR,0);

DELETED --> 21 |████████████████████
DELETED RUNG

JSR(V514_CustomQR,0);

DELETED --> 22 |████████████████████
DELETED RUNG

JSR(V515_CustomQR,0);

DELETED --> 23 |████████████████████
DELETED RUNG

JSR(V516_CustomQR,0);

| | | | | ROUTINE: B002_MapOutputs (I+C) (Maps Output Data) | | | | |
DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Asynchronous Conveyor Master Scheduler Stop Status # Delete this rung for Synchronous Conveyors. ################################################################ XIC(OPAMasterSchedulerStop1[63])OTE(OPAMasterSchedulerStop1[0])OTU(OPAMasterSchedulerStop1[63]);

DELETED --> 3 |████████████████████
DELETED RUNG

MOV(SimStatus.ConvSpeedBuffer,RuntimeStatus1[0,40])MOV(-9,SimStatus.ConvSpeedBuffer)OTU(SimStatus.JobDataPresent);

5 <------- EDITED (I+C) ------> 8 |████████████ | |
NEW RUNG

JSR(B971_MapOutputsPT,0);

OLD RUNG

<@INFO> ################################################################ # Set up Barcode Module Conection ################################################################ XIC(EPOutputsReset)JSR(B993_EPModuleBC,0);

| | | | | ROUTINE: B051_Operator4U2SEE1 (I) () | | | | |
5 <------- EDITED (I) --------> 5 | | | | |
NEW RUNG

XIO(BCDisplay1.Send)XIO(BCDisplay1.EnableSend)XIO(BCDisplay1.Client.SO)BST EQU(ActiveDisplay1,5) XIO(TempOff) MOV(2,ActiveDisplay1) OTL(Trigger) NXB XIO(Trigger) EQU(ActiveDisplay1,2) MOV(3,ActiveDisplay1) OTL(Trigger) NXB XIO(Trigger) EQU(ActiveDisplay1,3) MOV(4,ActiveDisplay1) OTL(Trigger) NXB XIO(Trigger) MOV(5,ActiveDisplay1) NXB CTU(Display1Cycle,,) NXB ADD(Display1CycleIndex,1,Display1CycleIndex) GRT(Display1CycleIndex,1000000) MOV(0,Display1CycleIndex) NXB OTE(BCDisp1Update) OTU(Default) OTU(Trigger) BND ;

OLD RUNG

XIO(BCDisplay1.Send)XIO(BCDisplay1.EnableSend)XIO(BCDisplay1.Client.SO)BST EQU(ActiveDisplay1,5) MOV(1,ActiveDisplay1) OTL(Trigger) NXB XIO(Trigger) EQU(ActiveDisplay1,1) MOV(2,ActiveDisplay1) OTL(Trigger) NXB XIO(Trigger) EQU(ActiveDisplay1,2) MOV(3,ActiveDisplay1) OTL(Trigger) NXB XIO(Trigger) EQU(ActiveDisplay1,3) MOV(4,ActiveDisplay1) OTL(Trigger) NXB XIO(Trigger) MOV(5,ActiveDisplay1) NXB CTU(Display1Cycle,,) NXB ADD(Display1CycleIndex,1,Display1CycleIndex) GRT(Display1CycleIndex,1000000) MOV(0,Display1CycleIndex) NXB OTE(BCDisp1Update) OTU(Default) OTU(Trigger) BND ;

8 <--- INSERTED |████████████████████
INSERTED RUNG

BST EQU(ActiveDisplay1,2) COP(DisplayStationName[1],TempEntryString1,1) NXB EQU(ActiveDisplay1,3) COP(DisplayStationName[2],TempEntryString1,1) NXB EQU(ActiveDisplay1,4) COP(DisplayStationName[3],TempEntryString1,1) NXB EQU(ActiveDisplay1,5) COP(DisplayStationName[4],TempEntryString1,1) BND ;

9 <------- EDITED (I) --------> 8 | | | | |
NEW RUNG

EQU(BCDisplay1.Buffer.Expected[0].LEN,0)BST OTL(Default) NXB COP(TempEntryStr[1],BCDisplay1.Buffer.Expected[0],1) DTOS(BCDisplay1.FP,TempEntryStr[5]) SUB(TempEntryStr[1].LEN,TempEntryStr[5].LEN,TempDint) NXB LIM(1,TempDint,TempEntryStr[1].LEN) COP(TempEntryStr[5].DATA[0],BCDisplay1.Buffer.Expected[0].DATA[TempDint],TempEntryStr[5].LEN) NXB COP(TempEntryStr[2],BCDisplay1.Buffer.Scan,1) DTOS(BCDisplay1.DeviceID,TempEntryStr[4]) SUB(TempEntryStr[2].LEN,TempEntryStr[4].LEN,TempDint) NXB LIM(1,TempDint,TempEntryStr[2].LEN) COP(TempEntryStr[4].DATA[0],BCDisplay1.Buffer.Scan.DATA[TempDint],TempEntryStr[4].LEN) NXB COP(TempEntryString1,BCDisplay1.Buffer.Expected[0],1) BND ;

OLD RUNG

EQU(BCDisplay1.Buffer.Expected[0].LEN,0)BST OTL(Default) NXB COP(TempEntryStr[1],BCDisplay1.Buffer.Expected[0],1) DTOS(BCDisplay1.FP,TempEntryStr[5]) SUB(TempEntryStr[1].LEN,TempEntryStr[5].LEN,TempDint) NXB LIM(1,TempDint,TempEntryStr[1].LEN) COP(TempEntryStr[5].DATA[0],BCDisplay1.Buffer.Expected[0].DATA[TempDint],TempEntryStr[5].LEN) NXB COP(TempEntryStr[2],BCDisplay1.Buffer.Scan,1) DTOS(BCDisplay1.DeviceID,TempEntryStr[4]) SUB(TempEntryStr[2].LEN,TempEntryStr[4].LEN,TempDint) NXB LIM(1,TempDint,TempEntryStr[2].LEN) COP(TempEntryStr[4].DATA[0],BCDisplay1.Buffer.Scan.DATA[TempDint],TempEntryStr[4].LEN) BND ;

12 <------- EDITED (I) --------> 11 | | | | |
NEW RUNG

BST XIC(BCDisplay1.Sorning0) NXB XIC(BCDisplay1.Sorning1) BND XIC(AlwaysOff)BST FLL(0,BCDisplay1.TempStr[1],1) NXB FLL(0,BCDisplay1.TempStr[3],1) BND ;

OLD RUNG

BST XIC(BCDisplay1.Sorning0) NXB XIC(BCDisplay1.Sorning1) BND XIC(TBD)BST FLL(0,BCDisplay1.TempStr[1],1) NXB FLL(0,BCDisplay1.TempStr[3],1) BND ;

21 <------- EDITED (I) --------> 20 | | | | |
NEW RUNG

XIC(BCDisplay1.Send)XIO(BCDisplay1.EnableSend)XIO(BCDisplay1.Client.WD)BST XIO(BCDisplay1.Client.SO) NXB XIC(NewConnection) BND BST LIM(1,ActiveDisplay1,5) XIC(ConvStatus.AtFPS) MOV(49,BCDisplay1.ResetString.DATA[15]) NXB LIM(1,ActiveDisplay1,5) LIM(5,ConvStatus.PercentTravel,70) MOV(50,BCDisplay1.ResetString.DATA[15]) NXB COP(IP_STRINGS1[ActiveDisplay1],Client11_DATA.Connect_Source.DestAddr,1) NXB COP(BCDisplay1.ResetString,BCDisplay1.StringToSend,1) NXB OTL(BCDisplay1.Client.Enable_Socket) OTE(NewConnection) NXB XIC(BCDisplay1.Client.SO) XIC(BCDisplay1.Delay.DN) XIO(BCDisplay1.Client.WD) BST OTL(BCDisplay1.EnableSend) OTU(BCDisplay1.Send) OTU(Trigger) NXB OTE(BCDisplay1.TestBit) BND BND ;

OLD RUNG

XIC(BCDisplay1.Send)XIO(BCDisplay1.EnableSend)XIO(BCDisplay1.Client.WD)BST XIO(BCDisplay1.Client.SO) NXB XIC(NewConnection) BND BST NEQ(ActiveDisplay1,6) NEQ(ActiveDisplay1,7) XIC(ConvStatus.AtFPS) MOV(49,BCDisplay1.ResetString.DATA[15]) NXB NEQ(ActiveDisplay1,6) NEQ(ActiveDisplay1,7) LIM(5,ConvStatus.PercentTravel,70) MOV(50,BCDisplay1.ResetString.DATA[15]) NXB COP(IP_STRINGS1[ActiveDisplay1],Client11_DATA.Connect_Source.DestAddr,1) NXB COP(BCDisplay1.ResetString,BCDisplay1.StringToSend,1) NXB OTL(BCDisplay1.Client.Enable_Socket) OTE(NewConnection) NXB XIC(BCDisplay1.Client.SO) XIC(BCDisplay1.Delay.DN) XIO(BCDisplay1.Client.WD) BST OTL(BCDisplay1.EnableSend) OTU(BCDisplay1.Send) OTU(Trigger) NXB OTE(BCDisplay1.TestBit) BND BND ;

| | | | | ROUTINE: B052_Operator4U2SEE2 (I) () | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.415><@EDITS ALLOWED> Example of managing Client connection with ADDON instruction. To setup the instruction, follow these steps. 1.) Fill in in the local port that the EN2T should use into "Client_DATA.Create_Source.Addr.Port". If 0 is used, the EN2T will pick a random port to use. 2.) Fill in "Client_DATA.Connect_Source.DestAddr" with the remote IP and port number to connect to. Make sure to put IP+"?port="+port number as the string (like "10.10.10.10?port=10051" for example). 3.) To start or stop the client connection, set or clear the Enable_Socket respectively. 4.) If trying to trap error for troubleshooting the connection, the set the Stop_on_Error bit on the instruction. If there is an error, the instruction will clear the Stop_on_Errorwhen a message errors. The SC status bit means trying to connect. The SO status bit means Socket Connected and open. The ER bit means a message ERrored. When the DR bit is set by the instruction, then there is string data that arrived from the socket. Copy the string data if desired and clear the DR bit to get new data. When data needs to be sent by the application, fill in the string data into "Client_DATA.Write_Source.Buffer", then set the WD bit. The instruction will clear the WD bit when the data is written. Modify the rung branches to suit the application. Make sure that the ENET_PATH is set for the correct SLOT. So Slot 2 would be $01$02 or Slot 4 would be $01$04 OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

XIC(S:FS)OTL(BCDisplay2.Client.DR)MOV(1,Client12_DATA.Create_Source.Type)MOV(2,Client12_DATA.Create_Source.Addr.Family)MOV(25000,Client12_DATA.Connect_Source.Timeout);

DELETED --> 2 |████████████████████
DELETED RUNG

BST ua_TCPIPClient(BCDisplay2.Client,Client12_Create_MSG,Client12_Connect_MSG,Client12_Read_MSG,Client12_Write_MSG,Client12_Delete_MSG,Client12_DATA,EN2T_PATH1) NXB XIC(BCDisplay2.EnableSend) XIC(BCDisplay2.Client.SO) XIO(BCDisplay2.Client.WD) BST COP(BCDisplay2.StringToSend,Client12_DATA.Write_Source.Buffer,1) NXB OTL(BCDisplay2.Client.WD) OTU(BCDisplay2.EnableSend) OTL(BCDisplay2.Write) NXB ADD(SendCounter2,1,SendCounter2) BND NXB BST XIC(BCDisplay2.Client.SCFault) NXB XIC(BCDisplay2.Client.SOFault) XIO(BCDisplay2.Client.SC) BND XIO(BCDisplay2.Client.SO) BST MOV(1,Display2TempMem[ActiveDisplay2].Expected[0].LEN) NXB MOV(33,Display2TempMem[ActiveDisplay2].Expected[0].DATA[0]) NXB OTU(BCDisplay2.Send) OTU(BCDisplay2.EnableSend) BND BND ;

DELETED --> 3 |████████████████████
DELETED RUNG

XIC(BCDisplay2.Write)XIO(BCDisplay2.Client.WD)BST OTU(BCDisplay2.Client.Enable_Socket) NXB OTU(BCDisplay2.Write) BND ;

DELETED --> 4 |████████████████████
DELETED RUNG

XIO(BCDisplay2.Send)XIO(BCDisplay2.EnableSend)XIO(BCDisplay2.Client.SO)BST EQU(ActiveDisplay2,10) MOV(6,ActiveDisplay2) OTL(Trigger2) NXB XIO(Trigger2) EQU(ActiveDisplay2,6) MOV(7,ActiveDisplay2) OTL(Trigger2) NXB XIO(Trigger2) EQU(ActiveDisplay2,7) MOV(8,ActiveDisplay2) OTL(Trigger2) NXB XIO(Trigger2) EQU(ActiveDisplay2,8) MOV(9,ActiveDisplay2) OTL(Trigger2) NXB XIO(Trigger2) MOV(10,ActiveDisplay2) NXB CTU(Display2Cycle,,) NXB ADD(Display2CycleIndex,1,Display2CycleIndex) GRT(Display2CycleIndex,1000000) MOV(0,Display2CycleIndex) NXB OTE(BCDisp2Update) OTU(Default2) OTU(Trigger2) BND ;

DELETED --> 5 |████████████████████
DELETED RUNG

XIC(BCDisp2Update)BST COP(ZoneBarcode1[ActiveDisplay2].OperDisply,BCDisplay2.Buffer,1) NXB MOV(ZoneBarcode1[ActiveDisplay2].FP,BCDisplay2.FP) NXB MOV(ZoneBarcode1[ActiveDisplay2].ToolID,BCDisplay2.DeviceID) BND ;

DELETED --> 6 |████████████████████
DELETED RUNG

EQU(BCDisplay2.Buffer.Expected[0].LEN,0)BST OTL(Default2) NXB COP(TempEntryStr[1],BCDisplay2.Buffer.Expected[0],1) DTOS(BCDisplay2.FP,TempEntryStr[5]) SUB(TempEntryStr[1].LEN,TempEntryStr[5].LEN,TempDint) NXB LIM(1,TempDint,TempEntryStr[1].LEN) COP(TempEntryStr[5].DATA[0],BCDisplay2.Buffer.Expected[0].DATA[TempDint],TempEntryStr[5].LEN) NXB COP(TempEntryStr[2],BCDisplay2.Buffer.Scan,1) DTOS(BCDisplay2.DeviceID,TempEntryStr[4]) SUB(TempEntryStr[2].LEN,TempEntryStr[4].LEN,TempDint) NXB LIM(1,TempDint,TempEntryStr[2].LEN) COP(TempEntryStr[4].DATA[0],BCDisplay2.Buffer.Scan.DATA[TempDint],TempEntryStr[4].LEN) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

BST NEQ(BCDisplay2.Buffer.Expected[0],Display2TempMem[ActiveDisplay2].Expected[0]) NXB NEQ(BCDisplay2.Buffer.Expected[1],Display2TempMem[ActiveDisplay2].Expected[1]) NXB NEQ(BCDisplay2.Buffer.Expected[2],Display2TempMem[ActiveDisplay2].Expected[2]) NXB NEQ(BCDisplay2.Buffer.Expected[3],Display2TempMem[ActiveDisplay2].Expected[3]) NXB XIC(BCDisplay2.Sorning0) XIO(BCDisplay2.TestBit) BND BST COP(BCDisplay2.Buffer.Expected[0],Display2TempMem[ActiveDisplay2].Expected[0],4) NXB OTE(BCDisplay2.Sorning0) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

BST NEQ(BCDisplay2.Buffer.Scan,Display2TempMem[ActiveDisplay2].Scan) NXB XIC(BCDisplay2.Sorning1) XIO(BCDisplay2.TestBit) BND BST OTE(BCDisplay2.Sorning1) NXB COP(BCDisplay2.Buffer.Scan,Display2TempMem[ActiveDisplay2].Scan,1) BND ;

DELETED --> 9 |████████████████████
DELETED RUNG

BST XIC(BCDisplay2.Sorning0) NXB XIC(BCDisplay2.Sorning1) BND XIC(TBD)BST FLL(0,BCDisplay2.TempStr[1],1) NXB FLL(0,BCDisplay2.TempStr[3],1) BND ;

DELETED --> 10 |████████████████████
DELETED RUNG

BST XIC(BCDisplay2.Sorning0) NXB XIC(BCDisplay2.Sorning1) BND BST MOV(BCDisplay2.Buffer.Expected[0].LEN,BCDisplay2.TempStr[1].LEN) COP(BCDisplay2.Buffer.Expected[0].DATA[0],BCDisplay2.TempStr[1].DATA[0],BCDisplay2.TempStr[1].LEN) NXB NEQ(Display2TempMem[ActiveDisplay2].Expected[1].LEN,0) CONCAT(BCDisplay2.TempStr[1],TempEntryStr[9],BCDisplay2.TempStr[1]) CONCAT(BCDisplay2.TempStr[1],Display2TempMem[ActiveDisplay2].Expected[1],BCDisplay2.TempStr[1]) NXB NEQ(Display2TempMem[ActiveDisplay2].Expected[2].LEN,0) CONCAT(BCDisplay2.TempStr[1],TempEntryStr[9],BCDisplay2.TempStr[1]) CONCAT(BCDisplay2.TempStr[1],Display2TempMem[ActiveDisplay2].Expected[2],BCDisplay2.TempStr[1]) NXB NEQ(Display2TempMem[ActiveDisplay2].Expected[3].LEN,0) CONCAT(BCDisplay2.TempStr[1],TempEntryStr[9],BCDisplay2.TempStr[1]) CONCAT(BCDisplay2.TempStr[1],Display2TempMem[ActiveDisplay2].Expected[3],BCDisplay2.TempStr[1]) BND ;

DELETED --> 11 |████████████████████
DELETED RUNG

BST XIC(BCDisplay2.Sorning0) NXB XIC(BCDisplay2.Sorning1) BND MOV(BCDisplay2.Buffer.Scan.LEN,BCDisplay2.TempStr[3].LEN)COP(BCDisplay2.Buffer.Scan.DATA[0],BCDisplay2.TempStr[3].DATA[0],BCDisplay2.TempStr[3].LEN);

DELETED --> 12 |████████████████████
DELETED RUNG

EQU(BCDisplay2.Buffer.Expected[0],BCDisplay2.Buffer.Scan)COP(BCDisplay2.TempStr[6],BCDisplay2.TempStr[0],1)COP(BCDisplay2.TempStr[8],BCDisplay2.TempStr[2],1);

DELETED --> 13 |████████████████████
DELETED RUNG

NEQ(BCDisplay2.Buffer.Expected[0],BCDisplay2.Buffer.Scan)XIO(Default2)COP(BCDisplay2.TempStr[7],BCDisplay2.TempStr[0],1)COP(BCDisplay2.TempStr[9],BCDisplay2.TempStr[2],1);

DELETED --> 14 |████████████████████
DELETED RUNG

EQU(BCDisplay2.Buffer.Scan.LEN,0)MOV(51,BCDisplay2.TempStr[0].DATA[15])MOV(51,BCDisplay2.TempStr[2].DATA[5]);

DELETED --> 15 |████████████████████
DELETED RUNG

GRT(BCDisplay2.Buffer.Scan.LEN,8)MOV(97,BCDisplay2.TempStr[2].DATA[3]);

DELETED --> 16 |████████████████████
DELETED RUNG

BST GRT(BCDisplay2.Buffer.Expected[0].LEN,8) NXB GRT(BCDisplay2.Buffer.Expected[1].LEN,0) BND MOV(97,BCDisplay2.TempStr[0].DATA[11]);

DELETED --> 17 |████████████████████
DELETED RUNG

BST XIC(BCDisplay2.Sorning0) NXB XIC(BCDisplay2.Sorning1) BND CONCAT(BCDisplay2.TempStr[0],BCDisplay2.TempStr[1],BCDisplay2.ResetString)CONCAT(BCDisplay2.ResetString,BCDisplay2.TempStr[2],BCDisplay2.ResetString)CONCAT(BCDisplay2.ResetString,BCDisplay2.TempStr[3],BCDisplay2.ResetString)CONCAT(BCDisplay2.ResetString,BCDisplay2.TempStr[4],BCDisplay2.ResetString)OTE(BCDisplay2.Send);

DELETED --> 18 |████████████████████
DELETED RUNG

XIC(BCDisplay2.Send)XIO(BCDisplay2.EnableSend)XIO(BCDisplay2.Client.WD)BST XIO(BCDisplay2.Client.SO) NXB XIC(NewConnection2) BND BST XIC(TBD) NEQ(ActiveDisplay2,6) XIC(ConvStatus.AtFPS) MOV(49,BCDisplay2.ResetString.DATA[15]) NXB XIC(TBD) NEQ(ActiveDisplay2,6) LIM(5,ConvStatus.PercentTravel,70) MOV(50,BCDisplay2.ResetString.DATA[15]) NXB COP(IP_STRINGS1[ActiveDisplay2],Client12_DATA.Connect_Source.DestAddr,1) NXB COP(BCDisplay2.ResetString,BCDisplay2.StringToSend,1) NXB OTL(BCDisplay2.Client.Enable_Socket) OTE(NewConnection2) NXB XIC(BCDisplay2.Client.SO) XIC(BCDisplay2.Delay.DN) XIO(BCDisplay2.Client.WD) BST OTL(BCDisplay2.EnableSend) OTU(BCDisplay2.Send) OTU(Trigger2) NXB OTE(BCDisplay2.TestBit) BND BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

XIC(BCDisplay2.EnableSend)OTL(BCDisplay2.Client.Enable_Socket);

DELETED --> 20 |████████████████████
DELETED RUNG

XIC(BCDisplay2.Client.SO)TON(BCDisplay2.Delay,,);

| | | | | ROUTINE: B971_MapOutputsPT (I) () | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

<@VER 1.413><@EDITS ALLOWED> <@SYS> ################################################################ # Map Process ToolsOutputs to Producer Tag ################################################################ <@TODO> ################################################################ # Verify producer Tags parameters # Customized mapping is required for Process Tools ################################################################ OTE(RungComment);

1 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Outputs ################################################################ CPS(ZoneProcessTool1[1].O,EP_GTG01Z1toGA_TGGS01Interlocks.TGGS010.ToPTC,1);

2 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Outputs ################################################################ CPS(ZoneProcessTool1[2].O,EP_GTG01Z1toGA_TGGS01Interlocks.TGGS020.ToPTC,1);

3 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Outputs ################################################################ CPS(ZoneProcessTool1[3].O,EP_GTG01Z1toGA_TGGS02Interlocks.TGGS010.ToPTC,1);

4 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # Map Process Tool 1 Outputs ################################################################ CPS(ZoneProcessTool1[4].O,EP_GTG01Z1toGA_TGGS02Interlocks.TGGS020.ToPTC,1);

| | | | | | | | | | | | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | ROUTINE: B912_MapOutputsTC (I) () | | | | |
DELETED --> 3 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[7],EPOutputsReset,GTG01Z1TC007:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[8],EPOutputsReset,GTG01Z1TC008:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[9],EPOutputsReset,GTG01Z1TC009:O) BND ;

DELETED --> 4 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[10],EPOutputsReset,GTG01Z1TC010:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[11],EPOutputsReset,GTG01Z1TC011:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[12],EPOutputsReset,GTG01Z1TC012:O) BND ;

DELETED --> 5 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[13],EPOutputsReset,GTG01Z1TC013:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[14],EPOutputsReset,GTG01Z1TC014:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[15],EPOutputsReset,GTG01Z1TC015:O) BND ;

DELETED --> 6 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[16],EPOutputsReset,GTG01Z1TC016:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[17],EPOutputsReset,GTG01Z1TC017:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[18],EPOutputsReset,GTG01Z1TC018:O) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[19],EPOutputsReset,GTG01Z1TC019:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[20],EPOutputsReset,GTG01Z1TC020:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[21],EPOutputsReset,GTG01Z1TC021:O) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[22],EPOutputsReset,GTG01Z1TC022:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[23],EPOutputsReset,GTG01Z1TC023:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[24],EPOutputsReset,GTG01Z1TC024:O) BND ;

DELETED --> 9 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[25],EPOutputsReset,GTG01Z1TC025:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[26],EPOutputsReset,GTG01Z1TC026:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[27],EPOutputsReset,GTG01Z1TC027:O) BND ;

DELETED --> 10 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[28],EPOutputsReset,GTG01Z1TC028:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[29],EPOutputsReset,GTG01Z1TC029:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[30],EPOutputsReset,GTG01Z1TC030:O) BND ;

DELETED --> 11 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[31],EPOutputsReset,GTG01Z1TC031:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[32],EPOutputsReset,GTG01Z1TC032:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[33],EPOutputsReset,GTG01Z1TC033:O) BND ;

DELETED --> 12 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[34],EPOutputsReset,GTG01Z1TC034:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[35],EPOutputsReset,GTG01Z1TC035:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[36],EPOutputsReset,GTG01Z1TC036:O) BND ;

DELETED --> 13 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[37],EPOutputsReset,GTG01Z1TC037:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[38],EPOutputsReset,GTG01Z1TC038:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[39],EPOutputsReset,GTG01Z1TC039:O) BND ;

DELETED --> 14 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[40],EPOutputsReset,GTG01Z1TC040:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[41],EPOutputsReset,GTG01Z1TC041:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[42],EPOutputsReset,GTG01Z1TC042:O) BND ;

DELETED --> 15 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[43],EPOutputsReset,GTG01Z1TC043:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[44],EPOutputsReset,GTG01Z1TC044:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[45],EPOutputsReset,GTG01Z1TC045:O) BND ;

DELETED --> 16 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[46],EPOutputsReset,GTG01Z1TC046:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[47],EPOutputsReset,GTG01Z1TC047:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[48],EPOutputsReset,GTG01Z1TC048:O) BND ;

DELETED --> 17 |████████████████████
DELETED RUNG

BST za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[49],EPOutputsReset,GTG01Z1TC049:O) NXB za_EPMultiToolsOutput(TorqueMultiToolOUT,ZoneTorqueTools1,ZoneTorqueController1[50],EPOutputsReset,GTG01Z1TC050:O) BND ;

| | | | | ROUTINE: B991_EPModuleTC (I) (Error Proofing ) | | | | |
DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[7])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC007,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC007,Mode,EPModule.Mode) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[8])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC008,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC008,Mode,EPModule.Mode) BND ;

DELETED --> 9 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[9])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC009,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC009,Mode,EPModule.Mode) BND ;

DELETED --> 10 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[10])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC010,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC010,Mode,EPModule.Mode) BND ;

DELETED --> 11 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[11])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC011,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC011,Mode,EPModule.Mode) BND ;

DELETED --> 12 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[12])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC012,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC012,Mode,EPModule.Mode) BND ;

DELETED --> 13 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[13])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC013,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC013,Mode,EPModule.Mode) BND ;

DELETED --> 14 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[14])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC014,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC014,Mode,EPModule.Mode) BND ;

DELETED --> 15 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[15])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC015,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC015,Mode,EPModule.Mode) BND ;

DELETED --> 16 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[16])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC016,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC016,Mode,EPModule.Mode) BND ;

DELETED --> 17 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[17])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC017,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC017,Mode,EPModule.Mode) BND ;

DELETED --> 18 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[18])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC018,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC018,Mode,EPModule.Mode) BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[19])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC019,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC019,Mode,EPModule.Mode) BND ;

DELETED --> 20 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[20])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC020,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC020,Mode,EPModule.Mode) BND ;

DELETED --> 21 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[21])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC021,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC021,Mode,EPModule.Mode) BND ;

DELETED --> 22 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[22])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC022,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC022,Mode,EPModule.Mode) BND ;

DELETED --> 23 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[23])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC023,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC023,Mode,EPModule.Mode) BND ;

DELETED --> 24 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[24])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC024,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC024,Mode,EPModule.Mode) BND ;

DELETED --> 25 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[25])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC025,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC025,Mode,EPModule.Mode) BND ;

DELETED --> 26 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[26])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC026,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC026,Mode,EPModule.Mode) BND ;

DELETED --> 27 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[27])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC027,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC027,Mode,EPModule.Mode) BND ;

DELETED --> 28 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[28])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC028,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC028,Mode,EPModule.Mode) BND ;

DELETED --> 29 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[29])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC029,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC029,Mode,EPModule.Mode) BND ;

DELETED --> 30 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[30])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC030,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC030,Mode,EPModule.Mode) BND ;

DELETED --> 31 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[31])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC031,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC031,Mode,EPModule.Mode) BND ;

DELETED --> 32 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[32])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC032,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC032,Mode,EPModule.Mode) BND ;

DELETED --> 33 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[33])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC033,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC033,Mode,EPModule.Mode) BND ;

DELETED --> 34 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[34])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC034,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC034,Mode,EPModule.Mode) BND ;

DELETED --> 35 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[35])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC035,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC035,Mode,EPModule.Mode) BND ;

DELETED --> 36 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[36])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC036,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC036,Mode,EPModule.Mode) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 37 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[37])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC037,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC037,Mode,EPModule.Mode) BND ;

DELETED --> 38 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[38])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC038,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC038,Mode,EPModule.Mode) BND ;

DELETED --> 39 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[39])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC039,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC039,Mode,EPModule.Mode) BND ;

DELETED --> 40 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[40])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC040,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC040,Mode,EPModule.Mode) BND ;

DELETED --> 41 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[41])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC041,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC041,Mode,EPModule.Mode) BND ;

DELETED --> 42 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[42])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC042,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC042,Mode,EPModule.Mode) BND ;

DELETED --> 43 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[43])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC043,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC043,Mode,EPModule.Mode) BND ;

DELETED --> 44 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[44])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC044,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC044,Mode,EPModule.Mode) BND ;

DELETED --> 45 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[45])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC045,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC045,Mode,EPModule.Mode) BND ;

DELETED --> 46 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[46])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC046,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC046,Mode,EPModule.Mode) BND ;

DELETED --> 47 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[47])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC047,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC047,Mode,EPModule.Mode) BND ;

DELETED --> 48 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[48])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC048,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC048,Mode,EPModule.Mode) BND ;

DELETED --> 49 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[49])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC049,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC049,Mode,EPModule.Mode) BND ;

DELETED --> 50 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ za_EPTorqueToolInhibitStatus(EPTorqueControllerVSStatus,EPToolAllocation.Size.TAddr,ZoneTorqueController1[50])XIC(EPTorqueControllerVSStatus.outUpdateRequest)BST GSV(Module,GTG01Z1TC050,Mode,EPModule.Mode) NXB XIC(EPTorqueControllerVSStatus.outInhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1TC050,Mode,EPModule.Mode) BND ;

| | | | | ROUTINE: B993_EPModuleBC (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.415><@EDITS ALLOWED> <@SYS> ################################################################ # Inhibit / Uninhibit Modules ################################################################ <@TODO> ################################################################ Verified that all Barcode Scanners are included ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[1].FP,0) NEQ(ZoneBarcode1[1].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[1].FP,0) EQU(ZoneBarcode1[1].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC001,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC001,Mode,EPModule.Mode) BND ;

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[2].FP,0) NEQ(ZoneBarcode1[2].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[2].FP,0) EQU(ZoneBarcode1[2].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC002,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC002,Mode,EPModule.Mode) BND ;

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[3].FP,0) NEQ(ZoneBarcode1[3].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[3].FP,0) EQU(ZoneBarcode1[3].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC003,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC003,Mode,EPModule.Mode) BND ;

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[4].FP,0) NEQ(ZoneBarcode1[4].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[4].FP,0) EQU(ZoneBarcode1[4].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC004,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC004,Mode,EPModule.Mode) BND ;

DELETED --> 5 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[5].FP,0) NEQ(ZoneBarcode1[5].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[5].FP,0) EQU(ZoneBarcode1[5].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC005,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC005,Mode,EPModule.Mode) BND ;

DELETED --> 6 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[6].FP,0) NEQ(ZoneBarcode1[6].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[6].FP,0) EQU(ZoneBarcode1[6].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC006,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC006,Mode,EPModule.Mode) BND ;

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[7].FP,0) NEQ(ZoneBarcode1[7].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[7].FP,0) EQU(ZoneBarcode1[7].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC007,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC007,Mode,EPModule.Mode) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[8].FP,0) NEQ(ZoneBarcode1[8].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[8].FP,0) EQU(ZoneBarcode1[8].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC008,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC008,Mode,EPModule.Mode) BND ;

DELETED --> 9 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[9].FP,0) NEQ(ZoneBarcode1[9].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[9].FP,0) EQU(ZoneBarcode1[9].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC009,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC009,Mode,EPModule.Mode) BND ;

DELETED --> 10 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[10].FP,0) NEQ(ZoneBarcode1[10].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[10].FP,0) EQU(ZoneBarcode1[10].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC010,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC010,Mode,EPModule.Mode) BND ;

DELETED --> 11 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[11].FP,0) NEQ(ZoneBarcode1[11].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[11].FP,0) EQU(ZoneBarcode1[11].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC011,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC011,Mode,EPModule.Mode) BND ;

DELETED --> 12 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[12].FP,0) NEQ(ZoneBarcode1[12].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[12].FP,0) EQU(ZoneBarcode1[12].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC012,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC012,Mode,EPModule.Mode) BND ;

DELETED --> 13 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[13].FP,0) NEQ(ZoneBarcode1[13].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[13].FP,0) EQU(ZoneBarcode1[13].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC013,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC013,Mode,EPModule.Mode) BND ;

DELETED --> 14 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[14].FP,0) NEQ(ZoneBarcode1[14].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[14].FP,0) EQU(ZoneBarcode1[14].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC014,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC014,Mode,EPModule.Mode) BND ;

DELETED --> 15 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[15].FP,0) NEQ(ZoneBarcode1[15].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[15].FP,0) EQU(ZoneBarcode1[15].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC015,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC015,Mode,EPModule.Mode) BND ;

DELETED --> 16 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[16].FP,0) NEQ(ZoneBarcode1[16].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[16].FP,0) EQU(ZoneBarcode1[16].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC016,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC016,Mode,EPModule.Mode) BND ;

DELETED --> 17 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[17].FP,0) NEQ(ZoneBarcode1[17].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[17].FP,0) EQU(ZoneBarcode1[17].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC017,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC017,Mode,EPModule.Mode) BND ;

DELETED --> 18 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[18].FP,0) NEQ(ZoneBarcode1[18].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[18].FP,0) EQU(ZoneBarcode1[18].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC018,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC018,Mode,EPModule.Mode) BND ;

DELETED --> 19 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[19].FP,0) NEQ(ZoneBarcode1[19].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[19].FP,0) EQU(ZoneBarcode1[19].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC019,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC019,Mode,EPModule.Mode) BND ;

DELETED --> 20 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Control Module Inhibit Mode ################################################################ BST EQU(ZoneBarcode1[20].FP,0) NEQ(ZoneBarcode1[20].Comm.EntryStatus,16#6000) OTE(EPModule.Inhibit) NXB GRT(ZoneBarcode1[20].FP,0) EQU(ZoneBarcode1[20].Comm.EntryStatus,16#6000) BND BST GSV(Module,GTG01Z1BC020,Mode,EPModule.Mode) NXB XIC(EPModule.Inhibit) OTE(EPModule.Mode.2) NXB SSV(Module,GTG01Z1BC020,Mode,EPModule.Mode) BND ;

| | | | | ROUTINE: J001_JobDataFPSExit (C) (Footprint JobDat) | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW RUNG

<@VER 1.402><@EDITS ALLOWED> <@SYS> ################################################################ # This Routine Will Be Custom Depending on the Station Style Requirements. # # A station may have more than 1 job data. Each job data must have a # unique name and a unique offset number. ################################################################ <@INFO> ################################################################ # This routine is customized for a Continuous FPS Conveyor # Error Proofing Track Zone Exit footprint. ################################################################ OTE(RungComment);

OLD RUNG

<@VER 1.413><@EDITS ALLOWED> <@SYS> ################################################################ # This Routine Will Be Custom Depending on the Station Style Requirements. # # A station may have more than 1 job data. Each job data must have a # unique name and a unique offset number. ################################################################ <@INFO> ################################################################ # This routine is customized for an Asynchronous Line Stop # ALS Conveyor Error Proofing Track Zone Exit footprint. ################################################################ OTE(RungComment);

| | | | | ROUTINE: V501_Custom01 (I) (Error Proofing C) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.400><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine # This Routine is working with Custom AOI # Sending GEPIC Good to GO to AOI and to the Task ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung ################################################################ OTE(ZoneCustom1[1].CommOK);

DELETED --> 2 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # AOI Active ################################################################ XIC(ZoneCustom1[1].O.Active)BST XIO(VS01.Active) BST DTOS(ZoneCustom1[1].O.PVI,VS01.strPVI) NXB MOV(VS01.strPVI.LEN,ZoneBarcode1[15].OperDisply.Expected[0].LEN) COP(VS01.strPVI.DATA[0],ZoneBarcode1[15].OperDisply.Expected[0].DATA[0],VS01.strPVI.LEN) BND NXB OTE(VS01.Active) BND ;

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Check if Data is Present ################################################################ XIC(VS01.Active)GRT(EPV_VCVS_Stations[2],0)BST OTL(VS01.Started) NXB COP(EPV_VCVS_Stations[2],VS01.Buffer[0],10) BND ;

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Check PVI ################################################################ XIC(VS01.Started)EQU(VS01.strPVI.DATA[0],VS01.Buffer[1])EQU(VS01.strPVI.DATA[1],VS01.Buffer[0])EQU(VS01.strPVI.DATA[2],VS01.Buffer[3])EQU(VS01.strPVI.DATA[3],VS01.Buffer[2])EQU(VS01.strPVI.DATA[4],VS01.Buffer[5])EQU(VS01.strPVI.DATA[5],VS01.Buffer[4])EQU(VS01.strPVI.DATA[6],VS01.Buffer[7])EQU(VS01.strPVI.DATA[7],VS01.Buffer[6])EQU(VS01.strPVI.DATA[8],VS01.Buffer[9])OTE(VS01.MatchVID);

DELETED --> 5 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Check OK to Go - '01' From GEPIC ################################################################ XIC(VS01.MatchVID)EQU(EPV_VCVS_Stations[0],12337)OTE(VS01.ToGo);

DELETED --> 6 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Interlock to Action AOI # Fault Code 5 - Wrong PVI # Fault Code 3 - Duplicate ################################################################ XIC(VS01.Active)BST XIC(VS01.Started) OTE(ZoneCustom1[1].I.Started) NXB XIC(VS01.ToGo) OTE(ZoneCustom1[1].I.Completed) NXB XIC(VS01.Started) XIO(VS01.ToGo) OTE(ZoneCustom1[1].I.Faulted) NXB XIO(VS01.ToGo) XIO(VS01.MatchVID) OTL(ZoneCustom1[1].I.Errors.1) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Leaving Footprint # Reset Tags ################################################################ XIC(ZoneCustom1[1].O.Leaving)BST FLL(0,VS01,1) NXB XIO(ZoneCustom1[1].O.Active) FLL(0,ZoneCustom1[1].I,1) NXB FLL(0,EPV_VCVS_Stations[0],10) BND ;

DELETED --> 8 |████████████████████
DELETED RUNG

XIC(ZoneCustom1[1].O.Leaving)FLL(0,ZoneBarcode1[15].OperDisply.Scan,3);

DELETED --> 9 |████████████████████
DELETED RUNG

XIC(VS01.ToGo)COP(ZoneBarcode1[15].OperDisply.Expected[0],ZoneBarcode1[15].OperDisply.Scan,1);

DELETED --> 10 |████████████████████
DELETED RUNG

XIC(VS01.MatchVID)XIO(VS01.ToGo)COP(strTempVS[1],ZoneBarcode1[15].OperDisply.Scan,1);

| | | | | ROUTINE: V502_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[2].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[2].Comm.OK)OTE(ZoneCustom1[2].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[2].O.Active)OTU(ZoneCustom1[2].I.Faulted)OTU(ZoneCustom1[2].I.Started)OTU(ZoneCustom1[2].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[2].O.Active)za_EPCustomQR(CustomQR[1],ZoneBarcode1[2],ZoneCustom1[2].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[2].O.Active)GRT(CustomQR[1].outResults,0)OTE(ZoneCustom1[2].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[2].O.Active)GEQ(CustomQR[1].outResults,ZoneCustom1[2].O.Config.Data)OTL(ZoneCustom1[2].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[2].FP,0)NEQ(ZoneCustom1[2].FP,0)BST MOV(ZoneCustom1[2].FP,ZoneBarcode1[2].FP) NXB MOV(ZoneCustom1[2].TaskID,ZoneBarcode1[2].TaskID) BND ;

| | | | | ROUTINE: V503_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[3].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[3].Comm.OK)OTE(ZoneCustom1[3].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[3].O.Active)OTU(ZoneCustom1[3].I.Faulted)OTU(ZoneCustom1[3].I.Started)OTU(ZoneCustom1[3].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[3].O.Active)za_EPCustomQR(CustomQR[2],ZoneBarcode1[3],ZoneCustom1[3].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[3].O.Active)GRT(CustomQR[2].outResults,0)OTE(ZoneCustom1[3].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[3].O.Active)GEQ(CustomQR[2].outResults,ZoneCustom1[3].O.Config.Data)OTL(ZoneCustom1[3].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[3].FP,0)NEQ(ZoneCustom1[3].FP,0)BST MOV(ZoneCustom1[3].FP,ZoneBarcode1[3].FP) NXB MOV(ZoneCustom1[3].TaskID,ZoneBarcode1[3].TaskID) BND ;

| | | | | ROUTINE: V504_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[4].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[4].Comm.OK)OTE(ZoneCustom1[4].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[4].O.Active)OTU(ZoneCustom1[4].I.Faulted)OTU(ZoneCustom1[4].I.Started)OTU(ZoneCustom1[4].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[4].O.Active)za_EPCustomQR(CustomQR[3],ZoneBarcode1[4],ZoneCustom1[4].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[4].O.Active)GRT(CustomQR[3].outResults,0)OTE(ZoneCustom1[4].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[4].O.Active)GEQ(CustomQR[3].outResults,ZoneCustom1[4].O.Config.Data)OTL(ZoneCustom1[4].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[4].FP,0)NEQ(ZoneCustom1[4].FP,0)BST MOV(ZoneCustom1[4].FP,ZoneBarcode1[4].FP) NXB MOV(ZoneCustom1[4].TaskID,ZoneBarcode1[4].TaskID) BND ;

| | | | | ROUTINE: V505_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[5].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[5].Comm.OK)OTE(ZoneCustom1[5].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[5].O.Active)OTU(ZoneCustom1[5].I.Faulted)OTU(ZoneCustom1[5].I.Started)OTU(ZoneCustom1[5].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[5].O.Active)za_EPCustomQR(CustomQR[4],ZoneBarcode1[5],ZoneCustom1[5].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[5].O.Active)GRT(CustomQR[4].outResults,0)OTE(ZoneCustom1[5].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[5].O.Active)GEQ(CustomQR[4].outResults,ZoneCustom1[5].O.Config.Data)OTL(ZoneCustom1[5].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[5].FP,0)NEQ(ZoneCustom1[5].FP,0)BST MOV(ZoneCustom1[5].FP,ZoneBarcode1[5].FP) NXB MOV(ZoneCustom1[5].TaskID,ZoneBarcode1[5].TaskID) BND ;

| | | | | ROUTINE: V506_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[6].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[6].Comm.OK)OTE(ZoneCustom1[6].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[6].O.Active)OTU(ZoneCustom1[6].I.Faulted)OTU(ZoneCustom1[6].I.Started)OTU(ZoneCustom1[6].I.Completed);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[6].O.Active)za_EPCustomQR(CustomQR[5],ZoneBarcode1[6],ZoneCustom1[6].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[6].O.Active)GRT(CustomQR[5].outResults,0)OTE(ZoneCustom1[6].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[6].O.Active)GEQ(CustomQR[5].outResults,ZoneCustom1[6].O.Config.Data)OTL(ZoneCustom1[6].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[6].FP,0)NEQ(ZoneCustom1[6].FP,0)BST MOV(ZoneCustom1[6].FP,ZoneBarcode1[6].FP) NXB MOV(ZoneCustom1[6].TaskID,ZoneBarcode1[6].TaskID) BND ;

| | | | | ROUTINE: V507_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[7].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[7].Comm.OK)OTE(ZoneCustom1[7].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[7].O.Active)OTU(ZoneCustom1[7].I.Faulted)OTU(ZoneCustom1[7].I.Started)OTU(ZoneCustom1[7].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[7].O.Active)za_EPCustomQR(CustomQR[6],ZoneBarcode1[7],ZoneCustom1[7].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[7].O.Active)GRT(CustomQR[6].outResults,0)OTE(ZoneCustom1[7].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[7].O.Active)GEQ(CustomQR[6].outResults,ZoneCustom1[7].O.Config.Data)OTL(ZoneCustom1[7].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[7].FP,0)NEQ(ZoneCustom1[7].FP,0)BST MOV(ZoneCustom1[7].FP,ZoneBarcode1[7].FP) NXB MOV(ZoneCustom1[7].TaskID,ZoneBarcode1[7].TaskID) BND ;

| | | | | ROUTINE: V508_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[8].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[8].Comm.OK)OTE(ZoneCustom1[8].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[8].O.Active)OTU(ZoneCustom1[8].I.Faulted)OTU(ZoneCustom1[8].I.Started)OTU(ZoneCustom1[8].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[8].O.Active)za_EPCustomQR(CustomQR[7],ZoneBarcode1[8],ZoneCustom1[8].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[8].O.Active)GRT(CustomQR[7].outResults,0)OTE(ZoneCustom1[8].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[8].O.Active)GEQ(CustomQR[7].outResults,ZoneCustom1[8].O.Config.Data)OTL(ZoneCustom1[8].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[8].FP,0)NEQ(ZoneCustom1[8].FP,0)BST MOV(ZoneCustom1[8].FP,ZoneBarcode1[8].FP) NXB MOV(ZoneCustom1[8].TaskID,ZoneBarcode1[8].TaskID) BND ;

| | | | | ROUTINE: V509_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[9].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[9].Comm.OK)OTE(ZoneCustom1[9].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[9].O.Active)OTU(ZoneCustom1[9].I.Faulted)OTU(ZoneCustom1[9].I.Started)OTU(ZoneCustom1[9].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[9].O.Active)za_EPCustomQR(CustomQR[8],ZoneBarcode1[9],ZoneCustom1[9].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[9].O.Active)GRT(CustomQR[8].outResults,0)OTE(ZoneCustom1[9].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[9].O.Active)GEQ(CustomQR[8].outResults,ZoneCustom1[9].O.Config.Data)OTL(ZoneCustom1[9].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[9].FP,0)NEQ(ZoneCustom1[9].FP,0)BST MOV(ZoneCustom1[9].FP,ZoneBarcode1[9].FP) NXB MOV(ZoneCustom1[9].TaskID,ZoneBarcode1[9].TaskID) BND ;

| | | | | ROUTINE: V510_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[10].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[10].Comm.OK)OTE(ZoneCustom1[10].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[10].O.Active)OTU(ZoneCustom1[10].I.Faulted)OTU(ZoneCustom1[10].I.Started)OTU(ZoneCustom1[10].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[10].O.Active)za_EPCustomQR(CustomQR[9],ZoneBarcode1[10],ZoneCustom1[10].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[10].O.Active)GRT(CustomQR[9].outResults,0)OTE(ZoneCustom1[10].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[10].O.Active)GEQ(CustomQR[9].outResults,ZoneCustom1[10].O.Config.Data)OTL(ZoneCustom1[10].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[10].FP,0)NEQ(ZoneCustom1[10].FP,0)BST MOV(ZoneCustom1[10].FP,ZoneBarcode1[10].FP) NXB MOV(ZoneCustom1[10].TaskID,ZoneBarcode1[10].TaskID) BND ;

| | | | | ROUTINE: V511_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[11].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[11].Comm.OK)OTE(ZoneCustom1[11].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[11].O.Active)OTU(ZoneCustom1[11].I.Faulted)OTU(ZoneCustom1[11].I.Started)OTU(ZoneCustom1[11].I.Completed);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[11].O.Active)za_EPCustomQR(CustomQR[10],ZoneBarcode1[11],ZoneCustom1[11].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[11].O.Active)GRT(CustomQR[10].outResults,0)OTE(ZoneCustom1[11].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[11].O.Active)GEQ(CustomQR[10].outResults,ZoneCustom1[11].O.Config.Data)OTL(ZoneCustom1[11].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[11].FP,0)NEQ(ZoneCustom1[11].FP,0)BST MOV(ZoneCustom1[11].FP,ZoneBarcode1[11].FP) NXB MOV(ZoneCustom1[11].TaskID,ZoneBarcode1[11].TaskID) BND ;

| | | | | ROUTINE: V512_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[12].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[12].Comm.OK)OTE(ZoneCustom1[12].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[12].O.Active)OTU(ZoneCustom1[12].I.Faulted)OTU(ZoneCustom1[12].I.Started)OTU(ZoneCustom1[12].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[12].O.Active)za_EPCustomQR(CustomQR[11],ZoneBarcode1[12],ZoneCustom1[12].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[12].O.Active)GRT(CustomQR[11].outResults,0)OTE(ZoneCustom1[12].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[12].O.Active)GEQ(CustomQR[11].outResults,ZoneCustom1[12].O.Config.Data)OTL(ZoneCustom1[12].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[12].FP,0)NEQ(ZoneCustom1[12].FP,0)BST MOV(ZoneCustom1[12].FP,ZoneBarcode1[12].FP) NXB MOV(ZoneCustom1[12].TaskID,ZoneBarcode1[12].TaskID) BND ;

| | | | | ROUTINE: V513_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[13].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[13].Comm.OK)OTE(ZoneCustom1[13].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[13].O.Active)OTU(ZoneCustom1[13].I.Faulted)OTU(ZoneCustom1[13].I.Started)OTU(ZoneCustom1[13].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[13].O.Active)za_EPCustomQR(CustomQR[12],ZoneBarcode1[13],ZoneCustom1[13].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[13].O.Active)GRT(CustomQR[12].outResults,0)OTE(ZoneCustom1[13].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[13].O.Active)GEQ(CustomQR[12].outResults,ZoneCustom1[13].O.Config.Data)OTL(ZoneCustom1[13].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[13].FP,0)NEQ(ZoneCustom1[13].FP,0)BST MOV(ZoneCustom1[13].FP,ZoneBarcode1[13].FP) NXB MOV(ZoneCustom1[13].TaskID,ZoneBarcode1[13].TaskID) BND ;

| | | | | ROUTINE: V514_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[14].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[14].Comm.OK)OTE(ZoneCustom1[14].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[14].O.Active)OTU(ZoneCustom1[14].I.Faulted)OTU(ZoneCustom1[14].I.Started)OTU(ZoneCustom1[14].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[14].O.Active)za_EPCustomQR(CustomQR[13],ZoneBarcode1[14],ZoneCustom1[14].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[14].O.Active)GRT(CustomQR[13].outResults,0)OTE(ZoneCustom1[14].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[14].O.Active)GEQ(CustomQR[13].outResults,ZoneCustom1[14].O.Config.Data)OTL(ZoneCustom1[14].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[14].FP,0)NEQ(ZoneCustom1[14].FP,0)BST MOV(ZoneCustom1[14].FP,ZoneBarcode1[14].FP) NXB MOV(ZoneCustom1[14].TaskID,ZoneBarcode1[14].TaskID) BND ;

| | | | | ROUTINE: V515_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[15].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[15].Comm.OK)OTE(ZoneCustom1[15].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[15].O.Active)OTU(ZoneCustom1[15].I.Faulted)OTU(ZoneCustom1[15].I.Started)OTU(ZoneCustom1[15].I.Completed);

DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[15].O.Active)za_EPCustomQR(CustomQR[14],ZoneBarcode1[15],ZoneCustom1[15].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[15].O.Active)GRT(CustomQR[14].outResults,0)OTE(ZoneCustom1[15].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[15].O.Active)GEQ(CustomQR[14].outResults,ZoneCustom1[15].O.Config.Data)OTL(ZoneCustom1[15].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[15].FP,0)NEQ(ZoneCustom1[15].FP,0)BST MOV(ZoneCustom1[15].FP,ZoneBarcode1[15].FP) NXB MOV(ZoneCustom1[15].TaskID,ZoneBarcode1[15].TaskID) BND ;

| | | | | ROUTINE: V516_CustomQR (I) (Error Proofing ) | | | | |
DELETED --> 0 |████████████████████
DELETED RUNG

<@VER 1.416><@EDITS ALLOWED> <@SYS> ################################################################ # Custom Routine for Connectors barcode Verification # This routine should be call from Main routine ################################################################ <@INFO> ################################################################ # This Routine uses footprint hand held scanner to scan connectors # Configuration Parameters from UI Provide number of connectors # to be verified # Each Barcode at the connectors has to be unique ################################################################ <@TODO> ################################################################ # Update ZoneCustom Number - must be greater than 0 # Change in routine name XX to number matching ZoneCustom number # Verify Barcode number # Template uses default ZoneCustom 1 ################################################################ OTE(RungComment);

DELETED --> 1 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Initiate Custom routine inputs and error code table ################################################################ <@TODO> ################################################################ # Assign Error Code to Error table in position higher than 1 # At least one has to be greater than 0 ################################################################ XIC(S:FS)FLL(0,ZoneCustom1[16].I,1);

DELETED --> 2 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Verify Barcode Scanner Number ################################################################ XIC(ZoneBarcode1[16].Comm.OK)OTE(ZoneCustom1[16].CommOK);

DELETED --> 3 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Reset Custom Signals when Action is inactive ################################################################ XIO(ZoneCustom1[16].O.Active)OTU(ZoneCustom1[16].I.Faulted)OTU(ZoneCustom1[16].I.Started)OTU(ZoneCustom1[16].I.Completed);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
DELETED --> 4 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # QR Code Verification AOI # Input # ZoneBarcode1 - Scanner used for QR Code # Output # outResults - Number of of 8 characters unique scans ################################################################ <@TODO> ################################################################ # Update Barcode scanner number ################################################################ XIC(ZoneCustom1[16].O.Active)za_EPCustomQR(CustomQR[15],ZoneBarcode1[16],ZoneCustom1[16].O);

DELETED --> 5 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add custom software ################################################################ XIC(ZoneCustom1[16].O.Active)GRT(CustomQR[15].outResults,0)OTE(ZoneCustom1[16].I.Started);

DELETED --> 6 |████████████████████
DELETED RUNG

<@TODO> ################################################################ # Add a condition to the rung for action started ################################################################ XIC(ZoneCustom1[16].O.Active)GEQ(CustomQR[15].outResults,ZoneCustom1[16].O.Config.Data)OTL(ZoneCustom1[16].I.Completed);

DELETED --> 7 |████████████████████
DELETED RUNG

<@INFO> ################################################################ # Enable not defined Scanner ################################################################ <@TODO> ################################################################ # Verify Custom task number # Verify Barcode Scanner number to match AOI ################################################################ EQU(ZoneBarcode1[16].FP,0)NEQ(ZoneCustom1[16].FP,0)BST MOV(ZoneCustom1[16].FP,ZoneBarcode1[16].FP) NXB MOV(ZoneCustom1[16].TaskID,ZoneBarcode1[16].TaskID) BND ;

| | | | | PROGRAM: HMI1 (I+C) (A000_Main ) | | | | | | | | | | ROUTINE: B000_ConfigCommon (I+C) (Adds Diagnostics) | | | | |
3 <------- EDITED (I+C) ------> 3 | | | | |
NEW RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1011]: GTG01Z1HMI1> # BST XIC(HMI.CommOK) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,11,1011,120,15,250,51,kConstant.No,kConstant.No,2,kConstant.No,kConstant.No,1000,1,ENetNetwork1) BND ;

OLD RUNG

<@INFO> ################################################################ The AOI below maps an ethernet device into a network location and adds the device's name into the HMI text list. ################################################################ <@TODO> ################################################################ Program the following for the EnetMapping AOI za_EnetMapping EnetAddressTableLoad tag in_Comm Device's .Comm structure, if it exists. If the device does not have a .Comm structure: Program XIC Device.CommOK to OTE EnetNetworkX.Comm.OK before the AOI Program EnetNetworkX.Comm tag for in_Comm cfgDeviceArrayPosition Enet network array position for this device (1 - 25), do not repeat in one network cfgNameID Text list identifier for this device, must be unique. cfg1stIPAddressOctet 1st Octet of IP address (aaa in aaa.168.1.1) cfg2ndIPAddressOctet 2nd Octet of IP address (bbb in 192.bbb.1.1) cfg3rdIPAddressOctet 3rd Octet of IP address (ccc in 192.168.ccc.1) cfg4thIPAddressOctet 4th Octet of IP address (ddd in 192.168.1.ddd) cfgLinkStatusAvail Set to On state if device is an EnetIP device. kConstant.Yes for PLC enet port, robots, I/O devices, Weld Controllers, Cameras kConstant.No for HMI cfgPLCConnected Set to On state for devices that are in the PLC's I/O Configuration area. kConstant.Yes for all devices in PLC I/O tree. kConstant.No for devices not in this PLC's I/O tree. Weld controller, HMI, Enet switch, etc. cfgAre2PortsConnected Set to On state if two enet cables are connected as part of a linear network, off if one connection. cfgIsAWebPageAvail Set to On state if device has a web page that can be displayed on HMI, off if no. The device must be on a network the HMI can address. The HMI can reach all public addresses (typically 120.x.x.x) and any private addresses (192.168.1.x) where the network connects to the same switch as the HMI. cfgDeviceType Value from 0 to 100,000. See the routine rung comment in MCP - B071_EnetLinkStatusUser for the known devices that require a special Device Type number. Use the following for typical devices: 1000 HMIs 2000 Ethernet switches 3000 PLC Ethernet cards in the same chassis as the PLC (ENxT), use 3000 for generic Enet card Use 10000 for a PLC ethernet card in another chassis or a remote PLC 5000 Robots 10000 I/O modules cfgCommPath This sets the RSLinx (CIP) path to the ethernet card / port. If communication to this device is thru an EN2T, EN3T, etc chassis card - enter the slot number of the card If communication to this device is thru a PLC's built in Enet port (CompactLogix) - enter 0. in_EnetNetwork Add the Ethernet network tag for the device. ################################################################ Program the EnetDeviceNames_TL[Y]: DeviceName as follows: Y = NetworkNumber x1000 + Array location. DeviceName should be device id. For example - AAxx1Rx1. Do not change text list number if the device array location is changed. ################################################################ # # <TL12 ENetDeviceNames_TL[1010]: GTG01Z1HMI1> # BST XIC(HMI.CommOK) OTE(ENetNetwork1.Comm.OK) NXB za_EnetMapping(EnetAddressTableLoad,ENetNetwork1.Comm,10,1010,120,15,234,34,kConstant.No,kConstant.No,2,kConstant.No,kConstant.No,1000,1,ENetNetwork1) BND ;

| | | | | ROUTINE: B301_ConfigEPStatus (I) (HMI Error Proofi) | | | | |
3 <------- EDITED (I) --------> 3 | | | | |
NEW RUNG

BST XIC(CG_GTG01Z1Controller.Comm.OK) BST OTE(ScnEPCommon.O.Conv.0) NXB XIC(ConvStatus.AtFPS) OTE(ScnEPCommon.O.Conv.1) NXB XIC(ConvStatus.StoppedByERP) OTE(ScnEPCommon.O.Conv.2) NXB XIC(ConvStatus.Running) OTE(ScnEPCommon.O.Conv.3) BND NXB XIC(SimStatus.InSimMode) OTE(ScnEPCommon.O.Conv.4) BND ;

OLD RUNG

BST XIC(CG_GTG01Controller.Comm.OK) BST OTE(ScnEPCommon.O.Conv.0) NXB XIC(ConvStatus.AtFPS) OTE(ScnEPCommon.O.Conv.1) NXB XIC(ConvStatus.StoppedByERP) OTE(ScnEPCommon.O.Conv.2) NXB XIC(ConvStatus.Running) OTE(ScnEPCommon.O.Conv.3) BND NXB XIC(SimStatus.InSimMode) OTE(ScnEPCommon.O.Conv.4) BND ;

| | | | | ROUTINE: B303_ConfigEPTools (I) (HMI Error Proofi) | | | | |
7 <------- EDITED (I) --------> 7 |████| | | |
NEW RUNG

<@INFO> ################################################################ # Change of the Station # New screen initiated ################################################################ BST BST XIC(EPToolsScr.Status.PbPgDn) LES(EPToolsScr.StationIndex,FPNumber) BST ADD(EPToolsScr.StationIndex,1,EPToolsScr.StationIndex) NXB EQU(EPToolsScr.StationIndex,3) ADD(EPToolsScr.StationIndex,1,EPToolsScr.StationIndex) BND NXB XIC(EPToolsScr.Status.PbPgUp) GRT(EPToolsScr.StationIndex,1) BST SUB(EPToolsScr.StationIndex,1,EPToolsScr.StationIndex) NXB EQU(EPToolsScr.StationIndex,3) SUB(EPToolsScr.StationIndex,1,EPToolsScr.StationIndex) BND BND CLR(EPToolsScr.CurrentScreen) NXB XIC(EPToolsScr.Status.PbDn) ADD(EPToolsScr.CurrentScreen,1,EPToolsScr.CurrentScreen) NXB XIC(EPToolsScr.Status.PbUp) GRT(EPToolsScr.CurrentScreen,0) SUB(EPToolsScr.CurrentScreen,1,EPToolsScr.CurrentScreen) BND OTL(EPToolsScr.Status.NewScreen);

OLD RUNG

<@INFO> ################################################################ # Change of the Station # New screen initiated ################################################################ BST BST XIC(EPToolsScr.Status.PbPgDn) LES(EPToolsScr.StationIndex,FPNumber) ADD(EPToolsScr.StationIndex,1,EPToolsScr.StationIndex) NXB XIC(EPToolsScr.Status.PbPgUp) GRT(EPToolsScr.StationIndex,1) SUB(EPToolsScr.StationIndex,1,EPToolsScr.StationIndex) BND CLR(EPToolsScr.CurrentScreen) NXB XIC(EPToolsScr.Status.PbDn) ADD(EPToolsScr.CurrentScreen,1,EPToolsScr.CurrentScreen) NXB XIC(EPToolsScr.Status.PbUp) GRT(EPToolsScr.CurrentScreen,0) SUB(EPToolsScr.CurrentScreen,1,EPToolsScr.CurrentScreen) BND OTL(EPToolsScr.Status.NewScreen);

| | | | | ROUTINE: B602_ExtMsgLog (I) (Maps External Me) | | | | |
4 <------- EDITED (I) --------> 4 | | | | |
NEW RUNG

<@TODO> ################################################################ # Call the routines that display the core log data for the External Messages. # Add a JSR call to zP9602_ExtMsgLog04 for 1 or more External Messages. # Add a JSR call to zP9602_ExtMsgLog08 for 5 more External Messages. # Add a JSR call to zP9602_ExtMsgLog12 for 9 or more External Messages. # Additional routines will be required for more than 12 External Messages. ################################################################ BST JSR(zP9602_ExtMsgLog04,0) NXB XIC(AlwaysOff) JSR(zP9602_ExtMsgLog08,0) NXB XIC(AlwaysOff) JSR(zP9602_ExtMsgLog12,0) BND ;

OLD RUNG

<@TODO> ################################################################ # Call the routines that display the core log data for the External Messages. # Add a JSR call to zP9602_ExtMsgLog04 for 1 or more External Messages. # Add a JSR call to zP9602_ExtMsgLog08 for 5 more External Messages. # Add a JSR call to zP9602_ExtMsgLog12 for 9 or more External Messages. # Additional routines will be required for more than 12 External Messages. ################################################################ BST JSR(zP9602_ExtMsgLog04,0) NXB JSR(zP9602_ExtMsgLog08,0) NXB XIC(AlwaysOff) JSR(zP9602_ExtMsgLog12,0) BND ;

| | | | | ROUTINE: B603_ConfigODDHMI_EP (I)(Maps ODD/GEPICST) | | | | |
2 <------- EDITED (I) --------> 2 | | | | |
NEW RUNG

<@INFO> ################################################################ # This rung calls up engine logic for displaying common & screen specific data. ################################################################ <@TODO> ################################################################ # Add XIC(ODD1AppX.StaSelected) in parallel for each GEPICS or ODD instance. # Delete the branch with XIC(TBD). ################################################################ XIC(ODD1App1.StaSelected)XIO(S:FS)BST JSR(P9603_ODDCommon_v2,0) NXB JSR(P9600_ODDMain_v2,0) NXB JSR(P9601_ODDDiagnostic_v2,0) NXB JSR(P9602_ODDLog_v2,0) BND JSR(zP001_GotoODDScreens,0);

OLD RUNG

<@INFO> ################################################################ # This rung calls up engine logic for displaying common & screen specific data. ################################################################ <@TODO> ################################################################ # Add XIC(ODD1AppX.StaSelected) in parallel for each GEPICS or ODD instance. # Delete the branch with XIC(TBD). ################################################################ BST XIC(ODD1App1.StaSelected) NXB XIC(TBD) BND XIO(S:FS)BST JSR(P9603_ODDCommon_v2,0) NXB JSR(P9600_ODDMain_v2,0) NXB JSR(P9601_ODDDiagnostic_v2,0) NXB JSR(P9602_ODDLog_v2,0) BND JSR(zP001_GotoODDScreens,0);

| | | | | PROGRAM: PFE (I) (A000_Main ) | | | | | | | | | | ROUTINE: B004_Parameters (I) (Sets Program Par) | | | | |
9 <------- EDITED (I) --------> 9 | | | | |
NEW RUNG

<@TODO> ################################################################ # Load the correct values into the PFEUser.PLCName # # The PLCName MUST be unique within the plant, duplicates are NOT allowed. # Include the proper Bxx, Pxx, etc. to insure that the name is not duplicated # within the plant. ################################################################ FLL(0,PFEUser.PLCName[0],16)BST MOV(69,PFEUser.PLCName[0]) NXB MOV(80,PFEUser.PLCName[1]) NXB MOV(95,PFEUser.PLCName[2]) NXB MOV(71,PFEUser.PLCName[3]) NXB MOV(84,PFEUser.PLCName[4]) NXB MOV(71,PFEUser.PLCName[5]) NXB MOV(48,PFEUser.PLCName[6]) NXB MOV(49,PFEUser.PLCName[7]) NXB MOV(90,PFEUser.PLCName[8]) NXB MOV(49,PFEUser.PLCName[9]) BND ;

OLD RUNG

<@TODO> ################################################################ # Load the correct values into the PFEUser.PLCName # # The PLCName MUST be unique within the plant, duplicates are NOT allowed. # Include the proper Bxx, Pxx, etc. to insure that the name is not duplicated # within the plant. ################################################################ FLL(0,PFEUser.PLCName[0],16)BST MOV(69,PFEUser.PLCName[0]) NXB MOV(80,PFEUser.PLCName[1]) NXB MOV(95,PFEUser.PLCName[2]) NXB MOV(71,PFEUser.PLCName[3]) NXB MOV(65,PFEUser.PLCName[4]) NXB MOV(99,PFEUser.PLCName[5]) NXB MOV(49,PFEUser.PLCName[6]) NXB MOV(84,PFEUser.PLCName[7]) NXB MOV(90,PFEUser.PLCName[8]) NXB MOV(49,PFEUser.PLCName[9]) BND ;

| | | | | PROGRAM: uSimConv (I) (A000_Main ) | | | | | | | | | | ROUTINE: A000_Main (I) (Main Control Rou) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

<@VER 1.416><@EDITS ALLOWED> <@INFO> ################################################################ # A000_Main is the first routine to execute in the program, it calls the other # routines in the order listed below ################################################################ OTE(RungComment);

1 <--- INSERTED |████████████████████
INSERTED RUNG

******************************************************************** Simulate Conveyor Interlocks Enable Bits ******************************************************************* OTL(Enable_LampTest_Shift)OTU(Disable_FPS_Delay);

2 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)JSR(B001_MapInterlocks,0);

3 <--- INSERTED |████████████████████
INSERTED RUNG

********************************************************************************************** Clear all Conveyor Interlocks ********************************************************************************************** XIO(_HTI.0)ONS(OneShot.1)BST OTU(LineTrackingID1.IDSW1) OTU(LineTrackingID1.IDSW2) OTU(FPEntryFromConveyor.FPS) OTU(FPEntryFromConveyor.Entering) OTU(FPEntryFromConveyor.Leaving) NXB OTU(FP001FromConveyor.Entering) OTU(FP001FromConveyor.FPS) OTU(FP001FromConveyor.Leaving) NXB OTU(FP002FromConveyor.Entering) OTU(FP002FromConveyor.FPS) OTU(FP002FromConveyor.Leaving) NXB OTU(BF001FromConveyor.Entering) OTU(BF001FromConveyor.FPS) OTU(BF001FromConveyor.Leaving) NXB OTU(FP003FromConveyor.Entering) OTU(FP003FromConveyor.FPS) OTU(FP003FromConveyor.Leaving) NXB OTU(FPEntryFromConveyor.Running) OTU(FP001FromConveyor.Running) OTU(FP002FromConveyor.Running) OTU(BF001FromConveyor.Running) OTU(FP003FromConveyor.Running) BND ;

4 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(_HTI.0)OTU(Enable_LampTest_Shift);

5 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(Enable_LampTest_Shift)BST OTU(Shift_ODDtoFPEntry) OTU(Shift_FPS.0) OTU(Set_ScanComplete) OTU(Shift_ODDorEntrytoFP01) OTU(Shift_FPS.0) NXB OTU(Shift_FP01toFP02) OTU(Shift_FPS.1) OTU(Shift_FP02toBF01) OTU(Shift_FPS.2) OTU(Shift_BF01toFP03) OTU(Shift_FPS.3) OTU(Shift_FP03toExit) OTU(Shift_FPS.4) BND ;

6 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(_HTI.1)OTU(Shift_ODDtoFPEntry)OTU(Shift_FPS.0);

7 <--- INSERTED |████████████████████
INSERTED RUNG

BST XIO(_HTI.20) OTU(_HTI.21) OTU(_HTI.22) OTU(_HTI.23) OTU(_HTI.24) OTU(_HTI.25) OTU(_HTI.26) RES(_FP02Task5) RES(_FP02Task6) NXB XIO(_HTI.10) OTU(_HTI.11) OTU(_HTI.12) OTU(_HTI.13) OTU(_HTI.14) BND ;

| | | | | ROUTINE: B001_MapInterlocks (I) () | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

<@VER 1.440><@EDITS ALLOWED> <@INFO> ################################################################ # B001_MapInterlocks # Simulate Conveyor Interlocks Mapping ################################################################ OTE(RungComment);

1 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(Enable_LampTest_Shift)BST XIC(Conveyor_FPS.0) XIC(Set_ScanCompleteToggle) NXB XIO(_HTI.1) BND XIC(Conveyor_FPS.1)BST XIC(Set_ScanCompleteToggle) NXB XIC(_HTI.1) BND XIC(Conveyor_FPS.2)XIC(Conveyor_FPS.3)XIC(Conveyor_FPS.4)NOP();

2 <--- INSERTED |████████████████████
INSERTED RUNG

BST XIC(TrackingImage1[0].JobData.Data.Present) NXB XIC(TrackingBuffer1[0].JobData.Data.Present) BND XIO(JobID1WorkComplete)BST XIC(TrackingImage1[1].JobData.Data.Present) NXB XIC(TrackingBuffer1[1].JobData.Data.Present) BND BST XIC(TrackingImage1[2].JobData.Data.Present) NXB XIC(TrackingBuffer1[2].JobData.Data.Present) BND BST XIC(TrackingImage1[3].JobData.Data.Present) NXB XIC(TrackingBuffer1[3].JobData.Data.Present) BND BST XIC(TrackingImage1[4].JobData.Data.Present) NXB XIC(TrackingBuffer1[4].JobData.Data.Present) BND BST XIC(GTG01Z1ConvStatus.OkayToTransfer) NXB XIC(GTG01Z1ConvStatus.OkayToRun) NXB XIC(GTG01Z1ConvStatus.AllTasksComp) BND NOP();

3 <--- INSERTED |████████████████████
INSERTED RUNG

************************************************************************** Bypass Conveyor Interlocks ************************************************************************** XIC(_HTI.0)XIC(_HTI.1)BST XIO(Enable_LampTest_Shift) XIC(Conveyor_FPS.0) NXB XIC(Enable_LampTest_Shift) XIC(Shift_FPS.0) BND OTE(FPEntry_FPS);

4 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST XIO(Enable_LampTest_Shift) XIC(Conveyor_FPS.1) NXB XIC(Enable_LampTest_Shift) XIC(Shift_FPS.1) BND OTE(FP01_FPS);

5 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST BST XIC(Set_ScanCompleteToggle) NXB XIC(Set_ScanComplete) NXB XIC(Set_LTCScanComplete) BND XIO(JobID1WorkComplete) XIO(TrackingBuffer1[0].JobData.Data.Present) OTE(Set_LTCScanComplete) NXB XIC(JobID1WorkComplete) OTU(Set_ScanCompleteToggle) BND ;

6 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Set_LTCScanComplete)NEQ(TrackingImage1[0].JobData.Data.VID,0)COP(TrackingImage1[0].JobData.Data.VID,LineTrackingID1.MainScan1.VID,1)OTE(_HTI.9);

7 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST XIO(Enable_LampTest_Shift) XIC(Conveyor_FPS.2) NXB XIC(Enable_LampTest_Shift) XIC(Shift_FPS.2) BND OTE(FP02_FPS);

8 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST XIO(Enable_LampTest_Shift) XIC(Conveyor_FPS.3) NXB XIC(Enable_LampTest_Shift) XIC(Shift_FPS.3) BND OTE(BF01_FPS);

9 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST XIO(Enable_LampTest_Shift) XIC(Conveyor_FPS.4) NXB XIC(Enable_LampTest_Shift) XIC(Shift_FPS.4) BND OTE(FP03_FPS);

10 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(Enable_LampTest_Shift)OTU(Shift_FPS.0)OTU(Shift_FPS.1)OTU(Shift_FPS.2)OTU(Shift_FPS.3)OTU(Shift_FPS.4);

11 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)XIO(Toggle_Leaving)BST XIO(FPEntry_FPS) TON(FPEntry_Leaving_Dwell,,) XIO(FPEntry_Leaving_Dwell.DN) OTE(FPEntry_Leaving) NXB XIO(FP01_FPS) TON(FP01_Leaving_Dwell,,) XIO(FP01_Leaving_Dwell.DN) OTE(FP01_Leaving) NXB XIO(FP02_FPS) TON(FP02_Leaving_Dwell,,) XIO(FP02_Leaving_Dwell.DN) OTE(FP02_Leaving) NXB XIO(BF01_FPS) TON(BF01_Leaving_Dwell,,) XIO(BF01_Leaving_Dwell.DN) OTE(BF01_Leaving) NXB XIO(FP03_FPS) TON(FP03_Leaving_Dwell,,) XIO(FP03_Leaving_Dwell.DN) OTE(FP03_Leaving) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
12 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST XIO(EP1Cell.Req.LampTest) NXB XIC(ShiftEnable) BND XIO(Shift_ODDorEntrytoFP01)XIO(Set_ScanComplete)XIO(Shift_ODDtoFPEntry)XIO(Shift_FP01toFP02)XIO(Shift_FP02toBF01)XIO(Shift_BF01toFP03)XIO(Shift_FP03toExit)OTE(ShiftEnable);

13 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.1)XIC(Enable_LampTest_Shift)BST XIO(EP1Cell.Req.LampTest) XIC(Shift_FPS.0) OTU(Shift_ODDtoFPEntry) NXB XIC(Shift_ODDtoFPEntry) XIO(Shift_FPS.0) TON(Shift_ODDtoFPEntry_Dwell,,) XIC(Shift_ODDtoFPEntry_Dwell.DN) OTL(Shift_FPS.0) NXB XIC(ShiftEnable) XIO(Shift_FPS.0) XIO(Shift_FPS.1) XIO(Shift_FPS.2) XIO(Shift_FPS.3) XIO(Shift_FPS.4) XIO(TrackingImage1[0].JobData.Data.Present) XIO(TrackingImage1[1].JobData.Data.Present) XIC(EP1Cell.Req.LampTest) ONS(Shift_OneShot.0) OTL(Shift_ODDtoFPEntry) BND ;

14 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Enable_LampTest_Shift)BST XIO(EP1Cell.Req.LampTest) XIC(Shift_FPS.1) OTU(Shift_ODDorEntrytoFP01) NXB XIC(Shift_ODDorEntrytoFP01) XIO(Shift_FPS.1) BST TON(Shift_EntrytoFP01_Dwell,,) XIC(Shift_EntrytoFP01_Dwell.DN) OTL(Shift_FPS.1) NXB OTU(Shift_FPS.0) BND NXB XIC(ShiftEnable) BST XIC(_HTI.1) XIC(Shift_FPS.0) XIC(TrackingImage1[0].JobData.Data.Present) XIC(JobID1WorkComplete) NXB XIO(_HTI.1) XIO(TrackingImage1[0].JobData.Data.Present) XIO(JobID1WorkComplete) BND XIO(Shift_FPS.1) XIO(Shift_FPS.2) XIO(Shift_FPS.3) XIO(Shift_FPS.4) XIO(TrackingImage1[1].JobData.Data.Present) XIC(EP1Cell.Req.LampTest) ONS(Shift_OneShot.1) OTL(Shift_ODDorEntrytoFP01) BND ;

15 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Enable_LampTest_Shift)BST XIO(EP1Cell.Req.LampTest) BST XIC(_HTI.1) XIC(Shift_FPS.0) XIC(JobID1WorkComplete) NXB XIO(_HTI.1) XIC(Shift_FPS.1) BST XIC(TrackingBuffer1[0].JobData.Data.Present) NXB XIC(TrackingImage1[1].JobData.Data.Present) BND BND OTU(Set_ScanComplete) NXB XIC(ShiftEnable) BST XIC(_HTI.1) XIC(Shift_FPS.0) NXB XIO(_HTI.1) XIC(Shift_FPS.1) XIO(TrackingBuffer1[0].JobData.Data.Present) XIO(TrackingImage1[1].JobData.Data.Present) BND XIO(JobID1WorkComplete) XIC(TrackingImage1[0].JobData.Data.Present) XIO(Shift_FPS.2) XIO(Shift_FPS.3) XIO(Shift_FPS.4) XIC(EP1Cell.Req.LampTest) ONS(Shift_OneShot.2) OTL(Set_ScanComplete) BND ;

16 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Enable_LampTest_Shift)BST XIO(EP1Cell.Req.LampTest) XIC(Shift_FPS.2) OTU(Shift_FP01toFP02) NXB XIC(Shift_FP01toFP02) XIO(Shift_FPS.2) BST XIO(Shift_FPS.1) TON(Shift_FP01toFP02_Dwell,,) XIC(Shift_FP01toFP02_Dwell.DN) OTL(Shift_FPS.2) NXB OTU(Shift_FPS.1) BND NXB XIC(ShiftEnable) XIC(Shift_FPS.1) XIC(TrackingImage1[1].JobData.Data.Present) XIO(Set_ScanComplete) XIO(Shift_FPS.2) XIC(EP1Cell.Req.LampTest) ONS(Shift_OneShot.3) OTL(Shift_FP01toFP02) BND ;

17 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Enable_LampTest_Shift)BST XIO(EP1Cell.Req.LampTest) XIC(Shift_FPS.3) OTU(Shift_FP02toBF01) NXB XIC(Shift_FP02toBF01) XIO(Shift_FPS.3) BST XIO(Shift_FPS.2) TON(Shift_FP02toBF01_Dwell,,) XIC(Shift_FP02toBF01_Dwell.DN) OTL(Shift_FPS.3) NXB OTU(Shift_FPS.2) BND NXB XIC(ShiftEnable) XIC(Shift_FPS.2) XIO(Shift_FPS.3) XIC(EP1Cell.Req.LampTest) ONS(Shift_OneShot.4) OTL(Shift_FP02toBF01) BND ;

18 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Enable_LampTest_Shift)BST XIO(EP1Cell.Req.LampTest) XIC(Shift_FPS.4) OTU(Shift_BF01toFP03) NXB XIC(Shift_BF01toFP03) XIO(Shift_FPS.4) BST XIO(Shift_FPS.3) TON(Shift_FP03_Dwell,,) XIC(Shift_FP03_Dwell.DN) OTL(Shift_FPS.4) NXB OTU(Shift_FPS.3) BND NXB XIC(ShiftEnable) XIC(Shift_FPS.3) XIO(Shift_FPS.4) XIC(EP1Cell.Req.LampTest) ONS(Shift_OneShot.5) OTL(Shift_BF01toFP03) BND ;

19 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Enable_LampTest_Shift)BST XIO(EP1Cell.Req.LampTest) XIO(Shift_FPS.4) OTU(Shift_FP03toExit) NXB XIC(Shift_FP03toExit) OTU(Shift_FPS.4) NXB XIC(ShiftEnable) XIC(Shift_FPS.4) XIC(EP1Cell.Req.LampTest) ONS(Shift_OneShot.6) OTL(Shift_FP03toExit) BND ;

20 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST BST XIC(_HTI.1) XIC(FPEntry_FPS) NXB XIO(_HTI.1) XIC(FP01_FPS) BND TON(FPEntryEnteringDwell,,) BST BST XIC(FPEntryEnteringDwell.EN) XIO(FPEntryEnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FPEntryFromConveyor.Entering) NXB BST XIC(FPEntryEnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FPEntryFromConveyor.FPS) XIO(Disable_FPS_Delay) OTU(FPEntryFromConveyor.Entering) BND NXB BST XIC(_HTI.1) XIO(FPEntry_FPS) NXB XIO(_HTI.1) XIO(FP01_FPS) BND OTU(FPEntryFromConveyor.Entering) OTU(FPEntryFromConveyor.FPS) NXB BST BST XIC(_HTI.1) XIC(FPEntry_Leaving) NXB XIO(_HTI.1) XIC(FP01_Leaving) BND OTL(FPEntryFromConveyor.Leaving) NXB BST XIC(_HTI.1) XIO(FPEntry_Leaving) NXB XIO(_HTI.1) XIO(FP01_Leaving) BND OTU(FPEntryFromConveyor.Leaving) BND BND ;

21 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST BST XIC(FP01_FPS) TON(FP001EnteringDwell,,) BST BST XIC(FP001EnteringDwell.EN) XIO(FP001EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FP001FromConveyor.Entering) NXB BST XIC(FP001EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FP001FromConveyor.FPS) XIO(Disable_FPS_Delay) OTU(FP001FromConveyor.Entering) BND NXB XIO(FP01_FPS) OTU(FP001FromConveyor.Entering) OTU(FP001FromConveyor.FPS) BND NXB BST XIC(FP01_Leaving) OTL(FP001FromConveyor.Leaving) NXB XIO(FP01_Leaving) OTU(FP001FromConveyor.Leaving) BND BND ;

22 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST BST XIC(FP02_FPS) TON(FP002EnteringDwell,,) BST BST XIC(FP002EnteringDwell.EN) XIO(FP002EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FP002FromConveyor.Entering) NXB BST XIC(FP002EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FP002FromConveyor.FPS) XIO(Disable_FPS_Delay) OTU(FP002FromConveyor.Entering) BND NXB XIO(FP02_FPS) OTU(FP002FromConveyor.Entering) OTU(FP002FromConveyor.FPS) BND NXB BST XIC(FP02_Leaving) OTL(FP002FromConveyor.Leaving) NXB XIO(FP02_Leaving) OTU(FP002FromConveyor.Leaving) BND BND ;

23 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST BST XIC(BF01_FPS) TON(BF001EnteringDwell,,) BST BST XIC(BF001EnteringDwell.EN) XIO(BF001EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(BF001FromConveyor.Entering) NXB BST XIC(BF001EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(BF001FromConveyor.FPS) XIO(Disable_FPS_Delay) OTU(BF001FromConveyor.Entering) BND NXB XIO(BF01_FPS) OTU(BF001FromConveyor.Entering) OTU(BF001FromConveyor.FPS) BND NXB BST XIC(BF01_Leaving) OTL(BF001FromConveyor.Leaving) NXB XIO(BF01_Leaving) OTU(BF001FromConveyor.Leaving) BND BND ;

24 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST BST XIC(FP03_FPS) TON(FP003EnteringDwell,,) BST BST XIC(FP003EnteringDwell.EN) XIO(FP003EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FP003FromConveyor.Entering) NXB BST XIC(FP003EnteringDwell.DN) NXB XIC(Disable_FPS_Delay) BND OTL(FP003FromConveyor.FPS) XIO(Disable_FPS_Delay) OTU(FP003FromConveyor.Entering) BND NXB XIO(FP03_FPS) OTU(FP003FromConveyor.Entering) OTU(FP003FromConveyor.FPS) BND NXB BST XIC(FP03_Leaving) OTL(FP003FromConveyor.Leaving) NXB XIO(FP03_Leaving) OTU(FP003FromConveyor.Leaving) BND BND ;

25 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)OTL(FPEntryFromConveyor.Running)OTL(FP001FromConveyor.Running)OTL(FP002FromConveyor.Running)OTL(BF001FromConveyor.Running)OTL(FP003FromConveyor.Running);

26 <--- INSERTED |████████████████████
INSERTED RUNG

<@INFO> ################################################################ # When the Job is Leaving FPS, Copy the Footprint's # Job Data, Build Data & Backup Data To the Next Buffer. # Clear this Footprint's Job Data, Build Data & Backup Data. ################################################################ BST XIC(EnterData_Toggle.0) COP(SaveJobData,Jobdata,1) COP(SaveBuildData,BuildData,1) NXB XIC(EnterData_Toggle.1) COP(Jobdata,FPEntryJobdata,1) COP(BuildData,FPEntryBuildData,1) BND ;

27 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(TrackingImage1[0].JobData.Data.Present)ONS(OneShot.0)ADD(FPEntryJobdata.VID,1,FPEntryJobdata.VID);

28 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(_HTI.2)XIC(_HTI.0)XIO(TrackingImage1[0].JobData.Data.Present)COP(FPEntryBuildData,GEPICS1_ODD1App.Curr.Data[1].BldRec.BuildData,1)COP(FPEntryJobdata,GEPICS1_ODD1App.Curr.Jobdata,1);

29 <--- INSERTED |████████████████████
INSERTED RUNG

BST XIC(_HTI.1) XIC(FPEntry_FPS) NXB XIO(_HTI.1) XIC(FP01_FPS) BND OTE(Enable_LineTrackingSwitches);

30 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(_HTI.0)BST XIC(Enable_LineTrackingSwitches) OTL(LineTrackingID1.IDSW1) OTL(LineTrackingID1.IDSW2) NXB XIO(Enable_LineTrackingSwitches) OTU(LineTrackingID1.IDSW1) OTU(LineTrackingID1.IDSW2) BND ;

31 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(1000,EnteringDwell_Constant)MOV(1000,Leaving_Constant)MOV(1000,Shift_Dwell_Constant);

32 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(EnteringDwell_Constant,FPEntryEnteringDwell.PRE)MOV(EnteringDwell_Constant,FP001EnteringDwell.PRE)MOV(EnteringDwell_Constant,FP002EnteringDwell.PRE)MOV(EnteringDwell_Constant,BF001EnteringDwell.PRE)MOV(EnteringDwell_Constant,FP003EnteringDwell.PRE);

33 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(Shift_Dwell_Constant,Shift_ODDtoFPEntry_Dwell.PRE)MOV(Shift_Dwell_Constant,Shift_EntrytoFP01_Dwell.PRE)MOV(Shift_Dwell_Constant,Shift_FP01toFP02_Dwell.PRE)MOV(Shift_Dwell_Constant,Shift_FP02toBF01_Dwell.PRE)MOV(Shift_Dwell_Constant,Shift_FP03_Dwell.PRE);

34 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(Leaving_Constant,FPEntry_Leaving_Dwell.PRE)MOV(Leaving_Constant,FP01_Leaving_Dwell.PRE)MOV(Leaving_Constant,FP02_Leaving_Dwell.PRE)MOV(Leaving_Constant,BF01_Leaving_Dwell.PRE)MOV(Leaving_Constant,FP03_Leaving_Dwell.PRE);

| | | | | PROGRAM: prgAPI (I) (Application Prog) | | | | | | | | | | ROUTINE: ladAPI_Fault (I) (Fault Handler fo) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

A P I F A U L T H A N D L E R ------------------------------------ Subsystem faulted the processor. OTL(API.Event[2].Flag)GSV(Program,THIS,MAJORFAULTRECORD,API_Fault.TimeLow);

1 <--- INSERTED |████████████████████
INSERTED RUNG

As soon as the DGN Event Log is available, Log Event. XIC(API.Event[2].Flag)XIO(API_EventData.Event.Semaphore)BST COP(API.Event[2],API_EventData.Event,1) NXB MOV(API_Fault.Type,API_EventData.Object) NXB MOV(API_Fault.Code,API_EventData.Data) NXB MOV(API_Fault.Info[0],API_EventData.Value) NXB OTU(API.Event[2].Flag) BND ;

2 <--- INSERTED |████████████████████
INSERTED RUNG

Use CLR_Fault tag to clear the fault, maintaining data until it can be logged. XIO(API.CTL.DS_FaultHandlers)COP(API_Fault,API_ClearFault,1)BST MOV(0,API_ClearFault.Type) NXB MOV(0,API_ClearFault.Code) NXB SSV(Program,THIS,MAJORFAULTRECORD,API_ClearFault.TimeLow) BND ;

| | | | | ROUTINE: ladAPI_Init (I) (Initialization r) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

A P I C O N F I G U R A T I O N ---------------------------------------------- v1.0.0 (1) - initial Alpha Release v1.0.0 (2) - added Tracking Snapshot Save/Restore to Start/Abort of Simulation v1.0.0 (4) - added EMPTY Track Zone Command v1.0.13 (1) - added CLEAR QDX and CLEAR VCX Commands v2.0.0 (1) - added SAVE/RESTORE/CAPTURE to match EPP Version -- NOTE: This requires the v2.0.0 version of the Control App. v2.0.0 (3) - added EPP enhancements from v1.0.2 App. v2.0.0 (9) - added EPP enhancements from v1.0.3 App. v2.0.1 (9) - added support for Snap-Shot Timestamps. v2.0.1 (9) - corrected SIM TOGGLE for ALS, AGV, CTL Mode Bits. v3.0.0 (1) - updated version, changed heartbeat rate. v3.0.0 (3) - Added support for ODD Simulation. MOV(3,API.Version.Major)MOV(0,API.Version.Minor)MOV(0,API.Version.Release)MOV(3,API.Version.Build);

1 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_Semaphore.Erasing,API.Semaphore);

2 <--- INSERTED |████████████████████
INSERTED RUNG

{DHF#899} -- Create a tag in coded order of the entire ASCII character set for use as constants. FOR(rtnAPI_ASCII,i,0,255,1)COP(ASCIN[0],ASCII,1);

3 <--- INSERTED |████████████████████
INSERTED RUNG

Generate one generic list of constants for initializing all other type enumerations. FOR(rtnAPI_InitEnum,_i,0,255,1);

4 <--- INSERTED |████████████████████
INSERTED RUNG

Define Conveyor Type enumeration. COP(API_Enum32[0],API_State,1);

5 <--- INSERTED |████████████████████
INSERTED RUNG

Define Subsystem State enumeration. COP(API_Enum32[0],API_ConveyorType,1);

6 <--- INSERTED |████████████████████
INSERTED RUNG

Define Simulation State enumeration. COP(API_Enum32[0],API_SimState,1);

7 <--- INSERTED |████████████████████
INSERTED RUNG

Define Simulation Response enumeration. COP(API_Enum32[0],API_SimResponse,1);

8 <--- INSERTED |████████████████████
INSERTED RUNG

v3.0.0a1 -- faster heartbeat for App detection of change. MOV(500,Pulse.PRE);

9 <--- INSERTED |████████████████████
INSERTED RUNG

The subsystem is now intialized. CLR(API.HAL.ScanCounter)MOV(API_State.Initialized,API.State)FOR(rtnAPI_TznReset,TZNi,0,API.EPP.TZNei,1)FOR(rtnAPI_CnvStop,CNVi,0,API.EPP.CNVei,1);

| | | | | ROUTINE: ladAPI_Main (I) (Main routine of ) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

A P P L I C A T I O N P R O G R A M M I N G I N T E R F A C E -- ( A P I ) -- provides the interface for the MicroCODE Control App to access and control EPP Subsystems -------------------------------------------------------------------------------------- Copyright © 2020-2023 MicroCODE Incorporated Troy, MI // Author: Timothy J. McGuire // All rights reserved // Use authorized under license only. XIC(S:FS)GEQ(API.State,API_State.Configured)MOV(API_State.Configured,API.State);

1 <--- INSERTED |████████████████████
INSERTED RUNG

A non-zero 'semaphore' is external access and command to this subsystem from the IPC Control App. EQU(API.Semaphore,API_Semaphore.Erasing)JSR(ladAPI_Reset,0);

2 <--- INSERTED |████████████████████
INSERTED RUNG

Do not execute any other code while the system is being reconfigured. NEQ(API.Semaphore,API_Semaphore.Free)BST EQU(API.Semaphore,API_Semaphore.Erasing) MOV(API_State.Unconfigured,API.State) NXB EQU(API.Semaphore,API_Semaphore.Writing) MOV(API_State.Configured,API.State) NXB EQU(API.Semaphore,API_Semaphore.Stopping) MOV(API_State.Stopped,API.State) NXB JMP(ExitMain) BND ;

3 <--- INSERTED |████████████████████
INSERTED RUNG

Re-initialization the subsystem on First Scan of the PLC or after it has been re-configured. LES(API.State,API_State.Initialized)JSR(ladAPI_Init,0);

4 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(Pulse.DN)BST XIC(API.O.Heartbeat) OTE(hb) NXB XIC(hb) OTU(API.O.Heartbeat) NXB XIO(hb) OTL(API.O.Heartbeat) BND ;

5 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(Pulse.DN)TON(Pulse,,);

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
6 <--- INSERTED |████████████████████
INSERTED RUNG

O B J E C T S -- service all configured objects --------------- Process all TRACK ZONE Objects. FOR(rtnAPI_TznInterface,TZNi,0,API.EPP.TZNei,1);

7 <--- INSERTED |████████████████████
INSERTED RUNG

The Subsytem is now 'Running' if we get to this last rung... MOV(API_State.Running,API.State);

8 <--- INSERTED |████████████████████
INSERTED RUNG

Maintain a 'Scan Counter' for external execution verification. EQU(API.State,API_State.Running)ADD(API.HAL.ScanCounter,1,API.HAL.ScanCounter)OTE(API.O.IsRunning);

9 <--- INSERTED |████████████████████
INSERTED RUNG

JSR(rtnAPI_EppStatus,0);

10 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(ExitMain)EQU(API.Semaphore,API_Semaphore.Erasing)MOV(API_Semaphore.Free,API.Semaphore);

| | | | | ROUTINE: ladAPI_Reset (I) (Clear all config) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

A P I R E S E T ------------------- Erase all API Subsystem Configuration and maintain out 'Being Erased' state. FLL(0,API,1)MOV(1,API.Semaphore);

| | | | | ROUTINE: rtnAPI_ASCII (I) (Create ASCII Cod) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(i,ASCIN[i]);

| | | | | ROUTINE: rtnAPI_CnvSimulation (I)(MicroCODE Contro) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

S I M U L A T E D C O N V E Y O R I N T E R F A C E --------------------------------------------------------------- NOTE: NOT USED for ALS/AGV/VAC BST NEQ(API.CNV[CNVi].ConveyorType,API_ConveyorType.FPS) NXB XIO(API.CNV[CNVi].Simulated.Enabled) BND RET();

1 <--- INSERTED |████████████████████
INSERTED RUNG

NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. NOTE: No longer true after Multi-Track Zone EPP PLCs are introduced. COP(API.CNV[CNVi],CNX,1);

2 <--- INSERTED |████████████████████
INSERTED RUNG

NEQ(API.TZN[0].State,API_SimState.Running)CLR(CNX.I.POS)OTU(CNX.I.Running)JMP(ExitSimulation);

3 <--- INSERTED |████████████████████
INSERTED RUNG

BST NEQ(CNX.StopRequests,0) BST GEQ(CNX.Simulated.StopPoint,95) GEQ(CNX.I.POS,CNX.Simulated.StopPoint) NXB LES(CNX.Simulated.StopPoint,CNX.FPSRelease) LES(CNX.I.POS,CNX.FPSRelease) GEQ(CNX.I.POS,CNX.Simulated.StopPoint) BND NXB BST XIC(CNX.Simulated.Stop.0) NXB XIC(CNX.Simulated.Stop.1) BND BND XIO(CNX.Simulated.Bypass.0)XIO(CNX.Simulated.Bypass.1)OTE(CNX.Simulated.Stopped);

4 <--- INSERTED |████████████████████
INSERTED RUNG

XIO(CNX.Simulated.Stopped)OTE(CNX.Simulated.Running);

5 <--- INSERTED |████████████████████
INSERTED RUNG

LEQ(CNX.Simulated.Pulser.PRE,0)MOV(400,CNX.Simulated.Pulser.PRE);

6 <--- INSERTED |████████████████████
INSERTED RUNG

Correct simulation of Conveyor to properly calculate % Travel increased. This takes Controllers Scan Time into account and allows the SIM 'Pulser' to run faster than the CLX scan time. GSV(WallClockTime,,CurrentValue,TimeCurrentValue)COP(TimeCurrentValue,TimeCurrent[0],2)SUB(TimeCurrent[0],CNX.RunningMax,TimeElapsedMicroseconds)MOV(TimeCurrent[0],CNX.RunningMax)LES(CNX.Simulated.Pulser.ACC,0)CLR(CNX.Simulated.Pulser.ACC);

7 <--- INSERTED |████████████████████
INSERTED RUNG

This Timer generates and the 'Simulated Pulse' rung generate a fake 'Gear Pulse' to rung the remaining code. FPT % runs from 0-99 when Job is edited into Footprint Bypass Button on Conveyor Simulator Application is used as toggle to "Pause" FPT % (Start and Stop Buttons do not work for AGV Mode) % increased = (Milliseconds Passed / CNX.Simulated.Pulser.PRE) Limited to jump of 20% at a time. XIO(CNX.Simulated.Stopped)XIC(CNX.Simulated.Running)DIV(TimeElapsedMicroseconds,1000,TimeElapsedMilliseconds)ADD(TimeElapsedMilliseconds,CNX.Simulated.Pulser.ACC,CNX.Simulated.Pulser.ACC)DIV(CNX.Simulated.Pulser.ACC,CNX.Simulated.Pulser.PRE,SimulatedIncrease)GEQ(SimulatedIncrease,1)BST GEQ(SimulatedIncrease,20) MOV(20,SimulatedIncrease) NXB ADD(SimulatedIncrease,CNX.Simulated.Encoder.ACC,CNX.Simulated.Encoder.ACC) CLR(CNX.Simulated.Pulser.ACC) BND ;

8 <--- INSERTED |████████████████████
INSERTED RUNG

Feature to control Simulated Conveyor stop position at FPS, run encoder from 0-99%. Drive Counter .DN off our own calculation. MOV(99,CNX.Encoder.PRE)GRT(CNX.Simulated.Encoder.ACC,99)MOV(99,CNX.Simulated.Encoder.ACC)OTL(CNX.Simulated.Encoder.DN);

9 <--- INSERTED |████████████████████
INSERTED RUNG

This timer holds the FPS Switch for 1 second, the Dummy Conveyor is allowed to 'glide off' FPS. BST XIC(CNX.Simulated.Encoder.DN) NXB XIC(CNX.Simulated.FPS.TT) BND TON(CNX.Simulated.FPS,,);

10 <--- INSERTED |████████████████████
INSERTED RUNG

Support for Entering, and Leaving. XIC(CNX.I.Running)LIM(0,CNX.I.POS,CNX.FPSRelease)OTE(CNX.I.Entering);

11 <--- INSERTED |████████████████████
INSERTED RUNG

Job "Leaves" Footprint if % = 99 and not Paused and no EPA Hold Support for Entering, and Leaving. XIC(CNX.I.Running)LIM(95,CNX.I.POS,100)OTE(CNX.I.Leaving);

12 <--- INSERTED |████████████████████
INSERTED RUNG

This first group of rungs remaps the GearProx I/O into our common CNV Object. {DCM#097} -- Removed rung to drive "CNV.I.StoppedByQAS" to use common rung in ladCNV_Interface. XIC(CNX.Simulated.Running)OTE(CNX.I.Running);

13 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(CNX.Simulated.Pulse)OTE(CNX.Simulated.DirectPulse);

14 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(CNX.Simulated.Pulser.DN)RES(CNX.Simulated.Pulser);

15 <--- INSERTED |████████████████████
INSERTED RUNG

{DHF#730} -- Improve Simulation for AGVC Conveyors FPT % is held to 0% when no Job is in Footprint XIC(CNX.Simulated.Encoder.DN)RES(CNX.Simulated.Encoder);

16 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(CNX.I.Running)MOV(999000,CNX.Running.PRE)RTO(CNX.Running,,);

17 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(CNX.Simulated.DirectPulse)ONS(CNX.Simulated.DirectPulse_ONS)CTU(CNX.Encoder,,);

18 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(CNX.Simulated.FPSRising)BST RES(CNX.Running) NXB RES(CNX.Encoder) BND ;

19 <--- INSERTED |████████████████████
INSERTED RUNG

Feature to control Simulated Conveyor stop position at FPS. MOV(CNX.Simulated.Encoder.ACC,CNX.I.POS)BST LIM(95,CNX.Simulated.StopPoint,99) GEQ(CNX.Simulated.Encoder.ACC,CNX.Simulated.StopPoint) NXB LIM(0,CNX.Simulated.StopPoint,5) BST LES(CNX.Simulated.Encoder.ACC,CNX.Simulated.StopPoint) NXB GEQ(CNX.Simulated.Encoder.ACC,99) BND BND BST MOV(CNX.Simulated.StopPoint,CNX.I.POS) NXB OTL(CNX.I.FPS) BND ;

20 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(CNX.I.Running)LIM(CNX.FPSRelease,CNX.I.POS,10)OTU(CNX.I.FPS);

21 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(ExitSimulation)COP(CNX,API.CNV[CNVi],1);

| | | | | ROUTINE: rtnAPI_CnvStart (I) (Starts a simulat) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

C O V E Y O R: S T A R T S I M U L A T I O N --------------------------------------------------------- Enter Simulation Mode on this Track Zone's Conveyor. Begin with the Conveyor STOPPED to allow the User to take a BACKUP before movement begins. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. NOTE: As of EPP v1.??? the CNVi is no longer equal to the TZNi, it changed when it they got to ALS/AGV/VAC. OTL(API.CNV[CNVi].Simulated.Stop.0)OTU(API.CNV[CNVi].Simulated.Stop.1)OTL(API.CNV[CNVi].Simulated.Enabled);

| | | | | ROUTINE: rtnAPI_CnvStop (I) (Stops the curren) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

C O N V E Y O R: S T O P S I M U L A T I O N ----------------------------------------------------------------- Exit Simulation Mode on this Track Zone's Conveyor. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. OTU(API.CNV[CNVi].Simulated.Stop.0)OTU(API.CNV[CNVi].Simulated.Stop.1)OTU(API.CNV[CNVi].Simulated.Enabled);

| | | | | ROUTINE: rtnAPI_CnvToggle (I) (Toggles the Real) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: T O G G L E C N V S I M M O D E ---------------------------------------------------------------------------------- NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. BST XIC(API.CNV[CNVi].Simulated.Enabled) OTE(sm) NXB XIO(sm) JSR(rtnAPI_CnvStart,0) NXB XIC(sm) JSR(rtnAPI_CnvStop,0) BND ;

| | | | | ROUTINE: rtnAPI_CnvToggle_Loop (I) | | | | | (Toggle all Stop ) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: T O G G L E C N V S I M M O D E ---------------------------------------------------------------------------------- NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. BST XIO(sm) JSR(rtnAPI_CnvStart,0) NXB XIC(sm) JSR(rtnAPI_CnvStop,0) BND ;

| | | | | ROUTINE: rtnAPI_EppStatus (I) (Gather the statu) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

Get number of CLX Connections in use and generate GPM&C Alarms based on % utilization. NOTE: This MSG instruction--and the accompanying 'L_CPU' parameter array--may need to be changed for each different verison of the Logix firmware! See the Rockwell AOI "L_CPU_nn" for complete details. XIO(L_CPU_MsgGetConnUse.EN)BST XIO(ConfigControl1.DownloadInProgress) BST XIO(L_CPU_MsgGetConnUse.DN) FLL(0,L_CPU_PortCapyData[0],80) NXB MSG(L_CPU_MsgGetConnUse) BND NXB XIC(ConfigControl1.DownloadInProgress) OTU(L_CPU_MsgGetConnUse.DN) BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
1 <--- INSERTED |████████████████████
INSERTED RUNG

XIC(L_CPU_MsgGetConnUse.DN)BST NEQ(L_CPU_PortCapyData[3],0) DIV(L_CPU_PortCapyData[6],L_CPU_PortCapyData[3],CLX_ConnectionsTemporary) MUL(CLX_ConnectionsTemporary,100,CLX_ConnectionsPercentage) NXB MOV(L_CPU_PortCapyData[3],CLX_ConnectionsAvailable) MOV(L_CPU_PortCapyData[6],CLX_ConnectionsInUse) BND ;

2 <--- INSERTED |████████████████████
INSERTED RUNG

Gather a few Logix 5000 data points for display in the Control App. NOTE: TimeSlice is no longer used in L8X, GSV for it does nothing. MOV(20,CLX_CurrentTimeSlice)GSV(Task,MainTask,LastScanTime,CLX_LastScanTime);

3 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(CLX_LastScanTime,API.HAL.ScanTimeAverage)MOV(CLX_ConnectionsInUse,API.HAL.IOConnections)MOV(CLX_CurrentTimeSlice,API.HAL.TimeSliceRemaining)MOV(API_State.Running,API.HAL.CLX);

4 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.EPP);

5 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.DGN)BST XIC(PFEHostComCipMSG.ER) NXB XIC(PFEHostComLinxMSG.ER) BND MOV(API_State.Errors,API.HAL.DGN);

6 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.IOX)BST GSV(Module,ENet01,FaultCode,CLX_IOFaultCode) NEQ(CLX_IOFaultCode,0) NXB GSV(Module,ENet02,FaultCode,CLX_IOFaultCode) NEQ(CLX_IOFaultCode,0) BND MOV(API_State.Warnings,API.HAL.IOX);

7 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.HMI)XIC(PFEHMI.Diag.AlarmActive)MOV(API_State.Warnings,API.HAL.HMI);

8 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.UIX);

9 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.BDX)BST XIC(GEPICS1_ODD1MsgDataSrc.ER) NXB XIO(RuntimeStatus[0,0].1) BND MOV(API_State.Errors,API.HAL.BDX);

10 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.LTS)XIO(RuntimeStatus[0,0].4)MOV(API_State.Running,API.HAL.LTS);

11 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.CNV)XIO(RuntimeStatus[0,0].2)MOV(API_State.Warnings,API.HAL.CNV);

12 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.EPX);

13 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.SIM)XIC(RuntimeStatus[0,0].5)MOV(API_State.Initialized,API.HAL.SIM);

14 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.SCN)AFI()MOV(API_State.Warnings,API.HAL.SCN);

15 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.PMX)BST XIC(PFEHostComCipMSG.ER) NXB XIC(PFEHostComLinxMSG.ER) BND MOV(API_State.Errors,API.HAL.PMX);

16 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.VQX)XIC(TRaceMsg01.ER)MOV(API_State.Errors,API.HAL.VQX);

17 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_State.Running,API.HAL.QAX)XIC(QDI_Msg01.ER)MOV(API_State.Errors,API.HAL.QAX);

| | | | | ROUTINE: rtnAPI_EraseJobData (I) () | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

SBR(TrackingLOC,TrackingSTS,TrackingSTY,TrackingCID)NOP();

1 <--- INSERTED |████████████████████
INSERTED RUNG

FLL(0,TrackingLOC.JobData.Data,1)MOV(TrackingSTY,TrackingLOC.JobData.Data.Style)SIZE(TrackingLOC.BuildData.ID[0],0,n)FLL(0,TrackingLOC.BuildData.ID[0],n)FLL(0,TrackingLOC.BackupData,1);

2 <--- INSERTED |████████████████████
INSERTED RUNG

FLL(ASCII.Space,TrackingLOC.BuildData.ID[0],72)COP(TrackingSTS,TrackingLOC.BuildData.ID[26],12);

3 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(TrackingCID,TrackingLOC.JobData.Data.Carrier)EQU(TrackingLOC.BuildData.ID[26],ASCII.E)EQU(TrackingLOC.JobData.Data.Carrier,0)MOV(999,TrackingLOC.JobData.Data.Carrier);

4 <--- INSERTED |████████████████████
INSERTED RUNG

NEQ(TrackingLOC.BuildData.ID[26],ASCII.R)OTL(TrackingLOC.JobData.NoOperation)OTL(TrackingLOC.JobData.MisMatch)OTL(TrackingLOC.JobData.Data.BuildStatus.2)OTL(TrackingLOC.JobData.Valid);

5 <--- INSERTED |████████████████████
INSERTED RUNG

EQU(TrackingLOC.BuildData.ID[26],ASCII.R)OTU(TrackingLOC.JobData.NoOperation)OTU(TrackingLOC.JobData.MisMatch)OTU(TrackingLOC.JobData.Data.BuildStatus.2)OTL(TrackingLOC.JobData.Valid);

6 <--- INSERTED |████████████████████
INSERTED RUNG

RET(TrackingLOC);

| | | | | ROUTINE: rtnAPI_FptMakeEmpty (I) (Generates an EMP) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

Fills the current Footprint (selected in the NUMERIC UP/DOWN Control) with an EMPTY CARRIER. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].LTAi,LTAi)JSR(rtnAPI_TznEmptyJob,0);

| | | | | ROUTINE: rtnAPI_FptMakeGap (I) (Generates a GAP ) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

Fills the current Footprint (selected in the NUMERIC UP/DOWN Control) with a GAP. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].LTAi,LTAi)JSR(rtnAPI_TznGapJob,0);

| | | | | ROUTINE: rtnAPI_FptMakeReady (I) (Generates an BLA) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

Fills the current Footprint (selected in the NUMERIC UP/DOWN Control) with an EMPTY CARRIER. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].LTAi,LTAi)JSR(rtnAPI_TznReadyJob,0);

| | | | | ROUTINE: rtnAPI_FptMakeRestart (I) | | | | | (RESTART JOB work) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

RESTARTs the work in the current Footprint. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].LTAi,LTAi)MOV(API.FPT[FPTi].CNVi,CNVi)JSR(rtnAPI_TznRestartJob,0);

| | | | | ROUTINE: rtnAPI_FptStopRelease (I) | | | | | (Simulates the op) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

C O N V E Y O R: S T O P R E L E A S E ----------------------------------------------------------------- Simulate the STOP opening and JOB moving from this Footprint's Conveyor Stop. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].LTAi,LTAi)JSR(rtnAPI_TznReleaseJob,0);

| | | | | ROUTINE: rtnAPI_InitEnum (I) (Initialize a gen) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

E N U M I N I T I A L I Z A T I O N -------------------------------------------------- MOV(_i,API_Enum08[_i])MOV(_i,API_Enum16[_i])MOV(_i,API_Enum32[_i]);

| | | | | ROUTINE: rtnAPI_QdxClear (I) (Completely clear) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

Dump the enitre GSIP Defect Queue, resetting all pointers. Reset sizes of arrays based on PLC structure. FLL(0,QDIQueue,1)SIZE(QDIQueue.Queue[0],0,n)MOV(n,QDIQueue.Size);

| | | | | ROUTINE: rtnAPI_TznAbort (I) (Aborts any simul) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: A B O R T S I M U L A T I O N ------------------------------------------------------------------------- Exit Simulation Mode on this Track Zone's Conveyor. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].CNVi,CNVi)OTU(API.CNV[CNVi].Simulated.Stop.0)OTU(API.CNV[CNVi].Simulated.Enabled);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
1 <--- INSERTED |████████████████████
INSERTED RUNG

Restore last SAVED Tracking Image when ABORTING. STOPPING SIM leaves the Tracking AS-IS. JSR(rtnAPI_TznRestore,0);

2 <--- INSERTED |████████████████████
INSERTED RUNG

Now STOP the SIMULATION. JSR(rtnAPI_TznStop,0);

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(Aborted)MOV(API_SimResponse.Aborted,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznBypass (I) (Toggles Bypass o) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: T O G G L E B Y P A S S Q A S & R U N P E R M I S S I V E S ---------------------------------------------------------------------------------------------------------------------------- NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].CNVi,CNVi)BST XIC(API.CNV[CNVi].Simulated.Bypass.1) OTE(bq) NXB XIO(bq) OTL(API.CNV[CNVi].Simulated.Bypass.1) NXB XIC(bq) OTU(API.CNV[CNVi].Simulated.Bypass.1) BND ;

| | | | | ROUTINE: rtnAPI_TznCapture (I) | | | | | (Capture's a Trac) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: C A P T U R E ----------------------------------------------- Captures a Track Zone's GEPICS ODD Job Data from the interface for examination *before* EPP reductions. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)COP(GEPICS1_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)COP(GEPICS2_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)COP(GEPICS3_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)COP(GEPICS4_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)COP(GEPICS5_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)COP(GEPICS6_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)COP(GEPICS7_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)COP(GEPICS8_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)COP(GEPICS9_BDRx_Flat[0],ODD[0],2048)JMP(Captured);

10 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(Captured)FOR(rtnAPI_TznCaptureByteSwap,i,0,2046,2)COP(ODD[0],API.TZN[TZNi].ODD[0],2048)MOV(API_SimResponse.Captured,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznCaptureByteSwap (I) | | | | | (Byte swap the IN) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

COP(ODD[i],byte,1)COP(ODD[i+1],ODD[i],1)COP(byte,ODD[i+1],1);

| | | | | ROUTINE: rtnAPI_TznClear (I) (Fill the current) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: C L E A R ----------------------------------- Fills the current Track Zone with GAPs. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. NOTE: As of JAN/FEB 2021 the CNVi no longer matches the TZNi. BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize1.Footprint,1)JMP(Emptied);

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize2.Footprint,1)JMP(Emptied);

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize3.Footprint,1)JMP(Emptied);

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize4.Footprint,1)JMP(Emptied);

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize5.Footprint,1)JMP(Emptied);

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize6.Footprint,1)JMP(Emptied);

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize7.Footprint,1)JMP(Emptied);

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize8.Footprint,1)JMP(Emptied);

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)FOR(rtnAPI_TznGapJob,LTAi,0,ConfigArraySize9.Footprint,1)JMP(Emptied);

10 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(Emptied)MOV(API_SimResponse.Cleared,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznClearAndon (I)(Clears all activ) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: C L E A R Q A S S T O P S ---------------------------------------------------------------------- NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].CNVi,CNVi)CLR(API.CNV[CNVi].StopRequests)OTU(API.CNV[CNVi].Simulated.Stop.0)OTU(API.CNV[CNVi].Simulated.Stop.1);

| | | | | ROUTINE: rtnAPI_TznEmpty (I) (Fill the current) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: E M P T Y ------------------------------------------ Fills the current Track Zone with EMPTY CARRIERs. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize1.Footprint,1)JMP(Emptied);

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize2.Footprint,1)JMP(Emptied);

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize3.Footprint,1)JMP(Emptied);

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize4.Footprint,1)JMP(Emptied);

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize5.Footprint,1)JMP(Emptied);

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize6.Footprint,1)JMP(Emptied);

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize7.Footprint,1)JMP(Emptied);

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize8.Footprint,1)JMP(Emptied);

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)FOR(rtnAPI_TznEmptyJob,LTAi,0,ConfigArraySize9.Footprint,1)JMP(Emptied);

10 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(Emptied)MOV(API_SimResponse.Cleared,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznEmptyJob (I) () | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)JSR(rtnAPI_EraseJobData,4,TrackingImage1[LTAi],TrackingEMPTY,255,TrackingImage1[LTAi].JobData.Data.Carrier,TrackingImage1[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer1[LTAi],TrackingGAP,255,0,TrackingBuffer1[LTAi])RET();

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)JSR(rtnAPI_EraseJobData,4,TrackingImage2[LTAi],TrackingEMPTY,255,TrackingImage2[LTAi].JobData.Data.Carrier,TrackingImage2[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer2[LTAi],TrackingGAP,255,0,TrackingBuffer2[LTAi])RET();

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)JSR(rtnAPI_EraseJobData,4,TrackingImage3[LTAi],TrackingEMPTY,255,TrackingImage3[LTAi].JobData.Data.Carrier,TrackingImage3[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer3[LTAi],TrackingGAP,255,0,TrackingBuffer3[LTAi])RET();

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)JSR(rtnAPI_EraseJobData,4,TrackingImage4[LTAi],TrackingEMPTY,255,TrackingImage4[LTAi].JobData.Data.Carrier,TrackingImage4[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer4[LTAi],TrackingGAP,255,0,TrackingBuffer4[LTAi])RET();

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)JSR(rtnAPI_EraseJobData,4,TrackingImage5[LTAi],TrackingEMPTY,255,TrackingImage5[LTAi].JobData.Data.Carrier,TrackingImage5[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer5[LTAi],TrackingGAP,255,0,TrackingBuffer5[LTAi])RET();

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)JSR(rtnAPI_EraseJobData,4,TrackingImage6[LTAi],TrackingEMPTY,255,TrackingImage6[LTAi].JobData.Data.Carrier,TrackingImage6[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer6[LTAi],TrackingGAP,255,0,TrackingBuffer6[LTAi])RET();

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)JSR(rtnAPI_EraseJobData,4,TrackingImage7[LTAi],TrackingEMPTY,255,TrackingImage7[LTAi].JobData.Data.Carrier,TrackingImage7[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer7[LTAi],TrackingGAP,255,0,TrackingBuffer7[LTAi])RET();

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)JSR(rtnAPI_EraseJobData,4,TrackingImage8[LTAi],TrackingEMPTY,255,TrackingImage8[LTAi].JobData.Data.Carrier,TrackingImage8[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer8[LTAi],TrackingGAP,255,0,TrackingBuffer8[LTAi])RET();

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)JSR(rtnAPI_EraseJobData,4,TrackingImage9[LTAi],TrackingEMPTY,255,TrackingImage9[LTAi].JobData.Data.Carrier,TrackingImage9[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer9[LTAi],TrackingGAP,255,0,TrackingBuffer9[LTAi])RET();

| | | | | ROUTINE: rtnAPI_TznFaster (I) (Increases the sp) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: F A S T E R C N V S P E E D ------------------------------------------------------------------------ NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].CNVi,CNVi)SUB(API.CNV[CNVi].Simulated.Pulser.PRE,100,API.CNV[CNVi].Simulated.Pulser.PRE)LES(API.CNV[CNVi].Simulated.Pulser.PRE,100)MOV(100,API.CNV[CNVi].Simulated.Pulser.PRE);

| | | | | ROUTINE: rtnAPI_TznGapJob (I) () | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)JSR(rtnAPI_EraseJobData,4,TrackingImage1[LTAi],TrackingGAP,0,0,TrackingImage1[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer1[LTAi],TrackingGAP,0,0,TrackingBuffer1[LTAi])RET();

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)JSR(rtnAPI_EraseJobData,4,TrackingImage2[LTAi],TrackingGAP,0,0,TrackingImage2[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer2[LTAi],TrackingGAP,0,0,TrackingBuffer2[LTAi])RET();

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)JSR(rtnAPI_EraseJobData,4,TrackingImage3[LTAi],TrackingGAP,0,0,TrackingImage3[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer3[LTAi],TrackingGAP,0,0,TrackingBuffer3[LTAi])RET();

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)JSR(rtnAPI_EraseJobData,4,TrackingImage4[LTAi],TrackingGAP,0,0,TrackingImage4[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer4[LTAi],TrackingGAP,0,0,TrackingBuffer4[LTAi])RET();

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)JSR(rtnAPI_EraseJobData,4,TrackingImage5[LTAi],TrackingGAP,0,0,TrackingImage5[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer5[LTAi],TrackingGAP,0,0,TrackingBuffer5[LTAi])RET();

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)JSR(rtnAPI_EraseJobData,4,TrackingImage6[LTAi],TrackingGAP,0,0,TrackingImage6[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer6[LTAi],TrackingGAP,0,0,TrackingBuffer6[LTAi])RET();

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)JSR(rtnAPI_EraseJobData,4,TrackingImage7[LTAi],TrackingGAP,0,0,TrackingImage7[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer7[LTAi],TrackingGAP,0,0,TrackingBuffer7[LTAi])RET();

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)JSR(rtnAPI_EraseJobData,4,TrackingImage8[LTAi],TrackingGAP,0,0,TrackingImage8[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer8[LTAi],TrackingGAP,0,0,TrackingBuffer8[LTAi])RET();

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)JSR(rtnAPI_EraseJobData,4,TrackingImage9[LTAi],TrackingGAP,0,0,TrackingImage9[LTAi])JSR(rtnAPI_EraseJobData,4,TrackingBuffer9[LTAi],TrackingGAP,0,0,TrackingBuffer9[LTAi])RET();

| | | | | ROUTINE: rtnAPI_TznInitialize (I)(Clears TZN (TZNi) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: I N I T I A L I Z E S I M U L A T I O N ------------------------------------------------------------------------------------ Enter Simulation Mode on this Track Zone's Conveyor. NOP();

1 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_SimState.Initialized,API.TZN[TZNi].State)MOV(API_SimResponse.Initialized,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznInterface (I) (Processes Track ) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E I N T E R F A C E ------------------------------------------- I N I T I A L I Z E -------------------- XIC(API.TZN[TZNi].Initialize)JSR(rtnAPI_TznInitialize,0)OTU(API.TZN[TZNi].Initialize);

1 <--- INSERTED |████████████████████
INSERTED RUNG

TZNi = The Track Zone Index (The Track Zone on the screen). FPTi = Footprint Index (the 'Job Focus' in tge App). CNVi = Conveyor Index (The Conveyor interface associated with the current Footprint). All commands use these for focus. JSR(rtnAPI_TznMaintenance,0);

2 <--- INSERTED |████████████████████
INSERTED RUNG

S T A R T ----------- XIC(API.TZN[TZNi].StartSimulation)JSR(rtnAPI_TznStart,0)OTU(API.TZN[TZNi].StartSimulation);

3 <--- INSERTED |████████████████████
INSERTED RUNG

S T O P --------- XIC(API.TZN[TZNi].StopSimulation)JSR(rtnAPI_TznStop,0)OTU(API.TZN[TZNi].StopSimulation);

4 <--- INSERTED |████████████████████
INSERTED RUNG

A B O R T ----------- XIC(API.TZN[TZNi].AbortSimulation)JSR(rtnAPI_TznAbort,0)OTU(API.TZN[TZNi].AbortSimulation);

5 <--- INSERTED |████████████████████
INSERTED RUNG

T O G G L E C N V R U N M O D E ------------------------------------------ XIC(API.TZN[TZNi].ToggleConveyor)JSR(rtnAPI_TznToggle,0)OTU(API.TZN[TZNi].ToggleConveyor);

6 <--- INSERTED |████████████████████
INSERTED RUNG

F A S T E R C O N V E Y O R --------------------------------- XIC(API.TZN[TZNi].FasterConveyor)JSR(rtnAPI_TznFaster,0)OTU(API.TZN[TZNi].FasterConveyor);

7 <--- INSERTED |████████████████████
INSERTED RUNG

S L O W E R C O N V E Y O R ----------------------------------- XIC(API.TZN[TZNi].SlowerConveyor)JSR(rtnAPI_TznSlower,0)OTU(API.TZN[TZNi].SlowerConveyor);

8 <--- INSERTED |████████████████████
INSERTED RUNG

C L E A R Q A S S T O P S -------------------------------- NOTE: This command is held 'ON' until the Conveyor moves into the next Footprint, past the control of the Andon Pulls. XIC(API.TZN[TZNi].ClearQAS)JSR(rtnAPI_TznClearAndon,0)BST LIM(API.CNV[CNVi].FPSRelease,API.CNV[CNVi].I.POS,20) NXB EQU(API.CNV[CNVi].StopRequests,0) BND OTU(API.TZN[TZNi].ClearQAS);

9 <--- INSERTED |████████████████████
INSERTED RUNG

T O G G L E B Y P A S S Q A S ------------------------------------- XIC(API.TZN[TZNi].BypassConveyor)JSR(rtnAPI_TznBypass,0)OTU(API.TZN[TZNi].BypassConveyor);

10 <--- INSERTED |████████████████████
INSERTED RUNG

T O G G L E T Z N + C N V s S I M M O D E ------------------------------------------------------ XIC(API.TZN[TZNi].ToggleSimulated)BST MOV(API.TZN[TZNi].FPTi,FPTi) MOV(API.FPT[FPTi].CNVi,CNVi) NXB EQU(API.EPP.TZN[TZNi].ConveyorType,API_ConveyorType.FPS) JSR(rtnAPI_CnvToggle,0) NXB NEQ(API.EPP.TZN[TZNi].ConveyorType,API_ConveyorType.FPS) BST XIC(API.CNV[CNVi].Simulated.Enabled) OTE(sm) NXB FOR(rtnAPI_CnvToggle_Loop,CNVi,API.EPP.TZN[TZNi].CNVsi,API.EPP.TZN[TZNi].CNVei,1) BND BND OTU(API.TZN[TZNi].ToggleSimulated);

11 <--- INSERTED |████████████████████
INSERTED RUNG

E M P T Y T R A C K Z O N E ---------------------------------- XIC(API.TZN[TZNi].EmptyTrackZone)JSR(rtnAPI_TznEmpty,0)OTU(API.TZN[TZNi].EmptyTrackZone);

12 <--- INSERTED |████████████████████
INSERTED RUNG

C L E A R T R A C K Z O N E ---------------------------------- XIC(API.TZN[TZNi].ClearTrackZone)JSR(rtnAPI_TznClear,0)OTU(API.TZN[TZNi].ClearTrackZone);

13 <--- INSERTED |████████████████████
INSERTED RUNG

S A V E T R A C K Z O N E ------------------------------- XIC(API.TZN[TZNi].SaveTrackZone)JSR(rtnAPI_TznSave,0)OTU(API.TZN[TZNi].SaveTrackZone);

14 <--- INSERTED |████████████████████
INSERTED RUNG

R E S T O R E T R A C K Z O N E -------------------------------------- XIC(API.TZN[TZNi].RestoreTrackZone)JSR(rtnAPI_TznRestore,0)OTU(API.TZN[TZNi].RestoreTrackZone);

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
15 <--- INSERTED |████████████████████
INSERTED RUNG

M A K E B L A N K S P A C E 'R E A D Y' F O R N E W J O B --------------------------------------------------------------------------- XIC(API.TZN[TZNi].MakeReady)JSR(rtnAPI_FptMakeReady,0)OTU(API.TZN[TZNi].MakeReady);

16 <--- INSERTED |████████████████████
INSERTED RUNG

R E S T A R T W O R K --------------------------- XIC(API.TZN[TZNi].MakeRestart)JSR(rtnAPI_FptMakeRestart,0)OTU(API.TZN[TZNi].MakeRestart);

17 <--- INSERTED |████████████████████
INSERTED RUNG

M A K E E M P T Y C A R R I E R --------------------------------------- XIC(API.TZN[TZNi].MakeEmpty)JSR(rtnAPI_FptMakeEmpty,0)OTU(API.TZN[TZNi].MakeEmpty);

18 <--- INSERTED |████████████████████
INSERTED RUNG

M A K E G A P ----------------- XIC(API.TZN[TZNi].MakeGap)JSR(rtnAPI_FptMakeGap,0)OTU(API.TZN[TZNi].MakeGap);

19 <--- INSERTED |████████████████████
INSERTED RUNG

S T O P R E L E A S E / J O B S H I F T ------------------------------------------------- XIC(API.TZN[TZNi].StopRelease)JSR(rtnAPI_FptStopRelease,0)OTU(API.TZN[TZNi].StopRelease);

20 <--- INSERTED |████████████████████
INSERTED RUNG

C L E A R Q D X -------------------- XIC(API.TZN[TZNi].ClearQDX)JSR(rtnAPI_QdxClear,0)OTU(API.TZN[TZNi].ClearQDX);

21 <--- INSERTED |████████████████████
INSERTED RUNG

C L E A R V C X -------------------- XIC(API.TZN[TZNi].ClearVCX)JSR(rtnAPI_VcxClear,0)OTU(API.TZN[TZNi].ClearVCX);

22 <--- INSERTED |████████████████████
INSERTED RUNG

C A P T U R E O D D ------------------------- XIC(API.TZN[TZNi].CaptureODD)JSR(rtnAPI_TznCapture,0)OTU(API.TZN[TZNi].CaptureODD);

23 <--- INSERTED |████████████████████
INSERTED RUNG

C L E A R O D D --------------------- XIC(API.TZN[TZNi].ClearODD)JSR(rtnAPI_TznOddClear,0)OTU(API.TZN[TZNi].ClearODD);

24 <--- INSERTED |████████████████████
INSERTED RUNG

C O N V E Y O R S I M U L A T I O N ------------------------------------------ MicroCODE Control (EPP) App specific Conveyor Simulation. This removes any reliance on the EPP Server and its simulation command interface. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. JSR(rtnAPI_CnvSimulation,0);

| | | | | ROUTINE: rtnAPI_TznMaintenance (I) | | | | | (EPP Specific rou) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: M A I N T E N A N C E ----------------------------------------------------------- Saves the Track Zone's current tracking image into the EPP PLC's BACKUP memory. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND ;

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND ;

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND ;

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND JMP(Maintained);

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND JMP(Maintained);

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND JMP(Maintained);

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND JMP(Maintained);

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND JMP(Maintained);

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)CLR(StopRequests)CLR(NotDone)BST MOV(StopRequests,API.CNV[TZNi].StopRequests) NXB MOV(NotDone,API.CNV[TZNi].NotDone) NXB JMP(Maintained) BND JMP(Maintained);

10 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(Maintained)NOP();

| | | | | ROUTINE: rtnAPI_TznOddClear (I) (Clears a Track Z) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

Dump the enitre GEPICS ODD Buffer, resetting all pointers. Reset sizes of arrays based on PLC structure. FLL(0,GEPICS1_ODD1App.DataOut.Buf,1)FLL(0,GEPICS1_ODD1App.Curr,1)CLR(GEPICS1_ODD1App.DataOut.CurrBuffCnt)CLR(GEPICS1_ODD1App.BufferNdx);

| | | | | ROUTINE: rtnAPI_TznReadyJob (I) () | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)JSR(rtnAPI_EraseJobData,4,TrackingImage1[LTAi],TrackingREADY,255,TrackingImage1[LTAi].JobData.Data.Carrier,TrackingImage1[LTAi])RET();

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)JSR(rtnAPI_EraseJobData,4,TrackingImage2[LTAi],TrackingREADY,255,TrackingImage2[LTAi].JobData.Data.Carrier,TrackingImage2[LTAi])RET();

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)JSR(rtnAPI_EraseJobData,4,TrackingImage3[LTAi],TrackingREADY,255,TrackingImage3[LTAi].JobData.Data.Carrier,TrackingImage3[LTAi])RET();

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)JSR(rtnAPI_EraseJobData,4,TrackingImage4[LTAi],TrackingREADY,255,TrackingImage4[LTAi].JobData.Data.Carrier,TrackingImage4[LTAi])RET();

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)JSR(rtnAPI_EraseJobData,4,TrackingImage5[LTAi],TrackingREADY,255,TrackingImage5[LTAi].JobData.Data.Carrier,TrackingImage5[LTAi])RET();

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)JSR(rtnAPI_EraseJobData,4,TrackingImage6[LTAi],TrackingREADY,255,TrackingImage6[LTAi].JobData.Data.Carrier,TrackingImage6[LTAi])RET();

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)JSR(rtnAPI_EraseJobData,4,TrackingImage7[LTAi],TrackingREADY,255,TrackingImage7[LTAi].JobData.Data.Carrier,TrackingImage7[LTAi])RET();

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)JSR(rtnAPI_EraseJobData,4,TrackingImage8[LTAi],TrackingREADY,255,TrackingImage8[LTAi].JobData.Data.Carrier,TrackingImage8[LTAi])RET();

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)JSR(rtnAPI_EraseJobData,4,TrackingImage9[LTAi],TrackingREADY,255,TrackingImage9[LTAi].JobData.Data.Carrier,TrackingImage9[LTAi])RET();

| | | | | ROUTINE: rtnAPI_TznReleaseJob (I)(Moves the JOB in) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: R E L E A S E J O B ---------------------------------------------------- BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)BST COP(TrackingImage1[LTAi],TrackingBuffer1[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)BST COP(TrackingImage2[LTAi],TrackingBuffer2[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)BST COP(TrackingImage3[LTAi],TrackingBuffer3[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)BST COP(TrackingImage4[LTAi],TrackingBuffer4[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)BST COP(TrackingImage5[LTAi],TrackingBuffer5[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)BST COP(TrackingImage6[LTAi],TrackingBuffer6[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)BST COP(TrackingImage7[LTAi],TrackingBuffer7[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)BST COP(TrackingImage8[LTAi],TrackingBuffer8[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

| | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100
9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)BST COP(TrackingImage9[LTAi],TrackingBuffer9[LTAi],1) NXB JSR(rtnAPI_TznGapJob,0) RET() BND ;

| | | | | ROUTINE: rtnAPI_TznReset (I) (Resets TZN (TZNi) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: R E S E T S I M U L A T I O N ------------------------------------------------------------------------ MOV(API_SimState.Undefined,API.TZN[TZNi].State)MOV(API_SimResponse.Reset,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznRestartJob (I)(Restarts work in) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: R E S T A R T J O B -------------------------------------------------------- BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

Clearing the "*" from the '.Name' field is the handshake back to the App to show the work was restarted. LBL(TrackZone1)OTL(TrackingImage1[LTAi].JobData.DataRdy)RET();

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)OTL(TrackingImage2[LTAi].JobData.DataRdy)RET();

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)OTL(TrackingImage3[LTAi].JobData.DataRdy)RET();

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)OTL(TrackingImage4[LTAi].JobData.DataRdy)RET();

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)OTL(TrackingImage5[LTAi].JobData.DataRdy)RET();

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)OTL(TrackingImage6[LTAi].JobData.DataRdy)RET();

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)OTL(TrackingImage7[LTAi].JobData.DataRdy)RET();

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)OTL(TrackingImage8[LTAi].JobData.DataRdy)RET();

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)OTL(TrackingImage9[LTAi].JobData.DataRdy)RET();

| | | | | ROUTINE: rtnAPI_TznRestore (I) (Restore the EPP ) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: R E S T O R E B A C K U P -------------------------------------------------------------------- Restore EPP PLC's BACKUP on this Track Zone's Conveyor. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

Restore the Tracking Image Backup if available, mind the differences in array sizes. LBL(TrackZone1)BST SIZE(TrackingImage1[0],0,m) SIZE(TrackingImageBackup1[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup1[0],TrackingImage1[0],w)JMP(Restored);

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)BST SIZE(TrackingImage2[0],0,m) SIZE(TrackingImageBackup2[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup2[0],TrackingImage2[0],w)JMP(Restored);

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)BST SIZE(TrackingImage3[0],0,m) SIZE(TrackingImageBackup3[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup3[0],TrackingImage3[0],w)JMP(Restored);

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)BST SIZE(TrackingImage4[0],0,m) SIZE(TrackingImageBackup4[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup4[0],TrackingImage4[0],w)JMP(Restored);

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)BST SIZE(TrackingImage5[0],0,m) SIZE(TrackingImageBackup5[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup5[0],TrackingImage5[0],w)JMP(Restored);

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)BST SIZE(TrackingImage6[0],0,m) SIZE(TrackingImageBackup6[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup6[0],TrackingImage6[0],w)JMP(Restored);

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)BST SIZE(TrackingImage7[0],0,m) SIZE(TrackingImageBackup7[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup7[0],TrackingImage7[0],w)JMP(Restored);

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)BST SIZE(TrackingImage8[0],0,m) SIZE(TrackingImageBackup8[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup8[0],TrackingImage8[0],w)JMP(Restored);

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)BST SIZE(TrackingImage9[0],0,m) SIZE(TrackingImageBackup9[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImageBackup9[0],TrackingImage9[0],w)JMP(Restored);

10 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(Restored)MOV(API_SimResponse.Restored,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznSave (I) (Saves the curren) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: S A V E B A C K U P -------------------------------------------------------- Saves the Track Zone's current tracking image into the EPP PLC's BACKUP memory. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. BST EQU(TZNi,0) JMP(TrackZone1) NXB EQU(TZNi,1) JMP(TrackZone2) NXB EQU(TZNi,2) JMP(TrackZone3) NXB EQU(TZNi,3) JMP(TrackZone4) NXB EQU(TZNi,4) JMP(TrackZone5) NXB EQU(TZNi,5) JMP(TrackZone6) NXB EQU(TZNi,6) JMP(TrackZone7) NXB EQU(TZNi,7) JMP(TrackZone8) NXB EQU(TZNi,8) JMP(TrackZone9) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone1)BST SIZE(TrackingImage1[0],0,m) SIZE(TrackingImageBackup1[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage1[0],TrackingImageBackup1[0],w)JMP(Saved);

2 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone2)BST SIZE(TrackingImage2[0],0,m) SIZE(TrackingImageBackup2[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage2[0],TrackingImageBackup2[0],w)JMP(Saved);

3 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone3)BST SIZE(TrackingImage3[0],0,m) SIZE(TrackingImageBackup3[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage3[0],TrackingImageBackup3[0],w)JMP(Saved);

4 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone4)BST SIZE(TrackingImage4[0],0,m) SIZE(TrackingImageBackup4[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage4[0],TrackingImageBackup4[0],w)JMP(Saved);

5 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone5)BST SIZE(TrackingImage5[0],0,m) SIZE(TrackingImageBackup5[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage5[0],TrackingImageBackup5[0],w)JMP(Saved);

6 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone6)BST SIZE(TrackingImage6[0],0,m) SIZE(TrackingImageBackup6[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage6[0],TrackingImageBackup6[0],w)JMP(Saved);

7 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone7)BST SIZE(TrackingImage7[0],0,m) SIZE(TrackingImageBackup7[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage7[0],TrackingImageBackup7[0],w)JMP(Saved);

8 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone8)BST SIZE(TrackingImage8[0],0,m) SIZE(TrackingImageBackup8[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage8[0],TrackingImageBackup8[0],w)JMP(Saved);

9 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(TrackZone9)BST SIZE(TrackingImage9[0],0,m) SIZE(TrackingImageBackup9[0],0,n) NXB LEQ(m,n) MOV(m,w) NXB GRT(m,n) MOV(n,w) BND COP(TrackingImage9[0],TrackingImageBackup9[0],w)JMP(Saved);

10 <--- INSERTED |████████████████████
INSERTED RUNG

LBL(Saved)MOV(API_SimResponse.Saved,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznSlower (I) (Decreases the sp) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: S L O W E R C N V S P E E D ------------------------------------------------------------------------- NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].CNVi,CNVi)ADD(API.CNV[CNVi].Simulated.Pulser.PRE,100,API.CNV[CNVi].Simulated.Pulser.PRE)GRT(API.CNV[CNVi].Simulated.Pulser.PRE,1300)MOV(1300,API.CNV[CNVi].Simulated.Pulser.PRE);

| | | | | ROUTINE: rtnAPI_TznStart (I) (Starts a simulat) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: S T A R T S I M U L A T I O N ------------------------------------------------------------------------- Enter Simulation Mode on this Track Zone's Conveyor. Begin with the Conveyor STOPPED to allow the User to take a BACKUP before movement begins. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. NOTE: As of EPP v1.??? the CNVi is no longer equal to the TZNi, it changed when it they got to ALS/AGV/VAC. XIO(TznSimAllowedToUseRealConveyors)BST EQU(API.EPP.TZN[TZNi].ConveyorType,API_ConveyorType.FPS) MOV(API.TZN[TZNi].FPTi,FPTi) MOV(API.FPT[FPTi].CNVi,CNVi) JSR(rtnAPI_CnvStart,0) NXB NEQ(API.EPP.TZN[TZNi].ConveyorType,API_ConveyorType.FPS) OTU(sm) FOR(rtnAPI_CnvToggle_Loop,CNVi,API.EPP.TZN[TZNi].CNVsi,API.EPP.TZN[TZNi].CNVei,1) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_SimState.Running,API.TZN[TZNi].State)MOV(API_SimResponse.Started,API.TZN[TZNi].Response);

| | | | | | | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Lines (RUNGs)

NEW RUNGs: COMPARISON: OLD RUNGs: CODE EDIT LEVEL: 0 25 50 75 100 | | | | | ROUTINE: rtnAPI_TznStop (I) (Stops the curren) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: S T O P S I M U L A T I O N ---------------------------------------------------------------------- Exit Simulation Mode on this Track Zone's Conveyor. NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. NOTE: As of EPP v1.??? the CNVi is no longer equal to the TZNi, it changed when it they got to ALS/AGV/VAC. BST EQU(API.EPP.TZN[TZNi].ConveyorType,API_ConveyorType.FPS) MOV(API.TZN[TZNi].FPTi,FPTi) MOV(API.FPT[FPTi].CNVi,CNVi) JSR(rtnAPI_CnvStop,0) NXB NEQ(API.EPP.TZN[TZNi].ConveyorType,API_ConveyorType.FPS) OTL(sm) FOR(rtnAPI_CnvToggle_Loop,CNVi,API.EPP.TZN[TZNi].CNVsi,API.EPP.TZN[TZNi].CNVei,1) BND ;

1 <--- INSERTED |████████████████████
INSERTED RUNG

MOV(API_SimState.Stopped,API.TZN[TZNi].State)MOV(API_SimResponse.Stopped,API.TZN[TZNi].Response);

| | | | | ROUTINE: rtnAPI_TznToggle (I) (Toggles the Run ) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

T R A C K Z O N E: T O G G L E C N V R U N M O D E ---------------------------------------------------------------------------------- NOTE: As of EPP v1.410 the CNVi = the TZNi in an EPP PLC. MOV(API.TZN[TZNi].FPTi,FPTi)MOV(API.FPT[FPTi].CNVi,CNVi)BST XIC(API.CNV[CNVi].Simulated.Stop.1) OTE(ss) NXB XIO(ss) OTL(API.CNV[CNVi].Simulated.Stop.1) NXB XIC(ss) OTU(API.CNV[CNVi].Simulated.Stop.1) BND ;

| | | | | ROUTINE: rtnAPI_VcxClear (I) (Completely clear) | | | | |
0 <--- INSERTED |████████████████████
INSERTED RUNG

Dump the enitre GEPICS Trace Queue, resetting all pointers. Reset sizes of arrays based on PLC structure. FLL(0,TRaceQueue,1)BST SIZE(TRaceQueue.Queue[0],0,n) MOV(n,TRaceQueue.Size) NXB SIZE(TRaceQueue.Queue[0].Tracebility.Part[0],0,n) MOV(n,TRaceQueue.PartSize) BND ;

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

LINEs Summary

LINEs of Code (L)
TOTAL TASKs in NEW PLC 5 TASKs INSERTED in NEW 0

TOTAL PROGRAMs in NEW PLC 13 PROGRAMs INSERTED in NEW 5

TOTAL ROUTINEs in NEW PLC 511 ROUTINEs INSERTED in NEW 47

TOTAL RUNGs in NEW PLC 7056 RUNGs INSERTED in NEW 369

RUNGs that matched EXACTLY 6515 RUNGs (I) that were EDITED 172 RUNG COMMENTs (C) EDITED 53

RUNGs DELETED from OLD 615 TOTAL RUNGs in OLD PLC 7302

ROUTINEs DELETED from OLD 28 TOTAL ROUTINEs in OLD PLC 492

PROGRAMs DELETED from OLD 3 TOTAL PROGRAMs in OLD PLC 11

TASKs DELETED from OLD 0 TOTAL TASKs in OLD PLC 5

(I) = INSTRUCTIONs changed
(C) = COMMENTs changed
(#) = CONSTANTs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Types (UDTs)

NEW MEMBERs: COMPARISON: OLD MEMBERs: DEFINITION EDIT LEVEL: 0 25 50 75 100 U S E R D E F I N E D U D T S | | | | | UDT: udtAPI (Control structur) | | | | |
13 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
CTL:udtAPI_Control, Version:udtAPI_Version, Semaphore:DINT, Debug:DINT, State:DINT, Event[8]:udtAPI_Event, I:udtAPI_Inputs, O:udtAPI_Outputs, EPP:udtAPI_EppConfig, HAL:udtAPI_Hal, CNV[99]:udtAPI_TznConveyor, FPT[99]:udtAPI_TznFootprint, TZN[9]:udtAPI_TznCommands, (PLC) internal configuration of downloaded and hard-coded objects in the EPP PLC (AXP) Version of the PLC code running in AXP Controller (IPC) External access semaphore, 0=free to execute, 1=being_erased, 2=being_written, 3=being_stopped (PLC) Manual debugging bits, set/cleared by programmer only. (AXP) State of Subsystem (AXP) Subsystem Diagnostic Events (IPC) Inputs from Windows App on IPC (AXP) Outputs to Windows App on IPC (PLC) Configuration data required for external App interface (PLC) Locally gathers subsystem/interface states (PLC) Conveyor configuration taken from downlaoded data and hard-coded values (PLC) Fooptrint configuration taken from downlaoded data and hard-coded values (IPC) Simulation Commands from external MicroCODE Control Apps
UDT: udtAPI_CnvSimulation (The data structu) | | | | |
16 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
<SINT> Enabled:BIT, Running:BIT, Stopped:BIT, DirectPulse_ONS:BIT, DirectPulse:BIT, DirectFPS:BIT, FPSLatch:BIT, FPSRising:BIT, <SINT> FPSFalling:BIT, Pulse:BIT, Pulser:TIMER, Encoder:COUNTER, FPS:TIMER, Bypass:DINT, Stop:DINT, StopPoint:DINT, The Control App simulation of this Conveyor is enabled The simulated Conveyor movement is running The simulated Conveyor movement is stopped One-Shot for Direct 'Gear Pulse' Signal. Direct Position Pulse -- used to implement the 'Dummy Encoder' scheme. Direct FPS Signal -- used to implement the 'Dummy Encoder' scheme. (Needs de-bounce). FPS Signal has seen between 0 - 100% Footprint Travel, used to distinguish 'Raising Edge' and 'Falling Edge' of 'FPS' One Scan signal showing "Rising Edge" of FPS. One Scan signal showing "Falling Edge" of FPS. Simulated internal encoder pulse Timer to generator an Encoder Pulse Counter to count Encoder Pulses Timer to simulate FPS duration Manual 'Bypass Error-Proofing' selector for Simulated Conveyor, Bit 0=Internal Byass, Bit 1=External Bypass Manual Stop Button for Simulated Conveyor, Bit 0=Internal Stop, Bit 1=External Stop % Travel Location for this conveyor to stop, set by simulation tool
UDT: udtAPI_Control (Collection of Fl) | | | | |
6 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
<SINT> Initialize:BIT, Reset:BIT, DS_ForLoop:BIT, DS_FaultHandlers:BIT, ProductionSystem:BIT, MicroLAB:BIT, Initializes all Subsystem MODE/STATE internals, executes ladXYZInitialize( ). Resets all Subsystem Data Structure to EMPTY and UNCONFIGURED, executes ladXYZReset( ). Disables Main 'For Loop' of Sub-system and executes Scan of Single Action or Element. Disables Subsystem Fault Handlers when TRUE, on by default. Indicates this MicroCODE Control system in in Production, controls things like Fault Handling and I/O Block reconfigurations Indicates this MicroCODE Control system is in the MicroCODE Lab for debug
UDT: udtAPI_ConveyorType (Constants defini) | | | | |
5 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Undefined:DINT, FPS:DINT, ALS:DINT, AGV:DINT, SAI:DINT, 0 = Undefined, this Conveyor has no type. 1 = Fixed Position Stop (FPS) - (Chain/Synchornized) Conveyor. 2 = Accumulating Lane Stops (ALS) - Stop Stations on Chain Conveyor with Lanes possible. 3 = Automated Guided Vehicles (AGV) - Stop Stations and free moving Carriers. 4 = Sub-Assembly Interface (SAI) - A special Stop Station with Operator actuated movement.
UDT: udtAPI_EppConfig (EPP does not sto) | | | | |
12 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
AREAi:DINT, CELLi:DINT, CNVs:DINT, CNVsi:DINT, CNVei:DINT, FPTs:DINT, FPTsi:DINT, FPTei:DINT, TZNs:DINT, TZNsi:DINT, TZNei:DINT, TZN[9]:udtAPI_TznConfig, (PLC) Area Index of the EPP Cell Controller (PLC) Cell Index of the EPP PLC In This Area (PLC) Number of Conveyors configured in the PLC (PLC) Conveyor Start Index (usually zero) (PLC) Conveyor Ending Index (# of CNVs - 1) (PLC) Number of Footprints configured in the PLC (PLC) Footprint Start Index (usually zero) (PLC) Footprint Ending Index (# of TZNs - 1) (PLC) Number of Track Zones configured in the PLC (PLC) Track Zone Start Index (usually zero) (PLC) Track Zone Ending Index (# of TZNs - 1) (PLC) Track Zone Level configuration gathers for API
UDT: udtAPI_Event (Used with Events) | | | | |
10 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Subsystem:SINT, Severity:SINT, Number:SINT, <SINT> Flag:BIT, Semaphore:BIT, Maintenance:BIT, Production:BIT, System:BIT, Quality:BIT, Logged_Event:BIT, Decimal code indicating the Subsystem which generated this Event. (1-255) Decimal code indicating Severity Level: Info, Warn, Error, Fatal. (1-255) Decimal code indicating a Subsystem Specific Event Number. (1-255) Flag -- this event must be logged. Semaphore -- if set Log is in use by Subsystem designated in 'Subsystem'. Maintenance Event Production Event System Event Quality Event Event was Logged since generation
UDT: udtAPI_EventData (This is a single) | | | | |
6 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Event:udtAPI_Event, Object:DINT, Data:DINT, Value:DINT, Text[40]:SINT, TimeStamp:udtAPI_TimeStamp, Unique Event Identifers and Control Bits. Decimal code identifying Object in Subsystem. Data associated with this Object's Event. Value associated with Object's Data. Message associated with this event. Date and Time in WALLCLOCKTIME Array Format.
UDT: udtAPI_FaultRecord (Controller defin) | | | | |
5 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
TimeLow:DINT, TimeHigh:DINT, Type:INT, Code:INT, Info[8]:DINT, Low 32 bits of fault timestamp value. Upper 32 bits of fault timestamp value. Fault Type (Program, I/O, etc.) Unique (by Type) Code for Fault. Fault Specific Information -- content varies by Type and Code.
UDT: udtAPI_Hal (Hardware Abstrac) | | | | |
19 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
CLX:DINT, EPP:DINT, DGN:DINT, IOX:DINT, HMI:DINT, UIX:DINT, BDX:DINT, LTS:DINT, CNV:DINT, EPX:DINT, SIM:DINT, SCN:DINT, PMX:DINT, VQX:DINT, QAX:DINT, ScanCounter:DINT, ScanTimeAverage:DINT, IOConnections:DINT, TimeSliceRemaining:REAL, ControlLogix Hardware EPP Main Program EPP Diagnostics (PFE) EPP I/O Interfaces EPP PanelView (HMI) Interface(s) EPP Server / Runtime Interface EPP GEPICS Build Data Interface EPP Line Tracking Interface(s) EPP Conveyor Interface(s) EPP Error Proofing Actions / Tasks EPP Simulation Code EPP Scanner Interface(s) EPP GPM&C Interface EPP GEPICS Trace Interface EPP Andon Interface(s) (AXP) Scan Counter for Windows App to chekc PLC execution (AXP) Average Scan Time in milliseconds (PLC) I/O Connections currently in use (AXP) Communication Time Slice remaining at end of scan
UDT: udtAPI_Inputs (Generic Inputs t) | | | | |
1 <------- EDITED (T+C) ------> 1 |████████ | | |
NEW TYPE
ElementComment
<SINT> Heartbeat:BIT, Heartbeat from Windows App
OLD TYPE
ElementComment
Maint:uc_HMIMaint, Maintenance Screen Data
UDT: udtAPI_Job_CSN (Current Sequence) | | | | |
1 <------- EDITED (T+C) ------> 2 |████████████ | |
NEW TYPE
ElementComment
Byte[12]:SINT, CSN as ASCII String, 10 characters, rounded to DINT boundary of 12 bytes.
OLD TYPE
ElementComment
Common:zz_PFEQCommon, EventData:DINT, Store value of event
UDT: udtAPI_Outputs (Generic Outputs ) | | | | |
2 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
<SINT> Heartbeat:BIT, IsRunning:BIT, Heartbeat to a Windows App Process or Simulation controlled by the Control App and AXP.API is runing
UDT: udtAPI_Semaphores (Constants for se) | | | | |
4 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Free:DINT, Erasing:DINT, Writing:DINT, Stopping:DINT, Subsystem is free, available for external access Subsytem is being initialized, all configuration is being erased Subsytem configuration is being written from an external source Subsystem is being stopped externally
UDT: udtAPI_SimResponse (Constants defini) | | | | |
10 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Undefined:DINT, Initialized:DINT, Started:DINT, Stopped:DINT, Aborted:DINT, Cleared:DINT, Saved:DINT, Restored:DINT, Captured:DINT, Reset:DINT, 0 = Undefined, this Simulation has no state, the Track Zone is in an undefined state 1 = Initialized, this Simulation has initialized the Track Zone to Empty Carriers 2 = Started, this Simulation has start, the Conveyor Simulator is running and it's ready to receive Jobs 3 = Stopped, this Simulation has stopped, data was left AS-IS, and the Conveyor Simulator has stopped 4 = Aborted, this Simulation was aborted, all data has been erased, and the Conveyor Simulator has stopped 5 = Cleared, the API filled the entire Track Zone with EMPTY CARRIERS or GAPs 6 = Saved, the API saved the entire Track Zone inot the EPP PLC's BACKUP 7 = Restored, the API restored the entire Track Zone with the EPP PLC's BACKUP 8 = Captured, the API captured the entire Track Zone current GEPICS ODD Job Data 9 = Reset, Simulation was reset
UDT: udtAPI_SimState (Constants defini) | | | | |
4 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Undefined:DINT, Initialized:DINT, Running:DINT, Stopped:DINT, 0 = Undefined, this Simulation has no state, the Track Zone is in an undefined state. 1 = Initialized, this Simulation has initialized the Track Zone to Empty Carriers. 2 = Running, this Simulation has started, the Conveyor Simulator is running and it's ready to receive Jobs. 3 = Stopped, this Simulation has stopped.
UDT: udtAPI_States (Constants for se) | | | | |
8 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Unconfigured:DINT, Configured:DINT, Initialized:DINT, Running:DINT, Stopped:DINT, Warnings:DINT, Errors:DINT, Faults:DINT, Blank / zeroed data in the Controller Data has been written from an external source to set-up the Subsystem objects All Subsystem Objects have been intialized and are ready for execution The Subsystem and all its Objects are running with no issues The Subsystem and all its Objects are stopped The Subsystem and one or more of its Objects are running with warnings The Subsystem and one or more of its Objects are running with errors The Subsystem and one or more of its Objects are running with faults
UDT: udtAPI_TimeStamp (Time Stamp in WA) | | | | |
7 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Year:DINT, Month:DINT, Day:DINT, Hour:DINT, Minute:DINT, Second:DINT, uSecond:DINT, Year 1-12 1-31 0-23 0-59 0-59 0-999,999
UDT: udtAPI_TznCommands (Track Zone level) | | | | |
27 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
State:DINT, Response:DINT, FPTi:DINT, <SINT> Initialize:BIT, StartSimulation:BIT, StopSimulation:BIT, AbortSimulation:BIT, ToggleConveyor:BIT, FasterConveyor:BIT, SlowerConveyor:BIT, BypassConveyor:BIT, <SINT> ToggleSimulated:BIT, ClearTrackZone:BIT, EmptyTrackZone:BIT, SaveTrackZone:BIT, RestoreTrackZone:BIT, CaptureODD:BIT, ClearODD:BIT, ClearQAS:BIT, <SINT> ClearQDX:BIT, ClearVCX:BIT, MakeReady:BIT, MakeRestart:BIT, MakeEmpty:BIT, MakeGap:BIT, StopRelease:BIT, ODD[2048]:SINT, 0=Undefined, 1=Intialized, 2=Running, 3=Stopped 0=Undefined, 1=Intialized, 2=Started, 3=Stopped, 4=Aborted, 5=Emptied, 6=Saved, 7=Restored, 8=Captured Footprint Index currently in use by the MicroCODE Control App Prepares the Track Zone and Conveyor for Simulation Starts the flow of simulated Jobs from the MicroCODE Control App Stops the flow of simulated Jobs from the MicroCODE Control App Aborts current Simulation all togther - clears Track Zone Run toggles the SEP Conveyor simulation - RUN/STOP Increase Simulated Conveyor Speed Decrease Simulated Conveyor Speed Place Track Zone Conveyor in 'Bypass' Mode - i.e.: Run forever Run toggles the SEP Conveyor simulation mode REAL/SIM Fills entire Track Zone with GAPs Fills entire Track Zone with EMPTY CARRIERs Save the entire Track Zone into the EPP PLC Backup Restore entire Track Zone from the EPP PLC Backup Captures current GEPICS/ODD Data into a Viewer compatible tag Clears all GEPICS/ODD Data in the EPP PLC Clear any active QAS Stop Requests - i.e.: Run in next Job Empty GSIP Defect Queue of all entries. Empty GEPICS Trace Queue of all entries. Make an BLANK SPACE in the selected Footprint Forces work to restart on the JOB in the current Fooptrint Make an EMPTY CARRIER in the selected Footprint Make an GAP in the selected Footprint Shift JOB out of Footprint - simulate Stop Opening Last GEPICS ODD Record
UDT: udtAPI_TznConfig (EPP does not sto) | | | | |
10 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
ConveyorType:DINT, FPTs:DINT, FPTsi:DINT, FPTei:DINT, LTAs:DINT, LTAsi:DINT, LTAei:DINT, CNVs:DINT, CNVsi:DINT, CNVei:DINT, Definition of Conveyor Type - see udtAPI_ConveyorType (PLC) Number of Footprints associated with this Track Zone (PLC) Starting index to Footprints (PLC) Index to the last Footprint (PLC) Number of Tracking Positions associated with this Track Zone (PLC) Starting index to Tracking Data (PLC) Index to the last Tracking Position (PLC) Number of Conveyors interfaces associated with this Track Zone (PLC) Starting index to Conveyor interfaces (PLC) Index to the last Conveyor interface
UDT: udtAPI_TznConveyor (Control data for) | | | | |
12 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
ConveyorType:DINT, ConveyorName[8]:SINT, I:zz_EPFromConveyor, O:zz_EPForConveyor, FPSRelease:DINT, StopRequests:DINT, NotDone:DINT, Simulated:udtAPI_CnvSimulation, Running:TIMER, RunningMax:DINT, Encoder:COUNTER, EncoderMax:DINT, Conveyor Type: 0=Undefined, 1=FPS, 2=ALS, 3=AGV. Conveyor Name for display in Control App Inputs from Conveyor (SIM or REAL) Outputs to Conveyor (SIM or REAL) Simulated FPS Release Point Summated by the API code for display Summated by the API code for display Data for MicroCODE Control App implementation of a Simulated Conveyor (API) Used to implement 'Dummy Encoder' Scheme. (API) Maximum milliseconds seen between FPS Signals. (API) Used to implement 'Dummy Encoder' Scheme. (API) Maximum seen between FPS Signals.
UDT: udtAPI_TznFootprint (Configuration da) | | | | |
3 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
TZNi:DINT, CNVi:DINT, LTAi:DINT, (PLC) Track Zone associated this Footprint (PLC) Conveyor associated with this Fooptrint (PLC) Tracking Image position associated with this Fooptrint
UDT: udtAPI_Version (App Version Numb) | | | | |
4 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Major:DINT, Minor:DINT, Release:DINT, Build:DINT, Major Version Number Minor Version Number Release Number Build Number
UDT: udtASCII (Complete ASCII C) | | | | |
128 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
NULL:SINT, SOH:SINT, STX:SINT, ETX:SINT, EOT:SINT, ENQ:SINT, ACK:SINT, BEL:SINT, BS:SINT, HT:SINT, LF:SINT, VT:SINT, FF:SINT, CR:SINT, SO:SINT, SI:SINT, DLE:SINT, DC1_XON:SINT, DC2:SINT, DC3:SINT, DC4_XOFF:SINT, NAK:SINT, SYN:SINT, ETB:SINT, CAN:SINT, EM:SINT, SUB:SINT, ESC:SINT, FS:SINT, GS:SINT, RS:SINT, US:SINT, Space:SINT, ExclamationPoint:SINT, QuotationMark:SINT, PoundSign:SINT, DollarSign:SINT, PercentSign:SINT, Ampersand:SINT, Apostrophe:SINT, OpenParenthesis:SINT, CloseParenthesis:SINT, Asterisk:SINT, PlusSign:SINT, Comma:SINT, MinusSign:SINT, Period:SINT, Slash:SINT, _0:SINT, _1:SINT, _2:SINT, _3:SINT, _4:SINT, _5:SINT, _6:SINT, _7:SINT, _8:SINT, _9:SINT, Colon:SINT, SemiColon:SINT, LessThanSign:SINT, EqualSign:SINT, GreaterThanSign:SINT, QuestionMark:SINT, AtSign:SINT, A:SINT, B:SINT, C:SINT, D:SINT, E:SINT, F:SINT, G:SINT, H:SINT, I:SINT, J:SINT, K:SINT, L:SINT, M:SINT, N:SINT, O:SINT, P:SINT, Q:SINT, R:SINT, S:SINT, T:SINT, U:SINT, V:SINT, W:SINT, X:SINT, Y:SINT, Z:SINT, OpenBracket:SINT, Backslash:SINT, CloseBracket:SINT, Caret:SINT, Underscore:SINT, GraveAccent:SINT, _a:SINT, _b:SINT, _c:SINT, _d:SINT, _e:SINT, _f:SINT, _g:SINT, _h:SINT, _i:SINT, _j:SINT, _k:SINT, _l:SINT, _m:SINT, _n:SINT, _o:SINT, _p:SINT, _q:SINT, _r:SINT, _s:SINT, _t:SINT, _u:SINT, _v:SINT, _w:SINT, _x:SINT, _y:SINT, _z:SINT, OpenBrace:SINT, Pipes:SINT, CloseBrace:SINT, Tilde:SINT, Delete:SINT, ASCII Code: (nul) 0 ^o000 ^x00 ^@ \0 NULL. ASCII Code: (soh) 1 ^o001 ^x01 ^A START OF HEADER. ASCII Code: (stx) 2 ^o002 ^x02 ^B START OF TEXT. ASCII Code: (etx) 3 ^o003 ^x03 ^C END OF TEXT. ASCII Code: (eot) 4 ^o004 ^x04 ^D END OF TRANSMISSION. ASCII Code: (enq) 5 ^o005 ^x05 ^E ENQUIRY. ASCII Code: (ack) 6 ^o006 ^x06 ^F ACKNOWLEDGEMENT. ASCII Code: (bel) 7 ^o007 ^x07 ^G \a BELL (ALERT). ASCII Code: (bs) 8 ^o010 ^x08 ^H \b BACKSPACE. ASCII Code: (ht) 9 ^o011 ^x09 ^I \t HORIZONTAL TAB. ASCII Code: (nl) 10 ^o012 ^x0a ^J \n LINE FEED (NEW LINE). ASCII Code: (vt) 11 ^o013 ^x0b ^K \v VERTICAL TAB. ASCII Code: (ff) 12 ^o014 ^x0c ^L \f FORM FEED. ASCII Code: (cr) 13 ^o015 ^x0d ^M \r CARRIAGE RETURN. ASCII Code: (so) 14 ^o016 ^x0e ^N SHIFT OUT. ASCII Code: (si) 15 ^o017 ^x0f ^O SHIFT IN. ASCII Code: (dle) 16 ^o020 ^x10 ^P DATA LINK ESCAPE. ASCII Code: (dc1) 17 ^o021 ^x11 ^Q DEVICE CONTROL 1 (XON). ASCII Code: (dc2) 18 ^o022 ^x12 ^R DEVICE CONTROL 2. ASCII Code: (dc3) 19 ^o023 ^x13 ^S DEVICE CONTROL 3. ASCII Code: (dc4) 20 ^o024 ^x14 ^T DEVICE CONTROL 4 (XOFF). ASCII Code: (nak) 21 ^o025 ^x15 ^U NEGATIVE ACKNOWLEDGEMENT. ASCII Code: (syn) 22 ^o026 ^x16 ^V SYNCHRONIZE IDLE. ASCII Code: (etb) 23 ^o027 ^x17 ^W END OF TRANSMISSION BLOCK. ASCII Code: (can) 24 ^o030 ^x18 ^X CANCEL. ASCII Code: (em) 25 ^o031 ^x19 ^Y END OF MEDIUM. ASCII Code: (sub) 26 ^o032 ^x1a ^Z SUBSTITUTE. ASCII Code: (esc) 27 ^o033 ^x1b ^[ \e ESCAPE. ASCII Code: (fs) 28 ^o034 ^x1c ^\ FILE SEPARATOR - RIGHT ARROW. ASCII Code: (gs) 29 ^o035 ^x1d ^] GROUP SEPARATOR - LEFT ARROW. ASCII Code: (rs) 30 ^o036 ^x1e ^^ RECORD SEPARATOR - UP ARROW. ASCII Code: (us) 31 ^o037 ^x1f ^_ UNIT SEPARATOR - DOWN ARROW. ASCII Code: (sp) 32 ^o040 ^x20 SPACE. ASCII Code: ! 33 ^o041 ^x21. ASCII Code: " 34 ^o042 ^x22 \" DOUBLE QUOTE. ASCII Code: # 35 ^o043 ^x23. ASCII Code: $ 36 ^o044 ^x24. ASCII Code: % 37 ^o045 ^x25. ASCII Code: 38 ^o046 ^x26. ASCII Code: ' 39 ^o047 ^x27 \' SINGLE QUOTE. ASCII Code: ( 40 ^o050 ^x28. ASCII Code: ) 41 ^o051 ^x29. ASCII Code: * 42 ^o052 ^x2a. ASCII Code: + 43 ^o053 ^x2b. ASCII Code: , 44 ^o054 ^x2c. ASCII Code: - 45 ^o055 ^x2d. ASCII Code: . 46 ^o056 ^x2e. ASCII Code: / 47 ^o057 ^x2f. ASCII Code: 0 48 ^o060 ^x30. ASCII Code: 1 49 ^o061 ^x31. ASCII Code: 2 50 ^o062 ^x32. ASCII Code: 3 51 ^o063 ^x33. ASCII Code: 4 52 ^o064 ^x34. ASCII Code: 5 53 ^o065 ^x35. ASCII Code: 6 54 ^o066 ^x36. ASCII Code: 7 55 ^o067 ^x37. ASCII Code: 8 56 ^o070 ^x38. ASCII Code: 9 57 ^o071 ^x39. ASCII Code: : 58 ^o072 ^x3a. ASCII Code: ; 59 ^o073 ^x3b. ASCII Code: < 60 ^o074 ^x3c. ASCII Code: = 61 ^o075 ^x3d. ASCII Code: > 62 ^o076 ^x3e. ASCII Code: ? 63 ^o077 ^x3f. ASCII Code: @ 64 ^o100 ^x40. ASCII Code: A 65 ^o101 ^x41. ASCII Code: B 66 ^o102 ^x42. ASCII Code: C 67 ^o103 ^x43. ASCII Code: D 68 ^o104 ^x44. ASCII Code: E 69 ^o105 ^x45. ASCII Code: F 70 ^o106 ^x46. ASCII Code: G 71 ^o107 ^x47. ASCII Code: H 72 ^o110 ^x48. ASCII Code: I 73 ^o111 ^x49. ASCII Code: J 74 ^o112 ^x4a. ASCII Code: K 75 ^o113 ^x4b. ASCII Code: L 76 ^o114 ^x4c. ASCII Code: M 77 ^o115 ^x4d. ASCII Code: N 78 ^o116 ^x4e. ASCII Code: O 79 ^o117 ^x4f. ASCII Code: P 80 ^o120 ^x50. ASCII Code: Q 81 ^o121 ^x51. ASCII Code: R 82 ^o122 ^x52. ASCII Code: S 83 ^o123 ^x53. ASCII Code: T 84 ^o124 ^x54. ASCII Code: U 85 ^o125 ^x55. ASCII Code: V 86 ^o126 ^x56. ASCII Code: W 87 ^o127 ^x57. ASCII Code: X 88 ^o130 ^x58. ASCII Code: Y 89 ^o131 ^x59. ASCII Code: Z 90 ^o132 ^x5a. ASCII Code: [ 91 ^o133 ^x5b. ASCII Code: \ 92 ^o134 ^x5c \\ BACKSLASH. ASCII Code: ] 93 ^o135 ^x5d. ASCII Code: ^ 94 ^o136 ^x5e. ASCII Code: _ 95 ^o137 ^x5f. ASCII Code: ` 96 ^o140 ^x60. ASCII Code: a 97 ^o141 ^x61. ASCII Code: b 98 ^o142 ^x62. ASCII Code: c 99 ^o143 ^x63. ASCII Code: d 100 ^o144 ^x64. ASCII Code: e 101 ^o145 ^x65. ASCII Code: f 102 ^o146 ^x66. ASCII Code: g 103 ^o147 ^x67. ASCII Code: h 104 ^o150 ^x68. ASCII Code: i 105 ^o151 ^x69. ASCII Code: j 106 ^o152 ^x6a. ASCII Code: k 107 ^o153 ^x6b. ASCII Code: l 108 ^o154 ^x6c. ASCII Code: m 109 ^o155 ^x6d. ASCII Code: n 110 ^o156 ^x6e. ASCII Code: o 111 ^o157 ^x6f. ASCII Code: p 112 ^o160 ^x70. ASCII Code: q 113 ^o161 ^x71. ASCII Code: r 114 ^o162 ^x72. ASCII Code: s 115 ^o163 ^x73. ASCII Code: t 116 ^o164 ^x74. ASCII Code: u 117 ^o165 ^x75. ASCII Code: v 118 ^o166 ^x76. ASCII Code: w 119 ^o167 ^x77. ASCII Code: x 120 ^o170 ^x78. ASCII Code: y 121 ^o171 ^x79. ASCII Code: z 122 ^o172 ^x7a. ASCII Code: { 123 ^o173 ^x7b. ASCII Code: | 124 ^o174 ^x7c. ASCII Code: } -- 125 ^o175 ^x7d. ASCII Code: ~ 126 ^o176 ^x7e. ASCII Code: (del) 127 ^o177 ^x7f.
UDT: u_EPPtoPTInterlocks (Group two statio) | | | | |
7 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Comm:CONNECTION_STATUS, TGGS010:zc_EPEPtoPTInterlock, TGGS020:zc_EPEPtoPTInterlock, <SINT> FP002L_SecuresComp:BIT, FP002R_SecuresComp:BIT, FP003L_SecuresComp:BIT, FP003R_SecuresComp:BIT,
UDT: u_PTtoEPPInterlocks (Group two statio) | | | | |
3 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Comm:CONNECTION_STATUS, TGGS010:zc_EPPTCtoEPCInterlock, TGGS020:zc_EPPTCtoEPCInterlock,
UDT: zc_EPEPtoPTInterlock (EPP GCCS Proces) | | | | |
2 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Comm:CONNECTION_STATUS, ToPTC:zc_EPPTCOutput, Producer/ Consumer Connection Status EP to Process Tool Controller
| | | | |

TYPEs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Types (UDTs)

NEW MEMBERs: COMPARISON: OLD MEMBERs: DEFINITION EDIT LEVEL: 0 25 50 75 100 UDT: zc_EPPTCtoEPCInterlock (EPP GCCS Proces) | | | | |
2 <--- INSERTED |████████████████████
INSERTED TYPE
ElementComment
Comm:CONNECTION_STATUS, FromPTC:zc_EPTPTCInput, Producer/ Consumer Connection Status Process Tool to EP
UDT: zz_GTRStatus (Matrox GTR Camer) | | | | |
15 <------- EDITED (T+C) ------> 12 | | | | |
NEW TYPE
ElementComment
<SINT> NotReady:BIT, Bypassed:BIT, Triggered:BIT, Complete:BIT, CompleteMemory:BIT, Pass:BIT, PassMemory:BIT, Fail:BIT, <SINT> LocateToolFailed:BIT, VisionToolFailed:BIT, FailMemory:BIT, FailedTrigger:BIT, SubtasksMatch:BIT, SubtasksMatchMemory:BIT, SubtasksFeedback:INT, Camera Not Ready/Unknown Camera Bypassed Camera Triggered Trigger Complete Trigger Complete Memory Passed Inspection Passed Inspection Memory Failed Inspection Locate Tool Inspection Failed Vision Tool Inspection Failed Failed Inspection Memory Failed Trigger Subtasks Feedback Match Config Subtasks Feedback Match Config Memory Subtasks Feedback
OLD TYPE
ElementComment
<SINT> NotReady:BIT, Bypassed:BIT, Triggered:BIT, Complete:BIT, CompleteMemory:BIT, Pass:BIT, PassMemory:BIT, Fail:BIT, <SINT> LocateToolFailed:BIT, BlobToolFailed:BIT, FailMemory:BIT, FailedTrigger:BIT, Camera Not Ready/Unknown Camera Bypassed Camera Triggered Trigger Complete Trigger Complete Memory Passed Inspection Passed Inspection Memory Failed Inspection Locate Tool Inspection Failed Blob Tool Inspection Failed Failed Inspection Memory Failed Trigger
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

TYPEs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Types (UDTs)

OLD MEMBERs: DEFINITION EDIT LEVEL: 0 25 50 75 100 U S E R D E F I N E D U D T S | | | | | UDT: uc_HMIMaint (User Defined Mai) | | | | |
DELETED ---> 16 |████████████████████
DELETED TYPE
ElementComment
<SINT> PurgeEnable:BIT, AllRobotsRtnFromRpr:BIT, AllRobotsAtHome:BIT, ClampHoldReq:SINT, CnvCyclePalletsReq:SINT, CnvCyclePalletsOn:SINT, RackBypassReq:SINT, RackBypassOn:SINT, FixtureBypassReq:SINT, ResetSteppers:SINT, SteppersReset:SINT, WaterOff:SINT, BypassJobIDCheckPB1:DINT, BypassJobIDCheckPB2:DINT, JobIDCheckBypassed1:DINT, JobIDCheckBypassed2:DINT, Enable Purge With Gate Open Return All Robots From Repair All Robots At Home Clamp And Hold Request Cycle Empty Pallets Request Cycle Empty Pallets Mode On Bypass Rack Request Bypass Rack On Turntable Fixture Bypass Request Reset Station Steppers Station Steppers Are Reset Station Water Off Detection Bypass Job ID Verification Bypass Job ID Verification Job ID Verification Bypassed Job ID Verification Bypassed
UDT: up_EPCustomVS (Error Proofing C) | | | | |
DELETED ---> 7 |████████████████████
DELETED TYPE
ElementComment
strPVI:zz_String12, Buffer[16]:SINT, <SINT> Active:BIT, MatchVID:BIT, ToGo:BIT, Started:BIT, Spare:BIT, Current Job PVI Server Data Buffer Action Active Station VID Matches Server VID OK to Go Received from Server Data Received From Server Spare
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

TYPEs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 | | | | | TASK: FIRMWARE (D+C) | | | | | | | | | | PROGRAM: CONTROLLER (D+C) | | | | | C O N T R O L L E R L E V E L T A G S | | | | | TAG: API (udtAPI) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API udtAPI

TAG: API_ClearFault (udtAPI_FaultRecord) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_ClearFault For all Fault Handlers, used to clear faults while maintaining record of fault data until logged. udtAPI_FaultRecord

TAG: API_ConveyorType (udtAPI_ConveyorType) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_ConveyorType Enumeration defining all API Conveyor Types. udtAPI_ConveyorType

TAG: API_Enum08 (SINT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

API_Enum08 8 Bit Numbers, starting at ZERO, in an array used to initialize other UDT based Tags that define numerations. SINT[]

OLD TAG

RuntimeToolSts1FP01 Error Proofing Task Runtime Statuses SINT[]

TAG: API_Enum16 (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

API_Enum16 16 Bit Numbers, starting at ZERO, in an array used to initialize other UDT based Tags that define numerations. INT[]

OLD TAG

EPV_VCVS_Stations Response Data from GEPIC for Trace. Data INT[]

TAG: API_Enum32 (DINT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

API_Enum32 32 Bit Numbers, starting at ZERO, in an array used to initialize other UDT based Tags that define numerations. DINT[]

OLD TAG

PFEFromHostBuffer PFE From Host Buffer DINT[]

TAG: API_EventData (udtAPI_EventData) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_EventData Current Diagnostic Event being logged by a API Subsystem. udtAPI_EventData

TAG: API_Semaphore (udtAPI_Semaphores) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_Semaphore Enumeration defining all API Subsystem Semaphore states. udtAPI_Semaphores

TAG: API_SimResponse (udtAPI_SimResponse) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_SimResponse Enumeration defining all API Simulation responses. udtAPI_SimResponse

TAG: API_SimState (udtAPI_SimState) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_SimState Enumeration defining all API Simulation states. udtAPI_SimState

TAG: API_State (udtAPI_States) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_State Enumeration defining API Subsystem Code States. udtAPI_States

TAG: ASCII (udtASCII) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ASCII ASCII Character Set where every code is accessible by name for readability. udtASCII

TAG: BF001FromConveyor (zz_EPFromConveyor) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

BF001FromConveyor zz_EPFromConveyor

TAG: CG_GTG01Z1Controller | | | | | (zc_ControllerRemWithStatus) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

CG_GTG01Z1Controller CG_GAc1 Remote Controller Status zc_ControllerRemWithStatus

OLD TAG

CG_GTG01Controller CG_GTG01 Remote Controller Status zc_ControllerRemWithStatus

TAG: CG_GTG01Z1toEP_GTG01Z1Interlocks | | | | | (uc_CG_GTG01Z1PLCtoEP_GTG01TZ1PLC) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

CG_GTG01Z1toEP_GTG01Z1Interlocks CG_GAc1 Interlocks uc_CG_GTG01Z1PLCtoEP_GTG01TZ1PLC

TAG: ConfigArraySize2 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize2 Error Proofing Config Array Sizes zc_EPConfigArraySize

TAG: ConfigArraySize3 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize3 Error Proofing Config Array Sizes zc_EPConfigArraySize

TAG: ConfigArraySize4 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize4 Error Proofing Config Array Sizes zc_EPConfigArraySize

TAG: ConfigArraySize5 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize5 Error Proofing Config Array Sizes zc_EPConfigArraySize

TAG: ConfigArraySize6 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize6 Error Proofing Config Array Sizes zc_EPConfigArraySize

TAG: ConfigArraySize7 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize7 Error Proofing Config Array Sizes zc_EPConfigArraySize

TAG: ConfigArraySize8 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize8 Error Proofing Config Array Sizes zc_EPConfigArraySize

TAG: ConfigArraySize9 (zc_EPConfigArraySize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ConfigArraySize9 Error Proofing Config Array Sizes zc_EPConfigArraySize

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: DisplayStationName (zz_String20[]) | | | | |
{array} <--- INSERTED |████████████████████
INSERTED TAG

DisplayStationName zz_String20[]

TAG: ENetNetwork14 (zc_EnetNetwork) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ENetNetwork14 zc_EnetNetwork

TAG: ENetNetwork15 (zc_EnetNetwork) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ENetNetwork15 zc_EnetNetwork

TAG: ENetNetwork16 (zc_EnetNetwork) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ENetNetwork16 zc_EnetNetwork

TAG: EPEN2TSlot3 (zd_EthernetModule) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

EPEN2TSlot3 Ethernet Module zd_EthernetModule

TAG: EPEN2TSlot4 (zd_EthernetModule) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

EPEN2TSlot4 Ethernet Module zd_EthernetModule

TAG: EPPLCENET (zd_EthernetModule) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

EPPLCENET zd_EthernetModule

OLD TAG

EPPLCENET PLC Enet Port zd_EthernetModule

TAG: EP_GTG01TZ1toCG_GTG01Z1Interlocks | | | | | (uc_EP_GTG01TZ1PLCtoCG_GTG01Z1PLC) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

EP_GTG01TZ1toCG_GTG01Z1Interlocks Interlock Buffer to CG_GAc1 Conveyor uc_EP_GTG01TZ1PLCtoCG_GTG01Z1PLC

TAG: EP_GTG01Z1toGA_TGGS01Interlocks | | | | | (u_EPPtoPTInterlocks) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

EP_GTG01Z1toGA_TGGS01Interlocks u_EPPtoPTInterlocks

TAG: EP_GTG01Z1toGA_TGGS02Interlocks | | | | | (u_EPPtoPTInterlocks) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

EP_GTG01Z1toGA_TGGS02Interlocks u_EPPtoPTInterlocks

TAG: FP001FromConveyor (zz_EPFromConveyor) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP001FromConveyor zz_EPFromConveyor

TAG: FP002FromConveyor (zz_EPFromConveyor) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP002FromConveyor zz_EPFromConveyor

TAG: FP003FromConveyor (zz_EPFromConveyor) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP003FromConveyor zz_EPFromConveyor

TAG: FPEntryFromConveyor (zz_EPFromConveyor) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FPEntryFromConveyor zz_EPFromConveyor

TAG: FPEntry_FP01_Empty (BOOL) | | | | |
off <------- EDITED (C) --------> off | | | | |
NEW TAG

FPEntry_FP01_Empty FPEntry & FP001 Empty BOOL

OLD TAG

TBD Replace This Instruction With Application Specific Instruction(s) BOOL

TAG: GA_TGGS01toEP_GTG01Z1Interlocks | | | | | (u_PTtoEPPInterlocks) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

GA_TGGS01toEP_GTG01Z1Interlocks u_PTtoEPPInterlocks

TAG: GA_TGGS02toEP_GTG01Z1Interlocks | | | | | (u_PTtoEPPInterlocks) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

GA_TGGS02toEP_GTG01Z1Interlocks u_PTtoEPPInterlocks

TAG: GEPICS2_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS2_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_00_RX Reply to Subsystem SNS TX Message. INT[]

TAG: GEPICS3_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS3_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_01_RX Reply to Subsystem SNS TX Message. INT[]

TAG: GEPICS4_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS4_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_01_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: GEPICS5_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS5_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_02_RX Reply to Subsystem SNS TX Message. INT[]

TAG: GEPICS6_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS6_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_02_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: GEPICS7_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS7_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_03_RX Reply to Subsystem SNS TX Message. INT[]

TAG: GEPICS8_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS8_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_03_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

| | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: GEPICS9_BDRx_Flat (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

GEPICS9_BDRx_Flat GEPICS Return to PLC Build Data Packet INT[]

OLD TAG

LTS_EXT_04_RX Reply to Subsystem SNS TX Message. INT[]

TAG: JobID1WorkComplete (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

JobID1WorkComplete LTC ID Scan Work Complete BOOL

TAG: kValue (DINT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

kValue PFE kValue List Use Only 1 Per Value in Controller DINT[]

OLD TAG

kValue PFE kValue List DINT[]

TAG: L_CPU_PortCapAttrList (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

L_CPU_PortCapAttrList List of Attributes for GetAttrList on Port Capacity Object INT[]

OLD TAG

LTS_EXT_04_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: L_CPU_PortCapyData (INT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

L_CPU_PortCapyData Port Capacity Object response to GetAttrList Msg INT[]

OLD TAG

LTS_EXT_05_RX Reply to Subsystem SNS TX Message. INT[]

TAG: RuntimeStatus (SINT[]) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

RuntimeStatus Error Proofing Track Zone Runtime Statuses SINT[]

OLD TAG

RuntimeToolSts1FP02 Error Proofing Task Runtime Statuses SINT[]

TAG: TempEntryString1 (zz_String20) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TempEntryString1 zz_String20

TAG: TrackingBuffer2 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer2 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingBuffer3 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer3 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingBuffer4 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer4 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingBuffer5 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer5 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingBuffer6 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer6 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingBuffer7 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer7 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingBuffer8 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer8 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingBuffer9 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingBuffer9 Error Proofing Vehicle Tracking Buffer zc_EPTrackingImage[]

TAG: TrackingImage2 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage2 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImage3 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage3 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImage4 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage4 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImage5 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage5 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImage6 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage6 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImage7 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage7 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImage8 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage8 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImage9 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImage9 Error Proofing Vehicle Tracking Image zc_EPTrackingImage[]

TAG: TrackingImageBackup2 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup2 Error Proofing Vehicle Tracking Simulation Backup zc_EPTrackingImage[]

TAG: TrackingImageBackup3 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup3 Error Proofing Vehicle Tracking Simulation Backup zc_EPTrackingImage[]

TAG: TrackingImageBackup4 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup4 Error Proofing Vehicle Tracking SImulation Backup zc_EPTrackingImage[]

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: TrackingImageBackup5 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup5 Error Proofing Vehicle Tracking SImulation Backup zc_EPTrackingImage[]

TAG: TrackingImageBackup6 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup6 Error Proofing Vehicle Tracking SImulation Backup zc_EPTrackingImage[]

TAG: TrackingImageBackup7 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup7 Error Proofing Vehicle Tracking SImulation Backup zc_EPTrackingImage[]

TAG: TrackingImageBackup8 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup8 Error Proofing Vehicle Tracking SImulation Backup zc_EPTrackingImage[]

TAG: TrackingImageBackup9 (zc_EPTrackingImage[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingImageBackup9 Error Proofing Vehicle Tracking SImulation Backup zc_EPTrackingImage[]

TAG: _FP02Task5Delay (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

_FP02Task5Delay TIMER

TAG: _FP02Task6 (COUNTER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

_FP02Task6 COUNTER

TAG: _FP02Task6Delay (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

_FP02Task6Delay TIMER

TAG: _HIT_ClearModel (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

_HIT_ClearModel DINT

TAG: _HTI (DINT) | | | | |
2146433792 <--- INSERTED |████████████████████
INSERTED TAG

_HTI DINT

TAG: L_CPU_MsgGetConnUse (MESSAGE) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

L_CPU_MsgGetConnUse Message: Get Connection Usage DataMessage: Get Connection Usage Data MESSAGE

OLD TAG

Client12_Connect_MSG MESSAGE

| | | | | TASK: MainTask (D+C) | | | | | | | | | | PROGRAM: MCP (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: EN2TSlot3 (Alias) | | | | |
{alias} <--- INSERTED |████████████████████
INSERTED TAG

EN2TSlot3 ENBT Module Alias

TAG: EN2TSlot4 (Alias) | | | | |
{alias} <--- INSERTED |████████████████████
INSERTED TAG

EN2TSlot4 ENBT Module Alias

TAG: GTG01Z1ES12AOI (za_EnetSwitchBuild) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

GTG01Z1ES12AOI za_EnetSwitchBuild

TAG: GTG01Z1ES13AOI (za_EnetSwitchBuild) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

GTG01Z1ES13AOI za_EnetSwitchBuild

TAG: GTG01Z1ES14AOI (za_EnetSwitchBuild) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

GTG01Z1ES14AOI za_EnetSwitchBuild

TAG: PLCENET (Alias) | | | | |
{alias} <------- EDITED (C) --------> {alias} | | | | |
NEW TAG

PLCENET Alias

OLD TAG

PLCENET PLC Enet Port Alias

| | | | | PROGRAM: FPEntry1 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: BC01ToHMI (Alias) | | | | |
{alias} <------- EDITED (C) --------> {alias} | | | | |
NEW TAG

BC01ToHMI Alias

OLD TAG

BC01ToHMI Camera HMI Alias

TAG: CAM01 (Alias) | | | | |
{alias} <------- EDITED (C) --------> {alias} | | | | |
NEW TAG

CAM01 Alias

OLD TAG

CAM01 Matrox Camera Alias

TAG: ConvStatus (zc_EPConvStatus) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

ConvStatus Conveyor Status Alias zc_EPConvStatus

OLD TAG

ConvStatus Conveyor Status zc_EPConvStatus

TAG: FromConveyor (Alias) | | | | |
{alias} <------- EDITED (T) --------> … | | | | |
NEW TAG

FromConveyor Interlocks From Conveyor Alias

OLD TAG

FromConveyor Interlocks From Conveyor zz_EPFromConveyor

| | | | | PROGRAM: FP001 (D+C) | | | | | | | | | | | | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 P R O G R A M L E V E L T A G S | | | | | TAG: ConvStatus (zc_EPConvStatus) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

ConvStatus Conveyor Status Alias zc_EPConvStatus

OLD TAG

ConvStatus Conveyor Status zc_EPConvStatus

TAG: FromConveyor (Alias) | | | | |
{alias} <------- EDITED (C) --------> {alias} | | | | |
NEW TAG

FromConveyor Conveyor Status To Error Proofing Alias

OLD TAG

ExtMsg02 Alias

TAG: StopReqLeft (BOOL) | | | | |
off <------- EDITED (T) --------> {alias} | | | | |
NEW TAG

StopReqLeft BOOL

OLD TAG

StopReqLeft Alias

| | | | | PROGRAM: FP002 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: ConvStatus (zc_EPConvStatus) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

ConvStatus Conveyor Status Alias zc_EPConvStatus

OLD TAG

ConvStatus Conveyor Status zc_EPConvStatus

TAG: FromConveyor (Alias) | | | | |
{alias} <------- EDITED (C) --------> {alias} | | | | |
NEW TAG

FromConveyor Conveyor Status To Error Proofing Alias

OLD TAG

HMI1Maint Maintenance Screen Data Alias Alias

TAG: OneShot (DINT) | | | | |
65536 <------- EDITED (C) --------> 0 | | | | |
NEW TAG

OneShot DINT

OLD TAG

OneShot One-Shot DINT

TAG: StopReqRight (BOOL) | | | | |
off <------- EDITED (T) --------> {alias} | | | | |
NEW TAG

StopReqRight BOOL

OLD TAG

StopReqRight Alias

| | | | | PROGRAM: BF001 (C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: ConvStatus (zc_EPConvStatus) | | | | |
… <------- EDITED (C) --------> … | | | | |
NEW TAG

ConvStatus Conveyor Status Alias zc_EPConvStatus

OLD TAG

ConvStatus Conveyor Status zc_EPConvStatus

TAG: FromConveyor (Alias) | | | | |
{alias} <------- EDITED (C) --------> {alias} | | | | |
NEW TAG

FromConveyor Conveyor Status To Error Proofing Alias

OLD TAG

HMI1Maint Maintenance Screen Data Alias Alias

| | | | | PROGRAM: FP003 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: ConvStatus (zc_EPConvStatus) | | | | |
… <------- EDITED (T) --------> {alias} | | | | |
NEW TAG

ConvStatus Conveyor Status Alias zc_EPConvStatus

OLD TAG

ConvStatus Conveyor Status Alias Alias

TAG: FromConveyor (Alias) | | | | |
{alias} <------- EDITED (C) --------> {alias} | | | | |
NEW TAG

FromConveyor Conveyor Status To Error Proofing Alias

OLD TAG

ExtMsg01 Alias

TAG: OneShot (DINT) | | | | |
0 <------- EDITED (C) --------> 0 | | | | |
NEW TAG

OneShot DINT

OLD TAG

OneShot One-Shot DINT

| | | | | PROGRAM: HMI1 (D) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: ExtMsgLog02 (uc_EPExtMsgLogSize) | | | | |
… <------- EDITED (T) --------> {alias} | | | | |
NEW TAG

ExtMsgLog02 External Message Transaction Log uc_EPExtMsgLogSize

OLD TAG

ExtMsgLog02 External Message Transaction Log Alias

TAG: ExtMsgLog03 (uc_EPExtMsgLogSize) | | | | |
… <------- EDITED (T) --------> {alias} | | | | |
NEW TAG

ExtMsgLog03 External Message Transaction Log uc_EPExtMsgLogSize

OLD TAG

ExtMsgLog03 External Message Transaction Log Alias

TAG: ExtMsgLog04 (uc_EPExtMsgLogSize) | | | | |
… <------- EDITED (T) --------> {alias} | | | | |
NEW TAG

ExtMsgLog04 External Message Transaction Log uc_EPExtMsgLogSize

OLD TAG

ExtMsgLog04 External Message Transaction Log Alias

TAG: HMItoSta04 (Alias) | | | | |
{alias} <------- EDITED (T) --------> … | | | | |
NEW TAG

HMItoSta04 HMI to Robot Interlock Alias Alias

OLD TAG

HMItoSta04 HMI to Robot Interlock Alias zc_HMItoSta

TAG: Jobdata05 (Alias) | | | | |
{alias} <------- EDITED (T) --------> … | | | | |
NEW TAG

Jobdata05 Station Jobdata Alias Alias

OLD TAG

Jobdata05 Station Jobdata Alias zc_JobData

TAG: Sta04 (Alias) | | | | |
{alias} <------- EDITED (T) --------> … | | | | |
NEW TAG

Sta04 Station Alias Alias

OLD TAG

Sta04 Station Alias zc_Station

TAG: Sta04EPStatus (Alias) | | | | |
{alias} <------- EDITED (T) --------> … | | | | |
NEW TAG

Sta04EPStatus Alias

OLD TAG

Sta04EPStatus zz_HMIEPStatusOut

TAG: Sta04HMI (Alias) | | | | |
{alias} <------- EDITED (T) --------> … | | | | |
NEW TAG

Sta04HMI Station HMI Data Alias Alias

OLD TAG

Sta04HMI Station HMI Data Alias zc_StaHMI

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 | | | | | PROGRAM: uSimConv (D) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: BF001EnteringDwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

BF001EnteringDwell TIMER

TAG: BF01_FPS (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

BF01_FPS BOOL

TAG: BF01_Leaving (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

BF01_Leaving BOOL

TAG: BF01_Leaving_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

BF01_Leaving_Dwell TIMER

TAG: BuildData (uc_EPBuildDataSize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

BuildData uc_EPBuildDataSize

TAG: Conveyor_FPS (DINT) | | | | |
16 <--- INSERTED |████████████████████
INSERTED TAG

Conveyor_FPS DINT

TAG: Disable_FPS_Delay (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Disable_FPS_Delay ******************* Disable FPS Switch Delay After Entering Switch ******************* BOOL

TAG: Enable_LampTest_Shift (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Enable_LampTest_Shift ****************** Enable Lamp Test PB to Shift Models ******************* BOOL

TAG: Enable_LineTrackingSwitches (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Enable_LineTrackingSwitches BOOL

TAG: EnterData_Toggle (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

EnterData_Toggle DINT

TAG: EnteringDwell_Constant (DINT) | | | | |
1000 <--- INSERTED |████████████████████
INSERTED TAG

EnteringDwell_Constant DINT

TAG: FP001EnteringDwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP001EnteringDwell TIMER

TAG: FP002EnteringDwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP002EnteringDwell TIMER

TAG: FP003EnteringDwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP003EnteringDwell TIMER

TAG: FP01_FPS (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FP01_FPS BOOL

TAG: FP01_Leaving (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FP01_Leaving BOOL

TAG: FP01_Leaving_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP01_Leaving_Dwell TIMER

TAG: FP02_FPS (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FP02_FPS BOOL

TAG: FP02_Leaving (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FP02_Leaving BOOL

TAG: FP02_Leaving_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP02_Leaving_Dwell TIMER

TAG: FP03_FPS (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FP03_FPS BOOL

TAG: FP03_Leaving (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FP03_Leaving BOOL

TAG: FP03_Leaving_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FP03_Leaving_Dwell TIMER

TAG: FPEntryBuildData (uc_EPBuildDataSize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FPEntryBuildData uc_EPBuildDataSize

TAG: FPEntryEnteringDwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FPEntryEnteringDwell TIMER

| | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: FPEntryJobdata (zz_Data) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FPEntryJobdata zz_Data

TAG: FPEntry_FPS (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FPEntry_FPS BOOL

TAG: FPEntry_Leaving (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

FPEntry_Leaving BOOL

TAG: FPEntry_Leaving_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

FPEntry_Leaving_Dwell TIMER

TAG: Jobdata (zz_Data) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

Jobdata zz_Data

TAG: Leaving_Constant (DINT) | | | | |
1000 <--- INSERTED |████████████████████
INSERTED TAG

Leaving_Constant DINT

TAG: OneShot (DINT) | | | | |
2 <--- INSERTED |████████████████████
INSERTED TAG

OneShot DINT

TAG: SaveBuildData (uc_EPBuildDataSize) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

SaveBuildData uc_EPBuildDataSize

TAG: SaveJobData (zz_Data) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

SaveJobData zz_Data

TAG: SaveJobDataAAAAA (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

SaveJobDataAAAAA DINT

TAG: Set_LTCScanComplete (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Set_LTCScanComplete Manually Set LTC Scan Complete BOOL

TAG: Set_ScanComplete (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Set_ScanComplete Set LTC Scan Complete BOOL

TAG: Set_ScanCompleteToggle (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Set_ScanCompleteToggle Set LTC Scan Complete Toggle PB BOOL

TAG: ShiftEnable (BOOL) | | | | |
on <--- INSERTED |████████████████████
INSERTED TAG

ShiftEnable BOOL

TAG: Shift_BF01toFP03 (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Shift_BF01toFP03 BOOL

TAG: Shift_Dwell_Constant (DINT) | | | | |
1000 <--- INSERTED |████████████████████
INSERTED TAG

Shift_Dwell_Constant DINT

TAG: Shift_EntrytoFP01_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

Shift_EntrytoFP01_Dwell TIMER

TAG: Shift_FP01toFP02 (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Shift_FP01toFP02 BOOL

TAG: Shift_FP01toFP02_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

Shift_FP01toFP02_Dwell TIMER

TAG: Shift_FP02toBF01 (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Shift_FP02toBF01 BOOL

TAG: Shift_FP02toBF01_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

Shift_FP02toBF01_Dwell TIMER

TAG: Shift_FP03toExit (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Shift_FP03toExit BOOL

TAG: Shift_FP03_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

Shift_FP03_Dwell TIMER

TAG: Shift_FPS (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

Shift_FPS DINT

TAG: Shift_ODDorEntrytoFP01 (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Shift_ODDorEntrytoFP01 BOOL

TAG: Shift_ODDtoFPEntry (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Shift_ODDtoFPEntry BOOL

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: Shift_ODDtoFPEntry_Dwell (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

Shift_ODDtoFPEntry_Dwell TIMER

TAG: Shift_OneShot (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

Shift_OneShot DINT

TAG: Toggle_Leaving (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

Toggle_Leaving BOOL

| | | | | PROGRAM: prgAPI (D) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: API_Fault (udtAPI_FaultRecord) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

API_Fault Event data from fault handler udtAPI_FaultRecord

TAG: ASCIN (SINT[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ASCIN ASCII Character Set as an indexable array, used to fill "ASCII" UDT Tag. SINT[]

TAG: bq (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

bq Temporary: Bypass QAS Condition BOOL

TAG: byte (SINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

byte Temporary: Byte storage SINT

TAG: CLX_ConnectionsAvailable (DINT) | | | | |
512 <--- INSERTED |████████████████████
INSERTED TAG

CLX_ConnectionsAvailable Temporary: Logix Connections currently available DINT

TAG: CLX_ConnectionsInUse (DINT) | | | | |
47 <--- INSERTED |████████████████████
INSERTED TAG

CLX_ConnectionsInUse Temporary: Logix Connections in use DINT

TAG: CLX_ConnectionsPercentage (DINT) | | | | |
9 <--- INSERTED |████████████████████
INSERTED TAG

CLX_ConnectionsPercentage % of CLX Connections currently in use, rounded to a whole integer DINT

TAG: CLX_ConnectionsTemporary (REAL) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

CLX_ConnectionsTemporary % of CLX Connections currently in use REAL

TAG: CLX_CurrentTimeSlice (DINT) | | | | |
20 <--- INSERTED |████████████████████
INSERTED TAG

CLX_CurrentTimeSlice Current communication overhead time slice. DINT

TAG: CLX_IOFaultCode (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

CLX_IOFaultCode Temporary: Logix I/O Fault DINT

TAG: CLX_LastScanTime (DINT) | | | | |
2605 <--- INSERTED |████████████████████
INSERTED TAG

CLX_LastScanTime Temporary: Logix last scan time DINT

TAG: CNVi (DINT) | | | | |
7 <--- INSERTED |████████████████████
INSERTED TAG

CNVi Conveyor Index for starting and stopping simulation DINT

TAG: CNX (udtAPI_TznConveyor) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

CNX Temporary: Local copy of Conveyor data udtAPI_TznConveyor

TAG: FPTi (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

FPTi Footprint (FPT) index for manipulating tracking DINT

TAG: hb (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

hb Temporary: Heartbeat Condition BOOL

TAG: i (DINT) | | | | |
256 <--- INSERTED |████████████████████
INSERTED TAG

i Temporary: Working Index DINT

TAG: LTAi (DINT) | | | | |
1 <--- INSERTED |████████████████████
INSERTED TAG

LTAi Line Tracking Array (LTA) index for manipulating tracking DINT

TAG: m (DINT) | | | | |
32 <--- INSERTED |████████████████████
INSERTED TAG

m Temporary: Working Length DINT

TAG: n (DINT) | | | | |
1000 <--- INSERTED |████████████████████
INSERTED TAG

n Temporary: Working Length DINT

TAG: NotDone (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

NotDone Temporary count of EPAs that are 'Not Done' in this Trac k Zone DINT

TAG: ODD (SINT[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

ODD Temporary copy of a Track Zone's raw ODD Data SINT[]

TAG: Pulse (TIMER) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

Pulse Pulse generator for heartbeats TIMER

| | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Datums (TAGs)

NEW VALUE(s): COMPARISON: OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: SimulatedIncrease (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

SimulatedIncrease Simulated % Travel increase since last scan DINT

TAG: sm (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

sm Temporary: Simulated Mode Condition BOOL

TAG: ss (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

ss Temporary: Simulated Stop Condition BOOL

TAG: StopRequests (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

StopRequests Temporary count of EPAs that are 'Requesting Stops' in this Trac k Zone DINT

TAG: TimeCurrent (DINT[]) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TimeCurrent Current clock value in microseconds - as 2 DINTs DINT[]

TAG: TimeCurrentValue (LINT) | | | | |
1614708573759145 <--- INSERTED |████████████████████
INSERTED TAG

TimeCurrentValue Current clock value in microseconds LINT

TAG: TimeElapsedMicroseconds (DINT) | | | | |
4505 <--- INSERTED |████████████████████
INSERTED TAG

TimeElapsedMicroseconds uSec elapsed since last % Travel calculation DINT

TAG: TimeElapsedMilliseconds (DINT) | | | | |
11 <--- INSERTED |████████████████████
INSERTED TAG

TimeElapsedMilliseconds mSec elapsed since last % Travel calculation DINT

TAG: TrackingCID (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

TrackingCID Carrier ID to assign to the initialized Job Space DINT

TAG: TrackingEMPTY (udtAPI_Job_CSN) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingEMPTY udtAPI_Job_CSN

TAG: TrackingGAP (udtAPI_Job_CSN) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingGAP udtAPI_Job_CSN

TAG: TrackingLOC (zc_EPTrackingImage) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingLOC Job Data from the tracking position being cleared zc_EPTrackingImage

TAG: TrackingREADY (udtAPI_Job_CSN) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingREADY udtAPI_Job_CSN

TAG: TrackingSTS (udtAPI_Job_CSN) | | | | |
… <--- INSERTED |████████████████████
INSERTED TAG

TrackingSTS Desired display state of the cleared position udtAPI_Job_CSN

TAG: TrackingSTY (DINT) | | | | |
0 <--- INSERTED |████████████████████
INSERTED TAG

TrackingSTY Style Code for EPP, 255 = EMPTY, 0 = NO BUILD DINT

TAG: TZNi (DINT) | | | | |
1 <--- INSERTED |████████████████████
INSERTED TAG

TZNi Track Zone Index for processing App commands DINT

TAG: TznSimAllowedToUseRealConveyors (BOOL) | | | | |
off <--- INSERTED |████████████████████
INSERTED TAG

TznSimAllowedToUseRealConveyors BOOL

TAG: w (DINT) | | | | |
32 <--- INSERTED |████████████████████
INSERTED TAG

w Temporary: Working Length DINT

TAG: _i (DINT) | | | | |
256 <--- INSERTED |████████████████████
INSERTED TAG

_i Temporary index for initializing arrays DINT

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 | | | | | TASK: FIRMWARE (D+C) | | | | | | | | | | PROGRAM: CONTROLLER (D+C) | | | | | C O N T R O L L E R L E V E L T A G S | | | | | TAG: CG_GTG01toEP_GTG01Z1Interlocks | | | | | (uc_CG_GTG01PLCtoEP_GTG01Z1PLC) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

CG_GTG01toEP_GTG01Z1Interlocks CG_GTG01 Interlocks uc_CG_GTG01PLCtoEP_GTG01Z1PLC

TAG: Client12_DATA (uc_SOCK_DATA_CLIENT) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Client12_DATA uc_SOCK_DATA_CLIENT

TAG: EP1HMI1U (uc_HMIUser) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

EP1HMI1U HMI #1 User Information uc_HMIUser

TAG: EP_GTG01Z1toCG_GTG01Interlocks | | | | | (uc_EP_GTG01Z1PLCtoCG_GTG01PLC) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

EP_GTG01Z1toCG_GTG01Interlocks Interlock Buffer to CG_GTG01 Conveyor uc_EP_GTG01Z1PLCtoCG_GTG01PLC

TAG: FPEntry1 (zc_Station) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

FPEntry1 Station zc_Station

TAG: FPEntry1JobDataRF (zc_JobData) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

FPEntry1JobDataRF Jobdata Tag zc_JobData

TAG: GEPICS1_ResponseFault (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

GEPICS1_ResponseFault MPG/GEPICS Response Fault Code Alias

TAG: GEPICS1_SendMsgFault (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

GEPICS1_SendMsgFault MPG/GEPICS Send Message Failed Fault Alias

TAG: GEPICS1_TransConfirmFault (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

GEPICS1_TransConfirmFault MPG/GEPICS Confirm Fault Code Alias

TAG: GTG01ConvStatus (zc_EPConvStatus) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

GTG01ConvStatus Conveyor Status zc_EPConvStatus

TAG: LTS_EXT_01_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_01_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_01_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_01_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_02_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_02_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_02_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_02_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_03_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_03_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_03_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_03_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_04_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_04_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_04_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_04_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_05_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_05_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_05_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_05_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_05_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_05_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_06_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_06_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_06_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_06_LOG External Message Transaction Log uc_EPExtMsgLogSize

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: LTS_EXT_06_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_06_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_06_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_06_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_07_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_07_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_07_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_07_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_07_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_07_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_07_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_07_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_08_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_08_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_08_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_08_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_08_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_08_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_08_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_08_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_09_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_09_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_09_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_09_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_09_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_09_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_09_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_09_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_10_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_10_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_10_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_10_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_10_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_10_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_10_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_10_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_11_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_11_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_11_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_11_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_11_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_11_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_11_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_11_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_12_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_12_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_12_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_12_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_12_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_12_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_12_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_12_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: LTS_EXT_13_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_13_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_13_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_13_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_13_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_13_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_13_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_13_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_14_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_14_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_14_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_14_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_14_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_14_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_14_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_14_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_15_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_15_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_15_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_15_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_15_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_15_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_15_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_15_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_16_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_16_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_16_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_16_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_16_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_16_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_16_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_16_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_17_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_17_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_17_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_17_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_17_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_17_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_17_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_17_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_18_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_18_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_18_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_18_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_18_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_18_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_18_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_18_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_19_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_19_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_19_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_19_LOG External Message Transaction Log uc_EPExtMsgLogSize

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: LTS_EXT_19_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_19_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_19_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_19_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_20_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_20_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_20_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_20_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_20_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_20_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_20_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_20_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_21_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_21_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_21_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_21_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_21_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_21_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_21_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_21_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_22_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_22_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_22_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_22_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_22_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_22_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_22_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_22_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_23_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_23_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_23_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_23_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_23_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_23_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_23_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_23_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_24_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_24_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_24_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_24_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_24_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_24_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_24_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_24_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_25_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_25_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_25_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_25_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_25_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_25_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_25_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_25_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: LTS_EXT_26_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_26_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_26_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_26_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_26_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_26_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_26_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_26_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_27_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_27_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_27_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_27_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_27_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_27_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_27_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_27_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_28_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_28_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_28_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_28_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_28_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_28_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_28_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_28_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: LTS_EXT_29_CTL (za_EPExternalMessage) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_29_CTL External Message Control Instructions za_EPExternalMessage

TAG: LTS_EXT_29_LOG (uc_EPExtMsgLogSize) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_29_LOG External Message Transaction Log uc_EPExtMsgLogSize

TAG: LTS_EXT_29_RX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_29_RX Reply to Subsystem SNS TX Message. INT[]

TAG: LTS_EXT_29_TX (INT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_29_TX Line Tracking Data - Flat format for PLC-5 messaging INT[]

TAG: PFEQValue (zc_PFEQValue) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

PFEQValue PFE Value Event zc_PFEQValue

TAG: RuntimeToolSts1FP03 (SINT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

RuntimeToolSts1FP03 Error Proofing Task Runtime Statuses SINT[]

TAG: RuntimeToolSts1FP04 (SINT[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

RuntimeToolSts1FP04 Error Proofing Task Runtime Statuses SINT[]

TAG: _DeleteThisTag01 (zz_EPTraceDI) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag01 Required for CDE Logic Generation zz_EPTraceDI

TAG: _DeleteThisTag02 (zz_EPBuildDataRefs) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag02 Required for CDE Logic Generation zz_EPBuildDataRefs

TAG: _DeleteThisTag03 (zz_EPTraceTaskParameters) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag03 Required for CDE Logic Generation zz_EPTraceTaskParameters

TAG: _DeleteThisTag11 (zz_Bit64) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag11 Required for CDE Logic Generation zz_Bit64

TAG: _DeleteThisTag1_30x16 | | | | | (zc_EPConfigTrackZone30x16) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag1_30x16 Required for CDE Logic Generation zc_EPConfigTrackZone30x16

TAG: _DeleteThisTag1_BI16 (zp_EPBackupIndex16) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag1_BI16 Required for CDE Logic Generation zp_EPBackupIndex16

TAG: _DeleteThisTag1_FP16 (zz_EPConfigFootprint16) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag1_FP16 Required for CDE Logic Generation zz_EPConfigFootprint16

| | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: _DeleteThisTag1_TM30 (zc_EPToolMapping30) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

_DeleteThisTag1_TM30 Required for CDE Logic Generation zc_EPToolMapping30

TAG: Client12_Create_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Client12_Create_MSG MESSAGE

TAG: Client12_Delete_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Client12_Delete_MSG MESSAGE

TAG: Client12_Read_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Client12_Read_MSG MESSAGE

TAG: Client12_Write_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Client12_Write_MSG MESSAGE

TAG: LTS_EXT_01_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_01_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_02_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_02_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_03_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_03_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_04_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_04_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_05_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_05_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_06_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_06_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_07_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_07_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_08_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_08_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_09_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_09_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_10_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_10_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_11_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_11_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_12_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_12_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_13_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_13_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_14_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_14_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_15_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_15_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_16_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_16_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_17_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_17_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_18_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_18_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_19_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_19_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_20_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_20_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_21_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_21_MSG External Message ControlExternal Message Control MESSAGE

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: LTS_EXT_22_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_22_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_23_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_23_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_24_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_24_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_25_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_25_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_26_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_26_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_27_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_27_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_28_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_28_MSG External Message ControlExternal Message Control MESSAGE

TAG: LTS_EXT_29_MSG (MESSAGE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

LTS_EXT_29_MSG External Message ControlExternal Message Control MESSAGE

| | | | | TASK: EXTENSIONS (D) | | | | | TAG: EnableIn (BOOL) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

EnableIn Enable Input - System Defined Parameter BOOL

TAG: EnableOut (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

EnableOut Enable Output - System Defined Parameter BOOL

TAG: in_ENetComOK (BOOL) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_ENetComOK Ethernet module Communication OK BOOL

TAG: in_PWSACPowerON (BOOL) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_PWSACPowerON Power Supply ON BOOL

TAG: in_FaultReset (BOOL) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_FaultReset Cell Request Fault Reset BOOL

TAG: in_EnetAddressTable (za_EnetMapping) | | | | |
DELETED ---> {param} |████████████████████
DELETED TAG

in_EnetAddressTable za_EnetMapping

TAG: devBK (zc_EPTurck_TBEN_G4_16DXP) | | | | |
DELETED ---> {param} |████████████████████
DELETED TAG

devBK zc_EPTurck_TBEN_G4_16DXP

TAG: OneInKS (BOOL) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

OneInKS One Input Key Selector Switch Present BOOL

TAG: EnableIn (BOOL) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

EnableIn Enable Input - System Defined Parameter BOOL

TAG: EnableOut (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

EnableOut Enable Output - System Defined Parameter BOOL

TAG: in_MsgNum (DINT) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_MsgNum Message Number DINT

TAG: in_DisplayTime (DINT) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_DisplayTime Minimum Display Time Of Message DINT

TAG: in_MemoryTime (DINT) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_MemoryTime Message Displayed Timeout Memory DINT

TAG: inoHMINotify (zc_HMINotify) | | | | |
DELETED ---> {InOut} |████████████████████
DELETED TAG

inoHMINotify HMI Notification Tag zc_HMINotify

TAG: outInProgress (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

outInProgress Notification In Progress BOOL

TAG: outComplete (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

outComplete Notification Complete BOOL

TAG: Displayed (TIMER) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

Displayed Message Displayed Timeout Timer TIMER

| | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: AntiRepeat (BOOL) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

AntiRepeat Execute Only One Time Per False to True BOOL

TAG: EnableIn (BOOL) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

EnableIn Enable Input - System Defined Parameter BOOL

TAG: EnableOut (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

EnableOut Enable Output - System Defined Parameter BOOL

TAG: HoldPres (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

HoldPres Job Has Quality Event Open BOOL

TAG: HoldNotPres (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

HoldNotPres Job Has No Quality Events Open BOOL

TAG: QueryLoaded (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

QueryLoaded GISIP Query Loaded to Queue BOOL

TAG: QueryCmpl (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

QueryCmpl GISIP Query Completed BOOL

TAG: InProgress (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

InProgress Query In Progress Waiting for Response BOOL

TAG: outDataFlt (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

outDataFlt Wrong data for Query BOOL

TAG: outEntryDataFlt (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

outEntryDataFlt PVI , Query Code Data Fault BOOL

TAG: inoQueue (uc_QDIQueueData) | | | | |
DELETED ---> {param} |████████████████████
DELETED TAG

inoQueue uc_QDIQueueData

TAG: in_PVI (DINT) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_PVI Current PVI Number DINT

TAG: in_dQueryCode (DINT) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

in_dQueryCode Query Code DINT

TAG: inoFromQDI (za_QDIforStation) | | | | |
DELETED ---> {InOut} |████████████████████
DELETED TAG

inoFromQDI Feedback from QDI za_QDIforStation

TAG: Holds (DINT) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

Holds Number of holds for PVI DINT

TAG: outDuplicateFlt (BOOL) | | | | |
DELETED ---> {Output} |████████████████████
DELETED TAG

outDuplicateFlt Duplicate PVI Fault BOOL

TAG: inDuplicateEn (BOOL) | | | | |
DELETED ---> {Input} |████████████████████
DELETED TAG

inDuplicateEn Agree to PVI Duplicate BOOL

TAG: NewData (BOOL) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

NewData New PVI BOOL

TAG: ValidData (BOOL) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

ValidData Valid Data Present BOOL

TAG: Waiting (BOOL) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

Waiting Waiting for QDI Response BOOL

TAG: dPrevPVI (DINT) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

dPrevPVI Previous PVI Number DINT

TAG: Index (DINT) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

Index DINT

TAG: Record (zz_QDIQueueRec) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

Record Passing to.QDI Queue Record zz_QDIQueueRec

TAG: DuplicatePVI (BOOL) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

DuplicatePVI Duplicate PVI Job Permitted BOOL

TAG: CmplMem (BOOL) | | | | |
DELETED ---> {local} |████████████████████
DELETED TAG

CmplMem Memory of CurrentPass BOOL

| | | | | TASK: MainTask (D+C) | | | | | | | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 | | | | | PROGRAM: GTG01Z1 (D) | | | | | TAG: ToConveyorAndon (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ToConveyorAndon Alias

| | | | | PROGRAM: FPEntry1 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: Comtrol (za_EPBarcodeComtrol[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Comtrol RS232 to Ethernet Interface for Barcode Scaner za_EPBarcodeComtrol[]

TAG: HMI1Maint (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

HMI1Maint Maintenance Screen Data Alias Alias

TAG: JobdataRF (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

JobdataRF Jobdata Alias Alias

TAG: JobIDCheck1 (zz_EPLineTrackingData) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

JobIDCheck1 Job Data Verification zz_EPLineTrackingData

TAG: Mode (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

Mode Station Mode Alias Alias

TAG: Stacklight1CommError (DINT) | | | | |
DELETED ---> 0 |████████████████████
DELETED TAG

Stacklight1CommError DINT

TAG: StackLight1State (za_EPStacklightState) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

StackLight1State Stacklight and Key Switch State za_EPStacklightState

TAG: StopReqRight (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

StopReqRight Alias

| | | | | PROGRAM: FP001 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: ExtMsg03 (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ExtMsg03 Alias

TAG: ExtMsgControl02 (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ExtMsgControl02 Alias

TAG: ExtMsgControl03 (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ExtMsgControl03 Alias

TAG: ExtMsgLog02 (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ExtMsgLog02 Alias

TAG: ExtMsgLog03 (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ExtMsgLog03 Alias

TAG: FromConveyor (zz_EPFromConveyor) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

FromConveyor Interlocks From Conveyor zz_EPFromConveyor

TAG: HMI1Maint (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

HMI1Maint Maintenance Screen Data Alias Alias

TAG: IOLMasterIn (za_IOLBallufMasterInput[]) | | | | |
DELETED ---> {array} |████████████████████
DELETED TAG

IOLMasterIn za_IOLBallufMasterInput[]

TAG: IOLMasterOut (za_IOLBalluffMasterOutputs) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

IOLMasterOut IO-Link Master Balluff Config and Output Map za_IOLBalluffMasterOutputs

TAG: JobIDCheck1 (zz_EPLineTrackingData) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

JobIDCheck1 Job Data Verification zz_EPLineTrackingData

TAG: LTCStatusMem (INT) | | | | |
DELETED ---> 280 |████████████████████
DELETED TAG

LTCStatusMem INT

TAG: OneShot (DINT) | | | | |
DELETED ---> 0 |████████████████████
DELETED TAG

OneShot One-Shot DINT

TAG: Stacklight (za_EPStacklight[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Stacklight Stacklight Actions za_EPStacklight[]

TAG: StackLightIOLLeft (za_EPFootprIOLStackLt) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

StackLightIOLLeft 4 Segment TL50Pro IOL Stack Light za_EPFootprIOLStackLt

| | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 | | | | | PROGRAM: FP002 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: FromConveyor (zz_EPFromConveyor) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

FromConveyor Interlocks From Conveyor zz_EPFromConveyor

TAG: JobIDCheck1 (zz_EPLineTrackingData) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

JobIDCheck1 Job Data Verification zz_EPLineTrackingData

TAG: Stacklight (za_EPStacklight[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Stacklight Stacklight Actions za_EPStacklight[]

| | | | | PROGRAM: BF001 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: FromConveyor (zz_EPFromConveyor) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

FromConveyor Interlocks From Conveyor zz_EPFromConveyor

TAG: JobIDCheck1 (zz_EPLineTrackingData) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

JobIDCheck1 Job Data Verification zz_EPLineTrackingData

TAG: OneShot (DINT) | | | | |
DELETED ---> 0 |████████████████████
DELETED TAG

OneShot One-Shot DINT

TAG: Stacklight (za_EPStacklight[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Stacklight Stacklight Actions za_EPStacklight[]

| | | | | PROGRAM: FP003 (D+C) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: ExtMsgControl01 (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ExtMsgControl01 Alias

TAG: ExtMsgLog01 (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

ExtMsgLog01 Alias

TAG: FromConveyor (zz_EPFromConveyor) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

FromConveyor Interlocks From Conveyor zz_EPFromConveyor

TAG: HMI1Maint (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

HMI1Maint Maintenance Screen Data Alias Alias

TAG: JobIDCheck1 (zz_EPLineTrackingData) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

JobIDCheck1 Job Data Verification zz_EPLineTrackingData

TAG: Stacklight (za_EPStacklight[]) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Stacklight Stacklight Actions za_EPStacklight[]

| | | | | PROGRAM: FPExit1 (D) | | | | | TAG: ActiveDisplay2 (DINT) | | | | |
DELETED ---> 10 |████████████████████
DELETED TAG

ActiveDisplay2 DINT

TAG: BCDisp2Update (BOOL) | | | | |
DELETED ---> on |████████████████████
DELETED TAG

BCDisp2Update New Brcode Data BOOL

TAG: BCDisplay2 (zp_EP4U2SEE) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

BCDisplay2 zp_EP4U2SEE

TAG: Default2 (BOOL) | | | | |
DELETED ---> on |████████████████████
DELETED TAG

Default2 BOOL

TAG: Display2Cycle (COUNTER) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

Display2Cycle COUNTER

TAG: Display2CycleIndex (DINT) | | | | |
DELETED ---> 222252 |████████████████████
DELETED TAG

Display2CycleIndex DINT

TAG: Display2TempMem | | | | | (zp_EPBarcodeOperDisplRecord[]) | | | | |
DELETED ---> {array} |████████████████████
DELETED TAG

Display2TempMem zp_EPBarcodeOperDisplRecord[]

TAG: NewConnection2 (BOOL) | | | | |
DELETED ---> off |████████████████████
DELETED TAG

NewConnection2 BOOL

| | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Datums (TAGs)

OLD VALUE(s): DATA EDIT LEVEL: 0 25 50 75 100 TAG: SendCounter2 (DINT) | | | | |
DELETED ---> 425059 |████████████████████
DELETED TAG

SendCounter2 DINT

TAG: strTempVS (zz_String20[]) | | | | |
DELETED ---> {array} |████████████████████
DELETED TAG

strTempVS zz_String20[]

TAG: Trigger2 (BOOL) | | | | |
DELETED ---> off |████████████████████
DELETED TAG

Trigger2 BOOL

TAG: VS01 (up_EPCustomVS) | | | | |
DELETED ---> … |████████████████████
DELETED TAG

VS01 up_EPCustomVS

| | | | | PROGRAM: HMI1 (D) | | | | | P R O G R A M L E V E L T A G S | | | | | TAG: HMIU (Alias) | | | | |
DELETED ---> {alias} |████████████████████
DELETED TAG

HMIU HMI User Alias Alias

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

DATUMs Summary


(T) = TYPE DEFINITIONs changed
(C) = COMMENTs changed
(V) = DATA VALUEs changed
(#) = CONSTANTs changed
(R) = REFERENCEs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Modules (I/O Cards)

NEW CONFIG: COMPARISON: OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 | | | | | MODULE: LOCAL (N) | | | | | | | | | | CONNECTION: BACKPLANE (N) | | | | | B A C K P L A N E M O D U L E S | | | | | BACKPLANE: SLOT.01 (N) | | | | | MODULE: ENet01 (1756-EN2T) | | | | |
120.15.250.48 <-- EDITED (G) ---> 120.15.234.30 | | | | |
NEW MODULE

<@VER 1.400> <@TYPE EN2TPublic> Parent := "Local", ParentModPortId := 1, CatalogNumber := "1756-EN2T", Vendor := 1, ProductType := 12, ProductCode := 166, Major := 11, Minor := 3, PortLabel := "RxBACKPLANE", Slot := 1, NodeAddress := "120.15.250.48", CommMethod := 536870914, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000

OLD MODULE

<@VER 1.400> <@TYPE EN2TPublic> Parent := "Local", ParentModPortId := 1, CatalogNumber := "1756-EN2T", Vendor := 1, ProductType := 12, ProductCode := 166, Major := 10, Minor := 1, PortLabel := "RxBACKPLANE", Slot := 1, NodeAddress := "120.15.234.30", CommMethod := 536870914, Mode := 2#0000_0000_0000_0000, CompatibleModule := 1, KeyMask := 2#0000_0000_0001_1111

BACKPLANE: SLOT.02 (N) | | | | | MODULE: ENet02 (1756-EN2T) | | | | |
120.15.250.49 <-- EDITED (G) ---> 120.15.234.31 | | | | |
NEW MODULE

<@VER 1.400> <@TYPE EN2TPrivate> Parent := "Local", ParentModPortId := 1, CatalogNumber := "1756-EN2T", Vendor := 1, ProductType := 12, ProductCode := 166, Major := 11, Minor := 3, PortLabel := "RxBACKPLANE", Slot := 2, NodeAddress := "120.15.250.49", CommMethod := 536870914, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000

OLD MODULE

<@VER 1.400> <@TYPE EN2TPrivate> Parent := "Local", ParentModPortId := 1, CatalogNumber := "1756-EN2T", Vendor := 1, ProductType := 12, ProductCode := 166, Major := 10, Minor := 1, PortLabel := "RxBACKPLANE", Slot := 2, NodeAddress := "120.15.234.31", CommMethod := 536870914, Mode := 2#0000_0000_0000_0000, CompatibleModule := 1, KeyMask := 2#0000_0000_0001_1111

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

MODULEs Summary


(T) = NODE TYPE or DEFINITION changed
(C) = COMMENTs changed
(G) = CONFIGURATIONs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Produced Tags

NEW CONFIG: COMPARISON: OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 | | | | | MODULE: LOCAL (N) | | | | | | | | | | CONNECTION: PRODUCED (N) | | | | | PRODUCED: PUBLIC (N) | | | | | TAG: EP_GTG01Z1toGA_TGGS01Interlocks (Produced) | | | | |
<-- INSERTED LOCAL |████████████████████
INSERTED PRODUCED

EP_GTG01Z1toGA_TGGS01Interlocks : u_EPPtoPTInterlocks ProduceCount := 1, ProgrammaticallySendEventTrigger := No, UnicastPermitted := Yes, MinimumRPI := 0.200, MaximumRPI := 536870.900, DefaultRPI := 0

TAG: EP_GTG01Z1toGA_TGGS02Interlocks (Produced) | | | | |
<-- INSERTED LOCAL |████████████████████
INSERTED PRODUCED

EP_GTG01Z1toGA_TGGS02Interlocks : u_EPPtoPTInterlocks ProduceCount := 1, ProgrammaticallySendEventTrigger := No, UnicastPermitted := Yes, MinimumRPI := 0.200, MaximumRPI := 536870.900, DefaultRPI := 0

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

PRODUCED Summary


(>) = PRODUCED TAGs changed
(C) = COMMENTs changed
(G) = CONFIGURATION changed
(S) = DATA/SOURCE changed
(P) = PATH/DESTINATION changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Consumed Tags

NEW CONFIG: COMPARISON: OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 | | | | | MODULE: LOCAL (N) | | | | | | | | | | CONNECTION: CONSUMED (N) | | | | | PRODUCER: GA_TGGS01 (N) | | | | | TAG: GA_TGGS01toEP_GTG01Z1Interlocks (Consumed) | | | | |
<-- INSERTED |████████████████████
INSERTED CONSUMED

GA_TGGS01toEP_GTG01Z1Interlocks : u_PTtoEPPInterlocks Producer := "GA_TGGS01", RemoteTag := "GA_TGGS01toEP_GTG01Z1Interlocks", RemoteFile := 0, RPI := 20, Unicast := Yes

PRODUCER: GA_TGGS02 (N) | | | | | TAG: GA_TGGS02toEP_GTG01Z1Interlocks (Consumed) | | | | |
<-- INSERTED |████████████████████
INSERTED CONSUMED

GA_TGGS02toEP_GTG01Z1Interlocks : u_PTtoEPPInterlocks Producer := "GA_TGGS02", RemoteTag := "GA_TGGS02toEP_GTG01Z1Interlocks", RemoteFile := 0, RPI := 20, Unicast := Yes

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

CONSUMED Summary


(<) = CONSUMED TAGs changed
(C) = COMMENTs changed
(G) = CONFIGURATION changed
(S) = DATA/SOURCE changed
(P) = PATH/DESTINATION changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Messages (MSG Instructions)

NEW CONFIG: COMPARISON: OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 | | | | | MODULE: LOCAL (N) | | | | | | | | | | CONNECTION: MESSAGEs (N) | | | | | M E S S A G E S | | | | | MESSAGE: BF001IOLMasterMsg (N) | | | | | Local: FP001IOLMasterData.Write (CIP Generic) | | | | | Remote: FP001IOLMasterData.Read (CIP Generic) | | | | |
<-- INSERTED FP002BK02 |████████████████████
INSERTED MESSAGE

IO-Link Master Communication MessageType := CIP Generic, RequestedLength := 3, ConnectedFlag := 2, ConnectionPath := "FP002BK02", CommTypeCode := 0, ServiceCode := 16#0032, ObjectType := 16#0096, TargetObject := 7, AttributeNumber := 16#0003, LocalIndex := 0, LocalElement := "FP001IOLMasterData.Write", DestinationTag := "FP001IOLMasterData.Read", LargePacketUsage := No

MESSAGE: EnetDevice_Address (N) | | | | | Local: (CIP Generic) | | | | | Remote: EnetManager.IPAddressDest[0] (CIP Generic) | | | | |
<-- EDITED (G) ---> 2, 0.1.2.3 | | | | |
NEW MESSAGE

Ethernet Address Config Message MessageType := CIP Generic, RequestedLength := 0, ConnectedFlag := 2, CommTypeCode := 0, ServiceCode := 16#000e, ObjectType := 16#00f5, TargetObject := 1, AttributeNumber := 16#0005, LocalIndex := 0, DestinationTag := "EnetManager.IPAddressDest[0]", LargePacketUsage := No

OLD MESSAGE

Ethernet Address Config Message MessageType := CIP Generic, RequestedLength := 0, ConnectedFlag := 2, ConnectionPath := "2, 0.1.2.3", CommTypeCode := 0, ServiceCode := 16#000e, ObjectType := 16#00f5, TargetObject := 1, AttributeNumber := 16#0005, LocalIndex := 0, DestinationTag := "EnetManager.IPAddressDest[0]", LargePacketUsage := No

MESSAGE: EnetDevice_ConnMngr (N) | | | | | Local: EnetManager.ConnMngrSourceData | | | | | (CIP Generic)| | | | | Remote: EnetManager.ConnMngrReceiveData | | | | | (CIP Generic)| | | | |
1, 0 <-- EDITED (G) ---> ENet01 | | | | |
NEW MESSAGE

Connection Manager Data Message MessageType := CIP Generic, RequestedLength := 4, ConnectedFlag := 2, ConnectionPath := "1, 0", CommTypeCode := 0, ServiceCode := 16#004f, ObjectType := 16#0351, TargetObject := 1, AttributeNumber := 16#0000, LocalIndex := 0, LocalElement := "EnetManager.ConnMngrSourceData", DestinationTag := "EnetManager.ConnMngrReceiveData", LargePacketUsage := No

OLD MESSAGE

Connection Manager Data Message MessageType := CIP Generic, RequestedLength := 4, ConnectedFlag := 2, ConnectionPath := "ENet01", CommTypeCode := 0, ServiceCode := 16#004f, ObjectType := 16#0351, TargetObject := 1, AttributeNumber := 16#0000, LocalIndex := 0, LocalElement := "EnetManager.ConnMngrSourceData", DestinationTag := "EnetManager.ConnMngrReceiveData", LargePacketUsage := No

MESSAGE: EnetDevice_CRCObj (N) | | | | | Local: (CIP Generic) | | | | | Remote: EnetManager.CRCObjReceiveData[0] | | | | | (CIP Generic)| | | | |
1, 0 <-- EDITED (G) ---> ENet02 | | | | |
NEW MESSAGE

Ethernet Port CRC Error Count Messages MessageType := CIP Generic, RequestedLength := 0, ConnectedFlag := 2, ConnectionPath := "1, 0", CommTypeCode := 0, ServiceCode := 16#000e, ObjectType := 16#00f6, TargetObject := 1, AttributeNumber := 16#0005, LocalIndex := 0, DestinationTag := "EnetManager.CRCObjReceiveData[0]", LargePacketUsage := No

OLD MESSAGE

Ethernet Port CRC Error Count Messages MessageType := CIP Generic, RequestedLength := 0, ConnectedFlag := 2, ConnectionPath := "ENet02", CommTypeCode := 0, ServiceCode := 16#000e, ObjectType := 16#00f6, TargetObject := 4, AttributeNumber := 16#0005, LocalIndex := 0, DestinationTag := "EnetManager.CRCObjReceiveData[0]", LargePacketUsage := No

MESSAGE: EnetDevice_LinkObj (N) | | | | | Local: (CIP Generic) | | | | | Remote: EnetManager.LinkObjReceiveData | | | | | (CIP Generic)| | | | |
1, 0 <-- EDITED (G) ---> 2, 0.1.2.3 | | | | |
NEW MESSAGE

Ethernet Link / Port Status Messages MessageType := CIP Generic, RequestedLength := 0, ConnectedFlag := 2, ConnectionPath := "1, 0", CommTypeCode := 0, ServiceCode := 16#000e, ObjectType := 16#00f6, TargetObject := 1, AttributeNumber := 16#0001, LocalIndex := 0, DestinationTag := "EnetManager.LinkObjReceiveData", LargePacketUsage := No

OLD MESSAGE

Ethernet Link / Port Status Messages MessageType := CIP Generic, RequestedLength := 0, ConnectedFlag := 2, ConnectionPath := "2, 0.1.2.3", CommTypeCode := 0, ServiceCode := 16#000e, ObjectType := 16#00f6, TargetObject := 1, AttributeNumber := 16#0002, LocalIndex := 0, DestinationTag := "EnetManager.LinkObjReceiveData", LargePacketUsage := No

MESSAGE: GEPICS1_ODD1MsgDataSrc (N) | | | | | Local: GEPICS1_BDTx_Flat[0] | | | | | (CIP Data Table Write)| | | | | Remote: GEPICS1_BDTX_FLAT_EP_GTG01TZ11.GEPICS1_BDTX_FLAT_EP_GTG01TZ11 (CIP Data Table Write)| | | | |
<-- INSERTED *.21.9.50:44818 |████████████████████
INSERTED MESSAGE

Message Control For Data Source 1, Station 1 Instance 1 MessageType := CIP Data Table Write, RemoteElement := "GEPICS1_BDTX_FLAT_EP_GTG01TZ11.GEPICS1_BDTX_FLAT_EP_GTG01TZ11", RequestedLength := 22, ConnectedFlag := 1, ConnectionPath := "ENet01, 2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "GEPICS1_BDTx_Flat[0]", CacheConnections := "TRUE"

MESSAGE: LTS_EXT_00_MSG (N) | | | | | Local: LTS_EXT_00_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_00_TX_EP_GTG01TZ1.LTS_EXT_00_TX_EP_GTG01TZ1 (CIP Data Table Write)| | | | |
<-- INSERTED *.21.9.50:44818 |████████████████████
INSERTED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_00_TX_EP_GTG01TZ1.LTS_EXT_00_TX_EP_GTG01TZ1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "ENet01, 2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_00_TX[0]", CacheConnections := "TRUE"

MESSAGE: L_CPU_MsgGetConnUse (N) | | | | | Local: L_CPU_PortCapAttrList[0] (CIP Generic) | | | | | Remote: L_CPU_PortCapyData[0] (CIP Generic) | | | | |
<-- INSERTED 1, 10 |████████████████████
INSERTED MESSAGE

Message: Get Connection Usage Data ExternalAccess := None, MessageType := CIP Generic, RequestedLength := 46, ConnectedFlag := 2, ConnectionPath := "1, 10", CommTypeCode := 0, ServiceCode := 16#0003, ObjectType := 16#0304, TargetObject := 1, AttributeNumber := 16#0000, LocalIndex := 0, LocalElement := "L_CPU_PortCapAttrList[0]", DestinationTag := "L_CPU_PortCapyData[0]", LargePacketUsage := No

MESSAGE: PFEHostComLinxMSG (N) | | | | | Local: PFEHostComXmit[0] (CIP Data Table Write) | | | | | Remote: EP_GS05TZ1_Unsol.PFEHostComXmit[0] | | | | | (CIP Data Table Write)| | | | |
*.21.9.96:44818 <-- EDITED (G) ---> *.21.9.96:44818 | | | | |
NEW MESSAGE

PFE Host RSLinx MSG MessageType := CIP Data Table Write, RemoteElement := "EP_GS05TZ1_Unsol.PFEHostComXmit[0]", RequestedLength := 100, ConnectedFlag := 2, ConnectionPath := "ENet02, 2, 10.21.9.96:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "PFEHostComXmit[0]"

OLD MESSAGE

PFE Host RSLinx MSG MessageType := CIP Data Table Write, RemoteElement := "EP_GS05TZ1_Unsol.PFEHostComXmit[0]", RequestedLength := 100, ConnectedFlag := 2, ConnectionPath := "2, 10.21.9.96:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "PFEHostComXmit[0]"

MESSAGE: QDI_Msg01 (N) | | | | | Local: QDI_RxTx[0] (CIP Data Table Write) | | | | | Remote: EP_GTG01TZ1_UNSOL.QDI_Msg | | | | | (CIP Data Table Write)| | | | |
<-- INSERTED * 2, 10.21.9.36 |████████████████████
INSERTED MESSAGE

QDI_Msg01 : MESSAGE MessageType := CIP Data Table Write, RemoteElement := "EP_GTG01TZ1_UNSOL.QDI_Msg", RequestedLength := 30, ConnectedFlag := 1, ConnectionPath := "ENet01, 2, 10.21.9.36", CommTypeCode := 0, LocalIndex := 0, LocalElement := "QDI_RxTx[0]", CacheConnections := "TRUE"

MESSAGE: RuntimeDataMsg1 (N) | | | | | | | | | | | | | | | | | | | |

MESSAGEs Summary


(@) = MESSAGEs changed
(C) = COMMENTs changed
(G) = CONFIGURATION changed
(S) = DATA/SOURCE changed
(P) = PATH/DESTINATION changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Messages (MSG Instructions)

NEW CONFIG: COMPARISON: OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 Local: TrackingImage1[*].BuildData.ID[0] | | | | | (CIP Data Table Write)| | | | | Remote: EP_GTG01TZ1.F033BUILDDATA1 | | | | | (CIP Data Table Write)| | | | |
<-- INSERTED *.21.9.42:44818 |████████████████████
INSERTED MESSAGE

RuntimeDataMsg1 : MESSAGE MessageType := CIP Data Table Write, RemoteElement := "EP_GTG01TZ1.F033BUILDDATA1", RequestedLength := 1000, ConnectedFlag := 1, ConnectionPath := "ENet01, 2, 10.21.9.42:44818", CommTypeCode := 0, LocalIndex := 3, LocalElement := "TrackingImage1[*].BuildData.ID[0]", CacheConnections := "TRUE"

MESSAGE: TRaceMsg01 (N) | | | | | Local: TRaceToGEPICS_TX[0] (CIP Data Table Write) | | | | | Remote: VQX_VCX_GEPICS_TX_ZA_EP01_IT.VQX_VCX_GEPICS_TX_ZA_EP01_IT (CIP Data Table Write)| | | | |
*.21.9.50:44818 <-- EDITED (G) ---> *.21.9.50:44818 | | | | |
NEW MESSAGE

This Message is a CIP Data Table Write to the MPG Tag value that is in the MSG Config. MessageType := CIP Data Table Write, RemoteElement := "VQX_VCX_GEPICS_TX_ZA_EP01_IT.VQX_VCX_GEPICS_TX_ZA_EP01_IT", RequestedLength := 126, ConnectedFlag := 1, ConnectionPath := "ENet01, 2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "TRaceToGEPICS_TX[0]", CacheConnections := "FALSE"

OLD MESSAGE

This Message is a CIP Data Table Write to the MPG Tag value that is in the MSG Config. MessageType := CIP Data Table Write, RemoteElement := "VQX_VCX_GEPICS_TX_ZA_EP01_IT.VQX_VCX_GEPICS_TX_ZA_EP01_IT", RequestedLength := 126, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "TRaceToGEPICS_TX[0]", CacheConnections := "FALSE"

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

MESSAGEs Summary


(@) = MESSAGEs changed
(C) = COMMENTs changed
(G) = CONFIGURATION changed
(S) = DATA/SOURCE changed
(P) = PATH/DESTINATION changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Messages

OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 | | | | | MODULE: LOCAL (N) | | | | | | | | | | CONNECTION: MESSAGEs (N) | | | | | M E S S A G E S | | | | | Local: BF001IOLMasterData.Write (CIP Generic) | | | | | Remote: BF001IOLMasterData.Read (CIP Generic) | | | | |
DELETED ---> FP001BK01 |████████████████████
DELETED MESSAGE

IO-Link Master Communication MessageType := CIP Generic, RequestedLength := 3, ConnectedFlag := 2, ConnectionPath := "FP001BK01", CommTypeCode := 0, ServiceCode := 16#0032, ObjectType := 16#0096, TargetObject := 3, AttributeNumber := 16#0003, LocalIndex := 0, LocalElement := "BF001IOLMasterData.Write", DestinationTag := "BF001IOLMasterData.Read", LargePacketUsage := No

Local: Client12_DATA.Connect_Source (CIP Generic) | | | | | Remote: (CIP Generic) | | | | |
DELETED ---> ENet02 |████████████████████
DELETED MESSAGE

Client12_Connect_MSG : MESSAGE MessageType := CIP Generic, RequestedLength := 31, ConnectedFlag := 2, ConnectionPath := "ENet02", CommTypeCode := 0, ServiceCode := 16#004c, ObjectType := 16#0342, TargetObject := 18716, AttributeNumber := 16#0000, LocalIndex := 0, LocalElement := "Client12_DATA.Connect_Source", LargePacketUsage := No

Local: Client12_DATA.Create_Source (CIP Generic) | | | | | Remote: Client12_DATA.Instance (CIP Generic) | | | | |
DELETED ---> ENet02 |████████████████████
DELETED MESSAGE

Client12_Create_MSG : MESSAGE MessageType := CIP Generic, RequestedLength := 12, ConnectedFlag := 2, ConnectionPath := "ENet02", CommTypeCode := 0, ServiceCode := 16#004b, ObjectType := 16#0342, TargetObject := 0, AttributeNumber := 16#0000, LocalIndex := 0, LocalElement := "Client12_DATA.Create_Source", DestinationTag := "Client12_DATA.Instance", LargePacketUsage := No

Local: (CIP Generic) | | | | | Remote: (CIP Generic) | | | | |
DELETED ---> ENet02 |████████████████████
DELETED MESSAGE

Client12_Delete_MSG : MESSAGE MessageType := CIP Generic, RequestedLength := 0, ConnectedFlag := 2, ConnectionPath := "ENet02", CommTypeCode := 0, ServiceCode := 16#004f, ObjectType := 16#0342, TargetObject := 18716, AttributeNumber := 16#0000, LocalIndex := 0, LargePacketUsage := No

Local: Client12_DATA.Read_Source (CIP Generic) | | | | | Remote: Client12_DATA.Read_Response (CIP Generic) | | | | |
DELETED ---> ENet02 |████████████████████
DELETED MESSAGE

Client12_Read_MSG : MESSAGE MessageType := CIP Generic, RequestedLength := 8, ConnectedFlag := 2, ConnectionPath := "ENet02", CommTypeCode := 0, ServiceCode := 16#004d, ObjectType := 16#0342, TargetObject := 18716, AttributeNumber := 16#0000, LocalIndex := 0, LocalElement := "Client12_DATA.Read_Source", DestinationTag := "Client12_DATA.Read_Response", LargePacketUsage := No

Local: Client12_DATA.Write_Source (CIP Generic) | | | | | Remote: Client12_DATA.Write_SizeSent (CIP Generic) | | | | |
DELETED ---> ENet02 |████████████████████
DELETED MESSAGE

Client12_Write_MSG : MESSAGE MessageType := CIP Generic, RequestedLength := 62, ConnectedFlag := 2, ConnectionPath := "ENet02", CommTypeCode := 0, ServiceCode := 16#004e, ObjectType := 16#0342, TargetObject := 18716, AttributeNumber := 16#0000, LocalIndex := 0, LocalElement := "Client12_DATA.Write_Source", DestinationTag := "Client12_DATA.Write_SizeSent", LargePacketUsage := No

MESSAGE: GEPICS1_ODD1MsgDataSrc (N) | | | | | Remote: GEPICS1_BDTX_FLAT_EP_GTG01Z11.GEPICS1_BDTX_FLAT_EP_GTG01Z11 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

Message Control For Data Source 1, Station 1 Instance 1 MessageType := CIP Data Table Write, RemoteElement := "GEPICS1_BDTX_FLAT_EP_GTG01Z11.GEPICS1_BDTX_FLAT_EP_GTG01Z11", RequestedLength := 22, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "GEPICS1_BDTx_Flat[0]", CacheConnections := "TRUE"

MESSAGE: LTS_EXT_00_MSG (N) | | | | | Remote: LTS_EXT_00_TX_EP_GTG01Z1.LTS_EXT_00_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_00_TX_EP_GTG01Z1.LTS_EXT_00_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_00_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_01_TX[0] (PLC2 Unprotected Write) | | | | | Remote: 012211 (PLC2 Unprotected Write) | | | | |
DELETED ---> * 120.16.243.45 |████████████████████
DELETED MESSAGE

External Message Control MessageType := PLC2 Unprotected Write, RemoteElement := "012211", RequestedLength := 24, ConnectionPath := "2, 120.16.243.45", CommTypeCode := 2, SourceLink := 0, DestinationLink := 0, DestinationNode := 8#000_000, LocalIndex := 0, LocalElement := "LTS_EXT_01_TX[0]"

Local: LTS_EXT_02_TX[0] (CIP Data Table Write) | | | | | Remote: GPWT_SEP_RXFlat[0] (CIP Data Table Write) | | | | |
DELETED ---> 2, 0.1.2.3 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "GPWT_SEP_RXFlat[0]", RequestedLength := 36, ConnectedFlag := 1, ConnectionPath := "2, 0.1.2.3", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_02_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_03_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT.LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT.LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_03_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_04_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_04_TX_EP_GTG01Z1.LTS_EXT_04_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_04_TX_EP_GTG01Z1.LTS_EXT_04_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_04_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_05_TX[0] (PLC2 Unprotected Write) | | | | | Remote: 012236 (PLC2 Unprotected Write) | | | | |
DELETED ---> * 120.16.243.45 |████████████████████
DELETED MESSAGE

External Message Control MessageType := PLC2 Unprotected Write, RemoteElement := "012236", RequestedLength := 24, ConnectionPath := "2, 120.16.243.45", CommTypeCode := 2, SourceLink := 0, DestinationLink := 0, DestinationNode := 8#000_000, LocalIndex := 0, LocalElement := "LTS_EXT_05_TX[0]"

Local: LTS_EXT_06_TX[0] (CIP Data Table Write) | | | | | Remote: GPWT_SEP_RXFlat[0] (CIP Data Table Write) | | | | |
DELETED ---> 2, 0.1.2.3 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "GPWT_SEP_RXFlat[0]", RequestedLength := 36, ConnectedFlag := 1, ConnectionPath := "2, 0.1.2.3", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_06_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_07_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT.LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT.LTS_EXT_VIP1TX_FLAT_ZA_EP01_IT", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_07_TX[0]", CacheConnections := "TRUE"

| | | | | | | | | |

MESSAGEs Summary


(@) = MESSAGEs changed
(C) = COMMENTs changed
(G) = CONFIGURATION changed
(S) = DATA/SOURCE changed
(P) = PATH/DESTINATION changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Messages

OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 Local: LTS_EXT_08_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_08_TX_EP_GTG01Z1.LTS_EXT_08_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_08_TX_EP_GTG01Z1.LTS_EXT_08_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_08_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_09_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_09_TX_EP_GTG01Z1.LTS_EXT_09_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_09_TX_EP_GTG01Z1.LTS_EXT_09_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_09_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_10_TX[0] (CIP Data Table Write) | | | | | Remote: GPWT_SEP_RXFlat[0] (CIP Data Table Write) | | | | |
DELETED ---> 2, 0.1.2.3 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "GPWT_SEP_RXFlat[0]", RequestedLength := 36, ConnectedFlag := 1, ConnectionPath := "2, 0.1.2.3", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_10_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_11_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_11_TX_EP_GTG01Z1.LTS_EXT_11_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_11_TX_EP_GTG01Z1.LTS_EXT_11_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_11_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_02_TX[0] (PLC2 Unprotected Write) | | | | | Remote: 012211 (PLC2 Unprotected Write) | | | | |
DELETED ---> * 120.16.243.45 |████████████████████
DELETED MESSAGE

External Message Control MessageType := PLC2 Unprotected Write, RemoteElement := "012211", RequestedLength := 24, ConnectionPath := "2, 120.16.243.45", CommTypeCode := 2, SourceLink := 0, DestinationLink := 0, DestinationNode := 8#000_000, LocalIndex := 0, LocalElement := "LTS_EXT_02_TX[0]"

Local: LTS_EXT_01_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_03_TX_EP_GAccTZx.LTS_EXT_03_TX_EP_GAccTZx (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_03_TX_EP_GAccTZx.LTS_EXT_03_TX_EP_GAccTZx", RequestedLength := 100, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_01_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_04_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_14_TX_EP_GTG01Z1.LTS_EXT_14_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_14_TX_EP_GTG01Z1.LTS_EXT_14_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_04_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_05_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_15_TX_EP_GTG01Z1.LTS_EXT_15_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_15_TX_EP_GTG01Z1.LTS_EXT_15_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_05_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_01_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_16_TX_EP_GTG01Z1.LTS_EXT_16_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_16_TX_EP_GTG01Z1.LTS_EXT_16_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_01_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_01_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_17_TX_EP_GTG01Z1.LTS_EXT_17_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_17_TX_EP_GTG01Z1.LTS_EXT_17_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_01_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_08_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_18_TX_EP_GTG01Z1.LTS_EXT_18_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_18_TX_EP_GTG01Z1.LTS_EXT_18_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_08_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_09_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_19_TX_EP_GTG01Z1.LTS_EXT_19_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_19_TX_EP_GTG01Z1.LTS_EXT_19_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_09_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_10_TX[0] (CIP Data Table Write) | | | | | Remote: GPWT_SEP_RXFlat[0] (CIP Data Table Write) | | | | |
DELETED ---> 2, 0.1.2.3 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "GPWT_SEP_RXFlat[0]", RequestedLength := 36, ConnectedFlag := 1, ConnectionPath := "2, 0.1.2.3", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_10_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_11_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_21_TX_EP_GTG01Z1.LTS_EXT_21_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_21_TX_EP_GTG01Z1.LTS_EXT_21_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_11_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_05_TX[0] (CIP Data Table Write) | | | | | | | | | | | | | | | | | | | |

MESSAGEs Summary


(@) = MESSAGEs changed
(C) = COMMENTs changed
(G) = CONFIGURATION changed
(S) = DATA/SOURCE changed
(P) = PATH/DESTINATION changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Messages

OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 Remote: LTS_EXT_22_TX_EP_GTG01Z1.LTS_EXT_22_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_22_TX_EP_GTG01Z1.LTS_EXT_22_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_05_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_01_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_23_TX_EP_GTG01Z1.LTS_EXT_23_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_23_TX_EP_GTG01Z1.LTS_EXT_23_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_01_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_04_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_24_TX_EP_GTG01Z1.LTS_EXT_24_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_24_TX_EP_GTG01Z1.LTS_EXT_24_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_04_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_05_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_25_TX_EP_GTG01Z1.LTS_EXT_25_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_25_TX_EP_GTG01Z1.LTS_EXT_25_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_05_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_01_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_26_TX_EP_GTG01Z1.LTS_EXT_26_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_26_TX_EP_GTG01Z1.LTS_EXT_26_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_01_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_01_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_27_TX_EP_GTG01Z1.LTS_EXT_27_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_27_TX_EP_GTG01Z1.LTS_EXT_27_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_01_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_08_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_28_TX_EP_GTG01Z1.LTS_EXT_28_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_28_TX_EP_GTG01Z1.LTS_EXT_28_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_08_TX[0]", CacheConnections := "TRUE"

Local: LTS_EXT_09_TX[0] (CIP Data Table Write) | | | | | Remote: LTS_EXT_29_TX_EP_GTG01Z1.LTS_EXT_29_TX_EP_GTG01Z1 (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.50:44818 |████████████████████
DELETED MESSAGE

External Message Control MessageType := CIP Data Table Write, RemoteElement := "LTS_EXT_29_TX_EP_GTG01Z1.LTS_EXT_29_TX_EP_GTG01Z1", RequestedLength := 24, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.50:44818", CommTypeCode := 0, LocalIndex := 0, LocalElement := "LTS_EXT_09_TX[0]", CacheConnections := "TRUE"

MESSAGE: QDI_Msg01 (N) | | | | | Remote: EP_GTG01Z1_UNSOL.QDI_Msg | | | | | (CIP Data Table Write)| | | | |
DELETED ---> 2, 10.21.9.36 |████████████████████
DELETED MESSAGE

QDI_Msg01 : MESSAGE MessageType := CIP Data Table Write, RemoteElement := "EP_GTG01Z1_UNSOL.QDI_Msg", RequestedLength := 30, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.36", CommTypeCode := 0, LocalIndex := 0, LocalElement := "QDI_RxTx[0]", CacheConnections := "TRUE"

MESSAGE: RuntimeDataMsg1 (N) | | | | | Remote: EP_GTG01Z1.FP03BUILDDATA1 | | | | | (CIP Data Table Write)| | | | |
DELETED ---> *.21.9.42:44818 |████████████████████
DELETED MESSAGE

RuntimeDataMsg1 : MESSAGE MessageType := CIP Data Table Write, RemoteElement := "EP_GTG01Z1.FP03BUILDDATA1", RequestedLength := 1000, ConnectedFlag := 1, ConnectionPath := "2, 10.21.9.42:44818", CommTypeCode := 0, LocalIndex := 3, LocalElement := "TrackingImage1[*].BuildData.ID[0]", CacheConnections := "TRUE"

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

MESSAGEs Summary


(@) = MESSAGEs changed
(C) = COMMENTs changed
(G) = CONFIGURATION changed
(S) = DATA/SOURCE changed
(P) = PATH/DESTINATION changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

NEW PLC: Nodes (Network Connections)

NEW CONFIG: COMPARISON: OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 | | | | | MODULE: BUILT-IN (N) | | | | | | | | | | CONNECTION: ETHERNET (N) | | | | | B U I L T - I N E T H E R N E T | | | | | ETHERNET: LAN 0 (N) | | | | | MODULE: EPGTG01Z1CAM1 (ETHERNET-MODULE) | | | | |
<-- INSERTED 120.15.250.55 |████████████████████
INSERTED NODE

Matrox Camera IRIS GTR Smart Camera GMX Configuration <@VER 1.420> <@TYPE CAMGTRGMX> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "120.15.250.55", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 500, PrimCxnOutputSize := 128, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: LTC1BK01 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.2 |████████████████████
INSERTED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.2", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP002BK01 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.4 |████████████████████
INSERTED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.4", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP002BK02 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.5 |████████████████████
INSERTED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.5", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP003BK01 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.8 |████████████████████
INSERTED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.8", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP003BK02 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.9 |████████████████████
INSERTED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.9", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC001 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.122 |████████████████████
INSERTED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.122", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC002 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.123 |████████████████████
INSERTED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.123", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC003 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.124 |████████████████████
INSERTED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.124", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC004 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.125 |████████████████████
INSERTED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.125", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC005 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.126 |████████████████████
INSERTED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.126", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC006 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.127 |████████████████████
INSERTED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.127", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: LTCBC01 (ETHERNET-MODULE) | | | | |
<-- INSERTED 192.168.1.192 |████████████████████
INSERTED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "Local", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.192", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

| | | | | MODULE: ENet01 (N) | | | | | | | | | | CONNECTION: ENet01.LOCAL (N) | | | | | R E M O T E N O D E S | | | | | NETWORK: RxBACKPLANE (N) | | | | | MODULE: GA_TGGS01 (5069-L330ERS2) | | | | |
<-- INSERTED 120.15.10.30 |████████████████████
INSERTED NODE

ParentModPortId := 2, CatalogNumber := "5069-L330ERS2", Vendor := 1, ProductType := 14, ProductCode := 238, Major := 32, Minor := 16, PortLabel := "ENet", NodeAddress := "120.15.10.30", Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000

MODULE: GA_TGGS02 (5069-L330ERS2) | | | | |
<-- INSERTED 120.15.10.35 |████████████████████
INSERTED NODE

ParentModPortId := 2, CatalogNumber := "5069-L330ERS2", Vendor := 1, ProductType := 14, ProductCode := 238, Major := 32, Minor := 16, PortLabel := "ENet", NodeAddress := "120.15.10.35", Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000

MODULE: CG_GTG01Z1 (1756-L81ES) | | | | |
<-- INSERTED 120.111.111.111 |████████████████████
INSERTED NODE

ParentModPortId := 2, CatalogNumber := "1756-L81ES", Vendor := 1, ProductType := 14, ProductCode := 211, Major := 31, Minor := 1, PortLabel := "ENet", NodeAddress := "120.111.111.111", Mode := 2#0000_0000_0000_0000, CompatibleModule := 1, KeyMask := 2#0000_0000_0001_1111

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

NODEs Summary


(N) = NODEs changed
(C) = COMMENTs changed
(G) = CONFIGURATIONs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Nodes

OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 | | | | | MODULE: BUILT-IN (N) | | | | | | | | | | CONNECTION: ETHERNET (N) | | | | | B U I L T - I N E T H E R N E T | | | | | MODULE: Conv1ENet02 (1756-EN2T) | | | | |
DELETED ---> 120.15.255.30 |████████████████████
DELETED NODE

Remote Controller CG_GAc1 EN2T module <@VER 1.400> <@TYPE EN2TRemote> Parent := "Local", ParentModPortId := 2, CatalogNumber := "1756-EN2T", Vendor := 1, ProductType := 12, ProductCode := 166, Major := 5, Minor := 8, PortLabel := "ENet", Slot := 2, NodeAddress := "120.15.255.30", CommMethod := 805306369, Mode := 2#0000_0000_0000_0000, CompatibleModule := 1, KeyMask := 2#0000_0000_0001_1111

| | | | | MODULE: ENet01 (N) | | | | | | | | | | CONNECTION: ENet01.LOCAL (N) | | | | | R E M O T E N O D E S | | | | | MODULE: GTG01Z1CAM01 (ETHERNET-MODULE) | | | | |
DELETED ---> 120.15.234.57 |████████████████████
DELETED NODE

Matrox Camera IRIS GTR Smart Camera <@VER 1.410> <@TYPE CAMGTR> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "120.15.234.57", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 500, PrimCxnOutputSize := 128, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: LTC1BK01 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.2 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.2", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP001BK01 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.3 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.3", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP001BK02 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.4 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.4", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP002BK01 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.5 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.5", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP002BK02 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.6 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.6", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: BF001BK01 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.7 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.7", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: BF001BK02 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.8 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.8", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP003BK01 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.9 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.9", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP003BK02 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.10 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.10", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP001BK03 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.11 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.11", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP001BK04 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.12 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.12", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP002BK03 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.13 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.13", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP002BK04 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.14 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.14", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: BF001BK03 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.15 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.15", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: BF001BK04 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.16 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.16", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP003BK03 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.17 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.17", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: FP003BK04 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.18 |████████████████████
DELETED NODE

Balluff IO-Link Master <@VER 1.400><@NO EDITS> <@TYPE EIP-508-105-Z015> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.18", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 392, PrimCxnOutputSize := 262, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC001 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.122 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.122", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC002 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.123 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.123", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC003 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.124 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.124", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

| | | | |

NODEs Summary


(N) = NODEs changed
(C) = COMMENTs changed
(G) = CONFIGURATIONs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Nodes

OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 MODULE: GTG01Z1TC004 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.125 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.125", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC005 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.126 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.126", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC006 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.127 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.127", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC007 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.128 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.128", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC008 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.129 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.129", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC009 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.130 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.130", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC010 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.131 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.131", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC011 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.132 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.132", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC012 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.133 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.133", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC013 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.134 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.134", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC014 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.135 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.135", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC015 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.136 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.136", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC016 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.137 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.137", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC017 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.138 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.138", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC018 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.139 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.139", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC019 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.140 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.140", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC020 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.141 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.141", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC021 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.142 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.142", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC022 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.143 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.143", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC023 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.144 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.144", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC024 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.145 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.145", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC025 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.146 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.146", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC001 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.192 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.192", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC002 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.193 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.193", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC003 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.194 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.194", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC004 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.195 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.195", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

| | | | | | | | | |

NODEs Summary


(N) = NODEs changed
(C) = COMMENTs changed
(G) = CONFIGURATIONs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Nodes

OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 MODULE: GTG01Z1BC005 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.196 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.196", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC006 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.197 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.197", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC007 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.198 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.198", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC008 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.199 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.199", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC009 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.200 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet01", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.200", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

| | | | | MODULE: ENet02 (N) | | | | | | | | | | CONNECTION: ENet02.LOCAL (N) | | | | | R E M O T E N O D E S | | | | | MODULE: GTG01Z1TC026 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.147 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.147", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC027 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.148 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.148", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC028 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.149 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.149", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC029 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.150 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.150", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC030 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.151 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.151", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC031 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.152 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.152", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC032 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.153 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.153", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC033 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.154 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.154", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC034 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.155 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.155", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC035 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.156 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.156", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC036 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.157 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.157", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC037 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.158 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.158", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC038 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.159 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.159", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC039 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.160 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.160", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC040 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.161 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.161", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC041 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.162 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.162", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC042 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.163 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.163", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC043 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.164 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.164", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC044 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.165 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.165", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

| | | | |

NODEs Summary


(N) = NODEs changed
(C) = COMMENTs changed
(G) = CONFIGURATIONs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

OLD PLC: Deleted Nodes

OLD CONFIG: CONFIG EDIT LEVEL: 0 25 50 75 100 MODULE: GTG01Z1TC045 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.166 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.166", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC046 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.167 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.167", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC047 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.168 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.168", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC048 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.169 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.169", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC049 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.170 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.170", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1TC050 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.171 |████████████████████
DELETED NODE

GM Torque Controller EtherNet I/O Module <@VER 1.402><@NO EDITS> <@TYPE TCGMStd> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.171", CommMethod := 536870915, ConfigMethod := 8388611, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 96, PrimCxnOutputSize := 96, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC010 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.201 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.201", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC011 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.202 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.202", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC012 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.203 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.203", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC013 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.204 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.204", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC014 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.205 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.205", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC015 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.206 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.206", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC016 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.207 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.207", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC017 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.208 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.208", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC018 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.209 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.209", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC019 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.210 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.210", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: GTG01Z1BC020 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.211 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.211", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

MODULE: LTC1BC2 (ETHERNET-MODULE) | | | | |
DELETED ---> 192.168.1.242 |████████████████████
DELETED NODE

Barcode Comtrol Interface <@VER 1.400><@NO EDITS> <@TYPE BCComtrol> Parent := "ENet02", ParentModPortId := 2, CatalogNumber := "ETHERNET-MODULE", Vendor := 1, ProductType := 0, ProductCode := 18, Major := 1, Minor := 1, PortLabel := "ENet", NodeAddress := "192.168.1.242", CommMethod := 536870916, ConfigMethod := 8388612, Mode := 2#0000_0000_0000_0100, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000, PrimCxnInputSize := 444, PrimCxnOutputSize := 244, SecCxnInputSize := 0, SecCxnOutputSize := 0

| | | | | MODULE: Conv1ENet02 (N) | | | | | | | | | | CONNECTION: Conv1ENet02.REMOTE (N) | | | | | R E M O T E N O D E S | | | | | MODULE: CG_GTG01 (1756-L83ES) | | | | |
DELETED ---> |████████████████████
DELETED NODE

Remote Controller - Conveyor <@VER 1.400> <@TYPE L6xSRemote> Parent := "Conv1ENet02", ParentModPortId := 1, CatalogNumber := "1756-L83ES", Vendor := 1, ProductType := 14, ProductCode := 213, Major := 32, Minor := 1, PortLabel := "RxBACKPLANE", Slot := 0, Mode := 2#0000_0000_0000_0000, CompatibleModule := 0, KeyMask := 2#0000_0000_0000_0000

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

NODEs Summary


(N) = NODEs changed
(C) = COMMENTs changed
(G) = CONFIGURATIONs changed
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...

MicroCODE Incorporated

LADDERS®

Compare Report

App Version v1.0.0 Beta 4

Allen-Bradley Logix 5000

EP_GTG01Z1

EP_GTG01Z1_CDE_REV05.L5K (OLD)

EP_GTG01Z1_HTI_20230927_0850AM.L5K (NEW)

MicroCODE Incorporated
55 E. Long Lake Rd, #224
Troy, MI 48085
https://www.mcode.com

Report No.: LDRS230930.1155.06

LADDERS® technology since 1983...

LADDERS® EDIT LEVEL: 0 25 50 75 100 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Report Information This app is based on the LADDERS® software products of WRB Associates, Inc. and MicroCODE, Inc. developed and sold from circa 1980 through 1998. This product generates JavaScript 5, HTML 5, and CSS 3 from a backend of C# .NET 6. The backend was ported from the original MACRO-11 and MACRO-32 assembly language code written for Digital Equipment Corporation PDP-11/RT-11 and VAX/VMS computers. The support for the Allen-Bradley Logix 5000 PLCs was added in 2021 during the port. The appearance of this report has been optimized for: Google Font Fira Code for the monospaced 'Sequence' (Embedded). Microsoft Franklin Gothic for the 'Summary' and 'Compare' columns. Google Font Libre Franklin as a backup to 'Franklin Gothic'. Microsoft Arial for general report text. The HTML 5 syntax is verified by the W3 Validator every release.

MicroCODE Development

BETA

COMPARE Statistics

OLD PLC Program
hh:mm:ss.msec
OLD File Import Time: 00:00:00.623
OLD File Size (Bytes): 10,692,709 ~ 10MB
NEW PLC Program
hh:mm:ss.msec
NEW File Import Time: 00:00:00.388
NEW FIle Size (Bytes): 9,610,827 ~ 9MB
COMPARE Execution
hh:mm:ss.msec
Programs Import Time: 00:00:01.014
Compare Execution Time: 00:00:00.784
Import and Compare Time: 00:00:01.798
Report Generation Time: 00:00:00.780
OVERALL Time to Report: 00:00:02.579
COMPARE Settings
User Selected
Differences Only? True
Ignore Comments? False
Ignore Data Values? True
Ignore Text Casing? False
Detailed Report? True
Emailed to: tmcguire@mcode.com
Compare Color Key
Program Change Highlighter
Edited Code
Inserted Code
Deleted Code
Edited Comments
Inserted Comments
Deleted Comments

Clicking a line reveals details,
document-wide control...