Наборы ресурсов и графические объекты 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Наборы ресурсов и графические объекты



Ресурсы и графические объекты используются при разработке графических экранов оператора.

В слое Ресурсы могут быть созданы следующие компоненты проекта:

· Набор текстов;

· Набор изображений;

· Набор видеоклипов;

· Графический объект.

Наборы ресурсов снабжены соответствующими редакторами; графический объект разрабатывается так же, как графический экран, – в редакторе представления данных (РПД).

Последовательные порты

Для описания параметров последовательного порта предназначен компонент COM-порт. Этот компонент может быть создан в узле в группе COM-порты.

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

Данный компонент имеет соответствующий редактор.

Словари сообщений

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

В дочерней группе Словари сообщений узла могут быть созданы следующие словари:

· Словарь для HEX16 – сообщения по каналам класса HEX16;

· Словарь для HEX32 – сообщения по каналам класса HEX32;

· Словарь для FLOAT – сообщения по каналам класса FLOAT;

· Словарь системный – сообщения по системным событиям;

· Словарь для персонала – сообщения по каналам класса Персонал;

· Словарь для оборудования – сообщения по каналам класса Единица оборудования;

· Словарь для каналов D-ресурс – сообщения по каналам класса D-ресурс;

· Словарь для каналов Событие – сообщения по каналам класса Событие;

· Словарь для каналов M-ресурс – сообщения по каналам класса M-ресурс;

· Пользовательский словарь – сообщения, генерируемые с помощью системной переменной @Message (группа СИСТЕМНЫЕ).

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

Клеммы

Эти компоненты описывают электрические контакты (например, монтажных шкафов) и являются элементами схемы электрических соединений АСУ. В редакторе для клемм задаются параметры подсоединенных проводов с указанием принадлежности проводов к жгутам.

 

Классификация слоев

Предопределенные слои структуры проекта имеют следующее назначение:

Ресурсы – для создания пользовательских наборов текстов, изображений и видеоклипов, а также графических объектов;

Шаблоны программ – для создания шаблонов программ;

Шаблоны экранов – для создания шаблонов графических экранов, графических панелей и мнемосхем;

Шаблоны связей с БД – для создания шаблонов связей с базами данных;

Шаблоны документов – для создания шаблонов документов (отчетов);

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

Система – для конфигурирования узлов и их составляющих (узел создается как корневая группа этого слоя);

Источники/приемники – для создания встроенных генераторов, шаблонов каналов обмена с различными устройствами и программными приложениями, а также для конфигурирования системных переменных TRACE MODE 6,

Технология – для разработки проекта от технологии (т.е. с группировкой компонентов по признаку их принадлежности к технологическому объекту). В этом слое кодировка канала строится автоматически с наследованием кодировки всех объектов вышестоящего уровня, в которые канал входит (если установлен флаг Строить кодировку по технологии. При отладке проекта слой Технология может играть роль узла – для него определена команда Сохранить узел для МРВ. Кроме того, для этого слоя определены команды взаимодействия с технологической базой данных;

Топология – для разработки проекта от топологии (т.е. с группировкой компонентов по месту расположения);

КИПиА – для описания электрических соединений АСУ;

Библиотеки компонентов – для создания библиотек объектов – проектных решений отдельных задач. Этот слой содержит предопределенные группы Системные и Пользовательские. В группе Системные содержатся библиотеки, подключенные к ИС по умолчанию.

Классификация узлов

RTM

T-FACTORY

MicroRTM

Logger

EmbeddedRTM

NanoRTM

Console

TFactory_Console

EmbeddedConsole

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

В общем случае, узлы могут выполняться под управлением различных мониторов.

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

Параметры узлов задаются в соответствующем редакторе.

RTM

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

T-FACTORY

Узел T-FACTORY предназначен для запуска на компьютере под управлением исполнительных модулей семейства T-FACTORY – мониторов для решения задач АСУП.

MicroRTM

Узел MicroRTM предназначен для запуска на компьютере или в контроллере под управлением исполнительных модулей семейства Micro RTM. Основное отличие этих мониторов от МРВ – отсутствие поддержки отображения графических экранов.

Logger

Узел Logger предназначен для запуска на компьютере под управлением исполнительного модуля Logger (регистратор) – монитора, способного вести архивы по каналам всех узлов проекта.

EmbeddedRTM

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

NanoRTM

Узел NanoRTM предназначен для запуска в контроллере под управлением исполнительного модуля Nano RTM – монитора, аналогичного Micro RTM, но предназначенного для работы с малым числом каналов.

Console

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

TFactory_Console

Узел TFactory_Console предназначен для запуска на компьютере под управлением исполнительных модулей, аналогичных консолям, но, кроме того, способных взаимодействовать с узлами T-FACTORY.

EmbeddedConsole

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

 

Программирование алгоритмов в TRACE MODE 6

Для программирования алгоритмов функционирования разрабатываемого проекта АСУ в TRACE MODE 6 включены языки Техно ST, Техно SFC, Техно FBD, Техно LD и Техно IL. Данные языки являются модификациями языков ST (Structured Text), SFC (Sequential Function Chart), FBD (Function Block Diagram), LD (Ladder Diagram) и IL (Instruction List) стандарта IEC61131-3.

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

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

TRACE MODE 6 имеет также средства для отладки программ.

Примерный вид интегрированной среды при редактировании программ показан на следующем рисунке:

 

Основным языком программирования TRACE MODE 6 является Техно ST. Программы, разработанные на языках Техно LD, Техно SFC и Техно FBD, перед компиляцией транслируются в Техно ST. IL -программы перед компиляцией частично транслируются в ST, частично – в ассемблер. Отсюда следует, например, что ключевые слова Техно ST являются таковыми и для всех других языков.

Редактирование FBD-программ

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

Функциональный блок – это графическое изображение вызова встроенной функции Техно FBD (FBD-блока) или функции (функции-блока), определенной пользователем.

Вид FBD-блока показан на следующем рисунке.

В верхней части блока выводится обозначение функции, выполняемой блоком (X && Y на рисунке). Именованные отрезки слева (X и Y), обозначают входы блока (аргументы, переменные или константы функции). Отрезок без имени слева обозначает вход, управляющий выполнением блока (в дальнейшем – вход RUN). Блок выполняется, если RUN =0 (значение по умолчанию).

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

Кроме входов/выходов, некоторые встроенные FBD-блоки имеют внутренние переменные, недоступные пользователю. Переменные FBD-блока (входы/выходы и внутренние) являются глобальными, т.е. сохраняют свое значение между вызовами программы, в том числе при RUN =1.

В нижней части блока выводится его номер и, после двоеточия, номер следующего выполняемого блока (2:1 на рисунке). Номера блоков задаются последовательно при их размещении в рабочем поле редактора; номера следующих выполняемых блоков определяются автоматически при соединении входов и выходов блоков (образовании диаграммы). На блоке, который выполняется первым в программе, после его номера отображается символ В; на блоке, который выполняется последним, – символ Е.

FBD-программа может выступать в роли основной программы, функции и функции-блока.

Для создания FBD-программы и подключения ее к проекту нужно выполнить следующие операции:

· разместить необходимые функциональные блоки в рабочем поле FBD-редактора;

· соединить нужные входы и выходы блоков, образовав единую диаграмму;

· задать аргументы, переменные и константы программы;

· привязать входы/выходы FBD-диаграммы к аргументам, переменным и константам программы;

· скомпилировать программу.

Размещение FBD-блоков в рабочем поле редактора

Рабочее поле FBD-редактора с помощью сетки разбито на участки. На одном участке можно разместить один функциональный блок.

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

В нижней части навигатора находятся кнопки выбора группы блоков (Логические, Арифметические и т.п.), в рабочем поле навигатора отображаются блоки, которые входят в выбранную группу.

Чтобы получить справку о блоке, нужно дважды нажать ЛК на его изображении в навигаторе.

Чтобы поместить блок на участок рабочего поля FBD-редактора, нужно нажать ЛК на изображении блока в навигаторе и, удерживая кнопку нажатой, переместить курсор на нужный участок, после чего кнопку отпустить (метод drag-and-drop).

Редактирование диаграммы FBD-блоков

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

Создание связей между блоками производится методом drag-and-drop (выделить вход/выход блока, нажать ЛК на изображении этого входа/выхода и, удерживая кнопку нажатой, переместить курсор на изображение выхода/входа другого блока, после чего кнопку отпустить). Созданная связь обозначается на диаграмме линией:

Блоки можно перемещать на другие участки рабочего поля FBD-редактора методом drag-and-drop, при этом созданные связи сохраняются. На рисунке показана предыдущая FBD-диаграмма после перемещения блока на другой участок:

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

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

Привязать – перейти в режим привязки выделенного входа/выхода к аргументу/переменной программы;

Инвертировать – инвертировать вход/выход блока. На рисунке показано обозначение инвертирования входа X:

Создать метку – при выполнении этой команды для участка размещения выделенного блока создается метка (рисунок слева):

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

Для перехода к редактированию метки нужно дважды нажать на ней ЛК.

Привязка входов и выходов FBD-диаграммы

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

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

FBD-диаграмма должна иметь по меньшей мере одну привязку.

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

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

На следующем рисунке показан вид диаграммы после привязки ее входов и выходов.

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

FUNCTION_000(ARG_000, ARG_001)=20*(ARG_000+ARG_001)

Эта FBD-функция может быть использована, например, в ST-программе:

// d = 20 * (VAR_000 + VAR_001)

d = FUNCTION_000(VAR_000, VAR_001);

Функция (SFC-условие) на языке Техно FBD не возвращает значений, если ни один из выходов FBD-диаграммы не привязан к имени функции (SFC-условия).

Описание FBD блоков.

 

Раздел 'Логические'

НЕ (!X)

ИЛИ (X || Y)

И (X && Y)

4 НЕ (!)

Логическое сложение четырех элементов (||)

Логическое умножение четырех элементов (&&)

На вход блоков этого раздела можно подавать числовые значения, а также значения типа BOOL или STRING. В последнем случае в операции участвует длина строки.

НЕ (!X)

O = NOT X

O =1, если X =0, во всех остальных случаях O =0.

ИЛИ (X || Y)

O = X OR Y

O =0, если одновременно X =0 и Y =0, во всех остальных случаях O =1.

И (X && Y)

O = X AND Y

O =1, если X и Y одновременно отличны от нуля, во всех остальных случаях O =0.

4 НЕ (!)

!A = NOT A

!B = NOT B

!C = NOT C

!D = NOT D

Выход равен 1, если соответствующий вход равен 0, во всех остальных случаях выход равен 0.

Если вход не определен, его значение принимается равным 0.

Логическое сложение четырех элементов (||)

O = A OR B OR C OR D

O =1, если хотя бы один из входов отличен от нуля.

O =0, если A=B=C=D=0.

Если вход не определен, его значение принимается равным 0.

Логическое умножение четырех элементов (&&)

O = A AND B AND C AND D

O =1, если все входы одновременно отличны от 0, во всех остальных случаях O =0.

Если вход не определен, его значение принимается равным 0.

Раздел 'Арифметические'

Сложение двух элементов (X+Y)

Сложение четырех элементов (A+B+C+D)

Вычитание (X-Y)

Умножение (X*Y)

Деление (X/Y)

Остаток от деления (X%Y)

Возведение в степень (X**Y)

Абсолютное значение (ABS)

Инверсия знака (-X)

Целая часть (FLOOR)

Обратная величина (1/X)

Квадратный корень (SQRT)

Возведение в квадрат (X**2)

Сумма квадратов (HYPOT)

Масштабирование (K*X+C)

Сложение двух элементов (X+Y)

O = X + Y

Сложение четырех элементов (A+B+C+D)

O = A + B + C + D

Вычитание (X-Y)

O = X – Y

Умножение (X*Y)

O = X * Y

Деление (X/Y)

O = X/Y

Остаток от деления (X%Y)

Значение выхода O равно остатку от деления значения входа X на значение входа Y.

Возведение в степень (X**Y)

Абсолютное значение (ABS)

O = |X|

Инверсия знака (-X)

O = -X

Целая часть (FLOOR)

На выход O передается целая часть значения входа X.

Не следует путать функцию этого блока с округлением до целого (для округления используется блок NDGT из раздела Алгебраические функции).

Обратная величина (1/X)

O = 1/X

Квадратный корень (SQRT)

Возведение в квадрат (X**2)

Сумма квадратов (HYPOT)

Масштабирование (K*X+C)

O = K * X + C

Раздел ‘Тригонометрические’

Синус (SIN)

Косинус (COS)

Тангенс (TAN)

Арксинус (ASIN)

Арккосинус (ACOS)

Арктангенс (ATAN)

Арктангенс отношения (_ATAN)

Преобразование полярных координат в декартовы (PDT)

Функции прямого тригонометрического преобразования интерпретируют значение своего аргумента (значение входа ARG для блоков SIN, COS и TAN; отношение DVD/DVS для блока _ATAN и значение входа IA для блока PDT) как угол в радианах.

Блоки ASIN, ACOS и ATAN и _ATAN возвращают главное значение соответствующих функций в радианах:

Синус (SIN)

SIN = sin(ARG)

Косинус (COS)

COS = cos(ARG)

Тангенс (TAN)

TAN = tg(ARG)

Арксинус (ASIN)

ARG = Arcsin(SIN)

Арккосинус (ACOS)

ARG = Arccos(COS)

Арктангенс (ATAN)

ARG = Arctg(TAN)

Арктангенс отношения (_ATAN)

ATN = Arctg(DVD/DVS)

Преобразование полярных координат в декартовы (PDT)

QX = IL*cos(IA); QY = IL*sin(IA)

 

Описание языка TehnoIL:

Синтаксис Техно IL:

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

Примеры IL-инструкций

ADD VAR_000 2.6

LT VAR_000 VAR_001

JMPC label1

GT VAR_001 20

JMPC label2

LD 278

label1: CAL FUNCTION_000(VAR_000, VAR_001)

label2: ST VAR_001

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

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

Пример

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

LD a //result = a

ADD b //result = result + b

ST a //a = result

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

ADD a b // a = a + b

В IL-программе могут использоваться метки и комментарии. Правила их задания аналогичны правилам Техно ST.

Операторы и модификаторы Техно IL

Модификаторы Техно IL

Операторы обмена с аккумулятором

Логические операторы Техно IL

Арифметические операторы Техно IL

Операторы сравнения Техно IL

Операторы перехода и вызова функции Техно IL

Модификаторы Техно IL

Модификаторы Техно IL – это литеры N, C и X, которые могут быть приписаны справа к имени ряда операторов.

Модификатор N обозначает логическое отрицание операнда. Например, инструкция

AND a

интерпретируется как result = result AND a, а инструкция

ANDN a

интерпретируется как result = result AND NOT a.

Для операторов JMP, CAL и RET:

модификатор C обозначает, что инструкция выполняется в том случае, если результат предыдущей операции сравнения истинен;

модификатор X обозначает, что инструкция выполняется в том случае, если result = TRUE.



Поделиться:


Последнее изменение этой страницы: 2016-08-10; просмотров: 434; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.171.121 (0.206 с.)