Просмотр полной версии : Обнулить значения переменных
Добрый день
подскажите как можно сделать так, что
если у меня выполняется в программе цикл и у различных переменных присваиваются значения
и когда цикл закончен, выполнение отключается, чтобы все значения переменных обнулились?
не знаю понятно ли объяснил) но как это сделать в codesys понятно, а с построением программ в блок схемах хуже понимаю
Sel тут не совсем подходит, должно автоматически делаться после цикла с выполнением условий
я в принципе сделал что нужно было, какими то костыльными а может и нет путями
Почему не подходит ? сами определяете цикл условия, цикл закончился, подали на вход выбора SEL импульс и все.
Андрей Михайлович
26.06.2020, 20:37
И, что получится? На выходе Sel пройдет нужный импульс, или выход Sel после управляющего останется в переключенном состоянии? Ни тот, ни другой случай, не решит проблемы. У меня сейчас стоит такая же.
После выполнения цикла, необходимо поставить значения переменных в исходное состояние. Как сделать? Что бы на на переменные не действовал принуждающий сигнал находиться в определенном положении.
необходимо поставить значения переменных в исходное состояние. Как сделать? Что бы на на переменные не действовал принуждающий сигнал находиться в определенном положении.
это как? А исходное состояние это разве не определенное положение? Можете в картинках показать чего желаете
Андрей Михайлович
27.06.2020, 17:49
Картинок нет, так как готовых проектов от меня еще нет. Недавно познакомился с программируемыми реле в том числе и с программой JWEN Logic.
экспериментируя, приходил в тупик именно по этому поводу.
Ну скажем, у меня задача запустить какой то процесс на станке, затем, когда этот процесс закончится, начать другой процесс.
Для этого я на экране ПР200 задаю вопрос, "Начать?" - "Да" - "Нет". В зависимости от выбора пользователя, в переменную записывается ноль или единица. В исходном состоянии в этой переменной был ноль и она запрещала дальнейшие действия.
При выборе пользователя ответа -Да, в переменную записалась единица и осталась там во время выполнения всего процесса на станке. По окончании процесса, выдается сигнал в программу, что процесс закончен и пользователю показывается другое диалоговое окно предлагающее так же сделать выбор для следующего процесса. Другая переменная так же занялась единицей при положительном выборе пользователя и так далее, пока полностью не закончится весь цикл работы на станке который затем должен начаться сначала. По окончании всего процесса, пользователю предлагается первое окно, где ранее был уже сделан положительный выбор. Вот и проблема. Выбор уже сделан, а процесс надо начать сначала. Но как только пользователь попадает в это первое окно, процесс уже разрешен и не спрашивая его, станок пошел выполнять первую фазу. И так со всеми промежуточными фазами.
задача запустить какой то процесс на станке, затем, когда этот процесс закончится, начать другой процесс.
ну и почему бы не закончить это предложение фразой и обнулить переменную которая запустила тот процесс, а реализация уже подсказана через SEL или на булевой логике, в зависимости от типа переменной
Андрей Михайлович
27.06.2020, 18:07
Есть еще проблема, не знаю как Вы с ней справляетесь. При выборе пользователя положительного ответа на вопросы Да и Нет, необходимо перейти к другому окну. Но как только переход к другому окну выполняется, в той переменной в которую записалась единица, тут же оказывается опять ноль. Если оставаться в этом окне, то все в порядке, единица никуда не пропадает, и разрешает дальнейшее выполнение программы. Но необходимо ведя диалог с пользователем перейти к другому окну и программа тут же останавливается, так как единица в разрешающей переменной пропала. Я конечно с помощью триггера вышел из положения, но затем встал вопрос о сбросе этой переменной принудительно в конце процесса работы станка. А так как переменная висит на выходе триггера, это оказалось затруднительно.
Кстати, как Вы поступаете с ответом пользователя "Нет" при выборе. Ведь тогда необходимо отправить пользователя к еще, другому диалоговому окну, где будут предложены какие то действия. Но на этом элементе управления экрана уже привязана переменная, которая при выборе "Нет" не изменилась. А как перекинуть пользователя в другое окно? Выбор конечно велик в настройках переходов между окнами, но все они не являются для пользователя, который не писал эту программу явными кроме нажатия -ОК. вряд ли он догадается что в этом окне нужно нажать или удержать другую кнопку. И тут появляется другая проблема. Нажать Ок и перепрыгнуть в другое окно легко, а там тоже выбор, на который ты уже даешь ответ, так как не успел отдернуть палец. и тебя перекидывает уже в следующее. Была бы возможность привязать к элементу управления экраном две переменных по каждой для каждого выбора Да и Нет. Не было бы вообще никаких проблем.
Вам кто-то мешает сделать две переменных с да и нет ? Вроде это возможно
Андрей Михайлович
28.06.2020, 00:34
Вам кто-то мешает сделать две переменных с да и нет ? Вроде это возможно
Как!? Подскажите! Может я слепой, что скорее всего блин, в новых программах ориентироваться часто сложно. Где такая возможность?
Да нет, при чем тут программа, новая или старая. Я говорю попробовать разделить на экране Да и Нет.
Ведь для булевой переменной вы можете задать true = Да, fasle = Нет. А можно ведь взять две булевые переменные и сделать для одной
true - ДА, false - да, а для второй true - НЕТ, fasle - нет
Так вы сможете при изменении любой из них активировать переходы на нужные экраны. Да, не очень удобно при выборе и активации. Но может получиться.
Вообще все ждут появления опроса клавиш как манну небесную, без этого работа с экранами была и останется через задницу....
Андрей Посохов
29.06.2020, 10:42
Да нет, при чем тут программа, новая или старая. Я говорю попробовать разделить на экране Да и Нет.
Ведь для булевой переменной вы можете задать true = Да, fasle = Нет. А можно ведь взять две булевые переменные и сделать для одной
true - ДА, false - да, а для второй true - НЕТ, fasle - нет
Так вы сможете при изменении любой из них активировать переходы на нужные экраны. Да, не очень удобно при выборе и активации. Но может получиться.
Вообще все ждут появления опроса клавиш как манну небесную, без этого работа с экранами была и останется через задницу....
Добрый день.
На текущих приборах работа с клавишами меняться не планируется.
Это будет реализовано на последующих приборах линейки ПР.
Андрей Посохов фигово... с экраном и 2-мя портами в следующих приборах что будет ? или как всегда После дождичка в четверг в Н-ном году ?
Андрей Посохов
29.06.2020, 10:58
Андрей Посохов фигово... с экраном и 2-мя портами в следующих приборах что будет ? или как всегда После дождичка в четверг в Н-ном году ?
На четверг солнце в Москве :)
Экран будет интереснее - графический. А портов будет больше, чем 2. Как и переменных по сети в режиме Slave.
Андрей Михайлович
29.06.2020, 20:58
Вам кто-то мешает сделать две переменных с да и нет ? Вроде это возможно
Спасибо огромное за совет! Это действительно выход из положения! :-)
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot