Fluke3000is an ecosystem of devices produced by Fluke that may be connected simultaneously to a Fluke PC3000 wireless adapter which exposes a serial port to the computer to send and receive commands.
Fluke3000ecosystem supports the following instruments:
- Fluke 3000 FC Series Wireless Multimeter
- Fluke v3000 FC Wireless AC Voltage Module
- Fluke v3001 FC Wireless DC Voltage Module
- Fluke t3000 FC Wireless Temperature Module
Fluke3000is a USB instrument that communicates through a serial port via the PC3000 dongle. The commands used to communicate to the dongle do not follow the SCPI standard.
When the device is reset, it searches for available wireless modules and binds them to the PC3000 dongle. At each initialization, this class checks what device has been bound and saves their module number.
This class has been tested with the 3000 FC Wireless Multimeter and the t3000 FC Wireless Temperature Module. They have been operated separately and simultaneously. It does not support the Wireless AC/DC Voltage Modules as the author did not have them on hand.
It is important to note that the mode of the multimeter cannot be set remotely. If must be set on the device prior to the measurement. If the measurement read back from the multimeter is not expressed in the expected units, this module will raise an error.
>>> import instruments as ik >>> mult = ik.fluke.Fluke3000.open_serial("/dev/ttyUSB0", 115200) >>> mult.measure(mult.Mode.voltage_dc) # Measures the DC voltage array(12.345) * V
It is crucial not to kill this program in the process of making a measurement, as for the Fluke 3000 FC Wireless Multimeter, one has to open continuous readout, make a read and close it. If the process is killed, the read out may not be closed and the serial cache will be constantly filled with measurements that will interfere with any status query. If the multimeter is stuck in continuous trigger after a bad kill, simply do:
>>> mult.reset() >>> mult.flush() >>> mult.connect()
Follow the same procedure if you want to add/remove an instrument to/from the readout chain as the code will not look for new instruments if some have already been connected to the PC3000 dongle.
Enum containing the supported mode codes.
Enum containing the supported modules serial numbers.
Connect to available modules and returns a dictionary of the modules found and their port ID.
Flushes the serial input cache.
This device outputs a terminator after each output line. The serial input cache is flushed by repeatedly reading until a terminator is not found.
Instruct the Fluke3000 to perform a one time measurement.
Parameters: mode (
Fluke3000.Mode) – Desired measurement mode.
Returns: A measurement from the multimeter. Return type:
Function used to send a query to the instrument while allowing for the multiline output of the PC3000.
- cmd ('str') – Command that will be sent to the instrument
- nlines ('int') – Number of termination characters to reach
The multiline result from the query
Function that keeps reading until reaches a termination character a set amount of times. This is implemented to handle the mutiline output of the PC3000.
Parameters: nlines ('int') – Number of termination characters to reach Returns: Array of lines read out Return type: Array of
Resets the device and unbinds all modules.
Search for available modules and reformatturns a dictionary of the modules found and their port ID.
Gets/sets the current input range setting of the multimeter.
Fluke3000FC is an autoranging only multimeter.
Gets/sets the measurement mode for the multimeter.
The measurement mode of the multimeter must be set on the device manually and cannot be set remotely. If a multimeter is bound to the PC3000, returns its measurement mode by making a measurement and checking the units bytes in response.
Gets/sets the status of relative measuring mode for the multimeter.
Fluke3000FC does not support relative measurements.
Gets/sets the trigger mode for the multimeter.
The only supported mode is to trigger the device once when a measurement is queried. This device does support continuous triggering but it would quickly flood the serial input cache as readouts do not overwrite each other and are accumulated.