当前位置:首页 > 工业用地 >如何实现多个电机自动调度功能(如何实现多个电机自动调度控制)

如何实现多个电机自动调度功能(如何实现多个电机自动调度控制)

注意:本文中默认的电机连接是使用断路器和接触器的直接启动电路。对于逆变器控制,需要进行一些配置才能使用。

控制要求如下:

如何实现多个电机自动调度功能(如何实现多个电机自动调度控制)

每台电机的额定运行时间均可设定。当电机实际运行时间大于额定运行时间时,自动停机并调度下一个可用电机;

当电机出现故障(如断路器跳闸或超时无反馈)时,电机状态将变得不可用。不可用的电机不参与调度;

当故障排除复位后,电机状态又恢复可用,可以重新参与调度;

详情如下:

打开Portu开发环境,新建工程,添加用户自定义数据类型:typeMotorSchedule,如下图:

在:

命令:包括启动和停止,用于启动或停止电机;

Para:电机控制参数,包括反馈时间和额定运行时间,单位,秒;

ExtraSignal:外部信号,包括断路器和接触器反馈;

State:状态,包括:输出位(Q)、错误位(错误)、释放(表示电机是否可用)、selected(表示电机是否选中)、status(状态,电机状态,非0等于error) )、实际运行时间(actualRunningTime,单位,秒);

添加功能块,命名为:FB5017_MotorScheduler,并声明变量,如下所示:

功能块代码比较长,我分为多个区域:

功能说明;

初始化;

重置;

调度(调度程序);

详情如下:

功能说明:

初始化:

重置:

日程安排:

使用该功能块时,需要先对其进行初始化,然后再启用。当发生错误时,需要重置。

可以在全局数据块中创建电机数组(typeMotorSchedule),然后将断路器和接触器的信号写入电机数组的ExtraSignal,并将电机状态State.Q输出到硬件的输出通道。

我创建了一个测试功能块和一个全局数据块来测试电机调度器,包括断路器错误测试,结果还可以。

审稿人:刘庆

最新资讯

推荐资讯