Bosch Rexroth IndraControl V MTX
Protocol: OPC-UA · Port: 4840 · Endpoint: opc.tcp://<controller-ip>:4840 · Cable: the Ethernet port on the IndraControl V unit. Set a static IP on the controller, on the same subnet as the Edge device.
For where the cable goes and how to set the control's IP, subnet and gateway, see Physical Connection in the OPC-UA overview.
IndraControl V MTX controls expose machine data over OPC-UA through the IndraMotion OPC-UA server.
Requirements:
- IndraWorks v13 or later
- OPC-UA server enabled (starts by default on port 4840)
- Endpoint:
opc.tcp://<controller-ip>:4840
ChanState execution mapping:
| Value | Meaning |
|---|---|
| 1 | Inactive |
| 2 | Ready |
| 3 | Running |
| 4 | Stopped |
| 5 | Resetting |
| 7 | Error |
| 12 | Ready at program start |
ModeOfOperation main mode mapping:
| Value | Meaning |
|---|---|
| 1 | Jog |
| 2 | Reference |
| 3 | Block pre-run |
| 4 | MDI |
| 5 | Automatic |
| 6 | Program block |
| 7 | Single step |
| 10 | Single block |
Example adapter script:
version: 2
security-mode: None
force-read-on-connect: true
tags:
chan-state:
path: ns=27;s=NC.Chan.OperationState,01,ChanState
bpu-state:
path: ns=27;s=NC.Chan.OperationState,01,BpuState
ipo-state:
path: ns=27;s=NC.Chan.OperationState,01,IpoState
main-mode-raw:
path: ns=27;s=NC.Chan.ModeOfOperation,01,MainMode
prog-name:
path: ns=27;s=NC.Chan.ActMainProgram,01
act-block:
path: ns=27;s=NC.Chan.ActNcBlock,01
prog-position-block:
path: ns=27;s=NC.Chan.ProgramPosition,01,BlockNo
prog-position-file:
path: ns=27;s=NC.Chan.ProgramPosition,01,FilePosition
feed-override-raw:
path: ns=27;s=NC.Chan.ActFeedOverride,01
act-feedrate-raw:
path: ns=27;s=NC.Chan.ActFeedrate,01
programmed-feedrate-raw:
path: ns=27;s=NC.Chan.ProgrammedFeedrate,01
spindle-speed-raw:
path: ns=27;s=NC.Chan.ActSpindleSpeed,01,Speed
spindle-override-raw:
path: ns=27;s=NC.Chan.ActSpindleOverride,01,ActiveValue
axis-pos-raw:
path: ns=27;s=NC.Chan.AxisPosWcs,01,1
optional-stop:
path: ns=27;s=NC.Chan.OptionalStop,01
alarm-number:
path: ns=16;s=DiagnosisLogbook.ActiveAlarm.Number
alarm-message:
path: ns=16;s=DiagnosisLogbook.ActiveAlarm.Message
alarm-severity:
path: ns=16;s=DiagnosisLogbook.ActiveAlarm.Severity
cut-count:
path: ns=27;s=NC.CplPermVariable,@YOUR_COUNTER_VAR,1
variables:
execution:
- source: chan-state
- state:
- ACTIVE: this == 3 and bpu-state == 3
- INTERRUPTED: this == 4 or this == 7 or this == 5
- READY: this == 2 or this == 1 or this == 12
- READY: true
main-mode:
- source: main-mode-raw['0']
controller-mode:
- source: main-mode
- state:
- AUTOMATIC: this == 5 or this == 6 or this == 10
- MANUAL_DATA_INPUT: this == 4
- MANUAL: this == 1 or this == 2 or this == 14
- SETUP: this == 3 or this == 7
- UNAVAILABLE: true
feed-override:
- source: feed-override-raw['0']
act-feedrate:
- source: act-feedrate-raw['1']
programmed-feedrate:
- source: programmed-feedrate-raw['0']
spindle-speed:
- source: spindle-speed-raw['0']
spindle-override:
- source: spindle-override-raw['0']
axis-x:
- source: axis-pos-raw['0']
axis-y:
- source: axis-pos-raw['1']
axis-z:
- source: axis-pos-raw['2']
optional-stop-state:
- source: optional-stop == true ? "ON":"OFF"
data-items:
- execution
- controller-mode
- prog-name
- act-block
- prog-position-block
- prog-position-file
- feed-override
- act-feedrate
- programmed-feedrate
- spindle-speed
- spindle-override
- axis-x
- axis-y
- axis-z
- optional-stop-state
- chan-state
- bpu-state
- ipo-state
- cut-count
conditions:
cnc-alarm-fault:
- code: ${alarm-number}
message: ${alarm-message}
value:
FAULT: alarm-severity >= 700
cnc-alarm-warning:
- code: ${alarm-number}
message: ${alarm-message}
value:
WARNING: alarm-severity >= 300 and alarm-severity < 700
channel-error:
message: CNC channel is in error state (ChanState 7)
value:
FAULT: chan-state == 7
optional-stop-active:
message: Optional stop (M01) is enabled
value:
WARNING: optional-stop == true
The NC.CplPermVariable namespace provides access to permanent CPL variables defined by the machine builder. These variables persist across power cycles and often contain rich process-specific data. Browse NC.CplPermVariable,PermVars (fixed variables @1–@100) and NC.CplPermVariable,DefPermVars (user-defined named variables) to discover what is available on your specific machine. Replace @YOUR_COUNTER_VAR in the example script with the appropriate variable name from your machine.