当我们在任何应用程序中开发程序时,为了使项目尽可能高效,一致性和准确性是至关重要的。
西门子已将这个功能集成到PLC那就是------功能块。我之前在S7 1200的第一篇编程文章中已经展示过此内容。现在,我想再带你们看一下功能块的细节。
在此示例中,我为泵创建一个功能块:它只有一个用于运行命令的输出,没有方向变化,速度控制等……,并且只有几个内置在功能块中的报警功能。
1.创建功能块通过单击“添加新块”,选择“FB功能块”,并将其命名为“ Pump_Standard”。
2.功能块逻辑我将展示为这个简单的泵添加的逻辑,以显示需要集成到我要编程的每个泵中的可完成的功能,但这并不是供实际使用的。免责声明:我不保证你能将其用于生产中。生产中的实例可能包含的内容不止于此。 但如果你需要我实际项目中正常使用的程序的话,可以私聊老周来获得。
3.将功能块实例插入我的组织块将“ Pump_Standard”插入到“ OB1”组织块中。在这里,我将块中的属性(本地输入/输出)与实际的输入和连接(对于我需要编程的每个泵/电动机)不同。该泵将是数据块“ Well_Pump_1”,我还创建了一个“ Well_Pump_2”数据块实例。从现在开始,当我需要在系统中添加新的Pump / Motor时,将通过一个程序段完成此操作(尽管如下所示,我可能会为电机互锁添加第二个程序段(如下图所示),因为互锁可能很复杂)。
4.转至在线下面是我转至在线时的功能块。如果需要,我可以给每个泵/马达一个不同的“反馈时间”。辅助反馈通常是现实世界中的数字输入,但是在这里我正在做模拟,因此它是一个存储标签。我有三个用于开始/停止/复位的HMI按钮,这些按钮将添加到我的HMI项目中,如下所示。
6.功能块标签我将在功能块外部连接的任何标签将是本地输入/输出,并且将留在功能块内部的任何标签将是静态标签。
HMI –添加泵当然,我需要将两个泵添加到HMI显示器中。
HMI LiveWell Pump 1在此实时HMI显示中运行。Well Pump 2没有运行,并且有一个警报,需要在重新启动之前将其重置。