电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

西门子S7-200PLC控制步进电机定位系统案例详解_顺序流程图

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/8/4

西门子S7-200PLC控制步进电机定位系统案例详解 

1 引言

PLC输出的集成脉冲可通过步进电机进行定位控制。关于定位控制,调节和控制操作之间存在一些区别。步进电机不需要连续的位置控制,而在控制操作中得到应用。在以下的程序例子中,借助于CPU214所产生的集成脉冲输出,通过步进电机来实现相对的位置控制。虽然这种类型的定位控制不需要参考点,本例还是粗略地描述了确定参考点的简单步骤。因为实际上它总是相对一根轴确定一个固定的参考点,因此,用户借助于一个输入字节的对偶码(Dual coding)给CPU指定定位角度。用户程序根据该码计算出所需的定位步数,再由CPU输出相关个数的控制脉冲。

2 系统结构

如图1所示。

西门子S7-200PLC控制步进电机定位系统案例详解 

图1 系统结构

3 硬件配置

 

 

如表1所示。

4 软件结构

4.1 PLC的输入信号与输出信号

PLC的部分输入信号与输出信号,以及标志位如表2所示。

4.2 系统软件设计

PLC的程序框图如图2所示。

 

4.3 初始化

在程序的第一个扫描周期(SM0.1=1),初始化重要参数。选择旋转方向和解除联锁。

4.4 设置和取消参考点

如果还没有确定参考点,那么参考点曲线应从按“START”按扭(I1.0)开始。CPU有可能输出最大数量的控制脉冲。在所需的参考点,按“设置/取消参考点”开关(I1.4)后,首先调用停止电机的子程序。然后,将参考点标志位M0.3置成1,再把新的操作模式“定位控制激活”显示在输出端Q1.0。

如果I1.4的开关已激活,而且“定位控制”也被激活(M0.3=1),则切换到“参考点曲线”参考点曲线。在子程序1中,将M0.3置成0,并取消“定位控制激活”的显示(Q1.0=0)。此外,控制还为输出最大数量的控制脉冲做准备。当再次激活I1.4开关,便在两个模式之间切换。如果此信号产生,同时电机在运转,那么电机就自动停止。

实际上,一个与驱动器连接的参考点开关将代替手动操作切换开关的使用,所以,参考点标志能解决模式切换。

4.5 定位控制

如果确定了一个参考点(M0.3=1)而且没有联锁,那么就执行相对的定位控制。在子程序2中,控制器从输入字节IBO读出对偶码方式的定位角度后,再存入字节MB11。与此角度有关的脉冲数,根据下面的公式计算:

N=φ/360°×S

式中:N-控制脉冲数

φ-旋转角度

S-每转所需的步数

该程序所使用的步进电机采用半步操作方式(S=1000)。在子程序3中循环计算步数,如果现在按“START”按钮(I1.0),CPU将从输出端Q0.0输出所计算的控制脉冲个数,而且电机将根据相应的步数来转动,并在内部将“电机转动”的标志位M0.1置成1。

在完整的脉冲输出之后,执行中断程序0,此程序将M0.1置成0,以便能够再次起动电机。

4.6 停止电机

按“STOP”(停止)按扭(I1.1),可在任何时候停止电机。执行子程序0中与此有关的指令。

5 程序和注释

//标题:用脉冲输出进行定位控制

//主程序

LD SM0.1

//仅首次扫描周期SM0.1才为1。

R M0.0,128

//MD0至MD12复位

ATCH 0,19

//把中断程序0分配给中断事件19(脉冲串终止)

ENI

//允许中断

//脉冲输出功能的初始化

MOVW 500,SMW68

//脉冲周期T=500us

MOVW 0,SMW70

//脉冲宽度为0(脉冲调制)

MOVD 429496700,SMD72

//为参考点设定的最大脉冲数

//设置逆时针旋转

LDN M0.1 //若电机停止

A I1.5 //且旋转方向开关=1

S Q0.2,1 //则逆时针旋转(Q0.2=1)

//设置顺时针旋转

LDN M0.1 //若电机停止

AN I1.5 //且旋转方向开关=0

R Q0.2,1 //则逆时针旋转(Q0.2=0)

//联锁

LD I1.1

//若按“STOP”(停止)按钮

S M0.2,1 //则激活联锁(M0.2=1)

//解除联锁

LDN I1.1

//若“START”(启动)按钮松开

AN I1.0

//且“STOP”(停止)按钮松开

R M0.2,1 //则解除联锁(M0.2=0)

//确定操作模式(参考点定位控制)

LD I1.4

//若按“设置/取消参考点”按钮

EU //上升沿

CALL 1 //则调用子程序1

//启动电机

LD I1.0

//若按“START”(启动)按钮

EU //上升沿

AN M0.1 //且电机停止

AN M0.2 //且无联锁

AD≥ SMD72,1

//且步数≥1,则

MOVB 16#85,SMB67

//置脉冲输出功能(PTO)的控制位

PLS 0 //启动脉冲输出(Q0.0)

S M0.1,1

//“电机运行”标志位置位(M0.1=1)

//定位控制

LD M0.3

//若已激活“定位控制” 操作模式

AN M0.1 //且电机停止

CALL 2 //则调用子程序2

//停止电机

LD I1.1

//若按“STOP”(停止)按钮

EU //上升沿

A M0.1 //且电机运行,则

CALL 0 //则调用子程序0

MEND //主程序结束

//子程序1

SBR 0 //子程序0停止电机

MOVB 16#CB,SMB67

//激活脉宽调制

PLS 0 //停止输出脉冲到Q0.0

R M0.1,1

//“电机运行”标志位复位(M0.1=0)

RET //子程序0结束

SBR1

//子程序1,“确定操作模式”

LD M0.1 //若电机运行

CALL 0

//则调用子程序0,停止电机

//申请“参考点曲线”

LD M0.3

//若已激活“定位控制”,则

R M0.3,1

//参考点标志位;复位(M0.3=0)

R Q1.0,1

//取消“定位控制激活”信息(Q1.0=0)

MOVD 429496700,SMD72

//为新的“参考点曲线”设定最大的脉冲数。

CRET

//条件返回到主程序。

//申请“定位控制”

LDN M0.3

//若未设置参考点(M0.3=0),则

S M0.3,1

//参考点标志位置位(M0.3=1)

S Q1.0,1

//输出“定位控制激活”信息(Q1.0=1)

RET //子程序1结束

//子程序2

SBR2 //子程序2,“定位控制”

MOVB IB0,MB11

//把定位角度从IBO拷到MD8的最低有效字节MB11。

R M8.0,24

//MB8至MB10清零

DIV 9,MD8

//角度/9=q1+r1

MOVW MW8,MW14

//把r1存入MD12

MUL 25,MD8

//q1×25→MD8

MUL 25,MD12

DIV 9,MD12

// r1×25/9= q2+r2

CALL 3

//在子程序3中循环步数

MOVW 0,MW12 //删除r2

+D MD12,MD8

//把步数写入MD8

MOVD MD8,SMD72

//把步数传到SMD72

RET //子程序2结束

//子程序3

SBR3 //子程序3,“循环步数”

LDW≥MW12,5 //如果r2≥5/9,则

INCW MW14 //步数增加1。

RET

//子程序3结束

//中断程序0,“脉冲输出终止”

INT0 //中断程序0

R M0.1,1

//“电机运行”标志位复位(M0.1=0)

RET //子程序0结束

6 结束语

通过对硬件和软件的合理设计,用较为价廉的西门子S7-200系列PLC作为核心控制部件,构成的定位系统能够达到精确定位的目的。特别应指出的是通过灵活、巧妙的应用PLC的指令系统,可使系统实现高精度定位。

Tags:步进电机,定位系统,S7-200  
责任编辑:admin
相关文章列表
西门子PLC编程实现瞬时流量和累计流量的计算的例子 累积流量计算
WinCC 与S7-200 SMART CPU 的 OPC 通信
西门子S7-200PLC如何和Wincc通讯  OPC适用领域
西门子S7-200SMART modbus_INIT块无port口管脚  PORT0和PORT1
西门子S7-200 PLC系统中的数据及其格式
西门子plc S7-200 CPU 224XP参数及接线图
西门子PLCS7-200/S7-200SMART Modbus地址问题应用解析
西门子plc S7-200实现小车往返运动的程序梯形图实例
S7-200仿真汉化版下载和教程 西门子S7-200系列PLC仿真软件使用教
西门子S7-200 PLC全自动洗衣机课程设计 PLC洗衣机毕业设计
西门子plc S7-200按下启动按钮指示灯点亮,按钮使用计数器和计时
西门子S7-200SMARTPLC循环走马灯如何编写 plc跑马灯程序
使用S7-200编写的一个货物进出的梯形图实例编程 仓库进出货实例梯
昆仑通态触摸屏TPC7062kx和西门子s7-200 cpu224cn通信设置
西门子S7-200 PLC控制运料小车往返运动梯形图实例
基于昆仑通态MCGS与西门子S7-200 PLC的四路抢答器
西门子PLC S7-200模拟量扩展模块EM235测量温度和监视指定温限
西门子S7-200SMART PLC编写的步进电机控制程序梯形图
西门子plc S7-200与模拟量模块EM231的采集电流信号发生器梯形图实
西门子S7-200 plc模拟量转换程序详解 公式及子程序梯形图 反向计
西门子S7-200模拟量使用中的16个基本问题,一定要搞清楚
西门子plc模拟量模块EM231的拨码开关及使用指南 S_ITR和S_RTI 以
西门子plc S7-200 300 400各指示灯含义的详解
西门子plc 移位寄存器位指令应用案例——顺启逆停,SHRB
实验十七 西门子S7-200PLC的移位寄存器指令在波浪式喷泉程序中的
实验十三 西门子S7-200PLC 两台PLC主从式通信
西门子plc S7-200的表用法中填表FILL_N和查表详解
西门子S7-200 PLC的模拟量I/O映像寄存器(AI/AQ)功能及地址分
PLC几种常见的连接口和通讯协议, PLC通讯接口
西门子plc S7-200 port0 port1有什么区别
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询