Skip to content
Logistics Systems

Integrations

WCS and PLC: handshakes, watchdogs and command recovery

Designing the boundary between flow control and industrial execution without confusing communication with completion.

ABNET • Technical guide · 5 min read

Responsibilities and timing

WCS coordinates tasks and routes; PLCs execute local sequences and interlocks. Document the actual division. Safety functions belong to the appropriate machine architecture and must not depend on a WCS response.

Choose communication rates from controller update cycles, network load and operational need. Destination assignment and motion control have different timing requirements. The smallest polling interval is not automatically the best design.

A coherent command contract

A handshake may include identifier, sequence, parameters and processing state. Distinguish requested, acknowledged, executing and completed. Assign one writer per field and define when parameters become a coherent command.

Separate writes can expose mixed parameter sets. Use the agreed consistency mechanism, such as a validated structure and publication sequence. Adding a validity bit without update rules does not eliminate the race.

Watchdog and reconnection

A watchdog detects missing updates, not complete application health. A process may toggle a heartbeat while its command queue is stuck. Monitor progress and request age as well as connectivity.

After reconnecting, distinguish current observations from retained values. Compare physical state and acknowledged sequence. Resetting everything can hide a moving load or reapply an old command.

Worked lost-response scenario

The PLC executes command 204 but WCS misses completion. Where supported, repeating identity 204 should return existing state. Otherwise recovery requires a query or controlled reconciliation before another movement command.

Interrupt before acceptance, during movement and after completion. Define expected physical behavior for each case. Acceptance requires no unintended movement, coherent state and an operational explanation for remaining blocks.

Command ownership, consistency and identity

A PLC contract defines who writes, who reads and when parameters form a complete command. Separate writes to destination, load and request fields can expose mixed generations. Use a supported, tested consistency mechanism; sharing a display does not imply atomicity.

One reference design prepares parameters and publishes a command sequence after the set becomes coherent. The receiver captures and validates the generation before acceptance. This needs visibility and update guarantees from the chosen mechanism; a sequence alone does not make separate writes atomic.

Command ownership, consistency and identity
Logical fieldWriterReference rule
Command identity / generationAuthorized WCS or adapterStable across retries; restart is not a new command.
Task parametersCommand producerDo not change accepted parameters outside an update flow.
Acknowledged identity and outcomeEquipment controller/interfaceAssociate the response with the correct request.
Mode and availabilityResponsible controllerValidate operating mode before admission.
Session / restart identityEach endpoint as contractedDetect lost history and require reconciliation.

Transfer without relying on short pulses

A pulse can appear and disappear between reads. For indispensable events, retain requests and results until acknowledged or provide recoverable history. Choose according to platform and volume, including limits and reconnection behavior.

  1. Producer → command area

    Prepare parameters and publish a coherent generation.

  2. Receiver → validation

    Check identity, mode, eligibility and consistency.

  3. Receiver → acknowledgement

    Identify the accepted or rejected generation.

  4. Equipment → execution

    Execute under local logic and interlocks.

  5. Receiver → result

    Retain identity and outcome until contracted acknowledgement.

  6. Producer → next cycle

    Record the result before reusing the channel.

One in-flight request simplifies correlation but can limit throughput. Multiple requests require explicit identities, queue capacity and ordering.

Watchdog, command timeout and stalled progress

Separate communication-data age, command-acknowledgement deadline and execution/progress time. A recent heartbeat does not prove the task queue is advancing. Long execution may indicate destination waiting rather than communication failure.

Detection estimates must include production interval, read/subscription period, network delay and observed margin. An illustrative 100 ms update and 200 ms evaluation already require phase-offset consideration. These are not configuration recommendations; real limits depend on equipment and agreed behavior.

Watchdog, command timeout and stalled progress
IndicatorInterpretationDesign response
Stale dataObservation may no longer represent current statePrevent dependent decisions and diagnose communication.
Unacknowledged commandAcceptance is unknownQuery outcome; do not assume the request never arrived.
Execution without progressBlocked load or abnormal conditionInspect reason, position and exception procedure.
New session after reconnectHistory may have resetReconcile before issuing new commands.

Independent endpoint restarts

Restart WCS and PLC separately. One side may retain values while the other loses its last-operation record. Identify available history and reconcile open commands with physical state. Clearing bits or reservations does not establish load location.

Define counter reset, rollover and reuse. A boot generation or session can distinguish operating periods where supported. Otherwise resumption needs controlled blocking and operational reconciliation.

Independent endpoint restarts
ScenarioCheckResume condition
WCS restarts; PLC continuesAcknowledged command and in-transit loadRecovered state matches execution.
PLC restarts; WCS continuesMode, retained values and sequence lossVerified identity and location.
Both restartPersistent history and present loadsReconciled work, no blind replay.
Old response after recoverySession and request identityStale event cannot change new work.

Minimum interface-test evidence

Record contract version, configuration, request/response sequence, equipment mode and load observations. Interrupt before acknowledgement, during movement and after completion. Verify operators can distinguish communication loss from operational blocking.

Require no duplicated movement, no completion without evidence and explainable resumption. Machine-safety validation belongs to its specific plan and responsible teams. This execution handshake does not replace it.

Project verification criteria

  • Assign a single writer to every handshake field.
  • Test partial updates, retained values and repeated sequences.
  • Recover without blindly replaying movement commands.

Examples describe engineering decisions and test scenarios. Implemented interfaces, limits and features are defined by each project’s scope.

Continue reading

Application in ABNET WCS