11061

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

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

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

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

Русский

2013-04-03

270 KB

13 чел.

Создание и отладка программ на языке инструкций: Методические указания для выполнения практической работы по дисциплине «Интегрированные системы проектирования и управления» / Воронеж. гос. технол. акад.; Сост. И.А. Хаустов. Воронеж, 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

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


 

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

84019. Теория и практика человеческих отношений в работах Э. Мэйо 19.88 KB
  Мэйо результаты труда. Изучая влияние различных факторов условия и организацию труда заработную плату межличностные отношения и стиль руководства на производительность труда Э. Идея состоит в том что простое проявление внимания к людям оказывает очень большое влияние на производительность труда.Мэйо хотсорнский эффект свидетельствует о том что производительность труда и качество продукции зависят не столько от условий труда сколько от социальных и психологических факторов.
84020. Хоторнский эксперимент 22.3 KB
  Мейо Уорнер Фриц Ротлисбергер Вильям Диксон и другие исследовали влияние объективных факторов освещение оплата перерывы на производительность труда в пригороде Чикаго Хотторне Hwthorne. На первой стадии эксперимента учёные обнаружили что улучшение условий освещения резко увеличивает производительность труда но и ухудшение условий освещения также привело к улучшению производительности труда На второй стадии исследования учёные обнаружили что с течением времени производительность возвращалась на прежний уровень причём начинали...
84021. Теоретические взгляды Г. Мюнстерберга, их значение 21.85 KB
  Мюнстерберга их значение Самой пожалуй важной сферой интересов Мюнстерберга выступила индустриальная психология понимавшаяся им чрезвычайно широко в его работах на эту тему освещались проблемы профориентации в частности с применением психодиагностических процедур управления персоналом повышения трудовой мотивации и производственной дисциплины преодоления негативного влияния монотонного труда и т. Мюнстерберг доказывал что наилучший способ повысить производительность труда подбирать работникам должности которые соответствуют их...
84022. Бихевиоризм и теоретические воззрения А. Маслоу 23.23 KB
  Маслоу А́брахамМасло́у Авраам Масло́в англ. Широко известна иногда приписываемая Маслоу так называемая Пирамида Маслоу диаграмма иерархически представляющая человеческие потребности. Его модель иерархии потребностей нашла широкое применение в экономике занимая важное место в построении теорий мотивации и поведения потребителей Бихевиоризм и психоанализ или дефицитарные психологии как называл их Маслоу избегали многих культурных социальных и индивидуальных аспектов проявления человека таких как креативность любовь альтруизм...
84023. М.П. Фоллет и идеи гармонии труда и капитала 23.73 KB
  Фоллет и идеи гармонии труда и капитала М. Фоллет привнесла в изучение предприятий бизнеса и менеджмента концепции которые она разработала на основе знаний политологии и личного практического опыта приобретенного во время работы на руководящих должностях в общественной сфере деятельности. Фоллет мышление и практическое действие являются не изолированными видами деятельности а составляющими единого процесса в котором каждая из них может предшествовать другой и иметь по сравнению с ней большее или меньшее значение. Фоллет предлагает...
84024. Новые тенденции в развитии современной теории менеджмента 17.06 KB
  Интеграционные процессы как во внутренней среде так и во внешней во внешней среде интеграция бывает вертикальная холдинг и горизонтальная ФПГ ассоциация объединение.
84025. Вклад Д. Макгрегора в развитие идей поведенческой школы менеджмента 24.84 KB
  Макгрегора в развитие идей поведенческой школы менеджмента В начале 50х годов МакГрегор впервые сформулировал свои идеи об управлении которые в 1960 году были опубликованы в его главном труде TheHumnSideofEnterprise Человеческая сторона предприятия. МакГрегор утверждал что существует два вида менеджмента персонала первый из которых основывается на теории X а второй на теории Y. К сожалению отмечает МакГрегор в условиях современного индустриального общества интеллектуальный потенциал человека используется не полностью....
84026. Вклад П. Друкера в развитие мировой управленческой мысли 23.5 KB
  Друкера в развитие мировой управленческой мысли Живя и работая в Лондоне Питер Друкер выпускает свои первые книги 1939 и 1942 гг. Идеи высказанные Друкером в данных работах заинтересовали одного из руководителей Дженерал Моторс который пригласил его провести исследование высшего управленческого звена компании и основных принципов его функционирования. На основе данного исследования и опыта работы в консалтинговых проектах выполнявшихся им для других крупных корпораций Дженерал Электрик Сиарс Робак Друкер выпустил еще две работы:...
84027. Паркинсон С.Н. и его теоретические мировоззрения 24.1 KB
  Обратное этому утверждение гласит, что: «самым занятым является тот человек, который имеет свободное время». Причины разрастания работы заключаются в желании чиновников «множить число подчиненных, а не соперников» и «создавать работу друг для друга»