doc:jroboplc:modules:peripherial:promauto_termo5_1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
doc:jroboplc:modules:peripherial:promauto_termo5_1 [2026/07/23 17:38] – [Ограничения] denisdoc:jroboplc:modules:peripherial:promauto_termo5_1 [2026/07/23 17:39] (current) – removed denis
Line 1: Line 1:
-====== promauto.termo5 ====== 
- 
-Модуль опроса платы термометрии производства «ПромАвтоматика». 
- 
-К одной плате можно подключить до 12 термоподвесок. На каждой подвеске может быть установлено до 6 датчиков температуры. 
- 
-Для обмена данными используется протокол Modbus. 
- 
-Температура и сопротивление сохраняются в тегах с одним знаком после запятой: фактическое значение умножается на 10. 
- 
-===== Основные возможности ===== 
- 
-* опрос 12 термоподвесок; 
-* обработка 6 датчиков температуры на каждой подвеске; 
-* получение измеренных значений напряжения; 
-* вычисление сопротивления каждого датчика; 
-* вычисление температуры каждого датчика; 
-* вычисление максимальной температуры каждой подвески; 
-* поддержка классических и компенсированных подвесок; 
-* настройка начального сопротивления и сопротивления линии отдельно для каждой подвески; 
-* режим принудительного опроса одной подвески; 
-* режим остановки обмена данными; 
-* автоматический возврат в штатный режим через заданное количество циклов. 
- 
-===== Конфигурация ===== 
- 
-Пример конфигурации модуля: 
- 
-<code yaml> 
-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 
-</code> 
- 
-===== Параметры ===== 
- 
-^ Параметр ^ Умолчание ^ Описание ^ 
-| ''netaddr'' | ''1'' | Сетевой адрес платы. | 
-| ''params.p0'' ... ''params.p11'' | ''c 53 0'' | Параметры соответствующей подвески. | 
- 
-Параметры подвески задаются в следующем формате: 
- 
-<code> 
-pN: type Rzero Rwire 
-</code> 
- 
-где: 
- 
-* ''N'' — номер подвески от 0 до 11; 
-* ''type'' — тип подвески; 
-* ''Rzero'' — сопротивление датчика при температуре 0 °C; 
-* ''Rwire'' — сопротивление соединительной линии. 
- 
-Поддерживаются следующие типы подвесок: 
- 
-^ Значение ^ Тип ^ Описание ^ 
-| ''c'' | Classic | Классическая подвеска. При вычислении температуры учитываются сопротивление линии и индивидуальная поправка канала. | 
-| ''p'' | Compensate | Компенсированная подвеска. При вычислении температуры учитывается сопротивление линии без индивидуальной поправки канала. | 
- 
-Значения по умолчанию: 
- 
-^ Параметр ^ Значение ^ 
-| Тип подвески | ''c'' | 
-| ''Rzero'' | ''53'' | 
-| ''Rwire'' | ''0'' | 
- 
-Например: 
- 
-<code yaml> 
-params: 
-  p0: c 53 0 
-  p1: p 53 1.5 
-</code> 
- 
-В данном примере: 
- 
-* ''Pdv0'' является классической подвеской; 
-* ''Pdv1'' является компенсированной подвеской; 
-* для ''Pdv1'' задано сопротивление линии 1,5 Ом. 
- 
-===== Теги ===== 
- 
-Для каждой подвески создается отдельная группа тегов: 
- 
-<code> 
-PdvN 
-</code> 
- 
-где ''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. | 
- 
-<WRAP center round important> 
-В актуальной реализации тег максимальной температуры называется ''PdvN.TMax'' — с заглавной буквой ''M''. 
-</WRAP> 
- 
-==== Управляющие теги ==== 
- 
-^ Имя тега ^ Тип ^ Доступ ^ Умолчание ^ Описание ^ 
-| ''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''; 
-* вычисляет сопротивление каждого датчика; 
-* вычисляет температуру каждого датчика; 
-* определяет максимальную температуру каждой подвески. 
- 
-Для включения штатного режима необходимо записать: 
- 
-<code> 
-Mode = 0 
-</code> 
- 
-==== Force ==== 
- 
-В режиме ''Force'' модуль опрашивает только одну выбранную подвеску. 
- 
-Номер подвески задается тегом ''ModeForcePdv''. 
- 
-Допустимые значения: 
- 
-<code> 
-0...11 
-</code> 
- 
-Например: 
- 
-<code> 
-ModeForcePdv = 5 
-Mode = 1 
-</code> 
- 
-После этого модуль будет опрашивать только подвеску ''Pdv5''. 
- 
-Режим может использоваться при диагностике, настройке или для увеличения частоты обновления данных выбранной подвески. 
- 
-Значение ''ModeForcePdv'' необходимо установить до переключения тега ''Mode'' в значение ''1''. 
- 
-==== Silent ==== 
- 
-В режиме ''Silent'' модуль не отправляет запросы плате и не обновляет измерительные теги. 
- 
-Для включения режима необходимо записать: 
- 
-<code> 
-Mode = 2 
-</code> 
- 
-Режим может использоваться для временной остановки обмена данными без отключения модуля. 
- 
-Обработка тега ''ModeResetCnt'' в режиме ''Silent'' продолжается. 
- 
-==== ModeResetCnt ==== 
- 
-Тег ''ModeResetCnt'' позволяет автоматически вернуть модуль в режим ''Normal''. 
- 
-Если значение тега больше нуля, после каждого цикла выполнения модуля оно уменьшается на единицу. 
- 
-Когда счетчик достигает нуля, модуль устанавливает: 
- 
-<code> 
-Mode = 0 
-ModeResetCnt = 0 
-</code> 
- 
-Таким образом режимы ''Force'' и ''Silent'' можно включать на ограниченное количество циклов. 
- 
-Пример временного опроса подвески ''Pdv3'': 
- 
-<code> 
-ModeForcePdv = 3 
-ModeResetCnt = 20 
-Mode = 1 
-</code> 
- 
-Подвеска ''Pdv3'' будет опрашиваться в течение 20 циклов, после чего модуль автоматически вернется в режим ''Normal''. 
- 
-Пример временной остановки обмена: 
- 
-<code> 
-ModeResetCnt = 100 
-Mode = 2 
-</code> 
- 
-В течение 100 циклов модуль не будет выполнять обмен данными с платой. После окончания отсчета будет восстановлен режим ''Normal''. 
- 
-Если автоматический возврат не требуется, значение ''ModeResetCnt'' должно быть равно нулю. 
- 
-===== Карта каналов ===== 
- 
-В карту каналов модуля добавляются теги температуры. 
- 
-Формат номера канала: 
- 
-<code> 
-N.M 
-</code> 
- 
-где: 
- 
-* ''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'' и температурному коэффициенту: 
- 
-<code> 
-T = ((R / Rzero) - 1) / 0.0043 
-</code> 
- 
-Перед вычислением температуры из общего сопротивления вычитается сопротивление линии ''Rwire''. 
- 
-Для классической подвески дополнительно учитывается индивидуальная поправка сопротивления соответствующего канала. 
- 
-Результат умножается на 10 и записывается в тег ''PdvN.TM''. 
- 
-После расчета всех шести температур наибольшее значение записывается в тег ''PdvN.TMax''. 
- 
-===== Примеры использования ===== 
- 
-==== Штатная работа ==== 
- 
-<code> 
-Mode = 0 
-ModeResetCnt = 0 
-</code> 
- 
-Модуль постоянно опрашивает все подвески. 
- 
-==== Диагностика одной подвески ==== 
- 
-<code> 
-ModeForcePdv = 7 
-ModeResetCnt = 100 
-Mode = 1 
-</code> 
- 
-В течение 100 циклов модуль опрашивает только подвеску ''Pdv7'', после чего возвращается к опросу всех подвесок. 
- 
-==== Временная остановка обмена ==== 
- 
-<code> 
-ModeResetCnt = 50 
-Mode = 2 
-</code> 
- 
-В течение 50 циклов модуль не выполняет обмен данными, после чего автоматически возвращается в штатный режим. 
- 
-==== Остановка обмена без автоматического возврата ==== 
- 
-<code> 
-ModeResetCnt = 0 
-Mode = 2 
-</code> 
- 
-Модуль остается в режиме ''Silent'', пока в тег ''Mode'' не будет записано другое значение. 
- 
-===== Ограничения ===== 
- 
-  * количество подвесок фиксировано и равно 12; 
-  * количество датчиков на одной подвеске фиксировано и равно 6; 
-  * номер подвески в теге ''ModeForcePdv'' должен находиться в диапазоне от 0 до 11; 
-  * изменение количества подвесок или датчиков через конфигурацию не поддерживается; 
-  * в режиме ''Silent'' измерительные теги сохраняют последние полученные значения; 
-  * новые значения температуры появляются только после успешного обмена с платой. 
  
  • doc/jroboplc/modules/peripherial/promauto_termo5_1.1784817487.txt.gz
  • Last modified: 2026/07/23 17:38
  • by denis