一、基本概念
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的习惯,另外最好有一套硬件实物进行实际的接线和编程练习,这样自己水平的会提高很快。
免责声明:文中部分素材来自网络和西门子官方网站,如有侵权请联系作者删除!!! |