请注意
从Stateflow生成梯形图®图表将在未来的版本中删除。要生成梯形图,使用Simulink金宝app®模型代替。要创建与梯形逻辑生成金宝app兼容的Simulink模型,请执行以下操作之一:
使用PLC梯形图库中的模块创建一个与梯形图生成兼容的模型。要打开PLC梯形库,输入plcladderlib
在MATLAB命令提示符处。
从L5X文件导入梯形逻辑plcimportladder
函数。
要从Simulink模型中生成梯形逻辑,请使用以下函数:金宝appplcgeneratecode
和plcgeneraterunnertb
梯形图(LD)是一种用于开发可编程逻辑控制器(plc)软件的图形化编程语言。它是IEC 61131标准规定的用于plc的语言之一。
梯形图符号的程序是模拟继电器逻辑硬件电路的电路图。底层程序使用布尔表达式,可以很容易地转换为开关和继电器。当您直接用梯形图符号编写复杂的应用程序时,它是具有挑战性的,因为您必须只用布尔变量和表达式编写程序。
使用金宝app仿真软件PLC编码器™,您可以为您的应用程序生成梯形图代码Stateflow图表(Stateflow).好处是:
可以通过使用状态流图中的状态和转换来设计应用程序。一旦完成了设计,就可以生成XML或其他格式的梯形图代码。然后将生成的代码导入到诸如CODESYS 3.5或RSLogix™AOI 5000的IDE中,并查看梯形图。
当您通过使用一组输入来测试状态流图时,您可以重用这些输入来为梯形图代码创建一个测试工作台。您将测试台导入到您的PLC IDE中,并将仿真结果与运行梯形图的结果进行比较。如果结果一致,则原始状态流程图等价于生成的梯形图代码。
图中显示了一个简单的状态流图,包含三个状态和两个转换。根据转换条件,图表从一种状态转换到另一种状态。
国家State1
是活跃的transitionCondition1
和transitionCondition2
都不是真的。这意味着,State1
在以下两种情况之一中是活跃的:
图表已经通过默认转换开始执行。
之前的活动状态也是State1
和条件transitionCondition1
和transitionCondition2
都是虚假的。
State3
在以下两种情况之一中是活跃的:
前一个活动状态为State1
,transitionCondition1
是假的,transitionCondition2
是真的。
之前的活动状态也是State3
.State3
是一种终止状态。
您可以将生成的梯形图代码导入CODESYS 3.5并查看该图。图中显示了梯形图的一部分。
在上面的梯形图中,梯子的每个横档在一个线圈中结束。线圈对应于原始图表的一个状态。线圈前的触点决定线圈是否接收电源。您可以直观地将梯形图与状态流程图进行比较。例如,线圈State1_new
在以下两种情况之一获得权力:
常开触点State1
是闭式和常闭式接触者吗transitionCondition1
和transitionCondition2
是开放的。
常开触点stateflow_init
是关闭的。此联系人对应于默认转换。
一旦线圈State1_new
接收电源,接点State1_new
在梯子的进一步下降,然后关闭和线圈State1
接收功率。
梯形图从上到下,从左到右执行。
在从状态流程图生成梯形图代码之前,请确认您的图表已经为代码生成做好了准备。
从状态流程图生成梯形图代码。代码采用适合导入到IDE的格式。
与代码一起生成一个测试工作台。测试平台使用的是结构化文本语言。稍后您可以将代码和测试台一起导入到IDE中。测试平台调用梯形图代码,并将输出与原始状态流图的预期输出进行比较。
将生成的梯形图代码导入到CODESYS 3.5 IDE中。通过使用生成的测试台在IDE中验证图表。