step7 的交通灯控制 点击:1495 | 回复:8



谁是黑鸟

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 53回
  • 年度积分:0
  • 历史总积分:345
  • 注册:2006年2月04日
发表于:2008-10-28 22:58:40
楼主

用STEP7编交通灯的控制怎么有问题呢:

红灯先亮10S,黄灯亮5S,之后在是绿灯10S如此轮巡执行。可是按照下面的程序只有红灯能亮10S之后 就没有动静了

NETWORK1

A(
O I 12.0
O(
A T 2
FP M 0.5
)
O Q 4.0
)
AN T 0
L S5T#10S
SD T 0
= Q 4.0
NETWORK2

A(
O T 0
O Q 4.1
)
AN T 1
L S5T#5S
SD T 1
= Q 4.1
NETWORK3

A(
O T 1
O Q 4.2
)
AN T 2
L S5T#10S
SD T 2
= Q 4.2

?




ly0554

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2008年8月22日
发表于:2008-10-29 00:01:31
1楼

network1..........................................................

A(
O I 12.0
O(
A T 2
FP M 0.5
)
O Q 4.0
)
AN T 0
= L 20.0
A(
A L 20.0


L S5T#1S
SF T 10
NOP 0
NOP 0
NOP 0
A T 10
)
L S5T#10S
SD T 0
NOP 0
NOP 0
NOP 0
NOP 0
A L 20.0
BLD 102
= Q 4.0

network2.......................................

A(
O T 0
O Q 4.1
)
AN T 1
= L 20.0
A(
A L 20.0

L S5T#1S
SF T 11
NOP 0
NOP 0
NOP 0
A T 11
)
L S5T#5S
SD T 1
NOP 0
NOP 0
NOP 0
NOP 0
A L 20.0
BLD 102
= Q 4.1

network3...............................

A(
O T 1
O Q 4.2
)
AN T 2
= L 20.0
A(
A L 20.0

L S5T#1S
SF T 12
NOP 0
NOP 0
NOP 0
A T 12
)
L S5T#10S
SD T 2
NOP 0
NOP 0
NOP 0
NOP 0
A L 20.0
BLD 102
= Q 4.2

ly0554

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2008年8月22日
发表于:2008-10-29 00:07:31
2楼

调试出来符合要求,理论上已经没有问题,不知道实际会不会符合啊,

你的程序中编写也许是network2 中的定时器无法得电啊......我说的不对的话不要见笑啊

我是自学的

谁是黑鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 53回
  • 年度积分:0
  • 历史总积分:345
  • 注册:2006年2月04日
发表于:2008-10-29 00:26:22
3楼

你说的对啊

就是得不了点,又想了几个办法多少都有点问题。

看大家有什么好办法吗?

ly0554

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2008年8月22日
发表于:2008-10-29 00:53:51
4楼
在T0与T0,T1与T1,T2与T2分别加上个断电延时定时器TX,TY,TZ........时间只要不超过5S,就可以了

缘来是你

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 19回
  • 年度积分:0
  • 历史总积分:83
  • 注册:2008年10月29日
发表于:2008-10-29 14:54:37
5楼

我也是刚学习PLC一个月时间,也出现过这样的问题,可能是因为:1ms和10ms分辨率的定时器,如果用其本身作自复位,只能运行一个周期,程序此后只能用其"当前值"而不能用其"位"作为能流过渡,建议换成100ms分辨率的定时器试试或加一个中间继电器M.

1毫秒分辨率
1毫秒定时器记录自现用1毫秒定时器启用以来1毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,1毫秒定时器每毫秒更新一次(定时器位及定时器当前值),不与扫描循环同步。换言之,在超过1毫秒的扫描过程中,定时器位和定时器当前值将多次更新。
定时器指令用于打开和复原定时器,如果是TONR定时器,则用于关闭定时器。
因为可在1毫秒内的任意时刻启动定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用1毫秒定时器时,为了保证时间间隔至少为56毫秒,则预设时间值应设为57。

10毫秒分辨率

10毫秒定时器记录自现用10毫秒定时器启用以来10毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,在每次扫描循环的开始更新10毫秒定时器,其方法是以当前值加上积累的10毫秒间隔的数目(自前一次扫描开始算起)(换言之,在整个扫描过程中,定时器当前值及定时器位保持不变)
因为可在10毫秒内的任意时刻开始定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用10毫秒定时器时,为了保证时间间隔至少为140毫秒,则预设时间值应设为15。

100毫秒分辨率

100毫秒定时器记录自现用100毫秒定时器上一次更新以来100毫秒定时器间隔的数目。这种定时器的更新方法是在执行定时器指令时以当前值加上积累的100毫秒间隔的数目(自前一次扫描开始算起)。
只有在执行定时器指令时才对100毫秒定时器的当前值进行更新。因此,如果启用了100毫秒定时器但并未对各扫描循环执行定时器指令,则仍不能更新定时器当前值并将丧失时间。同样,如果在单个扫描循环内多次执行100毫秒定时器指令,将向定时器的当前值多次增加100毫秒间隔数,赢得时间。只有在每次扫描循环仅仅执行一次定时器指令时,才应该使用100毫秒定时器。

因为可在100毫秒内的任意时刻启动定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用100毫秒定时器时,为了保证时间间隔至少为2100毫秒,则预设时间值应设为22。

?

长征三号

  • 精华:0帖
  • 求助:1帖
  • 帖子:54帖 | 910回
  • 年度积分:0
  • 历史总积分:1121
  • 注册:2008年6月16日
发表于:2008-10-29 19:29:13
6楼
交通灯控制有很多方式和方法,一般能正常工作就可以呀!不过最好要做至精简呀!

谁是黑鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 53回
  • 年度积分:0
  • 历史总积分:345
  • 注册:2006年2月04日
发表于:2008-10-31 20:52:20
7楼

谢谢大家了

我想我的问题应该是解决了

大杠把子

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 479回
  • 年度积分:0
  • 历史总积分:975
  • 注册:2006年8月23日
发表于:2008-10-31 23:02:59
8楼
找本教材看看,应该有借鉴的,搞设计又不是闭卷考试.拿来主义也很不错啊.搞技术的多掌握资料,会查找资料,一般就可以应付了

热门招聘
相关主题

官方公众号

智造工程师