This is an old revision of the document!
promauto.termo5
Модуль опроса платы термометрии производства «ПромАвтоматика».
К одной плате можно подключить до 12 термоподвесок. На каждой подвеске может быть установлено до 6 датчиков температуры.
Для обмена данными используется протокол Modbus.
Температура и сопротивление сохраняются в тегах с одним знаком после запятой: фактическое значение умножается на 10.
Основные возможности
- опрос 12 термоподвесок;
- обработка 6 датчиков температуры на каждой подвеске;
- получение измеренных значений напряжения;
- вычисление сопротивления каждого датчика;
- вычисление температуры каждого датчика;
- вычисление максимальной температуры каждой подвески;
- поддержка классических и компенсированных подвесок;
- настройка начального сопротивления и сопротивления линии отдельно для каждой подвески;
- режим принудительного опроса одной подвески;
- режим остановки обмена данными;
- автоматический возврат в штатный режим через заданное количество циклов.
Конфигурация
Пример конфигурации модуля:
plugin.peripherial: module.TRM1: netaddr: 1 type: promauto.termo5 params: p0: p 53 0 p1: p 53 0 p2: p 53 0 p3: p 53 0 p4: p 53 0 p5: p 53 0 p6: p 53 0 p7: p 53 0 p8: p 53 0 p9: p 53 0 p10: p 53 0 p11: p 53 0
Параметры
| Параметр | Умолчание | Описание |
|---|---|---|
netaddr | 1 | Сетевой адрес платы. |
params.p0 … params.p11 | c 53 0 | Параметры соответствующей подвески. |
Параметры подвески задаются в следующем формате:
pN: type Rzero Rwire
где:
* N — номер подвески от 0 до 11;
* type — тип подвески;
* Rzero — сопротивление датчика при температуре 0 °C;
* Rwire — сопротивление соединительной линии.
Поддерживаются следующие типы подвесок:
| Значение | Тип | Описание |
|---|---|---|
c | Classic | Классическая подвеска. При вычислении температуры учитываются сопротивление линии и индивидуальная поправка канала. |
p | Compensate | Компенсированная подвеска. При вычислении температуры учитывается сопротивление линии без индивидуальной поправки канала. |
Значения по умолчанию:
| Параметр | Значение |
|---|---|
| Тип подвески | c |
Rzero | 53 |
Rwire | 0 |
Например:
params: p0: c 53 0 p1: p 53 1.5
В данном примере:
* Pdv0 является классической подвеской;
* Pdv1 является компенсированной подвеской;
* для Pdv1 задано сопротивление линии 1,5 Ом.
Теги
Для каждой подвески создается отдельная группа тегов:
PdvN
где N — номер подвески от 0 до 11.
Номер датчика обозначается буквой M и принимает значения от 0 до 5.
Теги датчиков
| Имя тега | Тип | Доступ | Описание |
|---|---|---|---|
PdvN.T0 … PdvN.T5 | INT | RO | Температура датчика, умноженная на 10. |
PdvN.R0 … PdvN.R5 | INT | RO | Расчетное сопротивление датчика, умноженное на 10. |
PdvN.U0 … PdvN.U5 | INT | RO | Измеренное значение напряжения соответствующего канала. |
Например:
| Значение тега | Фактическое значение |
|---|---|
Pdv3.T2 = 254 | 25,4 °C |
Pdv3.R2 = 537 | 53,7 Ом |
Общие теги подвески
| Имя тега | Тип | Доступ | Описание |
|---|---|---|---|
PdvN.Umin | INT | RO | Нижнее опорное значение напряжения. |
PdvN.Umax | INT | RO | Верхнее опорное значение напряжения. |
PdvN.Time | INT | RO | Значение времени измерения, полученное от платы. |
PdvN.TMax | INT | RO | Максимальная температура датчиков подвески, умноженная на 10. |
В актуальной реализации тег максимальной температуры называется PdvN.TMax — с заглавной буквой M.
Управляющие теги
| Имя тега | Тип | Доступ | Умолчание | Описание |
|---|---|---|---|---|
Mode | INT | RW | 0 | Режим работы модуля. |
ModeForcePdv | INT | RW | 0 | Номер подвески для принудительного опроса. |
ModeResetCnt | INT | RW | 0 | Счетчик автоматического возврата в штатный режим. |
Режимы работы
Mode
Тег Mode определяет режим обмена с платой.
| Значение | Режим | Описание |
|---|---|---|
0 | Normal | Штатный опрос всех 12 подвесок. |
1 | Force | Опрос только одной подвески, указанной в теге ModeForcePdv. |
2 | Silent | Обмен данными с платой не выполняется. |
Normal
В режиме Normal модуль:
- считывает значения времени всех подвесок;
- последовательно опрашивает все 12 подвесок;
- получает значения
U0…U5,UminиUmax; - вычисляет сопротивление каждого датчика;
- вычисляет температуру каждого датчика;
- определяет максимальную температуру каждой подвески.
Для включения штатного режима необходимо записать:
Mode = 0
Force
В режиме Force модуль опрашивает только одну выбранную подвеску.
Номер подвески задается тегом ModeForcePdv.
Допустимые значения:
0...11
Например:
ModeForcePdv = 5 Mode = 1
После этого модуль будет опрашивать только подвеску Pdv5.
Режим может использоваться при диагностике, настройке или для увеличения частоты обновления данных выбранной подвески.
Значение ModeForcePdv необходимо установить до переключения тега Mode в значение 1.
Silent
В режиме Silent модуль не отправляет запросы плате и не обновляет измерительные теги.
Для включения режима необходимо записать:
Mode = 2
Режим может использоваться для временной остановки обмена данными без отключения модуля.
Обработка тега ModeResetCnt в режиме Silent продолжается.
ModeResetCnt
Тег ModeResetCnt позволяет автоматически вернуть модуль в режим Normal.
Если значение тега больше нуля, после каждого цикла выполнения модуля оно уменьшается на единицу.
Когда счетчик достигает нуля, модуль устанавливает:
Mode = 0 ModeResetCnt = 0
Таким образом режимы Force и Silent можно включать на ограниченное количество циклов.
Пример временного опроса подвески Pdv3:
ModeForcePdv = 3 ModeResetCnt = 20 Mode = 1
Подвеска Pdv3 будет опрашиваться в течение 20 циклов, после чего модуль автоматически вернется в режим Normal.
Пример временной остановки обмена:
ModeResetCnt = 100 Mode = 2
В течение 100 циклов модуль не будет выполнять обмен данными с платой. После окончания отсчета будет восстановлен режим Normal.
Если автоматический возврат не требуется, значение ModeResetCnt должно быть равно нулю.
Карта каналов
В карту каналов CHANNELMAP модуля добавляются теги температуры.
Формат номера канала:
N.M
где:
* N — номер подвески от 0 до 11;
* M — номер датчика от 0 до 5.
Примеры:
| Канал | Тег |
|---|---|
0.0 | Pdv0.T0 |
0.5 | Pdv0.T5 |
3.2 | Pdv3.T2 |
11.5 | Pdv11.T5 |
Принцип работы
Опрос в штатном режиме
В режиме Normal сначала одним запросом считываются значения времени всех 12 подвесок.
Затем выполняется чтение основных данных подвесок. За один запрос считываются данные двух подвесок. Для опроса всех 12 подвесок выполняется шесть запросов.
Для каждой подвески плата передает:
- шесть измеренных значений напряжения;
- нижнее опорное значение
Umin; - верхнее опорное значение
Umax.
После получения ответа модуль вычисляет сопротивления и температуры всех датчиков.
Вычисление сопротивления
Сопротивление датчика вычисляется по измеренному напряжению и опорным значениям Umin и Umax.
Полученное сопротивление записывается в тег PdvN.RM после умножения на 10.
Вычисление температуры
Температура рассчитывается по сопротивлению датчика, значению Rzero и температурному коэффициенту:
T = ((R / Rzero) - 1) / 0.0043
Перед вычислением температуры из общего сопротивления вычитается сопротивление линии Rwire.
Для классической подвески дополнительно учитывается индивидуальная поправка сопротивления соответствующего канала.
Результат умножается на 10 и записывается в тег PdvN.TM.
После расчета всех шести температур наибольшее значение записывается в тег PdvN.TMax.
Примеры использования
Штатная работа
Mode = 0 ModeResetCnt = 0
Модуль постоянно опрашивает все подвески.
Диагностика одной подвески
ModeForcePdv = 7 ModeResetCnt = 100 Mode = 1
В течение 100 циклов модуль опрашивает только подвеску Pdv7, после чего возвращается к опросу всех подвесок.
Временная остановка обмена
ModeResetCnt = 50 Mode = 2
В течение 50 циклов модуль не выполняет обмен данными, после чего автоматически возвращается в штатный режим.
Остановка обмена без автоматического возврата
ModeResetCnt = 0 Mode = 2
Модуль остается в режиме Silent, пока в тег Mode не будет записано другое значение.
Ограничения
- количество подвесок фиксировано и равно 12;
- количество датчиков на одной подвеске фиксировано и равно 6;
- номер подвески в теге
ModeForcePdvдолжен находиться в диапазоне от 0 до 11; - изменение количества подвесок или датчиков через конфигурацию не поддерживается;
- в режиме
Silentизмерительные теги сохраняют последние полученные значения; - новые значения температуры появляются только после успешного обмена с платой.