Commands can be followed by Parameters. Parameters are separated from Commands by at least 1 space. Multiple Parameters are separated from each other by a comma (not a comma and a space!).
The Slave determines the order in which multiple Parameters have to appear in the Parameter List. Some Parameters may even be optional. Optional Parameters are replaced by default values when they are skipped.
Parameters are not case sensitive, which means that any mixture of upper case or lower case is accepted. The only exception is when the characters are part of a literal string. Please note that it is not allowed to include spaces in or between Parameters, unless they are part of a literal string.

The maximum length of the list of Parameters is determined by the input buffer size of the particular Slave.

Parameters may only contain normal printable characters from the basic ASCII list.

Parameters are probably the most common cause of Execution Errors. For instance you may accidentally omit some Parameters, or type too many. Or you could enter a wrong value, or an ill-formatted parameter.
In any case, the *ERROR? Command will tell you what the reason of such an Execution Error was. It's up to the Slave (and probably its resources) how detailed the Error description is.

Literal Strings

A Literal String can be accepted as a Parameter when it is enclosed in single or double quotes.

Literal Strings are case sensitive, which means that upper case and lower case characters are not the same. Furthermore you may use spaces and commas in Literal Strings. However, you can not use the starting delimiter inside the string, for that would terminate the string prematurely.