PDA

Просмотр полной версии : Codesys - Inet - ПЛК



Smith2007
16.09.2013, 05:31
ПЛК установлен в домашней сети. Сеть выходит в интернет посредством маршрутизатора. Доступ к некоторым ресурсам внутренней сети из-вне обеспечивается прокидываннием портов при помощи NAT.
Есть необходимость организовать работу в Coesys через интернет.
По каким портам происходит обмен данными между ПЛК и CodeSys?

capzap
16.09.2013, 06:11
Нат не подойдет, Вам придется пробрасывать порты на роутере на клнкретный хост, а каой именно порт всё зависит от выбранного протокола, для можбас это 502

Smith2007
16.09.2013, 06:51
Codesys общается с ПЛК по протоколу modbus? Т.е. нужно настроить следующее:
Пакет (от Codesys) пришедший на адрес роутера (из-вне) на порт 502 перенаправить на внутренний ip адрес ПЛК на порт 502.
Этого достаточно?

capzap
16.09.2013, 07:02
502 только для модбас, для программирования контроллеров свой протокол и не у каждого получается соединиться через интернет, на форуме есть достаточно обширные темы насчет этого, свою можно было не создавать

Smith2007
16.09.2013, 08:10
http://www.overdigit.com/data/Products/Software-Installation-and-Configuration_EN.pdf
Вот нашел про подключение к ПЛК и Codesys через инет.
Судя по описанию необходимо прокинуть порт 1200.

Scream
16.09.2013, 09:27
насчет 502 порта, он не играет абсолютно никакой роли,будь он 502 или 222 и т.д. для модбас
Соdesys определенно общается с плк по 1200 порту. Я интересовался как-то этим вопросом. В Codesys порт вы можете менять на какой угодно, а в плк нельзя поменять. Только 1200.

Smith2007
16.09.2013, 10:51
Прокинул порт 1200 на адрес ПЛК на порт 1200. Соединение Codesys с ПЛК отваливается по ошибке.
Где-то прочитал, что перед установкой соединения CodeSys посылает icmp запрос. Разрешил ответ на запросы на wan порту маршрутизатора. Соединение Codesys отваливается по ошибке.

Где еще можно копать?

Atman
16.09.2013, 10:52
отлично все работает, пробрасывал 1200 порт и все, до сих пор правило в микротике осталось, посмотрел 1200 порт проброшен.

Atman
16.09.2013, 11:02
Прокинул порт 1200 на адрес ПЛК на порт 1200. Соединение Codesys с ПЛК отваливается по ошибке.
Где-то прочитал, что перед установкой соединения CodeSys посылает icmp запрос. Разрешил ответ на запросы на wan порту маршрутизатора. Соединение Codesys отваливается по ошибке.

Где еще можно копать?

Пробросте 1200 TCP порт и сделайте проверку на открытие порта этим ресурсом http://www.whatsmyip.org/port-scanner , если открыт, то должно работать без проблем.

Smith2007
16.09.2013, 19:47
Пробросте 1200 TCP порт и сделайте проверку на открытие порта этим ресурсом http://www.whatsmyip.org/port-scanner , если открыт, то должно работать без проблем.

Этим ресурсом можно проверить порт на хосте с которого она запущена (в данном случае на своем же компьютере). Проверить открытие порта на ПЛК ей не получится.

Я запустил снифер и проанализировал трафик. ПЛК получает пакеты и отвечает. Но в какой-то момент происходит разрыв соединения, причем инициатор завершения - компьютер, а не ПЛК.

upd:
кажется нашел причину.

После того как в параметрах связи создали новый Chanel необходимо жмакнуть кнопку GATEWAY и выбрать Connection --> Tcp/Ip и нажать Ok.
Затем уже в окне коммуникационных параметров жмем Ok.

После этого все начинает работать!

Можно предположить, что после создания канала необходимо в него еще прописать какие-то связи с сервисом Codesys Gateway service, которые налаживаются после операции выбора.
Проверил на разных компах - все работает хорошо!

upd2:
Отключил icmp на роутере. Пинги теперь не проходят. Но Codesys по прежнему работает :)

ps. При анализе трафика первые пакеты это именно icmp (запрос - ответ). Т.е. CodeSys перед началом сессии зачем-то пингует адрес ПЛК. При этом не зависимо от ответа (в случае запрета на роутере отвечать на пинги) связь с ПЛК устанавливается.

Atman
17.09.2013, 09:20
Вы не поняли как работает этот сканер, он проверяет открытый порт по всей локальной сети , если порт проброшен, то сканер достучится до устройства и откроет порт. очень удобный ресурс, постоянно им пользуюсь при подобных задачах. Вообще успешная без глюков работа сети зависит от выбора роутера, желательно не тп-линк, д-линк, асус и подобные китайские поделки, рекомендую использовать оборудование от MikroTik, и у Вас никогда не будет проблем с промышленными сетями.

Smith2007
17.09.2013, 10:53
.....Вообще успешная без глюков работа сети зависит от выбора роутера, желательно не тп-линк, д-линк, асус и подобные китайские поделки, рекомендую использовать оборудование от MikroTik, и у Вас никогда не будет проблем с промышленными сетями.

В качестве роутера железка TrendNet TEW673GRU с прошивкой OpenWRT. Все устраивает. Гибко и удобно :)

Задача с доступом к ПЛК из Codesys через инет решена. Странно, что не нашел описания похожей на свою ошибку. Друга просил соединиться с ПЛК и у него такие же ошибки сыпались пока кнопку gateway не передернул.

зы. А сканер хороший - это wireshark :)

Atman
17.09.2013, 12:12
никаких подобных глюков, подобных Вашим никогда не наблюдалось, может проблема в виндовс?

Smith2007
17.09.2013, 14:41
никаких подобных глюков, подобных Вашим никогда не наблюдалось, может проблема в виндовс?
Не исключаю. Это страшное глюкало )
Но симптомы повторились на 4-х разных компах от winxp до win7 prof.