Этот пример показывает, как симулировать логику лестницы и сгенерировать код из моделей контроллеров лестничного бака.
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');