[西门子] 大神教你如何实现 PLS 指令精准定位控制!

[复制链接]
查看12089 | 回复0 | 2024-8-30 16:21:14 | 显示全部楼层 |阅读模式


一、导读

S7-200 SMART CPU提供了四种开环运动控制方法:

脉冲串输出(PTO):内置在CPU的速度和位置控制。此功能仅提供脉冲串输出,方向和限值控制必须通过应用程序使用PLC中集成的或由扩展模块提供。

脉宽调制(PWM):内置在CPU的速度、位置或负载循环控制。若组态PWM输出,CPU将固定输出的周期时间,通过程序控制脉冲的持续时间或负载周期。可通过脉冲持续时间的变化来控制应用的转速或位置。

运动轴:内置于CPU中,用于速度和位置控制。此功能提供了带有集成方向控制和禁用输出的单脉冲串输出,还包括可编程输入,并提供包括自动参考点搜索等多种操作模式。

运动轴组:支持基于PTO的开环轴组功能,可支持2轴或3轴的直线插补功能,并可以支持通过运动控制向导的Move_Path功能进行多段路径规划观。

西门子S7-200SMART PLC 可使用PLS指令编程使CPU输出高速脉冲。脉冲输出(PLS)指令控制高速输出(Q0.0、Q0.1和Q0.3)提供脉冲串输出(PTO)和脉宽调制(PWM)功能。通过特殊存储器来控制脉冲输出。

二、PLS指令编程应用

下面通过一个简单的案例让大家了解并掌握PLS指令实现定位控制的使用;

案例要求:有一丝杆滑台通过步进电机拖动,已知丝杆螺距为4mm,步进电机转一圈的脉冲为800个脉冲。要求使用PLS指令完成以下定位控制。按下启动,电机从当前位置运行10cm,随时可以手动反向和停止。

使用 PLS 指令编程,以实现 PTO 输出,可按照以下步骤编程:

第一步:设置 PTO 控制字节,以确定使用单段操作或多段操作,是否更新频率或脉冲数;

第二步:如果是单段操作,装载或更新频率值,脉冲数;如果是多段操作,装载包络表起始地址以及包络表每段起始频率值,结束频率值,脉冲数;

第三步:设置 PLS 指令通道, 以确定是 Q0.0、Q0.1 或 Q0.3 PTO 输出;

第四步:沿触发 PLS 指令。

三、使用SM位置组态和控制PTO操作

PLS 指令读取存储于指定 SM 存储单元的数据,并相应地编程 PTO 生成器。

SMB67 控制 PTO0 ,SMB77 控制 PTO1 ,SMB567 控制 PTO2 。PTO 控制寄存器的 SM 单元表介绍了用于控制 PTO 操作的寄存器。可快速参考该表来确定在 PTO/PWM 控制寄存器中放置什么值才能调用想要的操作。

可通过修改 SM 区域(包括控制字节)中的单元,然后执行 PLS 指令,来改变 PTO 的特性。

任何时候都可通过向 PTO 控制字节(SM67.7、SM77.7 或 SM567.7)使能位写入 0,然后执行 PLS 指令,来实现禁止 PTO输出 。输出点将立即恢复为过程映像寄存器控制。

PTO 产生单段脉冲串或者多段脉冲串,需先组态 PTO 控制字节(SMB67、SMB77 和 SMB567)。

PTO/PWM 控制寄存器的 SM 单元如下表 1 所示:



PTO 控制字节(SMB67、SMB77 和 SMB567), 如下表 2 所示:



除组态 PTO 控制字节,应该在执行 PLS 指令前装载或更新脉冲频率,脉冲数。

如果使用多段脉冲串,在执行PLS 指令前还需要装入包络表的起始偏移量和包络表的值。如下表 3 所示:



四、程序功能实现

根据设定距离换算成脉冲之前,需要知道步进电机丝杠转一圈的距离和驱动器的细分。如一圈为4MM,细分为800,设定运行距离为10CM。

分析:10cm=100mm,一圈走4mm,则100mm走100÷4=25圈,已知一圈需要800个脉冲,则10cm需要的脉冲数:25×800=20 000个。

根据这个运算,列出来一个公式,可以在触摸屏上随意的修改走的距离,定义为脉冲计算子程序。完整版程序如下所示:



五、结语

通过以上分享,相信大家已经掌握了S7-200SMART 脉冲输出PLS指令实现定位控制的应用,更多关于脉冲输出指令的应用请扫码观看详细内容




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则