
Сообщение от
Easy_Enemy
Да, там, по документации получается, что-то типа 2 по 2,5 мс на чтение/формирование ответа и по 20мс на запрос-ответ, просто странно как-то.. фактически же одно и тоже, мы ничего лишнего не обрабатываем между перемещением к следующему регистру.. уж не на 45 мс.. При этом, мы же ждем обработку данных (IF Mdl.pDisp^.GetInputRegs.Complete THEN), или я что-то путаю? В довесок - при опросе через цикл - у нас прям все данные - нули и, если я правильно понимаю, даже, если шлюз не успевает ответить - как минимум первое значение мы же должны были получить?..
Ну и, с точки зрения опыта - есть, может быть, у кого-то мысли, как сделать правильно в данной ситуации?.. Получается, железка довольно медленная, информации с нее - много. Опрос получается нереально долгим.. Уже придется делить не то, что "сейчас - чтение, в следующее обращение - запись", а, прям "один цикл - один кондей"
Пробовал переиначить, выбросив FOR, использовав IF CurrentCon <> 7 ... CurrentCon:=CurrentCon+1; в конце обработки данных, что, по-сути около-одно и тоже, с другой стороны - не понимаю, чем использование "следующего шага" отличается настолько, что с ним все преображается..