主要内容

为可重用子系统生成的代码结构

本主题假设您已经从Simulink生成了结构化文本代码金宝app®模型。如果你还没有这样做,请看从模型窗口生成结构化文本

本主题中的示例显示了为CoDeSys Version 2.3 IDE生成的代码。为其他IDE平台生成的代码看起来有所不同。

  1. 打开plcdemo_reusable_subsystem模型。

  2. 打开PLC编码器应用程序。

  3. 点击生成PLC代码

    金宝app仿真软件PLC编码器™软件生成结构化文本代码并将其放入current_folder/ plcsrc plcdemo_reusable_subsystem.exp

  4. 如果你没有plcdemo_reusable_subsystem.exp文件打开,在MATLAB中打开它®编辑器。

    下图说明了生成的代码到可重用Simulink子系统的结构化文本组件的映射。金宝app这个图形包含一个层次子系统的副本,可重用子系统。这个子系统包含两个完全相同的子系统,S1和S2。此配置支持两个实例之间的代码重用(查找ReusableSubsystem代码中的字符串)。

  5. 检查生成的结构化文本代码。代码定义FUNCTION_BLOCK S1一次。

    查找两个实例变量,它们对应于父类中声明的两个实例FUNCTION_BLOCK ReusableSubsystemi0_S1: S1i1_S1: S1).代码通过传入不同的输入分别调用这两个实例。代码根据Simulink执行语义调用输出。金宝app

  6. 对于IEC 61131-3兼容的目标,无步进和输出ssMethodType不要使用FUNCTION_BLOCK.因此,生成的结构化文本代码SS_INITIALIZE不包含输出的赋值语句日元Y2

    请注意

    此优化仅适用于IEC 61131-3兼容的目标。