Вкл/выкл светодиода в зависимости от текущего состояния

Подключение светодиодов, и светодиодных лент
slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#1

Сообщение slavrus » 06.02.2017{, 11:42}

Здравствуйте, подскажите как реализовать вкл/выкл при одном нажатии кнопки, а так же вкл/выкл при изменении переменной мондбас. Пример: включаю светодиод по модбасу, а при нажатии кнопки он должен выключиться, опять включаю по модбасу, с кнопки опять выключить, и наоборот. Вообщем кнопка должна всегда задавать противоположное значение переменной модбас.
Последний раз редактировалось slavrus 06.02.2017{, 14:09}, всего редактировалось 1 раз.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Вкл/выкл светодиода в зависимости от текущего состояния

#2

Сообщение Phazz » 06.02.2017{, 11:53}

Т-триггер

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#3

Сообщение support » 06.02.2017{, 11:57}

Где то так

Вложения
3765717.png
Автор программы FLProg.

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#4

Сообщение slavrus » 06.02.2017{, 12:52}

Спасибо, работает, но это не совсем то, что нужно. Здесь кнопкой можно выключить или включить, если до этого в модбасе происходили изменения.  Пример: передаю по модбасу единичку -лампа загорелась, после нажимаю кнопку - лампа выключилась, затем нажимаю еще раз на кнопку и ничего не происходит. Нужно чтоб свет по нажатию кнопки в любой момент менялся.
В коде ардуино без программы реализуется это быстро, а в программе что-то не совсем получается.
Можно ли реализовать такую схему.
1. При подаче по модбасу 1/0 свет вкл /выкл.
2. При нажатии кнопки идет проверка переменной модбаса и ее значение меняется на противоположное с записью в модбас в этой же переменной. Соответвенно меняется и состояние светодиода.
Последний раз редактировалось slavrus 06.02.2017{, 12:59}, всего редактировалось 1 раз.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Вкл/выкл светодиода в зависимости от текущего состояния

#5

Сообщение Phazz » 06.02.2017{, 14:15}

А если так?
Вложения
8903117.png
Последний раз редактировалось Phazz 06.02.2017{, 14:16}, всего редактировалось 1 раз.

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#6

Сообщение slavrus » 06.02.2017{, 19:51}

Работает, но нужно чтоб не только лампа свое состояние меняла  от нажатия кнопки, но и переменная модбаса перезаписывалась на текущее состояние.

Добавлено (06.02.2017, 19:51)
---------------------------------------------
И всё же, вопрос остается открытым. Есть еще варианты? Почему такая тривиальные задача  так сложно реализуется блоками?

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Вкл/выкл светодиода в зависимости от текущего состояния

#7

Сообщение Phazz » 06.02.2017{, 20:20}

А видео работы с модбасом смотрели?

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#8

Сообщение slavrus » 06.02.2017{, 20:24}

Смотрел видео, но там нет обратной связи от кнопки в модбас
Последний раз редактировалось slavrus 06.02.2017{, 20:25}, всего редактировалось 1 раз.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#9

Сообщение support » 06.02.2017{, 20:28}

К сожалению протокол Modbus поддерживает двухстороннюю связь только с помощью HoldingRegisters.
Автор программы FLProg.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#10

Сообщение support » 06.02.2017{, 20:29}

Что у Вас на другой стороне?
Автор программы FLProg.

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#11

Сообщение slavrus » 06.02.2017{, 20:33}

А не вопрос, могу писать и в HoldingRegisters, данные отправляю с компьютера чз программку и так же через неё  читаю ответы.
В программе ардуино написал это без проблем, а в Flprog пошли затруднения.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#12

Сообщение Boroda » 06.02.2017{, 20:40}

В таком случае делают по другому: в мастере запись и чтение для лампы/кнопки разносят по регистрам. 

Вложения
9629380.jpg

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#13

Сообщение slavrus » 06.02.2017{, 20:43}

В идеале сделать, чтоб состояние лампы всегда фиксировалось в модбас регистре на той же ардуинке, к которой лампа и подключена, то бишь слейве. По запросу от мастера, чтоб можно было узнать значение переменной, а так же при необходимости его поменять, но в мастере хранить не желательно, так как это комп.
Последний раз редактировалось slavrus 06.02.2017{, 20:46}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#14

Сообщение Boroda » 06.02.2017{, 20:43}

Но помоему мастер отсылает COIL, если ему на это указали (нажали кнопку на экране). Но если он опрашивает COIL, то даже если пришел измененный, то отсылка не происходит. По алгоритму работы Modbus в FLProg Сергей подскажет.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#15

Сообщение support » 06.02.2017{, 20:48}

Ну тогда где то так

Команда на   лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.

Вложения
9215582.png
Автор программы FLProg.

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#16

Сообщение slavrus » 06.02.2017{, 20:52}

Boroda писал(а):В таком случае делают по другому: в мастере запись и чтение для лампы/кнопки разносят по регистрам.
Не подходит, так как мастер - это компьютер.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#17

Сообщение Boroda » 06.02.2017{, 21:05}

support писал(а):Modbus поддерживает двухстороннюю связь только с помощью HoldingRegisters
А как же ответ на 5ю функцию? Запись одной ячейки, и ответ такой же.
А как же первая функция?

Добавлено (06.02.2017, 21:00)
---------------------------------------------
slavrus писал(а):Не подходит, так как мастер - это компьютер.
А как же скады, панели оператора? Там везде есть галочка разнести регистры чтения и записи. Жмакаем кнопку - отправляется один COIL, а чтение бита картинки этой кнопочки может происходить с другого COILа.

Добавлено (06.02.2017, 21:05)
---------------------------------------------
support писал(а):Команда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.
Если комп отвалится, то света не видать!

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#18

Сообщение slavrus » 06.02.2017{, 21:08}

support писал(а):Ну тогда где то такКоманда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.
Спасибо, заработало, но сложна конечно схемка, для столь простой задачи.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Вкл/выкл светодиода в зависимости от текущего состояния

#19

Сообщение support » 06.02.2017{, 21:11}

Boroda писал(а):А как же ответ на 5ю функцию? Запись одной ячейки, и ответ такой же.А как же первая функция?
 функция 5 - запись в Coil
функция 1 - чтение дискретного входа
Функции чтения Coil или записи в дискретный вход не существует
Boroda писал(а):Там везде есть галочка разнести регистры чтения и записи. Жмакаем кнопку - отправляется один COIL, а чтение бита картинки этой кнопочки может происходить с другого COILа.
по правилам промышленного программирования (куда входят СКАД-ы)  нажимаем кнопку на скаде -> отправляем в Coil на слейве true -> включается контактор (или реле) его допик подаётся на цифровой вход ->  читаем его в мастера и отображаем изменение состояния кнопки. Таким образом проверяется реальное срабатывание исполнительного реле.
Автор программы FLProg.

slavrus
Рядовой
Сообщения: 10
Зарегистрирован: 06.02.2017{, 11:08}
Репутация: 0

Вкл/выкл светодиода в зависимости от текущего состояния

#20

Сообщение slavrus » 06.02.2017{, 21:12}

Boroda писал(а):А как же скады, панели оператора? Там везде есть галочка разнести регистры чтения и записи. Жмакаем кнопку - отправляется один COIL, а чтение бита картинки этой кнопочки может происходить с другого COILа.
Согласен, но у меня чуток другая реализация.
Boroda писал(а):Цитата support ()Команда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.

Если комп отвалится, то света не видать!
Неправда, всё работает.

Ответить

Вернуться в «Светодиоды»