跳转到主要内容

PLC基础:处理数组

  • 作者:
  • 更新日期:

什么是数组?

大多数PLC应用程序将一个数组中声明在某处。数组是非常有用的对类型的数据进行分组在一起,共享相同的格式。

例如,假设您的应用程序有20安全传感器,需要停止这个过程如果返回FALSE。它更容易检查数组不包含错误的值比检查所有20个传感器分别!

数组也有利于“组块”数据。例如,汽车可能会发送一个包到你公司的信息在网络上。这个包可以由电动机的速度,温度,电压,和更多。如果你有10个汽车,所有的数据分组在一起成一个数组,速度或温度数组可能有益时检查数据。

那么,什么一个数组?数组是一组常见的类型元素,宣布由父母的名字。例如:

MyArray:数组(0。9BOOL;

上述声明会导致“MyArray”有10个元素,所有的BOOL类型。你不能有不同的数据类型数组中,但是你可以有数组的数组:

MyArray:数组(0。1数组(0。9BOOL;

这个声明给你变量“MyArray”二维数组中。这基本上意味着你不仅需要指定哪个元素数量你想看,但也数组元素你希望先看看。

一个一维数组(如第一个声明)将访问MyArray [4]这将返回5日数组中的元素(因为数组从0开始!)

一个二维数组访问MyArray [0] [4]。这将返回第五元素的第一个数组元素“MyArray”变量…相当一口!

使用数组的例子

扩大有点接近传感器的早期例子,上面显示了一个小函数检查10传感器。

在上面的图片中,你可以看到变量Proximity_Sensors是0到9声明为数组元素,给我们10个元素“槽”,我们可以插入数据。的数据类型被声明为BOOL,所以其数字信号存储(真/假)。

梯子逻辑执行以下,逐行

1号线。设置OK_To_Run变量为TRUE。这是一个自锁圈如果Start_Process再次变得虚假,OK_To_Run直到重置仍将如此。

第2行。检查接近传感器。所以有一点这里不仅仅是检查一个传感器。首先,接触是一个否定的联系,所以我们正在寻找一个错误信号来推进我们的逻辑与一个真正的下一个指令。因此,如果Proximity_Sensor[我]是假的,那么OK_To_Run重置(线圈是一个重置)

是什么变量?这是指数变量,这是你想要的元素的数量来获取数组中的值。我们会在这是如何更新的下一行,但是现在,让我们假设我= 2。这将给我们3日接近传感器数据联系我们检查。让我们假设这些数据返回一个错误,这意味着OK_To_Run被重置。如果你看看4号线,接触检查OK_To_Run是假的,DO_PROCESS将不再是真实的。如果这将是如此任何邻近的传感器是错误的。

3所示。这是逻辑,是导致第2行重复,直到所有的传感器都检查。的情商功能检查= 10,如果它(注意情商的输出是圆的圆,这意味着这是一个否定输出)添加1到跳回Check_New_Sensor。因为现在已经增加了1一个新的传感器对第2行检查,给予新设置的可能性吗OK_To_Run为假。

一旦所有10个被检查,将在9日和情商将返回一个错误(因为它是否定)。的移动命令的输入(使)也否定,所以错误的输出情商相当于一个真正的输入,导致吗移动执行,返回为0。的跳Check_New_Sensor不会发生因为跳的评价仍是错误的。这允许逻辑达到第4行和持续到梯子。

总结

这是很多采取如果你新PLC编程和数组,但这里我们看到的是一种检查10项的数据是存储在一个常见的变量。这个变量可以索引元素的值退出。这允许我们重复相同的行代码检查所有传感器。

如果这是没有一个数组和10个人传感器,它会看起来像这样:

现在想象一下,你有100个传感器,需要检查……

我希望这是有意义的。随意评论如果你需要一些额外的指导。这是很难让你的头开始!

Baidu