doc:jroboplc:modules:peripherial:promauto_termo5

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:jroboplc:modules:peripherial:promauto_termo5 [2026/07/23 17:38] denisdoc:jroboplc:modules:peripherial:promauto_termo5 [2026/07/24 07:33] (current) – [Параметры] denis
Line 11: Line 11:
 ===== Основные возможности ===== ===== Основные возможности =====
  
-* опрос 12 термоподвесок; +  * опрос 12 термоподвесок; 
-* обработка 6 датчиков температуры на каждой подвеске; +  * обработка 6 датчиков температуры на каждой подвеске; 
-* получение измеренных значений напряжения; +  * получение измеренных значений напряжения; 
-* вычисление сопротивления каждого датчика; +  * вычисление сопротивления каждого датчика; 
-* вычисление температуры каждого датчика; +  * вычисление температуры каждого датчика; 
-* вычисление максимальной температуры каждой подвески; +  * вычисление максимальной температуры каждой подвески; 
-* поддержка классических и компенсированных подвесок; +  * поддержка классических и компенсированных подвесок; 
-* настройка начального сопротивления и сопротивления линии отдельно для каждой подвески; +  * настройка начального сопротивления и сопротивления линии отдельно для каждой подвески; 
-* режим принудительного опроса одной подвески; +  * режим принудительного опроса одной подвески; 
-* режим остановки обмена данными; +  * режим остановки обмена данными; 
-* автоматический возврат в штатный режим через заданное количество циклов.+  * автоматический возврат в штатный режим через заданное количество циклов.
  
 ===== Конфигурация ===== ===== Конфигурация =====
Line 33: Line 33:
     netaddr:  1     netaddr:  1
     type:     promauto.termo5     type:     promauto.termo5
 +    modeResetCntMax: 3600
     params:     params:
       p0:  p  53  0       p0:  p  53  0
Line 52: Line 53:
 ^ Параметр ^ Умолчание ^ Описание ^ ^ Параметр ^ Умолчание ^ Описание ^
 | ''netaddr'' | ''1'' | Сетевой адрес платы. | | ''netaddr'' | ''1'' | Сетевой адрес платы. |
 +| ''modeResetCntMax'' | ''60'' | Максимальное значение счетчика ''ModeResetCnt''. Также используется для автоматической инициализации счетчика при переключении в режим ''Force'' или ''Silent''. |
 | ''params.p0'' ... ''params.p11'' | ''c 53 0'' | Параметры соответствующей подвески. | | ''params.p0'' ... ''params.p11'' | ''c 53 0'' | Параметры соответствующей подвески. |
  
Line 62: Line 64:
 где: где:
  
-* ''N'' — номер подвески от 0 до 11; +  * ''N'' — номер подвески от 0 до 11; 
-* ''type'' — тип подвески; +  * ''type'' — тип подвески; 
-* ''Rzero'' — сопротивление датчика при температуре 0 °C; +  * ''Rzero'' — сопротивление датчика при температуре 0 °C; 
-* ''Rwire'' — сопротивление соединительной линии.+  * ''Rwire'' — сопротивление соединительной линии.
  
 Поддерживаются следующие типы подвесок: Поддерживаются следующие типы подвесок:
Line 90: Line 92:
 В данном примере: В данном примере:
  
-* ''Pdv0'' является классической подвеской; +  * ''Pdv0'' является классической подвеской; 
-* ''Pdv1'' является компенсированной подвеской; +  * ''Pdv1'' является компенсированной подвеской; 
-* для ''Pdv1'' задано сопротивление линии 1,5 Ом.+  * для ''Pdv1'' задано сопротивление линии 1,5 Ом.
  
 ===== Теги ===== ===== Теги =====
Line 153: Line 155:
 В режиме ''Normal'' модуль: В режиме ''Normal'' модуль:
  
-* считывает значения времени всех подвесок; +  * считывает значения времени всех подвесок; 
-* последовательно опрашивает все 12 подвесок; +  * последовательно опрашивает все 12 подвесок; 
-* получает значения ''U0'' ... ''U5'', ''Umin'' и ''Umax''; +  * получает значения ''U0'' ... ''U5'', ''Umin'' и ''Umax''; 
-* вычисляет сопротивление каждого датчика; +  * вычисляет сопротивление каждого датчика; 
-* вычисляет температуру каждого датчика; +  * вычисляет температуру каждого датчика; 
-* определяет максимальную температуру каждой подвески.+  * определяет максимальную температуру каждой подвески.
  
 Для включения штатного режима необходимо записать: Для включения штатного режима необходимо записать:
Line 186: Line 188:
  
 После этого модуль будет опрашивать только подвеску ''Pdv5''. После этого модуль будет опрашивать только подвеску ''Pdv5''.
 +
 +Если при переключении в режим ''Force'' значение ''ModeResetCnt'' равно нулю, счетчик автоматически устанавливается равным ''modeResetCntMax''.
  
 Режим может использоваться при диагностике, настройке или для увеличения частоты обновления данных выбранной подвески. Режим может использоваться при диагностике, настройке или для увеличения частоты обновления данных выбранной подвески.
Line 200: Line 204:
 Mode = 2 Mode = 2
 </code> </code>
 +
 +Если при переключении в режим ''Silent'' значение ''ModeResetCnt'' равно нулю, счетчик автоматически устанавливается равным ''modeResetCntMax''.
  
 Режим может использоваться для временной остановки обмена данными без отключения модуля. Режим может использоваться для временной остановки обмена данными без отключения модуля.
Line 209: Line 215:
 Тег ''ModeResetCnt'' позволяет автоматически вернуть модуль в режим ''Normal''. Тег ''ModeResetCnt'' позволяет автоматически вернуть модуль в режим ''Normal''.
  
-Если значение тега больше нуля, после каждого цикла выполнения модуля оно уменьшается на единицу.+Максимальное допустимое значение счетчика определяется параметром конфигурации ''modeResetCntMax''.
  
-Когда счетчик достигает нуля, модуль устанавливает:+Например: 
 + 
 +<code yaml> 
 +modeResetCntMax: 3600 
 +</code> 
 + 
 +Если значение ''Mode'' изменяется с ''Normal'' на ''Force'' или ''Silent'', а значение ''ModeResetCnt'' равно нулю, модуль автоматически устанавливает: 
 + 
 +<code> 
 +ModeResetCnt = modeResetCntMax 
 +</code> 
 + 
 +Таким образом для включения режима на максимальное количество циклов необязательно предварительно записывать значение в ''ModeResetCnt''
 + 
 +Если в тег ''ModeResetCnt'' записано значение, превышающее ''modeResetCntMax'', модуль ограничивает его значением ''modeResetCntMax''
 + 
 +Если значение тега больше нуля и не превышает ''modeResetCntMax'', после каждого цикла выполнения модуля оно уменьшается на единицу. 
 + 
 +Когда значение ''ModeResetCnt'' становится равным нулю, модуль автоматически устанавливает: 
 + 
 +<code> 
 +Mode = 0 
 +</code> 
 + 
 +Если в тег ''ModeResetCnt'' записано отрицательное значение, модуль устанавливает:
  
 <code> <code>
Line 220: Line 250:
 Таким образом режимы ''Force'' и ''Silent'' можно включать на ограниченное количество циклов. Таким образом режимы ''Force'' и ''Silent'' можно включать на ограниченное количество циклов.
  
-Пример временного опроса подвески ''Pdv3'':+<WRAP center round important> 
 +Чтобы включить режим ''Force'' или ''Silent'' на максимальное количество циклов, достаточно изменить тег ''Mode''. Если ''ModeResetCnt'' равен нулю, он будет автоматически установлен равным ''modeResetCntMax''
 +</WRAP> 
 + 
 +Пример автоматической установки счетчика для подвески ''Pdv3''
 + 
 +<code> 
 +ModeForcePdv = 3 
 +Mode = 1 
 +</code> 
 + 
 +При переключении в режим ''Force'' модуль автоматически устанавливает ''ModeResetCnt'' равным ''modeResetCntMax''
 + 
 +После окончания отсчета модуль возвращается в режим ''Normal''
 + 
 +Пример принудительной установки продолжительности режима:
  
 <code> <code>
Line 228: Line 273:
 </code> </code>
  
-Подвеска ''Pdv3'' будет опрашиваться в течение 20 циклов, после чего модуль автоматически вернется в режим ''Normal''.+В этом случае подвеска ''Pdv3'' будет опрашиваться в течение заданного количества циклов, после чего модуль автоматически вернется в режим ''Normal''.
  
-Пример временной остановки обмена:+Пример автоматической установки счетчика в режиме ''Silent'':
  
 <code> <code>
-ModeResetCnt = 100 
 Mode = 2 Mode = 2
 </code> </code>
  
-В течение 100 циклов модуль не будет выполнять обмен данными с платой. После окончания отсчета будет восстановлен режим ''Normal''.+Если перед переключением значение ''ModeResetCnt'' было равно нулю, счетчик автоматически устанавливается равным ''modeResetCntMax''
 + 
 +После окончания отсчета будет восстановлен режим ''Normal''
 + 
 +Пример принудительной установки продолжительности режима ''Silent'': 
 + 
 +<code> 
 +ModeResetCnt = 50 
 +Mode = 2 
 +</code> 
 + 
 +В течение заданного количества циклов модуль не будет выполнять обмен данными с платой. После окончания отсчета будет восстановлен режим ''Normal''.
  
-Если автоматический возврат не требуется, значение ''ModeResetCnt'' должно быть равно нулю.+Если в ''ModeResetCnt'' записать значение больше ''modeResetCntMax'', продолжительность работы выбранного режима будет ограничена значением ''modeResetCntMax''.
  
 ===== Карта каналов ===== ===== Карта каналов =====
  
-В карту каналов модуля добавляются теги температуры.+В карту каналов [[doc:jroboplc:modules:peripherial#адресация_каналов_channelmap|CHANNELMAP]] модуля добавляются теги температуры.
  
 Формат номера канала: Формат номера канала:
Line 253: Line 308:
 где: где:
  
-* ''N'' — номер подвески от 0 до 11; +  * ''N'' — номер подвески от 0 до 11; 
-* ''M'' — номер датчика от 0 до 5.+  * ''M'' — номер датчика от 0 до 5.
  
 Примеры: Примеры:
Line 263: Line 318:
 | ''3.2'' | ''Pdv3.T2'' | | ''3.2'' | ''Pdv3.T2'' |
 | ''11.5'' | ''Pdv11.T5'' | | ''11.5'' | ''Pdv11.T5'' |
 +
 +
  
 ===== Принцип работы ===== ===== Принцип работы =====
Line 313: Line 370:
 Модуль постоянно опрашивает все подвески. Модуль постоянно опрашивает все подвески.
  
-==== Диагностика одной подвески ====+==== Диагностика одной подвески с автоматическим счетчиком ====
  
 <code> <code>
 ModeForcePdv = 7 ModeForcePdv = 7
-ModeResetCnt = 100 
 Mode = 1 Mode = 1
 </code> </code>
  
-В течение 100 циклов модуль опрашивает только подвеску ''Pdv7'', после чего возвращается к опросу всех подвесок.+Если значение ''ModeResetCnt'' равно нулю, модуль автоматически устанавливает его равным ''modeResetCntMax''.
  
-==== Временная остановка обмена ====+До окончания отсчета модуль опрашивает только подвеску ''Pdv7'', после чего автоматически возвращается к опросу всех подвесок. 
 + 
 +==== Диагностика одной подвески с заданным счетчиком ====
  
 <code> <code>
 +ModeForcePdv = 7
 ModeResetCnt = 50 ModeResetCnt = 50
-Mode = 2+Mode = 1
 </code> </code>
  
-В течение 50 циклов модуль не выполняет обмен данными, после чего автоматически возвращается в штатный режим.+В течение заданного количества циклов модуль опрашивает только подвеску ''Pdv7'', после чего автоматически возвращается к опросу всех подвесок.
  
-==== Остановка обмена без автоматического возврата ====+Значение ''ModeResetCnt'' не должно превышать параметр ''modeResetCntMax''. Если оно превышает допустимый максимум, модуль ограничивает его значением ''modeResetCntMax''
 + 
 +==== Временная остановка обмена с автоматическим счетчиком ====
  
 <code> <code>
-ModeResetCnt = 0 
 Mode = 2 Mode = 2
 </code> </code>
  
-Модуль остается в режиме ''Silent'', пока в тег ''Mode'' не будет записано другое значение.+Если значение ''ModeResetCnt'' равно нулю, модуль автоматически устанавливает его равным ''modeResetCntMax''
 + 
 +До окончания отсчета модуль не выполняет обмен данными, после чего автоматически возвращается в штатный режим. 
 + 
 +==== Временная остановка обмена с заданным счетчиком ==== 
 + 
 +<code> 
 +ModeResetCnt = 50 
 +Mode = 2 
 +</code>
  
 +В течение заданного количества циклов модуль не выполняет обмен данными, после чего автоматически возвращается в штатный режим.
 ===== Ограничения ===== ===== Ограничения =====
  
  • doc/jroboplc/modules/peripherial/promauto_termo5.1784817533.txt.gz
  • Last modified: 2026/07/23 17:38
  • by denis