quote:以下是引用Automann在2013-11-20 15:33:45的发言:估计楼主用的是下面的程序:

楼主观察到的现象不奇怪,S7-300/400的定时器自动选择时间基准,预设值为6s和60s的定时器的时间基准分别为10ms和100ms。S7-200的10ms和100ms的定时器的运行机制完全不同,100ms的定时器与指令的执行有关,10ms定时器是在每个扫描周期开始时处理时间当前值的。估计S7-300/400也差不多。
定时器的定时是有误差的,仅仅是因为时间基准不同,也会使两个定时器的积累误差不同。楼主采用的定时器电路在前后两次定时的切换时需要一个扫描周期。这也会影响到两个定时器的时间同步。
对于一般的应用,这种误差无关紧要。要求准确的定时可采用循环中断组织块。
选择同一时基定时器,加上中间变量应该不会出现此问题