发表于:2008/11/14 20:18:00
#0楼
在 CPU 循环周期内采用通常的方法不可能准确地获得高速速度值。
要获得准确的高速计数值 ,应该选择用高速计数器和时间中断程序(例如 HSC 3)。这要求在CPU上电进入“运行”模式时的第一个扫描周期里,计数器完成初始化,中断被定义并指派到计数器。
为此,通过首周期扫描位(SM0.1)转到子程序(例如 子程序 0)定义时间中断周期。由于切换到运行模式后,首周期扫描位只能在第一个周期被置位,所以中断只被设置一次。
比如,选择中断 0。中断事件 10 的周期时间被写在 SMB34 里。
在这个例子里,我们已经选择了中断 0。一个特殊的中断只能分派给一个程序。 当然,根据需要可以增加这 10 毫秒的时间间隔。当使用脉冲数计算速度时,必须考虑时间中断。 计数器总是将每次中断时间间隔的脉冲数存储在一个双字变量寄存器 VD0 中。 比如,如果速度脉冲编码器提供每圈 50 个脉冲,中断时间间隔是10ms,计算
每分钟的速度是
(VD0 = 每10ms的脉冲数) * 6000 / 50。
为了把速度脉冲编码器的脉冲传给计数器,就必须把速度编码器的输出信号连到 HC3 的输入点 I0.1 上。 (如果想在项目中使用不同的计数器,那么必须连接到所选计数器对应的输入点上)。
将 "tspeed01.zip" 文件复制到另一个目录下并解压缩该文件(例如 用 "WinZip")。程序文件被解压缩为文本文件。 现在可以复制独立的程序段并转移到 STEP 7 Micro/WIN 程序中。
要获得准确的高速计数值 ,应该选择用高速计数器和时间中断程序(例如 HSC 3)。这要求在CPU上电进入“运行”模式时的第一个扫描周期里,计数器完成初始化,中断被定义并指派到计数器。
为此,通过首周期扫描位(SM0.1)转到子程序(例如 子程序 0)定义时间中断周期。由于切换到运行模式后,首周期扫描位只能在第一个周期被置位,所以中断只被设置一次。
比如,选择中断 0。中断事件 10 的周期时间被写在 SMB34 里。
在这个例子里,我们已经选择了中断 0。一个特殊的中断只能分派给一个程序。 当然,根据需要可以增加这 10 毫秒的时间间隔。当使用脉冲数计算速度时,必须考虑时间中断。 计数器总是将每次中断时间间隔的脉冲数存储在一个双字变量寄存器 VD0 中。 比如,如果速度脉冲编码器提供每圈 50 个脉冲,中断时间间隔是10ms,计算
每分钟的速度是
(VD0 = 每10ms的脉冲数) * 6000 / 50。
为了把速度脉冲编码器的脉冲传给计数器,就必须把速度编码器的输出信号连到 HC3 的输入点 I0.1 上。 (如果想在项目中使用不同的计数器,那么必须连接到所选计数器对应的输入点上)。
附件:
[本地下载]将 "tspeed01.zip" 文件复制到另一个目录下并解压缩该文件(例如 用 "WinZip")。程序文件被解压缩为文本文件。 现在可以复制独立的程序段并转移到 STEP 7 Micro/WIN 程序中。
烟台东泽----西门子山东地区之代理商,系统集成商
里的打杂的
里的打杂的