Start here if you want to configure axes, synchronization, homing, motor record behavior, or motion-related PLC logic.
If you want the preferred meaning of terms such as axis, axis PLC, and
legacy motion, see Terminology.
For new configurations, the preferred path is YAML-based:
addSlave.cmd and applyComponent.cmdloadYamlAxis.cmdloadYamlPlc.cmd or loadPLCFile.cmdIf you are maintaining an older IOC based on .ax, .vax, and .sax files,
go directly to legacy motion.
When an axis is validated before runtime, ecmc can write warnings to the configuration log buffer. These warnings are intended to catch configurations that are legal but likely to behave badly. They do not block startup by themselves, but they should be reviewed before the IOC is put into service.
Examples include:
Kp equal to zero when the ecmc position controller is usedFor CSV axes with an integer velocity setpoint, a small at-target tolerance
combined with a low Kp can also cause a warning. Close to the target, the
position controller output is converted to the drive velocity setpoint. If
Kp * monitoring.target.tolerance * abs(drive.denominator / drive.numerator)
is below about 0.5 raw counts, the velocity setpoint may round to zero. The
axis can then stop near the target because the remaining error no longer
produces an effective velocity command. If stall monitoring is enabled, this
can also result in ERROR_MON_STALL.
Mitigate this by increasing monitoring.target.tolerance, increasing the
active Kp, or using suitable inner controller parameters for final
positioning. This specific rounding warning applies to CSV axes with integer
velocity setpoints. See also tuning
and RT logger diagnostics.