如何改变定时器的定时时间设定值

如题所述

1、打开创建的工程文件,在左边找到启动文件,双击启动文件,找到方框内的内容。程序一般从系统初始化开始,在运行到main里面。

2、单击sysinit函数,按F12调转到函数定义界面,在函数里面有如下图方框的内容。这个函数就是配置时钟的函数。

3、单击上图的SetSysClock函数,按F12调转到函数定义界面,在函数里面有如下图方框的内容。这个函数里面采用了很多宏定义,用于配置不同的系统时钟。我们配置为72Mhz。

4、打开配置72Mhz系统时钟的函数,在函数里面会出现这么一段英文,这段英文的意思就是“配置好了系统时钟,以及HCLK,PCLK1\PCLK2 的时钟”。

5、在这里整个系统的时钟已经配置完毕了,我们就可以用时钟驱动各种外设了。

6、GPIO、定时器1的时钟。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-12
定时器在运行时是不允许更改定时时间的,否则会造成定时器不工作
当定时器不运行的时候只需要更改将TV端设置成DB地址或者其他的变量地址,改变该地址内的值就可以了
方法如下:
1:在DB块里设置DINT数据,TIME数据和S5TIME数据; 2:使用MOV转换DINT数据转为TIME数据;
3:使用FC40系统Function将TIME数据转换为S5TIME数据;
使用结果:可以即时改变S5TIME计时器设置值,但是在S5T计时器重新启动以前不会生效。不过可以将新设定值和S5T计时器的BCD值做减法运算,作为设定值给入S5T计时器,并重新启动S5T,这样就可获得S5T计时器的计时移植和接续计时。
3. 1.建立DB6数据块,其中TIME变量TIME1 _TIME为WINCC设定值,S5TIME变
量TIME1 _S5T为定时器使用值;
2.WINCC中建一个32位有符号浮点数,改变格式:LongToSignedDWord,连接DB6,双字,地址DBD16(DB6中TIME1 _TIME的地址)
3.调用Libraries-IEC Function Blocks-FC40(TIM_S5TI),将时间值TIME(毫秒单位,即1000=1S)数据格式变量TIME1 _TIME转换成S5TIME数据格式的变量TIME1 _S5T;
4.程序中使用TIME1 _S5T变量作为定时器的时间设定值。本回答被提问者和网友采纳