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

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

Импорт, моделирование и генерация кода

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. Чтобы начать симуляцию, нажмите кнопку Выполнить. Откройте Tank HMI блокируйте и используйте поворотный переключатель Control Command, чтобы задать вход команды контроллера.

Установите Командный Вход Управления

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

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

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

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

Бак входит в состояние Стира только, когда уровень жидкости полон. В противном случае команда Stir не влияет. Если бак находится в состоянии Stir, горит индикатор 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');