如何用Excel创建PLC梯形逻辑代码

可编程逻辑控制器(PLC)梯形逻辑代码可以用Microsoft Excel批量生产,以生成重复的逻辑,如I/O映射和警报。

通过马克Magnusen 2023年5月22日
礼貌:王牌

可编程逻辑控制器(PLC)的见解

  • PLC梯形逻辑代码可以用Microsoft Excel批量生产,它可以帮助处理任何本质上重复的代码。
  • 这是自动化流程的另一种方式,否则将花费大量的时间来完成一项任务,而这些任务虽然有价值,但却使工程师无法执行其他重要任务。

自动化行业一直在寻求使流程更高效,例如为食品和饮料制造商实施批控制逻辑或设计报告以跟踪制药设施的系统停机时间,效率是关键。它不仅仅局限于该领域的解决方案,而且有方法简化和自动化编写可编程逻辑控制器(PLC)代码的过程。

罗克韦尔PLC梯形逻辑代码可以用Microsoft Excel批量生产。这对于生成重复的逻辑很有用,比如输入/输出(I/O)映射和警报,但也可以应用于任何本质上重复的代码。在下面的示例中,为模拟输入生成I/O缓冲例程。

准备I/O列表

I/O列表指定输入标签名称以及现场每个仪器的机架/插槽/通道。

礼貌:王牌

图1:I/O列表指定输入标签名称以及现场每个仪器的Rack/Slot/Channel。礼貌:王牌

在I/O列表中添加了一个额外的列(列H),用于解释向其传递缩放后的进程值(或模拟进程值)的Alarm AOI块。下面这个警报标签上有更多信息。在缓冲标签的名称中包含“T”,表示该值来自现场发送器,而内部进程值标签以“I”结尾,包含屏幕上显示的进程变量。记住这个约定,很容易使用Excel的Substitute()函数或copy和replace菜单选项,以I/O Tagname数据为基础,快速创建该列的数据。

创建第一个梯级

首先手动创建I/O映射例程的第一个梯级——在本例中,是压缩机1入口压力变送器的I/O映射,如下所示——然后双击梯级编号,显示该梯级代码的底层ASCII文本。这将是基于大规模生产的阶梯逻辑的其余代码。

在图2中,文本如下:

bufferAIInt PIT_L6_502 rack2:1;Ch0Data SimEnable PI_L6_502 "

礼貌:王牌

图2:文本为“bufferAIInt PIT_L6_502 Rack02:1:I”。Ch0Data SimEnable PI_L6_502 "由ACE提供

该语法给出了附加指令(AOI)及其相关参数。

礼貌:王牌

图3:Alarm aoi在另一个例程中处理,仅由此处显示的块引用。创建警报的代码也是Excel生成代码的一个很好的候选代码。礼貌:王牌

将文本从Logix Designer复制并粘贴到Excel中。

将文本分成单元格

在下面的图中,它显示了将横档复制到Excel中后的样子。当前格式是无用的。

礼貌:王牌

图4:这里显示了将横档复制到Excel中后的样子。当前格式是无用的。礼貌:王牌

“数据”菜单下的“文本到列”数据工具可用于快速分隔字符串。多次迭代允许分隔参数(空格)和输入位置(冒号和句号)。结果如下图所示。

礼貌:王牌

图5:数据菜单下的文本到列数据工具可用于快速分隔字符串。多次迭代允许分隔参数(空格)和输入位置(冒号和句号)。礼貌:王牌

创建新的梯级

通过将代码分解为不同的组件,可以将单元链接到I/O列表中的相应单元,以表示机架号、槽号、通道号和标记名称。上图显示了引用I/O列表中的机架号的公式栏。

一旦为每个单元格输入了引用,突出显示这行单元格,并在工作表中拖动填充手柄,用新的代码梯级填充工作表。

礼貌:王牌

图6:为每个单元格输入引用后,突出显示单元格行,并将填充手柄拖到工作表下,用新的代码梯级填充工作表。礼貌:王牌

使用Excel中的Concatenate函数,将数据重新构建为每行一个字符串——记住添加分隔符,在本例中是空格、冒号和句号。

礼貌:王牌

图7:使用Excel中的Concatenate函数,将数据重新构建为每行一个字符串——记住添加分隔符,在本例中是空格、冒号和句号。礼貌:王牌

把新的阶梯加入到日常活动中

使用为每个梯级新创建的字符串,可以将数据从单元格直接复制到Logix Designer中。这可以批量完成,而不需要逐个单元完成。选择所有单元格并复制数据。然后将其粘贴到从前面复制的ASCII文本显示中。

礼貌:王牌

图8:使用为每个梯级新创建的字符串,可以将数据从单元格直接复制到Logix Designer中。礼貌:王牌

这将快速添加I/O映射作为新的代码梯级。如果这是尚未创建标签的新代码,则新梯级将显示为红色。

礼貌:王牌

图9:这将快速添加I/O映射作为新的代码梯级。如果这是尚未创建标签的新代码,则新梯级将显示为红色。礼貌:王牌

要解决这个问题,可以使用I/O列表定义新标记,并创建一个导入CSV。Rockwell在其知识库中有关于其Import实用程序的文档。本例中使用Excel公式创建导入文件。

礼貌:王牌

图10:本例中使用Excel公式创建导入文件。礼貌:王牌

导入此CSV文件将解决错误并消除例程中的红线,以便可以编译和测试代码。

这是一个有用的工具,可以在编写重复的PLC代码(如I/O映射和警报)时节省时间。请注意,节省的时间与您正在使用的系统的大小直接相关(例如,较大的系统有更多的I/O)。这样的方法对于较小的系统可能不太有用。然而,对于较大的系统,时间和成本的节省,更不用说消除转录错误,将在项目中产生很大的不同。

- - - - - -应用控制工程是CFE Media内容合作伙伴。

原创内容可在应用控制工程


作者简介:Mark Magnusen是应用控制工程(ACE)的内容作者。