VB1037 0 //段 1 的 S_STEP
VB1038 16#04 //S_PROP
VD1039 +199707040 //SFREQ
VD1043 98 //恒速的脉冲数
VB1047 0 //段 2 的 S_STEP
VB1048 16#00 //S_PROP
VD1049 -1 //SFREQ
VD1053 49951 //减速的脉冲数
VB1057 0 //段 3 的 S_STEP
VB1058 16#10 //S_PROP
VD1059 +10240000 //SFREQ
VD1063 1 //最终减速的脉冲数
VB1067 0 //保留。
VB1068 0 //保留。
VB1069 0 //保留。
可以看出,一个最简单的包络分为4段(VB1025):
段0:加速段,加速脉冲数在VD1033
段1:恒速段,恒速脉冲数在VD1043
段2:减速段,减速脉冲数在VD1063
段3:最终减速脉冲数,VD1063。依我的经验看,这个最终减速脉冲数始终为1。
在向导中,只能生成有限的包络,如果目标脉冲数任意的,我们只好修改包络里面的数据了。加速段和减速段的脉冲数不方便改,因为线性加减速的指令并不清楚,所以只好修改恒速段的脉冲数。实践证明,修改恒速段的脉冲数,可以非常容易且准确地控制输出脉冲数。唯一的限制是,总的脉冲数,必须大于加减速段+最终减速段脉冲数之和,也即恒速段的脉冲不能小于1。
使用步骤:
-
在启动PTO0_RUN之前,计算出恒速段的脉冲数=目标脉数数-加减速脉冲数之和-1,填入包络表中的恒速位置;
-
启动PTO0_RUN。
-
在本项目的设备改造中,主轴卷绕的圈数、中间起停点的变化范围大,使用“PTO0_RUN + 中断”,安排在Q0.0输出;
中断是由高速计数器触发的,所以在Q0.0的向导中使能HC0为作脉冲输出内部反馈,在启动PTO0前使能12#中断“HSC0 CV=PV”,中断程序样例如下:
LD SM0.0
R M20.4, 1
CALL PTO0_MAN, M20.4, PTO0_V, VB290, VD292
DTCH 12
主轴的水平直线运动,行程比较固定,调节范围小,使用“PTO1_RUN + 修改包络参数”,安排在Q0.1。
-
项目运行
首台设备改造完成于2005年12月,至目前已有6台投入运行,效果达到预期的目标,保证了产品质量的一致性,生产效率也有提高,工人劳动强度明显降低。
控制箱实物
-
体会
S7-200是一款是非常优秀的微型控制器,许多功能进行深入研究之后可以做到灵活应用,拓宽其在小型控制领域的应用范围,同时保持较低的应用成本。
S7-200非常象一台带控制IO功能的超级微型计算机,使用STL编程,完全不受继电器逻辑那一套框框的约束,可以象一种计算机语言一样自由地编程。
上一页 [1] [2]
本文关键字:步进电机 西门子 驱动电路及控制电路,单元电路 - 驱动电路及控制电路