Прошу помочь с алгоритмом:
Нужен макрос:
- 5 входов (V1,V2…V5) (bool)
- 1 выход (A) (int)
Логика подобие структуры if или case:
A=0
If (V1=true) then A=1
If (V2=true) then A=2
If (V3=true) then A=3
If (V4=true) then A=4
If (V5=true) then A=5
Вид для печати
Прошу помочь с алгоритмом:
Нужен макрос:
- 5 входов (V1,V2…V5) (bool)
- 1 выход (A) (int)
Логика подобие структуры if или case:
A=0
If (V1=true) then A=1
If (V2=true) then A=2
If (V3=true) then A=3
If (V4=true) then A=4
If (V5=true) then A=5
Наверно, так:
Вложение 43518
Наверно, потому что в писанине не разбираюсь, понял на уровне подсознания, если не так, пусть поправят кто понимает писанину!
короче надо на форуме отдельную ветку заводить для воскресенских студентов, которые к понедельнику лабы делают!
выложу еще два варианта, не претендую на идеальность
Что то я боюсь за будущее в области кип....
Ничего страшного! Они все сейчас перепугаются и в кип не пойдут. Все норм )))))
Ну из технаря гуманитария можно сделать. А вот из гуманитария технарь не получается. Пробовал не выходит.
Доброго времени суток.
Нужна помощь с алгоритмом.
Задача такая нужно:
Если вход I1 = 1 и вход I2 = 0 то выход Q1 = 1, Q2 = 0, Q3 = 0
Если вход I1 = 0 и вход I2 = 1 то выход Q1 = 0, Q2 = 1, Q3 = 0
Если вход I1 = 0 и вход I2 = 0 то выход Q1 = 0, Q2 = 0, Q3 = 1
Как все это сделать программно в OWEN Logic.
А если оба входа активны?
Наверно так:
Вложение 43583
Спасибо проверил но не то ,что надо.
Алгоритм вроде простой, но голову уже сломал что бы написать программно.
Если оба входа активны то на трех выходах 0.
Да слышал и немного разбираюсь.
RR2019
Вот.
Спасибо то ,что надо.
Все работает в ОЛ.
Мой вариант:
Вложение 43585
Преподавателям скинули ссылку на тему? :cool:
Спасибо за вариант макроса.
ещё вариант: Вложение 43588
Попробовал но не работает .Может не то написал в ОВ.
Проект пример
левая константа в воздухе висит
Спасибо . Исправил проект .
Все работает .
Вот ещё вариант:
Вложение 43592
До 8 входов, до 32 выходов, логика любая, какая только может в голову прийти!
Короче сразу на все случаи в жизни:
Вложение 43593
Сергей0308 ты как всегда по мелочи нечего не делаешь. Спасибо.... Одельное за макрос с "тапочками"
Да не за что! Уже смутно помню, но задача была не очень сложная, кстати самый сложный мой макрос это "очередь", в такой-то из тем выкладывал(последняя версия здесь в 18 посте: https://owen.ru/forum/showthread.php?t=31113&page=2), а ваш я думаю сейчас бы сделали проще и быстрей, если у вас такой:
Вложение 43961
То сейчас у меня появились макросы RAMP_BIT которые в принципе выполняют туже функцию что и макрос DTRIG8, но скорость выполнения увеличивается до 8 раз(при 8 входах) с 8 до 1 цикла при изменении любого бита(активации-деактивации входа) и логика работы получилась более правильная(с логической точки зрения), не знаю вам такое подойдёт?
Вложение 43962
Вложение 43963
Да забыл сказать, приоритет у входов с большим порядковым номером, если вдруг одновременно включились, там все возможные ситуации этим разруливаются!
Сергей0308 спасибо. посмотрю вашу новую разработку.
подскажите как правильно написать макрос со статическим запоминающем устройством из двух вентилей НЕ-ИЛИ которые внутри связаны бистабильным мультивибратором! спасибо!
Т тригер что ли?
Василий и зачем ты прогнал новичка таки страшным словом как триггер?
да именно. в макросах его не нашел.
По-моему есть такой в менеджере компонентов, да и много разных на форуме предлагали, чтобы не повторяться, вот новую модификацию придумал:
Вложение 44073
Вложение 44075
Или так, по старинке:
Вложение 44077
T-trigger в базе есть, только он иначе называется - ON_OFF - Сергей0308 показал его в списке компонентов.
В базе непривычно называется схема подавления дребезга контактов. Я бы назвал Debounce, а в базе макрос назван - DI_Filt_.
Нужно постоянно работать и держать в памяти назначение компонентов.
Добрый вечер. Ребята очень нужна помощь в написании программы для ПР-100. Реле будет применяться в системе отопления частного дома. Я полный чайник и убил уже неделю, но все без толку. Условия работы ПР:
Есть три входа I1, I2, I3 и три соответствующих выхода Q1, Q2, Q3 . При 1 на одном из трех входов, активируется и соответствующий выход и отрабатывает пока активен соответствующий вход.
При единице на двух и более входах, соответствующие входам выходы отрабатывают по порядку по 15 минут и цикл повторяется пока активно 2 или 3 входа. Как только остается активен только один из трех входов- соответствующий выход остается активен. Кроме того, с 24.00-06.00 выход Q1 должен иметь возможность всегда включаться по сигналу от I1 независимо от активности по другим входам.
19dimon85 я бы и две недели убил если бы мне дали такое задание.
1) Это КАК? "При единице на двух и более входах, соответствующие входам выходы отрабатывают по порядку по 15 минут и цикл повторяется пока активно 2 или 3 входа. Как только остается активен только один из трех входов- соответствующий выход остается активен".
2) Что ВЫ понимаете под словом активный, отрабатывают?
I1; I2; I3- насколько я понимаю это аналоговый вход. ОН всегда что то измеряет. И "единички " там не будет там будет число с запятой(float).
Теперь Q1;Q2;Q3- выхода. что у вас будет "управлять температурой" Вашего пола?
Нужно ли отключать Q2 и Q3 после 24.00 или они могут работать в паре с Q1
Во первых напишите какое у вас оборудование кроме ПР100? В примера к ПР100 есть двух позиционный регулятор как я понимаю это Ваш вариант. Возьмите за основу и сделайте хоть что то. Не пойдет поможем.
как то вы не правильно все восприняли, унего полностью дискретная логика: один вход замкнут, значит включен аналогичный выход, если два и более замкнутых входов, то выхода включаются последовательно по одному с периодом 15 минут пока не размкнутся входа до одного и менее
Прибор, который будет управлять процессом- ПР100-230.0804.01.0. Входы и выходы- дискретные.
Постараюсь дать более развернутое пояснение. Прибор должен управлять тремя зонами электрического отопления в доме. Каждая зона имеет свой терморегулятор, который и будет давать сигнал 1 либо 0 на ПР-100. Задача исключить в дневное время суток одновременную работу двух или более отапливаемых зон и обеспечить поочередную циклическую работу зон с которых пришел сигнал на ПР-100.
Вместе с тем, разрешить в ночное время постоянную работу приоритетной зоны (к примеру, I1-Q1) по сигналу от терморегулятора. Оставшиеся выходы Q2 и Q3 в ночное время работают по тому же принципу, но в цикле уже 2 зоны при единицах на обоих оставшихся входах или при единице лишь на одном из них - активируется соответствующий выход и работает пока пока есть 1 на входе.