Страница 8 из 11 ПерваяПервая ... 678910 ... ПоследняяПоследняя
Показано с 71 по 80 из 103

Тема: ПР + РЕЛЕ С ИНТЕРФЕЙСОМ RS485

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

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Там чтение 0х01 функцией, на 0х02 такое же поведение? типа булевая, но покажет число 11 ? типа замкнуто 3 входа ?

    А если ее при этом перевести в Int переменную ? bool-to-int и как вариант попробовать FB на ST сделать и попробовать выдернуть число?

    И как бы чтение других битов должно же было приводить к какому-то результату, нет?
    С функцией "2" происходит то же самое. Скрины приложу сейчас. Функция 1 читает выходы, а функция 2 - входы.
    Если ее стандартным готовым блоком bool_to_int интовать, то при интовании в единичку конвертируется только значение 1 переменной, значения 0, 2, 4, 8 на выходе блока bool_to_int принимают нулевое значение.
    Пробовали писать функцию на ST с использованием внутри нее встроенной функции bool_to_udint() - тогда при любом положительном значении переменной на выходе функции единица, а при ноле, соответственно, ноль.

    Чтение других битов дает всегда ноль, потому что все биты почему-то упаковываются в нулевой бит нулевого регистра.
    Изображения Изображения
    Последний раз редактировалось TaPX; 25.08.2023 в 14:45.

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,579

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    С функцией "2" происходит то же самое. Скрины приложу сейчас. Функция 1 читает выходы, а функция 2 - входы.
    Если ее стандартным готовым блоком bool_to_int интовать, то при интовании в единичку конвертируется только значение 1 переменной, значения 0, 2, 4, 8 на выходе блока bool_to_int принимают нулевое значение.
    Пробовали писать функцию на ST с использованием внутри нее встроенной функции bool_to_udint() - тогда при любом положительном значении переменной на выходе функции единица, а при ноле, соответственно, ноль.

    Чтение других битов дает всегда ноль, потому что все биты почему-то упаковываются в нулевой бит нулевого регистра.
    осталось дождаться когда Вы по аналогии с выходами сделаете четыре входных буля и каждому, с помощью 2 функции, выставите в конфигураторе соответствующий бит и после покажете скрин
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    осталось дождаться когда Вы по аналогии с выходами сделаете четыре входных буля и каждому, с помощью 2 функции, выставите в конфигураторе соответствующий бит и после покажете скрин
    Да пожалуйста:
    Снимок экрана (48).pngСнимок экрана (49).pngСнимок экрана (50).pngСнимок экрана (51).pngСнимок экрана (52).pngСнимок экрана (53).png

    замыкал входы на китайской релюшке.

  4. #4
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,001

    По умолчанию

    Мда, тут явно косяк ОЛ. при значениях 1, 2, 4, 8 (как серым горит) переменная должна становиться true в зависимости какой бит выставлен в функции чтения.

    Ну или реально, чтобы сделали переменную Byte для функций 0х01 и 0х02 и чтобы на поле программы она была как int чтобы уже там применять Extract и Putbit

    И главное же сам ОЛ каким-то чудом выводит ЦИФРЫ
    Последний раз редактировалось melky; 25.08.2023 в 15:16.

  5. #5

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Мда, тут явно косяк ОЛ. при значениях 1, 2, 4, 8 (как серым горит) переменная должна становиться true в зависимости какой бит выставлен в функции чтения.

    Ну или реально, чтобы сделали переменную Byte для функций 0х01 и 0х02 и чтобы на поле программы она была как int чтобы уже там применять Extract и Putbit

    И главное же сам ОЛ каким-то чудом выводит ЦИФРЫ
    В этом то и парадокс. И самое интересное, выход щелкает только при значении "1" этой переменной.

  6. #6
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,001

    По умолчанию

    p.s. непонятно в какой момент применяется распознавание бита, если вообще применяется, раз первая булевая переменная изменяет свои значения, хотя просто должна быть 0 или 1 в зависимости какой бит проверяется.

  7. #7

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    p.s. непонятно в какой момент применяется распознавание бита, если вообще применяется, раз первая булевая переменная изменяет свои значения, хотя просто должна быть 0 или 1 в зависимости какой бит проверяется.
    парадокс. Мы тут думаем, что проблема в прошивке ПР.

  8. #8
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,110

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    парадокс. Мы тут думаем, что проблема в прошивке ПР.
    Проблема в прошивке китайского чуда.
    Стандартом https://owen.ru/forum/showthread.php...l=1#post414984 не запрещено в функции 02(01) запрашивать по одному биту, что мастер в ПР и делает. В ответ нормальный слейв должен упаковать в байт ответа всего один бит(младший в байте ответа).
    Китайское чудо упорно запихивает в байт ответа ВСЕ биты входов!!!.

    Поигрался вчера с реальной ПРкой и реальным слейвом по этой картинке
    Захват-01.png

    Из нормального слейва в сетевые переменные Var1..Var3 читаются по одному биту, не зависимо от состояние соседних бит в слейве.
    Если бы мастер в ПР мог делать чтение группы бит, то все бы работало, а так не судьба подружить ПРку с этим китайским чудом.

    ЗЫ.
    Мастер ПР знает, что в ответ на запрос ОДНОГО бита получит результат в младшем бите ответного байта, по этому ПО ПРки не предусматривает просмотр и выделение ВСЕХ бит из байта ответа
    Последний раз редактировалось petera; 25.08.2023 в 16:21.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #9
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,001

    По умолчанию

    petera как тогда объяснить показания различных значений, которые видны на скринах в первой булевой переменной, 1, 2, 4, 8, 11 ????? 11 - включено 3 бита

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    petera как тогда объяснить показания различных значений, которые видны на скринах в первой булевой переменной, 1, 2, 4, 8, 11 ????? 11 - включено 3 бита
    Это может быть баг симулятора(онлайн режима), кстати, уже не раз подобные баги встречались!

    Какая-то непоследовательность, в смысле, обычно Вы всё предполагаете и предполагаете, даже там, где это не требуется, а здесь, всё, фантазия кончилась!
    Последний раз редактировалось Сергей0308; 25.08.2023 в 16:40.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 8 из 11 ПерваяПервая ... 678910 ... ПоследняяПоследняя

Похожие темы

  1. СПК207 с интерфейсом CAN
    от dima64 в разделе СПК2xx (архив)
    Ответов: 16
    Последнее сообщение: 13.06.2024, 15:47
  2. ИПП120 +Модуль Реле R421C32 попытка связать по Modbus через RS485
    от Alexteam в разделе Сетевые технологии
    Ответов: 38
    Последнее сообщение: 01.12.2022, 23:53
  3. Непонятки с интерфейсом
    от raiterpl в разделе Облачный сервис OwenCloud
    Ответов: 4
    Последнее сообщение: 09.02.2018, 13:19
  4. Ответов: 1
    Последнее сообщение: 31.08.2017, 12:16

Ваши права

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