Jump to content
  • PLC programming technology and HMI interface design Simplified Chinese database

    PLC, DCS, HMI and SCADA product application technical articles

    caixiaofeng
    人工鱼塘水位监测系统的 PLC 程序用梯形逻辑概念为初学者解释。
    水位监测系统
    问题描述
    实现人工鱼塘水位监测系统的 PLC 程序。
    当水位低于正常水位时对人工鱼池进行喂水或排水,当水位高于或低于正常水位时启动警报。
    问题图

    问题方案
    这个问题可以通过使用简单的自动化来解决。
    在这里,我们考虑了一个人工鱼池、四个液位传感器和三个用于系统监控的泵。
    在这里我们将编写控制整个系统的程序。 系统将保持正常水位,并且不允许水位上升或下降以维持正常水位。
    如果水位从正常水平下降,则系统将向鱼塘供水,如果水位从正常水平上升,则系统将从鱼塘排水。
    输入/输出列表
    输入列表
    液位传感器,L0:I0.0(当水位高于报警水位时,L0=1)。 液位传感器,L1:I0.1(当水位高于正常水位时L1=1) 水位传感器,L2:I0.2(当水位高于正常水位时,L2=1) 液位传感器,L3:I0.3(当水位高于报警水位时,L3=1) 输出列表
    进料泵:- Q0.0 排水泵 1 :- Q0.1 排水泵 2 :- Q0.2 报警灯:- Q0.3 用于人工鱼塘水位监测的PLC梯形逻辑





    逻辑解释
    本题我们将考虑使用S7-300 PLC和TIA Portal软件进行编程。
    网络1:
    在此网络中,我们编写了排水泵 1 (Q0.1) 的逻辑。 当水位高于最高报警水位(L3=I0.3)时,排水泵1(Q0.1)将打开。
    网络2:
    如果水位低于报警水位,则应启动给水泵(Q0.0)。 所以这里我们采用了L1(I0.1)的常闭触点,当水位低于正常水位时,喂水泵(Q0.0)将打开并向鱼池中注水。
    网络3:
    如果水位高于正常水位,则排水泵 2 (Q0.2) 将打开。 此时水位高于正常水位,而非报警水位,因此只有排水泵2(Q0.1)工作。
    网络4:
    这里我们在“或”门中使用了两个条件,因此任一电平低于正常电平 (L1 = I0.1) 或高于正常电平 (L1 = I0.1),则闪烁电路将被激活,警报灯 (Q0.3) 将亮起。 在。
    网络5:
    定时器2用于闪光电路。
    网络6:
    这里我们在“或”门中使用了两个条件,因此无论液位低于正常液位(L1=01)还是高于正常液位,警报灯(Q0.3)都会以 5 秒的间隔自动闪烁。
    液位高于报警液位(L0=1、L1=1、L2=1、L3=1)或低于报警液位(L0=0、L1=0、L2=0、L3=0)则报警灯自动闪烁 5秒间隔。
    水位高于报警水位(L0=0、L1=0、L2=0、L3=0),则排水泵 1 和 2 将启动,如果水位高于正常水平,则仅排水泵 2 将启动。
    注意:- 以上示例仅用于说明目的,并未考虑所有参数或联锁。 对于这个简单的逻辑,没有必要使用 S7-300 PLC,我们已经使用该 PLC 来进行讨论。
    结果


    xiangjinjiao
    使用可编程逻辑控制器编写 PLC 程序来控制多台泵。我们有两个输入泵用于填充水箱。确保泵在其使用寿命内运行相同的时间。
    使用 PLC 控制多泵

    程序逻辑:
    根据下面给出的逻辑开发梯形图逻辑程序,
    启动/停止按钮用于控制两个输入泵电机 P1 和 P2。 启动/停止按钮站用于控制泵 P1。 当水箱已满时,排水泵电机 P3 自动启动并运行,直到低液位传感器启动。 泵 P1 向水箱注水 3 次后,控制自动切换至泵 P2。 启动/停止按钮的操作现在控制泵 P2。 通过泵 P2 对水箱进行 3 次填充后,重复该顺序。 PLC程序:


    程序说明:
    梯级 0000:
    启动/停止 PB 由存储器 B3:0/0 锁存。
    梯级 0001:
    B3:0/0 使能打开 B3:0/1,即当低电平传感器(I:0/3)打开且高电平传感器(I: 0/2) 处于关闭状态。B3:0/1 被低水位传感器锁定,因为一旦水开始上升,泵 p1 就不会关闭。
    梯级 0002:
    用于通过计数器 (C5:0) 打开泵 P1 (O: 0/0) 的内存触点。
    由于我们要将泵操作从 P1 切换到 P2,因此使用两个计数器在 P1 和 P2 之间切换。
    计数器 C5:1 用于打开泵 P2(O:0/2)。
    梯级 0003 和 0004:
    B3:0/0 使能打开 B3:0/2,即当高电平传感器(I:0/2)打开且低电平传感器(I: 0/3) 处于关闭状态。B3:0/2 由高液位传感器锁定,因为一旦水开始减少,泵 p3 不应关闭。
    梯级 0005:
    当泵 3 (O:0/1) 运行时,低液位传感器打开将使泵 p3 关闭,泵 P1(O:0/0) 打开。
    梯级 0006:
    一旦第二个计数器(C5:1) 完成位转为 ON,两个计数器都会复位。
    结论:
    我们可以通过这个例子来理解 AB PLC 中的编程逻辑。

    xiangjinjiao
    当您设计 PLC 逻辑时,您必须注意为标签提供的名称。它应该很容易被任何程序员理解和解释。它既不应该太长也不应该太短。
    命名约定很重要,因为不正确的标记可能会导致程序员出现故障排除问题。另外,给出冗长的名称会消耗 PLC 的内存。因此,每个程序员在编写 PLC 程序之前都必须遵循正确的命名约定。在这篇文章中,我们将了解 PLC 标签命名约定的概念。
    PLC 命名约定

    首先,让我们了解一下标签命名约定在 PLC 编程中如何发挥重要作用。您有一个电机,其运行命令和运行反馈作为 PLC IO。
    电机位于鼓风机室内,用作空气压缩机。P&ID 中的电机标签名称为 M-101。现在,对于 PLC 程序员来说,识别标签位置非常重要。因此,PLC 程序员通常有两种心态。
    第一个将尝试在标签名称中提供尽可能多的信息;因此他可以将电机运行命令命名为 M101_压缩机_运行_命令。第二个将尝试将名称命名为 Q_M101_Comp。
    第二种心态看起来非常清晰,因为他给出了简短的名称并保持尽可能短的长度。这就是为什么命名 PLC 标签很重要的原因,因为它可以使程序员在紧急故障排除的情况下不必读取如此冗长的标签。(需要注意的是,PLC 变量命名不接受除下划线(_)之外的任何特殊字符)。
    PLC 标签名称应包含可帮助程序员理解其含义的信息。这通常意味着以下信息 –
    数据类型(例如布尔值、整数)、
    数据流(例如输入、输出),
    范围(例如本地、全球),
    仪器或设备类型(例如电机、阀门、传感器),
    过程参数(例如压力、流量、温度)和
    设备的位置。  
    标签名称样式
    根据 IEC 标准,有多种样式,必须遵循这些样式才能正确命名。
    让我们看一下一些最常用的:
    骆驼风格,
    帕斯卡风格,
    蛇的风格,
    带有数据类型样式的前缀
    骆驼风格
    在这种风格中,中间没有下划线。整个单词有一个全名,但其中的每个单词都以大写字母开头。例如,以上面讨论的例子为例。
    M101_压缩机_运行_命令将被写为m101压缩机运行命令。您可以通过大写字母来识别每个单词。
    第一个字母必须是小写字母。如果字很小,这种样式看起来不错。它可以防止使用下划线,从而减少内存消耗。
    帕斯卡风格
    类似骆驼风格;唯一的区别是第一个字母必须是大写字母。
    例如,我们的标签将写为 M101CompressorRunCommand。
    蛇型
    我们之前讨论的例子是蛇风格。在这里,每个单词将用下划线分隔。
    带有数据类型样式的前缀
    这里,标签将以标签名称的数据类型为前缀。在我们的例子中,标签类型是布尔值。根据 IEC 标准,布尔标签通常带有前缀“x”。
    因此,我们的样式将写为 xM101CompressorRunCommand。这有助于程序员识别该特定标签使用什么类型的数据。
    PLC 编程中标签命名的技巧
    第一个也是最重要的规则是标签的长度应该短,但不能短到没人能理解。如所讨论的,长度应该以适当的长度包含适当的信息。应严格避免使用过长的名称。
    遵循所讨论的一般标签命名样式。这些符合 IEC 标准,使逻辑看起来整洁干净。
    要减少标签创建过程中的错误,请使用 Excel 文件。Excel 极大地减少了工作量,因为重复和复制变得非常容易。Excel 文件中几乎不会产生错误。
    并不总是需要使用单词的全名。 例如,阀门可写为 vlv,温度可写为 temp。
    避免将标签完全大写。 看起来很麻烦,不适合阅读。

    xiangjinjiao
    PLC 编程借鉴了电气图纸的历史和参考。随着时间的推移,对涉及自动化的电气系统进行故障排除变得越来越困难,需要一些控制器来执行逻辑并执行所需的操作。这催生了 PLC 系统。
    大家知道,PLC 编程有很多种语言,最早的一种是梯形图语言。应该知道,电气图也有助于将其转换为梯形逻辑。在这篇文章中,我们将了解如何将电气图转换为 PLC 程序。
    了解电气图
    首先,您需要了解电气图。请参阅下图。每个电路都有两端——正极和负极。电流从正极开始流经负极。
    电气元件和设备介于两者之间。如果您参考下图,有四个组件:启动按钮、停止按钮、灯的辅助触点和灯。

    电源从正极开始,连接到启动按钮的输入端(常开触点)。启动按钮的输出连接到停止按钮的输入(常闭触点)。停止按钮的输出连接到灯的输入。
    灯的输出连接到负端电源。与启动按钮并行,另一根电线从按钮的输入端延伸到灯的辅助触点。该触点的输出连接回按钮的输出。
    当提供电源并且按下启动按钮时,灯将在获得电流路径时点亮。现在,如果释放按钮,则灯将关闭,因为它没有获取路径。
    因此,为了锁定它,我们将灯触点并联放置,这将保持电源路径。当按下停止按钮时,供电路径被切断并且灯熄灭。
    将接线图转换为PLC程序
    现在,一旦您理解了接线图,就开始以与PLC 编程相同的方式解释它。请参阅下图。
    梯形逻辑有两个电源端——左和右。左相当于正电源端,右相当于负电源端。
    您将需要四个 PLC 编程组件 - 启动按钮 -> 常开触点、停止按钮 -> 常闭触点、灯 -> 输出线圈和灯常开触点。

    首先,将启动按钮置于常开触点。与它平行,将灯置于常开触点。此后,放置停止按钮常闭触点。最后,将灯置于常开状态。
    工作原理与接线图所讨论的相同。您看到相同的电气图被解释并转换为梯形图逻辑。
    需要遵循的一般提示是:
    1、了解从输入电源到输出电源的接线图。在两者之间,查看哪些组件放置在何处以及它们是如何接线的。
    2、接线时,区分输入部分和输出部分,并用不同的颜色进行标记。
    3、按照图表开始编程,并按照与接线相同的方式放置组件。
    4、运行该程序并查看它是如何工作的。

    xiangjinjiao
    本文介绍的是冲压行业中使用的双手控制的编程。
    该计划的目的是为了防止致命事故的安全。下图展示了压力机的外观以及我们为何关心安全。正如您所看到的,有用于控制压力机的按钮。当我们按下按钮时,中心板被推到工件的表面上。
    必须同时按下两个按钮才能操作压力机,如下图所示。

    当操作者用一只手按下按钮并用另一只手将板推向表面时,他可能会受伤。如果操作员试图匆忙操纵物品,推板的强大力量很容易挤伤手。
    下面我解释了在西门子 TIA Portal 的帮助下用于防止此类事件的程序。
    下图中显示了具有两个输入和一个输出的压力机。输入连接到 plc 数字输入 (DI) 模块,单输出连接到数字输出 (DO) 模块。
    以下是该程序使用的输入和输出的列表。
    输入:
    按钮 (PB_1):I0.0 按钮 (PB_2):I0.2 输出:
    压力机产量:Q0.0 双手控制逻辑

    逻辑描述
    网络1:
    这里两个按钮PB_1 和 PB_2 串联。当两个按钮同时按下时,信号将通过定时器 T0 的常闭触点并激励输出。
    网络2:
    现在,如果按下 PB_1 或 PB_2 中的任何一个按钮,则定时器 T0接通延迟定时器(S_ODT) 就会通电,在我们的例子中是 5 秒后。
    这里,压力机输出的 NC 触点也用在按钮之后,因为如果输出为 ON,则不允许定时器通电。
    因此,只有同时按下两个按钮时,机器的输出才会通电。

    leikang
    先进的 PLC 编程可对缺陷零件进行分类,区分好零件和坏零件,然后通过传送带进行运输。
    用于缺陷零件分类的高级 PLC 编程
    下面的模拟显示了使用PLC 梯形逻辑来识别好产品和坏产品并根据质量对产品进行分类。
    传送带用于移动产品。当产品被传送到传送带上时以及在钻孔操作期间,传送带被启动和停止。
    钻孔机用于按设计对产品进行钻孔。有时钻孔操作可能会损坏产品。
    传感器检测产品的质量,并使用推料器将不良产品推入另一个存储仓。

    PLC 输入和输出
    下表列出了 PLC 系统所需的输入和输出。
    类型 设备编号 设备名称 操作 输入 X0 钻孔 钻孔时打开。 输入 X1 零件底钻 Y0 为 ON 时提供一个部件:一个大金属立方体。 输入 X2 正确钻孔 当零件正确钻孔时打开。钻孔开始时,之前的结果将被清除。 输入 X3 钻错了 当在左端检测到部件时 ON。 输入 X4 传感器 当在右端检测到部件时 ON。 输入 X5 传感器 当在推料器前面检测到零件时打开。 输入 X10 传感器 当零件未正确钻孔时打开。钻孔开始时,之前的结果将被清除。 输出 Y0 供给指令 当 Y1 为 ON 时,传送带向前移动。 输出 Y1 输送机前进 当 Y3 为 ON 时,传送带向前移动。 输出 Y2 开始钻孔 Y2 为 ON 时开始钻孔(不可中途停止的加工循环)。 输出 Y3 输送机前进 Y5 ON 时伸出,Y5 OFF 时缩回。推杆不能在行程中途停止。 输出 Y5 推杆 Y5 ON 时伸出,Y5 OFF 时缩回。推杆不能在行程中途停止。 计划说明
    该项目旨在使用传感器区分好零件和有缺陷的零件,并相应地对它们进行分类。该项目包括总体控制和演练控制两个关键领域。
    整体控制
    控制面板上有一个名为 PB1 (X20) 的按钮。当您按下 PB1 时,它会触发料斗的供应命令 (Y0),使其供应零件。释放 PB1 将停用供给命令,从而停止料斗。控制面板
    上有一个开关 SW1 (X24) 。当您打开 SW1 时,传送带开始向前移动。关闭 SW1 会停止传送带。
    钻孔控制
    现在我们来讨论一下钻头的控制:
    当钻头内的钻头传感器 (X1) 下方的部件被激活时,输送机停止。
    当启动钻孔命令 (Y2) 激活时,钻孔过程开始。当钻孔传感器 (X0) 激活时,它会停止。
    在完成一个完整的钻孔操作周期后,如果激活开始钻孔 (Y2),则会触发正确钻孔 (X2) 或钻孔错误 (X3) 传感器。
    请注意,钻机在操作过程中不能停止。在此 PLC 模拟中,每三个零件中就有一个被视为有缺陷(具有多个孔的零件也属于有缺陷的类别)。
    当推料器中的检测零件传感器 (X10) 识别出有缺陷的零件时,传送带停止,推料器将零件移动到“有缺陷”的托盘上。
    请记住,当推动器的驱动命令打开时,它会完全伸出。当命令关闭时,推杆完全缩回。
    通过检查的零件继续沿着传送带到达位于右端的“OK”托盘。
    PLC 编程


    leikang
    在这篇文章中,我们将了解如何过滤 PLC 中的数字和模拟输入。
    正如主题所述,滤波是消除 PLC 接收到的信号中不需要的尖峰的一种方法。其作用是消除波动并仅将特定时间的适当信号变化传递给 PLC。
    在 PLC 内部,首先是滤波器电路,然后是 PLC 输入处理电路,该电路接受最终的滤波输入并将其用于逻辑。

    PLC 数字输入滤波器
    让我们首先考虑数字输入。带滤波器的输入的作用是接受数字现场输入并通过滤波器将其传递到处理电路。
    如果您看到下图,则有两个部分。
    首先,绿色圆圈表示输入更改将被传递,红色圆圈表示输入更改将不会被传递。
    在第一部分(上面)中,有两个变化,其中存在很多波动并且输入变化将被绕过。
    有两种变化是没有波动的,并且输入变化将被传递到处理电路。第二部分(下)的理论也是如此。这可以通过过滤来实现。

    过滤由因素或时间定义。假设您设置的时间为 3 毫秒。滤波器的作用是仅接受持续高于 3 ms 的输入变化。
    如果输入在 3 ms 之前发生变化,则该输入将不会被考虑并被忽略。这意味着短且高频的干扰脉冲将被忽略。
    这个逻辑和我们在PLC逻辑中写的去抖动定时器是一样的。
    在下图中,只有当启动按钮输入保持高电平 3 秒时,灯才会亮。
    这与数字带通滤波器中使用的逻辑相同。仅当输入在设定时间内保持状态(高或低)时,它才会将输入更改传递到处理部分。

    正如所讨论的,除了时间之外,一些 PLC 还可以选择设置一个因子来代替时间。
    该因子计算内部时间并决定过滤的级别。因子值越高,过滤能力越高。
    PLC 模拟输入滤波器
    现在,让我们看看模拟输入中的过滤。由于模拟输入本质上是可变的,因此它们的滤波器逻辑不能像数字输入那样实现。
    因此,在模拟输入中,使用平均逻辑。过滤器将对特定设定时间内获得的值进行平均,并给出该时间的平均最终值。
    请参阅下图进行研究。

    第一个——蓝色的系数为 1。
    第二个——绿色的因子是 2。
    第三个——橙色的系数为 3。
    第四个——棕色的系数是 4。
    随着过滤因子值的增加,您可以看到通过以更锐利的值过滤信号,信号的形状得到改善。
    在设定的时间内,过滤器将对从输入获得的值进行平均;并根据其中使用的公式,它将给出每次的最终平均输出。
    因此,随着滤波器系数或权重的增加,我们可以得到更精细的模拟信号值,并且干扰更少。通常,为此目的使用首通滤波器。
    由此可见,滤波对于减少现场输入中不必要的噪声并传递适当的值非常有用,这也将保护PLC输入电路免受损坏;如果出现任何高峰值或不需要的峰值。

    leigehong
    当您在工业自动化系统中进行 PLC 编程时,您需要逐步或逐步控制过程。
    控制算法
    你不能直接打开或关闭完成工作的逻辑。它可能会对您的实际 PLC 输出产生不利影响。因此,PLC 程序中可以使用各种类型的控制方法来执行适当的操作。

    在这篇文章中,我们将看到 PLC 程序中使用的各种控制算法方法。
    PID 控制
    这是迄今为止最著名的控制方法。PID 采用闭环机制进行控制。这意味着它将首先获得反馈,并根据您的需求,相应地改变输出。
    为此,PID 控制器使用具有三个参数的内部数学计算:比例、积分和导数。因此,如果您想控制带有压缩机的冷水机,那么 PLC 将通过首先测量实际温度并检查用户需要的温度来控制压缩机的输出。
    根据每次的差异,压缩机的输出将逐渐控制或打开关闭以维持温度。为此,PLC 程序中将使用 PID 块来完成此任务。
    函数发生器
    这是一种非常简单的控制方法。在函数生成器中,您必须定义一个包含 n 个值的输入表。同样,定义一个包含 n 个值的输出表。
    因此,例如,如果我们在输入和输出端都定义 10 个值表,那么我们就有一个 10 大小的元素。现在,这 10 个元素将具有不同的值。如果你在输入端设置 0-100,那么我们在输出端设置 0-50。这10个元素就是10个范围,意思是0-10、10-20、20-30 等等。
    相应地,输出端将被分配为 0-5、5-10、10-15 等10个元素,直到 50。当实时输入在输入端的任意值之间时,相应的缩放输出将是通过了。在这里,您可以完全灵活地设置输入和输出表值。
    模糊逻辑控制
    模糊逻辑是一种相对非常好的控制输出的方法。通常,有两个二进制状态 - 0 和 1。因此,让我们考虑阀门是否可以打开或关闭。但如果阀门卡在中间怎么办?我们不知道阀门是接近打开状态还是接近关闭状态。在这种情况下,如果存在 0 和 1 之间的状态,就会有所帮助。这至少有助于更接近一种可能性。这称为挑剔逻辑。
    在这里,您可以定义接近 0 和 1 的值。它可以是 0.9 或 0.2。因此,当输出接近这些值时,您可以控制输出。当达到极限值,即0或1时,可以完全打开或关闭阀门。
    在此之前,您可以逐步操作阀门。这给过程带来了更精确的控制。因此,该控制块允许收集在不可预测的情况下有用的值。它需要大量的知识和专业知识来正确设置值和集合,以便逻辑正常工作。
    位置比例
    该逻辑将通过在用户设置的某个预定义定时器处脉冲打开或关闭触点来打开或关闭设备。这是针对与所需位置和当前位置之间的偏差成比例的脉冲宽度来完成的。
    您必须设置控制参数,例如限制输出的最小值和最大值、输出保持开启的持续时间、设备打开或关闭的速率(以%/秒为单位)等。
    该功能块获取实际反馈,评估内部计时器,并检查打开或关闭是否在所需速率内发生。如果没有,则给出相应的开或关脉冲。
    这样,我们就看到了 PLC 编程中使用的各种控制算法方法。

    leigehong
    PLC 中的比较指令用于测试值对,以调节梯级的逻辑连续性。
    因此,比较指令很少(如果有的话)是梯级上的最后一条指令。
    比较指令的类型

    作为示例,假设 LES 指令具有两个值。如果第一个值小于第二个值,则比较指令为真。
    等号 (EQU) 指令

    使用EQU 指令测试两个值是否相等。如果源 A 和源 B 相等,则该指令逻辑上为真。如果这些值不相等,则该指令在逻辑上为假。
    源 A 必须是地址。
    源 B 可以是程序常量或地址。
    值以二进制补码形式存储。
    不等于 (NEQ) 指令

    使用 NEQ 指令测试两个值是否不相等。
    如果源 A 和源 B 不相等,则该指令逻辑上为真。
    源 A 必须是地址。
    源 B 可以是程序常量或地址。
    值以二进制补码形式存储。
    小于 (LES) 指令

    使用 LES 指令测试一个值(源 A)是否小于另一个值(源 B)。
    如果源 A 小于源 B 的值,则该指令逻辑上为真。
    源 A 必须是地址。
    源 B 可以是程序常量或地址。
    值以二进制补码形式存储。
    小于或等于 (LEQ) 指令

    使用 LEQ 指令测试一个值(源 A)是否小于或等于另一个值(源 B)。
    如果源 A 处的值小于或等于源 B 处的值,则该指令逻辑上为真。
    源 A 必须是地址。
    源 B 可以是程序常量或地址。
    值以二进制补码形式存储。
    大于 (GRT) 指令

    使用 GRT 指令测试一个值(源 A)是否大于另一个值(源 B)。
    如果源 A 处的值大于源 B 处的值,则该指令逻辑上为真。
    大于或等于 (GEQ) 指令

    使用 GEQ 指令测试一个值(源 A)是否大于或等于另一个值(源 B)。
    如果源 A 处的值大于或等于源 B 处的值,则该指令逻辑上为真。
    相等的屏蔽比较 (MEQ)

    使用 MEQ 指令将源地址处的数据与比较地址处的数据进行比较。
    使用该指令允许用单独的字屏蔽部分数据。
    源是要比较的值的地址。
    掩码是指令移动数据所通过的掩码地址。
    掩码可以是十六进制值。
    Compare 是一个整数值或引用的地址。
    如果源地址处的 16 位数据等于比较地址处的 16 位数据(较少屏蔽位),则指令为真。
    一旦检测到不匹配,该指令就会变为假。
    极限测试 (LIM) 说明

    使用 LIM 指令测试指定范围内或之外的值,具体取决于您设置限制的方式。
    下限、测试和上限值可以是字地址或常数,仅限于以下组合:
    如果测试参数是程序常量,则下限和上限参数都必须是字地址。
    如果测试参数是字地址,则下限和上限参数可以是程序常量或字地址。
    LIM 指令的真/假状态
    如果下限的值等于或小于上限,则当测试值位于限制之间或等于任一限制时,指令为真。

    如果下限的值大于上限,则当测试值位于限制之间时,指令为假。


    leizuofa
    PLC 编程中的梯形图基础
    梯形图逻辑最初是一种书面方法,用于记录制造和过程控制中使用的继电器架的设计和构造。继电器架中的每个设备都由梯形图上的符号表示,并显示这些设备之间的连接。此外,继电器机架外部的其他项目,例如泵、加热器等也将显示在梯形图上。
    梯形图逻辑已经发展成为一种编程语言,它通过基于继电器逻辑硬件电路图的图形化图表来表示程序。梯形图逻辑用于开发工业控制应用中使用的可编程逻辑控制器 (PLC) 的软件。该名称基于这样的观察:这种语言中的程序类似于梯子,有两个垂直导轨和它们之间的一系列水平梯级。虽然梯形图曾经是记录可编程控制器程序的唯一可用符号,但如今其他形式已在 IEC 61131-3 中标准化。
    梯形图逻辑广泛用于对需要对过程或制造操作进行顺序控制的 PLC 进行编程。梯形图逻辑对于简单但关键的控制系统很有用。随着可编程逻辑控制器变得越来越复杂,它也被用于非常复杂的自动化系统中。通常,梯形逻辑程序与在计算机工作站上运行的 HMI 程序结合使用。
    简单梯形图逻辑程序示例
    语言本身可以被视为逻辑检查器(触点)和执行器(线圈)之间的一组连接。如果可以通过断言(真或“闭合”)触点在梯级左侧和输出之间追踪路径,则梯级为真且输出线圈存储位为断言或真。如果无法追踪到路径,则输出为假 (0),并且类似于机电继电器的“线圈”被视为“断电”。
    梯形逻辑具有接通或断开电路以控制线圈的触点。每个线圈或触点对应于可编程控制器存储器中单个位的状态。与机电继电器不同,梯形图程序可以多次引用单个位的状态,相当于具有无限多个触点的继电器。
    所谓的“触点”可以指通过集成或外部输入模块从物理设备(例如按钮和 限位开关)到可编程控制器的物理(“硬”)输入 ,或者可以代表可能生成的内部存储位的状态程序中的其他地方。
    梯形语言的每一级通常在最右侧都有一个线圈。一些制造商可能允许在一个梯级上放置多个输出线圈。
    —( )— 常规线圈,每当其梯级闭合时就会通电。
    —()— 一个“非”线圈,每当其梯级打开时就会通电。
    —[ ]— 常规触点,只要相应的线圈或控制它的输入通电,就会闭合。
    —[]— “非”触点,只要相应的线圈或控制它的输入未通电,就会闭合。
    “线圈”(梯级的输出)可以代表操作连接到可编程控制器的某些设备的物理输出,或者可以代表在程序的其他地方使用的内部存储位。
    逻辑与
    ------[ ]--------------[ ]----------------( )       钥匙开关 1 钥匙开关 2 门电机  
    以上实现功能: 门机 = 钥匙开关 1 AND 钥匙开关 2
    该电路显示了保安人员可能用来启动银行金库门上的电动机的两个钥匙开关。当两个开关的常开触点闭合时,电流就会流向打开门的电机。
    逻辑 AND 与 NOT
    ------[ ]--------------[]----------------( )            关门障碍门电机 以上实现了功能:门电机=关门AND NOT(障碍)。
    该电路显示了一个用于关门的按钮,以及一个用于检测是否有物体阻碍关门的障碍物检测器。当常开按钮触点闭合并且常闭障碍物检测器闭合(未检测到障碍物)时,电流能够流向关闭门的电机。

    逻辑或
    --+--------[ ]--------+-----------------( )          |外部解锁|开锁          | |   +--------[ ]--------+         内部解锁 以上实现的功能:解锁=内部解锁 OR 外部解锁
    该电路显示了可以触发汽车电动门锁的两件事。远程接收器始终通电。 当任一组触点闭合时,锁 电磁阀就会通电。
    工业停止/启动
    在常见的工业闭锁启动/停止逻辑中,我们有一个“启动”按钮来打开电机接触器,还有一个“停止”按钮来关闭接触器。
    当按下“开始”按钮时,通过“停止”按钮常闭触点,输入变为真。当“运行”输入变为真时,与“启动”常开触点并联的密封“运行”常开触点将闭合,保持输入逻辑为真(锁定或密封)。电路被锁定后,可能会按下“停止”按钮,导致其常闭触点打开,从而导致输入错误。然后“运行”常开触点打开,电路逻辑返回到其静态状态。
    --+----[ ]--+----[]----( )    |开始 |停止运行        | |   +----[ ]--+        跑步 --------[ ]--------------( )   运行电机 上面实现的功能是: run = ( start OR run ) AND ( NOT stop )
    请注意,在计算逻辑 AND 函数(具有更高的运算优先级)之前,使用括号对逻辑 OR 函数进行分组。另请注意使用 NOT 来表示“停止”NC 触点逻辑。
    这种锁存器配置是梯形逻辑中的常见用法。在梯形逻辑中,它被称为密封逻辑。理解闩锁的关键是认识到“启动”开关是一个瞬时开关(一旦用户释放按钮,开关就会再次打开)。一旦“运行”电磁阀接合,它就会关闭“运行”常开触点,从而锁定电磁阀。然后打开的“启动”开关不起作用。
    出于安全原因,紧急停止和/或停止应与启动开关串联硬连线,并且继电器逻辑应反映这一点。
    --[]----[]----+--[ ]--+--------( )     ES 停止 |开始|发动机           | |         +--[ ]--+           跑步 复杂的逻辑
    以下是梯形图逻辑程序中两个梯级的示例。在现实世界的应用中,可能有数百或数千个梯级。
    通常,复杂的梯形图逻辑是从左到右、从上到下“读取”的。当评估每条线(或梯级)时,梯级的输出线圈可以作为输入馈送到梯形的下一级。在复杂的系统中,梯子上会有许多“梯级”,它们按评估顺序编号。
    1. ----[ ]---------+----[ ]-----+----( )         开关|高温|空调            | |         +----[ ]-----+             湿 2. ----[ ]----[]--------------------( )              空调加热冷却 第1行实现功能:A/C = Switch AND (HiTemp OR Humid)
    第 2 行实现功能:冷却 = A/C AND(不是加热)
    这表示梯级 2 的系统稍微复杂一些。在评估第一条线路后,输出线圈“A/C”被馈送到梯级 2,然后评估梯级 2,并且输出线圈“冷却”可以馈送到输出设备“压缩机”或进入梯子的第 3 级。该系统允许分解和评估非常复杂的逻辑设计。
    附加功能
    PLC 制造商可以将附加功能作为特殊块添加到梯形逻辑实现中。当特殊块通电时,它会根据预定参数执行代码。这些参数可以显示在特殊块中。
    +--------+ -----[ ]--------------------+ A +---- 远程解锁+--------+           远程柜台 +--------+ -----[ ]--------------------+ B +----    内部解锁+--------+           室内柜台       +--------+ --------------------+ A + B +------------             |进入C |             +--------+             加法器 在此示例中,系统将计算按下内部和远程解锁按钮的次数。该信息将存储在存储位置 A 和 B 中。存储位置 C 将保存电子解锁门的总次数。
    PLC 有多种类型的特殊块。它们包括定时器、算术运算符和比较、表查找、文本处理、PID 控制和过滤功能。更强大的 PLC 可以对一组内部存储器位置进行操作,并对一系列地址执行操作,例如,模拟物理顺序鼓控制器或有限状态机。在某些情况下,用户可以定义自己的特殊块,这些块实际上是子例程或宏。大型特殊块库以及高速执行允许使用 PLC 来实现非常复杂的自动化系统。

    leizuofa
    DCS 和 PLC之间的主要区别在于业务模型,我们通过DCS 与 PLC 架构的比较进行了讨论。
    DCS 与 PLC 架构
    DCS商业模式可以说是基于单一制造商的整体集成系统。
    分布式控制系统架构
    对于 DCS,控制器、I/O 子系统、数据库服务器软件、工程软件和操作员软件都是设计在一起的单一整体单元,并且只能相互协作。
    无法使用第三方的组件。无法在其他系统上使用这些组件中的任何一个。
    DCS 使用基于标准以太网的 I/O 子系统网络和控制网络,但具有专有应用协议,并且通常仅使用特定批准型号的以太网交换机。

    图 1 在 DCS 中,所有组件均来自同一家制造商
    仅允许使用特定版本的 Windows,并且仅允许在 DCS 制造商提供的一种类型的经批准的计算机上使用。
    这些限制使 DCS 制造商能够非常彻底地、大规模地、重负载地、使用许多控制器和工作站对所有东西进行测试。
    批量控制、高级控制和自动调整等应用也一起进行了测试。这可确保不存在兼容性冲突和不可预见的依赖性。
    彻底的大规模测试是可能的,因为每个组件基本上只有一种类型,因此只有一种或很少的组合。
    第三方软件仅允许在单独的“应用站”上使用,且不能与本地 DCS 应用程序发生冲突,并且必须经过 DCS 制造商的测试和批准;白名单。
    DCS 是整体式的,使用相同品牌的 I/O 子系统、控制器和软件以及单一计算机和操作系统平台。这已经经过大规模彻底测试。
    DCS 长期支持
    系统通常可运行 15 年或更长时间。在此期间,将会有多个Windows版本、服务包、修补程序、大量病毒定义更新,并且计算机硬件也需要更换。
    通常,DCS 仅支持单一类型的防病毒软件,每当有新的病毒定义或有 Windows 操作系统服务包或修补程序时,系统都会再次对所有硬件和软件的整个整体套件进行测试供应商在发布之前确保可以部署病毒定义和服务包而不会出现任何兼容性冲突。
    分布式控制系统升级
    DCS版本也作为所有硬件和软件的单个整体单元进行升级,例如I/O卡固件、控制器固件、服务器软件、工程师站软件、操作员站软件以及任何其他软件都一起升级。
    每当有新的系统版本时,系统制造商都会提前对所有这些组件进行大规模的全面测试,以确保它们彼此兼容。
    此外,老版本到新版本的在线热切换流程已经过大规模的全面测试,保证了现场部署的顺利进行。
    正是彻底和大规模的测试提供了这种保证,使得 DCS 在石化联合体等大型装置中非常受欢迎。通过单一系统中的少数组合,此类测试变得实用。
    PLC架构/商业模式
    PLC业务模型可以说是基于系统集成商(SI)的灵活架构。
    PLC架构
    PLC 架构非常灵活,每个组件都可以从众多供应商中自由选择。 PLC 是带有配置软件和 IO 子系统的 CPU。
    有时,I/O 子系统可能来自第三方。甚至插入背板的 I/O 卡也可能来自第三方。
    HMI 软件通常来自第三方。 PLC 制造商提供的本机 OPC 服务器通常是最好的,但有时也会使用第三方 OPC 服务器。

    图2 对于一个PLC,集成了不同制造商的组件
    基本上任何 PLC 都可以与任何 I/O 子系统、OPC 服务器和 HMI 软件配合使用,因为使用了 PROFIBUS-DP、PROFINET、Modbus/RTU、Modbus/TCP、DeviceNet 和 EtherNet/IP 以及 OPC 等标准协议。
    网络设备、电脑、Windows版本均可自由选择。一些发现不工作的组件被列入黑名单。

    图3 DCS使用单一供应商,而PLC解决方案结合多个供应商,导致大量组合
    注:现在也有单一 PLC 封装供应商
    这种灵活性支持数百种硬件和软件组合,使得这些制造商不可能在工厂决定购买之前在每个版本的 Windows 上测试其硬件和软件的每种可能组合。
    某些组合可能会由相关制造商进行测试,但可能会也可能不会大规模重负载。
    PLC 允许在各种计算机和操作系统平台上任意组合 I/O 子系统、CPU 和 HMI/SCADA 软件。无法测试每种组合。
    PLC 制造商可以提供所有硬件和软件组件,全部来自同一制造商,因为许多 PLC 制造商已经收购了HMI公司。如果是这样,则该特定组合可能比其他测试组合经过了更彻底的测试。
    辅助第三方应用程序(例如批量控制、高级控制和自动调整等)通常不会一起测试,因为这会导致更多的组合。
    PLC 与 DCS 一样使用专有的组态软件。也就是说,您不能像 DCS 一样为您的 PLC 使用第三方组态软件。
    PLC的本机OPC服务器比第三方OPC服务器更好,因为PLC配置软件通常会自动配置OPC服务器的地址空间。
    PLC 长期支持
    在典型的系统运行 15 年或更长时间的过程中,将会出现多个 Windows 版本、服务包、修补程序、大量病毒定义更新,并且计算机硬件也需要更换。
    通常,PLC 对防病毒软件或 Windows 操作系统版本没有限制,因此病毒定义、服务包和修补程序的组合数量再次变得过于庞大且不切实际,这些制造商无法在发布之前聚在一起测试每种可能的新组合。工厂部署,确保在大量软硬件组合上部署时不会出现兼容性冲突。
    PLC制造商可能会限制单个防病毒软件和Windows版本。如果是这样,则该特定组合可能比他们测试的其他组合经过了更彻底的测试。
    PLC 升级
    对于PLC,硬件和软件组件是单独升级的。也就是说,I/O子系统固件、CPU固件和配置软件、OPC服务器、HMI软件以及任何其他软件都是相互独立升级的。
    考虑到每个组件选项的不同版本,组合的数量会增加几个数量级。
    这种灵活性使得这些制造商在工厂部署之前聚集在一起测试新版本的每种可能的组合是不切实际的。
    测试一种版本组合到另一种版本组合的热切换几乎是不可能的。
    PLC制造商可以提供所有硬件和软件组件,仅限于部署前测试的单个防病毒软件和Windows版本,并仅限于单个I/O子系统数据库服务器控制器/PLC操作员站/HMI、DCS、PLC系统-广泛的版本升级,并在部署前测试热切换。
    这样,PLC 的灵活性就会被放弃,而获得 DCS 的稳健性。

    leizuofa
    梯形图编程中最基本的对象是触点和线圈,旨在模拟机电继电器的触点和线圈。
    触点和线圈是离散编程元件,处理布尔(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 编程语言中最基本的指令。

    caixiaofeng
    1960 年代末,一家名为 Bedford Associates 的美国公司发布了一款名为 MODICON 的计算设备。作为缩写词,它的意思是“模块化数字控制器”,后来成为一个致力于设计、制造和销售这些专用控制计算机的公司部门的名称。
    其他工程公司开发了该 设备自己的版本,最终以非专有术语称为 PLC 或可编程逻辑控制器。
    可编程逻辑控制器
    PLC 的目的是直接取代机电继电器作为逻辑元件,用存储有程序的固态数字计算机代替,能够模拟许多继电器的互连来执行某些逻辑任务。
    PLC 有许多“输入”端子,通过它们解释“高”和“低”逻辑状态以及来自开关和传感器的模拟值。
    它还具有许多输出端子,通过这些端子输出“高”和“低”信号,为灯、电磁阀、接触器、小型电机和其他设备输出“高”和“低”信号,从而实现开/关控制以及模拟输出,用于控制控制阀、电机速度控制等
    为了使 PLC 易于编程,其编程语言被设计为类似于梯形逻辑图。因此,习惯于阅读梯形图逻辑原理图的工程师会很轻松地对 PLC 进行编程来执行相同的控制功能。
    PLC 编程
    下图显示了一个简单的 PLC,就像从前视图中看到的那样。
    两个螺丝端子提供与电源的连接,为 PLC 的内部电路(标记为 L1 和 L2)供电。
    左侧的六个螺丝端子提供与输入设备的连接,每个端子代表一个不同的输入“通道”,并带有自己的“X”标签。
    左下方的螺丝端子是“公共”连接,通常连接到 120 VAC 电源的 L2(中性线)。

    PLC 外壳内部连接在每个输入端子和公共端子之间的是一个光隔离器设备(发光二极管),它向计算机电路提供电气隔离的“高”逻辑信号(光电晶体管解释 LED 的光) )当相应输入端子和公共端子之间施加 120 VAC 电源时。
    PLC 前面板上的 LED 指示灯提供“通电”输入的视觉指示:

    输出信号由 PLC 的计算机电路产生,该电路激活开关器件(晶体管、TRIAC,甚至机电继电器),将“源”端子连接到任何标有“Y-”的输出端子。
    相应地,“源”端子通常连接到 120 VAC 电源的 L1 侧。
    与每个输入一样,PLC 前面板上的 LED 指示灯提供“通电”输出的视觉指示:

    通过这种方式,PLC 能够与现实世界的设备(例如开关和螺线管)连接。
    控制系统的实际逻辑是通过计算机程序在PLC内部建立的。
    该程序规定了在哪种输入条件下哪个输出通电。
    虽然程序本身看起来是一个梯形逻辑图,带有开关和继电器符号,但 PLC 内部没有实际操作的开关触点或继电器线圈来创建输入和输出之间的逻辑关系。
    如果您愿意的话,这些是假想的触点和线圈。通过连接到 PLC 编程端口的个人计算机输入和查看程序。
    考虑以下电路和 PLC 程序:

    当按钮开关未启动(未按下)时,不会向 PLC 的 X1 输入发送电源。
    该程序显示常开 X1 触点与 Y1 线圈串联,不会向 Y1 线圈发送“电源”。因此,PLC 的 Y1 输出保持断电状态,与其连接的指示灯保持熄灭状态。
    然而,如果按下按钮开关,电源将被发送到 PLC 的 X1 输入。
    程序中出现的任何和所有 X1 触点都将呈现启动(非正常)状态,就好像它们是通过名为“X1”的继电器线圈通电而启动的继电器触点一样。
    在这种情况下,对 X1 输入通电将导致常开 X1 触点“闭合”,从而向 Y1 线圈发送“电力”。
    当程序的Y1线圈“通电”时,真正的Y1输出将通电,点亮与其连接的灯:

    必须要明白的是,计算机(装载 PLC 软件的工程系统)显示屏上出现的 X1 触点、Y1 线圈、连接线、“电源”等都是虚拟的。
    它们并不作为真正的电气元件存在。它们以计算机程序中的命令形式存在——只是一个软件——恰好类似于真正的继电器原理图。
    同样重要的是要理解,用于显示和编辑 PLC 程序的计算机对于 PLC 的持续运行来说并不是必需的。
    一旦程序从计算机加载到 PLC,计算机就可以从 PLC 拔出,并且 PLC 将继续遵循编程的命令。
    我在这些插图中包含计算机显示屏只是为了帮助您理解现实生活条件(开关闭合和灯状态)与程序状态(通过虚拟触点和虚拟线圈的“电源”)之间的关系。
    当我们想要改变控制系统的行为时,PLC 的真正威力和多功能性就会显现出来。由于 PLC 是可编程设备,因此我们可以通过更改给它的命令来改变其行为,而无需重新配置与其连接的电气组件。
    例如,假设我们想让这个开关和灯电路以相反的方式运行:按下按钮使灯关闭,松开按钮使其打开。
    “硬件”解决方案需要用常闭按钮开关代替当前的常开开关。
    “软件”解决方案要简单得多:只需更改程序,使触点 X1 为常闭而不是常开。
    在下图中,我们显示了按钮未启动(未按下)状态下的更改后的系统:

    在下图中,开关显示为已启动(按下):

    在软件中而不是在硬件中实现逻辑控制的优点之一是输入信号可以根据需要在程序中重复使用任意多次。
    例如,采用以下电路和程序,设计用于在三个按钮开关中的至少两个同时启动时为灯通电:

    为了使用机电继电器构建等效电路,必须使用三个继电器,每个继电器具有两个常开触点,以便为每个输入开关提供两个触点。
    然而,使用 PLC,我们可以为每个“X”输入编程任意数量的触点,而无需添加额外的硬件,因为每个输入和每个输出只不过是 PLC 数字存储器中的单个位(0 或 1) ,并且可以根据需要多次调用。
    此外,由于 PLC 中的每个输出也只不过是其内存中的一个位,因此我们可以在 PLC 程序中分配由输出 (Y) 状态“驱动”的触点。
    以下一个系统为例,电机启停控制电路:

    连接到输入 X1 的按钮开关用作“启动”开关,而连接到输入 X2 的开关用作“停止”。
    程序中的另一个触点名为Y1,直接使用输出线圈状态作为密封触点,以便在释放“启动”按钮开关后电机接触器将继续通电。
    您可以看到常闭触点X2出现在彩色块中,表明它处于闭合(“导电”)状态。
    如果我们按下“开始”按钮,输入 X1 将通电,从而“闭合”程序中的 X1 触点,向 Y1“线圈”发送“电源”,为 Y1 输出通电,并将 120 伏交流电源施加到真实电机接触器线圈。
    并联 Y1 触点也将“闭合”,从而将“电路”锁定在通电状态:

    现在,如果我们松开“启动”按钮,常开 X1“触点”将返回到“断开”状态,但电机将继续运行,因为 Y1密封“触点”继续提供“连续性”给线圈 Y1“供电”,从而保持 Y1 输出通电:

    要停止电机,我们必须立即按下“停止”按钮,这将为 X2 输入通电并“打开”常闭“触点”,从而断开 Y1“线圈”的连续性:

    当松开“停止”按钮时,输入 X2 将断电,使“触点”X2 返回正常的“闭合”状态。
    然而,在按下“启动”按钮之前,电机不会再次启动,因为 Y1 的“密封”已丢失:

    这里需要强调的一点是,故障安全设计在 PLC 控制系统中与在机电继电器控制系统中同样重要。
    人们应该始终考虑故障(开路)接线对受控设备的影响。
    在这个电机控制电路示例中,我们遇到一个问题:如果 X2(“停止”开关)的输入接线未能打开,则将无法停止电机!
    该问题的解决方案是反转 PLC 程序内的 X2“触点”与实际“停止”按钮开关之间的逻辑:

    当常闭“停止”按钮开关未动作(未按下)时,PLC 的 X2 输入将得电,从而“闭合”程序内的 X2“触点”。
    这允许电机在输入 X1 通电时启动,并允许电机在不再按下“启动”按钮时继续运行。
    当启动“停止”按钮时,输入 X2 将断电,从而“打开”PLC 程序内的 X2“触点”并关闭电机。
    因此,我们看到这个新设计和以前的设计在操作上没有区别。
    然而,如果输入 X2 上的输入接线未能打开,X2 输入将以与按下“停止”按钮时相同的方式断电。
    X2 输入接线故障的结果是电机将立即关闭。
    这是一种比之前所示的设计更安全的设计,在之前的设计中,“停止”开关接线故障会导致无法关闭电机。
    除了输入 (X) 和输出 (Y) 程序元素之外,PLC 还提供与外界没有内在联系的“内部”线圈和触点。
    它们的用途与标准继电器电路中使用的“控制继电器”(CR1、CR2 等)非常相似:在必要时提供逻辑信号反转。
    为了演示如何使用这些“内部”继电器之一,请考虑以下示例电路和程序,旨在模拟三输入与非门的功能。
    由于 PLC 程序元素通常由单个字母设计,因此我将内部控制继电器称为“C1”,而不是继电器控制电路中惯用的“CR1”:

    在此电路中,只要任何按钮保持未启动(未按下)状态,灯就会保持点亮状态。
    要使灯关闭,我们必须启动(按下)所有三个开关,如下所示:


    caixiaofeng
    PLC 文档是过程控制步骤的非常重要的工程记录,并且与所有技术描述一样,准确的详细工程记录至关重要。
    如果没有准确的图纸,升级和诊断所需的更改和修改将极其困难或不可能。
    PLC 系统文档

    从 PLC 到监控设备的每根电线必须在两端有清晰的标记和编号,并记录在接线图上。
    PLC 必须具有完整的最新梯形图(或其他认可的语言),并且每个梯级必须标有其功能的完整描述。
    PLC 系统中的基本文件是:
    1、系统概述及控制操作的完整描述;
    2、系统各单元框图;
    3、每个输入和输出、目的地和数量的完整列表;
    4、I/O模块接线图、各I/O点地址标识、机架位置;
    5、带有梯级描述、编号和功能的梯形图。
    还需要具有在个人计算机上离线模拟梯形图程序的能力,或者在 PLC 中以后台模式进行模拟,以便在不中断 PLC 正常运行的情况下进行更改、升级和故障模拟,并且可以在合并之前评估更改和升级的效果。

    leiwenge
    可编程逻辑控制器提供各种自动化应用所需的可靠、高速控制和监控。
    可编程逻辑控制器 (PLC) 已在工业制造领域占据重要地位,如果这项技术没有得到应有的重视,我们将是失职。 因此,我们在这个新的 EC&M 部门推出了一系列基于 PLC 基础知识的文章,涵盖固态工业自动化技术。 在本系列 PLC 基础知识中,我们将介绍 PLC 硬件模块; 软件能力; 当前的应用程序; 安装参数; 测试和故障排除; 和硬件/软件维护。
    什么是PLC?
    美国电气制造商协会 (NEMA) 将 PLC 定义为“数字操作电子设备,它使用可编程存储器在内部存储指令,通过实现特定功能,例如逻辑、排序、定时、计数和算术,通过数字控制或模拟 I/O 模块各种类型的机器或过程。”
    一家 PLC 制造商将其定义为“一种固态工业控制设备,它接收来自用户提供的受控设备(例如传感器和开关)的信号,并以由存储在用户内存中的基于梯形图的应用程序进度确定的精确模式执行这些信号,并且提供用于控制过程或用户提供的设备(例如继电器或电机启动器)的输出。”
    基本上,它是一种固态、可编程的电气/电子接口,可以以非常快的速度操纵、执行和/或监控过程或通信系统的状态。 它基于集成微处理器系统中包含的可编程数据运行。
    PLC 能够接收(输入)和传输(输出)各种类型的电气和电子信号,并且几乎可以控制和监控任何类型的机械和/或电气系统。 因此,它在与计算机、机器和许多其他外围系统或设备的接口方面具有极大的灵活性。
    它通常以继电器梯形逻辑进行编程,设计用于在工业环境中运行。
    它是什么样子的?
    PLC 有各种尺寸。 通常,PLC 占用的空间或大小与用户系统和输入/输出要求以及所选制造商的设计/封装能力直接相关。
    PLC 的机箱可以是开放式或封闭式。 各个模块插入机箱的背板。
    电子元件安装在包含在模块内的印刷电路板 (PCB) 上。
    它从哪里来的?
    第一个 PLC 是在 1960 年代后期推出的,是可编程控制器或 PC(不要与用于个人计算机的符号混淆)的产物。 自 60 年代初以来,PC 就一直存在于该行业。
    对适合更小的空间的更好更快的控制继电器的需求以及对程序不灵活性(硬接线继电器、步进开关和鼓编程器)的挫折催生了 PC。
    虽然PC和PLC在语言上是互换的,但它们的区别在于PC是专用于固定程序中的控制功能,在某种意义上类似于过去能力有限的问题。 另一方面,PLC 只需要重写其软件逻辑即可满足被控制系统的任何新需求。 因此,PLC 可以适应许多过程或监控应用需求的变化。
    PLC是如何工作的?
    要了解 PLC 的工作原理,我们必须了解其中央处理器 (CPU) 的扫描顺序。 该方法基本上对所有 PLC 都是相同的。 但是,由于系统中添加了特殊的硬件模块,因此需要额外的扫描周期。
    这是一个涉及每个 PLC 的简单扫描过程。 首先,I/O 硬件模块被梯形逻辑软件程序扫描如下。
    上电后,处理器扫描输入模块并将数据内容传输到输入的图像表或寄存器。 来自输出图像表的数据被传输到输出模块。
    接下来,扫描软件程序,并检查每个语句以查看是否满足条件。 如果条件满足,处理器将数字位“1”写入输出图像表,外围设备将被通电。 如果条件不满足,处理器将“0”写入输出图像表,外围设备(使用“正逻辑”)保持断电。
    PLC 接口多种类型的外部电气和电子信号。 这些信号可以是交流或直流电流或电压。 通常,它们的范围为 4 到 20 毫安 (mA) 或 0 到 120VAC,以及 0 到 48VDC。 这些信号称为 I/O(输入/输出)点。 它们的总和称为 PLC 的 I/O 能力。 从电子的角度来看,该数字基于 PLC 的 CPU 在指定时间内能够查看或扫描的点数。 这种性能特性称为扫描时间。 然而,从用户的实际角度来看,所需的 I/O 模块数量以及每个 I/O 模块上包含的 I/O 点数将决定系统的 I/O 能力。
    在您的 PLC 系统中拥有足够的 I/O 能力很重要。 拥有更多总比更少更好,这样当将来需要更多 I/O 点时,将现有的备用 I/O 点写入软件会更容易(因为硬件已经存在)。 有多余的 I/O 点对操作系统没有坏处; 软件可以编程忽略它们,这些点对 PLC 的扫描时间的影响可以忽略不计。
    PLC的软件程序
    软件程序是 PLC 的核心,由程序员编写,程序员使用元素、功能和指令来设计 PLC 要控制或监视的系统。 这些元素放置在继电器梯形逻辑 (RLL) 中单独编号的梯级上。 软件的 RLL 由 CPU 模块或控制器模块中的处理器执行(相同模块,不同名称)。
    有多种类型的 PLC 软件设计包可用。 经常选择的一种软件包是 RLL 格式,包括触点、线圈、定时器、计数器、寄存器、数字比较块和其他类型的特殊数据处理功能。 使用这些元素,程序员设计控制系统。 然后将外部设备和组件连接到与程序员的软件梯形逻辑相同的系统中。 然而,并非所有软件元素都具有硬连线的物理对应物。
    当 PLC 的处理器通过软件程序(逐级)扫描(自上而下)时,会执行 RLL 的每一行。 软件正在镜像的硬连线设备随后变为活动状态。 因此,该软件是控制设备,并为程序员或技术人员提供了灵活性,可以从系统操作中“强制一个状态”或“阻止一个设备”。 例如,线圈或触点可以直接从软件操作(独立于控制柜到源或现场输入设备的硬接线)。 或者,可以使设备看起来不可见(从系统操作中移除),即使它是电气硬接线并且物理就位。
    单独的 PLC 部分
    所有 PLC 共有四个部分,每个部分都可以细分为较小但同样重要的部分。 这些主要部分包括电源部分,它为 PLC 和 I/O 基本模块提供工作直流电源,并包括备用电池; 程序软件部分; CPU 模块,包含处理器并保存内存; 和 I/O 部分,它控制外围设备并包含输入和输出模块。
    电源部分。 电源 (PS) 部分从外部 120VAC 或 240VAC 电源(线电压)获取输入电源,该电源通常熔断并通过 PS 外部的控制继电器和滤波器供电。 此外,PS 有自己的集成交流输入保险丝。
    然后对该线路电压进行降压、整流、滤波、调节、电压和电流保护以及状态监控,状态指示以多个 LED(发光二极管)的形式显示在 PS 的正面。 PS 可以有一个按键开关来保护存储器或选择特定的编程模式。
    PS 的输出为 PLC 的各种模块(通常具有 20A 或 50A 的总电流能力)以及用于存储备份的集成锂电池提供低直流电压。 如果 PS 出现故障或其输入线电压低于特定值,则存储器内容将不会与故障前的内容发生变化。
    PS 输出为 PLC 中的每个模块供电; 但是,它不向 PLC 的外围 I/O 设备提供直流电压。
    中央处理器模块。 “CPU”、“控制器”或“处理器”都是不同制造商用来表示执行基本相同功能的相同模块的所有术语。 CPU模块可以分为两个部分:处理器部分和内存部分。
    处理器部分做出 PLC 所需的决定,以便它可以操作其他模块并与其他模块通信。 它通过串行或并行数据总线进行通信。 I/O 基本接口模块或单独的板载接口 I/O 电路提供与处理器通信所需的信号调节。 处理器部分还执行程序员的 RLL 软件程序。
    存储器部分在存储器的三个专用位置存储(以电子方式)可检索的数字信息。 这些内存位置由处理器定期扫描。 存储器将接收(“写入”模式)数字信息或由处理器访问(“读取”模式)数字信息。 这种读/写 (R/W) 功能提供了一种更改程序的简单方法。
    存储器包含多种信息类型的数据。 通常,数据表或图像寄存器和软件程序 RLL 位于 CPU 模块的内存中。 程序消息可能驻留在或可能不驻留在其他存储器数据中。
    一些制造商使用备用电池来保护内存内容在电源或内存模块出现故障时不会丢失。 还有一些使用各种集成电路 (IC) 存储器技术和设计方案,以在不使用备用电池的情况下保护存储器内容。
    CPU 模块的典型内存部分的内存大小为 96,000 (96K) 字节。 这个大小告诉我们内存中有多少个位置可用于存储。 当需要更大的内存时,可以将额外的内存模块添加到您的 PLC 系统中。 这些扩展模块是随着I/O模块数量的增加或软件程序的增加而添加到PLC系统中的。 完成此操作后,内存大小可高达 1,024,000 (1024K) 字节。
    制造商将以“字节”或“字”来说明内存大小。 一个字节是八位,一位是二进制代码中最小的数字。 它要么是逻辑“1”,要么是逻辑“0”。 一个字的长度等于两个字节或 16 位。 并非所有制造商都使用 16 位字,因此请注意您的 PLC 制造商对其存储器字位大小的定义。
    软件项目。 PLC 不仅需要电子元件来操作,还需要一个软件程序。 PLC 程序员不限于以一种格式编写软件。 有多种类型可供选择,每种类型都更适合一种应用程序而不是另一种应用程序。 典型的是前面讨论过的 RLL 类型。 其他 S/W 程序包括“C”、状态语言和 SFC(顺序功能图)。
    无论选择哪种软件,都会由 PLC 的 CPU 模块执行。 软件可以在处理器处于联机状态(PLC 实际运行时)或脱机状态(其中 S/W 执行不影响 I/O 基座的当前操作)的情况下编写和执行。
    在 RLL 软件程序中,我们发现了多种类型的编程元素和功能,用于控制 PLC 内部(存储器和寄存器)以及外部(现场)设备的过程。 下面列出了一些更常见的元素、函数和指令类型:
    * 触点(可以常开或常闭;在监视器上突出显示表示它们处于活动状态)。
    * 线圈(可以是正常的或锁定的;突出显示的表示它们已通电)。
    * 定时器(线圈可以在指定的延迟时间内打开或关闭)。
    * 计数器(可以向上或向下递增计数)。
    * 位移位寄存器(活动时可以将数据移动一位)。
    * One-shot(意味着在一次扫描时间内处于活动状态;对脉冲计时器有用)。
    * 鼓(可以根据时间或事件排序)。
    * 数据操作指令(启用移动,数字值的比较)。
    * 算术指令(启用数字值的加法、减法、乘法和除法)。
    外围设备
    PLC 及其 I/O 基座的外围设备可以是从主机和控制台到电机驱动单元或现场限位开关的任何设备。 用于编程的打印机和工业终端也是外围设备。
    外围设备可以生成或接收交流或直流电压和电流以及数字脉冲序列或快速长度(脉冲宽度)的单脉冲。
    这些外部操作设备有时具有苛刻和/或快速的信号特性,必须能够与 PLC 的敏感微处理器接口。 可以使用各种类型的 I/O 模块(使用适当的屏蔽电缆)来完成这项工作。
    输入模块
    输入模块有两个功能:接收外部信号和显示该输入点的状态。 换句话说,它接收外围传感单元的信号并为该信号的状态提供信号调节、终止、隔离和/或指示。
    输入模块的输入采用离散形式或模拟形式。 如果输入是 ON-OFF 类型,例如带有按钮或限位开关,则信号被认为是离散的。 另一方面,如果输入发生变化,例如随温度、压力或电平变化,则信号本质上是模拟的。
    向描述外部条件的输入模块发送信号的外围设备可以是开关(限位、接近度、压力或温度)、按钮或逻辑、二进制编码十进制 (BCD) 或模数 (A/D) 电路。 这些输入信号点被扫描,它们的状态通过每个单独的 PLC 和 I/O 基座内的接口模块或电路进行通信。 下面列出了一些典型的输入模块类型。
    * 直流电压(110、220、14、24、48、15-30V)或电流(4-20 mA)。
    * 交流电压(110、240、24、48V)或电流(4-20 mA)。
    * TTL(晶体管晶体管逻辑)输入(3-15VDC)。
    * 模拟输入(12 位)。
    * 字输入(16 位/并行)。
    * 热电偶输入。
    * 电阻温度检测器。
    * 大电流继电器。
    * 低电流继电器。
    * 锁存输入(24VDC/110VAC)。
    * 隔离输入(24VDC/85-132VAC)。
    * 智能输入(包含微处理器)。
    * 定位输入。
    * PID(比例、整数、微分)输入。
    * 高速脉冲。
    输出模块
    输出模块传输离散或模拟信号以激活各种设备,例如液压执行器、螺线管、电机启动器,并显示所连接输出点的状态(通过使用 LED)。 信号调理、端接和隔离也是输出模块功能的一部分。 处理器以与输入模块相同的方式处理输出模块。
    目前可用的一些典型输出模块包括:
    * 直流电压 (24, 48,110V) 或电流 (4-20 mA)。
    * 交流电压 (110, 240v) 或电流 (4-20 mA)。
    * 隔离 (24VDC)。
    * 模拟输出(12 位)。
    * 字输出(16 位/并行)。
    * 智能输出。
    * ASCII 输出。
    * 双通讯口。
    须知条款
    A/D:将模拟信号转换为数字字的设备或模块。
    地址:PLC 内存中用于存储信息的编号位置(存储编号)。
    模拟输入:向模拟输入模块提供过程变化信息的变化信号。
    模拟量输出:来自模拟量输出模块的变化信号传输过程变化信息。
    波特率:每秒传输或接收的比特数; 也是设备可接受的数字传输速度。
    BCD:二进制编码的十进制。 一种用于将 0-thru-9(基数 10)编号系统表示为二进制(基数 2)等价物的方法。
    位:单个二进制数字。
    字节:八位。
    中央处理单元 (CPU):解释、决定和执行指令的集成电路 (IC)。
    D/A:将数字字转换为模拟信号的设备或模块
    电可擦除可编程只读存储器 (EEPROM):与 EPROM 相同,但可以电擦除。
    Erasable Programmable Read-Only Memory (EPROM):用户可以多次擦除和加载新数据的存储器,但在应用中使用时,它的作用相当于 ROM。 EPROM 不会在断电期间丢失数据。 它们是纳米易失性存储器。
    图像寄存器/图像表:为 I/O 位状态保留的专用存储器位置。
    输入模块:处理来自现场设备的数字或模拟信号。
    I/O 点:I/O 模块上的端子点,用于连接输入和输出现场设备。
    毫秒:千分之一秒(1/1000 秒,0.001 秒)。
    调制解调器:调制解调器是调制器/解调器的首字母缩写词。 这是一种调制(混合)和解调(分离)信号的设备。
    操作员界面:允许系统操作员访问 PLC 和 I/O 基本条件的设备。
    输出模块:控制现场设备。
    并行数据:传输或接收字节或字且所有位同时存在的数据。
    程序:完成一项任务的一个或多个指令或语句。
    编程设备:用于告诉 PLC 做什么以及何时应该做的设备。
    随机存取存储器 (RAM):可以在任何地址访问数据而无需读取多个连续地址的存储器。 数据可以从存储位置读取和写入。 RAM 具有易失性存储器,这意味着断电将导致 RAM 中的内容丢失。
    只读存储器 (ROM):可以读取但不能写入数据的存储器。 ROM 通常用于防止程序或数据因用户干预而被破坏。
    软件:控制一个过程的一个或多个程序。

    caixiaofeng
    在这篇文章中,我将给出一些来自我个人经验的基本说明,以便为您提供有关如何在自动化系统 ( PLC/DCS ) 中进行故障排除的指南:
    自动化系统故障排除通常采用相同的策略来找到系统故障的解决方案。
    然而,根据应用程序的复杂性和规模以及特定的自动化系统,故障排除步骤会略有不同或更复杂。最好的知识是通过实践和实际故障排除条件获得的。我认为反复练习才是解决办法。欢迎大家补充和评论!!
    PLC 系统故障排除

    在继续之前,我们同意现代自动化系统具有用于控制应用程序的 PLC。如果我们有一个小型应用程序,那么系统可能有一个 microPLC(或 nanoPLC)或其他类型的紧凑型控制器(很多时候这取决于应用程序)。
    我说现代自动化系统是因为在过去(在 PLC/其他紧凑型控制器被自动化开发公司熟知并使用之前),自动化系统的控制仅通过继电器进行。
    调查控制器的程序
    我们应该做的第一件事是查明我们是否满足错误操作的正确条件。为此,我们应该找到系统的“思维”。这个“头脑”就是控制器(或者是一种 PLC,或者是另一种类型的紧凑型控制器)。如果我们没有满足正确的条件,那么我们应该调查控制器的程序以找出问题的根源(始终检查 SCADA 中出现的消息)。这将更快地指导解决方案,因为在 SCADA 中会出现重要信息,例如故障/警报描述或 PLC 中的特定地址。
    我们会发现的是来自硬件的错误信号(例如来自按钮的数字信号或来自机械开关的数字信号或来自“未到达”控制器输入的继电器触点的数字信号或具有错误值的模拟信号)或来自另一个软件系统(例如 SCADA)的错误信号。
    调查来自硬件的条件
    当我们得出问题根源的结论时,我们会暂时离开控制器的程序并出去检查我们的结论。我们应该已经找到自动化系统的图纸,以便查看我们想要检查的组件的连接。例如,如果我们发现按钮发出的数字信号“没有到达”控制器的输入,那么我们就拿起万用表去检查按钮。如果按钮正常,那么我们检查按钮和控制器输入之间是否有保险丝。如果有的话,我们就检查一下。如果保险丝正常,我们就会检查电缆的路线。也许我们的电缆被切断了。如果电缆正常,那么控制器的输入可能存在硬件问题,也许我们应该用新的输入模块更换该输入模块或以其他方式修复它(维修应由合格的人员完成)。
    根据控制器的输出调查硬件
    如果我们得出结论认为我们具备正确的条件,那么我们应该检查控制器和故障设备(我们指的是无法正常工作的设备)之间的组件。例如,如果我们有一个工业炉不关门(即使我们有通过程序关门的条件),则可能是我们的 PLC(或其他控制器)为关门而通电的继电器有故障。如果继电器正常,那么负责关门的电机可能有问题。我们应该检查电机的状态(电机线圈、机械部件)如果电机正常,我们应该检查电机输入的电压值(用万用表),如果万用表测量不正确,还应检查电缆的状态。如果电压和电缆都正常,那么可能是门炉结构的某个地方发生了堵塞。
    动力装置是一个“优点”!
    一般来说,当我们的自动化系统中有动力单元(驱动器)来驱动电机时,我们应该准备好特定动力单元的手册。这是因为动力装置具有数字显示器或 7 段 LED 显示器或简单的 LED,用于通知我们其内部或驱动电机处存在的故障。这对于工程师和技术人员来说非常有用。此外,现代动力装置具有特殊的算法来检查电机状态、电压和电流值等。例如,如果电机过热,驱动器会通知我们,因为它会持续检查位于电机外壳内的温度传感器(例如热敏电阻)。然后我们应该检查电机是否实际上过热,或者我们的温度传感器有故障,我们应该更换它。
    检查控制器状态
    有时,当我们的PLC的 CPU在程序流程中检测到不可接受的情况时,它会进入“停止”模式,并且可能有一个 LED 闪烁并指示此故障。此外,如果系统发生任何其他故障,一些 LED 会指示故障类型(有关更多信息,请参阅控制器手册)。一般而言,在自动化系统中建立任何类型的控制器都具有相同的行为。
    安全系统
    许多自动化系统(通常是生产机器)在设计中都有一些“安全系统”,例如“Pilz”或“Siemens Sirius”。这些是智能紧凑型控制器,用于监控防护门打开或紧急停止等情况。当发生这些情况时,安全系统会停止自动化系统的运行,以保护人和机器。为了将自动化系统重置为功能状态,安全系统手册中有特殊说明。
    上述所有内容的结论是在故障排除时采取循序渐进的策略。随着时间的流逝和经验的积累,也许我们会绕过一些步骤,特别是如果我们是负责维护我们每天都会遇到的系统的人员。然而,一个好的策略是有组织性和耐心。祝你的努力好运!

Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...