在编程中通常会经常使用到定时器和计数器,尤其在时序控制和逻辑控制中,用时间的计时完毕或者计数值到达来作为判断某工艺是否正常完成的依据,在此简单地谈一下这两种元件的设定值也就是赋值的方法问题:
从本质上说方法不外乎两种:
方法一、直接赋值法
LD I0.0
TON T37, 100
上述语句中的常数“100”即是直接设定值
方法二、间接赋值法
LD First_Scan_On:SM0.1
MOVW 100, VW0
LD I0.0
TON T37, VW0
上述语句中的VW0即是间接地对T37赋设定值。
乍看之下,同样是对T37赋予设定值,方法一用了两条语句,而方法二却用了四条语句,我们是不是就说方法一比方法二要高效呢?其实未必!
如果说你的程序中只用了几个或者说是少量的计时器和计数器,那么可能看不出来方法二的优势来,可是,如果说你的程序中一旦用了数量相当多的计时器和计数器时,方法二则显示出了绝对优势!原因如下:
在程序的调试过程中定时器的设定值在某些情况之下需要经过反复的测试检验才能确定下来使用的定值,因此,当然你要多次修改这个设定值的大小,试问,如果你采用的是方法一,你需要小心翼翼地去在程序中一个个地寻找并修改不知在何处的定时器或者计数器,说不定还会偶尔有"漏网之鱼",既费时又费力还伤神!
相反,如果你用的是方法二的话,则就可以"集中处理"这些值的大小,而不须一个一个地在程序中找过来找过去地修改它们的设定值了,这样的话,是不是能省点力啊?!
当然,间接赋值有多种实现的方式,如指针、表等,在此只是抛砖引玉,敬候有深论高见者前来讨论赐教,互相交流!