UltraLogik – система программирования контроллеров АСУ ТП: Учебное пособие, страница 17

5.5. Используя панель инструментов и библиотеки FreqTime для генератора меандра GSS, Regulation для П-, ПИ- и ПИД-регуляторов и новую библиотеку для нового блока Inert2, наберите программу такую, как показано на рис. 90. При именовании связей щёлкните на Связь, к которой надо привязать определённую переменную. После появления окна Имя связи перейдите на вкладку Переменные и перетащите нужную переменную курсором мыши в это окно.


Рис. 90

В модели объект может регулироваться одним из трёх регуляторов. В примере рис. 90 представлены три системы. На вход систем поступает меандр. Секция INIT используется для запуска таймерной переменной Т1. В каждые полпериода интеграторы в ПИ- и ПИД-регуляторах обнуляются переменной Ival, чтобы убрать из интеграторов остаточную сумму. 

5.6. Для компиляции проекта нажмите кнопку Компиляция Текущего Проекта. Если будут найдены ошибки в программе, они будут показаны в окне Список ошибок. Чтобы определить место нахождение ошибки, сделайте двойной щелчок левой кнопкой мыши на любой ошибке из списка. Если ошибок нет, то появится окно Эмулятор вашего проекта. Запустите эмулятор проекта кнопкой Пуск.

5.7. Для  просмотра результатов моделирования выберите строку Осциллограф в меню Отладчик


5.8. Создайте модель объекта регулирования в виде звена второго порядка.В качестве объекта регулирования рассмотрим двигатель постоянного тока с независимым возбуждением (рис. 91).

                                                             Рис. 91

Уравнения, которыми описываются электромагнитные и электромеханические процессы в этом двигателе, имеют вид:

, , , , , где  - индуктивности обмотки соответственно возбуждения и якоря;  - активные сопротивления обмотки возбуждения и цепи якоря;  - магнитный поток обмотки возбуждения;  - моменты соответственно нагрузки и обмотки возбуждения.

Если принять в качестве базовых единиц номинальное значение переменных двигателя, то получим уравнения:

, , , , где , , , , , , , , , , ,

где  - постоянные времени соответственно обмотки возбуждения и якоря; ..-.коэффициент обмотки возбуждения.

Уравнения двигателя в операторной форме имеют вид:

, , , .

Используя эти формулы, создадим модель двигателя (рис. 92).

Указания по выполнению

5.8.1. Выполните указания пп.  5.1 и 5.2.


                                              Рис. 92


5.8.2. Согласно указаниям пункта 5.3, создайте таблицы переменных (рис. 93).

Рис. 93

5.8.3. Руководствуясь пунктом 5.5, создайте алгоритм программы (рис. 94). Блоки LPF1 и Integral, которые используются в программе, возьмите из библиотек FreqTime и Regulation соответственно.


Рис. 94

В секции INIT: производится запуск таймерной переменной Т. Как только Т станет больше времени начала управления Ту, напряжения якоря и возбуждения перейдут скачком из нулевого состояния в заданное (0,8). Аналогично момент нагрузки скачком перейдёт из нулевого в заданное состояние (0,2) через время Твозб. В данном примере сначала подаётся напряжение на якорь и на обмотку возбуждения через 10 секунд, а потом спустя 3 секунды появляется возмущение от момента нагрузки. Алгоритм программы описывает уравнения двигателя в операторной форме, которые приведены выше.

5.8.4. Сделайте компиляцию проекта, следуя указаниям пункта 5.6.

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

6. Пример программирования контроллера ADAM-5510

Система на базе микроконтроллера ADAM-5510 состоит из самого контроллера, модуля аналогового вывода 5024, модуля дискретного ввода 5051, модуля дискретного вывода 5056 и модуля аналогового ввода 5018. Система на основе этого микроконтроллера в составе имеет вольтметр, два цифровых выхода, которые могут отключаться тумблерами, К-термопару, две лампочки, сигнализирующие верхний и нижних пределы температуры, которые задаются в программе микроконтроллера, и вентилятор, который включается, если температура превысила верхний придел.

Указания по выполнению

6.1. Выполнить указания пункта 5.1.

6.2. Для выбора компилятора для контроллера на вкладке Опции в строке TargetCompiler выберите из списка строку 80x86 processorsfamilycompiler.


6.3. Создайте списки переменных, следуя указаниям пункта 5.3. (рис. 95).

                                                        Рис.


 95

6.4. Сделайте конфигурацию контроллера. Для этого перейдите на вкладку Конфигурация. Откроется лист с вкладкой Модель. Щёлкните левой кнопкой мыши на кнопке Model внизу листа. Откроется окно Выберите модель. В этом окне выберите строчку ADAM-5510, AdvantechCo.Ltd. После этого появится новая вкладка Модули. На вкладке модель поставьте галочку напротив надписи СОМ1. Появится новая вкладка СОМ1. На этой вкладке задайте скорость порта равной 9600 и режим работы порта – PLCNet. Перейдите на вкладку Модули и выберите модули ввода-вывода в следующей последовательности: 5024, 5051, 5056 и 5018. После этого появятся вкладки, соответствующие названию выбранных модулей.

6.5. Выполните привязку переменных к модулям ввода-вывода. Для этого перейдите на нужную  вкладку,  сделайте двойной щелчок и выберите из списка эту переменную (рис. 96, 97).