当前位置: 首页 > 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;那或许会比较好理解…...

LeetCode 1487. 保证文件名唯一

【LetMeFly】1487.保证文件名唯一 力扣题目链接&#xff1a;https://leetcode.cn/problems/making-file-names-unique/ 给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹&#xff1a;在第 i 分钟&#xff0c;新建名为 names[i] 的文件夹。 由于两个…...

详细剖析|袋鼠云数栈前端框架Antd 3.x 升级 4.x 的踩坑之路

袋鼠云数栈从2016年发布第⼀个版本开始&#xff0c;就始终坚持着以技术为核⼼、安全为底线、提效为⽬标、中台为战略的思想&#xff0c;坚定不移地⾛国产化信创路线&#xff0c;不断推进产品功能迭代、技术创新、服务细化和性能升级。 在数栈过去的产品迭代中受限于当前组件的…...

【C++PrimerPlus】第三章 处理数据

文章目录前言内容目录3.1 简单变量3.1.2 变量名3.1.2 整形3.1.3 整形short,int,long,long long3.1.4 无符号类型3.1.5 选择整形类型3.1.6 整形字面值3.1.7 C如何确定常量的类型3.1.8 char类型&#xff1a;字符和小整数3.1.9 bool类型3.2 const修饰符3.3浮点数3.3.1 书写浮点数3…...

【基础算法】单链表的OJ练习(1) # 反转链表 # 合并两个有序链表 #

文章目录前言反转链表合并两个有序链表写在最后前言 上一章讲解了单链表 -> 传送门 <- &#xff0c;后面几章就对单链表进行一些简单的题目练习&#xff0c;目的是为了更好的理解单链表的实现以及加深对某些函数接口的熟练度。 本章带来了两个题目。一是反转链表&#x…...

离散数学笔记(1)命题逻辑

文章目录1.命题符号化及联结词基本概念本节题型2.命题公式及分类基本概念本节题型1.命题符号化及联结词 基本概念 命题的定义&#xff1a;能够判断真假的陈述句称为命题。 备注&#xff1a;感叹句、疑问句、祈使句和类似于xy>5之类真值不唯一的句子都不是命题。 真值的真假…...

IDEA Android 网格布局(GridLayout)示例(计算器界面布局)

网格布局(GridLayout&#xff09; 示例程序效果&#xff08;实现类似vivo手机自带计算器UI&#xff09; 真机和模拟器运行效果&#xff1a; 简述&#xff1a; GridLayout(网格布局)和TableLayout&#xff08;表格布局&#xff09;有类似的地方&#xff0c;通俗来讲可以理解为…...

【蓝桥杯嵌入式】拓展板之数码管显示

文章目录硬件电路连接方式函数实现文章福利硬件电路 通过上述原理图&#xff0c;可知拓展板上的数码管是一个共阴数码管&#xff0c;也就是说某段数码管接上高电平时&#xff0c;就会点亮。   上述原理图还给出一个提示&#xff0c;即&#xff1a;三个数码管分别与三个74HC59…...

Web Spider案例 网洛克 第三题 AAEncode加密 练习(七)

声明 此次案例只为学习交流使用&#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理&#xff0c;切勿用于其他非法用途&#xff1b; 文章目录声明一、资源推荐二、逆向目标三、抓包分析 & 下断分析逆向3.1 抓包分析3.2 下断分析逆向拿到混淆JS代码3.3 AAEncode解决方…...

【javaScript面试题】2023前端最新版javaScript模块,高频24问

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;博主收集的关于javaScript的面试题 目录 一、2023javaScript面试题精选 1.js的数据类型…...

Hadoop集群启动从节点没有DataNode

一、问题背景 之前启动hadoop集群的时候都没有问题&#xff0c;今天启动hadoop集群的时候&#xff0c;从节点的DataNode没有启动起来。 二、解决思路 遇见节点起不来的情况&#xff0c;可以去看看当前节点的日志文件 我进入当前从节点的hadoop安装目录的Logs文件下去查看日…...

北京免费网站建设模板下载/谷歌seo靠谱吗

经常遇到的面试题&#xff0c;一个类继承另一个类然后问输出的结果是什么。个人觉得就是考类的输出问题&#xff08;亲测&#xff09; 第一&#xff1a;单一的类执行顺序 package Test; public class person { static{ System.out.println("父类的静态块"); } per…...

开购物网站需要多少钱/网页设计效果图及代码

www.bnjyedu.com...

2015年做那些网站能致富/电商网站平台搭建

课程介绍 IDEA是一款功能强悍、非常好用的Java开发工具&#xff0c;近几年编程开发人员对IDEA情有独钟。虽然IDEA功能很强大&#xff0c;但目前市面讲解的不细致、不系统&#xff0c;导致很多IDEA初学者要么无从下手&#xff0c;要么耗费太多时间。本套课程分知识点进行录制讲解…...

成都网站建设:思乐科技/优化网站搜索

摘要摘要在机器翻译和作文自动评分领域已经有比较成熟的研究成果&#xff0c;但是在人工翻译评分领域的研究还不够深入。在同为主观题的作文评分中&#xff0c;采用多元线性回归方法建立文本特征和分数之间的方程。但是人工翻译评分选取的文本特征之间关系更为复杂&#xff0c;…...

如何制作网站后台/b站推广入口2023破解版

npm install laravel-echo-server -g安装了之后在其他目录无法执行&#xff0c;找不到命令&#xff0c;在windows下可以直接使用&#xff0c;在linux下需要配置下环境变量 npm prefix -g 该命令可以看到node全局环境的目录在哪里 将node环境中bin目录中的生成的 laravel-echo-…...

创建网站建设/免费网站推广网站在线

面对这种问题&#xff0c;大家应该都有这样的疑惑&#xff0c;我全部都是byte类型的数据&#xff0c;而且两个相加也并没超过byte类型的表示范围&#xff0c;但是为什么会报错Type mismatch: cannot convert from int to byte&#xff1f; 接下来为大家解惑&#xff1a; n,m,…...