Тема / Topic: Изменение периода опроса источников/приемников
ddkel
Active Forum Member / Активный участник форума
Участник № / Member № 4120
отправлено / posted
Добрый день. 1.Вопрос по периоду опроса источников/приемников. Имеется восемь приборов опрашиваемых по Modbus RTU, шесть источников/приемниеов на прибор. Возможно отсутствие одного-трех приборов в сети. Для уменьшения задержек из-за timeout'а (150 мс) программно отключаются от источников (8,W = 1) пять каналов, один остается для контроля появления прибора в сети, но у оставшегося изменяется той же программой период пересчета на 5 мин (5, FRQ = 5; 38, FRQ_D = 2). Согласно протоколу работы профайлера при DEBUG = 0x200 период опроса источника/приемника не зависит от периода пересчета канала и составляет 6-10 секунд ((9:51:37) ERR_RS:COM:4 Read 0 symbol(err=9 ch=GDES7_TN1_B21_TS17_32[9]), (9:51:46) ERR_RS:COM:4 Read 0 symbol(err=9 ch=GDES7_TN1_B21_TS17_32[9]) ) . Есть ли возможность изменить период опроса источник приемника? 2. При остановке профайлера периодически выскакивает исключение в модуле qt-mt332.dll.
Сообщения / Posts 82 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Действительно, при обмене по RS и небольшой загруженности последовательного канала драйвер будет стараться получить ответ как можно скорее. При этом отсутствие ответа рассматривается как событие случайное, поэтому повторный запрос генерируется в асинхронном потоке с максимально возможной частотой (в зависимости от загруженности RS-канала). Надо, видимо, не устанавливать период 5 мин., а программно периодически включать (или подключать) контрольный канал.
2. Эти коллизии возникают при сбоях по памяти именно в библиотеке внешних функций qt-mt332.dll. Если есть возможность воспроизвести эту ситуацию для локализации и исправления, мы рассмотрим Ваш пример проекта или процедуру, которая достаточно часто приводит к такому сбою.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |