Главная      Лекции     Лекции (разные) - часть 9

 

поиск по сайту            

 

 

 

 

 

 

 

 

 

содержание   ..  468  469  470   ..

 

 

Темы для ов Контрольное задание 1

Темы для ов Контрольное задание 1

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ПСКОВСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ

(ФИЛИАЛ)

__________________________________________________________________

А. И. Хитров

А. В. Ильин

ОСНОВЫ ЧИСЛОВОГО ПРОГРАММНОГО УПРАВЛЕНИЯ

Контрольные задания и методические указания

по выполнению

Для студентов специальности 180400

«Электропривод и автоматика промышленных

установок и технологических комплексов»

Псков

2003 г.

Рекомендовано к изданию Учебно-методическим советом

Псковского политехнического института (филиала) СПбГПУ

Рецензенты :

Кадочников Анатолий Александрович, доцент, к.т.н., начальник отдела энергоэффективного и рационального использования и учета топливно-энергетических ресурсов Псковского филиала ФГУ «УГЭН по Северо-западному региону»

Тимофеев Сергей Владимирович, начальник бюро электроники и промышленной автоматизации ОАО «Псковский кабельный завод»

Авторы:

Хитров Александр Иванович, доцент кафедры ЭСА ППИ СПбГПУ

Ильин Александр Викторович, ассистент кафедры ЭСА ППИ СПбГПУ

СОДЕРЖАНИЕ

ВВЕДЕНИЕ………………………………………………………… 4

Темы для ов………………………………………………6

Контрольное задание 1……………………………………………7

Контрольное задание 2…………………………………………..12

Контрольное задание 3…………………………………………..28

Контрольное задание 4…………………………………………..39

Литература………………………………………………………….49

Приложения ………..………………………………………………50

ВВЕДЕНИЕ

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

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

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

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

Отсутствие учебников и учебных пособий по данной (или «родственным») дисциплине подтверждает данный факт.

Специалистам в области «интеллектуального электропривода», систем компьютерного мониторинга объектов, числового программного управления технологическими объектами практически всегда приходится изучать состав аппаратных и программных средств той или иной установки (или проектировать их самостоятельно), так как «Числовое программное управление – управление с помощью аппаратных и программных средств, предполагающее возможность быстрого перехода на различные программы работы оборудования путем набора ее или записи условным кодом на программоносителе» .

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

В связи с этим студенты должны знать особенности кодирования информации, владеть алгоритмами циклового и логического управления, позиционного и контурного управления (геометрическая задача), представлять особенности поведения объекта в дискретных САУ.

Курс «Основы ЧПУ» для студентов специальности 180400 «Электропривод и автоматика промышленных установок и технологических комплексов» является завершающим в программно-информационной подготовке инженера и базируется на курсах:

«Микропроцессоры в электроприводах и технологических комплексах», «Информатика», «Элементы систем автоматики», «Системы управления электроприводов».

Курс изучается в 10-11 семестрах и предполагает следующее распределение учебных занятий для студентов очно-заочной и заочной формы обучения:

Виды

занятий

Семестры

10

11

в/о

з/о

в/о

з/о

Лекции, час.

32

15

34

20

Лаборатории,

час.

32

20

34

20

Зачет

1

1

1

1

Экзамен

1

1

1

1

Контрольные задания

1

2

1

2

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

- принципах построения систем ЧПУ технологическими объектами;

- применении цифровых и символьных кодов в системах ЧПУ;

- использовании современных средств промышленной автоматизации, в том числе промышленных сетей;

-алгоритмах логического управления с применением программируемых логических контроллеров;

- пользовании методами позиционного и контурного управлений при решении геометрической задачи управления;

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

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

Для изучения современных систем ЧПУ объектами, а также использовании знаний, полученных в процессе обучения при дипломном проектировании, в 11 семестре студентам предлагается представить объемом 15-20 страниц.

Темы для ов

1. Применение и особенности построения цифровых электроприводов.

2. Современные микроконтроллеры и цифровые сигнальные процессоры для управления электроприводами.

3. Энергосберегающие технологии с применением интеллектуального электропривода.

4. Фаззи – логическое управление объектами.

5. Управление шаговым электроприводом от микроЭВМ.

6. Вентильно-индукторные двигатели (SRM – Switched Reluctance Motor) и их системы управления.

7. Векторное управление асинхронным двигателем с применением микроконтроллеров.

8. Управление бесконтактными двигателями постоянного тока (BLDC – Brushless direct current) с применением микроконтроллеров.

9. Особенности построения и применения энкодеров и кодеров в системах программного управления.

10. Организация локальных (промышленных) сетей на производстве.

11. Промышленная сеть CAN (Computer Area Network).

12. Промышленная сеть PROFIBUS фирмы SIEMENS.

13. Электроприводы промышленных роботов и станков с ЧПУ.

14. Адаптивные промышленные роботы и средства их очувствления.

15. Интеллектуальные роботы и системы распознавания образов.

16. Языки программирования промышленных роботов и современных средств промышленной автоматизации.

17. Программируемые логические контроллеры.

18. РС-архитектурные промышленные компьютеры и контроллеры.

19. SCADA системы в АСУТП.

20. Операционные системы реального времени.

21. Нейронные сети.

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

В процессе изучения курса "Основы ЧПУ" студентами заочной формы обучения выполняется по 2 контрольных задания соответственно в семестре 10 - контрольные задания № 1 – 2, в 11 семестре -контрольные задания № 3 – 4.

Вариант задания определяется двумя последними цифрами шифра зачетной книжки студента или её последней цифрой. Студенты очно-заочной формы обучения выполняют в каждом из семестров одно из заданий ( вариант определяется по согласованию с преподавателем). Студенты очной формы обучения при изучении курса представляют и могут использовать методическое пособие при проведении цикла лабораторных работ.


Контрольное задание №1

Задача 1. Представить число, заданное в таблице 1,

- во всех известных вам системах счисления как целое без знака;

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

Во всех представлениях числа ограничиться байтовым представлением его целой и дробной части.

Таблица 1

Номер последней цифры шифра

Число (целое)

Число (дробное / смешанное)

0

67

0,28 / 52,45

1

48

0,76 / 33,12

2

86

0,35 / 67,48

3

57

0,42 / 83,19

4

99

0,61 / 41,55

5

27

0,82 / 39,33

6

39

0,57 / 71,42

7

41

0,38 / 91,22

8

71

0,14 / 38,76

9

94

0,21 / 45,31

Методические указания к решению задачи 1

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

Особенности представления целых чисел без знака и со знаком изучались в курсах "Микропроцессоры" и "Элементы систем автоматики" и особых пояснений не требует. Вспомните, что Вы уже знаете, и представьте заданное число, сведя результаты в таблицу 2.

Таблица 2

Число

Кодовая комбинация

Десятичное

75D (decimal)

Двоичное

01001011B (binary)

Восьмеричное

113O (octal)

Шестнадцатеричное

4BH (hex)

Прямой со знаком

+75

-75

01001011

11001011

Обратный

01001011

10110100

Дополнительный

01001011

10110101

Смещенный

11001011

00110101

Для перевода отрицательного числа из дополнительного кода (на магистрали микроЭВМ) в его десятичный эквивалент и обратно следует вспомнить правило:

"инвертировать все разряды числа, исключая знаковый и прибавить единицу."

В цифровой вычислительной технике при записи чисел целую часть от дробной отделяют точкой. Соответственно, двум алгебраическим формам записи вещественных чисел: обычной (5000; -3,77; 13,784)

и показательной (5·103 ; -377·10-2 ; 137,84·10-1 ) различают две формы представления данных: с ФТ (фиксированной точкой (запятой)), с ПТ (плавающей точкой (запятой)).

Представление целых двоичных чисел в формате с ФТ означает, что в рамках заданного формата точка фиксируется за правой границей формата (т. е. по существу отсутствует) [2].

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

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

Правила перевода в дополнительный код не зависят от типа чисел – целые или дробные.

При переводе дробного десятичного числа в двоичное следует помнить, что дробное десятичное число переводится в двоичное в отличие от целых приближенно. Кодовая комбинация формируется из совокупности 0 и 1, получающихся при последовательном умножении заданного числа на 2, начиная со старшего разряда. Например, для числа 0,6510 получим:

1) 0,65 2) 0,3 3) 0,6 4) 0,2 5) 0,4

× 2 × 2 × 2 × 2 × 2

1 . 30 0 . 6 1 . 2 0 . 4 0 . 8

6) 0,8 7) 0,6 8) 0,2

× 2 × 2 × 2

1 . 6 1 . 2 0 . 4

0.10100110

Для смешанных чисел в двоичную форму переводится отдельно целая и дробная части числа, т. е. 75,65 = 01001011.10100110.

Задача 2. Представьте в дополнительном коде максимальные, минимальные положительные и отрицательные целые и дробные числа для 16-разрядных чисел, для которых в = 15.

Методические указания к решению задачи 2

Для восьмибитных чисел (байт) в дополнительном коде

- максимальное положительное число:

+127D → 7FH → 01111111B → 27 – 1 = 2в – 1;

- минимальное положительное число:

1D → 1H → 00000001B → 1;

- максимальное по модулю отрицательное число:

- 128D → 80H → 10000000B → - 27 ;

- минимальное по модулю отрицательное число:

- 1D → FFH → 11111111B → - 1.

Для восьмибитных дробных чисел соответственно:

- максимальное положительное число:

1 – 2-7 = 0.1111111 = 0,9921875;

- минимальное положительное число:

2-7 = 0.0000001 = 0,0078125;

- максимальное по модулю отрицательное число:

- 1 = 1.0000000 → -1D;

- минимальное по модулю отрицательное число:

- 2-7 = 1.1111111 = - 0,0078125.

Задача 3. Определить динамический диапазон данных D (в децибелах) цифровой системы регулирования с аналого-цифровым преобразователем (АЦП), имеющим n разрядов.

Построить зависимость D = f ( n ) ( nmax ограничить 32 разрядами с шагом расчета, равным 2).

Методические указания к решению задачи 3

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

20lg2 (децибел) ≈ 6,0205998,

а полный динамический диапазон определяется из соотношения:

D= n·20lg2.

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


Таблица 3

Номер последней цифры шифра

Имя

головной программы

Имена

подпрограмм

0

Main0

Sub1, time

1

Prog1

Sub2, cir

2

Test2

sub3,sub4

3

Program3

wind1, ADC

4

CAP

ADC, timer

5

CODER

un1, un2, un3

6

SHD

t1, t2

7

BLDC

win1, cool2

8

SRM

ADC, DAC

9

ACD

root, level

Методические указания к решению задачи 4

Для программирования современных микроконтроллеров и цифровых сигнальных процессоров (DSP – Digital Signal Processor) используются языки ассемблера и языки высокого уровня (CИ, Pascal и др.).

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

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

Этапы разработки программы следующие:

· формулирование технического задания (постановка задачи);

· определение структур данных и памяти;

· разработка алгоритма и структуры программы с использованием принципов модульного программирования;

· выбор языка программирования;

· составление текста программы и подпрограмм;

· создание выполняемой программы.

В условиях данной задачи пройдены все этапы, кроме двух последних. Считаем, что тексты программы и подпрограмм написаны, им присвоены символические названия, представленные в таблице 3.

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

- объектный код – код, полученный в результате трансляции (с помощью программы транслятора) на машинный язык или близкий к нему язык программы, записанной на некотором исходном языке (например, языке ассемблера);

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

- абсолютный адрес – число, однозначно указывающее положение данных или кодов памяти;

- абсолютный (неперемещаемый) программный модуль – программный модуль, использующий абсолютные (фактические) адреса;

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

Известно, что система программирования любого микроконтроллера должна включать в свой состав комплекс программ, обеспечивающих их создание и редактирование, трансляцию, компоновку и отладку. Методика создания загрузочного модуля для микроконтроллеров семейства MCS-196 [2] фирмы INTEL представлена ниже:

1. Редактирование текста модуля программы

<имя редактора> <имя файла.а96>

me program.a96

ncedit subroutine.a96

2. Трансляция модулей программ с применением транслятора

asm96.ехе

<имя транслятора> <имя файла.а96>

asm96 program.a96

asm96 subroutine.a96

3. Компоновка программы и подпрограммы с использованием программы-компоновщика rl96.

<имя компоновщика> <имя головной программы>,

<имя подпрограммы 1>, <имя подпрограммы n>.

rl 96 program . obj , subroutine . obj

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

4. Для преобразования программы в шестнадцатеричный формат(в случае использования программатора) может быть использована программа преобразования кодов.

<имя программы-пребразователя> <имя файла>

oh program

Результатом преобразования является файл типа program.hex.


Контрольное задание №2

Задача 1. Составить фрагмент программы управления релейными элементами, связанными с выходным портом Y(Y0,Y1,Y2,…Y7),

если известно, что к микроконтроллеру подключены 8 ключей (Х0, Х1, Х2, …Х7) через входной порт Х. Структура управления показана на рисунке, варианты заданий сведены в таблицу 4.

Таблица 4

Номер последней цифры шифра

Логическая функция

0

__

Y0 = X3 + X1·X2·X6

1

__ __

Y1 = X0·X1 + X2·X3

2

__

Y2 = X3·X0 + X4

3

__

Y3 = X1·X2 + X3

4

__ __

Y4 = X6 + X1·X3

5

Y5 = X7·X1 + X2·X0

6

___

Y6 = (X4 + X5)·X6

7

Y7 = X7 + X2·X3

8

Y1 = X0·X1 + X4·X5

9

__ __

Y2 = X1·X3 + X5·X6

Методические указания к решению задачи 1

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

а) последовательность б) разветвление в) выбор


г) цикл "пока " д) цикл "до "


Пусть необходимо реализовать логические функции:

__

Y0 = X1 + X2·X5; Y1 = X3·X7.

При этом в байтовом регистре Х внутреннего ОЗУ микроконтроллера находятся текущие значения 8 битовых входных переменных, считанные процессором из порта ввода Х.

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

0

0

Алгоритм реализации логического управления координатой Y0:

Будем считать, что модули вычисления Y0 и Y1 оформлены в виде подпрограмм, которые вызываются командами

CАLL CALC_Y0

CАLL CALC_Y1

Для реализации представленного алгоритма можно использовать работу битового процессора (если такой имеется) или специальные команды анализа битов.

Ниже приведена программа для микроконтроллера INTEL MCS – 196 [1,2].

В его составе команд имеются команды тестирования битовых переменных: BBC и BBS (branch bit clear- переход ,если бит очищен и branch bit set-переход, если бит установлен), осуществляющие переход на заданную метку ( трехоперандная команда ) в зависимости от того установлен или сброшен анализируемый бит.

Формат команды:

BBC breg, bitno, cadd

где breg – анализируемый регистр;

bitno – номер анализируемого бита;

cadd – точка перехода по условию.

;подпрограмма вычисления Y0

CALC_Y0: BBS X, 1, SET_Y0 ;анализ младшего бита 1 регистра X

BBC X, 2, CLR_Y0 ;анализ бита 2

BBC X, 5, CLR_Y0 ;анализ бита 5

SET_Y0: ORB Y, #00000001B ;установка в 1 бита Y0

RET

CLR_Y0: ANDB Y, #11111110B ;очистка бита Y0

RET

;подпрограмма вычисления битовой переменной Y1

CALC_Y1: BBC X, 3, CLR_Y1

BBS X, 7, CLR_Y1

SET_Y1: ORB Y, #00000010B ;установка в 1 бита Y1

RET

CLR_Y1: ANDB Y, #11111101B

RET

При решении задачи язык программирования может быть выбран любым.

Задача 2. Составить алгоритм и программу обслуживания аналого-цифрового преобразователя (АЦП), осуществляющего прием и обработку данных (М – число отсчетов) по N-каналу (данные сведены в таблицу 5), если АЦП имеет 16 входных каналов. Выбор конкретного канала осуществляется записью в разряды (от 0 до 3) регистра выбора канала DAR (Data Address Register) соответствующего двоичного кода. После выбора номера канала 7 разряд DAR устанавливается в "1".

Управление запуском АЦП и проверка готовности данных после преобразования осуществляется с использованием регистра управления и статуса CSR (Control and Status Register). При этом пуск АЦП осуществляется записью "1" в нулевой разряд, готовность проверяется по наличию "1" в 10 разряде CSR. Результат преобразования в виде выходного кода АЦП поступает в регистр данных АЦП DR (Data Register).


Таблица 5

Номер последней цифры шифра

Номер канала N

Число отсчетов М

Размещение в памяти с адреса – G.

0

12

120

10000

1

7

95

5000

2

9

48

6000

3

14

111

4000

4

6

39

3000

5

8

46

7000

6

11

51

3500

7

10

77

5500

8

5

84

6500

9

2

90

7500

Методические указания к решению задачи 2

Алгоритм решения задачи по обслуживанию АЦП может быть представлен в следующем виде:


Программа может быть составлена на любом языке программирования. Hиже в качестве примера приведен фрагмент программы для DEC – архитектурных машин ("Электроника") с применением ассемблера.

.TITLE ADC

DAR = 160070 ;адреса регистров АЦП

DR = 160072

CSR = 160074

ADC: MOV #N, @#DAR ;запись номера канала N

;число должно быть восьмеричным

;или десятичным из задания

MOV #G, R2

MOV @#DAR, R1

M1: TSTB R1 ;проверка выбора номера канала;

BPL M1

MOV #M , R3 ;счетчик циклов в R3 (число М)

M2: MOV #0, CSR ;запуск АЦП

BIT #2000, CSR ;проверка состояния 1 в 10 разряде CSR

BEQ M2

MOV @#DR, (R2)+

DEC R3

BNE M2

HALT

M: .BYTE

N: .BYTE

DAR: .WORD

CSR: .WORD

DR: .WORD

D: .BLKW G. ;резервирование в памяти

;числа слов под массив данных

.END ADC

Задача 3. Определите требуемое число разрядов счетчика и число, которое должно быть записано в регистр счетчика (Кдел = двоичное), для получения периода квантования Тк , равного такому количеству минут, каковы две последние цифры вашей зачетной книжки. При этом входная эталонная частота таймера-счетчика равна fвх = fэт = 10МГц.

Методические указания к решению задачи 3

Соотношение между частотой входных импульсов fвх счетчика, частотой выходных импульсов таймера fвых (которые могут задавать период квантования Тк = 1/fвых ) и коэффициентом деления счетчика (Кдел ) равно:

,

где Кдел = 2n – 1,

n – число разрядов счетчика.

Чем больше число разрядов счетчика, тем реже появляются выходные импульсы таймера. Например, если счетные импульсы подаются с частотой 1,1925 МГц и три шестнадцатиразрядных счетчика будут включены каскадно, то будем иметь 48 разрядный счетчик и импульс на выходе таймера появится более чем через 7 лет.

Соответственно, для 32-разрядного счетчика можно получить период квантования, равный 1 час, для 16-разрядного счетчика выходная частота составит ≈ 18 имп/сек, а для 8-разрядного счетчика при заданной частоте fвх , выходная частота составит ≈ 4676 имп/сек. Таким образом, применение счетчиков от 8-разрядного до 48-разрядного позволяет настроить систему управления в достаточно широком диапазоне регулирования периода квантования цифровой системы регулирования.

Задача 4. Составить на языке лестничных диаграмм LD (Ladder Diagram) программу для управления транспортным и пешеходным светофором согласно техническому заданию. В качестве программируемого логического контроллера используется контроллер SIMATIC фирмы SIEMENS.

Техническое задание

1. Цель разработки программы : управление движением транспорта и пешеходов на пешеходном переходе.

2. Программа должна управлять включением соответствующих цветов транспортного и пешеходного светофоров. Транспортный светофор оснащен красным (RED), желтым (YELLOW), зеленым (GREEN) огнями. Пешеходный светофор имеет: зеленый и красный цвет, а так же кнопку, чтобы потребовать зеленый свет для пешеходов.

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

3.1. Предварительная (начальная) установка светофоров: горит зеленый свет для транспортного светофора и красный свет для пешеходного.

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

4. Требования к таймерам по длительности "горения" соответствующих цветов светофора:

4.1. Желтая фаза после зеленой для автомобильного движения – 3 сек.

4.2. Красная фаза для автомобильного движения – 16 сек и начинается одновременно с зеленой фазой пешеходного движения.

4.3. Зеленая фаза для пешеходного движения – 10 сек.

4.4. Желтая фаза после красной для автомобильного движения – 3 сек

4.5. Задержка для следующего требования на зеленый свет (нажатие кнопок на разных концах улицы) – 1 сек.

Методические указания к решению задачи 4

PLC (Programmable Logical Controller) – программируемые логические контроллеры (ПЛК) представляют собой завершенную форму микропроцессорных средств, которые характеризуются оригинальной архитектурой и специальным программным обеспечением (ПО) [1,3]. Интерфейс между датчиками, исполнительными устройствами и центральным процессом PLC, обеспечивается специальными электронными модулями ввода/вывода (цифровых и аналоговых сигналов). Структура PLC показана на рисунке.

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

При обработке конкретной программы на 1 этапе работы PLC производится тестирование аппаратуры CPU, и запускается цикл опроса всех входных переменных с запоминанием их состояния в специальной области памяти данных (ОЗУ), называемый "образ состояния входных переменных" PII (Process Input Image).

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

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

CPU записывает выходные переменные в другую область памяти данных, называемую "образ состояния выходных переменных" POI (Process Output Image). Одновременно CPU управляет счетчиками и таймерами. На последнем этапе цикла слово выходных воздействий выдается из POI в адаптеры выходных сигналов.

Такая организация работы PLC по существу является операционной системой реального времени с жестким циклом работы, зависящим от возможностей CPU PLC.

PLC являются проблемно-ориентированными машинами. Языки их программирования в основном ориентированы на специалистов по автоматизации, а не программистов. Накопленный опыт по языкам PLC был обобщен в виде стандарта Международной электротехнической комиссии: IEC1131–3, в котором выделено 5 языков программирования:

1. SFC (Sequential Function Chart) – последовательных функциональных схем;

2. LD (Ladder Diagram) – лестничных диаграмм (язык релейно-контакторных схем);

3. FBD (Function Block Diagram) – функциональных блоковых диаграмм;

4. ST (Structured Text) – структурированного текста;

5. IL (Instruction List) – список инструкций (команд).

Язык SFC описывает логику программы на уровне чередующихся функциональных блоков и условных переходов. Инструкции для функциональных блоков могут быть написаны на одном из 4 других языков. Например: для логической функции:

_

С = А·В

1) На языке LD имеется цепь

2) FBD имеется обозначение

3) ST имеется строка C = A AND NOT B

4) На языке IL имеется последовательность инструкций (типа языка ассемблера)

LD A

ANDN B

ST C

Наиболее понятным для инженеров-специалистов в области автоматизации является язык LD или РКС (релейно-контакторных схем).

Синтаксис языка РКС основывается на следующих предпосылках:

-для логического управления программу можно представить в виде системы уравнений:

Y1 = f(Xi , Yj , Zk )

………

Ym = f(Xi , Yj , Zk )

Z1 = f(Xi , Yj , Zk )

………

Zq = f(Xi , Yj , Zk )

где Xi – входные переменные (i = 1, … n),

Yj – выходные переменные (j = 1, … m),

Zk – внутренние переменные (k = 1, … l);

-логические функции в правых частях уравнений представляют собой ДНФ или КНФ с применением операций И, ИЛИ, НЕ;

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

Запись операции на языке РКС содержит логическое выражение с инструкцией присвоения:

- логическое выражение - инструкция присвоения

f(xi , yj , zk ) = Y, = Z

Символика РКС

Булева функция

Содержание операции

Логические компоненты

·

Опрос входа, выхода внутренней переменной

·/

Опрос с инверсией

(

Начало ветвления параллельной цепи

)

Конец ветвления параллельной цепи

+

Перенос маркера в начало ветвления

Символы присвоения

=

Присвоение результата вычислений внутренней переменной или выходу

= S

Включение выхода или внутренней переменной с фиксацией

= R

Аналогично выключение с фиксацией

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

Вернемся к решению поставленной задачи управления светофорами.

Определим число требуемых входных / выходных переменных:

1. 2 входа (Е1, Е2) – кнопки требования зеленого света от пешеходов на обеих сторонах улицы;

2. 5 выходов – для управления индикацией обоих светофоров;

3. 5 таймеров (Т) – для определения длительности соответствующих фаз светофоров;

4. 1 маркер (М) – для включения светофора по требованию зеленого сигнала пешеходом.


Присвоим входным и выходным переменным символические обозначения:

Адрес

Описание

Символическое имя

А 0.0

Красный цвет для пешехода

People_Red

А 0.1

Зеленый цвет для пешехода

People_Green

А 0.5

Красный цвет для автомобиля

Auto_Red

А 0.6

Желтый цвет для автомобиля

Auto_Yellow

А 0.7

Зеленый цвет для автомобиля

Auto_Green

Е 0.0

Кнопка на правой стороне

P_Right

Е 0.1

Кнопка на левой стороне

P_Left

М 0.0

Маркер для включения светофора по требованию зеленого цвета пешехода

Marker

Т 2

Длительность желтой фазы для автомобилей (3 с.)

Auto_Yellow

Т 3

Длительность зеленой фазы для пешехода (10 с.)

People_Green

Т 4

Задержка красной фазы для автомобилей (6 с.)

Auto_Green

Т 5

Длительность красно-желтой фазы для автомобилей (3 с)

Auto_R – Y

Т 6

Задержка следующего требования на зеленый свет для пешеходов(1 с)

Pause_People

Алгоритм функционирования конечного автомата можно представить в виде последовательной функциональной диаграммы или циклограммы.

Циклограмма


Для PLC SIMATIC программирование осуществляется с использованием языка STEP 7, используя либо графический язык РКС (КОР – контактный план) или список команд AWL.

Алгоритм действий при программировании:

1. Создать необходимые блоки: организационный блок (ОВ1) для циклической обработки программы и функцию (FC1), в которую собственно и вводится программа.

2. Назначить редактор языка (КОР или AWL).

3. Запрограммировать блоки, запустить редактор языка, объявить переменные и ввести программу, разделенную на сети.

4. Сохранить и загрузить блоки на выполнение.

Для рассматриваемой задачи в символах РКС организационный блок имеет вид:

Netzwerk 1: Вызов функции FC1 для управления светофором

Элементы КОР для FC1 имеют вид:

Netzwerk 1: Есть ли запрос на зеленый свет для пешеходов

Netzwerk 2: Зеленая фаза для автомобилей

Netzwerk 3: Пуск таймера желтой фазы для автомобилей

Netzwerk 4: Желтая фаза для автомобилей

Netzwerk 5: Красная фаза для автомобилей

Netzwerk 6: Пуск таймера зеленой фазы для пешеходов

Далее допишите оставшиеся сети для реализации алгоритма или циклограммы.

Контрольное задание №3

Задача 1. Шаговый электропривод, управляемый целыми шагами α°[град] и имеющий частоту приемистости fпр [кГц], должен отработать требуемое перемещение ∆φ [рад] за время кадра tк с предельным быстродействием.

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

Данные для расчетов сведены в таблицу 6.

Таблица 6

Номер последней цифры шифра

α°[град]

fпр [кГц]

∆φ [рад]

tк [c]

0

1

1,0

1000

15

1

2

1,5

1500

10

2

1,8

0,5

500

15

3

1,5

2,0

700

20

4

0,5

0,7

1200

14

5

0,8

1,2

2000

11

6

1,6

1,8

1600

16

7

1,2

0,9

1900

18

8

0,9

1,0

800

10

9

3

2,0

600

13

Методические указания к решению задачи 1

Для позиционного электропривода траектория рабочего органа может быть произвольной, а задается начальное и конечное положение и точность позиционирования. Тип траектории выбирается обычно из минимума времени отработки заданного перемещения и ограничения на максимальное значение скорости wmax и ускорения εmax . Оптимальная по быстродействию тахограмма для позиционного электропривода имеет трапецеидальный вид [1]:

1 – имеет зону движения с постоянной скоростью ω* = const.

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

Для кривой 1 выполняется соотношение:

,

где Qзм – заданное угловое перемещение.

В условиях задачи задана трапецеидальная тахограмма движения, тогда

Предельную скорость шагового электропривода ωз max = ω* можно рассчитать, используя соотношение:

ω* = α [рад]* fпр [Гц],

т.е. для α° = 1° ; fпр = 1кГц

при заданном угловом перемещении ∆φ = 1000 рад.

Из тахограммы движения с постоянной скоростью можно получить:

,

откуда – время движения с постоянной скоростью;

tк = t1 + (t2 – t1 ) + (tк – t2 ) – полное время кадра.

Время разгона t1 = (tк – t2 ) = ω* / εmax .

При решении задачи выберите необходимое εmax для обеспечения

t2 – t1 > 0, так, чтобы суммарное время не превосходило время отработки кадра tк .

Путь, пройденный на участке пуска и торможения, можно определить из соотношения: ,

а на участке движения с постоянной скоростью:

.

При этом

Количество импульсов управления, необходимое для выдачи на каждом из участков, равно:

,

где α – шаг двигателя.

Частота выдачи импульсов определяется так:

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

Задача 2. Составить алгоритм метода оценочной функции при осуществлении линейной интерполяции по координатам α,β для выхода в точку А с координатами (αкк ). Построить фактическую траекторию отработки перемещения и нарисовать тактовую диаграмму подачи импульсов на соответствующие координаты. Расчетные данные свести в таблицу 7.

Таблица 7

Номер шага

I

Шаг по осям

Текущие значения

Значение оценочной функции Fi

α

β

αi

βi

Данные для расчетов представлены в таблице 8.

Таблица 8

Номер последней цифры шифра

αк

βк

0

10

6

1

8

4

2

12

8

3

10

8

4

12

6

5

14

8

6

10

4

7

10

5

8

8

6

9

12

10

Расчеты произвести для обычного и усовершенствованного алгоритма оценочной функции. Дискретность по координатам α и β одинакова и составляет hα = hβ = 1мм/имп.

Методические указания к решению задачи 2

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

Дискретность перемещения по координатам hx , hy , hz определяется конструкцией станка и составляет единицы или десятки мкм.

Задание приращений по двум осям координат при hx = hy еще не определит заданного прямолинейного движения инструмента между точками.

Если координаты существенно неравны (например, х = 13мм, y = 5мм при hx = hy = 0,01 мм), то по одной координате в кадре необходимо выдать 1300 импульсов, а по другой - 500. При этом время движения по оси Х не будет равно времени движения поY и заданная траектория будет искажена (как показано на рисунке).

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

Алгоритмы интерполяции можно разделить на алгоритмы единичных приращений: метод цифро-дифференциальных анализаторов, оценочной функции и алгоритмы равных времен: методы цифрового интегрирования, итерационно-табличные методы, прогноза и коррекции [4;6].

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

Fi = yi ·X - xi ·Y,

где , – требуемые перемещения в кадре.

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

- если сделан шаг по оси Х, то

Fi+1 = yi ·X – (xi + 1)·Y = yi ·X – xi ·Y – Y = Fi – Y,

- если сделан шаг по оси Y

Fi+1 = (yi + 1)·X – xi ·Y = yi ·X + X – xi ·Y = Fi + X.

При усовершенствованном алгоритме:

- если сделан шаг одновременно вдоль оси Х и Y

Fi+1 = (yi + 1)·X – (xi + 1)·Y = yi ·X + X – xi ·Y – Y = Fi + X – Y.

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

Пример.

Пусть необходимо осуществить приращение в кадре в абстрактных машинных единицах ∆α = 6; ∆β = 4. Расчетные значения сведены в таблицу 9.


Таблица 9

Такт i

Шаг по осям

Текущее значение

Оценочная функция

α

β

αi

βi

Fi = Fi – Δβ ≥ 0 (α)

Fi = Fi + ∆α – Δβ < 0 (α и β)

0

-

-

0

0

F0 = 0

1

1

-

1

0

F1 = 0 – 4 = - 4

2

1

1

2

1

F2 = - 4 + 6 – 4 = - 2

3

1

1

3

2

F3 = - 2 + 6 – 4 = 0

4

1

0

4

2

F4 = 0 – 4 = - 4

5

1

1

5

3

F5 = - 4 + 6 – 4 = - 2

6

1

1

6

4

F6 = - 2 + 6 – 4 = 0

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

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

,

где h – дискретность перемещения по координате;

Тк – время реализации алгоритма (период квантования);

к – число одновременно работающих координат.

Задача 3. Используя метод оценочной функции при круговой интерполяции, построить интерполяционную траекторию при движении из точки с координатами А0 (10, 0) в точку Ак (0, 10).

Методические указания к решению задачи 3

При круговой интерполяции следует использовать оценочную функцию вида:

Fi = xi 2 + yi 2 – R2 .

При отработке траектории в 1 квадранте против часовой стрелки, если применяется обычный алгоритм интерполяции, то расчетные соотношения примут вид:

· если Fi ≥ 0 (нахождение за пределом радиуса окружности), то шаг делается вдоль отрицательного направления оси х, т. е. хi +1 = xi – 1

Fi+1 =(xi – 1)2 +yi 2 – R2 = Fi – 2xi + 1,

· если Fi < 0, то шаг делается в положительном направлении оси у, т. е. yi +1 = yi + 1

Fi+1 =xi 2 + (yi +1)2 – R2 = Fi + 2yi + 1.

При применении усовершенствованного алгоритма рекомендуется разбить квадрант пополам (π/4). При изменении угла от φ = 0, до φ =π/4 и при Fi ≥ 0 выдача шагов осуществляется по обеим координатам:

Fi+1 =(xi – 1)2 +(yi +1)2 – R2 = Fi – 2(xi – yi ) + 2,

а при Fi < 0 только по ведущей координате (уi )

Fi +1 = Fi + 2yi + 1.

При изменении угла от π/4 до π/2 и Fi < 0 выдача шагов производится по обеим координатам, а при Fi ≥ 0 только по ведущей координате (хi )

Fi +1 = Fi – 2xi + 1.

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

Если перемещение должно осуществляться в других квадрантах в выбранном направлении (по часовой стрелке или против часовой стрелки), то аналогично рассмотренному выше можно получить необходимые расчетные соотношения для Fi +1 .

Приведенный ниже алгоритм предназначен для реализации метода оценочной функции во всех 4 квадрантах при движении в любом направлении [5]:

Принятые обозначения: I, J – координаты центра дуги;

r – радиус дуги;

τ – такт;

F – скорость подачи, мм/ мин;

d = h – дискретность системы ЧПУ, мм;

ун , хн – начальная точка;

ук , хк – конечная точка.

CIR: if TAKT > 1 then go to CYCLE

read xн , ун , хкк , I, J, ±F

r = sqr((xн – I)2 + (ун - J)2 )

x = xн ; y = ун ; codx = x; cody = y; f = 0

U= int(F*τ/(60*d));

if xн = I and ун > J then αн = π/2

if xн = I and ун < J then αн = 3*π/2

if xн > I then αн = atn((ун – J)/( xн – I))

if xн < I then αн = π + atn((ун – J)/( xн – I))

if xк = I and ук > J then αк = π/2

if xк = I and ук < J then αк = 3*π/2

if xк > I then αк = atn((ук – J)/( xк – I))

if xк < I then αк = π + atn((ук – J)/( xк – I))

if sgn(αн - αк ) = sgn(U) then ∆α = abs(αн - αк )

else ∆α = 2π - abs(αн - αк )

L = 4 * r * ∆α/π ; l = 0

CYCLE: X = x – I; Y = y – J;

if abs(X) >= abs(Y) and sgn(f*sgn(X)*sgn(Y)) = sgn(U)

then(y = y – U*sgn(X); f = f – 2*Y*sgn(X) + U; go to END);

if abs(X) < abs(Y) and sgn(f*sgn(X)*sgn(Y) < > sgn(U)

then (X = X + U*sgn(Y); f = f + 2*X*sgn(Y) + U; go to END);

x = x + U*sgn(Y); y = y – U*sgn(X);

f = + 2*(abs(X) – abs(Y))*sgn(Y) + 2*U;

END: l = l + abs(X – codx) + abs(y – cody);

codx = x; cody = y;

if l < L then TAKT = TAKT + 1

else TAKT = 1

RETURN

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

# include < stdio . h > /* Подключение библиотеки стандартных функций ввода-вывода */

# include < math . h > /* Подключение библиотеки математических функций */

#define PI 3.1415 /* Определение числа p */

#define SGN(a) (((a) >= 0) ? 1 : -1) /* Определение макроса для вычисления знака переменной; макрос возвращает 1, если значение переменной ≥0 и возвращает -1, если значение переменной <0 */

int x _ n , y _ n , x _ k , y _ k ,

 

 

 

 

 

 

 

содержание   ..  468  469  470   ..