|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
17.10.2023, 09:59 | #1 |
Senior Member
Регистрация: Jan 2013
Сообщения: 740
Благодарил(а): 22 раз(а)
Поблагодарили:
13 раз(а) в 12 сообщениях
|
Период опроса переменных
Как лучше выбирать значение? К контроллеру у меня подключены несколько (8шт) устройств как слейвы. Контроллер опрашивает с них по 10 регистров, групповых запросов нет. Цикл опроса я поставил 1000мс, да таймаут 1000мс, при этом связь бывает что с ошибками. Каким образом происходит опрос в данном случае и что значит цикл опроса? Потому что выдержать точно заданный цикл опроса в 1 секунду система очевидно не сможет в таких условиях. Значит ли это, что цикл опроса в данном случае означает что переменная опрашивается "не чаще", а дальше система просто опрашивает регистры по своему циклу в порядке очередности, выдерживая таймауты и вот это вот все? Или это мне надо задать такой цикл опроса, чтобы система гарантировано все успела сделать (с возможными таймаутами), т.к. она строго начнет новый цикл опроса переменных через указанное время, скажем с переменной №1 (условно)?
|
17.10.2023, 11:59 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Период опроса переменных
Выбор состоит из решения системы уравнений:
1) Как часто нужна информация. Например, наружную температуру опрашивать 10 раз в секунду можно, но бессмысленно. 2) Насколько загружен канал связи В простейших случаях тупо ставите опрос равным времени цикла программы. В сложных случаях решаете систему уравнений. Добавлено через 1 минуту Зачем? У вас скорость порта 120 бит/сек или очень медленно работающие слейвы? В вашем случае да. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |