Системы термостабилизации грунта: опыт и перспективы

54. человек и общество
                                читать 0 мин.

Подключение DS18B20 к Arduino

DS18B20 является цифровым датчиком. Цифровые датчики передают значение измеряемой температуры в виде определенного двоичного кода, который поступает на цифровые или аналоговые пины ардуино и затем декодируется. Коды могут быть самыми разными, ds18b20 работает по протоколу данных 1-Wire. Мы не будем вдаваться в подробности этого цифрового протокола, укажем лишь необходимый минимум для понимания принципов взаимодействия.

Обмен информацией в 1-Wire происходит благодаря следующим операциям:

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

Для работы с датчиком нам понадобится программное обеспечение:

  • Arduino IDE;
  • Библиотека OneWire, если используется несколько датчиков на шине, можно использовать библиотеку DallasTemperature. Она будет работать поверх OneWire.

Из оборудования понадобятся:

  • Один или несколько датчиков DS18B20;
  • Микроконтроллер Ардуино;
  • Коннекторы;
  • Резистор на 4,7 кОм (в случае подключения одного датчика пойдет резистор номиналом от 4 до 10K);
  • Монтажная плата;
  • USB-кабель для подключения к компьютеру.

К плате Ардуино UNO датчик подключается просто: GND с термодатчика присоединяется к GND Ардуино, Vdd подключается к 5V, Data – к любому цифровому пину.

Простейшая схема подключения цифрового датчика DS18B20 представлена на рисунке.

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

Описание программы DS1821.exe

Ниже приведен вид  главного окна данной программы

Два окошка для указания значения TH: одно позволяет вписать значение температуры в градусах Цельсия, а второе в шестнадцатеричной системе.
Так же два идентичных окошка для указания значения TL.
Кнопка 1-Wire обеспечивает переход DS1821 в однопроводной режим из состояния термостата.
Кнопка Thermostat обеспечивает запись указанных значений порогов и переключение DS1821 в состояние термостата.
Для активации режима измерения температуры предназначена кнопка Start. Что бы воспользоваться данный режим, необходимо перевести DS1821 в однопроводный режим. Преобразования происходят периодически, а замеренная величина отображается в поле температуры.
Выход из программы осуществляется кнопкой Exit.
Кроме этого, окно вверху содержит меню из трех пунктов: Port, Utilites и Help.
Пункт Port разрешает выбрать один из четырех COM портов

Необходимо обратить внимание, что в списке будет активны только имеющиеся  COM-порта и, причем не занятые в данный момент. При инициализации порта, программа проверяет наличие подключенного программатора DS1821. В случае отсутствия оного, программа выдает ошибку «Device is not found on COM2»
Пункт меню Recall NVM  разрешает прочесть из DS1821 записанные в нем значения TH и TL. Это возможно только когда термостатный датчик находится однопроводном режиме.

Это возможно только когда термостатный датчик находится однопроводном режиме.

Для записи или изменения значений порогов DS1821, находящегося уже в состоянии термостата, необходимо всего лишь записать в соответствующие поля новые величины и нажать кнопку Thermostat. После нажатия на кнопку, датчик на период записи будет переведен  в однопроводной режим передачи данных, после чего происходит запись введенных значений. После записи необходимо обесточить датчик, и после включения он будет функционировать как термостат уже с новыми порогами TH и TL.

Данная программа не имеет прямое программирование бита полярности выхода POL. Управление производится значениями TH и TL. Полярность выхода датчика можно менять следующим образом:

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

Помимо термометра термостата DS1821 имеются микросхемы термометров, самой известной из которых на сегодняшний день является DS18S20, заменившая старую DS1820. Она обладает меньшей дискретностью отображения температуры 0,5°C, и помимо этого, располагает множеством дополнительных функций. Тем не менее, датчик температуры  DS1820 не может работать самостоятельно в режиме термостата.

Скачать программы DS1821.exe и DS1820.exe (344,3 KiB, скачано: 4 693)

Какие потребности есть у человека

Человек — один из представителей животного мира, с присущими другим видам инстинктами и нуждами. В тоже время мы обладаем более высоким интеллектом, чувствами, волевыми качествами. Такое сочетание обуславливает наличие потребностей двух уровней: базового и дополнительного (основного и вторичного).

Основные потребности

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

Физиологические Экзистенциональные
Дыхание, питание, жажда, сон, отдых, продолжение рода, жилище. Комфорт, социальная и правовая безопасность, наличие занятости и т.д.

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

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

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

Часто возникают вопросы о безопасности как необходимости для существования. Человек всегда испытывал опасность от явлений окружающего мира или других людей. Цунами, сход ледников, нападение диких зверей или других племен — все это заставляло человека защищаться или убегать. Со временем были сформированы целые институты, которые должны защитить отдельного индивида от внешних вторжений (армия, полиция, МЧС). Именно поэтому безопасность является первичной потребностью, мы должны понимать, что наша жизнь и имущество находятся под охраной, защищены.

Потребности экзистенции (существования) появляются по мере взросления индивида и определения им своего места в социуме.

Второстепенные потребности

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

В числе вторичных потребностей в теории выделяют следующие:

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

Таким образом, первичные потребности являются врожденными и обусловлены физиологией, а вторичные носят психологический характер и развиваются в течение всей жизни.

Библиотека OneWire для работы с DS18B20

DS18B20 использует для обмена информацией с ардуино протокол 1-Wire, для которого уже написана отличная библиотека. Можно и нужно использовать ее, чтобы не реализовывать все функции вручную. Скачать OneWire можно здесь. Для установки библиотеки скачайте архив, распакуйте в папку library вашего каталога Arduino. Подключается библиотека с помощью команды #include

Основные команды библиотеки OneWire:

  • search(addressArray) – ищет температурный датчик, при нахождении в массив addressArray записывается его код, в ином случае – false.
  • reset_search() – производится поиск на первом приборе.
  • reset() – выполнение сброса шины перед тем, как связаться с устройством.
  • select(addressArray) – выбирается устройство после операции сброса, записывается его ROM код.
  • write(byte) – производится запись байта информации на устройство.
  • write(byte, 1) – аналогично write(byte), но в режиме паразитного питания.
  • read() – чтение байта информации с устройства.
  • crc8(dataArray, length) – вычисление CRC кода. dataArray – выбранный массив, length – длина кода.

Важно правильно настроить режим питания в скетче. Для паразитного питания в строке 65 нужно записать ds.write(0x44, 1);. Для внешнего питания в строке 65 должно быть записано ds.write(0x44)

Для внешнего питания в строке 65 должно быть записано ds.write(0x44).

Write позволяет передать команду на термодатчик. Основные команды, подаваемые в виде битов:

  • 0x44 – измерить температуру, записать полученное значение в SRAM.
  • 0x4E – запись 3 байта в третий, четвертый и пятый байты SRAM.
  • 0xBE – последовательное считывание 9 байт SRAM.
  • 0х48 – копирование третьего и четвертого байтов SRAM в EEPROM.
  • 0xB8 – копирование информации из EEPROM в третий и четвертый байты SRAM.
  • 0xB4 – возвращает тип питания (0 – паразитное, 1 – внешнее).

Термометр термостат DS1821. Описание, примеры применения

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

В наше время эта задача упрощается. Если необходимо поддерживать температуру в рамках от -55 до +125°C и точность контроля ее достаточно в пределах одного градуса, то с поставленной задачей может с легкостью справится термометр – термостат DS1821.

Термометр DS1821

В этом режиме микросхема DS1821 осуществляет контроль над температурой от -55 до +125°C. Особенностью данного термометра является-то, что DS1821 откалиброван производителем с точностью ±1°C в рамках температурного диапазона от 0 до +85°C, и ±2°C в остальном диапазоне.

Обрабатывание показателей выполняется при помощи 1-Wire интерфейса фирмы DALLAS или иначе он еще имеет название однопроводной. Значение измеряемой температуры представляет собой 8-и битное число. К примеру, +120°C = 78h; +20°C = 14h; 0°C = 00h и так далее.

Термостат DS1821

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

Назначение регистров микросхемы DS1821 аналогичны регистрам температурного датчика DS1621. Когда измеряемая температура становится выше порога TH, выход термостата принимает активное состояние. Возврат в исходное состояние выход примет, когда фактическая температура опустится ниже TL. Выход термостата организован в виде открытого стока, с максимальным протекающим током до 4 мА.

Термометр – термостат DS1821 может быть применен в различных радиоэлектронных устройствах. Вот некоторые примеры:

Принципиальная схема несложного термостата

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

Для предотвращения помех, схема управления нагрузкой построена так, что транзистор VT1 запирается в тот период сетевого напряжения, когда оно равно нулю, подавая тем самым напряжение на затвор полевого транзистора VT2. Транзистор VT2 включает оптосимистор, который в свою очередь открывает смистор VS1 управляющий нагрузкой.

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

Принципиальная схема несложной противопожарной сигнализации

Выход датчика является выходом с открытым стоком, который выдерживает протекающий через него ток до 4 мА. При достижении фактической температуры любого из трех датчиков уровня TH, на резисторе R1 возникает напряжение, которое в свою очередь открывает тиристор VS1 и включается реле K1. Контакты реле включают какое-либо исполнительное устройство.

Принципиальная схема сигнализатора перегрева двигателя автомобиля

Для снижения помех возникающих от двигателя применяется фильтр VD1, C1. В сигнализаторе можно применить мигающий светодиод красного цвета.

Схема программатора для DS1821

Промышленно микросхема выпускается настроенная как термодатчик. Для перевода её в режим термостата и задания температурнных порогов (нижнего — TL и верхнего ТН) необходим персональный компьютер с портом СОМ, в который микросхема подключается при помощи переходника, схема которого показана на рисунке 2.

Требуется программа ds1821.exe — Скачать (446 КБ).

Схема переходника-программатора приводится в закладке «Adapter Curcut» этой программы. Однако, в схеме приводимой в программе (рис. 3.) используются полевые транзисторы, которых у меня не оказалось, и схему программатора собрал из того что было (рис.2).

Такая тоже работает, проверено!

Рис. 2. Принципиальная схема программатора для настройки термодатчика DS1821 через com-порт.

Программатор на рисунке 2 и тот, что по схеме, предложенной в программе, рассчитан на работу с 9-выводным СОМ-портом персонального компьютера. Но, сейчас данный порт уже редко используется, и в новых компьютерах его может и не быть, так как все уже давно перешло на USB.

В этом случае нужно в любом магазине компьютерных принадлежностей приобрести адаптер-переходник COM-USB, и подключать программатор через него. После того как программа установлена и переходник сделан нужно чтобы микросхема находилась в режиме термодатчика. Если она новая она в таком режиме и будет. Если нет, — нужно в главном окошке программы (рис. 4) установить режим термодатчика (1-Wire). Затем,

в строке ТН набрать верхнюю температуру, а в строке TL — нижнюю (значения в градусах по Цельсию). Затем «Termostat» и «Exit». Теперь микросхема все «запомнила» и будет управлять нагрузкой согласно этим установкам. Если нужно измерять температуру и видеть показания на экране монитора, — снова подключаем микросхему к СОМ через переходник и переводим её в режим датчика «1-Wire», затем нажимаем «Start» и видим значение температуры в строке снизу.

Рис. 3. Принципиальная схема программатора из программы ds1821.

Использовать более доступную микросхему DS18S20, как это ошибочно утверждается в некоторых источниках, невозможно, так как DS18S20 не имеет функции работы в качестве термостата. Поэтому подходит только DS1821. Микросхема DS18S20 работает только в качестве датчика, — для передачи данных о температуре на микроконтроллер или персональный компьютер.

Рис. 4. Скриншот программы ds1821.

Принимая во внимание тот факт, что компьютер и термостат могут быть расположены (установлены) достаточно далеко друг от друга, в конструкции термостата предусмотрена возможность легкого снятия микросхемы (датчика), подключаемой через разъем Х1 (рис. 1) чтобы её можно было отнести к компьютеру, подключить через переходник-программатор в СОМ и изменить пороги переключения, когда это потребуется

Двухканальный регулятор температуры

Двухканальный регулятор температуры TER-4. Двухканальный терморегулятор для контроля и регулировки температуры в диапазоне от -40 ..

+110 °C (высокая точность установки) имеет 10 поддиапазонов для каждого канала 2 входа для датчиков типа NTC 12 kΩ/ 25 °C возможность выбора режима работы “независимый” или “зависимый” (DIP переключателем) гальваническая развязка датчика от питания возможность настройки функции “нагрев”/”охлаждение”(DIP переключателем) выбор гистерзиса 0.5 или 2.

5 K длина кабеля 3м, 6 м или 12 м возможно установки датчика на клеммник -для контроля температуры щита и окружающей среды питание AC 230 V или AC/DC 24 V переключающий контакт для каждого канала 1x 16 A / 250 V AC1 светодиодная сигнализация состояние выходов, состояние неисправности датчика

исполнение 3-модуля,крепление на DIN рейке 35 мм.

Работа двухканального терморегулятора

Терморегулятор двухканальный с выносными датчиками для широкого применения, практически это два терморегулятора в одном корпусе. Регулятор температуры имеет два входа для датчиков, два выхода и раздельная регулировка температуры.

Имеется возможность применять терморегулятор в двух вариантах: – два самостоятельных терморегулятора (возможность задания диапазона температур) – возможность настроить работу в зависимости одного терморегулятора от другого (пример терморегулятор 1 блокирует работу 2 терморегулятора) Для установки температуры с помощью 10- позиционного переключателя выбирается соответствующий диапазон, возможность точность установки температуры 1°C Терморегулятор размещается в электрощите, а внешние датчики регистрирующие температуру необходимо расположить в зоне контроля: помещения,предмета или жидкости. Максимальная длина кабеля поставляемого с датчиком 12 м. Устройство оснащено встроенной индикацией неисправности датчиков, т.о. при неисправности или замыкании датчика начинает мигать светодиод красного цвета. Настраиваемый гистерезис позволяет удобно регулировать ширину интервала, а следовательно определять чувствительность срабатывания терморегулятора. Срабатывание терморегулятора изменяется на величину установленного гистерезиса, это необходимо учитывать при выборе температуры срабатывания и величиной гистерезиса. При практическом применении необходимо учитывать, что гистерезис изменяется на величину разниц температур между оболочкой датчика и самим датчиком.

Терморегулятор может работать и с одним датчиком, при этом на вход другого датчика установить резистор 10 к.

Технические характеристики двухканального терморегулятора

Двухканальный терморегулятор TER-4
Клеммы питания: A1-A2
Напряжение питания: AC 230 V или AC/DC 24 V,(гальванически изолированы)
Потребляемая мощность: 4.5 VA
Клеммы для подключения датчика: T1 – T1, T2 – T2
Диапазоны температуры:(выбор переключателем независимо для каждого канала ) -40.. -25 °C -25.. -10 °C -10.. +5 °C +5.. +20 °C +20.. +35 °C +35.. +50 °C +50.. +65 °C +65.. +80 °C +80.. +95 °C+95.. +110 °C
Гистерезис (чуствительность):для каждого канала настраиваемая в диапазоне 0.5 или 2.5 K Диаграмма работы терморегулятора
Датчик: термистор NTC 12 kΩ/ 25 °C Un – напряжение питания T1 – настроенная температура термостата 1 T2 – настроенная температура термостата 2 H1 – настроенная температура термостата 1 H2 – настроенная температура термостата 2 15-18 выходной контакт термостата 1 25-28 выходной контакт термостата 2 При переключении DIP 4 в позицию ON действуют термостаты таким образом, что условием включения выхода 15-18 является включение обоих отдельных термостатов (работают серийно). Таким образом,можно использовать,напр. первый термостат как рабочий ,а второй-как аварийный.Выход 25-28 работает нормально по Т2.
Поддиапазон: 0-15 °C, в пределах выбранного диапазона
Точность установки: 5 %(механич.)
Количество и тип контактов: 1пк (AgNi)16A / AC1
Коммутируемое напряжение: 250 V AC1 / 24 V DC
Рабочая температура: – 20 .. +55 °C
Температура хранения: – 30 .. +70 °C
Рабочее положение: произвольное
Категория перенапряжения: III Расположение органов регулировки терморегулятора
Подробное техническое описание регулятора TER-4130 Kb

Продолжение цифровых приборов на диодных индикаторах. Часть 10. Двуканальный термометр — бортжурнал Лада 2107 Сделано в СССР 1985 года на DRIVE2

На просторах интернета в поисках двухканального термометра наткнулся на устройство Александра Alex_EXE. Когда то я уже повторил его устройство — цифровой вольтметр по этому смело взялся за термометр.Форм фактор у меня стандартный — корпус прибора 2106.Для начала приведу схему.

Схема автора устройства

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

Совет тем кто захочет повторить. Если по контуру наклейки пройтись острым канцелярским ножом то при обламывании коробка будет трескаться именно по лини надреза, а не как ей вздумается

Дальше более подробно остановлюсь на сборке прибора.Чтобы плата на соприкасалось с корпусрм прибора внизу проклеиваю полоску шумоизоляции, или подобного материала. Исходя из габаритов платы ширина полоски примерно 5-6мм.

Так же изолентой проклеил боковую стенку прибора по периметру.Стекло тонирую витражным оракалом 8300 (в конкретном примере цвет 073) чуть ниже увидите для чегоПосле подготовки плата вставляется в корпус прибора.

Ну и несколько фотографий готового собранного прибора.Без подсветки

и с подсветкой пиктограмм.

Что касается прошивки устройства то ув. Авлександр (Alex_EXE) подправил ее под мои нужды. А именно вставил анимацию как в приборе Термостат-термометр и изменил индикацию d-1, d-2 (датчик один и датчик два) которая была в его версии прибора, на нужные мне In — внутренняя температура салона и Out — температура за бортом.

Алгоритм работы индикации, 2 секунды название датчика и 6 секунд показание температуры. По такому алгоритму каждый датчик опрашивается раз в 12 секунд, так как температура салона и окружающей среди не критична к мгновенному определению как например температура двигателя то данный алгоритм для меня вполне удобен и практичен.

Как говорится лучше один раз увидеть чем 100 раз услышать. Так что по уже установившейся традиции привожу видео обзор работы устройства.

V УТОЧНЯЕМ ПОТРЕБНОСТИ ЗАКАЗЧИКА

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

1. ЗАДЕЙСТВУЕМ ПОЛЬЗОВАТЕЛЬСКИЕ ИСТОРИИ ДЛЯ ОПРЕДЕЛЕНИЯ ПОТРЕБНОСТЕЙ ЗАКАЗЧИКА

US01. Описать пользовательскую историю на стикере. Сформулировать Цель процесса.
Цель: Зафиксировать бизнес процесс, подлежащий автоматизации, в доступной для обсуждения форме.
US02. Обсудить пользовательскую историю с участниками проекта. При необходимости внести изменения.
Цель: Ознакомить команду проекта со сценарием бизнес процесса. Согласовать его.
US03. Опубликовать в системе, согласованные Пользовательские истории.
Цель: Зафиксировать в системе перечень утвержденных Бизнес-требований, для их учета и обработки.
US04. На основании Пользовательских историй, определить основных заинтересованных лиц проекта.
Цель: Зафиксировать в системе перечень участников и заинтересованных лиц проекта.
US05. На основании Пользовательских историй, определить основные функциональные требования к разрабатываемой системе.
Цель: Зафиксировать в системе перечень бизнес процессов, подлежащих автоматизации.
US06. На основании подготовленного перечня автоматизируемых процессов, определить их приоритетность и очередность.
Цель: Определить текущие границы проекта.
US07. На основании процессов, выявленных для автоматизации, сформулировать спецификации требования для реализации их в продукте. Зарегистрировать требования в системе, соотнести с Пользовательскими историями.
Цель: Зарегистрировать в системе: контент, концептуальное наполнение содержания проекта, формулировки сути автоматизируемых сервисов, обеспечивающих базис для разработки продукта, его тестирования и передачи в эксплуатацию.
US08. На основании спецификации требования, сформировать задания исполнителям. В ходе исполнения заданий изменить состояния требований.
Цель: На основании требования, обеспечить процесс реализации проекта в целевом продукте.
US09. Зафиксировать факт выполнения задания исполнителем. Изменить состояние требования.
Цель: На основании факта выполнения задания исполнителем, обеспечить актуализацию процесса выполнения проекта.
US10. Внести изменения в спецификации требования для реализации в продукте. Изменить состояние требования. Синхронизировать с Пользовательской историей при необходимости.
Цель: Изменить содержание контента, обеспечивающего базис для разработки продукта, его тестирования и передачи в эксплуатацию.
US11. Предоставить полный или ограниченный по разным срезам перечень требований с текущим состоянием.
Цель: Получить данные о текущем состоянии процесса разработки целевого продукта проекта.

2. ИСПОЛЬЗУЕМ ВИЗУАЛИЗАЦИЮ ТРЕБОВАНИЙ ДЛЯ ОБСУЖДЕНИЯ ИХ С ЗАКАЗЧИКОМ

В центральной части рисунка изображен бизнес сценарий «Формирование Пользовательской истории». Сценарий состоит из четырех процессов, отображенных в той последовательности, в которой они должны выполняться. В нижней части изображены исполнители процессов, пунктирной линией обозначено их воздействие, а надписью определена роль. В верхней части диаграммы представлены места дислокации процессов, а линиями обозначены потоки данных, которые через них проходят.

Понравилась статья? Поделиться с друзьями:
Зинг-Электро
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: