А почему шаблоны построены не на групповых запросов. Ведь для того же мв110-8а один запрос где читаются 48 регистров должен быть быстрее чем 40 отдельных запросов или нет?
А почему шаблоны построены не на групповых запросов. Ведь для того же мв110-8а один запрос где читаются 48 регистров должен быть быстрее чем 40 отдельных запросов или нет?
Последний раз редактировалось artvhm; 19.02.2015 в 12:55.
Мне очень интересно разобраться как происходит обмен при работе через конфигуратор. Смотрите на скорости 38400 запрос одного регистра примерно 3мс+2мс задержка ответа модуля+3мс ответ модуля+10мс время между фреймами по умолчанию. Итого 18мс. В шаблоне 40 запросов, пусть нам нужны только 16. На это нужно 288 мс. Значит больше трех модулей в секунду мы не опросим . А при групповом запросе всех регистров получаем 3мс+2+16+10=31 мс. Что почти в 10 раз быстрее. И второй момент как ведёт себя планировщик, если он не успевает опросить регистры с отведенной частотой. В шаблоне по умолчанию 100мс. С такой скоростью по моим подсчетам можно успеть опрашивать только 5 регистров. А что случается когда их допустим 16?
Последний раз редактировалось artvhm; 20.02.2015 в 10:39.
Немного не пойму, откуда взялось ограничение. И почему именно 100мс?
Признаться, я такого не помню.
Модули опрашиваются по кругу. Т.е. 1-й,2-й,3-й,... n-nй.
Программа вернется к 1му модулю не раньше, чем будут опрошены все модули вне зависимости от того, сколько времени займет опрос 1го модуля и от того, сколько времени займет опрос всех модулей.
Но это относится к функционированию модуля Modbus Master, а он реализован компанией 3S.
Нами же реализованы только шаблоны модулей Mx110
это не ограничение, это время цикла опроса, регистров в вашем шаблоне. Разумеется время можно изменить, но по умолчанию оно такое.
В том и дело если опрос по модбас не используется на максимум. Опрос идет не по модулям, а по циклу опроса регистров. У меня например мастер успешно опрашивает 4-ый по счету модуль каждые 100мс, 1 и 2 каждые 500мс, 3 каждую 1000мс. Тут все логично и понятно обмен успевает пройти в оговоренные рамки. Меня интересует что будет когда мастер не может опросить регистр с скоростью установленное во времени цикла. Ваш шаблон был просто для примера у вас 40 запросов, с временем цикла каждого 100мс. Если модуль один и остальные настройки таргета в части модбаса не трогать. То после опроса 5 регистра, наступит время опроса 1, но остаются не опрошенными еще 35 регистров. И вполне очевидно что мастер продолжит опрашивать их и только дойдя до последнего, вернется к первому. Т.е. реальный опрос будет идти каждые 700-750мс, вместо установленных 100мс. Вроде бы тоже логично сами виноваты. Мастер танцует как может.
Но если среди слейв устройств будут разные по времени опроса регистры. Они также будут опрашиваться с тем временем которое получится? Или более низкая уставка опроса будет иметь приоритет?.
Если приоритета нет, то отсутствие групповых запросов в шаблонах это просто вредительствоПотому что работа по шаблонам в текущем виде ( я про те модули где регистров много) и так не высокий отклик по сети модбас, делает не предсказуемым
Все, понял о чем речь.
Со 100% уверенностью не могу сказать (а на практике отследить этот момент достаточно сложно), но думаю, что под периодом опроса имелся в виду "минимальный период опроса", а не гарантированный период опроса.
Т.е. если очередь опроса параметра дошла до него, а время до след. опроса еще не прошло, то параметр просто пропускается, но все параметры опрашиваются циклически.
Но это мои догадки. Ответить со 100% вероятностью смогут только разработчики в 3S.
На днях, возможно, придется работать с большим кол-вом модулей, там на практике попытаюсь отловить этот момент.
Последний раз редактировалось artvhm; 20.02.2015 в 12:44.
Сами по судите у меня в системе 4 модуля. мв110_8а, мв110_8а, му110_16к,мк110_8д_4р. Если строить все на ваших шаблонах то опрос дискретных входов в последнем модуле наступит. Только через 1500мс и даже если убрать из опроса половину не нужных регистров, то время реакции системы 400-500мс на дискретное событие видеться чудовищным. Я уже не говорю что запрос реал значения скажем температуры и циклическое время измерения очень желательно синхронизировать