西门子200系列PLC直流步进电机控制方法.docx

上传人:b****4 文档编号:3996871 上传时间:2022-11-27 格式:DOCX 页数:15 大小:501.67KB
下载 相关 举报
西门子200系列PLC直流步进电机控制方法.docx_第1页
第1页 / 共15页
西门子200系列PLC直流步进电机控制方法.docx_第2页
第2页 / 共15页
西门子200系列PLC直流步进电机控制方法.docx_第3页
第3页 / 共15页
西门子200系列PLC直流步进电机控制方法.docx_第4页
第4页 / 共15页
西门子200系列PLC直流步进电机控制方法.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

西门子200系列PLC直流步进电机控制方法.docx

《西门子200系列PLC直流步进电机控制方法.docx》由会员分享,可在线阅读,更多相关《西门子200系列PLC直流步进电机控制方法.docx(15页珍藏版)》请在冰豆网上搜索。

西门子200系列PLC直流步进电机控制方法.docx

西门子200系列PLC直流步进电机控制方法

西门子200系列PLC直流步进电机控制方法

直流步进电机plc控制方法

系统功能概述:

      本系统采用PLC通过步进电机驱动模块控制步进电机运动。

当按下归零按键时,电机1和电机2回到零点(零点由传感器指示)。

当按下第一个电机运行按键时,第一个电机开始运行,直到运行完固定步数或到遇到零点停止。

当按下第二个电机运行按键时,第二个电机开始运行,运行完固定步数或遇到零点停止。

两电机均设置为按一次按键后方向反向。

电机运行时有升降速过程。

PLC输入点I0.0为归零按键,I0.1为第一个电机运行按键,I0.2为第二个电机运行按键,I0.3为第一个电机传感器信号反馈按键,I0.4为第二个电机传感器信号反馈按键。

PLC输出点Q0.0为第一个电机脉冲输出点,Q0.1为第二个电机脉冲输出点,Q0.2为第一个电机方向控制点,Q0.3为第二个电机方向控制点,Q0.4为电机使能控制点。

所用器材:

PLC:

西门子S7-224xpcn及USB下载电缆。

编程及仿真用软件为V4.0STEP7MicroWINSP3。

直流步进电机2个,微步电机驱动模块2个。

按键3个。

24V开关电源一个。

导线若干。

各模块连接方法:

PLC与步进电机驱动模块的连接:

      驱动模块中EN+、DIR+、CP+口均先接3k电阻,然后接24V电源。

      第一个驱动模块CP-接PLC的Q0.0,DIR-接PLC的Q0.2,EN-接PLC的Q0.4

      第二个驱动模块CP-接PLC的Q0.1,DIR-接PLC的Q0.3,EN-接PLC的Q0.4

注意:

      1、PLC输出时电压为24V,故和驱动器模块连接时,接了3k电阻限流。

      2、由于PLC处于PTO模式下只有在输出电流大于140mA时,才能正确的输出脉冲,故在输出端和地间接了200欧/2w下拉电阻,来产生此电流。

(实验室用的电阻功率不足,用200欧电阻时功率至少在24*24/200=2.88w,即用3w的电阻)

      3、PLC与驱动模块连接时,当PLC输出低电平时不能将驱动模块电平拉低,故在EN-和DIR-上接了200欧/2W下拉电阻

驱动模块与电机接法:

      驱动模块的输出端分别与电机4根线连接

电机传感器与PLC连接:

      传感器电源接24v,信号线经过240欧电阻(试验中两个470电阻并联得到)与24v电源上拉后,信号线接到PLC的I0.3和I0.4

打开如下界面:

选择配置s7-200PLC内置PTO/PWM操作,点击下一步,如下图

根据需要选择Q0.0或Q0.1,点击下一步,如下图

选择线性脉冲串输出(PTO),将下方使用高速计数器HSC0前的勾点上,点击下一步,如下图

输入电机此应用项目中最高电机速度(MAX_SPEED)和电机的启动/停止速度(SS_SPEED),默认是100000和5000,修改好了点击下一步,如下图

输入电机加速和减速时间。

默认均为1000ms。

点击下一步,如下图

然后出现如下界面,选择新包络。

      选项中可以选择相对位置和单速连续旋转,由于步进电机有加减速过程,故选择相对位置。

输入步0的目标速度,即运动时的限速,在下方的框中输入结束位置,由于是相对位置,故此处位置即为所要走的距离。

电机绘制包络,右方出现的梯形的图即为速度线。

改变左下角的保罗定义符号名为MOTOR1,点击确认,

然后选择V存储区的地址范围,一般默认即可,点击下一步

点击完成。

这样,通过位置控制向导就生成了4个PTO函数,分别是PTOx_CTRL、PTOx_RUN、PTOx_MAN、PTOx_LDPOS。

       PTOx_CTRL子程序(控制)使能和初始化步进电机或伺服电机的PTO输出。

在程序中仅能使用该子程序一次,并保证每个扫描周期该子程序都被执行。

一直使用SM0.0作为EN输入的输入。

      I_STOP(立即STOP)输入量为一个布尔量输入。

当输入为低电平时,PTO功能正常操作。

当输入变为高电平时,PTO立即终止脉冲输出。

      D_STOP(减速STOP)输入量为一个布尔量输入。

当输入为低电平时,PTO功能正常操作。

当输入变为高电平时,PTO产生一个脉冲串将电机减速到停止。

      DONE输出是一个布尔量输出。

高电平表示CPU已经执行完子程序。

      当Done位为高电平时,Error字节以一个无错误代码或错误代码来报告是否正常完成。

      若在向导中启用了HSC,则C_Pos参数包含以脉冲数表示的模块当前位置。

否则,当前位置将一直为0

       PTOx_RUN子程序(运行包络)命令PLC在一个制定的保罗中执行运动操作,此包络存储在组态/包络表中。

      接通EN位,使能该子程序。

确保EN位保持接通,直至Done位指示该子程序完成。

      接通START参数以初始化包络的执行。

对于每次扫描,当START参数接通且PTO当前未激活时,指令激活PTO。

要保证该命令只发一次,使用边沿检测命令以脉冲触发START参数接通。

      接通参数Abort,命令位控模块停止当前的包络,并减速直至电机停下。

PTOx_MAN子程序(手动模式)使PTO置为手动模式。

这可以是电机在向导中制定的范围内以不同的速度启动、停止和运行。

如果启用了PTOx_MAN子程序,则不应执行其他任何PTOx_RUN指令。

      允许RUN参数,命令PTO加速到指定速度。

即使电机在运行时,也可改变速度参数的值。

禁止参数RUN择命令PTO减速,直至电机停止。

PTOx_LDPOS指令(装载位置)改变PTO脉冲计数器的当前位置值为一个心智。

可以通过该指令为一个运动命令建立一个新的零位置。

      本系统将电机1的PTO设置为Q0.0输出,使用高速计数器HSC0,最高电机速度2000HZ,启动/停止速度100HZ,加速500ms,减速500ms,步0的目标速度2000HZ,总位移8000脉冲,分配存储区为VB0到VB69。

可得到PTO0的包络表如下所示:

//----------------------------------------------------------------

//输出Q0.0的PTO包络表

//----------------------------------------------------------------

VB0   'PTOA'                     //

VW4   54                         //FREQ

VD6   204800                     //SS_SPEED

VD10  4096000                    //MAX_SPEED

VD14  16#04000939                //K_ACC

VD18  16#84FFF6C7                //K_DEC

VB22  1                          //NUMPROF

VW23  25                         //OFFS_0

VB25  4                          //包络0的NUM_SEGS

VB26  0                          //保留。

VB27  0                          //段0的S_STEP

VB28  16#08                      //S_PROP

VD29  +204800                    //SFREQ

VD33  525                        //加速的脉冲数

VB37  0                          //段1的S_STEP

VB38  16#04                      //S_PROP

VD39  +4098089                   //SFREQ

VD43  6948                       //恒速的脉冲数

VB47  0                          //段2的S_STEP

VB48  16#00                      //S_PROP

VD49  -1                         //SFREQ

VD53  526                        //减速的脉冲数

VB57  0                          //段3的S_STEP

VB58  16#10                      //S_PROP

VD59  +204800                    //SFREQ

VD63  1                          //最终减速的脉冲数

VB67  0                          //保留。

VB68  0                          //保留。

VB69  0                          //保留。

 

      由上表可知加速脉冲数为75057,存于VD33中。

恒速脉冲为49881,存于VD43中。

减速脉冲为75061,存于VD53中。

最终的减速的脉冲数为1,存于VD63中。

我们控制步进电机可以通过PTOx_CTRL和PTOx_RUN两个子程序。

电机控制过程中,加减速脉冲数不方便修改,因为线性加减速的指令并不清楚,所以只好修改恒速段的脉冲数。

唯一的限制是,总的脉冲数,必须大于加减速段+最终减速段脉冲数之和,也即恒速段的脉冲不能小于1。

此处总的脉冲数,最小值应为525+526+1+1=1053个脉冲。

当然电机加减速时间如果较小,此脉冲数会变小。

电机2的PTO设置为Q0.1输出,使用高速计数器HSC3,最高电机速度20000HZ,启动/停止速度100HZ,加速500ms,减速500ms,步0的目标速度2000HZ,总位移10000脉冲,分配存储区为VB70到VB139。

可得到PTO0的包络表如下所示:

//----------------------------------------------------------------

//输出Q0.1的PTO包络表

//----------------------------------------------------------------

VB70  'PTOA'                     //

VW74  54                         //FREQ

VD76  204800                     //SS_SPEED

VD80  40960000                   //MAX_SPEED

VD84  16#03000C13                //K_ACC

VD88  16#83FFF3ED                //K_DEC

VB92  1                          //NUMPROF

VW93  25                         //OFFS_0

VB95  4                          //包络0的NUM_SEGS

VB96  0                          //保留。

VB97  0                          //段0的S_STEP

VB98  16#08                      //S_PROP

VD99  +204800                    //SFREQ

VD103 100                        //加速的脉冲数

VB107 0                          //段1的S_STEP

VB108 16#04                      //S_PROP

VD109 +4111824                   //SFREQ

VD113 9797                       //恒速的脉冲数

VB117 0                          //段2的S_STEP

VB118 16#00                      //S_PROP

VD119 -1                         //SFREQ

VD123 102                        //减速的脉冲数

VB127 0                          //段3的S_STEP

VB128 16#10                      //S_PROP

VD129 +204800                    //SFREQ

VD133 1                          //最终减速的脉冲数

VB137 0                          //保留。

VB138 0                          //保留。

VB139 0                          //保留。

      电机1和电机2参数可根据实际需要修改。

使用步骤:

(1)在启动PTO0_RUN之前,计算出恒速段的脉冲数=目标脉数数-加减速脉冲数之和-1,填入包络表中的恒速位置;此系统中电机1恒速脉冲保存在VD43,电机2恒速脉冲数保存在VD113中。

(2)启动PTO0_RUN。

具体程序见附件中步进电机PLC控制.xps

程序流程图如下:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1