Command interface

Configurable commands can be used to implement simple interfaces in Viper.NET: Commands describe small stand-alone control actions, for example set hardware bits to fixed values.

See also

Predefined commands


The CmdSend sends ASCII data to a connected stream. Configuration:

  • StreamId: The stream for data transmission.

  • DataToSend: ASCII data that will be sent.

  • IgnoreCase:

  • WaitForAnswer: Specifies whether to wait for a response to be received.

  • RegexAnswer: Optional: regular expression to check the response (expression in .NET format). An error is generated if the response does not match the set expression or no response is received unexpectedly. The expression is only checked if WaitForAnswer is active.

  • Timeout: Time limit for the command. If the transmission time exceeds the Timeout, an error is generated. The check is only performed if WaitForAnswer is active.


Manipulates output bits. For example, this can be used to move a lift cylinder. Configuration:

  • BitIds: numeric IDs of the hardware bits as a comma-separated list. Example with two bits: 1234,9876.

  • Values: Value of the bits to be set as a comma-separated list. 1 for active, 0 for “inactive*. Example with two bits: 0,1.

  • BitToASCII: Each bit is written to the data as an ASCII character. One byte is required for each bit (ON = ‘1’ = 0x31 ; OFF = ‘0’ = 0x30).


The CmdPause creates a processing pause. For example, this can be used to time the complete extension of a cylinder after a CmdSetBits. Configuration:

  • Milliseconds: Waiting time in milliseconds