В этом примере показано, как импортировать лестничную схему из .L5X файл, созданный при помощи Rockwell Automation® IDE, такие как RSLogix™ 9 5000 и Studio 5000 в Simulink® окружение. Операция импорта выполняется с помощью plcimportladder функция.
Рисунок показывает лестничную схему с простым таймером. Лестничная схема состоит из четырех ступеней с контактами (Switch_A, Light1, Motor_timer.DN), катушки (Light1, Light2, Motor), и TON функцию таймера.

The simple_timer.L5X файл был создан с использованием среды IDE RSLogix 5000. Фрагмент .L5X показан файл.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="30.00" TargetName="simple_timer" TargetType="Controller" ContainsContext="false" Owner="Arun Mathew Iype, MathWorks" ExportDate="Mon Nov 12 16:35:28 2018" ExportOptions="NoRawData L5KData DecoratedData ForceProtectedEncoding AllProjDocTrans"> <Controller Use="Target" Name="simple_timer" ProcessorType="Emulate 5570" MajorRev="30" MinorRev="11" TimeSlice="20" ShareUnusedTimeSlice="1" ProjectCreationDate="Mon Nov 12 16:33:36 2018" LastModifiedDate="Mon Nov 12 16:33:43 2018" SFCExecutionControl="CurrentActive" SFCRestartPosition="MostRecent" SFCLastScan="DontScan" ProjectSN="16#0000_0000" MatchProjectToController="false" CanUseRPIFromProducer="false" InhibitAutomaticFirmwareUpdate="0" PassThroughConfiguration="EnabledWithAppend" DownloadProjectDocumentationAndExtendedProperties="true" DownloadProjectCustomProperties="true" ReportMinorOverflow="false"> <RedundancyInfo Enabled="false" KeepTestEditsOnSwitchOver="false" IOMemoryPadPercentage="90" DataTablePadPercentage="50"/> <Security Code="0" ChangesToDetect="16#ffff_ffff_ffff_ffff"/> <SafetyInfo/> <DataTypes/> <Modules> <Module Name="Local" CatalogNumber="Emulate 5570" Vendor="1" ProductType="14" ProductCode="53" Major="30" Minor="11" ParentModule="Local" ParentModPortId="1" Inhibited="false" MajorFault="true"> <EKey State="ExactMatch"/> <Ports> <Port Id="1" Address="0" Type="ICP" Upstream="false"> <Bus Size="10"/> </Port> </Ports> </Module> </Modules> <AddOnInstructionDefinitions/> <Tags/> <Programs> <Program Name="MainProgram" TestEdits="false" MainRoutineName="MainRoutine" Disabled="false" UseAsFolder="false"> ... <Tags>
Перед импортом .L5X файл в Simulink:
Проверьте, что файл лестничной схемы является допустимым .L5X файл. Файл можно проверить, скомпилировав его в Rockwell Automation IDE.
Если файл действителен, скопируйте .L5X файл в папку с разрешениями на чтение и запись. Можно также создать отдельную папку для хранения всех импортированных файлов вместе с исходной лестничной схемой .L5X файл.
Используйте plcimportladder функция для импорта лестницы в Simulink. В данном примере программа Name лестницы MainProgram и MainRoutineName является MainRoutine.
>> plcimportladder('simple_timer.L5X')Лестничная схема импортируется в pwd\simple_timer.slx Модель Simulink. Информация о состоянии лестничных элементов хранится в памяти хранилища данных и обновляется моделью во время симуляции. The plcout\simple_timer_value.m вызывается файл на этапе предварительной загрузки модели Simulink. Этот файл устанавливает начальные значения таймера в Motor_timer память хранилища данных.
The simple_timer.slx Модель Simulink состоит из контроллера лестничной схемы в качестве верхнего модуля.

Этот контроллер имеет Main Task и Controller Tags. The Main Task состоит из Main Program.


The Main Program содержит реализацию Simulink simple_timer.L5X Лестничная схема. Звон лестницы выполняется сверху вниз и слева направо.

Можно использовать блок Signal Builder для создания тестовых воздействий для Switch_A и проверьте операцию импортированной лестницы. Можно также сгенерировать код лестничной схемы ПЛК или код С для подсистемы верхнего уровня. Если требуется отредактировать импортированную лестницу, блоки Simulink находятся в шаблоне Ladder Diagram Library. Чтобы открыть библиотеку, введите:
plcladderlib
Если ваша лестничная схема имеет комментарии, связанные с звоном, эти комментарии также импортируются в Simulink. В окружение Simulink комментарии соединяются с соответствующим звеном. Для примера в лестничной схеме для простого таймера есть комментарий Switch ON Delay. После импорта лестничной схемы в Simulink, комментарий также импортируется, как показано на Rung 3 импортированной модели Simulink.
Точно так же, когда вы генерируете код Лестничной схемы из модели Simulink, содержащей комментарий к звону, комментарий также генерируется в (L5X) лестничный файл. Если ваша модель Simulink имеет несколько комментариев, связанных с звоном, в сгенерированной лестничной схеме эти комментарии объединяются в один комментарий с каждым отдельным комментарием, появляющимся в отдельной линии.
Если у вас есть L5X файл, содержащий AOI со смешанными упорядоченными аргументами, этот порядок сохраняется во время импорта и экспорта файлов.
plccleartypes | plcgeneratecode | plcgeneraterunnertb | plcimportladder | plcladderlib | plcladderoption | plcloadtypes