Jump to content

caixiaofeng

Staff group
  • Content Count

    16
  • Joined

  • Last visited

Community Reputation

0 Neutral

About caixiaofeng

  • Rank
    Beginner PLC Programming Learner - 3
  1. 利用梯形逻辑图学习 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,因此它将保持打开状态。
  2. 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)。这些电馈电电路将根据这些信号进行控制,相应地加热器将打开或关闭。
  3. 我们需要控制串联的储罐的液位。 使用 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 中实现这个逻辑。 结果
  4. 这是关于 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 位也处于正常状态。 速度选择也处于本地模式。 运行状态 此状态表明就绪位为高且电机正在运行且没有任何错误。 错误状态 有一个错误位很高,电机也显示错误状况。 笔记 : 在某些行业中,黄色也用于指示错误情况。 红色用于指示电机停止状态。
  5. 人工鱼塘水位监测系统的 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 来进行讨论。 结果
  6. 台达 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 设计。
  7. В конце 1960-х годов американская компания Bedford Associates выпустила вычислительное устройство, названное MODICON. В качестве аббревиатуры оно означало «Модульный цифровой контроллер», а позже стало названием подразделения компании, занимающегося разработкой, производством и продажей этих управляющих компьютеров специального назначения. Другие инженерные фирмы разработали свои собственные версии этого устройства, и в конечном итоге оно стало известно в непатентованных терминах как ПЛК или программируемый логический контроллер. ПЛК Целью ПЛК была прямая замена электромеханических реле в качестве логических элементов, заменив вместо этого твердотельный цифровой компьютер с хранимой программой, способный имитировать соединение множества реле для выполнения определенных логических задач. ПЛК имеет множество «входных» терминалов, через которые он интерпретирует «высокие» и «низкие» логические состояния и аналоговые значения от переключателей и датчиков. Он также имеет множество выходных клемм, через которые он выводит сигналы «высокого» и «низкого» напряжения на источники питания, соленоиды, контакторы, небольшие двигатели и другие устройства, подходящие для управления включением/выключением, а также аналоговый выход для управления регулирующими клапанами, двигателем. контроль скорости и т. д. Чтобы упростить программирование ПЛК, их язык программирования был разработан так, чтобы напоминать диаграммы лестничной логики. Таким образом, инженер, привыкший читать схемы релейной логики, будет чувствовать себя комфортно, программируя ПЛК для выполнения тех же функций управления. Программирование ПЛК На следующем рисунке показан простой ПЛК, как он может выглядеть спереди. Две винтовые клеммы обеспечивают подключение к источнику питания для питания внутренней схемы ПЛК, обозначенной L1 и L2. Шесть винтовых клемм с левой стороны обеспечивают подключение к устройствам ввода, причем каждая клемма представляет собой отдельный входной «канал» со своей меткой «X». Нижняя левая винтовая клемма представляет собой «общее» соединение, которое обычно подключается к L2 (нейтраль) источника питания 120 В переменного тока. Внутри корпуса ПЛК, подключенного между каждой входной клеммой и общей клеммой, находится оптоизоляционное устройство (светоизлучающий диод), которое подает электрически изолированный «высокий» логический сигнал в схему компьютера (фототранзистор интерпретирует свет светодиода). ) при подаче напряжения 120 В переменного тока между соответствующей входной клеммой и общей клеммой. Индикаторный светодиод на передней панели ПЛК визуально указывает на то, что вход находится под напряжением: Выходные сигналы генерируются компьютерной схемой ПЛК, активирующей коммутационное устройство (транзистор, симистор или даже электромеханическое реле), соединяющее клемму «Источник» с любой из выходных клемм с маркировкой «Y-». Клемма «Источник», соответственно, обычно подключается к стороне L1 источника питания 120 В переменного тока. Как и для каждого входа, индикаторный светодиод на передней панели ПЛК визуально указывает на то, что выход находится под напряжением: Таким образом, ПЛК может взаимодействовать с реальными устройствами, такими как переключатели и соленоиды. Фактическая логика системы управления устанавливается внутри ПЛК с помощью компьютерной программы. Эта программа определяет, какой выход будет под напряжением при каких входных условиях. Хотя сама программа выглядит как схема релейной логики с символами переключателей и реле, внутри ПЛК нет реальных контактов переключателя или катушек реле, которые могли бы создавать логические связи между входом и выходом. Это воображаемые контакты и катушки, если хотите. Программа вводится и просматривается через персональный компьютер, подключенный к порту программирования ПЛК. Рассмотрим следующую схему и программу ПЛК: Когда кнопочный переключатель не задействован (не нажат), питание на вход X1 ПЛК не подается. Следуя программе, которая показывает нормально разомкнутый контакт X1 последовательно с катушкой Y1, на катушку Y1 не будет подаваться «энергия». Таким образом, выход Y1 ПЛК остается обесточенным, а подключенная к нему контрольная лампа остается темной. Однако если кнопочный переключатель нажат, питание будет подано на вход X1 ПЛК. Все контакты X1, появляющиеся в программе, примут активированное (ненормальное) состояние, как если бы они были контактами реле, срабатывающими при подаче питания на катушку реле с именем «X1». В этом случае подача питания на вход X1 приведет к тому, что нормально разомкнутый контакт X1 «закроется», отправив «питание» на катушку Y1. Когда на катушку Y1 программы «подается питание», на реальный выход Y1 подается напряжение, зажигая подключенную к нему лампу: Надо понимать, что контакт X1, катушка Y1, соединительные провода и «питание», появляющееся на дисплее компьютера (технической системы, в которую загружено программное обеспечение ПЛК) – все это виртуальные. Они не существуют как настоящие электрические компоненты. Они существуют как команды в компьютерной программе — всего лишь части программного обеспечения — которая напоминает настоящую принципиальную схему реле. Не менее важно понимать, что компьютер, используемый для отображения и редактирования программы ПЛК, не требуется для непрерывной работы ПЛК. После загрузки программы в ПЛК с компьютера компьютер можно отключить от ПЛК, и ПЛК продолжит выполнять запрограммированные команды. Я включил дисплей компьютера в эти иллюстрации исключительно ради вас, чтобы помочь понять взаимосвязь между реальными условиями (замыкание переключателя и состояние лампы) и состоянием программы («питание» через виртуальные контакты и виртуальные катушки). Истинная мощь и универсальность ПЛК раскрываются, когда мы хотим изменить поведение системы управления. Поскольку ПЛК является программируемым устройством, мы можем изменить его поведение, изменяя подаваемые ему команды, без необходимости переконфигурировать подключенные к нему электрические компоненты. Например, предположим, что мы хотим заставить эту схему выключателя и лампы работать в инвертированном виде: нажать кнопку, чтобы лампа погасла, и отпустить ее, чтобы она включилась. «Аппаратное» решение потребует замены нормально замкнутого кнопочного переключателя вместо нормально разомкнутого переключателя, который в настоящее время находится на месте. «Программное» решение гораздо проще: просто переделать программу так, чтобы контакт Х1 был нормально замкнутым, а не нормально разомкнутым. На следующем рисунке мы видим измененную систему, показанную в состоянии, когда кнопка не нажата (не нажата): На следующем рисунке переключатель показан активированным (нажатым): Одним из преимуществ реализации логического управления в программном обеспечении, а не в аппаратном обеспечении, является то, что входные сигналы можно повторно использовать в программе столько раз, сколько необходимо. Для примера возьмем следующую схему и программу, предназначенную для подачи питания на лампу при одновременном нажатии хотя бы двух из трех кнопочных выключателей: Чтобы построить эквивалентную схему с использованием электромеханических реле, необходимо использовать три реле с двумя нормально разомкнутыми контактами каждое, чтобы обеспечить два контакта на каждый входной переключатель. Однако, используя ПЛК, мы можем запрограммировать столько контактов, сколько пожелаем, для каждого входа «X» без добавления дополнительного оборудования, поскольку каждый вход и каждый выход представляют собой не что иное, как один бит в цифровой памяти ПЛК (либо 0, либо 1). , и его можно вызывать столько раз, сколько необходимо. Более того, поскольку каждый выход ПЛК представляет собой не что иное, как бит в его памяти, мы можем назначить контакты в программе ПЛК, «активируемой» статусом выхода (Y). Возьмем, к примеру, следующую систему — схему управления пуском и остановкой двигателя: Кнопочный переключатель, подключенный к входу Х1, выполняет функцию выключателя «Пуск», а переключатель, подключенный к входу Х2, выполняет функцию «Стоп». Другой контакт в программе, названный Y1, напрямую использует состояние выходной катушки в качестве герметичного контакта, так что контактор двигателя продолжает оставаться под напряжением после отпускания кнопки «Пуск». Вы можете увидеть, как нормально закрытый контакт X2 появляется в цветном блоке, показывая, что он находится в закрытом («электропроводящем») состоянии. Если бы мы нажали кнопку «Пуск», вход X1 подал бы напряжение, тем самым «замкнув» контакт X1 в программе, подав «питание» на «катушку» Y1, подав питание на выход Y1 и подав напряжение 120 В переменного тока на настоящая катушка контактора двигателя. Параллельный контакт Y1 также «замкнется», таким образом зафиксировав «цепь» во включенном состоянии: Теперь, если мы отпустим кнопку «Пуск», нормально разомкнутый «контакт» X1 вернется в свое «разомкнутое» состояние, но двигатель продолжит работать, поскольку герметичный «контакт» Y1 продолжает обеспечивать «непрерывность». для «питания» катушки Y1, таким образом сохраняя выход Y1 под напряжением: Чтобы остановить двигатель, мы должны на мгновение нажать кнопку «Стоп», которая подаст напряжение на вход X2 и «разомкнет» нормально закрытый «контакт», разорвав цепь на «катушке Y1»: При отпускании кнопки «Стоп» вход Х2 обесточивается, возвращая «контакт» Х2 в нормальное, «замкнутое» состояние. Однако двигатель не запустится снова, пока не будет нажата кнопка «Пуск», поскольку «запечатывание» Y1 потеряно: Здесь важно отметить, что отказоустойчивая конструкция так же важна в системах, управляемых ПЛК, как и в системах, управляемых электромеханическими реле. Всегда следует учитывать последствия неисправности (обрыва) проводки на управляемом устройстве или устройствах. В этом примере схемы управления двигателем у нас есть проблема: если входная проводка для X2 (переключатель «Стоп») выйдет из строя, остановить двигатель будет невозможно! Решением этой проблемы является изменение логики между «контактом» X2 внутри программы ПЛК и реальным кнопочным переключателем «Стоп»: Когда нормально замкнутый кнопочный переключатель «Стоп» не задействован (не нажат), на вход X2 ПЛК подается питание, таким образом «замыкается» «контакт» X2 внутри программы. Это позволяет запустить двигатель, когда на вход X1 подается питание, и позволяет ему продолжать работу, когда кнопка «Пуск» больше не нажата. При нажатии кнопки «Стоп» вход X2 обесточивается, тем самым «размыкая» «контакт» X2 внутри программы ПЛК и отключая двигатель. Итак, мы видим, что между этой новой конструкцией и предыдущей нет никакой функциональной разницы. Однако, если входная проводка на входе X2 выйдет из строя, вход X2 обесточится таким же образом, как и при нажатии кнопки «Стоп». В результате неисправности проводки на входе X2 двигатель немедленно отключится. Это более безопасная конструкция, чем показанная ранее, в которой отказ проводки переключателя «Стоп» привел бы к невозможности выключения двигателя. Помимо входных (X) и выходных (Y) программных элементов, ПЛК имеют «внутренние» катушки и контакты, не имеющие внутренней связи с внешним миром. Они используются почти так же, как «реле управления» (CR1, CR2 и т. д.) используются в стандартных релейных схемах: для обеспечения инверсии логического сигнала, когда это необходимо. Чтобы продемонстрировать, как можно использовать одно из этих «внутренних» реле, рассмотрим следующий пример схемы и программы, предназначенных для эмуляции функции логического элемента И-НЕ с тремя входами. Поскольку элементы программы ПЛК обычно обозначаются отдельными буквами, я буду называть внутреннее реле управления «C1», а не «CR1», как это принято в схемах управления реле: В этой схеме лампа будет гореть до тех пор, пока какая-либо из кнопок остается ненажатой (ненажатой). Чтобы лампа погасла, нам придется активировать (нажать) все три переключателя, вот так:
  8. Это программа ПЛК для контроля въезда/выезда из подвала или подземной парковки. Оглавление ПЛК Автостоянка Диаграмма проблемы Решение проблемы Список входов и выходов Лестничная схема ПЛК для контроля въезда/выезда с автостоянки Описание программы Результат ПЛК Автостоянка описание проблемы Из-за переполненности мест мы сталкиваемся с множеством проблем с парковкой транспортных средств в подвалах или подземных помещениях торговых центров, гостиниц, комплексов и т. д. Это происходит из-за противоречия между быстро растущим количеством транспортных средств и ограниченным количеством парковочных мест в торговых центрах, магазинах и комплексах в городах. Результатом является явление «трудной парковки и беспорядочной парковки». Существующая проблема парковки оказывает серьезное влияние на качество жизни людей и состояние дорог. Диаграмма проблемы Решение проблемы С помощью простой автоматизации мы можем уменьшить проблему парковки автомобилей в подвале или под землей в торговых центрах, гостиницах, комплексах и т. д. Вход/выход в подвале представляет собой однополосный проход, и для управления автомобилями необходимы светофоры. Здесь мы рассматриваем две световые индикации для контроль автомобилей. Красный свет запрещает въезд и выезд автомобилей, а зеленый свет разрешает въезд и выезд автомобилей. Когда автомобиль въезжает в проход со стороны входа на первый этаж, оба красных света (первый этаж и подвал) будут включены. Въезд и выезд других автомобилей запрещен. во время процесса, пока автомобиль не пройдет через единственный проход. Когда проход свободен, оба зеленого света (первый этаж и подвал) будут включены и позволят другим автомобилям въехать с первого этажа или подвала. Первоначально мы будем держать зеленый свет включенным, а красный свет выключенным. Список входов и выходов Список входов Главный ПЕРЕКЛЮЧАТЕЛЬ: 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: Положительный фронт системы ВКЛ. M0.1 и M11.0: Положительный фронт датчика S1. M0.3 и M11.1: Положительный фронт датчика S2. M11.2 : Отрицательный фронт датчика S2. M11.3 : Отрицательный фронт датчика S1. Лестничная схема ПЛК для контроля въезда/выезда с автостоянки Описание программы В этом приложении для программирования мы использовали ПЛК Siemens S7-300 и программное обеспечение 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) должны быть выключены. Сеть 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: Если ПЕРЕКЛЮЧАТЕЛЬ ВКЛ (I0.0) системы ВЫКЛЮЧЕН, тогда все ячейки памяти должны быть равны 0. Здесь мы взяли команду MOVE для перемещения нуля во всех ячейках (MB0, QB0 и MB10). Этот пример предназначен только для объяснения концепции, в этом примере учитываются не все параметры (например, система открытия/закрытия дверей, сигналы тревоги и т. д.). Результат Примечание. Приведенная выше логика ПЛК дает базовое представление о применении ПЛК для управления парковкой въездных/выездных ворот. Логика является ограниченным и неполным приложением.
  9. Документация ПЛК представляет собой очень важную инженерную документацию этапов управления процессом, и, как и все технические описания, необходимы точные подробные инженерные записи. Без точных чертежей изменения и модификации, необходимые для модернизации и диагностики, крайне затруднены или невозможны. Документация по системе ПЛК Каждый провод от ПЛК к оборудованию мониторинга и управления должен быть четко промаркирован и пронумерован на обоих концах и записан на электрической схеме. ПЛК должен иметь полные и актуальные лестничные схемы (или на другом утвержденном языке), и каждая ступенька должна быть помечена полным описанием ее функции. Основными документами в системе ПЛК являются: 1. Обзор системы и полное описание работы управления; 2. Структурная схема блоков системы; 3. Полный список всех входов и выходов, пунктов назначения и номеров; 4. Схема подключения модулей ввода-вывода, обозначение адреса для каждой точки ввода-вывода и расположение стоек; 5. Лестничная диаграмма с описанием, номером и функцией ступени. Также необходимо иметь возможность моделировать лестничную программу в автономном режиме на персональном компьютере или в фоновом режиме в ПЛК, чтобы можно было выполнять изменения, обновления и моделирование неисправностей, не прерывая нормальную работу ПЛК. , а эффект от изменений и обновлений можно оценить до их внедрения.
  10. 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”: 在此电路中,只要任何按钮保持未启动(未按下)状态,灯就会保持点亮状态。 要使灯关闭,我们必须启动(按下)所有三个开关,如下所示:
  11. PLC 文档是过程控制步骤的非常重要的工程记录,并且与所有技术描述一样,准确的详细工程记录至关重要。 如果没有准确的图纸,升级和诊断所需的更改和修改将极其困难或不可能。 PLC 系统文档 从 PLC 到监控设备的每根电线必须在两端有清晰的标记和编号,并记录在接线图上。 PLC 必须具有完整的最新梯形图(或其他认可的语言),并且每个梯级必须标有其功能的完整描述。 PLC 系统中的基本文件是: 1、系统概述及控制操作的完整描述; 2、系统各单元框图; 3、每个输入和输出、目的地和数量的完整列表; 4、I/O模块接线图、各I/O点地址标识、机架位置; 5、带有梯级描述、编号和功能的梯形图。 还需要具有在个人计算机上离线模拟梯形图程序的能力,或者在 PLC 中以后台模式进行模拟,以便在不中断 PLC 正常运行的情况下进行更改、升级和故障模拟,并且可以在合并之前评估更改和升级的效果。
  12. 这是一个用于地下室或地下停车场的出入控制的 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在停车场出入口控制中应用的基本思路。 逻辑是有限的,不完整的应用。
  13. Программируемые логические контроллеры предназначены для ввода различных типов сигналов (дискретных, аналоговых), выполнения алгоритмов управления на этих сигналах, а затем вывода сигналов в ответ на процессы управления. Сам по себе ПЛК обычно не имеет возможности отображать значения сигналов и переменные алгоритма операторам-человекам. Техник или инженер, имеющий доступ к персональному компьютеру и необходимому программному обеспечению для редактирования программы ПЛК, может подключиться к ПЛК и просматривать состояние программы «онлайн» для мониторинга значений сигналов и состояний переменных, но это непрактичный способ для эксплуатационного персонала. для регулярного мониторинга того, что делает ПЛК. Чтобы операторы могли отслеживать и корректировать параметры внутри памяти ПЛК, нам нужен другой тип интерфейса, позволяющий читать и записывать определенные переменные без ущерба для целостности ПЛК, предоставляя слишком много информации или позволяя любому неквалифицированному лицу изменять программу. сам. Одним из решений этой проблемы является специальный компьютерный дисплей, запрограммированный для обеспечения избирательного доступа к определенным переменным в памяти ПЛК, обычно называемый человеко-машинным интерфейсом или HMI. HMI могут принимать форму компьютеров общего назначения («персональных»), на которых установлено специальное графическое программное обеспечение для взаимодействия с ПЛК, или компьютеров специального назначения, предназначенных для установки на лицевой панели из листового металла и не выполняющих никаких задач, кроме интерфейса оператора-ПЛК. . На этой первой фотографии показан пример обычного персонального компьютера (ПК) с установленным на нем программным обеспечением HMI: Показанный здесь дисплей предназначен для мониторинга примера процесса вакуумной кач-адсорбции (VSA) для очистки кислорода, извлеченного из окружающего воздуха. Где-то ПЛК (или совокупность ПЛК) контролирует и контролирует этот процесс VSA, а программное обеспечение HMI действует как «окно» в память ПЛК для отображения соответствующих переменных в форме, удобной для интерпретации операционным персоналом. Персональный компьютер, на котором установлено это программное обеспечение HMI, подключается к ПЛК через цифровые сетевые кабели, например Ethernet. Примечание. Раньше для панели интерфейса оператора использовался термин «человеко-машинный интерфейс» или «MMI». На следующей фотографии показан пример специальной панели HMI, разработанной и изготовленной специально для использования в промышленных условиях: Эти панели HMI на самом деле представляют собой не что иное, как «защищенные» персональные компьютеры, построенные прочно и в компактном формате, чтобы облегчить их использование в промышленных средах. Большинство промышленных панелей HMI оснащены сенсорными экранами, позволяющими операторам нажимать кончиками пальцев на отображаемые объекты для переключения экранов, просмотра деталей отдельных частей процесса и т. д. Техники и/или инженеры программируют дисплеи HMI для чтения и записи данных через цифровую сеть в один или несколько ПЛК. Графические объекты, расположенные на экране дисплея HMI, часто имитируют реальные индикаторы и переключатели, чтобы обеспечить знакомый интерфейс для оперативного персонала. Например, объект «кнопка» на лицевой панели панели HMI будет настроен на запись одного бита данных в ПЛК, аналогично реальному переключателю, записывающему один бит данных во входной регистр ПЛК. Современные панели и программное обеспечение HMI почти исключительно основаны на тегах: каждый графический объект на экране связан как минимум с одним именем тега данных, которое, в свою очередь, связано с точками данных (битами или словами) в ПЛК посредством тега. файл базы данных имен, находящийся в HMI. Графические объекты на экране HMI либо принимают (читают) данные из ПЛК для предоставления полезной информации оператору, либо отправляют (записывают) данные в ПЛК из ввода оператора, либо и то, и другое. Задача программирования устройства HMI состоит из создания базы данных имен тегов, а затем рисования экранов, иллюстрирующих процесс с таким уровнем детализации, который потребуется операторам для его запуска. Здесь показан пример снимка экрана таблицы базы данных имен тегов для современного HMI: Доступ к базе данных имен тегов и ее редактирование осуществляется с помощью того же программного обеспечения для создания графических изображений в HMI. В этом примере вы можете увидеть несколько имен тегов (например, КНОПКА ПУСКА, ТАЙМЕР РАБОТЫ ДВИГАТЕЛЯ, СООБЩЕНИЕ ОБ ОШИБКЕ, СКОРОСТЬ ДВИГАТЕЛЯ), связанных с точками данных в памяти ПЛК (в этом примере адреса ПЛК показаны в формате регистра Modbus). Во многих случаях редактор имен тегов сможет отображать соответствующие точки памяти ПЛК таким же образом, как они отображаются в программном обеспечении редактора программирования ПЛК (например, I:5/10, SM0.4, C11 и т. д.). Важная деталь, которую следует отметить при отображении базы данных имен тегов, — это атрибуты чтения/записи каждого тега. Обратите особое внимание на то, что четыре из показанных тегов доступны только для чтения: это означает, что HMI имеет разрешение только на чтение значений этих четырех тегов из памяти ПЛК, но не на запись (изменение) этих значений. Причина этого в случае с этими четырьмя тегами заключается в том, что эти теги относятся к точкам входных данных ПЛК. Например, тег START PUSHBUTTON относится к дискретному входу в ПЛК, на который подается питание от реального кнопочного переключателя. Таким образом, эта точка данных получает свое состояние от подачи питания на клемму дискретного входа. Если бы HMI было предоставлено разрешение на запись для этой точки данных, скорее всего, возник бы конфликт. Предположим, что на входную клемму ПЛК было подано напряжение (бит START PUSHBUTTON установлен в состояние «1»), и HMI одновременно попытался записать состояние «0» в тот же тег. Один из этих двух источников данных выиграет, а другой проиграет, что может привести к неожиданному поведению программы ПЛК. По этой причине точки данных в ПЛК, связанные с реальными входами, всегда должны быть ограничены разрешением «только для чтения» в базе данных HMI, чтобы HMI не мог создать конфликт. Однако вероятность конфликта данных существует и для некоторых других точек базы данных. Хорошим примером этого является бит MOTOR RUN, который в программе ПЛК сообщает реальному двигателю о необходимости работы. Предположительно, этот бит получает данные из катушки в программе лестничных диаграмм ПЛК. Однако, поскольку он также присутствует в базе данных HMI с разрешением на чтение/запись, существует вероятность того, что HMI перезапишет (т. е. приведет к конфликту) этот же бит в памяти ПЛК. Предположим, кто-то запрограммировал переключаемый экранный объект «кнопка» в HMI, связанный с этим тегом: нажатие этой виртуальной «кнопки» на экране HMI попытается установить бит (1), а повторное нажатие попытается сбросить бит (0 ). Однако, если в этот же бит записывается катушка в программе ПЛК, существует явная вероятность того, что объект «кнопка» ЧМИ и катушка ПЛК будут конфликтовать: кто-то пытается сообщить биту значение «0», в то время как другой пытается сообщить этому биту значение «1». This situation is quite similar to the problem experienced when multiple coils in a Ladder Diagram program are addressed to the same bit. The general rule to follow here is never allow more than one element to write to any data point. In my experience teaching PLC and HMI programming, this is one of the more common errors students make when first learning to program HMIs: they will try to have both the HMI and the PLC writing to the same memory locations, with weird results. One of the lessons you will learn when programming large, complex systems is that it is very beneficial to define all the necessary tag names before beginning to lay out graphics in an HMI. The same goes for PLC programming: it makes the whole project go faster with less confusion if you take the time to define all the necessary I/O points (and tag names, if the PLC programming software supports tag names in the programming environment) before you begin to create any code specifying how those inputs and outputs will relate to each other. Maintaining a consistent convention for tag names is important, too. For example, you may wish to begin the tag name of every hard-wired I/O point as either INPUT or OUTPUT (e.g. INPUT PRESSURE SWITCH HIGH, OUTPUT SHAKER MOTOR RUN, etc.). The reason for maintaining a strict naming convention is not obvious at first, since the whole point of tag names is to give the programmer the freedom to assign arbitrary names to data points in the system. However, you will find that most tag name editors list the tags in alphabetical order, which means a naming convention organized in this way will present all the input tags contiguously (adjacent) in the list, all the output tags contiguously in the list, and so on. Another way to leverage the alphabetical listing of tag names to your advantage is to begin each tag name with a word describing its association to a major piece of equipment. Take for instance this example of a process with several data points defined in a PLC control system and displayed in an HMI: If we list all these tags in alphabetical order, the association is immediately obvious: Exchanger effluent pump Exchanger effluent temp out Exchanger preheat pump Exchanger preheat temp in Exchanger preheat valve Reactor bed temp Reactor feed flow Reactor feed temp Reactor jacket valve As you can see from this tag name list, all the tags directly associated with the heat exchanger are located in one contiguous group, and all the tags directly associated with the reactor are located in the next contiguous group. In this way, judicious naming of tags serves to group them in hierarchical fashion, making them easy for the programmer to locate at any future time in the tag name database. You will note that all the tag names shown here lack space characters between words (e.g. instead of “Reactor bed temp”, a tag name should use hyphens or underscore marks as spacing characters: “Reactor bed temp”), since spaces are generally assumed by computer programming languages to be delimiters (separators between different variable names). Like programmable logic controllers themselves, the capabilities of HMIs have been steadily increasing while their price decreases. Modern HMIs support graphic trending, data archival, advanced alarming, and even web server ability allowing other computers to easily access certain data over wide-area networks. The ability of HMIs to log data over long periods of time relieves the PLC of having to do this task, which is very memory-intensive. This way, the PLC merely “serves” current data to the HMI, and the HMI is able to keep a record of current and past data using its vastly larger memory reserves. If the HMI is based on a personal computer platform (e.g. Rockwell RSView, Wonderware, FIX/Intellution software), it may even be equipped with a hard disk drive for enormous amounts of historical data storage. Some modern HMI panels even have a PLC built inside the unit, providing control and monitoring in the same device. Such panels provide terminal strip connection points for discrete and even analog I/O, allowing all control and interface functions to be located in a single panel-mount unit.
  14. В этом посте я дам несколько основных инструкций, основанных на моем личном опыте, чтобы дать вам представление о том, как устранять неполадки в системах автоматизации (ПЛК/РСУ): Устранение неполадок в системах автоматизации в целом имеет ту же тактику, чтобы найти решение. вины системы. Тем не менее, в зависимости от сложности и размера приложения и конкретной системы автоматизации этапы устранения неполадок будут немного другими или более сложными. Лучшие знания можно получить на практике и в реальных условиях устранения неполадок. По моему мнению, практика снова и снова – это решение. Любые дополнения и комментарии приветствуются!! Устранение неполадок в системе ПЛК Прежде чем продолжить, мы согласны с тем, что современные системы автоматизации имеют ПЛК для управления приложением. Если у нас небольшое приложение, то в системе, возможно, есть микроПЛК (или наноПЛК) или другой тип компактного контроллера (во многих случаях это зависит от приложения). Я сказал «современные системы автоматизации», потому что в прошлом (до появления ПЛК/других компактных контроллеров) хорошо известный и используемый компаниями-разработчиками средств автоматизации), управление системой автоматизации осуществлялось только с помощью реле. Исследуйте программу контроллера Первое, что нам нужно сделать, это выяснить, выполняются ли у нас правильные условия для ошибочной операции. Для этого нам нужно найти «разум» нашей системы. Этим «разумом» является контроллер (либо это своего рода ПЛК, либо другой тип компактного контроллера). Если у нас не выполняются правильные условия, нам следует изучить программу контроллера, чтобы выяснить причину проблемы (ВСЕГДА проверяйте сообщения в SCADA. Это поможет быстрее найти решение, поскольку в SCADA появляется важная информация, такая как неисправность). /описание сигнала тревоги или конкретный адрес в ПЛК). То, что мы обнаружим, - это либо неисправный сигнал от аппаратного обеспечения (например, цифровой сигнал от кнопки, или цифровой сигнал от механического переключателя, или цифровой сигнал от контакта реле, который «не приходит» на вход контроллера или аналоговый сигнал, имеющий неправильные значения) или ошибочный сигнал от другой программной системы (например, SCADA). Исследуйте условия, исходящие от оборудования Когда мы сделаем вывод о причине проблемы, мы оставляем на некоторое время программу контроллера и выходим проверить наши выводы. Мы уже должны найти чертежи системы автоматизации, чтобы увидеть соединения компонентов, которые мы хотим проверить. Например, если мы обнаруживаем, что у нас есть цифровой сигнал с кнопки, который «не приходит» на вход контроллера, то берем мультиметр и идем проверять кнопку. Если кнопка в порядке, то исследуем, есть ли любой предохранитель между кнопкой и входом контроллера. Если есть, то проверяем. Если предохранитель в порядке, то исследуем трассу кабеля. Возможно, у нас перерезан кабель. Если кабель в порядке, то, возможно, у нас аппаратная проблема со входом контроллера и, возможно, нам следует заменить этот входной модуль на новый или как-то починить его (ремонт должен выполнять квалифицированный персонал). Исследуем аппаратную часть после выходов нашего контроллера Если мы пришли к выводу, что у нас правильные условия, то нам следует проверить компоненты, которые находятся между контроллером и неисправным оборудованием (имеется в виду оборудование, которое не работает должным образом). Например, если у нас есть промышленная печь, которая не закрывает свою дверь (хотя у нас есть условия для закрытия двери из программы), возможно у нас неисправно реле, которое питается от ПЛК (или другого контроллера) на закрытие двери. Если реле в порядке, то возможно у нас проблема проблема с моторчиком, который отвечает за закрытие двери. Мы должны проверить состояние двигателя (обмотки двигателя, механические части). Если двигатель в порядке, мы должны проверить значения напряжения, поступающие на вход двигателя (с помощью нашего мультиметра), а также проверить состояние кабеля, если измерения мультиметра неверны. Если напряжение и кабель в порядке, то, возможно, у нас заклинило где-то в конструкции дверцы печи. Силовые агрегаты – это «плюс»! Как правило, когда в нашей системе автоматизации есть силовые агрегаты (приводы) для привода двигателя, нам необходимо иметь вместе руководство конкретного силового агрегата. Это потому, что силовые агрегаты имеют цифровой дисплей, 7-сегментные светодиодные дисплеи или простые Светодиоды информируют нас о неисправности, которая существует внутри них или на ведомом двигателе. Это очень полезно для инженеров и техников. Кроме того, современные силовые агрегаты имеют специальные алгоритмы проверки состояния двигателя, значений напряжения, тока и т. д. Например, если двигатель перегрелся, привод сообщит нам об этом, поскольку постоянно проверяет датчик температуры (например, термистор), который находится внутри. Корпус двигателя. Затем мы должны проверить двигатель, не перегрелся ли он на самом деле или у нас неисправен датчик температуры, который следует заменить. Проверьте статус контроллеров Иногда, когда ЦП нашего ПЛК обнаруживает неприемлемое состояние в ходе выполнения программы, он переходит в режим «СТОП» и, возможно, мигает светодиод, указывая на эту неисправность. Кроме того, если в системе происходит какая-либо другая неисправность, некоторые Светодиоды указывают тип неисправности (дополнительную информацию см. в руководстве по эксплуатации контроллера). Такое же поведение наблюдается в целом у любого типа контроллера, установленного в системе автоматизации. Системы безопасности Многие системы автоматизации (часто производственные машины) имеют в своей конструкции некие «системы безопасности», такие как «Pilz» или «Siemens Sirius». Это умные компактные контроллеры для мониторинга таких ситуаций, как открытие защитной двери или аварийный останов. При возникновении чего-либо из вышеперечисленного система безопасности прекращает работу системы автоматизации для защиты человека и машины. Для возврата системы автоматизации в функциональное состояние в руководствах по системам безопасности имеются специальные указания. Вывод из всего вышесказанного — иметь пошаговую тактику устранения неполадок. Со временем и набравшись опыта, возможно, мы пропустим некоторые шаги, особенно если мы являемся персоналом, ответственным за обслуживание системы, с которой мы сталкиваемся каждый день. Однако хорошая тактика — быть организованными и терпеливыми. Удачи в ваших усилиях!
  15. 可编程逻辑控制器用于输入各种信号类型(离散信号、模拟信号),对这些信号执行控制算法,然后输出信号以响应控制过程。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...