设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子SCL编程实例——电机运行调度
返回列表
发新帖
[西门子]
西门子SCL编程实例——电机运行调度
[复制链接]
60312
|
0
|
2024-4-28 20:30:21
|
显示全部楼层
|
阅读模式
前面的文章我们介绍了带运行计时的电机控制函数块(西门子SCL编程实例——带运行计时的电机控制)。今天这篇文章,我们来介绍下如何实现多个电机自动调度(超时自动关闭并调度下一台电机)。
注:本文默认电机连接是使用断路器、接触器实现的直接启动电路,对于变频器类的控制需要做一些配置才能使用。
控制要求如下:
可设置每个电机的额定运行时间,当电机的实际运行时间大于额定运行时间时,则自动关闭并调度下一台可用电机;
当电机出现故障(比如断路器跳闸或超时无反馈),则电机状态变为不可用。不可用电机不参加调度;
当故障消除并复位后,电机状态重新变为可用,可重新参加调度;
具体如下:
打开博途开发环境,新建项目,添加用户自定义数据类型:typeMotorSchedule,如下图所示:
其中:
Command:包括启动(start)和停止(stop),用来启动或停止电机;
Para:电机控制参数,包括反馈时间和额定运行时间,单位,秒;
ExtraSignal:外部信号,包括断路器和接触器反馈;
State:状态,包括:输出位(Q)、错误位(error)、释放(release,表示电机是否可用)、选中(selected,表示电机是否被选中)、状态(status,电机状态,非0等于出错)、实际运行时间(actualRunningTime,单位,秒);
添加函数块,命名为:FB5017_MotorScheduler,声明变量如下图所示:
函数块代码比较长,我将其分成多个区域:
功能说明;
初始化(initialize);
复位(reset);
调度(sheduler);
具体如下:
功能说明:
初始化:
复位:
调度:
使用该函数块时需要先初始化,然后使能。当出现错误时,要进行复位。
可以在全局数据块中创建电机数组(typeMotorSchedule),然后将断路器、接触器的信号写入电机数组的ExtraSignal中,并将电机状态State.Q输出到硬件的输出通道中。
我创建了测试函数块及全局数据块对电机调度程序进行了测试,包括断路器的错误测试,结果是OK的。
如果你有任何问题,欢迎留言。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
founderchip
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』