发布于 2012-04-06 00:10:48
4楼
楼主:看了你的疑惑,和要实现的任务,我认为类似与“跑马灯”游戏。我把M10.0~M14.4作为跑马灯区域,化了点时间,按照你需要的功能提供一个参考思路,代码稍加修改也许能满足你的要求,如下:
A T 1 //当间隔时间到时
FP M 115.0 //判断上升沿
S M 115.1 //置位启动输送系统标志位
JC M001 //跳转到M001
L MD 116
L P#14.5 //★定义M点的结束地址
>=D
R M 115.1 //复位启动输送系统标志位
JU M002
M001: L P#10.0 //★定义M点的起始地址
T MD 116
M002: LAR1 MD 116 //初始化地址寄存器1(装载上一次的地址指针)
A T 2
A M 115.1 //跑马灯的启动标志位
FP M 115.2
S M [AR1,P#0.0] //T2上升沿到来时,置位当前的M点
A T 2
A M 115.1 //跑马灯的启动标志位
FN M 115.3
R M [AR1,P#0.0] //T2下降沿到来时,复位当前的M点
JC M003
JU M004
M003: +AR1 P#0.1 //地址向前推进一位
TAR1 MD 116 //存储当前的指针
M004: AN T 1 //产生一个80s的同步脉冲
L S5T#1M20S //间隔时间
SE T 1
AN T 2 //产生一个2s的同步脉冲
A M 115.1
L S5T#2S //每盏马灯点亮的时间
SE T 2
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”