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

Тема: SysLibSockets

  1. #11

    По умолчанию

    Может пригодится, вложил проект примера, по которому сделано видео пользователя capzap.
    Вложения Вложения
    • Тип файла: rar TcpIp.rar (14.1 Кб, Просмотров: 127)

  2. #12
    Пользователь
    Регистрация
    21.12.2010
    Адрес
    Харьков
    Сообщений
    12

    По умолчанию

    У меня нет опыта в сокетах для ПЛК, но есть кое-какой опыт в сокетах вообще. И мне пришло в голову, что проблема возврата false может не быть такой банальной ошибкой, как кажется на первый взгляд. Функция SysSockConnect может быть реализована неблокирующей (т.е. она только иницирует начало установки соединения и сразу возвращается). Сам процесс установления соединения протяженный во времени и может длиться неопределенно долго. А блокировать работу задачи функция не в праве. Поэтому она возвращает false в расчете на то, что за итогом установки соединения пользователь библиотеки будет следить другими методами, когда и как ему будет это удобно.

  3. #13

    По умолчанию

    Соглашусь с вами, возможно это так и есть. Но тогда бы сделали какой-нить callback при завершении асинхронного соединения. Другого способа проверить успешность соединения я так и не нашел(((

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

    По умолчанию

    Не, мужики. Асинхронное добро выведено в SysLibSocketsAsync.lib и рогатыми ПЛК не поддерживается.

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

    По умолчанию

    Цитата Сообщение от osipov86 Посмотреть сообщение
    Соглашусь с вами, возможно это так и есть. Но тогда бы сделали какой-нить callback при завершении асинхронного соединения. Другого способа проверить успешность соединения я так и не нашел(((
    Ну как бы соединение в плк требуется для диспетчеризации, а не игры с торрентов скачивать. Поэтому если уж послали запрос и нет ответа в течении таймаута значит соединение не установлено

  6. #16

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Ну как бы соединение в плк требуется для диспетчеризации, а не игры с торрентов скачивать.
    Вас куда-то не туда понесло. Асинхронная и синхронная работа тут непричем.

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

    По умолчанию

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

  8. #18

    По умолчанию

    Здравствуйте!!!Изучаю библиотеку SysLibSockets. Не могу понять одно.
    Есть строка diSocket:=SysSockCreate(SOCKET_AF_INET, SOCKET_STREAM, 0) , которая должна возвращать номер сокета. Но почему то возвращает постоянно -1. Пробывал на другом ПЛК-все нормально отрабатывает.У пробывал кнопку сброс, вкл/выкл ПЛК. При отладке SysSockCreate(SOCKET_AF_INET, SOCKET_STREAM, 0) возвращает три знака вопроса. ПЛК 150. Куда копать????
    Последний раз редактировалось Ильнур; 10.09.2013 в 09:23.

  9. #19

    По умолчанию

    Ребят подскажите такое дело, надо связать старенькую машину под ДОСом с ПЛК, на компе есть поднятая прога, которая работает по IPX(с исходниками в которых можно поковыряться) , надо с ней завести разговор. Как под ПЛК запрограмировать работу по этому протоколу.
    Если взять пример с диска про пинг, какие изменения надо сделать в открытии сокета?
    Полазив по исходникам досовской проги нашел что при формировании заголовка IPX в поле PacketType устанавливается 4, в библиотеке SysLibSockets этому отвечает что?
    Если (* AddressFamily *) то там 4 соответствует в описании
    SOCKET_AF_PUP:INT:=4; (* pup protocols: e.g. BSP *)
    есть там и IPX но почему то другой номер
    SOCKET_AF_IPX:INT:=23; (* Novell Internet Protocol *)
    Если это относится к секции (* Protocols *), то там нет цифры 4

    Вобщем как правильно поднять IPX-сокет под ПЛК ( конкретно 110-60), ну и естественно поднимется ли он вообще?
    Буду благодарен за любую подсказку.
    Последний раз редактировалось Foregit; 27.01.2014 в 19:09.

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

Похожие темы

  1. UDP и SysLibSockets.lib
    от cer_cer в разделе ПЛК1хх
    Ответов: 26
    Последнее сообщение: 29.01.2016, 17:39
  2. SysLibSockets
    от mettled в разделе ПЛК1хх
    Ответов: 36
    Последнее сообщение: 20.01.2014, 15:23
  3. помогите: использование библиотеки SysLibSockets.lib
    от незарегистрированный в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 26.11.2007, 22:19

Ваши права

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