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

    PLC, DCS, HMI and SCADA product application technical articles

    leizuofa
    在任何 PLC 中,了解其指令的编写方式都很重要。 所有语言的基本理解都是相同的; 不同之处在于它的说明方式。 如果我们清楚地了解说明,那么我们就可以使用任何类型的 PLC 软件。
    自动化领域使用最广泛的品牌之一是罗克韦尔。 其中有许多不同类型的指令用于编程。 其中,有两条指令是任何 PLC 逻辑中最需要的。 它们是——单次上升沿和单次下降沿。 在这篇文章中,我们将看到这两条指令的工作原理。
    一触发上升沿 (OSR)
    在 PLC 编程中,您一定听说过两种常见的对象类型——正峰值和负峰值。 正峰值意味着仅当变量从 0 变为 1 时才会触发。该对象的输出为触发脉冲类型。
    现在,PLC 中不再有变量状态,而是一条附加指令,您可以在其中获取整个梯级的触发输出。 这意味着,当整个梯级或条件将其状态从 0 更改为 1 时,输出将处于脉冲型触发条件。 这是 PLC 中的上升沿触发指令。 在罗克韦尔 PLC 中,称为单触发上升沿指令。
    可以参考下图来理解。 正如您所看到的,该指令在其条件下接受两个输入。 两者都写成 NO 逻辑; 意思是当两者都打开时,只有条件为真。 现在,当这种情况发生时,指令中有两个变量——存储位和输出位。 存储位的作用是存储条件状态。
    当这两个位都打开并且条件从 0 变为 1 时,存储位将更新为 1 并将该值传递到输出位。 输出位打开的时间很短(以毫秒为单位)。 PLC 程序员可以在其逻辑中使用该脉冲输出。
    只要条件为真,存储位就不会改变。 一旦条件变为假,存储位就会更新为 0。当条件再次变为真时,输出位将作为脉冲打开。

    这表明,当您只想通过一个脉冲来打开输出时,该指令非常有用,并且该脉冲必须仅在整个条件为真时生成,而不是在单个变量变为真时生成。
    一击下降沿 (OSF)
    现在,举一个需要在系统停止时采取行动的例子。 这意味着,当条件从真变为假时,必须采取某些行动。 并且该动作必须以触发器类型完成; 它不应该持续打开。 这称为负峰值。 要执行此函数,必须从变量中获取负峰值,或者必须从整个条件中获取负峰值,如前所述。 对于第二种类型,Rockwell PLC 使用单触发下降沿指令。
    请参阅上图。 梯级中有 2 个 NO 条件,并且该梯级的输出连接到 OSF 块。 该块有两个位——存储和输出。 存储位用于存储梯级的状态。
    当条件为真时,存储位更新为1。当条件从真变为假时,存储位更新为 0,输出位以脉冲形式变为 1。 当条件再次成立时,循环会再次重复。 输出位为脉冲形式,并且持续时间很短(以毫秒为单位)。
    这表明,当您只想通过一个脉冲来打开输出时,该指令非常有用,并且只有当整个条件为假时,而不是在单个变量变为假时,才必须生成该脉冲。
    这样,我们就看到了罗克韦尔 PLC 中的单次上升沿和单次下降沿指令。

    leizuofa
    在之前的文章中,我们简单介绍了分布式 IO 设备的概念、它们是什么以及为什么我们需要它们。
    在本文中,我们将展示如何在 PLC 项目中配置分布式 IO 设备。 与往常一样,我们重点关注西门子和 TIA Portal 系统,因此我们将展示使用西门子 ET200S 分布式 IO。
    内容:
    分布式 IO 设备的硬件配置。 将 IO 模块分配给控制器。 将配置下载到实际的硬件模块。 分布式 IO 设备的硬件配置
    任何分布式 IO 设备的硬件配置只是意味着将该 IO 设备分配给项目中的某个控制器,以便来自该 IO 的输入信号将到达该 PLC,并且输出命令将来自该 PLC。
    让我们将 PLC 添加到我们的项目中,看看如何继续。 见图 1。

    图 1. 将 PLC 添加到我们的项目中。
    从我们刚刚添加的 PLC 中可以看出,PLC 已经有一些集中式 IO,但在本文中,我们假设机器的一部分距离很远,我需要连接到 PLC,在这种情况下, 我们将使用安装在机器部分的分布式 IO 设备,它将拥有与机器该部分相关的所有 IO,然后分布式 IO 设备将通过适当类型的通信方法(如 Profinet 或)与 PLC 进行通信 现场总线。
    PLC 项目中的分布式 IO
    让我们添加 ET200S 设备。 见图 2。

    图 2. 添加您需要的 IO 模块。
    从图中可以看出,有很多不同的 IO 模块可供您根据您的应用进行选择。
    我们将选择标准的 ET200S 模块。 见图 3。

    图 3.拖放 ET200s 模块
    如图所示,只需将 IO 模块拖放到项目的网络视图中即可。 请注意,我们为 IO 模块选择的 Profinet 接口与我们的 PLC 相同。
    将 ET200S 模块添加到我们的项目后,我们可以开始将我们的输入和输出模块添加到 ET200S,您可以从右侧的硬件目录栏找到与所选模块兼容的所有 IO,见图 4。

    图 4. 为 ET200S 添加 IO。
    正如您从图片中看到的,我可以通过将 IO 拖放到空白区域来添加它们。 ET200S 可以使用的最大 IO 数量取决于它的类型和规格。
    要添加输入和输出模块,只需将其从右侧的硬件目录中拖放到即可,见图 5。

    图 5. 拖放您需要的 IO。
    将 IO 模块分配给控制器
    现在,您将分布式 IO 模块添加到项目中,您会注意到 IO 设备未分配或连接到任何控制器。 见图 6。

    图 6. 添加的 IO 模块未分配给 PLC。
    查看分布式 IO 模块未分配给任何控制器的另一种方法是,没有为我的 IO 分配地址。 由于它没有连接到任何控制器,见图 7。

    图 7.  地址未定义。
    如图所示,I 和 O 地址区域为空白,表明它们尚未分配给控制器。 所以我们需要将 IO 模块分配给 PLC。
    要将 IO 模块分配给控制器,我们需要进入网络视图,选择 IO 模块,然后右键单击并按 “分配给新的 DP 主站/IO 控制器”,见图8。

    图 8. 将 IO 模块分配给控制器。
    按下 “分配给新的 DP 主站/IO 控制器”后,会出现选择 IO 控制器窗口,您可以在其中选择要分配 IO 模块的 PLC,在我们的项目中我们只有一个控制器,因此该窗口 将仅显示一个选项。 见图 9。

    图 9.  选择 IO 控制器窗口。
    一旦按下 OK,IO 模块将被分配给 PLC。 现在,如果你检查 IO 模块的设备视图,你会发现输入和输出现在已经在项目中分配了地址,这意味着它们现在属于某个 PLC 控制器。 见图 10。

    图 10. IO 模块现已分配地址。
    将配置下载到实际硬件模块
    这就是您选择和配置分布式 IO 模块并将其分配给项目中的 PLC 的方法。
    不过,有件事你应该知道,
    是的,我们确实将 IO 模块分配给了 PLC,但这只是在软件方面(TIA Portal)完成的。 实际的硬件 IO 设备仍然不知道它已分配给该 PLC。
    这意味着如果我将项目下载到 PLC,它将成功编译并下载,但是当 PLC 需要与 IO 设备联系以获取输入或给出输出命令时,它将无法找到设备,即使 尽管两者之间有通信电缆。 并且 PLC 会给出错误。
    为了解决这个问题,我必须做一些叫做 “分配设备名称” 的事情
    为此,只需右键单击 IO 设备并按分配设备名称,这将打开以下窗口,见图 11。

    图 11. 分配设备名称。
    单击分配设备名称时,将出现 “分配 PROFINET 设备名称” 窗口。 见图 12。

    图 12. 分配设备名称窗口。
    这个过程是用硬件设备完成的,但由于我们没有硬件组件,只能进行模拟,所以我们在这里看不到它。
    但是,当您选择 PC/PG 接口并单击更新时,您应该找到您的 IO 设备,然后您只需选择分配设备名称即可将设备名称分配给实际的 IO 硬件模块。
    完成后,您现在可以将此 IO 设备用作 PLC 的普通 IO。 您可以在 PLC 项目树中找到 IO 模块,因为它现在是 PLC 的一部分。 见图 13。

    图 13. IO 模块属于 PLC 项目树。

    caixiaofeng
    在上一篇文章中,我们讨论了 PUT 命令以及如何使用它在同一项目或两个不同项目中的两个 PLC 之间进行通信。 在本文中,我们将讨论用于西门子 PLC 到 PLC 通信项目中用于数据交换的 GET 命令。
    GET 命令是什么?
    就像 put 命令一样,GET 命令是 TIA Portal 内置功能块 FB,专门用于 S7 系列 CPU,用于将数据从远程伙伴 PLC 获取到本地 PLC。 与 PUT 命令相反,GET 命令不是将数据从 PLC_1 放入 PLC_2,而是将数据从 PLC_2 获取到 PLC_1。
    当使用 GET 命令时,我有两个 PLC,我需要从一个称为“伙伴”的 PLC 到另一个称为“本地”的 PLC 获取数据。 本地 PLC 是对 GET 命令进行编程的地方。
    除了两个 PLC 之间的 Profinet 连接之外。 必须对伙伴 PLC 进行一些配置,以使其能够被其他 PLC 访问。
    我们将创建一个示例项目来展示如何使用 GET 命令。
    西门子 PLC 到 PLC 通信项目
    我们将假设一个示例项目,其中同一项目中有两个 PLC,PLC_1 将充当本地 PLC,PLC_2 将充当合作伙伴 PLC。
    为了创建需要使用 GET 命令的情况,我们假设我们想要从伙伴 PLC_2 读取/获取整数到本地 PLC_1。
    首先,我们创建一个新项目并添加两个 PLC。 见图1。

    图1.新建一个工程,添加两台PLC。
    现在,我们需要配置伙伴 PLC_2 以启用来自 PLC_1 的 GET 访问。 我们还需要准备将从 PLC_2 移至 PLC_1 的数据。
    首先,我们需要允许 GET 命令访问将提供数据的 PLC_2。 见图2。

    图 2. 允许 GET 命令访问。
    从图中可以看到,我们允许GET命令从PLC_2的属性中访问PLC_2,在保护和安全选项中,单击
    “允许远程合作伙伴通过 PUT/GET 通信进行访问”
    现在,我可以使用 GET 命令从伙伴 PLC_2 读取/获取数据。
    接下来,我们要创建将移动到 PLC_1 的数据,我们假设 PLC_1 要从 PLC_2 获取整数。
    我们将定义一个名为 “SendDataToPLC_1” 的整数标签,该整数标签将从 PLC_2 读取到 PLC_1。 见图3。

    图3. 定义要移动到 PLC_1 的数据
    就是这样; 这是您需要从 PLC_2 侧准备的完整配置,以便能够通过 GET 命令接收数据。
    现在,我们转到 PLC_1,在 PLC_1 中,我们要创建使用 GET 命令从 PLC_2 读取数据的逻辑。
    正如我们在上一篇文章中所做的那样,我们只需将 GET 命令拖放到主 OB1 中即可。 见图4。

    图4.拖放GET命令
    需要注意的是,GET命令位于S7通讯文件夹中,因为它是S7系列PLC的专有功能,因为它涉及到安全问题。 请记住,在图 2 中,当我们允许使用 GET 命令时,它位于 PLC 属性的安全和保护属性中,因为它与 PLC 安全和保护相关。
    当您将 GET 命令拖放到您的系统中时,您将被要求创建一个数据块实例,因为 GET 命令本质上是一个功能块 FB。 见图5。

    图 5. 为 GET 命令创建数据实例。
    现在,我们将 GET 命令添加到逻辑中,我们需要开始配置 GET 块,就像之前使用 put 命令所做的那样。 要打开 GET 命令的配置视图,请按块顶部的蓝色小图标。 见图6。

    图 6. 打开配置视图。
    我们有两个主要参数需要配置,连接参数和块参数。 见图7。

    图 7. GET 块配置。
    从图中可以看到,Local PLC就是调用GET命令的PLC。 虽然合作伙伴 PLC 是提供数据的 PLC,但它也是我们允许 GET 访问的同一 PLC。 在我们的项目中,合作伙伴 PLC 是 PLC_2。
    从图中还可以看到,伙伴是空的,我们必须选择 PLC。 见图8。

    图8. 合作伙伴列表中的不同选项
    正如您所看到的,我们为合作伙伴 PLC 有两种不同的选项可供选择。
    未指定是指当 PLC 属于不同的 TIA Portal 项目时,如果 PLC 属于同一 TIA Portal 项目,则您将在列表中找到其他 PLC。
    当您选择PLC_2选项时,因为我们的PLC在同一个项目中,连接配置将自动填写。见图9。

    图 9. PLC_2 作为伙伴
    因为两个PLC都在同一个项目中,所以当我选择PLC_2选项时,所有连接参数都会自动填写。
    另一方面,如果合作伙伴PLC来自不同的项目,那么我将选择“未指定”选项,在这种情况下,我将必须填写一些数据,例如合作伙伴PLC IP地址。 见图10。

    图 10. 未指定的合作伙伴 PLC。
    如您所见,当伙伴为“Unspecified”时,您将需要手动添加一些信息,例如伙伴PLC IP地址。
    还可以看到我们需要给本地PLC_1添加一个子网。 为此,您只需转到 PLC_1 的 Profinet 属性并选择添加新子网。 见图11。

    图 11. 为 PLC_1 添加子网
    在PLC_1中添加新的子网后,连接参数配置就完成了。 见图12。

    图12.连接参数完成。
    我们需要处理的下一个配置是块参数。
    在块参数中,我们定义将在两个 PLC 之间移动的数据以及允许开始执行 GET 块的触发信号。 见图13。

    图 13. 块参数。
    如您所见,我们需要定义 GET 块的触发信号,还需要定义将从 PLC_2(读取区域 ADDR_1)移动哪些数据以及这些数据将移至何处(存储区域 RD_1)。
      我们已经定义了 ADDR_1,其前面是我们在 PLC_2 中定义的 SendDataToPLC_1 整数标记。
    现在,我们将为该整数标签和触发信号定义存储区域。 见图 14。

    图 14. 定义触发信号和存储区域
    定义触发信号 ADDR_1 和 RD_1 后,我们将这些参数填充到块配置中。 见图15。

    图15.填写区块参数
    现在,GET 块的配置已完成,您可以看到该块现在已准备好下载和运行。 见图16。

    图 16. GET 块
    GET 块现已配置完毕,一旦触发信号激活,该块将从 PLC_2 读取 ADDR_1 并将其写入 PLC_1 中的 RD_1。

    caixiaofeng
    在之前的文章中,我们开始讨论两个或多个 PLC 之间通信的不同方式,到目前为止,我们讨论了智能设备功能以及西门子 PLC 专用的 PUT 和 GET 命令。
    西门子 PLC 与其他 PLC 通讯
    在本文中,我们将讨论另一种将两个 PLC 连接在一起的方法,这种方法比我们之前讨论的 PUT 和 GET 命令更具优势,因为与 S7 系列独有的 PUT/GET 命令相反。 这种新方法是一种开放的用户通信,这意味着我们可以使用它在西门子 PLC 和任何其他品牌的 PLC 之间进行通信,甚至不需要是两个 PLC,这种方法可以在 PLC 和任何其他可以理解的设备之间进行通信 TCP 网络协议如 PC、服务器、打印机等
    在本文中,我们将展示如何使用 TCON 和 TDISCON 块在两个 PLC 之间建立通信,在下一篇文章中,我们将展示如何在建立连接后在 PLC 之间移动数据。
    开放用户通信块 TCON 和 TDISCON
    我们使用 TCON 块在两个 PLC 之间建立通信连接。 连接建立后,PLC 将自动维护。
    通信双方都调用 TCON 指令来建立通信连接。 这意味着我必须在两个 PLC 中调用 TCON 块,并且我们必须在两个 PLC 中配置该块,正如我们将在示例项目中看到的那样。
    在块配置期间,我们将指定哪个伙伴是主动通信端点,哪个是被动通信端点。 这意味着哪个 PLC 将尝试连接,哪个 PLC 将打开通信端口并等待另一个 PLC。
    当执行 TDISCON 块或当 CPU 更改为 STOP 模式时,现有连接将终止并删除建立的连接。 要再次建立连接,您需要再次执行 TCON。
    使用 TCON 的示例 PLC 项目
    正如我们在之前的文章中所解释的,要在两个 PLC 之间建立通信,我们必须建立两件事:
    PLC 之间的通信。 两个 PLC 之间的数据传输。 在本文中,我们将使用 TCON 块在两个 PLC 之间建立采用 TCP 协议的开放用户通信。 在下一篇文章中,我们将展示如何在连接完成后移动数据。
    首先,我们创建一个新项目并添加两个 PLC。 我们将添加 CPU1516-3PN/DP PLC,并将它们命名为 PLC_1 和 PLC_2,目的是在它们之间建立连接。 见图1。

    图1.添加 PLC_1 和 PLC_2。
    现在,我们只需将 TCON 块添加到 PLC 逻辑中,正如我们之前提到的,我们需要为两个 PLC 调用 TCON,让我们从 PLC_1 开始。
    只需拖放 TCON 块即可在打开的用户通信文件夹中找到该块。 见图2。

    图2.拖放 TCON 指令
    TCON 块本质上是一个功能块,因此当将其添加到我的主 OB1 时,我们将被要求为该块创建一个数据块实例。
    创建数据实例并为其指定适当的名称。 见图3。

    图3.创建数据实例。
    现在,TCON 块已添加到您的逻辑中,我们需要配置该块的连接参数。
    只需按块上方的蓝色小配置图标即可。 见图4。

    图 4. 打开配置视图
    当您按下蓝色图标时,您将打开 TCON 块的配置视图,我们可以在其中设置连接参数。
    您会发现它与 PUT 和 GET 命令的连接参数非常相似。 见图5。

    图5. TCON 连接参数。
    由于我们使用开放式用户通信,TCON 块中的合作伙伴 PLC 选项比 PUT/GET 命令有更多选项。 见图6。

    图 6. 合作伙伴 PLC 选项
    从图中可以看出,我们有 4 种不同的选择,它们是:
    PLC_2:如果两个 PLC 位于同一项目中,则此处将显示 PLC_2 广播:这将使网络上的任何设备都可以使用连接 多播:这将与选定的设备(多个设备但不是所有设备)建立连接 未指定:如果 PLC 位于另一个 TIA Portal 项目中。 当选择未指定的选项时,我们会被要求添加 PLC 的 IP 地址,并且还需要添加新的连接数据。 见图7。

    图7. 添加新的连接数据
    如图所示,要创建新的连接数据,只需单击下拉箭头并按新建即可。 这将创建一个新的连接数据块,并将自动分配给 TCON 块,见图 8。

    图8. 连接数据块已创建。
    正如您所看到的,连接数据块已创建,现在我需要添加合作伙伴 PLC 的 IP 地址。
    我们需要做的另一件事是选择哪个 PLC 将主动建立连接。 这将决定哪个 PLC 将负责建立连接,而另一个 PLC 将仅负责打开连接端口。 见图9。

    图 9. 将 PLC_1 指定为主动连接建立。
    当我们选择 PLC_1 作为主动连接建立时,PLC_2 将负责打开连接端口,我必须为该端口选择一个值。 它可以是任何值,但在 TIA Portal 中自动分配为 2000,因此我们将保持原样。 见图10。

    图 10. 合作伙伴端口。
    在上图中可以看到连接参数已经变成绿色,表示所有配置都已完成并接受。
    当使用 TCON 在两个 PLC 之间建立连接时,两个 PLC 都必须调用 TCON 指令来建立连接,因此我们现在需要对另一个 PLC_2 执行相同的操作。 将 TCON 块添加到 PLC_2 的主 OB1 中,见图11。

    图11. 在 PLC_2 中调用 TCON。
    添加 TCON 块后,我们需要像配置 PLC_1 一样配置连接参数。 见图12。

    图 12 PLC_2 连接参数
    从图中可以看到,我们仍然选择 PLC_1 作为主动建立连接,而 PLC_2 的端口仍然保留为 2000。
    两个 PLC 配置的活动连接建立和端口必须相同,否则连接将失败。 至此,两台 PLC 的连接配置完成,见图13。

    图 13. 两个 PLC 中的 TCON 块。
    从图中我们可以看出,我们还需要一件事,那就是为两个 PLC 定义 REQ。
    我们为 PLC_2 创建了AllowConnection,为 PLC_1 创建了 StartConnection。 见图 14。

    图 14. 定义 REQ 信号。
    现在两个 PLC 之间的连接已经完成,如下:
    当 REQ 信号有效时,PLC_1 将尝试与 PLC_2 建立连接,但直到 PLC_2 启用连接功能后才能这样做,并且当 PLC_1 的 TCON 块收到 REQ 信号时才会完成。
    PLC_2 的 TCON 的 REQ 信号有效以启用连接(这意味着 PLC_2 将打开端口 2000 等待连接) REQ 信号有效,PLC_1 的 TCON 开始连接(这将允许 PLC_1 通过端口 2000 与 PLC_2 建立连接) 项目模拟
    让我们编译我们的项目并开始模拟,看看如何建立连接。
    要查看任何 PLC 以及 PLC 之间的连接,可以打开网络视图并打开连接选项卡以查看所有活动的和已建立的连接。 见图15。

    图 15.PLC_2 正在等待连接。
    当 REQ 为 True 时,PLC_2 将打开连接,您可以看到 STATUS 值为 7002 _ 如果您检查 TCON 块的帮助,状态 7002 表示正在等待连接_。 您还可以从网络视图的图片中看到 PLC_2 正在等待连接。
    当 PLC_1 TCON 块的 REQ 为真时,PLC_1 将尝试与 PLC_2 建立连接,并且由于 PLC_2 已打开并等待连接,因此 PLC_1 将能够找到并与 PLC_2 建立连接。 见图16。

    图 16. PLC_1 建立连接。
    请注意,网络视图中的所有连接现在均呈绿色,表示 PLC_1 和 PLC_2 之间的连接正常且正在进行。
    正如我们之前提到的,一旦连接建立并建立,它就会自动维护。 因此,即使 REQ 信号变为假,两个 PLC 之间的连接也将保持。 见图17。

    图 17。连接仍在进行中。
    但是,如果转动 REQ 信号并不能断开连接,如果我想断开连接,该如何断开呢?
    断路块 TDISCON
    要断开两个 PLC 之间的连接,我们可以将 PLC 置于 STOP 模式,但这在运行过程中是不实用的。 我们还可以使用断开块或 TDISCON。
    要添加 TDISCON 模块,只需将其拖放到您的逻辑中,见图 18。

    图 18. 添加 TDISCON 块
    正如您所看到的,添加 TDISCON 块将需要一个数据块实例,一旦将该块添加到您的逻辑中,您所需要做的就是分配您需要断开连接的连接 ID,并且您还需要为其分配一个 REQ 信号 启动连接终止。 见图19。

    图 19. TDISCON 块。
    现在,让我们在另一个 PLC 中添加一个 TDISCON 块,这样我们就能够断开连接。 参见图 20。对于 PLC_1 的 TDISCON 块。

    图 20. PLC_1 中的 TDISCON
    让我们回到仿真,看看如何使用 TDISCON 模块,见图 21。

    图 21. 连接仍处于活动状态。
    从图中可以看出,PLC 之间的连接仍然有效,TDISCON 的 REQ 信号仍然为假。
    如果 PLC_1 的 REQ 变为 TRUE,连接将被终止,但您会注意到 PLC_2 仍在等待连接,见图 22。

    图 22. PLC_1 的 REQ 为真。
    当 PLC_2 TDISCON 块的 REQ 为真时,PLC_2 将不再等待连接。 见图23。

    图 23. 连接终止。
    我们在本文中展示了如何使用 TCON 和 TDISCON 块在两个 PLC 之间建立连接。

    caixiaofeng
    在上一篇文章中,我们讨论了如何使用 TCON 和 TDISCON 块在两个 PLC 之间建立连接,以及如何使用 TSEND 和 TRCV 块在它们之间移动数据。
    跨 PLC 系统传输数据
    在本文中,我们将学习一条新指令,可用于使用 TSEND_C 和 TRCV_C 块跨 PLC 系统进行通信和传输数据。
    TSEND_C
    TSEND_C 指令是 TIA Portal 指令,用于在两个 PLC 之间建立连接。 连接建立后,PLC 将自动维护和监控。
    TSEND_C 指令是异步执行的,具有以下功能:
    与 TCON 块类似,建立通信连接。 通过类似于 TSEND 块的现有通信连接发送数据。 与 TDISCON 类似,终止或重置通信连接。 因此,TSEND_C 被称为“紧凑”,因为它同时充当 3 个以上的块。
    TRCV_C
    TRCV_C 指令也是一条 TIA Portal 指令,用于在两个 PLC 之间建立连接。 连接建立后,PLC 将自动维护和监控。
    “TRCV_C” 指令异步执行,依次实现以下功能:
    建立和建立类似于 TCON 的通信连接。 通过类似于 TRCV 的现有通信连接接收数据。 与 TDISCON 类似,终止或重置通信连接。 因此,TRCV_C 被命名为“紧凑”,因为它同时充当 3 个以上的块。
    在我们的 PLC 项目中使用 TSEND_C 和 TRCV_C
    在上一篇文章中,当我们需要建立并将数据从 PLC_1 发送到 PLC_2 时,我们必须在每个 PLC 中使用三个不同的块。 见图1。

    图 1. PLC_1内部逻辑
    如您所见,我们使用 TCON 和 TDISCON 块来建立和重置连接,并使用 TSEND 从 PLC_1 发送数据。 PLC_2 也是如此。 见图 2。

    图 2 PLC_2 逻辑
    我们再次使用 TCON 和 TDISCON 块来建立和重置连接,并使用 TRCV 接收来自 PLC_1 的数据。
    现在,我们想要替换所有这些块并尝试使用 TSEND_C 和 TRCV_C 来实现相同的功能。
    首先,在需要发送数据的 PLC_1 中,我们将使用 TSEND_C 块,只需将该块拖放到主 OB1 内即可。 见图 3。

    图 3. 添加 TSEND_C 块。
    由于 TSEND_C 本质上是一个功能块,因此系统会要求您创建一个数据实例。 见图 4。

    图 4. 为 TSEND_C 创建实例
    TSEND_C 看起来与 TSEND 块类似,因为您需要进行一些配置并添加一些信号。 见图 5。

    图 5. TSEND_C 块
    现在,我们需要一个信号来发送 REQ 和数据并配置连接。 对于 REQ 信号,我们创建了一个 SendData 标签。
    另外,我们可以拖放上一篇文章创建的数据块,我们需要将其发送到 PLC_2,我们可以将其拖放到块的 DATA 输入处。 见图 6。

    图 6. TSEND_C 块的配置。
    要配置块的连接参数,我们可以按块顶部的小配置图标打开配置视图。
    配置视图看起来与 TCON 块的配置视图非常相似。 见图 7。

    图 7. TSEND_C 的连接参数
    我们已经在之前的文章中展示了如何配置连接参数,因此我们可以像使用 TCON 块一样进行操作,见图 8。

    图 8 连接参数配置
    通过这个连接配置,我们就完成了 TSEND_C 的所有配置。 请注意,与配置 TCON、TDISCON 和 TSEND 块相比,它快了多少。
    现在,我们需要将 TRCV_C 添加到 PLC_2,以便它可以接收从 PLC_1 发送的数据。 在 PLC_1 的主 OB1 中,只需将 TRCV_C 拖放到您的逻辑中即可。 请参见图 9。请记住为 TRCV_C 块创建一个数据实例。

    图 9. 添加 TRCV_C
    将 TRCV_C 添加到您的逻辑后,我们需要对其进行配置。 正如我们对 TSEND_C 所做的那样,我们需要添加一个信号来启用数据接收,并且我们还需要添加将在其中保存数据的数据块。 见图 10。

    图 10.TRCV_C
    我们将 RecieveData 标签定义为 EN_R 信号。 见图 11。

    图 11.定义 EN_R 标签
    请记住取消选中数据块的 “优化块访问” 选项,否则该块将无法像我们在上一篇文章中展示的那样工作。
    接下来,我们需要配置 TRCV_C 块的连接参数,就像我们对 TSEND_C 所做的那样,请记住,未指定的伙伴 PLC 现在是 PLC_1,见图 12。

    图 12 TRCV_C 连接参数
    PLC 项目模拟
    现在我们已经配置了 TSEND_C 和 TRCV_ C 块,我们想要模拟我们的项目并看看它们将如何工作,但首先,我们将创建一个简单的逻辑来自动更新将发送到 PLC_2 的 PLC_1 的数据。 见图 13。

    图 13. 自动更新数据的简单逻辑。
    现在让我们编译并开始我们的项目的模拟。 您会注意到的第一件事是 PLC_1 和 PLC_2 将立即尝试建立连接,因为我们设置了 TSEND_C 和 TRCV_C,它们会自动尝试建立连接。 这就是两个 PLC 之间存在连接的原因。 见图 14。

    图14. 直接建立连接。
    可以看到,PLC 之间的连接是直接建立的,因为 TSEND_C 和 TRCV_C 中的 CONT 参数设置为 TRUE,这意味着该块将自动尝试与伙伴 PLC 建立连接。 我们可以在这里放置任何控制信号来控制连接的建立。
    您可以看到的另一件事是 TSEND_C 的 REQ 和 TRCV_C 的 EN_R 设置为 FALSE,这就是为什么 PLC 之间不会有任何数据移动。 见图 15。

    图 15. PLC 之间无数据传输。
    如果 TSEND_C 的 REQ 信号设置为 true,则 PLC_1 将尝试发送数据,但会等待其他 PLC 允许接收数据,见图 16。

    图 16. REQ 为真。
    正如您所看到的,SendData 为 TRUE,但没有发送任何数据,因为 RecieveData 仍然为 false。
    仅当 ReceiveData 设置为 true 时,PLC_2 才会从 PLC_1 接收数据。 见图 17。

    图 17. 数据发送至 PLC_2
    正如您所看到的,RecieveData 何时为 true。 数据将从 PLC_1 发送到 PLC_2,但是,您可以看到两个 PLC 内部的数据是不同的,因为 PLC_1 的数据按照我们之前所做的简单逻辑自动变化。 这意味着 EN_R 信号允许传输数据一次,当我需要再次传输数据时,该信号必须变为 false,然后再次变为 true。
    查看随附的 TIA Portal 项目并查看 PLC 之间的数据传输。

    caixiaofeng
    通过梯形图了解多个开关和电机上的 PLC 逻辑示例。
    该 PLC 逻辑示例是为工科学生学习和练习梯形图逻辑而准备的。 相同的 PLC 程序在工业用途上的设计会有所不同。
    PLC 逻辑示例
    问题陈述:
    为以下应用设计 PLC 梯形逻辑。
    使用四个拨动开关来控制四个电机。
    如果开关 1 打开,则电机 I 将打开。
    如果开关 2 打开,则电机 I 和电机 II 将打开。
    如果开关 3 打开,则电机 I、电机 II 和电机 III 将打开。
    如果开关 4 打开,则电机 I、电机 II、电机 III 和电机 IV 将打开。
    PLC 输入
    下面提到了该 PLC 逻辑的数字输入列表。
    开关1:I0.0
    开关2:I0.1
    开关3:I0.2
    开关4:I0.3
    PLC输出
    下面列出了所需的数字输出。
    电机1:Q0.0
    电机2:Q0.1
    电机3:Q0.2
    电机4:Q0.3
    多个开关和电机梯形逻辑
    这是给定问题陈述的 PLC 逻辑。

    程序解释
    本例中,我们使用施耐德 PLC 软件进行编程。
    在上面的 PLC 程序中,我们使用了常开触点作为开关 1 (I0.0)、开关 2 (I0.1)、开关 3 (I0.2) 和开关 4 (I0.3)
    电机1的开关 1、开关 2、开关 3 和开关 4 并联,从而实现或逻辑门。
    对于电机 2,输入开关 2、开关 3 和开关 4 并联,从而实现或逻辑门。
    开关 3 和开关 4 正在实现 “或” 逻辑门,即与电机 3 并联连接。
    仅开关 4 连接到电机 4。
    要使电机 1 打开,开关 1 或开关 2、开关 3 或开关 4 应打开。
    要打开电机 2,开关 2、开关 3 或开关 4 应打开。
    当开关 3 或开关 4 打开时,电机 3 将打开。
    当开关 4 打开时,电机 4 将打开。
    PLC 仿真结果
    接下来,我们将看到不同输入开关ON和OFF组合的PLC仿真结果。
    当开关 1 为 ON 时

    当拨动开关1打开时,电流流过它(这里我们在电路的情况下使用术语“电流”,所以这里你可以将其假设为“电流”或简称为“信号”) 。
    结果,电机 1 启动。 其他电机将保持关闭状态,因为开关 1 未连接到它们。
    当开关 2 为 ON 时

    当开关 2 打开时,电流将流过开关 2,从而打开电机 1 和电机 2。这是因为开关 2 仅连接到电机 1 和电机 2。
    当开关 3 打开时

    当开关 3 接通时,电流流过它,这将打开三个电机,即电机 1、电机 2 和电机 3。输入开关 3 仅连接到这些输出。 由于开关 3 未连接到电机 4,因此电机 4 将保持关闭状态。
    当开关 4 为 ON 时

    开关 4 打开时将打开所有电机。 开关 4 连接到所有电机,打开时,电机 1、电机 2、电机 3 和电机 4 将打开。

    caixiaofeng
    这是一个 PLC 程序,用于从两个罐中排出相同的产品。 通过这个简单的例子来学习 PLC 编程。
    从两个罐中排出相同的产品
    问题描述
    两个罐装满相同的产品。 这两个罐的排水量取决于储罐的要求。
    使用梯形图在 PLC 中实现该系统的逻辑。
    问题图

    PLC 示例解决方案
    这里系统使用两个水箱。 对于液位测量,使用两个传感器(液位低传感器)。 如图所示,我们使用两个泵将物料从储罐(储罐 1 和储罐 2)转移到储罐。
    这里我们将使用液位计来测量储罐的液位。 PUMP 1 和 PUMP 2 将由液位变送器反馈控制。
    在这里,我们使用两个泵来平稳运行。 当检测到储罐液位低于其极限时,两个泵都会运行。
    注意:-这里我们考虑该系统的简单自动化。 本系统中使用液位计来测量储罐的液位。
    为简单起见,储罐高度为 500cm,液位变送器反馈为 4 至 20mA。
    我们将在此应用中使用 PLC S7-300。 我们将使用缩放来进行编程。
    I/O 列表
    输入列表
    循环启动:- I0.0 循环停止:- I0.1 水箱 1 的低液位:- I0.2 水箱 2 液位:- I0.3 输出列表
    泵 1:- Q0.0 泵 2:- Q0.1 M 内存
    循环 ON 位:- M0.0 来自发射器的模拟值:- MW10 (INT) 来自发射器的模拟值:- MD100 (DINT) 乘法值:- MD104 实际水位(cm):-MD108 用于从两个罐中排出相同产品的 PLC 梯形图





    程序说明
    对于该应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。
    网络 1:
    我们使用锁存电路进行周期 ON(M0.0)输出。可以通过按 START PB(I0.0)启动它,并通过按 STOP PB(I0.1)停止。
    网络 2:
    这里来自发射器的实际计数或值是电流(4至20mA),因此通过使用 PLC 中的模拟输入通道,我们可以将其转换为数字计数。 该数字为 INT (MW10) 格式,因此我们需要将其转换为 DINT (MD100) 进行计算或乘法。
    网络 3:
    DINT 值 (MD100) 乘以水箱的最大高度 (500cm) 进行计算。
    网络 4:
    乘法值(MD104)除以模拟模块的最大计数(27648)。最终的实际高度存储在 MD108 中。
    网络 5:
    这里我们使用泵 1 (Q0.0) 的比较器。在需要材料期间,操作员将操作泵 3,水位高度将会降低。
    因此,根据我们的自动化或系统,我们需要填充储水箱,如果水位低于其限制(此处我们采用 480 厘米),泵 1 将启动。
    注意:- 如果检测到水箱 1 的液位低 (I0.2),则应停止泵 1。
    网络 6:
    这里我们使用泵 2 (Q0.1) 的比较器。 在需要材料期间,操作员将操作泵 3,水位高度将降低。 因此,根据我们的自动化或系统,我们需要填充储水箱,如果水位低于其限制(此处我们采用 480 厘米),泵 2 将启动。
    注意:- 如果检测到水箱 2 液位低 (I0.3),则应停止泵 2。
    在所有功能循环期间应处于开启状态。
    注意:- 以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 这是排水系统的简单概念,我们也可以在其他例子中使用这个概念。
    示例中考虑的所有参数仅供说明之用,实际应用中参数可能有所不同。 此外,应用中并未考虑所有联锁。
    结果


    caixiaofeng
    这是在 PLC 中实现SR触发器的 PLC 程序。 通过此示例逻辑学习 PLC 编程。
    使用 PLC 梯形逻辑的 SR 触发器
    问题描述
    使用梯形图语言在 PLC 中实现 SR 触发器逻辑的程序。
    问题图

    PLC 解决方案
    众所周知,更复杂的系统不能仅用组合逻辑来控制。 主要原因是我们无法或选择不添加传感器来检测所有情况。 在这些情况下,我们可以使用事件来估计系统的状况。
    SR 触发器用于锁定或解锁——锁定某项或将其关闭。
    大多数 PLC 都有专门的 SR 触发器功能指令。 因此此类 PLC 不需要自定义逻辑。 SR 触发器首先执行 SET 功能,然后执行RESET 功能。
    注意:- 这里我们考虑 SR 触发器指令的简单功能,而不使用特殊指令或使用锁存功能。 这里我们使用简单的锁存电路来实现 SR 触发器功能。

    如图所示,采用两个按钮或两个输入来执行程序。
    当用户按下 SET 按钮或在 S 输入处接收到 1 时,Q 输出将打开,如果按下 RESET 按钮或在 R 输入处接收到 1,Q^ 将打开。
    输入/输出列表
    数字输入
    设置输入:- I0.0 复位输入:- I0.1 数字输出
    Q 输出:- Q0.0 Q^ 输出:- Q0.1 M 内存
    继电器线圈 1 :- M0.0 继电器线圈 2 :- M0.1 PLC 梯形图实现 SR 触发器



    程序解释
    本 PLC 程序我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他 PLC 来实现这个逻辑。
    网络 1:
    这里我们使用继电器线圈 1(M0.0) 的 NC 触点,因此当按下复位按钮时,Q 输出 (Q0.0) 关闭。
    网络 2:
    这里我们使用继电器线圈 2 (M0.1) 的 NC 触点,因此当按下设置按钮时,Q^ 输出 (Q0.1) 关闭。
    网络 3:
    这里,当我们按下RESET按钮(I0.0)时,继电器线圈 1(M0.0)将被锁存。
    网络 4:
    这里,当我们按下 SET 按钮(I0.1)时,继电器线圈 2(M0.1)将被锁存。
    如果上电期间两个输入都为低电平,则 Q^ 输出 (Q0.1) 将因其顺序而变高。 如果两个输入都是
    注意:- 以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 这就是无需指令实现 SR 翻转功能的简单概念。 我们也可以在其他例子中使用这个概念。
    示例中考虑的所有参数仅供说明之用,实际应用中参数可能有所不同。
    结果


    caixiaofeng
    这是一个用于自动加热和混合产品的 PLC 程序。 通过此示例,供工科学生学习 PLC 编程。
    产品的加热和混合
    问题描述
    制作一个自动系统,将两种材料收集在一个罐中。 所有材料均应混合直至达到预定的设定温度。
    在 S7-1200 PLC 中为此应用编写一个梯形图程序。
    问题图

    问题方案
    我们可以用简单的逻辑来解决这个问题。 对于该系统,考虑两个单独的液位开关来检测两种不同材料的液位(假设材料 A 和材料 B)。
    还可以考虑使用一个液位开关来检测空液位。
    为了控制液位,我们可以使用单作用阀门(全开和全闭型)。
    混合时使用搅拌器,搅拌器与电机轴连接。
    加热器和温度传感器安装在罐内。
    在这里,材料被混合直至达到设定温度,混合后,出口阀(Q0.4)将被操作以排出混合产品。
    输入和输出列表
    输入列表
    循环启动:- I0.0 循环停止:- I0.1 材料等级 B :- I0.2 材料等级 A :- I0.3 空液位开关:- I0.4 温度传感器:- I0.5 输出列表
    入口阀 1 :- Q0.0 入口阀 2 :- Q0.1 搅拌器电机:- Q0.2 加热器:- Q0.3 出口阀:- Q0.4 M 内存
    M0.0:- 循环开启 用于产品加热和混合的 PLC 程序




    程序解释
    本题中,我们将考虑 S7-1200 PLC 和 TIA Portal 软件进行编程。
    网络1:
    该网络显示了用于周期 ON 和周期 OFF 的简单锁存电路。 循环启动按钮 (I0.0) 的常开 (NO) 触点和循环停止按钮 (I0.1) 的常开 (NO) 触点用于激活循环。
    网络2:
    该网络用于操作入口阀 1(Q0.0)。 当检测到水箱低液位 (I0.4) 时,该功能将运行。 当地址(I0.3)的开关检测到料位A时闭合。 START PB (I0.0) 也并联连接,因此如果未检测到低电平,可通过按 START PB (I0.0) 启动入口阀。
    网络3:
    该网络用于操作入口阀 2 (Q0.2)。当材料 A 填充到所需液位时,该网络将运行。 当循环运行并且检测到材料 A 的液位时,入口阀 2 (Q0.1) 将打开。
    网络4:
    该网络用于操作搅拌器电机和加热器。 当罐内装满材料 A 和材料 B 时,加热器(Q0.3)和搅拌器电机(Q0.2)将打开。
    网络5:
    当整个混合过程和加热完成时,出口阀(Q0.4)将打开。 空液位开关(I0.4)的常闭触点用于在罐空时关闭出口阀。
    注意:- 以上逻辑仅用于解释某些应用。 该图仅用于表示目的,实际系统可能与该系统不同。
    结果


    caixiaofeng
    这是用于报警安全系统的 PLC 程序。 通过此示例问题学习 PLC 编程。
    报警安全系统
    问题描述
    在 S7-1200 PLC 中为房屋制作防盗报警系统程序。
    考虑一栋房子,我们要在其中布置自动防盗报警安全系统。 当运动传感器检测到任何人时,警报应打开。
    问题图

    问题方案
    我们可以用简单的逻辑来解决这个问题。 在这里我们可以使用两个传感器,一个运动传感器和第二个窗口传感器。 窗户传感器是一圈电线。
    运动传感器的设计使得当在房屋或房间中检测到有人时,传感器将被激活(将其状态更改为 1 或 true)
    窗户传感器的重要一点是电流始终通过,直到玻璃发生破裂。 因此输出始终为真,当有人试图打破窗玻璃时,电流不会在电路中流动。
    输入和输出列表
    输入列表
    系统启动:- I0.0 系统停止:- I0.1 运动探测器:- I0.2 车窗传感器:- I0.3 报警停止按钮:- I0.4 输出列表
    警报:- Q0.0 M 内存
    M0.0:- 主线圈。 M0.1:- 报警条件。 报警安防系统 PLC 梯形图


    计划说明
    本题我们将考虑使用 S7-1200 PLC 和 TIA Portal 软件进行编程。
    网络 1:
    该网络显示了用于系统开启和系统关闭的简单锁存电路。
    我们使用系统启动按钮(I0.0)的常开(NO)触点和系统停止按钮(I0.1)的常开触点(I0.1)来激活系统。
    网络 2:
    当系统启动且运动传感器 (I0.2) 检测到人员进入时,警报开启 (M0.1) 条件将开启,并将激活警报 (Q0.0)。
    通常车窗传感器(I0.3)的常闭触点是并联使用的,因此在正常情况下这是正确的。 如果检测到玻璃破裂或窗户状况,窗户传感器 (I0.3) 输入将变为假,并将激活警报状况 (M0.1)。
    网络 3:
    在此网络中,锁存电路用于报警(Q0.0)。 如果检测到报警条件 (M0.1),报警将打开,并且可以通过按报警 STOP PB (I0.4) 来停止报警。
    注意:- 以上逻辑仅用于解释目的。 我们也可以使用硬连线继电器逻辑来实现这个示例。 对于这个简单的系统来说,S7-1200 PLC 系统的成本是如此之高。
    结果


    caixiaofeng
    编写一个 PLC 程序来实现流量计的累加器。 流量计具有 4-20mA 输出,代表管道中 0 至 100 升/小时的燃油流量。
    流量积算仪 PLC 程序
    通过使用这个逻辑,我们可以计算从管道通过的总燃料量。
    当累加器值达到 5000 升时,应自动重置,或者我们可以使用 RESET 按钮重置该值。

    问题方案
    我们可以通过简单的逻辑来解决这个问题。 这里我们考虑使用流量计来测量最大流量为 100 升/小时的燃料。
    这里我们使用 DIV 指令将这个流量从 L/H 转换为 L/Sec 进行计算。
    之后,通过使用 1 秒时钟脉冲,我们将把这个值存储在另一个存储位置,并且每隔一秒就会添加和更新新值。
    例如,我们认为累加器的最大值为 5000 升,因此在此值之后累加器应重置。
    因此,我们会将此值与实际值进行比较并自动重置它,或者我们将提供一个 RESET 按钮来重置累加器值。
    输入/输出列表
    输入列表
    复位:- I0.0 M 内存
    M0.5:- 1秒(1s)时钟脉冲 M1.2:- 时钟脉冲的上升沿 MD10:- 流量计最终输出(L/H)的存储字 MD18:- 流量计最终输出(L/Sec)的存储字 MD22:-总升添加量 MD26: - 总燃油量(升) 累加器梯形图



    程序解释
    本题中,我们将考虑 S7-300 PLC 和 TIA Portal 软件进行编程。
    网络 1:
    这里我们采用了流量计的最终输出值,单位为 L/H (MD10)。 通过使用 DIV 指令,我们将 L/H 流量转换为 L/sec,并将最终值存储在 MD18 中。
    网络 2:
    这里 1s 的时钟脉冲(M0.5)每秒都会加值,并将结果存储在存储器字 MD22 中。
    网络 3:
    此处,出于显示目的,我们将 MD22 的值移至 MD26(以升为单位的总燃油量)中。
    网络 4:
    在这个网络中,我们需要重置累加器。 如果总燃油量大于 5000(5000 值是为了示例目的,它取决于流量计配置及其范围),则累加器计数应自动为零,或者我们可以通过按 RESET 按钮 (I0.0) 进行重置。
    注:以上逻辑仅用于解释目的。 这里我们只考虑了缩放的最终输出,因此我们在逻辑中没有提到 4-20mA 缩放。
    结果


    caixiaofeng
    讨论 PLC 定时器编程示例:不同的 PLC 定时器有 TON、TOF、TP 和 TONR。 PLC 定时器指令和 PLC 定时器逻辑示例。
    PLC 定时器编程
    使用 TIA Portal 在 S7-1200 PLC 中实施 IEC 定时器(TON、TOF、TP 和TONR)。
    在许多应用中,需要控制时间或信号流。 例如,可能需要控制阀门或电机在特定的时间间隔内运行,在一段时间间隔或一段延迟后打开。
    问题图

    问题方案
    对于这个问题,我们将通过示例在 S7-1200 PLC 中使用 IEC 定时器(TON、TOF、TP 和 TONR)。
    PLC 中有多种不同形式的定时器。 如上图所示,
    ON 延迟定时器,在特定时间延迟后变为 ON。 关闭延迟定时器在关闭输入后一段固定时间内开启。 脉冲定时器在固定的时间内打开或关闭。 累加器定时器是记录时间间隔的。 这里考虑四个电机和四个开关的示例来解释定时器。 我们需要以不同的方式启动三个电机。
    第一个电机将在 10 秒延迟后启动, 第二个电机将立即启动并在 10 秒延迟后关闭 第三个电机将以脉冲启动,并延迟 10 秒关闭。 第四个电机将运行总共 10 秒。 输入/输出列表
    输入列表
    开关 1:I0.0 开关 2:I0.1 开关 3:I0.2 开关 4:I0.3 复位:I0.4 输出列表
    电机 1:Q0.0 电机 2:Q0.1 电机 3:Q0.2 电机 4:Q0.3 定时器的 PLC 梯形图
    我们可以使用 Generate-ON-delay 或 ON 延迟定时器指令将 Q 输出的设置延迟编程的持续时间 PT。 当输入 IN 的结果从 0 变为 1(上升沿)时启动该指令。
    您可以在 Timer 模块的 ET 输出处监视当前时间值。 计时器值从 T#0s 开始,并在达到持续时间 PT 的值时结束。 一旦 IN 输入处的信号状态变为 0,ET 输出就会复位。

    我们可以使用生成关闭延迟或关闭延迟定时器指令来将 Q 输出的复位延迟编程的持续时间 PT。
    当输入 IN 处的逻辑运算 (RLO) 结果从 0 变为 1(正信号边沿)时,Q 输出被置位。
    我们可以在 ET 输出处监视当前时间值。

    我们可以使用生成脉冲指令来设置编程持续时间的输出 Q。
    当输入 IN 的结果从 0 变为 1(上升沿)时启动该指令。
    编程时间 (PT) 从指令开始时开始。 在此定时器中,即使检测到新的上升沿,只要 PT 持续时间仍在运行,输出 Q 处的信号状态就不会受到影响。

    时间累加器指令或累加器定时器用于在编程时间 (PT) 参数设置的周期内累加时间值。
    当输入 IN 的信号状态从 0 变为 1(上升沿)时,执行指令,并且持续时间 PT 开始。
    在这种情况下,即使 IN 参数处的信号状态从 1 变为 0”(下降沿),Q 参数仍保持设置为 1。 R 输入复位输出 Q。

    计划说明
    本题我们将考虑使用 S7-1200 PLC 和 TIA Portal 软件进行编程。
    网络1:
    在此网络中,我们为 MOTOR 1(Q0.0) 使用 ON 延迟计时器(生成延迟)。
    当 SWITCH 1(I0.0) 的状态从 0 变为 1 时,定时器指令将被执行,并在 10 秒延迟后激活 MOTOR 1(Q0.0)。
    网络2:
    在此网络中,我们为电机 2(Q0.1) 使用了关闭延迟定时器(生成关闭延迟)。
    当 SWITCH 2(I0.1) 的状态从 0 变为 1 时,定时器指令将被执行,并立即激活 MOTOR 2(Q0.1)。
    此外,当开关 2(I0.1) 状态变回 0 时,编程时间 (PT) 将开始,时间过后电机 2(Q0.1) 将关闭。
    网络3:
    在此网络中,我们为电机 3(Q0.2) 使用了脉冲定时器(生成脉冲)。
    当开关 3(I0.2) 的状态从 0 变为 1 时,定时器指令将被执行,并立即激活电机 3(Q0.2)。
    在这种情况下,即使检测到新的上升沿,只要编程时间 (PT) 正在运行,电机 3(Q0.2) 的状态就不会受到影响。
    网络4:
    在该网络中,我们为 MOTOR 4(Q0.3) 使用了累加器定时器(累加器时间)。当 SWITCH 4(I0.3) 的状态从 0 变为 1 时,定时器指令将被执行,并且 MOTOR 4(Q0.3) 将被执行。 3) 10秒后开始。
    即使输入状态变回 0,电机 4(Q0.2) 也将保持打开状态。需要复位 (I0.4) 来复位定时器或累计时间。
    运行时测试用例


    caixiaofeng
    这是一个用于一个扫描周期输出正沿脉冲的 PLC 程序。 通过解决方案学习梯形图逻辑。
    正边沿脉冲输出
    问题描述
    在某些应用中,我们需要根据外部输入信号运行操作/功能。 我们可以使用数字输入作为触发命令来激活所需的功能。
    有时我们使用数字输入信号的正跳变来触发命令,而不是连续/全脉冲数字输入信号。
    这里我们考虑一个简单逻辑的例子,其中两个寄存器的值在接收到触发命令后将递增。 每个寄存器都有一个预设值,例如值 “1”。 因此,对于每个触发命令,加法器寄存器值都会增加值 “1”。
    对于加法器 1 寄存器,我们使用上升沿(0 到 1)触发输入,对于加法器 2 寄存器,我们使用简单的数字输入(0 到 1 和 1 到 0)信号。 我们看到使用触发命令和不使用上升沿的优点和缺点。
    我们可以在其他应用中使用相同的逻辑,例如将寄存器值清零、强制寄存器值具有定义的值且几乎不进行逻辑修改等。
    问题

    解决方案
    我们可以通过数字输入的正沿或上升沿来解决这些类型的问题。 这里我们将考虑 S7-300 PLC 进行编程,这样我们就可以监视该值并进行模拟。 我们可以使用 PLC SIM 进行模拟。 这里我们考虑了一个简单的例子。 在本例中,我们将考虑 “Adder 1” 寄存器,当触发命令从 0 到 1 的转换发生时,该寄存器将添加值 “1”。 每次触发后寄存器值都会加 1。 对于 “Adder 2” 寄存器,接收到数字输入后,该值将递增。 这里,我们不使用上升沿触发。 输入/输出列表
    输入列表
    触发命令:I0.0 记忆线圈
    触发命令的上升沿:M0.0 总价值:MW2 总价值 2:MW4 PLC 梯形图逻辑
    网络 1:
    “Adder 1” 寄存器的初始值为零。 给出 18 次上升沿触发命令后,输出将变为值 18,并增加值 “1”。

    上升沿触发命令的仿真 (PLCSIM-300)。

    网络2:
    “Adder 2” 寄存器的初始值为零。 在发出触发命令(无正/负沿)18 次后,输出将是一些随机数(例如 7506),而不是直接接收到的触发命令的值18。

    无上升沿触发命令的仿真 (PLCSIM-300)。

    PLC 逻辑说明
    在本应用中,我们使用了西门子 S7-300 PLC 和 TIA Portal 软件进行编程。 这里我们考虑了两个例子来解释正边缘。 任何人都可以轻松理解这个概念。 在网络 1 中,当触发命令(I0.0)被触发时,会发生从 0 到 1 的转变,并执行正脉冲指令。 假设 “Adder 1” 寄存器将在 MW0 中存储值 “1”,如果触发命令(I0.0)被触发,则该值将增加 “1”。 例如,当加法器 1 为零时,我们触发了 18 次,因此加法器在总 Value (MW0) 中添加了 18 我们在网络 2 中举了另一个例子,没有使用正脉冲。 所以在这里你可以看到结果。 比如说,我们按下或触发了 18 次,但它在总值 2 (MW4) 中添加了 7506(这是随机值,在模拟过程中可能会有所不同),因此它不是正确的相加。 因为 1 个脉冲有上升沿或下降沿/正脉冲或负脉冲(o到1 和 1到0)。 这里我们也使用 PLC SIM 进行模拟,因此我们可以模拟总加法。 在第一个网络中,我们添加了正边沿,因此模拟器显示 18。在第二个网络中,我们添加了没有正边沿的触发命令,因此它显示了一些随机值。 这就是上升沿的概念,我们可以在任何编程应用中使用这个上升沿。 以上程序和仿真仅用于说明目的,仿真时的仿真值可能会有所不同。 结果

    注:上述 PLC 逻辑提供了正沿触发命令在 PLC 逻辑中应用的基本思路。 逻辑是有限的,不完整的应用。

    caixiaofeng
    这是自动剔瓶系统的PLC程序。 通过此 PLC 练习和解决方案学习梯形逻辑。
    自动剔除瓶子
    问题描述
    如今,工业自动化对于准确、快速的生产是必要的。
    让我们以汽水瓶公司为例,其中皮带输送机用于将瓶子从一个工位转移到另一个工位。
    但在瓶子到达苏打水灌装站之前,必须使所有瓶子处于直立位置以进行进一步处理
    掉落在传送带上的瓶子可能会在下一工序中产生问题。 所以在这里我们讨论一个简单的 PLC 逻辑来处理掉落的瓶子。
    PLC 问题图

    PLC 问题解决方案
    为此,我们在灌装站使用 PLC 系统,将掉落的瓶子从传送带上剔除,并为下一工序清理路径。
    这个过程是通过使用传感器和执行器来完成的。 我们使用气动活塞缸组件将掉落的瓶子从传送带上推出。
    当输送机运行时,所有瓶子从一个工位转移到另一个工位进行下一道工序。 使用两个传感器,用于检测站立和掉落的瓶子,一个气缸用于将掉落的瓶子从传送带上推出。
    输入/输出列表
    输入列表
    起始 PB:I0.1 停止 PB:I0.0 传感器 X1:I0.2 传感器 X2:I0.3 输出列表
    循环开启:Q0.0 输送机:Q0.1 气缸:Q0.2 自动剔瓶系统的 PLC 程序

    PLC 程序说明
    在本应用中,我们使用了西门子 S7-1200 PLC 和 TIA Portal 软件进行编程。 我们也可以用继电器电路来设计这个逻辑。
    网络 1:
    在网络 1 中,我们为机器采取循环 ON 条件。 这里我们采用 START PB (I0.1) 来启动循环,并采用 STOP PB (I0.1) 来停止循环。
    我们采用循环 ON (Q0.0) 的传送带 (Q.1) 并行输出,因此我们可以在循环 ON 条件下操作传送带。
    网络 2:
    在网络 2 中,我们将传感器 X1(I0.2) 和 X2(I0.3) 作为输入。 我们对 X2 (I0.3) 传感器使用常开触点,对 X1 (I0.2) 传感器使用常闭触点。
    当瓶子在传送带上传输时,这些传感器会感知瓶子的位置,无论它们是直立还是倒下。
    传感器 X2(I0.3) 感测瓶子的下部位置,传感器 X1(I0.2) 感测瓶子的顶部位置。
    在 PLC 中,我们设计了遵循命令的电路,如果传感器 X2(I0.3) 感测到瓶子并且传感器 X1(I0.2) 没有感测到瓶子,则气动执行器 (Q0.2) 将开始动作并且它 将从传送带上剔除瓶子。
    之后,完美的瓶子将进入苏打水灌装站,整个循环将完成。
    结果

    注:上述 PLC 逻辑提供了 PLC 在自动剔瓶处理系统中应用的基本思路。 逻辑是有限的,不完整的应用。

    caixiaofeng
    用于每日生产记录的 PLC 程序。 通过梯形图逻辑的详细解释来了解问题描述。
    每日生产记录
    问题描述
    在许多行业中,都需要统计一天内生产的产品数量,这对于销售产品或跟踪每天的生产数量是非常有必要的。
    在过去,人类操作员被分配对最终产品进行计数,但由于一些人为错误,精确计数是不可能的。 因此我们无法对所有产品进行正确计数,也无法有效跟踪生产数量。
    这些类型的问题大多发生在食品和饮料行业、盒子包装行业、瓶子灌装应用等。因此我们可以使用一个简单的基于 PLC 的逻辑来跟踪日常生产并以电子方式记录。
    问题图

    PLC 解决方案
    这里我们将利用传感器和 PLC 编程来解决最终产品的计数问题。 首先传感器感应产品并计算数量,数值将显示在数字显示屏上(如上图所示)。
    为了便于解释,我们将考虑一个空箱计数系统的简单示例。 在该系统中,空盒子从第一个过程传送到第二个过程(例如一个地方到另一个地方)。
    传感器用于对空箱进行计数。 因此,当传感器检测到空盒子时,就会开始显示,也就是说从 1 开始计数,这是通过简单的逻辑完成的。
    每 24 小时/一天后,我们可以使用 RESET 按钮重置计数器值。 为了便于解释,这里我们将考虑两批生产。
    我们还考虑了为每个批次的操作员提供两个批次的完成指示,这些指示将显示在本地面板上。 通过 PLC 逻辑我们将实现所需的逻辑。
    因此,当任何批次完成时,指示灯将根据 PLC 程序亮起。
    一旦生产目标完成,可以使用 RESET 按钮重置显示计数器。
    输入/输出列表
    输入列表
    盒子探测器传感器:I0.0 复位:I0.1 主开关:I0.2 输出列表
    完成目标:Q0.0 第 1 批已完成:Q0.1 第 2 批已完成:Q0.2 每日生产记录梯形图

    PLC 程序说明
    在本应用中,我们使用了西门子 S7-1200 PLC 和 TIA Portal 软件进行编程。
    网络1:
    在网络 1 中,我们使用主开关 (I0.2) 来启动系统/批次,并串联使用盒子探测器传感器 (I0.0) 的常开触点。 这里我们考虑了一个 UP 计数器,因此当盒子检测器传感器 (I0.0) 检测到盒子时,计数器将开始计数。
    这里我们还采用目标完成输出(Q0.0)作为面板上操作员指示的目标完成指示。 通过按重置按钮(I0.1)操作员可以重置旧的生产记录。
    计数器操作用于对产品进行计数,其中 RESET(I0.1)用于重置生产记录。 预设值(PV)为 20 个产品。 计数器值(CV)为 MW2,表示传感器检测到的实际产品数量,该值将在后续梯级中用于跟踪批次状态。
    网络2:
    在网络 2 中,我们使用来自计数器块输出 CV 的批次 1 逻辑。 在这里,我们使用比较器对第 1 批的 10 个盒子进行计数,当完成时,第 1 批完成的灯 (Q0.1) 将亮起。 在此添加等于比较器,其中输入为 (MW2) 且适用于 10 个产品。
    网络3:
    在网络 3 中,我们使用来自计数器块输出 CV 的批次 1 逻辑。 在这里,我们使用比较器对第 2 批的 20 个盒子进行计数,当完成时,第 2 批完成的灯 (Q0.2) 将亮起
    这样我们就可以决定生产多少产品和批次。
    运行时测试用例

    注:以上 PLC 逻辑提供了 PLC 在工业生产记录中应用的基本思路。 逻辑是有限的,不完整的应用。

    caixiaofeng
    这是使用 S7-1200 PLC 的注水和排水过程的 PLC 程序。
    充水及排水过程
    问题描述
    在许多行业或工厂中,有大量的手动注水系统用于储水。
    手动系统存在准确性、延时问题、液体损失、耗时等诸多缺点。
    而且由于是手动系统,我们必须安排一名操作员来进行机器操作。 手动系统造成水浪费
    这里我们讨论的是半自动系统。
    图表

    PLC 解决方案
    为了解决这个问题,我们将使用 S7-1200 PLC 进行编程。
    这里我们使用两个传感器进行液位测量,一个用于高液位,第二个用于低液位。
    我们使用进料阀(MV1)进行罐体的填充循环,使用排出阀(MV2)进行罐体的排出循环。 两者都将根据传感器逻辑进行控制。
    因此,当水位低于低水位时,进水阀将自动打开,当水位达到高位且高水位传感器感应到时,排水过程将自动打开。
    当检测到高电平时,蜂鸣器将打开以发出警报。 如果用户按下控制面板上的停止按钮,循环将停止。
    PLC 输入和输出
    数字输入
    启动 PB:I0.0 停止 PB:I0.1 TLB 1:I0.3 TLB 2:I0.2 数字输出
    循环开启:Q0.0 阀门 MV1(进料):Q0.1 阀门 MV2(排放):Q0.2 搅拌器/混合器 M:Q0.3 蜂鸣器:Q0.4 PLC 充水、放水过程

    PLC 程序说明
    对于该应用,我们使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 在网络 1 中,我们使用锁存电路来实现周期 ON (Q0.0) 输出。 可通过按 START PB (I0.0) 启动,按 STOP PB (I0.1) 停止。 当循环开始时,系统将检查水箱的液位。 如果罐液位低,则进料过程将开始,罐液位高,则排放循环将开始。 为了简单起见,我们在程序中对两个传感器都采取了无接触方式。 它可以通过现场继电器逻辑来完成,或者您可以使用此类类型的传感器。 当罐检测到低液位时,TLB 2 (I0.2) 将被激活,然后喂食周期将开启。 这里我们采用了TLB1(I0.3)的常闭触点,因此当PLC 检测到高电平时,它将停止进给循环。 当水箱检测到高液位时,TLB 1 (I0.3) 将被激活,放电周期将开启。 这里我们采用 TLB2(I0.2)的常闭触点,因此当 PLC检测到低电平时,它将停止放电循环。 出于混合目的,混合器 M (Q0.3) 在卸料周期期间应处于开启状态。 这里我们还考虑了向高层发出警报以通知操作员。 当检测到 TLB 1(I0.3) 时,蜂鸣器 (Q0.4) 将被激活。 在所有功能期间,循环应为 ON。 运行时测试用例

    注:以上 PLC 逻辑提供了 PLC 在注水和放水过程中应用的基本思路。 逻辑是有限的,不完整的应用。

    leizuofa
    使用梯形图逻辑编程创建自动液体混合应用的 PLC 程序。 利用 PLC 梯形图研究混合过程。
    液体混合应用
    问题描述
    在许多行业中,有许多混合系统用于溶液混合。 有些工厂使用完全自动化或半自动化。
    手动系统存在很多缺点,例如缺乏准确性、延时问题、液体损失、耗时等。
    这里我们讨论的是混合系统的半自动应用。
    图表

    问题方案
    在本例中,我们使用 PLC 编程,并使用西门子 S7-1200 PLC。
    为了便于解释,我们可以考虑如上所示的混合系统的简单示例。
    在此应用中,操作员可以使用开关 S1 和 S2 来制备纯净的未混合溶液。 操作者可以使用开关 S3 来制备混合溶液或材料。
    操作人员观察罐内液位,通过操作阀门 V5 即可排出罐内液体。
    当罐被填充时,搅拌器电机 M 也将运行。 我们将提供联锁系统,以便操作员不能同时操作两个开关。
    V1、V3、V5 为手动阀,不与 PLC 相连。
    V2 和 V4 是电子操作阀,可由 PLC 控制。
    PLC 输入输出列表
    数字输入
    共有三个开关 S1、S2、S3
    S1:I0.0 S2:I0.1 S3:I0.3 数字输出
    我们有两个阀门 V2 和 V4。 搅拌电机 M1 一台
    V2:Q0.0 V4:Q0.1 M1:Q0.2 自动液体混合应用的 PLC 梯形图

    PLC 程序解释
    对于该应用,我们使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 在网络 1 中,我们串联了 S1(I0.0)的 NO 触点和 S2(I0.1)和 S3(I0.2)的 NC 触点。 通过激活开关 S1,操作员可以启动溶液 1(液体1)的阀门 V2。 在网络 2 中,我们串联了 S2(I0.1)的 NO 触点和 S1(I0.0)和 S3(I0.2)的 NC 触点。 通过激活开关 S2 (I0.1),操作员可以启动溶液 2(液体 2)的阀门 V4 (Q0.1)。 对于网络 1 和 2,我们采用并联连接,S3 (I0.2) 的常开触点与 S1 (I0.0) 和 S2 (I0.1) 的常闭触点串联。 由于上述并联连接,操作员可以通过激活混合溶液(液体 1 和液体 2)的开关 S3 (I0.2) 来操作两个阀门 根据我们的情况,搅拌器 M1 (Q0.2) 应在罐填充时自动启动。 因此,我们采用了 V2 (Q0.1) 的常开触点和 V4 (Q0.1) 的并联常开触点,这样通过操作任何开关即可自动激活搅拌器。 运行时测试用例

    注:上述 PLC 逻辑提供了 PLC 在液体混合应用中应用的基本思路。 逻辑是有限的,不完整的应用。

    leizuofa
    这是顺序电机操作系统的 PLC 程序。
    顺序电机控制
    问题描述
    在许多行业中,都会使用大量的电机。 有时我们需要在一个应用中启动多个电机。
    当我们的输入电源额定值较低时,当一台或多台电机并行启动时,输入 MCB 可能会跳闸,因为它们会消耗更多功率。
    在这里,我们将考虑一个类似的示例,其中我们逐一启动每个电机。
    问题图

    问题方案
    该问题可以通过使用 PLC 编程或继电器逻辑来解决。
    在这种情况下,我们必须按顺序操作电机。 总共需要顺序控制 3 个电机。 这样每个电机将按顺序启动,假设电机 1 将启动,然后经过一段延迟后,电机 2 将启动,经过一段延迟后,电机 3 将启动。
    因此整个操作将需要 10 秒才能按顺序启动所有电机。 通过提供这个延迟,我们可以避免电机在初始启动期间消耗大电流的问题。
    所有电机将按顺序运行,每个电机运行之间应有 5 秒的延时。
    这里将使用 PLC 编写电机顺序操作的逻辑。
    输入和输出列表
    输入列表
    起始 PB:I0.0 停止 PB:I0.1 输出列表
    循环开启:Q0.0 电机 1:Q0.1 电机 2:Q0.2 电机  3:Q0.3 用于顺序电机控制的 PLC 梯形图

    梯形图逻辑解释
    在本次应用中,我们使用西门子 S7-1200 PLC 和 TIA Portal 软件进行编程。 我们也可以用继电器电路来设计这个逻辑。
    网络 1:
    在网络 1 中,我们编写了循环 ON 条件的逻辑。 这里循环 ON(Q0.0)灯将指示循环状态。 按 START PB (I0.0) 按钮可以启动循环,按 STOP PB (I0.1) 按钮可以停止循环。
    当循环ON时,同时电机1(Q0.1)将启动。 同时,定时器指令将被执行。
    网络 2:
    在网络 2 中,电机 1 的常开触点启动定时器 T1,当电机 2 定时器(Q0.1)达到设定值 5 秒时。 然后 T1 的常开触点将启动电机 2 (Q0.1)。
    网络 3:
    在网络 3中,我们采用了电机 3 的逻辑。这里我们给出了电机 2 的常开触点,用于启动电机 3 的定时器。当 T2 达到设定值 5 秒时,T2 的常开触点将启动电机 3( Q0.0)。
    当按下 STOP PB (I0.1) 时,NC 触点将被激活,从而使循环 (Q0.0) 关闭。 并且电机 2 和 3 也将停止工作。
    运行时测试用例

    注:上述 PLC 逻辑提供了 PLC 在顺序电机控制中应用的基本思路。 逻辑是有限的,不完整的应用。

    leizuofa
    这是室内楼梯灯双向开关逻辑的 PLC 程序
    PLC 双向开关逻辑
    在复式房屋中,有底层和一楼,有时也有二楼。
    有时人们需要通过房屋内提供的楼梯从底层到一楼或从一楼到底层。
    但楼梯里没有阳光,所以人们需要一盏灯/灯才能轻松看到楼梯的台阶。
    这里我们使用一个简单的 PLC 来控制这盏灯,使用两个开关,一个开关在一楼,第二个开关在一楼控制一盏灯,如下图所示。
    注意:我们还可以使用简单的继电器/开关构建电路。 本文仅用于了解使用 PLC 梯形逻辑的 2 路开关的基本概念。
    图像

    解决方案
    我们将通过简单的自动化来解决这个问题。 如图所示,考虑一栋简单的一层房屋,房屋内设有楼梯。
    在这里,我们将设置照明系统,以便用户无论在楼梯底部还是顶部都可以打开/关闭灯光。
    我们将为每个楼层提供单独的开关,如上图所示。
    PLC  I/O 要求
    数字输入
    SW1:I0.1 SW2:I0.2 数字输出
    灯:Q0.0 双向开关 PLC 程序

    程序解释
    对于该应用,我们使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 在上面的程序中,我们在该系列中添加了两个串联的常开触点 SW 1(I0.1)和 SW 2(I0.2)以及并联的常闭触点 SW1(I0.1)和 SW2(I0.2) SW1 和 SW2 无触点。 如果底部开关(SW1)的状态和顶部开关(SW2)的状态相同,则灯将亮起。 如果底部或顶部开关的状态与其他开关的状态不同,则灯(Q0.0)将关闭。 当灯 (Q0.0) 关闭时,用户可以通过更改任何开关的状态来打开灯。 用户还可以通过更改两个开关之一的状态来关闭灯。 结果

    注:上述 PLC 逻辑提供了 PLC 在双向开关逻辑中应用的基本思路。 逻辑是有限的,不完整的应用。

    leizuofa
    这是用于仓库(仓储设施)自动灯控制的 PLC 程序。
    自动灯控制
    问题描述
    在旧流程中,当人进入仓库(存储设施)时,他/她按下开关,仓库中的所有灯都会亮起。 如果我们同时打开所有灯,则会消耗更多能源。
    这个问题出现在老流程中,所以需要针对这个流程提供解决方案。 我们可以使用简单的自动化或联锁系统来解决这个问题。
    问题图

    PLC 问题解决方案
    我们可以利用 PLC 通过简单的互锁来解决这个问题。 如图所示,考虑一个工业仓库(存储设施),该设施中有几个部分。
    例如,我们只考虑了存储设施的三个部分。 假设这里我们有 3 个灯用于 3 个段和 3 个开关用于操作。
    当一个人进入仓库(存储设施)进行某些工作时,他将通过按下开关 1 来操作灯 1。当工作完成时,操作员将关闭灯。
    在这里,我们将提供一个联锁系统,这样一个人在停止第一个分段灯之前就无法操作另一个分段的灯。 同样的情况也发生在其他环节。
    因此,通过使用这种自动化/联锁电路,我们可以节省能源。
    注意:这种类型的联锁仅适用于某些类型的存储设施,因为这些存储设施仅在进入存储设施中的下一个分段之前通过一次在一个分段中工作来进行操作。
    输入/输出列表
    数字输入
    SW1:I0.0 SW2:I0.2 SW3:I0.3 数字输出
    灯 1:Q0.0 灯 2:Q0.1 灯 3:Q0.2 自动灯开/关 PLC 梯形图

    PLC 程序说明
    对于该应用,我们使用 S7-1200 PLC 和 TIA Portal 软件进行编程。
    网络 1:
    在上面的程序中,我们采用了 SW 1(I0.0) 的 NO 触点来操作灯 1 (Q0.0),并串联给出了 NC 触点。 因此,当用户按下其他开关时,灯 1(Q0.0) 将关闭。
    网络 2:
    在网络 2 中,我们为灯 2(Q0.1) 编写了逻辑。 通过操作 SW2(I0.2),操作员可以操作灯 2(Q0.1)。 并且串联了常闭触点,因此当用户按下其他开关时,灯 2(Q0.1)将关闭。
    网络 3:
    在网络 3 中,我们为灯 3(Q0.2)编写了逻辑。通过操作 SW3(I0.2)可以操作灯 3(Q0.2)。 并且串联了常闭触点,因此当用户按下其他开关时,灯 3(Q0.2)将关闭。
    运行时测试用例

    注:上述 PLC 逻辑提供了应用 PLC 程序进行自动灯控制的基本思路。 逻辑是有限的,不完整的应用。

    leizuofa
    这是用于三相异步电机正向和反向控制的 PLC 程序。
    使用 PLC 进行三相电机控制
    问题描述
    工业中有许多用于不同目的的电机和输送机。
    在某些情况下,电机或输送机需要正向和反向操作以实现某些控制目的。
    例如桥式起重机,操作员每次向前和向后移动起重机以进行物料搬运时。
    因此,我们可以使用 PLC 系统对电机进行正向/反向操作编程。
    问题图

    问题方案
    在这种情况下,我们需要在两个方向上操作电机,这只能通过正向/反向控制继电器电路或通过逻辑来实现。
    这里我们通过在PLC中使用简单的正向/反向控制逻辑来解决这个问题。
    因此,在这里我们将考虑一台用于正向和反向操作的三相电机。
    我们将采用两个接触器或继电器来控制电机,因为我们需要两个不同的方向,即正向/反向。 第一个接触器用于电机正向控制,第二个接触器用于电机反向控制。
    此外,我们还应该考虑三个按钮,即用于电机的前进、后退和停止功能。
    因此,这里操作员将使用 FWD PB 进行正向操作,使用 REV PB 进行反向操作,使用 STOP PB 进行停止功能。
    PLC 输入列表
    正向PB:I0.0 版本:I0.1 停止PB:I0.2 电机跳闸:I0.3 PLC 输出列表
    电机正转:Q0.0 电机反转:Q0.1 PLC电机正转/反转控制梯形图

    梯形图逻辑说明
    在本应用中,我们将使用西门子S7-1200 PLC和TIA Portal软件进行编程。 我们也可以用继电器电路来设计这个逻辑。 该电路也称为三相感应电机的正向/反向控制。 我们将在网络1中编写正转条件的逻辑。这里我们使用FWD PB(I0.0)的常开触点来进行电机的正转操作,我们使用的是按钮,因此我们需要使用电机正转输出线圈的一个常开触点 (Q0.0) 用于闭锁目的。 (按钮仅提供瞬时接触,我们需要锁定该动作,以便使用电机正向线圈接触) 由于正转和反转不能同时运行,所以串联电机反转输出(Q0.1)的常闭触点来解锁电路。 现在在网络 2 中编写反转条件的逻辑。这里我们将采用 REV PB (I0.2) 的常开触点来实现电机反转功能,并在电机反转输出线圈 (Q0.1) 上再采用一个常开触点来锁存电机反转。 电机反向输出(QO.1)。 (按钮仅提供瞬时接触,我们需要锁定该动作,以便使用电机正向线圈接触) 这里还串联了电机正转输出线圈(Q0.0)的常闭触点,用于解锁电路,因为正转和反转不能同时运行。 出于联锁目的,将 FWD PB (I0.0) 的常闭触点与 REV PB (I0.2) 串联,并将 REV PB (I0.2) 的常闭触点与 FWD PB (I0.0) 串联。 将 NC 触点串联在两个网络中,以便操作员可以通过按 STOP PB 来停止正向或反向旋转 这里我们使用 OLR 来保护电机,因此在两个网络中串联添加电机跳闸常闭触点 (I0.3) 以保护电机 运行时测试用例

    注:上述 PLC 逻辑提供了 PLC 逻辑在三相异步电机控制中应用的基本思路。 逻辑是有限的,不完整的应用。

    leizuofa
    假设输送系统上有十六个站。
    工位编号为 0-15,其中零工位是第一个工位(即零件进入传送带的点)。
    零件应以每四秒一站的速度沿着传送带前进。
    零件在任何时间点可能位于也可能不在给定站点。
    输入传感器 I:0.0/0 用于检测进入传送带的零件。
    在第 5 站,检查零件是否有缺陷,如果零件有缺陷,则输入传感器 I:0.0/1 通电。
    在工位 10,通过输出 O:0.0/0 通电,将任何有缺陷的部件从传送带上移除。
    为此过程编写一个高效的梯形逻辑程序。
    PLC输送梯形图逻辑程序


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