本文将带你详细了解如何使用 TIA Portal 中提供的新 CEM 编程语言以及这种新的高级编程语言的优势。
TIA Portal 版本 17 附带了一种新的高级编程语言,称为因果矩阵或 CEM。在本文中,我们将了解因果矩阵编程语言的优势,并逐步了解如何在 TIA Portal v17 中开始使用 CEM。
CEM 编程语言提供了一种直观直观的方式来将原因与结果联系起来。这允许没有强大编程技能的个人创建程序来控制简单的过程。
因果矩阵编程语言的可视化布局使其易于调试。任何监控程序的人都可以直观地查看给定效果缺少哪些原因,而无需深入了解程序的细节。
因果矩阵编程语言在 S7-1200 和 S7-1500 控制器上均可用。这使它成为一个可扩展的解决方案,可以成为标准公司库的一部分。
用因果矩阵编程语言编写的程序编译成与所有其他语言相同的机器代码。因此,可以将使用 CEM 编程语言编写的程序下载到运行旧固件的 CPU 中。
在其初始版本中,因果矩阵编程语言仅可用于非安全 PLC 程序。但是,在 CEM 编程语言的未来版本中,它将可用于创建安全程序。
我认为 CEM 语言最引人注目的用例是编写安全程序,因为大多数公司都根据因果关系来描述他们的安全系统。
在 TIA Portal 中,创建了一个新项目并将 S7–1200 CPU 添加到该项目中。
接下来,将添加一个程序块。已将程序块称为“传送带控制”并选择使用 CEM 编程语言作为该块。配置完成后,单击“确定”创建块。
块被创建并且因果矩阵编辑器打开。您可以看到顶行包含结果,左列包含原因。块接口与以任何其他编程语言创建的块的接口相同。
在本例中,我们将编写一个程序来控制双向输送机,该输送机将货物从装载位置运送到卸载位置。
-
通过按下切换启用按钮启用传送带。如果在传送带未启用时按下按钮,则启用。如果在启用传送带时按下按钮,则禁用传送带。
-
当系统启用时,传送带可以运行。输送机可以两种模式运行;自动和手动。该模式由操作员通过钥匙开关选择。
-
在自动模式下,输送机反向运行,直到它检测到载物台处于装载位置。当传送带检测到零件已装载到载体上时,它会向前运行。
-
传送带向前运行,直到它检测到处于卸载位置的载体。当传送带检测到零件已从载体上卸下时,它会反向运行。
-
在手动模式下,操作员可以向前移动输送机,直到在卸载位置检测到载体,然后反向移动直到在装载位置检测到载体。双向慢跑通过按钮完成。
因此,我必须在原因列中添加第二个原因。为此,我可以单击原因列中的添加新按钮:
接下来,我会将这两个原因的名称更新为比 Cause1 和 Cause2 更具描述性的名称。我已经使用了 Req_Enable 和 Req_Disable。
接下来,我们可以通过单击灰色指令框内的两个红色问号来选择我们将与我们的原因一起使用的逻辑操作类型。
在我们的例子中,我们想对我们的两个原因使用 AND 逻辑。
最后,我们将反转 Req_Enable Cause 的一个引脚的逻辑并将标签连接到指令。
您可以看到,使用逻辑运算和反转允许您为系统中的原因创建强大的表达式。
接下来,我们将定义系统启用操作的效果。在这种情况下,指令将是在块的 o_CNV_Enabled 输出上执行的赋值运算符 (‘=’)。
现在,我们必须定义因果关系。您可以通过单击因果之间的交叉方块来完成此操作。
当您双击交叉点时,会出现一个弹出窗口,允许您定义此原因和此结果之间的关系。对于启用原因,关系是 SET (‘S’) 操作
对于禁用原因,关系是 RESET (‘R’) 操作。
在本节中,我们将对输送机的手动控制进行编程,并学习如何创建动作组,以合乎逻辑的方式将原因联系在一起。
接下来,我们将添加两个新效果——向前运行电机和向后运行电机。
最后,我们必须建立因果关系。与前面的示例不同,我们希望在激活效果之前激活四个原因。
我们可以使用行动组来实现这一点。要创建一个动作组,请双击因果之间的交集,选择 N(非永久)动作并定义一个新的动作组,该动作组需要 4 个原因中的 4 个激活才能产生效果:
在编辑器中,您会看到操作组已创建并以黄色显示。这是组未正确配置的警告。
现在,当您配置下一个交集时,您可以指定此原因是先前配置的操作组的一部分:
对应属于 Run_Fwd 效果的所有原因重复此操作,并为 Run_Rev 操作组配置新操作组。
接下来,我们要对传送带的自动控制进行编程。使用自动控制,我们有一组完全不同的原因会产生相同的效果。
要让两组原因驱动一个结果,我们可以在结果列中添加一个交集列。为此,请右键单击效果并选择添加交集列。
这会创建一个额外的列,其中原因可以映射到结果,从而有效地为结果提供 OR 逻辑。
填写在自动模式下向前运行传送带的原因,并对 Run_Rev 效果重复相同的操作。
当零件装载到载体上或从载体上卸下时,输送机开始沿另一个方向运行。
我们不想在零件从载体中取出后立即开始运行传送带。我们想让正在装载零件的操作员有机会将零件正确放置在托架中,并且我们希望让正在卸载零件的操作员有机会在托架开始移动之前让他们的手得到清理。
因此,我们将对 Part_Pres 原因和 Part_Not_Pres 原因引入时间延迟。
为此,我们可以简单地将定时器操作指令之一从 CEM 指令列表拖到所需的原因上。
最后,我们可以对 Part_Not_Pres 原因重复相同的过程:
在我的程序中,我切换了输入 i_PB_Toggle_Enable 以启用传送带:
现在,如果我想向前运行传送带,我可以很容易地看到缺少哪些原因:
在我的程序中,我可以切换缺失的原因以使传送带向前运行:
如您所见,调试用 CEM 语言编写的程序非常容易,因为它是一种可视化编程语言。几乎任何人都可以监控这个程序,以了解缺少什么原因来产生他们正在寻找的效果。
因果矩阵编程语言是一种新的、高度可视化的编程语言,包含在 TIA Portal v17 中。
因为它是高度可视化的,所以很容易用简单的逻辑创建和调试程序,其中因果之间有明显的关系。CEM 编程语言是对任何 PLC 程序员用于编写简单逻辑的工具箱的绝妙补充。但是,复杂的机器不要使用 CEM 进行编程,因为指令集有限并且语言的布局很麻烦。
使用 CEM 的潜力在于安全编程,其中安全原因具有明显的影响。
案例下载链接:
https://pan.baidu.com/s/1j7dvwoDMs2ZklJh7C7FCXw
如果需要下载软件和手册,入剑指工控技术群后,请联系各群群管理员。(入群,请联系如下美女管理员)
2022年3月
1.Smart200&V90伺服系统:已更新15课
原文始发于微信公众号(剑指工控):在 TIA Portal 中使用因果矩阵编程