Тема / Topic: Работа с watchdog timer в МРВ на промPC
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Здравствуйте! При работе с WDT на promPC Mic2000 происходит отключение WDT при выходе из МРВ (версия 5.12). Почему так происходит? Запускаем WDT путем посылок значений уставок WDT в канал DO port с адресом 443. Драйвер для работы с портами win2000 установлен. Чтение данных из порта 443 с использованием канала DI port не производим, то есть программно мы таймер не отключаем.
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Работаем сами. В смысле посылаем на вход канала DO port с адресом BASE=h443 значение 30 с помощью FBD-программы, период обработки канала 20 секунд.
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
То есть - при останове и выходе из МРВ контроллер не перегружается, хотя должен по WDT, я правильно понял?
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Все верно, мы тоже так предполагали, что при выходе из МРВ должен был произойти перезапуск компьютера, но этого не происходит
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Извините, не знал куда именно отправить письмо. Поэтому отправил на forum@adastra.ru и hotline@adastra.ru
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Объем мизерный, килобайт 30. Попробую еще раз отослать на forum@adastra.ru
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Хотя можно и на форум выложить: --------------------------------------------- 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
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Какое значение Вы посылаете в данный порт в своем проекте? И нет ли у Вас случайно в базе проекта канала, который считывает данный порт?
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Эту информацию мы вам уже предоставили. Повторюсь: посылаем значение 30. Чтение НЕ ПРОИЗВОДИМ.
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Если драйвер УСО у Вас установлен корректно (его тест проходит нормально), то дело уже в самом WDT этой платы. Есть только одно предположение - что данный WDT не разрешен в bios-платы. Больше никаких соображений нет, потому как канал ДИСКРЕТ_DO-port - это обычное прямое обращение к порту и ничего о самом WDT как таковом ТМ не знает, поэтому и выключать его не может при останове.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Извините за продолжительное молчание. Но ряд вопросов у меня все же остался. Фактически WDT работает. Проверили так: посылаем временнУю уставку 10 секунд, а период обработки канала 20 секунд. В результате компьютер перегружается. Все вроде бы согласно докумениации по таймеру. Я понимаю, что трейс моуд ничего не знает о сторожевой собаке, но факт налицо: при выключении МРВ таймер не срабатывает. У меня возникло предположение, что при выключении МРВ происходит чтение из портов, с которыми он работал для записи в файл дампа. Что скажете? PS Драйвер УСО установлен корректно
Сообщения / Posts 27 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Нет - МРВ ничего не подчитывает по каналам типа DO-port ни при остановке, ни при сохранении данных в дамп. А Вы как запускаете МРВ - раздельно сервер и консоль или через консоль?
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
alfer
Junior Member / Новичок
Участник № / Member № 819
отправлено / posted
Тогда у нас больше нет вариантов, что может быть, потому как, если Вы закрываете МРВ - он прекращает обработку каналов и соответсвенно посылку значения в порт, и если в проекте больше нет обращений (каналами, из IL или FBD) к данному порту на чтение, то WDT должен сработать.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |