台达plc控制伺服电机编程实例_PLC控制伺服电机:控制脉冲的相关计算

e346c06cb46a3af887e27633062cc4f2.png

伺服电机

PLC通过脉冲的方式控制伺服电机时,其输出脉冲与伺服电机的配置应具有一定的对应关系。如,PLC输出多少个脉冲电机旋转一圈?电机旋转一圈移动的距离(或角度)是多少?这里我们以某伺服电机为例进行举例说明:

完成对伺服电机的接线,并上电后,首先需要对伺服电机的内部运行参数进行配置。其中最最重要的就是电机旋转一圈的脉冲数(相当于步进电机使用过程中的细分参数)。

1ad5c5305e9e0b48bb49429ea18d1b03.png

伺服电机脉冲配置参数

通过以上图片可以看到,其设置参数可以被设置在0-8388608这个范围的任意一个数。相比于步进电机的使用来所,其使用的参数配置更为灵活。

afe1d2a7f78f0c2dda28fb611759a4ef.png

丝杆模组

PLC通过脉冲控制伺服电机的过程中,所涉及到的最重要的参数即为这个。确定了伺服电机运行过程中的单圈脉冲数,PLC中的控制脉冲数量就需要依照此数据进行计算。如,假设伺服电机的配置单圈脉冲为1000,电机对丝杆进行控制,丝杆的为单圈滚珠丝杆,导程d=10(丝杆旋转一圈,丝杆上的滑块移动的距离为10mm);电机旋转一圈,丝杆也旋转一圈,由此带动丝杆上的滑块移动的距离为10mm。

滑块移动速度计算

依照以上的对应关系,假定伺服的最高速度为3000rpm,3000rpm=50r/s。则丝杆上滑块移动的最快速度为50r/s * 10mm/r=500mm/s。即此电机带动的丝杆滑块可以达到的最高速度为500mm/s。滑块的最高运行速度即可按照此方式计算核实。

PLC的高速脉冲输出速度计算

电机的最高速度为3000rpm,50r/s。那么电机运行在最高速度的时候,亦需要PLC输出与之对应速度的高速脉冲。

PLC的输出脉冲速度=单圈脉冲量*转速

即PLC的最高运行速度为:1000*50=50 000(脉冲/s),50kHz。由此可以确定PLC的高速脉冲输出口的输出频率至少需要达到50kHz。这个参数才做PLC参数选型时,很有必要。特别是在做一些控制性能比较高时,要确保PLC的高速脉冲输出口的输出速度能够达到需要的速度要求。

定位精度计算

根据以上的参数设置,伺服电机单圈的脉冲数量为1000,丝杆移动一圈滑块移动的距离为10mm。即PLC输出1000个脉冲对应于滑块移动的距离为10mm。那么1个脉冲对应的移动距离为10/1000=0.01mm。即,在此参数配置下,滑块能够实现的定位精度可以达到0.01mm.使用方法,可以对控制精度进行核实。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux rm命令详解

用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。 rm命令的一般形式为:rm [选项] 文件…

rotateright_Java Long类rotateRight()方法的示例

rotateright长类rotateRight()方法 (Long class rotateRight() method) rotateRight() method is available in java.lang package. rotationRight()方法在java.lang包中可用。 rotateRight() method is used to returns the value generated by rotating the binary 2’s comp…

实验四 Windows程序设计

1,创建Windows窗体应用程序,实现用户登录功能,当输入正确与错误时均给出相应的提示信息,规定用户输入错误次数不能超过3次。(源代码运行界面) 这里的口令有个小常识,就是显示*,在口令…

最小连通-(代码、分析、汇编)

目录:介绍:代码:分析:汇编:介绍: 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点, 并且有保持图连通的最少的边。 最小生成树可以用kruskal&am…

toad dba for oracle 10.5

http://worlddownloads.quest.com.edgesuite.net/Repository/support.quest.com/Toad%20for%20Oracle/10.5/Software/Toad%20DBA%20Suite%20for%20Oracle%2010.5%20Commercial.exe转载于:https://www.cnblogs.com/devbar/archive/2010/07/01/1768986.html

c++ 怎样连接两个链表_LeetCode | 链表的入口,一文帮你搞定“环形链表”(python版,最简单解析)...

链表节点的定义链表作为一种数据结构,由链表节点互相连接构成。链表节点包含自身的数据和一个指向下一节点的指针。""" Definition of ListNode """ class ListNode(object):def __init__(self, val, nextNone):self.val valself.ne…

QI实例-改变空间参考

学习AE一段时间了,总是对QI不是很理解,今天一晚上写了QI实例,尝试理解下。 首先想到的是→改变空间参考→alter、SpatialReference→alterSpatialReference,输入到帮助文档里。  查看是IGeoDatasetSchemaEdit接口的方法&#xf…

VeryCD 的资料库

呵呵,刚才看了下VeryCD的资料库,恍然间才明白为什么VeryCD以前花大量时间和精力开发电驴,又为什么不久前突然取消了KAD网络和ED2k网络的搜索功能。呵呵,天下没有免费的午餐哈,VeryCD先用电驴软件聚集客户群&#xff08…

Java IdentityHashMap keySet()方法及示例

IdentityHashMap类keySet()方法 (IdentityHashMap Class keySet() method) keySet() method is available in java.util package. keySet()方法在java.util包中可用。 keySet() method is used to get a set of all the existing keys in this IdenityHashMap to be viewed in …

C#省市二级联动(王者荣耀挑选英雄为例)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace beyond_联动_ {public partial clas…

二叉排序树(Binary Sort Tree) 又称为二叉查找树(Binary Search Tree) - (代码、分析)

目录:代码:分析:代码: BSTree.h #ifndef _BSTREE_H_ #define _BSTREE_H_typedef void BSTree;//定义二叉树类型 typedef void BSKey;//定义节点的键值类型(用于节点排序)typedef struct _tag_BSTreeNode …

springboot tomcat默认线程数_记一次JAVA线程池的错误用法

最近项目一个项目要结项了,但客户要求 TPS 能达到上千,而用我写的代码再怎么弄成只能达到 30 的 TPS,然后我又将代码中能缓存的都缓存了,能拆分的也都拆分了,拆分时用的线程池来实现的;其实现的代码主要为…

引以为鉴-ARM开发板连线注意事项

前些日子把实验室的三台机子放到一个工位上,非常拥挤,做实验也很不方便。因此,想把ARM开发板的环境重新搭建到自己的电脑上。说完就做,上午就开始忙活起来。把开发板上的USB线、串口线、JTAT接口、还有电源线一一插好。接着就开始…

CString 类型和引用

怎么理解CString & 类型?在函数参数表中,列了一项是此类型,据说是引用。可以给个具体方法,示例么? 由于子程序调用是栈传递参数,因此对参数的修改不会改变调用者传入的参数的值。如果要改变调用者的参数…

Java IdentityHashMap putAll()方法与示例

IdentityHashMap类putAll()方法 (IdentityHashMap Class putAll() method) putAll() method is available in java.util package. putAll()方法在java.util包中可用。 putAll() method is used to copy all of the entry (key-value pairs) that exists from the given map (m)…

Python---实验八

1,现在有一份‘邀请函.txt’的空白文件,请在同级目录下编写一段代码,写入内容‘诚挚邀请您来参加本次宴会’。 with open(fG:\study\Python\邀请函.txt,modew,encodingutf-8) as y:y.write(诚挚邀请您来参加本次宴会)效果图如下:…

哈希表 - (代码、分析 )

目录:代码:分析:代码: BSTree.h BSTree.c 二叉排序树(Binary Sort Tree) 又称为二叉查找树(Binary Search Tree) Hash.h #ifndef _HASH_H_ #define _HASH_H_typedef void Hash;//定义哈希表类型 typedef void HashKey;//定义哈…

scala spark 数据对比_IT大牛耗时三个月总结出大数据领域学习路线,网友评论:炸锅了...

大数据不是某个专业或一门编程语言,实际上它是一系列技术的组合运用。有人通过下方的等式给出了大数据的定义。大数据 编程技巧 数据结构和算法 分析能力 数据库技能 数学 机器学习 NLP OS 密码学 并行编程虽然这个等式看起来很长,需要学习的东…

Java IdentityHashMap equals()方法与示例

IdentityHashMap类equals()方法 (IdentityHashMap Class equals() method) equals() method is available in java.util package. equals()方法在java.util包中可用。 equals() method is used to check whether this IdentityHashMap object and the given object (ob) are eq…

jQuery中关于Ajax的详解

本文介绍如何使用jquery实现Ajax功能. 用于发送Ajax请求的相关函数如load, get, getJSON和post这些渐变Ajax方法, 对于核心的ajax 方法没有过多介绍, 主要是通过配置复杂的参数实现完全控制Ajax请求。 Ajax让用户页面丰富起来, 增强用户体验. Ajax是所有Web开发的必修课. 虽然A…