7. SCADA-пакеты (1245065), страница 5
Текст из файла (страница 5)
Если флаг Контроля границ установлен, то при выходе реальногозначения за границы шкалы каналу устанавливается признак недостоверности.Ограничение выходной величины - ИМ часто могут реализовать величину управляющего воздействиябольшую, чем это допускается по технологическим соображениям. Это может привести к возникновениюаварийной ситуации.Ограничение скорости изменения реального значения - контролируется изменение величины R натекущем такте пересчета. Если оно больше ограничения, то формируемая величина обрезается до суммытекущего значения и величины ограничения с учетом знака изменения.Таким образом, если в управляющий канал послать значение, задающее резкое изменение положенияИМ, то процесс его перемещения будет разбит по времени на несколько тактов пересчета данного канала. Этопозволяет защитить аппаратуру от ударных воздействий при управлении.
Для включения в канале этойобработки и задания величины ограничения скорости изменения используются соответствующие поля вбланке Границы и Обработка.ТрансляцияЕсли встроенных в канал методов обработки недостаточно, то дополнительную обработку можнооформить в виде программы на языке функциональных блоков (на языке Техно-FBD) и вызвать ее изпроцедуры трансляции. В таблице 3 приведены некоторые разделы (и их содержимое - функциональныеблоки) библиотеки алгоритмов в TM.Трансляция – это вызов программы числовым каналом; она определена для всех каналов независимо отих типа и вида представления.
При этом может быть выполнено следующее преобразование его атрибутов:A <=> программа <=> R.Направление преобразования зависит от типа каналаINPUT: A => программа => R; OUTPUT: R => программа => A.Направление преобразования следует учитывать для корректной привязки атрибутов числового каналак аргументам программы.Таблица 3.Разделы библиотеки алгоритмов (функциональных блоков) в Trace Mode1. Логические2. Побитовые3. Арифметические4.
Тригонометрические5. Алгебраические6. Функции сравненияРаздел «Регулирование»1. Звено PID2 (PID2)2. Звено PDD (PDD)7. Функции выбора8. Триггеры и счетчики9. Генераторы10. Управление10. Ввод/вывод. Переходы11. РегулированиеРаздел «Управление»1.
Экспоненциальное сглаживание (SMTH)2. Ограничение скорости (LRATE)3. Апертура (APERT)113. Звено PDD2 (PDD2)4. Трехпозиционный регулятор (PREG)5. Модель объекта (OBJ)6. Нечеткий регулятор (FZCTR)7. Показатели качества регулирования (QREG)8. Обработка сигнала (TRACT)9. Адаптивное регулирование (APID)10. Блок адаптивного регулирования (APDD)11. Идентификация объекта (IDNT)12. Модальный регулятор (MREG)13. Настройка PID-закона по параметрам объекта (CALC)14.
Настройка PID-закона по скачку сигналазадания (RJMP)Раздел «Генераторы»1. Меандр (G01)2. Бегущая единица (G1)3. Случайная величина в диапазоне [0, 1] (RND)4. Пилообразный сигнал (PILA)5. Единица с заданной вероятностью (GP01)6. Период вызова программы (TSTEP)7. Синусоидальный сигнал (GSINРаздел «Ввод/вывод.
Переходы»1. Чтение из порта (INP) - поддерживаются тольков Микро МРВ для DOS2. Чтение слова из порта (INPW)3. Запись слова в порт (OUTPW)4. Выход из программы (EXIT)5. Пересылка значения (MOVE)6. Пересылка четырех значений (MOVE4)4. Фильтрация пиков (PEACK)5. Зона нечувствительности (DZONE)6. Гистерезис (HSTR)7. Вставка нуля (INS0)8.
Звено второго порядка (SMTH2)9. Звено ШИМ (PWM)10. Циклический импульс (IMP)11. Задержка реакции (DEL)12. Зона нечувствительности 2 (DZONE2)13. Импульсный регулятор (IREG)14. Реальное дифференцирование (RDIF)15. Управление защитой (LALR)Раздел «Побитовые»1. Побитовое НЕ (∼X)2. Побитовое ИЛИ (X | Y)3. Побитовое И (X & Y)4. Побитовое исключающее ИЛИ (X ^ Y)5. Сдвиг влево (X << Y)6. Сдвиг вправо (X >> Y)7. Циклический сдвиг влево (X ROL Y)8.
Циклический сдвиг вправо (X ROR Y)9.Упаковка битов (PB)10. Распаковка битов (UPB)11. Упаковка байтов (WHL)12. Распаковка байтов (HLW)13. Упаковка слов (DHL)14. Распаковка слов (HLD)15. Установка бита (SB)16. Упаковка битов в слова (PW)17. Распаковка слов в биты (UPW)FBD-программа выбирается при настройке этой процедуры. Также при настройке процедуры входныеи выходные аргументы выбранной программы связываются с атрибутами текущего канала, а также любыхдругих каналов из текущей базы. Поэтому процедура трансляции одного канала может также использоватьсядля формирования значений другого каналов.Использование каналов класса HEX 16/32 (см.
рис. 3)Каналы данного класса используются для осуществления логических операций над входными ивыходными данными. В каналах типа INPUT она по значению In формирует A, а если тип OUTPUT, то позначению A – формирует значениe Q. В остальном логические операции в этих каналах аналогичны.При отсутствии процедуры Трансляции в каналах HEX32 не используется атрибут А.Каналы работают с упакованными дискретными сигналами (до 16/32 сигналов).
Для обработки этихсигналов можно задать маски, с помощью которых выполняются следующие операции:- предустановка – логическое сложение с маской; используется, когда независимо от значениядискретных сигналов, их величину в логическом управлении надо принять равной 1. В маске указывают биты,которые надо установить равными 1; применяется тождество Х+1=1.- инверсия – исключающее ИЛИ с маской (сложение по модулю 2), в которой указывают инвертируемые биты; применяется тождество Х 1 Х .- анализ на сочетаемость – логическое умножение на маску и сравнение результата со значениеммаски: их равенство считается ошибочной ситуацией; маска указывает биты, которые не могут одновременнобыть равны 1 (например, сигналы с концевых выключателей открытия и закрытия задвижки); применяютсятождества Х·1=Х; Х·0=0.Имеется возможность распаковать дискретные сигналы по отдельным каналам.Примеры на применение процедуры Логическая обработка.
При управлении различными объектамииногда возникает необходимость (в числе других задач) опроса состояния дискретных (двоичных) датчиков(например, концевого выключателя, так называемого «концевика», магнитных пускателей, пороговыхдатчиков, реле, и т. д.). При опросе таких датчиков информация об их состоянии поступает по отдельнымлиниям, по другим линиям может поступать сопровождающая информация (например, № канала, к которомуподключен датчик). Вся эта информация формируется в виде одного слова-состояния, разрядность которогоопределяется общим числом датчиков и каналов сопровождения.12Предустановка - для управления релейными ИМ необходимо выдать единичный (для включения) илинулевой (для выключения) сигнал по линии данных, к которой оно подключено.При групповом управлении ИМ или другими устройствами целесообразно формировать и хранитьуправляющее слово или маску.Например, если необходимоX 7 X 6 X 5 X 4 X 3 X 2 X1 X 0включить устройства (если они выключены) или подтвердить их0 1 0 1 0 0 0 0 маскавключение (если они включены), подключенные к линиям Х4, Х6,то формируется маска с единицами в этих разрядах (0101 0000) иX 7 1 X 5 1 X 3 X 2 X1 X 0выполняется логическое сложение (ИЛИ) с маской:Инверсия - если же необходимо отключить эти устройства, то также формируется маска(1010 1111) и используется логическая операция «И», либо формируется маска (0101 0000) и используетсялогическая операция «сложение по модулю 2 - »:X 7 X 6 X 5 X 4 X 3 X 2 X1 X 0X 7 X 6 X 5 X 4 X 3 X 2 X1 X 0 0 1 0 1 0 0 0 0 маска1 0 1 0 1 1 1 1 маскаX 7 0 X 5 0 X 3 X 2 X1 X 0X 7 0 X 5 0 X 3 X 2 X1 X 0Используются тождества булевой алгебры:Х 1 1,Х 1 Х , Х 0 0,Х 1 Х .где Х – булева переменная, т.е.
она принимает только одно из двух значений: 0 или 1.Анализ на допустимость сочетания - при управлении и контроле состояния устройства по значениюдискретных сигналов можно выделить заведомо недопустимые их сочетания. Возникновение такого сочетаниядискретных сигналов можно расценивать как некорректность в схемах их контроля. Для индикации такихситуаций дискретному каналу, можно задать маску, выделяющую биты, одновременная установка в 1 которыхявляется признаком некорректной работы.При этом каналу типа INPUT устанавливается признак недостоверности, а для канала типа OUTPUTблокируется передача сигнала на выход. Например: Маска указываетбиты, которые не могут одновременно быть равны 1 (например,сигналы с концевых выключателей открытия и закрытия задвижки –первый и последний):Если встроенных в канал методов обработки недостаточно, то дополнительную обработку можнооформить в виде программы на языке функциональных блоков (на языке Техно-FBD) и вызвать ее из процедуры трансляции.
Выше (в таблице 2) были приведены некоторые разделы (и их содержимое – функциональные блоки) библиотеки алгоритмов в TM.7.3. Программирование алгоритмов в TMДля программирования алгоритмов функционирования разрабатываемого проекта системы в TMвключены языки Техно SFC (Sequential Function Chart), Техно FBD (Function Block Diagram), Техно ST(Structured Text), Техно LD (Ladder Diagram) и Техно IL (Instruction List), являющиеся модификациямисоответствующих языков стандарта IEC61131-3.Редактирование программ осуществляется в интегрированной среде (ИС) ТМ. Программы и некоторые их компоненты (функции, шаги и переходы SFC и т. п.) могут быть разработаны на любом из встроенных языков в соответствующем редакторе, при этом языки для программы и ее компонентов выбираютсянезависимо.Для создания и редактирования свойств аргументов, переменных и функций, а также для использования в программе функций из внешних библиотек в ИС разработки проекта встроены специальныетабличные редакторы.
TM имеет также средства для отладки программ.Основным языком программирования TM является Техно ST. Программы, разработанные на языкахТехно LD, Техно SFC и Техно FBD, перед компиляцией транслируются в Техно ST. IL-программы передкомпиляцией частично транслируются в ST, частично – в ассемблер. Отсюда следует, например, что ключевыеслова Техно ST являются таковыми и для всех других языков.Подключение программы к проекту.
Для подключения программы к проекту ее нужно вначале компилировать, а затем сохранить проект. Чтобы компилировать программу, нужно выполнить команду Компилировать из меню Программа, или нажать ЛКМ на специальной иконке панели инструментов отладчика.Перед сохранением проекта нужно убедиться, что компиляция прошла успешно (в окне сообщений компилятора в этом случае выводится соответствующее сообщение).Отладка программы также возможна только после ее успешной компиляции.13Выбор языка программирования. Язык программирования может быть независимо задан для основнойпрограммы, функции-блока, функции и шага SFC. Язык выбирается в специальном диалоговом окне, которыйавтоматически появляется на экране при нажатии ЛКМ на имени вновь созданной программы или ее компонента (для которого язык может быть задан независимо) в окне структуры программы.
После выбора языкапрограмма открывается в соответствующем редакторе.Изменить язык можно только после удаления тела программы. Для этого нужно нажать ЛКМ насоответствующей панели инструментов в окне структуры программы, после чего диалог выбора языка автоматически появляется на экране.Создание элементов программ с помощью табличных редакторов. Табличные редакторы используются для создания: аргументов локальных переменных; глобальных переменных; функций-блоков (подпрограмм) и функций; структурных типов. Кроме того, с помощью табличных редакторов конфигурируютсяобращения к функциям из внешних библиотек.Перечисленные компоненты и элементы, наряду с листингами ST и IL и диаграммами LD, SFC и FBD,образуют ветви дерева в окне структуры программы.Для входа в соответствующий табличный редактор нужно в окне структуры программы нажать ЛКМна любом из перечисленных выше элементов.Особенности редактирования.