Motion Control Instruction Comparison (KEYENCE KV-X / OMRON NJ/NX)
A cross-reference table that lines up, by function, the motion control instructions of the KEYENCE KV-X300 series and the OMRON NJ/NX series. Both have instructions compliant with the PLCopen® function blocks for motion control
For the meaning of the symbols, see the legend at the end of the page.
Common Input/Output Variables
Input/output variables commonly used in PLCopen® function blocks for motion control. On both KV-X and NJ/NX they can generally be used with the same names and meanings.
| Category | Variable name | Description | Differences between KV-X and NJ/NX |
|---|---|---|---|
| Target axis | Axis | Axis variable | NJ/NX: in-out variable |
AxisGroup / AxesGroup | Axes group variable | NJ/NX: in-out variable | |
Master / Slave / Auxiliary | Master, slave and auxiliary axes for synchronized control (axis variables) | ||
| Start | Execute | Starts execution on FALSE→TRUE | |
Enable | Executes the function only while TRUE | ||
| Status outputs | Done | Normal end | |
Busy | Executing | ||
Active | Controlling | ||
CommandAborted | Aborted | ||
Error | Error end | ||
ErrorID | Error code | ||
Status | Busy | ||
Enabled | Controlling | ||
| Operation parameters | Position / Distance | Target position / travel distance | |
Velocity | Target velocity | ||
Acceleration / Deceleration | Acceleration / deceleration rate | ||
Jerk | S-curve ratio (jerk) | ||
Direction | Direction | ||
BufferMode | Buffer mode | ||
TransitionMode | 0: TMNone, 10: TMCornerRadius (auxiliary arc) | ||
TransitionParameter | Auxiliary arc radius | ||
CoordSystem | Coordinate system | ||
VelFactor | Override value | ||
| Units | Coordinate unit | Coordinate unit (mm, inch, deg, PLS, etc.) | Set in each tool |
- Execute type: execution starts on the rising edge of
Execute; on normal completionDonebecomes TRUE, while executingBusy, when aborted by another instructionCommandAborted, and on an errorError/ErrorIDbecome TRUE (set). - Enable type: the function runs only while
Enableis TRUE, and the state is output viaStatus/Enabledetc.
Instruction Comparison
Basic axis operations
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Servo ON | PLCopen | MC_Power | MC_Power |
| Axis error reset | PLCopen | MC_Reset | MC_Reset |
| Enable operation | KV only | MC_OperationEnable | — |
| Homing | PLCopen | MC_Home | MC_Home |
| Homing with parameters | NJ only | — | MC_HomeWithParameter |
| High-speed homing | Similar | MC_FastMoveToHome | MC_MoveZeroPosition |
| Move to base position | KV only | MC_MoveToBasePosition | — |
| Home sensor request | KV only | MC_InternalHomeSensor | — |
| Deceleration stop | PLCopen | MC_Stop | MC_Stop |
| Immediate stop | Similar | MC_ImmediateStop | MC_ImmediateStop |
| Immediate stop of all axes | KV only | MC_ImmediateStopAll | — |
| Jog operation | Similar | MC_Jog | MC_MoveJog |
| Change current position | PLCopen | MC_SetPosition | MC_SetPosition |
| Override | PLCopen | MC_SetOverride | MC_SetOverride |
| Reset following error counter | NJ only | — | MC_ResetFollowingError |
| Change axis use | PLCopen | — | MC_ChangeAxisUse |
Single-axis positioning, velocity and torque
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Absolute positioning | PLCopen | MC_MoveAbsolute | MC_MoveAbsolute |
| Relative positioning | PLCopen | MC_MoveRelative | MC_MoveRelative |
| Positioning | NJ only | — | MC_Move |
| Velocity control (position control mode) | PLCopen | MC_MoveVelocity | MC_MoveVelocity |
| Velocity control (CSV) | Similar | MC_VelocityControl | MC_SyncMoveVelocity |
| Torque control | PLCopen | MC_TorqueControl | MC_TorqueControl |
| Cyclic synchronous torque control | NJ only | — | MC_SyncTorqueControl |
| Cyclic synchronous absolute positioning | Similar | MC_AbsolutePosFollowUpControl | MC_SyncMoveAbsolute |
| Synchronous follow-up control | KV only | MC_SyncTypeFollowUpControl | — |
| Interrupt feeding | NJ only | — | MC_MoveFeed |
| Torque limit | Similar | MC_SetTorqueLimit | MC_SetTorqueLimit MC_SetTorqueLimit2 |
| Velocity feed-forward | KV only | MC_SetVelocityFeedforward | — |
| Torque feed-forward | KV only | MC_SetTorqueFeedforward | — |
| Stop sensor request | KV only | MC_InternalStopSensor | — |
| Stop sensor detection mask | KV only | MC_MaskStopSensor | — |
Changes during operation and position offsets
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Change positioning target position | KV only | MC_ChangeTargetPosition | — |
| Change positioning velocity | KV only | MC_ChangeTargetVelocity | — |
| Change interpolation target position | KV only | MC_ChangeTargetGroupPositions | — |
| Position offset compensation | NJ only | — | MC_OffsetPosition |
| Cyclic synchronous position offset compensation | NJ only | — | MC_SyncOffsetPosition |
Point operation (KV-specific)
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Positioning control (point parameters) | KV only | MC_MoveToPoint | — |
| Resume positioning operation | KV only | MC_ResumePositioning | — |
| Force execution of next point | KV only | MC_MoveToNextPoint | — |
| Interrupt continuous operation | KV only | MC_SuspendNextPositioning | — |
| Stop at specified position | KV only | MC_StopAtTargetPosition | — |
| M code OFF | KV only | MC_MCodeOff | — |
| Release wait | KV only | MC_ReleaseStandby | — |
| Teaching | KV only | MC_Teach | — |
Synchronized control (cam and gear)
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Start synchronized control | PLCopen | MC_SyncControl | MC_CamIn MC_GearIn |
| Start cam operation | PLCopen | — | MC_CamIn |
| Start cam operation with specified curve | NJ only | — | MC_CamInCurve |
| End cam operation | PLCopen | — | MC_CamOut |
| Cam monitor | NJ only | — | MC_CamMonitor MC_CamMonitorCurve |
| Synchronous cam switching | KV only | MC_SwitchCam | — |
| Start gear operation | PLCopen | — | MC_GearIn |
| Positioning gear operation | NJ only | — | MC_GearInPos MC_GearInPos2 |
| End gear operation | PLCopen | — | MC_GearOut |
| Trapezoidal pattern cam | NJ only | — | MC_MoveLink |
| Addition/subtraction positioning | NJ only | — | MC_CombineAxes |
| Master axis phase shift | PLCopen | MC_MainAxisPhasing | MC_Phasing |
| Auxiliary axis phase shift | KV only | MC_AuxAxisPhasing | — |
| Main clutch control | KV only | MC_MainClutch | — |
| Auxiliary clutch control | KV only | MC_AuxClutch | — |
| Synchronous torque limit clutch control | KV only | MC_TorqueLimitClutch | — |
| Pseudo mechanical synchronized stop | KV only | MC_StopSimMechanicalSync | — |
| Set external reference command value for synchronized control | KV only | MC_SetSyncExternalReference | — |
| Change synchronous contact output parameters | KV only | MC_UpdateSyncContactParameter | — |
| Monitor deviation between axes | NJ only | — | MC_AxesObserve |
Cam data
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Read cam data | KV only | MC_CamRead | — |
| Write cam data | Partial | MC_CamWrite | MC_SetCamTableProperty MC_SetCamTableEndPointIndex |
| Generate cam data | Similar | MC_CamGenerate | MC_GenerateCamTable |
| Save cam table | NJ only | — | MC_SaveCamTable |
Latch, monitoring and digital output
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Enable external latch | PLCopen | — | MC_TouchProbe |
| Disable external latch | PLCopen | — | MC_AbortTrigger |
| Zone monitor | NJ only | — | MC_ZoneSwitch |
| Digital cam switch | PLCopen | — | MC_DigitalCamSwitch |
| Calculate axis position from time stamp | NJ only | — | MC_TimeStampToPos |
Parameters and system
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Save parameters | KV only | MC_SaveParameter | — |
| Write axis parameters | NJ only | — | MC_WriteAxisParameter |
| Read axis parameters | NJ only | — | MC_ReadAxisParameter |
| Write MC settings | NJ only | — | MC_Write |
| Read servo parameters | KV only | MC_SV3_ReadServoParameter | — |
| Write servo parameters | KV only | MC_SV3_WriteServoParameter | — |
| Update motion variables | Partial | MC_RefreshMotionVariable | MC_PeriodicSyncVariables |
| Clear maximum processing time | KV only | MC_ClearMaxCycleTime | — |
Axes groups (interpolation)
| Name | Category | KEYENCE KV-X | OMRON NJ/NX |
|---|---|---|---|
| Enable axes group | PLCopen | — | MC_GroupEnable |
| Disable axes group | PLCopen | — | MC_GroupDisable |
| Axes group error reset | PLCopen | — | MC_GroupReset |
| Linear interpolation (absolute) | PLCopen | MC_MoveLinearAbsolute | MC_MoveLinearAbsolute |
| Linear interpolation (relative) | PLCopen | MC_MoveLinearRelative | MC_MoveLinearRelative |
| Linear interpolation | NJ only | — | MC_MoveLinear |
| Circular interpolation | Similar | MC_MoveCircularAbsolute MC_MoveCircularRelative | MC_MoveCircular2D |
| Axes group deceleration stop | PLCopen | MC_GroupStop | MC_GroupStop |
| Axes group immediate stop | NJ only | — | MC_GroupImmediateStop |
| Axes group override | PLCopen | — | MC_GroupSetOverride |
| Get axes group position | NJ only | — | MC_GroupReadPosition |
| Write axes group composition axes | NJ only | — | MC_ChangeAxesInGroup |
| Axes group cyclic synchronous absolute position | NJ only | — | MC_GroupSyncMoveAbsolute |
No matching instructions found.
Legend
| PLCopen | Instructions defined in the PLCopen® function blocks for motion control. Common input/output variables can be used with the same meanings (including when an instruction exists on only one model) |
|---|---|
| Similar | Proprietary instructions of each manufacturer with equivalent functions. Instruction names and argument structures differ |
| Partial | Functions that partly overlap, or can be substituted by a combination of instructions |
| KV only / NJ only | Proprietary instructions available on only one of the models |
| — | No corresponding instruction |
How rows are organized
- Each function is one row.
- Breakdown by category: PLCopen 27, similar 8, partial 2, KV only 33, NJ only 24 (94 rows in total).
Scope
- KV-X: covers the motion control FBs (MC_...) in chapter 3 of the Instruction Reference Manual.
- NJ/NX: covers the Instructions Reference Manual, Motion Control volume (axis command, axes group command and common command instructions).
- Instruction specifications and availability vary by CPU model and version. Check each manufacturer's manual before actual use.
Sources
- KEYENCE: KV-X500/X300 Series Instruction Reference Manual 084A06 (March 2026)
- OMRON: NJ/NX-series Instructions Reference Manual, Motion Control, SBCE-434N (July 2026)
Related pages
PLC

Device Comparison by Manufacturer
Compares the device addresses of major PLC manufacturers such as Mitsubishi, OMRON and KEYENCE.
PLC

Special Relay Comparison by Manufacturer
Compares the special relays of major PLC manufacturers such as Mitsubishi, OMRON and KEYENCE.
PLC

Application Instruction Comparison by Manufacturer
Compares the application instructions of major PLC manufacturers such as Mitsubishi, OMRON and KEYENCE.
PLC

System Variable Comparison by Manufacturer
Compares the system variables of OMRON NX and KEYENCE KV-X.
PLC

FUN/FB Comparison by Manufacturer
Compares the functions and function blocks of OMRON NX and KEYENCE KV-X.
MITSUBISHI

SM / SD List
Special relays (SM) and special registers (SD) for Q series / L series / iQ-R series PLCs
KEYENCE

CR/CM Comparison by Model
CR/CM comparison across KV-X, KV-8000, KV-7000, KV-5000 and KV-3000
KEYENCE

CR/CM Cross-Reference: KV / KV-X
CR/CM and variable name correspondence between the KEYENCE KV-8000 series and the KV-X500/X300 series
OMRON

CJ to NJ Instruction Replacement Guide
A guide to replacing CJ instructions with NJ instructions
PC Tools

KVtoCJ
An application that converts KEYENCE KV series ladder programs into OMRON CJ series ladder programs
PC Tools

CJtoKV
An application that converts OMRON CJ series ladder programs into KEYENCE KV series ladder programs

