System designTroubleshooting

Vision project start stop handshake troubleshooting

Diagnose a vision project start stop handshake by checking loading, initialization, ready states, command edges, acknowledgements and licensed tasks.

LumaSpec Vision9 min read Share on LinkedIn

On this page 10 sections
  1. 01Separate project state from machine state
  2. 02Check likely causes in order
  3. 03Prove loading and initialization before testing start
  4. 04Verify edge handling at the receiving interface
  5. 05Define a PLC handshake with observable outcomes
  6. 06Budget timeouts for the transition being monitored
  7. 07Verify licensed capabilities before adding a background task
  8. 08Check hardware roles without treating hardware as the fix
  9. 09Validate restart behavior and preserve the evidence
  10. 10Questions

A vision-guided cell can accept a stop command while ignoring start because the commands act on different parts of the project lifecycle. Stopping an active project does not necessarily leave it loaded, initialized, selected and ready for another start. This troubleshooting procedure helps you separate those states, trace the command through the controller and define a PLC handshake that reports progress instead of relying on an unverified pulse.

Separate project state from machine state

Begin with the controller's documented project-handling interface. Determine whether its start command starts an execution task, resumes a selected project, or invokes a project manager that must already be running. Do not assume that similarly named inputs perform the same preparation.

A useful diagnostic sequence is:

No project → Loading → Loaded → Initializing → Ready → Starting → Running

Treat this as a proposed application model, not a universal controller state diagram. Some systems combine states or expose different names. Map each state to documented status information before implementing the handshake.

A stop command might end processing without unloading the project. It might also terminate a task needed to receive subsequent commands. Record what actually remains active after stopping.

Project readiness is also different from machine permission to operate. Keep process readiness, motion permission and safety status distinct.

If the failure occurs only after a controller restart, also follow the checks in conveyor vision startup synchronization troubleshooting. The question here is narrower: which project-lifecycle transition has failed?

Check likely causes in order

Use a timestamped trace rather than changing several settings together. Capture the PLC command, controller input, selected project, execution state, readiness, acknowledgement and fault indication.

Observation Likely cause Discriminating test Corrective direction
Stop works, but no project is loaded afterward Start does not perform loading Inspect project-loaded status before issuing start Use the documented load sequence
Project is loaded but never becomes ready Initialization is incomplete or faulted Inspect initialization status and diagnostic messages Correct the failing prerequisite
Ready is true, but the controller never sees start Wrong mapping or ownership Trace the physical input and assigned logical command Correct the documented signal assignment
Start stays high without a new transition Command requires an edge Trace the signal before and after stopping Return the request inactive before rearming
Start is acknowledged but running never appears Start was accepted but execution failed Capture the resulting state and fault code Diagnose the execution fault
Behavior changes after project selection Command targets another project or context Compare selected and requested project identities Correct project selection and ownership

For context-dependent failures, vision picking project changeover ownership faults provides a separate ownership check. A valid electrical input cannot start the intended project if its command belongs to another context.

Prove loading and initialization before testing start

Test each transition independently, using the documented interface and a controlled cell state.

  1. Confirm the destination. Record the selected project identity and the controller receiving the request. Verify that the application targets that same project.
  2. Load the required project-handling components. Some systems require a manager or execution module before project commands become effective. Follow the manufacturer's documented loading procedure; do not infer a module name from another installation.
  3. Request project loading. Observe completion through an explicit loaded status or documented equivalent. A successful command write is not proof that loading finished.
  4. Run initialization where required. Check configuration, required device connections and execution prerequisites. Record the first reported fault rather than repeatedly retrying.
  5. Wait for readiness. Require the documented ready indication and absence of blocking faults. Keep machine operating permissions separate from project readiness.
  6. Issue a fresh start request. Observe command acceptance and then running status. These are separate observations, even when they occur close together.

If loading fails, inspect project destination and controller association before editing I/O logic. The article on vision project controller mapping addresses that branch.

After each failure, preserve the trace. Repeated starts can obscure the original fault or create queued requests in an interface that supports them.

Verify edge handling at the receiving interface

Check whether start is rising-edge triggered, level-sensitive or part of a request-and-acknowledgement exchange. The PLC output alone cannot establish which behavior the receiver implements.

For an edge-triggered command, the receiver must observe both the inactive state and the subsequent active state. A request left active through stopping may provide no new start edge.

Sampling also matters. For example, a 10 ms pulse can fall entirely between input observations spaced 20 ms apart. Input filtering, communications updates and task scheduling can add further uncertainty. These are illustrative timing values, not settings for a particular controller.

Trace the receiving logical input, not just the PLC output image. If the pulse reaches that input but produces no acknowledgement, move upstream into project state and command interpretation.

Do not stretch a pulse indefinitely as a substitute for understanding the interface. A level-sensitive command could then behave differently after a fault reset or readiness change.

Define a PLC handshake with observable outcomes

Agree on a signal contract before writing the sequence. The following names are illustrative application signals, not existing controller features.

Signal Direction Intended meaning
LoadRequest PLC to vision application Request loading of the selected project
StartRequest PLC to vision application Request a start from an eligible state
StopRequest PLC to vision application Request the documented ordinary stop
CommandAccepted Vision application to PLC The current request has been accepted
ProjectReady Vision application to PLC Project prerequisites for start are satisfied
ProjectRunning Vision application to PLC Project execution is active
ProjectFault Vision application to PLC A fault requires attention
FaultCode Vision application to PLC A diagnostic reason, where the interface permits it

For a custom maintained-request interface, define the complete exchange: request asserted, acknowledgement asserted, request cleared, acknowledgement cleared. Do not impose that exchange on a built-in interface with different semantics.

Acknowledge acceptance separately from completion. Acceptance means the receiver recognized the request; running means the requested transition succeeded.

Define what happens if ordinary start and stop arrive together. Where your application owns the arbitration, give stop priority and require a fresh start after stopping completes. Follow documented behavior where arbitration is built into the controller.

Do not automatically retry an uncertain start. First determine whether the project started despite a missing acknowledgement. After reconnecting or resetting a fault, reconcile actual state and require the appropriate deliberate operating command.

Budget timeouts for the transition being monitored

Separate command-response timing from project preparation timing. Loading a project and acknowledging a start request are different operations, so they should not share an unexplained timeout.

For sequential preparation, a conservative deadline estimate is:

Preparation deadline = communication allowance + maximum observed load time + maximum observed initialization time + start acknowledgement allowance + engineering margin

Consider an illustrative trace with 40 ms communication allowance, 800 ms loading, 300 ms initialization and 100 ms start acknowledgement allowance. Adding 260 ms margin gives:

40 + 800 + 300 + 100 + 260 = 1500 ms

That is a commissioning example, not a recommended universal timeout. Measure repeated cold starts, warm restarts and project changes under expected operating conditions.

Report which stage timed out. A message such as “initialization incomplete” directs investigation better than a single generic start fault. A timeout should also leave the application in a defined state rather than silently issuing another start.

Verify licensed capabilities before adding a background task

A separate handshake task can be useful when it must remain active while project execution stops. However, independent task execution may depend on controller software, installed options, runtime licensing or application restrictions.

Before assigning that architecture, verify:

  • The exact controller and runtime version.
  • The installed entitlement for concurrent or background tasks, if required.
  • Whether the application permits an additional user task.
  • Which communications and I/O resources that task may own.
  • How task startup, shutdown and project changes are coordinated.

A vision application entitlement does not establish that every controller programming feature is included. Confirm the requirement through the manufacturer's documentation or authorized support channel.

If the capability is unavailable, use a documented alternative: PLC-side sequencing through supported status signals, an approved application service, or an appropriately licensed controller configuration. Do not alter protected runtime components or try to circumvent an entitlement check.

For operator-driven selection, keep the lifecycle handshake separate from the selection mechanism described in local vision recipe switching from operator buttons.

Check hardware roles without treating hardware as the fix

When specifying a new cell, distinguish vision controllers from smart cameras. Confirm where project management executes and which device owns each status signal. Neither category alone establishes support for your handshake or licensed task architecture.

The MV-SVC2506-16G60-128G is a vision controller candidate. Verify its documented runtime capabilities and project interface against the required lifecycle.

Vision controllersHikrobot MV-SVC2506-16G60-128G 4 camera GigE ports, 1 configuration GigE port, 1 communication GigE port, 6100pro encryption supportedMV-SVC2506-16G60-128G
LAN ports
5+ LAN ports
USB 3 ports
2 USB 3 ports
Light outputs
4 built-in channels
Memory
16 GB
Price on requestView and quoteBuild a system with it

The MV-SC3013XM-12M-ATN-H is a vision sensor candidate. Confirm its application command and status interface before assigning it a role in the handshake.

Smart cameras & vision sensorsHikrobot MV-SC3013XM-12M-ATN-H 1.3 MP mono vision sensorMV-SC3013XM-12M-ATN-H
Interface
GigE
Resolution
Up to 3 MP
Sensor format
1/1.45"
Shutter
Global
$1,809.00View part

Use the camera finder to review imaging requirements separately from controller execution requirements. Replacing hardware is not the first remedy when the missing transition is loading, initialization or command acknowledgement.

Validate restart behavior and preserve the evidence

Complete an acceptance checklist before returning the cell to normal operation:

  • Cold startup: loading and initialization finish before start becomes eligible.
  • Ordinary stop and restart: stopping completes, the request rearms, and a fresh start is recognized.
  • Start while not ready: the documented interface rejects, ignores or otherwise handles it predictably, without a surprise later start.
  • Initialization fault: the PLC receives a useful fault indication and does not retry indefinitely.
  • Communication interruption: commands do not become stale requests after reconnection.
  • Project change: identity, readiness and command ownership agree before starting.
  • Simultaneous commands: observed arbitration matches the documented design.

Keep a known-good trace with signal assignments, interface semantics, timeout values, software versions and required entitlements. Repeat these checks after relevant application or runtime changes.

If a transition remains unexplained, send the state trace, project identity and diagnostic messages through technical support. Start with the first missing acknowledgement or state transition, not a request for a longer start pulse.

Questions

Why does the vision project stop through I/O but not restart?

Stop may act on an already active execution context, while start requires a loaded project and an initialized command handler. Check the selected project, loaded status, readiness and receiving input in that order. Successful stopping proves only that the stop path worked in its previous state.

Should the PLC pulse start or hold it until acknowledgement?

Use the command behavior documented for the receiving interface. An edge-triggered input needs an observed inactive state before another active transition. A maintained-request handshake may instead require the request to remain active until acknowledgement. Changing between these methods without checking the interface can create missed or unintended commands.

Does a start acknowledgement mean the project is running?

Not necessarily. An acknowledgement can mean that the request was received or accepted, rather than completed. Monitor the documented running state separately, and apply a completion timeout. If the acknowledgement disappears during a communications interruption, reconcile actual project state before issuing another request.

Is a separate background task required for the handshake?

A background task is useful only if the platform supports it and the design needs independent execution. Confirm installed licensing, application restrictions and resource ownership first. Supported PLC sequencing or an application-provided service may meet the requirement without creating an additional task.

What evidence should be collected before requesting support?

Capture a timestamped trace showing the request, receiving input, selected project, loaded state, readiness, acknowledgement, running state and first fault. Include runtime versions and relevant installed options. This identifies whether the problem belongs to signal delivery, project preparation, command interpretation or execution.