西门子S7-200PLC在数字伺服电机控制中的应用
迈梓工控 / 2021-08-27
西门子S7-200PLC在数字伺服电机控制中的应用
1、电机的连线及控制
本应用实例选择的是位置控制模式,脉冲输入方式有集电极开路方式和差动驱动方式两种,为了方便的实现同时对两部电机的控制,采用差动驱动方式。与PLC的接线图如图所示。
PLC与伺服放大器接线图
图中L+为公共PLC端子,接24VDC正端,通过控制内部晶体管的开关使得输出Q呈现不同的电平信号或发出脉冲信号。L+一PG—PlM—L+为脉冲输入回路,PLC控制该回路中的发光二极管的亮灭,形成脉冲编码输入。L+一NG—NP一1M—L+为电机旋转方向控制回路,当该回路的发光二极管点亮时,电机正转,否则反转。由于伺服放大器内部电阻只有100欧,为
了防止电流过大烧坏内部的发光二极管,需要外接电阻R,其阻值的计算如下:
根据公式(1),可以选择R=3.9KO
2、电子齿轮比
数字交流伺服系统具有位置控制的功能,可通过上位控制器发出位置指令脉冲。而伺服系统的位置反馈脉冲当量由编码器的分辨率及电机每转对应的机械位移量等决定。当指令脉冲当量与位置反馈脉冲当量二者不一致时,就需要使用电子齿轮使二者匹配。使用了电子齿轮功能,就可以任意决定一个输入脉冲所相当的电机位移量。具有电子齿轮功能的伺服系统结构如图3所示。若机械传动机构的螺距为w,指令脉冲当量为△L,编码器每转脉冲数为P,又考虑到一般电机轴与传动丝杠为直接相连,则位置反馈脉冲当量△=W/4P。
具有电子齿轮功能的伺服系统结构图
由于脉冲当量与反馈脉冲当量不一定相等,就需要使用电子齿轮比来建立两者的关系。具体计算公式为:AL=3M×CMX/CDV
。因此根据一个指令脉冲的位置当量和反馈脉冲的位置当量,就可以确定具体的电子齿轮比。三菱该系列伺服电机的电子齿轮比的设定范围
对于输入的脉冲,可以乘上其中任意倍率使机械运行。
下面是plc控制私服的具体应用
3、PIC控制原理及控制模型
本例采用了西门子s7.200系列CPU226作为主控制器。它是s7.200系列中的高档PLC,本机自带24个数字输人口、l6个数字输出口及两个RS-422/485串行通讯口,最多可扩展7个应用模块j。实际项目中,通过扩展EM231模拟量输入模块来采集电压信号,输入的模拟信号可在0~10V±5V、0~20mA等多种信号输入方式中选择。最终,PLC根据输入电压信号的大小控制脉冲发送周期的长短,从而达到控制伺服电机速度的目的。
3.1高速数字脉冲输出
西门子s7.200系列AC/DC/DC(交流供电,直流I/O)类型PLC上集成了两个高速脉冲输出口,两个高速脉冲输出口分别
通过Qo.0、Qo.1两个输出端子输出,输出时可选择PWM(脉宽调制)和PIO(脉冲串)方式。PIO方式每次只能发出固定脉冲,脉冲开始发送后直到发送完毕才能开始新的脉冲串;PWM方式相对灵活,在脉冲发送期间可随时改变脉冲周期及宽度,其中脉冲周期可以选择微秒级或毫秒级。
3.2PID功能特性该系列PLC可以通过PID回路指令来进行PID运算,在一个程序中最多可以用8条PID指令,既最多可同时实现8个PID
控制算法。在实际程序设计中,可用STEP7-Micro/Win32中的PID向导程序来完成一个闭环控制过程的PID算法,从而提高
程序设计效率。3.3控制模型控制模型方框图如下图所示,其中Uset为极间电压给定值(此时产气状态最佳),Uf为极间电压采样值,Vout为伺服电机运转速度。通过对电弧电压采样值与弧间电压给定值的比较并经过PLC的PID调节回路控制,可以得出用于控制伺服电机旋转的脉冲发送周期T,从而使伺服电机的送棒速度不停的得到调整,这样就达到了控制两极间距的目的。保证了两极间距的相对稳定,也就保证了极间电压的稳定性。
PID调节控制原理框图
根据极间距对极间电压的影响,可以设定PLC的PID调节回路调整策略如下:
Uset—uf<0,T减小;
Uset—uf>0,T增大。
通过上述控制方法,能够比较精确的实现对UF的控制。4、程序设计
以下应用程序是经过简化的,没有涉及异常情况。其设计以本文前面所述方法及原理为依据,并给出了详尽的程序注释。
4.1主程序
NErW0RK1
①IJDSM0.1
//SM0.1=1仅第一次扫描有效
②MOVW+0,VW450
//PID中断计数器初始化
③MOVB100,SMB34
//设置定时中断时间间隔为lOOms
④ATCHINT—PWM—PID,10
//设定中断,启动PID执行
⑤ENI//开中断
4.2中断程序
①NETWORK1
LDSM0.0
//SM0.0=1每个扫描周期都有效
ICWVVW450
//调用中断程序次数加1
②NETWORK2
LDW>=VW450.+10
//检查是否应进行PID计算
M0VW+0,VW450
//如果如此,清计数器并继续
N0T
JMP0
//否则,转人中断程序结尾
③NETWORK3
//计算并装载PIDPV(过程变量)
IDSM0.0
RPSXORWVW464,VW464
//清除工作区域
M0VWArW0.VW466
//读取模拟数值
AV466.7
M0VW16#FFFF.VW464
//检查符号位,若为负则扩展符号
LRD
DTRVD464.VD396
//将其转化成实数并装载人PV
LPP
/R32000.0,VD396
//正常化至0.0至1.0之间的数值
④NETWORK4
IDSM0.0
MOVRVIM00,VIM00
//VIM00为设定值
⑤
⑥NETWORK6
IDSM0.0
PIDVB396,0
//进行PID计算
⑦NETWORK7
LDSM0.0
M0vRVD404.VD464
//装载PID输出至工作区
+RVD400,VD464
*R1000.0.VIM64
//缩放数值TRUNCVD464,VD464
//将数值转化成整数
MOVWVW466.VW1000
//VW1000为PLC输出脉冲周期
⑧NETWORK8
//伺服电机右反转控制(PWM)
//SMW68/78lIFO周期值
//SMW70/80PWM脉冲宽度
//SMD72/82lIFO脉冲计数值
LDSM0.0
MOVB16#D3.SMB77
//输出脉冲周期为500微秒
MOVWVW1000,SMW78
MOVWVW1000.VW1118
/I+2.VWl118
MOVWVW1118.SMW80
PIS1
⑨NETWORK9
LBL0本例给出了利用西门子PLC的高速脉冲输出及PID控制功能,实现对数字式交流伺服电机进行控制的原理及相应编程方法。此控制方法已成功用于水燃气生产控制系统中,效果良好。