我们知道交通灯的控制一般如下:由一开关控制,控制东西、南北方向红、黄、绿灯。
控制规律:高峰时段每天7—9点、16:30—19:00,正常时段9:00—16:30、19:00—12:00,晚间时段:00:00—7:00。
高峰时段:东西红灯60秒,南北绿灯50秒,后绿灯闪亮5秒,黄灯亮5秒,后南北红灯亮30秒,东西绿灯亮20秒,闪亮5秒,后黄灯亮5秒。
正常时段:东西红灯45秒,南北绿灯35,后绿灯闪亮5秒,黄灯亮5秒,后南北红灯亮45秒,东西绿灯亮35秒,闪亮5秒,后黄灯亮5秒。
晚间时段:东西、南北红、绿、黄灯均不亮。
擂台要求:选用任何一种PLC实现以上的功能。这里我们为了简化编程要求,可以用多个开关,对于各时段的控制也可以通过开关的开闭跳转到不同的子程序实现,时间可以由人把握,当然能实现全自动这是最好。
PLC品牌可以随意选择,编写的程序最完整,叙述最清晰的首先拿大奖!
工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
楼主最近还看过
CASE step OF
0:
TwinkleEWYe:=FALSE;
EWYe:=FALSE;
EWRed:=TRUE;
SNGre:=TRUE;
SNRed:=FALSE;
TwinkleTON4(IN:=FALSE,);
step:=1;
1:
(*东西红灯亮60s*)
step:=SEL(EWRedTON.Q,1,2);
EWRed:=NOT EWRedTON.Q AND NOT SNRed;
EWRedTON(IN:=EWRed ,PT:=t#60s);
EWRedTON.ET;
(*南北绿灯亮50s*)
IF NOT SNGreTON.Q AND NOT TwinkleSNGre AND NOT TwinkleSNYe AND NOT SNRed AND EWRed THEN
SNGre:=(*NOT SNGreTON.Q AND*) NOT SNRed AND EWRed ;
SNGreTON(IN:=SNGre,PT:=T#50S);
TwinkleSNGre:=SNGreTON.Q;
ELSE SNGreTON(IN:=FALSE,);(*SNGre:=(*NOT SNGreTON.Q AND* NOT SNRed AND EWRed ; *)END_IF
SNGreTON.ET;
(*南北绿灯闪烁5s*)
IF TwinkleSNGre AND EWRed AND NOT TwinkleTON1.Q THEN
i:=SEL(i>=8,i+1,0);
SNGre:=SEL(i>=4,TRUE,FALSE);
TwinkleTON1(IN:=TRUE,PT:=t#5s);
TwinkleTON1.ET;
ELSIF TwinkleTON1.Q THEN
TwinkleSNGre:=FALSE;
SNGre:=FALSE;
TwinkleSNYe:=TRUE;
TwinkleTON1(IN:=FALSE,);
END_IF
(*南北黄灯闪烁5s*)
IF TwinkleSNYe AND EWRed AND NOT TwinkleTON2.Q THEN
i:=SEL(i>=8,i+1,0);
SNYe:=SEL(i>=4,TRUE,FALSE);
TwinkleTON2(IN:=TRUE,PT:=t#5s);
END_IF
2:
TwinkleSNYe:=FALSE;
SNYe:=FALSE;
SNRed:=TRUE;
EWGre:=TRUE;
EWRed:=FALSE;
TwinkleTON2(IN:=FALSE,);
step:=3;
3:
(*南北红灯亮30s*)
step:=SEL(SNRedTON.Q,3,0);
SNRed:=NOT SNRedTON.Q AND NOT EWRed;
SNRedTON(IN:=SNRed,PT:=T#30S);
(*东西绿灯亮20s*)
IF NOT EWGreTON.Q AND NOT TwinkleEWGre AND NOT TwinkleEWYe AND NOT EWRed AND SNRed THEN
EWGre:=(*NOT SNGreTON.Q AND*) NOT EWRed AND SNRed ;
EWGreTON(IN:=EWGre,PT:=T#20S);
TwinkleEWGre:=EWGreTON.Q;
ELSE EWGreTON(IN:=FALSE,); END_IF
EWGreTON.ET;
(*东西绿灯闪烁5s*)
IF TwinkleEWGre AND SNRed AND NOT TwinkleTON3.Q THEN
i:=SEL(i>=8,i+1,0);
EWGre:=SEL(i>=4,TRUE,FALSE);
TwinkleTON3(IN:=TRUE,PT:=t#5s);
ELSIF TwinkleTON3.Q THEN
TwinkleEWGre:=FALSE;
EWGre:=FALSE;
TwinkleEWYe:=TRUE;
TwinkleTON3(IN:=FALSE,);
END_IF
TwinkleTON3.ET;
(*东西黄灯闪烁5s*)
IF TwinkleEWYe AND SNRed AND NOT TwinkleTON4.Q THEN
i:=SEL(i>=8,i+1,0);
EWYe:=SEL(i>=4,TRUE,FALSE);
TwinkleTON4(IN:=TRUE,PT:=t#5s);END_IF
END_CASE
[7466]
[42882]
[11970]
[23464]
[7833]
[9940]
[24638]
[8578]
[25094]
[9431]

客服
小程序
公众号