0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 32

[CoDeSys 2.3] ICMP пинг из ОВЕН ПЛК110 через SysLibSockets

09.04.2015, 12:06. Показов 5037. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Работаю с ОВЕН ПЛК110.
Хочу реализовать пинг кого либо IP из ПЛК используя стандартную кодесисовскую библиотеку SysLibSockets.
Есть несколько вопросов и проблем:
1) Я правильно понимаю, что ICMP использует датаграммы (тип коммуникации SOCKET_DGRAM) и общая схема работы клиента на датаграммах такова:
1.1. создаем TCB структуру SOCKADDRESS для сервера (машины, которую будем пинговать) с нужными настройками (serv.sin_addr:= SERV_IP, serv.sin_family:=SOCKET_AF_INEТ, serv.sin_port := ICMP_TYPE_CODE)
1.2. создаем TCB структура SOCKADDRESS для клиента (ПЛК) с такими же настройками, за исключением адреса (client.sin_addr:= PLC_IP, client.sin_family:=SOCKET_AF_INEТ, client.sin_port := ICMP_TYPE_CODE)
1.3. заполняем буфер проверочными данными для отправки (например, 32 байта символов sBuf :STRING := 'abcdefghijklmnopqrstuvwabcdefghi')
1.4. делаем вызов сокета, получаем дескриптор ( sock := SysSockCreate(SOCKET_AF_INET, SOCKET_DGRAM, SOCKET_IPPROTO_ICMP) )
1.5. связываем сокет с адресом клиента ( bindClient := SysSockBind(sock, ADR(client), SIZEOF(client)) )
1.6. пишем буфер в сокет ( bufSend := SysSockSendTo(sock, ADR(sBuffer), 32, 0, ADR(serv), SIZEOF(serv)) )
1.7. дальше пишем в буфер приема rBuf ( recv:=SysSockRecvFrom(sock,ADR(rBuf),32, 0,ADR(clie nt),SIZEOF(client)) ), выждав какой то таймаут
1.8. сравниваем содержимое переданного с принятым
?
2) Одиночный пакет с ПЛК уходит нормально, доходит до ПК, WireShark его видит. На первый взгляд с пакетом все ОК - тип 08 (эхо-запрос) , код 00. Но почему то я вижу коды 61("а") и 62 ("b") в качестве идентификатора ICMP пакета и коды 63 64 ("с" "d") в качестве порядкового номера. Это почему так? Я думал, что вся эта возня с структурами SOCKADRESS как раз и должна отделить всякие заголовки от данных из буфера.
3) Самая большая проблема сейчас - как видно с того же скрина WireShark`а ПК не хочет слать в ответ ICMP пакет. В чем дело???
4) как работает SysSockRecvFrom? Он может сколько угодно ждать ответа, проверяя буфера сокета на предмет пришедших данных при каждом цикле работы ПЛК?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2015, 12:06
Ответы с готовыми решениями:

Управление звонком и пускателем (ST, Codesys, ПЛК110)
Добрый день, товарищи. Понемногу осваиваю ST, столкнулся со следующим вопросом : Имеется ПЛК110, кнопка, пускатель и звонок. Обыденная...

[CoDeSys 2.3] Подключение модулей МВ110-32ДН и МУ110-32Р к ПЛК110-30
У меня контроллер спк 110-30 и там 18 входов и 12 выходов, нужно сделать 44 с помощью мв 110-32дн, и настроить в спк 110-30 кнопку(работа,...

[CoDeSys 3.5] Чтение архивов ОВЕН ПЛК323
Добрый день, товарищи. Среда разработки - CDS 3.5, девайс - owen plc323. Столкнулся с задачей реализовать ведение архива, и...

1
91 / 86 / 12
Регистрация: 08.08.2013
Сообщений: 667
14.05.2015, 13:37
Всё ооочень просто)))
[форум]
Или "ping пример site:owen.ru" в гугл
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2015, 13:37
Помогаю со студенческими работами здесь

[CoDeSys 2.3] Написать программу на Овен ПЛК150 в ST или FBD
Нужно написать программу в CoDeSys в ST или FBD,с помощью которой ,после ее запуска ,на овен плк150 начинали срабатывать индикаторы на...

Бесплатный видео-курс «Программирование ОВЕН ПЛК1хх в среде CODESYS 2.3»
...итак, в продолжении https://www.cyberforum.ru/blogs/140240/blog1286.html Программа курса | скачать CODESYS 2.3.9.38 День...

[CoDeSys 2] ОВЕН ПЛК63-L - установить релейный выход 1 в true или false (в конфигураторе он отображен как real)
Добрый день, новичок в программировании контроллеров.... На борту контроллер owen 63L, polytron 5000(газоанализатор), две лампочки красная...

Передача пакета по протоколу ОВЕН через СОМ порт
задача такая. Я должна сделать скаду-систему контоля микроклимата. Т.е. я как пользователь, задаю параметры работы (т.е. устанавливаю мин...

Цикл через 'For' для счетчика CTU от 0 до 64 (Codesys)
хочу организовать цикл через for для счетчика CTU от 0 до 64 и всегда подаю true , это просто абстрактный пример для себя. PROGRAM...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru