Servo positioning start timing chart — "In position" right after the start still belongs to the previous position (sample)

Last updated: 2026-09-23 / Category: Samples, timing charts

One move, from the PLC handing the target position to the servo amplifier and starting, to deciding the move is complete (0.1 s divisions). Drawn for anyone who moved on at the in-position signal right after the start and had the next step begin before the axis moved.

Open this sample in the editor Download the JSON

The free browser editor opens in a new tab with this chart loaded. No installation, no sign-up, and nothing you enter is sent anywhere. Editing it does not change the sample on this page. The JSON is the source data for reopening it in the editor or handing it to an AI (format: JSON data format).

Timing chart of a servo positioning start. bStartOK (start condition) stays ON. After nTargetPos (target position) changes from 0 to 50000, bStartReq (positioning start) turns ON. That turns bBusy (busy) ON, and bInPos (in position), still ON from the previous position, turns OFF. Busy ON makes the start turn OFF. After a 1.2 s move, in-position turns ON, then busy turns OFF, which raises bMoveDone (move complete). The changes are joined by dotted arrows.
The 1.2 s from S3 to S15 is a 50000-pulse move, set by the speed and acceleration. The 0.3 s from S15 to S18 assumes busy waits for settling (on some models it is 0, or the order is reversed). So no arrow is drawn between busy OFF and in-position ON; move complete is raised in the step where both hold. The start condition only has to stay ON, so it has no arrow either.

1. Six signals; move complete is made inside the PLC

SignalDirectionMeaning
bStartOKPLC (internal)Start condition: servo ON and no alarm from the amplifier, plus home established. Home established means homing complete, or for an absolute encoder, the position is valid
nTargetPosPLC → servo amplifierTarget position [pulse]
bStartReqPLC → servo amplifierPositioning start
bBusyServo amplifier → PLCBusy. ON from accepting the start until positioning ends. In this chart it also serves as the acknowledgement
bInPosServo amplifier → PLCIn position. Depending on the model, ON when the difference from the target, or between the commanded and actual position (following error), is within the set band
bMoveDonePLC (internal)Move complete. The condition for the next step: busy has been seen ON after the start, and then busy OFF and in-position ON both hold. Not raised if it stopped on a stop request or an error

2. One move: target position → start → busy → complete

3. Drop the start after the acknowledgement; decide completion only after seeing busy ON

  1. Start only after the target position has arrived If the start arrives first, the axis moves to the previous target. Leave one scan inside the PLC, or one update cycle over a network. If a 32-bit value is sent as two words, check that they are sent together.
  2. Drop the start only after the acknowledgement A one-scan pulse vanishes if it is shorter than the other side's read cycle. Dropping it after busy turns ON works whether the amplifier is edge- or level-triggered. Check first for PLCs that require the command input to stay ON throughout the move.
  3. Decide completion only after seeing busy ON following the start In-position is still ON from the previous position. Complete means busy went ON once after the start, and then busy OFF and in-position ON both hold. On models that chatter, require the ON to last a few tens of ms.
  4. Allow for very short moves Busy may be ON for only a few ms and be missed. Use the acknowledgement on models that latch it; on models without one, treat a target within the in-position band of the current position as complete without starting.
  5. Do not rewrite the target position while busy When it takes effect depends on the model and its settings. Rewrite only after move complete.

4. Not starting or not finishing: fault on a time limit

Give every wait a time limit and raise a fault when it is exceeded. The limit for the move is the travel time calculated from distance, speed and acceleration, plus a settling margin.

Recovery after an alarm is drawn in a separate chart or flowchart, because whether homing must be repeated depends on the alarm.

5. Whatever the interface, read it as the same three: start, busy, complete

The tools this sample was made with

  • Timing Chart Editor — The figure above and the sample JSON were made and exported with this editor.
  • Flowchart Editor — Turns the arrows of the chart into a sequence of waits and processes.

Related articles

yk.builds