发布于 2007-06-26 11:19:21
0楼
不必要. 直接用PTO向导做,而且加减速更平稳,配合内置计数模式12可以达到你的要求. 甚至可以做出不同的速度; 比如在找到A之前速度为V1,在找到A点之后速度为V2且输出脉冲个数为N(N为已知的常数,可以通过上位机实时修改).
办法是:
1、建立好向导,配置好HSC0的计数模式(假定对应Q0.0);
2、用MAN子程序启动脉冲输出, 并且在找到A点之前速率可以设为V1;
3、利用A信号产中硬件中断并在该中断子程序内启动HSC0的MODE12计数,设置计数预置值为你需要《找到A点之后发出脉冲的个数》,假设为SMD38=N,并使能HSC0的Pv=Sv中断,视你的工艺要求还可以设置在找到A之后的速度为V2;
4、为了平稳停止,你需要实时的检测HSC0的值,当HSC0=N-x (X为减速停止时所需要的脉冲个数,具体计数方法可以参考“我推荐”版块里那个帖子)时将脉冲速度降到你在向导里设置的停止速度;
5、在HSC0的Pv=Sv中断子程序内调用PTO0-CTRL子程序,设置急停模式,将脉冲输出立即停止。
I can do it