Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 33

Тема: Обмен данными в codesys 2.3 по протоколу MODBUS TCP/IP

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

    По умолчанию

    для овена да, так же для других функций библиотеки SysLibSocket
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  2. #22

    По умолчанию

    Ну строку в библиотеке я поменял правда проблема не решилась. Я может что-то не понимаю в хронологии действий, но по сути делаю то, что было описано на первых страницах данной темы
    1. Добавляю библиотеки (codesys_network_121_hf1, oscat_basic_333) в свой проект
    2. Экспортирую из библиотеки (codesys_network_121_hf1) DEMO
    3. Импортирую DEMO в свой проект
    4. Переименовываю MB_SERVER_DEMO в MB_SERVER_test
    5. Вызываю MB_SERVER_test
    Ну сейчас еще в библиотеке codesys_network_121_hf1 в IP_CONTROL2 заменил строку
    IF SysSockBind(server_socket, ADR(sockaddr), SIZEOF(sockaddr)) THEN
    на
    IF BOOL_TO_DINT(SysSockBind(server_socket, ADR(sockaddr), SIZEOF(sockaddr)))<0 THEN

    Где я ошибаюсь?

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

    По умолчанию

    блин уже пожалел что связался, смотрите если в основной бибке в условие Вы проверяете на значение ИСТИНА, то и для овена знак должен быть больше -1
    да и в целом зачем добавлять бибку экспортируйте в свой проект только то что нужно
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #24

    По умолчанию

    Ну логику замены я понял (хотя не понимаю смысла). Я просто интересуюсь почему программа не работает, хотя я выполняю все то что было прописано на первой странице темы. Ну, а что касается экспорта библиотек, то вставить готовые и отработанные библиотеки я считаю правильнее и надежнее, чем что либо переделывать и дербанить, тем более ресурс контроллера позволяет

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

    По умолчанию

    смысл что у всех функции возвращают булевы переменные, а у овена отрицательный результат это минус один (-1). Почему не работает, потому что это надо проделать и с листеном, ну и вообще смотреть на каком шаге стопорится. Незабываем, что самое главное это в начале сделать правильное закрытие сокета, без него овеноовский плк сможет тянуть 15 открытых сокетов, потом контроллер придется сбрасывать
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  6. #26

    По умолчанию

    Большое спасибо за консультацию. Меня просто интересовало, как и автора темы, нет ли готовых библиотек для работы с Modbus TCP (как для Modbus RTU). Из первых страниц данной темы я подумал, что можно использовать готовые библиотеки oscat для данной цели. Но тут получается, что готового нет и надо напильником дорабатывать, причем зная особенности контроллера. Будет время углублюсь в эту тему

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

    По умолчанию

    да не так много там и переделывать, только открытие сокета и убрать лишнее из оскат бибки, не в смысле из всей библиотеки а из кода относящегося к модбасТСР
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #28

    По умолчанию

    Добрый день.
    Выкладываю рабочий пример ModbusTCP из OSCAT библиотеки для ПЛК100.
    Допилил при помощи блока IP_CONTROL2 от АТАМАНА
    http://www.owen.ru/forum/showthread....l=1#post232436

    Тестировал с LectusOPC.

    Работает до первого отключения.
    Вложения Вложения
    Последний раз редактировалось krug2000; 17.11.2017 в 16:29.

  9. #29

    По умолчанию

    Спасибо за пример!
    Подскажите, как увеличить массив данных?

  10. #30

    По умолчанию

    Добрый день.
    Представляю пример ModbusTCP сервера с работой через сокеты.
    Поддерживаются функции 3, 4, 6, 16.
    Тестировал на ПЛК100.
    Писал для работы с Openhab, который рвет соединение после каждого опроса.
    Для работы с Lectus нужно установить переменную tReadTimeout больше периода опроса.
    По идее должен работать и на ПЛК110.
    Вложения Вложения

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. ОВЕН и обмен по modbus TCP
    от Alex12345 в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 13.09.2013, 15:25
  2. Обмен данными по ModBus
    от Vladimir_O в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 30.11.2012, 13:36
  3. Потеря соединения по Modbus TCP/IP ПЛК304
    от Грушецкий Павел в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 03.02.2012, 20:19
  4. Обмен данными по Modbus TCP/IP
    от tea в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 05.08.2011, 09:52
  5. Ответов: 9
    Последнее сообщение: 05.11.2009, 09:40

Ваши права

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