AstraRegul
Руководство системного интегратора
×

19.4. САМОСТОЯТЕЛЬНОЕ ПРАКТИЧЕСКОЕ ЗАДАНИЕ 19.4

Задание. Реализовать управление двумя идентичными электродвигателями.
 
Запуск и останов первого электродвигателя должен выполняться от отдельных кнопок ПУСК и СТОП. Запуск и останов второго электродвигателя – от отдельных кнопок. Первый выход модуля DO управляет пускателем первого электродвигателя и второй выход модуля DO управляет пускателем второго электродвигателя. Также отключение первого электродвигателя должно выполняться при превышении давления в контуре 7 Бар (аналоговый сигнал 15,2mA), а отключение второго электродвигателя должно выполняться при превышении давления в контуре 6 Бар (аналоговый сигнал 13,6mA).
Выполнить задачу необходимо в функциональном блоке "Motor_FB", в котором должна быть реализована логика управления одним неопределенным электродвигателем. Два экземпляра функционального блока "Motor_FB" должны быть вызваны из программы «PLC_PRG» и каждый вызов адаптирован для работы с конкретным электродвигателем.
Важно!!! Для корректного функционирования каждого экземпляра функционального блока «Motor_FB» не используйте в его кодовой части обращение к глобальным переменным! Обращайтесь только к локальным переменным!
 
Порядок выполнения.
Продолжайте работу в проекте среды разработки Astra.IDE, который вы использовали при выполнении самостоятельного практического задания 19.3.
Удалите из группы VAR функционального блока "Motor_FB" ранее созданные переменные переменные:
Pusk: BOOL;                     //кнопка ПУСК
Stop: BOOL;                    //кнопка СТОП
Control: BOOL;               //управление электродвигателем
В таблице локальных переменных функционального блока "Motor_FB" создайте локальные переменные:
В группе VAR_INPUT:
Pusk: BOOL;                     // Кнопка ПУСК
Stop: BOOL;                     // Кнопка СТОП
Press_sensor: REAL;      // Сигнал аналогового датчика давления
SP: REAL;                          // Уставка давления
В группе VAR_OUTPUT:
Control: BOOL;      // Управление электродвигателем
 
В кодовой части функционального блока "Motor_FB" вместо глобальных переменных и констант (литералов) выполните привязку к соответствующим локальным переменным.
Добавьте в приложение таблицу глобальных переменных GVL и опишите в ней следующие переменные:
Pusk1_PB: BOOL;      //кнопка ПУСК 1-го электродвигателя
Stop1_PB: BOOL;      //кнопка СТОП 1-го электродвигателя
Pusk2_PB: BOOL;      //кнопка ПУСК 2-го электродвигателя
Stop2_PB: BOOL;      //кнопка СТОП 2-го электродвигателя
Ctrl1_Rele: BOOL;      //управление пускателем 1-го электродвигателя
Ctrl2_Rele: BOOL;      //управление пускателем 2-го электродвигателя
AI1_Sensor: REAL;      //сигнал с 1-го датчика давления
AI2_Sensor: REAL;      //сигнал с 2-го датчика давления
SP1: REAL:=15.2;      // уставка давления для отключения 1-го электродвигателя
SP2: REAL:=13.6;      // уставка давления для отключения 2-го электродвигателя
 
Выполните соотнесение входов/выходов модулей контроллера:
Модуль DI:
Pusk1_PB – первый канал (кнопка ПУСК 1-го электродвигателя)
Stop1_PB – второй канал (кнопка СТОП 1-го электродвигателя)
Pusk2_PB – третий канал (кнопка ПУСК 2-го электродвигателя)
Stop2_PB – четвертый канал (кнопка СТОП 2-го электродвигателя)
Модуль DO:
Ctrl1_Rele – первый канал (управление пускателем 1-го электродвигателя)
Ctrl2_Rele – второй канал (управление пускателем 2-го электродвигателя)
Модуль AI:
AI1_Sensor – первый канал (сигнал с 1-го датчика давления)
AI2_Sensor – второй канал (сигнал с 2-го датчика давления)
 
В таблице локальных переменных создайте ещё один экземпляр функционального блока "Motor_FB" для работы со вторым мотором.
Путем привязки локальных параметров функционального блока к глобальным переменным модулей ввода/вывода адаптируйте вызов первого экземпляра функционального блока "Motor_FB" из программы "PLC_PRG" для управления первым электродвигателем.
Путем привязки локальных параметров функционального блока к глобальным переменным модулей ввода/вывода адаптируйте вызов второго экземпляра функционального блока "Motor_FB" из программы "PLC_PRG" для управления вторым электродвигателем.
Второй канал модуля AI контроллера настройте на измерение токового сигнала 4..20mA (аналогично настройке первого канала, выполненной в самостоятельном практическом задании 19.3). Неиспользуемые аналоговые каналы замаскируйте.
Сохраните проект и загрузите приложение в контроллер. Проверьте работоспособность системы.
 
В таблице GVL форсируйте переменные, через которые выполняется управление электродвигателями и формируется величины давления в контурах. Оценивайте состояния переменных управление пускателями 1-го и 2-го электродвигателей. Управление электродвигателями должно выполняться независимо друг от друга!
 
Ссылка на gif-файл с демонстрацией проверки работы программы https://share.prosyst.ru/s/j4zqw7Tj5FTxGdf
Вариант реализации программы представлен по ссылке https://share.prosyst.ru/s/XLA5md3piPBT4oM
Рекомендуется для сравнения с вашим вариантом решения задания или при возникновении затруднений во время его выполнения!!!