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

[复制链接]
查看83 | 回复0 | 2024-4-25 16:51:00 | 显示全部楼层 |阅读模式
电机控制在实际项目中经常使用,一般的电机控制程序块都是具有启动、保持、停止的功能。今天这篇文章给大家介绍一个使用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
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则