0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在循环中断中创建工艺对象PID控制器?

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-12-29 18:10 次阅读

创建工艺对象 PID 控制器

以下步骤将介绍如何在循环中断 OB“PID [OB200]”中调用工艺对象“PID_Compact” 。

步骤

要在循环中断 OB“PID [OB200]”中调用工艺对象“PID_Compact” ,请按以下步骤操作:

在组织块“PID [OB200]”的第一个程序段中,创建工艺对象“PID_Compact” 。

654efe5c-a62d-11ee-8b88-92fbcf53809c.png

2. 确定为工艺对象“PID_Compact” 创建数据块。

6569ba9e-a62d-11ee-8b88-92fbcf53809c.png

结果

已通过编程设定了在循环中断 OB“PID [OB200]”中调用工艺对象“PID_Compact” 并且已创建数据块“PID_Compact_DB” 。

在下一部分中,将介绍如何在程序中加载仿真块以便仿真 PID 控制器的输入和输出值。

PID_Compact V2

在以下示例中,通过指令“PID_Compact”的工艺对象来控制温度值。基于一个用于仿真三阶延时元件(PT3 元件)的块对温度值进行仿真。工艺对象的 PID 参数可通过预调节自动设置。

657e10d4-a62d-11ee-8b88-92fbcf53809c.png

数据存储

在全局数据块中创建 7 个变量,以便存储互连数据。

65875bda-a62d-11ee-8b88-92fbcf53809c.png

参数的互连

在循环中断 OB 中调用以下互连。

网络 1:按照如下所示,对指令“PID_Compact”的参数进行互连。

659bc25a-a62d-11ee-8b88-92fbcf53809c.png

程序段 2:按照如下所示,对用于仿真温度值“SLI_PROC_C”的块参数进行互连。

65a9edd0-a62d-11ee-8b88-92fbcf53809c.png

工艺对象

通过指令“PID_Compact”的属性或使用路径“工艺对象 > 组态”(Technology object > Configuration) 对工艺对象进行组态。对于本示例,控制器类型和输入/输出参数至关重要。借助控制器类型,您可以预先选择要控制值的单位。在本示例中,将单位为“°C”的“温度”(Temperature) 用作控制器类型。“PID_Compact”的参数已经与全局变量互连。因此,有关参数 Input 和 Output 的使用信息十分充分。

65b47458-a62d-11ee-8b88-92fbcf53809c.png

启动控制的步骤

下载CPU 后,PID_Compact 处于手动模式,手动值为 0.0。要启动控制,请按照以下步骤进行操作:

打开工艺对象“SLI_Tech_PID_Compact”的“调试”(Commissioning) 对话框。
单击“测量”(Measurement) 区域中的“启动”(Start) 按钮。
65c2285a-a62d-11ee-8b88-92fbcf53809c.png
65c2285a-a62d-11ee-8b88-92fbcf53809c.png
测量过程将启动并且可激活 PID_Compact。
选择预调节。
单击“调节模式”(Tuning mode) 区域中的“启动”(Start) 按钮。
执行了预调节。PID 参数根据过程自动调整。完成预调节后,PID_Compact 切换到自动模式。
说明
选择启动 PID_Compact
还可以不进行预调节,在“控制器的在线状态”(Online status of controller) 区域中通过“停止 PID_Compact”(Stop PID_Compact)/“启动 PID_Compact”(Start PID_Compact) 来将 PID_Compact 切换到自动模式。这种情况下,控制器使用 PID 参数的默认值并显示了该应用情况下不良的控制器表现。

停止控制的步骤

要停止并退出 PID_Compact 和程序,请按照以下步骤进行操作:

单击工艺对象“SLI_Tech_PID_Compact”中“控制器的在线状态”(Online status of controller) 区域中的“Stop PID_Compact”按钮。
65de6984-a62d-11ee-8b88-92fbcf53809c.png
65de6984-a62d-11ee-8b88-92fbcf53809c.png
指令“PID_Compact”将退出控制并将值“0.0”作为调节变量输出。
单击“测量”(Measurement) 区域中的“停止”(Stop) 按钮。
要将过程值立即设为“0.0”,请按下列步骤操作:
在“SLI_OB_PID_Compact”块中,将“resetAll”变量设为值“TRUE”,然后再设为值“FALSE”。

“PID_Compact”指令

在参数 Setpoint(“setpoint”)处指定要控制的温度的设定值。通过工艺对象启动指令“PID_Compact”时启动控制。指令“PID_Compact”将在输出参数 Output(“outputValue”)处输出一个调节变量。通过输入参数 Input(“inputValue”)将温度的过程值传送给指令“PID_Compact”。

指令“PID_Compact”可根据设定值(“setpoint”)和过程值(“inputValue”)之间的历史偏差调整操作变量(“outputValue”)。重复进行该过程,通过操作变量(“outputValue”)使过程值(“inputValue”)接近设定值(“setpoint”)。

输出参数 State(“state”)处显示了指令“PID_Compact”的当前工作模式。在完成预调节后(“state”的值为“1”),PID_Compact 将切换至自动模式(值为“3”)。

当前的输出参数 Error(“error”)显示无错误待决。发生错误时,输出参数 ErrorBits(“errorBits”)提供关于错误类型的信息。如果发生错误,可在工艺对象中的优化状态区域通过“ErrorAck”按钮确认。

65ff2d7c-a62d-11ee-8b88-92fbcf53809c.png

“SLI_PROC_C”块

“SLI_PROC_C”块用于对不断上升的设备温度的过程值(“inputValue”)进行仿真。“SLI_PROC_C”块包含控制器的操作变量(“outputValue”),可对过程的温度特性进行仿真。该温度作为过程值(“inputValue”)反馈到控制器中。

“resetAll”变量(comRst 参数)值的变化 () 会产生以下影响:

参数 comRst(“resetAll”) 指令“PID_Compact”正在运行 指令“PID_Compact”已停止运行
comRst(“resetAll”)仍设置为值“FALSE” “SLI_PROC_C”块基于操作变量(“outputValue”)输出一个新的过程值(“inputValue”)。 “SLI_PROC_C”块不会接收大于“0.0”的操作变量,但仍会输出一个新的过程值 >“0.0”。
comRst(“resetAll”):从“FALSE”变为值“TRUE” 操作变量(“outputValue”)和输出过程值(“inputValue”)均复位为“0.0”。 “SLI_PROC_C”块的过程值(“inputValue”)/温度复位为“0.0”。
comRst(“resetAll”):从“TRUE”变为值“FALSE” 再次启动温度控制。 输出过程值/温度(“inputValue”)保持“0.0”。

6615fec6-a62d-11ee-8b88-92fbcf53809c.png







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真器
    +关注

    关注

    14

    文章

    988

    浏览量

    82995
  • PID控制器
    +关注

    关注

    2

    文章

    156

    浏览量

    18334

原文标题:西门子博途:创建工艺对象 PID 控制器

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何停止while循环中的for循环,停止计时?

    各位大师,小弟请教如何在运行计时后,停止计时;也就是说,如何停止while循环中的for循环,谢谢大师们!
    发表于 10-23 16:29

    SimulinkPID控制器调整

    SimulinkPID控制器调整
    发表于 07-31 14:20

    何在for循环中为每个测试添加不同的操作?

    我需要在for循环中创建测试,对于每个测试,我必须添加不同的操作。我该怎么做到这一点?如何在for循环中为每个测试添加不同的操作? 以上来自于谷歌翻译 以下为原文I need to
    发表于 11-13 10:25

    STM32主循环中都无法关闭中断

    ,而串口进中断值寄存值为: 而正常情况下为: 只要IIC开启中断,就会频繁进入串口中断,导致主循环
    发表于 01-22 06:19

    采用Labview实现PID控制器设计

    、数据分析等领域。PID控制原理 PID控制是从比例、积分和微分三个环节来实现对系统控制的。常规PID
    发表于 04-23 09:40

    基于LabVIEW的PID控制器设计方法

    摘要:利用LabVIEW虚拟仪器开发平台,设计了一个程序,可以对3阶以内的线性被控对象快速的确定PID控制器的各个参数,完成PID控制器的设
    发表于 05-13 09:40

    何在一个循环中得到delta时间?

    你好,我想弄清楚如何在一个循环中得到delta时间。如何做到这一点呢?我应该使用计时吗?我试着用一个已知的时钟频率触发一个中断,但我认为我不得不
    发表于 07-12 11:11

    PID控制器选型基本原则和技术参数

      PID控制器选型基本原则  1、工艺要求  当对象和测量元件的时间常数T较大,容量迟延大,纯滞后r很小,微分控制是首选。
    发表于 12-09 14:25

    System GeneratorPID控制器是如何设计的?

    FPGA的数字控制器是什么?System GeneratorPID控制器是如何设计的?
    发表于 04-08 06:51

    PID控制器控制规律

    工业生产过程,对于生产装置的温度、压力、流量、液位等工艺变量常常要求维持在一定的数值上,或按一定的规律变化,以满足生产工艺的要求。PID控制器
    发表于 09-07 08:11

    PID控制器简介

    PID控制器简介在过程控制,按偏差的比例(P)、积分(I)和微分(D)进行控制PID
    发表于 09-07 08:06

    何在定时中断里去实现PID控制

    什么是PID?如何对PID进行数字化处理?如何在定时中断里去实现PID控制呢?
    发表于 12-15 06:11

    一类大时滞不稳定对象PID控制器设计

    针对工业过程控制中一类常见的一阶大时滞不稳定对象不易控制的问题,本文首先采用内模控制控制器参数化原理,提出一种简单
    发表于 12-16 15:52 19次下载

    可编程控制器实验教程之循环中断实验

    可编程控制器实验教程之循环中断实验,很好的学习资料。
    发表于 04-19 13:57 0次下载

    使用过程仿真函数模拟PID控制的过程

    练习目的:使用过程仿真函数模拟PID控制的过程,熟悉PID函数的使用和调试。  练习要求:通过对一个过程的控制,实现预整定和精细整定并得到PID
    的头像 发表于 05-27 17:31 3514次阅读