Используйте PLC_RemoveSSStep в распределенной генерации кода

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

Открытая модель

Откройте модель при помощи следующей команды:

open_system('mSystemIntegration');

Сконфигурируйте компоненты модели для распределенной генерации кода

Автоматически сгенерировать код структурированного текста с тем же ssMethod введите для каждого компонента вашей модели для внешней интеграции кода позже, использование Сохраняют Верхний уровень ssmethod Именем То же самое Как функция Неверхнего уровня.

Генерация кода

  1. Открытый Simulink PLC Coder.

  2. Выберите Subsystem1 блок.

  3. Нажмите Settings. Перейдите Генерации кода PLC> Идентификаторы. Установите флажок рядом с верхним уровнем Хранения ssMethod, называют то же самое как неверхний уровень.

  4. Нажать ОК.

  5. Повторите шаги 2 - 4 для SubSystem2, SubSystem3, и TopSystem.

Сгенерируйте код для подсистемы

Сгенерировать код для отдельного использования подсистемы, plcgeneratecode функция:

plcgeneratecode('mSystemIntegration/TopSystem/SubSystem1');
plcgeneratecode('mSystemIntegration/TopSystem/SubSystem2');
plcgeneratecode('mSystemIntegration/TopSystem/SubSystem3');
### Generating PLC code for 'mSystemIntegration/TopSystem/SubSystem1'.
### Using <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">model settings</a> from 'mSystemIntegration' for PLC code generation parameters.
### Gathering test vectors for PLC testbench.
### Begin code generation for IDE <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">codesys23</a>.
### Emit PLC code to file.
### Creating PLC code generation report <a href="matlab:web('/tmp/BR2020ad_1302590_239645/publish_examples0/tp6583e4b1/ex14753967/codesys23_plcsrc/html/mSystemIntegration/mSystemIntegration_codegen_rpt.html')">mSystemIntegration_codegen_rpt.html</a>.
### PLC code generation successful for 'mSystemIntegration/TopSystem/SubSystem1'.
### Generated files:
<a href="matlab: edit('codesys23_plcsrc/SubSystem1.exp')">codesys23_plcsrc/SubSystem1.exp</a>
### Generating PLC code for 'mSystemIntegration/TopSystem/SubSystem2'.
### Using <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">model settings</a> from 'mSystemIntegration' for PLC code generation parameters.
### Gathering test vectors for PLC testbench.
### Begin code generation for IDE <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">codesys23</a>.
### Emit PLC code to file.
### Creating PLC code generation report <a href="matlab:web('/tmp/BR2020ad_1302590_239645/publish_examples0/tp6583e4b1/ex14753967/codesys23_plcsrc/html/mSystemIntegration/mSystemIntegration_codegen_rpt.html')">mSystemIntegration_codegen_rpt.html</a>.
### PLC code generation successful for 'mSystemIntegration/TopSystem/SubSystem2'.
### Generated files:
<a href="matlab: edit('codesys23_plcsrc/SubSystem2.exp')">codesys23_plcsrc/SubSystem2.exp</a>
### Generating PLC code for 'mSystemIntegration/TopSystem/SubSystem3'.
### Using <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">model settings</a> from 'mSystemIntegration' for PLC code generation parameters.
### Gathering test vectors for PLC testbench.
### Begin code generation for IDE <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">codesys23</a>.
### Emit PLC code to file.
### Creating PLC code generation report <a href="matlab:web('/tmp/BR2020ad_1302590_239645/publish_examples0/tp6583e4b1/ex14753967/codesys23_plcsrc/html/mSystemIntegration/mSystemIntegration_codegen_rpt.html')">mSystemIntegration_codegen_rpt.html</a>.
### PLC code generation successful for 'mSystemIntegration/TopSystem/SubSystem3'.
### Generated files:
<a href="matlab: edit('codesys23_plcsrc/SubSystem3.exp')">codesys23_plcsrc/SubSystem3.exp</a>

Сгенерируйте код для интегрированной модели

Сгенерировать код для интегрированной модели:

plcgeneratecode('mSystemIntegration/TopSystem');
### Generating PLC code for 'mSystemIntegration/TopSystem'.
### Using <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">model settings</a> from 'mSystemIntegration' for PLC code generation parameters.
### Gathering test vectors for PLC testbench.
### Begin code generation for IDE <a href="matlab:configset.showParameterGroup('mSystemIntegration', { 'PLC Code Generation' } )">codesys23</a>.
### Emit PLC code to file.
### Creating PLC code generation report <a href="matlab:web('/tmp/BR2020ad_1302590_239645/publish_examples0/tp6583e4b1/ex14753967/codesys23_plcsrc/html/mSystemIntegration/mSystemIntegration_codegen_rpt.html')">mSystemIntegration_codegen_rpt.html</a>.
### PLC code generation successful for 'mSystemIntegration/TopSystem'.
### Generated files:
<a href="matlab: edit('codesys23_plcsrc/mSystemIntegration.exp')">codesys23_plcsrc/mSystemIntegration.exp</a>