梯形图编程中最基本的对象是触点和线圈,旨在模拟机电继电器的触点和线圈。
触点和线圈是离散编程元件,处理布尔(1 和 0;开和关;真和假)变量状态。
梯形图 PLC 程序中的每个触点代表对存储器中单个位的读取,而每个线圈代表对存储器中单个位的写入。
梯形图程序通过引用这些输入通道的触点读取从实际开关到 PLC 的离散输入信号。
在传统 PLC 系统中,每个离散输入通道都有一个特定的地址,必须将其应用于该程序中的触点。
在现代 PLC 系统中,每个离散输入通道都有一个由程序员创建的标签名称,该名称应用于程序中的触点。
同样,离散输出通道(由梯形图中的线圈符号引用)也必须带有某种形式的地址或标签名称标签。
为了说明这一点,我们将想象一个冗余火焰传感系统的构造和编程,以使用三个传感器监控燃烧器火焰的状态。
该系统的目的是如果三个传感器中至少有两个指示火焰,则指示燃烧器“点燃”。
如果只有一个传感器指示火焰(或者没有传感器指示火焰),系统将声明燃烧器未点燃。
燃烧器的状态将通过灯直观地指示,操作员可以在控制室区域内轻松看到。
我们的系统接线如下图所示:
每个火焰传感器输出一个直流电压信号,指示燃烧器处火焰的检测,打开(24 伏直流)或关闭(0 伏直流)。
这三个离散直流电压信号由 PLC 离散输入卡的前三个通道感测。
指示灯是一个 120 伏灯泡,因此必须由交流离散输出卡供电,如图所示,位于 PLC 的最后一个插槽中。
为了使梯形图程序更具可读性,我们将为PLC中的每个输入和输出位分配标签名称(符号地址),以易于解释的格式描述其实际设备。
我们将前三个离散输入通道标记为 IN 传感器 A、IN 传感器 B 和 IN 传感器 C,并将输出标记为 OUT 燃烧器点亮。
此处显示了用于确定三个传感器中的至少两个是否检测到火焰的梯形程序,其中标签名称引用每个触点和线圈:
梯形图中的串联触点执行逻辑“与”功能,而并联触点执行逻辑“或”功能。因此,这个三分之二的火焰传感程序可以口头描述为:
“如果 A 和 B、或者 B 和 C、或者 A 和 C 之一,则燃烧器点燃”
表达这一点的另一种方法是使用布尔代数符号,其中乘法代表 AND 函数,加法代表 OR 函数:
Burner_lit = AB + BC + AC
表示这种逻辑关系的另一种方法是使用逻辑门符号:
为了说明该程序如何工作,我们将考虑火焰传感器 B 和 C 检测到火焰,但传感器 A 没有检测到火焰的情况(注 1)。
这代表三分之二的良好状况,因此我们希望 PLC 按照编程打开“燃烧器点亮”指示灯。
从 PLC 机架的角度来看,我们会看到离散输入卡上传感器 B 和 C 的 LED 指示灯以及灯输出通道的 LED 指示灯亮起:
注 1:两个火焰传感器中有一个无法检测到火焰存在的最可能原因是火焰传感器存在某种形式的未对准或污垢。
事实上,这是使用 3 中 2 火焰检测系统而不是单一(1 中 1)检测器方案的一个很好的理由:使系统更能容忍偶尔的传感器问题,而不影响燃烧器安全。
这两个通电的输入通道在 PLC 存储器中“设置”位(1 状态) ,代表火焰传感器 B 和 C 的状态。火焰传感器 A 的位将被“清除”(0 状态),因为其相应的输入通道已断电。
输出通道 LED 通电(并且“燃烧器点亮”指示灯通电)这一事实告诉我们 PLC 程序已将 PLC 输出内存寄存器中的相应位“设置”为“1”状态。
输入和输出寄存器位的显示及时显示了 PLC 此时的“置位”和“复位”状态:
检查启用状态指示的梯形图程序,我们看到只有中间接触对如何将“虚拟功率”传递到输出线圈:
回想一下,PLC 程序中触点的用途是读取 PLC 存储器中位的状态。
这六个“虚拟触点”读取与三个火焰传感器相对应的三个输入位。
每个常开“触点”在其相应位的值为 1 时将“闭合”,在其相应位的值为 0 时将“打开”(进入正常状态)。
因此,我们在这里看到与传感器 A 相对应的两个触点没有突出显示(表示虚拟继电器电路中没有“导电性”),因为该输入的位被重置 (0)。
对应于传感器 B 的两个触点和对应于传感器 C 的两个触点均突出显示(代表虚拟电路中的“电导率”),因为它们的位均设置为 (1)。
还记得 PLC 程序中线圈的用途是将位的状态写入 PLC 内存中。
此处,“通电”线圈将 PLC 输出 0 的位设置为“1”状态,从而激活实际输出并向“燃烧器点亮”灯发送电力。
请注意,颜色突出显示并不表示虚拟触点正在传导虚拟电力,而仅表示其能够传导电力。然而,虚拟线圈周围的颜色突出显示确实表明该线圈处存在虚拟“电源”。
触点和继电器不仅可用于实现简单的逻辑功能,而且还可以执行闭锁功能。
在工业 PLC 系统中的一个非常常见的应用是通过瞬时接触按钮开关控制电动机的闭锁启动/停止程序。
与之前一样,该功能将通过假设的示例电路和程序进行说明:
在此系统中,两个按钮开关连接到 PLC 上的离散输入,PLC 又通过其离散输出之一为电机接触器继电器的线圈通电。
过载触点直接与接触器线圈串联,以提供电机过流保护,即使在 PLC 发生故障时离散输出通道仍保持通电(注 2)。该电机控制系统的梯形图程序如下所示:
注 2:虽然可以将过载触点连接到 PLC 的离散输入通道之一,然后对与输出线圈串联的虚拟过载触点进行编程,以便在发生热过载时停止电机,但该策略将依赖于PLC 来执行安全功能,该功能可能通过硬连线电路更好地执行。
按下“启动”按钮会为 PLC 上的离散输入通道 6 通电,从而“闭合”PLC 程序中标记为 IN 开关启动的虚拟触点。
当未按下“停止”按钮时,输入通道 7 的常闭虚拟触点(“停止”按钮)默认已闭合,因此当按下“启动”按钮时,虚拟线圈将接收“电源”。按下,但未按下“停止”按钮。
请注意,密封触点带有与线圈完全相同的标签:OUT 接触器。乍一看,在 PLC 程序中将触点和线圈标记为相同(注 3)可能会显得很奇怪,因为触点最常与输入相关联,而线圈与输出相关联,但如果您意识到以下内容的真正含义,那么这就是完全有意义的: PLC 程序中的触点和线圈:作为对 PLC 内存中位的读写操作。
标记为 OUT 接触器的线圈写入该位的状态,而标记为 OUT 接触器的触点读取该同一位的状态。当然,这种接触的目的是在操作员将手指从“启动”按钮上松开后将电机锁定在“开启”状态。
注3:在第一次学习PLC梯形图编程的学生中,一个非常常见的误解是总是将触点与PLC输入相关联,将线圈与PLC输出相关联,因此让触点与输出具有相同的标签似乎很奇怪。然而,这是一个错误的关联。实际上,触点和线圈是读写指令,因此可以让 PLC 读取其自己的输出位之一作为某些逻辑功能的一部分。真正奇怪的是用输入位地址或标签名称来标记线圈,因为 PLC 无法在电气上设置任何输入通道的实际通电状态。
这种编程技术称为反馈,其中功能的输出变量(在本例中,反馈变量是 OUT 接触器)也是同一功能的输入。
在梯形图编程中,反馈路径是隐式的而不是显式的,反馈的唯一指示是线圈和触点共享的通用名称。
其他图形编程语言(例如功能块)能够将反馈路径显示为功能输出和输入之间的连接线,但梯形图中不存在这种能力。
显示此简单程序的操作和状态的分步序列说明了密封触点如何通过电机的启动和关闭周期发挥作用:
此序列有助于说明梯形图程序的评估顺序或扫描顺序。PLC 从左到右、从上到下读取梯形图,其顺序与人类阅读英文句子和段落的顺序相同。
然而,根据 IEC 61131-3 标准,PLC 程序必须在确定功能输出(一个或多个线圈)的状态之前评估(读取)功能的所有输入(触点)。
换句话说,在读取向该线圈提供电源的所有触点之前,PLC 不会就如何设置线圈的状态做出任何决定。
一旦线圈的状态被写入存储器,具有相同标签名称的任何触点将在程序的后续梯级上更新为该状态。
前面序列中的步骤 5 特别具有说明性。当操作员按下“停止”按钮时,IN 开关 Stop 的输入通道将被激活,从而“打开”常闭虚拟触点 IN 开关 Stop。
下次扫描该程序梯级时,PLC 会评估所有输入触点(IN 开关启动、IN 开关停止和 OUT 接触器),以检查其状态,然后再决定将什么状态写入 OUT 接触器线圈。
鉴于 IN 开关停止触点已通过激活其各自的离散量输入通道而强制打开,PLC 将“0”(或“False”)状态写入 OUT 接触器线圈。
但是,OUT 接触器反馈触点直到下一次扫描才会更新,这就是为什么您在步骤 5 中仍然看到它以颜色突出显示的原因。
该系统设计时存在的一个潜在问题是,如果任一按钮开关电路出现“开路”接线故障,操作人员就会失去对电机的控制。
例如,如果一根电线从“启动”按钮开关电路的螺钉触点上脱落,则如果电机已经停止,则无法启动。
同样,如果电线从“停止”按钮开关电路的螺钉触点上脱落,则电机已经在运行,则无法停止。
在任何一种情况下,断线连接的作用与按钮开关的“正常”状态相同,即保持电机处于当前状态。
对于某些应用,这种故障模式不会是一个严重的问题。然而,在许多应用中,无法停止运行的电机是相当危险的。
因此,通常设计的电机启动/停止系统与此处所示的稍有不同。
为了使用我们的 PLC 构建“故障停止”电机控制系统,我们必须首先重新接线按钮开关以使用其常闭 (NC) 触点:
当按钮未按下时,这会使离散输入通道 7 保持激活状态。当操作员按下“停止”按钮时,开关触点将被强制打开,输入通道 7 将断电。
如果“停止”开关电路中的螺丝端子上的电线碰巧脱落,输入通道 7 将断电,就像有人按下“停止”按钮一样,从而自动关闭电机。
为了使 PLC 程序能够使用此新开关接线正常工作,IN 开关 Stop 的虚拟触点必须从常闭 (NC) 更改为常开 (NO):
与之前一样,当无人按下“停止”开关时,IN 开关停止虚拟触点处于“闭合”状态,使得只要按下“启动”开关即可启动电机。
同样,只要有人按下“停止”开关,IN 开关停止虚拟触点就会打开,从而阻止虚拟“电源”流向 OUT 接触器线圈。
尽管这是构建 PLC 控制的电机启动/停止系统的一种非常常见的方法(使用 NC 按钮开关和常开“停止”虚拟触点),但刚接触 PLC 编程的学生经常会发现这种逻辑反转令人困惑。
也许造成这种混乱的最常见原因是对开关触点(无论是真实的还是虚拟的)“正常”概念的误解。IN 开关停止虚拟触点被编程为常开 (NO),但通常处于闭合状态。
回想一下,任何开关的“正常”状态是其在无刺激的休息条件下的状态,不一定是其在过程处于“正常”操作模式时的状态。
“常开”虚拟触点 IN 开关 Stop 通常处于闭合状态,因为其相应的输入通道通常处于通电状态,这是由于常闭按钮开关触点将实际电力传递到输入通道而无人操作。按下开关。
仅仅因为开关配置为常开并不一定意味着它通常处于打开状态!任何开关触点的状态,无论是真实的还是虚拟的,都是其配置(NO 与 NC)和施加到其上的激励的函数。
围绕现实世界接线问题的另一个问题是,如果电机接触器线圈电路因任何原因断开,该系统将会做什么。
开路可能是由于电线从螺丝端子上脱落而形成,也可能是由于热过载触点因过热事件而跳闸而导致。我们的电机启动/停止系统的设计问题在于它无法“意识到”接触器的真实状态。
换句话说,PLC“认为”只要离散输出通道 2 通电,接触器就会通电,但如果接触器线圈电路中存在开路故障,实际情况可能并非如此。
如果稍后清除接触器线圈电路中的开路故障,则可能会导致危险情况。想象一下,操作员按下“启动”开关,但注意到电机实际上并未启动。
想知道为什么会这样,他或她去查看过载继电器,看看它是否跳闸。如果跳闸,操作员按下过载组件上的“复位”按钮,电机将立即启动,因为在按下“启动”开关后,PLC 的离散输出始终保持通电状态。
一旦热过载复位,电机就启动,这可能会让操作人员感到惊讶,并且如果在启动时有人碰巧靠近电机驱动的机械,这可能会非常危险。
更安全的是电机控制系统拒绝“锁定”,除非按下“启动”开关时接触器实际通电。为此,PLC 必须具有某种方式来感测接触器的状态。
为了让PLC“感知”接触器的真实状态,我们可以将辅助开关触点连接到PLC上未使用的离散量输入通道之一,如下所示:
现在,PLC可以通过输入通道5感知接触器的实时状态。
我们可以修改 PLC 程序来识别该状态,方法是为此输入分配一个新的标签名称(IN 接触器 aux),并使用该名称的常开虚拟触点作为密封触点,而不是 OUT 接触器位:
现在,如果操作员按下“启动”开关时接触器因任何原因未能通电,则在释放“启动”开关时 PLC 的输出将无法锁定。
当接触器线圈电路中的开路故障被清除后,电机不会立即启动,而是等待操作者再次按下“启动”开关,这是比以前更安全的运行特性。
PLC 梯形图编程中使用的一类特殊的虚拟“线圈”值得一提,那就是“锁存”线圈。它们通常有两种形式:置位线圈和复位线圈。
与每次扫描程序时都会主动写入 PLC 内存中的常规“输出”线圈不同,“置位”和“重置”线圈仅在虚拟电源通电时才写入内存中的一位。否则,该位可以保留其最后的值。
只需两个输入触点和两个锁存线圈即可编写一个非常简单的电机启动/停止程序(两者具有相同的标签名称,写入内存中的相同位):
请注意(再次!)使用常开(NO)按钮开关触点,没有辅助触点向 PLC 提供接触器的状态指示。这是一个非常小的程序,其严格目的是为了说明在梯形图 PLC 编程中使用“置位”和“复位”锁存线圈。
“置位”和“复位”线圈(称为“锁存”和“解锁”线圈)是 PLC 编程领域中所谓的保持指令的示例。“保持”指令在梯形图“电路”中实际上“断电”后仍保留其值。
标准输出线圈是非保持性的,这意味着它在断电时不会“锁定”。当我们探索PLC编程时,特别是在定时器领域,保持性和非保持性指令的概念将再次出现。
通常,我们会尽量避免在 PLC 梯形图程序中多个线圈具有相同的标签。每个线圈代表一条“写入”指令,具有相同名称的多个线圈代表对 PLC 存储器中同一位的多次“写入”操作。
这里,对于锁存线圈,不存在冲突,因为每个线圈仅在其各自的触点通电时才写入 OUT 接触器位。只要一次仅启动一个按钮开关,同名线圈之间就不会发生冲突。
这就提出了一个问题:如果同时按下两个按钮开关会发生什么?如果“置位”和“复位”线圈同时“通电”会发生什么?结果是,当程序的两个梯级从上到下扫描时,OUT 接触器位将首先“设置”(写入值 1),然后“重置”(写入值 0)。 。
PLC 在扫描梯形图程序时通常不会更新其离散 I/O 寄存器(此操作在每次程序扫描之前或之后发生),因此真正的离散输出通道状态将是最后一个写入操作告诉它的状态,在本例中为“重置”(0,或关闭)。
即使离散输出没有由于“置位”和“复位”线圈的写入操作冲突而“混乱”,在“置位”和“复位”梯级之间写入的程序的其他梯级也可能会发生“混乱”。
例如,考虑这样一种情况:在“设置”和“复位”梯级之后还有其他程序梯级出于某种目的读取 OUT 接触器位的状态。
这些其他梯级确实会变得“混乱”,因为它们会看到处于“设置”状态的 OUT 接触器位,而 PLC 的实际离散输出(以及“重置”梯级之后的任何梯级)会看到处于“设置”状态的 OUT 接触器位。 “重置”状态:
由于这个原因,具有相同存储器地址的多个(非保持性)输出线圈几乎总是编程错误,但如果没有预见到同时通电的影响,即使是设计成匹配对使用的保持线圈也可能会引起麻烦。
具有相同地址的多个触点没有任何问题,因为对内存中同一位的多次“读取”操作永远不会导致冲突。
IEC 61131-3 PLC 编程标准指定了转换感应触点以及更常见的“静态”触点。转换感应触点仅在一次程序扫描期间“启动”,即使其相应位保持活动状态。
IEC 标准中定义了两种类型的转换感应梯形图触点:一种用于正转换,另一种用于负转换。
以下示例显示了接线图、梯形图程序和时序图,演示了每种类型的转换感应触点在受到离散通道的真实(电气)输入信号激励时如何发挥作用:
当按下按钮开关并且离散输入通电时,第一个测试灯将在 PLC 程序的一次扫描中“亮起”闪烁,然后返回到关闭状态。
正极转换触点(内部带有字母“P”)仅在扫描期间激活线圈 OUT test1,它会看到 IN test 的状态从“假”转换为“真”,即使在此之后的多次扫描中输入仍保持通电状态过渡。
相反,当释放按钮开关并且离散输入断电时,第二个测试灯将在 PLC 程序的一次扫描中“亮起”闪烁,然后返回到关闭状态。
负转换触点(内部带有字母“N”)仅在扫描期间激活线圈 OUT test2,它会看到 IN test 的状态从“真”转换为“假”,即使输入在许多时间内保持断电状态。转换后扫描:
应该注意的是,单个 PLC 程序扫描的持续时间通常非常短:以毫秒为单位。如果这个程序在真正的 PLC 中实际测试,您可能看不到任何一个测试灯亮起,因为每个脉冲的寿命都很短。
过渡触点通常在“触发”事件之后需要执行一次指令的任何时候使用,而不是只要事件状态保持“真”就一遍又一遍地执行该指令。
触点和线圈仅代表梯形图 PLC 编程语言中最基本的指令。
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now