蚁象公司成功将S7-200 PLC应用在伺服电机位置控制

   日期:2020-04-29     浏览:87    评论:0    
核心提示:1。引言     随着自动化水平的不断提高,越来越多的工业控制场合需要精确的位置控制。因此,如何更方便、更准确地实现位置控制是工业控制领域内的一个重要问题。位置控制的精确性主要取决于伺服驱动器和运动控制器的精度。

1.引言

     随着自动化水平的不断提高,越来越多的工业控制场合需要精确的位置控制。因此,如何更方便、更准确地实现位置控制是工业控制领域内的一个重要问题。位置控制的精确性主要取决于伺服驱动器和运动控制器的精度。高端的运动控制模块可以对伺服系统进行非常复杂的运动控制。但在有些需要位置控制的场合,其对位置精度的要求比较高,但运动的复杂程度不是很高,这就没有必要选择那些昂贵的高端运动控制系统。

     S7-200系列PLC是一种体积小、编程简单、控制方便的可编程控制器,它提供了多种位置控制方式可供用户选择,因此,如何利用该系列PLC实现对伺服电机运动位置较为精准的控制是本文的研究重点。

2.基本控制系统

     伺服系统分为液压伺服系统、电气-液压伺服系统以及电气伺服系统。本文主要讨论了电气伺服系统中的交流伺服系统,其基本组成为交流伺服电机、编码器和伺服驱动器。交流伺服系统的工作原理是伺服驱动器发送运动命令,驱动伺服电机运动,并接收来自编码器的反馈信号,然后重新计算伺服电机运动目标位置,从而达到精确控制伺服电机运动。

     本伺服系统中选用Exlar公司生产的GSX50-0601型伺服直线电动缸。该电动缸由普通伺服电机和一个行星滚珠丝杠组成,用来实现将旋转运动转变为直线运动。此外,选用Xenus公司生产的XenusTM型伺服驱动器。它可以利用RS.232串口通信方式和外部脉冲方式实现位置控制。

     一般来说,一个伺服系统运转需要配置一个上位机,所以本系统采用西门子S7-200 PLC作为上位机控制器。通过高速脉冲输出、EM253位置控制模块、自由口通信三种方式控制伺服电机运动。

3.高速脉冲输出模式

     西门子CPU224XP配置两个内置脉冲发生器,它有脉冲串输出(PTO)和脉冲宽度调制输出两种脉冲发生模式可供选择。这两个脉冲发生器的最大脉冲输出频率为100 kHz。在脉冲串输出方式中,PLC可生成一个50%占空比脉冲串,用于步进电机或伺服电机的速度和位置的控制。

3.1 硬件构成

     图1为高速脉冲输出方式的位置控制原理图。控制过程中,将伺服驱动器工作定义在脉冲+方向模式下,Q0.0发送脉冲信号,控制电机的转速和目标位置;Qo,发送方向信号,控制电机的运动方向。伺服电动缸上带有左限位开关LIM一、右限位开关LIM+以及参考点位置开关REF。三个限位信号分别连接到CPU224XP的I0.0~I0.2三个端子上,可通过软件编程,实现限位和找寻参考点。

                                         图1 位置控制原理图

3.2 程序设计

     高速脉冲串输出(PTO)可以通过Step 7 Micro/WIN的位置控制向导进行组态,也可通过软件编程实现控制。PTO输出方式没有专门的位置控制指令,只有一条脉冲串输出指令,而且在脉冲发送过程中不能停止,也不能修改参数。为解决以上问题,可以设置脉冲计数值等于10(或更小),并能使脉冲发送指令PLS处于激活状态。这样,就可以在任一脉冲串发送完之后修改脉冲周期。

     图2为高速脉冲输出方式位置控制流程图。控制思路为:通过PTO模式输出,可以控制脉冲的周期和个数;通过启用高速计数器HSC,对输出脉冲进行实时计数和定位控制,以控制伺服电机的运动过程。

                   图2 位置控制流程图

4. EM253位置控制模块

     EM253位置控制模块是西门子S7-200的特殊功能位置控制模块,它能够产生脉冲串用于步进电机与伺服电机的速度和位置的开环控制。

4.1 硬件构成

     如图3所示为EM253位置控制原理图,定义伺服驱动器工作在脉冲+方向模式下。P0口发送脉冲,P1口发送方向,DIS端硬件使能放大器,并同时清除放大器错误。LIM-、LIM+、REF分别为电机左限位、右限位以及参考点。

                        图3 EM253位置控制原理图

4.2 程序设计

     EM253位置控制模块可以通过Step 7-Micro/WIN进行向导配置,配置完成后系统将自动生成子程序,编程简单、可轻松实现手动、自动、轨迹运行模式。由于EM253属于开环控制,不能很好地反馈电机实际运动情况。因此,利用伺服驱动器本身的差分输出信号,通过伺服驱动器软件设置,反馈给PLC,实现闭环位置控制。但由于直线伺服电动缸与PLE可允许发送接收信号存在一定差别,因此,需要对输入到PLC的信号进行电平的转化以及降低伺服驱动器发送的反馈脉冲频率。PLC对输入脉冲进行累加,从而得到电机的实际运转位置与运转速度,其脉冲计数程序如下。
①计数器初始化程序
LD      SMO. 1                      //首次扫描时
MOVB    16#FC, SMB47    //SMB47 =16#F4,SMB47为高速计数器1的控制字节
HDEF   1,9                        //将HSC1配置为正交模式
MOVD   0, SMD48               //设置HSCI的新初始值为0
MOVD   20000,SMD52    //设置HSCI的新预设值为20 000
HSC    I                                 //激活高速计数器I
②脉冲计数程序
LD     SMO. 0
MOVD    HC1,VD600        //将高速计数器1所记数值存储在VD600中
DTR     VD600, VD610        // VD601〕中的整数转化为实数,存人VD610
/R      SOOO,VD610              // VD610除以5000存入VD610 ,  5001〕为电机旋转一周编码器发送脉冲数
*R      2.54, VD610                //VD610乘以2.54存人VD610 ,    2.54为电机旋转一周移动的距离

5. RS-232串口通信方式

5.1 硬件构成

  西门子CPU22

     当S7-200系列PLC工作在自由口通信模式下时,一般通过CPU模块的集成接口进行通信。CPU集成接口采用了PPI硬件规范,其接口为RS-485串口,因此,当S7-200系列PLC的CPU与带有RS-232标准接口的计算机或伺服驱动器连接时,需要配套选用S7-200 PLC的PC/PPI转换电缆或一个RS-232/RS-485转换器。

5.2  PLC与伺服系统通信

5.2.1 报文构成

  S-200 PLC在无协议通信方式工作时,不需要任何通信协议,通信参数需要根据与其进行通信的伺服驱动器的通信格式进行设定。本伺服系统选用的Xe-nus伺服驱动器可通过RS-232与PLC利用ASCII码进行通信,其ASCII码消息命令格式如下:

  <命令代码><命令具体参数>

  其中:<命令代码>为一个单字母代码;<命令具体参数>表示电机所要执行的任务;为一个回车返回字符,表示命令结束。如:s r0x2A 21表示设置伺服控制器工作在可编程控制模式。

5.2.2 程序设计

  程序设计时,将伺服驱动器工作定义在可编程位置模式。该模式支持实时更改伺服电机的运动速度、位置,通过RS-232接收来自PLC的ASCII码命令,执行运动。部分程序如下:
①初始化程序
LD      SMO. 1                         //首次扫描
MOVB    9, SMB30                 //设置自由端口0        通信方式SMB30=9、8位数据位、9600、PPI
MOVB    188, SMB87            //设置自由端口。接收信息控制5MB87 =188
MOVB    13,SMB89             //设置自由端口0         结束字符SMB89=13,即结束字符=
MOVW  0, SMW90                 //设置自由端口0          空闲超时SMB90=0,信息接收始终处于有效
MOVW200, SMW92              //设置自由端口0信息超时SMB92 =200 ms
MOVB   255, SMB94             //设置自由端口0接收字符最大数SMB94=255
ATCH    INT_0,9                 //发送完成触发中断事件0
ENI                                          //允许中断
②发送信息程序
LDN     VD3501.1                 // V D3501.1为接收延迟, 自由端口0没有处于接收延迟时
A                  SM4. 5                //自由端口0处于空闲状态,SM4.5 =1
AB=        VB18, 7                  //命令字节VB18 =7,即要求设置运动目标位置
SCPY       "s  r0xca',VB3100        //"s  r0xca',复制到VB3100,     "s  r0xca'为设置运动目标位置命令SCAT       B3600, VB3100               // VB360()内的目标位置值连接到设置目标位置命令后
SCAT    VB3190, VB3100                //VB3190内的结束字节连接到VB3100后;
XMT     VB3100, 0                              //通过自由端口0发送命令至伺服驱动器
③发送完成中断程序(接收信息)
LD      SM0.0                               //SM0.0总是为1
S       SM87.7, 1                          //置SM87. 7=1,SM87.7为允许接收信息位
RCV     VB3200, 0                     //通过自由端口0接收信息至VB3200

6.三种控制方式的分析比较

  上文分别从硬件结构与软件编程等方面,详细介绍了三种伺服电机位置控制方式。为了更好地理解这三种方式的差异,我们从软件与控制结果的角度作如下分析比较。

①软件编程

  脉冲串输出方式可以轻松实现一些简单的位置与速度控制,具有硬件要求简单、可取代EM253并节省系统硬件配置等功能。但在编写较为复杂的运动程序时(如绝对运动需要确定电机运动的原点位置),由于步骤繁琐,故不能采用该方法加以实现。

②控制精度

  高速脉冲输出方式和EM253位置控制方式均属于开环位置控制,它们只负责发送脉冲,但当伺服电机或伺服驱动器出现故障时,PLC或EM253都没得到相应的反馈信息,仍然在不断向外发送脉冲;而采用通信控制方式则是在每次发送命令结束时,伺服驱动器均会对发送的命令做出应答。

③位置控制结果

  伺服电机的速度等于PLC或EM253的输出脉冲频匆电机每转一圈发送的脉冲数,或直接通过RS-232串口发送ASCII码控制。由于S7-200系列PLC(除CPU224XP)高速脉冲输出口的最高频率为20 kHz,EM253的最高输出频率为200 kHz,RS-232串口通信控制方式则是发送ASCII码设定运动速度。因此,对于要求高速运动,或高控制精度的伺服驱动器系统,RS-232串口通信控制方式最优,而高速脉冲输出方式则不能满足要求。

  采用高速脉冲输出控制和EM253位置控制方式时,伺服驱动器工作在脉冲+方向模式下,而处于通信控制方式时,伺服驱动器工作在可编程位置控制模式下。高速脉冲输出方式不能根据实际状况实时更改伺服电机运动速度与目标位置,EM253位置控制方式只能在手动模式下实时更改速度,采用通信控制方式时,当伺服驱动器设置电机在可编程位置控制模式下运动时,可通过RS-232串口发送ASCII码命令,实时更改速度和目标位置。
7.结束语

  高速脉冲输出方式主要应用于对速度及位置控制精度要求均不高的简单位置控制中,从而节省硬件资源。EM253位置控制方式编程简单,它支持高速脉冲输出、支持线性的加减速功能、提供可组态的测量系统,可以使用工程单位如毫米,支持绝对、相对和手动的位控方式,提供连续操作。RS-232串口通信方式在三种位置控制方式中最具优势,它支持闭环控制,可实时调节速度、位置等;但由于伺服驱动器型号的不同,所以并不是所有的伺服驱动器都支持串口通信方式。
 
  在实际应用中,将EM253位置控制方式应用于注塑机注气系统中,经过反复实验,可实现手动控制、半自动控制、全自动控制等三种控制方式,编程简单。触摸屏操作界面简洁、操作灵活、工作可靠稳定。

  经过详细介绍与分析比较,三种位置控制方式各有优缺点,各有其自身所适合的应用场合,这为今后类似的位置控制提供了一定的参考价值。
 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服