PDA

Просмотр полной версии : Сохранение сетевых переменных



POHAB
09.02.2026, 03:46
Добрый день, есть сетевые переменные которые через данный блок выходят на локальные переменные. в данном блоке по команде 1 на вход approval разрешает записывать переменные, если 0, то записывать сетевые переменные во внутренние нельзя. Описание проблемы: при записи сетевых переменных в локальные ,через блок, после отключении электричества или перезагрузки, значение не сохраняются, сбрасываются и становятся 0. как решить данную проблему, чтобы данные сохранялись после перезагрузки устройства ?
Устройство ПЛК 205.

Сергей0308
09.02.2026, 04:12
Добрый день, есть сетевые переменные которые через данный блок выходят на локальные переменные. в данном блоке по команде 1 на вход approval разрешает записывать переменные, если 0, то записывать сетевые переменные во внутренние нельзя. Описание проблемы: при записи сетевых переменных в локальные ,через блок, после отключении электричества или перезагрузки, значение не сохраняются, сбрасываются и становятся 0. как решить данную проблему, чтобы данные сохранялись после перезагрузки устройства ?
Устройство ПЛК 205.

Лечение по фотографии?
Что Вам мешает проект выложить, это если Вы хотите решить проблему, в смысле я никого не принуждаю!
Скажу более, весь проект и даром не нужен, в смысле, достаточно ту часть, что относится к проблеме!
Вот на третьей картинке у вас переменные не энергонезависимые(галочки энергонезависимости убраны), в смысле, эти переменные у вас не сохраняются?

1exan
09.02.2026, 04:21
Добрый день, есть сетевые переменные которые через данный блок выходят на локальные переменные. в данном блоке по команде 1 на вход approval разрешает записывать переменные, если 0, то записывать сетевые переменные во внутренние нельзя. Описание проблемы: при записи сетевых переменных в локальные ,через блок, после отключении электричества или перезагрузки, значение не сохраняются, сбрасываются и становятся 0. как решить данную проблему, чтобы данные сохранялись после перезагрузки устройства ?
Устройство ПЛК 205.

Ну так вы свои локальные энергонезависимые сами и перезаписываете нулями (блок то обрабатывается независимо от того, есть у вас approval или нет его)
Сделайте сетевые энергонезависимыми или что-то такое изобразите (можно и на ST:
87958

POHAB
09.02.2026, 04:31
Дополняю вопрос программой

POHAB
09.02.2026, 04:36
ниже выложил программу

1exan
09.02.2026, 04:58
Дополняю вопрос программой

Если не считать того, что есть сильные отличия от первоначальных скринов - с этими переменными не должно быть проблем. Что не так?

Кстати, в чём смысл данных действий, если не секрет:
87961

POHAB
09.02.2026, 05:54
Только недавно начал работать с овеном, да и в принципе в это сфере, понимаю что это можно сделать более просто, но пока работает, пускай работает.
Проблема что на залитой программе в плк сетевые уставки задать можно, но при выключении питания они сбрасывают(Описывал это выше). Как понимаю действие описанное в вашем сообщении выше должно помочь?

Dimensy
09.02.2026, 07:32
Ваш случай
87962



FUNCTION_BLOCK MUX_Distant
VAR_INPUT
// Сетевые входы (при SEL = TRUE)
IN1_NETWORK: real; // Сетевой вход 1
IN2_NETWORK: REAL; // Сетевой вход 2
IN3_NETWORK: REAL; // Сетевой вход 3
IN4_NETWORK: REAL; // Сетевой вход 4
IN5_NETWORK: REAL; // Сетевой вход 5
// Энергонезависимые входы
RTN1, RTN2, RTN3, RTN4, RTN5 : real;
// Сигнал выбора
SELECTED_MODE : UDINT;

END_VAR

VAR_OUTPUT
// Выходы
OUT1: real; // Выход 1
OUT2: REAL; // Выход 2
OUT3: REAL; // Выход 3
OUT4: REAL; // Выход 4
OUT5: REAL; // Выход 5

END_VAR

// Логика работы макроса
IF SELECTED_MODE <> 0 THEN
// Режим ЛОКАЛЬНЫЙ: используем входы 1-4
OUT1 := IN1_NETWORK;
OUT2 := IN2_NETWORK;
OUT3 := IN3_NETWORK;
OUT4 := IN4_NETWORK;
OUT5 := IN5_NETWORK;
ELSE
OUT1 := RTN1;
OUT2 := RTN2;
OUT3 := RTN3;
OUT4 := RTN4;
OUT5 := RTN5;
END_IF;

END_FUNCTION_BLOCK

kondor3000
09.02.2026, 10:11
Только недавно начал работать с овеном, да и в принципе в это сфере, понимаю что это можно сделать более просто, но пока работает, пускай работает.
Проблема что на залитой программе в плк сетевые уставки задать можно, но при выключении питания они сбрасывают(Описывал это выше). Как понимаю действие описанное в вашем сообщении выше должно помочь?

Яркий пример, как делать на надо, Куча блоков и 100500 таймеров и триггеров, хотя всё можно сделать на 1 таймере, на крайняк для упрощения на 2,
тут примеры https://owen.ru/forum/showthread.php?t=38239&page=11#105
Посчитать кол-во шагов, расставить только нужное время, задержки и маску выходов.

Сохранение переменных Наработки и кол-ва включений, на примере Опер-таймера тут, последние 2 варианта
https://owen.ru/forum/showthread.php?t=38721#8