CN110855213B - 一种可编程逻辑控制器高速脉冲输出干扰的补偿方法 - Google Patents
一种可编程逻辑控制器高速脉冲输出干扰的补偿方法 Download PDFInfo
- Publication number
- CN110855213B CN110855213B CN201911120338.XA CN201911120338A CN110855213B CN 110855213 B CN110855213 B CN 110855213B CN 201911120338 A CN201911120338 A CN 201911120338A CN 110855213 B CN110855213 B CN 110855213B
- Authority
- CN
- China
- Prior art keywords
- motor
- dec
- plc
- time slice
- acc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/20—Controlling the acceleration or deceleration
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
- H02P8/14—Arrangements for controlling speed or speed and torque
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
- H02P8/36—Protection against faults, e.g. against overheating, step-out; Indicating faults
Abstract
本发明涉及一种可编程逻辑控制器高速脉冲输出干扰的补偿方法,基于梯形加减速的算法,按照时间片分割法对加、减速过程进行单位时间分割,脉冲频率在每个时间片递增或递减。同时也通过时间片对电机的实际运行的角度进行采样,通过补偿算法,从而达到精确定位的效果。这就使得小型PLC在恶劣干扰环境中的运动控制定位仍然精确,大大增强了市场竞争力。本发明PLC运动控制指令可以应用于小型机械加工,包装,激光水刀切割,自动焊接等需要定位运动的场合,具有良好的社会经济效益。
Description
技术领域
本发明涉及一种可编程逻辑控制器的脉冲输出干扰补偿方法,尤其涉及具备运动控制高速脉冲输出与高速计数器功能的可编程逻辑控制器的脉冲输出干扰补偿方法。
背景技术
可编程逻辑控制器(PLC)的运动控制功能包括高速脉冲输出和高速计数器功能。高速脉冲输出功能是通过发送一串高频的脉冲来驱动伺服电机或者步进电机,最终达到机械位置定位的目的。高速计数器是对安装在电机上的编码器的高频脉冲进行计数,从而得知电机的转动位置。
PLC一次定位指令的高速脉冲输出有加速、匀速、减速三个过程。一般通过梯形加减速或者S型加减速来实现。电机收到PLC发出的脉冲信号后,开始对应的进行加速、匀速、减速运转。PLC输出的一个脉冲对应电机的一个微小的角度转动。现有的指令是开环的,如图1所示。一般来说,伺服电机驱动器最高可接收1MHz左右的脉冲频率。在伺服电机驱动器内部有一定的滤波措施,可抵抗一定的现场电磁干扰。但是当干扰比较强,伺服驱动器无法滤除这些干扰时,就会出现接收到比PLC实际发送的更多的脉冲数或者更少的脉冲数,导致系统定位不准确。
申请号为201710755393.0的发明专利《步进电机驱动的控制方法及系统》提供了一种步进电机驱动的控制方法及系统,该控制方法包括:A.控制步进电机转动且处于加速状态,并统计步进电机加速转动的实时步数;B.判断实时步数与步进电机在空闲状态下减速转动的固设步数相加是否超过预设步数,是,则执行步骤E,否,则执行步骤C;C.当步进电机的转速达到预设转速时,控制步进电机以预设转速进行匀速转动;D.统计步进电机加速转动和匀速转动的叠加步数,以使叠加步数与固设步数相加达到预设步数;E.控制步进电机进行减速,并使步进电机在固设步数之后停止转动。由此达到了实时控制步进电机转速以及按预设步数转动的效果,并且避免了出现失步的现象,具有较高的实时性。
申请号为201610973963.9的发明专利《步进电机失步补偿方法及装置》公开了一种步进电机失步补偿方法,该方法用于实现对超声探头的控制,超声探头包括,换能器、步进电机,包括以下步骤:获取换能器的实际位置信息;将实际位置信息与目标位置信息进行比较,得到步进电机的失步数据;将失步数据与预设阈值进行比较,确定失步数据所属的阈值范围;根据阈值范围确定失步数据对应的补偿方式,并执行与补偿方式对应的补偿操作;该方法根据步进电机的失步情况,采用与失步情况对应的补偿方式自适应地补偿,来防止换能器相对位置的累积误差,从而使得超声探头扫描获取的图像更加精确没有漂移现象。
申请号为201310661637.0的发明专利《一种产生对称梯形加减速脉冲的方法》提出了一种产生对称梯形加减速脉冲的方法,首先初始化数据计算梯形加减速零时刻的初始速度以及加速过程或者减速过程的脉冲数,其次得到匀加速过程和匀减速过程中每个脉冲的频率,其中以匀加速过程终止时计算的脉冲频率值作为匀减速过程开始的脉冲频率值。这样通过对电机运行过程中每个脉冲的实时控制,就可以得到加减速完全对称的脉冲。
发明内容
本发明的目的是:提供一种具有高速脉冲输出干扰补偿方法,通过高速计数器的反馈,实时补偿由于电磁干扰引起的电机多接收的脉冲或者少接收的脉冲。从而解决运动控制在电磁干扰环境下定位不准的问题。
为了达到上述目的,本发明的技术方案是提供了一种可编程逻辑控制器高速脉冲输出干扰的补偿方法,由PLC向电机给出高速脉冲输出指令,电机自带的编码器或电机外接的编码器接到PLC的高速计数器,电机采用梯形加减速方式,电机从基底速度开始,在设定的加速时间Tacc加速到设定的脉冲输出最高频率作匀速运动,最后在设定的减速时间Tdec里减速到基底速度停止,电机的基底速度频率为Fbias,其特征在于,所述补偿方法包括以下步骤:
步骤1、设定时间片Tn,电机在加减速时,每隔Tn时间,产生速度阶跃变化;
步骤2、计算得到电机加速段的分段数Nacc及减速段的分段数Ndec,Nacc=Tacc/Tn,Ndec=Tdec/Tn;
步骤3、计算得到PLC在加速段的第nacc段向电机发送的脉冲个数Naccn,Naccn=(Fbias+Naccinc*(nacc-1))*(Tn/1000),式中,nacc=1,2,…,Nacc;Naccinc表示加速段每段的频率递增数,Naccinc=(Fmax-Fbias)/(Tacc/Tn);
计算得到PLC在减速段的第ndec段向电机发送的脉冲个数Ndecn,Ndecn=(Fbias+Ndecinc*(Ndec-ndec))*(Tn/1000),式中,ndec=1,2,…,Ndec;Ndecinc表示减速段每段的频率递增数,Ndecinc=(Fmax-Fbias)/(Tdec/Tn);
计算得到PLC在匀速段每个时间片Tn发出的脉冲个数为:Fmax*(Tn/1000);
步骤4、按照步骤1设定的时间片Tn,通过PLC的高速计数器对每隔Tn时间的电机的转动角度进行计数,获得每个时间片Tn反馈的脉冲数,计算当前时间片Tn的干扰脉冲个数Nnif=Nnhsc–Nn,Nnhsc为当前时间片Tn反馈的脉冲数,若当前时间片Tn位于加速段,则Nn=Naccinc,若当前时间片Tn位于减速段,则Nn=Ndecinc,若当前时间片Tn位于匀速段,则Nn=Fmax*(Tn/1000);
步骤5、若Nnif>0,则在下一个时间片Tn+1,将步骤3计算得到的PLC发出的脉冲数减少Nnif个;若Nnif<0,则在下一个时间片Tn+1,将步骤3计算得到的PLC发出的脉冲数增加Nnif个。
优选地,所述PLC向所述电机输出的路程总脉冲数为N,则:
匀速段总数为Nv,Nv=N-Nacc-Ndec。
本发明基于梯形加减速的算法,按照时间片分割法对加、减速过程进行单位时间分割,脉冲频率在每个时间片递增或递减。同时也通过时间片对电机的实际运行的角度进行采样,通过补偿算法,从而达到精确定位的效果。这就使得小型PLC在恶劣干扰环境中的运动控制定位仍然精确,大大增强了市场竞争力。
本发明使得在一部分工业现场恶劣的环境中或者偶尔突发的干扰环境中,避免了由于电磁干扰导致运动控制定位不准确的情况发生。通过增加反馈算法,大大提高了运动控制型PLC的可靠性,扩大了PLC的使用范围。
本发明PLC运动控制指令可以应用于小型机械加工,包装,激光水刀切割,自动焊接等需要定位运动的场合,具有良好的社会经济效益。
附图说明
图1为开环系统示意图;
图2为闭环系统步进电机应用示意图;
图3为闭环系统伺服电机应用示意图;
图4为梯形加减速示意图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明提供一种补偿指令的方法,通过高速计数器实时监测电机的转动,通过计算得出电机实际的转动位置。当发生外部电磁干扰时,PLC补发或者减少后续发出的脉冲进行补偿,从而达到精确控制位置的目的。
本发明涉及一种带有干扰补偿功能的高速脉冲输出指令的PLC。指令带有编码器输入的接口,将脉冲反馈信号传递给PLC内部的高速计数器。在系统中如果使用步进电机,需要在电机侧接上一个编码器(如图2所示)。如果是伺服电机,由于伺服电机自身带编码器,只需将伺服电机编码器的线接到PLC的高速计数器(如图3所示)。
本发明提供的补充方法基于梯形加减速计算:
梯形加减速(如图4所示)从基底速度开始,在设定的加速时间加速到设定的脉冲输出最高频率作匀速运动,最后在设定的减速时间里减速到基底速度停止。整个过程的总脉冲数、最高频率、基底速度、加减速时间这些参数由用户设定,PLC在工作前需要对这段路程进行规划。
现对本发明中所使用的参数解释说明如下:
路程总脉冲数:N。
加速时间:Tacc,单位ms(毫秒)。
减速时间:Tdec,单位ms(毫秒)。
基底速度频率:Fbias,单位Hz。基底速度是指电机可以以一定的较小频率直接开始起步运动。基底速度也可以为0,即从速度频率0开始加速。
脉冲输出最高频率:Fmax,单位Hz。
加减速频率阶跃时间片:Tn,单位ms(毫秒)。在加减速时,每隔Tn时间,产生速度阶跃变化。
电机延时时间:△T,单位ms(毫秒)。步进电机或伺服电机在收到PLC脉冲后至电机开始转动的微小延时。
本发明提供的一种可编程逻辑控制器高速脉冲输出干扰的补偿方法具体包括以下步骤:
步骤1、设定时间片Tn;
步骤2、计算得到电机加速段的分段数Nacc及减速段的分段数Ndec,Nacc=Tacc/Tn,Ndec=Tdec/Tn;
步骤3、计算得到PLC在加速段的每一段向电机发送的脉冲个数:
第nacc段向电机发送的脉冲个数Naccn,Naccn=(Fbias+Naccinc*(nacc-1))*(Tn/1000),式中,nacc=1,2,…,Nacc;Naccinc表示加速段每段的频率递增数,Naccinc=(Fmax-Fbias)/(Tacc/Tn),则有:
加速第一段频率脉冲个数:Nacc1=Fbias*(Tn/1000)
加速第二段频率脉冲个数:Nacc2=(Fbias+Naccinc*(2-1))*(Tn/1000)
加速第三段频率脉冲个数:Nacc3=(Fbias+Naccinc*(3-1))*(Tn/1000)
……
加速第Nacc段频率脉冲个数:NaccN=(Fbias+Naccinc*(Nacc-1))*(Tn/1000)
计算得到PLC在减速段的每一段向电机发送的脉冲个数:
第ndec段向电机发送的脉冲个数Ndecn,Ndecn=(Fbias+Ndecinc*(Ndec-ndec))*(Tn/1000),式中,ndec=1,2,…,Ndec;Ndecinc表示减速段每段的频率递增数,Ndecinc=(Fmax-Fbias)/(Tdec/Tn),则有:
减速第一段频率脉冲个数:Ndec1=(Fbias+Ndecinc*(Ndec-1))*(Tn/1000)
减速第二段频率脉冲个数:Ndec2=(Fbias+Ndecinc*(Ndec-2))*(Tn/1000)
减速第三段频率脉冲个数:Ndec3=(Fbias+Ndecinc*(Ndec-3))*(Tn/1000)
……
减速第Ndec段频率脉冲个数:NdecN=(Fbias+Ndecinc*(Ndec-Ndec))*(Tn/1000)
为了按时间片采样反馈高速计数器脉冲计数个数,需要将匀速段也进行Tn时间片分割,计算得到PLC在匀速段每个时间片Tn发出的脉冲个数为:Fmax*(Tn/1000);
匀速段总数为:Nv=N-Nacc-Ndec。
通过上述的计算方法,得到梯形加减速全过程每个时间片Tn输出的脉冲频率和脉冲个数。同时通过PLC的高速计数器,对每个时间片Tn的电机转动角度进行计数,并且把反馈的脉冲数和PLC发出的脉冲数进行对比。当没有干扰或者干扰较小能被伺服滤波去除时,在同一个时间片Tn里高速计数器反馈的脉冲数和PLC发出的脉冲数是相等的,这时补偿算法不需要进行任何干预。当发生较大的干扰时,在一个时间片里高速计数器读到的脉冲数相比发出的脉冲数发生增多或者减少。这时PLC的补偿启动,将在下一个时间片周期里将减少或增加发出的脉冲数,始终保持PLC发出的脉冲数和伺服相对应的转动角度一致。
具体计算如下:
步骤4、按照步骤1设定的时间片Tn,通过PLC的高速计数器对每隔Tn时间的电机的转动角度进行计数,由于步进电机或伺服电机在收到PLC脉冲后至电机开始转动有一个微小的延时△T。PLC在发出脉冲后的△T延时后开始采样高速计数器值,获得每个时间片Tn反馈的脉冲数。计算当前时间片Tn的干扰脉冲个数Nnif=Nnhsc–Nn,Nnhsc为当前时间片Tn反馈的脉冲数,若当前时间片Tn位于加速段,则Nn=Naccinc,若当前时间片Tn位于减速段,则Nn=Ndecinc,若当前时间片Tn位于匀速段,则Nn=Fmax*(Tn/1000);
步骤5、若Nnif>0,则在下一个时间片Tn+1,将步骤3计算得到的PLC发出的脉冲数减少Nnif个;若Nnif<0,则在下一个时间片Tn+1,将步骤3计算得到的PLC发出的脉冲数增加Nnif个。
加速段脉冲总数为Nacc,Nacc;
匀速段总数为Nv,Nv=N-Nacc-Ndec。
这样,通过补偿抵消了由于干扰引起的脉冲数变化,使得运动定位控制更加精确。
Claims (2)
1.一种可编程逻辑控制器高速脉冲输出干扰的补偿方法,由PLC向电机给出高速脉冲输出指令,电机自带的编码器或电机外接的编码器接到PLC的高速计数器,电机采用梯形加减速方式,电机从基底速度开始,在设定的加速时间Tacc加速到设定的脉冲输出最高频率作匀速运动,最后在设定的减速时间Tdec里减速到基底速度停止,电机的基底速度频率为Fbias,脉冲输出最高频率为Fmax,其特征在于,所述补偿方法包括以下步骤:
步骤1、设定时间片Tn,电机在加减速时,每隔Tn时间,产生速度阶跃变化;
步骤2、计算得到电机加速段的分段数Nacc及减速段的分段数Ndec,Nacc=Tacc/Tn,Ndec=Tdec/Tn;
步骤3、计算得到PLC在加速段的第nacc段向电机发送的脉冲个数Naccn,Naccn=(Fbias+Naccinc*(nacc-1))*(Tn/1000),式中,nacc=1,2,…,Nacc;Naccinc表示加速段每段的频率递增数,Naccinc=(Fmax-Fbias)/(Tacc/Tn);
计算得到PLC在减速段的第ndec段向电机发送的脉冲个数Ndecn,Ndecn=(Fbias+Ndecinc*(Ndec-ndec))*(Tn/1000),式中,ndec=1,2,…,Ndec;Ndecinc表示减速段每段的频率递增数,Ndecinc=(Fmax-Fbias)/(Tdec/Tn);
计算得到PLC在匀速段每个时间片Tn发出的脉冲个数为:Fmax*(Tn/1000);
步骤4、按照步骤1设定的时间片Tn,通过PLC的高速计数器对每隔Tn时间的电机的转动角度进行计数,获得每个时间片Tn反馈的脉冲数,计算当前时间片Tn的干扰脉冲个数Nnif=Nnhsc–Nn,Nnhsc为当前时间片Tn反馈的脉冲数,若当前时间片Tn位于加速段,则Nn=Naccinc,若当前时间片Tn位于减速段,则Nn=Ndecinc,若当前时间片Tn位于匀速段,则Nn=Fmax*(Tn/1000);
步骤5、若Nnif>0,则在下一个时间片Tn+1,将步骤3计算得到的PLC发出的脉冲数减少Nnif个;若Nnif<0,则在下一个时间片Tn+1,将步骤3计算得到的PLC发出的脉冲数增加Nnif个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120338.XA CN110855213B (zh) | 2019-11-15 | 2019-11-15 | 一种可编程逻辑控制器高速脉冲输出干扰的补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120338.XA CN110855213B (zh) | 2019-11-15 | 2019-11-15 | 一种可编程逻辑控制器高速脉冲输出干扰的补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855213A CN110855213A (zh) | 2020-02-28 |
CN110855213B true CN110855213B (zh) | 2023-03-21 |
Family
ID=69601375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911120338.XA Active CN110855213B (zh) | 2019-11-15 | 2019-11-15 | 一种可编程逻辑控制器高速脉冲输出干扰的补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855213B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112886898B (zh) * | 2021-01-13 | 2022-06-07 | 宁波迪卡数控科技有限公司 | 一种伺服电机控制方法、系统、智能终端以及存储介质 |
CN114485733B (zh) * | 2022-04-19 | 2022-06-21 | 宜科(天津)电子有限公司 | 一种用于光电传感器的抗干扰方法、设备及介质 |
CN115001324B (zh) * | 2022-06-16 | 2023-03-21 | 广东亿云智控技术有限公司 | 一种基于单片机的可调整升降频率控制高速脉冲的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201830194U (zh) * | 2010-10-27 | 2011-05-11 | 北京和利康源医疗科技有限公司 | 一种步进电机的驱动控制装置 |
CN104753415A (zh) * | 2013-12-31 | 2015-07-01 | 深圳迈瑞生物医疗电子股份有限公司 | 步进电机的启停控制方法、系统和步进电机 |
CN106655930A (zh) * | 2016-09-18 | 2017-05-10 | 北京星网卫通科技开发有限公司 | 一种基于接近传感器的步进电机失步纠错方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018098851A (ja) * | 2016-12-09 | 2018-06-21 | キヤノン株式会社 | モータ制御装置及び画像形成装置 |
-
2019
- 2019-11-15 CN CN201911120338.XA patent/CN110855213B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201830194U (zh) * | 2010-10-27 | 2011-05-11 | 北京和利康源医疗科技有限公司 | 一种步进电机的驱动控制装置 |
CN104753415A (zh) * | 2013-12-31 | 2015-07-01 | 深圳迈瑞生物医疗电子股份有限公司 | 步进电机的启停控制方法、系统和步进电机 |
CN106655930A (zh) * | 2016-09-18 | 2017-05-10 | 北京星网卫通科技开发有限公司 | 一种基于接近传感器的步进电机失步纠错方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110855213A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855213B (zh) | 一种可编程逻辑控制器高速脉冲输出干扰的补偿方法 | |
US4815007A (en) | Apparatus for controlling a robot | |
US8287088B2 (en) | Image forming apparatus | |
CN105511510A (zh) | 仓储安全距离的扫描监测系统及其定位控制方法 | |
CN113815100B (zh) | 一种伺服切刀控制方法及装置 | |
JPH08179831A (ja) | フルクローズド・ループ方式における象限突起補正方法 | |
CN115800840A (zh) | 一种步进电机的动态控制方法、装置及位置跟随系统 | |
CN112491313A (zh) | 一种电机控制方法、装置、设备及计算机可读存储介质 | |
JP2019188779A (ja) | 電子機器及びその制御方法 | |
EP1271274B1 (en) | Servo controlling device and method | |
US7613541B2 (en) | Thread control method and system therefor | |
CN106374798B (zh) | 一种可变细分数的步进电机加减速控制方法 | |
JP2008040779A (ja) | 位置決め制御装置及び位置決め制御方法 | |
US10725456B2 (en) | Numerical controller | |
EP3930179A1 (en) | Command generation device and command generation method to control motor | |
CN115847395A (zh) | 取出机判断移动到位的方法、系统、电子设备及存储介质 | |
JPH09314399A (ja) | プレス加工機械の制御装置 | |
US4254370A (en) | Closed loop positioner for a stepping motor driven by a buffered translator | |
CN211162441U (zh) | 基于低推力波动直线电机的激光切割机 | |
CN110927922A (zh) | 一种光学系统快速切换倍率的装置及切换方法 | |
CN115425892B (zh) | 一种电机的转动惯量辨识方法及采用该方法的装置 | |
CN114474637B (zh) | 一种基于负载实时位移的液压系统定位控制方法及系统 | |
JP2540752B2 (ja) | スタッカクレ―ンの走行制御装置 | |
JPH11202924A (ja) | 数値制御における送り軸の加減速制御方法および装置 | |
CN212137568U (zh) | 一种贴片机z轴驱动系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |