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

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

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

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

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

西门子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

将各模块电源、地线接好。

PLC中输入输出各路M对应点均接地,

L+对应点均要接24V电源。

注意PLC右下角24VDCOUTPUT不

要接。

PLC程序介绍:

PLC程序中主要使用向导生成的电机控制函数来控制电机运动。

此向导使用方法如下:

首先打开软件,新建工程,选择工具->位置控制向导…,如下图

|窗口地)帮助QI)

01

指令向导心..

寸F耳去向且rTli

.

蕙as

S7-200Explcrer

TDKeypad。

育i即mr

1“

REL02.

1位置技制向导®...

n器,控制面版®…调制■调器扩展向导.-以太网句导(M)XS-i向导②...因特网向导(B)目胡阿导地)…数据记录向导仕)..一MJ调节控制砌…

网靖

打开如下界面:

选择配置S7-200PLC内置PTO/PWM操作,点击下

步,如下图

 

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

选择线性脉冲串输出(PTO),将下方使用局速计数器HSC0前的

勾点上,点击下一步,如下图

庞腿功工M

性可出于■冲用豪?

为输续ftM置波连操逐配方的项我可个变一或器一可哪To生供期雪P发提周配择冲能件望

串制口

冲慎

脉以,

输出(FIG)>或者脉冲宽度倜制(PWI1)o线姓PTO周姓时枢以g)布输出脉砰翱F徊功能僵棋N以控制周期时旧(CYCLE)和.瞩中赛度(PULSE)-蟀

1>游用蒿里讦噩T.曲奇(W器.宓T首㈱耽g能蒋部都宅虽,无需外部援簇。

Em■■»!

■■■■■W■■■■«■■■■■UBIIIBUIBIIIKUIIBIUlBIlia**■■■■■Bill■■*■■■■IU■■■■IM,1■■I1*1■■■■■111■■■MBI■■■*■■■■■UM■■■■IU■■■■OBI■■■■MBI■■■*■■■■■■Bill■1*1■■■■Ball■■■■,■■■■IAI■■■■OU■■■■■*■■I■■*■■■11■■■■■■1AI■■■■MH■■■■■>■II■■■WU■T

l上一步L下一步f|斓肖:

I

输入电机此应用项目中最高电机速度(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包络表

//

//FREQ

VB0'PTOA'//

VW454

VD6

VD10

VD14

VD18

VB22

VW23

VB25

VB26

VB27

204800

4096000

16#04000939

16#84FFF6C7

25

//SSSPEED

//MAXSPEED

//KACC

//KDEC

//NUMPROF

//OFFS0

〃包络0的NUMSEGS

0〃保留

0//段0的S_STEP

 

VB28

16#08

//SPROP

VD29

+204800

//SFREQ

VD33

525

〃加速的脉冲数

VB37

〃段1的SSTEP

VB38

16#04

//SPROP

VD39

+4098089

//SFREQ

VD43

6948

〃恒速的脉冲数

 

VB47

〃段2的SSTEP

 

//SPROP

VB48

16#00

 

VD49

-1

//SFREQ

VD53

526

〃减速的脉冲数

 

 

VB57

〃段3的SSTEP

 

//SPROP

VB58

16#10

 

VD59+204800

//SFREQ

 

VD631〃最终减速的脉冲数

VB670//保留。

VB680//保留。

VB690//保留。

由上表可知加速脉冲数为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

//SSSPEED

VD80

40960000

//MAXSPEED

VD84

16#03000C13

//KACC

 

 

VD8816#83FFF3ED//K_DEC

VB921//NUMPROF

VB95

〃包络0的NUMSEGS

VB96

〃保留。

VB97

〃段0的SSTEP

VB98

16#08

//SPROP

VD99

+204800

//SFREQ

VD103

100

//加速的脉冲数

VB107

〃段1的SSTEP

 

VB10816#04

 

VB11816#00

VD119-1

VB127

〃段3的SSTEP

 

//SPROP

VB128

16#10

 

VD129

+204800

//SFREQ

 

 

VD133

〃最终减速的脉冲数

 

VB137

〃保留。

VB138

〃保留。

VB139

〃保留。

 

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

使用步骤:

(1)在启动PTO0_RUN之前,计算出恒速段的脉冲数=目标脉数数

-加减速脉冲数之和-1,填入包络表中的恒速位置;此系统中电机1恒速脉冲保存在VD43,电机2恒速脉冲数保存在VD113中。

(2)启动PTO0_RUN。

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

程序流程图如下:

电机诡行

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

当前位置:首页 > 初中教育 > 初中作文

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

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