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

Тема: SysLibSockets

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

    По умолчанию

    Цитата Сообщение от S.A.D. Посмотреть сообщение
    Аналогичная ситуация. Использую ПЛК100
    понимаю что тема давнишняя, но вдруг кто отпишется...
    http://www.owen.ru/forum/attachment....0&d=1338268380 пауза поможет рассмотреть код поближе

  2. #22

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    http://www.owen.ru/forum/attachment....0&d=1338268380 пауза поможет рассмотреть код поближе
    чудеса какие-то)) у вас та же самая функция с текстом один в один TcpServerOpenSocket открывает сокет и возвращает дискриптор 1, а у меня нифига. Ставлю точку останова сразу после этой функции и вижу что итог её работы -1 в дискрипторе.
    прикрепляю файл проекта
    Вложения Вложения
    • Тип файла: zip Tcp.zip (10.1 Кб, Просмотров: 43)
    Последний раз редактировалось S.A.D.; 09.04.2013 в 10:49.
    Чтобы понять рекурсию нужно понять рекурсию

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

    По умолчанию

    Цитата Сообщение от S.A.D. Посмотреть сообщение
    чудеса какие-то)) у вас та же самая функция с текстом один в один TcpServerOpenSocket открывает сокет и возвращает дискриптор 1, а у меня нифига. Ставлю точку останова сразу после этой функции и вижу что итог её работы -1 в дискрипторе.
    прикрепляю файл проекта
    Значит берете и сбрасываете плк, видимо больше 15 раз открывали сокет, притом корректно не закрывая его, отсюда и проблемы

  4. #24

    По умолчанию

    черт побери разобрался кажется. Взял сделал проект куда вынес только функцию открытия сокета сервера и стал построчно выполнять код. И выяснилось что в нижеприведенном тексте функция SysSockListen возвращает false и дискриптор выставляется в -1.
    diSocket:=SysSockCreate(SOCKET_AF_INET, SOCKET_STREAM, SOCKET_IPPROTO_TCP);
    IF diSocket <> SOCKET_INVALID THEN
    sa.sin_family:=SOCKET_AF_INET;
    sa.sin_addr:=SOCKET_INADDR_ANY;
    sa.sin_port:=SysSockHtons(iPort);
    bResult:=SysSockBind(diSocket, ADR(sa), SIZEOF(sa));
    IF bResult = FALSE THEN
    diSocket:=SOCKET_INVALID;
    ELSE
    bResult:=SysSockListen(diSocket, diMaxConnections);
    IF bResult = FALSE THEN
    diSocket:=SOCKET_INVALID;
    END_IF
    END_IF
    END_IF
    TcpServerOpenSocket:=diSocket;

    помнится где-то на форуме я встречал, что эта функция с багом и нужно возвращаемое ей значение просто игнорировать. Я прав?

    ЗЫ: хотя, у вас то работает... Текст ф-ии открытия сокета один и тот же.
    Последний раз редактировалось S.A.D.; 09.04.2013 в 12:54.
    Чтобы понять рекурсию нужно понять рекурсию

  5. #25

    По умолчанию

    все оказалось верно. как только я забил на значение которое возвращает syssocklisten сразу все заработало и я был рад лицезреть в приемном буфере modbus кадры от лектуса))
    Чтобы понять рекурсию нужно понять рекурсию

  6. #26

    Unhappy

    Hai.. SAD,, I am getting same thing.. socket is not at all created its returning -1..
    How you made it to run please.. explain
    Последний раз редактировалось vishwa; 07.11.2013 в 17:35.

  7. #27

    Unhappy

    Цитата Сообщение от capzap Посмотреть сообщение
    http://www.owen.ru/forum/attachment....0&d=1338268380 пауза поможет рассмотреть код поближе
    hai sir,,

    I am able to create the both client socket and server socket but its not binding , and i am bit confused in communication parameters.. i am very new to codesys.. and i am a student.. plese guide me..

  8. #28

    По умолчанию

    Не стану плодить темы.Задам вопрос здесь. Пытаюсь разобраться с SysLibSockets.За основу взял пример capzap (видеопример).В примере как я понял создаются сервер и клиент на одном ПЛК. У меня тоже создается сокет сервера и сокет клиента, но SysSockRecv постоянно в -1. Что я делаю не так???И еще хотел бы задать вопрос, возможно с помощью этой биб-ки связать ПЛК и MasterOPC UniversalModbusServer? В частности мне не понятно как быть в таких случаях с адресацией(((

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

    По умолчанию

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

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

  10. #30

    По умолчанию

    [QUOTE=capzap;128422]кроме сокетов, необходимо реализовать мастер либо слейв протокола модбас
    это в конфигурации необходимо реализовывать?
    [QUOTE=capzap;128422]а по поводу почему прием всегда пуст, мое видео сделано на одном плк, комп выступал в качестве шлюза меняя порты
    я тож делал на одном плк. Но почему -то не получалось(

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

Ваши права

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