Показано с 1 по 9 из 9

Тема: Снова о сокетах!

  1. #1

    По умолчанию Снова о сокетах!

    Продолжаю разбираться с сокетами в ПЛК Овен !
    В следствии чего появились вопросы:
    1. Сколько байт можно передать в одной посыле при помощи протокола TCP, у меня получается только 492, если отправлять 493 и более то приходят сначала 492, а затем 1 или более, хотя в какомто примере писали что 1536. А еще если передавать более 492 байт, отключить принимающий ПЛК, предающий ПЛК перезагружается.
    2. Насколько сильно предача данных по TCP или UDP нагружает ПЛК. В качестве эксперемента передавал по 15 TCP сокетам, одновременно, по 492 байта! Так вот к принимаюему ПЛК особых замечаний нет, а вот время скана передающего переодически "подпрыгивало" до 600мс, а моментами и более.

  2. #2

    По умолчанию

    RCV_BYTES_CNT := SysSockRecv( SOCK_ACC, ADR( RCV_SND_BUF[ 0 ] ) , 1536, SOCKET_MSG_OOB );

    1536 - параметр MRU, нужно указывать при чтении....

  3. #3

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    RCV_BYTES_CNT := SysSockRecv( SOCK_ACC, ADR( RCV_SND_BUF[ 0 ] ) , 1536, SOCKET_MSG_OOB );

    1536 - параметр MRU, нужно указывать при чтении....
    Здравствуте!
    Спасибо за ответ!
    А можно подробнее, что за параметр MRU?
    Если речь идет о количестве передавемых и принимаемых байт, то я там прописываю по 493 и более, а эффект такой как описано выше.

  4. #4

    По умолчанию

    Очень странно. размер посылки 1536 байт. 492 нигде нет.

  5. #5

    По умолчанию

    А если попробовать увеличить минимальную длительность цикла?

  6. #6

    По умолчанию

    дело не в циклах, нужно ставить стандартизованное значение парамтера MRU

  7. #7

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    дело не в циклах, нужно ставить стандартизованное значение парамтера MRU
    А где можно взять эти стандартизированые значения MRU.

  8. #8

    По умолчанию

    в описании протокола TCP... а чем вас 1536 не устраивает??? ваша посылка укладывается без вопросов )))

  9. #9

    По умолчанию

    1536 нужно прописывать только в функции чтения буфера принятых данных, или и в функции отправки, если и в функции отправки, то объявленый массив данных может быть меньшего размера чем 1536 байт!
    А если только в функции чтения, то можно ли во всех случаях прописывать 1536, как это може повлиять на работу обмена, на время передачи/приема, на скан плк?
    Спасибо.

Ваши права

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