Задание на выполнение лабораторной работы.



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

· Составьте таблицу истинности логической функции. Продемонстрируйте преподавателю правильность работы вашей программы.

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

Вариант Функция
1 2 3 4 5 6 X0 and (X1 or not X2 ) xor X3 X0 and X1 and (X2 xor X3) (X0 xorX1) or not(X2 xor X3) not(X0 and (X1 xor X2) or X3) X0 xor (not(X1) and (X2 or X3)) X0 or X1 and not(X2 xor not(X3))

 

Все логические функции имеют четыре аргумента и одно результирующее значение.

 

Содержание отчета

5. Цель работы.

6. Таблица истинности.

7. Текст программы с комментариями.

8. Выводы по работе.

 

Лабораторная работа №4

Цель работы

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

 

Справочные данные

 

 

 

Рис. Водогрейная установка

 

 

Лабораторная работа №5

 

Цель работы

Освоение методики использования языка программирования Automation Basic (АВ), применяемом в BR Automation Studio, на примере использования разработанных в ЛР№4 функциональных блоков. Применение основных операторов языка.

 

Справочные данные

 

Основные операторы языка Automation Basic.

 

Условный операторIF

 

Рис. 1. Оператор IF

 

Пример:

 

Оператор CASE

 

Оператор CASE сравнивает шаговую переменную с несколькими значениями. Если одно из этих сравнений совпадает, то выполняются шаги, которые сравниваются с этим шагом. Если ни одно из сравнений не совпадает, то выполняется ветвь ELSE, похожая на оператор IF.


После того как операторы были выполнены, программа продолжается после оператора ENDCASE.

 

Ключевые слова Синтаксис Описание
CASE OF CASE step variable OF Начало оператора CASE
ACTION   ENDACTION ACTION 1: ACTION 5: Display = “MATERIAL” ENDACTION Для 1 и 5
ACTION ACTION 2: Display = ”TEMP” ENDACTION Для 2
ENDCASE ENDCASE Конец оператора CASE

 

 

Рис. 2. Оператор CASE

 


Пример:

 

В цикле программы обрабатывается только один шаг CASE.


Синтаксис оператора CASE:

 

· Оператор CASE начинается с CASE и заканчивается ENDCASE. Ключевое слово ENDCASE должно быть на отдельной строке.

· ENDACTION необходим для каждого ACTION и ELSEACTION.

· Значение оператора или переменной может быть положительным и отрицательным. Однако оно должно быть целым числом!

· Целочисленные константы должны быть использованы для определения вариантов (Действия). Имена переменных и выражений не допускаются.

· Множественные операторы ACTION могут быть записаны один под другим и закрыты одним общим оператором ENDACTION в целях выполнения одних и тех же команд в течение нескольких непоследовательных значений.

Действие 1:

Действие 5:

Действие 10 .. 12:

...

ENDACTION

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

ДЕЙСТВИЯ 1 .. 6:

...

ENDACTION

Действие 5:

...

ENDACTION

не будет разрешено, так как число 5 появляется в двух действиях.

 

Циклы помогают сделать программы короче и проще. Расширение программы также является проблемой. Петли могут быть вложенными.


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


AB предлагает несколько видов циклов на выбор:

 

· LOOP .. ENDLOOP

· Считающая петля - LOOP .. К .. DO

· Считающая петля - LOOP .. DOWNTO .. DO

· Считающая петля с выходным условием EXITIF


LOOP


Этот тип цикла выполняется до тех пор, пока не будет выполнено условие завершения.

 

Ключевые слова Синтаксис Описание
LOOP LOOP Начало цикла
  Counter = Counter + 1 Оператор А
EXITIF EXITIF Counter > 100 Termination condition
  Result = Result + 10 Оператор В
ENDLOOP ENDLOOP Конец цикла

 



Рис. 3. Оператор LOOP


Рис. 4. Оператор LOOP в программе

 


Команды А выполняются в первую очередь. Затем проверка определяет, выполняется ли выходное условие (TRUE). Если да, то последовательность программы продолжается в строке после ENDLOOP. Если нет, то выполняются Команды B и последовательность программы продолжается в строке после LOOP (т.е. с Команды A).

 



Примечание:


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


LOOP TO / LOOP DOWNTO


Этот цикл LOOP TO и LOOP DOWNTO используется для запуска раздела программы для ограниченного числа повторений.

 

Ключевые слова Синтаксис Описание
LOOP TO DO LOOP DOWNTO DO LOOP i = 0 TO 4 DO LOOP i = 5 DOWNTO 1 D0 Начало цикла
  Res = value + 1 Тело цикла
ENDLOOP ENDLOOP Конец цикла

 


 

Рис. 5. Оператор LOOP

 

Рис. 6. Оператор LOOP в программе


Операторы в цикле LOOP повторяются. На каждом повторении счетчик цикла "Var" увеличивается или уменьшается. Две переменные управления "Start" и "End" определяют начальное и конечное значения счетчика цикла. После того как достигается конечное значение, программа продолжается после оператора ENDLOOP.



Оператор LOOP увеличивает счетчик цикла после каждого прохождения до конечного значения. И наоборот, оператор LOOP DOWNTO каждый раз уменьшает счетчик цикла на единицу.

 

Входное условие оценивается с каждым повторением цикла.

 


Дата добавления: 2021-06-02; просмотров: 141; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!