WWW.PROTu-154.org
Список форумов Project Tupolev Team Вход Регистрация FAQ Пользователи Поиск

Список форумов Project Tupolev Team » ЛИИ » Универсальный интерфейс ;) На страницу Пред.  1, 2, 3 ... 31, 32, 33, 34  След.
Начать новую тему  Ответить на тему Предыдущая тема :: Следующая тема 
СообщениеДобавлено: Чт Ноя 29, 2007 02:12 Ответить с цитатой
Ezdok
КВС
Зарегистрирован: 20.08.2005
Сообщения: 191




Протоколы, по которым IOCards module общается с железом, уникальны для каждого типа плат и закрыты.
==
Мрак.....
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пт Ноя 30, 2007 01:46 Ответить с цитатой
601
КВС
Зарегистрирован: 10.04.2006
Сообщения: 443
Откуда: Kiev, Ukraine




Ezdok писал(а):
Мрак.....


Олег, Ваши высказывания достойны коллекционирования Улыбка

Раньше были: "бред", "чушь", "не лечится" и т.д. Теперь вот "мрак" добавился Смех

_________________
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пт Ноя 30, 2007 14:29 Ответить с цитатой
Kitsok
КВС
Зарегистрирован: 19.06.2005
Сообщения: 501




601 писал(а):

Там вот как всё устроено:

SIOC состоит из нескольких модулей:
- IOCP Server Module
- IOCards Module
- FSUIPC Module
- IOCP Client module (2 штуки)

Так вот в качестве прокладки между IOCP Server Module и железом выступает IOCards Module. Протоколы, по которым IOCards module общается с железом, уникальны для каждого типа плат и закрыты. Механизм, по которому IOCards module общается с IOCP Server Module и IOCP Client modules -- тоже покрыт тайной.

Т.е. если идти от железа до сима (снизу вверх), то получается:

модуль<->IOCARDS module<->IOCP Server<->FSUIPC->SIM memory

Правильно?

И второй вопрос - а если моя прокладка будет выступать клиентом, то ведь и принимать и передавать я могу в IOCP, только переменные будут не именными, а числовыми, и конфигурировать придется в двух местах, я правильно понимаю?
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пт Ноя 30, 2007 15:28 Ответить с цитатой
601
КВС
Зарегистрирован: 10.04.2006
Сообщения: 443
Откуда: Kiev, Ukraine




Kitsok писал(а):
Т.е. если идти от железа до сима (снизу вверх), то получается:

модуль<->IOCARDS module<->IOCP Server<->FSUIPC->SIM memory

Правильно?


Нууу, почти правильно... Взгляните на картину со структурой Сиока. К симу SIOC может подключаться двумя путями: через FSUIPC или через IOCPserver1_8.dll. Последний кладётся в папку Modules сима и представляет собой более интеллектуальную альтернативу FSUIPC.

Таким образом, от платы к симу есть два пути (всё что внутри квадратных скобок -- это SIOC):

1. Плата <-> [ IOCards module <-> IOCP Server <-> FSUIPC Module ] <-> FSUIPC <-> память сима

2. Плата <-> [ IOCards module <-> IOCP Server <-> IOCP Client Module ] <-> IOCPserver1_8.dll <-> SDK сима


Цитата:
И второй вопрос - а если моя прокладка будет выступать клиентом, то ведь и принимать и передавать я могу в IOCP, только переменные будут не именными, а числовыми, и конфигурировать придется в двух местах, я правильно понимаю?


Да, правильно. Ваша прокладка, кстати может быть как IOCP-клиентом, так и IOCP-сервером -- как удобно. В любом случае, IOCP-протокол оперирует НУМЕРОВАННЫМИ переменными.



sioc.JPG
 Описание:
 Размер файла:  29.64 KB
 Просмотрено:  4165 раз(а)

sioc.JPG



_________________
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пт Ноя 30, 2007 15:39 Ответить с цитатой
max666
КВС
Зарегистрирован: 12.11.2004
Сообщения: 191
Откуда: Rostov-on-Don




601 писал(а):


Таким образом, от платы к симу есть два пути (всё что внутри квадратных скобок -- это SIOC):

1. Плата <-> [ IOCards module <-> IOCP Server <-> FSUIPC Module ] <-> FSUIPC <-> память сима

2. Плата <-> [ IOCards module <-> IOCP Server <-> IOCP Client Module ] <-> IOCPserver1_8.dll <-> SDK сима



Скажите, чтоб установить связь между платой и IOCards module разве не нужен еще третий участник ? И еще: каким образом будет установлена связь с IOCards module, если у них закрытые протоколы?

П.с. Интересно, сколько времени будет теряться на всех этих пертрубациях пакета.
Посмотреть профиль Отправить личное сообщение Отправить e-mail

СообщениеДобавлено: Пт Ноя 30, 2007 15:42 Ответить с цитатой
601
КВС
Зарегистрирован: 10.04.2006
Сообщения: 443
Откуда: Kiev, Ukraine




601 писал(а):

Таким образом, от платы к симу есть два пути (всё что внутри квадратных скобок -- это SIOC)


Возможен, кстати ещё один путь (именно по этому пути мы сейчас работаем с PTJoy.dll):

3. Плата <-> [ IOCards module <-> IOCP Server ] <-> PTJoy.dll <-> ПТ в памяти сима

При этом PTJoy.dll Михаил выполнил в виде IOCP-клиента.

_________________
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пт Ноя 30, 2007 15:43 Ответить с цитатой
max666
КВС
Зарегистрирован: 12.11.2004
Сообщения: 191
Откуда: Rostov-on-Don




Еще в догонку вопрос.
С какой частотой IOCPserver1_8.dll опрашивает память сима?
Посмотреть профиль Отправить личное сообщение Отправить e-mail

СообщениеДобавлено: Пт Ноя 30, 2007 16:06 Ответить с цитатой
601
КВС
Зарегистрирован: 10.04.2006
Сообщения: 443
Откуда: Kiev, Ukraine




max666 писал(а):
Скажите, чтоб установить связь между платой и IOCards module разве не нужен еще третий участник ? И еще: каким образом будет установлена связь с IOCards module, если у них закрытые протоколы?


Когда я говорил "Плата", я имел ввиду плату от IOCards -- только в этом случае задействуется IOCards module. Если использовать платы собственной разработки, то тогда схема будет выглядеть следующимобразом:

1. Своя плата <-> "Прокладка" <-> [ IOCP Server Module <-> IOCP Client Module ] <-> IOCPserver1_8.dll <-> SDK сима

или

2. Своя плата <-> "Прокладка" <-> [ IOCP Client Module 1 <-> IOCP Server Module <-> IOCP Client Module 2] <-> IOCPserver1_8.dll <-> SDK сима

В первом случае "Прокладка" должна быть IOCP-клиентом, во втором -- IOCP-сервером.

Цитата:
П.с. Интересно, сколько времени будет теряться на всех этих пертрубациях пакета.


Лично я пока тормозов не замечал. Знаю, что люди реально используют IOCP в сложных каскадных структурах (как на картинке) -- жалоб на затыки от них я пока тоже не встречал.



sioc_net.JPG
 Описание:
 Размер файла:  37.19 KB
 Просмотрено:  4150 раз(а)

sioc_net.JPG



_________________
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пт Ноя 30, 2007 16:54 Ответить с цитатой
Kitsok
КВС
Зарегистрирован: 19.06.2005
Сообщения: 501




601 писал(а):


1. Своя плата <-> "Прокладка" <-> [ IOCP Server Module <-> IOCP Client Module ] <-> IOCPserver1_8.dll <-> SDK сима


Ну тогда проблем не вижу, т.к. стрелочка до IOCP Server документирована, да и SDK имеется.
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Сб Дек 01, 2007 00:05 Ответить с цитатой
601
КВС
Зарегистрирован: 10.04.2006
Сообщения: 443
Откуда: Kiev, Ukraine




Kitsok писал(а):
Ну тогда проблем не вижу, т.к. стрелочка до IOCP Server документирована, да и SDK имеется.


Хорошо

_________________
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Сб Дек 01, 2007 00:09 Ответить с цитатой
601
КВС
Зарегистрирован: 10.04.2006
Сообщения: 443
Откуда: Kiev, Ukraine




max666 писал(а):
Еще в догонку вопрос.
С какой частотой IOCPserver1_8.dll опрашивает память сима?


Честно говоря, не знаю -- не копал... Знаю только, что IOCPserver1_8.dll работает через SDK сима. Как в SDK устроен механизм обновления -- не разбирался...

_________________
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Сб Дек 01, 2007 02:04 Ответить с цитатой
max666
КВС
Зарегистрирован: 12.11.2004
Сообщения: 191
Откуда: Rostov-on-Don




Есть ли у Вас работающие энкодеры и если есть, то через что они работают?
Собственно вопрос: Что происходит с частотой если энкодер быстро крутить ? Запаздывает ли изменение, докручивает ли сим еще энкодер, после того, как перестал крутится сама железка ?
Посмотреть профиль Отправить личное сообщение Отправить e-mail

СообщениеДобавлено: Вс Дек 02, 2007 12:03 Ответить с цитатой
Ezdok
КВС
Зарегистрирован: 20.08.2005
Сообщения: 191




Максим , во всеобщей эйфории кокпит строительства эта задачка судя повсему никого не парит. Она будет просто запарывать , когда начнутся раельные полеты . На поверку , по сравгнению с настоящими тренажерами , все эти системы юзающие FSUIPC работают плохо. Слабое место - скорость FSUIPC. Никакого реал-тайма. Подтверждение этому - качество работы FSBUS. Опять таки в сравнении с настоящими тренажерами (судя по многочисленным видео из кабин) , где от вращения ручек и получением результата нет никаких задержек и лагов , системы построенные с использованием FSUIPC - это просто игрушки....

С другой стороны , если использовать альтернативу юпику , можно получить полный реал-тайм (покрутил ручку мгновенно увидел результат как в реале, без задержек) так как большинство таких методов - это пара десятков строчек простейшего кода и алгоритмы никак не влияют на работу ЦПУ и не создают диких задержек как в FSUIPC. Вполне возможно что IOcards со своим IOCP работает в десятки раз быстрее чем FSUIPC. Поэтому и нужно видео ! Мужики ! Ну снимите на мыльницу видео как же всетаки работает этот энкодер в IOcards ? Нужно заснять на фоне индикатора NAV резкое вращение энкодра , когда крутим частоту NAV .. Есть такие люди ?
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пн Дек 03, 2007 17:39 Ответить с цитатой
Хочу летать
Правак
Зарегистрирован: 15.04.2005
Сообщения: 108




Вот что занчит "выпасть" из темы на недельку-другую Улыбка
Сижу догоняю (вы всех смыслах Хитрый ) ход ваших мыслей Улыбка

Костик, не удержусь-спрошу сейчас (неизвестно когда домой вернусь) - на кой тебе то эти "галеры" с IOCP? Собственно это даже не вопрос, а попытка уяснить задачуУлыбка
Собственно IOCP и все что с ним связано - сильная штука, однако в цепочке (и ее вариантах клиент-сервер):
Своя плата <-> "Прокладка" <-> [ IOCP Server Module <-> IOCP Client Module ] <-> IOCPserver1_8.dll <-> SDK сима - может оказаться "лишним звеном.
Поясню, коли дело дошло до, пардон, "прокладки" (классные у нас термины получаются Хитрый начали с "колбасы"...) - то что мешает выполнить схему следующим обазом:
Своя плата <-> "Прокладка" <-> IOCPserver1_8.dll <-> SDK сима ?

Однако, если речь вести о масштабируемой многосистемной системе (извиняйте за тавтологию) то тут да - SIOC может послужить отличной базой.

Цитата:
Максим , во всеобщей эйфории кокпит строительства эта задачка судя повсему никого не парит.


Очень даже паритУлыбка Что касается скорости - то, лично у меня, этот вопрос стоит едва ли не на клиническом уровне граничащим с паранойейУлыбка
По существу:
Цитата:
С какой частотой IOCPserver1_8.dll опрашивает память сима?

Не готов ответить, но опираясь на некоторый опыт могу предположить: в связи с тем, что IOCPserver1_8.dll является модулем СИМ-а, то и его "производительность" будет зависеть от "скорости" СИМ-а вцелом. Причем, я сомневаюсь, что даже при самых благоприятных условиях она будет превышать 18 Гц (да больше в общем-то и не нужно).

Цитата:
На поверку , по сравгнению с настоящими тренажерами , все эти системы юзающие FSUIPC работают плохо. Слабое место - скорость FSUIPC.


Олег, что подразумевается под "настоящими тренажерами"? Дело тут вот в чем, если речь идет о промышленных КТС, то они изначально построены по другому принципу нежели домашний кокпиты на базе MSFS. И, позволю себе несколько дополнить Вашу мысль относительно слабого места - проблема не только во FSUIPC-е (как средстве ввода-вывода), но и в самом СИМ-е и, полагаю, Вы со мною согласитесь.

Цитата:
Нужно заснять на фоне индикатора NAV резкое вращение энкодра , когда крутим частоту NAV ..

Опять таки предположу, но расчитывать на то что можно будет "высмотреть" все пройденные значения - вряд ли стоит... и SIOC тут не причем. Энкодер "отработает" как надо - просто СИМ не успеет всего "показать"...

С уважением, Михаил.
Посмотреть профиль Отправить личное сообщение

СообщениеДобавлено: Пн Дек 03, 2007 21:29 Ответить с цитатой
max666
КВС
Зарегистрирован: 12.11.2004
Сообщения: 191
Откуда: Rostov-on-Don




Хочу летать писал(а):


Костик, не удержусь-спрошу сейчас (неизвестно когда домой вернусь) - на кой тебе то эти "галеры" с IOCP?



Очень правильная постановка вопроса Улыбка

Хочу летать писал(а):


Очень даже паритУлыбка Что касается скорости - то, лично у меня, этот вопрос стоит едва ли не на клиническом уровне граничащим с паранойейУлыбка
По существу:
Цитата:
С какой частотой IOCPserver1_8.dll опрашивает память сима?

Не готов ответить, но опираясь на некоторый опыт могу предположить: в связи с тем, что IOCPserver1_8.dll является модулем СИМ-а, то и его "производительность" будет зависеть от "скорости" СИМ-а вцелом. Причем, я сомневаюсь, что даже при самых благоприятных условиях она будет превышать 18 Гц (да больше в общем-то и не нужно).


Разве, частота опроса переменных внутри модуля сима (прибора) определяется не создателем прибора ?

В среде дельфи простейший код из SDK FSUIPC

if FSUIPC_Write(fsuipc_adr[i],fsuipc_size[i],fs_var1,res) then
begin
FSUIPC_Process(res);
end
else result:=false;

Выполняется в среднем ДЕСЯТЬ миллисекунд!!! Это чтение одной переменной!

Чтоб синхронизировать массив из 100 переменных нужна 0,1 сек... На практике у меня копирование в буфер 41 переменной занимает 90-170 мс в зависимости от загруженности компа.
Посмотреть профиль Отправить личное сообщение Отправить e-mail

Универсальный интерфейс ;)
 Список форумов Project Tupolev Team » ЛИИ
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете вкладывать файлы
Вы можете скачивать файлы
Часовой пояс: GMT + 3  
Страница 32 из 34  
На страницу Пред.  1, 2, 3 ... 31, 32, 33, 34  След.
  
  
 Начать новую тему  Ответить на тему  


  Powered by phpBB © 2001-2005 phpBB Group. Designed for protu-154.org | Webmaster - ^COOLER^