Блок «Малахит – Алгоритм управления приводом тип 1»

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

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

В свойствах блока (см. Рисунок 1) необходимо указать:

  1. Имя привода, путем выбора его из выпадающего меню. Пункты выпадающего меню набираются автоматически из категории «Насосы» базы данных.
  2. Имя сигнала съема мигания – имя переменной (сигнала) проекта, которая предназначается для съема мигания засветки на пульте управления.
  3. Свойство «Описание привода» заполняется автоматически из базы данных, в соответствии с тем описанием, которое есть в БД для выбранного привода (поле «Descr» в соответствующей группе сигналов категории «Насосы»).
  4. Свойство «Номер страницы» заполняется автоматически.

Рисунок 1. Cвойства блока «Малахит – Алгоритм управления приводом тип 1»

Структура блока (см. Рисунок 2) принципиально сходна с блоком «Алгоритм управления клапаном тип 1». В левой части собраны входные сигналы, справа – выходные сигналы, в центре набрана логика стандартной обработки обязательных сигналов для каждого привода проекта.

Входные и выходные сигналы также разделены на «системные» (которые разработчик алгоритма управления приводом не имеет права редактировать) и «пользовательские», которые должен определять разработчик. «Системные» входные и выходные сигналы обозначены «серым» фоном, и данные сигналы по своему смыслу являются одинаковыми и обязательными для всех блоков типа «Алгоритм управления приводом тип 1». К входным сигналам данного типа относятся:

  1. «Пульт пуск Ду», имя сигнала:

    N<pmp_num>_PUL_DU_P , где <pmp_num> – номер привода.

    Значение <pmp_num> подставляется автоматически в соответствии с именем привода, указанным в свойствах блока. Данный сигнал по умолчанию непосредственно поступает на вход «ПУ Пуск» типового БУП.

  2. «Пульт стоп Ду», имя сигнала:

    N<pmp_num>_PUL_DU_S , где <pmp_num> – номер привода.

    Значение <pmp_num> подставляется автоматически в соответствии с именем привода, указанным в свойствах блока. Данный сигнал по умолчанию непосредственно поступает на вход «ПУ Стоп» типового БУП.

  3. «Пульт поставить на АУ», имя сигнала:

    N<pmp_num>_PUL_AU , где <pmp_num> – номер привода.

    Значение <pmp_num> подставляется автоматически в соответствии с именем привода, указанным в свойствах блока. Данный сигнал по умолчанию непосредственно поступает на вход «ПУ на АУ» типового БУП.

  4. «Съем зв/миг», имя сигнала по умолчанию:

    Sbros_Z_M

    Данный сигнал поступает на вход «Съем зв/миг» типового БУП.

  5. Сигнал(ы) «Пуск АУ», с именем сигнала(ов):

    FALSE (логический ноль) или A_<prg_name>_N<pmp_num>_P, где:

    <prg_name> – имя программы (алгоритма), в котором сформирован данный сигнал автоматического управления на пуск привода (насоса). Значение <pmp_num> подставляется автоматически в соответствии с именем привода, указанным в свойствах блока.

    Данный сигнал (или несколько сигналов) автоматически подставляется из категории «Алгоритмы» БД проекта и может быть сформирован разработчиком алгоритмов в любом другом месте проекта, при помощи блока «Запись команды алгоритма на вход БУП». Если сигналов автоматического пуска в БД (и соответственно в проекте) несколько, то на этапе инициализации проекта в рассматриваемом блоке появится несколько строк с перечислением существующих сигналов. Все они по логике «ИЛИ» формируют входной сигнал «Пуск АУ» для типового БУП.

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

  6. Сигнал(ы) «Стоп АУ», с именем сигнала(ов):

    FALSE (логический ноль) или A_<prg_name>_N<pmp_num>_S, где:

    <prg_name> – имя программы (алгоритма), в котором сформирован сигнал на стоп привода. Значение <pmp_num> подставляется автоматически в соответствии с именем привода, указанным в свойствах блока.

  7. Сигнал(ы) «Пуск АЗ», с именем сигнала(ов):

    FALSE (логический ноль) или A_<prg_name>_N< pmp_num>_PAZ, где:

    <prg_name> – имя программы (алгоритма), в котором сформирован сигнал АЗ на пуск привода. Значение <pmp_num> подставляется автоматически в соответствии с именем привода, указанным в свойствах блока.

  8. Сигнал(ы) «Стоп АЗ», с именем сигнала(ов):

    FALSE (логический ноль) или A_<prg_name>_N< pmp_num>_SAZ, где:

    <prg_name> – имя программы (алгоритма), в котором сформирован сигнал АЗ на стоп привода. Значение <pmp_num> подставляется автоматически в соответствии с именем привода, указанным в свойствах блока.

К выходным сигналам «системного» типа, не редактируемым пользователем, относятся пять сигналов:

  1. «Пуск», имя сигнала:

    N<pmp_num>_P

    Сигнал считывается с выхода «Пуск» типового алгоритма БУП и записывается в БД проекта.

  2. «Пульт засветка в работе», имя сигнала:

    N<pmp_num>_PUL_ZAS_ON

    Сигнал считывается с выхода «В работе» типового алгоритма БУП и записывается в БД проекта.

  3. «Пульт мигание», имя сигнала:

    N<pmp_num>_PUL_ZAS_MIG

    Сигнал считывается с выхода «Несоответствие» типового алгоритма БУП и записывается в БД проекта.

  4. «Пульт засветка АУ», имя сигнала:

    N<pmp_num>_PUL_ZAS_AU

    Сигнал считывается с выхода «Режим АУ» типового алгоритма БУП и записывается в БД.

  5. «Стоп», имя сигнала:

    N<pmp_num>_S

    Сигнал считывается с выхода «Стоп» типового алгоритма БУП и записывается в БД проекта.

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

Блоки типа «Алгоритм управления приводом тип 1» должны быть размещены на втором уровне вложенности проекта, внутри блоков типа «Малахит – Функционально-групповое управление», и описывать логику управления конкретными приводами данной ФГУ. Либо, данные блоки могут быть размещены на третьем уровне вложенности и собраны внутри блока «Обобщение», для удобства размещения.

Используемый здесь типовой алгоритм БУП (другими словами, стандартная подпрограмма управления приводом) является единым алгоритмом для всего проекта КСУ ТС, и физически он находится в отдельном файле проекта с именем ../subroutines/mal_bup01.prt. Данное решение позволяет, во-первых, использовать по всему проекту один раз созданный и отлаженный алгоритм, а во-вторых, в случае необходимости его доработки в будущем, позволит легко ее осуществить в одном месте проекта, и доработка автоматически «размножится» на весь проект в целом.

Рисунок 2. Cтруктура блока «Малахит – Алгоритм управления приводом тип 1»