IPBIPB
Проектирование, монтаж, наладка, сервис

Здравствуйте, гость ( Вход | Регистрация )

- Рекомендации АВОК 7.9–2019
Проектирование систем вентиляции и кондиционирования воздуха
помещений предприятий общественного питания

АВОК в соц. сетях
 
Добавить ответ в эту темуОткрыть тему
> Задача на алгоритм
clubnace
сообщение 19.2.2019, 11:57
Сообщение #1





Группа: New
Сообщений: 2
Регистрация: 5.2.2015
Пользователь №: 258653



Добрый день, попомогите написать логику в ETS 5 в устройстве ABA/s1.2.1

Задача есть два выключателя и надо включить 3 лампочки поочередно, тоесть с 1 выключателя включается 1 лампочка , со второго выключателя 3 лампочка , при нажатии 2 кнопок должна включиться 2 лампочка но при этом не должны выключиться 1 и 3 ламочки , но когда нужно должны быть возможность их включения и выключения по отдельности . и есть ли вообще такая возможность написать такую логику.

Прикрепленный файл  5b330d2b_08e5_4da4_86d9_b4a2b66fff08.jpg ( 75.72 килобайт ) Кол-во скачиваний: 45


Спасибо!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
LordN
сообщение 21.2.2019, 5:50
Сообщение #2


МОДЕРАТОР


Группа: Модераторы
Сообщений: 9558
Регистрация: 3.7.2004
Из: Томск
Пользователь №: 32



Цитата(clubnace @ 19.2.2019, 15:57) *
Добрый день, попомогите написать логику в ETS 5 в устройстве ABA/s1.2.1

Задача есть два выключателя и надо включить 3 лампочки поочередно, тоесть с 1 выключателя включается 1 лампочка , со второго выключателя 3 лампочка , при нажатии 2 кнопок должна включиться 2 лампочка но при этом не должны выключиться 1 и 3 ламочки , но когда нужно должны быть возможность их включения и выключения по отдельности . и есть ли вообще такая возможность написать такую логику.

Прикрепленный файл  5b330d2b_08e5_4da4_86d9_b4a2b66fff08.jpg ( 75.72 килобайт ) Кол-во скачиваний: 45


Спасибо!

возможности есть любые, но их надо программировать.
таблицы истинности, карты каро, алгоритмы, блок-схемы - это то, что программист обязан знать по дефолту. если не знает - учиться.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yozik
сообщение 21.2.2019, 20:45
Сообщение #3





Группа: Участники форума
Сообщений: 1074
Регистрация: 3.10.2008
Из: Украина
Пользователь №: 23441



Цитата(clubnace @ 19.2.2019, 10:57) *
Добрый день, попомогите написать логику в ETS 5 в устройстве ABA/s1.2.1

Такое ПО ни разу не видел :-)
Цитата(clubnace @ 19.2.2019, 10:57) *
Задача есть два выключателя ........ при нажатии 2 кнопок

Тяжело Вам будет
Вы даже условия задачи правильно сформулировать не можете
1. Давайте определимся что у Вас
а) выключатели (это устройство имеющее два состояния вкл/откл, с фиксацией
упрощенно это обычный выключатель света в комнате
б) кнопоки (это устройство имеющее два состояния вкл/откл, БЕЗ фиксации
упрощенно это клавиши на клавиатуре вашего компьютера)
2. У Вас много взаимоисключающих требований, часть действий надо будет
переносить на пользователя (обучать пользоваться таким убогим интерфейсом)
ПС повторяю никогда не имел дел с ETS 5 поэтому просто решим задачу на
условном языке (типа Си)
Для того что-бы Вы представили себе какие сложности могут быть

Ниже
Попытка решить задачу "с наскока"
На первый взгляд задача с кнопок решается проще
SB1 кнопка 1 (1 нажата 0 не нажата)
SB2 кнопка 2 (1 нажата 0 не нажата)
L1 лампочка 1 (1 вкл 0 выкл)
L2 лампочка 2 (1 вкл 0 выкл)
L3 лампочка 3 (1 вкл 0 выкл)
А1.....Аn промежуточные переменные (у Вас это линии связи)

Описание используемых терминов
нажимаем (как на клавиатуре нажали отпустили)
удерживаем(5сек) (нажали и держим нажатой больше 5-и секунд, потом отпускаем)

Вариант алгоритма №1
нажимаем кнопку SB1 вкл L1
нажимаем SB1 повторно L1 выключается
для L2 аналогично только кнопка SB2
нажимаем обе кнопки одновременно вкл L3
нажимаем обе кнопки одновременно еще раз выкл L3
Все это действия можно выполнять в любой последовательности.

Реализация
IF (SB1==1 AND SB2==0) THEN L1=NOT L1
IF (SB1==0 AND SB2==1) THEN L2=NOT L2
IF (SB1==1 AND SB2==1) THEN L3=NOT L3

"На бумаге" это вполне рабочий алгоритм и теоретически все будет работать.
НО в реальности вылезут тараканы (баги)
Баг №1
есть такое явление
это ссылка на википедию про Дребезг_контактов
Некоторые изготовители ПЛК это решают на уровне железа, но допустим у нас не решили.
переделываем наш алгоритм

Вариант алгоритма №2
A1=delayON(0,5s SB1) // кнопку надо держать больше 0,5 сек
A2=delayON(0,5s SB2) // кнопку надо держать больше 0,5 сек
IF (A1==1 AND A2==0) THEN L1=NOT L1
IF (A1==0 AND A2==1) THEN L2=NOT L2
IF (A1==1 AND A2==1) THEN L3=NOT L3

И это тоже рабочий алгоритм и теоретически все будет работать.
НО в реальности вылезут тараканы (баги)
Баг №2
Контроллер @ (самка собаки) быстрый, а пользователь @ тормоз и не умеет
строго синхронно нажимать на кнАпАчки
(пользователи они такие, всегда мешают работать нормальным пАцОнам контроллерам)

Что-же делать?
А если две кнопки надо будет держать подольше?
НЕ это не решает проблему одновременности нажатия....
А попробуем наоборот, для одиночного включения надо подольше,
а для одновременного поменьше.
Отличный у Вас ПЛАН мистер Фикс laugh.gif

Вариант алгоритма №3
A1=delayON(0,5s SB1) // кнопку надо держать больше 0,5 сек
A2=delayON(0,5s SB2) // кнопку надо держать больше 0,5 сек
A3=delayON(3s SB1) // кнопку надо держать больше 3 сек
A4=delayON(3s SB2) // кнопку надо держать больше 3 сек
IF (A3==1 AND A2==0) THEN L1=NOT L1
IF (A1==0 AND A4==1) THEN L2=NOT L2
IF (A1==1 AND A2==1) THEN L3=NOT L3

Капец... вроде все получилось..
Пишем инструкцию для пользователя, а то фих он разберется
как управлять нашим супер устройством

Для включения лампы L1 необходимо нажать кнопку SB1
и удерживать ее нажатой более 3 секунд
Для выключения лампы L1 необходимо нажать кнопку SB1
и удерживать ее нажатой более 3 секунд
Для лампы L2 действия аналогичны L1, но с кнопкой SB2
Для включения лампы L3 необходимо одновременно нажать
кнопки SB1 и SB2 и удерживать их нажатыми
не мение 0,5 секунд, но и не более 3 секунд
(а то мне опять придется алгоритм переписывать)
Для выключения L3 необходимо проделать аналогичные действия.

КароЧе, пользователь, разберешся там как нибуть,
запарился я уже алгоритмы переписывать.

СлЫшь да? Такой вроде простой задаЧ, а уже второй день решить не можем :-)

ПС сходите на форум Овен и попросите у них помощи
(только скажите что у Вас программируемое реле ПР200)
Там больше шансов.
Заодно и ПР200 научитесь программировать.

И ДА определитесь наконец, что у Вас там кнопки или выключатели, а то засмеют.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама











Последние сообщения Форума





Rambler's Top100 Rambler's Top100

RSS Текстовая версия Сейчас: 22.10.2019, 2:25