Jump to content

    

Медицинский электроприбор

Добрый день всем. Разрабатываем медицинский электроприбор. Манипулятор с телеуправлением. В конструкции два слаботочных шаговых двигателя (12В, каждый по 4 провода), электромагнитный клапан капельницы, один оптический концевик. Само устройство работает в диагностической операционной. И пульт телеуправления располагается в отдельной комнате вне операционного зала. Предварительные операции по подготовке пациента и оборудования доктор делает в операционном зале. Но после покидает его и все диагностические операции проводит из комнаты посредством пульта. Сама диагностика проходит под воздействием рентгена на тело пациента. Доктор в реальном времени видит рентгенографическую картинку на мониторе и управляет устройством. Вопрос 1. Как разумней с точки зрения соответствия требованиям безопасности для медицинского электрооборудования класса 1, а также из других возможных требований безопасности, реализовать управление устройством в операционной: а) вся цифровая часть и драйверы двигателей находятся в пульте и до самого устройства в операционный зал тянется провод (до 10 метров) по 4 жилы на каждый мотор, общий провод с экраном, жила электромагнитного клапана и жила оптического концевика. б) в операционный зал идет провод на 4 жилы (2 питание и 2 интерфейс) + экран, а в устройстве в операционном зале еще один контроллер и драйверы двигателей. Риски и ограничения варианта (а) сходу: длинный провод и неизвестное поведение шаговых двигателей при таком варианте, возможное ложное срабатывание сигнала оптического датчика (если он не диференциальный) и клапана капельницы. Риски и ограничения варианта (б): нужны дополнительные средства защиты и контроля зависаний/не верной работы и скрытых ошибок в программном коде, которые могут привести к неверному или неконтролируемому вращению двигателей (а значит и опасному сбою в работе манипулятора), вопросы с качеством цифрового сигнала в длинном проводе. Кто что думает?

Share this post


Link to post
Share on other sites

Добрый день,

сперва общие сррбражения:

1) в вашей команде по разработке этого прибора обязательно должен быть системный архитектор (можете назвать его главным конструктором), и в задачи его лягут описание всего набора возможных сценариев работы (провод оторвался, лаборант в обморок упал, пациент рукой дёрнул) и, далее, разработка архитектуры устройства.

2) Неплохо (а с точки зрения ISO-13485, ГОСТ Р 55544 и т.п. компании это всё равно понадобится делать), чтобы другой человек, технически вовлечённый в проект, занимался вопросами менджмента рисков. И его решение будет для вас поважнее рекомендаций с электроникса.

Теперь по сути вопроса: на сегодняшний день успешно используются сотни транспортных протоколов, обеспечивающих гарантированую доставку. Почему не использовать их? Мы управляем роверами на Луне и Марсе - там стоимость ошибки (оператора или в целостности данных) тоже очень высока. Это к тому, что пожалуй не стоит тащить кабель в полтора десятка проводов из пультовой в операционную. 

Если же говорить о том, как избежать зависаний и подобных ситуаций - то здесь существует тоже достаточное число решений. Например, для аварийной остановки ШД в случае потери связи, система строится так, что передающая сторона постоянно передаёт "импульсы накачки", говоря контроллеру "вперёд, вперёд, вперёд" (предварительно задаётся дистанция одного перемещения-кванта). Если эти команды перестали приходить, то контроллер уже не двинет ШД.

Предотвращение зависаний -  пожалуйста, гляньте по сторонам: производители того же медицинского оборудования часто устанавливают в системе управления процессор-монитор, который следит за состоянием вектора, образованного множеством сигналов управления основного контроллера. И если он видит недопустимое значение (например, клапан открыт, а ШД в движении), то останавливает контроллер. 

И ещё много много тонкостей, конечно. Несмотря но то, что на коленке можно сбацать прототип весьма быстро, важно понимать, что у вас мед.прибор, сертификация, и т.д.

 

Share this post


Link to post
Share on other sites

@Димыч спасибо! Конечно, по пункту 2 Вашего ответа я все это понимаю. И знаю множество решений. Просто для нас сейчас это не хоженая дорога с точки зрения именно будущей сертификации. Именно поэтому ищу чужой опыт. Что по поводу пункта 1, то вот примерно так и рассуждаю, этот список событий мы отрабатываем. Но вот на отдельного человека пока не можем раскошелится.

Для меня самое важно в Вашем ответе вот это: "производители того же медицинского оборудования часто устанавливают в системе управления процессор-монитор,..." - значит так делают. Ну нет у меня доступа к медицинскому оборудованию, чтобы его разобрать и посмотреть как там и что реализовано. Если так делают, то лично для меня это хороший сигнал в пользу варианта (б). Но конечно буду ориентироваться в итоге не только на Ваше мнение, а совокупность сведений, которые соберу по вопросу.

Share this post


Link to post
Share on other sites

Да, судя по тому, что у вас ответственный прибор, а команда маленькая - путь предстоит тернистый (если, конечно, делать всё официально и правильно).

Разборка чужого оборудования (в вашем случае подобного манипулятора) не обязательный, но полезный этап. Конечно, с точки зрения микропрограмм там мало что можно расковырять, но другие вещи, как то механика, влагозащита, соединения, индикация - на поверхности.

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

Удачи!

Share this post


Link to post
Share on other sites

С точки зрения вопросов безопасности, стоит выбрать вариант б) и стандартный интерфейс, который бы использовался в системах, где есть требования безопасности. Например есть такой интерфейс - EtherCAT. Через него вы сможете легко подключить ваши шаговики, клапана и датчики к телепульту. Вопросы контроля зависаний/защиты от ошибок там уже решены. Так что сделайте ваш пульт соответствующим образом и все будет ОК.

Share this post


Link to post
Share on other sites
В 19.08.2019 в 15:22, syoma сказал:

Например есть такой интерфейс - EtherCAT. Через него вы сможете легко подключить ваши шаговики, клапана и датчики к телепульту.

Отлично! Прям из пушки по комарам, классический случай...  В данном случае самое подходящее - RS485, CAN и все в этом роде. Протокол с гарантированной доставкой делается элементарно, в простейшем случае пакет с контр. суммой и повтором при ошибке.

Причем раз медицина и шнур на несколько метров в разных помещениях, то еще и гальваноразвязка лишней не была бы...

Edited by mantech

Share this post


Link to post
Share on other sites
41 minutes ago, mantech said:

Отлично! Прям из пушки по комарам, классический случай...  В данном случае самое подходящее - RS485, CAN и все в этом роде. Протокол с гарантированной доставкой делается элементарно, в простейшем случае пакет с контр. суммой и повтором при ошибке.

Причем раз медицина и шнур на несколько метров в разных помещениях, то еще и гальваноразвязка лишней не была бы...

Ну если вы уверены, что сможете это прям из коробки достать, пройти все испытания и сертифицировать с первого раза - пожалуйста.

Share this post


Link to post
Share on other sites
2 часа назад, syoma сказал:

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

Интерфейс сам по себе и так поддерживает необходимые сертификаты, а что до протокола, так там у ТСа есть куда больше всяких вещей, в смысле проблем с сертификатами и протокол из них скорей самое простое, ИМХО.

А по поводу - "из коробки", считаете, что эзеркат освоить гораздо проще, чем написать примитивный протокол через УАРТ?? Да, там есть готовые чипы, но это не простое решение все-равно, да и вопрос цены...

Edited by mantech

Share this post


Link to post
Share on other sites
21 hours ago, mantech said:

А по поводу - "из коробки", считаете, что эзеркат освоить гораздо проще, чем написать примитивный протокол через УАРТ?? Да, там есть готовые чипы, но это не простое решение все-равно, да и вопрос цены...

Я предлагал автору вообще не заморачиваться с "освоением", а взять готовые модули - например Beckhoff и подключить их к своим шаговым моторам и датчикам в диагностическом зале. Вывести наружу Ethernet кабель, подключить его к любому ПЛК с EtherCAT - например к чему-нибудь на Codesys. Подключить пульт телеуправления и написать простенькую программу на ST или чем-либо еще.

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

Если же нет, то называем этот шаг "Демонстратором", показываем руководству, заказчику, кому нужно идею, спрашиваем "сертифицируете"? И если ответы положительные, начинаем разрабатывать свое решение по образу и подобию и в зависимости от поставленной цели, насколько следует удешевить электронику. А ПЛК и EtherCAT модули снимаем и используем в следующем проекте. В худшем случае, если никому они не нужны, забираем к себе на дачу и делаем контроллер отопления или автоматический полив - эта штука понадежней будет любых Ардуиноподобных контроллеров.

И вот так, маленькими шажками двигаться к результату.

 

Share this post


Link to post
Share on other sites
3 часа назад, syoma сказал:

а взять готовые модули - например Beckhoff и подключить их к своим шаговым моторам и датчикам в диагностическом зале. Вывести наружу Ethernet кабель, подключить его к любому ПЛК с EtherCAT - например к чему-нибудь на Codesys. Подключить пульт телеуправления и написать простенькую программу на ST или чем-либо еще.

Интересная логика... Т.е. вот решил я что-то сделать, мне надо купить кучу оборудования - ПЛК, платы эзерката, панель оператора, затем освоить абсолютно неизвестную мне среду разработки, с нестандартными, в плане классического программирования, языками, потратив на это еще и кучу времени в надежде на то, что мне это еще пригодится... Чтоб просто показать начальнику, что "в принципе работает"...  После этого начальник узнает цену всего этого добра, слегка офигевает, и говорит - "а попроще нельзя", на что я ему говорю - "да не вопрос, только ты еще выдели мне 3-5 мес и денег на это". Ну дальше я представляю, что пойду на все 4 стороны со своими талантами:biggrin:

Share this post


Link to post
Share on other sites
21 hours ago, mantech said:

Т.е. вот решил я что-то сделать, мне надо купить кучу оборудования - ПЛК, платы эзерката, панель оператора, затем освоить абсолютно неизвестную мне среду разработки, с нестандартными, в плане классического программирования, языками, потратив на это еще и кучу времени в надежде на то, что мне это еще пригодится...

Ну, например, в мире программирования в том числе встраиваемого и даже ПЛИС, народ ничего не имеет против Питона - языка для так сказать общепроизводственных задач, не имеющего ничего общего ни с Си, ни с Verilog, но позволяющего быстро проверить множество вещей. И они его учат - представляете?

ПЛК - это в принципе и есть такая палочка выручалочка в мире электроники. Язык там - это Паскаль, который выучить можно за час и вполне стандартен, а можно вообще без него рисовать блок-схемами или релейными связями.  А сама среда позволяет вам запустить реал-таймовый проект за 20 минут с нуля. Вместо ПЛК на первых порах можете взять Raspberry Pi - естественно, как же без него? Потратите от силы неделю времени. Много?

Share this post


Link to post
Share on other sites
1 час назад, syoma сказал:

и даже ПЛИС, народ ничего не имеет против Питона

Я писал тут от лица гипотетического заказчика, а если от себя, то я вот против всяких нестандартных языков, тех же питонов и пр... И думаю, что не одинок в этом, ибо все те-же явы, пхп и пр.. Си-подобные языки, что очень удобно. А вот изучать среду обитания АСУТПшников совсем нет никакого желания. А про питоны и пр, у меня есть свое мнение, почему он хоть немного популярен, так это из-за тех-же "малинолюбителей", т.к. по-настоящему в линуксе программировать умеет из них очень далеко не каждый, да и мне это сложновато дается, но я могу поднять подобные системы без всяких осей, мне так даже проще - нет нужды разбираться в довольно сложных чужих "черных ящиках", то остается одно - скрипты на питоне, для чуть продвинутых, или  вообще на шеле что-нить наваять, аля ардуино подход, вот и все...

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

Share this post


Link to post
Share on other sites
1 час назад, syoma сказал:

ПЛК - это в принципе и есть такая палочка выручалочка в мире электроники.

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

А выручалочка разработчика - это опыт программирования, библиотека своих проверенных функций и несколько отладочных плат :biggrin:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now