PDA

Просмотр полной версии : ПР200 retain



Andrew_Stranger
18.09.2017, 14:57
Добрый день. Столкнулся с проблемой Пр200, не сохраняет retain-переменные. У кого есть подобный опыт?

Сергей0308
18.09.2017, 15:29
Добрый день. Столкнулся с проблемой Пр200, не сохраняет retain-переменные. У кого есть подобный опыт?

Может они перезаписываются при включении-выключении чем либо? Неоднократно выкладывал примеры и проверял в железе - всё сохранялось:

33187

http://www.owen.ru/forum/showthread.php?t=26216&page=25
Проект покажите, хотя бы ту часть, где проблемы, если боитесь за нерабочий проект!

Andrew_Stranger
18.09.2017, 16:30
Переменные Flow1, Flow2, Flow3. Может данная проблема происходит из-за использования макросов?

Ревака Юрий
18.09.2017, 17:29
Переменные Flow1, Flow2, Flow3. Может данная проблема происходит из-за использования макросов?

Нет, переменные просто перезаписываются, необходимо перестроить алгоритм.

Сергей0308
18.09.2017, 18:46
Переменные Flow1, Flow2, Flow3. Может данная проблема происходит из-за использования макросов?

У Вас неправильно, не имеет значения энергонезависимая или нет эта переменная, она перезапишется при первом цикле! Попробуйте как-то так:

33197

Переменная пишется по фронту импульса "Запись" и сохранится как энергонезависимая, если соответствующую галочку поставить!
И, чтобы велосипед не изобретать посмотрите мой энергонезависимый сумматор:

33198

http://www.owen.ru/forum/showthread.php?t=13106&page=3
Может Вам пригодится, уже в нем всё сохранится, без дополнительных прибамбасов, в нём и сброс есть! Кстати у меня есть подобный, только целочисленный, если не ошибаюсь в теме наработки моточасов выкладывал: http://www.owen.ru/forum/showthread.php?t=22511&page=2
Вот попытался поправить эти три переменные, не зная всех тонкостей, не знаю так получилось, как задумывалось или нет:

33203

И переменным с плавающей запятой Flow1-3, энергонезависимость не нужна!
И, если нужен сброс накопленных значений, можно сделать как в преведущем варианте:

33206

Василий Кашуба
18.09.2017, 19:06
Переменные Flow1, Flow2, Flow3. Может данная проблема происходит из-за использования макросов?
У вас что за объект? Насосная станция, или циркуляционные насосы?

Andrew_Stranger
19.09.2017, 20:07
Сергей0308, Ревака Юрий спасибо за помощь! Объект это первый подъем, подсчет расхода воды.

Сергей0308
19.09.2017, 23:07
Мне кажется лучше использовать значения счётчиков дискретных входов в модуле дискретного ввода-вывода! В идеале ПР200 на 24В + БП, вместо МК110-8Д.4Р! Типа такого:

33223

И можно и приблизительный расход посчитать, много раз выкладывал разных вариантов, короче примерно как-то так:

33224

Только уставки выставляем не меньше времени цикла программы и соответственно корректируем связанную с этим константу!

Andrew_Stranger
20.09.2017, 21:40
Лучше конечно, но все входы заняты. Расход кстати интересно посчитать, спасибо!

01ZZZ
23.10.2017, 18:48
У меня возник вопрос. Если при ошибке в проге, переменная будет записываться каждый цикл программы, то насколько хватит флэшпамяти. Да и при неплатежах можно убивать контроллер потихонечку :).

Сергей0308
23.10.2017, 18:52
У меня возник вопрос. Если при ошибке в проге, переменная будет записываться каждый цикл программы, то насколько хватит флэшпамяти. Да и при неплатежах можно убивать контроллер потихонечку :).

На пять миллиардов лет, дальше конструктор устанет ждать и Солнце потухнет!

anthrwpos
24.10.2017, 07:16
У меня возник вопрос. Если при ошибке в проге, переменная будет записываться каждый цикл программы, то насколько хватит флэшпамяти.
Любая переменная которая записывается хоть где нибудь в программе, записывается каждый цикл не зависимо ни от чего. Но - в оперативу. В флеш - только после пропадания питания.

Михаи
12.03.2018, 18:26
Подскажите, как в пр114 запомнить сетевую переменную перед выключением питания? Для возобновления работы функционального блока не с ноля. Чтобы после подачи питания она снова вычитывалась последней уставкой по сети.
36000 Это мои изыскания.

rovki
12.03.2018, 18:33
Она сама запоминается сетевая переменная при выключении питания . внутренняя переменная в таблице ставится галочка -энергонезависимость

Михаи
12.03.2018, 19:12
Извините, но не вижу галочки. Дайте рисунок?
36001 Это мой.

rovki
12.03.2018, 19:16
вот...........но это не сетевые а внутренние переменные ,а сетевые на автомате энергонезависимые ,я же писал

Михаи
12.03.2018, 19:17
Если сделать так 36005 , то при отключении каскада и питании пр114 заданное по сети число сохранится в адресе регистра 519 (мой случай)?
И при включении пр114 и каскада число вычитается каскада из регистра 519?

rovki
12.03.2018, 19:29
Так это же не сетевая. Как ее изменить по сети?

Если сделать так 36005 , то при отключении каскада и питании пр114 заданное по сети число сохранится в адресе регистра 519 (мой случай)?
Если ненужна внутренняя переменная ,то используйте сетевые .
Да сохранится .

Михаи
12.03.2018, 21:45
Подскажите, как запомнить состояние блока блинк после отключения питания пр114? Я сделал сохранение состояния триггером SR2 забыв, что он не энергонезависим.
36010
Можно запомнить состояние переменной на выходе триггера?

rovki
12.03.2018, 22:30
Запоминаем состояние выхода триггера ,а потом эту переменную ,через ИЛИ подаем на S вход и инверсию ее на вход R.
Блинк запомнить нельзя ...