Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы к экзамену по АСУП / АСУП. Конспект лекций.doc
Скачиваний:
75
Добавлен:
02.03.2016
Размер:
3.45 Mб
Скачать

Обработка в каналах hex16 и hex32

Для приёма и передачи дискретных переменных, которые могут принимать только два значения, например, ВКЛ/ВЫКЛ, ON/OFF и т.п., используются каналы классов HEX16 и HEX32. Поскольку обмен данными с внешними устройствами производится большими порциями информации, например, побайтно, то дискретные переменные группируются вместе и передаются внешним устройствам в виде 16-ти или 32-х разрядных слов, каждый бит которых соответствует некоторой дискретной переменной. Каналы класса HEX также могут использоваться для обмена целочисленными переменными.

Последовательность обработки сигнала в канале INPUT

Последовательность обработки сигнала в канале OUTPUT

Обработка в канале TIME

Канал класса TIME предназначен для работы со значениями даты и времени, которые могут быть записаны в канал из аргумента с целочисленным 4-байтовым типом данных, например: TIME, DATE, TIME_OF_DAY, DATE_AND_TIME. Канал имеет следующие специальные атрибуты:

Формат представления – дата и время ОС; только дата ОС ; только время ОС; число секунд с 01.01.70; дата и время MS Access; d..dD hh:mm:ss; h...hH:mm:ss.

Секунды.

Минуты.

Часы.

День.

Месяц.

Год.

День года.

День недели.

Зимнее/летнее время – зимнее время 0; летнее время 1.

Последовательность обработки сигнала в канкле

Лекция 12

Динамизация графических элементов в TRACE MODE 6

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

Виды индикации:

Значение – индикация значения аргумента;

Arg = Конст. – индикация равенства аргумента заданной константе;

Arg >= Конст. – индикация превышения аргументом заданного порога;

Arg & Конст. – индикация состояния битов значения аргумента, заданных маской КОНСТАНТА. Если хотя бы один такой бит установлен, индицируется ИСТИНА, иначе – ЛОЖЬ;

Arg в диапазоне – индикация нахождения аргумента в заданных диапазонах;

Arg в интервале – индикация нахождения аргумента в интервалах привязанного канала.

В TRACE MODE 6 используются также специальные динамические элементы, которые имеют специфические динамические свойства, которые как и динамизированные атрибуты, используются для графического отображения значений аргументов экрана при работе в реальном времени:

  • динамическая заливка;

  • динамическая трансформация (перемещение, масштабирование, вращение);

  • динамический контур.

Функции управления графических элементов в trace mode 6

Функции управления графических элементов – это действия, заданные для графических элементов на этапе редактирования проекта АСУ; выполнение этих действий при работе в реальном времени инициализируется оператором с помощью мыши. Задание функций управления для графических элементов придает графическим экранам свойство интерактивности и обеспечивает одно из важнейших качеств АСУ – управление техпроцессом с помощью графических средств.

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

  • mousePressed (нажатие левой клавиши мыши на графическом экране);

  • mouseReleased (отжатие левой клавиши мыши на графическом экране);

Для каждого события можно задать подтверждение и звуковой сигнал. Для этого используются атрибуты ПОДТВЕРЖДЕНИЕ (появляется диалог для подтверждения действия) и СИГНАЛ (воспроизводится стандартный звук, заданный в Windows).

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

  • передать значение (Send Value);

  • показать/скрыть элементы (Show/Hide Elements);

  • перейти на экран (Jump to Screen);

  • послать комментарий (Send Comment);

  • послать подсказку (Send ToolTip);

  • послать строку (Send String);

  • выполнить (Execute).

Передать значение содержит следующие варианты для передачи значений:

  • прямая – формируемое значение задается непосредственно в поле ЗНАЧЕНИЕ.

  • ввести и передать – формируемое значение задается в диалоговом окне, появляющемся при запуске проекта в мониторе реального времени, если произошло заданное событие.

  • XOR (НЕ-ИЛИ) – формируемое значение является результатом логической операции исключающего сложения между аргументом и числом, указанным в поле ЗНАЧЕНИЕ.

  • OR (ИЛИ) – формируемое значение является результатом логической операции сложения между аргументом и числом, указанным в поле ЗНАЧЕНИЕ.

  • AND (И) – формируемое значение является результатом логической операции умножения между аргументом и числом, указанным в поле ЗНАЧЕНИЕ.

  • добавить – формируемое значение является текущим значением аргумента, увеличенным на число, заданное в поле ЗНАЧЕНИЕ.

  • добавить процент шкалы – формируемое значение является текущим значением аргумента, увеличенным на процент от величины шкалы привязанного к аргументу канала. Процент шкалы задается в поле ЗНАЧЕНИЕ.

  • умножить – формируемое значение является произведением текущего значения аргумента на число, заданное в поле ЗНАЧЕНИЕ.

  • разделить – формируемое значение является частным от деления текущего значения аргумента на число, заданное в поле ЗНАЧЕНИЕ.

Атрибут ИСТОЧНИК задает исходный аргумент, с которым проводится выбранная операция. Результат операции записывается в аргумент, задаваемый атрибутом РЕЗУЛЬТАТ.

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

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

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

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

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

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

Лекция 13

Инженерно-ориентированные языки программирования в TRACE MODE

Любая АСУ требует математической обработки данных – как в измерительных информационных потоках (датчик → УСО → контроллер → операторская станция), так и в управляющих (операторская станция → контроллер → исполнительное устройство). Математическая обработка данных в TRACE MODE 6 реализуется через встроенные языки программирования, которые являются модификациями соответствующих языков стандарта МЭК 61131-3:

Техно ST (Structured Text);

Техно IL (Instruction List);

Техно SFC (Sequential Function Chart);

Техно LD (Ladder Diagram);

Техно FBD (Function Block Diagram).

Техно ST

Техно ST – язык структурированного текста. По синтаксису этот язык похож на обычные процедурные языки программирования, такие как Паскаль, поэтому мы не будем подробно на нём останавливаться. В Техно ST используются типизированные переменные. Тип переменной определяет размер выделяемой памяти. Для указания типа в Техно ST определены следующие ключевые слова:

BOOL – булево значение размерностью 1 байт (true (1) или false (0));

SINT – целое со знаком размерностью 1 байт (-128 ... 127);

USINT – целое без знака размерностью 1 байт (0 ... 255);

INT – целое со знаком размерностью 2 байта (-32768 ... 32767);

UINT – целое без знака размерностью 2 байта  (0 ... 65535);

DINT – целое со знаком (4 байта) (-2147483648 ... 2147483647);

UDINT – целое без знака (4 байта) (0 ... 4294967295);

TIME, DATE, TIME_OF_DAY, DATE_AND_TIME – соответствуют DINT. Значения переменных этих типов задаются аналогично соответствующим временным константам;

REAL – вещественное число (4 байта) (максимальное значение 3.402823466e+38);

LREAL – вещественное число (8 байт) (максимальное значение 1.7976931348623158e+308;

STRING – последовательность символов;

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

При определении переменной может быть задано ее значение, например:

VAR i: INT:=0; END_VAR

Основная точка входа в программу определяется следующей конструкцией:

program

{определение аргументов}

{список предложений}

end_program

Пример программы на Техно ST:

PROGRAM

VAR_INPUT pi_R : REAL := 3.14; END_VAR

VAR_OUTPUT sin_In : REAL := 0; END_VAR

VAR_OUTPUT cos_In : REAL; END_VAR

VAR_OUTPUT ln_In : REAL; END_VAR

VAR_OUTPUT arcsin_In : REAL; END_VAR

VAR_OUTPUT tg_In : REAL; END_VAR

VAR_OUTPUT exp_In : REAL; END_VAR

VAR_OUTPUT lg_In : REAL; END_VAR

sin_In = SIN (pi_R / 2);

cos_In = cos (pi_R);

tg_In = tan(pi_R/4);

arcsin_In = asin (1);

exp_In = exp (2);

ln_In = log(2.718); // = LN

END_PROGRAM

Техно IL

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

Техно IL поддерживает одноадресный и двухадресный режимы записи инструкций, которые оперируют с двумя операндами. В первом случае первым операндом является аккумулятор, который опускается при записи, во втором случае указываются два операнда.

Под аккумулятором в Техно IL понимается хранилище текущего результата вычислений (в этом качестве выступает один из регистров процессора). Далее в описании языка Техно IL значение аккумулятора обозначается словом result.

Пример. В данном примере представлена запись процедуры a = a + b в одноадресном и двухадресном режиме.

Одноадресный режим:

LD a    //result = a

ADD b   //result = result + b

ST a    //a = result

Двухадресный режим позволяет записать ту же операцию компактнее:

ADD a b  // a = a + b