Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Технологии программирования > Сетевое программирование
Перезагрузить страницу пршу дать совет
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
konderson konderson вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.03.2018
По умолчанию пршу дать совет - 24.03.2018, 09:37

имеется аппарат искусственных вентиляции легких у него есть wifi канал.
необходимо извлекать данные .тип соединения soket порт 5050 .есть протокол соединения необходимо создать клиента посоветуйте какой использовать язык и помочь с кодом.
Ответить с цитированием
  (#2 (permalink)) Старый
konderson konderson вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.03.2018
По умолчанию 24.03.2018, 09:38

Протокол обмена с аппаратом искусственной вентиляции легких «АВЕНТА-М»

Обмен данными с аппаратом осуществляется по протоколу TCP/IP. IP адрес у аппарата фиксированный «192.168.1.15».
На приемной стороне необходимо реализовать буферизацию поступающих данных с целью плавного отображения графиков.

Формат данных (прикладной уровень)

Байты Поле Примечание
0 ADDR. Адрес получателя пакета. (0…127) << 1
Бит 0 = 0
1 CMD. Команда (0…127) << 1
Бит 0 = 1
2 … 3 SIZE. Размер блока данных (0…16383) << 1
Бит 0 = 1
N+1 … N+1+SIZE DATA. Блок данных Бит 0 = 1
4… N = 4+(SIZE+6)/7 EXT. Байты расширения Бит 0 = 1
Биты 1…7 каждого байта расширения содержат значения младших битов соответствующих байтов блока данных.
N+1+SIZE … N+1+SIZE+1 CRC. Контрольная сумма Бит 0 = 1

Все биты байтов пакета после первого адресного байта имеют значение = 1. Истинные значения этих битов содержаться в байтах расширения как показано на рисунке 1.


Рисунок 1.

Команды аппарату

Адрес аппарата (поле ADDR) всегда равен 1.


1. Запуск потоковой передачи данных

Поле Значение
CMD 1
SIZE 0

В ответ на команду аппарат начинает посылать пакеты с интервалом 20 мс. Каждый пакет состоит из заголовка и соответствующих ему данных.

Формат заголовка:

Байты Поле Описание
0 cntPacket Счётчик пакетов (для определения пропусков и синхронизации с блоком мониторинга)
1 cntCommand Счётчик команд.
2…5 STATUS Состояние блока управления
Биты:
0…7 – биты поля hwErrors из пакета данных измерительного контроллера
8 – низкое давление воздуха
9 – низкое давление кислорода
10 – требуется калибровка пропорционального клапана воздуха
11 – требуется калибровка пропорционального клапана кислорода
12 – требуется калибровка клапана выдоха
13 – требуется проведение тестов
14 – нет данных от измерительного контроллера
15 – разгерметизация (при CONTENT = 0)
16 – окклюзия
17 – Ошибка подачи воздуха в контур
18 – Ошибка подачи кислорода в контур
19 – высокое давление воздуха
20 – высокое давление кислорода
21 – ошибка клапана выдоха
22 – высокое сопротивление в контуре выдоха
23 – не удаётся оценить параметры пациента для обеспечения PAV
24 – PV манёвр
25 – ошибка во время выполнения PV маневра
26 – ошибка датчика SpiroQuant
27 – невозможно достичь целевого объема
31 – готов к выключению (принята и обработана команда shutdown)
6 CONTENT Формат данных
1 – вентиляция (рабочий режим)



Формат данных в рабочем режиме (CONTENT = 1).

Байты Поле Описание
0,1 MODE Режим вентиляции
Биты:
0…1 – тип подключения (=0 эндотрахеальная трубка, =1 трахеостомическая трубка, =2 маска)
2…5 – режим (=0 А/С, =1 SIMV, =2 SPONT, =3 DUAL-LEVEL, =13 APNEA, =14 IDLE , =15 STANDBY)
6…8 – тип принудительных вдохов (=0 PC, =1 VC, =2 PCVG)
9…11 – тип спонтанных вдохов(=0 PS, =1 PSVG, =2 TC)
12 – тип триггера (=0 Flow, =1 Pressure)
13..14 – пациент (=0 взрослый, =1 детский, =2 новорожденный)
15 – параметры режима валидны
2…5 Pressure[2] Два текущих значения кривой давления в контуре.
Биты:
0…10 – значение давления в контуре (мм H2O)
11…12 – тип текущего вдоха (=0 C, =1 A, =2 S, =3 HFO)
13 – вентиляция 100% кислородом
14 – распыление (небулайзер)
15 – признак вдох/выдох ( =0 выдох, =1 вдох)
6…9 Flow[2] Два текущих значения кривой потока (10 мл/мин)
10…13 Volume[2] Два текущих значения кривой объёма (мл)
14…17 Debug[2] Кривая для отладки
18 ParIndexBC Индекс параметра дыхательного цикла(0…N)
19,20 ParValueBC Значение параметра дыхательного цикла
21 ParIndex Индекс мониторируемого параметра (0…N)
22,23 ParValue Значение мониторируемого параметра
24 CtrlParIndex Индекс управляющего параметра (0…N)
25,26 CtrlParValue Значение управляющего параметра

Параметры, передающиеся поочерёдно через поля ParIndexBC и ParValueBC.

Индекс Параметр Описание
0 VTI Объём последнего принудительного или спонтанного вдоха (мл)
1 VTE Объём последнего принудительного или спонтанного выдоха (мл)
2 TI Время вдоха (мс)
3 TE Время выдоха (мс)
4 MV Минутная вентиляция (мл/мин*100)
5 MVSPONT Минутная объем спонтанных вдохов (мл/мин*100)
6 PPEAK Максимальное давление, измеренное в ходе предыдущего дыхательного цикла (cmH2O*10)
7 PEEP Положительное давление в конце выдоха (см H2O*10)
8 PPL Давление в контуре измеренной в конце инспираторной паузы (cmH2O*10)
9 fTOT Общее количество принудительных и спонтанных вдохов доставленных пациенту за последнюю минуту
10 fSPONT Количество спонтанных вдохов сделанных пациентом за последнюю минуту
11 TISPONT Время спонтанного вдоха (сек*100)
12 PINSP Давление вдоха – среднее давление на вдохе минус давление в конце выдоха (смН2О*10)

Параметры, передающиеся поочерёдно через поля ParIndex и ParValue.

Индекс Параметр Описание
0 PMEAN Среднее давление в контуре за последнюю минуту (см H2O*10)
1 СSTAT Статическая податливость лёгких (мл/см H2O*10)
2 RSTAT Сопротивление дыхательных путей (cм H2O/л/с*10)
3 СDYN Динамический комплайнс (на вдохе мл/см H2O*10)
4 %FiO2 Концентрация кислорода на вдохе (%)
5 PBARO Атмосферное давление (мм.рт.ст.)
6 RCEXP Постоянная времени выдоха (мс)
7 RESERV_1
8 RESERV_2
9 RESERV_3
10 RESERV_4
11 RDYN Динамическое сопротивление дыхательных путей (cм H2O/л/с*10)
12 FANFREQ Частота вращения вентилятора (Гц)
13 AIRPRES Давление сжатого воздуха на входе в аппарат (bar*100) (для пневмоприводного аппарата)
14 O2PRES Давление сжатого кислорода на входе в аппарат (bar*100)
15 RESERV_5
16 PEEP_I Значение авто ПДКВ (смН2О*10)
17 PEEP_TOT Давление в конце выдоха измеренное в процессе экспираторной паузы – истинное давление в легких в конце выдоха.
18 PLEAK Значение утечки в дыхательном контуре (%)
19 LEAK Поток утечки в дыхательном контуре (л/мин*100)
20 VTETARGET Целевой объем для режима AUTO_MVG (мл)
21 FTARGET Целевая частота вентиляции для режима AUTO_MVG
22 P01 Давление респираторного усилия в первые 100мс (смН2О*10)
23 AMVGFMAX Максимально допустимая частота дыхания для режима AUTO_MVG
24 AMVGVTMAX Максимально допустимый объем вдоха для режима AUTO_MVG (мл)
25 RCINSP Постоянная времени вдоха (мс)
26 WOBIMP Работа выполняемая пациентом для совершения попытки вдоха (Дж/л*100)
27 HWERRORS Аппаратные ошибки. Описание Битов
0 – Ошибка калибровки датчика давления на выдохе
1 - резерв
2 – Нет связи с датчиком потока на выдохе
28 SIMVMTIME Время триггерного окна в режиме SIMV (для версии 5.10 и выше)
29 EEF Поток в конце выдоха (л/мин*100) (для версии 5.10 и выше)
30 EIF Поток в конце вдоха (л/мин*100) (для версии 5.10 и выше)
31 EIPRES Давление в конце вдоха (смН2О*10) (для версии 5.10 и выше)

Если в единицах измерения стоит множитель, например, если указано мл/мин*100, это означает, что передаваемое значение умножено на 100. Например, полученное значение равно 956, тогда на экране нужно отображать 9,56 либо 9,6 (с округлением)
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли дать разгон! ZeUs 56 rus Процессоры 14 15.02.2013 17:14
Прошу дать характеристику системе и рекомендации по апгрейду Northen Апгрейд 19 23.09.2012 11:25
TSMC пока не готова дать ответ на предложение ASML Dark King О производителях 0 22.07.2012 01:01
как дать права пользователю sergejjbelo Windows 7 6 31.05.2012 13:38
Помогите дать описание программам НАСТЯ!! Pascal 0 05.12.2010 16:06
Дать подробную характеристику фону слайда konoplin Lisp 0 19.05.2010 05:51
Как дать права пользователям на удаление принтеров в сети? daren Техническая поддержка 1 03.04.2008 11:42
дать стипендию tatano4ka Prolog 0 03.01.2008 22:43
Как функции дать указание подождать, пока не выполнится другая bugZex Delphi 5 23.08.2007 13:09
Обработал прерывание, теперь хочу дать понять это приложению bully Железо. Написание драйверов 8 10.05.2006 01:22
Как дать ссылку на файл если ..... Сер_ёжа Visual Basic 1 28.10.2005 17:09
Надо дать посетителю сайта возможность строить дерево lumer Flash и ActionScript 7 18.10.2004 16:07



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов