openapi: 3.0.1
info:
description: |
RAPID Service

version: 3HAC073675-001 Revision:L
title: Robot Web Services
tags:
- name: Operations on RAPID Execution
description: Operations on RAPID Execution
- name: Operations on Modules
description: Operations on Modules
- name: Operations on RAPID Symbols
description: Operations on RAPID Symbols
- name: Operations on RAPID Tasks
description: Operations on RAPID Tasks
- name: Operations on RAPID UI Instructions
description: Operations on RAPID UI Instructions
- name: Operations on RAPID Taskpanel
description: Operations on RAPID Taskpanel
- name: Operations on Rapid AliasIO
description: Operations on Rapid AliasIO
servers:
- url: https://127.0.0.1
description: Localhost VC
- url: https://192.168.125.1
description: RC MGMT connection
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
paths:
/rw/rapid/aliasio:
get:
tags:
- Operations on Rapid AliasIO
summary: Get AliasIO List
description: >+
**Description :** This API returns all the aliases which are defined in
the rapid program for the IO signals
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/aliasio?start=0"
__Notes__ None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/aliasio',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: start
in: query
description: '{start position}'
required: false
schema:
type: string
- name: limit
in: query
description: '{number of aliasios}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-alias-io:
description: Rapid AliasIO resource
alias-name:
description: IO signal alias name
signal-name:
description: name of the IO signal
type:
description: IO signal type {DI/ DO/ AI/ AO/ GI/ GO}
xml:
name: data
wrapped: true
examples:
response:
value: |
-
signaldi1
TestD1
DI
-
signaldi2
TestD2
DI
application/hal+json;v=2.0:
schema:
properties:
rap-alias-io:
description: Rapid AliasIO resource
alias-name:
description: IO signal alias name
signal-name:
description: name of the IO signal
type:
description: IO signal type {DI/ DO/ AI/ AO/ GI/ GO}
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/execution:
get:
tags:
- Operations on RAPID Execution
summary: Get RAPID Execution State
description: >
**Description :** Returns the rapid execution state.
Use /rw/rapid/execution;ctrlexecstate to filter ctrlexecstate value."
The resource can be subscribed (RAPID execution state) using
/subscription with resource uri /rw/rapid/execution;ctrlexecstate
Sample response for RAPID execution state subscription
The resource can also be subscribed (RAPID execution cycle) using
/subscription with resource uri /rw/rapid/execution;rapidexeccycle
Sample response for RAPID execution cycle subscription
The resource can be subscribed (RAPID hold to run) using /subscription
with resource uri /rw/rapid/execution;hdtrun
Sample response for RAPID hold to run subscription
A hold to run change event for RAPID hold to run subscription look like
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/execution',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
ctrlexecstate:
description: Rapid Control Execution State
rapidexeccycle:
description: Rapid Execution Cycle
hdtrun:
description: Hold to run state
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
ctrlexecstate:
description: Rapid Control Execution State
rapidexeccycle:
description: Rapid Execution Cycle
hdtrun:
description: Hold to run state
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/execution/start:
post:
tags:
- Operations on RAPID Execution
summary: Start RAPID Execution
description: >+
**Description :** Start rapid execution.
The v=2.1 is supported from RW version 7.2.
The API with v=2.1 supports mastership as URL parameter.
Controller supports UTF-8 character for this API from RW7.1
This API requires mastership on "edit" domain.
In case of explicit mastership, client needs to take the mastership only on "edit" domain before running this API. If the client explicitly holds mastership on "motion" domain then the API won't execute successfully.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "regain=continue&execmode=continue&cycle=forever&condition=none&stopatbp=disabled&alltaskbytsp=false" "https://localhost/rw/rapid/execution/start"
__Notes__ : None
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data =
'regain=continue&stopatbp=disabled&execmode=continue&alltaskbytsp=false&condition=none&cycle=forever';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/execution/start',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- regain
- execmode
- cycle
- condition
- stopatbp
- alltaskbytsp
properties:
regain:
description: '{continue | regain | clear | continueconsume}'
type: string
execmode:
description: >-
{continue | stepin | stepover | stepout | stepback |
steplast | stepmotion}
type: string
cycle:
description: '{forever | asis | once}'
type: string
condition:
description: '{none | callchain}'
type: string
stopatbp:
description: '{disabled | enabled} (stop at breakpoint)'
type: string
alltaskbytsp:
description: '{true | false}'
type: string
example: >-
regain=string&execmode=string&cycle=string&condition=string&stopatbp=string&alltaskbytsp=string
application/x-www-form-urlencoded;v=2.1:
schema:
type: object
required:
- regain
- execmode
- cycle
- condition
- stopatbp
- alltaskbytsp
properties:
regain:
description: '{continue | regain | clear | continueconsume}'
type: string
execmode:
description: >-
{continue | stepin | stepover | stepout | stepback |
steplast | stepmotion}
type: string
cycle:
description: '{forever | asis | once}'
type: string
condition:
description: '{none | callchain}'
type: string
stopatbp:
description: '{disabled | enabled} (stop at breakpoint)'
type: string
alltaskbytsp:
description: '{true | false}'
type: string
example: >-
regain=string&execmode=string&cycle=string&condition=string&stopatbp=string&alltaskbytsp=string
application/x-www-form-urlencoded;v=2.2:
schema:
type: object
required:
- regain
- execmode
- cycle
- condition
- stopatbp
- alltaskbytsp
properties:
regain:
description: '{continue | regain | clear | continueconsume}'
type: string
execmode:
description: >-
{continue | stepin | stepover | stepout | stepback |
steplast | stepmotion}
type: string
cycle:
description: '{forever | asis | once}'
type: string
condition:
description: '{none | callchain}'
type: string
stopatbp:
description: '{disabled | enabled} (stop at breakpoint)'
type: string
alltaskbytsp:
description: '{true | false}'
type: string
example: >-
regain=string&execmode=string&cycle=string&condition=string&stopatbp=string&alltaskbytsp=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/execution/stop:
post:
tags:
- Operations on RAPID Execution
summary: Stop RAPID Execution
description: |+
**Description :** Stop rapid execution."
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "stopmode=stop" -X POST "https://localhost/rw/rapid/execution/stop"
__Notes__ : None
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'stopmode=stop';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/execution/stop',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
properties:
stopmode:
description: '{cycle | instr | stop | qstop} (default: stop)'
type: string
usetsp:
description: '{normal | alltsk} (default: normal)'
type: string
example: stopmode=string&usetsp=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/execution/startprodentry:
post:
tags:
- Operations on RAPID Execution
summary: Start RAPID Execution from Production Entry
description: |-
**Description :** Start rapid execution from production entry.
Mastership is required.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/execution/startprodentry"
__Notes__
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
nvar auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/execution/startprodentry',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
Mastership is required.
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/execution/resetpp:
post:
tags:
- Operations on RAPID Execution
summary: Reset RAPID Program Pointer to Main
description: |+
**Description :** Reset rapid program pointer to main.
Mastership is required.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/execution/resetpp"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/execution/resetpp',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/execution/cycle:
post:
tags:
- Operations on RAPID Execution
summary: Set Number of Execution Cycles
description: |+
**Description :** Sets the number of execution cycles.
Mastership is required.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "cycle=once" -X POST "https://localhost/rw/rapid/execution/cycle"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'cycle=once';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/execution/cycle',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- cycle
properties:
cycle:
description: '{once | forever}'
type: string
example: cycle=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/execution/holdtorun:
post:
tags:
- Operations on RAPID Execution
summary: Set Hold to Run Cmd
description: |+
**Description :** Sets the hold to run execution state.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST -d "state={press | held | release}" "https://localhost/rw/rapid/execution/holdtorun"
__Notes__
+ Supported in VC only
+ Login as Local Client
+ Mastership is required
+ The Hold-To-Run control prevents RAPID-program execution to start until the holdtorun state is changed to Press.
+ In the state Pressed the client must poll the Hold-To-Run control every 2 second, otherwise the program execution will stop. This is done by setting the holdtorun state to Held.
+ If the client want's to stop the program execution immediately it must change the state to Release.
+ Rapid program should run in motors on state.
+ Operation mode should be Manual(Reduced Speed) or Manual Full Speed.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'state={press | held | release}';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/execution/holdtorun',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- state
properties:
state:
description: '{press | held | release}'
type: string
example: state=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid:
get:
tags:
- RAPID Service
summary: Get RAPID System Resources
description: |+
**Description :** Returns a list of rapid resource.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid"
__Notes__ : None
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-tasks-li:
description: Rapid tasks resource list item
rap-symbols-li:
description: Rapid symbols list item
rap-execution-li:
description: Rapid execution list item
rap-uiinstr-li:
description: Rapid UI instruction list item
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
rap-tasks-li:
description: Rapid tasks resource list item
rap-symbols-li:
description: Rapid symbols list item
rap-execution-li:
description: Rapid execution list item
rap-uiinstr-li:
description: Rapid UI instruction list item
xml:
name: data
wrapped: true
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/modules:
get:
tags:
- Operations on Modules
summary: Get Mod Possible All
description: >+
**Description :** Returns a list of targets that are currently
synchronized and can be modified.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/modules"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and password
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/modules',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
module-name:
description: Rapid module name
task-name:
description: Task name
start-row:
description: Start Row
start-col:
description: Start Col
end-row:
description: End Row
end-col:
description: End Col
xml:
name: data
wrapped: true
examples:
response:
value: |-
-
MainModule
T_ROB1
17
15
17
17
-
MainModule
T_ROB2
18
15
18
17
application/hal+json;v=2.0:
schema:
properties:
module-name:
description: Rapid module name
task-name:
description: Task name
start-row:
description: Start Row
start-col:
description: Start Col
end-row:
description: End Row
end-col:
description: End Col
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
post:
tags:
- Operations on Modules
summary: Set Modify All Positions
description: |+
**Description :** Modify the position for all synchronized targets.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST -d "checklimit=false&checkdeactaxes=false" "https://localhost/rw/rapid/modules"
__Notes__ : User needs to be local client and mastership is also required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'checkdeactaxes=false&checklimit=false';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/modules',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: >-
{implicit | explicit} by default mastership is explicit. Supported
from RW7.2
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- checklimit
- checkdeactaxes
properties:
checklimit:
description: '{true | false}'
type: string
checkdeactaxes:
description: '{true | false}'
type: string
example: checklimit=string&checkdeactaxes=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Modules
description: >+
**Description :** Returns a list of rapid modules loaded in a rapid
task.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://127.0.0.1/rw/rapid/tasks/T_ROB1/modules"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and password
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/modules',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-module-info-li:
description: Rapid tasks resource list item
name:
description: Module name
type:
description: Module type {ProgMod | SysMod}
xml:
name: data
wrapped: true
examples:
response:
value: |-
-
user
SysMod
-
BASE
SysMod
-
MainModule
ProgMod
application/hal+json;v=2.0:
schema:
properties:
rap-module-info-li:
description: Rapid tasks resource list item
name:
description: Module name
type:
description: Module type {ProgMod | SysMod}
xml:
name: data
wrapped: true
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Module Attributes
description: |-
"Get RAPID module attributes."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/mymodule"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: continue-on-err
in: query
description: >-
{1|0} Default value is 0. In case input is 1, the API continues
execution even if any error occurs in between.
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-module:
description: Provides RAPID module attributes
modname:
description: Name of the module.
filename:
description: Name of the module file.
attribute:
description: >-
{sysmod|encode|noview|nostepin|viewonly|readonly} Module
attributes.
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
user
MainModule.mod
sysmod,readonly
application/hal+json;v=2.0:
schema:
properties:
rap-module:
description: Provides RAPID module attributes
modname:
description: Name of the module.
filename:
description: Name of the module file.
attribute:
description: >-
{sysmod|encode|noview|nostepin|viewonly|readonly} Module
attributes.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/save:
post:
tags:
- Operations on RAPID Tasks
summary: Save RAPID Module
description: |+
**Description :** Save a rapid program module.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "name=MainModule&path=C:/Users/mymod" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/save"
__Notes__ None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/modules/{module}/save',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- name
- path
properties:
name:
description: '{module_name}, Saved module will be with .modx extension.'
type: string
path:
description: >-
{file_path}, RobotWare environment variables such as $HOME,
$TEMP can be used in the file path.
type: string
example: name=string&path=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/text/range:
post:
tags:
- Operations on RAPID Tasks
summary: Set Text Range
description: >2+
**Description :** Set text in a given range of rapid module."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "replace-mode=After&query-mode=Force&startrow=8&startcol=8&endrow=8&endcol=15&text=SampleTest" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/text/range"
__Notes__ : Mastership is Required.
Controller supports UTF-8 character for this API from RW7.1.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "regain=continue&execmode=continue&cycle=forever&condition=none&stopatbp=disabled&alltaskbytsp=false" "https://localhost/rw/rapid/execution/start"
__Notes__ : None
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data =
'replace-mode=After&text=SampleTest&endcol=15&startrow=8&startcol=8&query-mode=Force&endrow=8';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/modules/{module}/text/range',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: mastership
in: query
description: >-
{implicit | explicit} by default mastership is explicit. Supported
from RW7.2
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- replace-mode
- query-mode
- startrow
- startcol
- endrow
- endcol
- text
properties:
replace-mode:
description: '{After | Before | Replace}'
type: string
query-mode:
description: '{Force | Try} Try mode required program pointer'
type: string
startrow:
description: '{Start Row Number}'
type: string
startcol:
description: '{Start Column Number}'
type: string
endrow:
description: '{End Row Number}'
type: string
endcol:
description: '{End Column Number}'
type: string
text:
description: '{Input Text}'
type: string
example: >-
replace-mode=After&text=SampleTest&endcol=15&startrow=8&startcol=8&query-mode=Force&endrow=8
description: Data parameter(s)
required: true
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-set-text-range:
description: Set text in given range Resource.
module-changed-name:
description: Module name changed or not.
new-modnam:
description: Gives new module name, if module-changed-name is TRUE.
change-count:
description: Gives Change count.
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
rap-set-text-range:
description: Set text in given range Resource.
module-changed-name:
description: Module name changed or not.
new-modnam:
description: Gives new module name, if module-changed-name is TRUE.
change-count:
description: Gives Change count.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
get:
tags:
- Operations on RAPID Tasks
summary: Get a Specified Range of Text
description: |+
**Description :** Get a specified range of text from rapid module.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/mymodule/text/range?startrow=1&startcol=1&endrow=20&endcol=-1"
__Notes__ : Controller supports UTF-8 character for this API from RW7.1.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/execution"
__Notes__
Use /rw/rapid/execution;ctrlexecstate to filter ctrlexecstate value.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/modules/{module}/text/range',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: startrow
in: query
description: '{start row}'
required: true
schema:
type: string
- name: startcol
in: query
description: '{start column}'
required: true
schema:
type: string
- name: endrow
in: query
description: '{end row}'
required: true
schema:
type: string
- name: endcol
in: query
description: '{end column}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-mod-text:
description: Provides RAPID module text
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE backup_big
! Used for testing RAP variable
! variable declarations
! xx1 is not changed by the RAPID program. It is instead
changed via RAP. xx2 is
! 1234567890123456789
CONST robtarget
p1:=[[981.71,-451.78,1468.82],[0.698099,0.107363,0.675469,-0.211834],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p2:=[[284.77,1042.49,1468.82],[0.612974,-0.445876,0.518631,0.395575],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p3:=[[339.41,1050.6,1190.44],[0.520765,-0.505042,0.611223,0.316454],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p4:=[[839.92,-713.86,1177.73],[0.547049,0.228559,0.763995,-0.25458],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p5:=[[864.51,-558.6,928.77],[0.441535,0.194446,0.858386,-0.174389],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p6:=[[1029.19,71.83,933.78],[0.476903,-0.086711,0.874284,-0.025937],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p7:=[[860.12,569.73,933.78],[0.467764,-0.306641,0.823326,0.096455],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p8:=[[488.77,908.57,933.78],[0.430164,-0.497979,0.723819,0.207515],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget
p9:=[[-97.86,1029.43,933.2],[0.351519,-0.686459,0.548339,0.323317],[1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
application/hal+json;v=2.0:
schema:
properties:
rap-mod-text:
description: Provides RAPID module text
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/modify-position:
post:
tags:
- Operations on RAPID Tasks
summary: Set Modify Position
description: |-
"Modify the position for the first found target in the given extension."
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST -d "startrow=3&startcol=9&endrow=3&endcol=102&checklimit=false&checkdeactaxes=false&allowdeact=false" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/modify-position"
__Notes__
- Login as Local Client in Manual Mode
- Rapid program should run in motors on state.
- Rapid MasterShip is needed
- Load Motion RAPID program.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: mastership
in: query
description: >-
{implicit | explicit} by default mastership is explicit. Supported
from RW7.2
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- startrow
- startcol
- endrow
- endcol
- checklimit
- checkdeactaxes
- allowdeact
properties:
startrow:
description: '{start Row Number}'
type: string
startcol:
description: '{start Col Number}'
type: string
endrow:
description: '{End Row Number}'
type: string
endcol:
description: '{End Col Number}'
type: string
checklimit:
description: '{false | true}'
type: string
checkdeactaxes:
description: '{false | true}'
type: string
allowdeact:
description: '{false | true}'
type: string
example: >-
startrow=string&startcol=string&endrow=string&endcol=string&checklimit=string&checkdeactaxes=string&allowdeact=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/text:
get:
tags:
- Operations on RAPID Tasks
summary: Get Module Text
description: |-
"Get a module text."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/text"
__Notes__
- Depends on RAPID program size output, it can be module-text or file-path.
- Controller supports UTF-8 character for this API from RW7.1
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
change-count:
description: System configuration change count number
module-text:
description: RAPID program for a given task
module-length:
description: maximum length of module
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
217220
MODULE MainModule PERS num num1 :=
1; PERS num num2 := 2; PROC main() WaitTime 1; WaitTime 1;
WaitTime 1; ENDPROC PROC main1() reg1 := 2; Routine1 reg1,
"Hello", TRUE; reg2 := Routine2(reg1, "Test"); ENDPROC LOCAL
PROC Routine1(num var1, string var2, bool flag) reg4 := 2;
ENDPROC FUNC num Routine2(num var3, string var4) reg4 := 1;
RETURN reg4; ENDFUNC TRAP Routine3 reg5 := 1; ENDTRAP
ENDMODULE
1368
application/hal+json;v=2.0:
schema:
properties:
change-count:
description: System configuration change count number
module-text:
description: RAPID program for a given task
module-length:
description: maximum length of module
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
post:
tags:
- Operations on RAPID Tasks
summary: Set Module Text
description: |-
"Update text in RAPID module"
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST -d "text=SampleTest" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/text"
__Notes__
- Mastership is required.
- Controller supports UTF-8 character for this API from RW7.1.
- For uploading RAPID module, any one of "text" or "path" needs to be provided as input Data parameter "path" is supported from RW7.2.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
properties:
text:
description: '{Input Text}'
type: string
path:
description: '{File path}'
type: string
example: text=string&path=string
description: Data parameter(s)
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-set-module-text:
description: Set Module Text Resource.
module-changed-name:
description: Module name is changed or not.
new-modnam:
description: New Module name.
change-count:
description: Change count.
xml:
name: data
wrapped: true
examples:
response:
value: |-
application/hal+json;v=2.0:
schema:
properties:
rap-set-module-text:
description: Set Module Text Resource.
module-changed-name:
description: Module name is changed or not.
new-modnam:
description: New Module name.
change-count:
description: Change count.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/sync-pers:
get:
tags:
- Operations on RAPID Tasks
summary: Get SyncPers Status
description: |-
"Get a syncpers status."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/sync-pers"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
syncperstatus:
description: Status from Persistent variable {1 - TRUE|0 - FALSE}
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
syncperstatus:
description: Status from Persistent variable {1 - TRUE|0 - FALSE}
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
post:
tags:
- Operations on RAPID Tasks
summary: Set SyncPers
description: >-
"Update the initial values of persistent data in the module with their
current values."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/modules/mymodule/sync-pers"
__Notes__
Mastership is required.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/module-extension:
get:
tags:
- Operations on RAPID Tasks
summary: Get Module Extension
description: |-
"Get a module extension."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/module-extension"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
num-of-lines:
description: Number of rows in RAPID module
max-num-of-col:
description: Maximum number of cols in RAPID module
count:
description: Change Count
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
num-of-lines:
description: Number of rows in RAPID module
max-num-of-col:
description: Maximum number of cols in RAPID module
count:
description: Change Count
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/mod-possible:
get:
tags:
- Operations on RAPID Tasks
summary: Get Mod Possible
description: |-
"Get targets that can be modified in a given extension in a module."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/mod-possible?startrow=19&startcol=1&endrow=21&endcol=1"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: startrow
in: query
description: '{Start Row Number} , Default startrow = 1'
required: false
schema:
type: string
- name: startcol
in: query
description: '{Start Column Number} , Default startcol = 1'
required: false
schema:
type: string
- name: endrow
in: query
description: '{End Row Number}'
required: true
schema:
type: string
- name: endcol
in: query
description: '{End Column Number}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
no_lines_modifiable:
description: Number of modifiable motion instructions
start_row:
description: Start Row
start_col:
description: Start Col
end_row:
description: End Row
end_col:
description: End Col
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
no_lines_modifiable:
description: Number of modifiable motion instructions
start_row:
description: Start Row
start_col:
description: Start Col
end_row:
description: End Row
end_col:
description: End Col
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/changecount:
get:
tags:
- Operations on RAPID Tasks
summary: Get Module Change Count
description: |-
"Get module change count."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/changecount"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
count:
description: changecount.
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
count:
description: changecount.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/routine:
get:
tags:
- Operations on RAPID Tasks
summary: Get Routine Information
description: |-
"Gets the routine information at the given position."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/routine?row=10&column=9"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: row
in: query
description: '{row}'
required: true
schema:
type: string
- name: column
in: query
description: '{column}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
name:
description: The name of the symbol. NULL if not retreived
symtyp:
description: Type pf symbol {prc | fun | trp}
named:
description: True if symbol is named.
local:
description: '{true|false}, FALSE if global module procedure'
npar:
description: >-
Number of routine parameters, -1 if parameter list not
linked
xml:
name: data
wrapped: true
examples:
response:
value: >-
- RAPID/T_ROB1/MainModule/Routine1Routine1prctruefalse1
application/hal+json;v=2.0:
schema:
properties:
name:
description: The name of the symbol. NULL if not retreived
symtyp:
description: Type pf symbol {prc | fun | trp}
named:
description: True if symbol is named.
local:
description: '{true|false}, FALSE if global module procedure'
npar:
description: >-
Number of routine parameters, -1 if parameter list not
linked
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/routine/arguments:
get:
tags:
- Operations on RAPID Tasks
summary: Get Routine args information
description: >-
"Gets the routine argument information at a given position.
Routineargs will show a list of arguments based on the mark and limit.
Default value of mark is 0.
Absence of next link indicates last page.
You will get routine argument information only on lines having proceure
call."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/routine/arguments?mark=3&limit=3&row=4&column=9"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: mark
in: query
description: '{mark} (index of the element)'
required: false
schema:
type: string
- name: limit
in: query
description: '{numberofelements}'
required: false
schema:
type: string
- name: row
in: query
description: '{row}'
required: true
schema:
type: string
- name: column
in: query
description: '{column}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
next:
description: >-
Link to next page (Will be absent if there is no next
page)
rap-routine-args:
description: RAPID routine argument list item
param-no:
description: Param number
alternate-arg:
description: Alternate argument number
start-row:
description: Starting row of argument
start-col:
description: Starting column of argument
end-row:
description: Ending row of argument
end-col:
description: Ending column of argument
rap-objtype:
description: >-
Rapid object type {NoObject | PlaceHolder | End | Module |
ConstantDeclaration | VariableDeclaration |
PersistentDeclaration | FunctionDeclaration |
ProcedureDeclaration | TrapDeclaration | RequiredParameter
| OptionalParameter | AlternativeParameter |
LabelStatement | ReturnStatement | RaiseStatement |
RetryStatement | TrynextStatement | ConnectStatement |
ExitStatement | GotoStatement | AssignmentStatement |
IfStatement | CompactIfStatement | WhileStatement |
ForStatement | TestStatement | ProcedureCallStatement |
ElseifStatementPart | CaseStatementPart | RequiredArgument
| OptionalArgument | ConstantExpression | Expression |
LiteralExpression | DataObjectReference | ObjectName |
ObjectNameReference | ValueType | DataType |
ArrayDimensions | Comment | ProcedureEvaluateAndCall |
AliasTypeDeclaration | RecordDeclaration |
RecordComponentDeclaration}
data-type:
description: Argument data type
list-num:
description: List number of argument
list-len:
description: Total number of arguments
xml:
name: data
wrapped: true
examples:
response:
value: >-
- 0049416ObjectNameReferenceNONE00
- 10418421RequiredArgumentnum1503
- 20424430RequiredArgumentstring2503
application/hal+json;v=2.0:
schema:
properties:
next:
description: >-
Link to next page (Will be absent if there is no next
page)
rap-routine-args:
description: RAPID routine argument list item
param-no:
description: Param number
alternate-arg:
description: Alternate argument number
start-row:
description: Starting row of argument
start-col:
description: Starting column of argument
end-row:
description: Ending row of argument
end-col:
description: Ending column of argument
rap-objtype:
description: >-
Rapid object type {NoObject | PlaceHolder | End | Module |
ConstantDeclaration | VariableDeclaration |
PersistentDeclaration | FunctionDeclaration |
ProcedureDeclaration | TrapDeclaration | RequiredParameter
| OptionalParameter | AlternativeParameter |
LabelStatement | ReturnStatement | RaiseStatement |
RetryStatement | TrynextStatement | ConnectStatement |
ExitStatement | GotoStatement | AssignmentStatement |
IfStatement | CompactIfStatement | WhileStatement |
ForStatement | TestStatement | ProcedureCallStatement |
ElseifStatementPart | CaseStatementPart | RequiredArgument
| OptionalArgument | ConstantExpression | Expression |
LiteralExpression | DataObjectReference | ObjectName |
ObjectNameReference | ValueType | DataType |
ArrayDimensions | Comment | ProcedureEvaluateAndCall |
AliasTypeDeclaration | RecordDeclaration |
RecordComponentDeclaration}
data-type:
description: Argument data type
list-num:
description: List number of argument
list-len:
description: Total number of arguments
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/rules-instr:
get:
tags:
- Operations on RAPID Tasks
summary: Get RulesInstr
description: >-
"Returns suggested template for data type/instruction when new data
type/instruction is added."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/rules-instr?name=movej"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: name
in: query
description: '{datatype_name | instruction_name}'
required: true
schema:
type: string
- name: data-type
in: query
description: true | false
required: false
schema:
type: string
- name: line
in: query
description: '{line_num}'
required: false
schema:
type: string
- name: col
in: query
description: '{column_num}'
required: false
schema:
type: string
- name: parnum
in: query
description: '{parnum_value}'
required: false
schema:
type: string
- name: altnum
in: query
description: '{altnum_value}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-module-rulesinstr:
description: >-
rapid module suggested templete for data type or
instruction.
arg-num:
description: Parameter number.
required:
description: >-
TRUE for mandatory argument and FALSE for optional
argument.
arg-name:
description: Parameter name
dec-data:
description: True if symbol declarataion needed
arg-symbol:
description: Argument symbol name or empty if literal
data-value:
description: Symbol initial value
data-type:
description: Symbol datatype
obj-type:
description: Object type like CONST, VAR and PERS.
local:
description: Declared locally if TRUE.
ndim:
description: Number of dimensions
num-args:
description: >-
Number of arguments that are retrieved as part of the
response.
mark:
description: Index value where it is started retrieving.
last:
description: All arguments are read if value is 1.
parnum:
description: Formal parameter number to override rules
altnum:
description: >-
Alternative parameter number to override rules and it can
be used along with parnum to get optional parameters.
col:
description: column number
line:
description: row number.
name:
description: data type or instruction name.
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
4
0
1
2
0
-
2
TRUE
ToPoint
FALSE
[[515.00,0.00,712.00],[0.707107,0,0.707107,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]
robtarget
CONST
FALSE
0
-
4
TRUE
Speed
FALSE
v1000
[1000,500,5000,1000]
speeddata
CONST
FALSE
0
-
6
TRUE
Zone
FALSE
%3cEXP%3e
zonedata
FALSE
0
-
9
TRUE
Tool
FALSE
tool0
[TRUE,[[0,0,0],[1,0,0,0]],[-1,[0,0,0],[1,0,0,0],0,0,0]]
tooldata
TASK PERS
FALSE
0
application/hal+json;v=2.0:
schema:
properties:
rap-module-rulesinstr:
description: >-
rapid module suggested templete for data type or
instruction.
arg-num:
description: Parameter number.
required:
description: >-
TRUE for mandatory argument and FALSE for optional
argument.
arg-name:
description: Parameter name
dec-data:
description: True if symbol declarataion needed
arg-symbol:
description: Argument symbol name or empty if literal
data-value:
description: Symbol initial value
data-type:
description: Symbol datatype
obj-type:
description: Object type like CONST, VAR and PERS.
local:
description: Declared locally if TRUE.
ndim:
description: Number of dimensions
num-args:
description: >-
Number of arguments that are retrieved as part of the
response.
mark:
description: Index value where it is started retrieving.
last:
description: All arguments are read if value is 1.
parnum:
description: Formal parameter number to override rules
altnum:
description: >-
Alternative parameter number to override rules and it can
be used along with parnum to get optional parameters.
col:
description: column number
line:
description: row number.
name:
description: data type or instruction name.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/object/child:
get:
tags:
- Operations on RAPID Tasks
summary: Get Object Child
description: |-
"Get a rapid object child details."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/base/object/child?startline=1&startcolumn=1&endline=16&endcolumn=9"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: startline
in: query
description: '{startline} , default startline=1'
required: false
schema:
type: string
- name: startcolumn
in: query
description: '{startcolumn} , default startcolumn=1'
required: false
schema:
type: string
- name: endline
in: query
description: '{endline}'
required: true
schema:
type: string
- name: endcolumn
in: query
description: >-
{endcolumn}. startline & startcolumn refers to the start of the
object. endline & endcolumn referes to the end of object extent.
Choose the entire extent of the object, to obtain the
details(children) of the object
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
object-type:
description: Type of the object for which extent details are obtained.
Extent:
description: >-
details are: startline(beg-line), startcolumn(beg-col),
endline(end-line), endcolumn(end-col).
Output:
description: varies with the object type under consideration.
Object:
description: >-
type examples: Module, procedure declaration, data
declaration, function declaration etc.
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
"module"
1
8
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
44
1
43
3
2
14
69
14
70
14
69
16
1
16
9
application/hal+json;v=2.0:
schema:
properties:
object-type:
description: Type of the object for which extent details are obtained.
Extent:
description: >-
details are: startline(beg-line), startcolumn(beg-col),
endline(end-line), endcolumn(end-col).
Output:
description: varies with the object type under consideration.
Object:
description: >-
type examples: Module, procedure declaration, data
declaration, function declaration etc.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/symbol:
get:
tags:
- Operations on RAPID Tasks
summary: Get Symbol Information
description: |-
"Get symbol information from a position."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/symbol?row=5&col=9"
__Notes__
Output varies with different symbol "type" under "Resources".
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: row
in: query
description: '{row number} , Default row = 1'
required: false
schema:
type: string
- name: col
in: query
description: '{col number} , Default col = 1'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
version:
description: version number
symbolname:
description: RAPID symbol name
block_url:
description: RAPID symbol URL
sysmbol_type:
description: RAPID symbol Type
linked:
description: TRUE if definition is complete
local:
description: FALSE if global module constant
typurl:
description: URL to type symbol
dattyp:
description: Underlying data type
ndim:
description: Number of array dimensions
storage:
description: Symbol declaration storage
heap:
description: TRUE if heap allocated (always TRUE)
refcount:
description: Reference count
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
#2
p10
RAPID/T_ROB1/MainModule/p10
CON
1
1
RAPID/robtarget
robtarget
0
0
0
1
application/hal+json;v=2.0:
schema:
properties:
version:
description: version number
symbolname:
description: RAPID symbol name
block_url:
description: RAPID symbol URL
sysmbol_type:
description: RAPID symbol Type
linked:
description: TRUE if definition is complete
local:
description: FALSE if global module constant
typurl:
description: URL to type symbol
dattyp:
description: Underlying data type
ndim:
description: Number of array dimensions
storage:
description: Symbol declaration storage
heap:
description: TRUE if heap allocated (always TRUE)
refcount:
description: Reference count
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/attributes:
get:
tags:
- Operations on RAPID Tasks
summary: Get Module Possible Attributes
description: |-
"Get a module possible attributes.
URL param "attribute" can be provided multiple times"
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/mymodule"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: attribute
in: query
description: >-
{[noview,nostepin,viewonly,readonly,systemmod]}. For multiple
values, group inside '[]' and seperate each value using ',' Ex:
[1,2,3]. attribute parameter value can be given in any combination
as attribute=[nostepin,readonly,viewonly]
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-mod-text:
description: Provides RAPID module text
attribute:
description: >-
Rapid module attribtes(System module, No step in module,
Read only module)
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
rap-mod-text:
description: Provides RAPID module text
attribute:
description: >-
Rapid module attribtes(System module, No step in module,
Read only module)
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/object:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Object
description: |-
"Get details of the rapid object."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/BASE/object?startrow=3&startcol=2&destination=Inner"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: startrow
in: query
description: '{start row} , Default startrow = 1'
required: false
schema:
type: string
- name: startcol
in: query
description: '{start column} , Default startcol = 1'
required: false
schema:
type: string
- name: destination
in: query
description: >-
{Inner|Outer|Outer2|Before|After|Statement|InnerStatement} ,
Default destination = inner
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
start-row:
description: Starting position of the row.
start-column:
description: Starting position of the column.
end-row:
description: Ending position of the row.
end-column:
description: Ending position of the column.
type:
description: >-
Type of the object. Possible object types are 0-No object,
1-Place holder, 2-End of compound
statement/routine/module, 3-Module declaration, 4-Constant
data declaration, 5-Variable data declaration,
6-Persistent data declaration, 7-Function declaration,
8-Procedure declaration, 9-Trap declaration, 10-Required
parameter, 11-Optional parameter, 12-Alternative
parameter, 13-Label statement, 14-Return statement,
15-Raise statement, 16-Retry statement, 17-Trynext
statement, 18-Connect statement, 19-Exit statement,
20-Goto statement, 21-Assignment statement, 22-If
statement, 23-Compact if statement, 24-While statement,
25-For statement, 26-Test statement, 27-Procedure call
statement, 28-Elseif statement part, 29-Case statement
part, 30-Required argument, 31-Optional argument,
32-Constant expression, 33-Expression, 34-Literal
expression, 35-Data object reference, 36-Object name,
37-Object name reference, 38-Value type, 39-Data type,
40-Dimensions of conformant array, 41-Comment,
42-Procedure evaluate and call statement, 43-Alias type
declaration, 44-Record declaration, 45-Record component
declaration
list-num:
description: List element number.
list-len:
description: Number of list elements.
data-type-id:
description: Symbol name.
data-type-instance:
description: Symbol name instance number.
expression-type:
description: Expression type.
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
start-row:
description: Starting position of the row.
start-column:
description: Starting position of the column.
end-row:
description: Ending position of the row.
end-column:
description: Ending position of the column.
type:
description: >-
Type of the object. Possible object types are 0-No object,
1-Place holder, 2-End of compound
statement/routine/module, 3-Module declaration, 4-Constant
data declaration, 5-Variable data declaration,
6-Persistent data declaration, 7-Function declaration,
8-Procedure declaration, 9-Trap declaration, 10-Required
parameter, 11-Optional parameter, 12-Alternative
parameter, 13-Label statement, 14-Return statement,
15-Raise statement, 16-Retry statement, 17-Trynext
statement, 18-Connect statement, 19-Exit statement,
20-Goto statement, 21-Assignment statement, 22-If
statement, 23-Compact if statement, 24-While statement,
25-For statement, 26-Test statement, 27-Procedure call
statement, 28-Elseif statement part, 29-Case statement
part, 30-Required argument, 31-Optional argument,
32-Constant expression, 33-Expression, 34-Literal
expression, 35-Data object reference, 36-Object name,
37-Object name reference, 38-Value type, 39-Data type,
40-Dimensions of conformant array, 41-Comment,
42-Procedure evaluate and call statement, 43-Alias type
declaration, 44-Record declaration, 45-Record component
declaration
list-num:
description: List element number.
list-len:
description: Number of list elements.
data-type-id:
description: Symbol name.
data-type-instance:
description: Symbol name instance number.
expression-type:
description: Expression type.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/modules/{module}/text/search:
get:
tags:
- Operations on RAPID Tasks
summary: Get Search Text
description: |-
"Search text in RAPID module."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/modules/MainModule/text/search?startrow=1&startcol=1&text=main"
__Notes__
+ Controller supports UTF-8 character for this API from RW7.1 onwards.
+ If the text is not found,the row and column values will be zero.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: module
in: path
description: '{module}'
required: true
schema:
type: string
- name: startrow
in: query
description: '{Start Row Number} , Default startrow = 1'
required: false
schema:
type: string
- name: startcol
in: query
description: '{Start Column Number} , Default startcol = 1'
required: false
schema:
type: string
- name: text
in: query
description: '{search text}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
Row:
description: Row number of Text.
Column:
description: Column number of Text.
xml:
name: data
wrapped: true
examples:
response:
value: >-
application/hal+json;v=2.0:
schema:
properties:
Row:
description: Row number of Text.
Column:
description: Column number of Text.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/motion:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Motion
description: |-
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/motion"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
robtarget:
description: The target position from the home position.
jointtarget:
description: The target position of the joint.
extjointstate:
description: >-
If any ext mechnical unit is attached than provide the
extjoints.
mechunit:
description: >-
The unit in which robtarget, jointtarget and extjoint
applies.
xml:
name: data
wrapped: true
examples:
response:
value: |-
application/hal+json;v=2.0:
schema:
properties:
robtarget:
description: The target position from the home position.
jointtarget:
description: The target position of the joint.
extjointstate:
description: >-
If any ext mechnical unit is attached than provide the
extjoints.
mechunit:
description: >-
The unit in which robtarget, jointtarget and extjoint
applies.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/motion/robtarget:
get:
tags:
- Operations on RAPID Tasks
summary: Get RobTarget
description: |-
"Get a robtarget for the task."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/motion/robtarget?tool=tool0&wobj=wobj1"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: tool
in: query
description: '{tool_name}'
required: false
schema:
type: string
- name: wobj
in: query
description: '{wobj_name}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
robtarget:
description: The target position from the home position.
x-z:
description: Target positions.
q1-q4:
description: Orientation.
cf1-cfx:
description: Configuration.
eax_a-eax_f:
description: Extjoints.
xml:
name: data
wrapped: true
examples:
response:
value: |-
application/hal+json;v=2.0:
schema:
properties:
robtarget:
description: The target position from the home position.
x-z:
description: Target positions.
q1-q4:
description: Orientation.
cf1-cfx:
description: Configuration.
eax_a-eax_f:
description: Extjoints.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/motion/jointtarget:
get:
tags:
- Operations on RAPID Tasks
summary: Get Joint Target
description: |+
**Description :** Get a jointtarget for the task.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/motion/jointtarget"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/motion/jointtarget',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
jointtarget:
description: The target position of the joint.
rax_1-rax_6:
description: Rotations.
eax_a-eax_f:
description: Target positions.
xml:
name: data
wrapped: true
examples:
response:
value: |-
application/hal+json;v=2.0:
schema:
properties:
jointtarget:
description: The target position of the joint.
rax_1-rax_6:
description: Rotations.
eax_a-eax_f:
description: Target positions.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/motion/mechunits:
get:
tags:
- Operations on RAPID Tasks
summary: Get Mechanical Units
description: >+
**Description :** Get information about all mechunits belonging to the
task.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/motion/mechunits"
__Notes__ None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/motion/mechunits',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rapid-mechunit:
description: >-
The Unit in which robtarget, jointtarget and extjoint
applies.
name:
description: Name of mechnical unit.
mode:
description: Mode of mechnical unit.
type:
description: Type of mechnical unit.
xml:
name: data
wrapped: true
examples:
response:
value: |-
-
ROB_1
active
tcp_robot
-
CNV1
inactive
single
application/hal+json;v=2.0:
schema:
properties:
rapid-mechunit:
description: >-
The Unit in which robtarget, jointtarget and extjoint
applies.
name:
description: Name of mechnical unit.
mode:
description: Mode of mechnical unit.
type:
description: Type of mechnical unit.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/motion/extjointstate:
get:
tags:
- Operations on RAPID Tasks
summary: Get External Joint States
description: |+
**Description :** Get state of external joints.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/motion/extjointstate"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/motion/extjointstate',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rapid-extjointstate:
description: >-
If any ext mechnical unit is attached than provide the
extjoints.
j1-j6:
description: Joints 1-6 {linear|not_active|no_position|rotating}
xml:
name: data
wrapped: true
examples:
response:
value: |-
-
linear
linear
linear
not_active
linear
rotating
application/hal+json;v=2.0:
schema:
properties:
rapid-extjointstate:
description: >-
If any ext mechnical unit is attached than provide the
extjoints.
j1-j6:
description: Joints 1-6 {linear|not_active|no_position|rotating}
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Program Resource
description: |+
**Description :** Returns the rapid program resource for a rapid task.
Http response code is NO_CONTENT(204) when RAPID program is not loaded.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/program"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: continue-on-err
in: query
description: >-
{1|0} Default value is 0. In case input is 1, the API continues
execution even if any error occurs in between.
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-program:
description: Rapid program resource
name:
description: Program name
entrypoint:
description: >-
The program entry is the point PP will move to when
PP-to-main is called.
rap-program-breakpoint-li:
description: Rapid program breakpoint resource
rap-builderrs-li:
description: Rapid program builderrors resource
xml:
name: data
wrapped: true
examples:
response:
value: |-
application/hal+json;v=2.0:
schema:
properties:
rap-program:
description: Rapid program resource
name:
description: Program name
entrypoint:
description: >-
The program entry is the point PP will move to when
PP-to-main is called.
rap-program-breakpoint-li:
description: Rapid program breakpoint resource
rap-builderrs-li:
description: Rapid program builderrors resource
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/load:
post:
tags:
- Operations on RAPID Tasks
summary: Load Program into a RAPID Task
description: >+
**Description :** Load rapid program into a rapid task. Location header
/progress/{id} will be returned after successful completion of the API.
The resource can be subscibed to get events with current status of
loading RAPID program.
The resource URI for this subscription will be /progress/{id}, where
/progress/{id}
is the"location header" returned after successful completion of "Load
RAPID program" API.
Sample response for Load RAPID Program subscription
An event will look like
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "progpath=$HOME/myprog.pgf" "https://localhost/rw/rapid/tasks/T_ROB2/program/load"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'progpath=$HOME/myprog.pgf';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/load',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- progpath
properties:
progpath:
description: '{program path}'
type: string
loadmode:
description: '{add | replace} Default value is add'
type: string
unload:
description: '{true | false} Default value is false'
type: string
example: progpath=string&loadmode=string&unload=string
description: Data parameter(s)
responses:
'202':
description: >-
The request has been accepted for processing, but the processing has
not been completed
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/unload:
post:
tags:
- Operations on RAPID Tasks
summary: Unload Program from a RAPID Task
description: |+
**Description :** Unload rapid program from a rapid task.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/program/unload"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/unload',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/save:
post:
tags:
- Operations on RAPID Tasks
summary: Save the RAPID Program
description: |+
**Description :** Save the RAPID Program "
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "path=$HOME/myprog" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/program/save"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'path=$HOME/myprog';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/save',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- path
properties:
path:
description: '{program_path}'
type: string
example: path=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/name:
post:
tags:
- Operations on RAPID Tasks
summary: Set Program Name
description: |+
**Description :** Set program name.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "name=myprog" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/program/name"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'name=myprog';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/name',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- name
properties:
name:
description: '{program_name}'
type: string
example: name=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/entrypoint:
post:
tags:
- Operations on RAPID Tasks
summary: Set Entry Point
description: |+
**Description :** Set entry point of a rapid program.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "routine=myroutine" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/program/entrypoint"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'routine=myroutine';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/entrypoint',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- routine
properties:
routine:
description: '{routine-name}'
type: string
example: routine=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/builderror:
get:
tags:
- Operations on RAPID Tasks
summary: Get Build Errors
description: |+
**Description :** Returns the build errors list for a rapid task.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/program/builderror?start=1&limit=2"
__Notes__
- Default value of start is 1 and maximum value of limit is 30(maximum supported by RAPID).
- Absence of prev and next link indicates first and last page respectively.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/builderror',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: limit
in: query
description: '{limit_value}'
required: false
schema:
type: string
- name: start
in: query
description: '{start_value}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
start:
description: >-
Reference to where the retrieval of build errors should
start. Set to 1 to start from the beginning. The value
returned can be used in the next call.
limit:
description: The maximal number of elements to retrieve
prev:
description: >-
Link to previous page (Will be absent if there is no prev
page)
next:
description: >-
Link to next page (Will be absent if there is no next
page)
ModuleName:
description: Module name
row:
description: Row number
column:
description: Column number
error:
description: RAPID build error
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
MainModule
15
8
S:"';'"
-
MainModule
19
8
135
S:"';'"
application/hal+json;v=2.0:
schema:
properties:
start:
description: >-
Reference to where the retrieval of build errors should
start. Set to 1 to start from the beginning. The value
returned can be used in the next call.
limit:
description: The maximal number of elements to retrieve
prev:
description: >-
Link to previous page (Will be absent if there is no prev
page)
next:
description: >-
Link to next page (Will be absent if there is no next
page)
ModuleName:
description: Module name
row:
description: Row number
column:
description: Column number
error:
description: RAPID build error
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/breakpoints:
get:
tags:
- Operations on RAPID Tasks
summary: Get Break Points
description: |+
**Description :** Returns the break points list for a rapid task.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/program/breakpoints?start=1&limit=2"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/breakpoints',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: start
in: query
description: '{start_value}'
required: false
schema:
type: string
- name: limit
in: query
description: '{limit_value}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
module-name:
description: Name of the module
start-row:
description: Start row number
start-col:
description: Start column number
end-row:
description: End row number
end-col:
description: End col number
xml:
name: data
wrapped: true
examples:
response:
value: >-
-
MainModule
11
3
11
31
-
MainModule
13
3
13
31
application/hal+json;v=2.0:
schema:
properties:
module-name:
description: Name of the module
start-row:
description: Start row number
start-col:
description: Start column number
end-row:
description: End row number
end-col:
description: End col number
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
post:
tags:
- Operations on RAPID Tasks
summary: Set Break Point
description: |+
**Description :** Set break point.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -H "accept: application/xhtml+xml;v=2.0" -X POST -d "module=MainModule&row=15&column=3" "https://localhost/rw/rapid/tasks/T_ROB1/program/breakpoints"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'column=3&module=MainModule&row=14';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/breakpoints',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- module
- row
- column
properties:
module:
description: '{module-name}'
type: string
row:
description: '{row_no}'
type: string
column:
description: '{column_no}'
type: string
example: module=string&row=string&column=string
description: Data parameter(s)
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
start-row:
description: Break point begin position line number
start-col:
description: Break point begin position col number
end-row:
description: Break point end position line number
end-col:
description: Break point end position col number
xml:
name: data
wrapped: true
examples:
response:
value: |-
application/hal+json;v=2.0:
schema:
properties:
start-row:
description: Break point begin position line number
start-col:
description: Break point begin position col number
end-row:
description: Break point end position line number
end-col:
description: Break point end position col number
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/program/breakpoints/remove:
post:
tags:
- Operations on RAPID Tasks
summary: Clear Break Points
description: |+
**Description :** Clear one or all break points.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -H "accept: application/xhtml+xml;v=2.0" -X POST -d "module=MainModule&row=15&column=3" "https://localhost/rw/rapid/tasks/T_ROB1/program/breakpoints/remove"
__Notes__
- Mastership is required.
- Supported from RW 7.2.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'module=MainModule&row=4&column=0';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/program/breakpoints/remove',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
- name: all
in: query
description: '={true | false} Optional. By default "all" value will be false'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
properties:
module:
description: '{module name} Optional, it is required only if all=false'
type: string
row:
description: '{row no} Optional, it is required only if all=false'
type: string
column:
description: '{column no} Optional, it is required only if all=false'
type: string
example: module=MainModule&row=4&column=0
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/symbols:
get:
tags:
- Operations on RAPID Symbols
summary: Get RAPID Symbols Resources
description: |+
**Description :** Returns symbols resource."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/symbols"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/symbols',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
symbols:
description: Rapid Symbol Resource.
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
symbols:
description: Rapid Symbol Resource.
xml:
name: data
wrapped: true
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/symbols/search:
post:
tags:
- Operations on RAPID Symbols
summary: Search RAPID Symbols
description: >+
**Description :** Search rapid symbols.
Shared modules belong to global scope and its symbol can be searched
through RAPID block URL.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "view=block&vartyp=any&blockurl=RAPID/T_ROB1&symtyp=var&symtyp=fun&recursive=true&dattyp=num&skipshared=TRUE&onlyused=TRUE&stack=0&posl=0&posc=0" "https://localhost/rw/rapid/symbols/search"
__Notes__ :
+ The dataparam "typurl" is available from RW version 7.1 onwards.
+ By Default Procedure data will be displayed if symtyp parameter is not filtered to required symbol.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data =
'posl=0&recursive=true&dattyp=num&posc=0&skipshared=TRUE&vartyp=any&symtyp=var,fun&onlyused=TRUE&stack=0&blockurl=RAPID/T_ROB1&view=block';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/symbols/search',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
properties:
view:
description: >-
{block | scope | stack }, For both scope and stack you must
use blockurl with task, for stack even program pointer
should be set.
type: string
vartyp:
description: '{udef | rw | ro | loop | any},Variable type to be searched.'
type: string
blockurl:
description: >-
{string},Relative URL describing the block where the search
should start.
type: string
recursive:
description: >-
{TRUE | FALSE},True if search should be recursive otherwise
false.
type: string
posl:
description: '{position row},Line position in module.'
type: string
posc:
description: >-
{position col},Column position in module (if posl and posc
are both 0 is the blockurl used instead).
type: string
stack:
description: '{integer},stackframe to search when searching in stack.'
type: string
onlyused:
description: '{TRUE|FALSE},True if only used symbols should be returned.'
type: string
skipshared:
description: >-
{TRUE|FALSE},True when shared symbols should be
skipped,otherwise False.
type: string
regexp:
description: '{regular expression}'
type: string
symtyp:
description: >-
{ atm | rec | ali | rcp | con | var | per | par | lab | for
| fun | prc | trp | mod | tsk | any | udef}. Type of Symbol
to be searched.atm-Atomic type, rec-Record type, ali-Alias
type, rcp-Record component, con-Constant, var-Variable,
per-Persistent, par-Parameter, lab-Label, for-For statement,
fun-Function, prc-Procedure, trp-Trap, mod-Module, tsk-Task,
any-any of the above symbol type
type: string
typurl:
description: >-
{string}. URL to type symbol, to filter user defined data
type
type: string
dattyp:
description: '{string},Datatype which has to be filtered.'
type: string
example: >-
view=string&vartyp=string&blockurl=string&recursive=string&posl=string&posc=string&stack=string&onlyused=string&skipshared=string®exp=string&symtyp=string&dattyp=string
description: Data parameter(s).At least one data parameter should be provided.
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-sympropvar-li:
description: Rapid-Symbol resource
symburl:
description: the name of the symbol. NULL if not retreived
name:
description: the name of the symbol. NULL if not retreived
symtyp:
description: the symbol properties. NULL if not retreived
named:
description: true if symbol is named. Undefined if the symbol
dattyp:
description: underlying type
ndim:
description: number of array dimensions
dim:
description: array dimensions
local:
description: FALSE if global module constant
rdonly:
description: TRUE if variable is readonly
taskvar:
description: TRUE if var is global within task
typurl:
description: URL to type symbol
xml:
name: data
wrapped: true
examples:
response:
value: >
-
RAPID/T_ROB1/user/reg5
reg5
var
true
num
0
false
false
false
RAPID/num
20
-
RAPID/T_ROB1/user/reg3
reg3
var
true
num
0
false
false
false
RAPID/num
100
-
RAPID/T_ROB1/user/reg1
reg1
var
true
num
0
false
false
false
RAPID/num
20
-
RAPID/T_ROB1/user/reg4
reg4
var
true
num
0
false
false
false
RAPID/num
50
-
RAPID/T_ROB1/user/reg2
reg2
var
true
num
0
false
false
false
RAPID/num
20
-
RAPID/T_ROB1/user/clock1
clock1
var
true
clock
0
false
false
false
RAPID/clock
210
application/hal+json;v=2.0:
schema:
properties:
rap-sympropvar-li:
description: Rapid-Symbol resource
symburl:
description: the name of the symbol. NULL if not retreived
name:
description: the name of the symbol. NULL if not retreived
symtyp:
description: the symbol properties. NULL if not retreived
named:
description: true if symbol is named. Undefined if the symbol
dattyp:
description: underlying type
ndim:
description: number of array dimensions
dim:
description: array dimensions
local:
description: FALSE if global module constant
rdonly:
description: TRUE if variable is readonly
taskvar:
description: TRUE if var is global within task
typurl:
description: URL to type symbol
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/symbols/{symbol URL}/object-list-ext:
get:
tags:
- Operations on RAPID Symbols
summary: Get Object Extension List
description: |+
**Description :** Returns symbol extension list."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/symbols/RAPID/T_ROB1/mainmodule/object-list-ext?type=DataDecls"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/symbols/{symbol URL}/object-list-ext',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: symbol URL
in: path
description: '{symbol URL}'
required: true
schema:
type: string
- name: type
in: query
description: >-
{Statements | BackwardStmts | ErrorStmts | UndoStmts | TypeDecls |
DataDecls | ParDecls | RtnDecls | Attribs}. Default value is
TypeDecls. Statements-List of statement, BackwardStmts-List of
backward statement, ErrorStmts-List of error statement,
UndoStmts-List of undo statements, TypeDecls-List of type
declarations, DataDecls-List of data declarations, ParDecls-List of
parameter declarations, RtnDecls-List of routine declarations,
Attribs-List of module attributes
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
ext-begin-line:
description: Begin line number of the object extension list
ext-begin-column:
description: Begin column number of the object extension list
ext-end-line:
description: End line number of the object extension list
ext-end-column:
description: End column number of the object extension list
ext-first-begin-line:
description: Begin line number of the first object in the list
ext-first-begin-column:
description: Begin column number of the first object in the list
ext-first-end-line:
description: End line number of the first object in the list
ext-first-end-column:
description: End column number of the first object in the list
ext-last-begin-line:
description: Begin line number of the last object in the list
ext-last-begin-column:
description: Begin column number of the last object in the list
ext-last-end-line:
description: End line number of the last object in the list
ext-last-end-column:
description: End column number of the last object in the list
xml:
name: data
wrapped: true
examples:
response:
value: |
-
2
2
7
137
2
2
2
125
7
5
7
137
application/hal+json;v=2.0:
schema:
properties:
ext-begin-line:
description: Begin line number of the object extension list
ext-begin-column:
description: Begin column number of the object extension list
ext-end-line:
description: End line number of the object extension list
ext-end-column:
description: End column number of the object extension list
ext-first-begin-line:
description: Begin line number of the first object in the list
ext-first-begin-column:
description: Begin column number of the first object in the list
ext-first-end-line:
description: End line number of the first object in the list
ext-first-end-column:
description: End column number of the first object in the list
ext-last-begin-line:
description: Begin line number of the last object in the list
ext-last-begin-column:
description: Begin column number of the last object in the list
ext-last-end-line:
description: End line number of the last object in the list
ext-last-end-column:
description: End column number of the last object in the list
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/symbol/{symbolurl}/data:
get:
tags:
- Operations on RAPID Symbols
summary: Get RAPID Symbol Data
description: >+
**Description :** Returns rapid data state.
Controller supports UTF-8 character for this API from RW7.1.
The API with v=2.1 supports "begin-column" tag instead of
"begin-coloumn" and "end-column" tag instead of "end-coloumn" in
response."
**Sample Call**
curl -u "Default User":robotics "https://localhost/rw/rapid/symbol/RAPID/T_ROB1/user/reg1/data"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/symbol/{symbolurl}/data',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: symbolurl
in: path
description: '{symbolurl}'
required: true
schema:
type: string
- name: value
in: query
description: raw Returns a non stringify json value.
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-data:
description: rapid data
rap-data-decl-pos:
description: rapid data decleration position
begin-row:
description: begin row number
begin-coloumn:
description: begin column number
end-row:
description: end row number
end-coloumn:
description: end column number
rap-data-initval-pos:
description: rapid data initial value position
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
rap-data:
description: rapid data
rap-data-decl-pos:
description: rapid data decleration position
begin-row:
description: begin row number
begin-coloumn:
description: begin column number
end-row:
description: end row number
end-coloumn:
description: end column number
rap-data-initval-pos:
description: rapid data initial value position
xml:
name: data
wrapped: true
application/xhtml+xml;v=2.1:
schema:
properties:
rap-data:
description: rapid data
rap-data-decl-pos:
description: rapid data decleration position
begin-row:
description: begin row number
begin-coloumn:
description: begin column number
end-row:
description: end row number
end-coloumn:
description: end column number
rap-data-initval-pos:
description: rapid data initial value position
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.1:
schema:
properties:
rap-data:
description: rapid data
rap-data-decl-pos:
description: rapid data decleration position
begin-row:
description: begin row number
begin-coloumn:
description: begin column number
end-row:
description: end row number
end-coloumn:
description: end column number
rap-data-initval-pos:
description: rapid data initial value position
xml:
name: data
wrapped: true
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
post:
tags:
- Operations on RAPID Symbols
summary: Update RAPID Variable Current/Init Value
description: >+
**Description :** Update rapid variable.
When updating a rapid variable, mastership over rapid is required.
Controller supports UTF-8 character for this API from RW7.1"
The resource can be subscribed (RAPID persistent value) using
/subscription with resource uri /rw/rapid/symbol/{symbolurl}/data;value
The event contains a link to the variable that has changed and the new
value of the changed variable
It is possible to subscribe with any subscription priority (i.e High,
Medium, Low priority) for RAPID persistent variables value.
Sample response for RAPID persistent value subscription
**Sample Call**
Update a num: curl -u "Default User":robotics -X POST -d "value=10" "https://localhost/rw/rapid/symbol/RAPID/T_ROB1/user/reg1/data?initval=true"
Update a string: curl -u "Default User":robotics -X POST -d "value=10" "https://localhost/rw/rapid/symbol/RAPID/T_ROB1/MyMod/SStr/data?initval=true"
Update a num: curl -u "Default User":robotics -X POST -d "value=10" "https://localhost/rw/rapid/symbol/RAPID/T_ROB1/user/reg1/data"
Update a string: curl -u "Default User":robotics -X POST -d "value=10" "https://localhost/rw/rapid/symbol/RAPID/T_ROB1/MyMod/SStr/data"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'state=running&name=Local';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/symbol/{symbolurl}/data',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: symbolurl
in: path
description: '{symbolurl}'
required: true
schema:
type: string
- name: initval
in: query
description: >-
{true|false} by default initval will be false. true- set the
initial value. false- set the current value value.
required: false
schema:
type: string
- name: log
in: query
description: >-
{true|false} changes will be updated in elog (not applicable in
updating initial value). Default value is false.
required: false
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- value
properties:
value:
description: '{value_num}'
type: string
example: value=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/symbols/validate:
post:
tags:
- Operations on RAPID Symbols
summary: Validate RAPID Variable
description: >+
**Description :** Validate rapid variable.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "task=T_ROB1&value=[TRUE,[[0,0,0],[-1,0,0,0]],[1,[0,0,-1],[1,0,0,0],0,0,0]]&datatype=tooldata" "https://localhost/rw/rapid/symbols/validate"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data =
'datatype=tooldata&task=T_ROB1&value=[TRUE,[[0,0,0],[-1,0,0,0]],[1,[0,0,-1],[1,0,0,0],0,0,0]]';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/symbols/validate',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- task
- datatype
- value
properties:
task:
description: task name
type: string
datatype:
description: Rapid base data type
type: string
value:
description: Rapid variable value
type: string
example: >-
task=T_ROB1&value=[TRUE,[[0,0,0],[-1,0,0,0]],[1,[0,0,-1],[1,0,0,0],0,0,0]]&datatype=tooldata
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/symbol/{symbolurl}/properties:
get:
tags:
- Operations on RAPID Symbols
summary: Get RAPID Symbol Properties
description: |+
**Description :** Returns a rapid symbol properties."
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/symbol/RAPID/T_ROB1/user/reg1/properties"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/symbol/{symbolurl}/properties',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: symbolurl
in: path
description: '{symbolurl}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
symburl:
description: Symbol URL
symtyp:
description: >-
Symbol type {udef | atm | rec | ali | rcp | con | var |
per | par | lab | for | fun | prc | trp | mod | tsk | any}
named:
description: '{True | False}'
dattyp:
description: Data type
ndim:
description: Number of array dimensions
dim:
description: Array dimensions
heap:
description: '{True | False} TRUE if heap allocated'
linked:
description: '{True | False} TRUE if definition is complete'
local:
description: '{True | False} FALSE if global module persistent'
ro:
description: '{True | False} TRUE if persistent is readonly'
taskvar:
description: '{True | False} TRUE if var is global within task'
storage:
description: Symbol declaration storage
typurl:
description: URL to type symbol
xml:
name: data
wrapped: true
examples:
response:
value: |
-
RAPID/T_ROB1/user/reg1
var
true
num
0
true
true
false
false
false
loaded
RAPID/num
application/hal+json;v=2.0:
schema:
properties:
symburl:
description: Symbol URL
symtyp:
description: >-
Symbol type {udef | atm | rec | ali | rcp | con | var |
per | par | lab | for | fun | prc | trp | mod | tsk | any}
named:
description: '{True | False}'
dattyp:
description: Data type
ndim:
description: Number of array dimensions
dim:
description: Array dimensions
heap:
description: '{True | False} TRUE if heap allocated'
linked:
description: '{True | False} TRUE if definition is complete'
local:
description: '{True | False} FALSE if global module persistent'
ro:
description: '{True | False} TRUE if persistent is readonly'
taskvar:
description: '{True | False} TRUE if var is global within task'
storage:
description: Symbol declaration storage
typurl:
description: URL to type symbol
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/taskselection:
get:
tags:
- Operations on RAPID Taskpanel
summary: Get User Modify from Taskpanel
description: >+
**Description :** Get rapid user modify value from taskpanel.
The resource can be subscribed (Tasks Panel Change) using /subscription
with resource uri /rw/rapid/taskselection;taskpanelchange
Sample response for Tasks Panel Change subscription
A task panel change event look like
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/taskselection"
__Notes__ None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/taskselection',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-taskselection:
description: Rapid tasks user modify flag.
xml:
name: data
wrapped: true
examples:
response:
value: |
-
T_ROB1
ON
TRUE
TRUE
-
T_ROB2
ON
TRUE
TRUE
-
T_ROB3
ON
TRUE
TRUE
-
T_ROB4
ON
TRUE
TRUE
application/hal+json;v=2.0:
schema:
properties:
rap-taskselection:
description: Rapid tasks user modify flag.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/execution:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Program Counter Position
description: |+
**Description :** Get program counter position.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/execution"
__Notes__ None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/execution',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-pcp:
description: Rapid Program Counter Position Resource.
module:
description: Gives Module name.
routine:
description: Gives Routine name.
startline:
description: Gives Start line.
startcol:
description: Gives Start column.
endline:
description: Gives End line.
endcol:
description: Gives End column.
xml:
name: data
wrapped: true
examples:
response:
value: |
-
mymodule
routine1
10
10
1
1
application/hal+json;v=2.0:
schema:
properties:
rap-pcp:
description: Rapid Program Counter Position Resource.
module:
description: Gives Module name.
routine:
description: Gives Routine name.
startline:
description: Gives Start line.
startcol:
description: Gives Start column.
endline:
description: Gives End line.
endcol:
description: Gives End column.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Tasks
description: >+
**Description :** Returns a list of all rapid tasks.
The resource can be subscribed (Build Log Change) using /subscription
with resource uri /rw/rapid/tasks;buildlogchange
Sample response for Build Log Change subscription
A build log change event look like
-
T_ROB1
16
SYS_CTRL_S_RAPID_SEMANTIC_ERROR
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: continue-on-err
in: query
description: >-
{1|0} Default value is 0. In case input is 1, the API continues
execution even if any error occurs in between.
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-task-li:
description: RAPID tasks resource list item
name:
description: Task name
type:
description: Task type can be normal, static, semistatic or unknown.
taskstate:
description: >-
Task state can be empty, initiated, linked, loaded or
uninitialized.
excstate:
description: >-
Task execution state can be ready, stopped, started or
uninitialized.
active:
description: Task active state.
motiontask:
description: Motion state of task.
xml:
name: data
wrapped: true
examples:
response:
value: |
-
-
-
-
T_ROB1
normal
linked
ready
On
TRUE
application/hal+json;v=2.0:
schema:
properties:
rap-task-li:
description: RAPID tasks resource list item
name:
description: Task name
type:
description: Task type can be normal, static, semistatic or unknown.
taskstate:
description: >-
Task state can be empty, initiated, linked, loaded or
uninitialized.
excstate:
description: >-
Task execution state can be ready, stopped, started or
uninitialized.
active:
description: Task active state.
motiontask:
description: Motion state of task.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
security:
- basicAuth: []
/rw/rapid/tasks/spy:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Spy Logging Status
description: |+
**Description :** Get rapid spy logging status.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/spy"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/spy',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
status:
description: Rapid spy logging status {Logging|Not Logging}
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
status:
description: Rapid spy logging status {Logging|Not Logging}
xml:
name: data
wrapped: true
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/spy/start:
post:
tags:
- Operations on RAPID Tasks
summary: Start RAPID Spy Logging
description: |+
**Description :** Starts rapid spy logging.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "log-file=log.txt" -X POST "https://localhost/rw/rapid/tasks/spy/start"
__Notes__
+ By default, log file will be created in HOME folder.
+ Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'log-file=log.txt';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/spy/start',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- log-file
properties:
log-file:
description: '{file-path}'
type: string
example: log-file=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/spy/stop:
post:
tags:
- Operations on RAPID Tasks
summary: Stop RAPID Spy Logging
description: |+
**Description :** Stops rapid spy logging.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/spy/stop"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/spy/stop',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/activate:
post:
tags:
- Operations on RAPID Tasks
summary: Activate RAPID Tasks
description: |+
**Description :** Activate/Deactivate rapid tasks in the task panel.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/deactivate"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/deactivate',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/deactivate:
post:
tags:
- Operations on RAPID Tasks
summary: Deactivate RAPID Tasks
description: |-
"Activate/Deactivate rapid tasks in the task panel."
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/deactivate"
__Notes__
Mastership is required.
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/syncstate/program-pointer:
get:
tags:
- Operations on RAPID Tasks
summary: Get Program Pointer Sync State for all Tasks
description: |+
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/syncstate/program-pointer"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/syncstate/program-pointer',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-sync-state:
description: Program Pointer Sync State resource.
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
rap-sync-state:
description: Program Pointer Sync State resource.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/calibration:
post:
tags:
- Operations on RAPID Tasks
summary: Set Calibration for Single/Dual Armed Robot
description: |+
**Description :** Calibration for a single/dual armed robot.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "task1=T_ROB1&selected_joints1=[1,1,1,1,0,0,0]" -X POST "https://localhost/rw/rapid/tasks/calibration"
__Notes__
- "task2" and "selected_joints2" data parameters will be required for dual armed Robot.
- Motors should be in OFF state.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'task1=T_ROB1&selected_joints1=[1,1,1,1,0,0,0]';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/calibration',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- task1
- selected_joints1
properties:
task1:
description: '{task-name}'
type: string
selected_joints1:
description: '[0,0,0,0,0,0,0]'
type: string
task2:
description: '{task-name}'
type: string
selected_joints2:
description: '[0,0,0,0,0,0,0] selected_joints values should be 1 or 0'
type: string
fineCalibration:
description: '{TRUE|FALSE} Default value:FALSE'
type: string
example: >-
task1=string&selected_joints1=string&task2=string&selected_joints2=string&fineCalibration=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/syncstate/motion-pointer:
get:
tags:
- Operations on RAPID Tasks
summary: Get Motion Pointer Sync State for all Tasks
description: |+
**Description :** Get the motion pointer sync state for all tasks.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/syncstate/motion-pointer"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/syncstate/motion-pointer',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-sync-state:
description: Rapid sync state resource.
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
rap-sync-state:
description: Rapid sync state resource.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}:
get:
tags:
- RobotWebServices
summary: Get RAPID Task State
description: >-
**Description :** Returns the rapid task resource. Retcode is provided
if API fails.
The resource can be subscribed (RAPID task change) using /subscription
with resource uri /rw/rapid/tasks/{task}; taskchange. On subscription,
an empty initial event will be generated.
Sample response for RAPID task change subscription:
A task change event looks like:
-
15262
T_ROB1
MainModule
module
The resource can also be subscribed (RAPID PP Sync State Change) using
/subscription with resource uri /rw/rapid/tasks/{task}; syncstatechange.
On subscription, an empty initial event will be generated followed by
the current value.
Sample response for RAPID PP Sync State Change subscription:
A task sync state change event looks like:
The resource can also be subscribed (RAPID task sync state change) using
/subscription with resource uri /rw/rapid/tasks/{taskname}; excstate. On
subscription, an empty initial event will be generated followed by the
current value.
Sample response for RAPID task PGM Execution State Change subscription:
A task PGM Execution State Change event looks like:
Sample response in case of any error from APIs, Retcode is provided
under tag.
-
-
-
-
-
-
-
-
-
-
-
T_ROB1
normal
linked
ready
On
True
None
1
unknown
forever
None
main
True
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0"
"https://localhost/rw/rapid/tasks/T_ROB1"
__Notes__
None.
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: continue-on-err
in: query
description: '{1|0} Default value is 0...'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
type: object
properties:
rap-task:
type: object
description: Rapid task resource
program:
type: string
description: Link to the program loaded into the task
modules:
type: array
description: Link to modules loaded into the task
items:
type: string
name:
type: string
description: Task Name
type:
type: string
description: Type of Task [normal, static, semistatic]
taskstate:
type: string
description: Task state can be empty, initiated, linked or loaded.
excstate:
type: string
description: >-
Task execution state can be ready, stopped, started or
uninitialized.
active:
type: boolean
description: Task is active or not
motiontask:
type: boolean
description: Motion Task is active or not [True, False]
trust:
type: string
description: Task trust level [SysFail, SysHalt, SysStop, None]
taskID:
type: integer
description: Task ID
execlevel:
type: string
description: Task Execution Level [None, Normal, Trap, User, Unknown]
execmode:
type: string
description: PGM execution mode...
execcycle:
type: string
description: PGM Current run cycle...
exectype:
type: string
description: Program execution Type...
prodentrypt:
type: string
description: RAPID program entry point...
bind_ref:
type: boolean
description: Task has configurated/Binded with Number...
task_in_forgnd:
type: string
description: Name of the foreground task
additionalProperties: false
examples:
response:
value: ...
application/hal+json;v=2.0:
schema:
type: object
properties:
rap-task:
type: object
description: Rapid task resource
program:
type: string
description: Link to the program loaded into the task
modules:
type: array
description: Link to modules loaded into the task
items:
type: string
name:
type: string
description: Task Name
type:
type: string
description: Type of Task [normal, static, semistatic]
taskstate:
type: string
description: Task state can be empty, initiated, linked or loaded.
excstate:
type: string
description: >-
Task execution state can be ready, stopped, started or
uninitialized.
active:
type: boolean
description: Task is active or not
motiontask:
type: boolean
description: Motion Task is active or not [True, False]
trust:
type: string
description: Task trust level [SysFail, SysHalt, SysStop, None]
taskID:
type: integer
description: Task ID
execlevel:
type: string
description: Task Execution Level [None, Normal, Trap, User, Unknown]
execmode:
type: string
description: PGM execution mode...
execcycle:
type: string
description: PGM Current run cycle...
exectype:
type: string
description: Program execution Type...
prodentrypt:
type: string
description: RAPID program entry point...
bind_ref:
type: boolean
description: Task has configurated/Binded with Number...
task_in_forgnd:
type: string
description: Name of the foreground task
additionalProperties: false
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
security:
- basicAuth: []
/rw/rapid/tasks/{task_name}/pref-data-types:
get:
tags:
- Operations on RAPID Tasks
summary: Get Preferable Data Types
description: |+
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/pref-data-types?instruction=AliasIO¶meter=FromSignal"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task_name}/pref-data-types',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task_name
in: path
description: '{task_name}'
required: true
schema:
type: string
- name: instruction
in: query
description: '{AliasIO}'
required: true
schema:
type: string
- name: parameter
in: query
description: '{FromSignal}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
task-pref-data-types:
description: Get Preferable Data Types resources
name-prefdattype:
description: Name of the signal
type-prefdattype:
description: Data type of signal
xml:
name: data
wrapped: true
examples:
response:
value: >
-
signaldi
dattyp
-
signaldo
dattyp
-
signalgi
dattyp
-
signalgo
dattyp
-
signalgo
dattyp
-
signalgo
dattyp
application/hal+json;v=2.0:
schema:
properties:
task-pref-data-types:
description: Get Preferable Data Types resources
name-prefdattype:
description: Name of the signal
type-prefdattype:
description: Data type of signal
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/abortexeclevel:
post:
tags:
- Operations on RAPID Tasks
summary: Abort Current Execution Level
description: |+
**Description :** Abort current execution level.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/abortexeclevel"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/abortexeclevel',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/loadmod:
post:
tags:
- Operations on RAPID Tasks
summary: Load RAPID Module into a RAPID Task
description: |+
**Description :** Load module into a rapid task.
**Sample Call**
curl -u "Default User":robotics-H "accept: application/xhtml+xml;v=2.0" -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "modulepath=$HOME/mymod.mod" "https://localhost/rw/rapid/tasks/T_ROB1/loadmod"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'modulepath=$HOME/MainModule.modx';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/loadmod',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- modulepath
properties:
modulepath:
description: '{module_path}'
type: string
replace:
description: '{true | false} Default value is false'
type: string
example: modulepath=string&replace=string
description: Data parameter(s)
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-task-module-li:
description: Loaded module details
name:
description: Loaded module name
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
rap-task-module-li:
description: Loaded module details
name:
description: Loaded module name
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/unloadmod:
post:
tags:
- Operations on RAPID Tasks
summary: Unload Module from a RAPID Task
description: |+
**Description :** Unload module from a rapid task.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "module=modulename" "https://localhost/rw/rapid/tasks/T_ROB1/unloadmod"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'module=modulename';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/unloadmod',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
properties:
module:
description: '{modulename}'
type: string
example: module=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/build:
post:
tags:
- Operations on RAPID Tasks
summary: Link RAPID Task
description: |+
**Description :** Set link of a rapid task.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/build"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/build',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/activate:
post:
tags:
- Operations on RAPID Tasks
summary: Activate RAPID Task
description: |+
**Description :** Activate rapid task in the task panel.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/activate"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/activate',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/deactivate:
post:
tags:
- Operations on RAPID Tasks
summary: Deactivate RAPID Task
description: |+
**Description :** Deactivate rapid task in the task panel.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/deactivate"
__Notes__ : Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/deactivate',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task_name}/activation-record:
get:
tags:
- Operations on RAPID Tasks
summary: Get Activation Record
description: >+
**Description :** An activation record consists of information needed
for program execution, such as instances of routines parameters and
locally defined data. Preconditions are Motors on, Load Rapid program,
Run program
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/activation-record?stackframe=1"
__Notes__
1. Motors on
2. Load Rapid program
3. Run program.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task_name}/activation-recod',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task_name
in: path
description: '{task_name}'
required: true
schema:
type: string
- name: stackframe
in: query
description: >-
{stack frame} The stack frame is a number starting with 1 for the
current activation record, i.e., the activation record containing
the user program pointer. The stack frame increases with one for
each previous activation record until the entry point is reached.
Default value for stackframe is 1.
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-stackframe:
description: Rapid-Symbol resource
execlevel:
description: Execution level (Normal/Trap/User)
beg-row:
description: begin position of row
beg-col:
description: begin position of column
end-row:
description: end position of row
end-col:
description: begin position of column
stack-url:
description: >-
URL to the stack frame. In the format of RAPID/{task
name}/{stack frame}
routine-url:
description: Routine URL
xml:
name: data
wrapped: true
examples:
response:
value: >
-
Normal
4
8
4
18
RAPID/T_ROB1/%1
RAPID/T_ROB1/MainModule/main
application/hal+json;v=2.0:
schema:
properties:
rap-stackframe:
description: Rapid-Symbol resource
execlevel:
description: Execution level (Normal/Trap/User)
beg-row:
description: begin position of row
beg-col:
description: begin position of column
end-row:
description: end position of row
end-col:
description: begin position of column
stack-url:
description: >-
URL to the stack frame. In the format of RAPID/{task
name}/{stack frame}
routine-url:
description: Routine URL
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task_name}/syncstate/program-pointer:
get:
tags:
- Operations on RAPID Tasks
summary: Get Program Pointer Sync State
description: |+
**Description :** Get Program Pointer Sync State
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/syncstate/program-pointer"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task_name}/syncstate/program-pointer',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task_name
in: path
description: '{task_name}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-sync-state:
description: Rapid-sync-State resource
Program-Pointer-State:
description: Program pointer state
xml:
name: data
wrapped: true
examples:
response:
value: >
application/hal+json;v=2.0:
schema:
properties:
rap-sync-state:
description: Rapid-sync-State resource
Program-Pointer-State:
description: Program pointer state
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task_name}/syncstate/motion-pointer:
get:
tags:
- Operations on RAPID Tasks
summary: Get Motion Pointer Sync State
description: |+
**Description :** Get Motion Pointer Sync State
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/syncstate/motion-pointer"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '',
method: 'GET',
headers:{
'Accep/rw/rapid/tasks/{task_name}/syncstate/motion-pointer': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task_name
in: path
description: '{task_name}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-sync-state:
description: Rapid-sync-State resource
Motion-Pointer-State:
description: Motion pointer state
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
rap-sync-state:
description: Rapid-sync-State resource
Motion-Pointer-State:
description: Motion pointer state
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task_name}/structural-changecount:
get:
tags:
- Operations on RAPID Tasks
summary: Get Structural Change Count
description: |+
**Description :** Get Structural Change Count
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/structural-changecount"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task_name}/structural-changecount',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task_name
in: path
description: '{task_name}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
task-struc-change-count:
description: Structural Change Count resource
change-count:
description: Relevant change occurs in the system
struc-change-count:
description: >-
Load, Unload and renaming of modules. A rename is
considered to be an unload/load, from the structural point
of view.
xml:
name: data
wrapped: true
examples:
response:
value: >
application/hal+json;v=2.0:
schema:
properties:
task-struc-change-count:
description: Structural Change Count resource
change-count:
description: Relevant change occurs in the system
struc-change-count:
description: >-
Load, Unload and renaming of modules. A rename is
considered to be an unload/load, from the structural point
of view.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task_name}/pallet/{pallet_no}:
get:
tags:
- Operations on RAPID Tasks
summary: Get Pallet
description: |+
**Description :** Operations on RAPID Tasks.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/pallet/9?start=1&limit=3"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task_name}/pallet/{pallet_no}',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task_name
in: path
description: '{task_name}'
required: true
schema:
type: string
- name: pallet_no
in: path
description: >-
{pallet_no}. pallet_no. 1 - Common, pallet_no. 2 - Prog.Flow,
pallet_no. 3 - Various, pallet_no. 4 - Settings, pallet_no. 5 -
Motion&Proc., pallet_no. 6 - I/O, pallet_no. 7 - Communicate,
pallet_no. 8 - Interrupts, pallet_no. 9 - Error Rec., pallet_no.
10 - System&Time, pallet_no. 11 - Mathematics, pallet_no. 12 - M.C
1, pallet_no. 13 - M.C 2, pallet_no. 14 - M.C 3, pallet_no. 15 -
MotionSetAdv, pallet_no. 16 - Motion Adv., pallet_no. 17 -
Ext.Computer, pallet_no. 18 - MultiTasking&MultiMove, pallet_no. 19
- RAPIDsupport, pallet_no. 20 - Calib&Service,
required: true
schema:
type: string
- name: start
in: query
description: '{page_no}'
required: false
schema:
type: string
- name: limit
in: query
description: '{elements_no}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-pallet:
description: RAPID Pallet
Name:
description: Pallet name
Instruction:
description: Pallet instruction
Parameter:
description: Pallet parameter
Alternative:
description: Pallet alternative
Keyword:
description: Pallet keyword
xml:
name: data
wrapped: true
examples:
response:
value: |
-
EXIT
307623174
0
0
1
-
RAISE
307623054
0
0
1
-
RETRY
307622934
0
0
1
application/hal+json;v=2.0:
schema:
properties:
rap-pallet:
description: RAPID Pallet
Name:
description: Pallet name
Instruction:
description: Pallet instruction
Parameter:
description: Pallet parameter
Alternative:
description: Pallet alternative
Keyword:
description: Pallet keyword
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task_name}/pallet-head:
get:
tags:
- Operations on RAPID Tasks
summary: Get Pallet Head
description: |+
**Description :** Get Pallet Head.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/pallet-head?start=1&limit=5"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task_name}/pallet-head',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task_name
in: path
description: '{task_name}'
required: true
schema:
type: string
- name: start
in: query
description: '{page_no}'
required: false
schema:
type: string
- name: limit
in: query
description: '{elements_no}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-pallet-head:
description: RAPID Pallet head
Name:
description: Pallet name
Number:
description: Pallet number
xml:
name: data
wrapped: true
examples:
response:
value: >
-
Common
1
-
Prog.Flow
2
-
Various
3
-
Settings
4
-
Motion&Proc.
5
application/hal+json;v=2.0:
schema:
properties:
rap-pallet-head:
description: RAPID Pallet head
Name:
description: Pallet name
Number:
description: Pallet number
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/serviceroutine:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Service Routine
description: |+
**Description :** Returns the rapid task service routines.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/serviceroutine"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/serviceroutine',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: start
in: query
description: '{PageNumber}'
required: false
schema:
type: string
- name: limit
in: query
description: '{no. of elements}'
required: false
schema:
type: string
- name: allread
in: query
description: '{TRUE|FALSE}'
required: false
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-task-routine:
description: Rapid task serviceroutine
Routine_name:
description: Name of the Routine
URL_to_Routine:
description: URL to Routine
service-routine:
description: 'TRUE: service routine, FALSE: normal routine'
xml:
name: data
wrapped: true
examples:
response:
value: >
-
SkipTaskExec
RAPID/T_ROB1/BASEFUN/SkipTaskExec
TRUE
-
LoadIdentify
RAPID/T_ROB1/BASEFUN/LoadIdentify
TRUE
-
ManLoadIdentify
RAPID/T_ROB1/BASEFUN/ManLoadIdentify
TRUE
-
WristOptimization
RAPID/T_ROB1/CAL_WRIST/WristOptimization
TRUE
application/hal+json;v=2.0:
schema:
properties:
rap-task-routine:
description: Rapid task serviceroutine
Routine_name:
description: Name of the Routine
URL_to_Routine:
description: URL to Routine
service-routine:
description: 'TRUE: service routine, FALSE: normal routine'
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/pcp:
get:
tags:
- Operations on RAPID Tasks
summary: Get RAPID Task Motion & Program Pointer Positions
description: >+
**Description :** Returns the rapid task PCP resources.
The v=2.1 is supported from RW 7.1.
The API with v=2.1 supports "modulename" tag instead of "modulemame" in
response.
The v=2.2 is supported from RW 7.10.
The API with v=2.2 supports "beginposition" tag instead of "begposition"
in response.
The resource can be subscribed (program pointer) using /subscription
with resource uri /rw/rapid/tasks/{taskname}/pcp;programpointerchange
On subscription an empty initial event will be generated followed by the
current value.
Sample response for program pointer subscription
An event will look like
-
MainModule
routine1
3
3
3
122
The resource can also be subscribed (motion pointer) using /subscription with resource uri /rw/rapid/tasks/{taskname}/pcp;motionpointerchange
Sample response for motion pointer. subscription
An event will look like
-
MainModule
routine1
3
3
3
122
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/tasks/T_ROB1/pcp"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/pcp',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
pcp-info:
description: Rapid task pcp resource
modulemame:
description: Current running module.
routinename:
description: >-
Current routine name in module where progarm pointer and
motion pointer located .
changecount:
description: >-
Number of time progarm pointer or motion pointer relocated
.
executiontype:
description: >-
ExecutionType can be No execution context, Normal,
Interrupt, extrenal interrupt, user routine, event
routine.
beginposition:
description: begin position of programe poionter.
endposition:
description: end position of programe poionter.
xml:
name: data
wrapped: true
examples:
response:
value: |
-
9,8
9,20
module_test
main
-1
normal
-
9,8
9,20
module_test
main
-1
application/hal+json;v=2.0:
schema:
properties:
pcp-info:
description: Rapid task pcp resource
modulemame:
description: Current running module.
routinename:
description: >-
Current routine name in module where progarm pointer and
motion pointer located .
changecount:
description: >-
Number of time progarm pointer or motion pointer relocated
.
executiontype:
description: >-
ExecutionType can be No execution context, Normal,
Interrupt, extrenal interrupt, user routine, event
routine.
beginposition:
description: begin position of programe poionter.
endposition:
description: end position of programe poionter.
xml:
name: data
wrapped: true
application/xhtml+xml;v=2.1:
schema:
properties:
pcp-info:
description: Rapid task pcp resource
modulemame:
description: Current running module.
routinename:
description: >-
Current routine name in module where progarm pointer and
motion pointer located .
changecount:
description: >-
Number of time progarm pointer or motion pointer relocated
.
executiontype:
description: >-
ExecutionType can be No execution context, Normal,
Interrupt, extrenal interrupt, user routine, event
routine.
beginposition:
description: begin position of programe poionter.
endposition:
description: end position of programe poionter.
xml:
name: data
wrapped: true
examples:
response:
value: |
-
9,8
9,20
module_test
main
-1
normal
-
9,8
9,20
module_test
main
-1
application/hal+json;v=2.1:
schema:
properties:
pcp-info:
description: Rapid task pcp resource
modulemame:
description: Current running module.
routinename:
description: >-
Current routine name in module where progarm pointer and
motion pointer located .
changecount:
description: >-
Number of time progarm pointer or motion pointer relocated
.
executiontype:
description: >-
ExecutionType can be No execution context, Normal,
Interrupt, extrenal interrupt, user routine, event
routine.
beginposition:
description: begin position of programe poionter.
endposition:
description: end position of programe poionter.
xml:
name: data
wrapped: true
application/xhtml+xml;v=2.2:
schema:
properties:
pcp-info:
description: Rapid task pcp resource
modulemame:
description: Current running module.
routinename:
description: >-
Current routine name in module where progarm pointer and
motion pointer located .
changecount:
description: >-
Number of time progarm pointer or motion pointer relocated
.
executiontype:
description: >-
ExecutionType can be No execution context, Normal,
Interrupt, extrenal interrupt, user routine, event
routine.
beginposition:
description: begin position of programe poionter.
endposition:
description: end position of programe poionter.
xml:
name: data
wrapped: true
application/hal+json;v=2.2:
schema:
properties:
pcp-info:
description: Rapid task pcp resource
modulemame:
description: Current running module.
routinename:
description: >-
Current routine name in module where progarm pointer and
motion pointer located .
changecount:
description: >-
Number of time progarm pointer or motion pointer relocated
.
executiontype:
description: >-
ExecutionType can be No execution context, Normal,
Interrupt, extrenal interrupt, user routine, event
routine.
beginposition:
description: begin position of programe poionter.
endposition:
description: end position of programe poionter.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/tasks/{task}/pcp/cursor:
post:
tags:
- Operations on RAPID Tasks
summary: Set the Program Pointer(PP) Position to Cursor
description: |+
**Description :** Set the Program Pointer(PP) Position to cursor.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "module=modulename&line=6&column=14" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/pcp/cursor"
__Notes__
+ Line number and Column number should be in given routine range.
+ Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'column=14&line=6&module=modulename&routine=routinename';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/pcp/cursor',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- module
- line
- column
properties:
module:
description: '{module name}'
type: string
line:
description: '{line_number}'
type: string
column:
description: '{column_number name}'
type: string
example: module=string&line=string&column=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/pcp/routine:
post:
tags:
- Operations on RAPID Tasks
summary: Set the Program Pointer(PP) Position to Routine
description: |+
**Description :** Set the program pointer(PP) position to routine.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "routine=routinename&userlevel=true" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/pcp/routine"
__Notes__
+ Controller needs to be in auto mode.
+ Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'userlevel=true&module=modulename&routine=routinename';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/pcp/routine',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- routine
properties:
routine:
description: '{routine name}'
type: string
module:
description: '{module name}'
type: string
userlevel:
description: >-
{true | false} we should set user level to 'true' only in
case of service modules.Otherwise default to 'false'
(optional).
type: string
example: routine=string&module=string&userlevel=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/pcp/routine-from-url:
post:
tags:
- Operations on RAPID Tasks
summary: Set the Program Pointer(PP) Position to Routine by URL
description: >+
**Description :** Set the program pointer(PP) position to routine by
URL.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "routineurl=/RAPID/T_ROB1/module_test/main&userlevel=false" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/pcp/routine-from-url"
__Notes__
+ Controller needs to be in auto mode.
+ The routine which is declared as LOCAL or has parameters is not allowed.
+ Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'module=modulename&routine=routinename';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/pcp/routine-form-url',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
required:
- routineurl
properties:
routineurl:
description: '{ /RAPID/{taskname}/{modulename}/{routinename} }'
type: string
userlevel:
description: >-
{true | false} Needs to be true, in case of setting the PP
in user module. Otherwise false (optional).
type: string
example: routineurl=string&userlevel=string
description: Data parameter(s)
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/pcp/prev-inst:
post:
tags:
- Operations on RAPID Tasks
summary: Set the Program Pointer(PP) Position to Previous Instruction
description: >+
**Description :** Set the program pointer(PP) position to previous
instruction.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/pcp/prev-inst"
__Notes__
+ Controller needs to be in auto mode.
+ Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/pcp/prev-inst',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/pcp/next-inst:
post:
tags:
- Operations on RAPID Tasks
summary: Set the Program Pointer(PP) Position to Next Instruction
description: >+
**Description :** Set the program pointer(PP) position to next
instruction.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/pcp/next-inst"
__Notes__
+ Controller needs to be in auto mode.
+ Mastership is required.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/pcp/next-inst',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/tasks/{task}/pcp/reset:
post:
tags:
- Operations on RAPID Tasks
summary: Reset RAPID Program Pointer to Main for specified task
description: >+
**Description :** Reset RAPID Program Pointer to Main for specified
task.
**Sample Call**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "module=modulename&line=6&column=14" -X POST "https://localhost/rw/rapid/tasks/T_ROB1/pcp/reset"
__Notes__
Supported from RW7.2.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
//To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
const data = 'state=running&name=Local';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/tasks/{task}/pcp/reset',
method: 'POST',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
console.log(res.headers.location)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
```
parameters:
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
- name: task
in: path
description: '{task}'
required: true
schema:
type: string
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []
/rw/rapid/uiinstr:
get:
tags:
- Operations on RAPID UI Instructions
summary: Get UI Instruction Resource
description: >+
**Description :** Returns a list of UI instruction resources
The resource can be subscribed (UI Events) using /subscription with
resource uri /rw/rapid/uiinstr;uievent.
From RW7.1, this subscription information will support UTF8 characters.
Sample response for UI Events subscription
Any empty event is sent as an initial UI event
A UI event may look like.UIinstruction parameter in response is
supported from RW7.1.
-
IMessageBox
SEND
RAPID/T_ROB1/$67775
NORMAL
""
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/uiinstr"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/uiinstr',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-active-li:
description: Active UI instruction resource list
xml:
name: data
wrapped: true
examples:
response:
value: |
application/hal+json;v=2.0:
schema:
properties:
rap-active-li:
description: Active UI instruction resource list
xml:
name: data
wrapped: true
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/uiinstr/active:
get:
tags:
- Operations on RAPID UI Instructions
summary: Get Active UI Instruction
description: |+
**Description :** Returns any active UI instruction resource.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/uiinstr/active"
__Notes__ None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/uiinstr/active',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-uiactive-li:
description: The pending UI instruction resource
instr:
description: >-
Instruction is one of {IAlphaEntry | IListView |
IMessageBox | IMsgBox | INumEntry | INumTune | IShow |
TPErase | TPReadFK | TPReadNum | TPShow | TPWrite}.
event:
description: Event is one of {SEND | POST | ABORT}.
stack:
description: The stack url, a link to the UI instruction parameters.
execlv:
description: Rapid task execution level.
msg:
description: Line of text
params:
description: >-
Link to UI message parameters. The parameters are defined
in the RAPID manual.
param:
description: Link to UI message parameter.
xml:
name: data
wrapped: true
examples:
response:
value: >
-
TPReadNum
SEND
RAPID/T_ROB1/%$104
NORMAL
application/hal+json;v=2.0:
schema:
properties:
rap-uiactive-li:
description: The pending UI instruction resource
instr:
description: >-
Instruction is one of {IAlphaEntry | IListView |
IMessageBox | IMsgBox | INumEntry | INumTune | IShow |
TPErase | TPReadFK | TPReadNum | TPShow | TPWrite}.
event:
description: Event is one of {SEND | POST | ABORT}.
stack:
description: The stack url, a link to the UI instruction parameters.
execlv:
description: Rapid task execution level.
msg:
description: Line of text
params:
description: >-
Link to UI message parameters. The parameters are defined
in the RAPID manual.
param:
description: Link to UI message parameter.
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
security:
- basicAuth: []
/rw/rapid/uiinstr/active/params/{stackurl}:
get:
tags:
- Operations on RAPID UI Instructions
summary: Get Active UI Instruction Parameters
description: >+
**Description :** Get active UI instruction parameters.
This API works only for waiting instructions like UIMsgBox, UIAlphaEntry
etc. but not for UIMsgWrite and TPWrite which are non waiting
instructions.
**Sample Call**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/uiinstr/active/params/RAPID/T_ROB1/%25%2499"
__Notes__ : None.
**Pre-requisites**: None
**Limitation**: None
**Example java script**:
```
const https = require('https')
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//provide the user id and passowrd
let encoded = Buffer.from("Default user:robotics").toString('base64')
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/uiinstr/active/params/{stackurl}',
method: 'GET',
headers:{
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
```
parameters:
- name: stackurl
in: path
description: '{stackurl}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-uiparam-li:
description: UI instruction parameter
title:
description: Parameter name
value:
description: Parameter value
xml:
name: data
wrapped: true
examples:
response:
value: >
-
0
-
FALSE
-
"UIMsgBox Header"
-
["Message Line 1","Message Line
2","Message Line 3","Message Line 4","Message Line
5"]
-
FALSE
-
2
-
1
-
FALSE
-
FALSE
-
"UIMsgBox"
application/hal+json;v=2.0:
schema:
properties:
rap-uiparam-li:
description: UI instruction parameter
title:
description: Parameter name
value:
description: Parameter value
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
/rw/rapid/uiinstr/active/param/{stackurl}/{uiparam}:
get:
tags:
- Operations on RAPID UI Instructions
summary: Get Parameter Value for an Active UI Instruction
description: |
**Description:** Get a parameter value for an active UI instruction.
**Sample Call:**
curl -u "Default User":robotics -H "accept: application/xhtml+xml;v=2.0" "https://localhost/rw/rapid/uiinstr/active/param/RAPID/T_ROB1/%25%2499/Result"
__Notes__
This API works only for waiting instructions like UIMsgBox, UIAlphaEntry, etc., but not for UIMsgWrite and TPWrite which are non-waiting instructions. The controller supports UTF-8 character encoding for this API from RW7.1.
**Pre-requisites:** None
**Limitation:** None
**Example JavaScript:**
```
const https = require('https');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
// Provide the user ID and password
let encoded = Buffer.from("Default User:robotics").toString('base64');
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/uiinstr/active/param/{stackurl}/{uiparam}',
method: 'GET',
headers: {
'Accept': 'application/hal+json;v=2.0',
'Authorization': auth
}
};
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
});
});
req.on('error', error => {
console.error(error);
});
req.end();
```
parameters:
- name: stackurl
in: path
description: '{stackurl}'
required: true
schema:
type: string
- name: uiparam
in: path
description: '{uiparam}'
required: true
schema:
type: string
responses:
'200':
description: Standard response for successful HTTP requests
content:
application/xhtml+xml;v=2.0:
schema:
properties:
rap-uiparam:
description: UI param
value:
description: Requested UI parameter value
xml:
name: data
wrapped: true
examples:
response:
value: |-
-
0
-
"Show the layout"
-
""
-
""
-
""
-
""
-
"OK"
application/hal+json;v=2.0:
schema:
properties:
rap-uiparam:
description: UI param
value:
description: Requested UI parameter value
xml:
name: data
wrapped: true
'400':
description: The request cannot be fulfilled due to bad syntax
'404':
description: >-
The requested page could not be found but may be available again in
the future
'406':
description: >-
The server can only generate a response that is not accepted by the
client
security:
- basicAuth: []
post:
tags:
- Operations on RAPID UI Instructions
summary: Update an Active UI Instruction Parameter
description: |
**Description:** Update an active UI instruction parameter.
**Sample Call:**
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "value=0" -X POST "https://localhost/rw/rapid/uiinstr/active/param/RAPID/T_ROB1/%$104/TPFK3"
curl -u "Default User":robotics -H "Content-Type: application/x-www-form-urlencoded;v=2.0" -d "value=TRUE" -X POST "https://localhost/rw/rapid/uiinstr/active/param/RAPID/T_ROB1/%$104/TPCompleted"
__Notes__
- {stackurl} ends with a variable number, which can be obtained from the "Get Active UI Instruction" API.
- The RAPID program should be running.
- Examples of {uiparam} include TPFK1, TPFK2, TPFK3, TPCompleted, etc.
- Mastership is required.
**Pre-requisites:** None
**Limitation:** None
**Example JavaScript:**
```
const https = require('https');
// To disable SSL
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
// Provide the user ID and password
let encoded = Buffer.from("Default User:robotics").toString('base64');
const data = 'value=0';
var auth = "Basic " + encoded;
const options = {
hostname: 'localhost',
port: 443,
path: '/rw/rapid/uiinstr/active/param/{stackurl}/{uiparam}',
method: 'POST',
headers: {
'Accept': 'application/hal+json;v=2.0',
'Content-Type': 'application/x-www-form-urlencoded;v=2.0',
'Authorization': auth,
'Content-Length': data.length
}
};
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
console.log(res.headers.location);
});
});
req.on('error', error => {
console.error(error);
});
req.write(data);
req.end();
```
parameters:
- name: stackurl
in: path
description: '{stackurl}'
required: true
schema:
type: string
- name: uiparam
in: path
description: '{uiparam}'
required: true
schema:
type: string
- name: mastership
in: query
description: '{implicit | explicit} by default mastership is explicit'
required: false
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded;v=2.0:
schema:
type: object
properties:
value:
description: Value to set
type: string
example:
value: '0'
description: >-
Value parameter to update. For example, TPFK3 can accept a value like
`0` and TPCompleted can accept a value like `TRUE`.
required: true
responses:
'204':
description: >-
The request has been successfully processed, but is not returning
any content
'400':
description: The request cannot be fulfilled due to bad syntax
'403':
description: >-
The request was a legal request, but the server is refusing to
respond to it
'404':
description: >-
The requested page could not be found but may be available again in
the future
'415':
description: >-
The server will not accept the request, because the media type is
not supported
security:
- basicAuth: []