0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 32
|
|
[CoDeSys 2.3] ICMP пинг из ОВЕН ПЛК110 через SysLibSockets09.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
|
09.04.2015, 12:06 | |
Ответы с готовыми решениями:
1
[CoDeSys 2.3] Подключение модулей МВ110-32ДН и МУ110-32Р к ПЛК110-30
|
91 / 86 / 12
Регистрация: 08.08.2013
Сообщений: 667
|
|
14.05.2015, 13:37 | |
Всё ооочень просто)))
[форум] Или "ping пример site:owen.ru" в гугл
0
|
14.05.2015, 13:37 | |
Помогаю со студенческими работами здесь
2
[CoDeSys 2.3] Написать программу на Овен ПЛК150 в ST или FBD Бесплатный видео-курс «Программирование ОВЕН ПЛК1хх в среде CODESYS 2.3» [CoDeSys 2] ОВЕН ПЛК63-L - установить релейный выход 1 в true или false (в конфигураторе он отображен как real) Передача пакета по протоколу ОВЕН через СОМ порт Цикл через 'For' для счетчика CTU от 0 до 64 (Codesys) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Как писать чистый, тестируемый и качественный код на 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
Статья размещается на сайте с разрешения. . .
|