多语言展示
当前在线:932今日阅读:126今日分享:42

S7-1500 使用SCL编程交通灯的控制

交通灯在日常生活中十分常见,本篇就根据交通灯时序图用SCL来编写其控制程序。启动按钮按下,东西向Green 常亮5s,闪烁3s,东西向“Yellow” 常亮2s,东西向”Red“ 常亮10s;与此同时,南北向“Red” 常亮10s,南北向Green 常亮5s,闪烁3s,南北向“Yellow” 常亮2s。停止按钮按下,所有交通灯熄灭。
工具/原料
1

博途V14

2

SCL

方法/步骤
1

新建 Traffic_Lights_Table变量表,单击此变量表,建立以下变量:'Auto_Start' 地址I3.0,用于启动按钮'Auto_Stop' 地址I3.2,用于停止按钮'EW_Red' 地址Q3.0 用于控制东西向Red 'EW_Yellow'地址Q3.1 用于控制东西向Yellow 'EW_Green' 地址Q3.2 用于控制东西向Green 'NS_Red' 地址Q3.3 用于控制南北向Red 'NS_Yellow' 地址Q3.4 用于控制南北向Yellow 'NS_Green' 地址 Q3.5 用于控制南北向Green

2

新建 交通灯控制程序块功能Traffic_Lights_Control,单击打开程序。IF 'Auto_Start' THEN    'Auto_MS':=1// 启动    ;    'EW_Counter' := 0;    'NS_Counter' := 0;END_IF;IF 'Auto_Stop' THEN    'Auto_MS':=0//停止    ;    'EW_Counter' := 0;    'NS_Counter' := 0;END_IF;

3

编写东西向 Green常亮定时器,定时时间为5s,东西向 Green闪烁1s方波程序。'IEC_Timer_2_DB'.TON(IN:='Auto_MS' & ( NOT 'NS_Yellow_Timer_Out'),                     PT:=T#5s,                     Q=>'EW_Green_Timer_Out');

4

编写 东西向 'Yellow'常亮定时器,定时时间为2s 东西向 'Red' 常亮定时器,定时时间为10s。'IEC_Timer_5_DB'.TON(IN:='EW_Counter'=3,                     PT:=T#2s,                     Q=>'EW_Yellow_Timer_Out');'IEC_Timer_6_DB'.TON(IN:='EW_Yellow_Timer_Out',                     PT:=T#10S,                     Q=>'EW_Red_Timer_Out');

5

编写 东西向 Green输出控制程序。IF 'Auto_MS' & (NOT 'EW_Green_Timer_Out') OR 'EW_Green_Timer_Out' & 'EW_Green_500ms_Out01' THEN    'EW_Green' := 1    ;ELSE    'EW_Green' := 0    ;END_IF;

6

编写东西向 'Yellow' 输出控制程序 东西向 'Red' 输出控制程序。IF 'EW_Counter'=3 & (NOT 'EW_Yellow_Timer_Out') THEN    'EW_Yellow' := 1    ;ELSE    'EW_Yellow' := 0    ;END_IF;IF 'EW_Yellow_Timer_Out' & (NOT 'EW_Red_Timer_Out') THEN    'EW_Red' := 1    ;ELSE    'EW_Red' := 0    ;END_IF;

注意事项

本篇仅为自动化工程师学习参考

推荐信息