[西门子] 西门子SCL编程实例——带反馈监视的电机控制

[复制链接]
查看13549 | 回复0 | 2024-4-28 21:01:57 | 显示全部楼层 |阅读模式
电机控制在实际项目中经常使用,一般的电机控制程序块都是具有启动、保持、停止的功能。今天这篇文章给大家介绍一个使用SCL语言编写的电机控制函数块,不但具有起保停功能,还具有反馈监视功能,可监视断路器及接触器的反馈信号,适用于接触器直接启动电机或具有反馈信号的变频器控制电机。如果电机启动后没有给出正确的反馈信号,将自动停止并报警。



本例程假设电气主回路图纸如下所示:



其中:Q3是断路器,KM1是接触器。Q3有常开触点,KM1有一组常闭辅助触点用于信号反馈,如下图所示:



下面我们来介绍函数块的编写。

在博途环境下,创建函数块FB5001_MotorControl,其输入参数和输出参数如下面的表格所示:
输入参数
名称
数据类型
说明
fuse
Bool
断路器反馈信号,1=OK
start
Bool
启动信号
stop
Bool
停止信号
feedbackSignal
Bool
接触器反馈信号
feedbackTime
Time

反馈监控的时间


说明:反馈信号必须在参数【FeedbackTime】设定的时间内与Q的信号相反。反馈监控的默认时间为2秒。

输出参数
名称
数据类型
说明
Q
Bool
启动电机输出
error
Bool
是否有故障(0=无,1=有)
DiagnoseByte
诊断字节

说明:Diagnose诊断字节用来表示故障的具体类型,其中:


    0=OK,没有错误(故障);

    1=断路器跳闸;

    2=接触器反馈信号错误;

所有参数变量的声明(包括静态变量和临时变量)如下图所示:



代码如下:





在主程序中调用FB5001_MotorControl并赋予相应的参数即可。

好了,关于具有反馈监视功能的电机控制函数块就先介绍到这里,该函数块也可用于具有位置反馈的电磁阀(将fuse常置1即可)。如果你有任何问题欢迎留言讨论。

我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》有更多详细的SCL编程案例,如果你感兴趣的话,可以看看下面的链接:

本帖子中包含更多资源

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

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

本版积分规则