Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: ПР102+ МВ110-32 H/W v2.0

  1. #11

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Проверил, можно и не писать новый блок, а на 2 экземпляр подать Маску DWORD (Udint) через функцию. Вложение 76036
    Или просто вставить строку W:=SHR(W1,16); в ФБ на ST. Всё работает
    Код:
    function SHR16: udint; //имя функции и тип данных выхода
        var_input 
          W : udint; //входная переменная с типом данных udint       
        end_var       
        
        SHR16:=SHR(W,16);
    end_function
    Странно, повторил Ваш пример. Но у меня вот ни хрена не работает, первые 16 и все.....
    Вложения Вложения

  2. #12

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    У меня настройки имеются в свойствах макроса, в смысле, настраивается какой бит извлекать на каждом выходе!
    И, сдвиг не нужен!

    Вложение 76037
    Я так изначально и делал через экстракт, подставляя 16, 17 и т.д. Бесполезно.

  3. #13

    По умолчанию

    Цитата Сообщение от Serjay Посмотреть сообщение
    Не получается создать массив с udint.
    Зачем тут массив? Маска это переменная UDINT.

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

    По умолчанию

    Цитата Сообщение от Serjay Посмотреть сообщение
    Я так изначально и делал через экстракт, подставляя 16, 17 и т.д. Бесполезно.
    Так не надо там ничего мудрить, функция извлечения бит в ОЛ имеется и её можно проверить, в смысле подайте на вход значение 65536 или 131072, эти значения должны соответствовать 16 или 17 биту, в смысле, неужели хотя бы в симуляторе нельзя минуту потратить и всё проверить, в смысле, проблему найти, может у Вас значения поступают не более 65535, поэтому эти биты всегда в состоянии логического "0"!
    Попробуйте отдельно читать 99 и 100 регистр!
    И, Вы используете макрос вставки(записи) бит очень не оптимальный, сильно переусложнённый, в смысле, можно подсмотреть в моём проекте, намного проще!
    Последний раз редактировалось Сергей0308; 26.05.2024 в 18:36.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  5. #15

    По умолчанию

    Цитата Сообщение от Serjay Посмотреть сообщение
    Странно, повторил Ваш пример. Но у меня вот ни хрена не работает, первые 16 и все.....
    Так у вас дело не в блоке, а в чтении с Модуля. Сам блок работает правильно. 1 Работа бит.jpg
    Последний бит включает число 134217728
    Это 27 бит, но так как у вас счёт с 1 бита ( а не с 0), то получился 28.
    Скорее всего сетевая переменная не передаёт число больше 65535. Надо сделать сетевую с адресом 100 и посмотреть в ней число.
    Так же попробовать переставить регистры (байты) галочкой.
    Последний раз редактировалось kondor3000; 26.05.2024 в 18:42.

  6. #16

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Так не надо там ничего мудрить, функция извлечения бит в ОЛ имеется и её можно проверить, в смысле подайте на вход значение 65536 или 131072, эти значения должны соответствовать 16 или 17 биту, в смысле, неужели хотя бы в симуляторе нельзя минуту потратить и всё проверить, в смысле, проблему найти, может у Вас значения поступают не более 65535, поэтому эти биты всегда в состоянии логического "0"!
    Попробуйте отдельно читать 99 и 100 регистр!
    И, Вы используете макрос вставки(записи) бит очень не оптимальный, сильно переусложнённый, в смысле, можно подсмотреть в моём проекте, намного проще!
    Вот это хороший вопрос, что приходит не более 65535. К сожалению модуля ввода у меня под рукой нет, объект пытаюсь запустить удаленно. Ранее проблем с модулем ввода не было, это именно с обновленной версии модуля какая-то фигня. Ранее опрос делался 2-мя регистрами и проблем не было. а сей час по мимо того что он сдвоенные так еще и на оборот.... Вход 16, это 1 бит, очень усложняет наладку.

  7. #17

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Так у вас дело не в блоке, а в чтении с Модуля. Сам блок работает правильно. 1 Работа бит.jpg
    Последний бит включает число 134217728
    Это 27 бит, но так как у вас счёт с 1 бита ( а не с 0), то получился 28.
    Скорее всего сетевая переменная не передаёт число больше 65535. Надо сделать сетевую с адресом 100 и посмотреть в ней число.
    Так же попробовать переставить регистры (байты) галочкой.
    Как я и писал в начале своего поста, прикладывая картинку от тех поддержки ОВЕН, модуль НОВЫЙ опрашивается сдвоеным регистром, а читать его 99 и 100 не получается! Ошибка сети, на модуле мигает лампа авария.

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

    По умолчанию

    Прочитайте модуль когда замкнут только первый вход и посмотрите что ПРка прочитает. Может надо байты местами поменять?

  9. #19

    По умолчанию

    Получил я модуль на руки.
    Проблема действительно не в самом коде, а в настройка сети.
    Сам модуль на заводских настройках сети!
    В лоджике я добавил шаблон из менеджера компонентов, и отредактировал его под один регистр.
    Вот в этом шаблоне стояла галочка "старшим байтом".
    Получается, что если подать сигнал на 1ый вход, сетился 9 в лоджике!

    Если убрать эту галочку, все работает корректно!

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

    Всем огромное спасибо!!!

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 05.12.2022, 09:20
  2. ИПП 120 и ПР102
    от Работникк в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 27.05.2022, 18:23
  3. ОЗУ ПР102
    от batur в разделе Программируемые реле
    Ответов: 18
    Последнее сообщение: 31.01.2022, 07:03
  4. Цикличная запись команды между ПР102-1 (Master) и ПР102-2 (Slave)
    от shprot в разделе Программируемые реле
    Ответов: 19
    Последнее сообщение: 10.05.2021, 11:33
  5. Ответов: 4
    Последнее сообщение: 11.09.2020, 14:33

Ваши права

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