home/AOI collection
conveyor AOI collection · Solid edition

17 conveyor building blocks that snap together.

The SOL_ collection is 17 Add-On Instructions for Studio 5000 Logix Designer v33 and later, written in ladder where sequencing reads best and Structured Text for tracking and sort tables.

  • Studio 5000 v33+
  • ladder + Structured Text
  • one faceplate pattern
  • 4 example applications
how it fits together

One set of conventions.

Every AOI uses the same names: Inp_ field inputs, Cfg_ settings, PCmd_ program commands, Out_ outputs, Sts_ and Alm_ status, and a first-out FaultCode.

Every device AOI has one InOut faceplate tag (SOL_HMI_*) that carries mode (Auto / Manual / Maintenance), operator commands with permissions, state, counts and values. A single faceplate design works for every instance, and the HMI never reaches into AOI internals.

Field devices sit at the bottom (photo-eyes, starters, PowerFlex 525 drives), conveyor behaviour in the middle (conveyor, ZPA zone, merge, gap), the line master on top, sequencing start-up downstream-first and stopping upstream-first. Sortation sits alongside (encoder, tracking, sort table, diverts, lift transfers), with alarms, the operator-panel summary and comms watchdogs around the edge.

A normal Stop is always a controlled stop. E-stops and guards stay in hardwired safety; the AOIs only follow their status.

How the SOL_ AOIs fit togetherField devices at the bottom, conveyor behaviour in the middle, the line master on top, sortation alongside, and alarms, the operator panel summary and comms watchdogs around the edge.LINE MASTERSOL_Linestart downstream-first, stop upstream-firstCONVEYOR BEHAVIOURSOL_ConveyorSOL_ZPA_ZoneSOL_MergeSOL_GapFIELD DEVICESSOL_PhotoEyeSOL_MotorSOL_PF525SORTATIONSOL_EncoderSOL_TrackingSOL_SortTableSOL_DivertSOL_LiftTransferALARMS · HMI · COMMSSOL_AlarmSOL_HMI_PanelSOL_HeartbeatSOL_EIP_Noderun enables
the collection

The 17 SOL_ AOIs.

Each card shows the AOI's inputs, outputs and its faceplate from the HMI Library. Tap a card to enlarge it.

Devices

SOL_PhotoEye card: Devices, Ladder, inputs, outputs and its faceplate

SOL_PhotoEye

Conditions a photo-eye input: light- or dark-operate, separate on and off debounce, one-scan blocked and cleared edges, blocked time and a count, plus a stuck-blocked alarm for a dirty lens or misaligned reflector.

in: Inp_PE · out: Out_Blocked, Sts_Leading, Sts_Trailing, Alm_Stuck

SOL_Motor card: Devices, Ladder, inputs, outputs and its faceplate

SOL_Motor

An across-the-line starter: forward / reverse, contactor auxiliary feedback with fail-to-start and fail-to-stop, overload, interlock, first-out fault, Auto / Manual / Maintenance with a timed jog, run hours and starts.

in: PCmd_Run, Inp_Aux, Inp_OverloadOK, Inp_Intlk · out: Out_Fwd, Sts_Running, Sts_Faulted

SOL_PF525 card: Devices, Ladder, inputs, outputs and its faceplate

SOL_PF525

Runs an Allen-Bradley PowerFlex 525 over EtherNet/IP through the drive's Logic Command, Logic Status and frequency words: start / stop / jog / direction, speed reference in Hz, drive fault and F-code, comms-loss, ready and fail-to-start checks, Auto / Manual / Maintenance.

in: PCmd_Run, PCmd_Speed_Hz, drive status words · out: Out_LogicCommand, Out_FreqCommand, Sts_Running, Sts_Speed_Hz

SOL_Conveyor card: Devices, Ladder, inputs, outputs and its faceplate

SOL_Conveyor

One conveyor's run logic on top of a motor or drive AOI: line run enable, start delay, hold when downstream is not ready, jam detection on a discharge eye blocked too long, run-out and energy-save sleep with wake-up on product, carton count.

in: Inp_LineRun, Inp_InfeedPE, Inp_DischargePE, Inp_DownstreamReady · out: Out_RunReq, Sts_Held, Alm_Jam

SOL_ZPA_Zone card: Devices, Ladder, inputs, outputs and its faceplate

SOL_ZPA_Zone

A zero-pressure accumulation zone: holds its carton while the next zone is occupied, singulation or slug release, wakes for an upstream carton, runs on after its eye clears, Full Transport bypass, and works across conveyor and controller boundaries.

in: Inp_ZonePE, Inp_DownOccupied, Inp_UpOccupied, Inp_Release · out: Out_Run, Sts_Occupied, Sts_Held

Line control

SOL_Line card: Line control, Ladder, inputs, outputs and its faceplate

SOL_Line

The line master: start warning horn / beacon, sequenced start downstream-first, controlled stop upstream-first, fast stop, E-stop and guard status chain, reset and line mode (ZPA or Full Transport).

in: PCmd_Start, PCmd_Stop, Inp_EStopOK, Inp_AnyFault · out: Out_RunEnables, Out_Horn, Sts_ZPA

SOL_Merge card: Line control, Ladder, inputs, outputs and its faceplate

SOL_Merge

Merges two or three infeeds onto one conveyor with priority or alternating (zipper) release, a merge-clear check, upstream hold, and anti-starvation so an infeed that has waited too long gets the next turn.

in: Inp_Ready1..3, Inp_MergeClear, Inp_Run · out: Out_Release1..3, Sts_Last, Alm_Starved1..3

LadderExample B
SOL_Gap card: Line control, Ladder, inputs, outputs and its faceplate

SOL_Gap

Measures the gap between cartons at an eye and allows the next release only once the eye has been clear for the minimum gap.

in: Inp_PE, Cfg_MinGap_ms · out: Out_Release, Sts_LastGap_ms

Sortation

SOL_Encoder card: Sortation, Ladder, inputs, outputs and its faceplate

SOL_Encoder

A position counter in millimetres for tracking: a real encoder with rollover-safe deltas, or a virtual encoder from belt speed and time while the belt runs.

in: Inp_Counts or Cfg_Speed_mm_s + Inp_Running · out: Out_Pos_mm

LadderExample C
SOL_Tracking card: Sortation, Structured Text, inputs, outputs and its faceplate

SOL_Tracking

A 32-carton FIFO from the induct eye carrying code and destination; fires the lane's divert when the carton has travelled that lane's distance; an unavailable lane or the end of the belt means reject; counts per lane.

in: Inp_Induct, Inp_Code, Inp_Dest, Inp_Pos, Inp_LaneAvail · out: Out_FireMask, Sts_InQueue, Sts_Rejects

Structured TextExample C
SOL_SortTable card: Sortation, Structured Text, inputs, outputs and its faceplate

SOL_SortTable

Turns a scanned code into a lane with exact and range rules from a 64-rule array, with separate no-read, multi-read and no-match lanes and a counter for each.

in: PCmd_Lookup, Inp_Code, Inp_NoRead, Inp_MultiRead · out: Out_Lane, NoReads, NoMatch

Structured TextExample C
SOL_Divert card: Sortation, Ladder, inputs, outputs and its faceplate

SOL_Divert

One divert into a lane (pusher, pop-up wheel or belt divert): fires on the tracking request, holds for the fire time, confirms on the lane eye, refuses when the lane is full so the carton continues to reject, and counts.

in: Inp_Fire, Inp_ConfirmPE, Inp_LaneFullPE · out: Out_Actuate, Sts_Available, Sts_LaneFull

LadderExample C
SOL_LiftTransfer card: Sortation, Ladder, inputs, outputs and its faceplate

SOL_LiftTransfer

A 90-degree lift / transfer: raise to the up prox, run the transfer belts either way until the carton clears plus a run-on, lower to the down prox, with a timeout on every step and manual raise / lower / belts in Maintenance; holds the main belt while it is up.

in: Inp_Request, Inp_ProductPE, Inp_UpProx, Inp_DownProx · out: Out_Raise, Out_BeltFwd, Out_HoldMain

LadderExample C

Alarms, HMI and comms

SOL_Alarm card: Alarms, HMI and comms, Ladder, inputs, outputs and its faceplate

SOL_Alarm

One alarm: on-delay, optional latch until acknowledged, acknowledge and shelve from the HMI, occurrence count, severity and message number for an FT View ME / View Designer alarm banner.

in: Inp_Cond · out: Sts_Active, Sts_Unacked, SOL_HMI_Alarm block

SOL_HMI_Panel card: Alarms, HMI and comms, Structured Text, inputs, outputs and its faceplate

SOL_HMI_Panel

One per operator panel: summarises up to 64 alarm blocks for the banner (active count, unacknowledged, highest severity, first active message), acknowledge-all, and a heartbeat both ways so the PLC knows the HMI is alive.

in: Alarms[], Inp_AckAll, Inp_HMIHeartbeat · out: Sts_First, Sts_Highest, Sts_HMIOK

SOL_Heartbeat card: Alarms, HMI and comms, Ladder, inputs, outputs and its faceplate

SOL_Heartbeat

A comms watchdog for any peer that sends a changing counter (another PLC, a scanner, a robot controller): sends its own heartbeat and raises a timeout alarm when the peer's stops changing.

in: Inp_PeerHB · out: Out_HB, Sts_OK, Alm_CommLost

LadderExample D
SOL_EIP_Node card: Alarms, HMI and comms, Ladder, inputs, outputs and its faceplate

SOL_EIP_Node

A remote station on EtherNet/IP (a conveyor controller, an operator station, a robot cell or another PLC) owned as a Generic Ethernet Module with 16-DINT input and output assemblies: heartbeat watchdog, Start / Stop / Reset with acknowledge, error codes both ways, and a standard faceplate block so the station drops in like every other device.

in: Inp / Outp arrays, Start, Stop, Reset, PLCErrorCode · out: Connected, Running, NodeErrorCode, Count

Ladderlibrary demo program
example applications

Four example applications.

Built to show the collection working together. These are example applications, not customer projects.

Tested in simulation. Each example's logic has been run in a Logix simulator against a simple carton model, using the same rungs and Structured Text that go into its L5X program. The PLC and HMI images are renders of that logic and of the HMI Library faceplates with values from the simulator run; they are not Studio 5000 or FactoryTalk screenshots.

next step

Need conveyor controls?

We build conveyor and sortation controls with this collection. Tell us about your line.