首页 上一页 1 2 下一页 尾页

(已结束)工控PLC擂台第21期--PLC控制伺服。 点击:18941 | 回复:34



云锋

    
  • 精华:1帖
  • 求助:5帖
  • 帖子:277帖 | 5541回
  • 年度积分:0
  • 历史总积分:30128
  • 注册:2005年6月24日
发表于:2011-01-21 15:13:41
楼主
        PLC控制伺服电机应用实例,写出组成整个系统的PLC模块及外围器件,并附相关程序。

         PLC品牌不限。

          工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。

           MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

        MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。


楼主最近还看过



Piston

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 13107回
  • 年度积分:18
  • 历史总积分:40065
  • 注册:2009年5月22日
发表于:2011-01-22 00:58:09
1楼

以松下FP1系列PLC和A4系列伺服驱动为例,编制控制伺服电机定长正、反旋转的PLC程序并设计外围接线图,此方案不采用松下的位置控制模块FPG--PP11\12\21\22等,而是用晶体管输出式的PLC,让其特定输出点给出位置指令脉冲串,直接发送到伺服输入端,此时松下A4伺服工作在位置模式。在PLC程序中设定伺服电机旋转速度,单位为(rpm),设伺服电机设定为1000个脉冲转一圈。PLC输出脉冲频率=(速度设定值/6)*100(HZ)。假设该伺服系统的驱动直线定位精度为±0.1mm,伺服电机每转一圈滚珠丝杠副移动10mm,伺服电机转一圈需要的脉冲数为1000,故该系统的脉冲当量或者说驱动分辨率为0.01mm(一个丝);PLC输出脉冲数=长度设定值*10。
以上的结论是在伺服电机参数设定完的基础上得出的。也就是说,在计算PLC发出脉冲频率与脉冲前,先根据机械条件,综合考虑精度与速度要求设定好伺服电机的电子齿轮比!大致过程如下:
机械机构确定后,伺服电机转动一圈的行走长度已经固定(如上面所说的10mm),设计要求的定位精度为0.1mm(10个丝)。为了保证此精度,一般情况下是让一个脉冲的行走长度低于0.1mm,如设定一个脉冲的行走长度为如上所述的0.01mm,于是电机转一圈所需要脉冲数即为1000个脉冲。此种设定当电机速度要求为1200转/分时,PLC应该发出的脉冲频率为20K。松下FP1---40T 的PLC的CPU本体可以发脉冲频率为50KHz,完全可以满足要求。
如果电机转动一圈为100mm,设定一个脉冲行走仍然是0.01mm,电机转一圈所需要脉冲数即为10000个脉冲,电机速度为1200转时所需要脉冲频率就是200K。PLC的CPU输出点工作频率就不够了。需要位置控制专用模块等方式。
有了以上频率与脉冲数的算法就只需应用PLC的相应脉冲指令发出脉冲即可实现控制了。假设使用松下A4伺服,其工作在位置模式,伺服电机参数设置与接线方式如下:

 一、按照伺服电机驱动器说明书上的“位置控制模式控制信号接线图”接线: 

    pin3(PULS1),pin4(PULS2)为脉冲信号端子,PULS1连接直流电源正极(24V电源需串连2K左右的电阻),PULS2连接控制器(如PLC的输出端子)。 
    pin5(SIGN1),pin6(SIGN2)为控制方向信号端子,SIGN1连接直流电源正极(24V电源需串连2K左右的电阻),SIGN2连接控制器(如PLC的输出端子)。当此端子接收信号变化时,伺服电机的运转方向改变。实际运转方向由伺服电机驱动器的P41,P42这两个参数控制,pin7(com+)与外接24V直流电源的正极相连。pin29(SRV-0N),伺服使能信号,此端子与外接24V直流电源的负极相连,则伺服电机进入使能状态,通俗地讲就是伺服电机已经准备好,接收脉冲即可以运转。 
    上面所述的六根线连接完毕(电源、编码器、电机线当然不能忘),伺服电机即可根据控制器发出的脉冲与方向信号运转。其他的信号端子,如伺服报警、偏差计数清零、定位完成等可根据您的要求接入控制器构成更完善的控制系统。 

二、设置伺服电机驱动器的参数。 
   1、Pr02----控制模式选择,设定Pr02参数为0或是3或是4。3与4的区别在于当32(C-MODE)端子为短路时,控制模式相应变为速度模式或是转矩模式,而设为0,则只为位置控制模式。如果您只要求位置控制的话,Pr02设定为0或是3或是4是一样的。 
   2、Pr10,Pr11,Pr12----增益与积分调整,在运行中根据伺服电机的运行情况相应调整,达到伺服电机运行平稳。当然其他的参数也需要调整(Pr13,Pr14,Pr15,Pr16,Pr20也是很重要的参数),在您不太熟悉前只调整这三个参数也可以满足基本的要求. 。
   3、Pr40----指令脉冲输入选择,默认为光耦输入(设为0)即可。也就是选择3(PULS1),4(PULS2),5(SIGN1),6(SIGN2)这四个端子输入脉冲与方向信号。 
   4、Pr41,Pr42----简单地说就是控制伺服电机运转方向。Pr41设为0时,Pr42设为3,则5(SIGN1),6(SIGN2)导通时为正方向(CCW),反之为反方向(CW)。Pr41设为1时,Pr42设为3,则5(SIGN1),6(SIGN2)断开时为正方向(CCW),反之为反方向(CW),正、反方向是相对的,看您如何定义了,正确的说法应该为CCW,CW 。
   5、Pr48、Pr4A、Pr4B----电子齿轮比设定。此为重要参数,其作用就是控制电机的运转速度与控制器发送一个脉冲时电机的行走长度。  

    其公式为: 
    伺服电机每转一圈所需的脉冲数=编码器分辨率 × Pr4B/(Pr48 × 2^Pr4A) 
    伺服电机所配编码器如果为:2500p/r 5线制增量式编码器,则编码器分辨率为10000p/r 
    如您连接伺服电机轴的丝杆间距为20mm,您要做到控制器发送一个脉冲伺服电机行走长度为一个丝(0.01mm)。计算得知:伺服电机转一圈需要2000个脉冲(每转一圈所需脉冲确定了,脉冲频率与伺服电机的速度的关系也就确定了)  。
    三个参数可以设定为:Pr4A=0,Pr48=10000,Pr4B=2000,约分一下则为:Pr4A=0,Pr48=100,Pr4B=20。 
    从上面的叙述可知:设定Pr48、Pr4A、Pr4B这三个参数是根据我们控制器所能发送的最大脉冲频率与工艺所要求的精度。在控制器的最大发送脉冲频率确定后,工艺精度要求越高,则伺服电机能达到的最大速度越低。
松下FP1---40 T 型PLC的程序梯型图如下:


zhang5114210

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 538回
  • 年度积分:0
  • 历史总积分:2084
  • 注册:2006年8月01日
发表于:2011-01-22 09:04:49
2楼

回家过年啦‘’‘’‘’

莫子辰

  • 精华:1帖
  • 求助:11帖
  • 帖子:20帖 | 939回
  • 年度积分:0
  • 历史总积分:5186
  • 注册:2010年5月12日
发表于:2011-01-22 09:15:39
3楼

占楼学习

 

林 森

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-01-22 19:40:03
4楼

 

     S7—200 PLC在数字伺服电机控制中的应用 

 首先了解plc如何控制伺服电机

1、 电机的连线及控制

       本应用实例选择的是位置控制模式,脉冲输入方式有集电极开路方式和差动驱动方式两种,为了方便的实现同时对两部电机的控制,采用差动驱动方式。与PLC的接线图如图所示。

                                                                                 PLC与伺服放大器接线图
图中L+为公共PLC端子,接24VDC正端,通过控制内部晶体管的开关使得输出Q呈现不同的电平信号或发出脉冲信号。L+一PG—P lM—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、PI C控制原理及控制模型

      本例采用了西门子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.2 PID功能特性
      该系列PLC可以通过PID回路指令来进行PID运算,在一个程序中最多可以用8条PID指令,既最多可同时实现8个PID
控制算法。在实际程序设计中,可用STEP 7-Micro/Win 32中的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 主程序
NErW0RK 1
① IJD SM0.1
//SM0.1=1仅第一次扫描有效
② MOVW +0,VW450
//PID中断计数器初始化
③ MOVB 100,SMB34
//设置定时中断时间间隔为lOOms
④ ATCH INT— PWM — PID ,10
//设定中断,启动PID执行
⑤ ENI
//开中断
4.2 中断程序
① NETWORK 1
LD SM0.0
//SM0.0=1每个扫描周期都有效
I CW V  VW450
//调用中断程序次数加1
② NETWORK 2
LDW > = VW450. + 10
//检查是否应进行PID计算
M0VW +0,VW450
//如果如此,清计数器并继续
N0T
JMP 0
//否则,转人中断程序结尾
③ NETWORK 3
//计算并装载PID PV(过程变量)
ID SM0.0
RPS
XORW VW464,VW464
//清除工作区域
M0VW ArW0.VW466
//读取模拟数值
A V466.7
M0VW 16#FFFF.VW464
//检查符号位,若为负则扩展符号
LRD
DTR  VD464.VD396
//将其转化成实数并装载人PV 
LPP
/R 32000.0,VD396
//正常化至0.0至1.0之间的数值
④ NETWORK 4
ID SM0.0
MOVR VIM00,VIM00
//VIM00为设定值

⑥ NETWORK 6
ID SM0.0
PID VB396,0
//进行PID计算
⑦ NETWORK 7
LD SM0.0
M0vR VD404.VD464
//装载PID输出至工作区
+R VD400,VD464
*R 1000.0. VIM64
//缩放数值
TRUNC VD464,VD464
//将数值转化成整数
MOVW VW 466.VW 1000
//VW1000为PLC输出脉冲周期
⑧ NETWORK 8
//伺服电机右反转控制(PWM)
//SMW68/78 lIFO周期值
//SMW70/80 PWM脉冲宽度
//SMD72/82 lIFO脉冲计数值
LD SM0.0
MOVB 16# D3.SMB77
//输出脉冲周期为500微秒
MOVW VW 1000,SMW 78
MOVW VW 1000.VW1 1 18
/I +2.VWl118
MOVW VW 1118.SMW 80
PIS 1
⑨ NETWORK 9 
LBL  0
本例给出了利用西门子PLC的高速脉冲输出及PID控制功能,实现对数字式交流伺服电机进行控制的原理及相应编程方法。此控制方法已成功用于水燃气生产控制系统中,效果良好

woyaokong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 61回
  • 年度积分:0
  • 历史总积分:610
  • 注册:2010年5月26日
发表于:2011-01-22 20:31:39
5楼
学习中                             

qiangren

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2011年1月18日
发表于:2011-01-22 23:24:04
6楼
学生,进来学习下。。。

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-01-24 22:49:46
7楼

                                                           基于1756-M08SE模块的多轴交流伺服控制系统(二轴)

     由于开发程序较大,这里我们只给出伺服的点动,正反向,等的控制!先介绍如下:

         总体概述:罗克韦尔伺服传动习惯于用EQU(等于指令)比较数字量输入模块0号位输入次数的奇偶次数来分别控制伺服环的闭合和断开。其中MSO指令用于直接激活伺服驱动器并且使能与物理伺服轴相关的已组态伺服环。触发MSO指令后,指定轴进入伺服控制状态。当轴处于移动状态时,执行该指令无效。如果这时触发了该指令,MSO指令会产生一个“Axis in Motion”的故障。MSF指令用于直接立即关断伺服驱动器输出,并且禁止物理伺服轴的伺服环。这会使轴处于准备状态。该指令可以禁止任意正在执行的其他运动规划。且若需要直接用手来移动轴时,可以用该指令关断伺服操作。
要成功执行以上两条运动状态指令,有个必要的前提,即目标轴必须组态为伺服轴,如果该条件不满足,该指令会产生错误。
       建立坐标也是主程序中一个非常重要的环节。无论是在工业现场或者是其它地方的运动控制系统中,基本上都须要建立一个坐标系。若不建立一个坐标系,虽然可以用增量式的控制方式来实现一些简单的控制,但是这样的方式不能实现对实际位置的反馈等操作,而且控制方式复杂。所以在成熟合理的控制系统中建立坐标系是必不可少的一个环节。坐标系的建立可以使控制变得很方便,且可实现对系统当前所在位置的实时反馈等功能。
本次设计所控制的轴为以罗克韦尔公司型号为Y-1002-2-H00AA的电动驱动的两根丝杆。丝杆长330mm,每个螺距为5mm,其实物如图1所示。(伺服轴)

系统的架构如下图:

系统的实现:    在硬件上一个完整的伺服系统由控制器、通信网络、驱动器、电动机、执行机构及检测装置组成。其中控制器相当于人的大脑,用来分析各种输入信号(命令和反馈等);通信网络相当于人的神经系统,如SERCOS接口、DeviceNet接口等;而驱动器则像是肌肉所起的作用一样,用于将控制信号进行功率放大,以驱动电动机;电动机相当于手,而人手中的生产工具则是伺服系统的中执行机构(如滚珠丝杆等,将电动机的旋转运动转化为直线运动)。在以上两章系统分析和设计中阐述了系统各个部分的功能和特点,而要实现本次设计的功能的硬件连接如图4.1所示。

最常用指令介绍:本次设计中利用MAJ和MAS指令来实现手动程序的编写。在程序中MAJ(Motion Axis Jog)指令用于点动伺服轴。点动轴的轮廓可设置为按照S形曲线平滑达到设定速度,也可按照梯形曲线达到设定速度,同时该指令可将任何当前轴的运动转换为单纯的点动运动。轴在点动运行过程中,可以使用MAS指令停止该轴,或触发另一个MAJ指令。MAS(Motion Axis Stop)指令用于停止指定物理轴的任意运动,而无需禁止其伺服环(如果伺服环闭合)。对于任何被控制的轴运动均可使用该指令以设定的减速度进行停止,其可选用的停止方式有点动停止方式、齿轮停止等。

程序设计如下:

注:其中的一些中间寄存器为上位机HMI设置用的。可以不考虑!

jingtao

  • 精华:2帖
  • 求助:0帖
  • 帖子:94帖 | 3205回
  • 年度积分:0
  • 历史总积分:20573
  • 注册:2007年10月31日
发表于:2011-01-25 14:18:17
8楼
PLC控制台达伺服电机图片:

LVYUANG

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 79回
  • 年度积分:0
  • 历史总积分:504
  • 注册:2010年4月03日
发表于:2011-01-25 22:06:32
9楼
高手,向你学习!图文并茂,谢谢分享,收藏了。

五花马

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 52回
  • 年度积分:0
  • 历史总积分:290
  • 注册:2006年8月15日
发表于:2011-01-26 14:05:18
10楼

能不能自己写,别乱抄

陈石头

  • 精华:28帖
  • 求助:2帖
  • 帖子:300帖 | 9288回
  • 年度积分:0
  • 历史总积分:54987
  • 注册:2008年3月07日
发表于:2011-01-26 14:42:10
11楼

本人刚刚做的一个伺服马达控制程序,发给大家看看,有不足之处还请大家多多指教!

-、接线图:(草图,有待整理优化)

1、PLC接线图

 

   K1A、K1B---K3B等中间继电器采用固态继电器。

2、伺服控制器接线图

 

伺服控制器为北京欣斯达特数字科技有限公司产品,该MicroStep TX-3H504D驱动器性能如下:

 

二、编程:

myzwlnuokia

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:118
  • 注册:2010年9月16日
发表于:2011-01-26 16:37:43
12楼
感觉好激动!!!没学过伺服控制……学习中

MHZ竹

  • 精华:0帖
  • 求助:9帖
  • 帖子:19帖 | 606回
  • 年度积分:0
  • 历史总积分:2154
  • 注册:2009年11月26日
发表于:2011-01-26 22:54:02
13楼
感觉好激动!!!没学过伺服控制……学习中

woyaokong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 61回
  • 年度积分:0
  • 历史总积分:610
  • 注册:2010年5月26日
发表于:2011-01-27 21:50:55
14楼
好帖子啊收藏了                       

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2011-01-28 15:21:41
15楼

一等奖1名:50MP获得者:陈石头    hh_clei


二等奖3名:10MP获得者:
玻璃的心    rzb123
Piston    topkingjun
林 森     cqu_rockwell

三等奖1名:30积分获得者:jingtao    惊涛骇浪

shuai3982

  • 精华:0帖
  • 求助:4帖
  • 帖子:32帖 | 329回
  • 年度积分:0
  • 历史总积分:729
  • 注册:2009年4月09日
发表于:2011-12-20 19:15:40
16楼

学习 好帖顶上去 收下了

dugang

  • 精华:0帖
  • 求助:9帖
  • 帖子:82帖 | 453回
  • 年度积分:0
  • 历史总积分:1299
  • 注册:2005年4月26日
发表于:2012-01-03 16:46:43
17楼
不知道大家有没有见过用模拟量来控制伺服走长度的,用模拟量控制速度,然后控制器来计数伺服驱动器反馈的脉冲,看起来好像比用脉冲控制的还好呢,

chenshiji2006

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2012-01-05 22:56:15
18楼
西门子200怎么发脉冲···还是没看明白

哈楼147258

  • 精华:0帖
  • 求助:0帖
  • 帖子:17帖 | 122回
  • 年度积分:0
  • 历史总积分:435
  • 注册:2004年10月25日
发表于:2012-06-05 13:07:18
19楼

S7-200没有用高速脉冲端子啊.

bubing4

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 44回
  • 年度积分:0
  • 历史总积分:152
  • 注册:2009年7月20日
发表于:2012-06-17 20:30:10
20楼
回复内容:
对:陈石头关于 本人刚刚做的一个伺服马达控制程序,发给大家看看,有不足之处还请大家多多指教!-、接线图:(草图,有待整理优化)1、PLC接线图    K1A、K1B---K3B等中间继电器采用固态继电器。2、伺服控制器接线图 伺服控制器为北京欣斯达特数字科技有限公司产品,该MicroStep TX-3H504D驱动器性能如下: 二、编程: 内容的回复:

感觉好激动!!!没学过伺服控制……学习中

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页