Как стать автором
Обновить
194.07
ua-hosting.company
Хостинг-провайдер: серверы в NL до 300 Гбит/с

Без электроники: пневматическая логическая схема

Время на прочтение16 мин
Количество просмотров1.8K


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

Основа исследования


Системы с пневматическим приводом играют важную роль в здравоохранении, производстве, транспорте, робототехнике и многих других областях. Когда эти пневматические системы выходят из строя, последствия могут быть катастрофическими. Следовательно, желательно наделить эти системы стратегиями обнаружения ошибок, которые могут обнаруживать сбои в пневматической системе привода и предпринимать соответствующие действия. Текущие стратегии обнаружения ошибок используют электронные датчики, которые контролируют давление воздуха или расход в различных точках системы и передают эту информацию в отдельную систему управления, часто компьютер или микроконтроллер, для анализа и устранения ошибок. Это электронное оборудование для мониторинга значительно увеличивает сложность, размер и стоимость всей системы. Этот подход также проблематичен в мягких роботизированных системах, которые используют пневматику для управления заполненными воздухом приводами, чувствительными к размеру, весу и мощности (SwaP от size, weight, and power). Учитывая, что каждый независимый привод обычно уже имеет отдельную пневматическую линию управления, добавление еще одного набора компонентов для обнаружения ошибок еще больше влияет на эффективность SWaP и сводит на нет многие преимущества мягкой робототехники (ее простоту, автономность, низкую стоимость, биомиметическую конструкцию и отсутствие (или минимизацию) большого количества электронных компонентов).

В рассматриваемом нами сегодня труде ученые представляют пневматическую логическую схему для обнаружения ошибок в пневматических системах. Почти два десятилетия назад исследователи начали использовать микрофлюидные клапаны в логических схемах для управления устройствами «lab-on-a-chip» (лаборатория на чипе), и это все еще активная область исследований. Пневматическая логика также привлекла интерес как потенциально недорогой и неэлектронный метод управления пневматическими системами, такими как мягкие роботы, биомедицинские устройства и тактильные носимые устройства. Для создания пневматического детектора ошибок ученые использовали монолитные мембранные клапаны.

Теория разработки: биты четности для обнаружения ошибок


Существует множество различных методов обнаружения ошибок в вычислительных и коммуникационных системах. В этой работе ученые использовали биты четности для обнаружения ошибок. Этот фундаментальный, но эффективный метод обнаружения ошибок использовался в электронных вычислениях по крайней мере с начала 1950-х годов. При обнаружении ошибок на основе битов четности текущие значения (1 или 0) нескольких двоичных битов используются для вычисления значения бита четности. Например, рассмотрим три двоичных бита со значениями 1, 1, 0. Чтобы вычислить бит четности, соответствующий значениям этих трех битов, можно использовать любой из этих (математически эквивалентных) методов:

  • Рассчитать логическое исключающее OR (ИЛИ) (или XOR) всех битов: 1 XOR 1 XOR 0 = 0;
  • Рассчитать сумму битов по модулю 2: 1 + 1 + 0 = 2 (mod 2) = 0;
  • Рассчитать количество единиц в значениях битов; бит четности равен 1, если количество — нечетное число, и 0, если количество — четное число. Поскольку в 1, 1, 0 есть две единицы, а два — четное число, бит четности равен 0.

Это ожидаемое значение бита четности затем передается вместе с исходными битами какому-либо получателю, и получатель повторяет вычисление бита четности, используя значения полученных битов. Если значения битов не изменились во время передачи, то значение бита четности также не изменится, и получатель может быть уверен, что во время передачи не произошло никаких однобитовых ошибок. Однако, если один бит изменил состояние во время передачи (например, если 1, 1, 0 было получено как 1, 0, 0), то бит четности, вычисленный получателем, также изменится (в этом случае с 0 на 1) и больше не будет соответствовать ожидаемому биту четности. Получатель будет знать, что произошла ошибка и что одно из полученных значений бита неверно.

Результаты исследования


Пневматический логический детектор ошибок использует воздух, протекающий через сеть из 21 монолитного мембранного клапана, для вычисления значения бита четности, соответствующего состояниям трех пневматических управляющих сигналов. Если вычисленные и ожидаемые биты четности различаются в любой точке, то обнаружена ошибка (один из управляющих сигналов находится в неправильном состоянии). Когда это происходит, пневматический детектор ошибок автоматически выдает пневматический сигнал, который может быть использован для оповещения пользователя, выключения системы или выполнения других действий. В качестве доказательства концепции ученые использовали пневматический детектор ошибок для автоматического обнаружения различных типов сбоев в работе важного медицинского устройства, а именно устройства прерывистой пневматической компрессии (IPC от intermittent pneumatic compression), которое предотвращает образование опасных для жизни тромбов в ногах пользователя. Когда происходит сбой (например, утечка воздуха или заблокированная воздушная линия), который может поставить под угрозу эффективность устройства IPC и, возможно, подвергнуть опасности пациента, пневматический детектор ошибок обнаруживает эту ошибку и предупреждает пользователя или находящихся поблизости медицинских работников свистком.


Изображение №1

На схеме выше представлен обзор использования пневматического детектора ошибок. Верхняя часть схемы представляет собой типичную систему управления пневматическими устройствами: электронное управляющее оборудование управляет электромагнитными клапанами, которые, в свою очередь, подают давление воздуха или вакуум на контролируемое устройство. Более конкретно, программа, запущенная на электронном оборудовании, управляет состояниями — либо 1 (истина), либо 0 (ложь) — каждого из нескольких битов управления (в этом примере на схеме биты управления 1, 2 и 3). Электромагнитные клапаны эффективно преобразуют значения битов управления в пневматические сигналы: значение бита управления 1 создает вакуум на этой линии управления, а значение 0 создает атмосферное давление. Наконец, эти пневматические сигналы подключаются через трубку к контролируемой системе, такой как медицинское устройство или робот. Эта установка является типичной для многих систем пневматического управления, которые переключают несколько независимых линий пневматического управления между двумя различными состояниями давления.

Чтобы добавить пневматический детектор ошибок к обычной системе управления, показанной в верхней части изображения №1, необходимо внести несколько небольших изменений. Во-первых, компьютерная программа, работающая на электронном оборудовании управления, модифицируется для вычисления значения бита четности, соответствующего значениям битов управления 1, 2 и 3 на каждом шаге во время последовательности работы устройства. Во-вторых, дополнительный соленоидный клапан используется для преобразования бита четности, вычисленного электронным оборудованием, в его пневматическое представление, снова используя вакуум для 1 и атмосферное давление для 0. В-третьих, пневматическое устройство детектора ошибок подключается к пневматическим битам управления 1, 2 и 3 и пневматическому биту четности с помощью трубки. Соединения пневматических битов управления выполнены с использованием тройниковых соединений, так что пневматические сигналы управления достигают как пневматического детектора ошибок, так и контролируемой системы. Наконец, пять дополнительных соленоидных клапанов используются для обеспечения вакуума и атмосферного давления, необходимых для работы и сброса детектора ошибок.

После подключения к пневматической системе управления пневматический детектор ошибок использует монолитные мембранные клапаны и текущий воздух для повторения вычисления бита четности, первоначально выполненного электронным оборудованием управления, и сравнивает полученное значение с вычисленным. Если два бита четности совпадают (оба равны 0 или оба равны 1), то значения для контрольных битов 1, 2 и 3 успешно прошли от компьютера к контролируемой системе — ошибки не произошло, и детектор ошибок выдает 0 (атмосферное давление). Однако, если два бита четности не совпадают (один равен 0, а другой равен 1), то один из пневматических сигналов отличается от того, что предполагал компьютер — произошла ошибка. Детектор ошибок выдает 1 (вакуум), что в этом примере вызывает срабатывание свистка, предупреждающего находящихся поблизости о том, что произошла ошибка. Таким образом, пневматический детектор ошибок может дать пневматически управляемым системам возможность обнаруживать и реагировать на ошибки без необходимости в электронном сенсорном оборудовании.


Изображение №2

Пневматический детектор ошибок состоит из трех слоев: полидиметилсилоксановой (PDMS от polydimethylsiloxane) силиконовой резиновой мембраны, зажатой между двумя гравированными акриловыми пластиковыми листами. Монолитные мембранные клапаны образуются везде, где зазор в гравированном канале в одном акриловом слое расположен непосредственно напротив мембраны PDMS из гравированной камеры в другом акриловом слое (2A и 2B). Поперечное сечение клапана (2C) показывает, что эти клапаны обычно закрыты; мембрана PDMS обычно упирается в зазор канала и останавливает поток воздуха через зазор. Когда в камеру подается вакуум, мембрана PDMS втягивается в камеру и от зазора канала. Это создает путь для потока воздуха через зазор, и клапан открывается. В более общем смысле, для клапана с давлениями P1 и P2 на двух соединениях с клапанным каналом и давлением PC в камере:

  • Если PC ≥ P1 и PC ≥ P2, то клапан будет закрыт;
  • Если PC < P1 или PC < P2, то клапан будет открыт; воздух будет течь из канала 1 в канал 2, пока P1 > P2, или из канала 2 в канал 1, пока P2 > P1.


Изображение №3

Несколько монолитных мембранных клапанов могут быть соединены для формирования более сложных пневматических логических вентилей. Например, два клапана последовательно образуют логический вентиль AND (И), как показано на 3A: воздух может проходить через клапаны, только если оба клапана получают вакуум (т. е. если бит 1 = 1 AND бит 2 = 1). Аналогично, два клапана параллельно образуют логический вентиль OR (ИЛИ), показанный на 3B: воздух может проходить через вентиль, если один из клапанов (или оба) получает вакуум (т. е. если бит 1 = 1 OR бит 1 = 1). Логический вентиль NOT (НЕ; ) формируется путем соединения вентиляционного отверстия (просверленного отверстия в атмосферу) с источником вакуума. Когда клапан получает вакуум, клапан открывается, и воздух под атмосферным давлением достигает выхода вентиля, но когда клапан получает атмосферное давление, клапан остается закрытым, и вакуум достигает выхода. Таким образом, выход всегда противоположен входу (другими словами, если бит 1 = 1, то выход равен 0, а если бит 1 = 0, то выход равен 1), как и ожидается от логического оператора NOT или отрицания.

Эти базовые пневматические логические вентили, в свою очередь, могут быть объединены для создания более сложных логических схем. На 3D показан вентиль, который необходим для работы детектора ошибок, вентиль XOR. Вентиль состоит из двух наборов вентилей AND и NOT (выделены розовым цветом) и вентиля OR (выделены желтым цветом). Когда бит 1 и бит 2 оба равны 0 (атмосферное давление), клапаны A, B, C и D остаются закрытыми, а клапаны E и F остаются под атмосферным давлением (закрытыми); следовательно, выход вентиля остается под атмосферным давлением (0). Аналогично, когда бит 1 и бит 2 оба равны 1 (вакуум), клапаны A, B, C и D открываются, вакуум выпускается через вентиляционные отверстия 1 и 2, а клапаны E и F остаются под атмосферным давлением (закрытыми), а выход вентиля снова остается под атмосферным давлением (0). Однако, когда бит 1 и бит 2 различны (например, бит 1 равен 1 или вакууму, а бит 2 равен 0 или давлению), вакуум достигает одного из входов вентиля OR (в этом случае клапан A получает вакуум и открывается, в то время как клапан C остается под атмосферным давлением и остается закрытым, а вакуум достигает клапана E, который открывается). Это, в свою очередь, позволяет вакууму достичь выхода вентиля (1). Таким образом, выход вентиля XOR равен 1, если бит 1 и бит 2 различны, и 0, если бит 1 и бит 2 одинаковы, как и ожидается с вентилем XOR.

Наконец, три вентиля XOR (каждый выделен синим цветом) объединяются вместе, образуя пневматический детектор ошибок, показанный на 3E. Эта пневматическая схема состоит из 21 клапана; 18 из них используются в 3 вентилях XOR (клапаны A–F, G–L и M–R), а 3 дополнительных клапана (S, T и U) используются для сброса захваченного вакуума для сброса устройства между операциями. Устройство имеет три входа контрольных битов (биты 1, 2 и 3), один вход ожидаемого бита четности, один выход бита ошибки, три входа «силового вакуума», которые получают вакуум для питания устройства, и два входа «сброса», которые используются для открытия клапанов S, T и U для сброса захваченного вакуума. Устройство также содержит пять «сквозных отверстий» (отверстий, пробитых в мембране PDMS перед сборкой устройства), чтобы пневматические сигналы проходили из одного слоя в другой, и девять просверленных отверстий для впуска воздуха под атмосферным давлением в устройство.


Изображение №4

Выше показано содержимое (вакуум или атмосферное давление) каждой функции внутри устройства во время трех образцов вычислений. Таблица №1 показывает ожидаемое значение выходного бита ошибки для каждой из 16 различных комбинаций значений для контрольного бита 1, контрольного бита 2, контрольного бита 3 и ожидаемого бита четности. Значения в верхней половине таблицы соответствуют «правильным» ожидаемым битам четности (ошибки не обнаружены), а значения в нижней половине соответствуют «неправильным» битам четности (ошибки обнаружены).


Таблица №1

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


Изображение №5

Выше показано давление, измеренное на каждом из четырех входов и одном выходе во время типичного эксперимента. Единицы и нули накладываются на измерения давления, чтобы указать, соответствует ли измеренное давление 1 (вакуум) или 0 (атмосферное давление). В левой половине схемы (соответствующей верхней половине таблицы №1) значение ожидаемого входа бита четности намеренно всегда соответствует предоставленным значениям для входов контрольных битов, а давление, измеренное на выходе ошибки, остается на уровне или близком к атмосферному давлению (0), что указывает на отсутствие ошибки. Однако в правой половине схемы (соответствующей нижней половине таблицы №1) значение ожидаемого бита четности намеренно всегда неверно, а давление, измеренное на выходе ошибки, всегда равно вакууму. Это показывает, что каждая смоделированная ошибка была успешно обнаружена. Шаблон единиц и нулей, измеренный на схеме выше, соответствует ожидаемому шаблону в таблице №1, тем самым подтверждая, что пневматический детектор ошибок функционирует правильно. Эксперимент был повторен в общей сложности пять раз. Ученые каждой входной комбинации (10 с и 5 с; пять повторений каждого). Все 15 из этих запусков дали правильные значения для всех битов с минимальными различиями между измеренными давлениями в ходе запусков.


Изображение №6

Чтобы проверить пневматический детектор ошибок в реальном приложении, ученые использовали его для мониторинга модельного медицинского устройства IPC, обычно используемого для предотвращения образования тромбов в ногах пациентов. Данное модельное устройство IPC, показанное на 6A, состоит из трех гибких пластиковых сильфонов, соединенных пряжками, напечатанными на 3D-принтере, с нейлоновыми ремнями, которые оборачиваются вокруг имитируемой ноги. Когда вакуум подается на один из сильфонов устройства IPC, сильфон сжимается и сжимает соответствующую область на имитируемой ноге.

Программное обеспечение, написанное на языке управления клапанами OCW, устанавливает значения трех управляющих битов, которые, в свою очередь, управляют тремя электромагнитными клапанами, которые подают вакуум (когда управляющий бит равен 1) или атмосферное давление (когда управляющий бит равен 0) на три сильфона IPC. Программа сжимает сильфоны по одному за раз в последовательности: сначала устанавливая бит управления 1 на 1 (6B; сжатые сильфоны обозначены с помощью белой пунктирной линии), затем устанавливая бит управления 2 на 1 (6C), а затем устанавливая бит управления 3 на 1 (6D). Этот шаблон повторяется, создавая перистальтическое сжимающее движение, которое призвано стимулировать кровоток в ноге.

Та же компьютерная программа также вычисляет значение бита четности, соответствующее значениям трех битов управления на каждом шаге в шаблоне срабатывания, и дополнительный соленоидный клапан выводит пневматическую версию этого ожидаемого бита четности (1 = вакуум и 0 = атмосферное давление) всякий раз, когда требуется проверка ошибок. Компьютерная программа также управляет тремя соленоидными клапанами, которые обеспечивают вакуум для питания детектора ошибок, и двумя соленоидными клапанами, которые сбрасывают детектор ошибок после работы. Дополнительный свободный сильфон (обозначенный как «ожидаемый бит четности» (expected parity bit) на изображении №6) был добавлен к пневматической линии ожидаемого бита четности, чтобы состояние этой линии можно было визуализировать во время работы (сокращенный сильфон = 1 и расширенный сильфон = 0). Три пневматических сигнала бита управления и один пневматический сигнал ожидаемого бита четности подключены к пневматическому детектору ошибок, который повторяет расчет бита четности по трем сигналам управления и сравнивает результат с ожидаемым битом четности. Если два значения не совпадают, то детектор ошибок устанавливает свой выход ошибки на 1 (вакуум).

В этой демонстрации цель состояла в том, чтобы пневматический детектор ошибок предупреждал пользователя свистком при обнаружении ошибки. Поскольку большинство свистков используют положительное давление (а не вакуум) для генерации звука, нужен был простой метод преобразования вакуума на выходе ошибки в положительное давление для питания свистка. Ученые добились этого, используя пневматический регулятор уровня, разработанный в рамках другого проекта. Этот регулятор уровня состоит из небольшого гибкого пластикового сильфона, установленного в пластиковой раме, напечатанной на 3D-принтере. Движение сильфона механически передается в точку защемления, через которую проходит гибкая трубка, подключенная к источнику сжатого воздуха. Когда прикрепленный детектор ошибок не обнаруживает ошибку, сильфон регулятора уровня находится под атмосферным давлением и полностью вытянут, удерживая точку защемления закрытой и блокируя поток сжатого воздуха в трубке. Однако при обнаружении ошибки сильфон регулятора уровня получает вакуум от детектора ошибок и сжимается. Это открывает точку защемления и позволяет сжатому воздуху проходить через трубку в прикрепленный свисток, который издает звук и предупреждает пользователя о проблеме.

Ученые продемонстрировали обнаружение ошибок в двух различных режимах работы устройства IPC. В первом режиме пневматический детектор ошибок срабатывал после каждого изменения значений контрольных битов 1, 2 и 3. Этот режим обеспечивает непрерывную проверку ошибок (обнаружение ошибки как можно раньше), но это происходит за счет общей скорости (пневматическому детектору ошибок требуется около 1 секунды для срабатывания и около 5 секунд для сброса после срабатывания, поэтому в этом режиме контрольные биты могут обновляться только каждые несколько секунд). В течение нескольких минут нормальной работы (повторное циклическое прохождение состояний, показанных на 6B, 6C и 6D, срабатывание пневматического детектора ошибок после каждого шага) выход ошибки оставался на уровне атмосферного давления, а свисток оставался неактивным; это ожидается при нормальной работе без ошибок.

Затем, как показано на 6E, ученые использовали нож, чтобы проколоть сильфон IPC, подключенный к контрольному биту 2. В следующий раз, когда система попыталась сжать поврежденный сильфон, установив контрольный бит 2 на 1 (вакуум) на 6F, вакуум был выпущен через прокол в сильфоне, поэтому детектор ошибок обнаружил, что контрольный бит 2 был равен 0 (атмосферное давление). Затем детектор ошибок использовал это значение вместе с контрольным битом 1 (0) и контрольным битом 3 (0) для вычисления бита четности 0 XOR 0 XOR 0 = 0. Это вычисленное значение отличалось от ожидаемого значения входного бита четности (1), что заставило детектор ошибок вывести 1 (вакуум), чтобы указать на ошибку. Наконец, пневматический преобразователь уровня преобразовал этот сигнал в положительное давление, что заставило свисток сработать (6F). Свисток продолжал звучать каждый раз, когда ошибка была обнаружена снова, пока утечка не была устранена. Таким образом, детектор ошибок успешно обнаружил повреждение устройства IPC всего через несколько секунд после его возникновения и уведомлял о проблеме.

Во втором режиме работы устройство IPC чередовалось между двумя фазами: фазой работы, во время которой биты управления могут изменяться на высоких скоростях без активации пневматического детектора ошибок, и фазой проверки, во время которой пневматический детектор ошибок проверяет каждый бит управления по очереди. Этот режим работы предлагает периоды гораздо более быстрой работы (биты управления могут обновляться несколько раз в секунду во время фазы работы) за счет частоты проверки ошибок (ошибки обнаруживаются только во время фазы проверки). Устройство IPC чередовалось между 22.5 секундами в фазе работы (во время которой сильфон приводился в действие каждые 750 мс) и 39 секундами в фазе проверки (во время которой система применяла вакуум к битам управления по одному за раз, в то время как пневматический детектор ошибок проверял наличие ошибок). Когда устройство IPC было повреждено во время фазы запуска из-за того, что ножницами была перерезана трубка, ведущая к сильфону контрольного бита 3, пневматический детектор ошибок успешно обнаружил это повреждение и активировал свисток 45 секунд спустя во время следующей фазы проверки системы. Сигнал ошибки пневматического детектора ошибок автоматически сбрасывается после исправления ошибки. Когда ученые отремонтировали перерезанную трубку, свисток снова затих на последующих фазах проверки.

Для более детального ознакомления с нюансами исследования рекомендую заглянуть в доклад ученых и дополнительные материалы к нему.

Эпилог


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

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

Пневматическая схема заменяет вышеуказанную электроникой пневматикой, но сохраняет математическую логику работы. Состояния каждого логического вентиля, обладающие тем или иным значением бита, дополняются еще одной важной информацией — битом четности. Этот бит используется для проверки наличия или отсутствия ошибок в схеме, сравнивая рассчитанные и полученные данные. Компьютер с пневматическим приводом использует разницу в давлении воздуха, протекающего через 21 крошечный клапан, для подсчета количества единиц и нулей. Если при подсчете не было ошибок, то установленный в систему обычный свисток не срабатывает. Если же свисток начинает свистеть, то это признак ошибки, т. е. поломки какой-то из частей пневматической системы (например, как во время опытов, одна из трубок IPC была разрезана).

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

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

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Maincubes Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Теги:
Хабы:
Всего голосов 12: ↑12 и ↓0+20
Комментарии2

Публикации

Информация

Сайт
ua-hosting.company
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Латвия
Представитель
HostingManager