回复:编程逻辑建模测试题

天枰

  • 帖子

    315
  • 精华

    10
  • 被关注

    15

论坛等级:侠士

注册时间:2007-08-09

普通 普通 如何晋级?

发布于 2011-09-20 08:13:44

9楼

你的设定本身就存在不足,同一方向可以进入多个车辆,因此需要再加入两个接近开关,用于车辆进出的判断,现在增加设定I3,I4,其中I1I2装入口,I3 I4装出口,I1到I2方向 I4到I3方向判为车辆进放,否则为出,增加计数器Counter为通道内车辆数量,MaxNum为通道内允许的最大车辆数量则有
I0:地上出入口的地感信号;
I1:地下出入口的地感信号;
I2:系统异常复位;
Q0:地上绿灯;
Q1:地上红灯;
Q2:地下绿灯;
Q3:地下红灯;

//入口方向进入
A I2
FP #BitPlus1
a I1
jcn _001
l #Counter
l 1
+i
t #Counter
_001: nop 0

//入口方向出
A I1
FP #BitPlus2
a I2
jcn _002
l #Counter
l 1
+i
t #Counter
_002: nop 0

//出口方向进入
A I3
FP #BitPlus3
a I4
jcn _003
l #Counter
l 1
-i
t #Counter
_003: nop 0

//出口方向出
A I4
FP #BitPlus4
a I3
jcn _004
l #Counter
l 1
-i
t #Counter
_004: nop 0

//正数表示入口方向出进入的车辆数
A(
l #Counter
l 0
>I
)
A(
l #Counter
l #MaxNum
<I
)
= Q0:地上绿灯;
= Q3:地下红灯;

//负数表示出口方向进入的车辆数
A(
l #Counter
l 0
<I
)
A(
l #Counter
l #MaxNum
negi
>=I
)
= Q2:地下绿灯;
= Q1:地上红灯;

//为零表示两个方向均无车辆进入
a(
l #Counter
l 0
=i
)
= Q2:地下绿灯;
= Q0:地上绿灯;
an q0
an q2
= Q1:地上红灯;
= Q3:地下红灯;

a #Reset
jcn _005
l 0
t #Counter
_005: nop 0
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。