Quarch Power Studio Command Reference

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.


$annotate

Version 1

Adds an annotation

#ArgumentTypeDescription
1timeSTRINGAnnotation time
2textSTRINGAnnotation 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

Examples

$annotate 0 Annotation1 --> adds an annotation at time 0 and so at record number 0

See also

$channels

Version 1

Returns details of the current channels

No arguments

Notes: Return details of current channels in the format: channelName groupName baseUnits

See also

$chart channel hide

Version 2

Hides a channel

#ArgumentTypeDescription
1channelSTRINGChannel
2groupSTRINGGroup

See also

$chart channel show

Version 2

Shows a channel

#ArgumentTypeDescription
1channelSTRINGChannel
2groupSTRINGGroup

See also

$chart reposition

Version 2

Sets the chart main view to the specified start and end times

#ArgumentTypeDescription
1startTimeSTRINGStart time
2endTimeSTRINGEnd 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

Examples

$chart reposition 10S 20S


$chart snapshot

Version 2

Takes a snapshot of the chart, timeline and channels windows

#ArgumentTypeDescription
1typeSTRINGType of snapshot to take consisting of a comma separated list of options: [all, chart, timeline, key]

Default: all

Acceptable Values

  • all
  • chart
  • timeline
  • key

2filePathSTRINGOptional file path instead of using default archive path

Examples

$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

See also

$comment

Version 1

Adds a comment

#ArgumentTypeDescription
1timeSTRINGComment time
2textSTRINGComment 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

Examples

$comment e1 Comment1 --> adds a comment after an elapsed time of 1 second

See also

$connect

Version 1

Connects to a specified device

#ArgumentTypeDescription
1deviceSTRINGDevice 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

Examples

$connect usb::QTL1999-02-999

$connect tcp::QTL1999-02-999

$connect tcp::81.187.174.46

See also

$connected

Version 1

Returns the connected device ID

No arguments

See also

$convert csv

Version 2

Converts a CSV file [.csv] to a QPS recording [.qps]

#ArgumentTypeDescription
1fromSTRINGFrom .csv file
2toSTRINGTo .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

Examples

$convert csv from="c:\temp\rec1.csv" to="c:\recordings\rec1\rec.qps"


$create channel

Version 1

Creates a new channel

#ArgumentTypeDescription
1channelNameSTRINGChannel name
2channelGroupSTRINGChannel group
3baseUnitsSTRINGBase units
4usePrefixSTRINGIndicates 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

See also

$debug list commands

Version 2

Returns a list of commands

No arguments


$echo

Version 1

Echo command

#ArgumentTypeDescription
1stringSTRINGA string of text to simply echo back


$get custom stats range

Version 1

Returns statistics for a specified range

#ArgumentTypeDescription
1startTimeSTRINGStart 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
2endTime_numRecordsSTRINGEnd time OR number of records of form: [endTime | lnumber of records] in which letter "l" denotes that number of records is being specified

See also

$get stats

Version 1

Returns statistics

No arguments

See also

$help

Version 1

Help command

#ArgumentTypeDescription
1typeSTRINGThe 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: all


Examples

$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


$hide channel

Version 1

Hides a channel

#ArgumentTypeDescription
1channelInfoSTRINGChannel information; a string split by : and assumed the following order: #0 = name, #1 = groupName, #2+ ignore

See also

$list

Version 1

Lists available devices

No arguments

See also

$list -details

Version 1

Lists available device details

No arguments

See also

$log

Version 1

Adds a channel/group value at a specified time

#ArgumentTypeDescription
1channelSTRINGChannel name
2groupSTRINGGroup name
3timeINTTime
4valueFLOATValue

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')

See also

$module connect

Version 2

Connects to a specified device

#ArgumentTypeDescription
1deviceSTRINGDevice ID

Notes: $module connect supports both device names and IP addresses

Examples

$module connect usb::QTL1999-02-999

$module connect tcp::81.187.174.46

See also

$module disconnect

Version 2

Disconnects the current connection

No arguments

See also

$module list

Version 2

Lists available devices

No arguments

See also

$module list details

Version 2

Lists available device details

No arguments

See also

$module name

Version 2

Returns the connected device ID

No arguments

See also

$module scan

Version 2

Scans for available devices

#ArgumentTypeDescription
1deviceSpecifierSTRINGTCP/IP address to scan for devices

Examples

$module scan tcp::192.168.1.90

See also

$open recording

Version 2

Opens a recording

#ArgumentTypeDescription
1qpsFileSTRING.qps file

Examples

$open recording qpsFile="C:\quarch\recordings\AC\AC_Gen_test\AC_Gen_Test.qps"


$progress check

Version 2

Checks the progress of a specific QPS task

#ArgumentTypeDescription
1taskSTRINGThe task to be checked

Acceptable Values

  • open recording


Examples

$progress check task="open recording"


$qis launch

Version 2

Launches new QIS instance

No arguments

See also

$qis shutdown

Version 2

Shuts down current QIS instance

No arguments

See also

$qis status

Version 1

Reports the connection status of QIS

No arguments


$qps hide

Version 2

Hides the QPS application

No arguments

See also

$qps show

Version 2

Shows the QPS application

No arguments

See also

$read

Version 1

Reads data between a given start time and either end time or number of records

#ArgumentTypeDescription
1startTimeINTStart time
2endTime_numRecordsSTRINGNumber 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.

Examples

$read 0 l100

See also

$save csv

Version 1

Saves to CSV format

#ArgumentTypeDescription
1fileSTRINGThe optional file to save the CSV data. If the file does not have a .csv extension then one is added.
2maxLinesINTMaximum number of lines; -l[ALL|Max lines per file]

Default: -lall

3lineTerminatorSTRINGIndicates whether a line terminator; acceptable values: -c[yes/no]

Default: -cyes

4delimiterSTRINGValue separator; acceptable values: -s[",", "\t", ";", " "]

Default: -s,


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

Examples

$save csv filePath -11000 -cyes -s,

See also

$scan

Version 1

Scans for available devices

#ArgumentTypeDescription
1deviceSpecifierSTRINGTCP/IP address to scan for devices

Examples

$scan

$scan tcp::192.168.1.90

See also

$show channel

Version 1

Shows a channel

#ArgumentTypeDescription
1channelInfoSTRINGChannel information

Notes: Channel is a string split by ":" and assumed the following order: #0 = name, #1 = groupName, #2+ ignore

See also

$shutdown

Version 1

Shuts down QPS

No arguments


$start stream

Version 1

Starts streaming

#ArgumentTypeDescription
1fileSTRINGFile specifier is of the form /dir/dir/dir/recordingName. Any '\' characters are replaced with '/' character
2durationINTSpecifies the stream duration in seconds.

See also

$stats to csv

Version 1

Saves the statistics to CSV format

#ArgumentTypeDescription
1fileSTRINGA single argument string specifying file path of form: *STREAM_DIR*+"statsGrid"+yyyyMMddHHmmss+".csv" - Path for data to be saved to.

See also

$stop stream

Version 1

Stops streaming

No arguments

See also

$stream annotation add

Version 2

Adds an annotation

#ArgumentTypeDescription
1timeSTRINGAnnotation time
2textSTRINGAnnotation string
3extraTextSTRINGAdditional annotation text
4yPositionINTy position percentage on screen; range: [0:100]

Default: 100

5typeSTRINGType string used when assigning colour and text colour

Default: Type1

6colourSTRINGColour in hex format. The default is #FF0000, which equates to red

Default: #FF0000

7textColourSTRINGText colour in hex format. The default is #FF0000, which equates to red

Default: #FF0000

8timeFormatSTRINGTime format ["elapsed", "unix"]. The default is "elapsed"

Default: elapsed

Acceptable Values

  • elapsed
  • unix


Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

Examples

$stream annotation add 7S Annotation1

$stream annotation add 7500mS Annotation2

$stream annotation add 00:00:08 Annotation3

See also

$stream annotations list

Version 2

Returns a list of all annotations

#ArgumentTypeDescription
1typeSTRINGSpecifies the type of annotations. Options: [all, annotations, comments]. The default is "all"

Default: all

Acceptable Values

  • all
  • annotations
  • comments


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

See also

$stream annotations table

Version 2

Returns a table of all annotations

#ArgumentTypeDescription
1typeSTRINGSpecifies the type of annotations. Options: [all, annotations, comments]. The default is "all"

Default: all

Acceptable Values

  • all
  • annotations
  • comments

2timeFormatSTRINGSpecifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"

Default: S

Acceptable Values

  • nS
  • uS
  • mS
  • S
  • HMS


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

See also

$stream channel add

Version 2

Creates a new channel

#ArgumentTypeDescription
1channelNameSTRINGChannel name
2channelGroupSTRINGChannel group
3baseUnitsSTRINGBase units
4usePrefixSTRINGIndicates whether or not using a prefix; values either yes/no

Acceptable Values

  • yes
  • no


Notes: A custom channel group name must be distinct from device group names

See also

$stream channel add synthetic

Version 2

Defines a new channel function

#ArgumentTypeDescription
1channelSTRINGDefines the synthetic channel
2functionSTRINGSpecifies the synthetic function

Examples

$stream channel add synthetic channel="chan(L1_RMS,V)" function="rms(100ms, chan(L1,V))"

See also

$stream channel clear synthetic

Version 2

Clears all created functions

No arguments

See also

$stream channel list

Version 2

Returns a list of created channels

#ArgumentTypeDescription
1channelTypeSTRINGDefines the user or synthetic channel. Options: [all, user, synthetic]. The default is "all"

Default: all

Acceptable Values

  • all
  • user
  • synthetic


See also

$stream channel remove synthetic

Version 2

Deletes a previously created channel function

#ArgumentTypeDescription
1channelSTRINGSpecifies the synthetic channel

Examples

$stream channel remove synthetic channel="chan(L1_RMS,V)"

See also

$stream channel table

Version 2

Returns XML of function definitions

#ArgumentTypeDescription
1channelTypeSTRINGDefines the user or synthetic channel. Options: [all, user, synthetic]. The default is "all"

Default: all

Acceptable Values

  • all
  • user
  • synthetic


See also

$stream channels

Version 2

Returns details of the current channels

No arguments

See also

$stream comment add

Version 2

Adds a comment

#ArgumentTypeDescription
1timeSTRINGComment time
2textSTRINGComment string
3extraTextSTRINGAdditional comment text
4yPositionINTy position percentage on screen; range: [0:100]

Default: 100

5typeSTRINGType string used when assigning colour and text colour

Default: Type2

6colourSTRINGColour in hex format. The default is #FFFF00, which equates to yellow

Default: #FFFF00

7textColourSTRINGText colour in hex format. The default is #FFFF00, which equates to yellow

Default: #FFFF00

8timeFormatSTRINGTime format ["elapsed", "unix"]. The default is "elapsed"

Default: elapsed

Acceptable Values

  • elapsed
  • unix


Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

Examples

$stream comment add 10.25S Comment1

$stream comment add 11000mS Comment2

$stream comment add 00:00:12 Comment3

See also

$stream data add

Version 2

Adds a channel/group value at a specified time

#ArgumentTypeDescription
1channelSTRINGChannel
2groupSTRINGGroup
3timeINTTime
4valueFLOATValue
5timeFormatSTRINGTime format ["elapsed", "unix"]. The default is "elapsed"

Default: elapsed

Acceptable Values

  • elapsed
  • unix


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')

See also

$stream export

Version 2

Saves to a given format

#ArgumentTypeDescription
1fileSTRINGThe file path to save the export
2maxLinesSTRINGMaximum number of lines

Default: all

3lineTerminatorSTRINGIndicates whether a line terminator; acceptable values: [yes/no]

Default: yes

Acceptable Values

  • yes
  • no

4delimiterSTRINGValue separator; eg ,

Default: ,

Acceptable Values

  • \t
  • ;
  • ,
  •  

5fileTypeSTRINGFile type; eg CSV

Default: csv

6channelsSTRINGList of channels to export; eg "voltage:5v,current:12v" with the default set to "all"

Default: all

7defaultDirectorySTRINGSets 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"

See also

$stream export status

Version 2

Checks the status of export operation.

No arguments


$stream import

Version 2

Imports from a given format

#ArgumentTypeDescription
1fileSTRINGThe file path to be imported
2fileTypeSTRINGFile type; eg CSV

Default: csv

3delimiterSTRINGValue separator; eg ,

Default: ,

Acceptable Values

  • \t
  • ;
  • ,
  •  

4minTimeSTRINGThe minimum time value; eg 100mS. The default value of 0nS indicates reading from the start

Default: 0nS

5maxTimeSTRINGThe maximum time value; eg 800mS. The default value of -1nS indicates reading to the end

Default: -1nS

6offsetTimeSTRINGThe offset time value; eg 10mS. The default value of 0nS indicates there is no offset

Default: 0nS

7channelsSTRINGList of channels to import; eg "voltage:5v,current:12v" with the default set to "all"

Default: all

8timeFormatSTRINGTime format ["elapsed", "unix"]. The default is "elapsed"

Default: elapsed

Acceptable Values

  • elapsed
  • unix


Notes: The file must contain an extension that matches the one specified in fileType. This is used as a check.

Examples

$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

See also

$stream read

Version 2

Reads data between from a given start time and either end time or number of records

#ArgumentTypeDescription
1startTimeINTStart time
2endTimeSTRINGEnd time
3timeFormatSTRINGTime format ["elapsed", "unix"]. The default is "elapsed"

Default: elapsed

Acceptable Values

  • elapsed
  • unix


Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

Examples

$stream read 0 l100

See also

$stream record

Version 2

Starts streaming

#ArgumentTypeDescription
1fileSTRINGFile specifier of the form /dir/dir/dir/recordingName. Any '\' characters are replaced with '/' character
2durationINTSpecifies the stream duration in seconds.

See also

$stream record duration

Version 2

Returns the total recording time

#ArgumentTypeDescription
1timeFormatSTRINGSpecifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"

Default: S

Acceptable Values

  • nS
  • uS
  • mS
  • S
  • HMS


Notes: A value of -1 is returned if streaming has not commenced

See also

$stream start time

Version 2

Returns the time that streaming started

#ArgumentTypeDescription
1timeFormatSTRINGSpecifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"

Default: S

Acceptable Values

  • nS
  • uS
  • mS
  • S
  • HMS


Notes: A value of -1 is returned if streaming has not commenced

See also

$stream state

Version 1

The current state of streaming

No arguments


$stream stats export

Version 2

Saves the statistics to a given format

#ArgumentTypeDescription
1fileSTRINGSingle argument string specifying file path of form: *STREAM_DIR*+"statsGrid"+yyyyMMddHHmmss+".csv" - Path for data to be saved to.
2fileTypeSTRINGType of export file; eg .csv

Default: csv


See also

$stream stats export status

Version 2

Checks the status of the stats export operation.

No arguments


$stream stats table

Version 2

Returns statistics

#ArgumentTypeDescription
1startTimeINTStart time. Time format either a HMS or (time,unit) pair; eg 100mS
2endTimeINTEnd time. Time format either a HMS or (time,unit) pair; eg 100mS
3timeFormatSTRINGTime format ["elapsed", "unix"]. The default is "elapsed"

Default: elapsed

Acceptable Values

  • elapsed
  • unix


Notes: Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

See also

$stream stop

Version 2

Stops streaming

No arguments

See also

$stream stop time

Version 2

Returns the time that streaming stopped

#ArgumentTypeDescription
1timeFormatSTRINGSpecifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"

Default: S

Acceptable Values

  • nS
  • uS
  • mS
  • S
  • HMS


Notes: A value of -1 is returned if streaming has not commenced

See also

$take snapshot

Version 1

Takes a snapshot of the chart, timeline and channels windows

#ArgumentTypeDescription
1typeSTRINGType of snapshot to take consisting of a comma separated list of options: [all, chart, timeline, key]

Default: all


Examples

$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

See also

$version

Version 1

Version number

No arguments