liminfo

Omron Sysmac Reference

Free reference guide: Omron Sysmac Reference

27 results

About Omron Sysmac Reference

The Omron Sysmac NJ/NX Reference is a quick-lookup guide for programming Omron's NJ-series and NX-series machine automation controllers using the Sysmac Studio IDE. It covers IEC 61131-3 Structured Text (ST) programming with Omron-specific extensions, including all basic data types (BOOL, INT, REAL, STRING), control flow statements (IF/ELSIF/ELSE, CASE..OF state machines, FOR/WHILE/REPEAT loops), function block definitions with VAR_INPUT/VAR_OUTPUT/VAR sections, user-defined types (ARRAY, STRUCT, ENUM), and standard function blocks (TON, TOF, CTU/CTD/CTUD, R_TRIG/F_TRIG, SR/RS).

The reference is organized into five categories: ST Syntax (data types, conditionals, loops, function blocks, arrays/structs, enumerations), Standard FB (TON/TOF timers, CTU/CTD counters, edge detection, flip-flops), Motion (MC_Power servo enable, MC_Home homing, MC_MoveAbsolute/MoveRelative/MoveVelocity positioning, MC_Stop, MC_CamIn electronic cam synchronization), Communication (EtherNet/IP tag data link with RPI and assembly instance configuration, CIPUCMMRead explicit messaging, NX_SerialSend/Recv serial communication, EtherCAT slave network mapping with NX coupler and servo drives), and Advanced (PIDAT PID auto-tuning, task period/priority configuration for 1ms motion and 10ms periodic tasks, NX Safety CPU dual-channel E-stop programming, DataTrace oscilloscope for axis velocity/torque monitoring).

This reference is built for automation engineers, system integrators, and machine builders who program Omron NJ501/NX102 controllers and need fast access to ST syntax patterns, motion control function block parameters, and communication protocol settings without scrolling through Sysmac Studio help files or the W501/W502 programming manuals.

Key Features

  • Complete IEC 61131-3 Structured Text syntax for Omron NJ/NX: data types, IF/CASE/FOR control flow, FUNCTION_BLOCK with VAR_INPUT/OUTPUT, ARRAY, STRUCT, ENUM
  • Standard function block reference: TON/TOF timer with PT/Q/ET parameters, CTU/CTD/CTUD counters, R_TRIG/F_TRIG edge detection, SR/RS flip-flops
  • PLCopen motion control FBs: MC_Power (Enable/Status), MC_Home, MC_MoveAbsolute (Position/Velocity/Acceleration/Deceleration), MC_MoveRelative, MC_MoveVelocity, MC_Stop
  • MC_CamIn electronic cam synchronization reference with Master/Slave axis and CamTableID configuration for synchronized multi-axis motion
  • EtherNet/IP tag data link setup: remote IP, connection type (Exclusive Owner), RPI interval, Input/Output assembly instance mapping
  • CIPUCMMRead explicit messaging for reading data from EtherNet/IP devices with ClassID, InstanceID, and destination node parameters
  • EtherCAT slave network configuration showing NX-ECC201 coupler, NX-ID5442 DI, NX-OD5256 DO, NX-AD4204 AI modules, and R88D servo drives
  • Advanced features: PIDAT PID control with auto-tuning (P/I/D/SV/PV/MV), task priority settings (Primary 1ms, Periodic 10ms), NX Safety CPU dual-channel E-stop, DataTrace axis monitoring

Frequently Asked Questions

Which Omron controllers does this reference cover?

This reference covers the Omron NJ-series (NJ501, NJ301, NJ101) and NX-series (NX102, NX1P2) machine automation controllers programmed with Sysmac Studio. The ST syntax, standard function blocks, and motion control FBs are common across these platforms. EtherCAT configuration examples use NX-series I/O modules (NX-ECC201, NX-ID5442, NX-OD5256, NX-AD4204) and R88D-1SN servo drives.

How do I implement a state machine in Omron ST?

Use CASE..OF with an integer step variable. Each case represents a state: CASE nStep OF 0: (initialize, set nStep:=10), 10: (wait for ready condition, transition to 20), 20: (execute motion with fbMoveAbs, check Done flag to move to next state). This pattern is the standard approach for sequential machine control in Sysmac Studio and handles all state transitions with explicit conditions.

How do I enable a servo axis and execute a move?

First call MC_Power with Enable:=TRUE, bRegulatorOn:=TRUE, bDriveStart:=TRUE and check MC_Power.Status for readiness. Then execute MC_Home for homing. Finally, call MC_MoveAbsolute with Execute:=TRUE, Position, Velocity, Acceleration, and Deceleration parameters. Monitor the .Done output to detect motion completion and .Error for fault conditions.

What is MC_CamIn and when do I use it?

MC_CamIn enables electronic cam synchronization between a master and slave axis. When executed, the slave axis follows a cam profile (CamTableID) that maps master position to slave position. This is used for packaging machines, labeling equipment, and any application requiring synchronized non-linear motion between axes. The cam table is defined in Sysmac Studio's motion configuration.

How do I configure EtherNet/IP tag data link communication?

Set the remote device IP address (e.g., 192.168.250.10), configure the connection type as Exclusive Owner, set the RPI (Requested Packet Interval) to the desired update rate (e.g., 10ms), and map Input Assembly (Instance 101) and Output Assembly (Instance 100) to match the remote device's configuration. Data exchange happens cyclically at the configured RPI rate.

How do I read data from an EtherNet/IP device using explicit messaging?

Use CIPUCMMRead with Execute:=TRUE, PortNo:=1, DestNode set to the target IP address, ClassID and InstanceID matching the CIP object you want to read, and SrcDat as the buffer for received data. This is used for non-cyclic reads such as reading configuration parameters, diagnostics, or status from devices that support CIP explicit messaging.

How should I configure task priorities for motion and I/O?

Set the Primary Task to 1ms with priority 16 for motion control (MC_Power, MC_MoveAbsolute, etc.) to ensure deterministic servo loop timing. Configure Periodic Task 0 at 10ms with priority 18 for general I/O processing and sequence logic. Event Tasks can be used for external interrupt handling. Lower priority numbers indicate higher priority in Sysmac Studio.

How does the NX Safety CPU work for emergency stop circuits?

The NX Safety CPU runs a separate safety program in Ladder Diagram (LD) that processes dual-channel safety inputs. For an E-stop circuit: LD SafeInput_ESTOP1, AND SafeInput_ESTOP2, AND SafeInput_DoorSW, OUT SafeOutput_STO. The dual-channel design (two independent E-stop switches) provides SIL 3 / PLe safety integrity. STO (Safe Torque Off) output directly disables servo drive torque through the safety network.