21.jpg
оба устройства настроены одинаково. на 115200
21.jpg
оба устройства настроены одинаково. на 115200
поменял 04 на 03. не помогло.
Последний раз редактировалось stumex; 25.01.2016 в 14:32.
10мс цикл на цикл основной программы... и при этом 10мс между фреймами... не будет работать.
Попробуйте
1) Увеличить время в MainTask до 50мс.
2) уменьшить время между фреймами до 2-3мс
3) Скорость на порту - 115200
4) Время опроса кратно времени цикла задачи (50, 100, 150, 200... мс)
и все будет хорошо.
и все будет работать нормально.
P.S. Ждем результатов
Последний раз редактировалось orensnake; 25.01.2016 в 18:40.
Задача с визуализацией у Вас отдельно выполняется?
На визуализацию обычно ставлю 200 - 400мс
Скорости 115200 нигде в своих проектах не использую, так как опытным путем нашел меньшие скорости, но с большей устойчивостью соединения.
9600,19200,38400 Тем более где бы не соединял, везде есть помехи.
+79104444236
С уважением,
Лапшин Вячеслав
А мне интересно, зачем закладывать в проект СПК + модули, если критична задержка?
В любом варианте задержка будет плавать.
ПЛК110 + быстрые входа\выхода - вот там и нужно играться.
Давайте посчитаем?
Дано:
время на основную программу в 10мс
временя между фреймами в 2 мс
Используется каналов на порту - 4 (по 2 на каждом из устройств)
каждый из каналов подразумевает работу в режиме запрос от мастера - ответ от слейва.
То есть имеем
{запрос 8-10байт} - {пауза 2 мс} { ответ 6-8 байт} {пауза 2 мс} на каждый из каналов. У Вас используется 4 канала.
Усредним, предположим что длина запроса и ответа одинакова и =10 байтам. 10 байт - ориентировочно 100 бит. 100 бит при скорости 115200 - это 1/1152 сек, то есть около 1 мс. Соответственно на 1 опрос одного канала потребуется:
1+2+1+2 мс, то есть 6 мс. (и это не учитывая время, связанное с обработкой запроса слейв устройством, и времени на формирование ответа).
на опрос 4 каналов - 4*6=24 мс.
Вывод. При скорости 115200 и идеальном состоянии линии время выполнения для 4 каналов составляет 24 мс. Меньше не получится чисто физически. Еще докиньте некоторое время на обработку самой вашей программы. Ну к примеру 3 мс (если она почти пустая). Итог - менее 30мс на ПЛК на задачу использовать нереально Вы же хотите 10мс.
Не выходит-с.
Если будете пробовать с временем на задачу 30мс - то не забудьте поправить в каналах время опросов. Выставьте там КРАТНОЕ время опроса каналов относительно времени исполнения задачи. в Вашем случае с 10мс переставиьт на 30, и со 100 - на 90 или 120мс. Если в настройке каналов оставите текущие значения - получите нестабильную работу.
Последний раз редактировалось orensnake; 26.01.2016 в 10:52.