Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Ну почему же, ответ получен, он лежит в буфере и ничего с ним не произойдет. Когда этот буфер читать (в каком цикле) какая разница? Просто, на все уходит время и читать буфер 232го, а так же делать прочие полезные вещи, я хочу пока ходят запросы/ответы по 485му.
начять нужно с того, что за прием данных из порта отвечает отдельная микросхема, её глубоко безразлично, что происходит в самом плк, она среагировала на мусор в сети и переписала буффер, ей чуждо гарантировать хранение информации в прошлом, если даже оно измеряется в миллисекундах
какое время? Выполнение функции занимает микросекунды, на сам цикл плк это не оказывает ни какого влияния, по большому счету это время равно или даже меньше, чем тот комплекс мероприятий, чтоб выполнять эту же самую функцию по какому то специфичному закону
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
С тем что данные в буфере портятся пока не сталкивался, пусть даже и так, при чтении ошибка обнаружится. Для меня не критичны в данном случае единичные ошибки на 232м (тем более, что их нет). А вот на 485м новые данные появляются через каждые 20ms и если запрос/ответ 20-22ms - это одно, а когда 18-20ms - это совсем другое.
ну и в чем проблема, обеспечение регулярности запросов обычно делают через таймер, он не смотрит какой сейчас по счету цикл, он сравнивает время и отправляет начальный пакет, хоть один цикл пройдет, хоть пять, главное чтоб период подошел для отправки. И какая тут связи между разными портами?
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Проблема в том, что если время между ответом и новым запросом 5мс - 232й не падает, а если 1мс - падает (со временем и время от времени). Время условно и приблизительно. Один и тот же код на одном ПЛК работает, а на другом нет - меня это напрягает, вас, может быть нет )
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Я время точно не меряю, это так... приблизительно. Время цикла на новом ПЛК 1мс на старом 5мс, плюс минус. 485й же не отваливается даже если новый запрос слать в том же цикле в каком ответ получен. Может быть это и "Кинко" отваливается (если вы о 1.75мс). Щя проверю, сброшу питание на панели как только порт озябнет и отпишусь )
По стандарту RTU пауза должна быть не менее 3.5 символов, но на больших скоростях допускается и 1 мс и более.
А если подключить не к 232 а к DBGU?
Тролль-наседка, добрый, нежный и ласковый