Страница 885 из 1050 ПерваяПервая ... 385785835875883884885886887895935985 ... ПоследняяПоследняя
Показано с 8,841 по 8,850 из 10495

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #8841
    Пользователь
    Регистрация
    11.01.2021
    Адрес
    Самара
    Сообщений
    43

    По умолчанию

    Спасибо что не прошли мимо. Прикладываю скрины настроек. плк_1.JPG
    Изображения Изображения

  2. #8842
    Пользователь
    Регистрация
    11.01.2021
    Адрес
    Самара
    Сообщений
    43

    По умолчанию

    плк.JPG Вот ещё сразу всё не прикрипилосьпр 103.JPG

  3. #8843

    По умолчанию

    Цитата Сообщение от LAGOOPED Посмотреть сообщение
    плк.JPG Вот ещё сразу всё не прикрипилось
    Ну и где у вас 32 битная переменная? У вас все 16 битные и передаются они через 1 регистр.
    32 битная переменная занимает 2 регистра.
    И только в ПЛК вы неявно преобразуете WORD в DWORD. Толку от этого никакого, вы должны 32 битную переменную передавать и принимать.
    Читайте про типы данных, их соответствие, верхний предел и преобразования типов, всё есть в справках.
    Последний раз редактировалось kondor3000; 01.06.2022 в 13:36.

  4. #8844
    Пользователь
    Регистрация
    11.01.2021
    Адрес
    Самара
    Сообщений
    43

    По умолчанию

    Уважаемый kondor умом понимаю что должен передать 32 бит и принять, но никак не пойму как это сделать. Лоджик сам ведь раздаёт регистры, удалил переменные создал новые в этот раз выдал двумя регистрами, сам не понял как, удалил создал новые всё. Но до конца не уверен что правильно. И смущает что в ПЛК считывает только registor input он же WORD? Посмотри пожалуйста...плк.JPGпр 103.JPG

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

    По умолчанию

    Цитата Сообщение от LAGOOPED Посмотреть сообщение
    Уважаемый kondor умом понимаю что должен передать 32 бит и принять, но никак не пойму как это сделать. Лоджик сам ведь раздаёт регистры, удалил переменные создал новые в этот раз выдал двумя регистрами, сам не понял как, удалил создал новые всё. Но до конца не уверен что правильно. И смущает что в ПЛК считывает только registor input он же WORD? Посмотри пожалуйста...плк.JPGпр 103.JPG
    если главная проблема с ПР, а плк только читает, то зачем Вы задаете вопрос в разделе ПЛК? Эта тема не раз обсуждалась в разделе ПР
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  6. #8846
    Пользователь
    Регистрация
    11.01.2021
    Адрес
    Самара
    Сообщений
    43

    По умолчанию

    Прошу прощения но вроде с CoDeSys связано. Больше не буду. Пойду в ПР поищу.

  7. #8847

    По умолчанию

    Цитата Сообщение от LAGOOPED Посмотреть сообщение
    Уважаемый kondor умом понимаю что должен передать 32 бит и принять, но никак не пойму как это сделать. Лоджик сам ведь раздаёт регистры, удалил переменные создал новые в этот раз выдал двумя регистрами, сам не понял как, удалил создал новые всё. Но до конца не уверен что правильно. И смущает что в ПЛК считывает только registor input он же WORD? Посмотри пожалуйста...
    Забейте в ПР, одну переменную в 2 регистра, надо сделать со смещением. 1 Передача 323 битного числа.jpg
    register input он же WORD, значит надо использовать не его, а где DWORD написано))) 1 DWORD.jpg
    Последний раз редактировалось kondor3000; 02.06.2022 в 08:39.

  8. #8848
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,259

    По умолчанию

    Какая разница - 32 или 16- битный счетчик в ПР ? Если 32-бита, вопрос в только в том - ответит ли ПР (не знаю) если запросить только младшее слово у 32-х битного значения и не опрашивать реже цикла заполнения этого младшего слова (это надо умудрится)

    Цитата Сообщение от LAGOOPED Посмотреть сообщение
    ..вроде с CoDeSys связано..
    не боись, где-то в плк :

    Код:
    _cnt : все равно что 16-ти битное где-то в области обмена
    ...
    var
      cnt_ : word;
      нужный_счетчик : dword;
    end_var
    ----
    нужный_счетчик := (нужный_счетчик + dword_to_word(cnt_ - _cnt)) mod 5_000_001; //по заявкам телезрителей
    cnt_ := _cnt;
    Всё. Для 16-ти битного на ПР тоже самое
    Последний раз редактировалось Валенок; 01.06.2022 в 14:58.

  9. #8849
    Пользователь
    Регистрация
    11.01.2021
    Адрес
    Самара
    Сообщений
    43

    По умолчанию

    ПР.JPG Проделал как рекомендовал kondor3000 не работает. Вроде ерундовая задача второй день сижу. Люди помогитеПЛК.JPG

  10. #8850

    По умолчанию

    Цитата Сообщение от LAGOOPED Посмотреть сообщение
    Проделал как рекомендовал kondor3000 не работает. Вроде ерундовая задача второй день сижу. Люди помогите
    Вам надо 32 битное число разобрать на старший и младший регистр и передать, здесь подобная тема https://owen.ru/forum/showthread.php?t=34198&page=2
    В настройках UMD (Универсал модбас девайс) возможно придётся поменять последнюю настройку на Native или поменять местами младший и старший регистры.
    А принимать уже как DWORD.
    Проверить передачу с ПР можно хоть Owen OPC Server, ставится за 2 минуты https://owen.ru/product/new_opc_server

    ЗЫ: Выше выложил скрины.
    Последний раз редактировалось kondor3000; 02.06.2022 в 15:51.

Страница 885 из 1050 ПерваяПервая ... 385785835875883884885886887895935985 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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