西门子忻州模块一级授权总代理
2.1PLC脉冲输出指令
目前较为先进的PLC不仅具有满足顺序控制要求的基本逻辑指令,还提供了丰富的功能指令。SiemensS7-200系列PLC的PLUS指令在Q0.0和Q0.1输出PTO或PWM高速脉冲,*大输出频率为20KHz。脉冲串(PTO)提供方波输出(50%占空比),用户控制周期和脉冲数。脉冲宽度可调制(PWM)酮能提供连续、变占空比输出,用户控制周期和脉冲宽度。本文采用PTO的多段管线工作方式实现粗定位,PTO的单段管线方式实现精定位。
上述例子中,假定电机的起动和结束频率是2KHz,*大脉冲频率是10KHz。在粗定位过程中,用200个脉冲完成升频加速,400个脉冲完成降频减速。使用PLC的PTO多段管线脉冲输出时,用下面的公式计算升降频过程中的脉冲增量值。
给定段的周期增量=(ECT—ICT)/Q
式中:ECT=该段结束周期时间
ICT=该段初始周期时间
利用这个公式,加速部分(第1段)周期增量为2,减速部分(第3段)周期增量为1。因第2段是恒速部分,故周期增量为0。如果PTO的包络表从VB500开始存放,则表1为上例的包络表值。
2.2源程序
//主程序
LD SM0.1//扫描为1
R Q0.0,1//复位映像寄存器位
CALL 0//调用子程序0,初始化粗定位相关参数
LD M0.0//粗定位完成
RQ0.0,1
CALL 1//调用子程序1,初始化精定位相关参数
//子程序0,粗定位
LDSM0.0
MOVB16#A0,SMB67 //设定控制字:允许PTO操作,选择ms增量,选择多段操作
MOVW500,SMW168 //包络表起始地址为V500
MOVB 3,VB500//设定包络表段数是3
MOVW 500,VW501//设定第一段初始周期为500ms
MOVW -2,VD503//设定第一段周期增量为-2ms
MOVD 200,VD505//设定第一段脉冲个数为200
MOVW 100,VW509//设定第二段初始周期为100ms
MOVW 0,VD511//设定第二段周期增量为0ms
MOVD1360,VD513 //设定第二段脉冲个数为1360
MOVW 100,VW517//设定第三段初始周期为100ms
MOVW 1,VD519//设定第三段周期增量为1ms
MOVD 400,VD521//设定第三段脉冲个数为400
ATCH 2,19//定义中断程序2处理PTO完成中断
ENI//允许中断
PLS 0//启动PTO操作
//子程序1,精定位
LD SM0.0//扫描为1
MOVB16#8D,SMB67 //允许PTO功能,选择ms增量,设定脉冲数和周期
MOVW 500,SMW68//设定精定位周期为500ms
MOVD 400,SMD72//设定脉冲个数为400
ATCH 3,19//定义中断程序3处理PTO完成中断
ENI//允许中断
PLS 0//启动PTO操作
//中断程序2
LD SM0.0//一直为1
= M0.0//启动精定位
//中断程序3
LD SM0.0//一直为1
= M0.1//实现其他功能