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 的高级指令之前,程序员必须首先了解这些基本块,以便正确实施它们并获得帮助以更轻松地学习高级块。
    在本文中,我们将了解 PLC 编程中定时器和计数器之间的区别。
    什么是定时器?
    定时器是一种用于在一定延迟后打开或关闭输出的指令。例如,如果您想在 5 秒后打开一盏灯,则使用定时器执行此任务。
    定时器将接受输入,当输入打开时,其计时将开始。5 秒后,定时器输出将打开,从而间接打开灯。我们正在谈论的是该类型的普通定时器。
    定时器有两种类型——定时器关闭和脉冲定时器。简而言之,基本功能是相同的——在一定延迟后执行任务。

    请参考上图以更正确理解。定时器有四个输入和输出——输入、设定值、当前值和输出。输入接受启动定时器的条件,设定值用于获取设定的定时器值,当前值显示当前运行的定时器值,输出用于打开或关闭与其连接的变量。
    当 PLC 定时器获得输入时,如果设定值为 5 秒,则定时器从 1、2 和 3 开始,依此类推,直到 5。当 5 秒完成后,输出打开。当输入关闭时,定时器的当前值立即变为零。
    无论定时器是否正在运行;如果输入关闭,则定时器不会启动,其输出和当前值将为零。这是 TON(定时器开启延迟)定时器的功能。
    什么是计数器?
    计数器是一种指令,用于在达到设定的计数后打开输出。计数可以递增或递减。
    例如,如果您想在按下按钮五次后打开灯,则使用计数器执行此任务。计数器将接受输入,当输入打开时,其计数将递增为 1。
    当输入关闭时,不会发生任何事情。当它再次收到输入时,计数将递增为 2。计数 5 过去后,计数器输出将打开,从而间接打开灯。我们谈论的是计数器向上类型。
    计数器还有一种类型 - 计数器向下。简而言之,基本功能是相同的 - 在一定计数后执行任务。

    请参阅上图以更正确理解。计数器有五个输入和输出 - 计数输入、复位输入、设置值、当前值和输出。计数输入接受计数条件,复位输入接受计数器复位条件,设定值用于获取设定的计数器值,当前值显示当前运行的计数器值,输出用于打开或关闭与其连接的变量。
    当计数器获得计数输入时,如果设定值为 5,则计数器递增为 1,依此类推,直到 5;在计数输入中收到每个脉冲时(意味着计数输入必须打开和关闭 5 次)。完成 5 次计数后,输出打开。
    现在,即使给出计数输入脉冲,计数器也会在 5 之后继续增加,输出也将保持打开状态。要再次将计数器状态恢复为零,您必须提供复位输入。给出此输入后,计数器当前值变为零,输出也会关闭。因此,它类似于锁存型功能。要解锁计数器,您必须重置它。这是 CTU(计数向上)计数器的功能。
    定时器和计数器之间的区别
    PLC 中的定时器和计数器之间的主要区别如下。
    定时器需要连续输入才能打开变量,但计数器不需要连续输入。因此,定时器在连续条件下工作,而计数器在脉冲条件下工作。 如果移除定时器输入,则其输出将返回到零状态;但如果移除计数器输入,则计数器将保持其最后一个值。 定时器没有复位输入,而计数器需要复位输入才能将计数器恢复到其原始状态。 定时器的类型包括定时器开启、定时器关闭和定时器脉冲。计数器的类型包括计数器加法和计数器减法。 定时器设定值可以是秒、分钟或毫秒;但计数器设定值是固定整数。

    caixiaofeng
    PLC 编程包含多种类型的指令和操作数,用于执行逻辑。最常用的指令之一是计数器。
    计数器用于计数。许多应用都需要计数;例如,即使是像计算一分钟内通过的瓶子数量这样的小逻辑也需要计数器。如果这样一个小应用程序需要计数器,那么自动化技术中就会有许多更大的逻辑类型,这些逻辑使用计数器。因此,这些是 PLC 编程中使用的重要指令类型。
    有两种类型的计数器可用 – 普通计数器和步进计数器。在这篇文章中,我们将了解普通计数器和快速计数器之间的区别。
    什么是普通计数器?
    PLC 中没有正式术语称为普通计数器。它只是一个定义,用于显示两种基本类型的计数器 – 升压和降压。顾名思义,这些指令用于在输入脉冲时计数。
    假设你有一个按钮,你想计算它被按下了多少次。如果你明白我们想要表达的意思,按下意味着只要按下它,它就会保持打开状态。一旦你把它拿开,它就会关闭。
    这意味着它是一个脉冲型输入,计数器只理解这种类型的输入。如果输入持续保持打开状态,那么它就不会计数。只有当输入从打开状态变为关闭状态时,它才会计数,然后再次重复相同的序列。 

    请参阅上图以了解。CU(计数)输入用于在收到输入时增加计数器。由于它是一个触发器,因此当收到脉冲型输入时,计数会增加。PV 输入是设定值。只要没有达到设定的计数,计数器(Q)的输出就会保持关闭状态。当达到设定值时,输出就会打开。
    现在,即使给出了计数输入,计数也会继续增加,输出也会保持打开状态。要关闭它,需要提供复位输入,该输入将复位计数器并使当前值归零。这是计数器的一般工作原理。
    什么是快速计数器?
    快速计数器与普通计数器相同,但唯一的区别是它计数非常快速的输入类型。假设您有一个接近传感器,它在 30 秒内打开或关闭 1000 次。这种快速输入在普通计数器中很难检测到,因为它的扫描时间较短。快速计数器将通过快速计数其输入处接收到的脉冲数来完成这项工作。
    与普通计数器类似,其输出在达到设定值后打开,并且需要复位输入来复位计数器并关闭输出。快速计数器可以在 5 kHz 的频率下工作。
    由于快速计数器功能块由特定的硬件中断管理,因此维持最大频率采样率可能会因您的特定应用程序和硬件配置而异。并非所有 PLC 输入都可以用作快速计数器;它只有一些专用的 PLC 输入用于分配快速计数功能。
    如您所见,这两个计数器之间的唯一区别是运行速度,因为普通计数器不能接受任何快速类型的输入。

    caixiaofeng
    在此 PLC 程序中,使用 PLC 编程设计自动门操作,当检测到物体时打开或关闭门。这里的物体只是一辆汽车。
    自动门操作
    下面的模拟显示了自动门系统的操作。

    输入和输出
    类型 设备编号 设备名称 操作 输入 X0 下限 当门到达下限位时亮起。 输入 X1 上限 当门到达上限位时亮起。 输入 X2 门内传感器 当物体接近门时开启。 输入 X3 输出传感器 当物体离开门时亮起。 输入 YO 门上 当 YO 开启时向上移动。 输出 Y1 门下 当 Y1 为 ON 时,向下移动。 输出 Y6 光 Y6 ON 时亮灯。 输出 Y7 蜂鸣器 Y7 打开时发出声音(屏幕上的灯亮起)。 程序说明
    当汽车接近入口时,门向上移动。入口传感器 X2 用于检测汽车是否在入口处。
    汽车驶过后,门就会向下移动。出门传感器 X3 用于检测汽车通过门后是否存在。
    当上限开关 (X1) 激活时,门的向上移动会停止。
    同样,当下限开关 (X0) 接合时,门的向下移动也会停止。
    只要检测到汽车在入口 (入口门传感器 X2) 和出口 (出口传感器 X3) 的范围内,门就会保持向上。
    蜂鸣器 (Y7) 发出蜂鸣声作为门移动的信号。
    当汽车在检测范围内时,在入口门传感器 (X2) 和出口传感器 (X3) 之间,灯 (Y6) 保持亮起。
    门的移动状态通过控制面板上四个指示灯的亮起或熄灭来指示。
    可以手动控制门。可以按下控制面板上的按钮来打开 (⬆门向上) 或关闭 (⬇门向下) 门。
    PLC 编程


    leikang
    舞台控制的 PLC 程序提供幕布的打开和关闭,以及舞台的升降。它提供两种操作模式:自动和手动。
    舞台控制的 PLC 程序
    下面的模拟显示了 PLC 在舞台控制应用中的使用情况。
    这是一个实用项目,我们必须自动打开和关闭舞台幕布,也可以使用按钮手动打开和关闭。传感器用于检测不同点的左右幕布的位置。 

    打开幕布后,舞台将向上移动并升至顶部位置。同样,当幕布关闭时,中央舞台将向下移动。还将使用下限和上限传感器跟踪舞台位置。 
    PLC 设备列表
    下表列出了此 PLC 程序中的所有输入和输出。
    类型 设备编号 设备名称 操作 输入 X0 内部(左幕布 幕布处于一半时为 ON。 输入 X1 幕布完全关闭时 ON 幕布完全打开时 ON。 输入 X2 外侧(左幕布) 幕布完全关闭时 ON。 输入 X3 内侧(右幕布) 幕布打开一半时 ON。 输入 X4 中间(右幕布) 幕布完全打开时 ON。 输入 X5 外侧(右幕布) 舞台到达下限时 ON。 输入 X6 舞台上限 Y2 ON 时舞台向上移动。Y2 OFF 时舞台停止。 输入 X7 舞台下限 舞台到达上限时 ON。 输出 Y0 幕布打开命令 Y0 ON 时幕布打开。Y0 OFF 时幕布停止。 输出 Y1 幕布关闭命令 Y1 ON 时幕布关闭。Y1 OFF 时幕布停止。 输出 Y2 舞台上升 Y2 ON 时舞台上升。Y2 OFF 时舞台停止。 输出 Y3 舞台下降 Y3 ON 时舞台向下移动。Y3 OFF 时舞台停止。 输出 Y5 蜂鸣器 Y5 开启时发出声音(屏幕上的灯亮起)。 程序说明
    PLC 程序控制舞台设置,包括打开/关闭幕布和升高/降低舞台。
    此 PLC 程序的目的是便于控制一系列舞台设置,包括打开和关闭幕布以及升高和降低舞台本身等任务。为了满足不同的偏好和要求,该程序提供了两种不同的操作模式:自动和手动。
    自动操作
    按下操作面板上的“开始”按钮 (X16) 时,蜂鸣器 (Y5) 发出声音,持续时间为 5 秒。
    注意:“开始” 按钮 (X16) 仅在幕布关闭且舞台位于其下限时激活。
    蜂鸣器停止后,打开幕布 (Y0) 的命令被激活。幕布将继续打开,直到达到输入信号 X2 和 X5 定义的外部极限。
    一旦幕布完全打开,当“舞台上升”命令 (Y2) 被激活时,舞台开始上升。舞台将继续向上移动,直到达到其上限,如输入信号 X6 所示。
    按下操作面板上的“结束”按钮 (X17) 可启动幕布的关闭。关闭幕布的命令 (Y1) 被激活,幕布将关闭,直到达到由输入信号 X0 和 X3 定义的内部限位。
    手动操作
    以下操作仅在上述自动操作未激活时可用。 

    可以通过按下操作面板上的“幕布打开”按钮 (X10) 打开幕布。一旦幕布达到其外部限位 (X2 和 X5),幕布将停止。
    可以通过按下操作面板上的“幕布关闭”按钮 (X11) 关闭幕布。幕布将继续关闭,直到达到其内部限位 (X0 和 X3)。
    按下操作面板上的“⬆舞台上升”按钮(X12)可使舞台上升。舞台到达上限(X6)后停止。
    按下操作面板上的“⬇舞台下降”按钮(X13)可使舞台下降。舞台到达下限(X7)后停止。
    操作面板上的指示灯将相应地亮起或熄灭,提供有关幕布和舞台操作状态的视觉反馈。 
    PLC 编程


    leikang
    PLC 编程用于控制传送带方向:根据检测到的零件尺寸促进正向或反向移动。识别每个零件的尺寸并确保其分配到指定位置。
    高级 PLC 传送带控制
    当操作员按下按钮时,料斗提供不同尺寸的物体,然后传送带和传感器用于根据物体的大小分离物体。
    推进器用于分离两种不同尺寸的物体。传送带可以向前和向后移动,以根据其专用的存储托盘放置物体。
    机器人用于拾取和放置中型盒子中的物体。
    下面的模拟显示了具有不同盒子尺寸的 PLC 传送带模拟。 

    PLC 输入和输出
    下表列出了此 PLC 项目的输入和输出。
    类型 设备编号 设备名称 操作 输入 X0 上 当检测到零件时亮起。 输入 X1 中间 当检测到零件时亮起。 输入 X2 降低 当机器人处于起始点时亮起。 输入 X3 检测部分 当检测到零件位于推杆前面时,ON。 输入 X4 初始点 当 Y1 为 ON 时,传送带向前移动。 输入 X5 桌子上的零件 当零件位于桌子上时亮起。 输入 X6 机器人操作完成 当检测到零件处于倾斜状态时打开。 输入 X7 传感器 当在右端检测到部件时 ON。 输入 X10 传感器 当在左端检测到部件时 ON。 输入 X11 传感器 当在右端检测到部件时 ON。 输入 X12 传感器 机器人动作结束时 ON。 输出 Y0 供给指令 当 Y0 为 ON 时,供应一份零件:木制零件按 L、M、S、M、S、L 的顺序重复。 输出 Y1 输送机前进 当 Y2 为 ON 时,传送带向前移动。 输出 Y2 输送机前进 当 Y3 为 ON 时伸出,当 Y3 为 OFF 时缩回。推杆不能在行程中途停止。 输出 Y3 推手 当 Y4 为 ON 时,机器人将零件移动到托盘。一个过程循环开始。 输出 Y4 卸载命令 当 Y5 为 ON 时,输送机向前移动。 输出 Y5 输送机前进 当 Y6 为 ON 时,输送机向后移动。 输出 Y6 输送机反向 当 Y6 为 ON 时,输送机向后移动。 程序说明
    按下控制面板上的按钮 PB1 (X20) 时,它会激活料斗的供应命令 (Y0)。一旦释放按钮 PB1,供应命令就会停用。每当执行供应命令时,机器人就会分配零件。
    当控制面板上的开关 SW1 (X24) 激活时,传送带开始向前移动。一旦停用 SW1,传送带就会停止。
    传送带将大、中、小零件(分别由上部 (X0)、中部 (X1) 和下部 (X2) 传感器分类)运送到指定的托盘。
    大部件:导向下部传送带并传送到右侧的托盘。 中部件:由机器人传送到托盘。 小部件:导向下部传送带并传送到左侧的托盘。 当检测部件传感器 (X3) 激活时,传送带停止,大部件或小部件导向下部传送带。
    注意:当推杆的启动命令打开时,它会完全伸出。当启动命令关闭时,推杆会完全缩回。
    当机器人中的工作台上部件 (X5) 传感器激活时,卸载命令 (Y4) 被启用。当机器人操作完成 (X6) 传感器被激活(当部件放置在托盘上时激活),卸载命令 (Y4) 被停用。
    只要控制面板上的开关 SW2 (X25) 处于 ON 状态,在以下情况下就会自动供应新零件:
    当机器人开始处理中型零件时 当将小型或大型零件放入托盘时 PLC 编程传送带正反转控制


    leikang
    计数器是 PLC 编程中非常重要的指令。几乎每个逻辑都需要它。无论是计数某物还是计数事件,计数器都是 PLC 编程的重要组成部分。
    因为事件计数在许多应用程序中都有使用,它可以帮助 PLC 程序员节省编写繁琐代码的时间。但是,很多时候,如果计划不起作用,总是需要找到备用解决方案。
    对于计数器,如果 PLC 程序员无法正常工作,他们也必须知道备用逻辑。为此,可以组合和编写两个指令 - 移动和添加。
    在这篇文章中,我们将学习如何使用移动和添加指令在 PLC 编程中设计计数器。
    计数器
    首先,我们将看到计数器指令的编写方式。请参阅下图。如您所见,计数器有三个输入 - 计数、重置和设置值;并有两个输出 - 完成和当前值。
    需要一个计数输入来为计数器提供计数脉冲,需要一个复位输入来复位计数器,并且需要一个设定值来为计数器提供设定的计数。完成输出用于表示计数器已完成计数,当前值显示计数器到目前为止已计数的当前计数值。 

    当收到计数输入时,计数器会增加一个值。计数输入以脉冲为基础工作,而不是连续工作。当计数器达到其设定的计数时,输出完成位继续。
    然后关闭它的唯一方法是给出复位输入。计数值将在此输入上变为零,计数器因此复位。需要注意的是,即使计数已达到并且您仍然给出计数输入,那么计数也会继续递增。
    您还可以看到在计数器输出之后使用了一个比较块,这允许它传递到要打开的最后一位。如果设定的计数为零,这可以防止最后一位不必要地打开。
    使用移动指令在 PLC 中设计计数器
    现在,我们将了解如何借助移动和添加指令编写相同的代码。请参阅下图。在第一个梯级中,计数输入被添加指令替换。
    如果输入条件为真,则会发生加法,并且还会使用脉冲。必须使用脉冲,否则,将持续进行加法,并且无法对其进行控制。 

    在第二个梯级中,它比较是否已达到设定的计数。它还检查设定的计数是否大于零。
    如果这些条件为真,则输出打开。在第三个梯级中,在收到相应的输入后,计数器值变为零。
    这相当于重置输入的操作。这三个梯级足以复制计数器的功能。您可以根据需要使用计数器或此 PLC 逻辑。但是,需要注意的是,我们也可以通过这种方式编写计数器。
    这样,我们就了解了如何使用移动和添加指令在 PLC 编程中编写计数器。

    leikang
    在上一篇文章中,我们讨论了 PLC 的固件版本以及如何处理由于 TIA Portal 中的项目与实际 PLC 之间的固件不匹配而可能发生的错误。在本文中,我们将展示如何更新 PLC 的固件版本。
    内容:
    什么是固件版本? 为什么固件版本会给我带来麻烦? 如何知道硬件 PLC 的固件版本? 如何处理固件版本错误? 如何更新 PLC 的固件版本? 结论。 什么是固件版本?
    正如我们在上一篇文章中所解释的那样,PLC 或 PLC 模块(IO、通信模块等)的固件只是安装在 PLC 中的内部软件,它负责硬件的实际功能。
    具有较旧固件版本的 PLC 将具有比较新固件版本的 PLC 更少的功能和内部能力。
    图片 1 和 2 向您展示了安装不同固件版本后,同一硬件 PLC 的功能和性能如何不同。 

    图片 1. 固件版本 V4.0

    图片 2. 固件版本 V4.4
    您可以看到,只需更新到更高的固件版本,CPU 现在就拥有了更多功能。使用更高的固件 V4.4,CPU 现在在其性能能力中添加了 OPC UA 等功能。
    为什么固件版本会导致问题?
    您将根据以下两点之一在 TIA Portal 中选择 PLC:
    您已经购买了硬件 PLC,因此您将选择与 TIA Portal 项目中实际拥有的相同的 PLC。 您还没有购买 PLC,因此您将在 TIA Portal 中选择符合您要求的 PLC,然后稍后再购买。 无论是哪种情况,如果 TIA Portal 项目中选择的 PLC 固件版本与实际硬件的固件版本不同,您就会遇到问题。在某些 PLC 中,您的程序甚至不会下载到硬件 PLC 中。
    因此,您应始终确保实际 PLC 的固件版本与 TIA Portal 中选择的 PLC 相匹配。
    值得一提的是,如果 TIA Portal 中选择的固件版本比实际 PLC 旧,您的程序不会出现任何问题,您将失去一些 PLC 特性和功能,但您的程序将正常工作。
    如果情况相反,则会出现问题,如果 TIA Portal 中选择的固件版本比实际 PLC 新,那么您就会遇到问题。
    这就是为什么如果您不知道硬件的固件版本,则应在 TIA Portal 项目中选择旧版本的原因。
    如何知道硬件 PLC 的固件版本?
    我们可以通过以下两种方法之一了解硬件 PLC 的固件版本:
    从 PLC 本身: 任何 PLC 或 PLC 模块的固件版本始终写在硬件设备的某个位置。
    从 TIA Portal 软件: 使用 TIA Portal 软件,您可以将 PLC 连接到 TIA Portal 并搜索设备,然后您可以找到硬件设备的固件版本。我们在上一篇文章中展示了如何做到这一点。
    如何处理固件版本错误?
    如果实际硬件 PLC 的固件版本比 TIA Portal 项目中选择的 PLC 版本旧,这将导致固件错误,为了解决这些错误,我们可以尝试以下方法之一:
    我们可以选择 TIA Portal 项目中的 PLC 与实际 PLC 具有相同或更旧的固件版本。我们在上一篇文章中展示了这一点。 我们可以将实际硬件 PLC 的固件版本更新为比项目中选择的固件版本更高的固件版本,或者至少更新为相同的固件版本。这就是本文的范围。 如何更新 PLC 的固件版本?
    您可以通过两种方式更新 PLC 的固件版本:
    使用 TIA Portal 在线更新。 使用西门子存储卡 SMC 离线更新。 使用 TIA Portal 在线更新固件:
    您无需在 TIA Portal 中打开现有项目,只需安装 TIA Portal 软件并将 PLC 连接到 PC 即可。参见图 3。

    图 3. 打开 Tia Portal 而不创建新项目。
    打开 TIA Portal 后,进入在线访问,选择 PLC 和 PC 之间合适的通信适配器,然后按“更新可访问设备”搜索 PLC。见图 4。

    图 4. 查找您的 PLC。
    找到 PLC 后(如上图所示),打开 PLC 文件夹,按“在线和诊断”查看 PLC 固件版本。见图 5。

    图 5. PLC 的当前固件版本。
    现在,要更新固件版本,请按“固件更新”属性。见图 6。

    图 6. 固件更新页面。
    如您所见,当您按“固件更新”属性时,您可以看到当前固件更新为 V4.1.3,还可以查看固件加载器,您可以在其中浏览要安装的固件版本。
    当然,首先您的 PC 上必须有固件版本,这意味着我们需要下载固件版本。要下载固件版本,您应该登录西门子帐户,如果您没有帐户,您可以轻松创建一个新帐户,但需要 1 到 2 天才能激活。
    之后,您可以搜索 PLC 的固件版本。在我们的例子中,我们有一个 S7-1200 CPU 1214C AC/DC/RLY,我们将使用其文章编号搜索其固件版本。见图 7。

    图 7. 搜索 PLC 的固件版本。
    之后下载您要安装的固件版本,在我们的例子中,我们想将我们的 PLC 更新到 V4.4.0,因此我们将此版本下载到我们的 PC。参见图 8。

    图 8. 下载 V4.4.0
    下载的文件将是一个 zip 文件,您应该解压文件以获取固件版本数据文件,然后返回到固件加载器属性并单击浏览以搜索固件版本。参见图 9。

    图 9. 搜索固件版本文件。
    不要担心在此步骤中犯错,因为如果固件版本与 PLC 不兼容,您将无法运行更新。参见图 10。

    图 10. 如果固件不匹配,更新将无法继续。
    如您所见,当我们尝试将 1215C CPU 的固件版本上传到带有 11214C CPU 的 PLC 中时,它给出了一个错误,即该文件不适合 PLC。
    现在,再次单击浏览,但这次搜索正确的固件版本。参见图片 11。

    图片 11。固件版本正确时没有错误消息。
    如您所见,当我们选择合适的固件版本时,没有错误消息,我们现在可以按 “运行更新” 开始更新我们的 PLC。
    一旦您开始更新过程,就会出现固件更新窗口,如果更新顺利,最后会出现一条成功消息。参见图片 12 和 13。

    图片 12。固件更新正在运行。

    图片 13。固件更新成功完成。
    现在固件版本已更新,请重新按“更新可访问设备”并检查 PLC 固件版本来刷新您的通信。
    您会发现 PLC 的固件版本现在是 V.4.4.0,而不是 V4.1.3,这意味着我们成功更新了 PLC 的固件版本。参见图片 14。

    图片 14。固件已更新至 V4.44.0
    这就是我们使用 TIA Portal 更新 PLC 固件版本的方法。
    离线使用西门子存储卡 SMC:
    另一种更新 PLC 固件的方法是使用西门子存储卡 SMC。
    为此,我们只需下载要使用的固件版本,然后将固件版本从 PLC 复制到 SMC,然后将 SMC 插入 PLC 中的专用插槽。下次打开 PLC 时,固件将被更新。
    结论
    您可以使用 TIA portal 软件或西门子 SMC 存储卡更新固件版本。 确保您选择的固件版本完全正确,如果 PLC 和 TIA Portal 之间不匹配,则更新将无法启动。

    leikang
    在上一篇文章中,我们讨论了 PID 是什么,还解释了 PID 的不同参数以及系统对更改这些参数将如何反应。在本文中,我们将展示如何在 TIA Portal 项目中编程、配置和调整 PID。
    内容:
    如何将 PID 添加到您的逻辑中? 如何配置 PID?                     基本设定过程值设定
                        高级设置
    如何进行 PID 整定?                     PID 预整定
                        微调
    PID 的整定方法有哪些? 如何将 PID 添加到您的逻辑中?
    在 TIA Portal 和几乎所有其他 PLC 平台中,您无需对 PID 控制器进行编程,因为 TIA Portal 已经具有用于 PID 的内置块。要将 PID 添加到您的逻辑中,您只需将 PID 块拖放到您的代码中,然后开始为您的系统配置它。
    将 PID 添加到代码中非常简单,但是,有一个非常重要的点您应该考虑。这是你的 PID 的执行间隔。
    如您所知,主执行周期发生在主循环 OB1 内部,OB1 的周期时间取决于很多因素,例如代码的长度、代码中的数学计算以及循环和序列,所有这些 不同的因素会导致 OB1 的周期时间不仅可能会变长,而且每个周期都会有所不同,具体取决于您所使用的编码。
    这意味着,如果您在主 OB1 内调用 PID 块,则 PID 执行将取决于 OB1 的循环时间,而这不是最佳实践方法。
    PID 通常用于控制压力、温度或速度等物理参数,这意味着您的控制器需要非常快速地找出过程值的任何变化,并采取快速反应来抵消这种变化,并为您提供平稳稳定的结果 PID 应该具有的控制。所以如果 PID 加在主 OB1 上,并且受其执行时间的影响,可能需要动作延迟,这会让你的系统不稳定。
    该怎么办?
    最佳实践是在循环中断 OB 中调用 PID 块,并将该循环中断的循环时间设置为您认为适合您的系统的任何值,通常在毫秒范围内,具体取决于您的应用。这意味着,如果您将循环中断设置为 1 毫秒,则无论主 OB1 周期在哪里,您的 PID 都会每毫秒调用并执行一次。
    因此,为了将 PID 添加到您的逻辑中,我们首先添加一个新的循环中断 OB 并为其指定一个适当的名称。见图1。

    图 1. 在您的项目中添加循环中断。
    从图中可以看到我们将循环时间设置为 1000 微秒或1毫秒。所以我们的 PID 每毫秒都会被调用并执行。
    现在您已将循环 OB 添加到项目中,只需拖放 PID 块即可。您可以在指令选项卡/技术/PID 控制/紧凑 PID 中找到它。见图2。

    图 2. 添加 PID 块。
    现在,将系统参数添加到 PID 块、输入、输出和设定值。见图3。

    图 3.  分配 PID 参数。
    您从上一张图片中注意到了吗,您有 2 个不同的输入和 3 个不同的输出,它们是什么?
    输入:
    这是您以实际物理量表示的过程参数的输入值,我们将使用我们的储罐模拟系统,因此在这种情况下,此处的输入是以升为单位的储罐填充液位。这意味着您已经在项目的其他地方进行了模拟输入缩放,并且只需向 PID 提供以升为单位的实际填充水平。
    输入_PER:
    这是过程参数的输入值,但来自模拟输入模块。这意味着它不会被缩放,并且它将在 0-27648 的范围内,并且输入的缩放将在 PID 内部完成。
    输出:
    在这种情况下,PID 将为您提供最大输出值的 0% 到 100% 范围内的控制器输出值。
    输出_PER:
    与 input_PER 相同,PID 将以 0-27648 的形式给出输出。
    输出_PWM:
    在这种情况下,PID将以ON/OFF脉冲的形式给出其输出信号,因此要么有输出,要么没有输出。ON 时输出值为 100%,OFF 时输出值为 0%。
    我们将使用之前使用的相同坦克模拟系统,正如您从上图中看到的,我们使用了 Input 和 Output_PER,因为我们的模拟就是这样构建的。
    如何配置 PID?
    要进入 PID 的配置视图,您可以单击项目树中的配置选项卡,也可以单击 PID 块本身上方的小配置图标。见图4。

    图 4. 进入配置视图。
    这将带您进入功能视图,您可以在其中配置 PID 的不同设置。见图5。

    图 5. 控制器类型设置。
    第一个配置是控制器类型,在这里您可以选择要使用的控制类型,显示的下拉菜单中有很多选项,例如温度、压力、长度等等。 您还可以将其设置为常规,系统会将您的值视为%。在我们的系统中,我们控制水箱内的水升,因此我们将选择体积。
    您还可以设置 PID 的手动/自动模式。
    接下来,您要配置输入/输出参数。见图6。

    图 6. 输入/输出参数。
    在这里,您可以选择不同类型的输入或输出,正如我们之前所解释的。正如我们所说,我们将使用 Input 和 Output_PER。
    接下来,您需要配置过程值设置。见图7。

    图 7. 过程值限制。
    在此步骤中,您将设置过程值的下限和上限。如果您选择输入类型。然后此设置将开放更改,并且您可以设置流程的限制。在我们的例子中,水箱限制为 0 至 50 升。所以我们将其设置为这些值。
    请注意,如果您选择 Input_PER,则此设置将不可用,您只能从下一个选项卡设置进程限制。见图8。

    图 8. 过程值缩放。
    如果您使用 Input_PER,那么如上图所示,您可以根据 0-27648 的缩放比例设置过程值限制。
    如果您想在过程值达到下限或上限时设置警告,则可以在过程值监控选项卡中进行配置。见图9。

    图 9. 过程值监控。
    接下来在设置列表中您将找到 PWM 限制,见图 10。

    图 10. PWM 限制
    在这里,您可以设置输出的最小开启和关闭时间,假设您的系统中有一个泵或阀门,PID 通过 PWM 输出进行控制,您不希望 PID 只为您的泵提供一个序列 非常快速的开/关行为,因为这可能会导致您的泵烧坏。因此,您可以通过此设置告诉 PID 在关闭泵之前将泵打开最短时间,反之亦然。
    如果您没有下一个设置(输出值限制)的 PWM 输出,您可以使用 PID 进行相同的控制。见图11。

    图 11. 输出值限制。
    您可以控制控制输出的下限和上限,例如,您可以将下限设为 20%,这将使 PID 以至少 20% 的流量运行泵。所以你的控制范围是 20% 到 100%。
    最后也是最重要的,您可以在下一个选项卡“PID 参数”选项卡的配置模式下设置 PID 参数,见图 12。

    图 12. PID 参数。
    如果您知道 PID 增益 P、I 和 D,或者您自己进行了调节并且您从其他地方获得了参数,您可以在此处编写 PID 增益 P、I 和 D 的调节参数。您还可以选择使用 PID 或仅使用 PI 控制器。
    如果您没有这些参数,您可以在调整 PID 后自动上传它们。
    如何进行 PID 整定?
    现在您已完成 PID 配置,您可以从项目树中的调试选项卡轻松调整控制器。见图13。

    图 13.  调试 PID
    在调试页面,您的屏幕分为三个部分,上面的页面是您可以开始预调节和微调 PID 的地方。
    在中间,您将有一个图形区域来显示系统的实时响应。您可以看到控制器输出和过程值。每次设定点发生变化时,您都会看到 PID 捕捉新设定点的行为。即使设定点没有改变,但例如我们的储罐供应需求增加,您也会看到 PID 反应来满足该需求,并将设定点保持在其所需值。
    在第三个区域中,您将看到控制器的在线状态,并且您还可以决定 PID 的运行模式。请参见以下模拟视频,该视频显示了 TIA Portal 中 PID 的自动整定过程。
    从视频中您可以看到,预调节完成后,我们的 PID 找到了最适合我们系统的 P、I 和 D 参数。您可以看到,当设定点或流出量发生变化时,控制器将非常快速地做出反应,将设定点恢复到所需的值。
    现在,您只需单击按钮即可将调整参数直接上传到项目中,见图 14。

    图 14. 上传您的参数。
    上传参数后,您可以在配置视图的 PID 参数选项卡中找到它们。见图15。

    图 15. PID 参数。
    然而,下一步应该是从相同的调试视图对 PID 执行微调程序,因为我们没有真正的系统,我们只是使用数学计算来模拟水箱和泵的行为,我们可以 t 进行微调步骤。
    当您拥有真实的系统时,您可以进行微调,您的 PID 将尝试找到能够为系统提供更好响应的参数,甚至消除过程值的超调并直接达到设定点。
    将来,如果我们有一个真正的系统,我们可以展示它是什么样子。
    PID 控制器的整定方法有哪些?
    您不必使用 TIA Portal 调整 PID;有许多不同的方法可以尝试为您的系统找到最佳 PID 参数。它主要是基于反复试验的数学方法。我建议使用 TIA Portal 中的自动调整功能。
    但这里有一些用于实现相同参数的方法。
    启发式调整。 Ziegler-Nichols 调谐方法 Cohen-Coon 调谐方法 Kappa-Tau 调谐方法 Lambda调优方法 还有其他一些。 结论
    对 PID 使用循环中断。 配置您的 PID 以最适合您的系统。 TIA Portal 中的自动调节功能非常有用且有效。

    leikang
    PLC 是工业自动化中非常重要的组成部分。它是自动化的基础,每个 PLC 程序员或自动化工程师都必须正确设计它才能正常工作。这不仅仅涉及编程,还涉及最终如何设计 PLC 系统。

    PLC 系统设计中的安全考虑
    我们都认为,如果正确地编写了一个程序,并且所有的联锁、顺序和流程都正确,那么我们的 PLC 系统就可以使用了。但是,必须指出的是,设计任何系统时最重要的参数之一是安全性。因此,类似地,PLC 系统的设计必须考虑安全性。 在本文中,我们将了解设计 PLC 系统时的安全注意事项。
    电源
    这是考虑 PLC 设计时首要的参数。面板中有两种类型的电源 - 直流电源和交流电源。DC 通常为 12-24V DC,AC 通常为 110V AC 或 230V AC。
    PLC 由任一电源供电,现场仪表也由任一电源供电。如果面板具有单个 SMPS 或 230V 单母线,那么设计人员就可以轻松地为系统接线。如果面板有多个电源,则您可能会错误地连接一个电源的正极线和另一个电源的负极线。这反而会使您的系统变得复杂,并使故障排除变得更加困难。因此,单个电源还可以最大限度地减少线路干扰,并防止从稳定的交流电源到电源和 CPU 的错误输入信号。
    多个电源是不必要的,而且还会增加短路和频繁故障的可能性。因此,电源设计是 PLC 系统安全运行的一个非常重要的因素。
    接地
    众所周知,接地需要将任何泄漏电流传递到地面。这样可以防止触电、噪音和电磁干扰。工业区域标准中性点对地电压必须小于 0.5V。
    1V 稍高一点是可以接受的,但如果高于此值,则意味着接地不正确,电信号发生泄漏会影响性能。PLC 电源和 IO 通道必须正确接地并连接到面板中的接地母线。
    另外,仪表接地与电源接地必须分开;否则,任何接地合并都会造成短路或信号干扰。
    关键数字输入信号
    每个 PLC 系统都必须具有紧急停止、面板电源故障和气压等关键输入。此外,所有这些信号必须以 NC(常闭)格式连接。
    急停用于操作人员按下该按钮时使系统突然停止,面板断电用于当相电源出现问题时使系统停止,气压信号表示是否需要空气来操作阀门 或其他气动输出是否正确。
    如果这些输入中的任何一个失败,所有操作都应立即停止。在一些大型系统中,还观察到,如果按下紧急按钮,则不是停止整个系统,而是为各个大额定输出提供紧急停止。因此,操作员可以轻松隔离每个系统并操作其他系统,而不用停止整个系统。
    手动模式联锁
    程序员总是轻视手动模式逻辑。他们的动机只是打开或关闭输出。然而,必须注意的是,任何不规则的手动输出操作都会影响系统的性能。如果系统非常关键,那么它可能会对附近人员造成危及生命的问题。
    因此,建议也在手动模式下应用警报或其他关键联锁装置。这可以防止操作员随意操作系统。而且,由于这种逻辑,保证了 PLC 系统的安全。
    警报
    控制逻辑文件中给出的所有警报通常由程序员在程序中获取。然而,PLC 程序员必须根据 PLC 中获取的 IO,在系统中提供一些额外的安全警报。
    这些通常是运行反馈报警、跳闸反馈报警、超行程或欠行程报警、传感器故障报警、PLC 通道故障报警、热过载报警、恒温器报警、过压或欠压报警等。这些报警因系统而异,基于 实际投入的情况。
    但是,如果这些输入中的任何一个不存在,那么建议程序员向客户提出相同的建议以供考虑。这可以防止系统以故障方式运行。
    这样,我们在设计 PLC 系统时看到了一些一般性的安全考虑。

    leikang
    当您在 PLC 系统中工作时,有必要了解 PLC 模块中发生了哪些故障。如果 PLC 程序员不明白 PLC 出现了什么故障以及如何解决它,那么他将花费很长时间来排除系统故障。
    每个 PLC 及其模块上都有 LED,以便于观察和故障排除。他们的用户手册中也给出了它们的详细描述。因此,了解这些 LED 的工作原理非常重要,一旦获得它们,故障诊断对于 PLC 程序员来说就变得非常容易。
    在这篇文章中,我们将学习 PLC 中故障诊断的概念。
    PLC 故障诊断
    让我们看一下可以通过 PLC LED 识别的一些最常见的故障类型:
    Run LED 用于指示模块是否正常工作。如果常亮,则说明模块工作正常。如果该 LED 熄灭,则模块有故障或关闭。
    Err LED 用于指示模块是否出错。如果持续亮起,则为内部模块错误。如果闪烁,则表示模块配置不正确或者与其连接的 PLC 硬件存在问题。如果灯灭,则说明模块没有故障。
    I/O LED 用于指示与模块连接的 PLC IO 的确切状态。如果持续亮起,则表示电源电压错误或短路。如果灯灭,则表示 IO 连接没有错误。
    通道 LED 用于显示各个通道的状态。如果 LED 持续亮起,则表示通道工作正常。如果它闪烁,则存在一些错误(断线或值超出范围)。如果它是关闭的,则表示该通道根本没有配置。
    一些通信模块(例如 Modbus RTU)具有 LED 真值表,表示相同的每个值。
    PLC 中的 LED 指示
    它们大多如下表所示:

    注意:LED 指示可能因 PLC 型号和品牌而异。上表是市场上一种 PLC 型号的示例。
    某些通信模块(例如 Modbus TCP/IP)的 LED 诊断稍微复杂。但了解它们对于故障排除非常重要。
    如果运行 LED 亮起,则模块正在运行;如果 LED 熄灭,则模块停止。如果 Err LED 闪烁,则表示模块出现错误;如果闪烁,则表示模块配置不正确,或者连接的背板存在问题。
    如果网络状态指示灯熄灭,则表示模块没有与任何设备通信;如果它打开,则它正在与至少一台设备通信;如果闪烁,则表示检测到重复的 IP 地址或超时错误。
    这样,我们就看到了 PLC 中的一些常见故障诊断。

    leigehong
    在可编程逻辑控制器 (PLC) 和分布式控制系统 (DCS) 中,由于这些系统的实时性以及工业过程的相关复杂性,硬连线 I/O 和串行 I/O 之间的选择变得尤为重要。
    下面,我将详细分析这些特定系统中每个系统的特征。
    硬连线输入/输出
    下面列出了我们必须讨论的有关硬连线 I/O 的要点。
    直接连接 实时响应 接线复杂性 灵活性有限 可靠性 信号完整性 适应性 安全关键应用 1. 直连
    硬连线 I/O 直接连接到 PLC 或 DCS。每个输入或输出设备都有一条返回控制器的专用线路。
    2. 实时响应
    这些 I/O 通常设计用于实时控制任务。它们特别适用于需要立即采取行动的时间敏感型应用,例如过程控制、联锁和紧急关闭。
    3. 接线复杂性
    对于具有大量 I/O 点的大型系统,硬连线解决方案可能会变得很麻烦,需要大量布线和更大的控制柜。
    4. 灵活性有限
    由于需要物理重新布线,修改或扩展硬连线系统可能是劳动密集型的。
    5、可靠性
    硬连线 I/O 通常被认为对于关键任务来说更可靠,因为它们具有直接、点对点的性质,可以降低通信故障的风险。
    6. 信号完整性
    与串行通信相比,硬连线连接的信号完整性通常更好,尤其是在电磁干扰 (EMI) 较多的环境中。
    7. 适用性
    最适合较小的系统或可靠性和速度至关重要的场景。
    8. 安全
    硬连线 I/O 主要用于安全关键型应用,例如控制回路至关重要的工业过程控制应用。

    串行输入/输出
    下面列出了我们要讨论的有关串行 I/O 的要点。
    数据序列化 基于协议的通信 可扩展性 联网能力 数据处理 距离 漏洞 成本 安全 1. 数据序列化
    串行 I/O 通常通过一条数据线一次传输一位数据。这与同时发送多个位的并行系统形成对比。硬连线 I/O 中的每个信号都有单独的电线,但串行 I/O 通常只有一根电缆用于传输/接收所有数据。
    2. 基于协议的通信
    它们通常依靠已建立的工业协议(如 Modbus、PROFIBUS 或以太网/IP)进行通信,这些协议标准化了设备之间的数据交换。
    3. 可扩展性
    串行 I/O 通常更具可扩展性。添加更多 I/O 点通常只需要配置现有网络,无需额外布线回控制器。
    4. 联网能力
    串行 I/O 可以轻松联网,并且通常具有内置诊断功能,这使得它们更加通用,但也增加了复杂性。
    5. 数据处理
    串行 I/O 在数据处理方面更加通用。它们可以通过网络传输更复杂的数据类型,包括实数和字符串。
    6. 距离
    它们更适合 I/O 点远离 PLC 或 DCS 控制器的应用。在某些情况下,我们可能需要一些特殊设备,例如中继器、网关等。
    7. 漏洞
    由于串行 I/O 是基于协议的,因此更容易出现数据冲突、延迟和其他网络相关问题等问题。
    8. 成本
    虽然由于网络硬件的原因,初始设置成本可能较高,但长期成本可能较低,特别是对于需要频繁修改或扩展的系统。
    9. 安全
    串行 I/O 绝不会用于安全关键型应用,因为主电缆损坏可能会导致数据完全故障。
    在硬连线和串行 I/O 之间进行选择
    两者之间的选择通常取决于各种因素,例如系统规模、所需的操作速度、安全性、数据复杂性和成本考虑。工程师通常会进行详细分析,有时甚至在单个 PLC 或 DCS 系统的不同部分中使用这两种类型,以充分利用每种类型的优点。例如,硬连线 I/O 可用于安全关键型应用,而串行 I/O 可用于数据收集和监控任务。
    硬连线 I/O 和串行 I/O 之间的比较
    下表显示了硬连线 I/O 和串行 I/O 之间的差异。
    参数 硬连线输入/输出 串行输入/输出 连接类型 直接、点对点连接 基于协议,通常是联网 数据传输速度 通常更快,实时处理 由于序列化可能会更慢(取决于协议) 复杂性 由于序列化可能会变慢(取决于协议) 更易于管理的复杂性 可扩展性 扩展困难且昂贵 扩展更容易且成本更低 可靠性 故障点较少,可靠性更高 故障点较多 布线 需要大量布线 布线较少,通常只需一根数据线 信号完整性 在高 EMI 环境中更好 可能容易受到 EMI 影响 支持的数据类型 一般为 4-20 mA 模拟信号,24 V DC 数字信号 由于网络硬件的原因,这可能会更高 距离 适合较短距离 可以处理较长距离 成本(初始) 小型系统较低,大型系统较高 高(取决于协议) 成本(维护) 由于故障排除的复杂性而较高 通常较低 灵活性 有限,难以修改 高度灵活,易于修改 冗余 实施起来困难且昂贵 实施起来更容易且成本更低 安全应用 通常用于安全关键任务 不太常用于安全关键任务 网络诊断 有限或无 通常内置 当谈到 PLC 和 DCS 系统的安全性时,硬连线 I/O 和串行 I/O 具有不同的特性,这些特性可以增强或可能损害工业过程的安全性。
    下面的比较表仅关注这两类 I/O 系统的安全方面。
    安全方面 硬连线输入/输出 串行输入/输出 可靠性 由于直接连接和故障点较少,可靠性通常更高 基于协议和网络,引入更多潜在故障点 实时响应 非常适合实时响应,通常用于紧急关闭和安全联锁 由于网络拥塞或协议限制,可能会出现延迟,这使得它们不太适合立即采取行动 系统复杂性 较低的复杂性通常更容易识别和解决安全问题 网络和协议的复杂性使得确定安全问题的根本原因变得具有挑战性 信号完整性 不易受到电磁干扰 (EMI),从而提高信号质量和可靠性 可能更容易受到 EMI 和信号衰减的影响,从而危及安全 数据完整性 由于通常是点对点的,因此数据损坏的可能性较小 由于网络而更容易出现数据完整性问题,从而增加了安全相关故障的风险 人为错误 由于其简单性,不太容易出现影响安全的配置错误 配置或维护过程中出现人为错误的可能性更大,影响系统安全 紧急情况 由于响应时间快,通常是紧急关闭等安全关键系统的首选 由于可能存在延迟和其他网络相关问题,通常不用于立即操作任务 安全 较低的网络攻击敏感性,因为它们通常不联网 由于网络的原因,更容易受到可能危及安全的网络威胁 内置安全功能 安全功能通常是硬连线且不复杂,因此非常坚固 可能有内置的安全协议,但这些协议可能会受到网络问题的影响 认证 由于复杂性更低、可靠性更高,安全关键型应用的认证变得更加容易 由于网络和协议的复杂性,可能需要更广泛的测试和认证 从安全角度来看,硬连线 I/O 和串行 I/O 之间的选择通常倾向于关键安全应用的硬连线 I/O,因为它们具有固有的可靠性和即时响应能力。然而,系统的整体安全性并不仅仅取决于所使用的 I/O 类型;它还受到设计、维护实践和操作人员能力等因素的影响。

    leigehong
    无论是工业自动化还是任何其他 PLC 系统,每个装置或设备在经过一定时间后都会达到一个阶段,需要对其进行更改或升级。
    升级和迁移

    例如,如果 PLC 的使用时间超过10年,则其技术支持将不再存在,或者 PLC 已经过时而无法更换。在这种情况下,您有两个选择 - 要么迁移到一套全新的 PLC,要么升级固件和程序。理解这种差异非常重要,因为它有助于选择合适的工作。
    在这篇文章中,我们将了解升级和迁移 PLC 系统之间的区别,并了解如何实施正确的系统。
    为什么需要迁移或升级 PLC 系统?
    在进入主题之前,首先有必要了解为什么我们需要这样做。假设您已经使用“X”PLC 近 15 年了。程序不会突然出现故障;这是一个完全不同的理论,完全取决于程序员如何编写代码。PLC 代码一旦编写,终生都会以相同的方式执行。
    问题始于硬件和支持。如果这种“X”PLC 不稳定或者编程有很多限制,那么 PLC 制造商通常不会将这种“X”PLC 投入生产这么长时间。
    很快,该 PLC 将开始过时,并且将无法找到替代品。即使是系统集成商或 PLC 制造商本身也无法提供技术支持,因为他们的人员将转移到更新的品牌,或者其编程电缆也不再可用。
    在这种情况下,如果 PLC 系统由于某种原因突然出现故障,那么您别无选择,只能等待较长的停机时间结束。另外,如果你仍然能够从某个地方获得这个 PLC,那么它的成本将非常高并且超出预算。
    由于当前的供应链中断以及新的工业自动化解决方案和零件的稀缺,准确估计采购新设备可能需要多长时间是不可行的。在这种情况下,您有两个选择 - 要么迁移到另一个品牌,要么将现有品牌升级到更新的固件 CPU 或程序。
    因此,这就是迁移和升级在工业自动化中发挥重要作用的原因。此外,新的解决方案还减少了错误和风险,提供了更强大的技术支持、服务专业知识、更少的资本投资以及工厂的高效运营。
    什么是 PLC 系统的移植?
    首先,让我们了解两者中较简单的一个。迁移是指用新系统完全替换旧系统。这类似于一个公民从原来的城市迁移到一个新城市。假设您有一台旧 PLC,在使用 10 年后被发现存在一些硬件缺陷。
    CPU 的两个数字输入出现故障,并且该 CPU 不再在市场上销售。另外,由于运气不佳,提供 PLC 的系统集成商已经关闭了业务或转向了一些较新的品牌。
    在这种情况下,迁移意味着您需要购买其他品牌的 PLC。在购买之前,您需要考虑 IO 数量、IO 接线、通信端口可用性、编程能力、内存容量、执行速度、可扩展程度等因素。
    一旦你完成了这一切,你就需要购买一个新的,并根据制造商的软件在其中编写一个新的程序。另外,您需要与新供应商共享以前的 IO 列表,以便他在 PLC 中相应地进行 IO 映射,并减少在电气面板中接线 IO 的时间。完成后,您可以用新的 PLC 替换旧的 PLC 并相应地使用系统。
    虽然使用这种方法不能完全应用新的、一致的编程标准,但整体功能仍然尽可能接近原始,并且可以在一定程度上改进程序。
    什么是 PLC 系统升级?
    我们再来看第二个 PLC 系统升级的案例。您拥有与之前讨论的制造商相同的 PLC,并且发生了故障。现在,您发现同一制造商的一些更高级别的 PLC 可用,具有相似的编码风格和 IO 功能。
    甚至供应商也可以提供支持。您无需将供应商更换为更新的供应商或完全更改 PLC 品牌,只需将系统升级到更新、更高的系统即可。这个新的 CPU 要么必须用新的编码重写,要么只是即插即用,具体取决于软件。 因此,升级需要在更新系统时进行更全面的 IO 接线和 PLC 编码。
    此外,从头开始重写新代码可以让程序员消除他在旧系统中观察到的错误,并以更简单的方式规划高效可靠的逻辑。这是一种升级系统的全新方法。
    迁移和升级 PLC 系统之间的差异
    迁移意味着切换到全新的 PLC 制造商,而升级意味着切换到同一 PLC 制造商的较新 CPU。 迁移比升级更便宜,因为它需要更少的停机时间、更少的新硬件、更少的编程时间和设计基础设施。 迁移比升级风险更小,因为您已经拥有旧程序的可用程序,只需复制粘贴相同的程序即可。虽然 100% 复制是不可能的,但由于这种方法,功能可以在很大程度上相似。 迁移可能会导致使用新的硬件,这可能需要工程师花时间快速了解系统,以便他们能够对其进行维护和故障排除。在这种情况下,升级就容易多了。 迁移的可靠性和效率不如升级,因为尽管你研究了这么多,但你仍然不知道这个新的 PLC 现在将如何工作。 迁移和升级是一件棘手的事情,需要参与其中的工程师和程序员的详细专业知识。此外,要采取的操作因系统而异。一旦完成,它可以使您的任务变得更加容易。这样,我们看到了 PLC 系统升级和迁移的概念。

    leigehong
    当您开发 PLC 程序时,您需要确保在向客户展示之前对其进行了正确的测试和验证。这是因为 PLC 程序中有很多部分,如逻辑、配置、设置等。
    因此,有必要测试和验证每个部分,无论哪个程序会出现故障。如果配置或逻辑存在错误,那么系统将在现场出现故障。
    为了避免这种情况,大多数程序员会花费数小时来测试 PLC 逻辑,这是他们所做的非常重要的一步。在这篇文章中,我们将学习 PLC 开发的测试和验证过程。
    PLC 开发中的测试和验证
    下面提到了与 PLC 测试和验证相关的一些要点。

    召集利益相关者召开首次会议,讨论 PLC 项目的范围、目标和要求。 制定测试和验证的目标和验收标准。 分配测试和验证过程所需的资源,包括团队成员、硬件和软件工具。 准备详细的功能设计规范 (FDS),作为 PLC 程序开发和测试的基础。 根据功能设计规范开发初始代码块和例程。 专门为单元测试编写测试计划,确定每个单元应该完成什么以及如何测试它。 执行单元测试,遵循测试计划并记录每个功能或例程的结果。 创建集成测试的测试计划,概述如何将不同的代码块和例程组合并作为单个实体进行测试。 执行集成测试,验证整个程序的功能以及与其他系统的互操作性。 开发 FAT 协议,指定系统必须满足才能被视为可接受的标准。 在模拟环境中基于 FAT 协议进行 FAT,以确保满足所有要求。 起草详细的验证协议,定义如何进行验证、检查什么以及可接受的结果是什么。 审查验证协议并获得质量保证和其他利益相关者的批准。 实施验证协议、记录结果并识别任何偏差或失败。 创建 SAT 协议,重点关注 PLC 系统运行的真实环境。 进行 SAT 以验证 PLC 系统在其预期操作环境中可靠工作。 准备测试和验证活动、结果以及所采取的任何纠正措施的综合文档。 获得所有利益相关者的最终批准,确保 PLC 系统经过测试和验证。 建立流程来监控 PLC 系统的性能并安排定期重新测试和重新验证活动。 归档所有 PLC 项目文档和代码,并正式结束项目。 上述步骤提供了在新的 PLC 开发项目中准备测试和验证的简单指南。
    让我们一一看看一些重要的步骤,需要遵循这些步骤直到最后才能正常运行。
    IO 映射
    PLC 根据输入和输出运行。因此,测试程序的第一步是检查 PLC 中的 IO 映射。您必须在模拟中强制每个数字输入,或者向 PLC 提供实际的硬件输入。
    一项一项地,如果映射正确,那么同样会反映在您的图形和程序中。这将验证数字输入。对于模拟输入遵循相同的过程。但是,对于模拟输入,您必须提供多个原始计数,而不仅仅是一个计数。
    广泛的计数可以让您正确了解通道是否正常运行。然后,对于数字输出,你必须一一强制它们。如果 PLC 输出按照顺序打开和关闭,则您的 DO 映射是正确的。
    对模拟输出遵循相同的过程,并提供广泛的原始计数而不是单个计数。您将正确了解 AO 通道是否正常运行。
    通讯协议检查
    一旦在 PLC 程序中验证了 IO,下一步就是检查通信和网络地址。假设 PLC 有一个以太网端口和一个 Modbus RTU 端口。您已将一个 HMI 连接到以太网端口,并将三个 VFD 连接到 Modbus 端口。Modbus 端口用于与 VFD 传输和接收数据,如电流、频率、电压等。
    这些映射已由您在 PLC 逻辑中完成。首先检查以太网口,测试 IP 是否能 ping 通;以及是否与 HMI 通讯。然后,建立 Modbus 通讯并检查与 PLC 的数据通讯是否正常。
    这完全清除了您的硬件部分,因为您现在可以正确地将数据传送到现场;通过硬 IO 或软 IO。这两个基本步骤是验证的第一步。
    手动模式
    一些系统具有没有关键联锁的手动模式,而一些系统具有带有关键联锁的手动模式。要检查手动模式,您必须逐步打开每个输出,并检查实际的物理输出是否打开。
    第一步验证物理 DO 或 AO 是否已与手动模式按钮正确链接。然后,您必须产生相应的警报并检查输出是否关闭。
    仅应关闭链接的输出。其余输出不应受到影响。这确保了所有输出都已在程序中通过正确的互锁正确链接。因为,一旦手动模式被清除,将确认物理输出可以手动打开,然后可以更容易地检查自动模式。
    直接检查自动模式逻辑会使程序员混淆什么输出正在打开或关闭。验证手动模式将确保各个输出是否打开。
    自动模式
    下一个重要步骤是检查自动模式。自动模式是一个带有互锁的验证序列。每个系统都有一个控制逻辑文档,显示序列如何与适当的联锁和输出矩阵一起工作。
    PLC 程序员必须确保当任何序列运行时,相应的输出相应地打开/关闭。另外,序列是否正常运行并具有互锁?
    自动模式逻辑在制作时必须主要分为四个部分
    打开输出, 编写序列流, 连接联锁和警报,以及 显示当前运行状态。 这种技术使得程序流程非常容易查看和排除故障。
    应尽量避免不断使用置位-复位线圈和梯形逻辑。梯形图逻辑使用起来很方便,但是在线仿真运行时,排查故障很费时间。
    此外,置位-复位线圈也难以管理,因为一旦使用了置位线圈,就必须小心地将其复位到某处。否则,如果条件写入不正确,该位将保持设置状态。
    就这样,我们看到了 PLC 开发中的测试和验证过程。

    leigehong
    每当一个新的 PLC 程序员去现场调试一个项目时,出现的第一个问题就是如何去做。这是因为 PLC 系统庞大且难以理解。
    因此,每个 PLC 程序员必须知道自己在到达现场时应该做什么,并有适当的计划。如此大量的电场线和设备,需要配合 PLC 程序逻辑来了解他在做什么。
    在这篇文章中,我们将学习 PLC 程序员应遵循的调试步骤。
    PLC 编程器现场调试步骤

    PLC 程序员的第一步是检查他的笔记本电脑上是否安装了所有必需的 PLC 软件。假设该站点系统中有施耐德自动化。那么,首先,他需要在笔记本电脑上安装所有相应的 PLC 软件。软件每次都必须正确打开,所有相关驱动程序也必须正确响应。之后,他需要将笔记本电脑连接到办公室的自动化硬件。这将确保他能够在系统中正确上传和下载。软件安装或连接不当可能会导致现场调试出错。
    然后,他必须在笔记本电脑上进行最终备份,并通过模拟检查 PLC 逻辑。这将确保他到现场了解整个过程。之后,携带所有通讯电缆,准备前往现场。如果发现由于时间限制,系统没有得到充分检查,则记下测试过程中观察到的待处理点和逻辑错误。确保在调试时对此进行检查。
    到达现场后,首先全面了解工厂状况。有多少机械工作待处理,有多少电气工作待处理;这是最重要的。另外,检查水、空气和蒸汽等公用设施的状况。记下所有状态并在笔记本电脑上列出日常活动列表。将此文件分享给你的直属上级,以便他知道活动卡在哪里,并可以相应地推动相应的人员完成工作。
    一旦面板被交付测试,就开始检查现场 IO。根据 IO 列表和接线图,相应的现场设备必须相应操作。记下发现的任何问题并联系电气人员解决问题。
    如果 PLC 系统中有通讯设备,也必须检查它们。所有通讯设备必须能够在网络总线上与 PLC 自动化系统正常通讯。
    现场接线确认后,必须检查所有机械装置是否按接线运行。最后,进程运行很重要,如果设备没有响应,则进程将无法正常运行。
    一旦完成所有器件验证部分,下一步就是与工艺工程师验证逻辑。必须检查设备是否按照编写的逻辑运行。如果发现问题,检查是否可以通过逻辑解决,或者是否必须由工艺工程师解决。得出同样的结论并解决。
    这样您的 PLC 调试活动就完成了。保存所有最终备份并将其交给您的上级以确保安全。此外,记下所有最终工艺参数并录制运行工厂的视频以供理解。制作最终报告并由客户签字以证明调试已完成。记下他的任何言论,并确保问题尽早得到解决。
    PLC 调试步骤
    下面简单介绍一下 PLC 调试的主要步骤。
    查看文档:检查系统要求和原理图。 安全检查:验证上锁/挂牌和其他安全协议。 硬件检查:检查 PLC 和 I/O 模块是否有任何损坏。 上电:打开 PLC 并确认基本功能。 建立通讯:建立 PLC 与编程终端之间的链接。 更新固件:如果需要,安装最新的 PLC 软件版本。 配置 I/O:设置输入和输出模块。 加载程序:将初始 PLC 代码下载到系统中。 测试模式:验证各个输入、输出和通信。 回路检查:确保现场设备和 PLC 之间的信号完整性。 逻辑测试:验证 PLC 功能和序列。 模拟:使用模拟输入测试复杂逻辑。 流程启动:开始流程的初始测试运行。 微调:根据测试运行调整 PID 控制器调谐、计时器、计数器和设定值。 更新文档:记录调试期间所做的更改。 功能测试:验证整个系统是否按预期工作。 操作员培训:教操作员如何使用新设置。 创建备份:保存最终的 PLC 程序和配置参数。 客户批准:获得客户或项目经理的签字。 移交:完成系统移交的文档。 这样,我们就看到了 PLC 程序员要遵循的调试步骤。

    leigehong
    PLC 编程有五种语言:梯形图、指令表、结构化文本、功能块图和顺序流程图。每种类型的 PLC 语言都有其自身的优点和缺点。虽然某些语言在视觉上看起来不错并且很容易排除故障,但其他语言具有较低的内存消耗和更快的处理速度。
    使用的最基本的 PLC 语言之一是指令表。它不像其他语言那样出名,并且由于技术过时,只有少数 PLC 程序员使用,但仍然在几乎所有 PLC 制造商的软件中可用。在这篇文章中,我们将了解 PLC 中指令表语言的概念。
    什么是指令列表?
    用指令表语言编写的 PLC 程序由一系列由逻辑控制器顺序执行的指令组成。每条指令由单个程序行表示,并由以下部分组成:
    线路编号 当前值(仅限在线模式) 指令运算符 操作符 可选注释 基本上,如果您见过微处理器中使用的传统汇编语言,那么您很容易就会与这种语言产生联系。它也可以称为梯形逻辑和结构化文本的混合。梯形逻辑是指指令必须以线性方式编写,而结构化文本是指助记符在单词中使用。
    请参阅下图以了解更多信息。第一张图显示了用梯形图语言编写的 PLC 逻辑。逻辑是 – 如果 %M0 开启且 %M1 开启或 %M2 开启,%M3 将开启。

    现在,请参考以下指令列表逻辑。您可以看到每行只有一个组件 - 第一行有 %M0,第二行有 %M1 与下一行进行 AND 逻辑。
    第三行让 %M2 与前一行进行 OR 逻辑,第四行关闭命令,第五行打开输出 %M3。因此,它是梯形逻辑和结构化文本的表示。

    指令表的组成部分
    PLC 指令表的主要组成部分如下所述。
    行号 – 创建新程序行时会生成四位数的行号,并由软件自动管理。上图中可以看出为 0000 到 0004。 当前值——在线模式下,您可以看到各个元素的当前值,如下图所示。在线动画期间,下图中指示其为真或假。 指令运算符 – 该运算符是一种用于执行指令的命令。也可以称为所写逻辑的输入侧和输出侧。它是一个助记符号,用于表示输出端要执行的命令类型以及输出端将如何执行它。例如,上图中,LD 代表加载,通过加载第一位的值开始执行,AND / OR 表示逻辑指令,ST 表示将结果值存储到目标位。 评论——这是可选的。它允许程序员编写任何注释来帮助他轻松排除逻辑故障。
    PLC 编程中的指令表
    下面介绍一些 PLC 的指令表。
    LD – 将操作数的布尔值加载到累加器中。 LDN – 将操作数的布尔值取反后加载到累加器中。 LDR – 当操作数从 0 变为 1(上升沿)时,将操作数的布尔值加载到累加器中。 LDF – 当值从 1 变为 0(下降沿)时,将操作数的布尔值加载到累加器中。 AND – 它在前一个结果和当前操作数之间执行 AND 运算。 ANDN – 它在前一个结果和当前操作数的倒数之间执行 AND 运算。 ANDR – 在前一个结果和当前操作数的上升沿之间执行 AND 运算。 ANDF – 在前一个结果和当前操作数的下降沿之间执行 AND 运算。 OR – 在前一个结果和当前操作数之间执行或运算。 NOT – 它执行操作数的逆运算。 ST – 它采用生成的结果的值。 STN – 它采用生成结果的倒数值。 S – 对操作数进行设置操作。 R——对操作数进行复位操作。 除此之外,它还有其他指令,如跳转、子程序、结束、与、或等,具体取决于 PLC 制造商。
    这样,我们就了解了 PLC 编程中指令表的概念。

    leizuofa
    在工业自动化中,IO 分为三种类型:本地、远程和分布式。 它定义 IO 是位于本地电气面板还是远程网络面板中。 这是根据面板上现场仪表的位置决定的。 不同类型的自动化制造商都有相应的模块,用于使用远程 IO。
    罗克韦尔就是这样的著名品牌之一。 在罗克韦尔 PLC 中,IO通信最常用的网络适配器是 AENT 模块。 该模块可以连接在本地 PLC 以外的位置,并通过以太网通信与其连接。 相应的 IO 与 AENT 模块连接。
    在这篇文章中,我们将了解罗克韦尔 PLC 中 AENT 模块的概念。
    罗克韦尔 PLC 中的 AENT 模块

    如前所述,AENT 模块是一种远程 IO 适配器。 该模块内部没有任何 CPU; 它只是一个网络接口,用于通过以太网 IP 协议与主 PLC 进行现场 IO 通信。 这意味着该模块中不能写入任何逻辑,因为它只会读取配置有该模块的 IO 模块的数据并将其写入主 PLC CPU。
    您最多可以将 64 个 IO 模块与 AENT 模块连接以进行连接。 一般用 1734-AENT 系列来标识。 不仅是 IO 数据,您还可以通过该模块获得 IO 的每个诊断信息。 这使得故障排除更加容易。
    模块通信通过以太网 IP 协议进行,并且为此配备了 RJ45 端口。 它可以以半双工或全双工模式进行通信。 该模块的标准电源为 24V DC。
    IP 地址配置
    在模块中设置 IP 地址的一般方法有 3 种:
    通过设置其上的开关(它有三个数字,表示 IP 地址的最后三位数字) 使用 Rockwell 提供的 BootP/DHCP 软件 使用 Rockwell 提供的 IP 配置软件。 设置 IP 地址后,即可使用该模块与主 PLC 进行通信。
    在 PLC 软件 (Studio 5000) 中,必须在此 AENT 模块中配置 IO 模块。 然后,这些模块通过 AENT 模块将其 IO 状态传达给主 CPU。 该模块可用于星形拓扑或树形拓扑。
    该模块具有以下用于诊断的 LED – 模块状态、网络状态、网络活动、POINT 总线状态、系统电源和现场电源。 您可以通过阅读其目录来获取每个 LED 的详细说明。 这有助于模块的详细故障排除。
    需要注意的是,模块连接的电源最多只能驱动 10 个 IO 模块; 因此,AENT 中每连接 10 个模块后就需要一个电源模块。
    机箱尺寸
    与该模块相关的最重要的术语之一是机箱尺寸。 机箱尺寸是指与 AENT 连接的模块数量。 例如,如果使用 19 个 IO 模块,则必须将 AENT 配置中的机箱大小设置为 20。
    适配器将此机箱尺寸设置存储在非易失性存储器中。 当适配器的非易失性机箱尺寸与其背板上的实际模块数量不匹配时,适配器将不会进行任何 I/O 连接。 此外,一旦您在线,除了离线配置之外,您还需要在线设置此大小。 完成此步骤后,您才可以使用该模块与主 CPU 进行 IO 值通信。
    AENT 模块是更高系列的适配器,因此仅与三种类型的 PLC 一起使用 - Control Logix、Compact Logix 和 Flex Logix。 这样,我们就看到了罗克韦尔 PLC 中使用的 AENT 模块的概念。

    leizuofa
    在本文中,我们将讨论分散式外设或分布式 IO,我们不会研究 TIA Portal,我们只是讨论什么是分布式 IO 以及我们为什么需要它。
    内容:
    什么是外部外设或分布式 IO? 一个简单的例子来解释分布式 IO 的需求。            o 1 台带有 PLC 的机器。
               o 1 台带有 PLC 的机器位于远离安全的地方。
               o 2 台或更多台具有相同 PLC 的机器
               o 已安装具有不同 IO 模块(GSD 文件)的机器
    结论 外围设备
    分布式 IO 设备是用于自动化和控制系统的设备。 它们充当中央控制器 (PLC) 与自动化过程中安装的不同传感器和执行器之间的中介。 将它们想象成从传感器收集信息并将命令传递给执行器的信使。
    分布式 IO
    这种分布式方法简化了接线,您无需将所有电线直接连接到 PLC,而是将这些分布式 IO 设备安装在机器端。 它们从传感器收集信息(例如温度或运动)并向执行器(例如电机或阀门)发送命令。 这使得整个系统工作流畅,布线更少,也更容易管理和扩展,从而提高了系统的灵活性。
    在下一节中,我们将使用一些示例以更简单的方式解释分布式 IO 的想法和需求。
    简单举例说明分布式 IO 的必要性
    假设我们有一台生产机器,这台机器是通过 PLC 控制的,任何类型的 PLC,见图 1。

    图 1.  通过 PLC 控制的生产机器。
    正如您所看到的,控制机器的 PLC 安装在现场机器侧。 我们知道 PLC 被设计为能够在恶劣的环境下运行,因此将 PLC 安装在机器侧并不是一个坏主意,因为我们知道它将能够承受与机器相关的不同运行条件, 环境温度高、湿度大、震动等造成的枯萎。
    现在,如果我们需要修改流程并增加对机器的控制,这意味着我们需要增加机器的输入和输出数量,这意味着我们需要获得更大数量的 PLC IO,或者至少我们需要将 IO 模块添加到当前的 PLC。
    您应该知道,向当前 PLC 添加额外的 IO 模块将取决于您为项目选择的 PLC,因为每个 PLC 都有您可以添加到 PLC 的最大 IO 数量。
    因此,如果我们需要的额外 IO 数量超过了我可以添加到 PLC 的最大 IO 数量,那么我将不得不购买更大的 PLC,这意味着将您的软件重写到新的 PLC 或至少迁移您的软件 项目。 见图 2。

    图 2. 用于新机器扩展的更大 PLC。
    因此,对于新的扩展,我们必须购买更大的 PLC。
    现在,我们说 PLC 可以在现场安装,并且它的设计能够承受恶劣的环境,但通常情况并非如此,通常情况下,PLC 安装在远离条件良好且受到保护的地方,例如 MCC 房间。
    这意味着我们过程的每个输入或输出信号都必须从机器侧连接到 PLC(MCC室),因此如果我有 100 个 IO 信号,那么我将不得不在机器和 PLC 之间拉动 100 个信号电缆 。 如果我将来需要进行任何扩展,我将不得不拉动额外的新电缆。 见图 3。

    图 3. MCC 机房内安装 PLC。
    正如您所看到的,我们现在必须为流程中的每个 IO 信号在 PLC 和机器之间拉一根电缆。 这对于 IO 数量较少的小型机器来说是可以接受的,但对于具有大量 IO 的大型进程来说就不是那么容易接受了。
    因为这将包括拉动大量电缆,这将增加该过程的成本,并且还会引入需要注意的新问题,例如电缆管道、EMC 兼容性、电缆桥架以及更多额外的考虑因素。
    这就是外部外设或分布式 IO 模块变得非常有用的地方。 见图 4。

    图 4.  使用分布式 IO 设备。
    分布式 IO 模块简单来说就是安装在机器端的 IO 模块,用于收集过程的所有输入并发送给 PLC,也可以从 PLC 获取输出信号并发送给相关的执行装置。
    从图中可以看到,PLC 和机器之间的连接现在是通过在分布式 IO 设备和 PLC 之间拉一条通信电缆来完成的。 分布式 IO 设备具有多种通信功能,在我们的示例中,我们假设采用 Profinet 通信,因此颜色为绿色。
    使用分布式 IO 设备将为您带来扩展过程 IO 的优势,而无需安装更大的 PLC。 您只需将新的 IO 添加到设备中,PLC 之间的通信仍然使用 Profinet 或任何其他通信方法进行通信。
    您甚至可以使用同一个 PLC 控制全新的机器,只需将新的通信电缆从 PLC 拉到新机器即可。 见图 5。

    图5.用同一个 PLC 控制 2 台机器。
    正如您所看到的,要使用 PLC 控制一台全新的机器,我只需要一根连接 PLC 和机器的额外通信电缆。 当然,您需要确保您的 PLC 功能可以处理和控制两台机器。
    另一件事是,分布式 IO 可以与不同品牌的 PLC 一起使用,这意味着我可以将不同品牌的分布式 IO 与西门子 PLC 一起使用。 见图 6。

    图 6. 使用不同品牌的分布式 IO。
    如图所示,一台机器使用 SIEMENS 分布式 IO 设备,另一台机器使用 Schneider 分布式 IO 设备,并且两台机器都将通过同一台 PLC 进行控制。
    结论
    分布式 IO 设备用于扩展控制系统的范围,允许长距离连接大量传感器和执行器。 与传统的机器 - PLC 信号连接相比,分布式 IO 减少了所需的接线量。 在分布式 IO 系统中添加或删除设备很容易,使其具有高度可扩展性和可靠性。

    leizuofa
    在之前的文章中,我们介绍了分布式 IO 模块的概念,以及如何使用 PLC 配置 IO 模块。 在本文中,我们将展示如何在 PLC 系统之间进行分布式 IO 共享。
    内容:
    问题描述。 与两个 PLC 共享 IO 设备。 将不同的内部模块分配给 PLC。 问题描述
    在上一篇文章中,我们展示了如何将分布式 IO 模块与 PLC 连接和配置,并通过该 PLC 控制分布式模块的 IO 点。 在本文中,我们讨论需要将同一分布式 IO 模块与两个不同 PLC 一起使用的情况。 见图1。

    图 1. 两个不同的 PLC 项目。
    PLC 系统之间的分布式 IO 共享
    想象一下,我们需要在两个 PLC 之间共享分布式模块的输入和输出点。 在两个 PLC 之间共享分布式 IO 模块是可能的,但并非所有模块都能做到这一点,但大多数现代模块都可以。
    共享信息的另一种方法是将所有信息从分布式 IO 获取到一个 PLC,并在两个 PLC 之间建立通信,然后交换所需的数据。 这将在另一篇文章中展示。
    在分布式 IO 设备(IO设备_1)中,我们配置了许多 IO 模块,例如 4DIx24VDC 模块、8DOx24VDC 模块、2DIx24VDC 模块以及更多模块。 见图 2。

    图 2. 我们的 IO 设备中的不同 IO 模块。
    与两个 PLC 共享 IO 设备
    在本文中,我们将假设正如您从图片中看到的那样,我们要通过 PLC_1 控制 4DIx24VDC 模块和 8DOx24VDC 模块,并且我想从 PLC_2 控制 2DIx24VDC 模块和 2DOx24VDC 模块。
    所以我想在两个 PLC 之间共享不同的模块,从而共享名称设备。
    如图 1 所示,分布式 IO 设备(IO 设备_1)已经是 PLC_1 的扩展,正如我们在上一篇文章中设置的那样,但我们还需要将其设为 PLC_2 的扩展,以便可以在两者之间共享 PLC。 见图 3。

    图 3.  IO 设备是 PLC_1 的扩展
    通常,在执行此操作时,我们会将每个 PLC 置于不同的 TIA Portal 项目中,但由于我们没有真正的硬件设备,因此我们将仅使用一个 TIA Portal 软件项目来演示如何在两个 PLC 之间共享分布式 IO 模块 。
    我们有一个项目有两台 PLC。 我们需要将 IO 设备_1 分配给 PLC_1 和 PLC_2
    为此,请在网络视图中复制该模块并将其粘贴到您的项目中以拥有两个模块。 见图 4。

    图 4. 复制并粘贴 IO 设备。
    现在,我们需要将此 IO 设备分配给 PLC_2,就像我们在上一篇文章中对 PLC_1 所做的那样。 见图 5。

    图 5. 将模块分配给 PLC_2
    现在,如果您尝试将项目下载到两个 PLC,PLC_1 将能够找到 IO 模块。 但是,PLC_2 将无法找到 IO 模块,因为没有名为 IO device_2 的实际硬件模块,我们只有一个硬件 IO 设备,并且从上一篇文章开始,它被配置为名称 IO device_1,这就是为什么 PLC_2 将 找不到 IO 设备。 见图 6。

    图 6.  通过设备网络名称进行连接。
    因此,我们需要为两个 IO 模块指定相同的设备网络名称,见图 7。

    图 7. 网络设备名称
    如您所见,IO 模块的网络设备名称为 IO device_1,其他 IO 模块见图 8。

    图 8. 第二个 IO 模块的网络设备名称。
    此处,网络名称为 IO device_2。 我们需要为两个 IO 模块指定相同的名称,以便两个 PLC 都能找到它并连接到它。
    取消选中自动名称生成选项,这样我们就可以更改名称并将它们都设为 IO device_1,同时确保两个模块中红色区域内的所有信息相同。 见图 9。

    图 9.取消点击自动生成选项。
    在我们将两个模块的信息更改为相同后,请检查图片 10a 和 10b。

    图 10a.  第二个 IO 模块。

    图 10b.  第一个IO模块
    现在两个 IO 模块是相同的,两个 PLC 都可以找到 IO 模块并与其通信。 见图 11。

    图11.  两台 PLC 都能找到 IO 模块。
    到目前为止,我们假设两个 PLC 都位于同一个 TIA Portal 项目中。
    但是,如果我们与另一个 TIA Portal 项目中的控制器共享 IO 模块,我们将执行与之前相同的操作,但会添加一个额外的步骤。
    在此步骤中,我们将转到 IO 模块的属性并更改共享设备 IO 周期选项,如图 12 所示。

    图 12. 项目外部的 IO 控制器
    从图中可以看到,如果两个 PLC 属于不同的 TIA Portal 项目,我们将红框内的值改为 1。
    由于我们在同一个项目中拥有两个 PLC,因此我们将其保持为零。
    现在两个 PLC 都可以看到 IO 设备并与其通信,我们需要告诉 IO 模块,哪些内部模块应该与哪个 PLC 通信。
    正如我们在图 2 中提到的,我们需要一个 4DIx24VDC 模块和 8DOx24VDC 模块来与 PLC_1 通信,我想从 PLC_2 控制2DIx24VDC 模块和 2DOx24VDC 模块。
    我们可以按照以下步骤来做到这一点。
    为 PLC 分配不同的内部模块
    首先进入 IO 设备_1 的属性,您会发现 IO 设备的所有内部模块都属于 PLC_1。 见图 13。

    图 13. IO 模块的共享设备。
    从图中可以看到,访问 IO 设备的所有内部模块都分配给 PLC_1,但是正如我们之前提到的,我们需要 PLC_2 访问最后两个内部模块 2DIx24VDC 模块和 2DOx24VDC 模块。
    为此,只需右键单击所需的模块并取消选择 PLC_1 选项,并将其设为空白以指示该模块将通过不同的控制器进行控制。 见图 14。

    图 14. 取消选择内部模块。
    如果取消选择 PLC_1 选项后检查 IO 设备_1 的设备概览,您将看到这些内部模块没有为 PLC_1 分配地址,表明它们属于其他位置。 见图 15。

    图 15.  未分配给 PLC_1 的模块无寻址
    现在,我需要将这两个模块分配给 PLC_2 的 IO device_2。
    通过执行与之前相同的步骤,转至 IO 设备_2 的共享设备属性,并仅将 PLC_2 分配给两个需要的模块。 见图 16。

    图 16. 将所需模块分配给 PLC_2
    现在,2DIx24VDC 模块和 2DOx24VDC 模块已分配给 PLC_2,如果您检查设备概述,您会发现它们的寻址方式与我们想要的 PLC_2 相同。 见图 17。

    图 17. 寻址属于 PLC_2
    这就是我们如何在两个 PLC 之间共享一个 IO 模块,无论它们位于同一个 TIA Portal 项目中还是位于两个不同的项目中。

    caixiaofeng
    PLC 之间可以通过多种方式进行通信和对话,在本文中我们将讨论其中一种方法,即如何使用 i-device 功能在 PLC 之间建立西门子通信,以进行 PLC 到 PLC 的数据传输。
    什么是智能设备功能?
    I-Device 功能可用于非常轻松地在两个 PLC 之间交换数据。 智能设备就是用作 IO 设备的 PLC。 这意味着 PLC 将充当 IO 模块,为其他 PLC 提供输入并接收输出。
    智能设备功能使 PROFINET 不仅可以与 IO 控制器等下级设备进行通信,还可以作为 IO 设备与其他上级或中央控制器进行 IO 通信。
    西门子 PLC 之间的通信
    大多数 S7 系列 PLC 支持 I-Device 功能,但某些控制器不支持,具体取决于固件版本,例如:
    S7-300(固件版本 V3.2 及以上) S7-1200(固件版本 V4 及以上) 您可以通过进入 PLC PROFINET 接口属性并检查 “操作模式” 选项来简单地了解您的控制器是否具有智能设备功能。 见图 1a 和 1b。

    图 1a. PLC 不支持智能设备
    从图中我们看不到 “运行模式” 选项,因此我们知道 PLC 不支持智能设备功能。

    图 1b. PLC 支持智能设备功能
    从图中可以看出,该 PLC 支持智能设备功能。
    具有 “智能 IO 设备” 配置的 PLC 称为智能设备。 I-Device 就像标准 IO 设备一样,需要像标准 IO 设备一样进行处理。 这意味着智能设备还连接到更高级别的 IO 控制器。
    因此,智能设备将充当 IO 模块,但它仍然是 PLC,因此如果您愿意,它仍然充当控制器。
    数据交换概念
    I-Device 方法的指导原则是使用 CPU 中已知的过程映像。 从更高级别的 IO 控制器的角度来看,与智能设备的通信类似于与分布式 IO 的通信,在输入和输出处进行通常的读写过程。
    从智能设备的角度来看,到更高级别 IO 控制器的数据传输也类似于通过输入和输出到本地或分配的分布式 IO 的数据传输。
    智能设备配置选项
    配置有两种可能性:
    在项目中配置智能设备。 配置在另一个项目中使用的智能设备 为另一个项目组态智能设备时,STEP 7 允许您通过将已组态的智能设备导出到 GSD 文件中来完成此操作。 GSD 文件可以像其他 GSD 文件一样导入到其他项目或其他工程系统中。
    这不仅可以实现项目内部的通信,还可以通过经过验证的方式实现跨项目的通信以及不同制造商之间的数据交换。 我们将在另一篇文章中展示这一点。
    在本文中,我们将展示同一西门子 PLC 项目中智能设备的配置。
    同一 PLC 项目中的智能设备配置
    我们假设项目中有两个 PLC,CPU 1516-3 PN/DP 将充当此配置中的控制器,CPU 1214C 将充当智能设备。
    首先将两个 PLC 添加到 TIA Portal 项目中,并在它们之间设置 Profinet 连接。 见图2。

    图 2. 两台 PLC 之间建立连接。
    现在,我们需要将 CPU 1214C PLC 配置为智能设备。
    您可以通过转到 Profinet 接口属性并在操作模式选项中单击 IO 设备选项来完成此操作。 见图3。

    图 3. 选择 IO 设备。
    之后,您需要将智能设备分配给更高级别的控制器,即我们项目中的 CPU 1516-3 PN/DP PLC。
    为此,只需从分配的 IO 控制器下拉列表中选择该 PLC。 见图4。

    图 4. 将智能设备分配给控制器。
    此后,智能设备现已连接并分配给控制器 PLC。 见图5。

    图 5. 智能设备被分配给控制器 PLC。
    下一步是在智能设备和控制器之间通过所谓的传输区域交换数据。
    创建传输区域
    传输区域是用于在智能设备和更高级别 IO 控制器之间交换数据的 IO 区域。
    转到 “智能设备通信” 部分。 单击 “传输区域” 列的第一个字段。 TIA Portal 将创建一个您可以更改的预定义名称。 从图 6 可以看出。

    图 6. 创建传输区域
    选择通讯关系类型:目前只能选择 CD。 见图7。

    图 7. 选择 CD 通讯选项。
    选择 CD 选项后,将创建一个传输区域,并自动创建 IO 控制器和智能设备的地址。 见图 8。

    图 8. 创建传输区域。
    地址是自动预先分配的,如果需要,您可以根据您的环境调整地址并指定要传输的传输区域的长度一致。
    要像以前一样创建另一个传输区域,只需按 “添加新” 即可,见图 9。

    图 9.添加新的传输区域。
    正如我们之前所说,数据交换基于简单的处理图像概念,这意味着您始终发送输出并接收输入。
    另请注意,您在上图中看到的箭头表示智能设备和控制器之间的信息流。 因此,如果我将数据从控制器发送到智能设备,则箭头将从控制器到智能设备,并且将输出控制器的地址,并且将输入智能设备的地址,反之亦然,如您所见 上一张图片。
    另请记住,最好将传输区域重命名为正确的指示名称。 见图 10。

    图 10. 重命名您的传输区域。
    加载 PLC 项目
    要加载 PLC 项目数据,请在项目导航中依次选择两个控制器,并将项目加载到相应的模块中。
    请注意,由于我们没有实际的硬件设备,因此无法模拟此功能。

    caixiaofeng
    在本文中,我们将讨论两个 PLC 之间通信的另一种方式,无论它们位于同一项目还是两个不同的 PLC 项目中。 在本文中,我们将讨论西门子 PLC 中的 PUT 命令,该命令可用于将数据从一个 PLC 发送或放入第二个 PLC。
    什么是 PUT 命令?
    一般来说,PUT 命令是 TIA Portal 内置功能块 FB,专门用于 S7 系列 CPU,用于将数据从本地 PLC 传送到远程伙伴 PLC。
    使用 PUT 命令时,我将有两个 PLC,我需要将数据从一个称为本地的 PLC 发送到另一个称为伙伴的 PLC。
    必须对伙伴 PLC 进行一些配置,以使其能够被其他 PLC 访问。 除了 PLC 之间的 Profinet 连接之外。
    我们将创建一个示例项目来展示如何使用 PUT 命令。
    西门子 PLC 中的 PUT 命令
    我们将假设一个示例项目,其中同一项目中有两个 PLC,PLC_1 将充当本地 PLC,PLC_2 将充当合作伙伴 PLC。
    我们想要将一个整数从本地写入伙伴 PLC。
    PLC 项目示例
    首先,我们创建一个新项目并添加两个 PLC。 见图1。

    图1.添加本地和伙伴 PLC。
    我现在需要的是配置 PLC_2,即接收数据的 PLC_2,以便能够接收该数据。 PLC_1 将与 PUT 命令一起使用。
    我需要做的第一件事是允许 PUT 命令访问将接收数据的 PLC_2。 见图2。

    图 2. 允许 PUT 命令访问。
    如图所示,我们允许 PUT 命令从 PLC_2 的属性中访问 PLC_2,在保护和安全选项中,单击
    “允许远程伙伴通过 PUT/GET 通信进行访问”
    现在,我可以使用 PUT 命令将来自任何远程伙伴的数据放入 PLC_2。
    第二件事是在 PLC_2 中为要放入其中的数据准备一个空间或内存。 我们假设我们想要将一个整数值放入该 PLC 中,因此我将根据该值准备一个内存。 见图3。

    图3. 准备接收数据的区域。
    就是这样; 这是您需要从 PLC_2 侧准备的完整配置,以便能够通过 PUT 命令接收数据。
    接下来,我们设置从 PLC_1 发送的数据。 我们将创建一个数据块来保存发送到 PLC_2 的数据,在该数据块内,我们将定义一个要放入 PLC_2 的整数标签。 见图4。

    图4. 创建数据块来保存发送的数据。
    我们定义了一个要发送到 PLC_2 的整数标签 “SendMeToPLC_2”。 见图5。

    图5.定义要发送的数据。
    请注意,对于 PLC_1,我们不需要允许使用 PUT 命令选项进行访问。 我们在将接收数据的 PLC 中激活此功能,而不是在将发送数据的 PLC 中激活此功能。
    现在,让我们在编程中使用 PUT 命令,在主 OB1 中我们将拖放 PUT 命令 FB。 见图6。

    图6. 将PUT命令添加到OB1中。
    需要注意的是,PUT命令是在S7通讯文件夹中找到的,因为它是S7系列PLC的专有功能,因为它涉及到安全问题。 请记住,在图 2 中,当我们允许使用 PUT 命令时,它位于 PLC 属性的安全和保护属性中,因为它与 PLC 安全和保护相关。
    PUT 命令本质上是一个功能块,因此当将其添加到我的逻辑中时,我将被要求创建一个数据实例。 见图7。

    图 7. 为 PUT 命令创建数据实例。
    按“确定”后,PUT 命令现已添加到您的 PLC 逻辑中。 见图8。

    图 8. PUT 命令
    添加 PUT 命令后,现在我们需要对其进行配置,我们为 PUT 命令配置两个参数。
    PLC 之间的连接
    将从 PLC_1 PUT 到 PLC_2 的块
    要转到 PUT 命令的配置视图,请按最后一张图片中显示的蓝色小图标。
    在连接参数中,您将设置本地 (PLC_1) 和伙伴 (PLC_2) PLC 之间的通信。 见图9。

    图9. 连接参数。
    如您所见,本地 PLC 设置为 PLC_1,这是使用 PUT 命令的 PLC。 伙伴端仍然是空的,这就是我们应该分配 PLC_2 的地方。
    如果您单击下拉列表,您将有两个合作伙伴选项。 见图10。

    图10. 合作伙伴连接
    伙伴是接收数据的 PLC; 您会发现有两个选项可供选择:
    PLC_2 [CPU 1516-3 PN/DP] 未指定 因为两个 PLC 都在同一个项目中,所以当我选择 PLC_2 选项时,所有连接参数都会自动填写。见图11。

    图 11. PLC_2 作为伙伴
    另一方面,如果合作伙伴PLC来自不同的项目,那么我将选择“未指定”选项,在这种情况下,我将必须填写一些数据,例如合作伙伴PLC的IP地址。 见图12。

    图12. 未指定的合作伙伴
    如您所见,在这种情况下,我需要填写一些数据,例如 IP 地址,还需要为 PLC_1 添加子网。
    要为 PLC_1 添加子网,我们将转到 PLC_1 的 Profinet 属性并选择添加子网选项。 见图13。

    图 13. 添加子网。
    完成后,连接参数配置就完成了。 见图 14。
    对于您发出的每个 PUT 命令,连接名称应该是唯一的,TIA Portal 将自动为其指定一个新名称,但您最好为项目中的连接分配一个更合适的名称。 我们这里保持原样。

    图14.连接参数完成
    PUT 命令配置的下一步是块参数设置。
    在这些参数中,我们指定 PUT 命令的触发器,这意味着什么信号将启动 PUT 命令操作。 以及将从 PLC_1 放入哪些数据以及将其存储在 PLC_2 中的何处。 见图15。

    图 15. 模块参数设置
    对于开始请求 (REQ) 信号,我们定义了一个输入标签 (SendData %I0.0)。 正如我们之前提到的,我们已经定义了将发送到 PLC_2 的标签以及它将在 PLC 内存储的位置。
    完成块参数配置后,PUT 命令的配置也就结束了。 见图16。

    图 16. 调用 PUT 命令
    所以,综上所述,当 REQ 信号被触发时,SD_1 中的数据将被发送到 ADDR_1。

    caixiaofeng
    在上一篇文章中,我们讲了如何使用开放用户通信在两个 PLC 之间建立连接,我们使用 TCP 协议在两个 PLC 之间进行连接。 我们在文章中展示了如何使用 TCON 和 TDISCON 等指令来建立此连接。
    在 PLC 之间移动数据
    在本文中,我们将展示如何开始在上一篇文章连接的 PLC 之间移动数据。 为此,我们将使用 TSEND 和 TRCV 块。
    发送数据至 PLC_2
    我们将在上一篇文章中创建的项目的基础上进行构建,这意味着我们的项目中已经安装了 TCON 和 TDISCON 块。 我们将通过添加 TSEND 和 TRCV 块来继续我们的项目,以开始在两个 PLC 之间移动数据。
    要将数据从 PLC_1 发送到 PLC_2,我们首先创建一个数据块,该数据块将保存我们需要发送到 PLC_2 的所有信息。 见图1。

    图 1. 新建一个数据块。
    正如我们之前讨论的,更好的做法是为块提供正确的命名,这样就可以轻松直观地弄清楚每个块的用途。
    其次,让我们在数据块中添加一些要发送到 PLC_2 的数据。
    我们假设我们需要发送三个不同的数据标签。 见图 2。

    图 2. 定义一些数据发送到 PLC_2。
    为了能够将刚刚创建的数据块发送到 PLC_2,我们还需要做一件事,即确保未选择数据块的优化块访问。
    为此,我们需要转到数据块的属性并取消选择该选项。 见图 3 和 4。

    图 3. 进入数据块属性。

    图 4. 取消选中 “优化块访问” 选项。
    确保在使用 TSEND 块之前取消选中此选项,否则它将不起作用。
    现在我们已经准备好了要发送到 PLC_2 的数据,让我们实际尝试发送它。 我们将通过使用 TSEND 块来做到这一点。 只需将指令拖放到主 OB1 中即可将其添加到您的逻辑中。 见图 5。

    图 5. 添加 TSEND 块。
    添加 TSEND 块时,系统会要求您创建一个实例数据块,因为它本质上是一个功能块,再次给它一个适当的名称。见图 6。

    图 6. 为 TSEND 创建数据实例。
    当 TSEND 块添加到您的逻辑中时,您会发现我们需要进行一些重要的配置。 见图 7。

    图 7. TSEND 块。
    正如你所看到的,我们需要进行一些配置:
    REQ 信号允许发送数据。 对于 REQ 信号,我们将定义一个标签 SendData,用于启用数据发送。
    我将用来发送数据的连接的 ID,因为我可以有多个连接,所以我需要指定将使用哪个连接。 在上一篇文章中,我们为 PLC_1 和 PLC_2 之间的连接定义了 ID 1,因此我们将ID设置为 1。
    我需要发送的数据。 我们已经创建了一个数据块,其中包含我需要发送的所有信息,我们只需将数据块拖放到 TSEND 块中即可。 见图 8。
    图 8. 配置 TSEND 块。
    从 PLC_1 接收数据
    当我们设置 TSEND 将数据发送到 PLC_2 后,我们需要在 PLC_2 内部接收这些数据。为此,我们将使用 TRCV 块。见图9。

    图 9. 添加 TRCV 块。
    如您所见,只需拖放 TRCV 块即可将其添加到您的逻辑中。 您知道接下来我们需要为该块创建一个数据实例。 见图 10。

    图 10. 将数据实例添加到 TRCV 块。
    将 TRCV 块调用到您的逻辑中后,我们需要像配置 TSEND 一样配置一些参数。 见图 11。

    图 11. TRCV 模块。
    如您所见,EN-R 是一个使能信号,必须为真才能允许 TRCV 模块开始接收数据。 ID 是将要使用的连接,DATA 是将存储接收到的数据的位置。
    因此,我们需要创建一个数据块来接收其中的数据。 请记住给它一个合适的名称。 见图 12。

    图 12. 创建数据块接收数据。
    接下来,定义将从 PLC_1 接收的信息标签,最佳实践是确保数据块具有与将接收的数据相同的数据结构。 见图 13。

    图 13. 定义数据标签。
    对于 EN-R,我们将定义一个 RecieveData 标签来启用数据接收。 对于连接 ID,它是我们之前设置的 1。 见图 14。

    图 14. EN-R 信号。
    接下来,将我们创建的数据块拖放到 TRCV 块中以完成所有配置。 见图 15。

    图 15. 将数据块添加到 TRCV 块中。
    当您拖放我们创建的 DB 时,您会注意到 TIA Portal 发出警告,并且它不接受我们刚刚添加的数据块。
    这是因为我们没有像对 TSEND 那样取消选中数据块的“优化块访问”。 见图 16。

    图 16. 优化的块访问。
    正如我们之前所说,我们必须取消选中此选项,否则 TSEND 和 TRCV 将无法工作。 见图 17。

    图 17. 取消选中优化块访问选项。
    您可以看到,一旦我们取消选中 “优化块访问”,TRCV 指令就会接受数据块。
    现在 TSEND 和 TRCV 块的调用和配置已完成。 让我们模拟一下我们的项目,看看数据将如何发送和接收。
    首先,我们将创建一个简单的逻辑,确保我们定义的标签有数据值。
    自动创建数据值的简单逻辑
    我们将创建一个简单的逻辑来自动创建和更新数据值,以便更容易查看两个 PLC 之间的数据传输。 见图 18。

    图 18. 简单的逻辑。
    这个简单的逻辑将使用时钟位 %M50.5 自动更改 SendToPLC_2 数据块内存储的数据值。
    PLC 项目仿真
    让我们编译我们的项目并开始模拟。 我们需要做的第一件事是使用我们上一篇文章配置的 TCON 块在两个 PLC 之间建立连接。
    请记住,我们需要启用 PLC_2 的连接功能并建立与 PLC_1 的连接。 见图 19、20 和 21。

    图 19. PLC 之间无连接

    图 20. 启用连接。

    图 21. 建立连接。
    现在,我们在两个 PLC 之间建立了连接,让我们按照设置将数据从 PLC_1 移动到 PLC_2。
    首先,将 SendData 标记设置为 TRUE。 见图 22。

    图 22. REQ 信号为真。
    您可以看到,即使 SendData 为 TRUE,PLC_1 也没有向 PLC_2 发送数据。 这是因为 TRCV 模块尚未启用以接收任何数据。 见图 23。

    图 23. EN-R 信号错误。
    如您所见,由于 RecieveData 尚未为 TRUE,因此未启用 TRCV 模块来接收任何数据。 一旦 EN-R 为真,数据将从 PLC_1 的数据块发送到 PLC_2 的数据块。 见图 24。

    图 24. EN-R 信号为 True。
    一旦 EN-R 为真,您可以看到数据从 PLC_1 移至 PLC_2。
    如果你打开工程自己模拟一下,你会发现 PLC_1 中的数据不断更新,并传输到 PLC_2 中。
    这就是我们如何在两个 PLC 之间建立通信并使用 TSEND、TRCV 块。

    caixiaofeng
    PLC 改造项目涉及用更新、更先进的版本更新或替换旧的 PLC(可编程逻辑控制器)系统。 这样做是为了提高性能、添加新功能或保持与现代技术的兼容性,同时最大限度地减少完全更换现有设备的需要。
    PLC 改造项目
    当您在任何系统中工作时,无论是工业自动化还是其他任何系统,您并不总是需要调试全新的工厂。
    有时,旧工厂无法按照预期结果正常运行。 这意味着不是整个系统,而是某些部分。 它可能是 PLC 系统或电气系统或机械系统。
    与其改变整个系统,不如只用新系统替换该部分。 其余系统将保持原样。 这称为改造。 这是工程师需要学习的一个非常重要的方面。
    在这篇文章中,我们将看到与改造 PLC 系统相关的步骤。
    为什么需要 PLC 改造?

    当您拥有 PLC 系统时,您必然会遇到有时会出现故障的情况。 对于任何系统(不仅是 PLC)来说,这是一个自然的考虑因素,并不意味着 PLC 系统每次都会出现故障。 这是考虑到的最坏情况。
    目前,除 PLC外,其余电气、机械系统均工作正常。 PLC 系统更换需求的常见原因是 – 逻辑中反复出现错误、过时的 PLC 已发生故障且在市场上不再可用、PLC 中反复出现的固件或硬件故障以及无可用服务。
    在这些情况下,最好的选择是仅更换 PLC 系统,而不是更换整个系统。 这称为 PLC 改造工作。 基本上,您要么将 PLC 升级到新的,要么完全用新品牌替换它。
    这降低了成本,不影响原来的工作工厂,节省时间并提高可靠性。 基本上,工厂的工作逻辑将保持不变; 您只需用新硬件替换它并运行工厂即可。
    PLC 改造项目流程
    第一步是研究 PLC 的控制面板图。 每个 PLC 都有自己不同的接线版本以及汇源概念。 所以,有必要先了解一下原来的接线。 这将帮助您根据当前的 PLC 准备新的 IO 列表。 因为如果一味地使用相同的 IP 列表,那么当您安装新的 PLC 时,您大多会遇到现场接线问题
    如果可能的话,获取旧程序。 如果不可能,则在前往现场之前在办公室制定新的逻辑。 另外,与客户或最好的情况(最终客户端)一起测试逻辑。 最终客户将提供最大的帮助,因为他们已经操作了旧的 PLC 系统,并且可以帮助快速解决问题。 客户可以帮助深入检查流程。 如果在前往现场之前对程序进行测试,那么它将大大减少您在现场的时间。
    尝试匹配屏幕并开发图形,就像旧的运行屏幕一样。 这将帮助操作员按照习惯更轻松地运行工厂。
    一旦逻辑和图形准备就绪,就可以与接线员一起规划现场。 接线员首先将新的 PLC 替换为旧的 PLC,然后用万用表交叉检查所有点。 这是为了确保所有点是否已按照新接线连接。 需要注意的一件重要事情是,改造需要适当的关闭,因此在计划现场访问之前请务必确保。
    在断电情况下对接线进行环路检查后,启动系统并下载 PLC 和图形中的最新程序。 现在,首先,您必须检查 IO。 这是非常关键的一步,因为您要用新线路替换旧线路。 现场的所有信息办公室必须以与之前相同的方式做出响应。 如果没有这个,您就无法以自动或手动模式运行设备。
    现在,检查编写的逻辑,看看它是否按照早期系统执行。 所有安全联锁、许可条件、顺序和其他逻辑必须以与旧系统相同的方式工作。 如果工作正常,必须得到客户和最终客户的批准以进行验证并在报告中提及。
    制作所有最终报告,存储最终备份,并拍摄正在运行的系统的照片和视频。 这可以确保您完成的改造 PLC 项目有一份完成报告。
    PLC 项目概要
    评估现有的 PLC 系统,确定改造需求,并确定项目目标、范围和限制。 设计详细的新系统计划,确保与现有机械和网络的集成,并制定迁移策略。 备份当前系统中的所有程序、数据和文档并准备恢复计划。 采购新的 PLC 和任何附加硬件,确保兼容性和可用性。 为安装场地准备必要的安全措施,并根据需要安排停机时间。 退役旧的 PLC 系统并安装新的 PLC 和相关硬件。 将程序逻辑传输或重写到新的 PLC,测试所有功能和通信。 对新系统进行全面测试,验证性能并进行必要的调整。 对人员进行新系统操作和维护方面的培训,并更新或创建系统文档。 正式切换到新的 PLC 系统,密切监控问题,并提供必要的支持。 进行实施后审查,以评估成功情况、记录经验教训并规划未来的维护或升级。

    caixiaofeng
    在本文中,您将学习通过开关控制 LED 的 PLC 示例并了解梯形图逻辑解释。
    此 PLC 示例专为工科学生学习和练习梯形图逻辑而设计。 相同的 PLC 程序在工业用途上的实现会有所不同。
    PLC 示例
    为以下应用设计 PLC 梯形逻辑。
    我们使用三个开关来控制三个 LED。
    如果任意 1 个开关打开,则 LED I 将亮起。
    如果任意 2 个开关打开,则 LED II 将亮起。
    如果 3 个开关全部打开,则 LED III 将亮起。
    在上一篇文章中,我们讨论了使用拨动开关的相同 PLC 示例,了解逻辑。
    输入
    下面列出了所需的数字输入。
    开关 1:I0.0
    开关 2:I0.1
    开关 3:I0.2
    输出
    下面列出了所需的数字输出。
    电机 1:Q0.0
    电机 2:Q0.1
    电机 3:Q0.2
    通过开关控制 LED 的梯形图

    梯形图逻辑解释
    对于此应用,我们使用 EcoStruxure Machine Expert Basic v1.2 软件进行 PLC 编程。 在上面的程序中,我们为开关 1 (I0.0)、开关 2 (I0.1) 和开关 3 (I0.2) 使用常开触点和常闭触点 在 Rung0 中,当任意 1 个开关(常开触点)打开且其他 2 个开关(常闭触点)关闭时,LED 1 将打开。 要打开 LED 2 Rung1,任何 2 个作为常开触点的开关应打开,其余 1 个作为常闭触点的开关应关闭。 为了使 LED 3 点亮,Rung2 中的开关 1、开关 2 和开关 3 串联,从而实现 AND 逻辑门。 当所有三个开关都打开时,LED 3 将打开。 当任意 1 个开关打开时

    信号在真实状态下流过开关 1。 在假状态下,开关 2 和开关 3 还将信号传递到输出。 因此,LED 1 将亮起。

    当开关 2 打开且开关 1 和开关 3 处于常闭触点状态且关闭时,LED I 将打开。

    当开关 3 接通且其他 2 个常闭触点开关断开时,LED 1 将亮起。
    打开多个开关将会断开电路。 常闭触点在真实状态时不允许发出信号。 结果,LED 1 将关闭。
    当任意 2 个开关打开时

    当开关 1、开关 2 打开并且开关 3 关闭时,LED 2 将打开。 开关 3 作为常闭触点,处于假状态时,将允许信号通过。

      当开关 1 和开关 3 打开并且开关 2 关闭时,LED 2 将打开。 开关 2 在错误状态时将允许信号。

    信号流经开关 2 和开关 3,因为它们处于真实状态。 在假状态下,开关 1 还将信号传递到输出。 因此,LED 2 将亮起。
    当两个以上输入打开时,用于第三个开关的常闭触点在真实状态下不会闭合电路。 因此,LED 2 将熄灭。
    当 3 个开关全部打开时

    当三个开关 SWITCH 1 (I0.0)、SWITCH 2 (I0.1)、SWITCH 3 (I0.2) 全部打开时,LED 3 将亮起并关闭其他两个输出。

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