产品线频道   >
机器人| PLC| 低压变频器| DCS| 人机界面| 现场总线| 运动控制| 高压变频器| 电机| PAC| 现场仪表| PC-BASED| 机械传动| 传感器

西门子S7-200控制步进电机方法浅析(2)

  • 来源:《PLC&FA》
  • 阅读人次:
  • 发布时间:2012-10-10

首先,通过初始化提令写控制字来定义脉冲串的周期、是否更新等,先编制了一段单脉冲程序如下:

Network 1

LD  I5.0

R    Q0.0, 复位Q0.0

MOVD     0 , SMD72    脉冲串寄存器清零

MOVB    16#85,  SMB67    单段脉冲, 时基周期1ms , 装入脉冲数, 装入周期数

MOVW   500,  SMW68      周期为500ms

MOVD    10000,  SMD72      脉冲数为10000

ATCH   INT0, 19  调用中数事件19

ENI  开中断

PLS  0  执行脉冲输出指令

其次,运行后,步进电机启动工作正常,按着程序设定的周期和脉冲数走完行程, 但单段脉冲受速度的限限制,当速度提高到190m s 时,电机发出吱吱的响声,而不再转动,这是由于电机的启动速度过大,使得电机发生振动,所以单段脉冲只适合速度要求不高的场合,当我们修改了程序采用多段脉冲方式,这里采用三段包络表增加加速和减速斜坡,电机能平稳启动。按指定位置停止,误差±0.1mm 程序如下:

Network 1

LD  I1.0

R  Q0.0, 1  复位Q0.0

MOVB      16#A0,  SMB67      多段脉冲, 时基周期1m s , 装入脉冲数, 装入周期数

MOVW      500,  SMW168        包络表起始地址

MOVB   3, VB500  总段数

MOVW     500,  VW501  一段初始周期

MOVW      -1,  VW503          一段周期增量

MOVD   300, VD505    一段脉冲数

MOVW      200,  VW509        二段初始周期

MOVW      0,  VW511            二段周期增量

MOVD      38900,  VD513   三段脉冲数

MOVW      200,  VW517        三段初始周期

MOVW      1,  VW519        三段周期增量

MOVD   800, VD521  三段脉冲数

ATCH   INT0, 19   调用中断事件19

ENI   开中断

PLS   0   执行脉冲输出指令

调试中发现,当速度升高运行需要紧急停止时,由于负载存在惯性,所以负载发生摆动,如果工艺要求不允许的话,只能以牺牲速度为代价。

5  使用位控向导指令编程

使用位控向导处理PTO脉冲的单段管线和多段管线、脉宽调制、SM位置配置和创建包络表。S7-200有两个PTO/PWM发生器,它们可以产生一个高速脉冲串或者一个脉宽调制波形。一个发生器是数字点Q0.0,另一个发生器是数字输出点Q0.1。一个指定特殊寄存器(SM)位置为每个发生器存储下列数据:一个控制字节(8位),一个计数值(32位无符号数)一个周期或脉宽值(16位无符号数)。

5.1使用SOTE7--Micro/WIN位控向导

使用SOTE7--Micro/WIN位控向导,为PTO操作组态一个内置输出。启动位控向导,可以点击浏览条中的工具图标,然后双击位控向导图标。

(1) 为S7--200PLC选择选项组态板载PTO/PWM 操作。

(2) 选择Q0.0 或Q0.1,组态作为PTO 的输出。

(3) 从下拉对话框中选择线性脉冲串输出(PTO)。

(4) 若您想监视PTO产生的脉冲数目,点击复选框选择使用高速计数器

(5) 在对应的编辑框中输入MAX_SPEED 和SS_SPEED 速度值。

(6) 在对应的编辑框中输入加速和减速时间。

(7) 在移动包络定义界面,点击新包络按钮允许定义包络。选择所需的操作模式。

对于相对位置包络:输入目标速度和脉冲数。然后,您可以点击绘制步按钮,查看移动的图形描述。若需要多个步,点击新建步按钮并按要求输入步信息。对于单速连续转动:在编辑框中输入单速值。若您想终止单速连续转动,点击子程序编程复选框,并输入停止事件后的移动脉冲数。

(8) 根据移动的需要,您可以定义多个包络和多个步。

(9) 选择完成结束向导。

按上述步骤设置完成后,自动形成三个子程序。

5.2PTO-CTRL子程序(控制)

PTO-CTRL子程序(控制)使能和初始化用于步进电机或伺服电机的PTO输出。在您的程序中仅能使用该子程序一次,并保证每个扫描周期该子程序都被执行。一直使用SM0.0作为EN的输入。PTO_x_RUN子程序(运行包络)命令PLC在一个指定的包络中执行运动操作,此包络存储在组态/包络表中。

5.3PTO_x_MAN子程序(手动模式)

PTO_x_MAN子程序(手动模式)使PTO输出置为手动模式。该子程序允许电机以不同的速度启动、停止和运行。当使能PTOx_MAN子程序时,不允许执行其它PTO子程序。

其中PTO-CTRL子程序优先级最高,放在主程序中执行;此子程序中停车有两种方式,(1)I-STOP是立即停车:D-STOP是减速停车,可以根据需要设置;可以连接D-STOP输入点,就可以避免由于惯性引起的负载摆动问题。

分享到
【文章来自米尔自动化网http://www.mirautomation.com/pages/2012-10/n42571.shtml
本文标签: 西门子   S7-200PLC   步进电机  
 三菱电机

热门内容:
工业机器人 S7-200 S7-300 PLC编程入门 自动化产品 DCS控制系统 变频电机 工控机 可编程自动化控制器 温度传感器 HMI