PDA

Просмотр полной версии : как отправить tcp пакет с плк?



villager
28.09.2010, 15:16
дано:

плк 100 r-m, пк с линуксом.
они находятся в одной сети.
плк с компьютеров сети прекрасно пингуется.
в iptables ни каких ограничений не стоит.
на компьютере крутится на определенном порту сервер ждущий коннектов.

необходимо с плк отправить на компьютер оповещение в виде тсп пакета.

что я сделал:

нашел в здешних закромах пример TCP_socket.pro
выделил оттуда клиентский код поставил айпи и порт целевого сервера (ПК с запущенным серверным приложением).
через кодсис загрузил приложение на плк. запускаю - пакеты с плк не приходят.
проверял тспдампом. функция syssocksend возвращает -1.

пробовал с плк запускать пример пингующего приложения ICMP пакеты аналогичным образо не приходят.

быть может я что-то упустил из виду и подобное информирование невозможно?
быть может необходимо инициировать выполнение программы не через кодсис?
быть может необходимо что то сконфигурировать должным образом?
что почитать и куда посмотреть дабы настигло меня озарение?

Филоненко Владислав
28.09.2010, 15:19
проект в студию

villager
28.09.2010, 16:56
проект отправка тсп пакета

Малышев Олег
28.09.2010, 18:45
На первый взгляд программа корректна. Я бы посмотрел ethereal что происходит в сети на самом деле. Пример пинга вполне рабочий и пингует на ура.

villager
30.09.2010, 16:04
проблема решена.
codesys стоял на VirtualBox, на компьютере внутри сети.
На контроллер было возможно заливать программы, работать с помощью PLC браузера и т.п.

стоило подключиться к контроллеру с живого пк с тем же проектом - пакеты с ПЛК начали отправляться.