Просмотр полной версии : ПЛК210 TCP Client нужен рабочий пример
-=Vovka=-
30.04.2021, 09:37
Доброго времени суток!
Осваиваю ПЛК210-4. Необходимо сделать обмен по TCP через сокеты с компьютером. ПЛК в качестве клиента.
Я уже столько информации перелопатил... :mad:
Пожалуйста, поделитесь рабочим примером!
Т.е. чтоб я загрузил проект, который у Вас заработал, в ПЛК, запустил указанную Вами программу на ПК и связь заработала!
ЗЫ. Порты 502 и 4711 на маршрутизаторе проброшены и проверены
Евгений Кислов
30.04.2021, 10:38
Добрый день.
Пример с сайта, безусловно, рабочий.
См. видео: https://dropmefiles.com/Uphpy
Открыл проект с сайта, изменил таргет на ПЛК, обновил компилятор и профиль визуализации до 3.5.14.30.
И указал IP и порт своего ПК в проекте.
Для поднятия TCP-сервера на ПК использовал Hercules Setup Utility.
https://www.hw-group.com/software/hercules-setup-utility
-=Vovka=-
30.04.2021, 11:07
Добрый день.
Пример с сайта, безусловно, рабочий.
Я использую пример с сайта "Реализация обмена через сокеты", "TCP: сервер и клиент (https://owen.ru/product/codesys_v3/example_of_work)"
Кстати, этот пример с ошибками. По загрузке пишет, что "не удалось загрузить одну или более библиотек", а в логе ошибок вот:
54886
Кстати, кодесис как-то интересно количество ошибок считает...
Поэтому создал новый проект и скопировал туда код.
Так вот, ПЛК все время находится в состоянии попытки подключения к серверу, т.е. eState = CREATE
54887
Евгений Кислов
30.04.2021, 11:58
Кстати, этот пример с ошибками.
Этот пример создан для CODESYS V3.5 SP11 Patch 5 (и это указано на сайте), а вы используете CODESYS V3.5 SP14 Patch 3.
-=Vovka=-
30.04.2021, 12:06
Этот пример создан для CODESYS V3.5 SP11 Patch 5 (и это указано на сайте), а вы используете CODESYS V3.5 SP14 Patch 3.
И как конвертировать?
Евгений Кислов
30.04.2021, 13:03
И как конвертировать?
https://youtu.be/vHtfk3lmtdc
-=Vovka=-
30.04.2021, 14:19
https://youtu.be/vHtfk3lmtdc
Спасибо, конвертировал, ошибки пропали, но все равно один и тот же статус: eState = CREATE
Сделал сервер на esp8266. Подключаюсь к esp8266 из Windows - обмен есть, а вот ПЛК молчит :(
Может в ПЛК нужно порт прописать или какой пункт отметить?
Евгений Кислов
30.04.2021, 14:25
Спасибо, конвертировал, ошибки пропали, но все равно один и тот же статус: eState = CREATE
Тогда, на мой взгляд, у вас какие-то проблемы на стороне сервера.
Особенно с учетом того, что судя по скрину в другой теме - вы даже не может к нему TCP клиентом с того же ПК подключиться.
-=Vovka=-
30.04.2021, 14:49
Тогда, на мой взгляд, у вас какие-то проблемы на стороне сервера.
Особенно с учетом того, что судя по скрину в другой теме - вы даже не может к нему TCP клиентом с того же ПК подключиться.
Вот не могу понять, где проблема?
Все подключено к маршрутизатору.
Сделал TCP-сервер на esp8266. Эта есп подключается по Wi-Fi к маршрутизатору. Порт в маршрутизаторе проброшен.
Подключаюсь из Windows через hercules в качестве клиента к этой есп - обмен есть. Т.е. сервер работает и маршрутизатор пропускает трафик к есп.
Теперь подключаюсь в качестве клиента из ПЛК - все время один и тот же статус: eState = CREATE
Другой вариант. Делаю на ПЛК сервер. Подключаюсь серверу на ПК в Windows - обмен есть!
Получается, что когда ПЛК-сервер обмен с ПК идет, а вот когда ПЛК-клиент - нет!
Тут либо что-то в программе для ПЛК, либо где-то нужно что-то прописать/включить?
-=Vovka=-
30.04.2021, 15:38
О каком пробросе портов вы все время упоминаете? Ваша есп ведь находится в одной локальной сети с плк, по-моему Вы просто выставили наружу в интернет порт сервера, а локальные участники из-за этого не могут до него до стучаться
Убрал все порты - ничего не поменялось: все варианты работают, кроме ПЛК в режиме клиента!
-=Vovka=-
30.04.2021, 16:48
Ну, т.е. с плк пинг, патчпинг до сервера идут, телнет на порт тоже подключается и только в кдс не соединяется клиент
Я так понимаю: раз ПЛК работает в режиме сервера - а это обмен в обе стороны, но не работает в режиме клиента, при этом сервер к которому ПЛК пытается подключится работает с другими клиентами, то тут либо проблема с программой в ПЛК, либо есть какая-то настройка в ПЛК. Судя по утверждению (https://owen.ru/forum/showthread.php?t=34765&p=355068&viewfull=1#post355068) Евгений Кислова код рабочий, то остается какая-то настройка в ПЛК
Евгений Кислов
30.04.2021, 16:48
Другой вариант. Делаю на ПЛК сервер. Подключаюсь серверу на ПК в Windows - обмен есть!
Получается, что когда ПЛК-сервер обмен с ПК идет, а вот когда ПЛК-клиент - нет!
Тут либо что-то в программе для ПЛК, либо где-то нужно что-то прописать/включить?
Сделайте на ПК сервер, а на ПЛК запустите клиента.
Я уже выкладывал видео, в котором видно, что максимум, что нужно поменять в примере для его запуска - IP и порт.
https://owen.ru/forum/showthread.php?t=34765&p=355068&viewfull=1#post355068
-=Vovka=-
30.04.2021, 17:25
Сделайте на ПК сервер, а на ПЛК запустите клиента.
Вот сделал:
54909
а вот сам проект:
54910
Евгений Кислов
30.04.2021, 18:44
У вас физически какой Ethernet-порт на ПЛК используется?
-=Vovka=-
30.04.2021, 19:14
У вас физически какой Ethernet-порт на ПЛК используется?
Вот этот:
54913
В WEB-конфигураторе кроме IP ничего не менял.
Евгений Кислов
30.04.2021, 19:23
Ок, давайте вы попробуете к TCP-серверу ПК (Hercules) подключиться TCP-клиентом с другого ПК из этой же сети (тоже через Hercules).
-=Vovka=-
30.04.2021, 19:40
нет второго ПК, только мобильник на андроиде
я ж делал TCP сервер на esp8266 и с ПК подключался к нему, а вот с ПЛК не могу!
Евгений Кислов
30.04.2021, 19:48
нет второго ПК, только мобильник на андроиде
я ж делал TCP сервер на esp8266 и с ПК подключался к нему, а вот с ПЛК не могу!
Ок, тогда давайте проведем другой эксперимент.
Запустите исходный пример на виртуальном контроллере на ПК и попробуйте связаться с esp8266.
-=Vovka=-
30.04.2021, 20:34
Ок, тогда давайте проведем другой эксперимент.
Запустите исходный пример на виртуальном контроллере на ПК и попробуйте связаться с esp8266.
54917
А с Hercules работает!
Евгений Кислов
30.04.2021, 20:37
В эмуляции, естественно, работать не будет.
Запустите исходный пример на виртуальном контроллере на ПК и попробуйте связаться с esp8266.
https://owen.ru/forum/showthread.php?t=28167&page=5&p=296706&viewfull=1#post296706
Евгений Кислов
30.04.2021, 20:44
1. Прочитайте, пожалуйста, статью по моей ссылке выше, чтобы отключить эмуляцию и запустить виртуальный контроллер.
2. Я предлагал проверить связь виртуального контроллера и esp, а не виртуального контроллера и Hercules.
-=Vovka=-
30.04.2021, 20:55
В эмуляции, естественно, работать не будет.
https://owen.ru/forum/showthread.php?t=28167&page=5&p=296706&viewfull=1#post296706
Подключиться не получается: какой Gateway выбирать и потом какой активный путь прописывать?
Кстати,вроде запустил через иконку в трее виртуальный контроллер, а кликаю опять на иконке - пункт запуска не стал серым - по идее не запустился. Сколько не кликал - не запускается
Евгений Кислов
30.04.2021, 20:59
Подключиться не получается: какой Gateway выбирать и потом какой активный путь прописывать?
Gateway - localhost, потом Сканирование сети сделать.
Кстати,вроде запустил через иконку в трее виртуальный контроллер, а кликаю опять на иконке - пункт запуска не стал серым - по идее не запустился. Сколько не кликал - не запускается
Через Пуск - Программы запустите.
-=Vovka=-
30.04.2021, 21:06
Gateway - localhost, потом Сканирование сети сделать.
Через Пуск - Программы запустите.
Перезагрузка Windows помогла. Есть связь с esp8266!
54919
Евгений Кислов
30.04.2021, 21:09
Ок, т.е. проблема точно не в проекте.
Тогда я предлагаю подключить ПЛК напрямую к ПК и проверить, не связана ли проблема с какими-то настройками роутера, исключив его из системы.
-=Vovka=-
30.04.2021, 21:26
Ок, т.е. проблема точно не в проекте.
Тогда я предлагаю подключить ПЛК напрямую к ПК и проверить, не связана ли проблема с какими-то настройками роутера, исключив его из системы.
Подключил на прямую, адрес исправил на 192.168.1.1 (забыл переменную открыть)
54920
Евгений Кислов
30.04.2021, 21:30
А пинг с ПЛК до ПК вообще есть?
-=Vovka=-
30.04.2021, 21:35
А пинг с ПЛК до ПК вообще есть?
54921
.
Евгений Кислов
30.04.2021, 21:46
Спасибо.
Я предлагаю 11 мая связаться по TeamViewer, чтобы разобраться с вашей ситуацией.
-=Vovka=-
30.04.2021, 21:49
Хорошо
.
-=Vovka=-
04.05.2021, 14:28
Спасибо.
Я предлагаю 11 мая связаться по TeamViewer, чтобы разобраться с вашей ситуацией.
Нашел я причину!
Оказывается один из файерволов (Windows или встроенный в антивирус Nod32) блокировал соединение, если компьютер выполнял роль сервера!
Если компьютер был как клиент, то трафик не блокировался!
Пришлось esp8266 запрограммировать как клиент и соединения не было!
Скачал для мобильника приложение TCP Client - с компьютером тоже не мог соединиться, а вот с esp8266-сервер было соединение.
В файервол Windows добавил правила на порт - ничего не поменялось.
Тогда полез в настройки защиты сети в Nod32 - как добавить правило не нашел, но выставил "Защита сети"->"Файервол"->"Режим фильтрации" как "Интерактивный режим" и при подключении ПЛК появилось окно с запросом, что делать с этим соединением. Установил, что разрешить это соединение и запомнить навсегда.
Опять зашел в настройки Nod32, но так и не нашел, где добавилось это правило...
В общем все работает! Спасибо всем!
При подобных работах первое что идет на отключение это антивирус. Жаль раньше тему не видел, написал бы.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot