历史上的今天
返回首页

历史上的今天

今天是:2025年02月21日(星期五)

正在发生

2018年02月21日 | DCS及PLC控制系统中PID的运算及应用

2018-02-21 来源:elecfans

现在国内外一些著名的品牌厂家几乎论断的整个工业自动化控制领域,如:国外的有艾默生、西门子;国内的有:浙大中控、和利时等,那么在这些控制系统中最常规的PID控制是怎么实现的,他们又是怎么进行编程组态得到的PLD运算的,本文就常规的PID及起模块进行总结以及应用做个简单的介绍:

  一、DCS及PLC控制系统中PID的运算

  1 指令解说

  l 上式T为梯形图时间继电器周期输出,在此引为采样及调节周期。

  l S1为设定的目标值,又称给定值

  l S2为实际测定值。

  l S3为PID控制参数的起始参数单元,控制参数占用S3后续的25个D数据寄存器。具体说明如下:

  S3+0: TS 采样时间 设定为K1(1T)

  S3+1: ACT.运算方向 一般设为 H0001;

  设为H0000时为反PID运算。

  S3+2: L 滤波系数 0-99% 0% 无滤波。 参考设定为K50

  0000-99.00

  S3+3: KP 比例増益 0-32767% 参考设定为K2000。

  0000-327.67

  S3+4: TI 积分时间 0-32767(•1T) 参考设定为K500。

  S3+5: KD 微分増益 0-32767% 一般设定为K0。

  0000-327.67

  S3+6: TD 微分参数 0-32767(•1T) 设定为K0,无微分

  S3+7: 偏差,浮点数表示,占两个字节:S7+7,S7+8。

  E(K)=SV-PV (ACT.0=1)

  E(K)=PV-SV (ACT.0=0)

  S3+8:

  S3+9: 偏差的一阶导数,浮点数表示。S3+9,S3+10

  E(K)'=E(K)-E(K-1)

  S3+10:

  S3+11: 偏差的二阶导数,浮点数表示。S3+11,S3+12

  E(K)''=E(K)'-E(K-1)'

  S3+12:

  S3+13: 本次滤波后的实测值,浮点数表示。S3+13,S3+14。

  PVF(K)=PV(K)+L• [PVF(K-1)-PV(K)]

  S3+14:

  S3+15: PID的微分调整项,浮点数表示。S3+15,S3+16。

  PID_D(K)=[TD•E(K)''+KD•TD•PID_D(K-1)]/(TS+KD•TD)

  S3+16:

  S3+17: PID的本次调整输出,浮点数表示。S3+17,S3+18

  DMV(K)=DMV(K-1)小数部分+KP[E(K)'+TS•E(K)/TI+PID_D(K)]

  S3+18:

  S3+19: PID控制的输出值,取值范围:0-32767。

  MV(K)=MV(K-1)+INT(DMV)

  S3+20: SH 上限报警 设定为K20000

  S3+21: SL 下限报警 设定为K20

  S3+22: OH 上限幅值 设定为K10000

  S3+23: OL 下限幅值 设定为K20

  S3+24: ALM.0 SH上限报警时ON

  ALM.1 SL下限报警时ON

  ALM.2 OH上限输出时ON

  ALM.3 OL下限输出时ON

PID运算式


  1. PVF(K)=PV(K)+L•[PV(K-1)-PV(K)]

  E(K)=SV(K)-PVF(K)

  E(K)'=E(K)-E(K-1)

  E(K)''=E(K)'-E(K-1)'

  2. D(K)=[TD•E(K)''+KD•TD•D(K-1)]/(TS+KD•TD)

  3. MV(K)=MV(K-1)+KP•[E(K)'+TS•E(K)/TI+D(K)]

  符号说明:

  PV:测定值。 SV:目标值。 MV:输出值。

  PVF:滤波后的测定值。

  L :滤波系数。

  TS:采样时间。

  KP:比例増益。

  TI:积分时间。

  TD:微分时间。

  KD:微分増益。

  PV(K):本次采样测定值。

  D(K): 微分项。

  INT(DMV):PID本次增量输出。

  PV(K-1):一个调节周期T前测定值。

  二、DCS及PLC控制系统中PID的运算的应用

  案例一. 控制一组(四台)实验电炉,温度检测用PT100热电阻,工作温度在100℃以下,控制精度要求在0.1℃,超调小于0.5℃。热源为电阻丝,每电炉发热总功率380VAC 8KW。

  控制方案:选一混合型PLC作调节控制单元,其输出控制四个三相智能模块硅,办公室计算机与PLC通信,作温度跟踪记录。

  各通道的设置参数(由人机界面或字符屏设定):

  0通道1通道2通道3通道

  AI通道设定温度D300D310D320D330

  P参数D301D311D321D331

  I参数D302D312D322D332

  D参数D303D313D323D333

  PID手动自动切换M100M110M120M130

  手动加M101M111M121M131

  手动减M102M112M122M132

  实测温度D10D11D12D13

  DA通道输出电流D20D21D21D23

  选取其中一路作简要说明:

  第一步:规划并设定控制区参数。PID控制共占用28个数据寄存器,第一路控温规划到D2000-D2027。

  第二步:PID调节与手动调节要相互协调,做到无扰切换。示例中,手动调节和自动调节最终输出都归入D2028


推荐阅读

史海拾趣

Achronix Semiconductor Corporation公司的发展小趣事

Achronix Semiconductor Corporation是一家专注于FPGA(现场可编程门阵列)和eFPGA(嵌入式FPGA)技术的公司,以下是该公司发展的五个相关故事:

  1. 公司成立和早期发展: Achronix Semiconductor Corporation成立于2004年,总部位于美国加利福尼亚州圣克拉拉市。公司最初的目标是开发高性能、低功耗的FPGA芯片,以满足日益增长的计算需求和数据中心的要求。起初,公司主要关注FPGA技术的研发和市场定位。

  2. 技术突破和产品推出: 随着公司的不断发展,Achronix取得了一系列技术突破,并成功推出了一系列创新的FPGA产品。其中,公司的Speedster系列FPGA以其出色的性能、低功耗和高集成度而备受关注,成为了市场上的竞争力量。这些产品被广泛应用于网络设备、数据中心、通信、汽车等领域。

  3. 市场扩张和国际合作: Achronix积极拓展国内外市场,并与全球各地的客户建立了合作关系。公司的FPGA产品在全球范围内得到了广泛的应用,并与众多知名企业展开合作,共同推动技术进步和市场发展。同时,Achronix还与各大半导体制造商合作,共同研发新一代FPGA技术。

  4. 持续投入研发和创新: Achronix不断加大研发投入,致力于技术创新和产品升级。公司在硬件设计、架构优化、软件开发等方面进行持续的研究和探索,推动FPGA技术的发展。同时,Achronix还与国内外高校和研究机构合作,共同开展前沿技术的研究。

  5. 未来发展展望: Achronix将继续致力于FPGA和eFPGA技术的研发和应用,不断推出更先进、更高性能的产品和解决方案,满足客户在各个领域的需求。公司将加强国际市场拓展,提升自身在全球市场的竞争力,为行业的发展做出更大的贡献。

绿索超容(GreenSource)公司的发展小趣事

汇顶科技(GOODiX)公司发展的五个故事

故事一:初创与转型

汇顶科技的故事始于2002年,当时它作为一家初创企业,在电子产业中崭露头角。公司最初专注于固定电话芯片业务,但随着国内固话市场的饱和和竞争加剧,公司迅速调整方向,切入小家电触控面板芯片领域。这一转型为公司后续的发展奠定了基础。2010年,汇顶科技获得联发科技的战略投资,其触控芯片集成至联发科技的安卓系统解决方案中,广泛应用于智能手机和平板电脑等电子产品,进一步提升了公司的市场地位。

故事二:指纹识别技术的突破

2013年,随着苹果iPhone 5s发布并搭载电容式指纹识别技术,全球范围内掀起了一股指纹识别风潮。汇顶科技敏锐地捕捉到了这一市场趋势,开始研发指纹识别芯片。经过一年的努力,公司在2014年成功推出电容式指纹识别芯片,并凭借创新技术迅速获得国内主流智能机厂商的订单。此后,汇顶科技在指纹识别领域不断取得突破,逐步成为全球最大的指纹识别芯片厂商之一。

故事三:屏下指纹识别技术的开拓者

在指纹识别技术取得成功后,汇顶科技并未满足现状,而是继续探索新技术。2016年,公司开始以屏下指纹识别技术(光学式指纹芯片)为新的主攻方向。经过一年的研发,2017年汇顶科技率先展出全球首款屏下指纹识别技术,成为该领域的开拓者。随着全面屏手机的兴起,屏下指纹识别技术迅速得到市场认可,汇顶科技也借此迎来了新一轮的增长。

故事四:多元化布局与并购

为了进一步提升竞争力,汇顶科技通过并购等方式不断拓展业务领域。2018年,公司收购德国蜂窝半导体IP企业CommSoild,进军窄带物联网领域(NB-IoT)。2020年,汇顶科技又收购恩智浦半导体的语音及音频业务单元(NXP Voice & Audio Solutions)和德国汽车电子公司Dream Chip Technologies,分别增强智能终端音频解决方案能力和进入车规级芯片领域。这些并购不仅丰富了公司的产品线,也提升了公司在各领域的综合竞争力。

故事五:持续创新与合作

汇顶科技一直致力于技术创新和市场拓展。近年来,公司与多家知名手机厂商建立了合作关系,为其提供创新的指纹识别和触控芯片解决方案。例如,汇顶科技的创新方案组合助力小米、荣耀、iQOO等品牌的旗舰新品打造极致体验。同时,公司还不断拓展物联网领域的应用,通过构建芯片设计和软硬件产品技术综合物联网平台,推动智能化生活的实现。这些合作和创新不仅提升了公司的市场影响力,也为全球亿万消费者带来了更便捷、智能的体验。

场效应半导体(Cmos)公司的发展小趣事

韩国三星电子(Samsung Electronics)在CMOS技术方面也取得了显著成就。作为一家综合性电子企业,三星电子在CMOS技术研发方面投入了大量资金和人力资源。通过不断的技术创新和生产优化,三星电子成功推出了多款高性能、低功耗的CMOS芯片产品,广泛应用于智能手机、平板电脑等电子产品中。这些产品以其卓越的性能和出色的品质赢得了市场的广泛认可,使三星电子在全球半导体市场上占据了一席之地。

FOTEK公司的发展小趣事

随着业务的不断拓展,福禄克意识到全球化布局的重要性。1970年代,公司在英国设立了首个海外生产基地,随后又在荷兰和中国等地建立工厂。这一系列举措不仅降低了生产成本,还使福禄克能够更贴近全球市场需求,提供更加快速和灵活的服务。同时,福禄克在全球范围内建立了广泛的销售和服务网络,进一步巩固了其市场地位。

Cermetek Microelectronics公司的发展小趣事

Cermetek Microelectronics公司在创立之初,便专注于微电子技术的研发与创新。创始人凭借在半导体领域的深厚背景,带领团队攻克了一系列技术难题,成功开发出具有高性能和稳定性的微电子产品。这些产品不仅满足了市场对微型化、高集成度的需求,更在多个关键领域实现了技术突破,为公司赢得了市场的初步认可。

静芯微电子(ElecSuper)公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,静芯微电子开始拓展产品线。公司不仅继续深耕ESD/TVS领域,还逐渐涉足了RS485、HALL、电源、接口等芯片的研发和生产。这些新产品的推出不仅丰富了公司的产品线,还进一步扩大了静芯微电子在电子行业的应用范围。目前,静芯微电子的产品已经广泛应用于汽车电子、工业控制、消费电子等领域,并与多家知名品牌建立了深度合作。

问答坊 | AI 解惑

MP3充电器原理与维修

MP3充电器是最易损坏的配件之一。笔者维修多款充电器后发现,它们基本上都是采用开关电源电路,电路结构大同小异。本文以市面上最常见的昕潮TJ-01型充电器为例,简述其工作原理与常见故障检修,电路见图1。工作原理 (1)开关振荡电路市电经D1~D4整 ...…

查看全部问答>

ARM的RTC时钟不会走呢?

1、把开发板的测试程序裁剪,RTC在终端里能自动更新时间。 2、在main()函数中加入了这几句                          while(){         &nbs ...…

查看全部问答>

什么是芯片解密,新手问下

我是芯片解密方面的新手,请问怎样解密一款芯片,我只是听说过芯片解密,IC解密,单片机解密,他们之间有什么联系?…

查看全部问答>

怎么在vs2005调试时,使用wince5.0模拟器?

我已安装了wince5.0 Emulator, wince5.0 的SDK,在VS2005调试Device项目时,只有PocketPC2003 Emulator可用 请问怎么设置可以让调试时,使用wince5.0 Emulator来调试呢?急急!…

查看全部问答>

请问怎样用ramdisk虚拟启动软盘?(在VMWare上安装vxworks)

我的系统是XP SP2, ramdisk2.0,在VMWare上安装vxworks…

查看全部问答>

状态机的编程经验谈

在中大型设计中,状态机的使用也越来越频繁,我们要如何编写一个让人容易读懂的状态机就是眼前最重要的事情。下面我们先来回顾一下状态机的分类。状态机共分为两大类一类是Moore状态机,一类是Mealy状态机。这两类状态机的区别主要是Moore的输出值 ...…

查看全部问答>

紧急求助:MSP430G2553 液晶显示图像的问题

我们最近在用液晶显示特定的波形,但这需要回读,从液晶(ST7920控制器)资料上看到可以读取DDRAM和GDRAM中的数据,但是没有成功, 由于我们用的是绘图方式,所以需要读取GDRAM中的数据,小弟这里有个网上下的程序,但不太清楚具体的含义,并且回 ...…

查看全部问答>

ucos学习之OSSemCreate()函数分析

小弟初学ucos,如下是这个函数的源代码,小弟有些不懂,恳请大神指教~~~ OS_EVENT  *OSSemCreate (INT16U cnt) {     OS_EVENT  *pevent; #if OS_CRITICAL_METHOD == 3         &n ...…

查看全部问答>