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

Тема: PLC 110-30 v2 & tcp ip

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

    По умолчанию

    ...............
    Последний раз редактировалось Валенок; 25.02.2019 в 18:44.

  2. #12

    По умолчанию

    ну кагбэ да, но есть нюанс )
    работа модбас сервера начинается с запроса, то есть чтения сокета. и у меня с чтения, только ничего не приходит. казалось бы и что? так вот. добавил перед записью в сокет SysSockSelect:

    IF m_aSockets[o_yCNow] <> SOCKET_INVALID THEN
    m_tv.tv_sec := 0;
    m_tv.tv_usec := 0;
    m_fds.fd_count := 1;
    m_fds.fd_array[0] := m_aSockets[o_yCNow];
    IF SysSockSelect( SOCKET_FD_SETSIZE, 0, ADR( m_fds ), 0, ADR( m_tv ) ) > 0 THEN
    o_dnRes := SysSockSend( m_aSockets[o_yCNow], i_pData, i_dnSize, 0 );
    END_IF
    ELSE
    o_dnRes := SOCKET_INVALID;
    END_IF

    и что происходит. модбас работает, а вызов того же FB но при условии что при чтении сокета там ничего не было приводит к перезагрузке ПЛК по вочдогу. один и тот же код.
    1. читаем сокет -> что то пришло -> пишем с вызовом SysSockSelect - все ок.
    2. читаем сокет -> ничего не приходило -> пишем с вызовом SysSockSelect - перезагрузка по вочдог.

    так же к перезагрузке по вочдог приводит вызов SysSockSelect перед SysSockRecv и перед SysSockAccept.

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

    По умолчанию

    ..............
    Последний раз редактировалось Валенок; 25.02.2019 в 18:43.

  4. #14

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Работа сервера начинается с проверки на желающих подключился.
    ну пусть так. все подключились сервер то молчит ) ему нужен запрос чтобы ответить. а ты попробуй при подключении просто гнать клиенту пакеты один за одним. и посмотри что будет. селект я тоже не использую. просто копаю во все стороны. пока селект показал что бибка ведет себя по разному с запросоми и без. вот что хотел сказать про селект. кста лучше делать m_tv.tv_usec := 1; тогда перед чтением не падает система, но возвращает она какую то хрень. сегодня некогда разбирацо с понедельника начну )

  5. #15

    По умолчанию

    Беру свои слова обратно, все работает как надо. Дело было в самом терминале. Нашел в интернетах другой (кста третий на двух были проблемы), кому интересно вот сцыль на него: https://www.hw-group.com/software/he...-setup-utility. Пакеты отправляются в каждом цикле ничего не теряется и приходят по порядку )

    PS: SysSockSelect перезагружает ПЛК по вочдогу, не используйте.

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

Ваши права

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