基于PLC的步进电机控制系统设计
- 格式:pdf
- 大小:525.55 KB
- 文档页数:5
Vol.37No.1Jan.2021赤峰学院学报渊自然科学版冤JournalofChifengUniversity(NaturalScienceEdition)第37卷第1期2021年1月
0引言
在生产制造流水线中袁经常需要使用定位装置
或机械手臂等加工设备来实现生产元件的组装袁尤
其是对于精度要求较高的组装器件袁更需要根据控
制要求袁选取高精度的电机进行精确控制来减小误
差遥本设计采用西门子S7-200系列的PLC来控制
步进电机[1,2]袁西门子S7-200PLC具有逻辑性强尧编
程控制简单的特点[3,4]袁而步进电机可以通过驱动脉
冲来控制电机的角度和速度袁进而达到了减小误差
和精确控制的目的遥
1系统总体设计
基于PLC控制的步进电机电路图如图1所
示遥控制电路主要由三个部分构成袁第一部分是电
路的核心处理单元袁由西门子S7-200系列PLC构
成袁本设计就是通过设置PLC高速脉冲发生器的
参数来产生频率不同的高速脉冲从而实现电机控
制曰第二部分是由步进电机驱动板构成袁步进电机
驱动板主要用来给步进电机提供相应的时序电流
和驱动电压曰第三部分是由步进电机构成的执行机
构袁有了足够电压和电流的步进电机经过PLC传
输来的不同频率尧不同脉冲数的控制信号来达到对
自身运行速度及角度的调节袁实现了步进电机的驱动遥
2系统硬件设计
2.1PLC概述
以前袁工业控制主要都是人工手动控制袁成本
高还不稳定遥近年来袁越来越多可靠性高袁实用性强
的智能控制器投入到工业生产中袁可以有效减低成
本袁还可以使工业生产稳定化遥PLC就是其中优秀
可靠的产品之一遥
PLC是一种数字运算智能设备[5]袁主要由输入
模块尧中央处理模块尧存储器尧通信接口模块尧输出
模块尧拓展接口模块尧电源等硬件部分组成遥PLC的
核心是中央处理单元袁它可以在内部执行各种运
算袁计时以及计数等操作的指令袁并将运算后的指
令通过相应的输出接口实现对外部受控单元的控
制遥
2.2PLC工作过程
PLC的工作过程是描述PLC从上电初始状态
到完整的运行完整个程序并产生相应输出的过程袁
主要分为以下五个阶段遥渊1冤内部处理阶段袁PLC检查中央处理器并且
复位监视定时器袁之后完成其他内部工作遥渊2冤通信服务阶段袁PLC响应编程器输入的命
令尧更新编程器袁并且可能与一些智能模块进行通
信遥渊3冤输入处理阶段袁所有输入端子的状态被
PLC顺序读取袁并将读取的信息存入映像寄存器
中遥此时袁输入映像寄存器刷新遥渊4冤程序处理阶段袁按照先上后下袁先左后右的
顺序袁对梯形图中的程序进行扫描袁然后进行逻辑基于PLC的步进电机控制系统设计
王勋
渊赤峰学院物理与智能制造工程学院袁内蒙古赤峰024000冤
摘要院本设计以西门子公司的S7-200可编程逻辑器为中央处理模块袁以两相步进电机为控制对象袁
介绍了西门子S7-200PLC的控制原理和系统总体设计方法袁并从软件设计方面详细地讲解了如何用PLC
的移位指令和高速脉冲输出指令实现对步进电机的控制遥
关键词院PLC曰两相步进电机曰步进电机驱动模块
中图分类号院TP23文献标识码院A文章编号院1673-260X渊2021冤01-0063-05
收稿日期院2020-11-
19图1PLC控制步进电机电路示意图
63--.com.cn. All Rights Reserved.运算袁运算结果存入相关的映像寄存器中遥如果遇
到程序跳转指令袁就会根据条件判断并且跳转到指
定的地址遥渊5冤输出刷新阶段袁将所有输出映像寄存器中
的状态转存到输出锁存器中袁然后输出端输出驱动
信号遥
本设计以西门子S7-200PLC为核心处理器件,
设计了一个两相步进电机的手动调速尧自动变速尧
角位移控制和正反转控制的驱动系统遥在系统输入
信号部分袁由输入按键I0.0控制步进电机慢速运
行袁由输入按键I0.1控制步进电机快速运行袁由输
入按键I0.2控制步进电机自动运行袁由输入按键
I0.3控制步进电机运行方向曰在系统输出信号部
分袁由Q0.0输出信号控制驱动板的脉冲信号控制袁
由Q0.1输出信号控制驱动板的正反转信号控制袁
由Q0.3输出信号控制驱动板的使能端遥
2.3步进电机驱动板部分
TB6560步进电机驱动板工作电压直流10V-
35V袁其采用6N137高速光电耦合袁保证高速不失
真曰可以有效地实现对负载电路的欠电压保护袁过
载保护和长时间电流过大的保护袁适合额定电流低
于3A的步进电机遥对于多相步进的电机的运行通
常是需要多相具有时序控制的电流来驱动的袁而
PLC不具备专门的时序电流控制输出结构袁所以在
PLC驱动步进电机时袁需要加入步进电机驱动板遥
2.4步进电机部分
步进电机是依据脉冲信号的上升沿进行运作
的电子元件遥一般在理想情况下袁电机的转速尧转动
的圈数只取决于告诉脉冲信号的周期和脉冲数袁并
且不受负载的影响遥当步进驱动器接收到一个脉冲
信号的上升沿时袁它就会按照固定方向旋转一个角
度袁称为野步距角冶遥可以通过控制脉冲个数来控制
步进的角度袁也就是转动的圈数袁从而达到可以准
确定位的目的曰同时可以通过控制脉冲的周期来控
制步进电机的旋转速度遥
步进电机的应用不像普通的直流和交流电机
那样袁一般情况下会比普通电机复杂一些袁但是普
通的直流尧交流电机对于转动的速度和转过的角度
不能实现精准的控制袁而现在工业中对于精准控制
的要求越来越高袁所以这就使得步进电机的需求量
与日俱增袁在各个国民经济领域都有应用遥
本设计采用的是42型四线二相混合式步进电
机袁是一种精度和成本相对较高袁结构相对复杂的
执行元件袁步进电机是依据脉冲信号的边沿进行动
作的电子元件[6]遥在额定输入和额定负载环境下袁步进电机的每一步角位移都是固定不变的袁每一步的
触发都是由脉冲信号来控制的袁所以脉冲信号的频
率决定了步进电机的转速袁脉冲信号的个数决定了
步进电机的旋转圈数袁从而就可以实现对步进电机
及电机所带动的负载的精确控制遥
3系统软件设计
通常意义上来说袁可编程逻辑控制器软件程序
大体上可以分为以下三类袁即控制主程序部分袁子
程序部分和中断服务子程序部分袁本设计主要是由
主程序和子程序两部分组成袁在自动调速控制功能
程序设计部分袁加入了中断服务子程序袁下面以手
动调速控制和自动调速控制为例来说明本设计的
程序部分遥
3.1主程序部分
主程序是指可编程逻辑控制器中程序开始执
行的部分袁可以作为独立的加工程序使用袁并且主
程序可以调用子程序袁而不被任何子程序所调用袁
是可编程逻辑控制器程序的中心部分遥而本设计中
的主程序主要是由逻辑控制部分和调用子程序部
分组成遥
以主程序图2为例袁I0.0表示逻辑常开触点袁
当I0.0端输入为低电平时袁逻辑常开触点保持断开
状态袁Q0.0输出端无效曰当I0.0端输入为高电平
时袁逻辑常开触点转换为闭合状态袁Q0.0输出端有
效袁使得Q0.0输出端执行逻辑清零操作袁同时
SBR_0使能端EN输入有效袁主程序调用SBR_0子
程序指令遥子程序调用指令说明见表1遥
3.2子程序部分
在程序设计过程中袁经常会有一些特定运算或
功能需要反复使用袁例如本例中的调速控制尧正反
转控制等操作袁可以把这些特定功能的程序编写成
子程序袁从而达到减少主程序的扫描时间和袁增加
程序的易读性和调试的便捷性的目的遥
3.2.1
数据传送指令图2子程序调用
梯形图操作数指令说明
常数院N的范围渊0~N冤此处N代表子程序的编号袁根据需要调用即可遥当使能端EN=1有效时袁就可调用子程序SBR_N
遥表1子程序调用指令格式科学技术
64--.com.cn. All Rights Reserved.数据传送指令可以将数据在各个存储单元之
间传送袁并且数据值在传送工程中是保持不变的遥
传送指令可用于机内数据的流转和生成袁也可用于
存储单元的清零尧程序的初始化等场合遥
不同数据类型的传送指令只能传送相对应类
型的数据袁一般传送数据的类型包括字节传送尧字
传送尧双字传送以及实数传送遥渊1冤字节传送指令MOVB
图3中MOV_B为梯形图表示方式袁在图中院
EN为使能端袁IN为传送数据输入端渊IB尧QB尧VB尧
MB尧SMB尧SB尧LB尧AC尧*VD尧*LD尧*AC尧常数等操作
数冤袁OUT为数据输出端渊IB尧QB尧VB尧MB尧SMB尧SB尧
LB尧AC尧*VD尧*LD尧*AC尧等操作数冤袁ENO为指令和
传送状态位遥
MOVB传送指令的功能是当使能端EN=1时袁
将在IN端的一个8位字节数据传送到MOVB指
令的OUT端袁OUT指定字节单元的地址位置遥渊2冤字传送指令MOVW
图4中MOV_W为梯形图表示方式袁在图中院
EN为使能控制输入端袁IN为传送数据输入端渊IW尧
QW尧VW尧MW尧SMW尧SW尧T尧C尧LW尧AIW尧AC尧*VD尧
*LD尧*AC尧常数等操作数冤袁OUT为数据输出端渊IW尧QW尧VW尧MW尧SMW尧SW尧T尧C尧LW尧AQW尧AC尧
*VD尧*LD尧*AC等操作数冤袁ENO为指令和传送状
态位遥渊3冤双字传送指令MOVDW
图5中MOV_DW为梯形图表示方式袁在图
中院EN为使能控制输入端袁IN为传送数据输入端渊ID尧QD尧VD尧MD尧SMD尧SD尧LD尧HC尧AC尧&VB尧&IB尧
&QB尧&MB尧&SB尧&T尧&C尧&SMB尧&AIW尧&AQW尧
*VD尧*LD尧*AC尧常数等操作数冤袁OUT为数据输出
端渊ID尧QD尧VD尧MD尧SMD尧SD尧LD尧AC尧*VD尧*LD尧
*AC等操作数冤袁ENO为指令和传送状态位遥3.2.2高速脉冲输出指令PLS
在S7-200PLC中袁每种主机最多提供两个高
速脉冲发生器袁其中一个发生器分配在数字输出端
Q0.0袁另一个分配在Q0.1遥
高速脉冲发生器发生高速脉冲时仅由Q0.0端
和Q0.1端输出遥高速脉冲输出有PTO和PWM两
种输出形式院PTO是普通高速脉冲袁PWM是宽度可
调脉冲遥本设计主要用到PTO遥高速脉冲串输出
PTO用来输出指定数量的方波袁这样可以更好地控
制脉冲的周期和个数遥同时袁为了成功驱动步进电
机袁我们还需要一些能提供高速脉冲输出的指令渊如表2冤遥
不同的高速脉冲发生器都对应不同的特殊寄
存器袁且对应数量不一致遥一般的寄存器包括控
制字节尧状态字节寄存器和参数值寄存器遥各个寄
存器的功能如表3院
为了标明响应操作的状态袁PLC在PTO方式
下袁在每个高速脉冲输出时都设置了状态位袁而这
些状态位可以作为判断条件来响应操作遥状态字节
中各状态位的功能如下院
Q0.0院当状态字节在范围SM66.0~SM66.3时袁
通常表示无意义遥
当状态字节为SM66.4时袁PTO包络增量计
算错误并且终止袁此时0=无错误曰1=终止遥
当状态字节为SM66.5时袁PTO
包络由于用户图3MOV_B
图4MOV_W
图5MOV_DW梯形图操作数指令说明
常数院0渊=Q0.0冤或1渊=Q0.1冤在高速输出渊Q0.0和Q0.1冤上控制脉冲串输出渊PTO冤和脉宽调制渊PWM冤功能
遥表2高速脉冲输出指令
Q0.0Q0.1功能说明
SMB66SMB76状态字节袁PTO方式下袁可以实时跟随脉冲序列的输出状态
SMB67SMB77控制字节袁决定PTO/PWM脉冲类型的输出
SMW68SMW78周期值袁字型袁PTO/PWM的周期值袁范围2~65535ms或10~65535us
SMW70SMW80脉宽值袁字型袁PWM的脉宽值袁范围0~65535ms或滋s
SMD72SMD82脉冲数袁双字型袁PTO的脉冲数袁范围1~4294967295
SMB166SMB176段号袁当存在多段管线时袁PTO进行中的每段的编号表3相关特殊标志位寄存器功能表科学技术
65--.com.cn. All Rights Reserved.