主要内容

金宝appPLC编码器梯形图代码生成

请注意

从Stateflow生成梯形图®图表将在未来的版本中删除。要生成梯形图,使用Simulink金宝app®模型代替。要创建与梯形逻辑生成金宝app兼容的Simulink模型,请执行以下操作之一:

  • 使用PLC梯形图库中的模块创建一个与梯形图生成兼容的模型。要打开PLC梯形库,输入plcladderlib在MATLAB命令提示符处。

  • 从L5X文件导入梯形逻辑plcimportladder函数。

要从Simulink模型中生成梯形逻辑,请使用以下函数:金宝appplcgeneratecodeplcgeneraterunnertb

梯形图(LD)是一种用于开发可编程逻辑控制器(plc)软件的图形化编程语言。它是IEC 61131标准规定的用于plc的语言之一。

梯形图符号的程序是模拟继电器逻辑硬件电路的电路图。底层程序使用布尔表达式,可以很容易地转换为开关和继电器。当您直接用梯形图符号编写复杂的应用程序时,它是具有挑战性的,因为您必须只用布尔变量和表达式编写程序。

使用金宝app仿真软件PLC编码器™,您可以为您的应用程序生成梯形图代码Stateflow图表(Stateflow).好处是:

  • 可以通过使用状态流图中的状态和转换来设计应用程序。一旦完成了设计,就可以生成XML或其他格式的梯形图代码。然后将生成的代码导入到诸如CODESYS 3.5或RSLogix™AOI 5000的IDE中,并查看梯形图。

  • 当您通过使用一组输入来测试状态流图时,您可以重用这些输入来为梯形图代码创建一个测试工作台。您将测试台导入到您的PLC IDE中,并将仿真结果与运行梯形图的结果进行比较。如果结果一致,则原始状态流程图等价于生成的梯形图代码。

图中显示了一个简单的状态流图,包含三个状态和两个转换。根据转换条件,图表从一种状态转换到另一种状态。

国家State1是活跃的transitionCondition1transitionCondition2都不是真的。这意味着,State1在以下两种情况之一中是活跃的:

  • 图表已经通过默认转换开始执行。

  • 之前的活动状态也是State1和条件transitionCondition1transitionCondition2都是虚假的。

State3在以下两种情况之一中是活跃的:

  • 前一个活动状态为State1transitionCondition1是假的,transitionCondition2是真的。

  • 之前的活动状态也是State3State3是一种终止状态。

您可以将生成的梯形图代码导入CODESYS 3.5并查看该图。图中显示了梯形图的一部分。

在上面的梯形图中,梯子的每个横档在一个线圈中结束。线圈对应于原始图表的一个状态。线圈前的触点决定线圈是否接收电源。您可以直观地将梯形图与状态流程图进行比较。例如,线圈State1_new在以下两种情况之一获得权力:

  • 常开触点State1是闭式和常闭式接触者吗transitionCondition1transitionCondition2是开放的。

  • 常开触点stateflow_init是关闭的。此联系人对应于默认转换。

一旦线圈State1_new接收电源,接点State1_new在梯子的进一步下降,然后关闭和线圈State1接收功率。

梯形图从上到下,从左到右执行。

梯形图生成流程

  1. 在从状态流程图生成梯形图代码之前,请确认您的图表已经为代码生成做好了准备。

    看到编写Simulink PLC编码器梯金宝app形图代码生成图

  2. 从状态流程图生成梯形图代码。代码采用适合导入到IDE的格式。

    与代码一起生成一个测试工作台。测试平台使用的是结构化文本语言。稍后您可以将代码和测试台一起导入到IDE中。测试平台调用梯形图代码,并将输出与原始状态流图的预期输出进行比较。

    看到从状态流程图生成S金宝appimulink PLC编码器梯形图代码

  3. 将生成的梯形图代码导入到CODESYS 3.5 IDE中。通过使用生成的测试台在IDE中验证图表。

    看到导入梯形图代码到CODESYS 3.5 IDE和验证图