openapi: 3.0.1 info: description: | RAPID Service ![RAPID Service resources](/api/RWS/Swagger_Doc/images/rapid-sitemap.png) 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: |
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
true
**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: |
stopped once true
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: |-
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: |-
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: >-
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: >-
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: >-
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: >-
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: >-
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: >-
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: >-
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: |-
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: |-
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: >-
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: >
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: |
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: |
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: |
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: |
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
**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: |
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:
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.
**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: >
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: >
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: |
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
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
**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: |
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: |
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.
**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: >
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: >
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: |-
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: []