AstraRegul
Релиз 2025.08.15.00
×

5.5.2.2.4.3.1. ST16 | МАТРИЦА РЕШЕНИЙ

 
 
Блок таблицы последовательности ST16 предназначен для обработки условий и последовательности шагов и выдачи управляющих воздействий, использую схему из 32 правил.
 
Блок таблицы последовательности (ST16) является функциональным блоком типа таблицы решений, которая описывает взаимосвязь между входным и выходным сигналами в формате Y/N (да/нет). Создавая соединения последовательности с другими функциональными блоками, он контролируют обработку и последовательность шагов программ группового управления.
 
Функциональная блок-схема:
 
Список доступных режимов функционального блока ST16:
Нерабочий режим O/S
Автоматический AUT
 
Таблицы последовательности состоят из сигналов условия, сигналов действия, номеров правил, правил условия, правил действия и меток шага.
 

Обзор элементов таблицы последовательности

 
Далее описываются различные элементы таблицы последовательности:
 
Сигнал условия (вход С01..С32 типа BOOL). Задайте значение условия в формате типа BOOL.
 
Сигнал действия (выход A01..A32 типа STRUCT_OUT_ST16). С помощью переменной A0X.OUT (действие выхода) осуществляйте вызов строки программного кода с требуемым присвоением, а переменную A0X.VALUE (значение выхода) используйте в качестве значения для присвоения.
 
Номер правила. В блоке ST16 может использоваться до 32 правил. Выход основывается на каждом условии правила и результате проверки условия.
 
Правило условия. С помощью конфигурационного параметра CONFIG.RULES[X].C[Y] (где X - номер правила, Y - номер сигнала условия) типа ENUM_COND задайте шаблон условия для каждого входа в формате Y/N/N_C (Y: истина TRUE, N: ложь FALSE, N_C: не сконфигурирован) для каждого правила условия. Если результат проверки сигнала условия соответствует шаблону Y/N (C0X = TRUE / FALSE), то условие правила считается удовлетворенным.
 
Правило действия. С помощью конфигурационного параметра CONFIG.RULES[X].A[Y] (где X - номер правила, Y - номер сигнала действия) типа ENUM_COND задайте шаблон для каждого действия в формате Y/N/N_C (Y: положительное действие TRUE, N: отрицательное действие FALSE, N_C: не сконфигурирован) для каждого правила условия. В результате будет выполняться действие управляющего выхода (A0X.OUT = TRUE) в соответствии с шаблоном правила действия Y/N (A0X.VALUE = TRUE / FALSE) для номера правила, чье условие удовлетворяется.
 
Метка шага. Эти метки задаются с помощью конфигурационного параметра CONFIG.RULES[X].STEP (где X - номер правила) для идентификации правила (шага) при выполнении пошагового логического управления с использованием таблицы последовательности. Метки шага представляют собой переменные типа STRING, содержащие комбинацию не более чем из двух буквенно-цифровых символов.
 
Метка следующего шага. Это метка шага, который должен быть выполнен в следующем цикле ПЛК. Метки следующего шага включают метки THEN_STEP и ELSE_STEP, соответствующие истинности или ложности условия. Если обе метки пусты, то перехода шага не происходит. Метка THEN_STEP описывает метку следующего шага, когда соответствующее состояние условия правила истинно. Переход на шаг, описанный меткой THEN_STEP, выполняется после выполнения управляющего выхода. Метка ELSE_STEP описывает метку следующего шага, когда соответствующее состояние условия правила ложно.
 

Ход обработки таблицы последовательности

 
 

Обработка входа

 
Состояние истина/ложь (TRUE/FALSE) сигнала условия определяется выполнением тестирования условия на основе сигнала входа.
 
 

Обработка правил условия

 
Состояние истина/ложь правила условия (TRUE/FALSE) определяется сравнением состояния истина/ложь (TRUE/FALSE) сигнала условия с шаблоном Y/N (TRUE/FALSE) правила условия, описанным в таблице последовательности.
 
 

Обработка правил действия

 
Выход сигнала действия определяется шаблоном Y/N (TRUE/FALSE) правила действия при состоянии условия — истина.
 
 

Обработка выхода

 
Управление состоянием цели действия выполняется на основе описания сигнала действия.
 
Существует два типа таблиц последовательности: пошаговая и бесшаговая. Обработка правил различается в зависимости от типа таблицы последовательности.
 

Функционирование бесшаговой последовательности

 
В таблице бесшаговой последовательности все 32 правила подвергаются проверке условия, и операция выполняется в соответствии с этими условиями. Далее показано функционирование таблицы бесшаговой последовательности.
 
 
Основные моменты:
 
Что касается проверки условия, то условие удовлетворяется, если все условия (TRUE (Y) или FALSE (N)) для одного и того же номера правила истинны. Таблица последовательности, чей столбец правил пуст, рассматривается как безусловно истинная.
 
Операции выполняются согласно содержанию операций Y (TRUE) или N (FALSE), описанному для номера правила, чьи условия удовлетворяются.
 
Если тип действия выхода настроен в Astra.IDE с помощью конфигурационного параметра CONFIG.OUT_TIMING типа ENUM_OUT_TIMING на значение C (вывод по фронту срабатывании правила), то операция выполняется (выход A0X.OUT = TRUE) только в одном цикле ПЛК при переключении условия с ложного на истинное.
 
Если тип действия выхода настроен в Astra.IDE с помощью конфигурационного параметра CONFIG.OUT_TIMING типа ENUM_OUT_TIMING на значение E (вывод в каждом цикле сработавшего правила), то операция выполняется (выход A0X.OUT = TRUE) в течении каждого цикла ПЛК до тех пор пока условие остается истинным.
 
Если условия нескольких правил удовлетворяются одновременно относительно одного и того же сигнала операции, и если запросы как к Y, так и к N определены как результирующие действия, то запрос к Y имеет больший приоритет, и операция для N не будет выполняться.
 
 

Действие пошаговой последовательности

 
В таблице пошаговой последовательности, последовательность управления процессом разделяется на максимально мелкие единицы фазы (шаги) контроля и обработки условия, затем эти шаги выполняются один за другим.
 
В таблице пошаговой последовательности только для правила, соответствующего номеру текущего шага, осуществляется тестирование и обработка условия. Далее показано действие таблицы пошаговой последовательности.
 
 
Основные моменты:
 
Для пошаговой последовательности метка следующего шага должна быть указана в среде Astra.IDE в конфигурационном параметре CONFIG.RULES[X].THEN_STEP/ELSE_STEP (где X - номер правила) в порядке выполнения шагов. Шаг не будет выполняться, если обе метки следующего шага THEN_STEP/ELSE_STEP будут пусты. При отсутствии описания метки следующего шага, будет все время выполняться один и тот же шаг, т.е. последовательность шагов отрабатываться не будет.
 
Следующий шаг, определенный в параметре THEN_STEP, является шагом, выполняемым при положительном результате тестирования условия. После завершения всех операций, определенных для соответствующих правил, происходит переход к следующему шагу.
 
Следующий шаг, определенный в параметре ELSE_STEP, является шагом, выполняемым при отрицательном результате тестирования условия. Если условия для соответствующих правил определены, то происходит переход на следующий шаг без исполнения правил операции.
 
Одна и та же метка шага может назначаться для нескольких правил.