Симуляция управления баком и генерация кода при помощи лестничной логики

В этом примере показано, как симулировать лестничную логику и сгенерировать код от лестничных моделей контроллеров бака.

Импортируйте, симулируйте и сгенерируйте код

1. Создайте папку с разрешением записи и скопируйте файлы plcdemo_ladder_tankcontrol_template.slx и TankControl.L5X в ту папку.

2. Измените текущую папку в недавно созданную папку и переименуйте plcdemo_ladder_tankcontrol_template.slx к plcdemo_ladder_tankcontrol.slx.

3. В MATLAB, запуск plcimportladder команда. для получения дополнительной информации смотрите plcimportladder команда:

plcimportladder('TankControl','TopAOI','TankControl');

4. Откройте сгенерированную модель TankControl_runner_TankControl.slx и выберите и скопируйте TankControl_runner блок. Открытый plcdemo_ladder_tankcontrol, и замените Controller/TankControl_runner со скопированным блоком.

5. Чтобы запустить симуляцию, нажмите Run. Откройте Tank HMI блокируйте и используйте переключатель ротации Команды Управления, чтобы установить ввод команд контроллера.

Установите ввод команд управления

  • Установите переключатель Control Command на положение 'Заливки' заполнять бак.

  • Установите переключатель Control Command на положение 'Хранения' содержать текущее состояние бака.

  • Установите переключатель Control Command на 'Пустое' положение опорожнять бак.

  • Установите переключатель Control Command на положение 'Движения' активировать состояние движения бака.

Бак вводит состояние Движения только, когда уровень жидкости полон. В противном случае команда Движения не оказывает влияния. Если бак находится в состоянии Движения, лампа индикатора Stir включена. В противном случае это выключено. Числовое значение команды бака:

  • Заливка - 0

  • Содержите - 1

  • Пустой - 2

  • Размешайте - 3

Анимация бака пользовательский интерфейс показывает состояние бака запусками симуляции.

Завершенная simulink модель должна напомнить

open_system('plcdemo_ladder_tankcontrol_complete');

6. Чтобы сгенерировать код для подсистемы, используйте plcgeneratecode. для получения дополнительной информации, смотрите plcgeneratecode:

generatedfiles = plcgeneratecode('plcdemo_ladder_tankcontrol/Controller')

7. Чтобы сгенерировать испытательный стенд, откройте лестничную модель испытательного стенда управления баком:

open_system('plcdemo_ladder_tankcontrol_tb');