При использовании операторской панели NS10 возникла неприятная ситуация. Протокол данных не полностью записывался на Flash-карту. Из 3 часов данных, протоколируемых с интервалом в 15 секунд, на карте сохранялось чуть более часа. Происходило это только в автоматическом режиме. При ручном сохранении, такого не наблюдалось, данные записывались полностью.
В чем причина такой работы, так и не удалось выяснить. Проблема была разрешена, путем написания макроса, который строго в определнное время производит принудительную установку бита сохранения протокола работы $SB36. Этот макрос дал еще одну положительный результат - сохранение графиков строго в определенное время. При автоматическом их сохранении, время сохранения было привязано к моменту включения панели. В итоге графики сохранялись, например, в 37 минут нужного часа. Сейчас сохранение идет строго в 00 минут, что гораздо удобнее для анализа.
МАКРОС (Запускается по изменению значения слова $SW14 - минуты/секунды):
$W5=$SW15&HFF; 'Получение значения часов
if ($SW14==0) 'Проверка на 0 минут и секунд
if ($B1==0)
$SW37=1; 'Установка номера протокола
if ($W5==0) $SB36=1; $B1=1; endif; 'Сохранение графика в 0 часов
if ($W5==3) $SB36=1; $B1=1; endif; 'Сохранение графика в 3 часа
if ($W5==6) $SB36=1; $B1=1; endif; 'Сохранение графика в 6 часов
if ($W5==9) $SB36=1; $B1=1; endif; 'Сохранение графика в 9 часов
if ($W5==12h) $SB36=1; $B1=1; endif; 'Сохранение графика в 12 часов
if ($W5==15h) $SB36=1; $B1=1; endif; 'Сохранение графика в 15 часов
if ($W5==18h) $SB36=1; $B1=1; endif; 'Сохранение графика в 18 часов
if ($W5==21h) $SB36=1; $B1=1; endif; 'Сохранение графика в 21 час
endif;
else $B1=0; endif; 'Конец макроса
Комментариев нет:
Отправить комментарий