Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАМММНО-ТЕХНИЧЕСКИЕ КОМПЛЕКСЫ МИКРОПРОЦЕССОРНЫХ СИСТЕМ АВТОМАТИЗАЦИИ И УПРАВЛЕНИЯ.doc
Скачиваний:
62
Добавлен:
01.05.2014
Размер:
10.03 Mб
Скачать

Министерство общего и профессионального образования РФ

_______________

Санкт-Петербургский государственный

электротехнический университет (ЛЭТИ)

________________________________________________________

ПРОГРАМММНО-ТЕХНИЧЕСКИЕ КОМПЛЕКСЫ МИКРОПРОЦЕССОРНЫХ СИСТЕМ АВТОМАТИЗАЦИИ И УПРАВЛЕНИЯ

Учебное пособие

Санкт-Петербург

1999

Введение

Автоматизация современного производства базируется на концепции распределенного управления. Необходимость децентрализации управляющих систем во многом диктуется структурой самих объектов управления, однако практическая возможность широкого внедрения распределенных систем управления в производственные процессы появилась сравнительно недавно. Структурная организация распределенных систем управления основывается на функционально-целевой декомпозиции сложного объекта на более простые взаимосвязанные и взаимодействующие подсистемы (функциональная децентрализация), на пространственном (топологическом) распределении функций управления (топологическая децентрализация) и на принципах построения локальных управляющих вычислительных сетей (ЛУВС).

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

При этом архитектуры контроллеров, используемых для целей управления, могут существенно отличаться от традиционных машин «фон-неймановского» типа, имея, например, физически и логически разделенную память программ и память данных, память с побитной адресацией и т.д. Так же, как и локальные управляющие вычислительные сети отличаются от локальных вычислительных сетей общего назначения централизованным управлением и детерминированным доступом в канал, обеспечивающим доставку информации между абонентами сети за гарантированное время. Эти особенности аппаратно-программных средств, применяемых в распределенных системах управления, обеспечивают наилучшее соответствие децентрализованной системы принципам организационно-технологического управления территориально-рассредоточенным производством в реальном времени.

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

Специальное внимание уделено средствам отображения и визуализации организационно-технологического управления.

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

1. Программируемые логические контроллеры серий multicontrol, midicontrol, minicontrol, compact plc

1. 1. Общие сведения

Все типы промышленных логических контроллеров австрийской фирмы Bernecker&Rainer Industrie-Elektronik Ges.m.b.H.(B&R), предназначенные для построения САиУ, включают в себя, как минимум, модуль блока питания (БП) и модуль центрального процессора (ЦПУ). Помимо этого, ПЛК могут содержать в своем составе следующие компоненты:

  • модули ввода/вывода дискретных сигналов;

  • модули ввода/вывода аналоговых сигналов (АЦП и ЦАП);

  • модули интерфейса (для подключения панелей оператора и др.);

  • математические сопроцессоры;

  • модули счетчиков (для задач позиционирования и подсчета событий);

  • модули таймеров;

  • модули расширения (для подсоединения кассет расширения);

  • сетевые процессоры.

Конструктивно контроллеры делятся на:

  • модульные ПЛК крейтного (кассетного) исполнения:

MULTI-, MIDI-, MINICONTROL;

  • ПЛК моноблочного исполнения - COMPACT PLC.

ПЛК крейтного исполнения представляют собой кассету модулей, размеры которой зависят от типа контроллера. Кассета модулей является корпусом, открытым спереди и снабженным направляющими пазами (местами), в которые вставляются модули. Разводка соединительных шин производится на задней стороне кассеты, где находятся соединительные розетки для модулей. Каждая кассета имеет определенное число мест для модулей. Эти места нумеруются слева направо шестнадцатеричными номерами, начиная с места, непосредственно следующего за центральным процессором. Обозначение мест приведено в верхней части кассеты. Системные места для блока питания и ЦПУ обозначаются как NT/PS и CPU. Для монтажа в стойку управления у кассеты имеются монтажные ребра.

В качестве программирующего устройства (инструментальной ЭВМ) ПЛК использует обычный персональный компьютер (ПК). Для поддержки функций программирующего устройства фирмой B&R разработан программный комплекс PROSYS, который кроме традиционных функций редактора, ассемблера и отладчика реализует оригинальные методики программирования в терминах лестничных логических диаграмм (LAD), функциональных блоков (FBK) и схем последовательностей (SEQC).

1. 2. Аппаратное обеспечение

Рисунок 1.1 представляет общую структурную схему программируемых логических контроллеров с модулями ЦПУ, построенными на базе микропроцессоров Hitachi 6303 (Motorola 6303). Технические характеристики ПЛК приведены в таблице  1.1.

Рис. 1.1

В системном ПЗУ хранится программа тестирования при включении электропитания, однозадачная операционная система и отладчик. Пользователь не имеет доступа в системное ПЗУ.

Системное ОЗУ в основном предназначено для временного хранения системных переменных. Пользователь имеет ограниченный доступ в эту часть памяти. Системное ОЗУ использует Система Программирования B&R (PROSYS) для передачи параметров функциональным блокам.

В пользовательском ОЗУ размещается прикладная программа и данные пользователя. При пропадании электропитания данные в этом ОЗУ сохраняются за счет питания от резервной батареи.

Таблица 1.1

Тип ПЛК

MINIСONTROL

MIDICONTROL

COMPACT PLC

Модуль процессора

CP31

CP41

Моноблок

Процессор

6303

Быстродействие

Около 4 мс/1000 команд

Модуль ЗУ программ пользователя

ЕЕ32

EE32

Моноблок

Объем

Тип

16 кбайт

ЗУПВ/ЭСППЗУ

16 кбайт

ЗУПВ/ЭСППЗУ

16 кбайт

ЗУПВ/ЭСППЗУ

Память расширения

Нет

Нет

16 кбайт

ЭСППЗУ

для данных

Количество входов/выходов:

цифровых

аналоговых

192

16

192

128

16/14

2/2

Количество регистров:

сохраняющихся

несохраняющихся

7168

7148

20

Количество флажков:

сохраняющихся

несохраняющихся

800

300

500

Время/дата

Программные часы

Часы реального времени

Адресуемые аппаратные таймеры

24

64

Нет

Программные таймеры

64

Временные циклы/импульсы

10 мс, 100 мс, 1 с, 10 с

Пользовательское ППЗУ служит для хранения прикладной программы и сохраняет данные даже после пропадания электропитания. Пользователь не имеет доступа в эту память. Программирование ППЗУ производится по команде из программирующего устройства (ПК) в соответствии с содержимым пользовательского ОЗУ. Процесс программирования происходит параллельно с нормальной работой ПЛК.

Функциональные блоки, изображенные ниже магистрали системного интерфейса - это дополнительные (помимо БП и ЦПУ) модули расширения, устанавливаемые в слоты кассеты ПЛК.

Все модули ЦПУ имеют интерфейс ONLINE для связи с инструментальной ЭВМ в интерактивном режиме работы. Такой режим необходим на этапе создания прикладного ПО и его отладки. Он позволяет контролировать ход выполнения пользовательской программы, загруженной в ПЛК.

Модули ЦПУ снабжены светодиодным индикатором, отображающим различные функциональные состояния. В режиме автономной работы индикатор состояния - это единственное устройство отображения, которое может показать наличие аппаратных сбоев и программных зависаний.

В модулях ЦПУ имеется ПЗУ, содержащее библиотеку быстродействующих математических подпрограмм для выполнения операций с плавающей запятой. Эти подпрограммы являются частью операционной системы. Они вызываются из блоков стандартных функций или с помощью мнемоники команд STL (модифицированного ассемблера MOTOROLA®). Кроме основных операций сложения, вычитания, умножения, деления и извлечения квадратного корня, имеются различные программы преобразования и сервисные программы (например, сравнения или копирования). Числа представляются в стандартном 4-байтовом формате IEEE.

Для реализации в алгоритмах управления временных задержек в ПЛК реализован богатый выбор времязадающих функций. Это временные циклы, временные импульсы, программные часы и программные таймеры. Временные циклы генерируются операционной системой. Имеются четыре различных временных базы: (10мс, 10мс), (40мс, 60мс), (0,4с, 0,6с) и (4с, 6с), определяемые временем нахождения сигнала на низком и высоком уровнях соответственно.

Временные импульсы - это флажки, которые устанавливаются равными 1 операционной системой в течение цикла программы. Имеются четыре временные базы, определяющие частоты генерации импульсов: 10 мс, 100 мс, 1 с, 10 с.

Время в программных часах генерируется операционной системой. Содержимое регистров программных часов сохраняется при отключении электропитания, однако сами часы при этом останавливаются. Точность измерения времени составляет 1/100 секунды.

Все ЦПУ имеют 64 программных таймера, которые работают в режиме задержки включения. Функционирование каждого программного таймера обеспечивается специальными регистрами-флажками. Каждый таймер обслуживается тройкой флажков: флажком запуска таймера, флажком истечения времени работы таймера, флажком длительности интервала времени.

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

Остановимся кратко на некоторых из них.

Блоки питания устанавливается в крайний левый слот кассеты и вырабатывает необходимые для работы ПЛК напряжения. ПЛК MIDICONTROL и MINICONTROL могут содержать в своем составе блоки питания разных типов. Выбор типа БП необходимо производить на основе данных о суммарной потребляемой мощности всех модулей, установленных в кассету. Модули блока питания оборудованы светодиодными индикаторами, которые указывают на определенные рабочие состояния (разряд/наличие батареи, контроль выходных напряжений).

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

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

Модули аналогового ввода/вывода. Аналоговые входные модули преобразуют сигналы обратной связи (ток, напряжение или температуру) в цифровые значения, которые могут обрабатываться ПЛК. Аналоговые выходные модули преобразуют численные величины в токи и напряжения.

Модули интерфейса предназначены для асинхронного последовательного обмена ПЛК с другими устройствами (включая другой ПЛК). Модули аппаратно поддерживают интерфейсы RS 232, RS 485 и TTY.

1. 3. Программное обеспечение

Все ПЛК описываемых серий программируются с помощью Системы Программирования PROSYS, который является многоязыковой системой. При решении задач можно использовать списки операторов (STL) - традиционное программирование на языке ассемблера MOTOROLA®, но можно воспользоваться разработанным фирмой B&R языком лестничных логических диаграмм (LAD), функциональных блоков (FBK), логических схем (LD). С помощью Системы Программирования можно легко комбинировать использование различных языков программирования в программе. Это позволяет решать наиболее сложные задачи, используя четко структурированное представление. Широкий выбор стандартных функциональных блоков позволяет существенно сократить время разработки программного обеспечения.

Программу пользователя, написанную в среде Системы Программирования B&R можно разделить на две основные части (рис.1.2).

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

Служебная (сервисная) информация, не загружаемая в ПЛК и необходимая для удобного прочтения и документирования программы. Это таблица символьных идентификаторов адресов памяти, подпрограммы в графическом представлении, текстовые комментарии.

Система Программирования B&R включает в себя несколько редакторов, которые предназначены для создания различных блоков пользовательской программы.

Лестничные логические диаграммы являют собой методологию программирования, в которой реализация задачи управления сводится к построению принципиальной электрической схемы управления объектом, как если бы данная задача решалась исключительно на аппаратном уровне. Язык LAD, будучи графическим средством построения таких схем предоставляет, следующие основные типы схемных элементов: контакты, пути, логические блоки, функциональные блоки.

Рис. 1.2.

Контакты предназначены для представления в LAD ячеек памяти ПЛК, причем в зависимости от типа контакта это может быть отображение ячейки памяти данных для передачи байтовых сигналов или адреса метки памяти программ для организации условного выполнения фрагментов LAD. Функциональные блоки осуществляют обработку данных, поступающих с входных контактов, и выдачу результатов обработки на выходные контакты. Пути, визуально связывая контакты между собой и с функциональными блоками, определяют последовательности передачи информации между ними. Логические блоки реализуют основные логические развязки между путями.

Процесс отображения разработанного LAD-приложения в ПЛК состоит из в традиционных этапов:

  • создание описания LAD с помощью редактора;

  • компиляция созданной LAD в STL-представление;

  • загрузка полученного кода в ПЛК;

  • отладка LAD.

В качестве примера применения реализации алгоритмов в терминах LAD-программирования рассмотрим следующую ситуацию.

Аналоговый входной модуль PE82 занимает в крейте слот 3. С объекта управления на каналы 2..5 поступают аналоговые сигналы реакции объекта. Необходимо произвести прием и цифровое преобразование сигналов; опрос каналов должен начинаться со второго. Результат должен храниться в таблице регистров, начиная с R 0200. Фрагмент LAD-диаграммы будет иметь вид, показанный на рисунке1.3.

Для программного обеспечения модуля PE82 используется блок AINB. Этот функциональный блок генерирует цифровой эквивалент аналогового сигнала, зарегистрированного данным модулем. Аналоговый сигнал (0..10 B или 0..20 mA) преобразуется в цифровое значение, лежащее в диапазоне от 0 до 1000 (разрешение 10 бит).

Рис. 1.3.

Результаты преобразования хранятся как 2-байтовые значения в таблице регистров, определяемой входом DEST функционального блока. За один скан (цикл) программы производится преобразование одного канала, при этом для преобразования аналоговых сигналов одного модуля может использоваться только один блок AINB, назначение контактов которого приведено в таблице 1.2.

Таблица 1.2

Вход/

выход

Описание

Типы

адресов

ENABLE

Если ENABLE=1, то FBK будет выполняться. Если ENABLE=0, то преобразование прекращается и значения, записанные в таблицу DEST, более не обновляются.

R, F, #

LENGTH

Число каналов, сигнал с которых должен быть преобразован в цифровую форму (от 1 до 8).

#

SLOT

Номер слота в крейте, в который установлен PE82 (от 0 до 7).

#

CHAN

Номер канала, сигнал с которого будет первым подвергнут преобразованию в цифровую форму. При этом сумма CHAN и LENGTH не должна превышать 8.

#

DEST

Начальный адрес таблицы регистров для хранения преобразованных значений. В зависимости от значения LENGTH блок генерирует таблицу длиной от 2 до 16 байт. Хранимые в них числа лежат в диапазоне от 0 до 1000, что соответствует аналоговому сигналу 0..10 B или 0..20 mA. Если в регистровой паре находится число в диапазоне 1001..1023, то это указывает на превышение входным сигналом максимального заданного значения.

[ADR]R

ERROR

Выход, указывающий на неправильное определение одного из входов FBK. Если ERROR=1, то регистры DEST не обновляются текущим значением аналогового сигнала, а хранят последнее значение, считанное до перехода ERROR в 1.

R, F

BUSY

Флаг занятости АЦП. Принимает высокое значение, если производится преобразование.

R, F

POINTR

Содержит номер канала АЦП, для которого в настоящее время производится преобразование. Преобразованное значение будет записано в соответствующую пару регистров таблицы в ходе следующего выполнения FBK.

R

Программирование в операторах STL. Наиболее сложные задачи программирования могут быть решены в рамках списка операторов. STL - это более, чем программирование на языке ассемблера. Блоки команд содержат как элементарные команды процессора, так и сложные подпрограммы для выполнения арифметических операций с плавающей точкой, которые интегрированы по умолчанию во всех системах ПЛК B&R.

Преимущества STL:

  • В рамках STL можно создавать программы, оптимальные с точки зрения времени выполнения и необходимого объема памяти.

  • В рамках STL разрешимы почти все задачи.

Недостатки STL:

  • Необходимо хорошее знание STL-команд.

  • STL-программа не имеет столь же простой и гибкой структуры, как LAD-программа. Ее трудно изменять.

  • STL-программу необходимо снабжать более обширной документацией, чем LAD-программу, поскольку графическое представление LAD уже является частью документации.

Редактор функциональных блоков FBK. Программирование лестничных логических диаграмм с помощью функциональных блоков (схем) аналогично структурному программированию. Части программы представляются прямоугольниками на экране. Пользователь лишь соединяет входные и выходные параметры блоков. У B&R имеется обширная библиотека стандартных функциональных блоков, что облегчает разработку программ. Существуют стандартные FBK для обработки аналоговых сигналов, математических функций, общих процедур обработки данных, коммуникаций и поддержки аппаратного обеспечения B&R.

Эти FBK могут включаться в LAD и при необходимости комбинироваться со всеми элементами LAD.

В Системе Программирования B&R имеется возможность определения и программирования новых функциональных блоков с помощью редактора FBK. На первом этапе определяется форма блока, т.е. количество и название входов и выходов. На втором этапе определяются функции FBK с помощью STL-программы. Программирование функциональных блоков требует от программиста хорошего знания языка STL. К FBK обращаются, как к так называемому «черному ящику». Пользователь знает из программного описания назначение FBK, а также функции его входов и выходов и требуемые для них данные. Функция такого «черного ящика» определяется в STL-программе.

Рассмотрим структуру пользовательского FBK на примере разработанного программного обеспечения (часть листинга программы) (рис. 1.4). Первая часть описания FBK (строки 777*@) служит документацией на функциональный блок. Здесь указывается полное название блока и общий вид при вызове в LAD. Указаны тип и длина входных и выходных данных. Для каждого входа и выхода показывается смещение относительно индексного регистра X. Регистр X хранит указатель на служебную область памяти ПЛК, недоступную при предварительном выборе адресов и используемую для обмена данными между логической диаграммой и вызываемым функциональным блоком. Вторая часть описания (строки 777-784) представляют реализацию алгоритма работы FBK в операторах STL.

Рис. 1.4.

Назначение данного функционального блока состоит в выборе одной из двух входных величин «DATA A» и «DATA B» и передаче ее на выход. Если вход SELECT содержит 0, то выбирается DATA A; если 1 - то DATA B.

Задание схем последовательности вызова подпрограмм. Схема последовательности служит для оформления последовательности вызова нуждающихся в обработке лестничных диаграмм и других SEQC. Можно сказать, что схема последовательности - это список вызываемых подпрограмм, являющийся сам по себе тоже подпрограммой. Обращение к элементам SEQC может производиться только последовательно.

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

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

Необходимо также отметить следующие особенности программирования ПЛК:

  • Большая часть программы ПЛК постоянно выполняется циклически (за исключением инициализационной части, которая выполняется в первом программном цикле после сброса).

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