登录
首页 PLC论坛 施耐德电气PLC
回帖 发帖
正文

主题:Somachine平台温度控制解决方案,含例程和功能块手册

点击:3041 回复:55

Somachine平台温度控制解决方案介绍 ——TemperatureControl功能块应用

前言
在SoMachine V4.1 Sp1之前,尚未发行官方的温度控制解决方案,用户需要自行通过PID、PWM来实现控制算法,从而形成了类似TEMPCTRL_PIDAutotuning_Cooling_withContact.compiled-library等非官方库文件。
然后在SoMachine V4.1 SP2之后,SoMachine平台推出了温度控制的解决方案Packaging库,用户添加该库后,可通过TemperatureControl功能块实现温度控制。
本文就介绍了Somachine平台TemperatureControl的应用。
1. 简介
SoMachine 是施耐德电气机器解决方案中核心编程控制软件,能帮助用户在单一环境下完成开发、配置和试运行整个机器,为用户提供最优化控制解决方案。
SoMachine软件中包装库提供了温度加热控制功能,该库中的TemperatureControl功能块通过自动调谐算法找到PID参数,通过PID控制算法精确的控制温度。基于功能块特点,为用户在温度控制过程中提供了简单、高效、高性能的解决方案。
2. 实验环境
主要硬件如下:
附件 image.jpg
主要软件:SoMachine V4.3 Prototype version。
3. 程序实现过程
3.1 编程准备
在使用TemperatureControl功能块前,请先确认Packaging库已安装。
下图所示是已安装Packaging库。
附件 image.jpg
如果没有安装该库,请先将SoMachine源安装文件加载到虚拟光驱,打开SoMachine Software Manager,选择“自定义版本”,勾选Packaging库,点击右下角“应用”按钮完成安装Packaging库。
3.2 程序说明
本程序直观、简单、易懂,可以作为用户在调试温度加热控制系统参数整定程序。程序配合可视化操作来执行,方便调整参数及状态监视。
为采集稳定的过程值,请根据实际环境设置输入滤波。
对部分无法在配置中设置输入滤波的模块,建议使用Toolbox库中Filter_MovingAverage功能块对过程值进行滑动窗口滤波处理。
本实验中采用的模拟量温度模块TM3TM3具有输入滤波设置功能,因此在程序中可以不做滤波处理。
编程过程中注意模拟量通道值的数据类型为INT类型,功能块输入引脚数据类型为REAL,可以使用INT_TO_REAL功能转换数据类型。
为完成参数初始化并提高程序执行效率,程序采用ST语言编写,case语句用来控制程序执行流程,if语句实现自动接受整定后参数。
实现程序如图所示:
附件 image.jpg
持续变量列表实现整定后PID参数保存。
附件 image.jpg
程序编写完成后,编译、生产程序,在消息窗口中会提示需要免费注册Packaging库,如下图所示:
附件 image.jpg
点击图示按钮后,启动施耐德电气授权管理工具,输入并确认邮箱后,根据向导完成注册。
附件 image.jpg
此处填入的邮箱必须在施耐德电气软件注册中心注册激活。
3.3  实现过程
自整定算法采用基于Ziegler-Nichols曲折切线法确定PID参数。
PID的数学模型是在用拉普拉斯变换方法求解微分方程过程中引出来的复域中的数学模型,它不但能等同微分方程反映系统的输入、输出动态特性,而且能间接的反映结构、参数变化是对系统输出的影响。
PID传递函数只取决于系统的结构和参数,与外界输入无关。Ziegler和Nichols于20世纪40年代提出了基于带有延迟的一阶传递函数模型的传统PID控制经验公式,这种回路整定技术使得PID算法知道现在还没广泛应用在工业控制领域内反馈控制策略中。这种方法计算过程值的最大响应速度和死区时间,计算出时间常数后再确定PID参数。
TemperatureControl功能块集成了自整定功能、数字滤波功能和PWM功能。
功能块具体参数说明请参考SoMachine在线帮助。
3.4  参数整定
通过可视化界面执行PID参数整定、自动控制。
a) 使能功能块:点击按钮1,功能块进入使能状态,Enable Out输出true;
b) 开启自整定:点击按钮2,功能块自整定功能启用;
c) 执行功能块:点击按钮3,进入自整定状态;
附件 image.jpg
d) 参数确定:整定完成后,AttnStaId=6,功能块进入ready状态,关闭自整定功能(再次点击按钮2),此时PID整定后参数通过程序赋值给PID输入参数并作为后续PID控制参数。
3.5 自动运行
a) 使能功能块: 点击按钮1,功能块进入使能状态,Enable Out输出true;
b) 修改设定值Sp1:修改设置值Sp1后,按键盘上Enter键确认;
c) 触发功能块:点击按钮3,功能块进入PID自动控制状态;
通过Trace跟踪监视过程值、设定值、PID输出值的变化。
由于温度变化缓慢存在迟滞,建议在trace设置中高级选项中配置采样时间为1s。
附件 image.jpg
通过该功能块控制的问题温度,过程值进入稳态后的控制精度由fbTemperatureControl.i_stPid.rTnce来决定。具体参数说明请参考SoMachine在线帮助。
附件 image.jpg
最后修改:2020/9/21 16:12:37
20-06-09 16:20
附件 image.jpg
施耐德Somachine温度控制例程和功能块手册
回复可见
[replyview]
链接https://pan.baidu.com/s/1w43Dv-ivDBZSl684azKg1A
密码:gm66
[/replyview]
20-06-09 16:34
这个是好东西啊....
我一直很好奇....就是响应特别慢的那种温度像pid控制怎么办
是不是只能是分段控制
因为他自整定肯定是过不去的....
我加热40L油..从室温到150度....
太久了升温时间..
20-06-10 19:20
谢谢楼主的分享,一直也不明白PID怎么控制的,学习一下
20-06-20 16:24
施耐德Somachine温度控制例程和功能块手册
20-07-12 16:24
谢谢楼主的分享,一直也不明白PID怎么控制的,学习一下,感谢楼主分享!!!
20-07-17 15:50
感谢楼主分享!
20-07-17 20:16
先收起来
20-07-25 12:11
感谢楼主分享!
20-07-30 08:19
感谢楼主,学习一下
20-08-07 15:10

上一页下一页

工控新闻

更多新闻资讯