Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 52

Тема: Помогите разобраться с блоком PUTBIT

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Так давайте не будем про регистр пока, регистр это ячейка памяти . У нас есть применительно к ОЛ переменная INT 32 разряда, в двоичной системе счисления. Младший с номером 0 старший 31. Про вес каждого разряда выше люди изложили.N на входе блока это номер этого разряда двоичного. Туда вы можете записать 0 или 1 . Иными словами значение поданное на вход х в десятичной системе удобной нам людям ,представляется в двоичной 32 битами , и вот именно в цепочке этих бит изменяется бит под номером N . Эти биты в совокупности образуют какое-то значение, мы видим его на выходе блока в десятичном представлении. На компе включите калькулятор в режиме программист , как то так, и переключая системы счисления все наглядно увидите.

  2. #2

    По умолчанию

    Цитата Сообщение от Sergej_ Посмотреть сообщение
    Так давайте не будем про регистр пока, регистр это ячейка памяти . У нас есть применительно к ОЛ переменная INT 32 разряда, в двоичной системе счисления. Младший с номером 0 старший 31. Про вес каждого разряда выше люди изложили.N на входе блока это номер этого разряда двоичного. Туда вы можете записать 0 или 1 . Иными словами значение поданное на вход х в десятичной системе удобной нам людям ,представляется в двоичной 32 битами , и вот именно в цепочке этих бит изменяется бит под номером N . Эти биты в совокупности образуют какое-то значение, мы видим его на выходе блока в десятичном представлении. На компе включите калькулятор в режиме программист , как то так, и переключая системы счисления все наглядно увидите.
    Спасибо за ответ я так и делал.В режиме программиста считал.Но мне важно понять если мы в разряд 4 пишем 1 а в этом разряде был 0 и мы ее поменяем на 1 то понятно что цифра в десятичном формате на выходе будет другая.Но что нам на выходе этого блока даст это число?Я могу посчитать запись в числе Х и поставить допустим значения бита 16 и посчитаю заранее какое будет число на выходе.Если мы в числе 38 в его ячейки 4м разряде поставим вместо 0 1 то на выходе у нас будет 54 так как 110110 в десятичном формате будет как раз таки и 54 но как мы этим самый сможем включить или отключить устройство?Я так понимаю что в 4м разряде мы 0 меняем на 1 и тем самым вкл или выкл устройство?

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

    По умолчанию

    Цитата Сообщение от Андрей 77 Посмотреть сообщение
    Спасибо за ответ я так и делал.В режиме программиста считал.Но мне важно понять если мы в разряд 4 пишем 1 а в этом разряде был 0 и мы ее поменяем на 1 то понятно что цифра в десятичном формате на выходе будет другая.Но что нам на выходе этого блока даст это число?Я могу посчитать запись в числе Х и поставить допустим значения бита 16 и посчитаю заранее какое будет число на выходе.Если мы в числе 38 в его ячейки 4м разряде поставим вместо 0 1 то на выходе у нас будет 54 так как 110110 в десятичном формате будет как раз таки и 54 но как мы этим самый сможем включить или отключить устройство?Я так понимаю что в 4м разряде мы 0 меняем на 1 и тем самым вкл или выкл устройство?
    ну так, функцией EXTRACT мы и вытаскиваем нужный бит из числа

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

    По умолчанию

    Цитата Сообщение от Андрей 77 Посмотреть сообщение
    Вложение 64635Я понял как работает блок EXTRACT, посмотрите правильно я все посчитал?Но так и не понял на практики для чего он нужен.Я понимаю что он вытаскивает нужный нам бит из числа и мы можем тем самым выдать 1 или 0 на выходе тем самым вкл или выкл нагрузку.Но не пойму зачем в булевской логики его использовать может это больше для сети нужно?Я правильно понимаю что когда сетевая переменная читает состояния бита в ячейки и в зависимости в каком состояние находится ячейка 1или 0 сетевая переменная передает это в скаду и говори что устройство или вкл или выкл так получается?
    Вы смотрели мой проект с коммутатором, я ссылку давал, там входные и выходные сигналы - булевы, этот пример наглядно на практике демонстрирует и показывает все его премущества, на худой конец, можно просто посмотреть как всё происходит, может сознание прояснится!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  5. #5

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Вы смотрели мой проект с коммутатором, я ссылку давал, там входные и выходные сигналы - булевы, этот пример наглядно на практике демонстрирует и показывает все его премущества, на худой конец, можно просто посмотреть как всё происходит, может сознание прояснится!
    Да ваш проект смотрел и изучаю пока разобрал ваш макрос коммутатор стало понятно как формируются цифры на выходе при чтение ячейки битов.То есть при подачи 1 на во вторую ячейку у нас цифра 4 при подачи 1 в ячейку 3 у нас 8 он суммируются и при нажатие одновременно двух входо на выходе 12.Тоесть он читает состояние ячейки.Я сформировал число 10 селектором выбрал 3ю ячейку бита там записана 1 ее EXTRACT прочитал и вывел 1 и когда я селекторе выбрал ячейку 2 там записана 0 и выход выключился. Screenshot_1000.jpg

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

    По умолчанию

    Цитата Сообщение от Андрей 77 Посмотреть сообщение
    Да ваш проект смотрел и изучаю пока разобрал ваш макрос коммутатор стало понятно как формируются цифры на выходе при чтение ячейки битов.То есть при подачи 1 на во вторую ячейку у нас цифра 4 при подачи 1 в ячейку 3 у нас 8 он суммируются и при нажатие одновременно двух входо на выходе 12.Тоесть он читает состояние ячейки.Я сформировал число 10 селектором выбрал 3ю ячейку бита там записана 1 ее EXTRACT прочитал и вывел 1 и когда я селекторе выбрал ячейку 2 там записана 0 и выход выключился. Screenshot_1000.jpg
    Надеюсь понимаете как можно использовать этот макрос?
    Например дискретные входа и выхода ПР можно подключать как угодно(как удобно), не глядя, потом программно, например с экрана, настроить соответствие!
    Вы же наверняка даже не прочитали зачем чел этот макрос хотел!
    Последний раз редактировалось Сергей0308; 19.12.2022 в 04:18.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Цитата Сообщение от Андрей 77 Посмотреть сообщение
    Вложение 64635Я понял как работает блок EXTRACT, посмотрите правильно я все посчитал?Но так и не понял на практики для чего он нужен.Я понимаю что он вытаскивает нужный нам бит из числа и мы можем тем самым выдать 1 или 0 на выходе тем самым вкл или выкл нагрузку.Но не пойму зачем в булевской логики его использовать может это больше для сети нужно?Я правильно понимаю что когда сетевая переменная читает состояния бита в ячейки и в зависимости в каком состояние находится ячейка 1или 0 сетевая переменная передает это в скаду и говори что устройство или вкл или выкл так получается?
    Одну и ту же задачу можно решить разными способами. Как именно поступить решает автор. Вам ведь никто не сказал, что нужно использовать только связку PUTBIT - EXTRACT, а всякие AND и OR - это моветон. Как вам удобно и понятно, так и решайте задачу

  8. #8

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Одну и ту же задачу можно решить разными способами. Как именно поступить решает автор. Вам ведь никто не сказал, что нужно использовать только связку PUTBIT - EXTRACT, а всякие AND и OR - это моветон. Как вам удобно и понятно, так и решайте задачу
    А вообще битовые функции для чего нужны для сетевых переменных или их задачи применимы везде?

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

    По умолчанию

    Цитата Сообщение от Андрей 77 Посмотреть сообщение
    А вообще битовые функции для чего нужны для сетевых переменных или их задачи применимы везде?
    один из примеров https://owen.ru/forum/showthread.php...l=1#post393985

  10. #10

    По умолчанию

    Цитата Сообщение от Андрей 77 Посмотреть сообщение
    А вообще битовые функции для чего нужны для сетевых переменных или их задачи применимы везде?
    Дополню немного, в части сетевого обмена, максимально упрощённо: скажем 16 бит если будете передавать по сети одним INT это одна история и Вы одной посылкой передаёте эти 16 бита, если же передавать их по 1 биту это 16 посылок , т.е передав один и тот же объем информации затратите значительно больше времени, подробнее посмотрите про протокол модбас в интернете. Поэтому упаковка -распаковка полезная тема в этих случаях.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. ПР200 и PUTBIT
    от Safron в разделе Программируемые реле
    Ответов: 14
    Последнее сообщение: 24.10.2018, 13:52
  2. PutBit
    от Keldish в разделе Программируемые реле
    Ответов: 2
    Последнее сообщение: 21.09.2015, 17:07
  3. ТРМ 148.Помогите разобраться.
    от VVS_123 в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 18.08.2015, 09:48
  4. Ответов: 5
    Последнее сообщение: 21.12.2014, 13:24
  5. Ответов: 1
    Последнее сообщение: 08.04.2013, 13:18

Ваши права

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