Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

z := real(100*x2);. <blockname> ( <p1>, <p2>. );. <result_1> := <blockname>.<ret_param1>;




z: = real(100*x2);

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

 

< blockname> ( < p1>, < p2> ... );

< result_1> : = < blockname>. < ret_param1>;

... < result_N> : = < blockname>. < ret_paramN>;

где < blockname> – имя экземпляра вызываемого функционального блока (перед использованием экземпляр функционального блока должен быть определён в словаре); < result_1>, < result_N> – переменные, которым присваиваются результаты выполнения блока; < par1>, < par2>, … – список операндов; >; < ret_param1>, , < ret_paramN> – выходные поля функционального блока. Например:

blink1(run, t#2s);

y: = blink1. q;

Здесь blink1 – экземпляр функционального блока blink; q – выходное поле блока blink (наименование выходных полей следует смотреть в описании функционального блока).

Оператор IF предназначен для организации ветвлений, при этом выполняются 1 или 2 списка ST-операторов. Выбор осуществляется в соответствии со значением булевского выражения. Синтаксис оператора IF имеет вид:

                                 IF < boolean_expression > THEN

                                                          < statement > ;

< statement > ;

                       ELSIF < boolean_expression> THEN

                                                          < statement> ;

                                                          < statement> ;

                                 ELSE

                                                          < statement> ;

                                                          < statement> ;

                                 END_IF;

Операторы ELSE и ELSIF – дополнительные. Если ELSE опущен и условие равно FALSE, то никаких инструкций не выполняется.

Оператор CASE выполняет один или несколько списков
ST-операторов, выбор осуществляется в соответствии с целым выражением. Синтаксис оператора CASE имеет вид:

                                 CASE < integer_expression> OF

                                              < value>: < statements> ;

                                          < value> , < value>: < statements> ;

                                              …

                                 ELSE

                                              < statements> ;

                                 END_CASE;

Порядок выполнения работы

1. Создать новый проект.

2. Создать новую программу. При выборе языка указать язык ST.

3. Объявить используемые переменные и объявить экземпляр функционального блока blink, например присвоить имя экземпляру blink1.

4. Отредактировать программу в соответствии с представленным ниже текстом:

y1: =(3. 0*x1+2. 0*x2)*x3;

y2: =NOT(z1 AND z2) OR z3;

IF x4< 0. 0 THEN y3: =false;

ELSIF x4> 0. 0 THEN y3: =true;

ELSE

blink1(x4=0. 0, t#1s);

y3: = blink1. q;

END_IF;

 

5. Настроить конфигурацию ввода/вывода и осуществить привязку входных и выходных переменных проекта.

6. Создать код приложения.

7. Провести отладку приложения в режиме симуляции.

Выполнение п. 1 – 3, 5 – 7 подробно рассмотрено в лабораторной работе 1.

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

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

2. Разработать приложение на языке ST, реализующее нелинейное звено со статической характеристикой, представленной на рисунке 1. 2:

3. Разработать приложение на языке ST, реализующее:

· Стандартный ПИ регулятор.

· Стандартный ПИД регулятор.

· Апериодическое звено первого порядка.

· Апериодическое звено второго порядка.

· Колебательное звено.

· Интегрирующее звено.

· Реально-дифференцирующее звено.

· Интегро-дифференцирующее звено.

 

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

СОЗДАНИЕ ПРОЕКТА В СРЕДЕ ISaGRAF НА ЯЗЫКЕ SFC

Цель работы: знакомство c языком программирования SFC.

Задание на лабораторную работу: в ходе работы разработать приложение на языке SFC для виртуального контроллера, реализующее нижеприведённую последовательность действий:

1. При нажатии кнопки " ПУСК" начать процесс, при этом открыть клапан А и загрузить компонент А в течение 10 с в ёмкость 1.

2. По окончании загрузки компонента А, при работающей мешалке М начать загрузку компонента В, открыв клапан В.

3. Загрузку осуществить в течение 15 с.

4. По окончании загрузки компонента В смесь продолжить перемешивать ещё в течение 10 с.

5. Затем смесь перекачать в ёмкость 2, включив насос Н1. Об опорожнении ёмкости 1 свидетельствует срабатывание датчика реле уровня LS1.

6. В ёмкость 2 произвести загрузку компонента С в течение 10 с, открыв клапан С.

7. Дать смеси выдержаться в течение 15 с, после чего открыть клапан D
и выгрузить готовый продукт из ёмкости 2. Об опорожнении ёмкости 2

свидетельствует срабатывание датчика реле уровня LS2.

8. Подготовить линию для приготовления новой партии продукта.

 

Краткие сведения о языке SFC

 

Язык SFC (Sequentiaд Function Chart) – это графический язык, который используется для описания последовательных операций. Процесс представляется в виде набора определённых шагов, связанных переходами. К каждому переходу прикреплено логическое условие. Действия внутри шагов описаны более детально при помощи других языков (как правило – ST).

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

1. Шаги не могут следовать подряд.

2. Переходы не могут следовать подряд.

Основные компоненты SFC: шаги, начальные шаги, переходы, ориентированные связи, прыжки на шаг.

............................. Начальный шаг

............................. Шаг

............................. Переход

............................. Прыжок на шаг

............................. Макрошаг

............................. Начальный макрошаг

............................. Конечный макрошаг

Шаг представляется одиночным квадратом. Каждому шагу присваивается номер, написанный внутри квадрата. Основное описание шага пишется внутри прямоугольника, присоединённого к символу шага. Это свободный комментарий, который не является частью языка. Вышеприведённая информация называется Уровнем 1 шага (рис. 4. 1)

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...