- •Разработка конфигурации контроллера Trident в пакете Tristation 1131.
- •Описание интерфейса Tristation 1131
- •1.2. Конфигурирование аппаратной части контроллера
- •1.3. Конфигурирование тегов контроллера
- •1.4 Написание программ для контроллера
- •1.5. Компилирование и отладка программ
- •2. Разработка scada системы iFix.
- •Дополнительная самостоятельная работа
- •4. Написание отчета и защита лабораторной работы
Методические указания к выполнению лабораторной работы
«Разработка SCADA системы управления смесителем с моделированием модели и системы управления смесителем в пакете программирования контроллеров Trident»
Цель работы:
Данная работа является развитием предыдущих лабораторных работ дисциплины и предназначена для ознакомления студентов со средствами программирования программно-логических контроллеров (ПЛК) и написания для них программ, а также осуществление связи ПЛК со SCADA системами. В нашем случае для связи между эмулятором контроллера Trident и SCADA iFIX использован протокол DDE (Data Dynamic Exchange)
Разработать в пакете программирования контроллеров Trident языке FBD модель объекта смесителя с накоплением уровня и модели работы задвижек.
Разработать в пакете программирования контроллеров Triconex языке FBD систему регулирования уровня и систему блокировки по уровню, с возможностью снятия действия блокировки по каждой из задвижек.
Средствами iFIX отобразить смеситель на мнемосхеме. Обеспечить возможность управления задвижками на мнемосхеме, включения/отключения действия блокировки по каждой из задвижек, а также возможность изменения уставки блокировки расхода и максимального значения расхода для каждого из потоков. Для системы регулирования уровня обеспечить возможность изменения с мнемосхемы режима работы регулятора уровня, его задания, настроечных параметров регулятора, а в ручном режиме регулятора предусмотреть возможность управления непосредственно положением клапана расхода слива из смесителя.
Обеспечить связь между эмулятором контроллера Trident и SCADA пакета iFIX.
Включить накопление истории по регулируемому параметру и отобразить на мнемосхеме исторический тренд.
Отладить работу системы и элементы управления ею на мнемосхеме.
Сделать выводы по работе.
Технологическая схема процесса
Последовательность выполнения работы:
Разработка конфигурации контроллера Trident в пакете Tristation 1131.
Описание интерфейса Tristation 1131
Рис.1 Общий вид пакета программирования Tristation 1131
В левой части окна пакета имеются 3 вкладки:
1. Application – содержит
дерево проекта, включая исходный тексты
программ, функций и функциональных
блоков. В подразделе Implemantation
указывается время сканирования
контроллера и список исполняемых в нем
программ.
Рис.2 Подраздел Implementation
2. Controller – определяются конфигурация контроллера, а также управление контроллером и его эмулятором (загрузка проекта, его запуск, отладка). Возможен просмотр использования системных ресурсов контроллера
Рис. 3 Вкладка Controller
Рис.4 Просмотр использования системных ресурсов контроллера
Project – предназначена для формирования проектной документации по разработанному проекту программного обеспечения
Рис. 5 Вкладка Project
1.2. Конфигурирование аппаратной части контроллера
Создадим новый проект программного обеспечения контроллера
Рис. 6 Создание нового проекта контроллера Trident
Создание программного обеспечения для ПЛК начинается с определения конфигурации аппаратной части контроллера (типа процессорного блока (блоков), коммуникационных процессоров, плат ввода/вывода). При создании аппаратной конфигурации в проекте, для каждой платы в зависимости от ее типа выделяется адресное пространство, которое затем используется в создаваемых программах контроллера.
Таким образом, в первую очередь определяем тип процессорного устройства и его имя.
Рис.7 Определение типа процессорного модуля контроллера.
На втором этапе аппаратной конфигурации определяется тип и положение плат ввода/вывода.
Рис. 8 Определение плат ввода/вывода
Для нашего проекта сформируем следующий набор плат ввода/вывода
Рис. 9 Перечень плат ввода/вывода контроллера
Отчет по аппаратной конфигурации контроллера имеет следующий вид
Рис. 10 Перечень плат ввода/вывода контроллера
1.3. Конфигурирование тегов контроллера
На следующем этапе необходимо сформировать переменные, ссылающиеся на адреса плат ввода/вывода, которые в дальнейшем будут использоваться в программах. Также определяются внутренние переменные контроллера для хранения значений вычислений, параметров и т.п., которые могут создаваться оп мере необходимости.
Рис. 11 Создание новой переменной контроллера
Для переменной определяется ее уникальное имя, тип, тип программы которой она будет использоваться, ее начальное значение, а также энергозависимость переменной (при энергонезависимости переменной сброс питания контролера и его последующее восстановление не влияет на значение переменной, в противном случае значение переменной сбрасывается в начальное значение).
рис. 12 Окно определения переменной
На следующей вкладке объявляется область памяти переменной (входная, выходная, внутренняя), метод доступа к переменной с помощью протокола Modbus (чтение, запись, а также адрес регистра для доступа к переменной через протокол Modbus). Кроме того, для переменной определяется, может ли в нее записываться значение из разных мест программы (Enable multiply writes).
Рис. 13 Окно определения переменной
Попытаемся создать переменные для плат ввода/вывода. Начнем с аналоговой платы ввода. Окно ввода физического адреса переменной представлено на следующем рисунке.
Рис. 14 Создание входной переменной
Мы видим, что значения с каналов платы хранятся в виде типа DINT (double integer – двойное целой), а именно в виде кода АЦП и преобразование значения в число с плавающей точкой приведенное к шкале измерения должно осуществляться в программе.
Так как у нас все равно не имеется физических плат ввода/вывода, то в качестве значений с аналоговых датчиков расхода по потокам и уровня будем использовать внутренние переменные типа REAL.
Для переменных входных дискретных сигналов с конечных выключателей положения отсекателей и выходных дискретных сигналов на отсекатели используем внутренние переменные типа BOOL.
Для выходного аналогового сигнала на регулирующий клапан также создадим внутреннюю переменную типа REAL.
Ниже представлен перечень переменных контроллера необходимых нам в работе с указанием их типа и назначения.
Таблица 1
Переменные контроллера необходимые при реализации программы
№ |
Имя переменной |
Область памяти |
Тип |
Описание |
1 |
ZIO1 |
Memory |
BOOL |
Состояние конечного выключателя открытия отсекателя |
2 |
ZIC1 |
Memory |
BOOL |
Состояние конечного выключателя закрытия отсекателя |
3 |
XV1 |
Memory |
BOOL |
Сигнал на управление отсеакателем (0 – Закрыть, 1 – Открыть) |
4 |
XV1_OPER |
Memory |
BOOL |
Задание оператора на отсекатель |
5 |
ZIO2 |
Memory |
BOOL |
Состояние конечного выключателя открытия отсекателя |
6 |
ZIC2 |
Memory |
BOOL |
Состояние конечного выключателя закрытия отсекателя |
7 |
XV2 |
Memory |
BOOL |
Сигнал на управление отсеакателем (0 – Закрыть, 1 – Открыть) |
8 |
XV2_OPER |
Memory |
BOOL |
Задание оператора на отсекатель |
9 |
ZIO3 |
Memory |
BOOL |
Состояние конечного выключателя открытия отсекателя |
10 |
ZIC3 |
Memory |
BOOL |
Состояние конечного выключателя закрытия отсекателя |
11 |
XV3 |
Memory |
BOOL |
Сигнал на управление отсеакателем (0 – Закрыть, 1 – Открыть) |
12 |
XV3_OPER |
Memory |
BOOL |
Задание оператора на отсекатель |
13 |
F1 |
Memory |
REAL |
Значение расхода по потоку 1 при открытом отсекателе |
14 |
F2 |
Memory |
REAL |
Значение расхода по потоку 2 при открытом отсекателе |
15 |
F3 |
Memory |
REAL |
Значение расхода по потоку 3 при открытом отсекателе |
16 |
F4 |
Memory |
REAL |
Максимальное значение расхода потока 4 при полностью открытом клапане |
17 |
FE1 |
Memory |
REAL |
Расход потока 1 |
18 |
FE2 |
Memory |
REAL |
Расход потока 2 |
19 |
FE3 |
Memory |
REAL |
Расход потока 3 |
20 |
FE4 |
Memory |
REAL |
Расход потока 4 |
21 |
L |
Memory |
REAL |
Значение уровня в смесителе |
22 |
L_GAIN |
Memory |
REAL |
Коэффициент интегрирования потоков для моделирования накопления уровня |
23 |
L_HILIM |
Memory |
REAL |
Значение уставки блокировки по уровню |
24 |
L_BLOCK |
Memory |
BOOL |
Сигнал о превышении уровня уставки по блокировке |
25 |
Key1 |
Memory |
BOOL |
Ключ отключения блокировочного действия на отсекатель по потоку 1 (0 – блокировка включена, 1 – блокировка выключена) |
26 |
Key2 |
Memory |
BOOL |
Ключ отключения блокировочного действия на отсекатель по потоку 1 (0 – блокировка включена, 1 – блокировка выключена) |
27 |
Key3 |
Memory |
BOOL |
Ключ отключения блокировочного действия на отсекатель по потоку 1 (0 – блокировка включена, 1 – блокировка выключена) |
28 |
MV_L |
Memory |
REAL |
Управляющее воздействие на регулирующий клапан |
29 |
SP_L |
Memory |
REAL |
Задание на поддержание уровня в смесителе |
30 |
Mode_L |
Memory |
BOOL |
Режим регулятора уровня (0 – Ручной, 1 – Авто) |
31 |
Kp |
Memory |
REAL |
Коэффициент пропорциональности регулятора уровня |
32 |
Ti |
Memory |
REAL |
Постоянная времени интегрирования регулятора уровня, сек |
33 |
Td |
Memory |
REAL |
Постоянная времени дифференцирования уровня, сек |
