[西门子] 西门子S7-1200PLC通过模拟量控制变频器,标准化程序来了!

[复制链接]
查看26395 | 回复0 | 2024-1-25 14:26:45 | 显示全部楼层 |阅读模式
导读:控制变频器时,有很多种方式,比如通信、模拟量、开关量等方式。而在现场PLC控制变频器时,可能会有手自动切换、频率给定、频率反馈、无扰动切换等功能需求。那么我们就可以利用S7-1200PLC的FB块的功能,把上述功能进行封装。

1.需要实现的功能

(使用模拟量方式控制变频器的频率):

①切换到手动模式时:手动可以设定变频器频率

②切换到自动模式时:根据现场的逻辑设定变频器频率

③反馈频率

④偏差报警(设定与反馈):当设定的频率与反馈的频率有偏差时可以做相应的报警提示

⑤手自动无扰动切换:在手动模式切换到自动模式或者自动模式切换到手动模式,由于现场某些工艺不能让设备出现大幅度的震荡。比如自动模式下变频器正在50HZ运行,切换到手动之后也是基于50HZ频率运行,直到手动修改数据。

2.程序设计

HMI画面如下图所示:



(1)新建FB1程序块,并且定义接口变量,如下图所示。



(2)FB1程序编写

①程序段1:当HMI上“无扰切换”按钮为TRUE时,则是启动无扰切换模式。此时HMI上的“手自动切换”按钮,由自动转换为手动模式检测这个按钮状态下降沿,检测到下降沿后,将频率的输出值赋值给手动设定频率;由手动转换为自动模式检测这个按钮状态上升沿,检测到上升沿后,将频率的反馈值赋值给自动频率。



②程序段2:当HMI上的“手自动切换”按钮FALSE时,“手动设定频率”生效,变频器根据手动设定的频率运行;当HMI上的“手自动切换”按钮TRUE时,变频器根据自动设定的频率运行(可以根据现场的PID运算等参数给定)。使用LIMIT指令是为了限制给定的频率值在0-50HZ之间,假如“手动设定频率”或者“自动频率”的值小于0或者大于50,“#TempManualSet”和“#TempAutoSet”会自动限制在0-50之间。小于0则用0替代,大于50则用50替代。



③程序段3:使用标准化指令设定变频器频率和采集反馈的频率。



④程序段4:当频率的输出值减去反馈值的绝对值大于所设定的偏差值,则延时一段时间报警。当偏差不在设定范围内,则可以复位。



(3)创建DB1数据块



(4)OB1中调用FB1块:在相应的管脚上填写实际参数。



(5)调试

①如图1所示:HMI上“无扰切换”切换模式没有启用;“手自动切换”为FALSE,代表的是手动模式;手动频率给定的是12.5HZ,频率输出曲线一直是在12.5HZ。当切换到自动模式,如图2所示,频率输出为22.76HZ,曲线可以看出频率输出产生了较大的扰动。

②如图3所示:HMI上“无扰切换”切换模式启用;“手自动切换”为FALSE,代表的是手动模式;手动频率给定的是15HZ,频率输出曲线一直是在15HZ。当切换到自动模式,如图4所示,频率反馈的值给到自动频率值,曲线可以看出频率输出没有产生扰动。



图1



图2



图3



图4


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则