登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:TODR TODW

点击:5499 回复:5

TODR TODW请问这两个指令有什么用?200的系统手册介绍的不清楚。有一个不就可以了吗?两个区别在哪里呢?书上有一例:
用实时时钟指令控制路灯的接通和断开,20:00开灯,06:00灭灯。程序如下:
LD           SM0.0
TODR       VB0
LDB》=    VB3,16#20
OB《=     VB3,16#06
=             Q0.0
问题1:TODR从哪里读取时钟呢?是不是要先TODW?有TODW了,还要TODR吗?  
问题2:我把程序中的VB3改为VB5,那么运行后的VB5在状态图中应该像秒针一样呀,可它不动,Q0.0也应该在20秒和6秒间亮,不在就灭,可它常亮。为什么呢?
04-01-15 21:45
我没机会做西门子的PLC,只是看过书,所以没有实际经验。
不过我用三菱的做了一下,我认为你的问题应该这么理解:
1、TODR TODW在程序中不能同时应用,TODW是写入当前的时间,也就是用来时间校正  
    的。如果你的PLC时钟不准确可用TODW一次性写入校正。方法如下:
    TOWR VB10   就是把VB10到VB16的数值写入时钟。
2、TODR VB0就是读PLC的实时时钟数据并写入VB0到VB6。
3、VB5在状态图中不象秒针一样变化,我解释不了,西门子我没做过。不过我用三菱的做你说
    的程序完全正常。能亮能灭!
04-01-16 14:12
读取实时时钟(TODR)指令从硬件时钟读取当前时间和日期,并将其载入以地址T起始的8个字节的时间缓冲器。设置实时时钟(TODW)指令将当前时间和日期写入用T指定的在8个字节的时间缓冲器开始的硬件时钟。TODR:设置ENO = 0的错误条件:
0006   间接地址
000C   不存在时钟磁带TODW:设置ENO = 0的错误条件:
0006   间接地址
0007   TOD数据错误
000C   不存在时钟
04-01-16 15:06
先谢谢各位。我做了三个小实验。
实验一:
程序快
1
LD SM0.0
TODR VB0
2
LDB》= VB5,16#20
OB》= VB5,16#06
= Q0.0
状态图CHT1输入VB0---VB7
选PLC---当日时钟时间--设置
编译 下载 RUN
结果:正常,状态图中的日期时间在变,VB5像秒一样走动。Q0.0在第7到20秒之间无输出。在20到6秒之间亮。
实验二
程序快
1
LD SM0.0
TODW VB0
2
LDB》= VB5,16#20
OB》= VB5,16#06
= Q0.0
数据快
VB0 16#04,16#01,16#18,16#10,16#20,16#00
VB7 16#01
运行后Q0.0常亮,状态图中的VB5也不变化。
实验三
在实验二的网络1最后一行加入TODR VB8
网络2中VB5改为VB13
结果和实验二一样。
请问TODW怎么用?谢谢。
04-01-18 13:35
LD SM0.0    TODW VB0
朋友,你这个程序是把VB0的八个字节的数据写入时钟,你想一下,时钟都让你给固定死了,怎么会运行。
你把实验三中的LD SM0.0 TODW VB0改成LD SM0.1 TODW VB0试一下。这样是一次性写入时钟。
04-01-18 14:44
lsllhd,做了实验,你说的很对,实验三SM0.0 改为SM0.1就OK了
1
LD         SM0.1
TODW   VB0
2
LD         SM0.0
TODR    VB8
3
LDB》=  VB13,16#20
OB《=   VB13,16#06
=          Q0.0
数据快
VB0     16#04,16#01,16#18,16#15,16#20,16#00,16#00,16#01
但把网络2删除,网络3中VB13改为VB5就不可以,这是为什么呢?也许就是这样吧。
04-01-18 23:22

工控新闻

更多新闻资讯