Jump to content

caixiaofeng

Staff group
  • Content Count

    68
  • Joined

  • Last visited

Everything posted by caixiaofeng

  1. caixiaofeng

    使用 PLC 控制并联储罐液位

    这是一个用于控制并联储罐液位的 PLC 程序。 通过此示例学习 PLC 编程。 并联储罐液位控制 问题描述 两个罐并联连接。 我们需要加热和冷却进入储罐的物料,同时控制储罐的液位。 为此应用实施 PLC 程序。 问题图 问题方案 加热工艺用于加热罐内物料,冷却工艺用于冷却物料。 这里考虑两种材料相同,如图所示,入口阀将材料输送到两个罐中。 在这里,我们可以使用液位开关来检测两个水箱的低液位和高液位。 使用两个温度传感器测量两个水箱的温度。 罐底部使用出口阀排出材料以进行进一步处理。 我们将为此应用编写 PLC 程序。 输入和输出列表 数字输入 循环启动:- I0.0 循环停止:- I0.1 低液位罐 1(LL1) :- I0.3 低液位罐 2(LL2) :- I0.4 高位水箱 1(LH1) :- I0.5 高位罐 2(LH2) :- I0.6 数字输出 加热罐入口阀 V2 :- Q0.0 冷却罐入口阀 V3 :- Q0.1 加热罐出口阀 V4 :- Q0.2 冷却罐出口阀 V5 :- Q0.3 M 内存 循环ON位:- M0.0 加热罐温度寄存器:- MD10 冷却槽温度寄存器:- MD14 冷却罐出口阀 V5 :- Q0.3 用于并联罐液位控制的 PLC 程序 程序说明 对于此应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他PLC来实现这个逻辑。 网络1: 该网络用于锁存电路。 每当按下 START 按钮 (I0.0) 时,Cycle ON (M0.0) 位就会打开。 按 STOP PB (I0.1) 可停止循环。 网络2: 当检测到加热罐液位低(I0.3)时,进水阀 V2(Q0.0)将打开。 如果未检测到水箱 1(I0.5) 的高液位并按下启动 (I0.0) 按钮,入口阀 V2 (Q0.0) 将打开。 网络3: 如果检测到罐 2 (I0.4) 液位低,入口阀 V3 (Q0.1) 将打开。 如果按下启动按钮并且未检测到罐 2 (I0.6) 的高液位,则入口阀 V3 (Q0.1) 将打开。 网络4: 如果循环开启且加热罐实际温度(MD10)大于或等于设定温度(70°C),则出口阀V4(Q0.2)将开启 网络5: 如果循环打开并且冷却罐的实际温度(MD14)小于或等于设定温度(20°C),则出口阀V5(Q0.3)将打开。 注意:- 此示例仅用于说明目的。 我们可以在任何 PLC 中或使用继电器逻辑来实现此逻辑。 上述应用可能与实际应用不同,也可能是工厂逻辑的一部分。 结果
  2. caixiaofeng

    使用 PLC 加热和混合产品

    这是一个用于自动加热和混合产品的 PLC 程序。 通过此示例,供工科学生学习 PLC 编程。 产品的加热和混合 问题描述 制作一个自动系统,将两种材料收集在一个罐中。 所有材料均应混合直至达到预定的设定温度。 在 S7-1200 PLC 中为此应用编写一个梯形图程序。 问题图 问题方案 我们可以用简单的逻辑来解决这个问题。 对于该系统,考虑两个单独的液位开关来检测两种不同材料的液位(假设材料 A 和材料 B)。 还可以考虑使用一个液位开关来检测空液位。 为了控制液位,我们可以使用单作用阀门(全开和全闭型)。 混合时使用搅拌器,搅拌器与电机轴连接。 加热器和温度传感器安装在罐内。 在这里,材料被混合直至达到设定温度,混合后,出口阀(Q0.4)将被操作以排出混合产品。 输入和输出列表 输入列表 循环启动:- I0.0 循环停止:- I0.1 材料等级 B :- I0.2 材料等级 A :- I0.3 空液位开关:- I0.4 温度传感器:- I0.5 输出列表 入口阀 1 :- Q0.0 入口阀 2 :- Q0.1 搅拌器电机:- Q0.2 加热器:- Q0.3 出口阀:- Q0.4 M 内存 M0.0:- 循环开启 用于产品加热和混合的 PLC 程序 程序解释 本题中,我们将考虑 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络1: 该网络显示了用于周期 ON 和周期 OFF 的简单锁存电路。 循环启动按钮 (I0.0) 的常开 (NO) 触点和循环停止按钮 (I0.1) 的常开 (NO) 触点用于激活循环。 网络2: 该网络用于操作入口阀 1(Q0.0)。 当检测到水箱低液位 (I0.4) 时,该功能将运行。 当地址(I0.3)的开关检测到料位A时闭合。 START PB (I0.0) 也并联连接,因此如果未检测到低电平,可通过按 START PB (I0.0) 启动入口阀。 网络3: 该网络用于操作入口阀 2 (Q0.2)。当材料 A 填充到所需液位时,该网络将运行。 当循环运行并且检测到材料 A 的液位时,入口阀 2 (Q0.1) 将打开。 网络4: 该网络用于操作搅拌器电机和加热器。 当罐内装满材料 A 和材料 B 时,加热器(Q0.3)和搅拌器电机(Q0.2)将打开。 网络5: 当整个混合过程和加热完成时,出口阀(Q0.4)将打开。 空液位开关(I0.4)的常闭触点用于在罐空时关闭出口阀。 注意:- 以上逻辑仅用于解释某些应用。 该图仅用于表示目的,实际系统可能与该系统不同。 结果
  3. caixiaofeng

    报警安全系统 PLC 程序

    这是用于报警安全系统的 PLC 程序。 通过此示例问题学习 PLC 编程。 报警安全系统 问题描述 在 S7-1200 PLC 中为房屋制作防盗报警系统程序。 考虑一栋房子,我们要在其中布置自动防盗报警安全系统。 当运动传感器检测到任何人时,警报应打开。 问题图 问题方案 我们可以用简单的逻辑来解决这个问题。 在这里我们可以使用两个传感器,一个运动传感器和第二个窗口传感器。 窗户传感器是一圈电线。 运动传感器的设计使得当在房屋或房间中检测到有人时,传感器将被激活(将其状态更改为 1 或 true) 窗户传感器的重要一点是电流始终通过,直到玻璃发生破裂。 因此输出始终为真,当有人试图打破窗玻璃时,电流不会在电路中流动。 输入和输出列表 输入列表 系统启动:- I0.0 系统停止:- I0.1 运动探测器:- I0.2 车窗传感器:- I0.3 报警停止按钮:- I0.4 输出列表 警报:- Q0.0 M 内存 M0.0:- 主线圈。 M0.1:- 报警条件。 报警安防系统 PLC 梯形图 计划说明 本题我们将考虑使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络 1: 该网络显示了用于系统开启和系统关闭的简单锁存电路。 我们使用系统启动按钮(I0.0)的常开(NO)触点和系统停止按钮(I0.1)的常开触点(I0.1)来激活系统。 网络 2: 当系统启动且运动传感器 (I0.2) 检测到人员进入时,警报开启 (M0.1) 条件将开启,并将激活警报 (Q0.0)。 通常车窗传感器(I0.3)的常闭触点是并联使用的,因此在正常情况下这是正确的。 如果检测到玻璃破裂或窗户状况,窗户传感器 (I0.3) 输入将变为假,并将激活警报状况 (M0.1)。 网络 3: 在此网络中,锁存电路用于报警(Q0.0)。 如果检测到报警条件 (M0.1),报警将打开,并且可以通过按报警 STOP PB (I0.4) 来停止报警。 注意:- 以上逻辑仅用于解释目的。 我们也可以使用硬连线继电器逻辑来实现这个示例。 对于这个简单的系统来说,S7-1200 PLC 系统的成本是如此之高。 结果
  4. caixiaofeng

    流量积算仪 PLC 程序

    编写一个 PLC 程序来实现流量计的累加器。 流量计具有 4-20mA 输出,代表管道中 0 至 100 升/小时的燃油流量。 流量积算仪 PLC 程序 通过使用这个逻辑,我们可以计算从管道通过的总燃料量。 当累加器值达到 5000 升时,应自动重置,或者我们可以使用 RESET 按钮重置该值。 问题方案 我们可以通过简单的逻辑来解决这个问题。 这里我们考虑使用流量计来测量最大流量为 100 升/小时的燃料。 这里我们使用 DIV 指令将这个流量从 L/H 转换为 L/Sec 进行计算。 之后,通过使用 1 秒时钟脉冲,我们将把这个值存储在另一个存储位置,并且每隔一秒就会添加和更新新值。 例如,我们认为累加器的最大值为 5000 升,因此在此值之后累加器应重置。 因此,我们会将此值与实际值进行比较并自动重置它,或者我们将提供一个 RESET 按钮来重置累加器值。 输入/输出列表 输入列表 复位:- I0.0 M 内存 M0.5:- 1秒(1s)时钟脉冲 M1.2:- 时钟脉冲的上升沿 MD10:- 流量计最终输出(L/H)的存储字 MD18:- 流量计最终输出(L/Sec)的存储字 MD22:-总升添加量 MD26: - 总燃油量(升) 累加器梯形图 程序解释 本题中,我们将考虑 S7-300 PLC 和 TIA Portal 软件进行编程。 网络 1: 这里我们采用了流量计的最终输出值,单位为 L/H (MD10)。 通过使用 DIV 指令,我们将 L/H 流量转换为 L/sec,并将最终值存储在 MD18 中。 网络 2: 这里 1s 的时钟脉冲(M0.5)每秒都会加值,并将结果存储在存储器字 MD22 中。 网络 3: 此处,出于显示目的,我们将 MD22 的值移至 MD26(以升为单位的总燃油量)中。 网络 4: 在这个网络中,我们需要重置累加器。 如果总燃油量大于 5000(5000 值是为了示例目的,它取决于流量计配置及其范围),则累加器计数应自动为零,或者我们可以通过按 RESET 按钮 (I0.0) 进行重置。 注:以上逻辑仅用于解释目的。 这里我们只考虑了缩放的最终输出,因此我们在逻辑中没有提到 4-20mA 缩放。 结果
  5. 讨论 PLC 定时器编程示例:不同的 PLC 定时器有 TON、TOF、TP 和 TONR。 PLC 定时器指令和 PLC 定时器逻辑示例。 PLC 定时器编程 使用 TIA Portal 在 S7-1200 PLC 中实施 IEC 定时器(TON、TOF、TP 和TONR)。 在许多应用中,需要控制时间或信号流。 例如,可能需要控制阀门或电机在特定的时间间隔内运行,在一段时间间隔或一段延迟后打开。 问题图 问题方案 对于这个问题,我们将通过示例在 S7-1200 PLC 中使用 IEC 定时器(TON、TOF、TP 和 TONR)。 PLC 中有多种不同形式的定时器。 如上图所示, ON 延迟定时器,在特定时间延迟后变为 ON。 关闭延迟定时器在关闭输入后一段固定时间内开启。 脉冲定时器在固定的时间内打开或关闭。 累加器定时器是记录时间间隔的。 这里考虑四个电机和四个开关的示例来解释定时器。 我们需要以不同的方式启动三个电机。 第一个电机将在 10 秒延迟后启动, 第二个电机将立即启动并在 10 秒延迟后关闭 第三个电机将以脉冲启动,并延迟 10 秒关闭。 第四个电机将运行总共 10 秒。 输入/输出列表 输入列表 开关 1:I0.0 开关 2:I0.1 开关 3:I0.2 开关 4:I0.3 复位:I0.4 输出列表 电机 1:Q0.0 电机 2:Q0.1 电机 3:Q0.2 电机 4:Q0.3 定时器的 PLC 梯形图 我们可以使用 Generate-ON-delay 或 ON 延迟定时器指令将 Q 输出的设置延迟编程的持续时间 PT。 当输入 IN 的结果从 0 变为 1(上升沿)时启动该指令。 您可以在 Timer 模块的 ET 输出处监视当前时间值。 计时器值从 T#0s 开始,并在达到持续时间 PT 的值时结束。 一旦 IN 输入处的信号状态变为 0,ET 输出就会复位。 我们可以使用生成关闭延迟或关闭延迟定时器指令来将 Q 输出的复位延迟编程的持续时间 PT。 当输入 IN 处的逻辑运算 (RLO) 结果从 0 变为 1(正信号边沿)时,Q 输出被置位。 我们可以在 ET 输出处监视当前时间值。 我们可以使用生成脉冲指令来设置编程持续时间的输出 Q。 当输入 IN 的结果从 0 变为 1(上升沿)时启动该指令。 编程时间 (PT) 从指令开始时开始。 在此定时器中,即使检测到新的上升沿,只要 PT 持续时间仍在运行,输出 Q 处的信号状态就不会受到影响。 时间累加器指令或累加器定时器用于在编程时间 (PT) 参数设置的周期内累加时间值。 当输入 IN 的信号状态从 0 变为 1(上升沿)时,执行指令,并且持续时间 PT 开始。 在这种情况下,即使 IN 参数处的信号状态从 1 变为 0”(下降沿),Q 参数仍保持设置为 1。 R 输入复位输出 Q。 计划说明 本题我们将考虑使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络1: 在此网络中,我们为 MOTOR 1(Q0.0) 使用 ON 延迟计时器(生成延迟)。 当 SWITCH 1(I0.0) 的状态从 0 变为 1 时,定时器指令将被执行,并在 10 秒延迟后激活 MOTOR 1(Q0.0)。 网络2: 在此网络中,我们为电机 2(Q0.1) 使用了关闭延迟定时器(生成关闭延迟)。 当 SWITCH 2(I0.1) 的状态从 0 变为 1 时,定时器指令将被执行,并立即激活 MOTOR 2(Q0.1)。 此外,当开关 2(I0.1) 状态变回 0 时,编程时间 (PT) 将开始,时间过后电机 2(Q0.1) 将关闭。 网络3: 在此网络中,我们为电机 3(Q0.2) 使用了脉冲定时器(生成脉冲)。 当开关 3(I0.2) 的状态从 0 变为 1 时,定时器指令将被执行,并立即激活电机 3(Q0.2)。 在这种情况下,即使检测到新的上升沿,只要编程时间 (PT) 正在运行,电机 3(Q0.2) 的状态就不会受到影响。 网络4: 在该网络中,我们为 MOTOR 4(Q0.3) 使用了累加器定时器(累加器时间)。当 SWITCH 4(I0.3) 的状态从 0 变为 1 时,定时器指令将被执行,并且 MOTOR 4(Q0.3) 将被执行。 3) 10秒后开始。 即使输入状态变回 0,电机 4(Q0.2) 也将保持打开状态。需要复位 (I0.4) 来复位定时器或累计时间。 运行时测试用例
  6. caixiaofeng

    灯以 5 秒间隔闪烁的 PLC 程序

    这是一个以 5 秒间隔闪烁(开/关)灯的 PLC 程序。 闪烁灯 问题描述 使指示灯或灯在五秒后亮起,并在五秒后关闭。 制作一个程序,将灯打开 5 秒,然后关闭 5 秒,然后打开 5 秒,再次关闭 5 秒,依此类推。 问题图 问题方案 这个问题可以通过使用定时器来解决。 在这种情况下,我们将使用 TON(ON 延迟定时器)。 为了便于说明,我们考虑一个用于启用开/关循环的开关和一个用于输出的灯。 当用户按下开关时,灯将通电并保持亮起 5 秒,然后熄灭 5 秒。 这个循环将会重演。 输入和输出列表 输入列表 开关:I0.0 输出列表 灯:Q0.0 M 内存 M0.0:灯关闭状态的位存储器。 闪烁灯 PLC 梯形图 程序说明 本题中,我们将考虑 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络 1: 在此网络中,当按下开关 (I0.0) 时,如果不存在灯关闭条件,则灯 (Q0.0) 将打开。 所以这里我们使用开关的常开触点(I0.0)和灯关闭状态的常闭触点(M0.0)。 网络 2: 在该网络中,当灯(Q0.0)打开时,将执行 TON(ON 延迟定时器)指令,并设置灯关闭条件。 因此,我们在这里采用灯无触点(Q0.0)、TON 定时器,编程时间为 5 秒。 网络 3: 根据我们的条件,灯关闭条件(M0.0)应在延迟 5 秒后关闭,因此我们再次使用 TON。 因此我们使用灯关闭状态(M0.0)的常开触点和具有 5s 编程时间的 TON。 结果
  7. 为具有锁存功能的备用输出电路设计一个 PLC 程序,并用解决方案解释梯形逻辑。 备用输出电路 问题描述 通过按开关第一次、第三次、第五次等将灯设置为开,并通过按开关第二次、第四次、第六次等将同一灯设置为关。 当系统或循环上电时,将输出状态恢复为 “0”。 按奇数次按钮可以启动输出,按偶数次相同按钮可以停止输出。 问题图 问题方案 我们可以使用简单的梯形图逻辑来解决这个问题。 在此,我们考虑交替 LED 操作的一个简单示例。 这里我们考虑一个 LED 和一个按钮。 交替按下按钮,输出应交替打开/关闭,在按钮按下奇数次期间,输出应打开,在按钮按下偶数次期间,输出应关闭。 PLC 输入和输出列表 输入列表 开关:I0.0 输出列表 LED:Q0.0 M 内存 M 0.0 用于 LED 复位条件 M 0.1 计数器复位 M 11.0 和 M11.1 – 上升沿 交替输出电路梯形图(带锁存功能) PLC 程序说明 在本应用中,我们使用了西门子 S7-300 PLC 和 TIA Portal 软件进行编程。 网络 1: 在网络 1 中,我们使用 SET 指令来设置 LED(Q0.0)。 这里我们采用了 BUTTON 的 NO 接触(I0.0) 因此按下 BUTTON (I0.0) 即可激活 LED (Q0.0)。 网络 2: 这里我们使用了一个计数器,它会计算 BUTTON (I0.0) 的切换次数。 这个计数器会告诉我们按钮被按下的次数、它的值或者该值是偶数还是奇数。 网络 3: 当计数器达到其预设值(2)或偶数次时,计数器的常开触点将设置 M0.0(LED 复位条件)。 网络 4: 在此网络中,M0.0 的无触点将重置 LED 和计数器。 这里 M0.1(计数器复位存储器)将复位计数器。 网络5: 如果 M0.0 为 ON,并且按钮(I0.0)的负跳变(从 1 到 0)将被触发,则 LED 的 RESET 条件将关闭。 注意:提供此示例是为了了解备用输出电路的基本概念,它不是完整的应用,但我们可以在任何自动化应用或任何系统中使用这个概念。 测试用例
  8. caixiaofeng

    过程控制中报警指示的 PLC 程序

    创建用于过程控制行业报警指示的 PLC 程序。 通过这个工业示例学习 PLC 编程。 过程控制中的报警指示 在许多行业中,有许多机器自动执行许多任务。 系统或过程中使用了许多传感器和组件。 有时操作员可能无法通过目视观察来识别机器或系统的问题。 有时,机器可能会由于某些问题而停止工作。 问题图 PLC 解决方案 我们可以通过在系统或流程中添加报警来解决这个问题。 添加警报以提醒操作员监控即将超过其极限值或已经超过极限值的机器/过程。 通过信号器或喇叭以及面板上不同颜色的指示灯向操作员指示警报。 (例如,绿灯表示 OK,黄灯表示不好,红灯表示不好。) 警报的目的是利用自动化来帮助操作员监视和控制过程,并就工厂的异常情况向他们发出警报。 持续监控传入/输入过程信号,如果给定信号的值进入异常状态,则视觉和/或音频警报会通知操作员有关情况。 我们可以通过不同的方式为系统配置报警,如 MIMIC、面板指示灯、SCADA、HMI 等。 对于我们的问题讨论,我们考虑了一个简单的系统并为该系统配置警报。 例如,考虑一个填充和排放过程,在该系统中我们要考虑一些警报,我们将通过使用面板上的灯来显示警报。 例如,考虑我们系统的以下警报, 紧急停止按钮被按下 进料阀打开错误 进料阀关闭错误 排出阀打开错误 排放阀关闭错误 这里都是错误的,所以我们全部采用红色指示,如上图所示。 PLC 中的输入和输出列表 输入列表 周期开始:I0.0 循环停止:I0.1 低电平开关,LL:I0.2 高电平开关,左侧:I0.3 进给 VLV 打开 LS:I0.4 进给 VLV 关闭 LS:I0.5 光盘。 VLV 开放 LS:I0.6 光盘。 VLV 关闭 LS:I0.7 紧急停止:I1.0 复位:I1.1 输出列表 循环开启:Q0.0 进料阀:Q0.1 碟阀:Q0.2 蜂鸣器:Q0.3 紧急停止按下:Q0.4(指示灯) 进给 VLV 打开错误:Q0.5(指示灯) 进给 VLV 关闭错误:Q0.6(指示灯) 光盘 VLV 打开错误:Q0.7(指示灯) 盘 VLV 关闭错误:Q1.0(指示灯) 过程控制中报警指示的 PLC 程序 逻辑解释 在本应用中,我们使用了西门子 S7-300 PLC 和 TIA Portal 软件进行编程。 网络 1: 在网络 1 中,我们使用锁存电路来实现周期 ON(Q0.0)输出。 可以通过按循环 START PB (I0.0) 启动,按 STOP PB (I0.1) 停止。 当循环开始时,系统检查水箱的液位。 如果罐液位较低,则进料过程将开始,如果罐液位达到高,则排放周期将开始。 网络 2: 当水箱达到低液位时,LL (I0.2) 将被激活,喂食周期将开启。 这里我们采用 LH(I0.3)的常闭触点,因此当 PLC 检测到高电平时,它将停止进给循环。 网络 3: 当水箱达到高液位时,LH(I0.3)将被激活,放电周期将开启。 这里我们采用了 LL (I0.2) 的常闭触点,因此当 PLC 检测到低电平时,它将停止放电周期。 网络 4: 当系统接收到紧急停止(I1.0)输入时,它将激活紧急停止按下输出(Q0.4),并向操作员提供警报指示。 网络 5: 在此网络中,我们配置了进料 VLV 打开错误警报 (Q0.5),当进料阀打开且未检测到进料 VLV 打开 LS (I0.4) 时,计时器将启动,5 秒后进料 VLV 打开错误警报打开( Q0.5)。 网络 6: 在此网络中,我们配置了进料 VLV CLOSE 错误警报 (Q0.6),当进料阀关闭且未检测到进料 VLV CLOSE LS (I0.5) 时,计时器将启动,5 秒后进料 VLV CLOSE 错误警报开启( Q0.6)。 网络 7: 在此网络中,我们配置了圆盘 VLV OPEN 错误警报 (Q0.7),当圆盘阀打开且未检测到圆盘 VLV OPEN LS (I0.6) 时,计时器将启动,5 秒后圆盘 VLV OPEN 错误警报打开( Q0.7)。 网络 8: 在此网络中,我们配置了圆盘 VLV CLOSE 错误警报 (Q1.0),当圆盘阀关闭且未检测到圆盘 VLV CLOSE LS (I0.7) 时,计时器将启动,5 秒后圆盘 VLV 关闭错误警报开启( Q1.0)。 网络 9: 在这个网络中,我们为所有警报配置了蜂鸣器,当检测到警报时,蜂鸣器(Q0.3)将被激活,并且可以通过按重置(I1.1)来重置它。 网络 10: 操作员可以通过按 RESET (I1.0) 来重置蜂鸣器 测试用例 注:上述 PLC 逻辑提供了 PLC 在过程报警指示中应用的基本思路。 逻辑是有限的,不完整的应用。
  9. 这是一个用于一个扫描周期输出正沿脉冲的 PLC 程序。 通过解决方案学习梯形图逻辑。 正边沿脉冲输出 问题描述 在某些应用中,我们需要根据外部输入信号运行操作/功能。 我们可以使用数字输入作为触发命令来激活所需的功能。 有时我们使用数字输入信号的正跳变来触发命令,而不是连续/全脉冲数字输入信号。 这里我们考虑一个简单逻辑的例子,其中两个寄存器的值在接收到触发命令后将递增。 每个寄存器都有一个预设值,例如值 “1”。 因此,对于每个触发命令,加法器寄存器值都会增加值 “1”。 对于加法器 1 寄存器,我们使用上升沿(0 到 1)触发输入,对于加法器 2 寄存器,我们使用简单的数字输入(0 到 1 和 1 到 0)信号。 我们看到使用触发命令和不使用上升沿的优点和缺点。 我们可以在其他应用中使用相同的逻辑,例如将寄存器值清零、强制寄存器值具有定义的值且几乎不进行逻辑修改等。 问题 解决方案 我们可以通过数字输入的正沿或上升沿来解决这些类型的问题。 这里我们将考虑 S7-300 PLC 进行编程,这样我们就可以监视该值并进行模拟。 我们可以使用 PLC SIM 进行模拟。 这里我们考虑了一个简单的例子。 在本例中,我们将考虑 “Adder 1” 寄存器,当触发命令从 0 到 1 的转换发生时,该寄存器将添加值 “1”。 每次触发后寄存器值都会加 1。 对于 “Adder 2” 寄存器,接收到数字输入后,该值将递增。 这里,我们不使用上升沿触发。 输入/输出列表 输入列表 触发命令:I0.0 记忆线圈 触发命令的上升沿:M0.0 总价值:MW2 总价值 2:MW4 PLC 梯形图逻辑 网络 1: “Adder 1” 寄存器的初始值为零。 给出 18 次上升沿触发命令后,输出将变为值 18,并增加值 “1”。 上升沿触发命令的仿真 (PLCSIM-300)。 网络2: “Adder 2” 寄存器的初始值为零。 在发出触发命令(无正/负沿)18 次后,输出将是一些随机数(例如 7506),而不是直接接收到的触发命令的值18。 无上升沿触发命令的仿真 (PLCSIM-300)。 PLC 逻辑说明 在本应用中,我们使用了西门子 S7-300 PLC 和 TIA Portal 软件进行编程。 这里我们考虑了两个例子来解释正边缘。 任何人都可以轻松理解这个概念。 在网络 1 中,当触发命令(I0.0)被触发时,会发生从 0 到 1 的转变,并执行正脉冲指令。 假设 “Adder 1” 寄存器将在 MW0 中存储值 “1”,如果触发命令(I0.0)被触发,则该值将增加 “1”。 例如,当加法器 1 为零时,我们触发了 18 次,因此加法器在总 Value (MW0) 中添加了 18 我们在网络 2 中举了另一个例子,没有使用正脉冲。 所以在这里你可以看到结果。 比如说,我们按下或触发了 18 次,但它在总值 2 (MW4) 中添加了 7506(这是随机值,在模拟过程中可能会有所不同),因此它不是正确的相加。 因为 1 个脉冲有上升沿或下降沿/正脉冲或负脉冲(o到1 和 1到0)。 这里我们也使用 PLC SIM 进行模拟,因此我们可以模拟总加法。 在第一个网络中,我们添加了正边沿,因此模拟器显示 18。在第二个网络中,我们添加了没有正边沿的触发命令,因此它显示了一些随机值。 这就是上升沿的概念,我们可以在任何编程应用中使用这个上升沿。 以上程序和仿真仅用于说明目的,仿真时的仿真值可能会有所不同。 结果 注:上述 PLC 逻辑提供了正沿触发命令在 PLC 逻辑中应用的基本思路。 逻辑是有限的,不完整的应用。
  10. caixiaofeng

    自动剔瓶系统的 PLC 程序

    这是自动剔瓶系统的PLC程序。 通过此 PLC 练习和解决方案学习梯形逻辑。 自动剔除瓶子 问题描述 如今,工业自动化对于准确、快速的生产是必要的。 让我们以汽水瓶公司为例,其中皮带输送机用于将瓶子从一个工位转移到另一个工位。 但在瓶子到达苏打水灌装站之前,必须使所有瓶子处于直立位置以进行进一步处理 掉落在传送带上的瓶子可能会在下一工序中产生问题。 所以在这里我们讨论一个简单的 PLC 逻辑来处理掉落的瓶子。 PLC 问题图 PLC 问题解决方案 为此,我们在灌装站使用 PLC 系统,将掉落的瓶子从传送带上剔除,并为下一工序清理路径。 这个过程是通过使用传感器和执行器来完成的。 我们使用气动活塞缸组件将掉落的瓶子从传送带上推出。 当输送机运行时,所有瓶子从一个工位转移到另一个工位进行下一道工序。 使用两个传感器,用于检测站立和掉落的瓶子,一个气缸用于将掉落的瓶子从传送带上推出。 输入/输出列表 输入列表 起始 PB:I0.1 停止 PB:I0.0 传感器 X1:I0.2 传感器 X2:I0.3 输出列表 循环开启:Q0.0 输送机:Q0.1 气缸:Q0.2 自动剔瓶系统的 PLC 程序 PLC 程序说明 在本应用中,我们使用了西门子 S7-1200 PLC 和 TIA Portal 软件进行编程。 我们也可以用继电器电路来设计这个逻辑。 网络 1: 在网络 1 中,我们为机器采取循环 ON 条件。 这里我们采用 START PB (I0.1) 来启动循环,并采用 STOP PB (I0.1) 来停止循环。 我们采用循环 ON (Q0.0) 的传送带 (Q.1) 并行输出,因此我们可以在循环 ON 条件下操作传送带。 网络 2: 在网络 2 中,我们将传感器 X1(I0.2) 和 X2(I0.3) 作为输入。 我们对 X2 (I0.3) 传感器使用常开触点,对 X1 (I0.2) 传感器使用常闭触点。 当瓶子在传送带上传输时,这些传感器会感知瓶子的位置,无论它们是直立还是倒下。 传感器 X2(I0.3) 感测瓶子的下部位置,传感器 X1(I0.2) 感测瓶子的顶部位置。 在 PLC 中,我们设计了遵循命令的电路,如果传感器 X2(I0.3) 感测到瓶子并且传感器 X1(I0.2) 没有感测到瓶子,则气动执行器 (Q0.2) 将开始动作并且它 将从传送带上剔除瓶子。 之后,完美的瓶子将进入苏打水灌装站,整个循环将完成。 结果 注:上述 PLC 逻辑提供了 PLC 在自动剔瓶处理系统中应用的基本思路。 逻辑是有限的,不完整的应用。
  11. caixiaofeng

    每日生产记录 PLC 程序

    用于每日生产记录的 PLC 程序。 通过梯形图逻辑的详细解释来了解问题描述。 每日生产记录 问题描述 在许多行业中,都需要统计一天内生产的产品数量,这对于销售产品或跟踪每天的生产数量是非常有必要的。 在过去,人类操作员被分配对最终产品进行计数,但由于一些人为错误,精确计数是不可能的。 因此我们无法对所有产品进行正确计数,也无法有效跟踪生产数量。 这些类型的问题大多发生在食品和饮料行业、盒子包装行业、瓶子灌装应用等。因此我们可以使用一个简单的基于 PLC 的逻辑来跟踪日常生产并以电子方式记录。 问题图 PLC 解决方案 这里我们将利用传感器和 PLC 编程来解决最终产品的计数问题。 首先传感器感应产品并计算数量,数值将显示在数字显示屏上(如上图所示)。 为了便于解释,我们将考虑一个空箱计数系统的简单示例。 在该系统中,空盒子从第一个过程传送到第二个过程(例如一个地方到另一个地方)。 传感器用于对空箱进行计数。 因此,当传感器检测到空盒子时,就会开始显示,也就是说从 1 开始计数,这是通过简单的逻辑完成的。 每 24 小时/一天后,我们可以使用 RESET 按钮重置计数器值。 为了便于解释,这里我们将考虑两批生产。 我们还考虑了为每个批次的操作员提供两个批次的完成指示,这些指示将显示在本地面板上。 通过 PLC 逻辑我们将实现所需的逻辑。 因此,当任何批次完成时,指示灯将根据 PLC 程序亮起。 一旦生产目标完成,可以使用 RESET 按钮重置显示计数器。 输入/输出列表 输入列表 盒子探测器传感器:I0.0 复位:I0.1 主开关:I0.2 输出列表 完成目标:Q0.0 第 1 批已完成:Q0.1 第 2 批已完成:Q0.2 每日生产记录梯形图 PLC 程序说明 在本应用中,我们使用了西门子 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络1: 在网络 1 中,我们使用主开关 (I0.2) 来启动系统/批次,并串联使用盒子探测器传感器 (I0.0) 的常开触点。 这里我们考虑了一个 UP 计数器,因此当盒子检测器传感器 (I0.0) 检测到盒子时,计数器将开始计数。 这里我们还采用目标完成输出(Q0.0)作为面板上操作员指示的目标完成指示。 通过按重置按钮(I0.1)操作员可以重置旧的生产记录。 计数器操作用于对产品进行计数,其中 RESET(I0.1)用于重置生产记录。 预设值(PV)为 20 个产品。 计数器值(CV)为 MW2,表示传感器检测到的实际产品数量,该值将在后续梯级中用于跟踪批次状态。 网络2: 在网络 2 中,我们使用来自计数器块输出 CV 的批次 1 逻辑。 在这里,我们使用比较器对第 1 批的 10 个盒子进行计数,当完成时,第 1 批完成的灯 (Q0.1) 将亮起。 在此添加等于比较器,其中输入为 (MW2) 且适用于 10 个产品。 网络3: 在网络 3 中,我们使用来自计数器块输出 CV 的批次 1 逻辑。 在这里,我们使用比较器对第 2 批的 20 个盒子进行计数,当完成时,第 2 批完成的灯 (Q0.2) 将亮起 这样我们就可以决定生产多少产品和批次。 运行时测试用例 注:以上 PLC 逻辑提供了 PLC 在工业生产记录中应用的基本思路。 逻辑是有限的,不完整的应用。
  12. caixiaofeng

    充水、放水过程 PLC 程序

    这是使用 S7-1200 PLC 的注水和排水过程的 PLC 程序。 充水及排水过程 问题描述 在许多行业或工厂中,有大量的手动注水系统用于储水。 手动系统存在准确性、延时问题、液体损失、耗时等诸多缺点。 而且由于是手动系统,我们必须安排一名操作员来进行机器操作。 手动系统造成水浪费 这里我们讨论的是半自动系统。 图表 PLC 解决方案 为了解决这个问题,我们将使用 S7-1200 PLC 进行编程。 这里我们使用两个传感器进行液位测量,一个用于高液位,第二个用于低液位。 我们使用进料阀(MV1)进行罐体的填充循环,使用排出阀(MV2)进行罐体的排出循环。 两者都将根据传感器逻辑进行控制。 因此,当水位低于低水位时,进水阀将自动打开,当水位达到高位且高水位传感器感应到时,排水过程将自动打开。 当检测到高电平时,蜂鸣器将打开以发出警报。 如果用户按下控制面板上的停止按钮,循环将停止。 PLC 输入和输出 数字输入 启动 PB:I0.0 停止 PB:I0.1 TLB 1:I0.3 TLB 2:I0.2 数字输出 循环开启:Q0.0 阀门 MV1(进料):Q0.1 阀门 MV2(排放):Q0.2 搅拌器/混合器 M:Q0.3 蜂鸣器:Q0.4 PLC 充水、放水过程 PLC 程序说明 对于该应用,我们使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 在网络 1 中,我们使用锁存电路来实现周期 ON (Q0.0) 输出。 可通过按 START PB (I0.0) 启动,按 STOP PB (I0.1) 停止。 当循环开始时,系统将检查水箱的液位。 如果罐液位低,则进料过程将开始,罐液位高,则排放循环将开始。 为了简单起见,我们在程序中对两个传感器都采取了无接触方式。 它可以通过现场继电器逻辑来完成,或者您可以使用此类类型的传感器。 当罐检测到低液位时,TLB 2 (I0.2) 将被激活,然后喂食周期将开启。 这里我们采用了TLB1(I0.3)的常闭触点,因此当PLC 检测到高电平时,它将停止进给循环。 当水箱检测到高液位时,TLB 1 (I0.3) 将被激活,放电周期将开启。 这里我们采用 TLB2(I0.2)的常闭触点,因此当 PLC检测到低电平时,它将停止放电循环。 出于混合目的,混合器 M (Q0.3) 在卸料周期期间应处于开启状态。 这里我们还考虑了向高层发出警报以通知操作员。 当检测到 TLB 1(I0.3) 时,蜂鸣器 (Q0.4) 将被激活。 在所有功能期间,循环应为 ON。 运行时测试用例 注:以上 PLC 逻辑提供了 PLC 在注水和放水过程中应用的基本思路。 逻辑是有限的,不完整的应用。
  13. caixiaofeng

    PLC 如何从现场发送器读取数据

    仪表和控制依赖于将物理或过程变量转换为更有用的格式以供操作员显示。 管道中的压力转换为膜片的机械挠度,通过应变片(膜片和应变片构成传感器)将其转换为电能,然后通过 I/O 模块转换为数字整数值,然后 浮点工程单位值由 PLC 或HMI进行显示。 该信息还用于帮助生成输出命令,这些命令被转换为电信号,然后转换为机械动作。 诀窍是了解各种转换器的 I/O 关系。 PLC 如何从现场发送器读取数据 例如,当流体流过流孔时,流孔将导致可预测的压降。 压力变送器可以通过比较上游压力与下游压力来测量该压降。 尽管该压差与流量不是线性的,但它与流量具有可重复的关系。 这种关系最好近似为平方根函数。 取差压信号的平方根,有效地将其与流量线性化。 建立线性关系后,从一次测量即可推导出从变送器到计算机显示器的整个转换序列。 下图描述了两种典型的温度测量电路,如下所示: 顶部配置使用变送器的外部电源为信号环路供电。 这种配置称为四线环路。 底部配置使用内部电源(AI 卡电源)为环路供电。 这种配置称为两线环路。 以下有关单位转换的讨论适用于两种电路类型。 重点关注顶部电路。 热电偶是传感元件。 热电偶是利用双金属接触原理产生小毫伏信号的装置。 请注意,图表中显示的温度-电压曲线在整个温度区间内相对线性。 在该温度区间之外,信号的线性度可能会降低(热电偶的特性),但这在这里并不重要。 仪器标定必须始终从过程测量开始。 设计人员查阅了我们假想系统的热与材料平衡 (HMB) 表,发现测量点的预期温度约为 105°C。 上游加热器能够将系统加热到大约 130°C,然后系统会因超温联锁而关闭。 设计工程师知道正确校准的跨度会将正常工作点置于曲线的中间附近。 上端温度需要高于 130°C。 经过深思熟虑,工程师决定校准范围为 15 至 150°C,并选择 K 型热电偶,它在该温度区间内提供 0.597 至 6.138 mV 的输出。 然后,必须对温度变送器进行工作台校准,以提供与热电偶预期的 0.597 至 6.138 mV 输入信号成比例的 4 -20 mA 输出信号。 变送器是一个电流源(与电压源相反),根据需要改变其功率输出,以保持稳定的毫安输出,该输出与其输入的毫伏(即测量的温度读数)成正比。 (注意:电压源,例如电池,无论负载如何都试图保持恒定电压,而电流源无论负载如何都试图保持恒定电流)。 然后,温度变送器将该信号转换为经过缩放的 4–-20 mA 信号,在本例中,跨度为 15 至 –150°C。 PLC有一个模拟输入模块,用于检测温度变送器的输出。 事实上,所有模拟输入模块都是电压表,即使它们被列为毫安输入。 有时电阻器位于端子排的外部,有时位于 PLC I/O 模块的内部(如图所示)。 无论哪种情况,4-20 mA 信号都将转换为电压。 通常,该电压为 1-–5 VDC,因为使用的电阻为 250 欧姆。 然后必须将该模拟值转换为二进制值。 在我们的示例中,PLC 规范将这个特定的 PLC I/O 模块列为具有 12 位分辨率。 要根据过程变量找到模块的分辨率,请执行二进制转换:212 = 4095。 因此,对于 1-5 VDC 的输入范围,PLC I/O 模块向 PLC 程序提供一个范围从 0 到 4095 的整数值。 PLC 程序可以获取该数据以根据需要使用。 PLC 程序可能执行的操作之一是将该数据值移至网络接口缓冲区(PLC 内存中的一系列连续位置),以便向上游传输至 HMI。 然后,原始计数整数值可用于通过网络传输数据。 HMI 接收传输的数据流,然后将其存储在输入数据缓冲区中。 HMI 计算机有一个标签文件数据库,其中包含有关如何操作每个数据项以呈现给操作员的指令。 标签文件中的许多标签链接到输入数据缓冲区中的数据项。 一个这样的标签链接到该特定位置。 通过使用标签文件数据库或使用该信息的图形屏幕软件中嵌入的公式,提取 0 到 4095 的原始值并将其转换为工程单位。 我们示例案例中的公式如下图所示。 生成的值 (85.88) 将以 ℃ 为单位显示给操作员,如下图所示:
  14. caixiaofeng

    PLC 阀门控制梯形图逻辑编程

    目标:了解 PLC 阀门控制梯形图逻辑的基本概念。 目标用户:学生、技术人员、新生、见习工程师。 注意:上图中未显示屏障或继电器。 让我们列出所需的 PLC 数字输入和数字输出信号: PLC 数字输入: 阀门开度反馈 阀门关闭反馈 PLC数字输出: 阀门通电命令 PLC阀门控制梯形图逻辑编程 任何气动阀都需要仪表气源才能运行。 空气过滤调节器用于去除仪表气源中存在的任何液体或颗粒物,并设置阀门所需的气源。 空气过滤器调节器的输出通过电磁阀连接到阀门执行器。 该电磁阀用于控制(即打开/关闭)阀门执行器的仪表气源。 考虑电磁阀 (SOV) 为常闭 (NC) 类型。 在正常位置,SOV处于关闭位置或断电状态,因此由于SOV常闭,仪表气源将被阻断。 如果 SOV 通电,即 PLC 发送信号,则 SOV 通电并变为常开 (NO),因此允许仪表空气供应通过其。 有些人经常混淆电磁阀和阀门执行器。 这两者是不同的,SOV 控制(开/关)仪表气源,阀门执行器控制阀门的位置,完全打开或完全关闭。 开/关阀配备接近开关或限位开关,以感测阀门完全打开或完全关闭的位置。 因此它们连接到 PLC 数字输入。 因此PLC可以了解现场阀门的全开或全关状态,并通过图形显示给操作员。 考虑我们的开/关阀是常开型,即阀门处于打开位置。 因此默认情况下,开路反馈将发送到 PLC,或者我们可以说开路反馈限位开关或接近开关将通电,而闭合反馈开关处于断电状态。 假设 PLC 向开/关阀发送数字输出命令(通过屏障或继电器)。 假设我们在开/关阀上安装了 24V 直流供电的电磁阀。 通常,在 PLC 数字量输出模块之后放置一个屏障或一个继电器。 考虑我们有一个安全栅,首先安全栅接收 PLC 数字输出模块命令(PLC 命令是安全栅输入),然后安全栅为其输出通电(安全栅输出),安全栅将 24V 直流电源发送到相应的开关阀。 屏障或继电器的目的是用于隔离 PLC 和现场信号或出于安全目的或放大功率/电压信号。 现在开关阀接收 PLC 命令,即它从屏障接收到电磁阀的 24V 直流电源。 所以现在电磁阀将通电并变为常开(NC)状态。 现在,当电磁阀变为常开状态时,电磁阀将仪表气源传递到阀门执行器。 阀门执行器接收仪表气源并相应地移动阀杆,阀门位置由全开状态变为全关状态。 当开/关阀开始阀杆运动时,开路反馈将立即消失(接近开关不会检测到安装在阀杆上的任何物体)。 阀杆开始运动后,到达关闭位置之前,PLC 无法获得打开和关闭反馈,我们将此称为过渡状态。 当开关阀完全关闭后,关闭反馈开关(接近或限位)将通电,关闭反馈信号将发送到PLC并显示给操作员。 注意:有时开/关阀门可能卡在两者之间,因此操作员不会收到图形上的任何反馈,因为打开和关闭反馈开关只会检测阀门的完全打开或完全关闭状态。 不可能检测阀门的任何中间状态。 现在假设 PLC 撤回对开/关阀的输出命令,即屏障输入将关闭,因此屏障将断电或屏障输出将关闭,电磁阀的 24V 直流电源将断开/移除。 当电磁阀断电时,SOV 的状态从常开变为常闭。 电磁阀变为常闭状态,即阀门执行器的仪表气源将停止或断开。 因此开关阀也进入其原始状态,即打开状态。 PLC可以根据某些逻辑或实时输入信号发出输出指令信号。 例如:如果滚筒的液位达到高位警报,则必须关闭滚筒进料开/关阀。 开关阀详细信息: 在我们的示例中,我们考虑了气动开/关阀。 首先我们看到阀门中的组件列表及其用途。 A. 空气过滤调节器: 空气过滤器用于去除压缩空气源中的液态水和颗粒物。 这些是“机械过滤器”,不能去除油蒸气或蒸气形式的化学污染物。 单击此处查看原理和动画。 b. 电磁阀: 电磁阀是一种机电控制阀。 该阀门具有一个螺线管,它是一个电线圈,其中心有一个可移动的铁磁芯。 该核心称为柱塞。 在静止位置,柱塞关闭一个小孔。 通过线圈的电流会产生磁场。 磁场对柱塞施加力。 结果,柱塞被拉向线圈中心,从而使孔口打开。 这是用于打开和关闭电磁阀的基本原理。 电磁阀动画 电磁阀的类型及原理 C. 打开反馈和关闭反馈: 接近开关是一种检测某个物体的接近度(接近度)的开关。 根据定义,这些开关是非接触式传感器,使用电容、电感、磁、电或光学手段来感测阀门位置的接近程度(打开或关闭)。 d. 阀门执行器: 阀门执行器是一种利用电源产生打开或关闭阀门的力的装置。 该动力源可以是手动的(手动、齿轮、链轮、杠杆等),也可以是电动、液压或气动。 e. 仪表气源: 阀门的压缩和干燥空气供应。
  15. caixiaofeng

    PLC 梯形图逻辑示例

    在这里,我们将使用 Allen-Bradley MicroLogix 1000 PLC 而不是继电器线圈来模拟完全相同的高压报警电路: PLC 逻辑示例 梯形图逻辑程序 假设向压力开关施加 36 PSI 的流体压力。 这小于开关的跳闸设置 50 PSI,使开关处于“正常”(闭合)状态。 这将向 PLC 的输入 I:0/2 供电。 PLC 梯形逻辑程序中标有 I:0/2 的触点的作用类似于由输入端子 I:0/2 通电的线圈驱动的继电器触点。 因此,闭合的压力开关触点为输入端子 I:0/2 通电,从而“闭合”梯形逻辑程序中绘制的常开触点符号 I:0/2。 这个“虚拟”触点将虚拟电源发送到标记为 B3:0/0 的虚拟线圈,该线圈只不过是 PLC 微处理器内存中的一位数据。 “激励”这个虚拟线圈具有“驱动”程序中绘制的带有相同标签的任何触点的效果。 这意味着常闭触点 B3:0/0 现在将被“致动”,从而处于打开状态,不会向输出线圈 O:0/1 发送虚拟功率。 当虚拟线圈 O:0/1“未通电”时,PLC 上的实际输出 O:0/1 将电气打开,并且报警灯将未通电(关闭)。 如果我们假设向压力开关施加 61 PSI 的流体压力,则常闭压力开关触点将被驱动(强制)进入打开状态。 这将具有使 PLC 输入 I:0/2 断电的效果,从而“打开”具有相同标签的 PLC 程序中的常开虚拟触点。 该“打开”虚拟触点中断到虚拟线圈 B3:0/0 的虚拟电力,导致常闭虚拟触点 B3:0/0“闭合”,从而将虚拟电力发送到虚拟线圈 O:0/1。 当这个虚拟输出线圈“通电”时,PLC 的实际输出通道就会激活,向报警灯发送有功功率以将其打开,发出高压报警状态信号。 我们可以通过消除虚拟控制继电器 B3:0/0 并简单地让输入 I:0/2 通过“常闭”虚拟触点激活输出 O:0/1 来进一步简化该 PLC 程序: 效果是一样的:只要输入 I:0/2 断电(高压打开压力开关),PLC 输出 O:0/1 就会动作,高压状态下报警灯亮。 。 在低压条件下,通电输入 I:0/2 强制虚拟常闭触点 I:0/2 打开,从而使 PLC 输出 O:0/1 断电并关闭报警灯。 可编程逻辑控制器不仅通过用微处理器取代大量机电继电器大大简化了工业逻辑控制的接线,而且还增加了先进的功能,如计数器、定时器、定序器、数学函数、通信,当然还有以下能力: 通过编程轻松修改控制逻辑,而无需重新接线继电器。 梯形逻辑编程的优点在于,它将技术人员对传统继电器控制电路的理解转化为虚拟形式,其中触点和线圈相互作用以执行实际的控制功能。 然而,需要掌握的一个关键概念是基于这些开关触点的“正常”表示将现实条件与开关状态关联起来,无论开关是真实的(继电器)还是虚拟的(PLC)。 一旦掌握了这个重要的概念,硬连线继电器控制电路和 PLC 程序就变得可以理解。 如果不掌握这个重要概念,就无法理解继电器控制电路或 PLC 程序。
  16. caixiaofeng

    LED 控制 PLC 编程实例

    利用梯形逻辑图学习 LED 控制的 PLC 编程实例,并了解程序说明。 此 PLC 示例适用于有兴趣学习和练习 PLC 练习的工程专业学生。 实时工业 PLC 程序将提供更多的安全功能。 PLC 编程 LED 控制 为以下应用设计 PLC 梯形逻辑。 我们使用三个拨动开关来控制三个 LED 如果拨动开关 1 和拨动开关 2 均打开,则 LED 1 和 LED 2 将亮起。 如果拨动开关 2 和拨动开关 3 为 ON,则 LED 2 将熄灭,LED 3 将点亮。 数字输入 下面列出了所需的输入。 拨动开关1:I0.0 拨动开关2:I0.1 拨动开关2:I0.1 在接下来的讨论中,我们将这些切换开关称为简单的“开关”,但请记住这些是拨动型开关。 数字输入 下面列出了所需的输出。 LED 1:Q0.0 LED 2:Q0.1 LED 3:Q0.2 LED 控制梯形图 PLC程序说明 对于此应用,我们使用 EcoStruxure Machine Expert Basic v1.2 软件进行编程。 在上面的程序中,我们对开关 1 (I0.0)、开关 2(I0.1) 和开关 3 (I0.2) 使用常开触点。 我们还对开关 3 (I0.2) 使用了常闭触点。 Rung0 中的开关 1 和开关 2 对于 LED 1 和 LED 2 串联连接,从而实现 AND 逻辑门。 对于开关 1 和开关 2,开关 3 作为常闭触点连接到 LED 3。 对于 LED 3,Rung1 中的开关 2 和开关 3 串联连接,从而实现 AND 逻辑门。 要使 LED 1 亮起,开关 1 和开关 2 应亮起。 当开关1和开关2打开且开关3关闭时,LED 2将亮起。 当开关2和开关3打开时,LED 3将亮起。 打开开关 3 将关闭 LED 2。 当开关1和开关2打开时 在 Rung0 中,打开时信号通过开关 1 和开关 2。 结果,LED 1 和 LED 3 将点亮。 开关 3 用作开关 3 的常闭触点,当处于错误状态时,它将允许信号打开 LED 2。 当开关2和开关3打开时 通过梯级 1 中的开关 2 和开关 3 的信号将点亮 LED 3。 在 Rung0 中,开关3 被视为常闭触点,当处于真状态时,将不允许信号通过。 结果,LED 2 将关闭。 开关 3 连接到 LED 1,因此它将保持打开状态。
  17. PLC 温度控制:容器中有三个加热器,用于控制容器的温度。 PLC 温控编程 我们使用三个恒温器来测量每个加热器的温度。 还有另一个恒温器,用于在发生故障或紧急情况时安全关闭或避免温度过高。 所有这些加热器都有不同的设定点或不同的温度范围,可以相应地打开加热器(下表显示了温度范围)。 温度控制系统由四个恒温器组成。 该系统运行三个加热装置。 恒温器(TS1/TS2/TS3/TS4 设置为 55°C、60°C、65°C 和 70°C。 温度低于55°C时,三个加热器(H1、H2、H3)应处于ON状态 在 55°C – 60°C 之间,两个加热器(H2、H3)应处于开启状态。 在 60°C – 65°C 之间,一台加热器 (H3) 将处于开启状态。 高于 70°C 所有加热器均处于关闭状态,有一个安全关闭装置(继电器 CR1),以防任何加热器误操作。 主开关用于打开和关闭系统。 PLC 解决方案 有四个恒温器; 假设未达到设定点时它们处于 NC 状态。 设置一个控制继电器 (CR1) 作为安全关闭功能。 主开关:启动开关为常开型,停止开关为常闭型。 下表显示了温度范围,其中恒温器(TS1、TS2、TS3、TS4)状态将根据温度值指示。 还有加热器(H1、H2、H3)状态,其中这些加热器将根据温度值打开或关闭。 PLC 梯形图逻辑 梯形图逻辑运算 第一梯级: 它有启动按钮(默认常开触点)和停止按钮(默认常闭触点)。 继电器 CR1 用于根据恒温器状态控制加热器。 恒温器 TS4 连接在停止和继电器之间,如果 TS4 激活(意味着 TS4 触点从 NC 变为 NO),则所有加热器将关闭。 继电器 CR1 的常开触点用于跨接“启动”按钮,以锁定或保持“启动”命令。 第二梯级: 继电器 CR1 的常开触点用于控制加热器(H1、H2、H3)和恒温器(TS1、TS2、TS3)的状态。 发出 START 命令后,该常开触点变为常闭触点。 如果温度低于 55 摄氏度,TS1、TS2 和 TS3 将处于关闭状态,因此所有加热器将打开。 如果温度在 55 至 60 摄氏度之间,则 TS1 将打开,因此加热器 H1 将关闭。 那么,如果温度在 60 到 65 摄氏度之间,则 TS2 也会打开,因此加热器 H2 将关闭 如果温度在 65 至 70 摄氏度之间,则 TS3 也会打开,因此加热器 H3 将关闭 有一个安全关闭装置,用于避免恒温器发生任何故障或避免温度过高。 如果温度达到 70 摄氏度以上,则 TS4 将激活继电器并使继电器断电,从而关闭所有加热器。 注意:此处加热器 H1、H2、H3 是我们通电的继电器或接触器。 因此,这些继电器的常开触点连接到电加热器馈电电路 (MCC)。这些电馈电电路将根据这些信号进行控制,相应地加热器将打开或关闭。
  18. 我们需要控制串联的储罐的液位。 使用 PLC 梯形图编程实施系列储罐液位控制程序。 系列储罐液位控制 两个罐体串联连接。 我们需要控制两个串联的坦克。 为此应用实施 PLC 程序。 问题图 问题方案 在化工企业中,有许多用于加工的材料,也储存在储罐中用于不同的加工。 这里我们考虑两个储罐,1. 储罐和 2. 给料罐。 储罐的容量比给料罐大。 储罐用于物料储存,加料罐用于其他工序的物料供应。 两个液位开关用于液位检测,一个进料阀用于控制进料。 考虑一个手动出口阀,它可以根据操作员的要求进行操作。 对于这个应用程序,我们可以使用 PLC,我们将为这个应用程序编写 PLC 程序。 输入和输出列表 数字输入 循环启动:- I0.0 循环停止:- I0.1 低位储罐 (LL1) :- I0.3 低位给料罐 (LL2) :- I0.4 高位储罐 (LH1) :- I0.5 高位给料罐 (LH2) :- I0.6 数字输出 入口阀:- Q0.0 M内存 循环ON位:- M0.0 入口阀关闭条件:- M0.1 系列罐液位控制 PLC 梯形图 计划说明 对于此应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他 PLC 来实现这个逻辑。 网络1: 网络1用于锁存电路。 每当按下 START 按钮 (I0.0) 时,Cycle ON (M0.0) 位就会打开。 按 STOP PB (I0.1) 可停止循环。 网络2: 如果检测到储罐低液位(I0.3)或给料罐低液位(I0.4),进水阀(Q0.0)将打开。(不应出现入口阀关闭的情况)。 网络3: 检测到两个储罐的高液位 (I0.5 和 I0.6),入口阀关闭条件将被激活,并将关闭入口阀 (Q0.0)。 这里的出口阀为手动阀,可由操作人员根据需要进行操作。 注意:- 以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 结果
  19. 这是关于 PLC 梯形逻辑的完整教程,用于控制变频驱动器 (VFD),以通过现场本地面板或 SCADA 图形进行速度选择来控制电机速度。 执行步骤: 准备控制和电源图纸 变频器调试及参数编程 准备 PLC 程序 准备 SCADA 设计 如何用 PLC 控制变频器? 控制和电源图 变频器调试及参数编程 为了使 VFD 正常工作,需要进行调试。 快速调试时,应在 VFD 中输入电机铭牌详细信息、输入电压、电机类型、频率等必要参数。 快速调试成功后,现在就可以进行高级调试了。 需要进行此调试以提供所有数字和模拟输入和输出的详细信息,例如 有关启动命令和速度选择命令的数字输入的信息 有关数字输出的信息,如驱动器运行状态和驱动器故障等。 有关模拟输入(例如速度输入 1 和速度输入 2)的信息 有关模拟输出的信息,如电机电流和频率 PLC 程序 网络1: 在这个网络1中,我们正在检查 VFD 是否准备好启动。 当所有条件均正常且安全和电源反馈处于活动状态时,将发出此信号。 网络2: 在网络 2 中,当按下启动按钮时,如果存在 Ready_to_Start 且无错误,则 VFD Drive_DO 位将被设置。 网络3: 这是停止逻辑,当按下停止按钮时,它将重置 Drive_DO 位。 网络4: 在该网络 4 中,一旦 Drive_DO 位设置,此逻辑就需要安全,并且如果任何情况下 VFD 由于任何故障而无法运行,则在预定义的等待时间之后,这里我们将其视为 Run_FB_Time,它将重置 Drive_DO 位并 产生错误。 在现场解决错误后,您可以从 SCADA 确认此错误。 网络5: 在该网络 5 中,如果 VFD 消耗更多电流并给出过载错误,则它将重置 Drive_DO 位并生成错误。 在现场解决错误后,您可以从 SCADA 确认此错误。 网络6: 这是速度选择数字输出,如果您选择速度输入作为本地,则不会激活速度选择位,导致 Speed_DO 不存在;如果您选择速度输入作为远程,则它将激活速度选择位,导致 Speed_DO 存在。 监控与数据采集设计 正常状态 这是电机的正常状态。 没有错误,Ready 位也处于正常状态。 速度选择也处于本地模式。 运行状态 此状态表明就绪位为高且电机正在运行且没有任何错误。 错误状态 有一个错误位很高,电机也显示错误状况。 笔记 : 在某些行业中,黄色也用于指示错误情况。 红色用于指示电机停止状态。
  20. caixiaofeng

    人工鱼塘水位监测系统 PLC 程序

    人工鱼塘水位监测系统的 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 来进行讨论。 结果
  21. 台达 PLC(DVP 14SS2) 与台达变频器 (VFD-L系列) 的 Modbus 通讯。 电机将使用 Modbus 通信直接从 HMI (DOP-107CV) 运行。 台达 PLC 与 VFD Modbus 通讯 感应电机及其速度控制将直接从 HMI 运行。 速度控制是指 HMI 中应该有两个按钮,以 1 赫兹为单位增加和减少电机的速度(假设)。 VFD-L 系列台达交流变频器将根据从 PLC 接收到的命令来运行电机。 首先需要在驱动器中设置与 PLC 相匹配的通讯及其他参数,如波特率、奇偶校验、通讯模式等; 除了从站 ID(站地址)外,它必须与 PLC 站地址不同。 默认情况下,PLC 站地址等于一 (1)。 这意味着驱动器的站地址必须是其定义范围内除一 (1) 之外的任何地址。 通讯模式需要设置的详细参数如下: 2-00 = 4 2-01 = 4 通讯参数 我们必须按照上表设置通信参数。 (摘自手册)。 9-00 = 2(可以设置为除 1 之外的任何值) 9-01 = 1 9-04 = 7(RTU 模式,停止位等于 1,奇偶校验为偶数) DVP 14SS2 有两个通讯端口,分别为 RS232 和 RS485。 此时需要根据变频器设置的参数进行通讯口2的设置,如下所示。 打开 WPL 软件。 (台达 PLC 软件) 单击编程页面上的通信程序图标。 选择 COM2 并按下一步。 根据变频器通讯参数设置参数,然后单击“下一步”。 在这里,它们根据 VFD-L 潜水中设置的参数进行馈送。 PLC 的站地址为1(见左下角) 检查突出显示的内容并按下一步。 人们可以勾选下面的方框并写下条件。 这里,我们跳过这个窗口,而是直接在梯形图模式下编写逻辑。 单击“完成”。 现在,根据上述设定条件生成以下梯形图逻辑。 每次收到发送的请求时,都会执行梯级 2 中的梯形图。 每次从驱动器读取或写入任何数据后,都会执行梯级 3 中的梯形图。 现在,在进一步编写启动和停止电机及其速度控制的逻辑之前,我们需要找出执行该逻辑的驱动器的 Modbus 地址。 对于 VFD-L 系列,2000H 是用于启动和停止变频器的 Modbus 地址,2001H 是用于频率更改的 Modbus 地址。 这里,H 表示十六进制。 在本主题中,我们将使用十进制格式表示特定地址。 所以必须将十六进制格式改为十进制格式。 通过 8421 代码,我们将转换如下: 2000(十六进制)= 8192(十二月) 2001(十六进制)= 8193(十二月) 因此,将使用 8192K 和 8193K,而不是 200H 和 2001H。 确保 8192 和 8193 仅是 Modbus 地址。 如果 8192K 的值等于 10,则电机将启动。 如果 8192K 的值等于 1,则电机将停止。 如果 8193K 的值等于 5000,则电机将以 50 Hz 运行,这意味着如果电机的速度需要增加 1 Hz,则必须在现有值上添加 100,反之亦然。 PLC 程序说明 现在,我们来详细了解 PLC 程序。 每次向梯级 5 中的 VFD 发出任何命令时,都会设置发送请求位 M1122。 MODRW K2 K6 K8192 D70 K1 MODRW 代表 Mod 读写 K2 代表变频器的站地址。 K6/K3 代表功能码是写还是读。 这里 k6 代表写入。 K8192 代表写入数据的 Modbus 地址 D70 中的数据写入 k8192 K1 是数据长度 当梯级 6 和 7 中给出启动和停止命令时,10(十进制)和 1(十进制)被移至 D70。同时,数据传输发生,即将 D70 中的数据写入 VFD 的 8192k 地址。 梯级 8 用于启动和停止电机。 当接收到速度增加脉冲 (M4) 时,将 100(十进制)添加到梯级 10 中的 D100 值,以将速度增加 1 Hz。 当接收到速度减小脉冲 (M5) 时,从梯级 9 中的 D100 值中减去 100(十进制),将速度减小 1 Hz。 同时进行数据传输,即将 D100 中的数据写入梯级 11 中 VFD 的 8193k 地址,以启动和停止电机。 人机界面 现在,进入 HMI 配置。 选择 HMI 型号后,设置如下配置,PLC 到 HMI 的配置是在 RS232 上。 (需根据 HMI 型号进行配置) 取四个瞬时按钮,分配地址,设计 HMI 屏幕如下: 开始 = M0 停止 = M1 增加速度 = M4 降低速度 = M5 测试流程 本文不涉及 HMI 设计。
  22. caixiaofeng

    PLC 编程基础知识

    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”: 在此电路中,只要任何按钮保持未启动(未按下)状态,灯就会保持点亮状态。 要使灯关闭,我们必须启动(按下)所有三个开关,如下所示:
  23. caixiaofeng

    PLC 系统文档

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

    停车场进出控制 PLC 程序

    这是一个用于地下室或地下停车场的出入控制的 PLC 程序。 PLC 停车场 问题描述 由于区域拥挤,我们在商场、酒店、综合体等场所面临着许多车辆在地下室或地下停车的问题。这是由于城市中商场、商店和综合体的车辆数量迅速增长与有限的停车位之间的矛盾而发生的。 造成“停车难、乱停车”的现象。当前停车问题严重影响人们的生活质量和道路运行。 问题图 问题方案 通过简单的自动化,我们可以减少商场、酒店、综合体等地下室或地下的停车问题。地下室的出入口是单车道通道,需要红绿灯来控制汽车。这里我们考虑两个灯指示 汽车控制。 红灯禁止车辆进出,绿灯允许车辆进出。当汽车从底层入口进入通道时,红灯(底层和地下室)都会亮起。禁止其他车辆进出 在此过程中,直到汽车通过单一通道。当通道畅通时,两个绿灯(底层和地下室)都会亮起,并允许其他车辆从底层或地下室进入。 最初我们将保持绿灯亮,红灯灭 输入和输出列表 输入列表 主开关:I0.0 底层入口/出口传感器 S1:I0.1 地下室入口/出口传感器 S2:I0.2 输出列表 绿灯(入口/出口底层):Q0.0 绿灯(地下室入口/出口):Q0.1 红灯(底层入口/出口):Q0.2 红灯(地下室入口/出口):Q0.3 M记忆线圈列表 M10.0 : 当汽车经过传感器 S1 时亮起 M10.3 : 当汽车经过传感器 S2 时亮起 M0.0:系统ON上升沿 M0.1 & M11.0:传感器 S1 的上升沿 M0.3 & M11.1:传感器 S2 的上升沿 M11.2:传感器S2的下降沿 M11.3:传感器S1的下降沿 停车场进出控制 PLC 梯形图 计划说明 在本应用中,我们使用西门子S7-300 PLC和TIA Portal软件进行编程。 网络1: 根据上述第一个网络中的说明,当系统开启 (I0.0) 时,最初两个绿灯(底层 (Q0.0) 和地下室 (Q0.1))都会亮起。 执行 SET 指令后,将设置输出 Q0.0 和 Q0.1。 网络2: 根据上面在第二个网络中的解释,当系统打开(I0.0)时,最初两个红灯(底层(Q0.2)和地下室(Q0.3))将关闭。)执行RESET指令并将重置 均输出 Q0.2 和 Q0.3。 网络3: 当轿厢从底层进入空通道时,传感器S1(I0.1)将被触发,并且通过该触发,记忆线圈M10.0将被置位。 网络4: 当汽车从地下室进入空通道时,传感器S2(I0.2)将被触发,并且通过该触发,记忆线圈M10.3将被置位。 网络5: 两个红灯将由传感器 S1 或传感器 S2 的正触发设置。因为当汽车进入空通道时,两个红灯(Q0.2 和 Q0.3)将禁止汽车从两侧进出。 网络6: 这里我们对传感器 S1 (I0.1) 和 S2 (I0.2) 进行负触发。 因此,当它们触发红灯(Q0.2和Q0.3)时,红灯(Q0.2和Q0.3)将关闭。当汽车完全通过空通道时,红灯(Q0.2和Q0.3)应该关闭。 网络7: 在该网络中,当红灯熄灭时,绿灯(Q0.0&Q0.1)将亮起。绿灯(Q0.0&Q0.1)允许其他车辆进入或退出。 网络8: 如果红灯(Q0.2 & Q0.3)亮起,此时绿灯(Q0.0 & Q0.1)应该关闭。因此,在该网络中,当红灯(Q0.2 & Q0.3)亮起时 此时将执行复位指令,绿灯(Q0.0 & Q0.1)将熄灭 网络9: 如果系统ON(I0.0)开关关闭,则所有存储器都应为0。这里我们采用MOVE指令在所有存储器(MB0、QB0和MB10)中移动零。 本示例仅用于概念解释,本示例并未考虑所有参数(例如门开/关系统、警报等) 结果 注:以上PLC逻辑提供了PLC在停车场出入口控制中应用的基本思路。 逻辑是有限的,不完整的应用。
  25. caixiaofeng

    什么是人机界面 (HMI)?

    可编程逻辑控制器用于输入各种信号类型(离散信号、模拟信号),对这些信号执行控制算法,然后输出信号以响应控制过程。PLC 本身通常缺乏向操作员显示这些信号值和算法变量的能力。 拥有个人计算机和编辑PLC程序所需软件的技术人员或工程师可以连接到PLC并“在线”查看程序状态以监控信号值和变量状态,但这对于操作人员来说不是一个实用的方法定期监控 PLC 的运行情况。 为了让操作员监视和调整PLC 内存内的参数,我们需要一种不同类型的接口,允许读取和写入某些变量,而不会暴露太多信息或允许任何不合格的人更改程序,从而损害 PLC 的完整性。本身。 此问题的一种解决方案是专用计算机显示器,该显示器经过编程以提供对 PLC 存储器中某些变量的选择性访问,通常称为人机界面或 HMI。 HMI 可以采用运行特殊图形软件来与 PLC 连接的通用(“个人”)计算机的形式,也可以采用设计为安装在金属板面板正面的专用计算机的形式,除了操作员-PLC 界面外不执行任何任务。 第一张照片显示了运行 HMI 软件的普通个人计算机 (PC) 的示例: 这里显示的显示屏恰好用于监控一个示例,即用于纯化从环境空气中提取的氧气的真空变压吸附 (VSA) 过程。在某个地方,PLC(或 PLC 集合)正在监视和控制该 VSA 过程,HMI 软件充当 PLC 内存的“窗口”,以易于操作人员解释的形式显示相关变量。运行该 HMI 软件的个人计算机通过以太网等数字网络电缆连接到 PLC。 注意:操作员界面面板的旧术语是“人机界面”或“MMI”。 下一张照片显示了专门设计和构建用于工业操作环境的专用 HMI 面板的示例: 这些 HMI 面板实际上只不过是“强化”个人计算机,坚固耐用且结构紧凑,以方便在工业环境中使用。 大多数工业 HMI 面板都配备了触摸屏,操作员可以将指尖按在显示的对象上以更改屏幕、查看过程各部分的详细信息等。 技术人员和/或工程师对 HMI 显示器进行编程,以通过数字网络向一个或多个 PLC 读取和写入数据。 HMI 显示屏上排列的图形对象通常模仿现实世界的指示器和开关,以便为操作人员提供熟悉的界面。 例如,HMI 面板表面上的“按钮”对象将被配置为将一位数据写入 PLC,其方式类似于现实世界中的开关将一位数据写入 PLC 的输入寄存器。 现代 HMI 面板和软件几乎完全基于标签,屏幕上的每个图形对象都与至少一个数据标签名称相关联,而数据标签名称又通过标签与 PLC 中的数据点(位或字)相关联名称驻留在 HMI 中的数据库文件。 HMI 屏幕上的图形对象要么接受(读取)来自 PLC 的数据以向操作员提供有用信息,要么从操作员输入向 PLC 发送(写入)数据,或者两者兼而有之。 对 HMI 单元进行编程的任务包括构建标签名称数据库,然后绘制屏幕以按照操作员运行该过程所需的详细程度来说明该过程。 此处显示了现代 HMI 标签名称数据库表的示例屏幕截图: 使用相同的软件访问和编辑标签名称数据库,以在 HMI 中创建图形图像。 根据此示例,您可以看到与 PLC 内存中的数据点关联的多个标签名称(例如,启动按钮、电机运行定时器、错误消息、电机速度)(在本例中,PLC 地址以Modbus寄存器格式显示)。 在许多情况下,标签名称编辑器能够以与 PLC 编程编辑器软件中显示的方式相同的方式显示相应的 PLC 存储点(例如 I:5/10、SM0.4、C11 等)。 在此标签名称数据库显示中需要注意的一个重要细节是每个标签的读/写属性。 特别注意显示的四个标签是只读的:这意味着 HMI 仅有权从 PLC 内存中读取这四个标签的值,而不能写入(更改)这些值。 在这四个标签的情况下,原因是这些标签引用 PLC 输入数据点。例如,START PUSHBUTTON 标签指的是 PLC 中由真实按钮开关供电的离散输入。 因此,该数据点从离散输入端子的通电中获取其状态。如果向 HMI 授予对此数据点的写入权限,则可能会发生冲突。 假设 PLC 上的输入端子已通电(将 START PUSHBUTTON 位设置为“1”状态),并且 HMI 同时尝试将“0”状态写入同一标签。 这两个数据源之一会获胜,而另一个会失败,可能会导致 PLC 程序出现意外行为。 因此,PLC 中与实际输入相链接的数据点应始终被限制为 HMI 数据库中的“只读”权限,因此 HMI 不可能产生冲突。 然而,数据库中的其他一些点也存在数据冲突的可能性。 一个很好的例子是电机运行位,它是 PLC 程序中告诉实际电机运行的位。 据推测,该位从 PLC 梯形图程序中的线圈获取数据。然而,由于它也出现在具有读/写权限的HMI 数据库中,因此HMI 可能会覆盖(即冲突)PLC 内存中的同一位。 假设有人在链接到此标签的 HMI 中编写了一个切换“按钮”屏幕对象:按下 HMI 屏幕上的此虚拟“按钮”将尝试设置该位 (1),再次按下它将尝试重置该位 (0 )。 然而,如果 PLC 程序中的线圈正在写入同一位,则存在明显的可能性,即 HMI 的“按钮”对象和 PLC 的线圈将发生冲突,即试图告诉该位为“0”,而另一个试图告诉该位为“1”。 这种情况与梯形图程序中的多个线圈寻址到同一位时遇到的问题非常相似。 这里要遵循的一般规则是绝不允许多个元素写入任何数据点。根据我教授 PLC 和 HMI 编程的经验,这是学生第一次学习 HMI 编程时最常见的错误之一:他们会尝试将 HMI 和 PLC 写入相同的内存位置,但会产生奇怪的结果。 在对大型复杂系统进行编程时,您将学到的教训之一是,在开始在 HMI 中布局图形之前定义所有必要的标签名称非常有益。 PLC 编程也是如此:如果您在之前花时间定义所有必要的 I/O 点(以及标签名称,如果 PLC 编程软件支持编程环境中的标签名称),那么整个项目会更快且更少混乱。您开始创建任何代码,指定这些输入和输出如何相互关联。 保持标签名称的一致约定也很重要。例如,您可能希望将每个硬连线 I/O 点的标签名称开头为 INPUT 或 OUTPUT(例如 INPUT PRESSURE SWITCH HIGH、OUTPUT SHAKER MOTOR RUN 等)。 维持严格命名约定的原因一开始并不明显,因为标签名称的全部目的是让程序员可以自由地为系统中的数据点分配任意名称。 但是,您会发现大多数标签名称编辑器按字母顺序列出标签,这意味着以这种方式组织的命名约定将在列表中连续(相邻)显示所有输入标签,在列表中连续显示所有输出标签,并且很快。 利用按字母顺序排列的标签名称列表的另一种方法是,每个标签名称以描述其与主要设备关联的单词开头。 以这个过程为例,该过程具有在 PLC 控制系统中定义并在 HMI 中显示的多个数据点: 如果我们按字母顺序列出所有这些标签,那么它们之间的关联就会立即显而易见: 交换器污水泵 交换器出水温度 交换器预热泵 交换器预热温度 交换器预热阀 反应器床温 反应器进料流量 反应器进料温度 反应釜夹套阀 从该标签名称列表中可以看出,所有与热交换器直接关联的标签都位于一个连续组中,所有与反应器直接关联的标签都位于下一个连续组中。 通过这种方式,明智的标签命名有助于以分层方式对它们进行分组,使程序员可以轻松地在将来的任何时间在标签名称数据库中找到它们。 您会注意到,此处显示的所有标签名称在单词之间都缺少空格字符(例如,标签名称应使用连字符或下划线作为间隔字符,而不是“Reactor bed temp”:“Reactor bed temp”),因为通常假定空格由计算机编程语言来进行分隔符(不同变量名之间的分隔符)。 与可编程逻辑控制器本身一样,HMI 的功能一直在稳步增强,而价格却在下降。 现代 HMI 支持图形趋势、数据归档、高级报警,甚至网络服务器功能,允许其他计算机通过广域网轻松访问某些数据。 HMI 能够长时间记录数据,从而使 PLC 不必执行这项非常占用内存的任务。 这样,PLC仅将当前数据“提供”给HMI,而HMI能够使用其更大的内存储备来记录当前和过去的数据。 如果HMI基于个人计算机平台(例如Rockwell RSView、Wonderware、FIX/Intellution软件),它甚至可以配备硬盘驱动器以存储大量历史数据。 一些现代的 HMI 面板甚至在设备内部内置了 PLC,在同一设备中提供控制和监控。 此类面板为离散甚至模拟 I/O 提供端子排连接点,允许所有控制和接口功能位于单个面板安装单元中。
×
×
  • Create New...