Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя
Показано с 41 по 50 из 54

Тема: Сетевые переменные в энергонезависимой памяти ПР200 и OwenLogic.

  1. #41
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,017

    По умолчанию

    Цитата Сообщение от nnov4k Посмотреть сообщение
    задумка простейшая - свет дома: реализация на ПР200 (8DI + 8DO):
    1) при включении DI включается DO, при выключении - выключается. Для целей экономии и возможности пересборки схемы на тупую (выход выключателя коммутируется на клеммнике на вход лампочки и никакой автоматизации) выключатели сделаны обычными, лампочки тоже.
    2) дополнительно на экран выведено состояние всех выходов, соответственно можно с экрана выключить или включить любой DO.
    3) ПР200 прокинута модбасом в HA, к HA прикручен УДЯ, соответственно ПР200 через сетевые переменные показывает своё состояние в HA/УДЯ и допускает управление клиентом HA на мобильнике или через АЛИСУ.
    соответственно логика - чтоб в любой момент времени можно было включить или выключить свет любым способом.

    один минус - если включено алисой, то, чтоб выключить выключателем, то нужно его включить и выключить....
    соответственно т.к. инициализация не прописана и задумался, что сделать, чтоб, когда дети включали свет выключателем и свет был выключен голосом (DI=1, DO=0), при моргании света ночью люстра не била по шарам (DI=1 => DO=1)
    Как вариант
    Безымянный.png
    Здесь физический выключатель работает по принципу проходного

  2. #42

    По умолчанию

    покритикуйте пожалуйста, вроде бы должно работать... )
    -управляется сетью одним регистром установкой битов
    -управляется сетью один регистр один вход/выход
    -управляется с экрана
    -управляется кнопкой, при этом в режиме кнопки без фиксации
    -сохраняет своё состояние
    Изображения Изображения
    Вложения Вложения

  3. #43
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,599

    По умолчанию

    Цитата Сообщение от nnov4k Посмотреть сообщение
    покритикуйте пожалуйста, вроде бы должно работать... )
    -управляется сетью одним регистром установкой битов
    -управляется сетью один регистр один вход/выход
    -управляется с экрана
    -управляется кнопкой, при этом в режиме кнопки без фиксации
    -сохраняет своё состояние
    Какой-то бред сивой кобылы, мягко выражаясь!
    Имея в качестве сетевой переменной битовую маску выходов зачем ещё создавать 8 целочисленных сетевых переменных и использовать в каждом регистре по биту? Прямо какой-то бред бредовый, мне так кажется!
    Хороший пример как не надо делать!
    Вы бы хоть что-нибудь посмотрели на форуме, тысячу раз подобное обсуждалось, короче, хуже трудно придумать!
    Последний раз редактировалось Сергей0308; 22.11.2024 в 00:13.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #44
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,017

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Какой-то бред сивой кобылы, мягко выражаясь!
    Имея в качестве сетевой переменной битовую маску выходов зачем ещё создавать 8 целочисленных сетевых переменных и использовать в каждом регистре по биту? Прямо какой-то бред бредовый, мне так кажется!
    Хороший пример как не надо делать!
    Вы бы хоть что-нибудь посмотрели на форуме, тысячу раз подобное обсуждалось, короче, хуже трудно придумать!
    Ну, хочется человеку напрямую рулить битами - ресурсов то хватает. А, может, Алиса не умеет включать свет с помощью битовой маски.
    Мой вариант
    !!!1 Переключение бит_3 v3.owle

  5. #45

    По умолчанию

    Цитата Сообщение от nnov4k Посмотреть сообщение
    покритикуйте пожалуйста, вроде бы должно работать... )
    Взяли мой пример и извратили зачем то (сетевая маска бит у вас не работает),1 Переключение бит .jpg
    триггеры на входе ещё можно понять, хотя для кнопок они и не нужны, а маска бит у меня работала.
    Сетевые (если нужны битовые) можно было повесить прямо на выходы макроса.
    Цель была этот макрос переписать на ST.
    https://owen.ru/forum/showthread.php...824#post447824

    Лучше всех получилось у Валенка https://owen.ru/forum/showthread.php...&page=382#3814
    Последний раз редактировалось kondor3000; 22.11.2024 в 17:37.

  6. #46

    По умолчанию

    Кажется, фильм "9-я рота". Помните?
    - Боец ты что-то видел?
    - Нет
    - Так чего ты ржешь? В бою главное выполнить приказ! Обосраться - но выполнить!

    Я бы таким ребятам сразу Орден Мужества выдавал. Подставиться - но научиться.

  7. #47

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Какой-то бред сивой кобылы, мягко выражаясь!
    Имея в качестве сетевой переменной битовую маску выходов зачем ещё создавать 8 целочисленных сетевых переменных и использовать в каждом регистре по биту? Прямо какой-то бред бредовый, мне так кажется!
    Хороший пример как не надо делать!
    Вы бы хоть что-нибудь посмотрели на форуме, тысячу раз подобное обсуждалось, короче, хуже трудно придумать!
    Так задумано, т.к. HomeAssistant в не предусмотрено описание switches по битовой маске, только регистром целиком. Регистр писать можно, но вычисляя его отдельным блоком костылей, что ещё более трудозатратно, чем использование 1 бит в каждом регистре.

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Ну, хочется человеку напрямую рулить битами - ресурсов то хватает. А, может, Алиса не умеет включать свет с помощью битовой маски.
    Мой вариант
    !!!1 Переключение бит_3 v3.owle
    Благодарю за конструктив и отличный пример! Не ожидал, что сетевые переменные можно сразу на экран привязывать. костыль с битами отчасти связан как раз с необходимость их привязки на экран

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Взяли мой пример и извратили зачем то (сетевая маска бит у вас не работает),1 Переключение бит .jpg
    триггеры на входе ещё можно понять, хотя для кнопок они и не нужны, а маска бит у меня работала.
    Сетевые (если нужны битовые) можно было повесить прямо на выходы макроса.
    Цель была этот макрос переписать на ST.
    https://owen.ru/forum/showthread.php...824#post447824
    Лучше всех получилось у Валенка https://owen.ru/forum/showthread.php...&page=382#3814
    Я специально вывернул блок для возможности адресации внутренних переменных и упрощенной пошаговой отладки. Сетевые были целочисленные, потому так и получилось, хотя, согласен, я думаю никто бы снаружи и не догадался, что с ними работают как с битовыми. Стараюсь конечно не спрашивать тупые вопросы, но "на текущем развитии мозга" вложенные процедуры в цикловом процессе тяжело укладываются в голове.

    Цитата Сообщение от EFrol Посмотреть сообщение
    Кажется, фильм "9-я рота". Помните?
    - Боец ты что-то видел?
    - Нет
    - Так чего ты ржешь? В бою главное выполнить приказ! Обосраться - но выполнить!
    Я бы таким ребятам сразу Орден Мужества выдавал. Подставиться - но научиться.
    благодарю за поддержку! изящные решения пока не мой конёк, но моя вандервафля тоже почти работала (за исключением неиспользуемой битовой маски)
    Последний раз редактировалось nnov4k; 22.11.2024 в 18:47.

  8. #48

    По умолчанию

    Цитата Сообщение от nnov4k Посмотреть сообщение
    HomeAssistant в не предусмотрено описание switches по битовой маске, только регистром целиком.
    Это не про это?
    Код:
        switches:
          ### Dimmer Command Switches
          - name: "╨Ы╨░╨╝╨┐╤Л: 1 ╨н╤В╨░╨╢ ╨Ю╨▒╨╡╨┤╨╡╨╜╨╜╤Л╨╣ ╨б╤В╨╛╨╗ (DIM, Preset 1)"
            unique_id: HALmp1EObedStolDIMPreset1      #Unique ID (Global) of Lamp
            slave: 10                                 #PLC Slave ID
            address: 160                              #PLC Register Address
            scan_interval: 1                          #In Secodns
            write_type: coil                          #Reg Type (coil / discrete / holding / input)
            command_on: 1                             #What write to ON State
            command_off: 0                            #What write to OFF State
            verify:                                   #How to Verify State
              input_type: coil                        #Reg Type (coil / discrete / holding / input)
              delay: 0.5                              #Delay (in secons between Write and Verify)
    Я делал на coil, и работал с битами.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  9. #49

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Я делал на coil, и работал с битами.
    Из этой логики следующий вариант должен писать битовые маски в регистр, но по факту все варианты пишут 1 в 1й бит (coil/coils дают одинаковый эффект). Указание "bit:1" (1-2-3-4-5-...16) возможно только для binary_sensors, они не будут принимать обратно воздействие.
    - name: hub3
    type: tcp
    host: 192.168.2.41
    port: 502
    switches:
    - name: test_sw1
    unique_id: test_sw1
    address: 530
    write_type: coils
    slave: 3
    command_on: 1 # 0x01
    command_off: 0 # 0x00
    verify:
    input_type: coils

    - name: test_sw2
    unique_id: test_sw2
    address: 530
    write_type: coils
    slave: 3
    command_on: 2 # 0x10
    command_off: 0 # 0x00
    verify:
    input_type: coils

    - name: test_sw16
    unique_id: test_sw16
    address: 530
    write_type: coils
    slave: 3
    command_on: 16 # 0x1111
    command_off: 0 # 0x0000
    verify:
    input_type: coils
    в теории оно будет работать, если не описывать ячейки, например как в примере здесь https://psenyukov.ru/%D1%83%D0%BF%D1...E%D1%82%D0%BE/ НО вылезет другой минус - при включении второго погаснет первый, при выключении погаснут все биты.

    косвенно на проблему ссылается мануал https://www.home-assistant.io/integr...rite_registers
    write_registers boolean (Optional, default: false) If true use write_registers to control the On/Off state (hvac_onoff_register), else use write_register. Note that it is not yet possible to control the On/Off state via a coil.

    на стенде несколько вечеров экспериментировал с описанием регистров в HA и ModbusSlave эмуляторе, в упор пишется первый бит

  10. #50

    По умолчанию

    nnov4k Нет. У них интеграция Modbus тупенькая, как моя кошочка (восьмибитная): если написано Coil - то он пишет только Coil, и всё.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя

Похожие темы

  1. пр200 (Slave) сетевые переменные
    от Ivanvn в разделе Программируемые реле
    Ответов: 17
    Последнее сообщение: 12.01.2023, 12:14
  2. Сетевые переменные ПР200.
    от Newcomer в разделе Программируемые реле
    Ответов: 26
    Последнее сообщение: 22.12.2022, 15:30
  3. ПР200 сетевые переменные
    от Alexandr21 в разделе Эксплуатация
    Ответов: 9
    Последнее сообщение: 15.12.2022, 07:44
  4. Сетевые и локальные переменные пр200
    от Garik01 в разделе Программируемые реле
    Ответов: 9
    Последнее сообщение: 07.11.2022, 13:58
  5. сетевые переменные ПР200
    от pwm100558 в разделе Программируемые реле
    Ответов: 57
    Последнее сообщение: 17.12.2017, 22:06

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •