PDA

Просмотр полной версии : Энергонезависимое ссостояние с управлением с нескольких источников, как?



kovalich
07.10.2025, 11:32
Коллеги, добрый день! Помогите пож с вопросом управления приточкой с разных источников. Не могу добиться энергонезависимости. Само управление по сети и локально сделал. Но при отключении питания, приточку все равно надо командой запускать.
Переменная xStart энергонезависимая. Но не пойму, почему при перезагрузки по питанию она успевает "0" получить.
86054
В оригинальной редакции, управление по сети отсутствует, и там xStart работает как надо. Но мне надо так же удаленное управление.
Хотя, может я из-за недостатка опыта работы с приточками хочу сделать удаленное управление, может ну его нахрен, и оставить только локальный старт стоп!?
Что посоветуете коллеги.

petera
07.10.2025, 11:41
Коллеги, добрый день! Помогите пож с вопросом управления приточкой с разных источников. Не могу добиться энергонезависимости. Само управление по сети и локально сделал. Но при отключении питания, приточку все равно надо командой запускать.
Переменная xStart энергонезависимая. Но не пойму, почему при перезагрузки по питанию она успевает "0" получить.
86054
В оригинальной редакции, управление по сети отсутствует, и там xStart работает как надо. Но мне надо так же удаленное управление.
Хотя, может я из-за недостатка опыта работы с приточками хочу сделать удаленное управление, может ну его нахрен, и оставить только локальный старт стоп!?
Что посоветуете коллеги.

Зачем они (xStart и xStop) вообще нужны?
Ведь сетевые переменные и так энергонезависимые. Пишите в программе сразу в них, а не в xStart и xStop

Уберите xStart на входе OR и все будет работать и снять ей энергонезависимоссть

Sulfur
07.10.2025, 12:15
при перезагрузки по питанию она успевает "0" получить.
Потому что триггер RS3 при включении питания имеет на выходе Q состояние 0.

Dimensy
07.10.2025, 12:23
Можно сделать энергонезависимый триггер. Тут где-то на форуме было, но лень искать.
Поэтому, вот картинка
86065

Sulfur
07.10.2025, 12:43
Вот еще вариант:
86069
Здесь xStart целочисленная.

kovalich
07.10.2025, 13:53
Зачем они (xStart и xStop) вообще нужны?
Ведь сетевые переменные и так энергонезависимые. Пишите в программе сразу в них, а не в xStart и xStop

Уберите xStart на входе OR и все будет работать и снять ей энергонезависимоссть

xStart пишется с панели ПР205, она в сетевые не записывает, Поэтому и такая вариантность управления нагорожена, сам не рад.



Вот еще вариант:
86069
Здесь xStart целочисленная.

Спасибо большое! Очень элегантно получилось.

kovalich
07.10.2025, 15:26
В итоге все равно сбрасывается. Как я понимаю, от чтения xStart до записи в него же проходит 4 такта программы. А буквально на втором такте xStart успевает схватить "0" от тернарной операции сравнения.
Поставил задержку на 1 секунду, чтоб воду холостую слить )) Так работает.
86078

Dimensy
07.10.2025, 16:28
В первом приближении так
86081

EFrol
07.10.2025, 18:26
Во втором приближении:
86082

Сергей0308
07.10.2025, 19:24
Во втором приближении:
86082

Да уж, может сделать по-человечьи, в смысле, целочисленную сетевую переменную сделать булевой, это избавит от многочисленных преобразований туда-сюда!

EFrol
07.10.2025, 19:40
Да уж, может сделать по-человечьи, в смысле, целочисленную сетевую переменную сделать булевой, это избавит от многочисленных преобразований туда-сюда!

Может и по-человечьи:rolleyes:
А вдруг кому приспичит несколько Старт/Стопов в одну сетевую запилить?!
86083

Сергей0308
07.10.2025, 21:30
Ну да, извращенцев хватает, но я бы предпочёл не участвовать в извращениях!
Типа, вот вам принципиальное решение, дальше извращайтесь сами!

Валенок
07.10.2025, 23:33
управления приточкой с разных источников...
Само управление по сети и локально сделал. Но при отключении питания, приточку все равно надо командой запускать.....Но мне надо так же удаленное управление...
Что посоветуете коллеги.
1.Забыть о прямом доступе извне к энергогезависимой переменной состояния
2.Ощутить разницу между состоянием и событиями(командами)
Реально в квадратиках такие задачи - откровенная хрень типа хлебания бульона вилкой.
Вы извне постоянно читайте состояние, а управляющие воздействия шлите однократно. Например каким-то числом.

EFrol
08.10.2025, 07:39
Ну да, извращенцев хватает, но я бы предпочёл не участвовать в извращениях!
Типа, вот вам принципиальное решение, дальше извращайтесь сами!

Сколько живу и никак не могу понять. Как люди определяют границу между добром и злом, правильным и неправильным,
хамством и робостью, умом и тупостью, крутым и отстойным, приличным и извращенным?
Какими критериями пользуются люди и какими шкалами измеряют все эти вещи?
На вкус? На цвет? На влажность? Где объективно, а где субъективно?
Основная масса споров на форуме возникает именно по таким вопросам. Вам так не кажется?

Сергей0308
08.10.2025, 17:23
Сколько живу и никак не могу понять. Как люди определяют границу между добром и злом, правильным и неправильным,
хамством и робостью, умом и тупостью, крутым и отстойным, приличным и извращенным?
Какими критериями пользуются люди и какими шкалами измеряют все эти вещи?
На вкус? На цвет? На влажность? Где объективно, а где субъективно?
Основная масса споров на форуме возникает именно по таким вопросам. Вам так не кажется?

Здесь у каждого свои понятия, нет абсолютных величин!
С другой стороны хамство оно и в Африке - хамство, сколько раз бывало, заходит человек на форум и считает, что все ему обязаны помочь, не то насоветовали и т. д.
Он своего хамства не замечает, я так думаю, он и ни в чём не виноват, это родители не занимались его воспитанием(хотя бы личным примером), вот и выросло такое чудо-юдо, без малейших понятий о совести и порядочности!
А мы чего можем, кроме как поставить наглеца на место, чтобы человек хотя бы задумался, что может что-то не так сделал, конечно ошибок родителей нам не исправить, но есть шанс что человек задумается если не всё человеческое ещё потерянно!

EFrol
08.10.2025, 18:17
Здесь у каждого свои понятия, нет абсолютных величин!

Тогда очень прошу Вас объяснить по своим понятиям такую оценку моего примера?


Ну да, извращенцев хватает, но я бы предпочёл не участвовать в извращениях!

Мы вот всё ругаем новичков. А сами не предлагаем типа "best practice" или "мастер-класс" с объективным пояснением правильности.
Т.е. если решение не соответствует Вашему критерию правильности, то это "извращение", даже если задача будет решена?
В смысле, Вы готовы раздавать свои примеры всем, без оглядки на альтернативные подходы, т.к. они абсолютно "приличные"?
В смысле, можно у Вас попросить Ваш "приличный" пример - альтернативу моему?

Валенок
08.10.2025, 18:39
..А сами не предлагаем типа "best practice" или "мастер-класс" с объективным пояснением правильности...
Допускаю что это от отсутствия положительной обратной связи.

EFrol
08.10.2025, 18:53
Допускаю что это от отсутствия положительной обратной связи.

Ну, да! Проще ведь обругать (унизить) и т.д.

Сергей0308
08.10.2025, 19:24
Тогда очень прошу Вас объяснить по своим понятиям такую оценку моего примера?



Мы вот всё ругаем новичков. А сами не предлагаем типа "best practice" или "мастер-класс" с объективным пояснением правильности.
Т.е. если решение не соответствует Вашему критерию правильности, то это "извращение", даже если задача будет решена?
В смысле, Вы готовы раздавать свои примеры всем, без оглядки на альтернативные подходы, т.к. они абсолютно "приличные"?
В смысле, можно у Вас попросить Ваш "приличный" пример - альтернативу моему?

Ну я же там же пояснил, в смысле. претензий к Вам нет, но если целочисленную переменную сделать булевой то станут не нужные преобразования туда-сюда, тем более, там целочисленная переменная используется как булева, мне кажется это ненормально и логично заменить её на булеву, я своё мнение высказываю, не претендую на абсолютную правильность!
Если "железяки" не поддерживают такое, в смысле, обычной правильной работы, выбросить такие железяки куда подальше, если мягко выражаться!
В смысле, тогда всё может встать с головы на ноги, в смысле, никто не будет покупать такие плохие железяки и их перестанут делать!
Надеюсь смысл понятен?! Это простое и нормальное желание что-то улучшить, чтобы в будущем лучше стало!

EFrol
08.10.2025, 19:50
Я правильно понял, что Вы против использования всяких не документированных возможностей (кажется "фичей"), т.к. в будущем системные программисты могут эту возможность ликвидировать. И если кто-то это использует, тот "извращенец". И Вы не рекомендуете это использовать и сами так не желаете поступать.
Прошу прощения! Я слишком долго писал на "извращенных" языках (ASM, С, С++), поэтому мне очень не хватает их возможностей в этих "железках".
Впредь я не буду предлагать подобное на форуме.

Сергей0308
08.10.2025, 20:01
Я правильно понял, что Вы против использования всяких не документированных возможностей (кажется "фичей"), т.к. в будущем системные программисты могут эту возможность ликвидировать. И если кто-то это использует, тот "извращенец". И Вы не рекомендуете это использовать и сами так не желаете поступать.
Прошу прощения! Я слишком долго писал на "извращенных" языках (ASM, С, С++), поэтому мне очень не хватает их возможностей в этих "железках".
Впредь я не буду предлагать подобное на форуме.

Я согласен, со временем люди привыкают, потом сложно отвыкать.
Мне кажется это создаст трудности тем кто будет это обслуживать после Вас и не так хорошо в этом разбирается, знает эти языки.
К тому же эти фичи могут пропасть в следующем обновлении ОЛ, зачем увеличивать риски?

Ну, если Вы для врагов это делаете, то это логично!

EFrol
08.10.2025, 20:13
Похоже АСУТП - это не моё. Надо завязывать с этим делом окончательно. Вернусь к Arduino. Там хоть можно "извращаться" как хочешь.
Спасибо! И удачи Вам!

Валенок
08.10.2025, 20:19
Ну, да! Проще ведь обругать (унизить) и т.д.
Это о чем? (если это ко мне)

Сергей0308
08.10.2025, 20:23
Похоже АСУТП - это не моё. Надо завязывать с этим делом окончательно. Вернусь к Arduino. Там хоть можно "извращаться" как хочешь.
Спасибо! И удачи Вам!

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

EFrol
08.10.2025, 20:41
Да успокойтесь Вы, это моё мнение, ни к чему Вас не обязывает, многие специально подобные бяки делают, чтобы без них не обошлись, там причина куда прозаичней, в смысле, в жадности!

Да. Но ведь я предлагаю открыто. Я даже настаиваю, на том чтобы спрашивающий вник. Ведь сопровождать ему в первую очередь.
Хотите сказать - медвежья услуга (https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B4%D0%B2%D0%B5%D0%B6%D1%8C%D1%8F_% D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B0)?

EFrol
08.10.2025, 20:46
Это о чем? (если это ко мне)

Положительная обратная связь? Имеется в виду, не просто спасибо?

Сергей0308
08.10.2025, 22:07
Да. Но ведь я предлагаю открыто. Я даже настаиваю, на том чтобы спрашивающий вник. Ведь сопровождать ему в первую очередь.
Хотите сказать - медвежья услуга (https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B4%D0%B2%D0%B5%D0%B6%D1%8C%D1%8F_% D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B0)?

Я так считаю, что не надо делать всё за человека, это, Вы правы, медвежья услуга!
Достаточно предложить принципиальное решение, тогда товарищам придётся вникать в суть дела поневоле и постепенно он разберётся!
А это самый лёгкий путь, всё сделать товарищу, он и разбираться ни в чём не станет просто повторит алгоритм! Тогда получается Вы сами тормозите его развитие(в этой области). Короче, мы лёгких путей не ищем!

Валенок
08.10.2025, 23:03
Положительная обратная связь? Имеется в виду, не просто спасибо?
Ну так доброе слово и "не просто спасибо" завсегда убедительней чем просто доброе слово.

Валенок
08.10.2025, 23:07
Кстати

...
Достаточно предложить принципиальное решение..
Я вот предложил))


---
Человек решил проблему синей изолентой (в виде таймера), его устроило. Это главное.

Сергей0308
08.10.2025, 23:11
Кстати

Я вот предложил))


---
Человек решил проблему синей изолентой (в виде таймера), его устроило. Это главное.

Замечательно, значит Вы не сделали медвежью услугу!

Валенок
08.10.2025, 23:38
Замечательно, значит Вы не сделали медвежью услугу!
Изоленту не предлагал, если что.

А какая проблема в медвежьей услуге для автора услуги?

Сергей0308
09.10.2025, 00:36
Изоленту не предлагал, если что.

А какая проблема в медвежьей услуге для автора услуги?

Так для автора это проблем убавляет, я уже писал об этом, в смысле, гораздо проще бывает сделать всё самому, чем объяснять упёртому товарищу как это сделать, во вторых, при наличии таких конкурентов у автора большие конкурентные преимущества, в принципе(в общем случае), автору выгодно оказывать медвежью услугу, я про это и говорю!

EFrol
09.10.2025, 08:08
Мне всегда казалось, что "мастер-класс" это всегда очень лучший учитель. Вы считаете что я, предлагая свои "извращенные" варианты, кому-то составляю конкуренцию этим? В смысле, перехожу дорогу лично Вам? В смысле, это Вас сильно задевает?
Очень может быть! Но ведь я играю по честному. Я же не говорю всем, что ваши варианты - "извращение".

Ну хорошо. Вот еще один "извращенный" вариант:
86098


function_block setVarNet

var_input
inVar : udint;
xStart1, xStop1, xStart2, xStop2 : bool;
end_var

var_output
outVar : udint;
out1, out2 : bool;
end_var

outVar := inVar;
outVar.0 := (outVar.0 OR xStart1) AND not xStop1;
outVAR.1 := (outVar.1 OR xStart2) AND not xStop2;
out1 := outVar.0; out2 := outVar.1;

end_function_block


Я вот очень хотел бы понять степень его "извращенности".
В каком месте он конкурентнее все других возможных?
Он "извращен" потому-что предложен не Вами?
Или использование ST плохая практика для АСУТП?
Или я не дал возможность Вам получить "положительную обраную связь" от новичка?
А.. Вы бы хотели, чтобы в муках он додумался до этого сам?
Тогда на кой черт этот форум?
Я иногда читаю Ваши советы новичкам. Возникает ощущение, что Вы объясняете человеку уровнем почти Вашего.
Он однозначно ничего не поймет. Только хороший пример его подтолкнет двигаться дальше.