plc控制步进电机程序.docx

上传人:b****2 文档编号:2392830 上传时间:2023-05-03 格式:DOCX 页数:14 大小:139.80KB
下载 相关 举报
plc控制步进电机程序.docx_第1页
第1页 / 共14页
plc控制步进电机程序.docx_第2页
第2页 / 共14页
plc控制步进电机程序.docx_第3页
第3页 / 共14页
plc控制步进电机程序.docx_第4页
第4页 / 共14页
plc控制步进电机程序.docx_第5页
第5页 / 共14页
plc控制步进电机程序.docx_第6页
第6页 / 共14页
plc控制步进电机程序.docx_第7页
第7页 / 共14页
plc控制步进电机程序.docx_第8页
第8页 / 共14页
plc控制步进电机程序.docx_第9页
第9页 / 共14页
plc控制步进电机程序.docx_第10页
第10页 / 共14页
plc控制步进电机程序.docx_第11页
第11页 / 共14页
plc控制步进电机程序.docx_第12页
第12页 / 共14页
plc控制步进电机程序.docx_第13页
第13页 / 共14页
plc控制步进电机程序.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

plc控制步进电机程序.docx

《plc控制步进电机程序.docx》由会员分享,可在线阅读,更多相关《plc控制步进电机程序.docx(14页珍藏版)》请在冰点文库上搜索。

plc控制步进电机程序.docx

plc控制步进电机程序

plc控制步进电机程序

·采用绝对位置控制指令(DRVA),大致阐述FX1S控制步进电机的方法。

由于水平有限,本实例采用非专业述语论述,请勿引用。

·FX系列PLC单元能同时输出两组100KHZ脉冲,是低成本控制伺服与步进电机的较好选择!

·PLS+,PLS-为步进驱动器的脉冲信号端子,DIR+,DIR-为步进驱动器的方向信号端子。

·所谓绝对位置控制(DRVA),就是指定要走到距离原点的位置,原点位置数据存放于32位寄存器D8140里。

当机械位于我们设定的原点位置时用程序把D8140的值清零,也就确定了原点的位置。

·实例动作方式:

X0闭合动作到A点停止,X1闭合动作到B点停止,接线图与动作位置示例如左图(距离用脉冲数表示)。

·程序如下图:

(此程序只为说明用,实用需改善。

·说明:

·在原点时将D8140的值清零(本程序中没有做此功能)

·32位寄存器D8140是存放Y0的输出脉冲数,正转时增加,反转时减少。

当正转动作到A点时,D8140的值是3000。

此时闭合X1,机械反转动作到B点,也就是-3000的位置。

D8140的值就是-3000。

·当机械从A点向B点动作过程中,X1断开(如在C点断开)则D8140的值就是200,此时再闭合X0,机械正转动作到A点停止。

·当机械停在A点时,再闭合X0,因为机械已经在距离原点3000的位置上,故而机械没有动作!

·把程序中的绝对位置指令(DRVA)换成相对位置指令(DRVI):

·当机械在B点时(假设此时D8140的值是-3000)闭合X0,则机械正转3000个脉冲停止,也就是停在了原点。

D8140的值为0

·当机械在B点时(假设此时D8140的值是-3000)闭合X1,则机械反转3000个脉冲停止,也就是停在了左边距离B点3000的位置(图中未画出),D8140的值为-6000。

 

·一般两相步进电机驱动器端子示意图:

·FREE+,FREE-:

脱机信号,步进电机的没有脉冲信号输入时具有自锁功能,也就是锁住转子不动。

而当有脱机信号时解除自锁功能,转子处于自由状态并且不响应步进脉冲。

·V+,GND:

为驱动器直流电源端子,也有交流供电类型。

·A+,A-,B+,B-分别接步进电机的两相线圈。

此主题相关图片如下:

此主题相关图片如下:

PLC在步进电机驱动系统中的应用

  一、引言

步进电机是一种常用的执行元件,它可将电脉

冲信号变换为转轴的角位移。

由于它的总的位移量

是严格等于输入的指定脉冲数,或其平均转速严格

正比于输入脉冲的频率,同时在其工作频段内,可以

从一种运动状态稳定地转换到另一种运动状态,因

此步进电机具有能精确位移,精确定位,且无累积误

差等特点,从而广泛应用于数字定位控制中。

步进拖动是多元件系统,包括:

输入指令脉冲的

程控装置、环形分配器、功放器和执行元件步进电

机。

而步进电机驱动源是由环形分配器,功放器两

部分组成,故步进拖动的结构图如图1所示。

输入脉冲的

程控装置

驱动源步进电机

图1 步进拖动结构图

FPO型PLC指令丰富,执行速度快。

除一般的

指令功能外,它还具有高速计数功能,可高速计数脉

冲数,最高频率可达到10kHz,该功能共有四种工作

方式:

双相输入、加计数、减计数和加/减计数。

同时

还有两个脉冲输出口即Y0和Y1,可直接输出脉冲,

这样就不需要专用的脉冲控制器,而直接利用Y0

和Y1即可实现对驱动源的脉冲控制。

故用FPO型

PLC控制步进电机不仅可靠性强,编程简单,而且具

有很高的性价比。

  二、控制步进电机的硬件设计

本文以我们已设计完成的滚子球基面磨床为

例。

根据机床的动作要求,步进电机控制部分的硬

件设计如图2所示。

输入端的编号分别为:

X1为快进信号。

当X1闭合后步进电机执行粗

磨进给。

X2为粗磨结束信号。

该信号发出后步进电机

即开始执行精磨进给。

X3为精磨结束信号。

该信号发出后即表示精

磨结束,开始进行光磨。

X4为尺寸到信号。

收到该信号后,PLC发出步

进电机反转信号,使步进电机返回。

X5为近原点信号。

当工作台移到此处时该输

入点闭合,步进电机减速运行直至到原点处,将原点

图5 WDT及MOV的应用程序

  五、结束语

影响PLC控制系统可靠性的因素多种多样,本文

从软件设计的角度提出了提高其可靠性的一些行之

有效的方法。

应用这些方法一般无需增加I/O点数

或设备成本。

只要我们在进行软件开发时,充分考虑

到系统可能出现的故障,并设计出相应的防范程序。

这些故障应该说是可以避免的,控制系统的运行将更

加稳定。

因此,我们认为,这些设计方法是提高PLC

控制系统可靠性的最经济,最实用的措施之一。

图2 步进电机控制原理图

到位开关X0闭合,步进电机停转。

输出端的Y0口输出脉冲信号至驱动源,从而

控制步进电机运行的速度。

Y2口输出方向控制信

号,控制步进电机的正反转。

  三、FPO型PLC控制步进电机的软

件设计

  一般地,步进电机工作均要经过四个阶段,即加

速、高速运行,减速、低速运行直至停止。

其脉冲频

率特性如图3所示。

其中OA段为加速阶段,速度

由0增加到fH;AB段为高速运行阶段;BC段为减速

运行阶段,速度由fH减到fL;CD段为低速运行阶

段,直至到D点停止。

图3 脉冲频率特性

FPO型PLC位控指令为F168,但在使用该指令

之前,必须首先确定各参数值,这些参数包括步进电

机的最低频率、加减速时间、最高频率以及输出脉冲

数,这个过程称为建立参数表,它的格式如表1所

示。

其中控制码的格式为:

表1 参数表

S控制码

S+1原始速度Fmin

S+2最高速度Fmax

S+3加速/减速时间

S+4

S+5输出脉冲数

S+6K0

  此处的软件设计仅以尺寸到后步进电机原点返

回一段程序为例,其它部分的程序相类似。

当尺寸到信号发出即X4吸合后,步进电机需

原点返回,于是按DT100为首地址的参数区内的参

数运行。

当运行到近原点处即X5吸合时,将

K700000装入高速计数器HSC的经过值寄存器

DT9044中。

按参数表设定当经过值为K700000时

电机减速,于是电机减速运行,当运行到原点压到

X5时X5吸合,而X5是高速计数器的硬件复位信

号,于是将高速计数器HSC复位,停止脉冲输出,电

机停转,实现了步进电机的原点返回,梯形图及参数

表如图4所示。

图4 控制梯形图及参数表

表1 参数表

S控制码

S+1原始速度Fmin

S+2最高速度Fmax

S+3加速/减速时间

S+4

S+5输出脉冲数

S+6K0

  此处的软件设计仅以尺寸到后步进电机原点返

回一段程序为例,其它部分的程序相类似。

当尺寸到信号发出即X4吸合后,步进电机需

原点返回,于是按DT100为首地址的参数区内的参

数运行。

当运行到近原点处即X5吸合时,将

K700000装入高速计数器HSC的经过值寄存器

DT9044中。

按参数表设定当经过值为K700000时

电机减速,于是电机减速运行,当运行到原点压到

X5时X5吸合,而X5是高速计数器的硬件复位信

号,于是将高速计数器HSC复位,停止脉冲输出,电

机停转,实现了步进电机的原点返回,梯形图及参数

表如图4所示。

图4 控制梯形图及参数表

S7-200CPU本身带有高速脉冲输出功能,特另是224XP(CN)的高速输出频率达到100kHz,十分适合作为步进电机的驱动脉冲,配以细分型的驱动器,在某些应用场合,效果逼近伺服电机,取得性能和经济性的最佳平衡。

1项目简介

薄膜卷绕机需要进行自动化控制改造。

原设备采用机械式计数,卷绕动力采用离合器传动,元件卷绕的起动、停止、圈数控制等均由人工操作控制,因此存在产品参数离散性大、产品质量与生产效率因人而异等不足之处。

工艺要求简述:

由于卷制材料是10几微米的薄膜,要求卷轴平稳起动,均匀加速,以使用张力平稳;中间在某些位置需要停顿,作一些必要的处理,再继续卷绕;和起动一样,停顿或停止时,必须均匀减速,保持张力平稳;要求最后圈数准确。

2控制系统构成

S7-200PLC应该能够实现项目要求的控制功能。

S7-200CPU本体已含有高速脉冲输出功能,普通型号的CPU脉冲输出频率达20KHz,而224XP(CN)更是高达100kHz,可以用来驱动步进电机或伺服电机,再由电机直接驱动卷绕主轴旋转,完成工艺所要求的动作。

步进电机在成本上具有优势,但是步进电机的运转平稳性不如伺服电机,而两者的定位精度(圈数)的控制,在本工艺里都可以达到要求。

我们考虑先试用步进电机的方案。

步进电机的驱动,实际上是由相应的步进电机驱动器负责的,所以步进电机的相数齿数等等问题由相应的驱动器解决,选择步进电机要考虑的主要是体积、转矩、转速等,不是本文的重点;

PLC向驱动器送的仅为代表速度与位置的脉冲,这里要考虑的是步进电机在规定的转速下是否足够平稳,是否适合作为薄膜卷绕的动力。

我们作了一个模型机进行试验,采用细分型的驱动器,在50齿的电机上达到10000步/转,经17:

25齿的同步带减速传动(同时电机的振动也可衰减),结果运转很平稳,粗步确定可以达到工艺要求。

于是正式试制一台,也获得成功,性能达到工艺要求,目前已经按此方案批量进行改造。

CPU选择224XPCNDC/DC/DC,系统构成如下:

224XP*1、步进电机*2、细分型驱动器*2、TD200*1、LED显示屏*1、编码器*1。

2.1PTO0(Q0.0)输出一路高速脉冲,负责驱动卷绕主轴的旋转;

2.2PTO1(Q0.1)输出一路高速脉冲,负责驱动主轴的水平直线移动;

2.3一个正交增量型编码器装在主轴上,作为卷绕圈数的反馈;

2.4TD200作为人机界面,用于设定参数

2.5一个LED显示屏用于显示实时的卷绕圈数。

在实际生产中,工人需要时时参考卷绕的进度,LED显示比LCD醒目,所以这里放置了一个自制的LED显示屏。

LED屏和PLC的连接方式,可参考本人在2003年的专家论文集中的文章。

3控制系统完成的功能

3.1控制系统首先要实现的功能,是卷绕的平稳起动、加速、减速、平稳停止。

在新版的S7-200中,支持高速输出口PTO0/PTO1的线性加/减速,通过MicroWin的向导程序,非常容易实现。

实际上,以目前的情况,线性加减速只能使用向导生成的程序,Siemens没有公开独立可使用的指令。

3.2使用位置控制向导生成以下四个子程序(仅限CPU内的PTO,不包括专用模块的情况),以PTO0为例:

3.2.1PTO0_CTRL:

每周期调用一次,可以控制PTO0的行为;

3.2.2PTO0_MAN:

可以控制PTO0以某一频率输出脉冲,并且可以通过程序随时中止(减速或立即中止);

3.2.3PTO0_RUN:

运行(在向导中生的)包络,以预定的速度输出确定个数的脉冲,也可以通过程序随时时中止(减速或立即中止)。

3.2.4PTO0_LDPOS:

装载位置用,本例使用相对位置,所以不必装载。

本例的工艺要求,输出脉冲数可变(圈数可设定),又要在工艺允许的情况下尽可能地按指定的速度运行,也要随时能够减速停止,包括人工手动的停车要求。

直接使用PTO0_MAN和PTO0_RUN都无法直接满足要求,以下来研究配合辅助手段如何实现。

3.3精确的位置(圈数)控制

3.3.1PTO0_RUN+中断

卷绕定位与圈数控制,达到0.1圈以内的精度即可,以10000步/转的细分驱动器,0.1圈相当于1000脉冲。

假使PTO正以最高100kHz速度输出脉冲,以1ms的时间响应中断,脉冲的误差约为100个,所以从理论上说,中断方式把脉冲误差控制在1000个以下完全可以。

如何实现?

我们来看下面一个PTO0_MAN指令执行的示意图:

有恒速阶段

无恒速阶段

当PTO0_MAN指令RUN=1允许脉冲输出时,脉冲序列从最低速(起始速度,本例设为100p/s,很小,可以认为0)线性加速,加到指定速度speed后保持匀速,当收到减速停止RUN=0命令时,线性减速,至最低速后停止。

所以,我们只要在脉冲输出前计算出停止指令执行的位置,并在此位置设置中断以便执行减速停止指令,就可保证输出的序列脉冲个数在要求的误差范围内。

计算过程:

本例加速和减速的斜率是相同的,比较简单,如果两个斜率不同,计算稍麻烦一点,原理差不多。

3.3.1.1用向导生成一个最高速单速包络,从生成的PTO0_DATA中找出加速和减速脉冲数(可以参考3.3.2节的描述),如果加减速斜率相同,这两个数应该是一样的,由于计算精度的关系,差几个脉冲也属正常。

这个数据在程序中可以作为常数使用。

3.3.1.2如果目标脉冲数大于加速和减速脉冲数之和,表示脉冲输出可以加速到最高速,有恒速阶段,那么中断位置=目标脉冲数-减速脉冲数;

3.3.1.3如果目标脉冲数不大于加速和减速脉冲数之和,无恒速阶段,包络变成一个等腰三角形(两边斜率相同的情况),那么中断位置=目标脉冲数/2。

3.3.1.4更进一步,水平恒速的速度可变,就象本案的情况,卷绕速度是可设定的,而且这个速度受机械/电机最高限速、薄膜最高线速的限制,取三者中的最小值,然后才能确定加速到该速度所需的脉冲数,通过简单的数学计算即可获得。

3.3.2PTO0_RUN+修改包络参数

段0:

加速段,加速脉冲数在VD1033

段1:

恒速段,恒速脉冲数在VD1043

段2:

减速段,减速脉冲数在VD1063

段3:

最终减速脉冲数,VD1063。

依我的经验看,这个最终减速脉冲数始终为1。

在向导中,只能生成有限的包络,如果目标脉冲数任意的,我们只好修改包络里面的数据了。

加速段和减速段的脉冲数不方便改,因为线性加减速的指令并不清楚,所以只好修改恒速段的脉冲数。

实践证明,修改恒速段的脉冲数,可以非常容易且准确地控制输出脉冲数。

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

使用步骤:

3.3.2.1在启动PTO0_RUN之前,计算出恒速段的脉冲数=目标脉数数-加减速脉冲数之和-1,填入包络表中的恒速位置;

3.3.2.2启动PTO0_RUN。

3.4在本项目的设备改造中,主轴卷绕的圈数、中间起停点的变化范围大,使用“PTO0_RUN+中断”,安排在Q0.0输出;

中断是由高速计数器触发的,所以在Q0.0的向导中使能HC0为作脉冲输出内部反馈,在启动PTO0前使能12#中断“HSC0CV="PV"”,中断程序样例如下:

LDSM0.0

RM20.4,1

CALLPTO0_MAN,M20.4,PTO0_V,VB290,VD292

DTCH12

主轴的水平直线运动,行程比较固定,调节范围小,使用“PTO1_RUN+修改包络参数”,安排在Q0.1。

4体会

S7-200是一款是非常优秀的微型控制器,许多功能进行深入研究之后可以做到灵活应用,拓宽其在小型控制领域的应用范围,同时保持较低的应用成本。

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2