fluke_985.ioc.Fluke985Base

class fluke_985.ioc.Fluke985Base(*args, host, **kwargs)[source]

Base class for the Fluke985 IOC.

Parameters
hostTuple[str, int]

Fluke 985 device hostname or IP address and port.

prefixstr

Prefix for all PVs in the group.

macrosdict, optional

Dictionary of macro name to value.

namestr, optional

Name for the group, defaults to the class name.

Fluke985Base pvproperties

Attribute

Suffix

Docs

Type

Notes

Alarm Group

available_records

AvailableRecords

Records available on the Fluke

int (longin)

Read-only

battery_alarm

BatteryAlarm

Battery alarm

int (longin)

Read-only

bootloader_version

BootloaderVersion

str (stringin)

Read-only Length(40)

cal_alarm

CalAlarm

Calibration alarm

int (longin)

Read-only

calibrated_value

CalibratedValue

float (ai)

Read-only

concentration_mode

ConcentrationMode

str (stringin)

Read-only Length(40)

count_alarm

CountAlarm

Count alarm

int (longin)

Read-only

count_mode

CountMode

str (stringin)

Read-only Length(40)

data_timeout

DataTimeout

int (ai)

firmware_version

FirmwareVersion

str (stringin)

Read-only Length(40)

flow_alarm

FlowAlarm

Flow alarm

int (longin)

Read-only

hardware_version

HardwareVersion

str (stringin)

Read-only Length(40)

host

Host

str (stringin)

Read-only Length(60) Startup

laser_alarm

LaserAlarm

Laser alarm

int (longin)

Read-only

laser_current

LaserCurrent

float (ai)

Read-only

last_timestamp

LastTimestamp

Latest timestamp from data file

float (longin)

Read-only

location_name

LocationName

Configured location name on device

str (stringin)

Read-only Length(40)

model_number

ModelNumber

str (stringin)

Read-only Length(40)

norm_0_3um

Norm0_3um

0.3um Normalized to conc. mode volume

float (ai)

Read-only

norm_0_5um

Norm0_5um

0.5um Normalized to conc. mode volume

float (ai)

Read-only

norm_10_0um

Norm10_0um

10.0um Normalized to conc. mode volume

float (ai)

Read-only

norm_1_0um

Norm1_0um

1.0um Normalized to conc. mode volume

float (ai)

Read-only

norm_2_0um

Norm2_0um

2.0um Normalized to conc. mode volume

float (ai)

Read-only

norm_5_0um

Norm5_0um

5.0um Normalized to conc. mode volume

float (ai)

Read-only

over_conc_alarm

OverConcAlarm

Over concentration alarm

int (longin)

Read-only

overall_alarm

OverallAlarm

Summed alarm status (cal, flow, etc.)

int (longin)

Read-only

port

Port

int (longin)

Read-only

raw_0_3um

Raw0_3um

0.3um cumulative raw counts

float (ai)

Read-only

raw_0_5um

Raw0_5um

0.5um cumulative raw counts

float (ai)

Read-only

raw_10_0um

Raw10_0um

10.0um cumulative raw counts

float (ai)

Read-only

raw_1_0um

Raw1_0um

1.0um cumulative raw counts

float (ai)

Read-only

raw_2_0um

Raw2_0um

2.0um cumulative raw counts

float (ai)

Read-only

raw_5_0um

Raw5_0um

5.0um cumulative raw counts

float (ai)

Read-only

request_timeout

RequestTimeout

float (ai)

sample_mode

SampleMode

Sample mode (e.g., Automatic)

str (stringin)

Read-only Length(40)

sample_number

SampleNumber

Sample number index

int (longin)

Read-only

sample_period

SamplePeriod

int (longin)

Read-only

sample_volume

SampleVolume

float (ai)

Read-only

serial_number

SerialNumber

str (stringin)

Read-only Length(40)

server_state

ServerState

str (stringin)

Read-only Length(40)

sync_records

NumRecords

Records synchronized from the Fluke

int (longin)

Read-only

system_alarm

SystemAlarm

System alarm

int (longin)

Read-only

timezone

Timezone

Timezone to use for loading date/time

str (stringin)

Read-only Length(40)

update_hook

__update_hook__

int

Read-only Startup

Methods

group_read(instance)

Generic read called for channels without get defined

group_write(instance, value)

Generic write called for channels without put defined

Attributes

default_values

new_records_available

Are there new records available on the Fluke?

type_map

type_map_read_only

pvproperty methods

host.startup(self, instance, async_lib)
78
79
80
81
@host.startup
async def host(self, instance, async_lib):
    await self.host.write(self._default_host[0])
    await self.port.write(self._default_host[1])
update_hook.startup(self, instance, async_lib)
Source code: update_hook.startup
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
            async def scanned_startup(group, prop, async_lib):
                if use_scan_field and period is not None:
                    if prop.field_inst.scan_rate_sec is None:
                        # This is a hook to allow setting of the default scan
                        # rate through the 'period' argument of the decorator.
                        prop.field_inst._scan_rate_sec = period
                        # TODO: update .SCAN to reflect this number

                sleep = async_lib.library.sleep
                while True:
                    t0 = time.monotonic()
                    if use_scan_field:
                        iter_time = prop.field_inst.scan_rate_sec
                        if iter_time is None:
                            iter_time = 0
                    else:
                        iter_time = period

                    if iter_time > 0:
                        await call_scan_function(group, prop, async_lib)
                    else:
                        iter_time = 0.1
                        # TODO: could the scan rate - or values in general -
                        # have events tied with them so busy loops are
                        # unnecessary?
                    elapsed = time.monotonic() - t0
                    sleep_time = (max(0, iter_time - elapsed)
                                  if subtract_elapsed
                                  else iter_time)
                    await sleep(sleep_time)