PDA

Просмотр полной версии : ПЛК100 + Сокеты



ribamuka
21.08.2017, 14:25
Добрый день, пытаюсь работать с библиотекой SySlibSockets.
Подключение через Ethernet порт, через него же подключен к CodeSys

adr:SOCKADDRESS;
sock: DINT:=0;

adr.sin_addr:=16#5C2BBD17;
adr.sin_family:=SOCKET_AF_INET;
adr.sin_port:=10332;

sock := SysSockCreate(SOCKET_AF_INET, SOCKET_STREAM, SOCKET_IPPROTO_TCP);
result := SysSockConnect(sock, ADR(sa), SIZEOF(sa));

После выполнения кода result никогда не бывает равным true.

1. Как проверишь ПЛК вообще имеет доступ в интернет?
2. Что в приведенном коде не верно?

ribamuka
28.08.2017, 17:46
Отвечу сам себе.
SysSockConnect нельзя ориентироваться на возвращаемый результат.
Просто дальше пытайтесь отправлять данные и уже ориентируетесь на результат отправления или получения данных.

Филоненко Владислав
29.08.2017, 10:16
Connect - это процесс, не мгновенный. Так что сразу true не будет.

capzap
29.08.2017, 10:24
Connect - это процесс, не мгновенный. Так что сразу true не будет.

лажа, а не ответ

NOT (BOOL_TO_DINT(SysSockConnect(diSocket, ADR(sa), SIZEOF(sa))) < 0)как то так должно быть, поэтому ни о каких булях там речи нет

Филоненко Владислав
30.08.2017, 11:55
как страшно далеки Вы от знаний о внутренностях стека TCP/IP, тов. Валенок.