Просмотр полной версии : Энергонезависимое ссостояние с управлением с нескольких источников, как?
kovalich
07.10.2025, 11:32
Коллеги, добрый день! Помогите пож с вопросом управления приточкой с разных источников. Не могу добиться энергонезависимости. Само управление по сети и локально сделал. Но при отключении питания, приточку все равно надо командой запускать.
Переменная xStart энергонезависимая. Но не пойму, почему при перезагрузки по питанию она успевает "0" получить.
86054
В оригинальной редакции, управление по сети отсутствует, и там xStart работает как надо. Но мне надо так же удаленное управление.
Хотя, может я из-за недостатка опыта работы с приточками хочу сделать удаленное управление, может ну его нахрен, и оставить только локальный старт стоп!?
Что посоветуете коллеги.
Коллеги, добрый день! Помогите пож с вопросом управления приточкой с разных источников. Не могу добиться энергонезависимости. Само управление по сети и локально сделал. Но при отключении питания, приточку все равно надо командой запускать.
Переменная xStart энергонезависимая. Но не пойму, почему при перезагрузки по питанию она успевает "0" получить.
86054
В оригинальной редакции, управление по сети отсутствует, и там xStart работает как надо. Но мне надо так же удаленное управление.
Хотя, может я из-за недостатка опыта работы с приточками хочу сделать удаленное управление, может ну его нахрен, и оставить только локальный старт стоп!?
Что посоветуете коллеги.
Зачем они (xStart и xStop) вообще нужны?
Ведь сетевые переменные и так энергонезависимые. Пишите в программе сразу в них, а не в xStart и xStop
Уберите xStart на входе OR и все будет работать и снять ей энергонезависимоссть
при перезагрузки по питанию она успевает "0" получить.
Потому что триггер RS3 при включении питания имеет на выходе Q состояние 0.
Можно сделать энергонезависимый триггер. Тут где-то на форуме было, но лень искать.
Поэтому, вот картинка
86065
Вот еще вариант:
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
В первом приближении так
86081
Во втором приближении:
86082
Сергей0308
07.10.2025, 19:24
Во втором приближении:
86082
Да уж, может сделать по-человечьи, в смысле, целочисленную сетевую переменную сделать булевой, это избавит от многочисленных преобразований туда-сюда!
Да уж, может сделать по-человечьи, в смысле, целочисленную сетевую переменную сделать булевой, это избавит от многочисленных преобразований туда-сюда!
Может и по-человечьи:rolleyes:
А вдруг кому приспичит несколько Старт/Стопов в одну сетевую запилить?!
86083
Сергей0308
07.10.2025, 21:30
Ну да, извращенцев хватает, но я бы предпочёл не участвовать в извращениях!
Типа, вот вам принципиальное решение, дальше извращайтесь сами!
управления приточкой с разных источников...
Само управление по сети и локально сделал. Но при отключении питания, приточку все равно надо командой запускать.....Но мне надо так же удаленное управление...
Что посоветуете коллеги.
1.Забыть о прямом доступе извне к энергогезависимой переменной состояния
2.Ощутить разницу между состоянием и событиями(командами)
Реально в квадратиках такие задачи - откровенная хрень типа хлебания бульона вилкой.
Вы извне постоянно читайте состояние, а управляющие воздействия шлите однократно. Например каким-то числом.
Ну да, извращенцев хватает, но я бы предпочёл не участвовать в извращениях!
Типа, вот вам принципиальное решение, дальше извращайтесь сами!
Сколько живу и никак не могу понять. Как люди определяют границу между добром и злом, правильным и неправильным,
хамством и робостью, умом и тупостью, крутым и отстойным, приличным и извращенным?
Какими критериями пользуются люди и какими шкалами измеряют все эти вещи?
На вкус? На цвет? На влажность? Где объективно, а где субъективно?
Основная масса споров на форуме возникает именно по таким вопросам. Вам так не кажется?
Сергей0308
08.10.2025, 17:23
Сколько живу и никак не могу понять. Как люди определяют границу между добром и злом, правильным и неправильным,
хамством и робостью, умом и тупостью, крутым и отстойным, приличным и извращенным?
Какими критериями пользуются люди и какими шкалами измеряют все эти вещи?
На вкус? На цвет? На влажность? Где объективно, а где субъективно?
Основная масса споров на форуме возникает именно по таким вопросам. Вам так не кажется?
Здесь у каждого свои понятия, нет абсолютных величин!
С другой стороны хамство оно и в Африке - хамство, сколько раз бывало, заходит человек на форум и считает, что все ему обязаны помочь, не то насоветовали и т. д.
Он своего хамства не замечает, я так думаю, он и ни в чём не виноват, это родители не занимались его воспитанием(хотя бы личным примером), вот и выросло такое чудо-юдо, без малейших понятий о совести и порядочности!
А мы чего можем, кроме как поставить наглеца на место, чтобы человек хотя бы задумался, что может что-то не так сделал, конечно ошибок родителей нам не исправить, но есть шанс что человек задумается если не всё человеческое ещё потерянно!
Здесь у каждого свои понятия, нет абсолютных величин!
Тогда очень прошу Вас объяснить по своим понятиям такую оценку моего примера?
Ну да, извращенцев хватает, но я бы предпочёл не участвовать в извращениях!
Мы вот всё ругаем новичков. А сами не предлагаем типа "best practice" или "мастер-класс" с объективным пояснением правильности.
Т.е. если решение не соответствует Вашему критерию правильности, то это "извращение", даже если задача будет решена?
В смысле, Вы готовы раздавать свои примеры всем, без оглядки на альтернативные подходы, т.к. они абсолютно "приличные"?
В смысле, можно у Вас попросить Ваш "приличный" пример - альтернативу моему?
..А сами не предлагаем типа "best practice" или "мастер-класс" с объективным пояснением правильности...
Допускаю что это от отсутствия положительной обратной связи.
Допускаю что это от отсутствия положительной обратной связи.
Ну, да! Проще ведь обругать (унизить) и т.д.
Сергей0308
08.10.2025, 19:24
Тогда очень прошу Вас объяснить по своим понятиям такую оценку моего примера?
Мы вот всё ругаем новичков. А сами не предлагаем типа "best practice" или "мастер-класс" с объективным пояснением правильности.
Т.е. если решение не соответствует Вашему критерию правильности, то это "извращение", даже если задача будет решена?
В смысле, Вы готовы раздавать свои примеры всем, без оглядки на альтернативные подходы, т.к. они абсолютно "приличные"?
В смысле, можно у Вас попросить Ваш "приличный" пример - альтернативу моему?
Ну я же там же пояснил, в смысле. претензий к Вам нет, но если целочисленную переменную сделать булевой то станут не нужные преобразования туда-сюда, тем более, там целочисленная переменная используется как булева, мне кажется это ненормально и логично заменить её на булеву, я своё мнение высказываю, не претендую на абсолютную правильность!
Если "железяки" не поддерживают такое, в смысле, обычной правильной работы, выбросить такие железяки куда подальше, если мягко выражаться!
В смысле, тогда всё может встать с головы на ноги, в смысле, никто не будет покупать такие плохие железяки и их перестанут делать!
Надеюсь смысл понятен?! Это простое и нормальное желание что-то улучшить, чтобы в будущем лучше стало!
Я правильно понял, что Вы против использования всяких не документированных возможностей (кажется "фичей"), т.к. в будущем системные программисты могут эту возможность ликвидировать. И если кто-то это использует, тот "извращенец". И Вы не рекомендуете это использовать и сами так не желаете поступать.
Прошу прощения! Я слишком долго писал на "извращенных" языках (ASM, С, С++), поэтому мне очень не хватает их возможностей в этих "железках".
Впредь я не буду предлагать подобное на форуме.
Сергей0308
08.10.2025, 20:01
Я правильно понял, что Вы против использования всяких не документированных возможностей (кажется "фичей"), т.к. в будущем системные программисты могут эту возможность ликвидировать. И если кто-то это использует, тот "извращенец". И Вы не рекомендуете это использовать и сами так не желаете поступать.
Прошу прощения! Я слишком долго писал на "извращенных" языках (ASM, С, С++), поэтому мне очень не хватает их возможностей в этих "железках".
Впредь я не буду предлагать подобное на форуме.
Я согласен, со временем люди привыкают, потом сложно отвыкать.
Мне кажется это создаст трудности тем кто будет это обслуживать после Вас и не так хорошо в этом разбирается, знает эти языки.
К тому же эти фичи могут пропасть в следующем обновлении ОЛ, зачем увеличивать риски?
Ну, если Вы для врагов это делаете, то это логично!
Похоже АСУТП - это не моё. Надо завязывать с этим делом окончательно. Вернусь к Arduino. Там хоть можно "извращаться" как хочешь.
Спасибо! И удачи Вам!
Ну, да! Проще ведь обругать (унизить) и т.д.
Это о чем? (если это ко мне)
Сергей0308
08.10.2025, 20:23
Похоже АСУТП - это не моё. Надо завязывать с этим делом окончательно. Вернусь к Arduino. Там хоть можно "извращаться" как хочешь.
Спасибо! И удачи Вам!
Да успокойтесь Вы, это моё мнение, ни к чему Вас не обязывает, многие специально подобные бяки делают, чтобы без них не обошлись, там причина куда прозаичней, в смысле, в жадности!
Да успокойтесь Вы, это моё мнение, ни к чему Вас не обязывает, многие специально подобные бяки делают, чтобы без них не обошлись, там причина куда прозаичней, в смысле, в жадности!
Да. Но ведь я предлагаю открыто. Я даже настаиваю, на том чтобы спрашивающий вник. Ведь сопровождать ему в первую очередь.
Хотите сказать - медвежья услуга (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)?
Это о чем? (если это ко мне)
Положительная обратная связь? Имеется в виду, не просто спасибо?
Сергей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)?
Я так считаю, что не надо делать всё за человека, это, Вы правы, медвежья услуга!
Достаточно предложить принципиальное решение, тогда товарищам придётся вникать в суть дела поневоле и постепенно он разберётся!
А это самый лёгкий путь, всё сделать товарищу, он и разбираться ни в чём не станет просто повторит алгоритм! Тогда получается Вы сами тормозите его развитие(в этой области). Короче, мы лёгких путей не ищем!
Положительная обратная связь? Имеется в виду, не просто спасибо?
Ну так доброе слово и "не просто спасибо" завсегда убедительней чем просто доброе слово.
Кстати
...
Достаточно предложить принципиальное решение..
Я вот предложил))
---
Человек решил проблему синей изолентой (в виде таймера), его устроило. Это главное.
Сергей0308
08.10.2025, 23:11
Кстати
Я вот предложил))
---
Человек решил проблему синей изолентой (в виде таймера), его устроило. Это главное.
Замечательно, значит Вы не сделали медвежью услугу!
Замечательно, значит Вы не сделали медвежью услугу!
Изоленту не предлагал, если что.
А какая проблема в медвежьей услуге для автора услуги?
Сергей0308
09.10.2025, 00:36
Изоленту не предлагал, если что.
А какая проблема в медвежьей услуге для автора услуги?
Так для автора это проблем убавляет, я уже писал об этом, в смысле, гораздо проще бывает сделать всё самому, чем объяснять упёртому товарищу как это сделать, во вторых, при наличии таких конкурентов у автора большие конкурентные преимущества, в принципе(в общем случае), автору выгодно оказывать медвежью услугу, я про это и говорю!
Мне всегда казалось, что "мастер-класс" это всегда очень лучший учитель. Вы считаете что я, предлагая свои "извращенные" варианты, кому-то составляю конкуренцию этим? В смысле, перехожу дорогу лично Вам? В смысле, это Вас сильно задевает?
Очень может быть! Но ведь я играю по честному. Я же не говорю всем, что ваши варианты - "извращение".
Ну хорошо. Вот еще один "извращенный" вариант:
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 плохая практика для АСУТП?
Или я не дал возможность Вам получить "положительную обраную связь" от новичка?
А.. Вы бы хотели, чтобы в муках он додумался до этого сам?
Тогда на кой черт этот форум?
Я иногда читаю Ваши советы новичкам. Возникает ощущение, что Вы объясняете человеку уровнем почти Вашего.
Он однозначно ничего не поймет. Только хороший пример его подтолкнет двигаться дальше.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot