кан метр что это
ОКЕИ: 977 — Канало-километр
Классификатор | Код | Наименование единицы измерения | Условное обозначение | Кодовое обозначение | ||
---|---|---|---|---|---|---|
Национальное | Международное | Национальное | Международное | |||
ОКЕИ | 977 | Канало-километр | канал. км | — | КАНАЛ. КМ | — |
Уточняющие коды
Запись в классификаторе с кодом 977 является конечной в иерархии и не содержит уточняющих элементов.
Изменения
Есть изменения по коду 977 c момента введения классификатора ОКЕИ в действие.
Обозначения действия:
В — включить код в классификатор
Изменение | Наименование единицы измерения | Условное обозначение | Кодовое обозначение | Действие | ||
---|---|---|---|---|---|---|
Национальное | Международное | Национальное | Международное | |||
№ 3/98 | Канало-километр | канал. км | КАНАЛ. КМ | В |
Схема
Схема иерархии в классификаторе ОКЕИ для кода 977:
Комментарии
По коду 977 классификатора ОКЕИ пока нет комментариев пользователей.
Оставьте комментарий, если 1) у вас есть дополнительная информация по коду классификатора, 2) заметили ошибки и неточности, 3) хотите задать вопрос, ответ на который могут дать другие пользователи сайта.
Все поля формы обязательны для заполнения. При отправке комментария Вы соглашаетесь с политикой конфиденциальности.
Кан (мера веса)
Сякканхо (яп. 尺貫法 ) — традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии.
Содержание
Связь с метрической системой
Императорский закон от 1891 года установил следующие соответствия японской системы мер с метрической:
1 дзё (丈) | = 100/33 м |
1 канэдзяку (曲尺) | = 10/33 м |
1 кудзирадзяку (鯨尺) | = 25/66 м |
Сокращение сяку (尺) происходит от канэдзяку. Кудзирадзяку, которая на 25 % больше, в настоящее время почти полностью вышло из употребления.
Длина
Традиционные японские меры длины всё ещё применяются в Японии в некоторых отраслях, несмотря на то, что в Японии уже давно действует метрическая система.
Мера | Иероглиф | Величина | метр | Юникод | |
---|---|---|---|---|---|
бу | 分 | 1∕330 | 3,03 мм | U+5206 | |
сун | 寸 | 10 бу | 1∕33 | 3,03 см | U+5BF8 |
сяку | 尺 | 10 сун | 10∕33 | 30,3 см | U+5C3A |
кэн | 間 | 6 сяку | 20∕11 | 1,81 м | U+9593 |
дзё | 丈 | 10 сяку | 100∕33 | 3,03 м | U+4E08 |
тё | 町 | 36 дзё = 60 кэн | 1200∕11 | 109 м | U+753A |
ри | 里 | 36 тё | 43200∕11 | 3,927 км | U+91CC |
Сяку соответствует использовавшемуся ранее в Европе футу, а сун — дюйму.
Кэн исторически являлся основной единицей измерения в архитектуре — расстоянием между опорами. В разных районах Японии он менялся от 2 до 1.8 метров. Однако в последствии был стандартизирован как 1.81 метра.
Площадь
Объём
Традиционные меры объёма до сих пор используются в Японии для измерения риса и сакэ.
Деньги
См. также
Полезное
Смотреть что такое «Кан (мера веса)» в других словарях:
Кин (мера веса) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Фун (мера веса) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Кан — Содержание 1 Топоним 2 Фамилия 3 Мужчины 3.1 … Википедия
кан — японская мера веса, состоит из 1.000 моммэ и равна 9,16 русск. фун. = 3,76 килограмма … Справочный коммерческий словарь
Дзе (мера площади) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Дзе (мера длины) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Дзё (мера длины) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Дзё (мера площади) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Се (мера объема) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Тё (мера площади) — Сякканхо (яп. 尺貫法) традиционная японская система мер длины, объёма, площади, веса и денег, которая нашла распространение во всей Восточной Азии. Содержание 1 Связь с метрической системой 2 Длина 3 Площадь … Википедия
Побеждаем шину CAN. Часть 1. Технология
Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY. Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.
Почему CANNY? От названия шины CAN, которая широко используется на транспорте и, в частности, во всех современных автомобилях в качестве бортовой сети. Итак, что же можно сделать, имея специализированный контроллер, подключённый к CAN шине вашего автомобиля?
Шина CAN
Образно говоря, шина CAN это нервная система вашего автомобиля. По ней передаётся вся информация о состоянии блоков и систем, а также управляющие команды, которые во многом определяют поведение автомобиля. Зажигание фар, открывание и закрывание дверей, управление проигрыванием музыки в салоне машины, срабатывание сигнализации и т. д. — всё это работает и управляется по этой шине.
Физически, шина CAN представляет собой два перевитых провода и очень проста в монтаже и подключении. Несмотря на свою простоту, она, благодаря своей дифференциальной природе, хорошо защищена от различных наводок и помех. Высокая надежность и большая допустимая длина сети, до 1000 метров, помогла CAN завоевать широкую популярность у производителей различного, не только автомобильного оборудования.
Контроллеры CANNY
Это целое семейство специализированных контроллеров, имеющих встроенную «родную» поддержку работы с шиной CAN. Это касается как «железной» части, так и поддержки на уровне «софта».
Флагманом линейки является контроллер CANNY 7, наиболее мощный и имеющий максимум возможностей. Большое количество памяти, мощные выходы, позволяющие напрямую управлять реле автомобиля, интеллектуальная система защиты от коротких замыканий, защита от бросков тока и напряжения в бортовой сети автомобиля — всё это делает этот контроллер отличным решением для воплощения любых ваших идей и проектов.
Кроме CANNY 7 в линейке контроллеров присутствует ещё несколько моделей, мы будем проводить свои эксперименты с более простой встраиваемой моделью CANNY 5 Nano. Она также поддерживает работу с CAN шиной, но при этом похожа на уже знакомую нам Arduino Nano.
Визуальное программирование
Развитая поддержка шины CAN это не единственная особенность этих контроллеров, кроме этого CANNY имеют свою собственную среду программирования, CannyLab, но не «обычную», а визуальную, где весь процесс написания программ сводится к манипулированию готовыми структурными блоками, заданию их параметров и соединению входов и выходов этих блоков в определённой последовательности, в соответствии с алгоритмом решаемой задачи.
Ни одной строчки кода!
Хорошо это или плохо? На мой взгляд, это дело привычки. Мне, как человеку привыкшему к «традиционному» программированию, было непривычно манипулировать блоками, вместо написания строк кода. С другой стороны, существует множество приверженцев именно такого подхода к составлению алгоритмов и считается, что для инженеров и «не программистов» это наиболее простой и доступный метод программирования микроконтроллеров.
Мне, как минимум, было «прикольно» составлять программы таким образом и через некоторое время мне это стало даже нравиться. Возможно, что если продолжить этим заниматься, то через некоторое время уже написание кода покажется неудобным.
CannyLab является бесплатной средой разработки и вы можете свободно скачать её с сайта разработчиков, она также не требует специальной процедуры инсталляции — достаточно распаковать файл с архивом — и вы можете начинать работу.
Подключение
Подключение CANNY 5 Nano к компьютеру мало чем отличается от подключения контроллеров Arduino. При наличии в системе драйвера Silicon Labs CP210x, либо после его установки из скаченного дистрибутива CannyLab, Windows создаёт виртуальный COM порт и CANNY готов к работе. В моём случае понадобилось ещё перезагрузить компьютер, но возможно это особенность моей системы.
Практические примеры
Давайте на простых примерах разберём, как в CannyLab выполнять действия, привычные нам в Arduino IDE. Начнём с традиционного мигания светодиодом.
В контроллере CANNY 5 на выводе С4 (Channel 4) присутствует тестовый светодиод (аналог светодиода, находящегося на 13 выводе в Arduino). И его тоже можно использовать для индикации и экспериментов, чем мы и воспользуемся.
Что же нужно, чтобы помигать светодиодом в контроллере CANNY? Нужно сделать всего две вещи — сконфигурировать пин четвертого канала как выход и подать на этот выход сигнал с ШИМ генератора. Все эти действия мы уже не раз проделывали в Arduino IDE, посмотрим как это выглядит в CannyLab.
Итак, конфигурируем пин четвертого канала как выход
Настраиваем генератор ШИМ. Задаём период 500 миллисекунд, заполнение — 250 миллисекунд (то есть 50 %) и 1 (true) на входе генератора «Старт» и… всё! Больше ничего делать не нужно — программа готова, осталось только залить её в контроллер.
Режим симуляции
Тут нужно сказать пару слов о процессе симуляции на компьютере работы контроллера и заливке разработанной программы в память «железного» контроллера.
Среда разработки CannyLab позволяет запускать и отлаживать программу, не записывая её в память контроллера. В режиме симуляции вы можете видеть результат работы программы прямо в реальном времени и даже вмешиваться в её работу.
Заливка в контроллер
Для работы контроллеров CANNY, перед заливкой программы (в терминологии разработчиков «диаграммы») нужно сначала залить операционную систему «Устройство/Системное ПО/Записать». Это нужно сделать только один раз, для этого нужно выбрать соответствующий вашему контроллеру файл с расширением .ccx.
После того, как программа написана и отлажена, её можно загрузить в ваш контроллер. Это делается просто — в меню выбираете пункт «Устройство/Диаграмма/Записать» и через несколько секунд программа оказывается записанной в контроллер.
Далее нужно отключить контроллер от USB порта компьютера, снять перемычку на плате и можно включать запрограммированный контроллер, который после включения будет работать по вашей программе.
Аналоговые входы
Для того, чтобы лучше понять принцип программирования контроллеров CANNY в среде разработке CannyLab, давайте ещё разберём пример работы с аналоговым входом в этой системе.
Мы будем отслеживать уровень напряжения на 10 пине контроллера и если он находится в диапазоне 2,5 В ± 20%, будем зажигать встроенный в плату светодиод.
Как и в предыдущем примере, конфигурируем 4-й пин как выход для того, чтобы иметь возможность управлять работой светодиода.
Включаем АЦП на 10-м канале.
Далее пользуемся двумя логическими блоками, которые выдают 1 на выход, если напряжение находится в заданном диапазоне. Полный диапазон от 0 до 4095.
Блок «Логическое И» довершает работу и со своего выхода управляет работой светодиода на плате.
Вот и всё. То, что мы привычно делали на Arduino, мы легко сделали в CannyLab. Осталось только освоиться в этой среде программирования и вы сможете легко и непринуждённо создавать свои проекты на этой платформе.
Эти простые примеры составления программ даны для того, чтобы вы могли понять принцип визуального программирования микроконтроллеров CANNY. В дальнейшей работе вам поможет отличная справочная документация и поддержка разработчиков на сайте и форуме системы.
Заключение по вводной статье цикла
Если вам нравится визуальное программирование в стиле CannyLab, то контроллеры CANNY могут стать для вас интересной альтернативой Arduino или работать в связке с контроллерами Arduino. Об этом мы поговорим во второй статье цикла, в которой я расскажу вам об интеграции контроллеров CANNY с системой Arduino Mega Server.
Напомню, что AMS теперь работает не только на платах Arduino, но и на беспроводных Wi-Fi модулях ESP8266 и именно о такой связке пойдёт речь в следующий раз.
И как обычно, оставайтесь с нами, будет интересно!
Протокол CAN. Описание, формат кадра, контроль ошибок.
Приветствую всех на нашем сайте! Сегодняшняя статья будет целиком и полностью посвящена обзору протокола CAN. А в одной из следующих статей мы реализуем обмен данными по CAN на практике. Но не буду забегать вперед…
CAN (Controller Area Network) — это промышленный стандарт, позволяющий осуществить объединение в единую сеть различных узлов, механизмов, датчиков и т. п. Протокол является широковещательным, это значит, что все устройства в CAN-сети принимают все передаваемые по шине сигналы. Режим передачи данных — последовательный, при этом байты сообщений формируют кадры определенного вида. Структуру этих кадров данных мы также обязательно разберем в этой статье.
Основные характеристики протокола CAN:
Первоначально стандарт был разработан для автомобильной промышленности. И занималась этим компания Bosch в 1980-х годах. Основная идея заключалась в том, чтобы уйти от использования огромного количества проводов, соединяющих многочисленные узлы автомобиля. И протокол CAN позволил этого достичь! С тех пор CAN является основным механизмом соединения устройств, узлов и датчиков автомобиля между собой. Помимо этого, интерфейс CAN активно используется в промышленной автоматизации, а также в системах «умного дома».
Давайте перейдем к физическому уровню протокола. В интернете можно найти много противоречивой информации на этот счет, но истина тут одна 🙂 Стандарт CAN компании Bosch не регламентирует физический уровень передачи данных, поэтому могут использоваться абсолютно разные варианты, например, оптоволокно. На практике же чаще всего используется соединение посредством двухпроводной дифференциальной линии (витой пары). Ориентировочная максимальная длина линии для разных скоростей передачи данных составляет:
Скорость | Длина линии |
---|---|
1 Мбит/с | 50 м |
500 кбит/с | 100 м |
125 кбит/с | 500 м |
10 кбит/с | 5 км |
Важным условием работоспособности шины является наличие на концах витой пары согласующих резисторов, которые также называют терминаторами, с сопротивлением 120 Ом:
В отличие от многих других протоколов в CAN не рекомендуется описание битов данных как «логического нуля» и «логической единицы». Здесь используются понятия доминантный и рецессивный бит.
Важнейшим свойством является то, что если один из узлов сети хочет выставить на линии рецессивный бит, а другой доминантный, то в итоге на линии окажется доминантный бит. В общем-то отсюда и следует его название, от слова «доминировать» 🙂 Очень хорошо этот процесс иллюстрирует пример с оптоволоконной линией. Как вы помните, в оптоволокне для передачи данных используется «свет», либо он есть (единица), либо его нет (ноль). При использовании в CAN-сети «свет» — доминантный бит, соответственно, отсутствие света или «темнота» — рецессивный. Вспоминаем про важнейшее свойство передачи данных в сети…
Пусть один узел выставляет на линии рецессивный бит, то есть «темноту». Второй узел, напротив, выставляет доминантный бит — «свет». В итоге на линии будет «свет», то есть доминантный бит, что в точности соответствует требованиям сети!
При использовании электрического сигнала устройство, желающее передать в линию доминантный бит, может подтянуть линию к земле. Это и приведет к тому, что на линии будет доминантный бит независимо от того, что выдают на линию другие участники коммуникации.
Это свойство используется для арбитража в сети CAN. Пусть несколько устройств хотят передать данные. Каждый из этих передатчиков сравнивает значение, которое он передает, со значением, фактически присутствующим на линии. В том случае, если передаваемое значение совпадает со считанным, устройство продолжает высылать свои данные. Если значения совпали у нескольких устройств, то все они продолжают передачу как ни в чем не бывало.
Продолжается это до того момента, когда значения станут различными. Если несколько устройств хотят передать рецессивный бит, а одно — доминантный, то в соответствии с правилом, которое мы обсудили выше, на линии окажется доминантный бит. В таком случае отправленные и считанные значения для устройств, пытающихся выдать на линию рецессивное состояние, не совпадут. В этом случае они должны прекратить передачу. А тот узел, который в этот момент передавал доминантный бит, продолжит свою работу. Доминирование в чистом виде 🙂
Сигналы, которые передаются по витой паре, получили название CAN_H и CAN_L (High и Low). Доминантное состояние соответствует случаю, когда потенциал сигнала CAN_H выше потенциала CAN_L. Рецессивное — когда потенциалы равны (разница потенциалов не превышает допустимого отклонения, 0.5 В).
С этим вроде бы разобрались, давайте двигаться дальше!
Пришло время определить, как биты объединяются в кадры. Протокол CAN определяет 4 вида кадров:
Для кадра данных возможны два варианта — базовый формат и расширенный. Вот так выглядит структура базового формата:
Поле | Длина | Описание |
---|---|---|
Начало кадра (SOF) | 1 бит | Начало передачи кадра |
Идентификатор (ID) | 11 бит | Идентификатор сообщения |
Запрос на передачу (RTR) | 1 бит | Доминантный бит |
Бит расширения идентификатора (IDE) | 1 бит | Бит определяет длину идентификатора, для базового формата — доминантный бит |
Зарезервированный бит | 1 бит | Зарезервировано |
Длина данных (DLC) | 4 бита | Количество байт данных |
Данные | 0 — 8 байт | Данные |
Контрольная сумма (CRC) | 15 бит | Контрольная сумма |
Разграничитель контрольной суммы | 1 бит | Рецессивный бит |
Промежуток подтверждения (ACK) | 1 бит | Для приемника — доминантный бит, для передатчика — рецессивный |
Разграничитель подтверждения | 1 бит | Рецессивный бит |
Конец кадра (EOF) | 7 бит | Все биты рецессивные |
А это структура расширенного:
Поле | Длина | Описание |
---|---|---|
Начало кадра (SOF) | 1 бит | Начало передачи кадра |
Идентификатор A (ID A) | 11 бит | Первая часть идентификатора |
Подмена запроса на передачу (SRR) | 1 бит | Рецессивный бит |
Бит расширения идентификатора (IDE) | 1 бит | Бит определяет длину идентификатора, для расширенного формата — рецессивный бит |
Идентификатор B (ID B) | 18 бит | Вторая часть идентификатора |
Запрос на передачу (RTR) | 1 бит | Доминантный бит |
Зарезервированные биты | 2 бита | Зарезервировано |
Длина данных (DLC) | 4 бита | Количество байт данных |
Данные | 0 — 8 байт | Данные |
Контрольная сумма (CRC) | 15 бит | Контрольная сумма |
Разграничитель контрольной суммы | 1 бит | Рецессивный бит |
Промежуток подтверждения (ACK) | 1 бит | Для приемника — доминантный бит, для передатчика — рецессивный |
Разграничитель подтверждения | 1 бит | Рецессивный бит |
Конец кадра (EOF) | 7 бит | Все биты рецессивные |
Результирующий идентификатор получается в результате объединения полей «Идентификатор A» и «Идентификатор B«.
Кадр удаленного запроса (remote frame) представляет из себя кадр данных, описанный выше, но без поля данных и с рецессивным битом RTR. Он используется в случае, когда один узел хочет запросить данные у другого узла.
Кадр ошибки (error frame) передает устройство, обнаружившее ошибку в сети. Фрейм ошибки имеет наивысший приоритет и принимается всеми устройствами сети в обязательном порядке.
Кадр перегрузки (overload frame) используется очень редко… Его идея и назначение заключается в том, что с его помощью устройство, которое в данный момент не может принять данные, запрашивает повторную передачу этих же данных.
А давайте вернемся чуть назад, к арбитражу данных, и рассмотрим, что это может означать на практике! Итак, несколько устройств начинают передачу сообщения, а точнее кадра данных. Передается бит начала кадра и затем начинается передача идентификатора сообщения. Как вы помните, приоритет будет у того устройства, которое будет передавать доминантный бит, в тот момент, когда все остальные будут передавать рецессивный. То есть чем «позже» среди битов идентификатора появится «рецессивный бит», тем выше будет его приоритет! Другими словами: более высокий приоритет при использовании интерфейса CAN имеют сообщения с меньшим значением идентификатора.
Первые два типа кадров — кадр данных и кадр удаленного запроса — отделяются от других кадров специальным межкадровым промежутком (паузой). А для фреймов ошибки и перегрузки предусмотрена передача без пауз, чтобы обеспечить их скорейшую обработку узлами сети.
Итак, что у нас на очереди теперь? Конечно же контроль ошибок — важнейший аспект работы протокола CAN! Стандарт предусматривает несколько механизмов контроля ошибок.
Благодаря всем этим механизмам, вероятность необнаружения ошибки является очень низкой, что, конечно же, не может не радовать 🙂
Кроме того, если один из узлов обнаружил ошибку в сообщении, он сообщает об этом в сеть CAN при помощи фрейма ошибки. А поскольку сеть у нас широковещательная, то о возникновении ошибки становится известно всем участникам коммуникации. И если в сообщении была обнаружена ошибка, его передача будет осуществлена еще раз.
И на этом еще не все! Каждый узел может находиться в одном из трех состояний:
Протокол CAN предусматривает, что изначально, после старта, узел находится в первом из этих состояний — Error Active. Каждое устройство имеет два счетчика ошибок:
Существуют определенные правила обслуживания этих счетчиков, которые сводятся к следующему. Передатчик, обнаруживший ошибку, увеличивает свой счетчик ошибок передачи быстрее, чем приемники увеличивают свои счетчики ошибок приема. Это связано с предположением, что при ошибке, вероятность того, что сбой произошел именно в передатчике, а не в приемнике, достаточно велика. На практике ошибка передачи увеличивает соответствующий счетчик на 8, а ошибка приема лишь на 1. При приеме или передаче корректного сообщения как счетчик ошибок передачи, так и счетчики ошибок приема уменьшаются на 1.
Если значение любого из этих двух счетчиков узла превысит значение 127, то узел переходит в состояние Error Passive. А если величина одного из счетчиков превысит 255, то узел перейдет в состояние Bus Off.
Разница между этими состояниями заключается в действиях узла при диагностировании ошибки:
Как видите, протокол CAN крайне интересен для изучения, надежен, безопасен, и удобен в использовании 🙂
И на этой позитивной ноте на сегодня заканчиваем, скоро займемся практической реализацией протокола, также поговорим о микросхемах и устройствах, обеспечивающих работу с CAN. Так что подписывайтесь на обновления, буду рад снова видеть вас на нашем сайте!