December 05.2023
![]() 在工业过程控制中,按被控对象的实时数据采集的信息与给定值比较产生的误差的比例、积分和微分进行控制的控制系统,简称PID控制系统。PID控制具有原理简单,鲁棒性强和实用面广等优点,是一种技术成熟、应用最为广泛的控制系统。 |
系统组态及配置 |
![]() | ||
可在工具箱选择需要添加的模块“双击”或“拖拽至对应位置”的方式进行模块的添加; |
如果上图位置没有看到工具箱窗口, 可至<显示>菜单栏勾选工具箱选项, 如右图 | ![]() |
勾选设备监视 即可再设备试图内查看该模块对应的状态。如下图,其中温度读值单位为0.1,下图显示424即表示42.4℃; | |
![]() | |
双击模块可在弹出的设定窗体进行温度模块的功能配置,如下图; | |
![]() |
配置参数说明 |
①TC通道启用/关闭:用于开启或关闭对应通道的AD转换。无用通道建议关闭可增加AD转换时间,例开启3个通道这该模块总的转换时间为3*(单通道A/D转换时间)。 ②TC转换时间:标准 250mS/. ch;高速100mS/ch。 ③移动平均数:在有杂讯的场合下使用此功能可可以降低量测值收到的杂讯干扰。设定数值范围 2~10(次数)。 ④感测器种类:可设定各种传感器类型以应对多样化应用需求。热电偶支持K,J,T,E,R,B,N,S,mV等多种传感器热电阻支持JIS或DIN ⑤温度单位:可设定℃与℉,精度均到小数点后一位。 ⑥控制方法:设定执行温控指令后以何种方式进行控制。开关控制:跟设定值进行比较,将输出控制在ON(最大输出量)或OFF(最小输出量)转换。PID控制:利用比例项(P)、积分动作(I)以及微分动作(D)的组合控制,可以进行更好效果的温度控制。 ⑦控制输出:设定在M04TC模块/CPU发生错误或CPU停机时控制各通道的输出值为开(最大输出量)、关(最小输出量)或保持(维持输出量)。 ⑧后处理设定:可开启或关闭后处理,以及欲将传感器量程值转换为自定量程的最大标度值以及最小标度值。功能:借由将温度的输入范围映射到使用者设定的新范围中。可是量程放大或缩小,例如将-200℃~1350℃对应到新的范围0~10000中。 ⑨数据缓存设定:可以依照采样周期存储温度量测值,每个通道最大存储笔数为600笔,通过“数据缓存请求继电器”与“数据缓存触发继电器”控制数据缓存记录。可记录“数据缓存触发继电器”ON时前多少个数据点以及后多少个数据点。可以搭配指定DBUF(FUN115)将温度模块中缓存的大量数据读取到PLC。 ⑩警报设定警报待机设定:启动后PLC执行RUN后第一次温度控制开始到进入第一次警报OFF范围内不会发生报警。以避免一开始温度就低于下限偏差值所触发的警报。 上限输入值:当温度超过上限设定值的时候警报,提醒用户温度过高。 下限输入值:当温度低于下限设定值的时候警报,提醒用户温度过低。 上限偏差值:当温度超过设定值+上限偏差值时,触发上限偏差报警,提醒用户温度偏高。只在执行温度控制的时候生效。 下限偏差值:当温度小于设定值+下限偏差值时,触发下限偏差报警,提醒用户温度偏低。只在执行温度控制的时候生效 上下限偏差值:当温度超过上限偏差值或下限偏差时,触发上下限偏差报警提醒用户温度异常。只在执行温度控制的时候生效。 死区警报:在死区内维持原本的警报状态。防止在限位值附近波动的时候反复频繁报警。 警报延迟数:延迟设定次数才发出警报通知,每个A/D转换周期会检测一次。 回路断线侦测:侦测时间内温度值是否有变动,如果没有就发出警报。可以用来侦测加温系统是否有异常导致温度没有变化。 | ||
数据缓存使用时序示意图 | ||
![]() | ||
PID指令说明 |
温度控制之分布式运算 | ||
温度模块的温度控制采用分布式控 制方式,即控制运算(PID运算)在模 块进行可减少温度控制时的运算对 CPU资源的暂用提升CPU效能。 | ![]() | |
指令FUN99 TPCTL2 使用说明 | ||
PLC指令使用FUN 99指令,通过FUN99指令控制温度模块执行对应的温度控制。 | ||
![]() | ||
EN : ON指令执行 OFF执行断开 UPD: 参数更新 A/M :OFF自动 ON手动输出(由MOYT控制输出量) H/C :OFF控制制冷 ON控制加热 ERR :温控错误(指令或模块设定错误) ALM:温控警报(温度超设定范围报警) | ||
SR+0:PID运算周期(单位0.1s) SR+1:温度设定值(32bit INT 单位0.1℃) SR+3:死区,设定值±(n*0.1)% 范围内不动作 0~10% SR+4:温控输出点号码(例Y0设0,Y15设15) SR+5:PWM输出周期(单位1s) SR+6:输出模式(0PWM;else模拟量输出) | ||
PR+0:比例相Kp(flost) 手动设定或自整定生成 PR+2:积分项Ki(单位1s) 手动设定或者自整定生成 PR+3:微分项Kd(单位1s) 手动设定或自整定生成 PR+4:偏差值(flost) PR+6:输出上限(flost) PWM时最大1.00 PR+8:输出下限(flost) PWM时最小0.00 PR+10:PID模式(0标准PID;1最小超越法) PR+11:AUTO TUNING(自整定0不启用;1启用) PR+12:MAUTO(0不启用;1MOUT随MV改变) | ||
OR+0:MV输出量(flost) 自动时输出量PWM时无需使用,模拟量 时用可用以控制模拟量输出 OR+2:MOUT手动值(flost) | ||
WR+0:PID状态 0空闲; 1动作中; 2错误; 3AUTO TUNING中 WR+1:AUTO TUNING状态 0空闲; 1动作中; 2错误; 3完成; 4超时 | ||
温度控制模式 |
ON/OFF控制方式 | ||
反馈值超过设定目标值 OFF(最小输出量)输出 反馈值小于设定目标值ON(最大输出量)输出 ON/OFF控制方式需要将模块设定里面的《控制方式》设定为“开/关控制”。 ON/OFF控制相对简单,但由于直接与设定值比较控制开关,反馈 值会再设定值附近上下抖动。可根据实际情况选择使用。 | ||
![]() | ||
开关模式时,需设定参数内容如下: SR+0:运算周期(单位0.1s) SR+1:温度设定值(32bit INT 0.1℃) SR+3:死区,设定值±(n*0.1)% 范围内不动作 0~10% SR+4:温控输出点号码(例Y0设0,Y15设15) SR+5:PWM输出周期(单位1s) SR+6:输出模式(0 PWM;else模拟量输出) PR+6:输出上限(flost) PR+8:输出下限(flost) 注:PWM模式时最大值1,最小值0。如上限设0.5,则ON时(最大输出)以占空 比50%运行。如下限设0.1,则OFF时(最小输出)则以占空比10%运行。 | ||
PID控制 | ||
利用比例项、积分动作、微分动作进行温度控制 | ||
![]() | ||
PID模式下所需主要设定项如下: | ||
SR+0:运算周期(单位0.1s) SR+1:温度设定值(32bit INT 0.1℃) SR+3:死区,设定值±(n*0.1)% 范围内不动作 0~10% SR+4:温控输出点号码(例Y0设0,Y15设15) SR+5:PWM输出周期(单位1s) SR+6:输出模式(0 PWM;else模拟量输出) | ||
PR+0:比例相Kp(flost) PR+2:积分项Ki(单位1s) PR+3:微分项Kd(单位1s) PR+4:偏差值(flost) PR+6:输出上限(flost) PR+8:输出下限(flost) PR+10:PID模式(0标准PID;1最小超越法) PR+11:AUTO TUNING(0不启用;1启用) PR+12:MAUTO(0不启用;1MOUT随MV改变) |
关于AUTO TUNING(自整定) | ||
此功能可以依据控制系统环境自动计算出合适的比例项(P)、积分时间(I)微分时间(D)参数。开始会暂时透过ON/OFF方式控制得到控制数据并计算获取追加的PID参数,结束后将参数自动写入到PID各自的寄存器中,并转为PID控制方式进行温度控制。启动方式,运行FUN99指令前将PR+11的寄存器设定为1(启用AUTO TUNING),完成后根据WR地址反馈状态确认自整定状态。完成后建议清除改寄存器,避免下次启动仍以AUTO TUNING方式启动。 | ||
![]() |
范例说明 |
范例系统架构如下: | ||
![]() | ||
范例使用各软件及硬件版本如下: | ||
![]() | ||
使用ST编写上电执行参数设定: | ||
![]() | ||
![]() | ||
温度模块参数设定: | ||
![]() | ||
运行效果 | ||
自整定 | ||
![]() | ||
使用自整定完成的PID参数运行 | ||
![]() ![]() | ||
范例程序档案可关注 FAEK永宏 微信官方账号 并发送“M PLC功能案例”关键字获取 | ||
![]() |