Добрый день :)
Планируем добавить поддержку групповых запросов в Owen Logic для новых приборов.
Хотелось бы услышать ваши мнения и пожелания.
Как вы видите работу и настройку групповых запросов в Logic?
Добрый день :)
Планируем добавить поддержку групповых запросов в Owen Logic для новых приборов.
Хотелось бы услышать ваши мнения и пожелания.
Как вы видите работу и настройку групповых запросов в Logic?
1. запрос по команде без выставления максимума времени опроса.
2. настройка типов переменных в группе запроса.
По поводу п.2 можете чуть подобнее рассказать?
EvgenyR чтобы не получилось так, что при чтении того же модуля 8А пришлось делать несколько запросов так как переменные каналов со статусом идут в перемежку float, int, float, int
т.е. нужно чтение данных из нескольких регистров подряд, независимо от типа переменных в них?
Да, с последующей настройкой в соответствующем окне типа переменных.
Я бы хотел видеть это следующим образом.Цитата:
Как вы видите работу и настройку групповых запросов в Logic?
Новая кнопка в настройках модбас мастера - "Создать групповой запрос". (в принципе, можно сохранить одну кнопку, так как одиночный запрос является вырожденным вариантом группового запроса).
В настройках пользователь выбирает функцию Modbus, адрес начального регистра и число регистров/бит в запросе.
В результате создается узел, в который можно добавить переменные, связанные с регистрами запроса.
Для них уже настраиваются только адреса регистров (это необходимо, так как в запросе могут быть "лишние" данные, которые не надо копировать в переменные программы).
Должна быть возможность сворачивать/разворачивать содержимое узлов.
Вероятно, должна быть предусмотрена валидация типов - в запросах с битовыми функциями не должно быть возможности добавить переменные типы Целочисленный/С плавающей точкой и наоборот - в запросе с регистрами нельзя добавить тип Булевский.
Вложение 52409
Сейчас работаем над выпуском новых приборов, и хотим добавить в них наиболее востребованные функции.
На старых да, пока не планируется.
Есть ли ситуации, когда использование не-группового запроса предпочтительнее, чем использование группового?
Очень бы хотелось чтобы для группы или переменной можно было задать период опроса. Не все переменные нужно опрашивать часто. А если что-то нужно быстро опросить, то из-за остальных ненужных переменных время отклика растет
Не оно? Вложение 52444
В программе указать активность переменной, когда читать, когда писать...
Ну ребята, ну согласитесь, что это через одно место сделано. Неужели нормально сделать нельзя, чтобы удобно было, а не через костыли. В этой теме то спросили как лучше сделать, а не как костыль очередной от безысходности прилепить
Я вижу это в виде задания времени опроса около каждой переменной или группы. Если сложно сделать ручной ввод, то предложите фиксированный набор
Это будет сделано в одной из следующих версий Лоджика, поддерживающей новые приборы (ПР103, например)
Опрос по периоду можно будет задать для каждой переменной индивидуально или вообще отключить опрос по периоду для этой переменной.
Сколько регистров, по вашему опыту, требуется обычно опросить одним групповым запросом?
Здравствуйте!
Можно к дискретным входам прикрутить регистр с битовой маской, как дополнение к имеющимся. Или, вообще, перейти на маску, и регистры высвободятся. И к дискретным выходам так же.
Используйте блок записи бита и чтения ...
bayk это где вы EK270 с Modbus нашли? там же вроде МЭК61107
Вот что нашел по этому поводу..
"Корректор разрабатывался как устройство с низким энергопотреблением, рассчитанным на длительную работу от внутренних источников питания. Основные параметры измеряются и вычисляются с циклом 20 сек, остальные 300 сек. Таким образом, получение данных реального времени с периодом в 1 секунду не имеет смысла, так как читаются одни те же значения в течении достаточно большого промежутка времени.
Если в процессе обмена произошёл сбой и корректор перестал отвечать, необходимо остановить сеанс выждать 1,5 — 2 мин и возобновить сеанс."
Вот как раз по этой ссылке. Так что я не раскатывал бы губу на чтение EK-шек при помощи ПР200
Это я так понимаю, вы EK переключили в режим Modbus и пытались его так читать, странно, почему тогда люди не пользуются этим, а оставляют его на родном протоколе.?
А я и не говорил, что я его пр-кой читал. Читать. Его надо было плк, и не Овен. В модбас он умел только при наличии внешнего питания. Но факт того, что в процессе считывания модбас могло произойти изминение части считываемрго числа было на лицо. Да, не всегда, но периодически это вылазило. Эльстер признали косяк и сказали - мы править не будем, не до этого. Читать его родным протоколом возможности не было. Идею его опроса родили как всегда в процессе. И кроме подвешивания его в общую кучу к другим модбас устройствам возможности не было. Зак сказал -написано что умеет - читайте.
Но это лирика. Я привет этот пример ни к тому , что надо его читать пр-кой, а к тому, что фиксация значений на момент передачи всего группового запроса нужна. Нельзя просто собирать данные в запрос в онлайне. Надо делать выборку куда-то а уже ее передавать в ответ на запрос.
Вопрос: Есть ПР200 работающий в режиме Master. Если десять регистров. Они идут подряд (Регистры: 1,2,3,4...10). Их функция чтения 0x03 (Read Multiple registers). В этом случае ПР200 будет делать один запрос на чтение сразу всех 10 регистров или будет делать 10 запросов по одному регистру.
Описал выше очевидный сценарий работы.
P.S. В документации ничего не нашел. Но поскольку используется функция Read Multiple registers то очевидно должна происходить группировка регистров. Правильно?
В указателе кол-ва регистров сделать не 1...2 регистра, а до 64. Галочка "групповой запрос" непонятно зачем. И предел в 64 регистра в ПР200 это очень мало.
64 регистра - это же ограничение для слейва, для мастера тоже есть ограничения? Или независимо от мастер-слейв ПР200 максимум может иметь 64 сетевых переменных?
Ollema мастер ограничений не имеет, так как прочитав, вы берете данные в какую-то переменную, не обязательно сетевую.
Я зачем ее брать в какую то переменную, если значение уже в переменной (в сетевой)?
А что будет если по переменным пр200 (слейв) обявленным как выходные ( по ее регистрам) в обратную сторону с спк мастер попытаться что то записать?