旋转编码器在S7-200的应用
- 格式:pdf
- 大小:85.15 KB
- 文档页数:6
S7-200高速计数器简单案例(2)前面以几个较简单的程序案例学习了一下高速计数器的应用,那么今天就做几个稍微复杂一些的程序案例,提高一下对高速计数器的掌握程度和熟练应用。
1、用编码器测量电机转速与频率主程序:子程序:中断程序:以上的程序中,在主程序中,用I0.7的上升沿调用高速计数器初始化子程序,然后做一个高速计数器初始化的子程序,首先是定义控制字节,送16#F8到SMB37,定义为加计数更新当前值,这里没有写入初始值和预设值,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器,还做了高速计数器中断,我们设置定时中断0的时间间隔为100ms,因为SMB34的定时中断0为中断事件号10,我们建立中断程序0和中断事件10的中断连接,并全局允许中断。
然后再看一下中断程序,因为是100ms的定时中断,每100ms 执行一次中断程序。
我们就用100ms计算的脉冲个数,再乘以600化成1分钟的脉冲个数,再除于分辨率就是等于转速,程序中的500就是编码器的分辨率。
而对于编码器的频率的计算,我们有这样一个公式,频率/工频50Hz=转速/工频下的转速,所以频率=(转速/工频下的转速)*工频50Hz,这里我们先把双整数的转速转换成实数,再除以工频下的转速1488.0,再乘以工频50.0Hz,那么就得到了编码器的频率了。
2、用编码器测量机床位置,不论机床朝正方向移动或朝反方向移动,都能知道机床的当前位置,有一原点位置感应开关I0.7,当原点位置感应开关接通时,机床的当前位置为0。
假设编码器的分辨率为1024,丝杆的进给量即转1圈移动的位置为10,计算公式是当前值除以分辨率,再乘于进给量)主程序:子程序:以上的程序中,首先做一个高速计数器初始化的子程序,首先是定义控制字节,送16#F8到SMB37,定义为加计数更新当前值,这里没有写入初始值和预设值,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器。
S7-200系列PLC编程器的使用示例Siemens编程器S7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。
在这里,和大家一起来讨论S7-200几个使用方面的情况。
1.步进,伺服脉冲定位控制。
在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子S7-200系列PLC怎样来实现这个功能。
首先,确定使用哪个端口来发脉冲,如采用Q0.0发脉冲,则它的控制字为SMB67,脉冲同期为SMW68,脉冲个数存放在SMD72中,下面是控制字节的说明:Q0.0 Q0.1 控制字节说明SM67.0 SM77.0 PTO/PWM更新周期值 0=不更新,1=更新周期值SM67.1 SM77.1 PWM更新脉冲宽度值 0=不更新,1=脉冲宽度值SM67.2 SM77.2 PTO更新脉冲数 0=不更新,1=更新脉冲数SM67.3 SM77.3 PTO/PWM时间基准选择 0=1微秒值,1=1毫秒值SM67.4 SM77.4 PWM更新方法 0=异步更新,1=同步更新SM67.5 SM77.5 PTO操作 0=单段操作,1=多段操作SM67.6 SM77.6 PTO/PWM模式选择 0=选择PTO,1=选择PWMSM67.7 SM77.7 PTO/PWM允许 0=禁止PTO/PWM,1=允许这样根据以上表格,我们得出Q0.0控制字:SMB67为:10000101采用PTO输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。
10000101转化为16进制为85,有了控制字以后,我们来写这一段程序:根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对Q0.0来说是SMW68与SMD72)。
当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。
还有一点需要说明得是:M0.0导通---PLC捕捉到上升沿发动脉冲输出后,想停止的话,只须改变端口脉冲的控制字,再启动PLS即可,程序如下:2.高速计数功能。
STEP 7 - Micro/WIN 的标准库中不包含格雷码转换。
使用下载的附件可以转换成8位、16位和32位二进制数。
二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);1100要将它变为格蕾码:第一位0与其左位异或结果为0第二位0与其左位异或结果为1第三位1与其左位异或结果为0第四位1保留结果为1因此最终结果为:1010,也就是原始的格蕾码。
101010100 111111110格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变)1010要将它变为自然二进制:0 与第四位 1 进行异或结果为 1上面结果1与第三位0异或结果为 1上面结果1与第二位1异或结果为0上面结果0与第一位0异或结果为0因此最终结果为:1100,这就是二进制码即十进制12;编码器采用9个输入点编程:/service/answer/solution.asp?Q_id=39064&c id=1029多圈编码器如何控制距离的:/service/answer/solution.asp?Q_id=39099&c id=1029算出编码器码值之后如何控制距离:/service/answer/solution.asp?Q_id=39122&c id=1029先将格雷码转换成2进值码(用异或指令逐位计算),所得2进值数再用比较指令来控制输出电磁阀换向设编码器为8位,输入i0.0~i0.7,格雷码转换成2进值码程序:A I 0.7= M 0.7X M 0.7X I 0.6= M 0.6X M 0.6X I 0.5= M 0.5X M 0.5X I 0.4= M 0.4X M 0.4X I 0.3= M 0.3X M 0.3X I 0.2= M 0.2X M 0.2X I 0.1= M 0.1X M 0.1X I 0.0= M 0.0计算所得MB0即为格雷码对应的2进值码。
西门子S7-200 PLC接绝对型编码器问题 FAQ for Wiring Absolute Encoder to Siemens S7-200 PLC关键词S7-200 PLC ,绝对型编码器Key Words S7-200 PLC, Absolute encoderIA&DT&BT Service & Support Page 2-6目录问题1:S7-200 PLC可以连接绝对型编码器吗? (4)问题2:S7-200 PLC与绝对型编码器怎样接线? (4)问题3:怎样处理格雷码码值? (5)IA&DT&BT Service & Support Page 3-6问题1:S7-200 PLC可以连接绝对型编码器吗?解答:S7-200 PLC可以连接绝对型编码器,但应注意以下几点:(1)S7-200 PLC可连接并行输出的绝对型编码器。
串行输出、总线型输出、变送一体型输出等绝对型编码器需PLC具有相应的接口或组态能力,不能与西门子S7-200 PLC 直接连接。
(2)接入S7-200 PLC 的绝对型编码器信号输出最好是格雷码。
如是纯二进制码,在数据刷新时可能有多位变化,读数会在短时间里造成错码。
(3)绝对型编码器在每圈的每个位置都有唯一的编码,由于 PLC数据更新受程序扫描周期的影响,因此经PLC读取并换算后的编码器位置值相对于编码器当前位置值存在一定的误差。
(4)对绝对型编码器进行接线时,必须确保其与PLC输入点连接好。
如有个别连接不良点,该点电位始终是0,将会造成错码而无法判断。
问题2:S7-200 PLC与绝对型编码器怎样接线?解答:并行输出的绝对型编码器输出有多少位就要占用PLC的多少位接点,以S7-200 PLC CPU224 为例,如使用12位输出的单圈绝对型编码器(PNP集电极开路输出) ,需要占用CPU224的12位输入点。
绝对型编码器的12位信号输出线L0—L11依次接入CPU224 的I0.0—I0.7,I1.0—I1.3。
S7-200 SMART PLC的运动控制向导运动轴(Axis of Motion)内置于 S7-200 SMART CPU 的运动控制功能使用运动轴(Axis of Motion)进行步进电机和伺服电机的速度和位置控制。
S7-200 SMART CPU 提供3个单轴控制,其组态方式与S7-200的EM253类似,S7-200 SMART CPU 目前未提供单独的运动控制模块。
其开环位置控制提供以下功能:1.提供高速控制(高速脉冲输出),速度从每秒2个脉冲到每秒100,000个脉冲(2HZ到100KHZ);2.提供可组态的测量系统,既可以使用工程单位(例如英寸和厘米)也可以使用脉冲数;3.提供可组态的反冲补偿;4.支持绝对、相对和手动位控方式;5.提供连续操作;6.提供多达32组移动曲线,每组最多可有16步;7.提供4种不同的参考点寻找模式,每种模式都可对起始的寻找方向和最终的接近方向进行选择。
8.支持急停(S曲线)或线性加速及减速。
9.提供 SINAMICS V90驱动器的相关支持。
使用 STEP7-Micro/ WIN SMART 可以创建运动轴所使用的全部组态。
这些组态和程序块需要一起下载到CPU中。
S7-200 SMART CPU 的运动控制能够实现主动寻找参考点功能,绝对运动功能,相对运动功能,单、双速连续旋转功能,速度可变功能(依靠 AXISX_MAN 指令实现)及曲线功能。
所有的轴功能都是单轴开环控制,系统不提供轴与轴之间的耦合及轴的闭环控制,如果有这方面需求,则用户需要自己搭建功能,但最终的应用效果要根据实际环境验证,西门子无法提供保证。
S7-200 SMART CPU 运动控制输入/输出点定义见表 1:RPS RPS(参考点)输入可为绝对运动操作建立参考点或零点位置。
中的任意一个,但是同一个输入点不能被重复定义LMT+ LMT+和LMT-是运动位置的最大限制。
位控向导中可以组态LMT+和LMT-输入。
s7-200控制伺服电机总结S7-200PLC具有脉冲输出功能,在运动控制系统中,伺服电机和步进电机是很重要的精确定位装置,而控制伺服电机和步进电机需要使用脉冲输出。
S7-200系列PLC可以输出20--100KHz的脉冲。
使用PTO和PWM指令可以输出普通脉冲和脉宽调制输出。
通过smb66-75,smb166-175来控制Q0.0的输出,通过smb76-85,smb176-185来控制Q0.1的脉冲输出。
控制伺服电机伺服电机是运动控制中一个很重要的器件,通过它可以进行精确的位置控制。
它一般带有编码器,通过高速计数功能,中断功能和脉冲输出功能,构成一个闭环系统,来进行精确的位置控制。
PLC的脉冲输出由于PLC在进行高速输出时需要使用晶体管输出。
当将高速输出点作为普通输出而带电感性负载时,例如电磁阀,继电器线圈等,一定要注意,在负载端加保护,例如并联二极管等。
以保护输出点。
心得二:步进电机的控制方法我带队参加《2021年全国职业院校技能大赛自动线的安装与调试》项目,我院选手和其他院校的三位选手组成了天津代表队,我院选手所在队获得了《2021年全国职业院校技能大赛自动线的安装与调试》项目二等奖,为天津市代表队争得了荣誉,也为我院争得了荣誉。
以下是我这个作为教练参加大赛的心得二:步进电机的控制方法《2021年全国职业院校技能大赛自动线的安装与调试》项目的主要内容包括如气动控制技术、机械技术(机械传动、机械连接等)、传感器应用技术、PLC控制和组网、步进电机位置控制和变频器技术等。
但其中最为重要的就是PLC方面的知识,而PLC中最重要就是组网和步进电机的位置控制。
一、 S7-200 PLC 的脉冲输出功能 1、概述S7-200 有两个置PTO/PWM 发生器,用以建立高速脉冲串(PTO)或脉宽调节(PWM)信号波形。
当组态一个输出为PTO 操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。
基于S7—200SmartPLC伺服电机位置控制系统的应用本文是基于西门子小型PLC S7-200 Smart,此款PLC是一种编程简单,控制方便的可编程控制器,它提供了多种方式用于位置控制。
本文将研究如何利用此款PLC实现对伺服电机运动位置较为精确的控制。
2控制系统简介本文伺服控制系统主要由交流伺服电机、编码器和伺服驱动器。
伺服控制系统的工作原理是伺服驱动器发送运动命令信号,驱动伺服电机运转,同时接收来自编码器的反馈信号,然后重新计算伺服电机运动位置,从而达到精确控制。
本系统采用西门子S7-200 Smart PLC作为控制模块,用于需要高速脉冲驱动伺服电机,采用晶体管输出型,故选用CPU ST40 DC/DC/DC型PLC。
伺服驱动器及伺服电机选用台达A2系列产品。
3系统硬件设计3.1 硬件接线图硬件接线图如下图所示;此硬件部分主要分为以下几部分:输入I/O信号,Smart ST40系列PLC、A2伺服驱动器、伺服电1/ 3机。
其中输入输出端子需要PLC PTO控制向导进行配置;同时在PLC的脉冲输出端需要接一个2K的电阻,主要用于降压限流,保护驱动器的输入信号。
3.2 PLC I/O分配表I/O分配表如表所示:Q0.0用于发送脉冲信号,控制电机的转速及定位位置;Q0.1用于接入伺服使能型号;Q0.2用于控制伺服电机的运转方向;I0.0接入左限位开关(LMT+),I0.1接入右限位开关(LMT-),I0.2接入参考点位置开关(RPS)。
3.3 伺服控制器参数设置3.4 PLC运动控制向导配置4系统程序设计4.1 PLC运动控制子程序简介根据3.4运动向导生成11个功能各不相同的运动控制子程序,为了减少程序占用的空间,按照程序设计需求灵活配置运动子程序;主要子程序介绍如下:4.2 PLC梯形图程序x4.3 案例程序设计5通過本文可以看到,西门子S7-200 Smart运动控制指令向导,简单方便的实现了对伺服电机的位置控制,本设计结构简单、2/ 3成本低、定位精准,为小型PLC与伺服控制系统在位置控制领域相结合提供了有益参考。
运行工作方式,机器大概情况,
机器共18个工位,每个工位为一个机器过程,一个工件为5米(误差1CM)要求用2000线的轴式旋转编码器通过PLC协调控制完成每个工件。
每个工位都有一个人,1个绿启动按钮。
一个绿灯,1个红色急停按钮,1个红灯。
当1号工人按1号启动按钮后1号指示灯亮,2号工人按2号启动按钮后2号指示灯亮,直到第18个工人都按启动按钮后18灯全亮,机器开始运转,自动运转到5米后停止。
绿灯全灭(记米自动复位)等待18个工人下一次继续给18个运行信号后运行。
(红色按钮为紧急停车按钮:当工件工作到一半时紧急停车,手动不复位情况下,8个工人动启动后机器可继续当前的米数运转。
手动复位则重新开始)
当18个工人无论哪个工人按红色按钮时机器立即停机(此时红色指示灯全亮,红色按钮释放后指示灯全灭)机器再次启动需18个工人都给启动信号才能运行。
18个红色按钮共用PLC一个点。
如果点富裕的话18个红按钮分为3组,一组6个共用一个点,用3个点实现这个功能。
变频器运行过程,当给变频器运行信号时变频器缓慢启动逐渐加速到高速,指定记米到达时变频器缓慢减速到低速运行,记米到达后变频器立即停止刹车,18个工位如果少几个工位的把那几个工位短接,要不影响工作。
程序分为3部分,主程序,指示灯输出,初始化。
初始化中有两个中断程序,分别为当前值=设定值时中断以及复位时产生的中断。
高速计数器HDEF的通道是HSC0,意思为编码器的A、B相接I0.0、I0.1,复位接在I0.2。
事件号是10,意思是选择A/B正交计数器。
中断ATCH的事件号12代表当前值=设定值时中断。
事件号28代表HSC0当I0.2高电平时产生中断。
主程序:
变频器变速,HC0为通道0的当前值。
子程序:
指示灯:都一样不全部举例了。
中断程序0 设定值=当前值产生中断
中断程序1 I0.2复位产生中断
SM37的值的含义可查看帮助。
中断程序的EVNT的含义也可查看帮助。