PDA

Просмотр полной версии : Как обойти ограничение ПР200 в 63 целочисленных регистра SLAVE?



arty
22.07.2020, 10:20
Добрый день, ПР200 выступает как слэйв. Не могу создать более 63 регистров, биты упаковываю, экономлю как могу, но нужно больше. Подскажите пожалуйста что сделать,может быть есть настройка, галочка или аппаратная перемычка, которая снимает ограничение?
У уважением, Артур

Сергей0308
22.07.2020, 11:07
Добрый день, ПР200 выступает как слэйв. Не могу создать более 63 регистров, биты упаковываю, экономлю как могу, но нужно больше. Подскажите пожалуйста что сделать,может быть есть настройка, галочка или аппаратная перемычка, которая снимает ограничение?
У уважением, Артур

Вообще-то 64 регистра, это более 1000 бит(дискретных сигналов), если у Вас более - поставьте рядом две ПР200, ПР на такое не было рассчитано!

Ревака Юрий
22.07.2020, 11:39
Если мало регистров - видимо нужно переходить на библиотеки.

На какие? :)

Ревака Юрий
22.07.2020, 11:41
Добрый день, ПР200 выступает как слэйв. Не могу создать более 63 регистров, биты упаковываю, экономлю как могу, но нужно больше. Подскажите пожалуйста что сделать,может быть есть настройка, галочка или аппаратная перемычка, которая снимает ограничение?
У уважением, Артур

Если бы перемычка решала все проблемы :), оптимизируйте данные, возможно float регистры можно заменить на int, ну и по битам посмотреть, сгруппировать по маске. Если все регистры INT, то пока никак.

Серёга Букашкин
22.07.2020, 12:10
Если у Вас всё же допускается упаковка информации, то Мастер обладает аппаратом чтения массивами и распаковки более сложным, чем регистровая логика. Не все же данные нужно наверное передавать максимально быстро, можно применять мультиплексирование информации в регистрах по сопроводительным флажкам или номеров индекса и распаковывать по ним один сигнал в целый массив данных (кратно медленнее, чем при прямом приёме). С СП300 в качестве мастера вполне рабочее решение мультиплексировать целый массив данных по флажку, это работает даже без заметной задержки в получении данных. Только для простейших панелей (например ИП320) это недоступно. Укажите какой у Вас мастер, и если в нем допускается обработка, то все пути открыты и формально можно передать сколь угодно много, хоть и медленнее. Например я передаю 32 нединамических регистра int в формате 0...100 (всякие настройки системы) всего одним регистром, в старших битах отдавая текущий индекс. Обновление каждого в этом случае будет через каждые 32 сеанса обмена, но иногда это вполне приемлемо. Конечно хотелось бы иметь от слейва хотя бы 256 байт, было бы многое проще в деле информационного обслуживания ПР200, но уж что имеем.

Сергей0308
22.07.2020, 14:43
Я ранее, в одной из тем предлагал разбить регистр на два байта, один использовать как служебный, второй для передачи данных, таким образом получится передать в одном регистре до 128 переменных диапазона 0-65535! Это если спешить сильно не нужно!

https://owen.ru/forum/showthread.php?t=23807&page=5

приборист
22.07.2020, 17:07
На какие? :)

63, магическая циферь :)
Я подумал про ПЛК63
Пардон))

arty
23.07.2020, 09:54
Понятно, обмен должен быть скоростным, по-видимому, надо перелезать на ПЛК с ПР200

melky
23.07.2020, 10:24
для скоростного обмена надо 62 регистра отдавать под данные, а один оставить для определения страницы данных.
2 страницы - 2 запроса, 3 страницы - 3 запроса. в первом регистре со стороны мастера записывать подтверждение прочтения. И читать групповыми запросами.

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

При чем именно так сделать куда реальнее и проще мне так кажется... Можно использовать макросы ППЗУ или что-то аналогичное им для передачи в регистры сразу всей пачки страницы.

dimon_ag
29.10.2020, 08:36
На сколько я понял сетевые регистры сидят в блоке RS-485. В ПР 200 можно поставить 2 блока, и как следствие удвоение сетевых регистров.

petera
29.10.2020, 10:46
На сколько я понял сетевые регистры сидят в блоке RS-485. В ПР 200 можно поставить 2 блока, и как следствие удвоение сетевых регистров.

Не верное заключение.
Сетевые регистры не сидят в блоках RS-485, даже если у Вас реле без RS-485, то все равно в программе можно использовать сетевые переменные, например, как энергонезависимые.
Т.е. физически модулей RS-485 нет, а сетевые регистры есть :)

Ну и удвоение сетевых переменных не произойдет при добавлении модуля RS-485, т.к. оба слота RS-485 используют общую физическую память
Т.е. запишите в регистр 522 первого слота, а прочитать сможете из регистра 522 второго и на оборот.

ЗЫ.
Кроме того, если у ПР200 нет интерфейсных плат, то доступ к сетевым регистрам все равно возможен - через порт USB.
Это работает! Я использую эту особенность для отладки ПРки, подключая ее через порт USB к ПК, на котором в качестве отладчика запущен конфигуратор СП300 в онлайн режиме.