На МЭ110 3М могу на ModBus.lib код дать, но у меня там не все параметры опрашиваются. Если чего не хватит можете сами допилить. Только версия прошивки модуля должна быть не ниже 1.23
На МЭ110 3М могу на ModBus.lib код дать, но у меня там не все параметры опрашиваются. Если чего не хватит можете сами допилить. Только версия прошивки модуля должна быть не ниже 1.23
Уважаемый производитель, когда же будут шаблоны на все модули, выпускаемые Вами?
Дмитрий
А почему шаблоны построены не на групповых запросов. Ведь для того же мв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мс. Вроде бы тоже логично сами виноваты . Мастер танцует как может.
Но если среди слейв устройств будут разные по времени опроса регистры. Они также будут опрашиваться с тем временем которое получится? Или более низкая уставка опроса будет иметь приоритет?.
Если приоритета нет, то отсутствие групповых запросов в шаблонах это просто вредительствоПотому что работа по шаблонам в текущем виде ( я про те модули где регистров много) и так не высокий отклик по сети модбас, делает не предсказуемым
Сами по судите у меня в системе 4 модуля. мв110_8а, мв110_8а, му110_16к,мк110_8д_4р. Если строить все на ваших шаблонах то опрос дискретных входов в последнем модуле наступит. Только через 1500мс и даже если убрать из опроса половину не нужных регистров, то время реакции системы 400-500мс на дискретное событие видеться чудовищным. Я уже не говорю что запрос реал значения скажем температуры и циклическое время измерения очень желательно синхронизировать
Все, понял о чем речь.
Со 100% уверенностью не могу сказать (а на практике отследить этот момент достаточно сложно), но думаю, что под периодом опроса имелся в виду "минимальный период опроса", а не гарантированный период опроса.
Т.е. если очередь опроса параметра дошла до него, а время до след. опроса еще не прошло, то параметр просто пропускается, но все параметры опрашиваются циклически.
Но это мои догадки. Ответить со 100% вероятностью смогут только разработчики в 3S.
На днях, возможно, придется работать с большим кол-вом модулей, там на практике попытаюсь отловить этот момент.