This is topic Работа с watchdog timer в МРВ на промPC in forum Мониторы Реального Времени / Real Time Monitors at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/5/t/000145.html

Posted by alfer (Участник № / Member № 819) on :
 
Здравствуйте! При работе с WDT на promPC Mic2000 происходит отключение WDT при выходе из МРВ (версия 5.12). Почему так происходит? Запускаем WDT путем посылок значений уставок WDT в канал DO port с адресом 443. Драйвер для работы с портами win2000 установлен. Чтение данных из порта 443 с использованием канала DI port не производим, то есть программно мы таймер не отключаем.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Вы с портами WDT сами через каналы работаете?
 
Posted by alfer (Участник № / Member № 819) on :
 
Работаем сами. В смысле посылаем на вход канала DO port с адресом BASE=h443 значение 30 с помощью FBD-программы, период обработки канала 20 секунд.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
То есть - при останове и выходе из МРВ контроллер не перегружается, хотя должен по WDT, я правильно понял?
 
Posted by alfer (Участник № / Member № 819) on :
 
Все верно, мы тоже так предполагали, что при выходе из МРВ должен был произойти перезапуск компьютера, но этого не происходит
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
У Вас есть описание его WDT, можете скинуть на электронную почту?
 
Posted by alfer (Участник № / Member № 819) on :
 
Извините, не знал куда именно отправить письмо. Поэтому отправил на forum@adastra.ru и hotline@adastra.ru
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Что-то пока не получили... Какой был объем вложения?
 
Posted by alfer (Участник № / Member № 819) on :
 
Объем мизерный, килобайт 30. Попробую еще раз отослать на forum@adastra.ru
 
Posted by alfer (Участник № / Member № 819) on :
 
Хотя можно и на форум выложить:
---------------------------------------------
A.1 Programming the Watchdog Timer
To program the watchdog timer, you must write a program which writes a value to I/O port address 443 (hex). This output value represents a time interval. The value range is from 01 (hex) to 3F (hex), and the related time interval is from 1 sec. to 63 sec.
Data Time Interval
01 1 sec.
02 2 sec.
03 3 sec.
04 4 sec.
.
.
3F 63 sec

After data entry, your program must refresh the watchdog timer by rewriting the I/O port 443 (hex) while simultaneously setting it. When you want to disable the watchdog timer, your program should read the I/O port 443 (hex).
The following example shows how you might program the watchdog timer in BASIC:

10 REM Watchdog timer example program
20 OUT &H443, data REM Start and restart the watchdog
30 GOSUB 1000 REM Your application task #1,
40 OUT &H443, data REM Reset the timer
50 GOSUB 2000 REM Your application task #2,
60 OUT &H443, data REM Reset the timer
70 X=INP (&H443) REM, Disable the watchdog timer
80 END
1000 REM Subroutine #1, your application task
1070 RETURN
2000 REM Subroutine #2, your application task
2090 RETURN
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Какое значение Вы посылаете в данный порт в своем проекте? И нет ли у Вас случайно в базе проекта канала, который считывает данный порт?
 
Posted by alfer (Участник № / Member № 819) on :
 
Эту информацию мы вам уже предоставили. Повторюсь: посылаем значение 30. Чтение НЕ ПРОИЗВОДИМ.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если драйвер УСО у Вас установлен корректно (его тест проходит нормально), то дело уже в самом WDT этой платы. Есть только одно предположение - что данный WDT не разрешен в bios-платы. Больше никаких соображений нет, потому как канал ДИСКРЕТ_DO-port - это обычное прямое обращение к порту и ничего о самом WDT как таковом ТМ не знает, поэтому и выключать его не может при останове. [duno / незнайка]
 
Posted by alfer (Участник № / Member № 819) on :
 
Извините за продолжительное молчание.
Но ряд вопросов у меня все же остался. Фактически WDT работает. Проверили так: посылаем временнУю уставку 10 секунд, а период обработки канала 20 секунд. В результате компьютер перегружается. Все вроде бы согласно докумениации по таймеру. Я понимаю, что трейс моуд ничего не знает о сторожевой собаке, но факт налицо: при выключении МРВ таймер не срабатывает. У меня возникло предположение, что при выключении МРВ происходит чтение из портов, с которыми он работал для записи в файл дампа. Что скажете?
PS Драйвер УСО установлен корректно
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Нет - МРВ ничего не подчитывает по каналам типа DO-port ни при остановке, ни при сохранении данных в дамп. А Вы как запускаете МРВ - раздельно сервер и консоль или через консоль?
 
Posted by alfer (Участник № / Member № 819) on :
 
Запускаем МРВ через консоль.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Тогда у нас больше нет вариантов, что может быть, потому как, если Вы закрываете МРВ - он прекращает обработку каналов и соответсвенно посылку значения в порт, и если в проекте больше нет обращений (каналами, из IL или FBD) к данному порту на чтение, то WDT должен сработать. [duno / незнайка]
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2