некоторое время назад я на этот же форум присылал вопрос, он назывался "Ошибки связи между МРВ и МикроМРВ". Так вот, в этой же системе возникла еще одна проблема.. Время от времени (можжет раз в месяц) в некоторых каналах появляется некий набор символов (каналы типа F). Набор символов указан в топике. Что это такое, и как сделать, чтобы оно больше не появлялось? Дело в том, что эти каналы сохраняются в .mdb и как только появляется данный код, база умирает.
Posted by Larik (Участник № / Member № 191) on :
Это скорее всего некорректная арифметическая операция. Например, квадратный корень из отрицательного значения.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Это стандартное (по стандарту FLOAT) значение неопределенности (indefinite). То есть - значение неопределённо и не может быть представлено в данном формате. А получиться оно могло действительно только в результате некорректной арифметической или алгебраической операции.
Posted by ja (Участник № / Member № 1313) on :
Да, действительно, данные перед попаданием в тот канал, в котором была ошибка, проходят обработку одной процедурой, но в ней нет никаких других операций, кроме AVR8 и APERT. Насколько я понимаю, эти функции не извлекают корень и даже на ноль никогда не могут поделить. Подобных каналов в проекте около 100 (совершенно однотипных), и ошибки возникают в разных каналах.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Может на входы этих процедур приходят такие значения?
Posted by ja (Участник № / Member № 1313) on :
может быть... этот канал принимает данные по MLink с контроллера, а в контроллере с плат ввода-вывода данные собираются через АНАЛОГ/AI RWH. Может драйвер в контроллере ошибки дает? а это значение недостоверности может передаться через M-Link? и если оно уже появилось, можно ли его как-нить сбросить не перегружая проект?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Попробуйте посмотреть в самом контроллере через логф-файл и канала СИСТЕМНЫЙ_Отладка - действительно ли это в канал от драйвера такое значение поступает или нет.