|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
21.10.2019, 15:22 | #1 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Время реакции модуля ввода/вывода
Возникли подозрения что модуль работает с "не теми" задержками которые планировались. Вот и решил убедиться в этом. Написал простенькую программу: подаю на 2-й вход xor лог1 (на первом входе всегда лог1) одновременно пропадает сигнал на входе и срабатывает триггер который запускает счетчик. Через паузу (которую создает вв/в) этот счетчик сбрасывается. У меня показания разнятся от 2 до 4.
Цикл программы 14мс, цикл опроса модуля 10мс (т.е. опрос выполняется примерно с программой), протокол modbus TCP. Вопрос все ли я делаю правильно? Можно ли принять какие-нибудь меры к уменьшению этого времени? Картинки - слева начало опыта, справа-конец. |
21.10.2019, 15:43 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
Цитата:
Далее уже можно строить предположения. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
21.10.2019, 16:33 | #3 | |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
Цитата:
P.S. 5 719 - это посчитанное значение статистики за 1 минуту. |
|
21.10.2019, 17:11 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
Цитата:
Исходя из времени цикла 14 мс, задержка в одну сторону у вас от 4 до 23 мс. Две стороны - 10..46 мс. Т.е. 1..4 цикла программы. Приблизительно. Т.е. получаемые вами 2..4 цикла - вполне нормальная ситуация. Т.к. к вероятность попасть в промежуток 10..14 невелика. Там даже не с 10 начало, а даже побольше, 11..12 наверное по факту. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
21.10.2019, 18:09 | #5 | |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
Цитата:
Спасибо за разъяснения. |
|
21.10.2019, 18:27 | #6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
Попробуйте период опроса увеличить с 10 до 14 мс. Это может снизить максимум задержек из-за "плавающего" несовпадения периодов опроса и периода выполнения программы.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.10.2019, 18:38 | #7 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
|
09.05.2020, 18:20 | #8 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
Хорошо. А если попробовать опрашивать переменные не с фиксированным периодом, а по событию: изменение значения битовой маски и для страховки сравнение уже записанного со входным? Чтобы впустую не гонять каждую переменную по кругу? Это даст выигрыш в скорости опроса переменных?
Только нет в описании как будет работать переменная с нециклическим опросом в случае если дать сигнал на запись, а потом через один цикл снова подать тот же сигнал, когда при этом запись по первому сигналу не была еще произведена (нет подтверждения rdy). Я правильно понимаю что если rdy неравен 1 то запись будет недоступна? Или может там создается очередь по количеству насчитанных сигналов на входе ^? Последний раз редактировалось RomanIst, 09.05.2020 в 18:35 |
09.05.2020, 19:01 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
09.05.2020, 23:11 | #10 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
|
12.05.2020, 11:37 | #11 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 355
Благодарил(а): 0 раз(а)
Поблагодарили:
256 раз(а) в 252 сообщениях
|
Ответ: Время реакции модуля ввода/вывода
При таком способе групповые опросы тоже возможны.
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |