Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Языки, основанные на применении аппарата алгебры логики

Каждая команда на таком языке выполняет элементарную логическую функцию и записывается в виде мнемокода, например RD (Read) считать (опросить) состояние начального операнда цепи или логического уравнения; AND – логическое умножение (функция И); ОR- логическое сложение (функции ИЛИ); WRT (Write)- запись (посылка) результата логической операции на выход.

 

Рис.6.4. Схема программирования на языке алгебры логики

 

Уравнение, соответствующее этой схеме

Y = (X1 + X2) X3

Программирование:

  RD X1  
  OR X2  
  AND X3  
  WRT Y  
       

Мнемокод позволяет записывать программу по логическому уравнению. Необходимо составление распечатки программы, содержащей 4 поля:

       

1-шаг программы; 2-команда; 3-операнд; 4-коментарий.

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

6.5. Языки типа мнемокода

Языки типа мнемокода или языки символического кодирования для программирования применяются значительно реже, чем СБА и РКС. Применение мнемокодов в ПЛК явилось некоторым переходным этапом от явно выраженного машинного языка типа ассемблера к языкам более высокого уровня, поэтому мнемокоды, применяемые в ПЛК, можно рассматривать как версию специализированного, проблемно-ориентированного макроассемблера.

Рассмотрим несколько команд языка программирования микроконтроллера, приведенных в табл. 6.1, и примеры составления управляющих программ с использованием этих команд.

Для реализации логической функции " И" для сигналов, поступающих на входы 01 и 02, и возбуждения при этом выхода 01 программа:

000 1Е01

001 0402

002 0В00

003 0501.

Таблица 6.1

Команды языка программирования

Обозначение команды Формат команды Краткое содержание
ПР1 04 адрес входа Проверка на наличие входного сигнала. При наличии сигнала на входе бит условия сохраняет предыдущее значение, иначе обнуляется
ВКЛ 05 адрес выхода Включить выход с заданным адресом
УСТ БУ ВХ 1Е адрес входа Бит условия принимает значение сигнала на входе
БУП 09 адрес команды Безусловный переход к выполнению команды, содержащейся по заданному адресу
УП1 0А адрес команды Переход к выполнению команды с указанным адресом, если бит условия " 1", иначе выполняется следующая по программе команда
УП0 0В адрес команды Переход к выполнению команды с указанным адресом, если бит условия " 0", иначе выполняется следующая по программе команда

а для реализации логической функции " ИЛИ" для тех же сигналов программа будет иметь такой вид:

000 1Е01

001 0А05

002 1Е02

003 0А05

004 0900

005 0501.

В сравнении с языком СБА для выполнения логических операций " И" и " ИЛИ" затрачивается в 2-3 раза большее число команд, а управляющая программа выглядит менее наглядной.

 

6.6. Основные направления развития и совершенствования языков программирования ПЛК

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

Язык команд следует рассматривать как развитие и расширение языка СБА, так как в нем кроме команд, реализующих логические функции, имеются, например, три команды описания разветвляющихся алгоритмов: " ЕСЛИ", " ТО", " ИНАЧЕ", ряд вспомогательных команд, обеспечивающих запоминание, пересылку, форматирование данных а также и арифметические операции. (Языки, формирующие задачи на обиходном языке). Примером служит ПК типа FPC фирмы “Фесто” (ФРГ).

Для той же схемы

 

ЕСЛИ вход X1  
  ИЛИ X2
  И X3
ТОГДА включить Y
ИНАЧЕ выключить Y

 

Языки несколько непривычны и требуют привыкания.

 

Язык функциональных диаграмм Графсет (Grafcet), Франция. Программирование ПЛК на данном языке осуществляется в два этапа: на первом строится граф, интерпретирующий алгоритм управления, а на втором - осуществляется привязка переменных графа ко входам-выходам контроллера и составляются соответствующие булевы уравнения.

Графическое представление алгоритма по методологии Графсет следует рассматривать как усовершенствованную модель традиционной блок-схемы алгоритма, в которой используются не только два основных типа операторов блок-схем (функциональный и условия перехода), но и целый ряд других, что позволяет приблизить графическое представление алгоритма управления к детальному технологическому описанию функционирования объекта управления.

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

Язык Графсет не получил сколько-нибудь широкого распространения, - его применяют лишь несколько французских фирм. При описании алгоритмов программного управления агрегатами ограниченной сложности язык Графсет позволяет исключительно наглядно (прозрачно) представить процесс функционирования объекта управления. По мере увеличения уровня сложности управляемых объектов наглядность представления процесса управления резко снижается (так же, как и при использовании в этом случае традиционных блок-схем алгоритмов).

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

Язык функциональных блоковых диаграмм (Function Block Diagram, FBD)(Zelio Logic), который с помощью современных инструментальных средств (инструментального пакета Ultralogik,) позволяет пользователю осуществить так называемое объектное визуальное (непосредственно на экране дисплея) программирование алгоритмов управления промышленными объектами.

Язык функциональных блоковых диаграмм (ФБД) позволяет на экране дисплея строить по существу функциональную электрическую схему управляющего устройства путем компоновки логических и других функциональных модулей, в том числе таких, как регуляторы, усилители, преобразователи и др.

В языке ФБД снижение наглядности компенсируется удобствами технологии программирования, предоставляемой пакетом Ultralogik, а именно: " не отходя" от компьютера можно осуществить конфигурирование ПЛК (т.е. выбор необходимых по типу и количеству модулей ввода-вывода и их размещение в каркасе), привязку входов-выходов ПЛК к датчикам и исполнительным механизмам управляемого объекта, составление функциональной схемы, автоматическое преобразование ее в управляющую программу, объединение отдельных программных модулей в единый проект, а также отладку и корректировку разработанного программного обеспечения.

 

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

 

/. Перечислите основные требования, предъявляемые к языкам программирования ПЛК.

2. Перечислите известные языки программирования ПЛК.

3. Дайте характеристику языка релейно-контактных символов.

4. Дайте характеристику языка символов булевой алгебры.

5. Дайте характеристику языков типа мнемокода.

5. Дайте характеристику языка основанного на применении аппарата алгебры логики.

5. Дайте характеристику языка формирующего задачи на обиходном языке.

6. Охарактеризуйте основные направления развития и совершенствования языков программирования ПЛК.


Приложение к лекции 4

Функциональные команды

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
НСТ ХХ     ОСТ ХХ   ЗСТ ХХ   ССТ ХХ НБЛ ХХ   ПБЛ ХХ     НСТ 77   ЗСТ 77   УНС ХХ Начало сегмента     Открыть сегмент   Закрыть сегмент   Сбросить сегмент Начало блока   Перейти на блок (00..76) т.е. условный переход. Конец цикловой программы. Программный останов Установить номер сектора таблицы данных 00..77     00..77   00..77   00..77 00..76   000..377     00..17 00..77     00..74   00..77   00..77 000..377   000..377 Определяет начало сегмента, выполняемого, если данный сегмент открыт Если R0=1, то сегмент адреса ХХ “открыт” Если R0=1, то сегмент адреса ХХ “открыт” То же “обнуляется” Определяет начало блока сегмента и устанавливает R0=1. Если R0=1, то переход к блоку ХХ данного сегмента.   Если R0=1, то остановка программы. Доступ в слово сектора ТД.

 

Работа с подпрограммами

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
ВПП ХХ     НПП ХХ   НПП 77   НБЛ 77 Вызвать подпрограмму   Начало подпрограммы Конец массива подпрограмм Возврат из п/п 00..07     00..07     00..377     00..377     Если R0=1, то вызывается п/п ХХ     Завершение работы подпрограммы   Завершение работы подпрограммы

 


Таймер

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
ТВД ХХХ   ТВС ХХХ     ТНД ХХХ     ТНС ХХХ   ТОД ХХХ   ТОС ХХХ   Выдержка при включении с дискретностью 0.1с ХХХ ПРК ХХХХ – десятичная константа 0000 – 4095 ПКС ХХХХХ – слово, в которое записана константа. То же с дискретностью 1с.   Накапливающий таймер с дискретностью 0.1с. То же с дискретностью 1с. Выдержка времени при отключении с дискретностью 0.1с. То же с дискретностью 1с. 000..377   000..377     000..377     000..377     000..377     000..377     000..377   000..377     000..377     000..377     000..377     000..377 Если R0=1, то 16-ый бит слова таймера ХХХ устанавливается в единицу по истечении выдержки времени, задаваемой константой (ПРК) или словом (ПРС).     При переходе R0 с единицы в ноль накопленное значение выдержки сохраняется. Сброс инструкцией СБР.     Если R0=1, то 16-ый бит слова таймера ХХХ устанавливается в единицу по истечении выдержки времени.  

 

Счетчики

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
СЧС ХХХ   СЧВ ХХХ     СЧЦ ХХХ   Счетчик на сложение ХХХ ПРК ХХХХ – десятичная уставка счетчика ПРС ХХХХХ – слово, в которое записана уставка Счетчик на вычитание   Счетчик циклов   000..377   000..377     000..377 000..377   000..377     000..377 При каждом переходе R0из 0 в 1 содержимое в счетчике увеличивается на 1; при достижении установки 16-ый бит слова устанавливается в 1.     При каждом переходе R0из 0 в 1 содержимое в счетчике уменьшается на 1. Если R0=1, то содержимое слова ХХХХ увеличивается при каждом шаге программы.

Работа с данными при (R0=1)

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
ЧТС ХХХ ЧМБ ХХХ ЧБС ХХХ ЗПС ХХХ ЗБМ ХХХ ЗБС ХХХ ПББ ХХХ   ПУС ХХХ   ПСС ХХХ   СЦС ХХХ   СЦМ ХХХ     СБС ХХХ Читать слово Читать байт младший Читать байт старший Записать слово Записать байт младший Записать байт старший Поменять содержимое младшего и старшего байта   Поразрядно умножить слово Поразрядно сравнить слово Сдвиг циклический к старшим байтам (влево)   Сдвиг циклический к младшим байтам (вправо) Сброс слова 000..377 000..377 000..377 000..377 000..377 000..377 000..377   000..377   000..377   000..377   000..377     000..377 000..377 000..377 000..377 000..377 000..377 000..377 000..377   000..377   000..377   000..377   000..377     000..377 Слово ХХХ à RW Младший байт ХХХ à Младший байт RW Старший байт ХХХ à Старший байт RW RWà Слово ХХХ Младший байт ХХХ à Младший байт слова Старший байт ХХХ à Старший байт слова Младший байт ХХХ à Старший байт ХХХ. Старший байт ХХХ à Младший байт ХХХ.   (Слово ХХХ*RW)nopà RW   (Слово ХХХ//RW)nopà RW   Циклический сдвиг слова на один разряд влево   Циклический сдвиг слова на один разряд вправо   Слово ХХХ à ноль

Инструкции сравнения

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
РВН ХХХ   БЛШ ХХХ   МНШ ХХХ   ПРН ХХХ Сравнить на равенство содержимое слова ХХХ с содержимым слова, указанного в адресе команды ПРС ХХХ. Сравнить на большее значение содержимое слова ХХХ с содержимым слова, указанного по адресу ПРС ХХХ.   Сравнить на меньшее значение содержимое слова ХХХ с содержимым слова, указанного по адресу ПРС ХХХ. Сравнить на принадлежность к пределам 000..377   000..377   000..377   000..377 000..377   000..377   000..377   000..377 Вых.=1, если (РВН ХХХ=ПРС ХХХ)   Вых.=1, если (БЛШ ХХХ> ПРС ХХХ)     Вых.=1, если (БЛШ ХХХ< ПРС ХХХ)     Вых.=1, если (ПРС ХХХ> =ПРН> = ПРС МММ)

 


Загрузка констант в аккумулятор

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
КБМ ХХХ   КБС ХХХ     Загрузить константу в байт младший Загрузить константу в байт старший   000..377   000..377    

Прочие

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
ПРС ХХХ     ПРК ХХХ   УНС ХХХ     НОП   Параметр – адрес слова Параметр - константа Установить номер сектора Нет операции   0000..7777     0000..4095   0000..7777     0000..4095   000..377   б/о  

 

Арифметические инструкции

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
САС ХХХ   ВАС ХХХ   УМН ХХХ ДЕЛ ХХХ Сложить арифметически слово Вычесть арифметически слово Умножить слово Делить слово 000..377   000..377     000..377   000..377   000..377 000..377 Если R0=1, то (RW+слово ХХХ) à RW   Если R0=1, то (RW-слово ХХХ) à RW

 

Операции с файлами

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
ПФФ ХХХ ЗСФ ХХХ ЧСФ ХХХ ПФМ ХХХ   ПМФ ХХХ Переместить файл Записать слово в файл Читать слово из файла Переместить файл в модуль Переместить из модуля в файл 000..377 000..377 000..377   000..377 000..377 000..377 000..377   000..377  

 

Экстренные сообщения

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
ЧТР ХХХ   ЗПР ХХХ Читать из регистра   Записать в регистр   000..377   000..377 Модуль ввода/вывода ХХХ пересылается в RW RWà регистр ввода/вывода ХХХ

 


Преобразования кодов

Команда Наименование Диапазон операндов Выполняемая функция
МикроДАТ ФК5000
ПБД ХХХ ПДБ ХХХ   2à 2/10 2/10à 2     б/о б/о Операнд в аккумуляторе Операнд в аккумуляторе  

 

<== предыдущая лекция | следующая лекция ==>
Применение современных инструментальных средств для программирования ПЛК и проектирования систем программного управления на их основе | Структурная схема ПК МикроДАТ




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.