当前位置: 首页 > news >正文

周期性温度和压力波的PID自动控制解决方法

 

摘要:目前各种PID控制器仪表常用于简单的设定点(Set Point)和斜坡(Ramp)程序控制,但对于复杂的正弦波等周期性变量的控制则无能为力。为了采用标准PID控制器便捷和低成本的实现对正弦波等周期性变量的自动控制,本文介绍相应的解决方案。解决方案的主要内容一是采用具有远程设定点功能的PID控制器,二是采用外置信号发生器,发生器输出的周期信号作为PID控制器周期性改变的设定值,从而实现周期性变量的自动控制。

原文阅读:(PDF格式)


1. 问题的提出

在各种科研生产中经常会设计一些周期性的温度、湿度、真空压力和振动等交变环境或边界条件来进行各种特定的测试和考核,这些周期性边界条件或环境所呈现出的常见形式往往会是方波、正弦波,三角波和梯形波等,这在各种物理参数的动态测试和产品构件的性能考核试验过程中体现的尤为明显,由此就要求相应的自动化系统能提供这些不同波形环境变量的准确控制,从而保证实际环境的变化与测试及试验数学模型对边界条件的描述尽可能的吻合,最终保证物理变量测试以及考核试验的准确性和可靠性。

在各种温度、湿度、真空压力和振动等环境的形成和自动化控制过程中,基本都是采用各种小巧的工业级PID控制器和PLC可编程逻辑控制器,这些控制器非常适用于定点或变化速度较慢的线性变化控制,图1(a)所示就是这样一个非常典型温度控制变化过程曲线。

图1 温度过程典型变化曲线:(a)折线形式;(b)正弦波形式

对于图1(a)所示的典型温度变化过程,采用普通的PID程序控制器进行编程设计就可以实现,并且还可以编辑多条这样的多折线控制程序进行存储和调用运行。但对于如图1(b)所示的正弦波形式的温度控制和线性升温加正弦波调制的温度控制,目前还未看到可进行这种周期性变量控制的标准化PID控制器。为了在实际应用中实现这种周期性变量的PID控制,往往需要采用计算机和PLC并进行复杂的控制程序编写才能实现这种复杂功能,但这具有较高的技术门槛。

为了解决上述PID控制器对于复杂正弦波等周期性变量控制的无能为力,并能采用标准PID控制器便捷和低成本的实现对正弦波等周期性变量的自动控制,本文将提出以下解决方案。

2. 解决方案

PID调节器进行自动控制的基本原理是根据设定值与被控对象测量值之间的控制偏差,将偏差按比例、积分和微分通过线性组合形成控制输出量,对被控对象进行控制。这里的设定值是一种泛指,实际上包括了不随时间变化的固定设定值和随时间变化的设定曲线。

由此可见,对于PID控制器要实现自动控制的必要前提是要已知被控对象的变化要求,并将此要求按照设定值曲线输入给PID控制器。通常的设定曲线如图1(a)所示,它可以通过设定不同的爬升速率构成控制程序曲线。如果采用此方式来进行如图1(b)所示正弦波那样的周期性被控对象,则需要设计很多个小折线才能准确代表波形曲线,而在实际应用中还需能不断调整被动对象的波幅和频率,由此可见采用这种折线方式来对正弦波类周期性变化被动对象进行设定值近似无可操作性。总之,这种问题最终可以归结到如何使得PID控制器的设定值变得符合周期性函数特征,并可以很方便的进行波形、波幅和频率的更改。

为了可以很方便的将PID控制器设定值按照所需的函数波形进行设置,本文提出的解决方案具体内容如下:

(1)采用具有外部设定点功能的PID控制器,即PID控制器所接收到的外部任意波形信号都可以作为设定值。

(2)外置一个函数信号发生器,给PID控制器传输所需的波形信号。

依据上述方案所确定的PID控制装置及其接线如图2所示。

图2 正弦波等周期变量PID控制装置及接线图

2.1 具有远程设定点功能的PID控制器

所用的具有远程设定值功能的PID控制器一般配置有两个输入通道,第一主输入通道作为测量被控对象的传感器输入,第二辅助输入通道用来作为远程设定点输入。与主输入信号一样,辅助输入的远程设定点同样可接受47种类型的输入信号,其中包括10种热电偶温度传感器、9种电阻型温度传感器、3种纯电阻、10种热敏电阻、3种模拟电流和12种模拟电压,即任何信号源只要能转换为上述47种类型型号,都可以直接接入第二辅助输入通道作为远程设定点源。需要注意的是,远程设定点功能只能在单点设定控制模式下有效,在程序控制模式下无此功能。

2.2 函数信号发生器

对于所有被控对象而言,相应的传感器测量输出无外乎就是电压和电阻这两类信号输出。因此,为了实现被控对象周期性变化的控制,可以采用各种相应的函数信号发生器输出周期性设定值,对于热电偶和热电阻的周期信号输出,可以采用专门的过程校验仪输出相应的温度设定值。

2.3 接线、参数设置和操作

在如图2所示的周期性变量PID控制系统中,在主输入通道上连接过程传感器,在主控输出通道连接的是执行机构,由此传感器、执行机构和PID调节器组成标准的闭环控制回路,在一般情况下可以通过内部设定点进行PID自动控制。

如果要对被控对象进行周期性变化的控制,则使用远程设定点功能,此时需要在辅助输入通道接入远程设定点源,即函数信号发生器或过程校验仪。

完成外部接线后,在运行使用远程设定值功能之前,需要对PID控制器的辅助输入通道相关参数进行设置,需要满足以下几方面要求:

(1) 辅助通道上接入的远程设定点信号类型要与主输入通道完全一致。

(2) 辅助通道的显示上下限也要与主输入通道完全一致。

(3) 显示辅助通道接入的远程设定点信号大小的小数点位数要与主输入通道保持一致。

完成上述辅助输入通道参数的设置后,开始使用远程设定点功能时,还需要激活远程设定值功能。远程设定值功能的激活可以采用以下两种方式:

(1) 内部参数激活方式:在PID控制器中,设置辅助输入通道2的功能为“远程SV”,相应数字为3。

(2)外部开关切换激活:如图2所示可连接一个外部开关进行切换来选择远程设定点功能。同时,还需在PID控制器中,设置辅助输入通道2的功能为 “禁止”,相应数字为0。然后设置外部开关量输入功能DI1为“遥控设定”,相应数字为2。通过这种外部开关量输入功能的设置,就可以采用图2中所示的纽子开关实现远程设定点和本地设定点之间的切换,开关闭合时为远程设定点功能,开关断开时为本地设定点功能。

需要注意的是,无论采用哪种远程设定点激活和切换方式,在输入信号类型、显示上下限范围和小数点位数这三个参数选项上,辅助输入通道始终要与主输入通道保持一致。

3. 总结

综上所述,本文提出的解决方案,可以彻底解决正弦波等周期性变量的PID控制问题,而且使用简便和门槛较低,无需再进行复杂的程序编写。

另外,本解决方案还可以进行多种拓展,如可实现被控对象周期性调制波的加载,非常便于实现更复杂的第二类和第三类边界条件的精密PID控制。


相关文章:

周期性温度和压力波的PID自动控制解决方法

摘要:目前各种PID控制器仪表常用于简单的设定点(Set Point)和斜坡(Ramp)程序控制,但对于复杂的正弦波等周期性变量的控制则无能为力。为了采用标准PID控制器便捷和低成本的实现对正弦波等周期性变量的自动控…...

从头开始搭建一个SpringBoot项目--SpringBoot文件的上传与下载

从头开始搭建一个SpringBoot项目--SpringBoot文件的上传前言流程分析代码结构代码详情UploadFileInfo.classUploadController.classUploadDao.classUploadDao.xmlUploadServices.classUploadServicesImpl.class测试下载示例前言 文件的上传和下载是很多系统必备的功能&#xf…...

It做形式主语和宾语

主谓宾,主宾能被名词性的sth,替换,如动名词,不定式,从句等等 而且,不能出现前面或者中间,很长,一大推的在开头或者中间,就产生了it做形式主宾。 一、It用作形式主语当不…...

做测试一定要知道的——软件测试流程和测试规范标准文档

目录 1、目的 2、工作范围 3、工作职责 4、测试的流程 5、测试准备阶段 6、测试方法制定阶段 7、测试执行阶段 8、bug管理 9、标准文档 总结感谢每一个认真阅读我文章的人!!! 重点:配套学习资料和视频教学 1、目的 通…...

Linux下将一个文件压缩分包成多个小文件

压缩分包 将文件test分包压缩成1G 的文件: tar czf - 文件名字 | split -b 10 - 文件名.tar.gz解压 将第一步分拆的多个包解压: cat 文件名.tar.gz* | tar -xzv...

分享5款用了一段时间,个人觉得非常nice的软件

大家在使用Windows办公、学习的时候,有没有觉得自己的电脑差了点意思?比如:电脑桌面上太杂乱、装满了各类五花八门的软件、桌面壁纸不美观等。今天,给大家分享五款个人用了段时间后,觉得非常nice的软件。 1.鼠标可视化…...

搜广推 Product-based Neural Networks (PNN) - 改进特征交叉的方式

😄 PNN:2016年上海交通大学提出。 文章目录 1、PNN1.1、原理1.2、创新点:product层1.3、product层z部分的输出:l~z~ 的计算方式:1.4、product层z部分的输出:l~p~ 的计算方式:1.4.1、IPNN1.4.2、OPNN1.5、优点1.6、缺点Reference1、PNN PNN:Product-based Neural Netwo…...

IDEA2022 配置spark开发环境

本人强烈建议在 linux环境下 学习 spark!!! Introduction Apache Spark是一个快速且通用的分布式计算引擎,可以在大规模数据集上进行高效的数据处理,包括数据转换、数据清洗、机器学习等。在本文中,我们将…...

趣味答题竞赛小程序开发功能的详细介绍

随着人们对知识学习的要求越来越高,答题已经成为了一项重要的学习和考核方式。而为了让答题变得更加有趣和富有挑战性,我们推出了趣味答题竞赛小程序。下面,我们将详细介绍这个小程序的开发功能。 1.个人淘汰赛 在个人淘汰赛中,…...

【独家】华为OD机试提供C语言题解 - 获取最大软件版本号

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明获取…...

k8s编程operator实战之云编码平台——⑤项目完成、部署

文章目录1、效果展示2、保存用户状态和访问用户服务实现方案2.1 如何保存用户的状态2.1.1 解决保留安装的插件问题2.2 如何访问到用户在工作空间中启动的http服务2.2.1 code-server如何帮我们实现了用户程序的代理3、Operator功能实现3.1 使用KubeBuilder创建项目3.1.1 完善kin…...

C语言杂记(指针篇)

指针篇 指针就是地址&#xff0c;地址就是指针 指针变量就是存放地址的变量 *号只有定义的时候表示定义指针变量&#xff0c;其他表示从地址里面取内容 通过指针的方法使main函数中的data1和data2发生数据交换。 #include <stdio.h> void chang_data(int *data1,int *da…...

ES window 系统环境下连接问题

环境问题&#xff1a;&#xff08;我采用的版本是 elasticsearch-7.9.3&#xff09;注意 开始修正之前的配置&#xff1a;前提&#xff1a;elasticsearch.yml增加或者修正一下配置&#xff1a;xpack.security.enabled: truexpack.license.self_generated.type: basicxpack.secu…...

hexo部署github搭建个人博客 完整详细带图版(更新中)

文章目录0. 前置内容1. hexo创建个人博客2. GitHub创建仓库3. hexo部署到GitHub4. 常用命令newcleangenerateserverdeploy5. 添加插件5.1 主题5.2 博客基本信息5.3 创建新的菜单5.4 添加搜索功能5.5 添加阅读时间字数提示5.6 打赏功能5.7 切换主题5.8 添加不蒜子统计5.9 添加百…...

SpringBoot集成DruidDataSource实现监控 SQL 性能

一、快速入门 1.1 基本概念 我们都使用过连接池&#xff0c;比如C3P0、DBCP、hikari、Druid&#xff0c;虽然 HikariCP 的速度稍快&#xff0c;但 Druid 能够提供强大的监控和扩展功能。Druid DataSource 是阿里巴巴开发的号称为监控而生的数据库连接池&#xff0c;它不仅可以…...

maven镜像源及代理配置

在公司使用网络一般需要设置代理&#xff0c; 我在idea中创建springboot工程时&#xff0c;发现依赖下载不了&#xff0c;原以为只要浏览器设置代理&#xff0c;其他的网络访问都会走代理&#xff0c;经过查资料设置了以下几个地方后工程创建正常&#xff0c;在此记录给大家参考…...

【Java面试篇】Spring中@Transactional注解事务失效的常见场景

文章目录Transactional注解的失效场景☁️前言&#x1f340;前置知识&#x1f341;场景一&#xff1a;Transactional应用在非 public 修饰的方法上&#x1f341;场景二&#xff1a; propagation 属性设置错误&#x1f341;场景三&#xff1a;rollbackFor属性设置错误&#x1f3…...

【C】分配内存的函数

#include <stdlib.h>//分配所需的内存空间&#xff0c;并返回一个指向它的指针。 void *malloc(size_t size);//分配所需的内存空间&#xff0c;并返回一个指向它的指针。并且calloc负责把这块内存空间用字节0填//充&#xff0c;而malloc并不负责把分配的内存空间清零 vo…...

IDEA 断点总是进入class文件没有进入源文件解决

前言 idea 断点总是进入class文件没有进入源文件解决 问题 在源文件里打了断点&#xff0c;断点模式启动时却进入了class文件里的断点&#xff0c;而没有进入到java源文件里的断点。 比如&#xff1a;我在 A.java 里打了断点&#xff0c;调试时却进入到了 jar 包里的 A.clas…...

【flink】 flink入门教程demo 初识flink

文章目录通俗解释什么是flink及其应用场景flink处理流程及核心APIflink代码快速入门flink重要概念什么是flink&#xff1f; 刚接触这个词的同学 可能会觉得比较难懂&#xff0c;网上搜教程 也是一套一套的官话&#xff0c; 如果大家熟悉stream流&#xff0c;那或许会比较好理解…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...