周期性温度和压力波的PID自动控制解决方法
摘要:目前各种PID控制器仪表常用于简单的设定点(Set Point)和斜坡(Ramp)程序控制,但对于复杂的正弦波等周期性变量的控制则无能为力。为了采用标准PID控制器便捷和低成本的实现对正弦波等周期性变量的自动控制,本文介绍相应的解决方案。解决方案的主要内容一是采用具有远程设定点功能的PID控制器,二是采用外置信号发生器,发生器输出的周期信号作为PID控制器周期性改变的设定值,从而实现周期性变量的自动控制。
原文阅读:(PDF格式)
1. 问题的提出
在各种科研生产中经常会设计一些周期性的温度、湿度、真空压力和振动等交变环境或边界条件来进行各种特定的测试和考核,这些周期性边界条件或环境所呈现出的常见形式往往会是方波、正弦波,三角波和梯形波等,这在各种物理参数的动态测试和产品构件的性能考核试验过程中体现的尤为明显,由此就要求相应的自动化系统能提供这些不同波形环境变量的准确控制,从而保证实际环境的变化与测试及试验数学模型对边界条件的描述尽可能的吻合,最终保证物理变量测试以及考核试验的准确性和可靠性。
在各种温度、湿度、真空压力和振动等环境的形成和自动化控制过程中,基本都是采用各种小巧的工业级PID控制器和PLC可编程逻辑控制器,这些控制器非常适用于定点或变化速度较慢的线性变化控制,图1(a)所示就是这样一个非常典型温度控制变化过程曲线。

对于图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.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测试下载示例前言 文件的上传和下载是很多系统必备的功能…...
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语言杂记(指针篇)
指针篇 指针就是地址,地址就是指针 指针变量就是存放地址的变量 *号只有定义的时候表示定义指针变量,其他表示从地址里面取内容 通过指针的方法使main函数中的data1和data2发生数据交换。 #include <stdio.h> void chang_data(int *data1,int *da…...
ES window 系统环境下连接问题
环境问题:(我采用的版本是 elasticsearch-7.9.3)注意 开始修正之前的配置:前提:elasticsearch.yml增加或者修正一下配置: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 基本概念 我们都使用过连接池,比如C3P0、DBCP、hikari、Druid,虽然 HikariCP 的速度稍快,但 Druid 能够提供强大的监控和扩展功能。Druid DataSource 是阿里巴巴开发的号称为监控而生的数据库连接池,它不仅可以…...
maven镜像源及代理配置
在公司使用网络一般需要设置代理, 我在idea中创建springboot工程时,发现依赖下载不了,原以为只要浏览器设置代理,其他的网络访问都会走代理,经过查资料设置了以下几个地方后工程创建正常,在此记录给大家参考…...
【Java面试篇】Spring中@Transactional注解事务失效的常见场景
文章目录Transactional注解的失效场景☁️前言🍀前置知识🍁场景一:Transactional应用在非 public 修饰的方法上🍁场景二: propagation 属性设置错误🍁场景三:rollbackFor属性设置错误dz…...
【C】分配内存的函数
#include <stdlib.h>//分配所需的内存空间,并返回一个指向它的指针。 void *malloc(size_t size);//分配所需的内存空间,并返回一个指向它的指针。并且calloc负责把这块内存空间用字节0填//充,而malloc并不负责把分配的内存空间清零 vo…...
IDEA 断点总是进入class文件没有进入源文件解决
前言 idea 断点总是进入class文件没有进入源文件解决 问题 在源文件里打了断点,断点模式启动时却进入了class文件里的断点,而没有进入到java源文件里的断点。 比如:我在 A.java 里打了断点,调试时却进入到了 jar 包里的 A.clas…...
【flink】 flink入门教程demo 初识flink
文章目录通俗解释什么是flink及其应用场景flink处理流程及核心APIflink代码快速入门flink重要概念什么是flink? 刚接触这个词的同学 可能会觉得比较难懂,网上搜教程 也是一套一套的官话, 如果大家熟悉stream流,那或许会比较好理解…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

