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

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2011-09-20 00:04:28

8楼

我个人认为:用两个计数器程序结构比较清晰,逻辑也相对简单!我的程序思路是这样的:首先判断车辆进车库和出车库哪个优先;谁先碰到地感应传感器谁就优先,就如抢答器一样的工作原理。比如当前是进车库优先,当车辆在地上出入口被检查到,计数器+1,当车辆在地下出入口被检查到,那么计数器-1,可以满足车辆连续进入车库,当计数器值等于0时,表示这段时间车辆进库结束。车辆出库与车辆出库过程原理一样!下面我也写了点代码,估计不是最简单的,望东方版主和大家多指正!
A I 0.0 //地上出入口的地感信号
AN I 0.1 //地下出入口的地感信号
FP M 0.0
S M 0.1 //置位有车辆先进车库时的标志位

AN I 0.0 //地上出入口的地感信号
A I 0.1 //地下出入口的地感信号
FP M 0.2
S M 0.3 //置位有车辆先出车库时的标志位

A M 0.1
JC IN //JUMP 有车辆进入车库

A M 0.3
JC OUT //JUMP 有车辆从车库出去

A I 0.2 //系统异常复位
JC REST //JUMP 故障复位
JU END //JUMP 没有车子进出车库

IN: S Q 0.0 //点亮地上绿灯
S Q 0.3 //点亮地下红灯
A I 0.0 //检测到地上出入口的地感信号
CU C 1 //计数器+1
A I 0.1 //检测到地下出入口的地感信号
CD C 1 //计数器-1
L C 1 //车辆进库计数器
L 0
==I
R Q 0.0 //灭掉地上绿灯
R Q 0.3 //灭掉地下红灯
R M 0.1 //复位有车辆先进车库时的标志位
JU END

OUT: S Q 0.1 //点亮地上红灯
S Q 0.2 //点亮地下绿灯
A I 0.1 //检测到地下出入口的地感信号
CU C 2 //计数器+1
A I 0.0 //检测到地上出入口的地感信号
CD C 2 //计数器-1
L C 2 //车辆进车库计数器
L 0
==I
R Q 0.1 //灭掉地上红灯
R Q 0.2 //灭掉地下绿灯
R M 0.3 //复位有车辆先出车库时的标志位
JU END

REST: R Q 0.0 //灭掉地上绿灯
R Q 0.1 //灭掉地上红灯
R Q 0.2 //灭掉地下绿灯
R Q 0.3 //灭掉地下红灯
R C 1 //复位车辆进库计数器
R C 2 //复位车辆出库计数器
R M 0.1 //置位有车辆先进车库时的标志位
R M 0.3 //置位有车辆先出车库时的标志位
END: NOP 0
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54619条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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