Open Protocol Ethernet
Review the following information for setting up and configuring the Open Protocol Ethernet driver.
Manufacturing Connect Edge Compatible Series
Compatibility parameter | Compatible items |
|---|---|
Driver type | Ethernet |
Validated devices/series |
To set up and configure this device in Manufacturing Connect Edge, do the following:
- Step 1: Set up and Configure the PLC Device
- Step 2: Set up the PLC Device in Manufacturing Connect Edge DeviceHub
- Step 3: Configure the List of Registers
Atlas Copco Open Protocol
The Atlas Copco Open Protocol is used to connect to network-enabled nutrunners and torque drivers directly.
The following abbreviations are used in tag name prefixes:
- GAS: Global App Sync
- JOB: Job info
- LTR: Last tightening result
- MS: Multi-spindle result
- OTR: Old tightening result
- PSET: Parameter set
- SPD: Spindle
- VIN: Vehicle ID Number
Tags in this driver use one of the following interaction patterns depending on the associated MID.
Request-response
To trigger a response from the controller, send a message to the tag's pollonce topic or write to the associated virtual tag.
MID | Description | Tag |
|---|---|---|
0010/0011 | Parameter set ID upload | Send a message to the pollonce topic for PSETUPLOAD_ID |
0064/0065 | Old tightening results | Write to OTR_REQUEST |
1018/1019 | Global App Sync (Cleco controllers only) | Write to GAS_REQUEST |
Subscribe
The following MIDs publish data automatically when the controller sends a reply.
MID | Description |
|---|---|
0014/0015 | Parameter set selected |
0034/0035 | Job info |
0051/0052 | Vehicle ID Number |
0060/0061 | Last tightening result data |
0100/0101 | Multi-spindle result data |
Write-only
The following MIDs accept values written to the tag's write topic.
MID | Description |
|---|---|
0018 | Select parameter set |
0019 | Set parameter set batch size. Requires two parameters: Parameter set ID (000–999) and Batch size (01–99). Write format: {"value": [Parameter set ID, Batch size]} |
0042/0043 | Disable/Enable tool |
0050 | Vehicle ID Number download |
Step 1: Set up and Configure the PLC Device
- Enable Open Protocol on the controller. Refer to your controller's documentation for instructions.
- Note the controller's IP address and TCP port (default: 4545).
- Ensure the controller is reachable from your Manufacturing Connect Edge instance over the network.
Note: Multi-client connection support varies by controller model. For example, PF6000 controllers support multi-client connections, whereas older models such as the PF4000 support only single-client connections. Verify your controller's documentation to confirm.
Step 2: Set up the PLC Device in Manufacturing Connect DeviceHub
Configure the following parameters when you Connect a Device with this driver. Update default values to the specific setup of your device.
Parameter | Value |
|---|---|
Type | Torque Tool |
Driver | Open Protocol Ethernet |
Network Address | The IP address of the controller |
Network Port | 4545 |
Driver Mode | Subscription (default). In Publishing mode, tags publish according to the polling interval. In Subscription mode, tags publish only when the controller sends a reply; the polling interval is ignored. |
Keep Alive Time | Keep Alive Time (ms). Optional, default: 10000, range: 1000–150000 |
Message Timeout | Message Response Timeout (ms). Optional, default: 2000 |
Link Ack Timeout | Link Acknowledgement Timeout (ms). Optional, default: 1000 |
Max Outstation Messages | Optional, default: 1 |
Message Retries | Number of times to retry a message. Optional, default: 3, range: 0–3 |
Step 3: Configure the List of Registers
When you Add Tags to the connected device, refer to the following register table and tag parameters.
Refer to the following additional resources:
Register Table
Name | Value Types | Access Types | Description |
|---|---|---|---|
GAS_GLOBAL_ID | string, int64, float64 | R/O | Global application global ID |
GAS_GLOBAL_VERSION | string, int64, float64 | R/O | Global application global version |
GAS_LOCAL_VERSION | string, int64, float64 | R/O | Global application local version |
GAS_REQUEST | string, int64, float64 | R/W | Write to MID 1018 Global App Sync |
GAS_STATUS | string, int64, float64 | R/O | Global application status |
GAS_TPS_STATUS | string, int64, float64 | R/O | Global application TPS status |
ID_DOWNLOAD | string, int64, float64 | R/W | Identifier data |
JOB_BATCH_COUNTER | string, int64, float64 | R/O | Job batch counter |
JOB_BATCH_MODE | string, int64, float64 | R/O | Job batch mode |
JOB_BATCH_SIZE | string, int64, float64 | R/O | Job batch size |
JOB_CURRENT_STEP | string, int64, float64 | R/O | Job current step |
JOB_ID | string, int64, float64 | R/O | Job ID |
JOB_SEQUENCE_NUMBER | string, int64, float64 | R/O | Job sequence number |
JOB_STATUS | string, int64, float64 | R/O | Job batch status |
JOB_STEP_TYPE | string, int64, float64 | R/O | Job step type |
JOB_TIGHTENING_STATUS | string, int64, float64 | R/O | Job tightening status |
JOB_TIMESTAMP | string, int64, float64 | R/O | Job time stamp |
JOB_TOTAL_NUMBER_OF_STEPS | string, int64, float64 | R/O | Job total number of steps |
JOB_VIN_IDENTIFIER_2 | string, int64, float64 | R/O | Identifier result part 2 |
JOB_VIN_IDENTIFIER_3 | string, int64, float64 | R/O | Identifier result part 3 |
JOB_VIN_IDENTIFIER_4 | string, int64, float64 | R/O | Identifier result part 4 |
JOB_VIN_NUMBER | string, int64, float64 | R/O | VIN number |
LTR_ANGLE_DENOMINATOR_SCALE_FACTOR | string, int64, float64 | R/O | Angle denominator scale factor |
LTR_ANGLE_MAX | string, int64, float64 | R/O | Angle max |
LTR_ANGLE_MIN | string, int64, float64 | R/O | Angle min |
LTR_ANGLE_NUMERATOR_SCALE_FACTOR | string, int64, float64 | R/O | Angle numerator scale factor |
LTR_ANGLE_STATUS | string, int64, float64 | R/O | Angle status |
LTR_ANGLE_TARGET | string, int64, float64 | R/O | Angle final target |
LTR_ANGLE_VALUE | string, int64, float64 | R/O | Angle |
LTR_BATCH_COUNTER | string, int64, float64 | R/O | Batch counter |
LTR_BATCH_SIZE | string, int64, float64 | R/O | Batch size |
LTR_BATCH_STATUS | string, int64, float64 | R/O | Batch status |
LTR_CELL_ID | string, int64, float64 | R/O | Cell ID |
LTR_CHAN_ID | string, int64, float64 | R/O | Channel ID |
LTR_CHANGETIME | string, int64, float64 | R/O | Date/time of last change in parameter set settings |
LTR_COMPENSATED_ANGLE | string, int64, float64 | R/O | Compensated angle |
LTR_CURRENT_MONITORING_AMP | string, int64, float64 | R/O | Current monitoring amp |
LTR_CURRENT_MONITORING_AMP_MAX | string, int64, float64 | R/O | Current monitoring amp max |
LTR_CURRENT_MONITORING_AMP_MIN | string, int64, float64 | R/O | Current monitoring amp min |
LTR_CURRENT_MONITORING_MAX | string, int64, float64 | R/O | Current monitoring max |
LTR_CURRENT_MONITORING_MIN | string, int64, float64 | R/O | Current monitoring min |
LTR_CURRENT_MONITORING_STATUS | string, int64, float64 | R/O | Current monitoring status |
LTR_CURRENT_MONITORING_VALUE | string, int64, float64 | R/O | Current monitoring angle |
LTR_CUSTOMER_TIGHTENING_ERROR | string, int64, float64 | R/O | Customer tightening error code |
LTR_FINAL_ANGLE_DECIMAL | string, int64, float64 | R/O | Final angle decimal |
LTR_ID | string, int64, float64 | R/O | Tightening ID |
LTR_IDENTIFIER_RESULT_2 | string, int64, float64 | R/O | Identifier result part 2 |
LTR_IDENTIFIER_RESULT_3 | string, int64, float64 | R/O | Identifier result part 3 |
LTR_IDENTIFIER_RESULT_4 | string, int64, float64 | R/O | Identifier result part 4 |
LTR_JOB | string, int64, float64 | R/O | Job ID |
LTR_JOB_SEQUENCE | string, int64, float64 | R/O | Job sequence number |
LTR_NUM_STAGE_RESULTS | string, int64, float64 | R/O | Number of stage results |
LTR_NUM_STAGES | string, int64, float64 | R/O | Number of stages in multistage |
LTR_OVERALL_ANGLE_MAX | string, int64, float64 | R/O | Overall angle max |
LTR_OVERALL_ANGLE_MIN | string, int64, float64 | R/O | Overall angle min |
LTR_OVERALL_ANGLE_STATUS | string, int64, float64 | R/O | Overall angle status |
LTR_OVERALL_ANGLE_VALUE | string, int64, float64 | R/O | Overall angle |
LTR_PARAMETER_SET_NAME | string, int64, float64 | R/O | Parameter set name |
LTR_PEAK_TORQUE | string, int64, float64 | R/O | Peak torque |
LTR_POST_VIEW_TORQUE_ACTIVATED | string, int64, float64 | R/O | Post view torque activated |
LTR_POST_VIEW_TORQUE_HIGH | string, int64, float64 | R/O | Post view torque high |
LTR_POST_VIEW_TORQUE_LOW | string, int64, float64 | R/O | Post view torque low |
LTR_PREVAIL_MONITORING_MAX | string, int64, float64 | R/O | Prevail torque monitoring max |
LTR_PREVAIL_MONITORING_MIN | string, int64, float64 | R/O | Prevail torque monitoring min |
LTR_PREVAIL_TORQUE | string, int64, float64 | R/O | Prevail torque |
LTR_PREVAIL_TORQUE_COMPENSATE | string, int64, float64 | R/O | Prevail torque compensate value |
LTR_PREVAIL_TORQUE_COMPENSATE_STATUS | string, int64, float64 | R/O | Prevail torque compensate status |
LTR_PREVAIL_TORQUE_MONITORING_STATUS | string, int64, float64 | R/O | Prevail torque monitoring status |
LTR_PSET | string, int64, float64 | R/O | Parameter set ID |
LTR_RESIDUAL_BREAKAWAY_TORQUE | string, int64, float64 | R/O | Residual breakaway torque |
LTR_RESULT_TYPE | string, int64, float64 | R/O | Result type |
LTR_RUNDOWN_ANGLE_COMPLETE | string, int64, float64 | R/O | Rundown angle complete |
LTR_RUNDOWN_ANGLE_MAX | string, int64, float64 | R/O | Rundown angle max |
LTR_RUNDOWN_ANGLE_MIN | string, int64, float64 | R/O | Rundown angle min |
LTR_RUNDOWN_ANGLE_STATUS | string, int64, float64 | R/O | Rundown angle status |
LTR_RUNDOWN_ANGLE_VALUE | string, int64, float64 | R/O | Rundown angle |
LTR_SELF_TAP_MAX | string, int64, float64 | R/O | Self tap max |
LTR_SELF_TAP_MIN | string, int64, float64 | R/O | Self tap min |
LTR_SELF_TAP_STATUS | string, int64, float64 | R/O | Self tap status |
LTR_SELF_TAP_TORQUE | string, int64, float64 | R/O | Self tap torque |
LTR_STAGE_RESULT | string, int64, float64 | R/O | Stage result |
LTR_START_FINAL_ANGLE | string, int64, float64 | R/O | Start final angle |
LTR_START_RUNDOWN_ANGLE | string, int64, float64 | R/O | Start rundown angle |
LTR_STRATEGY | string, int64, float64 | R/O | Strategies currently run by the controller |
LTR_STRATEGY_OPTIONS | string, int64, float64 | R/O | Strategy options (five bytes long bit field) |
LTR_SYNC_ID | string, int64, float64 | R/O | Sync tightening ID |
LTR_TC_NAME | string, int64, float64 | R/O | Torque controller name |
LTR_TIGHT_STATUS | string, int64, float64 | R/O | Tightening status |
LTR_TIGHTENING_ERROR_STATUS | string, int64, float64 | R/O | Tightening error status |
LTR_TIGHTENING_ERROR_STATUS_2 | string, int64, float64 | R/O | Tightening error status 2 |
LTR_TIGHTENING_ID | string, int64, float64 | R/O | Tightening ID |
LTR_TIMESTAMP | string, int64, float64 | R/O | Time stamp |
LTR_TOOL_SERIAL | string, int64, float64 | R/O | Tool serial number |
LTR_TORQUE_MAX | string, int64, float64 | R/O | Torque max limit |
LTR_TORQUE_MIN | string, int64, float64 | R/O | Torque min limit |
LTR_TORQUE_STATUS | string, int64, float64 | R/O | Torque status |
LTR_TORQUE_TARGET | string, int64, float64 | R/O | Torque final target |
LTR_TORQUE_UNIT | string, int64, float64 | R/O | Torque values unit |
LTR_TORQUE_VALUE | string, int64, float64 | R/O | Torque |
LTR_VIN | string, int64, float64 | R/O | VIN number |
MS_AMAX | string | R/O | Angle maximum limit |
MS_AMIN | string | R/O | Angle minimum limit |
MS_ATARG | string | R/O | Angle final target |
MS_BCOUNT | string | R/O | Batch counter |
MS_BSIZE | string | R/O | Batch size |
MS_BSTATUS | string | R/O | Batch status |
MS_CHANGETIME | string | R/O | Last change in setting |
MS_JOBNUM | string | R/O | Job number (link group) |
MS_NUMBER | string | R/O | Number of running spindles |
MS_PSET | string | R/O | Parameter set (app) |
MS_SYNCID | string | R/O | Sync tightening ID |
MS_SYNCSTAT | string | R/O | Overall tightening status |
MS_TIME | string | R/O | Time stamp |
MS_TMAX | string | R/O | Torque maximum limit |
MS_TMIN | string | R/O | Torque minimum limit |
MS_TTARG | string | R/O | Torque final target |
MS_VIN | string | R/O | Vehicle ID number |
OTR_ANGDENSF | string, int64, float64 | R/O | Scale factor (numerator/denominator) |
OTR_ANGLE | string, int64, float64 | R/O | Turning angle value in degrees |
OTR_ANGNUMSF | string, int64, float64 | R/O | Scale factor (numerator/denominator) |
OTR_ANGSTAT | string, int64, float64 | R/O | Angle status |
OTR_BATSTAT | string, int64, float64 | R/O | Batch status |
OTR_BCOUNT | string, int64, float64 | R/O | Batch counter |
OTR_BSIZE | string, int64, float64 | R/O | Batch size |
OTR_CMAMP | string, int64, float64 | R/O | Current monitoring value |
OTR_CMAMP_MAX | string, int64, float64 | R/O | Current monitoring max value |
OTR_CMAMP_MIN | string, int64, float64 | R/O | Current monitoring min value |
OTR_CMSTAT | string, int64, float64 | R/O | Current monitoring status |
OTR_CMVALUE | string, int64, float64 | R/O | Current monitoring value (percent) |
OTR_CUSTOM_ERR | string, int64, float64 | R/O | Customer tightening error code |
OTR_ID2 | string, int64, float64 | R/O | Identifier result part 2 |
OTR_ID3 | string, int64, float64 | R/O | Identifier result part 3 |
OTR_ID4 | string, int64, float64 | R/O | Identifier result part 4 |
OTR_JOBNUM | string, int64, float64 | R/O | Job number |
OTR_JOBSEQ | string, int64, float64 | R/O | Job sequence number |
OTR_OANG | string, int64, float64 | R/O | Overall angle |
OTR_OANGMAX | string, int64, float64 | R/O | Overall angle max |
OTR_OANGMIN | string, int64, float64 | R/O | Overall angle min |
OTR_OANGSTAT | string, int64, float64 | R/O | Overall angle status |
OTR_PKTORQUE | string, int64, float64 | R/O | Peak torque |
OTR_PSET | string, int64, float64 | R/O | PSET number |
OTR_PTCSTAT | string, int64, float64 | R/O | Prevail torque compensate |
OTR_PTMSTAT | string, int64, float64 | R/O | Prevail torque monitoring |
OTR_PTORQUE | string, int64, float64 | R/O | Prevail torque value |
OTR_PVT | string, int64, float64 | R/O | PVT compensation value |
OTR_PVT_ACT | string, int64, float64 | R/O | PVT on/off |
OTR_PVT_HIGH | string, int64, float64 | R/O | PVT high value |
OTR_PVT_LOW | string, int64, float64 | R/O | PVT low value |
OTR_RANGLE | string, int64, float64 | R/O | Rundown angle value |
OTR_RANGLEC | string, int64, float64 | R/O | Rundown angle complete |
OTR_RASTAT | string, int64, float64 | R/O | Rundown angle status |
OTR_RBTORQUE | string, int64, float64 | R/O | Residual breakaway torque |
OTR_REQUEST | string, int64, float64 | R/W | Write to MID 0064 Old Tightening Result |
OTR_RTYPE | string, int64, float64 | R/O | Result type |
OTR_SERIAL | string, int64, float64 | R/O | Tool serial number |
OTR_SFINANG | string, int64, float64 | R/O | Torque to reach the snug level |
OTR_SRANGLE | string, int64, float64 | R/O | Start rundown angle |
OTR_STATION_ID | string, int64, float64 | R/O | Station ID |
OTR_STATION_NAM | string, int64, float64 | R/O | Station name |
OTR_STID | string, int64, float64 | R/O | Synch tightening ID |
OTR_STORQUE | string, int64, float64 | R/O | Selftap torque |
OTR_STRATEGY | string, int64, float64 | R/O | Strategy |
OTR_STROPT | string, int64, float64 | R/O | Strategy options |
OTR_STSTAT | string, int64, float64 | R/O | Selftap status |
OTR_TERR_STATUS2 | string, int64, float64 | R/O | Tightening error status |
OTR_TERRSTAT | string, int64, float64 | R/O | Tightening error status |
OTR_TIGHTENING_ID | string, int64, float64 | R/O | Tightening ID |
OTR_TIGHTSTAT | string, int64, float64 | R/O | Tightening status |
OTR_TIME | string, int64, float64 | R/O | Timestamp |
OTR_TORQSTAT | string, int64, float64 | R/O | Torque status |
OTR_TORQUE | string, int64, float64 | R/O | Torque value |
OTR_TVUNIT | string, int64, float64 | R/O | Torque value units |
OTR_VIN | string, int64, float64 | R/O | Vehicle ID number |
PSET_ANGLEMAX | string, int64, float64 | R/O | Angle max |
PSET_ANGLEMIN | string, int64, float64 | R/O | Angle min |
PSET_ANGLETARGET | string, int64, float64 | R/O | Final angle target |
PSET_BATCHSIZE | string, int64, float64 | R/O | Batch size |
PSET_DIRECTION | string, int64, float64 | R/O | Rotation direction |
PSET_FIRSTTARGET | string, int64, float64 | R/O | First target |
PSET_ID | string, int64, float64 | R/O | Parameter set ID |
PSET_LASTCHANGE | string, int64, float64 | R/O | Date of last change in parameter set setting |
PSET_NAME | string, int64, float64 | R/O | Parameter set name |
PSET_REQUEST | string, int64, float64 | R/W | Write to MID 0010 Parameter Set |
PSET_STFINALANGLE | string, int64, float64 | R/O | Start final angle |
PSET_TORQUEMAX | string, int64, float64 | R/O | Torque max |
PSET_TORQUEMIN | string, int64, float64 | R/O | Torque min |
PSET_TORQUETARGET | string, int64, float64 | R/O | Torque final target |
PSETUPLOAD_ID | int64[], string | R/O | Parameter set ID upload |
SELECT_PSET | string, int64, float64 | R/W | Parameter set ID |
SET_PSET_BATCH_SIZE | int64[], string | R/W | Set parameter set batch size. Write format: {"value": [Parameter set ID, Batch size]} |
SPD_ANGLE | string | R/O | Individual angle |
SPD_ASTATUS | string | R/O | Individual angle status |
SPD_CHAN | string | R/O | Channel ID |
SPD_NUM | string | R/O | Spindle number |
SPD_STATUS | string | R/O | Overall spindle status |
SPD_TORQUE | string | R/O | Individual torque |
SPD_TSTATUS | string | R/O | Individual torque status |
TOOL_DISABLE | string, int64, float64 | R/W | Upper 4 digits of value is tool number, lower 2 digits of value is disable type |
TOOL_ENABLE | string, int64, float64 | R/W | Value is tool number |
VIN_IDENTIFIER_2 | string, int64, float64 | R/O | VIN number identifiers |
VIN_IDENTIFIER_3 | string, int64, float64 | R/O | VIN number identifiers |
VIN_IDENTIFIER_4 | string, int64, float64 | R/O | VIN number identifiers |
VIN_NUMBER | string, int64, float64 | R/O | VIN number |
Tag Parameters
- Name: Select a register name from the drop-down list. The available options depend on the names in the register table.
- Value Type: Select a data type from the drop-down list. The available options depend on the register name selected.
- Polling Interval: Enter a value in seconds. This determines how often the tag should poll the register for data.
- Tag Name: Enter a name for the tag.
- Description (Optional): Enter a description for the tag.
- Address: Enter a tag address. The value must be in the decimal format, within the allowed min/max range. Omit the leading zeros. The device might use the decimal (D), hexadecimal (H), or octal (O) address format. See the Register Table at the bottom of the dialog box. For Bit tags, append the bit address without the bit separator. The lowercase letters in the address format indicate how many digits you should enter in the Bit address.
- Revision: Enter the revision that your tool is running.
- Tag Formula: Enter a formula for the tag to process the generated data. Two variables are permitted: value (current tag value) and timestamp (current tag UNIX time in milliseconds). The following math functions are available:
- sin
- cos
- sqrt
- tan
- power: power(x) performs the operation 10^x.
- log: log(x) is the natural logarithm (the logarithm is in base e).
- exp: exp(x) performs the operation e^x.
- Only Publish on Change of Value: Select the checkbox to only publish NATS messages when the value parameter changes to a new value. Change of Value only applies to boolean, numeric (such as int or float), and simple string data types. It does not apply to complex types, such as JSON or array. Poll-once topics will not be affected by Change of Value settings. These topics will still only see a single message.
- Meta Data: Metadata summarizes basic information about data. This feature allows you to define key-value pair data for the device output payload later on. Metadata can then be used to find, use, and reuse particular instances of data.
Note: If you use special characters in meta data key names, the special characters are replaced with underscore characters in the payload. This can cause two key names to be combined into one. For example, configuring the key names a**b and a&&b will cause only one key name to be created (a__b).
Troubleshooting
If you are unable to write the PSET (parameter set) on the Atlas Copco PF6000 Torque Controller, follow these steps to configure the controller correctly:
1. Access the Source Configuration
- Navigate to the section where sources are managed.
- Identify the existing source that maps tightening programs or create a new one if required.
2. Create or Select a Source
- If a new source is needed, create it and define its parameters.
- If modifying an existing source, ensure it is correctly configured before proceeding.
3. Map the Tightening Programs to Identifiers
- Within the source configuration, assign tightening programs to their respective identifiers (e.g., program numbers or tag mappings).
- Double-check the associations to ensure accuracy.
4. Verify Mapping and Configuration
- Confirm that all mapped programs correspond correctly to their intended identifiers.
- Validate settings to avoid mismatches that could affect operations.
5. Write and Validate
- Use the Manufacturing Connect Edge write topic to write to the PSET parameter and retrieve the complete list of program numbers.
- Ensure the system correctly reflects the new tags and that mapped programs execute as expected.