Skip to main content

Atlas Copco Open Protocol (Tightening)

Open Protocol is a tightening controller standard published by Sweden's Atlas Copco in the late 1990s. Nearly every torque wrench, nutrunner, and power tool on automotive, aerospace, and home-appliance assembly lines speaks this protocol.

Representative controllers: Power Focus 4000 / 6000 / 8 / Tools Net / FlexController.

This gateway's OP driver focuses on collecting tightening results (last result) and changing Psets.


Registration form entries

FieldWhat to enterExample
IP addressController IP192.168.0.100
PortOpen Protocol port4545 (standard)
Cell ID (cell-id)Cell number in a multi-cell setup1 (for a single cell, use 0 or leave blank)
Channel ID (channel-id)Channel / spindle within the controller1
No user / password

Open Protocol has no authentication step. Once the IP is reachable and the controller accepts "MID 0001 application start", communication begins.


PLC address notation for tags

Open Protocol data arrives in MID (Message ID) units. The gateway unpacks and exposes the fields of the most frequently used MIDs as follows.

NotationMeaning
MID:0061:torqueLast tightening result — torque (real)
MID:0061:angleLast tightening result — angle
MID:0061:statusResult status (1 = OK, 0 = NOK)
MID:0061:psetIdPset number used
MID:0061:vinVIN / Identifier (string)
MID:0061:resultDataFull raw payload (string)
MID:0071:alarmAlarm raised (string)
MID:0035:psetIdCurrently selected Pset (Read)

Write (Pset change)

NotationMeaning
MID:0018:psetIdWrite a Pset number to force selection (write-only)

For writable notations, you must enable write permission under [Tag Registration] in the gateway.


Data format matching

MID fieldData formatFormat modifier
Measured values such as torque / angleFloatREAL
Status / Pset numberInteger(blank)
VIN / alarm messageStringSTR[N]
OK / NOKBoolean(blank)

Common problems and fixes

Symptom / messagePossible causeFix
Connection succeeds but no values arriveMID 0060 / 0061 subscribe failedCheck that the controller firmware supports "Result data subscription"
New tightening occurred but values do not changeController is in an unsubscribed stateRestart the gateway → MID 0001 + 0060 re-subscribe automatically
"MID not supported"MID differences by firmware / modelCheck the compatibility table in the Atlas Copco Open Protocol Specification PDF
Torque value off by a factor of 100 or 1000Unit mismatch (Nm vs cNm)Convert units with Apply Formula

Frequently used examples

A standard registration set for one channel of a tightening line.

Tag nameAddressData formatFormat modifier
Last torqueMID:0061:torqueFloatREAL
Last angleMID:0061:angleFloatREAL
OK/NOKMID:0061:statusBoolean(blank)
Pset numberMID:0061:psetIdInteger(blank)
VINMID:0061:vinStringSTR[25]
For MES integration

Tightening results are commonly post-processed and loaded into a DB. Combining View Collection History with Advanced — REST API makes pushing to the MES straightforward.


Rich result data fields of MID 0061 (Last Tightening Result)

Atlas Copco controllers include the following rich fields in the MID 0061 response. The gateway unpacks and exposes the commonly used fields in advance, but you can also take the raw payload via resultData and parse it yourself.

FieldMeaningData format
cellIdCell numberInteger
channelIdChannel / spindle numberInteger
torqueControllerNameController nameString
vinVIN / Identifier (usually the body number)String
psetIdPset number usedInteger
psetNamePset name (human-readable)String
batchSizeBatch size (e.g. 4 bolts)Integer
batchCountCurrent batch counter (n/batchSize)Integer
batchStatusBatch OK / NOK / in progressInteger (0/1/2)
torqueMeasured torque (Nm)Float
torqueStatusTorque OK / Low / HighInteger
angleMeasured angle (degrees)Float
angleStatusAngle OK / Low / HighInteger
prevailingTorqueFriction torque (optional)Float
currentMonitoringCurrent monitoring resultFloat
selfTapTorqueSelf-tap torqueFloat
tighteningIdUnique tightening IDLong
timestampTightening timestamp (ISO-8601)String
toolSerialTool serial numberString
operatorNameOperator ID (if present)String
resultDataRaw text containing all of the above fieldsString

In the gateway's [Tag Registration], simply pick entries such as MID:0061:torque, MID:0061:angle, and MID:0061:status.


Frequently used operating patterns

Pattern 1. Standard registration set for one line channel (automotive line)

Tag nameAddressFormatNotes
Last torqueMID:0061:torqueFloatNm by default
Last angleMID:0061:angleFloatDegrees
OK/NOKMID:0061:statusBooleanOK=true
Pset numberMID:0061:psetIdInteger
VINMID:0061:vinStringBody number
Operation timestampMID:0061:timestampStringISO-8601
Tool serialMID:0061:toolSerialStringFor tool traceability

Pattern 2. OK/NOK per batch (one body = 6 bolts)

Tag nameAddressFormat
Batch counterMID:0061:batchCountInteger
Batch statusMID:0061:batchStatusInteger

The moment batchStatus becomes 1 (OK) marks completion of one body. Use it as an MES / downstream process trigger.

Pattern 3. Forced Pset change (write)

MID:0018:psetId = 12

Force a Pset number from the host during line changes or model changeovers. This is normally handled by the PLC / MES, but it is also possible via PlantPulse's [tag write permission].

Pattern 4. Alarm monitoring

Tag nameAddressFormat
Alarm textMID:0071:alarmString

The controller pushes this when an alarm is raised. Use it for PlantPulse notifications and post-processing.


More detailed examples / automated registration

See the Open Protocol examples in Advanced — REST API.