Port manager: Difference between revisions
No edit summary |
|||
Line 54: | Line 54: | ||
var = self.port.read() | var = self.port.read() | ||
}} | }} | ||
=== Port properties === | |||
You can set port properties during __init__ of the Device Class or before connect is called by modifying the self.port_properties dictionary. | |||
In order to see all keys of the dictionary, use | |||
{{syntaxhighlight|lang=python|code= | |||
print self.port_properties | |||
}} | |||
To change a parameter of self.port_properties, see the following example | |||
{{syntaxhighlight|lang=python|code= | |||
self.port_properties["EOL"] = "\r" | |||
}} | |||
{| class="wikitable sortable" | |||
|- | |||
! Command !! Interface !! Type !! Default value !! Explanation | |||
|- | |||
| EOL || COM || String || "\n" || "End of line"-character, will be added to each command sent by self.port.write() and defines the end of each message read by self.port.read() | |||
|- | |||
| EOLwrite || COM || String || None || replaces the character which will be added to each command sent by self.port.write() | |||
|- | |||
| EOLread || COM || String || None || replace the character which defines the end of each message read by self.port.read() | |||
|- | |||
| baudrate || COM || Integer || 9600 || The [https://en.wikipedia.org/wiki/Baud Baudrate] defines the speed of the COM port communication, must be identical to the value of the instrument | |||
|- | |||
| bytesize || COM || Integer || 8 || length of one byte, must be identical to value of the instrument | |||
|- | |||
| stopbyte || COM || Integer || 1 || | |||
|- | |||
| xonxoff || COM || bool || False || | |||
|- | |||
| rtscts || COM || bool || False || | |||
|- | |||
| dsrdtr || COM || bool || False || | |||
|- | |||
| timeout || COM, USB, GPIB || Float || 1.0 || time in seconds before a timeout error is raised | |||
|- | |||
| delay || COM, GPIB || Float || 0.0 || delay time in seconds after writing a command to allow an instrument to process the current command. | |||
|} |
Revision as of 19:50, 4 February 2018
SweepMe! supports and simplifies communication to devices via RS232 (COM port), GPIB, USB and TCPIP by using the SweepMe! Port manager.
Introduction
The communication with the hardware is usually done in each Device Class. In order to simplify the process of creating the communication channel, i.e. establish a connection, SweepMe! provides the port manager for easy handling.
Supported protocols
- COM: standard PC serial port using RS-232 protocol
- GPIB: an IEEE-488-Bus, a standard communication
- USB: plug and play USB test and measurement device as supported by pyvisa
- VB: a National Instrument VirtualBench device
Usage
Configuration
The following variables have to be set within the __init__ function of a Device Class:
In order to get the available ports listed in the GUI of the corresponding Measurement Class, choose desired port types by:
self.port_types = ["COM", "GPIB", "USB", "VB"]
A port object is automatically created by
self.port_manager = True
Further parameters can be changed through
self.port_properties = {
"baudrate" : 9600,
"EOL": "\n",
...
}
Get a list of all port_properties using
print self.port_properties
Communication
If the port manager is activated, the port is automatically available within all functions of the sequencer procedure as the variable:
self.port
A message can be sent using:
self.port.write("string of the message without end-of-line/terminator character")
The answer of a device is acquired by:
var = self.port.read()
Port properties
You can set port properties during __init__ of the Device Class or before connect is called by modifying the self.port_properties dictionary. In order to see all keys of the dictionary, use
print self.port_properties
To change a parameter of self.port_properties, see the following example
self.port_properties["EOL"] = "\r"
Command | Interface | Type | Default value | Explanation |
---|---|---|---|---|
EOL | COM | String | "\n" | "End of line"-character, will be added to each command sent by self.port.write() and defines the end of each message read by self.port.read() |
EOLwrite | COM | String | None | replaces the character which will be added to each command sent by self.port.write() |
EOLread | COM | String | None | replace the character which defines the end of each message read by self.port.read() |
baudrate | COM | Integer | 9600 | The Baudrate defines the speed of the COM port communication, must be identical to the value of the instrument |
bytesize | COM | Integer | 8 | length of one byte, must be identical to value of the instrument |
stopbyte | COM | Integer | 1 | |
xonxoff | COM | bool | False | |
rtscts | COM | bool | False | |
dsrdtr | COM | bool | False | |
timeout | COM, USB, GPIB | Float | 1.0 | time in seconds before a timeout error is raised |
delay | COM, GPIB | Float | 0.0 | delay time in seconds after writing a command to allow an instrument to process the current command. |