北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8640815

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

电机控制在实际项目中经常使用,一般的电机控制程序块都是具有启动、保持、停止的功能。今天这篇文章给大家介绍一个使用SCL语言编写的电机控制函数块,不但具有起保停功能,还具有反馈监视功能,可监视断路器及接触器的反馈信号,适用于接触器直接启动电机或具有反馈信号的变频器控制电机。如果电机启动后没有给出正确的反馈信号,将自动停止并报警。

cover.png

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

电机主回路.png

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

控制回路.png

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

在博途环境下,创建函数块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=接触器反馈信号错误;

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

参数声明.PNG

代码如下:

code1.png

code2.png

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

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

我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》有更多详细的SCL编程案例,如果你感兴趣的话,请扫描下面的二维码查看详细介绍:

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论