У нас имеются измерительные системы, состоящие из нескольких промышленных ПК, объединенных в QNX-сеть.
На первом ПК работает программа-сервер параметров. На других ПК работают программы обслуживания АЦП, плат дискретного ввода и т.п.,
которые объединяют результаты измерения в структуру известного формата ( тип сообщения. число данных, и далее наборы номер измеряемого параметра-его значение )
и отправляют эти данные в программу-сервер параметров синхронными SRR-сообщениями. Частота отправки таких сообщений примерно 10-100 раз в секнду каждой
программой-измерителем.
Такая схема работает много лет и до вчерашнего дня сомнений не вызывала.
Вчера же обнаружилось, что изредка в программу-сервер поступают сообщения с искаженной структурой данных. Это происходило раз в 2-10 секунд случайным образом.
Искажение фиксировалось программой-сервером в том, что номера измеряемых параметров имели неправильное значение. Искаженные пакеты поступали от разных программ-измерителей с разных узлов.
Выяснилось, что сочетание жаркой погоды и сильной запыленности воздушных фильтров привело к повышению т-ры внутри системного блока до 54С.
После выключения, очистки фильтров, 20-ти минут остывания и последующего включения т-ра нормализовалась до 37С и ошибки прекратились.
Не понимаю : как объяснить происшествие.
Если предположить, что отправленные через QNX4-сеть сообщения из-за сбоев сетевой платы искажались и доходили до получателя
испорченными, то выходит что FLEET-протокол не занимается проверкой правильности сообщений с помощью контрольной суммы.
Не думал, что контрольную сумму нужно вводить в само тело прикладных SRR-сообщений, а ее проверку выполнять после принятия
каждого сообщения...
Спасибо за поддержку в данном вопросе.