Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: СПК107 и TCP/IP

  1. #1

    Question СПК107 и TCP/IP

    Добрый день, коллеги.
    Имеется прибор работающий по строковому протоколу. Интерфейс связи Ethernet. (TCP)
    Прибору посылается запрос. В ответ он отправляет две строки:
    -Первую с подтверждением команды запроса.
    -Вторую с данными.
    В утилите Hercules в ответ приходят обе строки. При опросе прибора СПК он видит только первую строку.
    Пробовали читать буфер- там тоже только одна строка.
    Для связи используем библиотеку OwenComminication. Пробовали CAA Net Base Services.
    В чём может быть проблема?
    Проект во вложении.
    Вложения Вложения

  2. #2

  3. #3

    По умолчанию

    Евгений во вложении скриншот лога из Wireshark, при опросе Hercules-ом. Порт устройства 30001. Мой порт 50211.
    Изображения Изображения

  4. #4

  5. #5

    По умолчанию

    Евгений, прошу прощения не полностью "причесал" код.
    Запрос и ответ в текстовом файле во вложении.
    Вложения Вложения

  6. #6

  7. #7

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Посмотрите, пожалуйста, мое видео и прокомментируйте - на нем все работает так, как должно у вас?
    Добрый день. Проблема в том что сервер на запрос отправляет один ответ в виде двух строк. Каждая строка заканчивается управляющими символами ASCII CR и LF (возврат каретки и перевод на строку). Блок NBS.TCP_Read принимает только первую строку. Вторая строка теряется.
    Например: если в блокноте написать две произвольные строки, скопировать их и вставить в поле Send Геркулеса, то в Send-е останется только первая строка.

  8. #8

    По умолчанию

    Евгений, на видео всё работает так как должно. Выше мой коллега описал суть проблемы по нашему мнению.

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

    По умолчанию

    Цитата Сообщение от Александр Назаренко Посмотреть сообщение
    Добрый день. Проблема в том что сервер на запрос отправляет один ответ в виде двух строк. Каждая строка заканчивается управляющими символами ASCII CR и LF (возврат каретки и перевод на строку). Блок NBS.TCP_Read принимает только первую строку. Вторая строка теряется.
    Например: если в блокноте написать две произвольные строки, скопировать их и вставить в поле Send Геркулеса, то в Send-е останется только первая строка.
    А после символов переноса строки случаем нет терминирующего нуля (0x00)?

    Я по вашему описанию пока не могу повторить проблему (на скриншоте - один ответ с переносами строк):

    11-09-2020 14-41-03.png

    А вот если в ответе есть нуль-терминатор - то произойдет именно то, что описываете вы (и это логично - по стандарту этот код используется для определения конца строки):

    11-09-2020 14-43-43.png

  10. #10

    По умолчанию

    Как тогда получить остальные данные? Вся полезная информация находится как раз во второй строке.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Переход с СПК107 на СПК107 [М01]
    от eigor_vl в разделе СПК1хх [М01]
    Ответов: 2
    Последнее сообщение: 18.04.2019, 12:15
  2. СПК107
    от Ollema в разделе СПК1хх
    Ответов: 4
    Последнее сообщение: 27.05.2018, 21:36
  3. СПК107+ПЧ
    от Aleksey Nagibko в разделе СПК1хх
    Ответов: 6
    Последнее сообщение: 14.03.2017, 18:11
  4. СПК107+МК110-8ДН.4Р
    от DmitriySt в разделе СПК1хх
    Ответов: 4
    Последнее сообщение: 27.10.2014, 21:20
  5. Username в СПК107
    от Скаут в разделе СПК1хх
    Ответов: 2
    Последнее сообщение: 29.03.2014, 13:45

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

Ваши права

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