abb-rws-client 0.2.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +199 -137
- package/dist/ResourceMapper.d.ts +219 -2
- package/dist/ResourceMapper.d.ts.map +1 -1
- package/dist/ResourceMapper.js +278 -3
- package/dist/ResourceMapper.js.map +1 -1
- package/dist/ResponseParser.d.ts +81 -2
- package/dist/ResponseParser.d.ts.map +1 -1
- package/dist/ResponseParser.js +309 -3
- package/dist/ResponseParser.js.map +1 -1
- package/dist/RwsClient.d.ts +247 -1
- package/dist/RwsClient.d.ts.map +1 -1
- package/dist/RwsClient.js +626 -2
- package/dist/RwsClient.js.map +1 -1
- package/dist/WsSubscriber.d.ts.map +1 -1
- package/dist/WsSubscriber.js +18 -11
- package/dist/WsSubscriber.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +188 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/RwsClient.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* await client.disconnect();
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
|
-
import type { RwsClientOptions, ControllerState, OperationMode, ExecutionState, JointTarget, RobTarget, Signal, RapidTask, SubscriptionResource, SubscriptionEvent } from './types.js';
|
|
17
|
+
import type { RwsClientOptions, ControllerState, OperationMode, ExecutionState, ExecutionInfo, ExecutionCycle, JointTarget, RobTarget, CartesianFull, Signal, RapidTask, IoNetwork, IoDevice, SystemInfo, ControllerIdentity, ElogMessage, FileEntry, MastershipDomain, CollisionDetectionState, RapidSymbolProperties, ControllerClock, UiInstruction, RapidSymbolInfo, RapidSymbolSearchParams, RestartMode, SubscriptionResource, SubscriptionEvent } from './types.js';
|
|
18
18
|
export declare class RwsClient {
|
|
19
19
|
private readonly session;
|
|
20
20
|
private readonly subscriber;
|
|
@@ -43,6 +43,14 @@ export declare class RwsClient {
|
|
|
43
43
|
* @throws {RwsError} code='PARSE_ERROR' on unexpected response format
|
|
44
44
|
*/
|
|
45
45
|
getControllerState(): Promise<ControllerState>;
|
|
46
|
+
/**
|
|
47
|
+
* Set the controller motor state.
|
|
48
|
+
* Requires AUTO mode and mastership (request with requestMastership('motion') first).
|
|
49
|
+
*
|
|
50
|
+
* @param state - 'motoron' | 'motoroff'
|
|
51
|
+
* @throws {RwsError} code='AUTH_FAILED' if mastership is not held
|
|
52
|
+
*/
|
|
53
|
+
setControllerState(state: 'motoron' | 'motoroff'): Promise<void>;
|
|
46
54
|
/**
|
|
47
55
|
* Read the current operation mode.
|
|
48
56
|
*
|
|
@@ -50,12 +58,54 @@ export declare class RwsClient {
|
|
|
50
58
|
* @throws {RwsError} code='PARSE_ERROR' on unexpected response format
|
|
51
59
|
*/
|
|
52
60
|
getOperationMode(): Promise<OperationMode>;
|
|
61
|
+
/**
|
|
62
|
+
* Read the collision detection state.
|
|
63
|
+
* Returns INIT (no collision), TRIGGERED, CONFIRMED, or TRIGGERED_ACK.
|
|
64
|
+
* Requires the Collision Detection option on the controller.
|
|
65
|
+
*/
|
|
66
|
+
getCollisionDetectionState(): Promise<CollisionDetectionState>;
|
|
67
|
+
/**
|
|
68
|
+
* Restart (or warm-start) the controller.
|
|
69
|
+
*
|
|
70
|
+
* **Modes:**
|
|
71
|
+
* - `restart` — Normal restart; saves state and activates changed system parameters
|
|
72
|
+
* - `istart` — Restart with original installation settings; discards all programs
|
|
73
|
+
* - `pstart` — Restart preserving system parameters; removes programs
|
|
74
|
+
* - `bstart` — Boot with last auto-saved state (crash recovery)
|
|
75
|
+
*
|
|
76
|
+
* @param mode - Restart mode; default 'restart'
|
|
77
|
+
*/
|
|
78
|
+
restartController(mode?: RestartMode): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Lock the operation mode selector on the FlexPendant.
|
|
81
|
+
* @param pin - 4-digit PIN code
|
|
82
|
+
* @param permanent - true = permanent lock; false = temporary
|
|
83
|
+
*/
|
|
84
|
+
lockOperationMode(pin: string, permanent?: boolean): Promise<void>;
|
|
85
|
+
/** Unlock the operation mode selector. */
|
|
86
|
+
unlockOperationMode(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Read the current speed ratio (0–100).
|
|
89
|
+
* Represents override percentage applied to all robot speeds.
|
|
90
|
+
*/
|
|
91
|
+
getSpeedRatio(): Promise<number>;
|
|
92
|
+
/**
|
|
93
|
+
* Set the speed ratio override (0–100). Only valid in AUTO mode.
|
|
94
|
+
* @param ratio - Integer 0–100 (clamped automatically)
|
|
95
|
+
*/
|
|
96
|
+
setSpeedRatio(ratio: number): Promise<void>;
|
|
53
97
|
/**
|
|
54
98
|
* Read the current RAPID execution state.
|
|
55
99
|
*
|
|
56
100
|
* @returns 'running' | 'stopped'
|
|
57
101
|
*/
|
|
58
102
|
getRapidExecutionState(): Promise<ExecutionState>;
|
|
103
|
+
/**
|
|
104
|
+
* Read the full RAPID execution info including state and current cycle mode.
|
|
105
|
+
*
|
|
106
|
+
* @returns ExecutionInfo with state ('running'|'stopped') and cycle ('once'|'forever'|'asis'|'oncedone')
|
|
107
|
+
*/
|
|
108
|
+
getRapidExecutionInfo(): Promise<ExecutionInfo>;
|
|
59
109
|
/**
|
|
60
110
|
* Retrieve all RAPID tasks and their current states.
|
|
61
111
|
*
|
|
@@ -79,6 +129,97 @@ export declare class RwsClient {
|
|
|
79
129
|
* RAPID must be stopped before calling this.
|
|
80
130
|
*/
|
|
81
131
|
resetRapid(): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Set the RAPID execution cycle mode.
|
|
134
|
+
* @param cycle - 'once' (run once then stop) | 'forever' (loop) | 'asis' (keep current)
|
|
135
|
+
*/
|
|
136
|
+
setExecutionCycle(cycle: ExecutionCycle): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Read the value of a RAPID symbol (variable, persistent, or constant).
|
|
139
|
+
* Returns the raw string as the controller formats it (e.g. '42', '"hello"', '[1,2,3]').
|
|
140
|
+
*
|
|
141
|
+
* @param taskName - RAPID task name, e.g. 'T_ROB1'
|
|
142
|
+
* @param moduleName - Module name, e.g. 'user'
|
|
143
|
+
* @param symbolName - Symbol name, e.g. 'reg1'
|
|
144
|
+
*/
|
|
145
|
+
getRapidVariable(taskName: string, moduleName: string, symbolName: string): Promise<string>;
|
|
146
|
+
/**
|
|
147
|
+
* Write a value to a RAPID variable or persistent.
|
|
148
|
+
* Value must be a RAPID-formatted string: e.g. '42', '3.14', '"hello"', '[1,0,0,0]'.
|
|
149
|
+
*
|
|
150
|
+
* @param taskName - RAPID task name
|
|
151
|
+
* @param moduleName - Module name
|
|
152
|
+
* @param symbolName - Symbol name
|
|
153
|
+
* @param value - New value in RAPID syntax
|
|
154
|
+
*/
|
|
155
|
+
setRapidVariable(taskName: string, moduleName: string, symbolName: string, value: string): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Activate a RAPID task (for multitasking systems).
|
|
158
|
+
* Mastership is taken internally by the controller.
|
|
159
|
+
* @param task - Task name, e.g. 'T_ROB2'
|
|
160
|
+
*/
|
|
161
|
+
activateRapidTask(task: string): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Deactivate a RAPID task (for multitasking systems).
|
|
164
|
+
* @param task - Task name
|
|
165
|
+
*/
|
|
166
|
+
deactivateRapidTask(task: string): Promise<void>;
|
|
167
|
+
/** Activate ALL RAPID tasks. */
|
|
168
|
+
activateAllRapidTasks(): Promise<void>;
|
|
169
|
+
/** Deactivate ALL RAPID tasks. */
|
|
170
|
+
deactivateAllRapidTasks(): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Get the currently active RAPID UI instruction.
|
|
173
|
+
* Returns null if no UI instruction is waiting for input.
|
|
174
|
+
* Used to detect when RAPID is waiting for operator input (TPReadNum, TPReadFK, etc.).
|
|
175
|
+
*/
|
|
176
|
+
getActiveUiInstruction(): Promise<UiInstruction | null>;
|
|
177
|
+
/**
|
|
178
|
+
* Respond to an active RAPID UI instruction (e.g. send the answer to a TPReadNum).
|
|
179
|
+
* Get the stackurl from getActiveUiInstruction().stack.
|
|
180
|
+
*
|
|
181
|
+
* Common parameter names:
|
|
182
|
+
* - 'Result' — the answer value for TPReadNum, TPReadFK
|
|
183
|
+
* - 'TPFK1' … 'TPFK5' — individual function key states (0/1)
|
|
184
|
+
* - 'TPCompleted' — set to 'TRUE' when done
|
|
185
|
+
*
|
|
186
|
+
* @param stackurl - Stack URL from UiInstruction.stack (e.g. 'RAPID/T_ROB1/%$104')
|
|
187
|
+
* @param uiparam - Parameter name, e.g. 'Result'
|
|
188
|
+
* @param value - Value to set, e.g. '42' or 'TRUE'
|
|
189
|
+
*/
|
|
190
|
+
setUiInstructionParam(stackurl: string, uiparam: string, value: string): Promise<void>;
|
|
191
|
+
/**
|
|
192
|
+
* Search for RAPID symbols matching filter criteria.
|
|
193
|
+
*
|
|
194
|
+
* @param params - Search parameters (task is required; all others are optional filters)
|
|
195
|
+
* @returns Array of matching symbols with abbreviated properties
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```ts
|
|
199
|
+
* // Find all persistent variables in T_ROB1
|
|
200
|
+
* const persistents = await client.searchRapidSymbols({ task: 'T_ROB1', symtyp: 'per' });
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
searchRapidSymbols(params: RapidSymbolSearchParams): Promise<RapidSymbolInfo[]>;
|
|
204
|
+
/**
|
|
205
|
+
* Validate a value against a RAPID data type without writing it.
|
|
206
|
+
* Useful for validating user input before calling setRapidVariable.
|
|
207
|
+
*
|
|
208
|
+
* @param task - RAPID task name, e.g. 'T_ROB1'
|
|
209
|
+
* @param value - Value in RAPID syntax, e.g. '[1,0,0,0]'
|
|
210
|
+
* @param datatype - RAPID data type name, e.g. 'tooldata', 'robtarget', 'num'
|
|
211
|
+
* @returns true if valid, false if invalid (no exception thrown for invalid values)
|
|
212
|
+
*/
|
|
213
|
+
validateRapidValue(task: string, value: string, datatype: string): Promise<boolean>;
|
|
214
|
+
/**
|
|
215
|
+
* Read RAPID symbol properties (type, dimensions, storage class, etc.).
|
|
216
|
+
* Useful for introspecting variables, persistents, constants, and records.
|
|
217
|
+
*
|
|
218
|
+
* @param taskName - RAPID task name, e.g. 'T_ROB1'
|
|
219
|
+
* @param moduleName - Module name, e.g. 'user'
|
|
220
|
+
* @param symbolName - Symbol name, e.g. 'reg1'
|
|
221
|
+
*/
|
|
222
|
+
getRapidSymbolProperties(taskName: string, moduleName: string, symbolName: string): Promise<RapidSymbolProperties>;
|
|
82
223
|
/**
|
|
83
224
|
* Read the current joint-space positions for a mechanical unit.
|
|
84
225
|
*
|
|
@@ -95,6 +236,14 @@ export declare class RwsClient {
|
|
|
95
236
|
* @returns RobTarget with x, y, z (mm) and q1–q4 quaternion components
|
|
96
237
|
*/
|
|
97
238
|
getCartesianPosition(mechunit?: string, tool?: string, wobj?: string): Promise<RobTarget>;
|
|
239
|
+
/**
|
|
240
|
+
* Read the current Cartesian position including robot configuration flags.
|
|
241
|
+
* Uses /cartesian endpoint (no tool/wobj override — uses active tool/wobj).
|
|
242
|
+
* Returns j1/j4/j6/jx configuration integers in addition to pose.
|
|
243
|
+
*
|
|
244
|
+
* @param mechunit - Default 'ROB_1'
|
|
245
|
+
*/
|
|
246
|
+
getCartesianFull(mechunit?: string): Promise<CartesianFull>;
|
|
98
247
|
/**
|
|
99
248
|
* Download a file from the controller filesystem as a UTF-8 string.
|
|
100
249
|
* Use '$HOME/' prefix for the controller home directory.
|
|
@@ -135,6 +284,30 @@ export declare class RwsClient {
|
|
|
135
284
|
* @returns Array of module names
|
|
136
285
|
*/
|
|
137
286
|
listModules(taskName: string): Promise<string[]>;
|
|
287
|
+
/**
|
|
288
|
+
* Download a directory listing from the controller filesystem.
|
|
289
|
+
* Returns entries sorted: directories first, then files.
|
|
290
|
+
*
|
|
291
|
+
* @param remotePath - Controller path, e.g. '$HOME' or '$HOME/Dispense'
|
|
292
|
+
*/
|
|
293
|
+
listDirectory(remotePath: string): Promise<FileEntry[]>;
|
|
294
|
+
/**
|
|
295
|
+
* Delete a file from the controller filesystem.
|
|
296
|
+
* @param remotePath - Controller path, e.g. '$HOME/OldMod.mod'
|
|
297
|
+
*/
|
|
298
|
+
deleteFile(remotePath: string): Promise<void>;
|
|
299
|
+
/**
|
|
300
|
+
* Create a directory on the controller filesystem.
|
|
301
|
+
* @param parentPath - Parent directory path, e.g. '$HOME'
|
|
302
|
+
* @param dirName - New directory name, e.g. 'Backup'
|
|
303
|
+
*/
|
|
304
|
+
createDirectory(parentPath: string, dirName: string): Promise<void>;
|
|
305
|
+
/**
|
|
306
|
+
* Copy a file on the controller filesystem.
|
|
307
|
+
* @param sourcePath - Source file path, e.g. '$HOME/MyMod.mod'
|
|
308
|
+
* @param destPath - Destination path (full path including filename), e.g. '$HOME/Backup/MyMod.mod'
|
|
309
|
+
*/
|
|
310
|
+
copyFile(sourcePath: string, destPath: string): Promise<void>;
|
|
138
311
|
/**
|
|
139
312
|
* Read an I/O signal value.
|
|
140
313
|
*
|
|
@@ -153,6 +326,79 @@ export declare class RwsClient {
|
|
|
153
326
|
* @param value - New signal value, e.g. '1' (DO high), '0' (DO low), '3.14' (AO)
|
|
154
327
|
*/
|
|
155
328
|
writeSignal(network: string, device: string, name: string, value: string): Promise<void>;
|
|
329
|
+
/**
|
|
330
|
+
* List all configured I/O signals (paginated).
|
|
331
|
+
* The controller returns up to `limit` signals per call; use `start` to page through.
|
|
332
|
+
*
|
|
333
|
+
* @param start - Starting index (default 0)
|
|
334
|
+
* @param limit - Results per page (default 100)
|
|
335
|
+
*/
|
|
336
|
+
listAllSignals(start?: number, limit?: number): Promise<Signal[]>;
|
|
337
|
+
/**
|
|
338
|
+
* List all configured I/O networks.
|
|
339
|
+
*/
|
|
340
|
+
listNetworks(): Promise<IoNetwork[]>;
|
|
341
|
+
/**
|
|
342
|
+
* List all I/O devices on a network.
|
|
343
|
+
* @param network - Network name, e.g. 'Local'
|
|
344
|
+
*/
|
|
345
|
+
listDevices(network: string): Promise<IoDevice[]>;
|
|
346
|
+
/**
|
|
347
|
+
* Read RobotWare system information (version, options, system ID).
|
|
348
|
+
*/
|
|
349
|
+
getSystemInfo(): Promise<SystemInfo>;
|
|
350
|
+
/**
|
|
351
|
+
* Read controller hardware identity (name, ID, type, MAC address).
|
|
352
|
+
*/
|
|
353
|
+
getControllerIdentity(): Promise<ControllerIdentity>;
|
|
354
|
+
/**
|
|
355
|
+
* Read the controller date and time.
|
|
356
|
+
* Returns a ControllerClock with the datetime string in 'YYYY-MM-DD T HH:MM:SS' format (UTC).
|
|
357
|
+
*/
|
|
358
|
+
getControllerClock(): Promise<ControllerClock>;
|
|
359
|
+
/**
|
|
360
|
+
* Set the controller date and time (UTC).
|
|
361
|
+
* @param year - Full year, e.g. 2024
|
|
362
|
+
* @param month - Month 1–12
|
|
363
|
+
* @param day - Day 1–31
|
|
364
|
+
* @param hour - Hour 0–23
|
|
365
|
+
* @param min - Minute 0–59
|
|
366
|
+
* @param sec - Second 0–59
|
|
367
|
+
*/
|
|
368
|
+
setControllerClock(year: number, month: number, day: number, hour: number, min: number, sec: number): Promise<void>;
|
|
369
|
+
/**
|
|
370
|
+
* Retrieve event log messages from the controller.
|
|
371
|
+
* Domain 0 is the main system log (up to 1000 entries).
|
|
372
|
+
* Messages are returned newest-first (LIFO order).
|
|
373
|
+
*
|
|
374
|
+
* @param domain - Log domain number; default 0 (main system log)
|
|
375
|
+
* @param lang - Language for message text; default 'en'
|
|
376
|
+
*/
|
|
377
|
+
getEventLog(domain?: number, lang?: string): Promise<ElogMessage[]>;
|
|
378
|
+
/**
|
|
379
|
+
* Clear event log messages in a specific domain.
|
|
380
|
+
* @param domain - Log domain number; default 0 (main system log)
|
|
381
|
+
*/
|
|
382
|
+
clearEventLog(domain?: number): Promise<void>;
|
|
383
|
+
/**
|
|
384
|
+
* Clear ALL event log messages across all domains.
|
|
385
|
+
*/
|
|
386
|
+
clearAllEventLogs(): Promise<void>;
|
|
387
|
+
/**
|
|
388
|
+
* Request mastership on a domain.
|
|
389
|
+
* Must call releaseMastership when done. Operations that modify controller state
|
|
390
|
+
* (motor on/off, speed ratio, etc.) require mastership on the appropriate domain.
|
|
391
|
+
*
|
|
392
|
+
* @param domain - 'cfg' | 'motion' | 'rapid'
|
|
393
|
+
*/
|
|
394
|
+
requestMastership(domain: MastershipDomain): Promise<void>;
|
|
395
|
+
/**
|
|
396
|
+
* Release mastership on a domain.
|
|
397
|
+
* Always call this after requestMastership, even if the operation failed.
|
|
398
|
+
*
|
|
399
|
+
* @param domain - 'cfg' | 'motion' | 'rapid'
|
|
400
|
+
*/
|
|
401
|
+
releaseMastership(domain: MastershipDomain): Promise<void>;
|
|
156
402
|
/**
|
|
157
403
|
* Subscribe to one or more RWS resource events via WebSocket.
|
|
158
404
|
*
|
package/dist/RwsClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RwsClient.d.ts","sourceRoot":"","sources":["../src/RwsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,MAAM,EACN,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"RwsClient.d.ts","sourceRoot":"","sources":["../src/RwsClient.ts"],"names":[],"mappings":"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"}
|