Вкл/выкл светодиода в зависимости от текущего состояния
Вкл/выкл светодиода в зависимости от текущего состояния
Здравствуйте, подскажите как реализовать вкл/выкл при одном нажатии кнопки, а так же вкл/выкл при изменении переменной мондбас. Пример: включаю светодиод по модбасу, а при нажатии кнопки он должен выключиться, опять включаю по модбасу, с кнопки опять выключить, и наоборот. Вообщем кнопка должна всегда задавать противоположное значение переменной модбас.
Последний раз редактировалось slavrus 06 фев 2017, 14:09, всего редактировалось 1 раз.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
Где то так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
Вкл/выкл светодиода в зависимости от текущего состояния
Спасибо, работает, но это не совсем то, что нужно. Здесь кнопкой можно выключить или включить, если до этого в модбасе происходили изменения. Пример: передаю по модбасу единичку -лампа загорелась, после нажимаю кнопку - лампа выключилась, затем нажимаю еще раз на кнопку и ничего не происходит. Нужно чтоб свет по нажатию кнопки в любой момент менялся.
В коде ардуино без программы реализуется это быстро, а в программе что-то не совсем получается.
Можно ли реализовать такую схему.
1. При подаче по модбасу 1/0 свет вкл /выкл.
2. При нажатии кнопки идет проверка переменной модбаса и ее значение меняется на противоположное с записью в модбас в этой же переменной. Соответвенно меняется и состояние светодиода.
В коде ардуино без программы реализуется это быстро, а в программе что-то не совсем получается.
Можно ли реализовать такую схему.
1. При подаче по модбасу 1/0 свет вкл /выкл.
2. При нажатии кнопки идет проверка переменной модбаса и ее значение меняется на противоположное с записью в модбас в этой же переменной. Соответвенно меняется и состояние светодиода.
Последний раз редактировалось slavrus 06 фев 2017, 12:59, всего редактировалось 1 раз.
- Phazz
- Полковник
- Сообщения: 3110
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 228 раз
- Поблагодарили: 107 раз
Вкл/выкл светодиода в зависимости от текущего состояния
А если так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Phazz 06 фев 2017, 14:16, всего редактировалось 1 раз.
Вкл/выкл светодиода в зависимости от текущего состояния
Работает, но нужно чтоб не только лампа свое состояние меняла от нажатия кнопки, но и переменная модбаса перезаписывалась на текущее состояние.
Добавлено (06.02.2017, 19:51)
---------------------------------------------
И всё же, вопрос остается открытым. Есть еще варианты? Почему такая тривиальные задача так сложно реализуется блоками?
Добавлено (06.02.2017, 19:51)
---------------------------------------------
И всё же, вопрос остается открытым. Есть еще варианты? Почему такая тривиальные задача так сложно реализуется блоками?
- Phazz
- Полковник
- Сообщения: 3110
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 228 раз
- Поблагодарили: 107 раз
Вкл/выкл светодиода в зависимости от текущего состояния
Смотрел видео, но там нет обратной связи от кнопки в модбас
Последний раз редактировалось slavrus 06 фев 2017, 20:25, всего редактировалось 1 раз.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
К сожалению протокол Modbus поддерживает двухстороннюю связь только с помощью HoldingRegisters.
Автор программы FLProg.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
Что у Вас на другой стороне?
Автор программы FLProg.
Вкл/выкл светодиода в зависимости от текущего состояния
А не вопрос, могу писать и в HoldingRegisters, данные отправляю с компьютера чз программку и так же через неё читаю ответы.
В программе ардуино написал это без проблем, а в Flprog пошли затруднения.
В программе ардуино написал это без проблем, а в Flprog пошли затруднения.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
В таком случае делают по другому: в мастере запись и чтение для лампы/кнопки разносят по регистрам.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вкл/выкл светодиода в зависимости от текущего состояния
В идеале сделать, чтоб состояние лампы всегда фиксировалось в модбас регистре на той же ардуинке, к которой лампа и подключена, то бишь слейве. По запросу от мастера, чтоб можно было узнать значение переменной, а так же при необходимости его поменять, но в мастере хранить не желательно, так как это комп.
Последний раз редактировалось slavrus 06 фев 2017, 20:46, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
Но помоему мастер отсылает COIL, если ему на это указали (нажали кнопку на экране). Но если он опрашивает COIL, то даже если пришел измененный, то отсылка не происходит. По алгоритму работы Modbus в FLProg Сергей подскажет.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
Ну тогда где то так
Команда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.
Команда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
Вкл/выкл светодиода в зависимости от текущего состояния
Не подходит, так как мастер - это компьютер.Boroda писал(а):В таком случае делают по другому: в мастере запись и чтение для лампы/кнопки разносят по регистрам.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
А как же ответ на 5ю функцию? Запись одной ячейки, и ответ такой же.support писал(а):Modbus поддерживает двухстороннюю связь только с помощью HoldingRegisters
А как же первая функция?
Добавлено (06.02.2017, 21:00)
---------------------------------------------
А как же скады, панели оператора? Там везде есть галочка разнести регистры чтения и записи. Жмакаем кнопку - отправляется один COIL, а чтение бита картинки этой кнопочки может происходить с другого COILа.slavrus писал(а):Не подходит, так как мастер - это компьютер.
Добавлено (06.02.2017, 21:05)
---------------------------------------------
Если комп отвалится, то света не видать!support писал(а):Команда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.
Вкл/выкл светодиода в зависимости от текущего состояния
Спасибо, заработало, но сложна конечно схемка, для столь простой задачи.support писал(а):Ну тогда где то такКоманда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Вкл/выкл светодиода в зависимости от текущего состояния
функция 5 - запись в CoilBoroda писал(а):А как же ответ на 5ю функцию? Запись одной ячейки, и ответ такой же.А как же первая функция?
функция 1 - чтение дискретного входа
Функции чтения Coil или записи в дискретный вход не существует
по правилам промышленного программирования (куда входят СКАД-ы) нажимаем кнопку на скаде -> отправляем в Coil на слейве true -> включается контактор (или реле) его допик подаётся на цифровой вход -> читаем его в мастера и отображаем изменение состояния кнопки. Таким образом проверяется реальное срабатывание исполнительного реле.Boroda писал(а):Там везде есть галочка разнести регистры чтения и записи. Жмакаем кнопку - отправляется один COIL, а чтение бита картинки этой кнопочки может происходить с другого COILа.
Автор программы FLProg.
Вкл/выкл светодиода в зависимости от текущего состояния
Согласен, но у меня чуток другая реализация.Boroda писал(а):А как же скады, панели оператора? Там везде есть галочка разнести регистры чтения и записи. Жмакаем кнопку - отправляется один COIL, а чтение бита картинки этой кнопочки может происходить с другого COILа.
Неправда, всё работает.Boroda писал(а):Цитата support ()Команда на лампа включена - в регистре 1 (в принципе любое число больше 0), лампа выключена - 0.
Если комп отвалится, то света не видать!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя