Показать сообщение отдельно
Старый 23.06.2018, 01:48   #29
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
Angry Ответ: Что, если требуется несколько RS-485

Цитата:
Сообщение от Gel Посмотреть сообщение
А как же тогда "все асинхронно"?
Да элементарно.
Истек заданный период опроса? Запрос будет выполнен "as soon as possible".
Дёрнули вход в FBD при нулевом цикле опроса? Запрос будет выполнен "as soon as possible".
Асинхронность проявляется в том, что перед запросом, для которого вы дернули вход, в очереди может стоять еще парочка, событие "as soon as possible" для которых наступило раньше. И одно из устройств (оп-ля) в этот момент сломалось и не отвечает. И тайм-аут неответа для него соизмерим тику контроллера (ну, скажем, 995 мс). И -гулять так гулять! - Джамшут с Равшаном крепили пакет для мусора и просверлили плату второго устройства, которое (какая неожиданность!) тоже не ответит на запрос (ну, пусть для него тайм-аут будет 1500 мс, для наглядности).
Итого выходит:
- Все работает идеально: ответ получен быстрее тика в 1000 мс (иллюзия синхронности).
- Бац, и один девайс сдох: ответ на рассматриваемый запрос чудом успел прийти до конца тика в 1000 мс. Или не успел (синхронность становится совсем иллюзорной).
- И тут пришел Джамшут...

Вопрос:
Можно ли считать синхронной систему, в которой ответ может прийти к следующему тику, может прийти но не обязательно, а может заведомо не прийти. Причем вероятность получения ответа в расчетное время - от программиста никак не зависит?
ailcat вне форума   Ответить с цитированием