设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
如何不使用变频器的加减速,通过西门子PLC(TIA博途) S ...
返回列表
发新帖
[西门子]
如何不使用变频器的加减速,通过西门子PLC(TIA博途) S7-1200/1500 SCL程序实现斜坡线性控制电机
[复制链接]
31458
|
0
|
2024-4-8 10:27:19
|
显示全部楼层
|
阅读模式
一.程序执行输出效果
二.线性平滑功能主要应用场景举:
1.例如大功率的电机的速度设定,不允许速度从0%直接上升到80%,需要有个斜坡,比如3%每秒的速度上升,否则会对电网造成很大冲击。
2.例如大口径的阀门,不允许打开和关闭的速度太快。造成对总管的压力突变或者水锤。
经过上面几个案例介绍,其实都是需要个线性平滑的功能,对于功能而言实现这个功能,我们可以通过控制器去实现,例如变频器的加减速时间设定实现一个斜坡加减速的功能。
三.斜坡线性平滑算法原理
1.算法公式
MaValue:最大速度。
MinValue:最小速度
SmoothTime:线性平滑总时间
h:计算步长,PLC的循环中断时间
2.新建一个OB30循环中断块,并且设定循环时间10ms
3.调用程序功能块
4.程序演示
假设需要电机需要从0Hz上升到60Hz,然后从60Hz下降到30Hz,观察程序目标值,可以看到一个爬升上升与下降过程。
四.SCL程序说明
1.符号表
2.程序
REGION 单步变化量#deltaValue := (#maxValue - #minValue) / DINT_TO_REAL(#smoothTime * 1000 / #h);END_REGION
REGION 计算偏差绝对值#SetSmSUB := #SetValue - #sm_out_1; IF #SetSmSUB < 0.0 THEN#SetSmSUB := #SetSmSUB * -1; END_IF;END_REGION
REGION 计算平滑输出值sm_out
IF #SetSmSUB > #deltaValue THEN IF #SetValue > #sm_out_1 THEN#factor := 1.0; ELSIF #SetValue = #sm_out_1 THEN#factor := 0.0; ELSIF #SetValue < #sm_out_1 THEN#factor := -1.0; END_IF;#sm_out_1 := #sm_out_1 + #factor * #deltaValue;ELSE#sm_out_1 := #SetValue; END_IF;#sm_out := #sm_out_1;END_REGION
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
dsmcumt
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』