8台电机轮流启动,每台运行10s,停止10s
来源:网络收集 点击: 时间:2024-07-31新建Motor_Table变量表,在变量表中新建以下变量。

变量建立完成后,新建Motor_Control的FC功能,打开功能,开始编写程序。

调用系统第一个扫描周期位来复位顺序存储器,检测启动按钮下降沿,当启动按钮下降沿动作后,开始轮流切换。
IF FirstScan THEN
Motor_MB :=0 // 系统上电,进行复位
;
END_IF;
F_TRIG_DB(CLK:=Motor_Se_Start,//检测启动按钮下降沿
Q=Motor_Se_Start_Npulse);
IF Motor_Se_Start_Npulse THEN
Motor_Se_MS := 1// 为顺序存储器置16#01
;
Motor_MB := 1
;
END_IF;

编写10s接通,10s断开的方波程序,并在10s断开后,将顺序存储器左移一位。
//10s定时器方波程序,10s接通,10s断开。
IEC_Timer_0_DB.TON(IN:=Motor_Se_MS (NOT Timer1_Out),
PT:=T#10s,
Q=Timer0_Out
);
IEC_Timer_1_DB.TON(IN:=Timer0_Out,
PT:=T#10s,
Q=Timer1_Out);
IF Timer1_Out THEN
Motor_MB := ROL(IN:=Motor_MB, N:=1)// 顺序存储器左移一位。
;
END_IF;

将顺序存储器赋值给数字量输出通道。从而实现8台电机轮流切换。Motor_Control程序编写完成后,在OB1中调用,即可运行。
IF Motor_Se_Stop THEN
Motor_MB := 0;// 停止
;
Motor_Se_MS := 0
;
END_IF;
IF NOT Timer0_Out THEN
Motor_QB := Motor_MB//输出
;
END_IF;

本篇仅针对自动化工程师学习使用
西门子PLCSCL编程S71500版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1039670.html