Понятия и определения

В этом разделе введены основные термины, используемые в программе КОНГРАФ при разработке алгоритмов управления.


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


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

Виды алгоблоков:

  • Первичный функциональный блок (ФБ) - выполняет постоянно закрепленную за ним функцию;
  • Комплексный функциональный блок - (КФБ) - включает в себя некоторую совокупность первичных и(или) КФБ, а также связи между ними. Выполняемая функция КФБ формируется или может быть изменена пользователем. Используется для разделения алгоритма на логически завершенные части;
  • Первичный приборный блок - представляет в проекте алгоритм функционирования одного прибора. Состав блока формируется из первичных и(или) КФБ и связей между ними;
  • Комплексный приборный блок - включает в себя некоторую совокупность первичных и комплексных приборных блоков и связи между ними;
  • Главный блок проекта - является частным случаем комплексного приборного блока, представляет собой корневой узел, в состав которого входят все выше перечисленные алгоблоки.


Параметр - алгоритмическая единица, представляющая в алгоритме некоторую величину. Собственные параметры могут быть только у первичных ФБ.

Параметры могут быть следующего типа:

  • Логические (bool) - 0 (false) либо 1 (true);
  • Целочисленные (int) - в диапазоне от -32768 до +32767;
  • Аналоговые (float) - в диапазоне ±(3.4*10-38…3.4*1038);
  • Строка (string) - текст (буквенно-цифровые символы, знаки препинания). Параметры этого типа могут быть только константами.
  • Время (time) - значение времени в формате чч:мм;
  • Дата (date) - значение даты в формате дд.мм.

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

Входные параметры делятся на:

  • Константы. Характеризуются задаваемым постоянным значением. Служат для управления настройками алгоблока.
  • Статические. Их значения задаются пользователем с помощью пульта управления или программ верхнего уровня. Изменение статических параметров может также происходить в заранее указанное пользователем время (ежедневно, по заданным дням недели, календарным дням года) с помощью функции планировщика (алгоблок "Планировщик"). Служат для управления настройками алгоблока. Характеризуются именем, начальным значением и единицей измерения. Аналоговые параметры характеризуются также точностью (количеством знаков после запятой). Значения статических параметров сохраняются в постоянной (flash) памяти прибора.
  • Сигнальные. Их значения алгоблок получает из других алгоблоков (значения выходных параметров других алгоблоков).

Выходные параметры называются также динамическими (вычисляются алгоритмом). Некоторые выходные параметры могут быть энергонезависимыми, то есть при выключении прибора сохраняться в энергонезависимой памяти (на срок до двух недель для контролеров МС8, ML9 и на неограниченный срок для МС12). Значение выходного параметра может быть доступно для просмотра через пульт управления или программы верхнего уровня. Такие параметры являются отображаемыми и характеризуются именем и единицей измерения. Аналоговые параметры дополнительно характеризуются точностью (количеством знаков после запятой).

Некоторые первичные ФБ не имеют входных и(или) выходных параметров.


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

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

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


Список - совокупность параметров, объединенных по какому-либо признаку.

  • Приборные (основные) списки - создаются в каждом первичном приборном блоке. Предназначены для включения статических и (некоторых, задаваемых пользователем) динамических параметров вложенных первичных ФБ. Используются для отображения в программах верхнего уровня. Помещаемые в них параметры разделяют по функциональному назначению, объединяя в отдельный приборный список с соответствующим названием.
  • Дополнительные списки
    • Список тревог предназначен для включения параметров, сигнализирующих о возникновении каких-либо тревожных ситуаций на объекте управления.
    • Список сессии предназначен для включения динамических параметров (в том числе и параметров из списка тревог), которые должны быть выведены в локальную сеть или сеть Интернет для отображения в системе диспетчеризации (КОНТАР-SCADA, КОНТАР-АРМ).
    • Список SMS модема предназначен для включения параметров (в том числе параметров из списка тревог), которые должны быть переданы через сотовый модем (в виде SMS сообщения) на мобильный телефон. Включаемые параметры должны входить в состав приборного блока "Контроллер MC8 (MC12 или ML9)", в котором содержится алгоблок сотового модема.
    • Список архива предназначен для включения параметров, значения которых должны сохраняться во внутреннем архиве контроллера. Значения выбранных параметров сохраняются в архиве по какому-либо событию, например по времени или при возникновении тревожного события. Вместе со значениями параметров сохраняется дата и время их записи в архив. Включаемые параметры должны входить в состав приборного блока "Контроллер MC8 (MC12, ML9)", в котором содержится функциональный блок "АРХИВ - Архивирование ".
    • Список симулятора предназначен для включения параметров, которые должны быть доступны в режиме симуляции (отладки).
    • Список КФБ предназначен для включения параметра первичного ФБ в состав КФБ.
    • Список _DEBUG - представляет собой отладочный список и создается автоматически (если включена опция в соответствующем пункте меню Проект). Включает в себя следующие отладочные данные: число перезапусков, код последнего перезапуска, состояние связи по RS485, время последнего выключения контроллера. Этот список не доступен для просмотра в программе КОНГРАФ. Список работает только в приборах, у которых нулевая функция поддерживает сбор диагностических данных.


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

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


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

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

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

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