Ну вот в аналоговых вводах есть же время измерения. А тут, я так понял, для неверующих в вывод ограничились ШИМ. Если надо что-то изменять быстро, изменяй это с определенной частотой. Впринципе верно. Ну вот представляете на 1000 тонн включить здесь, а там ещё не выключилось? И всё так начинает падать вниз, и потом так бах включается всё-таки и скрежет и стоны и потом заклин и уже ничем не поднять не выбить. Я конечно утрирую ситуацию, не всё так драматично, но инстинктивно хочется иметь несколько рубежей обороны.
Категорически не согласен. Инициация запросов - между циклами. Сам обмен - на прерываниях.
Вы об обмене ? Это что за скорость-то ?
Как сказали Николаев А. и ASo - modbus.lib позволяет все это.
Если я использую своего мастера - я в состоянии посчитать гарантированное время.
На счет внеочередности - сначала мутил приоритеты. После, сидя в очереди в поликлинике, понял - внеочередность - зло. И больше не имею проблем с обменом.
Последний раз редактировалось Валенок; 21.08.2011 в 21:25.
Как привязать обмен по RS485 к времени исполнения программы?
Т.Е. задаём в менеджере задач выполнение программы циклично-цикл 20-50мс (быстрее всё равно не нужно, и времени на обмен достаточно остаётся, более 80-90% процессорного времени)
задача после прогона инициализирует обмен по каналу RS485 по протоколу modbus rtu.
Обьём ввода-вывода задаём таким, чтобы при импульсной непереодичной помехе успеть сделать второй обмен.
Последний раз редактировалось Алексей Геннадьевич; 23.01.2014 в 14:08.