Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УРиPТС часть1.doc
Скачиваний:
5
Добавлен:
28.05.2015
Размер:
2.68 Mб
Скачать

Системы и средства реализации и применения вычислительных алгоритмов и алгоритмов управления (сравнительная характеристика)

Введение

Компьютер – это программно-управляемый вычислительный автомат.

Контроллер – это программно-управляемый вычислительно-управляющий автомат.

ПЛК – программируемый логический котроллер (С 300)

ПК: Средства разработки и исполнения

а) ОС – система ПО общего назначения (WINDOWS NT)

б) среда разработки ППО (оболочка) (Pascal, Delphi и др.)

средства автоматизации программирования (специальный редактор) компилятор – модуль

Транслятор (общий термин)

Компилятор

(переводит сохраняемый текст, использует сохраняемый текст)

Интерпретатор

(построчный переводчик, не сохраняющий весь текст целиком)

User вводит данные с клавиатуры и ПК начинает обрабатывать их.

User за тем же ПК в той же WinNT.

ПЛК: Средства разработки и исполнения.

а) ОС – системное ПО

б) среда разработки ППО (прикладное программное обеспечение)

средства автоматизации программирования (специальный редактор) компилятор – программа

Современные ПЛК созданы на модульной основе (из отдельных модулей). Имея ввиду, что они должны принимать и отдавать множество сигналов в реальном времени, важнейшими их модулями являются: модули ввода, модули вывода (ЦПУ – CPU – центральное процессорное устройство {ввод/вывод})

ПК: ППО

После выполнения программы, она останавливается

ПЛК: ППО

Программа сама никогда не останавливается, она крутится в цикле. Вычислительный и управляемый автомат АСУТП

Системы и средства реализации и создания ПО для С300

С 300 имеет аналог Siemens S5, у которого язык программирования Step 5

С 300

Среда разработки «Интервью»

Языки:

- ЛМК (логический мнемокод)

- РКС (язык релейно-контактных схем)

ЛМК относится к классу ассемблерных языков

Функциональная схема ПЛК С 300

На А и В находятся CPU и модуль памяти.

Модули – это объединенные модули ввода/вывода на 16 точек (16 бит), соответственно разделенных на байты. Каждый модуль имеет соответственно 16 точек. Здесь спец перемычками можно настроить каждый модуль (бит, разряд или точку) на выполнение либо ввода, либо вывода

Eingang - вход (Е)

Ausgang – выход (А)

Пусть: 06 байт настроен на вход,

07 байт настроенный на выход.

Тогда: Е 06.0 – абсолютный мнемологический адрес данного входа

+ Е 06.1

:

Е 06.7

А выходы будут А 07.0…А 07.7

Схема выполнения программы в ПЛК

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

В общем случае:

а) прием информации (входной) в ПЛК (занесение в ОП (оперативную память)), обрыв связи с внешним миром.

б) выполнение цикла программы

а) прием данных из памяти ППО

б) вычисления, выполнение цикла программы

Этапы выполнения программы

Системное ПО разрешает прием входных сигналов в ПЛК, т.е. помещает их в память входов (ОП входов). После этого «связь» с внешней средой прекращается (в общем случае)

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

Программа выполняется со всеми подпрограммами до конца или конечной команды BE

Системное ПО разрешает выдачу из памяти выходов сигналов наружу (к оборудованию). После чего повторяется вся схема этапов заново.

Заметим, что внутри программы в С 300 и ряде других ПЛК вообще запрещается: внутренние циклы (for, repeat, until)

Понятие времени скана

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

Понятие длительность цикла – говорят что это некоторый интервал Δt между временами выполнения некоторой одной команды в тексте программы. Эта величина переменная, но в заданных для ПЛК пределах.

Общий вид памяти входов, выходов.

Иначе эти области памяти называются области отображение входов, выходов метон и дирп.

Учитывая, что при работе ПЛК часто приходиться обрабатывать входные и выходные биты. Здесь для ускорения обращения к отдельным битам область отображения выполнена в виде двух дублей одних и тех же данных: так называемая упакованная область и распакованная область для каждого из указанных видов.

Метка – некоторая область памяти, выделенная для промежуточных результатов, заносимых пользователем.

Структура области отображения входов (Е)

Точно так же выглядит область выходов (A)

Программистская модель ПЛК

Понятие адресности в командах

Адресность – количество адресов операндов которые можно указать в одной команде называется адресностью.

Команды бывают:

Безадресные, одноадресные, двухадресные, трехадресные, четырехадресные.

S – знак

Z – zero

C – carry

O – over for (переполнение)

P – parity (четность, количество единиц в результате)

Безадресные (RET, STR)

Одноадресные (SPA = M2)

Двухадресные (MOV Ax, Bx)

Трехадресные

y = a + b

Одноадресный

Внс a: Akn: = a

Си b: Akw: = a + b

Зп y: y: = a + b

Двухадресный

MOV AX, byte ptr a

add byte ptr b

mov byte ptr y, AX

Трехадресный

Сл a, b, y ; y = a + b

Четырехадресный

Сл. A, b, y ; = M2

AB1 EB1 байт

AW1 EW1 слово

AG1 EG1 двойное слово

RW1 – более главный регистр-аккумулятор

Команды условного и безусловного перехода.

Выполнение 4-х операций.

В С 300 используются безадресные арифметические команды.

Арифметические операции

Здесь четыре арифметических действия: «+», «-», «*», «/» - эти операции безадресные по структуре.

+ W – сложение

Для выполнения операции «a + b» первый операнд из памяти (упакованный). Первый операнд вызывается нами, предварительно он помещается в RW1.

Примечание: свойства операции загрузки в RW1

Загружаются данные в RW1, а в RW2 автоматически заносится предыдущее значение RW1

LW KF a; a → RW1, RW1 → RW2

LW – загрузить

TW – отправить

LW KF b; b → RW1, a→RW2

+ W ; RW1 + RW2 → RW1 = b + a

Для вычитания:

- W ; RW1 = RW2 - RW1 = a – b

LW EB2 - загрузка в младшую часть аккумулятора

LW EW2 - загрузка слова в аккумулятор

0W 0,1

1W 1,2

2W 2,3 байты из упакованной области

LA – логический аккумулятор

Информация поступает из распакованной памяти.

U E 1.0 - загрузка в LA E 1.0

U E 1.0 - логически умножается, т.е.

Для того, чтобы некая логическая команда (U, O и др.) являлась командой первичной загрузки в аккумулятор, то предыдущая команда должна иметь признак (статус) команды «команда заканчивает опрос».

Т.к. результат любой одноразрядной битовой операции или логической операции всегда один разряд («0» бит LA), то он же здесь служит и логических флагом.

Есть группа команд, которые работают по условию логического флага (LA)

Индексные команды. Основные виды адресации

Прямая адресация – в команде указывается адрес операнда

В Pascal:

var

a: byte ; выделить область памяти

.

.

.

y: = a +b

В С 300

LW EB 2

Косвенная адресация

В Assembler

mov ax, [bx]

Размер сегмента 64 кб

[bx] – означает смещение от начала сегмента

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

Индексная адресация – нужна для обработки массивов информации. Для этого должен существовать некоторый закон, вычисляющий адрес i-го элемента как функция от адреса (i – 1)-го элемента.

Адр. эл. i = f (элемент i -1)

Адр. эл. i = адр. эл.i-1 + 1

A = {ai , }

Индексация

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

В ЛМК (логический мнемокод) используется идея «индексных регистров», в качестве которых может выбираться некоторое слово меток MWx, либо некоторое слово из блока данных DWx. В этом индексном регистре производиться формирование приращения к адресу. Общая структура индексированной команды:

B MWX

+K On Адрес

Здесь указанный в команде «Адрес» является в общем случае начальным адресом массива (О-ый элемент массива). При выполнении индексной команды образуется исполнительный адрес состояний, который вычисляется + содержимое слова MWx.

Исполнительный адрес = Адрес (команды) + <MWx>

Именно поэтому рекомендуют считать начальный элемент , а в индексный регистр записывается 0. Исполнительный адрес = Адрес + 0 программист инкрементирует индексный регистр.

Одними тем же индексным регистром в теле программы можно пользоваться несколько раз (без его изменения)

Обратить внимание, что при индексировании логических битовых команд

B MW 25

+U E 2.0

EB 2 – побайтно

EW 2 – пословно

Структурная организация ПО в С 300

В терминологии С 300 отдельные программные единицы называются блоками.

Вообще структурирование программ, в том числе разбиение их на блоки, неотъемлемый подход к разработкам современных ПО, в том числе ПЛК контроллеров

В С 300 выделяются организационный блоки (ОВ), где ОВ – зарезервированное имя. Организационные блоки условно разделяются на две части:

ОВ 1 – для “main” (главный)

ОВ 0, ОВ 2 … ОВ n – есть соответствующие функциональному назначению

Программные блоки {PB I, i=0…255} PB 0, PB 27 – это зарезервированные имена для отдельных программных модулей, без ориентации на что то, т.е. программист может для реализации программы выбирать себе любые имена, в любой последовательности. По аналогии РВ – это процедуры без предварительных параметров.

Функциональные блоки {FB, i=0…255} Здесь FB – это аналог процедур, но с возможностью передавать параметры, т.е. FB используется для написания некоторых часто употребляемых в своей программе и в других вычислительных процедур, в том числе с их помощью создаются стандартные библиотеки.

FB 106 – библиотечный блок чтения текущего значения даты

FB 124 – это библиотечный блок деления 32-х разрядных чисел

Программист может сам написать FB от 0 до 100.

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

Блок назначения NB, в нем абсолютные адреса могут сопоставляться с мнемоническими именами VASIA = E 7.3 – это лирика для компилятора

Блоки данных DB 10 – 10-й блок данных по 256 б

DB 0 … DB 255 (в каждом по 255 W)

Пример некоторой структуры

Если программа очень маленькая ( 10 – команд) ее вид можно написать в OB 1, т.е. ей дать имя OB 1. Однако если программа сложная, то мы организовываем обращения и к другим блокам. Рекомендуется глубину (блоки) не более 8 делать.

Примерное содержание стандартной курсовой работы.

Название к/р: «Разработка АСУ ГАК «…».

Постановка задачи. Моделирование. Алгоритмизация. Программирование (начало, фрагменты)

Содержание:

Анализ объекта управления (ОУ) {Что-то общее относящиеся к разделу}

Структура ГАК

Порядок функционирования ГАК (циклоавтоматика, вход в цикл, выход из цикла)

Оптимальная постановка задачи (содержательная постановка задачи

2.1 Цель создания АСУ

2.2 Штатные ситуации ЛСУ (локальной системы управления) – общее описание

2.3 Нештатные ситуации ЛСУ и их отображение во ВС (внешнюю среду)

Средства реализации управления

Обобщенная структура АСУ ГАК: средства съема, передачи, переработки, информации и выдачи управляющих воздействий

Спецификация данных для управления (выявления необходимых и достаточных данных)

Входные сигналы для СУ 2 (СУ второго уровня): перечень (список), типы классификации входных сигналов (технологические в том числе штатные и нештатные, аварийные)

Выходные: перечень, типы, классификация (управляющие, оповещающие (коды команд для ЛСУ, коды сообщений в персональный компьютер))

Моделирование процесса управления (моделирование процесса функционирования ГАК). Разработка основной функциональной модели.

Идентификация данных (символьное математическое обозначение)

Разработка математической модели (функциональная зависимость сигналов выходных от входных)

Моделирование процесса функционирования ГАК на основе сети Петри

Соответствие множества позиций сети Петри входных данных (таблица)

Описание множества переходов (таблица)

Описание множеств входных и выходных функций

Построение сети Петри

Исполнение сети Петри (маркировка сети, , фрагмент, если сеть большая, 1 цикл)

Разработка алгоритма СУ 2. Разработка уточненной модели и алгоритма

Декомпозиция задачи (разбиение задачи на подзадачи (управление каким-нибудь станочком, вход))

Разработка блок-схемы алгоритма

Разработка логико-математического алгоритма (с использованием математической логики и теории множеств, фрагмент-показатель)

Программирование (фрагменты)

Общий план доработки АСУ

Заключение

Проектирование систем управления

Система – совокупность элементов, объединенных в единое целое и упорядоченное в иерархии взаимодействия.

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

Различают сложные технические системы (СТС), в которых как правило выполняются разнообразные процессы переработки материалов, энергии, информации (например ГАК), сложная кибернетическая система.

Управление - совокупность взаимно увязанных воздействий на объект приводящий его к заданной цели на основе одной из выбранных стратегий управления.

Типовой контур управления (структура)

УС сязана с ОУ прямой и обратной связями, при обрыве одной из них управление нарушается (информация о текущем состоянии ОУ)

Управление – это процесс, приводящей ОУ либо к стабилизации состояния, либо к развитию.

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

Положительная обратная связь возникает, когда на противодействие системы усиливается воздействие (управление с тем же знаком).

Отрицательная обратная связь – при превышении объектом…?????????

Основные типы ОУ

Рассматривают сложные технические системы, например производственные звенья.

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

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

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

Основные виды (типы) производств:

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

- Непрерывные (такие, в которых нельзя в производственные моменты останавливать (выключать) технологический процесс: химические, металлургические производства) Здесь характерно для систем управления использование непрерывных сигналов (аналоговых (температура, давление)) и процесс управления регулирования.

Основные типы контуров (замкнутых) СУ (структуры СУ)

СУ – система управления

УС – управляющая система

ОУ – объект управления

Структура (контур) систем неавтоматизированного управления

В основном структура управления определяется видом ОУ. Так если объект представляет из себя неавтоматизированную систему (нет СЧПУ, невозможно получить от ОУ информацию в виде электрических сигналов (дискретных, непрерывных, цифровых, аналоговых)), то этот контур будет иметь следующий вид: например коллектив студентов в вузах. Этот объект – эргономическая система. Такой объект не может воспринять сигналы того и иного вида в общем случае.

ПИ – постановщик информации

СИ – сборщик информации

Эта информация поступает в некую неавтоматизированную систему управления СУ. СУ представляет собой неавтоматизированную систему переработки информации, выполняет некое неавтоматизированное управление (вырабатывает управляющие сигналы)

СПР – система принятия решений

ИУ – исполнитель управления.

В эргатической системе не участвуют технические средства.

Структура (контур) систем автоматизированного управления

Автз ССИ – автоматизированные средства съема информации (например, считыванием штрих-кодовой информации, машинные карты)

РП – регистраторы производства

Автз СПИ – автоматизированные системы переработки информации. Здесь идет выдача вариантов решений.

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

Структура (контур) автоматического управления

Структура (контур) полуавтоматического управления. Структура АСУТП (SCADA-система)

ОУ – комплекс технологического оборудования (либо ГАК, либо непрерывный техпроцесс)

ПЛК – сеть контроллеров, осуществляют систему управления 2-го уровня.

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

Удобно организованный интерфейс с оператором (диспетчером) носит название HMI (Human-Machine Interface)

В ГАП, на современных предприятиях реализованы все такие системы (автоматизированные и не автоматизированные). Иногда эти контуры даже в составе одной системы могут пересекаться. Например, рассмотрим автоматизированную систему (2).

Основы разработки АСУ ГАК

Типовая курсовая работа – типа комментарий

Здесь объект – совокупность устройств с ЧПУ, каждый из которых, например станок, выполняет локальную (частную, определенную) технологическую задачу (обработка детали по заданной программе). Этот контур управления детально не рассматривается, но оговаривается. Задача синхронизации управления комплексом технологического оборудования является задачей управления второго уровня (ЧПУ). На втором уровне это выполняет ПЛК. В общем случае модель управления (математическая) и алгоритм не зависят от типа применяемого ПЛК. На первом этапе можно иметь ввиду что мы рассматриваем С 300.

Итак, согласно плану в разделе 2, рассматривается п 2.2: штатные ситуации управления по обработке детали, п 2.3: по возможности выявленные нештатные ситуации, обработка которых возможна в СУ 2-го уровня. Например, превышен лимит времени, отведенное на обработку детали на данной операции, поломка режущего инструмента и др., все эти сигналы ЛСУ сама отдает во внешнюю среду.

Раздел 3. В п. 3.1 оговаривается возможность съема информации, необходимой для управления, необходимой для управления, в том числе либо взаимодействие систем управления СУ 1 и СУ 2; датчики, с помощью которых информация может быть снята с оборудования. Средства передачи если рассматривается С 300 могу быть ??? промышленная сеть. Переработки и выдачи (оговорить). В п. 3.2 строиться таблица входных данных:

Описание входных данных

характеристика

1

.

.

8

.

.

10

.

.

18

.

.

25

.

.

Состояние входного контейнера

Состояние станка

Состояние полуфабриката на промежуточном столе станка С3

Состояние робота Р1

робот выведен на позицию А1

Наличие в схвате робота ПФ1

Состояние схвата

Пустой

Включен

ПФ 2 (полуфабрикат)

Да

Есть

Разжат (пустой)

Не пустой

Не включен

ПФ 3

Нет

Нет

Сжат (полный)

Отдельно, или в указываются типы сигналов или возможные принимаемые значения: 0 или 1 – число состояний может быть больше одного) (бытовые, логические ???) В соседних графах указывается типы сигналов штатный, нештатный, возможно аварийный или др. Систематизация данных выходных сигналов:

Описание выходных данных

Тип сигнала

1

5

Сигнал роботу на перемещение в позицию А3

Оповещающие сигналы оператору (смена окончена, оборудование выключено, сбой, авария)

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

Робот {Р1, Р2, Р3} – перечень программ. Р1 можно задавать кодом, например Р25. Сделать оповещения о ситуациях.