PLC编程错误和疏忽-第2部分

2024-07-13 | no responses | 97

在“PLC技术人员实践”系列的上一期中,我们研究了为工业应用编程PLC时常用的一些方法。在这一部分中,我们将研究一些最常见的编程错误和疏忽,这些错误和疏忽是在使用我们目前正在进行的系列中已经介绍过的指令时发生的。以下是一些基本的编程疏忽和需要注意的问题。

使用线圈和触点时遇到的三个常见编程疏忽?

1. 使用线圈和触点时最常见的错误之一是,程序中一个梯级上的程序逻辑指示输出处于给定状态,而程序中不同梯级上的条件指示同一输出在单个扫描周期内处于相反状态。必须小心确保在单个扫描周期内不会出现输出指令设置为两种不同状态(开/关)的情况。使用状态标志作为中间步骤是这种情况的一种可能的解决方案。

2. 另一种需要避免的情况与现场设备有关。例如,如果在一个应用中使用两个马达,程序逻辑必须确保马达不会工作在不同的目的,或者在泵运行以填充油箱的同时打开阀门以排空油箱。在这种情况下,输出之间必须保持互斥。这个问题通常通过使用编程联锁来解决,确保一个输出必须关闭,另一个输出才能打开。

3.使用子程序时必须小心,确保输出状态不会被不再被扫描的子程序所固定。在这种情况下,在选择性调用的子例程中打开或关闭输出。如果程序执行离开子例程,并且该子例程没有被再次扫描(条件的改变导致子例程不再被使用),则通过子例程外部的梯级来改变输出状态的任何尝试都将导致类似于上面第1点中提到的程序冲突。在这种情况下,将变量传入和传出子例程,而不是直接寻址物理输出,有助于确保这种情况不会发生

PLC编程中使用定时器的常见困难?

在给定程序的扫描周期代表应用程序中定时器上设置的定时持续时间的重要部分或一部分的情况下,使用定时器时会出现常见错误。在这种情况下,定时器的精确跟踪受到不利影响。由于完成单个扫描周期所花费的时间量,计时器将不会更新得足够快以赶上或接近“预设”时间。当一个特定的程序很大并且没有被划分/优化时,或者当期望的持续时间很短时,这个问题经常出现。当这些情况对您的应用程序造成不利影响时,您应该将计时器梯级的副本放在程序的不同位置,以确保计时器累积值在每个扫描周期更新不止一次。

经常监督使用计数器

使用计数器时最常被忽略的一个问题与计数器可以达到的最大值和最小值有关。使用计数器时,必须做好溢出和/或下溢的准备。在某些情况下,负的计数器累计值会在给定的PLC应用中导致不期望的事件。当处理“累积”值的范围时,经常会出现这种情况。如果计数器回绕,其累计值通常会超出应用程序中指定的操作范围。确保充分利用上溢位和下溢位来确保何时出现这种回绕情况,并使用它们来解决这个问题。

使用序列器的两个被误解的方面

1.在PLC应用中使用序列器时,屏蔽工作原理的细节经常会被误解。选择合适的屏蔽值对于确保数据表输出或数据采集的完成至关重要。通常,初学者认为使用掩码可以确保只有数据字的某些部分可以被修改。虽然这在某种意义上是正确的,但整个字都会被覆盖或过滤,而不仅仅是掩码值高位中包含的部分。当目标字被重写时,掩码字中的低位将为低。对于初学者来说,这往往有点违背直觉。更准确地说,只有与掩码字中的高位相对应的位可以取源字值,掩码字中的所有低位将导致目的地取目的地中的低值。如果要保留原始数据,必须使用高位值来确保掩码不会过滤或改变输出值。

2. 当引用数据的来源位置或存储位置时,需要注意的是引用的内存位置实际上是数组指针的占位符。它实际上不是正在构造或读取的数据表的一部分。需要注意的是,当序列器回绕时,数据表中的第一个位置实际上是下一个连续的文件地址。例如,如果文件字段的地址是B3:1,那么在本例中,表中获取或发送数据的第一个地址将是B3:2。此外,指定的长度字段值不包括被引用的文件位置本身,但包括紧跟在被引用的地址之后的步数或存储位置。

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *