PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 14488|回复: 0

S7-1200运动控制:通过PTO控制步进电机

[复制链接]
发表于 2024-7-23 09:35:46 | 显示全部楼层 |阅读模式
一、基本概念

1.运动控制是指通过伺服机构(如电机、液压泵或线性执行机构等)来控制机械运动部件的位置或速度。

S7-1200 PLC能够完成运动控制的基础是它集成了高速计数器和高速脉冲输出。在运动控制过程中,CPU输出高速脉冲和方向信号,并将其送至电机的驱动设备,驱动设备将该信号处理后传送给电机,从而控制电机以一定速度运动到指定位置。

2.高速脉冲串输出(PTO):占空比为50%的脉冲串,主要用于速度和位置控制。将输出脉冲的个数作为位置给定值以实现定位控制,改变定位脉冲的输出频率进而改变运动的速度。

3.宽度可调脉冲输出(PWM):占空比可调的脉冲串,用户可以控制脉冲的周期和脉宽。可用于直接驱动调速系统。

4.步进电机:将脉冲信号转换成线位移或角位移的电机。每来一个脉冲,电机转动一个角度,带动机械装置移动一小段距离。

特点:(1)来一个脉冲,转一个步距角;(2)控制脉冲频率,可控制电机转速;(3)改变脉冲顺序,可改变转动方向;(4)角位移量或线位移量与脉冲数成正比。

5.步距角:每来一个脉冲,电机转过的角度。

6.圈脉冲:转子转一圈所需要的脉冲数。

7.螺距:丝杠螺纹相邻两牙在中径线上对应两点的轴向距离。(即电机转一圈丝杠滑台移动的距离。)

比如:两相步进电机步距角一般为1.8度,一周为360度,则可求出两相步进电机圈脉冲数为200个。

为了提高精度,可以通过步进驱动器上的拨码开关来调节细分,比如选择8细分,则转一圈就需要脉冲数:200x8=1600个。如果电机转一圈,丝杆滑台移动4mm,若发16000个脉冲,电机转10圈,走40mm,从而实现定位。

二、运动控制系统的构成



控制器



驱动器



电机:步进电机或伺服电机


三、运动控制方式

根据S7-1200连接驱动方式不同,分成三种运动控制方式:

(1)PTO控制方式(脉冲串输出,开环,最多4个轴)

PTO控制方式通过CPU向驱动器发送高速脉冲信号来实现对驱动器的控制。目前,S7-1200 PLC所有版本的CPU都支持PTO控制方式,一个S7-1200 PLC最多可以控制4台驱动器。

(2)PPROFINET控制方式(通信,闭环,最多16轴)

PROFINET控制方式可以使S7-1200 PLC连接驱动器,它们之间通过PROFIdrive报文进行通信。硬件版本为4.1以上的CPU都支持PROFINET控制方式。

(3)模拟量控制方式(闭环,最多8轴)

在S7-1200 PLC中,模拟量控制方式是以模拟量输出信号作为驱动器的速度给定,进而实现驱动器的速度控制。

备注:所有1200都支持脉冲控制方式和通信方式,4.1版本及以上的1200PLC才能用模拟量控制。

四、实例:S7-1200通过PTO控制步进电机。

(一)所用到的硬件如下:

1)PLC:S7-1214C DC/DC/DC必须是晶体管输出型,版本4.2;

2)步进驱动器(品牌不限);



3)步进电机(品牌不限)和丝杠直线运动滑台;





硬件接线如下图



(二)设置轴的组态参数

1)通过博图软件创建一个新的项目(如项目名称:PTO控制步进电机),根据PLC硬件型号添加新设备,这里为CPU 1214C DC/DC/DC,版本4.4 。



2)双击PLC的以太网口,设置IP地址,这里设置为192.168.2.200



3)双击CPU,在脉冲发生器PTO/PWM选项中设置信号类型为PTO,脉冲输出为Q0.0,方向输出为Q0.1。



4)在“工艺对象”中,双击“新增对象”,添加TO_PositioningAxis,默认名称“轴_1”。



轴工艺对象有两个:

①TO_PositioningAxis(单个运动)

②To_CommandTable(几个运动的组合,叫做曲线)



(1)组态:用来设定参数;

(2)调试:硬件接线以后,不编写程序的情况下,先用调试功能测试各方面是否正常,相当于仿真,如果正常,再编写程序;

(3)诊断:在调试或者实际运行过程中,遇到故障,可以在诊断里检查故障信息。

5)双击【组态】,从上往下的顺序,开始设置参数。

第一、设置【常规】参数:



①轴名称:定义该工艺轴的名称,用户可以采用系统默认值也可以自行定义。

②驱动器:选择通过PTO(CPU输出高速脉冲)的方式控制驱动器

③测量单位:Portal软件提供了几种轴的测量单位,包括:脉冲,距离和角度。距离有mm(毫米)、m(米)、in(英寸inch)、ft(英尺foot);角度是°(360度)

如果是线性工作台,一般都选择线性距离:mm(毫米)、m(米)、in(英寸inch)、ft(英尺foot)为单位;

旋转工作台可以选择°(360度)。不管是什么情况,用户也可以直接选择脉冲为单位。

『注意』测量单位是很重要的一个参数,后面轴的参数和指令中的参数都是基于该单位进行设定的。

第二、设置【驱动器】参数



第①:选择脉冲发生器,Pulse_1至Pulse_4,一共有4路脉冲输出。



第②信号类型:一共有四种信号类型,一般选择第一种:脉冲A和方向B。

第一种:脉冲A和方向B:表示一个Q点发脉冲,一个Q点控制方向;

第二种:脉冲上升沿A和脉冲下降沿B:表示占用两个脉冲口,比如

Q0.0发脉冲代表电机正转,00.1发脉冲代表电机反转。

第三种:A/B相移:也就是常见的AB正交信号,占用两个脉冲口,当A相

超前B相1/4周期时,电机正转;当B相超前A相1/4周期时,电机反转。

第四种:A/B相移-四倍频:是AB相移频率的4倍。



第③脉冲输出:可以自定义,也可以采用系统默认,注意,不同点的频率有区别。

第④激活方向输出:是否使能方向控制位。如果在第②步脉冲上升沿A和脉冲下降沿B或PTO(A/B相移)或是PTO(A/B相移-四倍频),则该处是灰色的,用户不能进行修改。

第⑤方向输出:用某一个Q点的位状态来控制电机方向。



第三、设置【机械】参数

电机每转的脉冲数和电机每转的负载位移,要根据驱动装置、步进电机系统计算所得。所允许的旋转方向一般选双向。注意【反向信号】不要勾选,如果勾选会出现正反向颠倒。



第五步:设置【位置限制】

【硬限位】由位置开关或光电开关来实现控制本文下限位(左限位)地址I0.0,上限位(右限位)地址I0.1,选择高电平。【软限位】在工程现场一般不使用。



第六步:设置【动态】中【常规】参数和【急停】



①速度限制的单位:“脉冲/s”、“转/分钟”、“mm/s”,对步进电机控制一般选择“mm/s”。

②最大转速:用来设定电机最大转速。最大转速由PTO输出最大频率和电机允许的最大速度共同限定。

③启动/停止速度:启动和停止的速度,一般设置小一点,比如10mm/s。

④加速度:从启停速度到最大速度的速率。(不用修改)

⑤减速度:从最大速度到启停速度的速率(不用修改)

⑥加速时间:设定了加速度,则加速时间自动生成;

⑦减速时间:设定了减速度,则减速时间自动生成。

一般直接修改加速时间和减速时间,此时加速度和减速度会自动生成。



⑧激活加加速限值:如果激活了加加速度限值,则不会突然停止轴加速和轴减速,而是比较平滑。

⑨滤波时间:如果用户先设定了加加速度,则滤波时间由软件自动计算生成。



急停减速时间:从最高速度到停止的时间,可设置为0.1S。

第七步:设置【回原点】参数,输入归位(原点)地址I0.2。



(三)步进电机的控制指令



第一条指令:启动/禁用轴MC_Power



启用、禁用轴,M0.0=1启用轴,M0.0=0禁用轴。也可以把Enable直接写成1。





第二条:指令回原点MC_Home



回原点模式Mode:一般选择模式3。

(1)Mode=0,直接绝对式回原点,执行该模式轴不运行,当前的位置认为是原点。

(2)Mode=1,直接相对式回原点,将当前轴位置的偏移值设置为参数“Position”的值。原点位置当前位置+“Position”的值。

(3)Mode=2,被动回原点期间,运动控制指令“MC_Home”不会执行任何回原点运动。用户需通过其它运动控制指令,执行这一步骤中所需的行进移动。检测到回原点开关时,轴即回原点。需要设置原点限位开关。

(4)Mode=3,主动回原点,必须设置原点限位开关。

第三条指令:绝对位置指令MC_MoveAbsolute

在MD20里写入30.0,MD24里写入20.0,按下10.4时,电机以20mm/s的速度走到正向30mm处。



第四条指令:轴的相对定位MC_MoveRelative

在MD28里写入30.0,MD32里写入20.0,每触发一次10,5,电机以30mm/s的速度往正向(向右)走20mm。如果MD32中改为-20mm,往负方向(向左)走20mm。



第五条指令:以设定速度移动轴MC_MoveVelocity

在MD36中写入30.0,触发一次10.6,电机以30mm/s的速度一直正向运行,直到碰到极限位置,自动停止,并报故障。如果改为-30mm/s,则一直往负方向运行,直到碰到极限位置,自动停止。





第六条指令:确认故障,重新启动工艺对象MC_Reset

当轴出现错误,需要通过这条指令进行复位,否则无法进行下去。触发一次10.7即可复位。



第七条指令:在点动模式下移动轴MC_MoveJog

JogForward:正向点动;JogBackward:反向点动。

注意:点动时要一直触发,不能用沿触发。





读者在指令学习过程中要养成用帮助键F1的习惯,另外最好有一套硬件实物进行实际的接线和编程练习,这样自己水平的会提高很快。

免责声明:文中部分素材来自网络和西门子官方网站,如有侵权请联系作者删除!!!

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-8 08:57 , Processed in 0.042870 second(s), 25 queries .

快速回复 返回顶部 返回列表