|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Эмуляция задержки по времени
Добрый день, коллеги.
Прошу навести на мысль. Пишу эмулятор некоторых приборов, которые висят на одной шине RS-485. Работа идет через COM-порт. Суть: от главного контроллера приходит запрос. На запрос нужно послать ответ с задержкой (у разных "приборов" разная). Моя реализация выглядит так: 1. Виртуальная шина данных, к которой аттачатся виртуальные "приборы". 2. Шина открывает COM-порт и получая с него данные бродкастит на все приаттаченные виртуальные устройства (вызов функции обработки сообщения всех "приборов" в цикле). 3. "Прибор" получив запрос формирует ответ и отправляет в шину. 4. Шина перенаправляет ответ в COM-порт. Как я уже сказал, ответ должен улетать с задержкой. И эта задержка не должна влиять на "работу" других виртуальных приборов. Ломаю голову, как сделать эту временную задержку (для каждого прибора свою) на одной шине. Использовать по окну и таймеру для каждого виртуального устройства как-то расточительно. Есть идеи? Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |