Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
ICPDAS I8431 и tcpip

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   ICPDAS I8431 и tcpip
ColdFire
Member

Сообщений: 157
Откуда: Россия
Регистрация: Ноябрь 2004

написано 05 Мая 2006 17:55ИнфоПравкаОтветитьIP

Добрый день !

Вот столкнулся с проблемой, не могу понять в чем дело. Сделали программу, залили - работает, за исключением того, что упорно не хочет отвечать на входящие соединения. Функция selectsocket планомерно возвращает ноль, несмотря на наличие стоящих в очереди соединений. Все функции инициализации и открытия сокетов отрабатывают без ошибок.

Демки с сетью также не работают, все остальное в порядке: и дисплей мигает, и светодиоды, и кнопки нажимаются, последовательные порты работают. Компилируем Borland C++ 3.1.

bessonov
Member

Сообщений: 149
Откуда: Россия
Регистрация: Август 2003

написано 05 Мая 2006 18:04ИнфоПравкаОтветитьIP

У меня демки работали. На их основе всё делал.
Возможно старые библиотеки или miniOS7
Есть уверенность что сеть на icpcon в принцепе рабочая?

Добавление от 05 Мая 2006 18:10:

P.S. Хотя конечно мне не нравиться реализация tcpip на icpcon. Когда icpcon работает в режиме мастера (т.е. клиента) возникают большие таймауты когда нет сервера к которому он коннектится.

ColdFire
Member

Сообщений: 158
Откуда: Россия
Регистрация: Ноябрь 2004

написано 05 Мая 2006 22:06ИнфоПравкаОтветитьIP

Дык сеть-то работает - если запустить штатный dcon-сервер, к нему все коннектится. С minios7 я сначала колупался со штатным, потом обновил до последней версии - толку мало. Не работают демки DHCP и сериального сервера. Буду пытаться сам к себе коннектиться - пока непонятно, это у меня вообще все не работает или только selectsocket. Самое смешное, что как только запускаешь мою программу - программа молчит, зато на экране постоянно валятся сообщения от других машин (icmp пакеты какие-то видимо). Какого черта они делают на экране непонятно - у e10... никаких сообщений не валится.

Да, может подскажете - у него ip-стек icmp умеет, в смысле на пинг отвечать должен ? А то у меня не пингуется ни при каком раскладе...

Да, после моксы icpdas как-то не катит - а то там тебе и линукс, и треды, и нормальный api ко всему. Вот только до сих пор не могу понять, чего они во всех мануалах пишут что дисплей у них графический, но при этом внизу мелким текстом дескать only 16x8 text supported

bessonov
Member

Сообщений: 150
Откуда: Россия
Регистрация: Август 2003

написано 06 Мая 2006 12:01ИнфоПравкаОтветитьIP

Демку DHCP не пробовал. Пробовал только демки-исходники, на которых всё и делал. ping может проходить, а может и не проходить - как на душу положит, но сеть работать будет.

ColdFire
Member

Сообщений: 162
Откуда: Россия
Регистрация: Ноябрь 2004

написано 10 Мая 2006 10:50ИнфоПравкаОтветитьIP

Пришел ответ от производителей - оперативно, прислали мне мой исходник скорректированный. Пишут что надо вставить дополнительную инициализацию библиотеки (забавно - в собственных демках ее не было) и загрузку ip стека. Будем пробовать.

bessonov
Member

Сообщений: 151
Откуда: Россия
Регистрация: Август 2003

написано 10 Мая 2006 12:20ИнфоПравкаОтветитьIP

Интересно что у вас получиться

User Icpdas
unregistered
написано 20 Октября 2006 13:20  ПравкаОтветитьIP

А не могли бы Вы раскрыть ответ от производителей здесь, на форуме, не очень понятно, что за дополнительная инициализация библиотеки?

PKV
unregistered
написано 13 Марта 2007 16:20  ПравкаОтветитьIP

ColdFire
При попытке написать программу для tcpip столкнулся с той же проблемой, что и вы. Если заглядываете на форум, напишите, что у вас получилось.

nick2076
Junior Member

Сообщений: 2
Откуда: Санкт-Петербург
Регистрация: Октябрь 2007

написано 01 Июля 2008 17:55ИнфоПравкаОтветитьIP

ColdFire
Уважаемый ColdFire.
Просьба к Вам, не могли бы Вы прислать правильную библиотеку tcpip.lib for ICPDAS I8431. Имеем ту же проблему, функция selectsoket не отрабатывает входящие соединения. Что и где у Вас подправили в исходниках? Очень интересует. Заранее спасибо.

Добавление от 01 Июля 2008 17:56:

ColdFire
Забыл указать адрес - nick2076@mail.ru

ColdFire
Member

Сообщений: 296
Откуда: Россия
Регистрация: Ноябрь 2004

написано 06 Июля 2008 20:12ИнфоПравкаОтветитьIP

Был в отъезде. Постараюсь не забыть и в понедельник скину наши.

Да все уже тысячу лет как работает. Нужна была инициализация и РАБОЧАЯ и свежая библиотека. Кстати одни хедеры от старой (с диска из поставки контроллера) и новой библиотек отличались почти вдвое по размеру в большую сторону. Угадайте, где искать описание новых функций ?

Правильный ответ - нигде

Добавление от 07 Июля 2008 11:35:

Посмотрел. Не забываем делать InitLib() в самом начале это раз.
Потом надо сделать инициализацию ip-стека (без этого ничего не работает):

struct ip local_ip = {{10,1,7,32}, {255,255,0,0}};

SetLocalHostName("I8000E");
GetSavedIp(&local_ip);

if (!(SUCCESS==lhip("I8000E", &local_ip))) {
Print("TCPIP stack failed to load !\n");
exit(1);
}

rc = Ninit();
if (rc < 0) {
Print("Failed to initialize network ! (rc=%d)\n", rc);
exit(1);
}

rc = Portinit("*");
if (rc < 0) {
Print("Failed to initialize interface ! (rc=%d)\n", rc);
Nterm();
exit(1);
}

И еще один момент. Я сейчас уже не вспомню, но был какой-то забавный глюк с одной из функций проверки наличия входящих байтов. В смысле, что при передаче ей более одного сокета работало через пень-колоду. Вот так точно работает:

tv.tv_sec = 0;
tv.tv_usec = 0;
FD_ZERO(&rs);
for (lp=0; lp<port_count; lp++) FD_SET(db[lp].server_sock, &rs);
rc = selectsocket(port_count, &rs, NULL, NULL, &tv);
if (rc < 0) {
Print("selectsocket error ! (rc=%d)\n", rc);
Nterm();
exit(1);
}

if(rc>0) {
for(lp=0; lp<port_count; lp++) {
if (FD_ISSET(db[lp].server_sock, &rs)) { // делаем accept

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика