阶梯逻辑401:数据获取和分析

可编程逻辑控制器(PLC)不仅可以提供信号电平的信息,还可以捕获数据,并对其进行分析。从软件和后勤的角度来看,用户面临着许多挑战。

通过弗兰克·兰姆,自动化入门 2016年3月22日

可编程逻辑控制器(PLC)不仅可以提供信号电平的信息,还可以捕获数据并对其进行分析。然而,这些方法可能因平台的不同而有很大差异,因此本文将重点放在通用级别上。

首先,捕获信号电平:这些假设来自模拟卡的带符号整数信号,分辨率未知。

上图显示了从典型模拟卡收集的值的随机抽样。由于模拟/设备(AD)转换器不会很快改变值,因此很难看到信号中可能出现的尖峰。

如果采样值的速率比典型的比例-积分-导数(PID)控制方案可能需要的速率更高,那么它可能会显示这样的一些数据。这些图像中的峰值说明,如果您基于平均对值进行一些简单的限制,可以做些什么。

值得注意的是,对所收集数据的任何修改都需要信号的延迟。毕竟,处理和改进这些信号需要时间。

这是一种创建采样脉冲的方法,它将在几乎任何PLC平台上工作,一个自由运行的定时器。它的一个问题是,它不会特别精确,因为它是在扫描内操作的。如果需要提高精度,可以使用循环例程或中断。

这是一个将十个值捕获到数组中的方法。它使用先进先出(FIFO)指令,这在大多数较昂贵的处理器中都是可用的。如果用户想要捕获更多的值,可以增加数组的大小。

这里是另一种方法,为用户谁没有或不想使用先进先出指令。但是,仍然需要数组和文件移动功能。第一条指令移动9个元素,留出空间将当前信号值复制到第一个,也就是最近的元素中。

这需要20条指令来移动10个值。每个MOV指令都需要替换为LD Vxxx和OUT Vxxx,其中V是您想要的数据位置;传感器值和存储位置。这些是16位累加器。

这是一条对数组中所有元素求平均值的指令。同样,这也适用于高端plc。

如果用户没有数组或平均指令,则需要使用该方法。把所有的值加起来,然后除以值的个数。通过这种方式,用户可以一次保存两个或三个值的运行平均值。这可以反过来被读回另一个数组中,用于平滑平均值的运行记录。

这个梯级计算连续捕获之间的变化率或增量,它适用于任何平台。同样,可以将其读入数组中进行分析。它对于确定变化的方向和幅度是有用的。对于过滤,用户可以捕获“峰值”值。

在分析信号时,与控制和滤波不同,尽可能快速或频繁地捕获信号是有用的。限制将是卡实际向其寄存器发送新值的频率。通过在数组中捕获大量值,您可以确定模拟卡或A-D转换器的更新速率。如果用户以5ms的捕获速率在一行中平均有5个相同的值,则您的卡每25ms更新一次。此外,捕获信号的速度越快,记录“峰值”或超出容差值的可能性就越大。

下一篇关于阶梯逻辑的文章将关注数据操作,一旦数据从模拟卡中捕获。

弗兰克羊肉是自动化咨询服务公司的创始人。本文最初发表于自动化入门博客.Automation Primer是CFE Media的内容合作伙伴。克里斯·瓦夫拉编辑,制作编辑,控制工程, CFE传媒,cvavra@cfemedia.com

在线额外

有关plc和编程的更多文章,请参阅下面的相关文章。

原创内容可在automationprimer.com