发布于 2006-06-07 21:57:37
0楼
基本程序表:
MAIN网络1 LD SM0.1 //该位首次扫描为1,将Q0.0复位
R Q0.0, 1
CALL SBR_0 //调用子程序0
SBR_0网络1 LD SM0.0 //写包络表,SM0.0始终为1
MOVB 3, VB200 //将包络表段数设为3段
MOVW +500, VW201 //段1的初始周期设定为500ms
MOVW -2, VW203 //段1的增量值设定为-2 ms
MOVD +200, VD205 //段1的脉冲数设定为200个
MOVW +100, VW209 //段2的初始周期设定为100ms
MOVW +0, VW211 //段2的增量值设定为0 ms
MOVD +3400, VD213 //段2的脉冲数设定为3400个
MOVW +100, VW217 //段3的初始周期设定为100ms
MOVW +2, VW219 //段3的增量值设定为2 ms
MOVD +400, VD221 //段3的脉冲数设定为400个
SBR_0网络2 LD SM0.0
MOVB 16#A0, SMB67 //设定控制字节
MOVW +200, SMW168 //将包络表起始地址制定为V200
ATCH INT_0, 19 //设定中断
ENI //全局开中断
PLS 0 //启动PTO,由Q0.0Q输出
INT_0网络1 LD SM0.0 //PTO完成时,输出Q0.1 = Q0.0
= Q1.0 //
应该采用“人机界面”送入V值,去修改频率与脉冲个数。
请高手后续!谢谢