Нашел старую тему с похожей проблемой
http://www.owen.ru/forum/showthread....ll=1#post83506
Но решения там также нет
Нашел старую тему с похожей проблемой
http://www.owen.ru/forum/showthread....ll=1#post83506
Но решения там также нет
http://www.owen.ru/forum/showthread....ll=1#post85927
Попробуйте с этим вложением
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Попробовал, не получилось ))))
Вообще, я никогда раньше не работал с UDP.
Взял эту библиотеку, взял примеры к ней. Выбросил то, что к TCP относится.
Запустил - не работает, т.е. сокеты открываются, данные не принимается
Последовательность у меня такая:
1. Открываю сокеты для записи и чтения, указываю порт 4444, запоминаю их нумера (получаю в частности, 16 и 17).
2. Раз в три секунды записываю 10 байт через UdpSendData (посылаю на 127.0.0.1 на порт 4444)
3. Постоянно читаю данные через UdpReceiveData.
Может, я неправильно понимаю последовательность действий?
А зачем Вы посылаете на локальный адрес, какой айпишник имеет принимаемая сторона?
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Короче, частично заработало. Использовал библиотеку TcpUdpLib.
Если кому интересно, такое ощущение, что есть косяк в функции GetIPAddress (ну или, если глубже, то в SysSockInetAddr).
Она у меня отказалась преобразовывать IP адрес из строки в DWORD, поэтому я немного модифицировал функцию UdpSendData и передаю ей IP в уже готовом DWORDе.
Аналогичная ситуация при приеме. Я модифицировал структуру CLIENT_REPLY и заменил строковый IP на DWORD.
Леонид в этой теме (http://www.owen.ru/forum/showthread....ll=1#post84190), судя по всему, столкнулся с такой же проблемой, но просто использовал другое преобразование.
И еще не смог наладить передачу самому себе через 127.0.0.1. Когда передаю пакеты с ПК, они нормально принимаются.
Если на одном устройстве пытаетесь читать и писать по удп, то как минимум лучше развести на разные порты прием и передачу, легче искать ошибки будет
В общем, связь по UDP между устройствами наладил, все работает. Всем спасибо за советы.
Но, проблема с нормальной связью среды разработки с ПЛК остается - заливаю программу, все работает (разумеется, чтобы подключиться к ПЛК приходится какое-то время ждать), программа останавливается, удаляется, сбрасывается.
Но после выключения и включения ПЛК связь уже установить не могу, приходится делать сброс программы кнопкой СТАРТ/СТОП, потом связь появляется, опять заливаю, все работает... до выключения.
Связи нет также через OPC сервер.
ПЛК пингуется.
Может, мне стоит откатиться до прошивки 2.14? Где ее взять в виде bin-файла? А то у меня нет кабеля для перепрошивки.
И еще такой вопрос: а чего так долго пищит ПЛК после сброса?
Здравствуйте!
Выложите проект, либо скиньте на e.garchev@owen.ru
Для символьного файла (для ОРС-сервера) указываете только необходимые переменные или всё подряд? Какую версию gateway-сервера используете?