西门子S7-200PLC在驱动步进电机中的应用事例
- 格式:pdf
- 大小:248.05 KB
- 文档页数:8
西门子S7-200驱动步进电机心得•作者:不详•供稿:西门子运动控制部•阅读人次:10•发布时间:2010-1-7•应用领域:1 项目简介某公司有多台薄膜卷绕机需要进行自动化控制改造。
原设备采用机械式计数,卷绕动力采用离合器传动,元件卷绕的起动、停止、圈数控制等均由人工操作控制,因此存在产品参数离散性大、产品质量与生产效率因人而异等不足之处。
工艺要求简述:由于卷制材料是10几微米的薄膜,要求卷轴平稳起动,均匀加速,以使用张力平稳;中间在某些位置需要停顿,作一些必要的处理,再继续卷绕;和起动一样,停顿或停止时,必须均匀减速,保持张力平稳;要求最后圈数准确。
2 控制系统构成很自然地想到S7-200PLC应该能够实现项目要求的控制功能。
S7-200CPU本体已含有高速脉冲输出功能,普通型号的CPU脉冲输出频率达20KHz,而224XP(CN)更是高达100kHz,可以用来驱动步进电机或伺服电机,再由电机直接驱动卷绕主轴旋转,完成工艺所要求的动作。
步进电机在成本上具有优势,但是步进电机的运转平稳性不如伺服电机,而两者的定位精度(圈数)的控制,在本工艺里都可以达到要求。
我们考虑先试用步进电机的方案。
步进电机的驱动,实际上是由相应的步进电机驱动器负责的,所以步进电机的相数齿数等等问题由相应的驱动器解决,选择步进电机要考虑的主要是体积、转矩、转速等,不是本文的重点;PLC向驱动器送的仅为代表速度与位置的脉冲,这里要考虑的是步进电机在规定的转速下是否足够平稳,是否适合作为薄膜卷绕的动力。
我们作了一个模型机进行试验,采用细分型的驱动器,在50齿的电机上达到10000步/转,经17:25齿的同步带减速传动(同时电机的振动也可衰减),结果运转很平稳,粗步确定可以达到工艺要求。
于是正式试制一台,也获得成功,性能达到工艺要求,目前已经按此方案批量进行改造。
CPU选择224XPCN DC/DC/DC,系统构成如下:224XP*1、步进电机*2、细分型驱动器*2、TD200*1、LED显示屏*1、编码器*1。
步进电机是工业自动化过程当中经常用到的一种控制传动机构,它是通过接受输入脉冲,然后每个脉冲转动一定的步距(角度)来完成对执行机构的控制传动的。
使用PLC可以通过特殊功能存储器(SM)或者增加EM253位控模块来控制步进电机,但是使用SM需要熟悉每一位的意义,而且编程烦琐。
如果为PLC增加功能扩展模块,无疑会增加产品成本。
鉴于这些原因并结合本人的实践经验,本文利用STEP 7-Micro/WI N 位置控制向导来实现应用PLC控制步进电机的运动功能。
1 操作步骤[2]使用STEP 7——Micro/WIN位置控制向导,为线性脉冲串输出(PTO)操作组态一个内置输出。
启动位置控制向导,可以点击浏览条中的向导图标,然后双击PTO/PWM图标,或者选择菜单命令工具→位置控制向导。
(1)在位置控制向导对话框中选择“配置S7-200 P LC内置PTO/PWM操作”。
(2)选择Q0.0或Q0.1,组态作为PTO的输出。
(3)从下拉对话框中选择“线性脉冲串输出(PTO)”。
(4)若想监视PTO产生的脉冲数目,点击复选框选择使用高速计数器。
(5)在对应的编辑框中输入最高电机速度(MAX_SPE ED)和电机的启动/停止速度(SS_SPEED)的数值。
(6)在对应的编辑框中输入加速和减速时间。
(7)在移动包络定义界面,点击新包络按钮允许定义包络,并选择所需的操作模式。
a)对于相对位置包络:输入目标速度和脉冲数。
然后,可以点击“绘制包络”按钮,查看移动的图形描述。
若需要多个步,点击“新步”按钮并按要求输入步信息。
b)对于单速连续转动:在编辑框中输入目标速度的数值。
若想终止单速连续转动,点击子程序编程复选框,并输入停止事件后的移动脉冲数。
(8)根据移动的需要,可以定义多个包络和多个步。
(9)选择完成结束向导。
2 应用实例本例通过PLC控制步进电机在车轮自动超声探伤中的应用,进一步说明利用STEP 7-Micro/WIN 位置控制向导来实现利用PLC控制步进电机的具体操作过程。
采用S7-200系列PLC进行步进电机的控制作者:杨洋来源:《科技创新导报》 2012年第8期杨洋(沈阳铁路局科学技术研究所辽宁沈阳 110013)摘要:S7-200系列PLC是一种可编程控制器,用于工业环境下的控制。
本文采用S7-200系列PLC产生高速脉冲,通过步进电机驱动器实现对步进电机的控制,能够实现步进电机的正转和反转,同时可以对步进电机的转速进行控制。
该方法操作简单,参数修改方便,并有很好的可靠性和推广价值。
关键词:PLC 步进电机驱动器控制中图分类号:TM57 文献标识码:A 文章编号:1674-098X(2012)03(b)-0055-02可编程序控制器(Programmable Logic Controller,PLC)目前已经广泛应用于各种机械设备和生产过程的自动控制系统中。
PLC以微处理器为基础,综合了计算机技术、自动控制技术和通信技术,编程方法简单易学,功能强大,性价比比较高。
同时,PLC是为适应工业环境下的应用而设计的控制装置,采取了一系列硬件和软件抗干扰措施,可靠性高,抗干扰能力强大。
PLC采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作指令,并通过数字式、模拟式的输入和输出控制各种类型的机械或生产过程。
PLC主要由CPU模块、输入模块、输出模块和编程器组成。
S7-200是西门子公司生产的小型PLC,可以单机运行,用于替代继电器控制系统,也可以进行联网,用于复杂的自动化控制系统。
同时S7-200具有极高的性价比,应用非常的广泛。
步进电机将脉冲信号转换为相应的位移,如果给一个脉冲信号,步进电机就转动一个角度,或前进一步。
步进电机的输出位移量与输入脉冲个数成正比,其转速与单位时间内输入的脉冲数成正比,其转向与脉冲分配到步进电机的各相绕组的相序有关。
对步进电机的控制主要包括三个方面:即步进电机的转速控制、方向控制和步数控制。
通过控制输出脉冲的数量、频率及电机绕组通电的相序,就可以实现对步进电机的控制。
S7—200PLC的PTO在步进电机位置控制中的应用研究了高速脉冲串输出在步进电机位置控制中的应用,包括应用PLS指令、MAP指令库及位置控制指令向导等方法。
给出了系统构成,说明了各种方法的应用。
对步进电机的位置控制有实际意义。
标签:S7-200;步进电机;位置控制;PTO;MAP;PLS引言作为自动控制系统中的执行元件,步进电机的应用十分广泛,主要原因是步进电机有很多优点,其中它的控制方法比较简单。
步进电机的转速、停止的位置只取决于脉冲信号的频率和脉冲个数。
可以通过控制脉冲频率来控制电机转动的速度和加速度,进行调速;可以通过控制脉冲个数来控制角位移量,进行准确定位。
控制步进电机的方法较多,目前流行的是采用PLC通过步进电机驱动器来控制步进电机。
为了配合步进电机的控制,许多PLC都内置脉冲输出功能,并设置了相应的控制指令,可以很好地对步进电机进行控制。
为了实现对步进电机的开环定位控制,可以通过PLC控制输出脉冲来实现。
本文应用SIEMENS公司S7-200PLC来控制步进电机。
SIEMENS公司S7-200PLC 主要提供了以下几种方式的开环定位控制:脉冲串输出(PTO)、EM253位控模块、自由口通信等。
文章主要探讨PTO这种方式。
1 步进电机位置控制系统1.1 硬件系统步进电机位置控制系统由PLC、步进电机驱动器、步进电机和丝杠组成。
系统选择的PLC为SIEMENS公司CPU226DC/DC/DC型。
選用的步进电机是42H2P4812A4的两相混合式步进电机,该型号的步进电机步矩角为1.8°,相电流1.2A,静转矩4.5kg·cm,额定转速400rmp。
选用的驱动器型号为2MA320,该驱动器的供电电压DC12-36V ,驱动电流0.3-2.0A,细分精度1-128细分,可驱动任何2.0A相电流以下两相、四相混合式步进电机。
由于上述步进电机的相电流为1.2A,驱动器的SW1-SW3分别设置为:ON、OFF、OFF,即输出峰值电流为1.5A,SW5-SW7分别设置为ON、ON、ON,即细分设定为200步/圈。
西门子S7-200在步进,伺服脉冲定位、高速计数、PID回路控制中的应用Siemens编程器S7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。
在这里,和大家一起来讨论S7-200几个使用方面的情况。
1.步进,伺服脉冲定位控制。
在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子S7-200系列PLC怎样来实现这 个功能。
首先,确定使用哪个端口来发脉冲,如采用Q0.0发脉冲,则它的控制字为SMB67,脉冲同期为SMW68,脉 冲个数存放在SMD72中,下面是控制字节的说明:Q0.0 Q0.1 控制字节说明SM67.0 SM77.0 PTO/PWM更新周期值 0=不更新,1=更新周期值SM67.1 SM77.1 PWM更新脉冲宽度值 0=不更新,1=脉冲宽度值SM67.2 SM77.2 PTO更新脉冲数 0=不更新,1=更新脉冲数SM67.3 SM77.3 PTO/PWM时间基准选择 0=1微秒值,1=1毫秒值SM67.4 SM77.4 PWM更新方法 0=异步更新,1=同步更新SM67.5 SM77.5 PTO操作 0=单段操作,1=多段操作SM67.6 SM77.6 PTO/PWM模式选择 0=选择PTO,1=选择PWMSM67.7 SM77.7 PTO/PWM允许 0=禁止PTO/PWM,1=允许这样根据以上表格,我们得出Q0.0控制字:SMB67为:10000101采用PTO输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。
10000101转化为 16进制 为85,有了控制字以后,我们来写这一段程序:根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对 Q0.0来说是SMW68与SMD72)。
当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。
-40-基于S7-200PLC实现步进电机的驱动控制西安工程大学机电工程学院 姜雷杰 邹兵兵 董少伟【摘要】步进电机是一种将电脉冲信号转变为角位移或线位移的的执行元件。
驱动步进电机的方法较多,本文旨在用S7-200PLC通过发送脉冲信号给步进电机的驱动器,由驱动器来驱动步进电机进行工作。
本设计采用S7-200PLC和大功率晶体管实现对步进电机的驱动控制,硬件结构简单可靠,成本较低,实用性较强,具有良好的通用性和应用推广价值。
【关键词】步进电机;S7-200PLC;驱动器;晶体管1.引言步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种家电产品中,例如打印机、磁盘驱动器、玩具、雨刷、机械手臂和录像机等。
此外也广泛应用于各种工业自动化系统中。
因此实现对步进电机良好的驱动控制显得十分必要。
驱动步进电机的方法较多,目前流行的是采用S7-200PLC驱动控制步进电机。
步进电机驱动器可以通过接收S7-200PLC发送的脉冲个数来控制步进电机的位移量,从而达到准确定位的目的;同时可以通过接收S7-200PLC发送的脉冲频率来控制步进电机的速度和加速度,从而达到调速的目的。
许多S7-200PLC都内置了脉冲输出功能,并设置了相应的控制指令,可以很好的对步进电机进行驱动控制。
本文采用西门子公司的CPU226晶体管输出型PLC对步进电机进行驱动控制。
2.样例系统本文的驱动控制过程为:某运货小车在甲、乙两地之间运行(如图1所示),装货及卸货,在此过程中要求小车准确定位和平稳运行。
要想实现上述控制过程,只需对小车的动力装置(步进电机)进行合理的驱动控制即可。
步进电机的驱动控制方法如图2所示。
驱动控制方法是通过上位机设定参数,利用S7-200PLC输出高速脉冲信号,送给大功率管组成的驱动电路,经过步进电机驱动器去控制步进电机的准确定位和平稳运行。
本文采用的PLC 为西门子公司的CPU226DC/DC/DC、驱动器为SH-20403两相混合式步进电机细分驱动器、步进电机型号为42BYG250B,其步距角为1.8°;相电流为1.5A;保持转矩为0.43(N・m)。
西门子S7-200系列PLC在步进电机定位控制中的应用
西门子S7-200系列PLC可以在步进电机定位控制中扮演关键
角色。
步进电机是一种常用于精确位置控制的电机,可以在不使用传感器的情况下实现准确的位置控制。
PLC可以通过控
制步进电机的驱动器,实现对步进电机的定位控制。
PLC可以接收外部输入信号,用于触发步进电机的运动。
这
些信号可以包括启动信号、停止信号、以及指令信号等。
PLC
可以根据不同的输入信号状态,控制步进电机的运动方向和速度。
PLC可以与步进电机控制器进行通信,以发送指令和接收状
态反馈。
PLC通过发送指令,控制步进电机按照指定的步进
角度或者位置移动。
同时,PLC可以接收步进电机控制器的
状态反馈信息,包括是否到达目标位置、是否超出限位等,以便进行适当的控制策略。
PLC可以与外部设备(例如传感器、触发器等)进行联动,
实现更加复杂的步进电机定位控制。
通过接收外部设备的信号,PLC可以根据具体的应用需求,进行逻辑判断和控制操作,
以实现更加灵活和精确的步进电机定位控制。
西门子S7-200系列PLC在步进电机定位控制中具有广泛的应用。
它可以根据各种输入信号状态,控制步进电机的运动方向和速度,实现精确的位置控制。
同时,PLC还可以与步进电
机控制器和外部设备进行通信和联动,实现更加复杂的控制策略。
S7-200CPU本身带有高速脉冲输出功能,特另是224XP(CN)的高速输出频率达到100k Hz,十分适合作为步进电机的驱动脉冲,配以细分型的驱动器,在某些应用场合,效果逼近伺服电机,取得性能和经济性的最佳平衡。
1 项目简介薄膜卷绕机需要进行自动化控制改造。
原设备采用机械式计数,卷绕动力采用离合器传动,元件卷绕的起动、停止、圈数控制等均由人工操作控制,因此存在产品参数离散性大、产品质量与生产效率因人而异等不足之处。
工艺要求简述:由于卷制材料是10几微米的薄膜,要求卷轴平稳起动,均匀加速,以使用张力平稳;中间在某些位置需要停顿,作一些必要的处理,再继续卷绕;和起动一样,停顿或停止时,必须均匀减速,保持张力平稳;要求最后圈数准确。
2 控制系统构成S7-200PLC应该能够实现项目要求的控制功能。
S7-200CPU本体已含有高速脉冲输出功能,普通型号的CPU脉冲输出频率达20KHz,而224XP(CN)更是高达100kHz,可以用来驱动步进电机或伺服电机,再由电机直接驱动卷绕主轴旋转,完成工艺所要求的动作。
步进电机在成本上具有优势,但是步进电机的运转平稳性不如伺服电机,而两者的定位精度(圈数)的控制,在本工艺里都可以达到要求。
我们考虑先试用步进电机的方案。
步进电机的驱动,实际上是由相应的步进电机驱动器负责的,所以步进电机的相数齿数等等问题由相应的驱动器解决,选择步进电机要考虑的主要是体积、转矩、转速等,不是本文的重点;PLC向驱动器送的仅为代表速度与位置的脉冲,这里要考虑的是步进电机在规定的转速下是否足够平稳,是否适合作为薄膜卷绕的动力。
我们作了一个模型机进行试验,采用细分型的驱动器,在50齿的电机上达到10000步/转,经17:25齿的同步带减速传动(同时电机的振动也可衰减),结果运转很平稳,粗步确定可以达到工艺要求。
于是正式试制一台,也获得成功,性能达到工艺要求,目前已经按此方案批量进行改造。
CPU选择224XPCN DC/DC/DC,系统构成如下:224XP*1、步进电机*2、细分型驱动器*2、TD200*1、LED显示屏*1、编码器*1。
2.1 PTO0(Q0.0)输出一路高速脉冲,负责驱动卷绕主轴的旋转;2.2 PTO1(Q0.1)输出一路高速脉冲,负责驱动主轴的水平直线移动;2.3 一个正交增量型编码器装在主轴上,作为卷绕圈数的反馈;2.4 TD200作为人机界面,用于设定参数2.5 一个LED显示屏用于显示实时的卷绕圈数。
在实际生产中,工人需要时时参考卷绕的进度,LED显示比LCD醒目,所以这里放置了一个自制的LED显示屏。
LED屏和PLC的连接方式,可参考本人在2003年的专家论文集中的文章。
3 控制系统完成的功能3.1 控制系统首先要实现的功能,是卷绕的平稳起动、加速、减速、平稳停止。
在新版的S 7-200中,支持高速输出口PTO0/PTO1的线性加/减速,通过MicroWin的向导程序,非常容易实现。
实际上,以目前的情况,线性加减速只能使用向导生成的程序,Siemens没有公开独立可使用的指令。
3.2 使用位置控制向导生成以下四个子程序(仅限CPU内的PTO,不包括专用模块的情况),以PTO0为例:3.2.1 PTO0_CTRL:每周期调用一次,可以控制PTO0的行为;3.2.2 PTO0_MAN:可以控制PTO0以某一频率输出脉冲,并且可以通过程序随时中止(减速或立即中止);3.2.3 PTO0_RUN:运行(在向导中生的)包络,以预定的速度输出确定个数的脉冲,也可以通过程序随时时中止(减速或立即中止)。
3.2.4 PTO0_LDPOS:装载位置用,本例使用相对位置,所以不必装载。
本例的工艺要求,输出脉冲数可变(圈数可设定),又要在工艺允许的情况下尽可能地按指定的速度运行,也要随时能够减速停止,包括人工手动的停车要求。
直接使用PTO0_MAN 和PTO0_RUN都无法直接满足要求,以下来研究配合辅助手段如何实现。
3.3 精确的位置(圈数)控制3.3.1 PTO0_RUN + 中断卷绕定位与圈数控制,达到0.1圈以内的精度即可,以10000步/转的细分驱动器,0.1圈相当于1000脉冲。
假使PTO正以最高100kHz速度输出脉冲,以1ms的时间响应中断,脉冲的误差约为100个,所以从理论上说,中断方式把脉冲误差控制在1000个以下完全可以。
如何实现?我们来看下面一个PTO0_MAN指令执行的示意图:有恒速阶段无恒速阶段当PTO0_MAN指令RUN=1允许脉冲输出时,脉冲序列从最低速(起始速度,本例设为1 00p/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.2 PTO0_RUN + 修改包络参数用向导生成一个单一速度包络,我们来研究自动生成的包络数据结构:PTO0_DATA//输出Q0.0 的PTO 包络表VB1000 'PTOA' //VW1004 54 //FREQ VD1006 10240000 //SS_SPEEDVD1010 204800000 //MAX_SPEEDVD1014 16#02000E69 //K_ACCVD1018 16#82FFF197 //K_DECVB10221 //NUMPROFVW1023 25 //OFFS_0 VB1025 4 //包络 0 的 NUM_SEGSVB1026 0 //保留。
VB1027 0 //段 0 的 S_STEPVB1028 16#08 //S_PROPVD1029 +10240000 //SFREQVD1033 49950 //加速的脉冲数VB1037 0 //段 1 的 S_STEPVB1038 16#04 //S_PROPVD1039 +199707040 //SFREQVD1043 98 //恒速的脉冲数VB1047 0 //段 2 的 S_STEPVB1048 16#00 //S_PROP VD1049 -1 //SFREQ VD1053 49951 //减速的脉冲数VB1057 0 //段 3 的 S_STEPVB1058 16#10 //S_PROP VD1059 +10240000 //SFREQVD1063 1 //最终减速的脉冲数VB1067 0 //保留。
VB1068 0 //保留。
VB1069 0 //保留。
可以看出,一个最简单的包络分为4段(VB1025):段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_RU N + 中断”,安排在Q0.0输出;中断是由高速计数器触发的,所以在Q0.0的向导中使能HC0为作脉冲输出内部反馈,在启动PTO0前使能12#中断“HSC0 CV="PV"”,中断程序样例如下:LD SM0.0R M20.4, 1CALL PTO0_MAN, M20.4, PTO0_V, VB290, VD292DTCH 12主轴的水平直线运动,行程比较固定,调节范围小,使用“PTO1_RUN + 修改包络参数”,安排在Q0.1。
4 体会S7-200是一款是非常优秀的微型控制器,许多功能进行深入研究之后可以做到灵活应用,拓宽其在小型控制领域的应用范围,同时保持较低的应用成本。