Просмотр полной версии : Энергонезависимые переменные на ПР200
В OWEN Logic для целочисленной энергонезависимой переменной выделяется 4 байта. Например в ПР200 объём ЭСППЗУ составляет 1020 байт – теоретически ми можем туда записать 1020/4=254 переменных.
Интересует вот какой вопрос. Данные для записи я передаю с сенсорной панели оператора СП310 по RS485, где объём переменной составляет 2 байта (16 бит). Можно каким-то образом уменьшить объём энергонезависимой переменной до 2 байт, чтобы увеличить их количество до 508?
kondor3000
19.02.2024, 21:55
В OWEN Logic для целочисленной энергонезависимой переменной выделяется 4 байта. Например в ПР200 объём ЭСППЗУ составляет 1020 байт – теоретически ми можем туда записать 1020/4=254 переменных.
Интересует вот какой вопрос. Данные для записи я передаю с сенсорной панели оператора СП310 по RS485, где объём переменной составляет 2 байта (16 бит). Можно каким-то образом уменьшить объём энергонезависимой переменной до 2 байт, чтобы увеличить их количество до 508?
У слейва ПР200 всего 64 сетевых переменных (64 штуки 16 битных регистра), адреса от 512 до 575, о чём вы тут пишите?
Все сетевые переменные 16 битные (1 регистр), если вы сами не назначите 2 регистра ( для DWORD или FLOAT )
Даже если сделать ПР200 мастером и создать 200 переменных, ПР не умеет групповых запросов, у вас обмен по 1 шт. займёт около 20 секунд только на чтение,
а ещё и записывать надо.
Какие там 508 регистров, вам тогда ПЛК110 надо брать.
Я пишу про энергонезависимые переменные (не сетевые) которые занимают 4 байта памяти ЭСППЗУ. (32 бита или число от 0 до 4294967295)
Передаю/считываю данные с СП310 (мастер) на/с ПР200 (слейв) я последовательно, Только проблема с количеством энергонезависимых переменных – не хватает.
kondor3000
19.02.2024, 22:25
Я пишу про энергонезависимые переменные (не сетевые) которые занимают 4 байта памяти ЭСППЗУ. (32 бита или число от 0 до 4294967295)
Их нельзя сделать меньше размером, все целочисленные в ПР200 занимают 4 байта.
Ясно. Спасибо. Получается единственный способ чтобы увеличить количество переменных – штучно объединять две двух байтные переменные в одну четырёх байтную (энергонезависимую). Жаль… было бы классно если была возможность выбирать размер переменных энергонезависимой памяти
kondor3000
19.02.2024, 22:58
Ясно. Спасибо. Получается единственный способ чтобы увеличить количество переменных – штучно объединять две двух байтные переменные в одну четырёх байтную (энергонезависимую). Жаль… было бы классно если была возможность выбирать размер переменных энергонезависимой памяти
Если переменные не большие, до 255, то можно и в каждый байт положить по переменной. То есть в одну 32-битную, положить 4 шт. 8-битных.
Кроме того, не все переменные надо делать энергонезависимыми, если у переменной есть вход и выход, то можно её сделать обычной или вообще удалить и заменить перемычкой.
А так же оптимизировать код и перейти на язык ST.
Например в шаговом автомате можно обойтись 1 таймером, вместо 20-50 шт. таймеров.
Я пишу про энергонезависимые переменные (не сетевые) которые занимают 4 байта памяти ЭСППЗУ. (32 бита или число от 0 до 4294967295)
Передаю/считываю данные с СП310 (мастер) на/с ПР200 (слейв) я последовательно, Только проблема с количеством энергонезависимых переменных – не хватает.
ВСЕ сетевые переменные в слейве ПР (64 регистра) и так являются энергонезависимыми.
Зачем их ещё в какие-то энергонезависимые переменные записывать?
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot