PDA

Просмотр полной версии : ПР200 MODBUS Slave регистры энергонезависимые или нет?



arty
12.06.2020, 10:31
Добрый день, хочу задать вопрос есть ПР200 работает как Slave, почему при пропадании питания и появлении опять содержимое регистров сохраняется в памяти. Они по умолчанию энергонезависимые, сохраняются при выключении? Если это не так, то как сделать чтобы при включении все регистры содержали 0?
С уважением, Артур

melky
12.06.2020, 10:37
Да, энергонезависимы по умолчанию.

Чтобы сбросить в 0 нужные вам регистры, необходимо программно реализовать запись 0 при включении питания при помощи SEL например в начале цикла программы (установить в верхнем левом углу FB например)

arty
12.06.2020, 10:57
melky, спасибо за ответ, могли бы ссылочку дать на материал, чтобы это сделать? как сделать так чтобы в регистры запись произведена была только единожды при старте ПР200?

arty
12.06.2020, 11:01
FB здесь имеется виду какой то конкретный функциональный блок?

melky
12.06.2020, 11:11
В реальном приборе вместо TP должен срабатывать и RTRIG, но в симуляции как-то через.... работает. TP точно сработает.
Ну и SEL делаете на каждую переменную, которую надо сбрасывать в 0 или значения по умолчанию.

TP даст импульс заданной длительности один раз при включении питания прибора.
RTRIG по логике должен дать импульс на один цикл при включении прибора, но в симуляции не дает проверить...

petera
12.06.2020, 11:21
TP ненужно, достаточно линии задержки

Вот макрос которым я пользуюсь
49605

Примеры использования
49606

Начальное значение при включении прибора не обязательно/не всегда должно быть "0"

Это значение задается в свойствах макроса

arty
12.06.2020, 12:15
Спасибо за подсказку, понял как это работает, для каждой переменной SEL, а INIT один для всех.

arty
12.06.2020, 12:20
petera, сейчас попробую промоделировать Ваш макрос, не совсем понятно как он работает.

arty
12.06.2020, 12:21
все, я понял, изящно)

arty
12.06.2020, 12:26
целых 2 решения рабочих! Спасибо melky и спасибо petera за помощь!

Сергей0308
12.06.2020, 20:17
Добавлю своих 5 копеек, я такое ранее предлагал для инициализации сетевым переменным значения по умолчанию:

49620

Пишется в энергонезависимую внутреннюю переменную, что любопытно: если внутреннюю переменную сделать не энергонезависимой - получится нужный Вам результат, всё!

melky
12.06.2020, 20:33
и да, если бы не ломали в ОЛ изначальную инициализацию сетевых переменных, не пришлось бы делать таких костылей.