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

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


 

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

20656. Основные принципы диалектики 62.5 KB
  Сложные связи разнообразных явлений пронизывают абсолютно всё мироздание и неразрывны в своей основе хотя материя и разнородна. Можно дать следующее определение связи – это атрибут материи являющийся общим выражением зависимости между явлениями отражением взаимообусловленности их существования и развития. Под отношением следует понимать одну из форм момент всеобщей взаимосвязи предметов и процессов раскрывающей существование объекта не только самого по себе но и для других речь идёт о том что отношения всегда устанавливаются между...
20657. Мировоззрение – понятие, структура и формы. Мировоззрение и философия 82 KB
  В более развёрнутом виде мировоззрение можно рассматривать как целостную самостоятельную социально детерминированную систему в которой сложно отражены и взаимосвязаны наиболее общие взгляды образы оценки принципы чувственные и рациональные представления индивида и коллектива о действительности в объективном природном общественном и субъективном индивидуальном состоянии и отношении к ним человека в его духовной деятельности. Основной проблемой мировоззрения выступает вопрос о специфики отношений связующих человека и мир. Раскрытие...
20658. Предмет, структура, функции философии. Философия и культура. Философия и наука 100 KB
  Определение философии. Подобное понимание лишает философское знание научной специфики создаёт ложное представление о философии как чистом мышлении способном существовать вне связей с объективной реальностью размывает уникальность её предмета целей задач и методов исследования а также ограничивает рамками личностного субъективного видения мира. Поэтому для определения философии можно использовать такой этимологический перевод как любовь к истине.
20659. Философия Древней Индии и Китая 88 KB
  Небо выступает в роли судьбы рока Дао дословно путь в данном случае – божественный небесный путь или правильный жизненный путь человека и народа полностью соответствующий небесной воле. Как таковой культ прошлого поклонение предкам и древней мудрости является характерной чертой всей древнекитайской культуры что находит своё отражение и в конфуцианстве считавшем прошлые поколения более нравственным наполненными благоговением перед небесным владыкой и стремящимися максимально соответствовать Дао. Даосизм. В качестве основной...
20660. Происхождение античной философии. Первые досократические философские школы 160.5 KB
  Закономерность приравнивалась к законности а упорядоченность мира представлялась как легитимность. То есть уже на ранних шагах античной мысли представление о картине мира выстраивалась на взглядах содержащих первые рациональные представления пытающиеся преодолеть ограниченность мифологических вымыслов и рассмотреть человека общество в качестве центра Вселенной что и приводило к определённому антропоморфизму в понимании процессов объективной реальности. Eidos – образ вид; подразумевалось идея понятие или метафизическая сущность...
20661. Философские идеи Сократа 41.5 KB
  Философ считал что письмена делают знания отстранёнными внешними для человека и мешают глубокому пониманию истины и воспитанию личности. Поэтому считая что истина содержится внутри самого человека предпочитал живой диалог спор как единственно правильное средство получения достоверных знаний о мире. Второй зрелый этап сосредоточен на раскрытие природы человека. Философия должна открывать человека исследовать его так как именно в нас заключено то познавательное начало которое способно изучать и аккумулировать знания как о себе...
20662. Философское учение Платона 70.5 KB
  Платон настоящее имя Аристокл Платон от греческого platys – широкоплечий полный 427 – 347 год до н. Платон был основателем собственной философской школы занятия слушателей которой проходили в роще посвящённой античному герою Академу что непосредственно повлияло на её название Академия. Философская Академия Платона просуществовала 915 лет.
20663. Философия Аристотеля, Критика платоновского учения об идеях 72.5 KB
  Аристотель 384 – 322 год до н. Аристотель проучившись в платоновской академии 20 лет вплоть до смерти Платона развивал философские положения своего учителя придерживаясь объективного идеализма и смог привнести в это течение новые неоспоримо значимые идеи. Аристотель предпочитал проводить занятия со своими учениками прогуливаясь по саду вблизи школы. Для обозначения философской школы Аристотеля используется и такое название как перипатетика от греческого peripatio – крытая галерея занятия Аристотель проводил не только прогуливаясь...
20664. Философские школы поздней античности (эллинистическая эпоха) 186.5 KB
  Если ранее у греков существовало представление о своём духовном превосходстве над варварами не способных к культуре и к свободной деятельности что запечатлевалось даже в работах Платона и Аристотеля то в новую эпоху взаимовлияния культур формируется представление о едином бытие человека. Под влиянием восточных культур например астрологических и мистических течений Вавилона происходит эклектическое соединение рационального и сверхъестественного в понимание мира что пагубно отражается и на морали где вера в судьбу в определённость...