Copyright (c) Quarch Ltd
QPS v1.50.1-5e7318a-SNAPSHOT
Generated: 16 Jan 2026
This document lists the commands that can be sent to QPS over the TCP interface. By default QPS will open port 9822. Commands may be sent as UTF-8 text with the standard line terminator \r\n denoting the end of a command.
Version 1
Adds an annotation
| # | Argument | Type | Description |
|---|---|---|---|
1 | time | STRING | Annotation time |
2 | text | STRING | Annotation string |
Notes: Format of params string: time_specifier[space]text to be added, eg 123.456 hello world
Time specifier is of the form: for elapsed time relative to the recording: exxxDxxx:xxx:xxx.xxx for absolute time, pass the number of milliseconds since the epoch (midnight 1 January 1970 UTC, ie Unix time common to many environments): xxxxxxxxxxxx
The annotation text may be split over two or more lines by including \n in the string
$annotate 0 Annotation1 --> adds an annotation at time 0 and so at record number 0
Version 1
Returns details of the current channels
No arguments
Notes: Return details of current channels in the format: channelName groupName baseUnits
Version 2
Hides a channel
| # | Argument | Type | Description |
|---|---|---|---|
1 | channel | STRING | Channel |
2 | group | STRING | Group |
Version 2
Shows a channel
| # | Argument | Type | Description |
|---|---|---|---|
1 | channel | STRING | Channel |
2 | group | STRING | Group |
Version 2
Sets the chart main view to the specified start and end times
| # | Argument | Type | Description |
|---|---|---|---|
1 | startTime | STRING | Start time |
2 | endTime | STRING | End time |
Notes: Both the start and end times are specified as a time-unit pair; for example: 100mS
startTime > 0, endTime > 0 and startTime < endTime
$chart reposition 10S 20S
Version 2
Takes a snapshot of the chart, timeline and channels windows
| # | Argument | Type | Description |
|---|---|---|---|
1 | type | STRING | Type of snapshot to take consisting of a comma separated list of options: [all, chart, timeline, key] Default: Acceptable Values
|
2 | filePath | STRING | Optional file path instead of using default archive path |
$chart snapshot --> default and captures chart+timeline+key
$chart snapshot all --> same as default
$chart snapshot chart --> chart only
$chart snapshot chart,key --> chart+key
$chart snapshot chart,timeline --> chart+timeline
Version 1
Adds a comment
| # | Argument | Type | Description |
|---|---|---|---|
1 | time | STRING | Comment time |
2 | text | STRING | Comment string |
Notes: Format of params string: time_specifier[space]text to be added, eg 123.456 hello world
Time specifier is of the form: for elapsed time relative to the recording: exxxDxxx:xxx:xxx.xxx for absolute time, pass the number of milliseconds since the epoch (midnight 1 January 1970 UTC, ie Unix time common to many environments): xxxxxxxxxxxx
The annotation text may be split over two or more lines by including \n in the string
$comment e1 Comment1 --> adds a comment after an elapsed time of 1 second
Version 1
Connects to a specified device
| # | Argument | Type | Description |
|---|---|---|---|
1 | device | STRING | Device ID |
Notes: The command is passed to QIS which will test the connection availability and suitability for streaming data returning a status of OK or the reason for connection failure. If connection is successful, the CCS and file dialogs should close and the chart window connected to the device should display.
$connect supports both device names and IP addresses
$connect usb::QTL1999-02-999
$connect tcp::QTL1999-02-999
$connect tcp::81.187.174.46
Version 2
Converts a CSV file [.csv] to a QPS recording [.qps]
| # | Argument | Type | Description |
|---|---|---|---|
1 | from | STRING | From .csv file |
2 | to | STRING | To .qps file |
Notes: For a "to" file such as "c:\recordings\rec1\rec1.qps" the base directory "c:\recordings" must exist, but the newly created recording directory "c:\recordings\rec1" must not already exist as this will created as part of the conversion
All channels detected in the "from" file are converted
$convert csv from="c:\temp\rec1.csv" to="c:\recordings\rec1\rec.qps"
Version 1
Creates a new channel
| # | Argument | Type | Description |
|---|---|---|---|
1 | channelName | STRING | Channel name |
2 | channelGroup | STRING | Channel group |
3 | baseUnits | STRING | Base units |
4 | usePrefix | STRING | Indicates whether or not using a prefix; values either yes/no |
Notes: Format: channelName channelGroup baseUnits yes/no(usePrefix)
usePrefix [yes/no] option 'no' disables the application of metric prefixes u, m, k, M etc
A custom channel group name must be distinct from device group names
Version 1
Returns statistics for a specified range
| # | Argument | Type | Description |
|---|---|---|---|
1 | startTime | STRING | Start time. For example: 5432.1 is 5432.1 seconds, 17d5432.1 is 17 days 5432.1 seconds, 17d200:5432.1 is 17 days 200 minutes and 5432.1 seconds etc |
2 | endTime_numRecords | STRING | End time OR number of records of form: [endTime | lnumber of records] in which letter "l" denotes that number of records is being specified |
Version 1
Help command
| # | Argument | Type | Description |
|---|---|---|---|
1 | type | STRING | The type of help to return. Options: 1) None [same as "all"], 2) "all", 3) "internal", 4) help summary of another command; eg $help $echo Default: |
$help --> returns a list of all supported commands, each with a brief description
$help all --> same as $help
$help $echo --> returns a help summary of the $echo command
$help $chart snapshot --> returns a help summary of the $chart snapshot command
Version 1
Hides a channel
| # | Argument | Type | Description |
|---|---|---|---|
1 | channelInfo | STRING | Channel information; a string split by : and assumed the following order: #0 = name, #1 = groupName, #2+ ignore |
Version 1
Adds a channel/group value at a specified time
| # | Argument | Type | Description |
|---|---|---|---|
1 | channel | STRING | Channel name |
2 | group | STRING | Group name |
3 | time | INT | Time |
4 | value | FLOAT | Value |
Notes: Format: channelName channelGroup time value
Time format: UNIX time in mS or exxxDxx:xx:xx.xxxx for daysDhours:minutes:seconds.xxx
To indicate the end marker of an interval then set the value to 'endSeq'; eg : myStream.addDataPoint(channelName, groupName, 'endSeq')
Version 2
Connects to a specified device
| # | Argument | Type | Description |
|---|---|---|---|
1 | device | STRING | Device ID |
Notes: $module connect supports both device names and IP addresses
$module connect usb::QTL1999-02-999
$module connect tcp::81.187.174.46
Version 2
Scans for available devices
| # | Argument | Type | Description |
|---|---|---|---|
1 | deviceSpecifier | STRING | TCP/IP address to scan for devices |
$module scan tcp::192.168.1.90
Version 2
Opens a recording
| # | Argument | Type | Description |
|---|---|---|---|
1 | qpsFile | STRING | .qps file |
$open recording qpsFile="C:\quarch\recordings\AC\AC_Gen_test\AC_Gen_Test.qps"
Version 2
Checks the progress of a specific QPS task
| # | Argument | Type | Description |
|---|---|---|---|
1 | task | STRING | The task to be checked Acceptable Values
|
$progress check task="open recording"
Version 1
Reads data between a given start time and either end time or number of records
| # | Argument | Type | Description |
|---|---|---|---|
1 | startTime | INT | Start time |
2 | endTime_numRecords | STRING | Number of records of form: [endTime | lnumber of records], in which the letter "l" denotes that the number of records is being specified |
Notes: Times are xxxDxx:xx:xx.xxxx for daysDhours:minutes:seconds.xxx, number of records is exactly what you'd expect
Returns corresponding (long) sample time and all columns in raw format separated by ' ' spaces.
$read 0 l100
Version 1
Saves to CSV format
| # | Argument | Type | Description |
|---|---|---|---|
1 | file | STRING | The optional file to save the CSV data. If the file does not have a .csv extension then one is added. |
2 | maxLines | INT | Maximum number of lines; -l[ALL|Max lines per file] Default: |
3 | lineTerminator | STRING | Indicates whether a line terminator; acceptable values: -c[yes/no] Default: |
4 | delimiter | STRING | Value separator; acceptable values: -s[",", "\t", ";", " "] Default: |
Notes: Format: $save csv "file path/file name" -l[ALL|Max lines per file] -c[yes/no] -s[",", "\t", ";", " "]
If no .csv file is specified then the following is assigned: .../path to recording directory/csvExport+yyyyMMddHHmmss.csv
$save csv filePath -11000 -cyes -s,
Version 1
Scans for available devices
| # | Argument | Type | Description |
|---|---|---|---|
1 | deviceSpecifier | STRING | TCP/IP address to scan for devices |
$scan
$scan tcp::192.168.1.90
Version 1
Shows a channel
| # | Argument | Type | Description |
|---|---|---|---|
1 | channelInfo | STRING | Channel information |
Notes: Channel is a string split by ":" and assumed the following order: #0 = name, #1 = groupName, #2+ ignore
Version 1
Starts streaming
| # | Argument | Type | Description |
|---|---|---|---|
1 | file | STRING | File specifier is of the form /dir/dir/dir/recordingName. Any '\' characters are replaced with '/' character |
2 | duration | INT | Specifies the stream duration in seconds. |
Version 1
Saves the statistics to CSV format
| # | Argument | Type | Description |
|---|---|---|---|
1 | file | STRING | A single argument string specifying file path of form: *STREAM_DIR*+"statsGrid"+yyyyMMddHHmmss+".csv" - Path for data to be saved to. |
Version 2
Adds an annotation
| # | Argument | Type | Description |
|---|---|---|---|
1 | time | STRING | Annotation time |
2 | text | STRING | Annotation string |
3 | extraText | STRING | Additional annotation text |
4 | yPosition | INT | y position percentage on screen; range: [0:100] Default: |
5 | type | STRING | Type string used when assigning colour and text colour Default: |
6 | colour | STRING | Colour in hex format. The default is #FF0000, which equates to red Default: |
7 | textColour | STRING | Text colour in hex format. The default is #FF0000, which equates to red Default: |
8 | timeFormat | STRING | Time format ["elapsed", "unix"]. The default is "elapsed" Default: Acceptable Values
|
Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default
$stream annotation add 7S Annotation1
$stream annotation add 7500mS Annotation2
$stream annotation add 00:00:08 Annotation3
Version 2
Returns a list of all annotations
| # | Argument | Type | Description |
|---|---|---|---|
1 | type | STRING | Specifies the type of annotations. Options: [all, annotations, comments]. The default is "all" Default: Acceptable Values
|
Notes: If the annotation text is empty then "Annotation ?" or "Comment ?" is used for annotations and comments respectively
Annotations are ordered by time since the start of recording
Version 2
Returns a table of all annotations
| # | Argument | Type | Description |
|---|---|---|---|
1 | type | STRING | Specifies the type of annotations. Options: [all, annotations, comments]. The default is "all" Default: Acceptable Values
|
2 | timeFormat | STRING | Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S" Default: Acceptable Values
|
Notes: If the annotation text is empty then "Annotation ?" or "Comment ?" is used for annotations and comments respectively
Annotations are ordered by time since the start of recording
Version 2
Creates a new channel
| # | Argument | Type | Description |
|---|---|---|---|
1 | channelName | STRING | Channel name |
2 | channelGroup | STRING | Channel group |
3 | baseUnits | STRING | Base units |
4 | usePrefix | STRING | Indicates whether or not using a prefix; values either yes/no Acceptable Values
|
Notes: A custom channel group name must be distinct from device group names
Version 2
Defines a new channel function
| # | Argument | Type | Description |
|---|---|---|---|
1 | channel | STRING | Defines the synthetic channel |
2 | function | STRING | Specifies the synthetic function |
$stream channel add synthetic channel="chan(L1_RMS,V)" function="rms(100ms, chan(L1,V))"
Version 2
Returns a list of created channels
| # | Argument | Type | Description |
|---|---|---|---|
1 | channelType | STRING | Defines the user or synthetic channel. Options: [all, user, synthetic]. The default is "all" Default: Acceptable Values
|
Version 2
Deletes a previously created channel function
| # | Argument | Type | Description |
|---|---|---|---|
1 | channel | STRING | Specifies the synthetic channel |
$stream channel remove synthetic channel="chan(L1_RMS,V)"
Version 2
Returns XML of function definitions
| # | Argument | Type | Description |
|---|---|---|---|
1 | channelType | STRING | Defines the user or synthetic channel. Options: [all, user, synthetic]. The default is "all" Default: Acceptable Values
|
Version 2
Adds a comment
| # | Argument | Type | Description |
|---|---|---|---|
1 | time | STRING | Comment time |
2 | text | STRING | Comment string |
3 | extraText | STRING | Additional comment text |
4 | yPosition | INT | y position percentage on screen; range: [0:100] Default: |
5 | type | STRING | Type string used when assigning colour and text colour Default: |
6 | colour | STRING | Colour in hex format. The default is #FFFF00, which equates to yellow Default: |
7 | textColour | STRING | Text colour in hex format. The default is #FFFF00, which equates to yellow Default: |
8 | timeFormat | STRING | Time format ["elapsed", "unix"]. The default is "elapsed" Default: Acceptable Values
|
Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default
$stream comment add 10.25S Comment1
$stream comment add 11000mS Comment2
$stream comment add 00:00:12 Comment3
Version 2
Adds a channel/group value at a specified time
| # | Argument | Type | Description |
|---|---|---|---|
1 | channel | STRING | Channel |
2 | group | STRING | Group |
3 | time | INT | Time |
4 | value | FLOAT | Value |
5 | timeFormat | STRING | Time format ["elapsed", "unix"]. The default is "elapsed" Default: Acceptable Values
|
Notes: Format: channel group time value timeFormat
Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default
To indicate the end marker of an interval then set the value to 'endSeq'; eg : myStream.addDataPoint(channelName, groupName, 'endSeq')
Version 2
Saves to a given format
| # | Argument | Type | Description |
|---|---|---|---|
1 | file | STRING | The file path to save the export |
2 | maxLines | STRING | Maximum number of lines Default: |
3 | lineTerminator | STRING | Indicates whether a line terminator; acceptable values: [yes/no] Default: Acceptable Values
|
4 | delimiter | STRING | Value separator; eg , Default: Acceptable Values
|
5 | fileType | STRING | File type; eg CSV Default: |
6 | channels | STRING | List of channels to export; eg "voltage:5v,current:12v" with the default set to "all" Default: |
7 | defaultDirectory | STRING | Sets the default csv file directory to save all exported files |
Notes: Format: $save csv file path/file name ALL|Max lines per file yes/no ",", "\t", ";", " "
Argument file is optional and if not specified then a file name is assigned and of the form:
If no fileType file is specified then the following is assigned: .../path to recording directory/fileType+Export+yyyyMMddHHmmss.fileType
By default all channels are exported but can be filtered using argument "channel"
Version 2
Imports from a given format
| # | Argument | Type | Description |
|---|---|---|---|
1 | file | STRING | The file path to be imported |
2 | fileType | STRING | File type; eg CSV Default: |
3 | delimiter | STRING | Value separator; eg , Default: Acceptable Values
|
4 | minTime | STRING | The minimum time value; eg 100mS. The default value of 0nS indicates reading from the start Default: |
5 | maxTime | STRING | The maximum time value; eg 800mS. The default value of -1nS indicates reading to the end Default: |
6 | offsetTime | STRING | The offset time value; eg 10mS. The default value of 0nS indicates there is no offset Default: |
7 | channels | STRING | List of channels to import; eg "voltage:5v,current:12v" with the default set to "all" Default: |
8 | timeFormat | STRING | Time format ["elapsed", "unix"]. The default is "elapsed" Default: Acceptable Values
|
Notes: The file must contain an extension that matches the one specified in fileType. This is used as a check.
$stream import file="C:\Temp\data.csv"
$stream import file="C:\Temp\data.csv" channels="voltage:12v,current:12v"
$stream import file="C:\Temp\data.csv" channels="voltage:12v,current:12v" minTime=1S maxTime=10S
Version 2
Reads data between from a given start time and either end time or number of records
| # | Argument | Type | Description |
|---|---|---|---|
1 | startTime | INT | Start time |
2 | endTime | STRING | End time |
3 | timeFormat | STRING | Time format ["elapsed", "unix"]. The default is "elapsed" Default: Acceptable Values
|
Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default
$stream read 0 l100
Version 2
Starts streaming
| # | Argument | Type | Description |
|---|---|---|---|
1 | file | STRING | File specifier of the form /dir/dir/dir/recordingName. Any '\' characters are replaced with '/' character |
2 | duration | INT | Specifies the stream duration in seconds. |
Version 2
Returns the total recording time
| # | Argument | Type | Description |
|---|---|---|---|
1 | timeFormat | STRING | Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S" Default: Acceptable Values
|
Notes: A value of -1 is returned if streaming has not commenced
Version 2
Returns the time that streaming started
| # | Argument | Type | Description |
|---|---|---|---|
1 | timeFormat | STRING | Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S" Default: Acceptable Values
|
Notes: A value of -1 is returned if streaming has not commenced
Version 2
Saves the statistics to a given format
| # | Argument | Type | Description |
|---|---|---|---|
1 | file | STRING | Single argument string specifying file path of form: *STREAM_DIR*+"statsGrid"+yyyyMMddHHmmss+".csv" - Path for data to be saved to. |
2 | fileType | STRING | Type of export file; eg .csv Default: |
Version 2
Returns statistics
| # | Argument | Type | Description |
|---|---|---|---|
1 | startTime | INT | Start time. Time format either a HMS or (time,unit) pair; eg 100mS |
2 | endTime | INT | End time. Time format either a HMS or (time,unit) pair; eg 100mS |
3 | timeFormat | STRING | Time format ["elapsed", "unix"]. The default is "elapsed" Default: Acceptable Values
|
Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default
Version 2
Returns the time that streaming stopped
| # | Argument | Type | Description |
|---|---|---|---|
1 | timeFormat | STRING | Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S" Default: Acceptable Values
|
Notes: A value of -1 is returned if streaming has not commenced
Version 1
Takes a snapshot of the chart, timeline and channels windows
| # | Argument | Type | Description |
|---|---|---|---|
1 | type | STRING | Type of snapshot to take consisting of a comma separated list of options: [all, chart, timeline, key] Default: |
$take snapshot --> default and captures chart+timeline+key
$take snapshot all --> same as default
$take snapshot chart --> chart only
$take snapshot chart,key --> chart+key
$take snapshot chart,timeline --> chart+timeline