| |
- cget(key)
- cget(key)
Получение калибровочных данных устройства с ключем key.
Результат возвращается в виде списка [coef, offset, ui],
где coef - масштабирующий коэффициент, offset - смещение и ui - индекс
единицы измерения
- cset(key, coef, offset, ui)
- cset(key, coef, offset, ui)
Запись калибровочных данных в устройство и БД. Вещетсвенный параметр coef
задает масштабирующий коэффициент в единицах измерения, определяемой
параметром ui (целочисленный индекс единицы измерения в списке units),
offset - целочисленное смещение кода АЦП. Конечная физическая величина
равна v = coef*(код АЦП - offset)
Примеры использования:
cset('U0', 0.3839, 0, 1) - установить калибровочные данные 0-го датчика RMS
cset('q1', 1015.0, 0, 3) - установить калибровочные данные 1-го клапана
отбора. В данном случае 1015.0 - скорость отбора полностью открытого
клапана
cset('P0', 0.0734, 38, 5) - установить калибровочные данные датчика давления
MPX5010DP с ключем 'P0'
- deser(buf)
- deser(buf)
Вспомогательная функция для распаковки калибровочных данных. Результат
возвращается в виде списка [coef, offset, ui], где coef - масштабирующий
коэффициент, offset - смещение и ui - индекс единицы измерения
- keys()
- keys()
Получение списка ключей всех устройств (контроллеров и датчиков)
- quit()
- quit()
Завершение работы синхронизатора
- resetQ(key)
- resetQ(key)
Сброс интеграторов, подсчитывающих интеграл по времени величины, регулируемой
контроллером PWM с ключем key. В случае, если к контроллеру подкючен клапан
отбора - это суммарный расход через данный клапан.
- ser(coef, offset, ui)
- ser(coef, offset, ui)
Вспомогательная функция для упаковки (сериализации) калибровочных данных (в
6 байтов) для хранения в БД. ТОчно в таком же виде эти данные хранятся в
EEPROM устройств
- temp(fon='temp.txt', start=-1800, end=-1)
- temp(fon = 'temp.txt', start = -1800, end = -1)
Выгрузка в файл зависимостей всех температур от времени в виде таблицы.
Параметр fon задает имя файла (по умолчанию 'temp.txt'), параметры start и
end задают временной интервал (по умолчанию - за истекший час)
Значения температур и времени берутся из соответствующих списков БД redis.
Параметры start и end должны быть отрицательными (start <= end). Они задают
начальное и конечное значение индексов выбираемых из списков значений.
В данной версии синхронизатора (0.2.0.0) данные записываются с интервалом
2 сек. -1 означает текущий момент.
Примеры использования:
temp() - выгрузить все температуры за истекший час в файл 'temp.txt'
temp('my_temps.txt', -900) - выгрузить все температуры за последние пол-часа
в файл 'my_temps.txt'
temp('temperatures', -3600, -1800) - за предыдущий час
- uget(key)
- uget(key)
Получить единицу измерения физической величины с ключем key
Функция возвращет строку с единицей измерения, ассоциированой с физической
величиной, хранимой в БД с ключем key. Все единицы измерения хранятся в
списке БД под ключем 'units' (в данном модуле доступен список units). В
калибровочных данных хранится индекс единицы измерения в этих списках.
Примеры использования:
uget('U0') - единица измерения напряжения сети, получаемого с 0-го датчика
RMS ('В')
uget('q2') - единица измерения скорости отбора 2-го клапана отбора (мл/час)
- vget(key, start=-1, end=-1)
- vget(key, start = -1, end = -1)
Получение значения или списка значений датчика с ключем key.
Значения берутся из соответствующего списка БД redis. Параметры start и end
(отрицательные, start <= end) задают начальный и конечный индексы списка.
Если start = end возвращается одно значение. В противном случае возвращается
список значений в заданном интервале. -1 означает текущее (последнее)
значение, сораненное в БД.
Примеры использования:
vget('P0') - текущее значение 0-го датчика давления
vget('T2', -100) - последние 100 значений 2-го датчика температуры,
с шагом по времени - dt. В данной версии синхронизатора dt = 2 сек
vget('T0', -1100, -1090) - 10 значений 0-го датчика температуры, начиная
с момента времени 1100*dt до текущего момента (приблизительно).
vget('Q2') - суммарный расход через 2-клапан отбора с момента последнего
сброса (см.функцию resetQ)
- vset(key, value, rms=None)
- vset(key, value, rms = None)
Установка значение устройства (контроллера) с ключем key.
Параметр value задает значение в единицах измерения, которые определены в
калибровочных данных устройства (могут быть получены вызовом uget(key)).
Для контроллеров PDM предусмотрена коррекция устанавливаемой мощности по
RMS напряжения сети (стабилизация мощности нагрева). Для этого нужно задать
значение параметра rms, равное текущему RMS напряжения сети (в вольтах),
измеренное соответствующим датчиком RMS.
Примеры использования:
vset('r1', 1) - включить 1-е реле
vset('r2', 0) - выключить 2-е реле
vset('q0', 350) - установить скорость отбора 0-го клапана на 350 мл/час
vset('w0', 600) - установить мощность нагревателя, подключенного к 0-му
контроллеру PDM на 600 Вт (по номиналу, без учета напряжения в сети)
vset('w0', 600, 232) - установить мощность нагревателя, подключенного к
0-му контроллеру PDM на 600 Вт с учетом напряжения сети. Здесь 232 -
RMS напряжения сети, измеренное датчиком RSM.
vset('q2', 0) - выключить 2-й клапан отбора
|