Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 44

Тема: SysSockRecv не работает

  1. #1
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    Question SysSockRecv не работает

    Добрый день.
    Проблема с SysSockRecv.
    Не то чтобы он совсем не работал, перестает работать через час, полтора.
    код приёма такой, лишнее убрано
    Код:
    (* ### Чтение из сокета ### *)
    IF(diSocket > 0)THEN
        diRxCount := SysSockRecv(diSocket, ADR(rxBuf[1]), 255, SOCKET_MSG_OOB);
           IF(diRxCount > 0)THEN
                diLastRxCount := diRxCount;
                (*тут у меня вызов ФБ*)
           END_IF
    END_IF
    Логика работы.
    Плк считывает rfid метку и отправляет запрос на сервер для аутентификации карты.
    Сервер - мой, написал на java, смотрит по базе кто это и отвечает плк, приведенный код как раз принимает данные от сервера.
    Скептикам сразу говорю, я засомневался в себе и хотя в логах выводится после отправки массив я запустил wireshark и убедился что от плк и в плк пакеты идут.
    Дальше по логике, если сервер не отвечает, то плк через секунду повторяет запрос, опять же всё вижу, байты приходят на сервер и уходит ответ каждый раз но diRxCount = -1.
    В результате плк получает всёравно ответ, но через некоторое время (секунд 5 - 20).

    Так как я всё это еще разрабатываю, то перезаписывать программу в плк приходится очень часто, вот и грешу на codesys.
    Моё предположение что после N-го количества раз подключения из codesys SysSockRecv перестает корректно работать.
    После заводского сброса (из codesys) всё работает как надо и молниеносно.

    Еще мысли, ответ от сервера заранее неизвестен, но максимум 15 байт, считывать же я пытаюсь в каждом цикле плк 255 байт, по сути нет функции которая скажет сколько доступно для чтения поэтому так. Может тут что-то упустил?
    Последний раз редактировалось Scream; 18.02.2016 в 11:51.

  2. #2
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    А какая модель ПЛК у Вас?
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

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

    По умолчанию

    минВЦ чему равно, что показывает модуль статистики
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #4
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    А какая модель ПЛК у Вас?
    ПЛК 160-24 У М.

    Цитата Сообщение от capzap Посмотреть сообщение
    минВЦ чему равно, что показывает модуль статистики
    Там всё хорошо, мин.цикл 5мс, free 2730, CPU is overloaded не горит.
    Изначально писал проект занято было меньше 1мс при мин. 5мс. проблема была.

  5. #5
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Нет никаких предположений?
    У всех всегда SysSockRecv работал хорошо?
    У меня 2.14.0 есть ли смысл перепрошить на 2.15.8?
    Последний раз редактировалось Scream; 19.02.2016 в 08:22.

  6. #6

    По умолчанию

    Лучшая прошивка, по моему мнению, 2.10.9. (хотя не знаю есть ли она для 160) А также сильно рекомендую использовать UDP.

  7. #7
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    Лучшая прошивка, по моему мнению, 2.10.9. (хотя не знаю есть ли она для 160) А также сильно рекомендую использовать UDP.
    udp понизит удобство в моем случае, мне обязательно нужно сохранить данные или отправить, раз в 3 секунды ~15 байт.
    в tcp я хоть количество отправленных вижу и если не отправлено складываю в буфер, отправится позже, а с udp еще подтверждение на всё надо будет лепить.
    у меня фасовка, и каждая тара должна быть в базе.

    С ethernet'ом у овена вроде и работает, и как бы толком не работает, и где эта грань что работает, а что нет и где найти ВСЕ нюансы спустя 8 лет никто так и не знает.
    Последний раз редактировалось Scream; 19.02.2016 в 09:17.

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

    По умолчанию

    попробуйте 10мс поставить минВЦ
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  9. #9
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    попробуйте 10мс поставить минВЦ
    думаете всё таки цикл.
    ну попробую, спасибо.

  10. #10

    По умолчанию

    "Плк считывает rfid метку и отправляет запрос на сервер для аутентификации карты.
    Сервер - мой, написал на java, смотрит по базе кто это и отвечает плк, приведенный код как раз принимает данные от сервера."

    у вас все равно запрос-ответ, а за 3 секунды можно ну очень много повторных сеансов повести - если надо, но udp в одном сегменте весьма надежен и здорово меньше грузит плк... не представляю в чем разница считать отправленные по tcp либо udp.... или сервер настолько медленный?

Страница 1 из 5 123 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК 160. Не работает...
    от Scream в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 31.10.2013, 11:44
  2. Как работает ПЧВ?
    от Lam-Ka в разделе Трёп (Курилка)
    Ответов: 2
    Последнее сообщение: 31.08.2013, 11:57
  3. Не работает трм-138 Р
    от Sanya-russ в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 18.01.2011, 16:02
  4. не работает трм-251.
    от КамасутриК в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 12.08.2010, 11:29
  5. не работает 2-я Pou
    от Дитрих в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 15.01.2009, 09:54

Ваши права

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