Показано с 1 по 10 из 1207

Тема: Обновленный ПЛК110?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    По умолчанию

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    Получил новый ПЛК-110-30Р-L [М02]. Столкнулся с такой особенностью: на ПЛК поднят TCP-клиент с помощью библиотеки SysLibSockets. Функция SysSockCreate отрабатывает нормально - возвращает дескриптор. Далее перевожу сокет в неблокирующий режим. Затем вызываю функцию SysSockConnect... собственно всё как обычно... и вот здесь мне непонятно: если IP-адрес, к которому я хочу приконнектиться из ПЛК существует (пингуется) в сети (неважно включен там сервер на этом порту или нет), то всё хорошо. Если же адреса нет (компьютер выключен, не пингуется), функция SysSockConnect вызывает блокировку ПЛК, при этом гаснут все выходы, программа соответственно приостанавливается секунды на 2-3. ВотчДог при этом не срабатывает. После этой паузы продолжается всё нормально.
    Кто-нибудь с таким сталкивался?
    В неблокирующем режиме функция Connect не выдаёт статуса коннекта, а лишь передаёт в стек запрос на коннект. Определить наличие коннекта можно посылая/принимая посылки и анализируя ответы соотв. функций и текущую ошибку.

    У Вас же в программе сокет работает в блокирующем режиме и заблокировал всё на время таймаута, к-й меньше времени срабатывания собаки.
    Правильный перевод в режим неблокирующего сокета:
    res:=SysSockSetOption(cur_socket,SOCKET_SOL,SOCK_N BIO,0,0);

    Также, для работы в неблокирующем режиме требуется установить ПО версии 0.3.43
    Последний раз редактировалось Филоненко Владислав; 08.12.2015 в 20:34.
    Тролль-наседка, добрый, нежный и ласковый

Похожие темы

  1. приобрел обновленный плк110
    от Ruffian в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 04.12.2009, 12:01

Ваши права

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