## Каналы и точки обработки данных

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

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

На рисунке приведены различные варианты задания связей между модулями. Для выходов модуля А заданы связи вида Содин к одномуТ (a,c) и Содин ко многимТ (b,d) , а для каждого входа модуля Б - связи вида Содин к одномуТ (a,b) и Смногие к одномуТ (c,d).

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

- заголовок (системные атрибуты)
- непосредственно данные

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

### Типы данных

Фактически RTWin поддерживает типы данных языка программирования Cи :

> BYTE | целое число без знака, представляемое 1 байтом
> WORD | целое число со знаком, представляемое 2 байтами
> DWORD | целое число со знаком, представляемое 4 байтами
> FLOAT | число с плавающей точкой, представляемое 4 байтами
> DOUBLE | число с плавающей точкой, представляемое 8 байтами
> STRING | строка символов завершающаяся нуль-байтом

### Точки обработки данных

В общем случае, данные, приходящие по входным каналам к модулю, могут быть обработаны самим модулем или переданы по выходным каналам другим модулям. Но всегда ли необходимо для выполнения тех или иных операций с данными, проходящими по каналу, создавать отдельный модуль? Действительно, можно выделить ряд типовых операций с данными, которые не изменяют значения данных - к примеру , сохранение в архиве. RTWin дает возможность выполнять такие операции одновременно с передачей данных по каналу без добавления специальных модулей. С этой целью вводится понятие точки обработки данных. Каждый вид обработки данных обозначается соответствующей точкой. RTWin предусматривает следующие виды обработки данных:

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

На схеме СКУ точки обработки данных располагаются на входах или выходах модулей.

#### Точка базы данных

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

1. Сохранять данные, проходящие по каналу, каждый раз.
2. Сохранять данные через определенное количество раз. Переменный параметр, количество раз, может быть установлен индивидуально для каждой точки БД.
3. Сохранять данные только в случае их изменения. Изменения определяются в результате побитового сравнения предыдущего и текущего пакетов данных.

#### Точка тревоги

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

#### Точка просмотра данных

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