This is topic Как избежать потерь данных при передаче в МРВ по Ethernet? in forum Архивирование в TRACE MODE / Data Logging in Trace Mode at Форум TRACE MODE: техническая поддержка.
1. На нижнем уровне один канал G-пила (от 0 до 20 шаг 1) период пересчета 10 мс, на верхнем уровне – канал, с периодом пересчета 10 мс, принимающий его значение и записывающий в архив. При просмотре архива наблюдаем периодическую потерю данных (теряется несколько значений (4-6) из 20) 2. То же наблюдается при работе с 80 такими же каналами, при этом если утеряно значение в одном канале, то оно утеряно абсолютно во всех каналах. Процентное содержание остается примерно, как и в первом случае.
Связь по Ethernet 10 (протокол NETBEUI), верхний уровень - XP c отключеным TCP, пробовали разные контроллеры, разные сетевые платы, разные версии DOS на нижнем уровне.
Как избежать потерь данных при передаче в МРВ по Ethernet?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Работая с циклом пересчета 10 мс в операционных системах MS Windows - система работает "на пределе". Для Windows этот цикл - минимальный и для различных аппаратных платформ может оказаться критическим. Поэтому нет никакой гарантии, что система будет успевать отлавливать абсолютно все посылки от контроллера. Для решения подобного рода задач необходимо применть метод буферизирования данных в контроллере с последующей передачей их блоками на верхний уровень. Иначе нельзя.
А для чего Вам необходима регистрация событий с таким периодом? Что это за параметры?
Posted by zem21 (Участник № / Member № 418) on :
Тогда как Вы объясните то, что при установке циклов пересчета на обоих уровнях равным 50 мс - ситуация совершенно идентичная (теряется до 4 значений подряд!) Нижний уровень: CPU-5x86-75MHz, Ethernet RL2000A или UM9008, Ms Dos 6.22, Ms Dos 7.10 или PC Dos 7.0. Верхний уровень: CPU-Celeron 1,2GHz, Ethernet Intel Pro 100, Windows XP.
По поводу буферизирования: хотим. Как? (Тикон не предлагать )
По поводу "Для чего?": заказчик вообще желает видеть в архиве пульсы тока от тиристорного преобразователя (хотя бы 3 значения за пульс - 3,3 мс). Учитывая количество выпитого, заказчик понял, что ему будет достаточно и 10 мс (больше он выпить не смог )