- •Белорусский национальный технический университет
- •Минск 2016
- •Определения автоматизированного производства. Структура автоматизированного производства.
- •Система счисления и цифровые коды. Экономичность системы счисления.
- •5. Комбинаторные коды. Код Грея и Джонсона. Пример.
- •Принципы формирования кода Джонсона
- •6.Корректирующая способность кода.
- •8.Код Хемминга. Пример
- •9.Международный код lSo-7bit. Структура управляющей программы..
- •10.Международный код lSo-7bit. Функции g и м. Примеры использования.
- •11. Программирование размерных перемещений, коды f,s,t.
- •12.Программирование линейной и круговой интерполяции. Пример.
- •13.Контроль информации в коде lSo-7bit.
- •14.Ручной, диалоговый и автоматический способы подготовки уп.
- •15.Коррекция радиуса и положения инструмента при прямоугольном формообразовании.
- •16.Коррекция инструмента при непрямоугольном формообразовании.
- •17.Повышение языкового уровня управляющих программ. Пример.
- •18.Программирование на основе стандарта step-nc
- •19.Интерполяторы. Типы интерполяторов.
- •22.Модифицированный алгоритм линейной интерполяции по моф Пример..
- •26.Интерполяция методом цифрового интегрирования. Пример.
- •29.Сплайновая интерполяция в системах чпу.
- •30.Классификация систем числового программного управления.
- •31.Задачи систем числового программного управления.
- •32.Модульная архитектура систем чпу на прикладном уровне.
- •33.Микропроцессорная система чпу. Функциональная схема.
- •36.Классификация систем управления промышленными роботами.
- •37.Цикловые системы управления промышленными роботами.
- •38.Позиционно-контурные системы управления промышленными роботами.
- •39.Универсальные и групповые системы управления промышленными роботами.
- •41.Программирование промышленных роботов.Програмирование обучением
- •Программирование промышленных роботов.Аналитическое програмирование пр.
- •42.Ртк на основе металлорежущих станков.
- •43.Ртк кузнечно-штамповочного производства.
- •Ртк нанесения покрытий.
- •46.Информационная система программного управления.
5. Комбинаторные коды. Код Грея и Джонсона. Пример.
Код, обладающий арифметическими свойствами, называется арифметическим. Код, не обладающий арифметическими свойствами, наз. комбинаторным (по названию раздела математики-комбинаторики). Однопеременным наз. код, у кот. Кодовое расстояние равно единице, т.е. при переходе от одной кодовой комбинации к соседней, знак меняется лишь в одном разряде (например 0110, 0111, 0101). Построить однопеременный код можно с помощью диаграммы Карнауга, кот. Имеет 4 столбца и 4 строки. На их пересечении образуется 16 ячеек. Каждая ячейка и каждый столбец нумеруется. Адрес каждой ячейки формируется из номера строки и номера столбца. Задается направление обхода диаграммы, и последовательно выписываются их адреса. Такой код наз. кодом Грея. Правила построения: -направление обхода выбирается произвольно, одну и ту же вершину нельзя обходить дважды, запрещается движение по диагонали. Применение кода Грея повышает надежность кодирования.
Десятичное число |
Двоичный код |
Код Грея |
0 |
0000 |
0000 |
1 |
0001 |
0001 |
2 |
0010 |
0011 |
3 |
0011 |
0010 |
4 |
0100 |
0110 |
5 |
0101 |
0111 |
6 |
0110 |
0101 |
Принципы формирования кода Джонсона
1. Код Джонсона является кодом с избытком, то есть для числа разрядов больше 2 в коде Джонсона длякодирования некоторого числа состояний требуется большее число разрядов, чем в двоичномарифметическом коде.
2. Код Джонсона является помехозащищенным кодом. Это означает, что каждая последующая комбинацияотличается от предыдущей значением только одного разряда.
В схемотехнике счетчиков это свойство устраняет одновременное переключение многих элементов,характерное для двоичных счетчиков при некоторых переходах. Одновременное переключение многихэлементов создает такие токовые импульсы в цепях питания схем, которые могут вызвать сбои в работесхемы.
3. Код Джонсона является циклическим кодом. То есть последняя комбинация отличается от первой такжезначением только одного разряда.
4. Формирование кода Джонсона осуществляется со стороны правых в сторону левых разрядов, причемвведение каждого нового разряда осуществляется до тех пор, пока во всех разрядах не будут стоятьединицы. После этого в том же порядке (со стороны правых в сторону левых разрядов) заполняются нули дотех пор, пока только в старшем разряде не останется единица.
Пример. Четырёхбитный код Джонсона.
0000
0001
0011
0111
1111
1110
1100
1000
6.Корректирующая способность кода.
При ручной подготовке управляющих программ необходимо осуществлять пересчёт координат с учётом диаметра и длинны инструмента. Требуется упрощение программирования и для этого в системах с ЧПУ предусматривается программирование эквидистанты ,под которой понимается совокупность координат (…) центра фрезы при обходе контура.
Для автоматического учёта эквидистанты применяются корректирующие коды :
G-43-положительные. G-44-отрицательные.
Коды G-43 и G-44 записываются перед каждой координатой для которой требуется коррекция . Коррекция считается положительной (G-43) ,если координаты центра фрезы больше координаты контура и отрицательной (G-44) если координаты центра фрезы меньше координаты контура..
Отмена коррекции осущ. функцией G40- для всех координат, либо функцией Д00-для той координаты перед которой она указана.
Расчёт величины смещения инструмента можно выполнить автоматически с помощью коррект. кодов G41-при обходе детали справа,G42-при обходе деталислева.
7.Коды, обнаруживающие ошибки.Пример.
Пример.
Пусть у нас есть канал с единичными
ошибкой с частотой 10-6 на бит. Если мы
хотим исправлять единичные ошибки при
передаче блока в 1000 бит, то нам потребуется
10 контрольных бит. При передаче 1 Мбит
данных, потребуется 10 000 контрольных
бит. В тоже время для обнаружения
единичной ошибки достаточно одного
бита четности. Поэтому, если мы применим
технику повторной передачи, то на
передачу 1000 блоков надо будет потратить
1001 бит дополнительно или с повторной
передачей 2002 бит, вместо 10,000 бит в случае
кода с исправлением ошибки.Применение
техники четности "в лоб" в случае
групповых ошибок не даст нужного
результата. Однако, ее можно скорректировать.
Пусть нам надо передать
слов
по
бит.
Расположим их в виде матрицы
.
Для каждого столбца вычислим бит четности
и разместим его в дополнительной строке.
Матрица затем передается по строкам.
По получению матрица восстанавливается
и если хоть один бит нарушен, то весь
блок передается повторно.Этот метод
позволяет обнаружить групповые ошибки
длины
.
Против групповых ошибок длины
он
бессилен. В общем случае вероятность
правильной передачи при длине групповой
ошибке
,
равна
.Поэтому
на практике применяют другую технику,
которая называется полиномиальными
кодами или циклическим избыточным кодом
(Cyclic Redundancy Code) или CRC кодом.CRC коды построены
на рассмотрении битовой строки как
строки коэффициентов полинома.
битовая
строка - коэффициенты полинома степени
.
Самый левый бит строки - коэффициент
при старшей степени. Например, строка
110001 представляет полином
.Полиномиальная
арифметика выполняется по модулю 2.
Сложение и вычитание происходит без
переноса разрядов. Так, что обе это
операции эквивалентны EXCLUSIVE OR. Например,
Деление
выполняется как обычно в двоичной
системе с той лишь разницей, что вычитание
выполняется по модулю два.Использование
полиномиальных кодов при передаче
заключается в следующем. Отправитель
и получатель заранее договариваются о
конкретном генераторе полиномов
,
у него коэффициенты при старшем члене
и при младшем члене должны быть равны
1. Пусть степень
равна
r. Для вычисления контрольной суммы
блока из m бит надо чтобы обязательно
.
Идея состоит в том, чтобы добавить
контрольную сумму к передаваемому
блоку, рассматриваемому как полином
так,
чтобы передаваемый блок с контрольной
суммой был кратен
.
Когда получатель получает блок с
контрольной суммой, он делит его на
.
Если есть остаток, то были ошибки при
передаче.
Алгоритм вычисления контрольной суммы:
Добавить
нулей
в конец блока так, что он теперь содержит
m+r разрядов и соответствует полиному
;Разделить по модулю 2 полином на ;
Вычесть остаток ( длина которого всегда не более r разрядов) из строки, соответствующей , по модулю 2. Результат и есть блок с контрольной суммой ( назовем его
).
Этот метод позволяет отлавливать одиночные ошибки. Групповые ошибки длины не более . Нечетное число отдельных ошибок.
Существует три международных стандарта на вид :
.
CRC-12 используется для передачи символов из 6 разрядов. Два остальных - для 8 разрядных. CRC-16 и CRC-CCITT ловят одиночные, двойные ошибки, групповые ошибки длины не более 16 и нечетное число изолированных ошибок с вероятностью 99,997%.
Простейшим способом обнаружения ошибок является контроль по четности. Обычно контролируется передача блока данных (М бит). Этому блоку ставится в соответствие кодовое слово длиной N бит, причем N>M. Избыточность кода характеризуется величиной 1-M/N. Вероятность обнаружения ошибки определяется отношением M/N (чем меньше это отношение, тем выше вероятность обнаружения ошибки, но и выше избыточность). При передаче информации она кодируется таким образом, чтобы с одной стороны характеризовать ее минимальным числом символов, а с другой инимизировать вероятность ошибки при декодировании получателем. Для выбора типа кодирования важную роль играет так называемое расстояние Хэмминга. Пусть А и Б две двоичные кодовые последовательности равной длины. Расстояние Хэмминга между двумя этими кодовыми последовательностями равно числу символов, которыми они отличаются. Например, расстояние Хэмминга между кодами 00111 и 10101 равно 2.
