Страница 70 из 130 ПерваяПервая ... 2060686970717280120 ... ПоследняяПоследняя
Показано с 691 по 700 из 1291

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

  1. #691

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Выложите, пожалуйста, проект, на котором я смогу воспроизвести эту ситуацию.
    Кажется, это моя ошибка. Я использовал команду echo -e '\x00\x01\x00\x00\x00\x06\x01\x04\x00\x00\x00\x0A' | nc -q 1 192.168.100.32 502 | xxd

    Как оказалось, echo добавляет \x0A (перевод строки), и это ломало запрос. Заменил на printf '\x00\x01\x00\x00\x00\x06\x01\x04\x00\x00\x00\x0A' | nc -q 1 192.168.100.32 502 | xxd и ответ от TCP Slave стал поступать.

    Но ответ пустой Хотя в самой среде CODESYS вижу, что массив регистров заполняется, и в поле uiClientsConnection вижу подключение мастера.

    Такое ощущение, что значения записываются в компонент Modbus TCP Slave, но не доступны для получения с мастера.

    registers.jpg

    response.jpg

  2. #692
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,066

    По умолчанию

    Вы используете функцию 04 - Read Inputs Registers - а на скрине показываете область Holding-регистров.
    Да, это неочевидно, но в стандартном слэйве CODESYS термином "inputs" называются holding-регистры, а "outputs" - input-регистры.

  3. #693

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Вы используете функцию 04 - Read Inputs Registers - а на скрине показываете область Holding-регистров.
    Да, это неочевидно, но в стандартном слэйве CODESYS термином "inputs" называются holding-регистры, а "outputs" - input-регистры.
    Да, Вы правы. Получилось. Но не могли бы немного объяснить, я в замешательстве

    Есть две области: Input registers и Output Registers. Я полагал, что первые читаются функцией 03, вторые - 04. Я связывал переменные с Inputs (который read only, что мне и надо), и пробовал их читать функциями 03 и 04. Всегда были нули. Сейчас, после Вашего письма, добавил переменную в Output Registers, и могу прочитать ее как функцией 03, так и 04.

    И вот тут я перестаю понимать смысл регистров разного типа и функций разного типа. Не могли пояснить и поправить фокус?

  4. #694
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,066

    По умолчанию

    Inputs - это holding-регистры, читаются функцией 03, доступны для записи (вы работает в версии SP14 Patch 3 - в ней эти регистры могут быть изменены только со стороны мастера, но не из программы самого ПЛК).
    Outputs - это input-регистры, читаются функцией 04.

    У вас, видимо, сейчас значения переменных в обоих областях совпадают - я могу только так объяснить наблюдаемый вами эффект.

    Могу порекомендовать посмотреть наш недавний вебинар по Modbus в CODESYS V3.5 - там разобраны практически все нюансы, которые могут встретиться:
    https://youtu.be/Q3hqQlqcESo

    Про слэйв - с 01:20:30.

  5. #695

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Inputs - это holding-регистры, читаются функцией 03, доступны для записи (вы работает в версии SP14 Patch 3 - в ней эти регистры могут быть изменены только со стороны мастера, но не из программы самого ПЛК).
    Outputs - это input-регистры, читаются функцией 04.

    У вас, видимо, сейчас значения переменных в обоих областях совпадают - я могу только так объяснить наблюдаемый вами эффект.

    Могу порекомендовать посмотреть наш недавний вебинар по Modbus в CODESYS V3.5 - там разобраны практически все нюансы, которые могут встретиться:
    https://youtu.be/Q3hqQlqcESo
    Да, Вы правы. Это из-за пересечения областей. Сейчас развел адресные пространства, и вроде бы все работает, как ожидалось Спасибо большое!

  6. #696

    По умолчанию

    Здравствуйте. имеем ПЛК200(slave) связан с панелью Weintek(master) по Modbus TCP. Нужно считать/передать несколько длинных массивов, начинающихся с разных адресов, то есть скажем:
    - 300 элементов, расположенных по адресу 10000-10299;
    - 400 элементов, расположенных по адресу 11000-11399;
    - 500 элементов, расположенных по адресу 12000-12499 и тд;
    Как это лучше и побыстрее сделать? Можно ли передать массив одной записью, не хочется передавать каждый элемент массива по одному.

  7. #697
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,066

    По умолчанию

    Цитата Сообщение от ivydy Посмотреть сообщение
    Здравствуйте. имеем ПЛК200(slave) связан с панелью Weintek(master) по Modbus TCP. Нужно считать/передать несколько длинных массивов, начинающихся с разных адресов, то есть скажем:
    - 300 элементов, расположенных по адресу 10000-10299;
    - 400 элементов, расположенных по адресу 11000-11399;
    - 500 элементов, расположенных по адресу 12000-12499 и тд;
    Как это лучше и побыстрее сделать? Можно ли передать массив одной записью, не хочется передавать каждый элемент массива по одному.
    Добрый день.
    Да, можно - Weintek должен поддерживать групповые запросы.

    А почему вы используете Modbus TCP, а не OPC UA? Или у вас MT8xxxiP?

  8. #698

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Да, можно - Weintek должен поддерживать групповые запросы.

    А почему вы используете Modbus TCP, а не OPC UA? Или у вас MT8xxxiP?
    да, панель MT8071iP (только я не понял при чем здесь это? Разве данная панель не поддерживает OPC UA? Но тем не менее мне все равно нужно использовать модбас по ТехЗаданию). То что панель поддерживает групповые запросы, я знаю. Вопрос скорее в том, как эту передачу данных прописать в Codesys v3.5? Нужно обязательно использовать блоки OwenCommunication или можно как-то обойтись стандартными средствами конфигурирования модбасса? Столкнулся впервые и с овеном и с кодезисом, поэтому пока еще сильно "плаваю" в этом вопросе.Если есть какие-нибудь примеры или образцы, то был бы благодарен
    Последний раз редактировалось ivydy; 27.10.2021 в 11:28.

  9. #699
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,066

    По умолчанию

    Цитата Сообщение от ivydy Посмотреть сообщение
    да, панель MT8071iP. То что панель поддерживает групповые запросы, я знаю. Вопрос скорее в том, как эту передачу данных прописать в Codesys v3.5? Нужно обязательно использовать блоки OwenCommunication или можно как-то обойтись стандартными средствами конфигурирования модбасса? Столкнулся впервые и с овеном и с кодезисом, поэтому пока еще сильно "плаваю" в этом вопросе.Если есть какие-нибудь примеры или образцы, то был бы благодарен
    Это зависит от требуемого числа регистров в слэйве - стандартные средства поддерживают до 4096 регистров в слэйве, и их адреса будут идти подряд (и можно задать начальный адрес, если необходимо - например, 10000).
    Мне кажется, вам проще будет использовать OwenCommunication.
    Мы вчера как раз показывали подобный пример на вебинаре:
    https://youtu.be/Cv9kxIT1eOA?t=4546

  10. #700

    По умолчанию

    Подскажите, а существует ли библиотека для CODESYS для управления электрокарнизами? Насколько я понял, они не поддерживают MODBUS, и им нужно передвать команды на чистом RS485 с калькуляцией CRC. Примерно так.

    И я что-то не могу понять, как подступиться. Здесь поиском не нашел тему, либо не те ключевые слова использую

Страница 70 из 130 ПерваяПервая ... 2060686970717280120 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 14:38

Ваши права

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