Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа ИСПиУ.doc
Скачиваний:
13
Добавлен:
24.11.2019
Размер:
343.55 Кб
Скачать

6 Что такое альтернативное (параллельное) соединение (ответвление)?

Различают альтернативное и параллельное ответвление.

Альтернативное ответвление – это условное программирование ответвлений в потоке управления SFC-структуры.

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

В параллельных ответвлениях обработка разбивается на две или больше последовательностей, которые продолжают параллельно обрабатываться.

Лабораторная работа №4 «Создание программы на языке st»

Задание 4

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

VAR

FBI_1_10:TON;

FBI_1_15:RS;

FBI_1_9:TON;

FBI_1_3:RS;

END_VAR

FBI_1_3(S:=on_le AND NOT mot_ri OR time_ri, R1:=stop OR time_le);

mot_le:=FBI_1_3.Q1;

FBI_1_9(IN:=FBI_1_3.Q1,PT:=t#5s);

time_le:=FBI_1_9.Q;

et_le:=TIME_TO_INT(IN:=FBI_1_9.ET);

FBI_1_15(S:=on_ri AND NOT mot_le OR time_le, R1:=stop OR time_ri);

mot_ri:=FBI_1_15.Q1;

FBI_1_10(IN:=FBI_1_15.Q1,PT:=t#10s);

time_ri:=FBI_1_10.Q;

et_ri:=TIME_TO_INT(IN:=FBI_1_10.ET);

Запускаем Concept. Создаем новый проект File → New project. Выполняем конфигурирование контроллера. Для создания секции используем команду меню File → New Section... и введим имя секции.

При создании программы используем команду VAR...END_VAR для объявления функциональных блоков и блоков DFB. Объявим переменные и их начальные значения в редакторе переменных.

Для проверки правильности выполнения данной задачи воспользуемся эмулятором Simulator 32-Bit.

Контрольные вопросы

  1. Охарактеризуйте язык структурированного текста st.

Язык ST (Structured Text) является языком высокого уровня (типа Паскаля). Был популярен в середине 70-х годов XX века для сложных компьютерных приложений. Предназначен для универ­сального анализа данных. Удобен для программ, включающих числовой анализ или сложные алгоритмы. Может использоваться в главных программах, в теле функции или FBD, а также для описа­ния действий внутри элементов редакторов SFC или Flow Chart. Обладает высокой читабельностью исходного кода, ключевые слова, такие как AND, OR, NOT, IF, THEN, ELSE, WHILE и т. д., легко понимаемы. Прост в сопровождении, если имена перемен­ных понятны, имеются комментарии, код хорошо структурирован.

  1. С помощью какой команды объявляются блоки fb/dfb в языке st?

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

Каждый экземпляр FB/DFB может вызываться только один раз

Перед вызовом блока FB/DFB он должен быть объявлен с использованием VAR и END_VAR.

Функциональные блоки и блоки DFB вызываются утверждением, которое состоит из имени экземпляра FB/DFB, и сопровождается списком распределения значений в скобках (фактические параметры) – формальными параметрами.

  1. Что такое оператор в языке st?

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

Оценка выражения включает приложение операторов к опе­рандам в порядке, определенном правилом старшинства операто­ров. Оператор с самым высоким старшинством в выражении будет выполнен в первую очередь, затем будет выполнен оператор со следующим ниже старшинством и так до тех пор, пока обработка не завершится. Операторы с равным старшинством выполняются слева направо, как написано в выражении. Этот порядок может быть изменен через заключение в скобки.