11061

Создание и отладка программ на языке инструкций

Практическая работа

Информатика, кибернетика и программирование

Создание и отладка программ на языке инструкций: Методические указания для выполнения практической работы по дисциплине Интегрированные системы проектирования и управления / Воронеж. гос. технол. акад.; Сост. И.А. Хаустов. Воронеж 2011. 13 с. Указания разработаны в соотве...

Русский

2013-04-03

270 KB

14 чел.

Создание и отладка программ на языке инструкций: Методические указания для выполнения практической работы по дисциплине «Интегрированные системы проектирования и управления» / Воронеж. гос. технол. акад.; Сост. И.А. Хаустов. Воронеж, 2011.  13 с.

Указания разработаны в соответствии с требованиями ООП подготовки бакалавров по   направлениям 220700 – «Автоматизация технологических процессов и производств» и 220400 – «Управление в технических системах».Методические указания посвящены обучению  навыкам создания, подключения и отладке управляющих программ в среде SCADA TRACE MODE на языке инструкций, поддерживающего стандарт МЭК 1131.

Ил. . Библиогр.:  назв.

Составитель доцент И.А. ХАУСТОВ

Научный редактор  профессор, д.т.н. В.Ф. ЛЕБЕДЕВ

Рецензент профессор, д.т.н. Ю.А. ЧЕВЫЧЕЛОВ

Печатается по решению

редакционно-издательского совета

Воронежской государственной технологической академии

 Хаустов И.А.,  2009

Воронеж. гос. технол. акад., 2009

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

Цель работы

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

Постановка задачи

  1.  В редакторе базы каналов с помощью встроенного редактора создать программу, реализующую одну или несколько функций управления и обработки сигналов (функциональное назначение программы определяется преподавателем)
  2.  Провести трансляцию созданной программы с целью оформления в виде функционального блока.
  3.  Осуществить включение созданного функционального блока в соответствующе место FBD программы и  подключение программы к соответствующим каналам контроля и управления.
  4.  Оформить отчет.

Краткие теоретические сведения

         

. К основным понятиям языка Техно IL относятся:

 Переменные;

Константы;

Операнды;

Операции;

Функции;

Метки;

Операторы;

Комментарии.

Техно IL  использует следующие  типы переменных.

I - входные переменные;

Q - выходные переменные;

E - статические переменные;

W - статические глобальные переменные;

F - динамические переменные.

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

И системные переменные:

esult – аккумулятор (для одноадресных операций);

CMP - признак истинности.

Входные переменные (I)

Переменные данного типа являются входными аргументами IL-программы. В зависимости от типа программы назначение переменных этого типа несколько меняется.

В программах типа FB эти переменные являются входами создаваемого блока.

Количество создаваемых для блока входов определяется старшим номером переменной типа I. Например, если в программе используется переменная I5 и таких переменных с большими номерами нет, то блок будет иметь шесть функциональных входов. При этом переменная I5 будет получать значения с последнего функционального входа, а I0 – с первого.

В IL-программе типа FB можно использовать до 13 переменных типа I.  При этом их суммарное количество с выходными переменными (Q) не должно превышать 15.

В программе типа PRG входные переменные могут связываться с атрибутами каналов. Не связанные с каналами переменные типа I могут использоваться как свободные для хранения промежуточных результатов. Максимальное количество переменных этого типа равно 256.

Выходные переменные (Q)

Переменные данного типа являются выходными аргументами IL-программы. Их использование зависит от типа программы.

В программах типа FB эти переменные связываются с выходами блока. Количество выходов блока определяется старшим номером переменной данного типа как и для входных переменных. Максимальное количество выходных переменных в IL-программе типа FB равно 8 (максимальный номер – 7).

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

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

В метапрограммах можно связать переменные I и Q с атрибутами каналов. Для этого в тексте программы надо создать раздел описания связей. Он должен располагаться за словом PROGRAM, начинаться строкой VAR_IN_OUT и заканчиваться –  END_VAR. Между этими строками размещаются строки описания соответствия. Они имеют следующий формат:

<переменная> <имя канала> <атрибут>

Статические переменные (E)

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

В IL-программе типа FB максимальное число статических переменных равно 4 . Для программ типа PRG это количество составляет 256. Эти переменные являются общими для всех метапрограмм одного узла.

Значения статических переменных можно также контролировать и формировать в FBD-программах с помощью  функциональных блоков EREAD и WRTE.

Статические глобальные переменные (W)

В рамках узла операторской станции или глобального регистратора таких переменных можно использовать до 1024, в контроллере их может быть до 256.

Глобальные переменные можно использовать в любых IL- и FBD-программах. Их значения можно считывать в реальном времени из файлов, передавать по сети, запрашивать по OPC, а так же отображать и управлять ими с помощью форм отображения.

Для получения значений глобальных переменных в FBD-программах используются блоки WREAD и AREAD. Для формирования значений глобальных переменных предназначен блок WRTW из того же раздела. Считыванием значений этих переменных из файла управляет блок WFILE, а передачей по сети – NSND. Для настройки форм отображения на глобальную переменную надо в списке объектов указать объект W_Global, а в списке каналов выбрать нужную переменную.

В программе на TechnoIL невозможно обращение к глобальным переменным с индексом больше 255.

Обращение к переменным с индексами от 0 до 1023 возможно только в FBD программах через блоки WTRW, WREAD или AREAD.

Динамические переменные

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

Системные переменные

В языке Техно IL используются две системные переменные:

result -;CMP 

Первая из них используется при одноадресной записи операций. В этом случае она является вторым операндом и в нее записывается результат. Для явного вызова этой переменной используется идентификатор X. 

Переменная CMP формируется операциями сравнения и оператором TEST. Она может принимать значения истинно или ложно и используется операторами условного перехода.

Константы

Константы могут быть двух типов:

      целые числа в диапазоне от –127 до 127;

     любые другие числа.

Эти константы могут записываться в десятеричном и в шестнадцатеричном виде. Шестнадцатеричная константа начинается с .

Ограничений на число констант первого типа не накладывается. Максимальное число констант второго типа для программ типа FB равно 10, а для PRG – 40. Совпадающие по значению константы считаются за одну.

Операнды

Каждая инструкция программы содержит оператор и операнды. Оператор задает действие, которое надо выполнить с операндами. В качестве операндов в IL-программе могут использоваться все описанные выше переменные, кроме CMP, а также константы.

Значение операнда HEX-формата, задаваемого константой, не может быть больше 0xFF (255).

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

Синтаксис записи операций

В соответствии со стандартом в строке записывается сначала мнемоническое обозначение операции, затем через пробел – операнд.. Техно IL позволяет использовать два операнда и мнемоническое или символьное обозначение операции. Кроме того, обозначение операции может быть помещено между операндами.

 Внимание! При записи символа операции между операндами он должен быть отделен пробелами с двух сторон.

Например, операция сложения переменной Q1 с переменной I2 с записью результата в первую из них в соответствии со стандартом записывается следующим образом:

LD Q1

ADD  I2

ST  Q1

В Техно IL эта операция может быть записана так же, а может - существенно компактнее:

ADD  Q1  I2

или 

+  Q1  I2

или 

Q1  +  I2

В одной строке программы можно записать несколько операций. В этом случае их следует разделять символом “;”.

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

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

КОНТРОЛЬНЫЙ ПРИМЕР:  Разработать функциональный блок позиционного регулирования, который учитывает величину гистерезиса и формирует управляющие  дискретные сигналы  (0 или 1) на 2-х функциональных выходах.

Шаг 1.  Составим спецификацию функционального блока.

Очевидно, что для разработки такого функциональный блок на языке инструкций,  требуется зарезервировать  3 функциональных входа и 2 выхода.

Спецификация входных и выходных переменных функционального блока

Идентификатор переменной

Тип

Вид представления

Назначение

I0

Вход

FLOAT

Контролируемая величина

I1

Вход

FLOAT

Эталонная величина

I2

Вход

FLOAT

Величина гистерезиса

Q0

Выход

HEX

Управляющий сигнал на уменьшение

Q1

Выход

HEX

Управляющий сигнал на увеличение

Шаг 2. Составим алгоритм работы программы.

Программа  должна контролировать рассогласование (I) значений двух первых входов (I=I0- I1) и устанавливать на двух выходах  0 или 1 в зависимости от результата сравнения (I) и  величины, установленной на третьем входе I2.

Если I > I2,   то Q0=1, Q1=0;

если I < - I2, то Q0=0, Q1=1;

если - I2 I I2, то Q0=0, Q1=0.

Шаг 3. Составим  программу на языке инструкций.

Чтобы создать программу на Техно IL, надо войти в окно редактирования базы каналов и выполнить команду Создать из меню Техно IL редактора базы каналов. При этом на экране появится следующий диалог.

Оставим тип заданным по умолчанию – FB (функциональный блок). Присвоим программе имя PR, а создаваемому функциональному блоку – PR. Далее введем в левом окне текст программы, как показано на рисунке.

Чтобы проверить синтаксис программы,  выполним команду Дамп из меню Правка. Результат проверки выводится в правом окне.

Если сообщений об ошибках нет, то программу можно подключать к системе. Но сначала ее надо транслировать. Это реализуется нажатием ЛК на кнопке Трансляция. Если трансляция прошла успешно, то в правом окне появится надпись ОК. Теперь для подключения программы надо нажать ЛК на кнопке Добавить.

После добавления в проект нового блока в директории ASM инструментальной системы сохраняются два файла с именем, образованным из дополнительного имени программы. Эти файлы имеют расширения il и icl. Первый из них содержит текст программы, а второй – код, полученный в результате трансляции.

Кроме того, в директорию INI инструментальной системы сохраняется файл с именем icl<n>.def, где <n> – номер добавленного блока: от 0 до 53. Этот файл имеет текстовый формат. В нем описываются имена входов и выходов блока. По умолчанию им присваиваются имена I<n> и Q<n>, где  <n> – номер по порядку. Эти имена можно изменить, но при этом надо учитывать, что название входа или выхода не должно содержать более 3 символов.

При выходе из редактора или загрузке в него нового проекта файлы программ из директории ASM и файлы icl<n>.def из директории INI копируются в соответствующие каталоги директории проекта. При следующей его загрузке они снова копируются в инструментальную систему. Если в ее директориях присутствуют файлы от предыдущего редактируемого проекта, то при совпадении имен и номеров они затираются.

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

Шаг  4. Подключение программы.

Перейдем в окно редактирования FBD-программ и в диалоге Меню FBD выбрать раздел Техно IL_1, то в нем будет присутствовать только что созданный блок.

 

При размещении функционального блока в поле создания и редактирования FBD программ блок будет выглядеть, как показано на рисунке.

Подключение FBD программы выполняется  обычным способом.

Требования к отчету.

Отчет о работе должен содержать

  1.  Название работы;
  2.  Цель;
  3.  Постановку задачи;
  4.  Спецификации входных и выходных переменных создаваемых функциональных блоков.
  5.  Алгоритмы функций, выполняемых функциональными блоками.
  6.  Тексты программ.


Библиографический список

Учебное издание

СОЗДАНИЕ И ОТЛАДКА ПРОГРАММ НА ЯЗЫКЕ

ФУНКЦИОНАЛЬНЫХ БЛОКОВ

Методические указания для выполнения лабораторной работы по дисциплине «Интегрированные системы проектирования и управления»

Для бакалавров направлений  220700, 220400

Составитель ХАУСТОВ Игорь Анатольевич

Компьютерный набор и верстка И.А. Хаустов

Подписано в печать

Формат 60х84 1/16. Бумага офсетная. Гарнитура Таймс. Ризография.

Усл. печ. л.  . Уч.-изд. л.     . Тираж 100 экз. Заказ

Воронежская государственная технологическая академия (ВГТА)

Участок оперативной полиграфии ВГТА

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

394000 Воронеж, пр. Революции, 19


Вход в программу

нициализация и вычисление промежуточных переменных

I > I2

Q0=1,QI1=0

I <- I2

Q0=0, Q1=1

Q0=0, Q1=0

Выход из программы


 

А также другие работы, которые могут Вас заинтересовать

75392. Модальность и наклонение 13.94 KB
  выражается поразному. – только то что выражается спрягаемыми глагольными формами в позиции сказуемого. выражается парадигматически и аналитически. Изъявительное – выражается системой времён при участии вида – через видовременную систему; Повелительное – см.
75394. Формообразование русского глагола 55.5 KB
  Наклонения: формы прошедшего времени изменяются по родам в ед. Причастия изменяются как прилагательные – по падежам родам и числам формы на ся страдательный залог без ся – действительный. и прошедшего времени Формы повелительного наклонения не изменяется.
75395. Междометие как особая часть речи 52 KB
  Но междометия никогда не бывают связками 2. К междометиям относятся и звукоподражания напр: кхекхе уауа хахаха хихи; крякря. Все междометия входят в эмоциональную сферу языка где они употребляются вне связи с другими словами однако как выразительные языковые средства междометия нередко употребляются за пределами собственно эмоц.сферу этикета По способу образования Первообразные междометия образованы от эмоциональных выкриков восклицаний а также возгласов сопровождающих рефлекторных реакции человека.
75396. Предмет и задачи морфологии. Основные единицы изучения и описания 22.48 KB
  Учение о форме раздел лингвистики основным объектом которого являются слова естественных языков и их значимые части морфемы. К морфологии имеет отношение все то что выражается внутри слова будь то содержательные или формальные аспекты его устройства. Слово как лексическая единица или единица словаря – это формально выраженная система всех его лексических значений. в центре внимания морфологии стоят грамматические характеристики слова.
75397. Грамматическое значение. Его отличие от лексического и словообразовательного значения. Основные способы грамматического оформления слова в русском языке 16.32 KB
  Грамматическое значение. Основные способы грамматического оформления слова в русском языке Грамматическое значение обобщённое отвлечённое языковое значение присущее ряду слов словоформ и синтаксических конструкций находящее в языке своё регулярное стандартное выражение в грамматических формах например значение падежа имён существительных времени глагола и т. Разница между ГЗ и лексическим значением: 1 ЛЗ универсальны в том смысле что ни один язык не может обойтись без них. Как правило то или иное лексическое значение...
75398. Что такое «части речи»? Принципы их выделения. Л.В.Щерба о частях речи в русском языке. Современные классификации русских частей речи 34 KB
  Что такое части речи Принципы их выделения. Щерба о частях речи в русском языке. Современные классификации русских частей речи по АГ80 и Грамматическому словарю А. Зализняка Части речи ЧР классы слов языка выделяемые на основании общности их синтаксических морфологических и семантических свойств.
75399. Основные позиции в высказывании и категориальное значение частей речи. Признаки, определяющие грамматическое поведение слова. Основные трудности, возникающие при определении части речи 40.36 KB
  Основные позиции в высказывании и категориальное значение частей речи. Основные трудности возникающие при определении части речи. Человек может ничего может не знать о частях речи но он сможет задать к слову адекватный вопрос что делал бежал и это является главным обоснованием существования естественной классификации на части речи. какие значения вы обязаны выразить у этого слова если оно занимает эту позицию относится к этой части речи.