Программное обеспечение сетевого взаимодействия участников АСУ ТП: Учебное пособие, страница 7

Когда программный алгоритм сформирован, необходимо выполнить компиляцию программы. Для того чтобы скомпилировать программу, в меню Компилятор выберите строку Компилировать или нажмите клавишу F9, или щелкните мышью по кнопке . По этой команде система программирования создаст объектный файл с именем “Название вашей программы”.OBJ. Для сборки исполняемого файла вызывается программа, указанная в файле PLCWIN.INI в разделе Linker (можно использовать компановщик Borland tlink.exe). Если по какой-либо причине система не смогла вызвать эту программу, сообщается код ошибки. Успешное завершение компиляции порождает исполняемый файл “Название вашей программы”.exe. Для пересылки скомпилированного файла на виртуальный диск контроллера используется терминальная программа adam5510.exe.

Разработка программы автоматизированной системы

нагрева воды для контроллера ADAM-5510 в среде Genie

            Поскольку программа процесса нагрева воды для контроллера ADAM-5510 написана на языке UltraLogik, то в среде Genie будем осуществлять только управление процессом и контроль за ходом его выполнения.

            После запуска Genie 3.0 в меню Файл выберите Новый…, откроются окна редактора задач и редактора форм отображения, а также панели инструментов этих окон.

            В окне редактора задач поместите блоки библиотек обмена данными с драйвером UltraNet F-Net и I-Net. Отредактируйте списки сетевых переменных, участвующих в обмене, так, как показано на рис. 29.

Рис. 29. Таблицы сетевых переменных (см. также с. 35)

Рис. 29. Окончание

            На рис. 29 показаны таблицы сетевых переменных блока F-Net и  блока I-Net.

Как видно из рис. 29, все переменные, пересылаемые на вход контроллера, передаются с помощью блока I-Net.

Так как температура, измеряемая датчиком (термопарой) контроллера, близка к комнатной, а температура нагреваемой воды в системе может изменяться в диапазоне от 30 до 90 ºС, то введем поправочный коэффициент на значение T_Stab, пересылаемое в контроллер, и измеряемое значение T. Поэтому, перед тем как послать контроллеру новое значение T_Stab, будем делить его на 5, а полученное значение Т умножать на 5. Для этого следует поместить в поле редактора задач пиктограммы умножения и деления, связанные с соответствующим выходом блока F-Net и входом блока I-Net.

Далее в редакторе форм отображения следует создать графический интерфейс оператора, такой как показан на рис. 25. Рассмотрим сопоставление конкретных графических примитивов и элементов форм отображения с элементами редактора задач. Для связи движкового регулятора пульта оператора, которым задается значение T_Stab, с реальной переменной, носящей то же имя, в редакторе задач необходимо создать тег, через который новое значение T_Stab будет подаваться на  арифметический блок деления (SOC2) редактора задач и далее на 1-й вход блока I-Net. Окна настроек данного тега (SPIN2:SPIN2) и движкового регулятора (SPIN2) приведены соответственно на рис. 30 и 31.

Рис. 30. Окно настроек тега SPIN2:SPIN2

Рис. 31. Окно настроек движкового регулятора SPIN2

Аналогично вышеописанному согласуется графический элемент управления Кнопка с двумя состояниями Пуск1 (рис. 32), служащая для запуска двигателей системы, с тегом BBTN1: Пуск1, предназначенным для передачи переменной Start нового значения.

Рис. 32. Окно настроек кнопки Пуск1

Рис. 33. Окно настроек тега BBTN1: Пуск1

Тег BBTN1: Пуск1 (рис. 33) связан со вторым входом блока I-Net.

Для условного изображения двигателей М1 и  М2 следует создать графические примитивы в виде равностороннего треугольника, вписанного в круг. Окна настроек показаны на рис. 34, 35. Когда один из двигателей находится в рабочем состоянии, цвет треугольника меняется с темно-зелёного на ярко-зелёный. Для этого надо связать эти элементы с переменными типа Boolean Start_M1 и Start_M2 (т.е. со вторым и третьим выходами блока F-Net).

Рис. 34. Окно настроек графического примитива,

 изображающего двигатель М1

Рис. 35. Окно настроек графического примитива,

 изображающего двигатель М2

Аналогичным образом настраиваются графические примитивы, изображающие трубопровод для нагреваемой воды. Исключение составляет лишь общая для обоих двигателей часть этого трубопровода, примитивы которой переходят в активное состояние, когда работает хотя бы один из двигателей, т.е. переменная Work на 4-м выходе блока F-Net принимает значение True.

 Клапан теплообменника состоит из двух графических примитивов – двух треугольников, переходящих в активное состояние, когда переменные Open и Close соответственно принимают значение True. Эти элементы редактора форм отображения имитируют закрытие  и открытие клапана теплообменника и связаны с 6-м и 7-м выходами блока F-Net. Настройки для данных примитивов аналогичны описанным.

Графический элемент Цифровой индикатор, имеющий в форме отображения соединение с выходом трубопровода нагреваемой воды и аналоговым регулятором (РТ), служит для отображения температуры нагретой воды, т.е. значения переменной Т. Вывод на индикатор осуществляется из арифметического блока (SOC1) редактора задач, служащего для умножения измеренного значения переменной Т на поправочный коэффициент, равный 5, и логически соединенного с 0-м выходом блока F-Net. Окно настроек цифрового индикатора изображено на рис. 36.

Рис. 36. Окно настроек цифрового индикатора

На этом программирование контроллера ADAM-5510 заканчивается.

Первая часть стратегии GENIE в редакторе задач, выполняемая при участии контроллера ADAM-5510, представлена на рис. 37.

Рис. 37. Стратегия Genie для ADAM-5510

 Остальные функции процесса автоматизированного нагрева воды выполняются под управлением контроллера серии ADAM-4000.

4. Разработка программного обеспечения

    контроллеров серии ADAM-4000

Всё программное обеспечение контроллера ADAM-4000 для автоматизированной системы нагрева воды разрабатывается в среде Genie.

Функции контроллера ADAM-4000 в данном процессе состоят в следующем: