PDA

Просмотр полной версии : ПР200 ограничение на 64 регистра в режиме Slave



Спорягин Кирилл
18.02.2022, 15:17
День добрый, тех. поддержка.

1. Подскажите, пожалуйста, ограничение в 64 регистра в режиме слейв для одного интерфейса для ПР200 актуально?
2. Если да, то можно ли его как-то обойти, т.е. увеличить число регистров в режиме слейв на одном интерфейсе?
3. Не планирует ли ОВЕН увеличить данное значение. На данный момент мне необходимо иметь примерно 80 регистров в режиме слейв. Немного не хватает.
Второй интерфейс использовать не могу, так как он задействован в режиме мастер.

Сергей0308
18.02.2022, 15:24
День добрый, тех. поддержка.

1. Подскажите, пожалуйста, ограничение в 64 регистра в режиме слейв для одного интерфейса для ПР200 актуально?
2. Если да, то можно ли его как-то обойти, т.е. увеличить число регистров в режиме слейв на одном интерфейсе?
3. Не планирует ли ОВЕН увеличить данное значение. На данный момент мне необходимо иметь примерно 80 регистров в режиме слейв. Немного не хватает.
Второй интерфейс использовать не могу, так как он задействован в режиме мастер.

Может у Вас передаются переменные с плавающей запятой, можно преобразовать в целочисленные, диапазона "инт-а" хватит для большинства случаев, я и макросы выкладывал для преобразования флоат в инт для передачи отрицательных значений! Короче, это может позволить увеличить количества переменных до двух раз!

kondor3000
18.02.2022, 15:36
День добрый, тех. поддержка.

1. Подскажите, пожалуйста, ограничение в 64 регистра в режиме слейв для одного интерфейса для ПР200 актуально?
2. Если да, то можно ли его как-то обойти, т.е. увеличить число регистров в режиме слейв на одном интерфейсе?
3. Не планирует ли ОВЕН увеличить данное значение. На данный момент мне необходимо иметь примерно 80 регистров в режиме слейв. Немного не хватает.
Второй интерфейс использовать не могу, так как он задействован в режиме мастер.

А если ещё биты упаковать в маски, то уменьшение количества регистров дойдёт до 16 раз.

Ревака Юрий
18.02.2022, 15:53
День добрый, тех. поддержка.

1. Подскажите, пожалуйста, ограничение в 64 регистра в режиме слейв для одного интерфейса для ПР200 актуально?
2. Если да, то можно ли его как-то обойти, т.е. увеличить число регистров в режиме слейв на одном интерфейсе?
3. Не планирует ли ОВЕН увеличить данное значение. На данный момент мне необходимо иметь примерно 80 регистров в режиме слейв. Немного не хватает.
Второй интерфейс использовать не могу, так как он задействован в режиме мастер.

Добрый день. Второй интерфейс даже в режиме слейв не даст увеличения регистров в 2 раза, останется все те же 64. Выход пока один, оптимизировать если это возможно передачу информации через сеть.

Спорягин Кирилл
18.02.2022, 16:01
Всем спасибо за ответы.

К сожалению, ни одной вещественной переменной нет. Все биты разумеется упакованы в регистры.

А увеличить ОВЕН не планирует?
Вот нужно буквальное еще немного. Поверьте ПР200 не перегружена, даже наоборот памяти для программы свободной больше половины.
Просто она у меня типа хаба данных. И чтобы все было красиво еще бы немного памяти на слейве...

Андрей Посохов
18.02.2022, 16:14
Всем спасибо за ответы.

К сожалению, ни одной вещественной переменной нет. Все биты разумеется упакованы в регистры.

А увеличить ОВЕН не планирует?
Вот нужно буквальное еще немного. Поверьте ПР200 не перегружена, даже наоборот памяти для программы свободной больше половины.
Просто она у меня типа хаба данных. И чтобы все было красиво еще бы немного памяти на слейве...

Добрый день.
В ПР200 пока увеличивать эту область не планируем.
Понимаем, что нужно, поэтом, расширили эту область в приборах, начиная с ПР103.
Дальше будет ПР205, где эта область так же будет кратно выше, чем в ПР200.
Пока только така информация.

А как часто вам в ПР200 не хватает переменных, какие это в основном задачи?

Спорягин Кирилл
18.02.2022, 16:27
Добрый день.
В ПР200 пока увеличивать эту область не планируем.
Понимаем, что нужно, поэтом, расширили эту область в приборах, начиная с ПР103.
Дальше будет ПР205, где эта область так же будет кратно выше, чем в ПР200.
Пока только така информация.

А как часто вам в ПР200 не хватает переменных, какие это в основном задачи?

Уже на протяжении последнего года задачи одни - автомойки самооблуживания.

ПР200 устанавливаем на моечном посту.
В его задачу входит принимать дискретные сигналы о нажатии кнопок. Для каждой кнопки помимо состояния входа передается счетчик.
Тут надо учитывать, что кнопок может быть много, поэтому иногда ставим модуль ПРМ. Итого получаем уже порядка 16 счетчиков.
Так же ПР200 подсвечивает лампочки на кнопках. Тут используем дискретные выходы.

Ну и ключевое. Чтобы тянуть только 1 витую пару на пост, ПР200 общается со светодиодным индикатором, установленным на посту.
На светодиодный индикатор передается много различных данных.
Вот, чтобы не мудрить с этими данными было бы красиво, если бы ПР200 был бы просто транслятором. Но сейчас так не получается.
Приходится условно говоря часть данных кодировать в ПЛК и затем раскодировать в ПР200. Так, например, название программы передается в ПР200 в виде номера (1 регистр).
Поэтому при изменении названия программ, все время приходится изменять код ПР200 и перезаливать.
Если бы ПР200 просто транслировала регистры строки названия, то все изменения касались бы только ПЛК.

Ревака Юрий
18.02.2022, 16:31
Уже на протяжении последнего года задачи одни - автомойки самооблуживания.

ПР200 устанавливаем на моечном посту.
В его задачу входит принимать дискретные сигналы о нажатии кнопок. Для каждой кнопки помимо состояния входа передается счетчик.
Тут надо учитывать, что кнопок может быть много, поэтому иногда ставим модуль ПРМ. Итого получаем уже порядка 16 счетчиков.
Так же ПР200 подсвечивает лампочки на кнопках. Тут используем дискретные выходы.

Ну и ключевое. Чтобы тянуть только 1 витую пару на пост, ПР200 общается со светодиодным индикатором, установленным на посту.
На светодиодный индикатор передается много различных данных.
Вот, чтобы не мудрить с этими данными было бы красиво, если бы ПР200 был бы просто транслятором. Но сейчас так не получается.
Приходится условно говоря часть данных кодировать в ПЛК и затем раскодировать в ПР200. Так, например, название программы передается в ПР200 в виде номера (1 регистр).
Поэтому при изменении названия программ, все время приходится изменять код ПР200 и перезаливать.
Если бы ПР200 просто транслировала регистры строки названия, то все изменения касались бы только ПЛК.

А сделать ПР мастером не вариант?

Спорягин Кирилл
18.02.2022, 16:32
А сделать ПР мастером не вариант?

Хм. Это мысль.
Не думал, об этом...

Но, нет не вариант. ПР200 много, а ПЛК один.

Aviator_VZh
18.02.2022, 16:50
Можно попробовать с помощью одной сетевой переменной переключать массивы переменных в ПР200 с которыми работают остальные 63 сетевых переменных.
Когда-то делал для себя ради интереса в связке ПР200 - СП307. С помощью одной сетевой переменной изменяются шесть переменных в ПР200 в зависимости от экрана, с которого вводится значение.
Может поможет. ОЛ 1.16.252.20224

59403
59404

Ollema
18.02.2022, 17:02
Вообще то целочисленный регистр может быть 4 байтным. В него можно упаковать два обычных двухбайтовых. Потом распаковать. Делал так, работает. Экономия в два раза.

Сергей0308
18.02.2022, 17:28
Насколько понял у вас передаются булевы сигналы(все упакованы в регистры по 16 бит) и значения счётчиков(не совсем понятно для чего, это не принципиально), короче может можно уменьшить диапазон счётчиков в 2 раза, тогда одним регистром сможете передавать в 2 раза больше значений счётчиков(вам, насколько понимаю будет достаточно), а ПЛК при переполнении счётчика добавит его диапазон к значению счётчика, надеюсь смысл понятен и я ранее выкладывал проекты как упаковывать несколько значений в одну переменную(регистр)!

59405

59406

И ещё можно и последовательно одним регистром несколько переменных передавать, 1-2 бита использовать для метки(служебной информации).

59408

В одной из тем форума я предлагал передавать последовательно 128 переменных(16 бит), тогда и одного регистра вам хватит, если сильно не спешите(задержка увеличится)! Один байт использовать для передачи данных, второй - служебной информации, чтобы потом из двух байтов обратно переменные собирать!

И ещё возможный вариант решения заключается в том, что может не все счётчики одновременно работают(изменяют своё значение), тогда можно передавать значения счётчиков, которые меняются, для этого меньше регистров потребуется, возможно это немного усложнит программу, хотя не факт, у меня встречались случаи при добавления функций в программу, программа в целом упрощалась!