PDA

Просмотр полной версии : Помогите разобраться ночевку с SysLibSockets.lib



Витька-Титька
23.10.2019, 08:58
Всем привет. Помогите пожалуйста разобраться с этой библиотекой.
Я не могу найти не одного примера что бы пощупать как это все работает.
У меня Овен ПЛК100.
Приблизительно понимаю как должно работать, но хотелось бы по точнее, может есть у кого нибудь более менее внятное описание этой библиотеки, ну или пример отправки и приема данных который можно посмотреть.

Мастеренко Иван
23.10.2019, 10:49
Здравствуйте!
Примеры обмена по протоколу TCP для линейки ПЛК1хх.

Витька-Титька
24.10.2019, 08:25
Спасибо.
Может быть есть тоже самое, только с UDP?

Мастеренко Иван
24.10.2019, 10:16
Примеры по UDP для линейки ПЛК1хх.

Витька-Титька
24.10.2019, 13:38
Примеры по UDP для линейки ПЛК1хх.

Спасибо большое!!! Буду изучать.

Витька-Титька
24.10.2019, 14:03
Иван, вы случайно не в курсе, функция SysSockInetAddr до сих пор не рабочая, или я что то не понимаю?

Витька-Титька
25.10.2019, 07:44
Не понимаю(((

Так как по всей видимости SysSockInetAddr вообще не работает (Возвращает 0 всегда)
Я решил структуре SOCKADDRESS на прямую в 16-иричном виде присвоить ip адрес.
stClientSettings.sin_addr := 16#A2194B;
Результат:
Не прингуется, когда в режиме онлайн задаю IP через ПЛК-браузер, все хорошо. Когда программа должна задавать IP ничего не выходит.
Ну и еще не понятно работает ли функция SysSockHtons, она возвращает то же самое 10-ичное значение которое я ей задаю.
Если не сложно, помогите разобраться!

Мастеренко Иван
25.10.2019, 13:47
Иван, вы случайно не в курсе, функция SysSockInetAddr до сих пор не рабочая, или я что то не понимаю?

В линейке ПЛК1хх не рабочая. Используйте функцию IP_DECODE из примера.


Не понимаю(((

Так как по всей видимости SysSockInetAddr вообще не работает (Возвращает 0 всегда)
Я решил структуре SOCKADDRESS на прямую в 16-иричном виде присвоить ip адрес.
stClientSettings.sin_addr := 16#A2194B;

IP адрес неправильно задали. Например: 10.0.6.10 - 16#0A00060A



Ну и еще не понятно работает ли функция SysSockHtons, она возвращает то же самое 10-ичное значение которое я ей задаю.
Если не сложно, помогите разобраться!

Функции SysSockHtonl и SysSockHtons в линейке ПЛК1хх не отрабатывают. Можно без них.

Витька-Титька
25.10.2019, 14:11
IP я уже по всякому пробовал вносить
Сейчас вбил вот так.
IP сервера 192.168.127.254
порт 4001
stClientSettings.sin_port := 16#2801;
stClientSettings.sin_addr := 16#C0A87FFE;
из вашего примера я понял что сокет забивается из окна в визуализации, и при нажатие "Отправить" весь процесс отправки запутается по лестнице CASE.
Где то ошибка у меня, не вижу пакет на другой стороне(

Витька-Титька
25.10.2019, 14:20
Точно!!!! Вот в чем я затупил. Спасибо большое, увидел на другой стороне отправку)))

Мастеренко Иван
25.10.2019, 14:23
Попробуйте обмен через терминал Hercules (https://www.hw-group.com/software/hercules-setup-utility).
4001 в hex - 0FA1