用西门子plc脉冲指令和方向控制pLC程序

我是初学者 我想请教各位老师 我想用三菱PLC编辑脉冲方向,梯形图控制1个伺服电机 考虑电机的步进角 能给
我是初学者 我想请教各位老师 我想用三菱PLC编辑脉冲方向,梯形图控制1个伺服电机 考虑电机的步进角 能给
这位兄弟:编辑程序就应该知道具体的条件;比如说你的触发条件是什么,你需要做什么,要达到什么结果。 就拿你的问题说吧:既然是伺服电机我想你控制的应该是个位置,这个嘛你首先就得看看你的伺服电机的脉冲是多少,再根据你需要走多少位置再计算下,编辑下就OK了,要是步进电机的话,那就相对简单些了,或者说要是一般的电机就可以用时间计算器来控制了,但控制的精确度没伺服电机那样准确。
相关知识等待您来回答
搜狗问问领域专家西门子S7-200 PLC高速脉冲输出功能
查看: 4441|
摘要: 1、概述S7-200 有两个 置PTO/PWM 发生器,用以建立高速脉冲串(PTO)或脉宽调节(PWM) 信号波形。当组态一个输出为PTO 操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。置PTO功能提 ...
1、概述S7-200 有两个 置PTO/PWM 发生器,用以建立高速脉冲串(PTO)或脉宽调节(PWM) 信号波形。当组态一个输出为PTO 操作时,生成一个50%占空比脉冲串用于或的速度和位置的开环控制。置PTO功能提供了脉冲串输出,脉冲周期和数量可由用户控制。但应用程序必须通过内置I/O 提供方向和限位控制。为了简化用户应用程序中位控功能的使用,STEP7--Micro/WIN 提供的位控向导可以帮助您在几分钟内全部完成PWM,PTO或位控模块的组态。向导可以生成位置指令,用户可以用这些指令在其应用程序中为速度和位置提供动态控制。2、开环位控用于步进电机或伺服电机的基本信息借助位控向导组态PTO 输出时,需要用户提供一些基本信息,逐项介绍如下:⑴ 最大速度 (MAX_SPEED)和启动/停止速度 (SS_SPEED)图1是这2 个概念的示意图。MAX_SPEED是允许的操作速度的最大值,它应在电机能力的范围。驱动负载所需的力矩由摩擦力、惯性以及加速/减速时间决定。
图1 最大速度和启动/停止速度示意SS_SPEED:该数值应满足电机在低速时驱动负载的能力,如果SS_SPEED的数值过低,电机和负载在运动的开始和结束时可能会摇摆或颤动。如果SS_SPEED的数值过高,电机会在启动时丢失脉冲,并且负载在试图停止时会使电机超速。通常,SS_SPEED 值是MAX_SPEED 值的5%至15%。⑵加速和减速时间加速时间ACCEL_TIME:电机从SS_SPEED速度加速到MAX_SPEED速度所需的时间。减速时间DECEL_TIME:电机从MAX_SPEED速度减速到SS_SPEED速度所需要的时间。
图2 加速和减速时间加速时间和减速时间的缺省设置都是1000毫秒。通常电机可在小于1000 毫秒的时间工作。参见图2。这2个值设定时要以毫秒为单位。注意:电机的加速和失速时间要过测试来确定。开始时,您应输入一个较大的值。逐渐减少这个时间值直至电机开始失速,从而优化您应用中的这些设置。⑶移动包络一个包络是一个预先定义的移动描述,它包括一个或多个速度,影响着从起点到终点的移动。一个包络由多段组成,每段包含一个达到目标速度的加速/减速过程和以目标速度匀速运行的一串固定数量的脉冲。位控向导提供移动包络定义界面,在这里,您可以为您的应用程序定义每一个移动包络。PTO 支持最大100 个包络。定义一个包络,包括如下几点:①选择操作模式;②为包络的各步定义指标。③为包络定义一个符号名。⑴选择包络的操作模式:PTO支持相对位置和单一速度的续转动,如图3所示,相对位置模式指的是运动的终点位置是从起点侧开始计算的脉冲数量。单速续转动则不需要提供终点位置,PTO一直持续输出脉冲,直至有其他命令发出,例如到达原点要求停发脉冲。
图3 一个包络的操作模式⑵包络中的步一个步是工件运动的一个固定距离,包括加速和减速时间 的距离。PTO 每一包络最大允许29 个步。每一步包括目标速度和结束位置或脉冲数目等几个指标。图4 所示为一步、两步、三步和四步包络。注意一步包络只有一个常速段,两步包络有两个常速段,依次类推。步的数目与包络中常速段的数目一致。
图4 包络的步数示意3、使用位控向导编程STEP7 V4.0 软件的位控向导能自动处理PTO脉冲的单段管线和多段管线、脉宽调制、SM 位置配置和创建包络表。本节将给出一个在YL-335A 上实现的简单工作任务例子,阐述使用位控向导编程的方法和步骤。表1 是YL-335A 上实现步进电机运行所需的运动包络。表1 步进电机运行的运动包络
1、使用位控向导编程的步骤如下:1)为S7--200 PLC选择选项组态 置PTO/PWM操作。在STEP7 V4.0软件命令菜单中选择工具→位置控制向导并选择配置S7-200PLC内置PTO/PWM操作,如图5所示。
图5 位控向导启动界面2)单击“下一步”选择“QO.0”,再单击“下一步”选择“线性脉冲输出 PTO)”
图5 选择PTO或PWM界面3)单击“下一步”后,在对应的编辑框中输入MAX_SPEED 和SS_SPEED 速度值。输入最高电机速度“90000”,把电机启动/停止速度设定为“600”。这时,如果单击MIN_SPEED值对应的灰色框,可以发现,MIN_SPEED值改为600,注意:MIN_SPEED值由计算得出。用户不能在此域中输入其他数值。
图64)单击“下一步”填写电机加速时间“1500”和电机减速时间 “200”
图7 设定加速和减速时间5)接下来一步是配置运动包络界面,见图8。
图8 配置运动包络界面该界面要求设定操作模式、1个步的目标速度、结束位置等步的指标,以及定义这一包络的符号名。(从第0个包络第0步开始)在操作模式选项中选择相对位置控制,填写包络“0”中数据目标速度“60000”,结束位置“85600”,点击“绘制包络”,如图9所示,注意,这个包络只有1步。包络的符号名按默认定义。这样,第0个包络的设置,即从供料站→加工站的运动包络设置就完成了。现在可以设置下一个包络。
图9 设置第0个包络点击“新包络”,按上述方法将下表中上3个位置数据输入包络中去。
表中最后一行低速回零,是单速连续运行模式,选择这种操作模式后,在所出现的界面中(见图10),写入目标速度“20000”。界面中还有一个包络停止操作选项,是当停止信号输入时再向运动方向按设定的脉冲数走完停止,在本系统不使用。6)运动包络编写完成单击“确认”,向导会要求为运动包络指定V存储区地址(建议地址为VB75~VB300),默认这一建议,单击“下一步”出现图11,单击 “完成”。
图11 生成项目组件提示2、项目组件运动包络组态完成后,向导会为所选的配置生成三个项目组件(子程序),分别是:PTOx_RUN子程序(运行包络),PTOx_CTRL子程序(控制)和PTOx_MAN子程序(手动模式)子程序。一个由向导产生的子程序就可以在程序中调用如图12所示。
图12 三个项目组件它们的功能分述如下:⑴ PTOx_RUN子程序(运行包络):命令 PLC 执行存储于配置/包络表的特定包络中的运动操作。运行这一子程序的梯形图如图13所示。
图13 运行PTOx_RUN子程序EN位:启用此子程序的使能位。START参数:包络的执行的启动信号。对于在START参数已开启且PTO当前不活动时的每次扫描,此子程序会激活PTO。为了确保仅发送一个命令,请使用上升缘以脉冲方式开启START参数。Profile(包络)参数:包含为此运动包络指定的编号或符号名。Abort(终止)参数命令,开启时位控模块停止当前包络并减速至电机停止。Done(完成)参数:当模块完成本子程序时,此参数 ON。Error(错误)参数:包含本子程序的结果。C_Profile参数:包含位控模块当前执行的包络。C_Step参数:包含目前正在执行的包络步骤。⑵ PTOx_CTRL子程序:(控制)启用和初始化与步进电机或伺服电机合用的PTO输出。请在用户程序中只使用一次,并且请确定在每次扫描时得到执行。即始终使用SM0.0作为EN的输入,如图14所示。
图14 运行PTOx_CTRL子程序I_STOP(立即停止)输入:开关量输入。当此输入为低时,PTO功能会正常工作。当此输入变为高时,PTO立即终止脉冲的发出。D_STOP(减速停止)输入:开关量输入。当此输入为低时,PTO功能会正常工作。当此输入变为高时,PTO会产生将电机减速至停止的脉冲串。“完成”输出:开关量输出。当“完成”位被设置为高时,它表明上一个指令也已执行。Error(错误)参数:包含本子程序的结果。当“完成”位为高时,错误字节会报告无错误或有错误代码的正常完成。如果PTO向导的HSC计数器功能已启用,C_Pos参数包含用脉冲数目表示的模块;否则此数值始终为零。⑶ PTOx_MAN子程序(手动模式):将PTO输出置于手动模式。这允许电机启动、停止和按不同的速度运行。当PTOx_MAN子程序已启用时,任何其他PTO子程序都无法执行。运行这一子程序的梯形图如图15所示。
图15 运行PTOx_MAN子程序RUN(运行/停止)参数:命令PTO加速至指定速度(Speed(速度)参数)。您可以在电机运行中更改Speed参数的数值。停用RUN参数命令PTO减速至电机停止。当RUN已启用时,Speed参数确定着速度。速度是一个用每秒脉冲数计算的DINT(双整数)值。您可以在电机运行中更改此参数。Error(错误)参数包含本子程序的结果。如果PTO向导的HSC计数器功能已启用,C_Pos参数包含用脉冲数目表示的模块;否则此数值始终为零。
注:脉冲速率是指每秒发多少个脉冲,用来控制电机速度脉冲数量是指一共发的脉冲个数,用来控制电机行程脉冲速率X时间=脉冲数量电机速度X时间=电机行程
转载请注明本文地址:
上一篇:下一篇:
| ( 渝ICP备号)
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
PLC脉冲信号
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口& 随着自动化水平的不断提高,越来越多的工业控制场合需要精确的位置控制。因此,如何更方便、更准确地实现位置控制是工业控制领域内的一个重要问题。位置控制的精确性主要取决于伺服驱动器和运动控制器的精度。高端的运动控制模块可以对伺服系统进行非常复杂的运动控制。但在有些需要位置控制的场合,其对位置精度的要求比较高,但运动的复杂程度不是很高,这就没有必要选择那些昂贵的高端运动控制系统。
& S7-200系列PLC是一种体积小、编程简单、控制方便的可编程控制器,它提供了多种位置控制方式可供用户选择,因此,如何利用该系列PLC实现对伺服电机运动位置较为精准的控制是本文的研究重点。
1. 基本控制系统
& 伺服系统分为液压伺服系统、电气-液压伺服系统以及电气伺服系统。本文主要讨论了电气伺服系统中的交流伺服系统,其基本组成为交流伺服电机、编码器和伺服驱动器。交流伺服系统的工作原理是伺服驱动器发送运动命令,驱动伺服电机运动,并接收来自编码器的反馈信号,然后重新计算伺服电机运动目标位置,从而达到精确控制伺服电机运动。
& 本伺服系统中选用Exlar公司生产的GSX50-0601型伺服直线电动缸。该电动缸由普通伺服电机和一个行星滚珠丝杠组成,用来实现将旋转运动转变为直线运动。此外,选用Xenus公司生产的XenusTM型伺服驱动器。它可以利用RS.232串口通信方式和外部脉冲方式实现位置控制。
& 一般来说,一个伺服系统运转需要配置一个上位机,所以本系统采用西门子S7-200 PLC作为上位机控制器。通过高速脉冲输出、EM253位置控制模块、自由口通信三种方式控制伺服电机运动。
2. 高速脉冲输出模式
& 西门子CPU224XP配置两个内置脉冲发生器,它有脉冲串输出(PTO)和脉冲宽度调制输出两种脉冲发生模式可供选择。这两个脉冲发生器的最大脉冲输出频率为100 kHz。在脉冲串输出方式中,PLC可生成一个50%占空比脉冲串,用于步进电机或伺服电机的速度和位置的控制。
2.1 硬件构成
& 图1为高速脉冲输出方式的位置控制原理图。控制过程中,将伺服驱动器工作定义在脉冲+方向模式下,Q0.0发送脉冲信号,控制电机的转速和目标位置;Qo,发送方向信号,控制电机的运动方向。伺服电动缸上带有左限位开关LIM一、右限位开关LIM+以及参考点位置开关REF。三个限位信号分别连接到CPU224XP的I0.0~I0.2三个端子上,可通过软件编程,实现限位和找寻参考点。
图1 位置控制原理图
2.2 程序设计
& 高速脉冲串输出(PTO)可以通过Step 7 Micro/WIN的位置控制向导进行组态,也可通过软件编程实现控制。PTO输出方式没有专门的位置控制指令,只有一条脉冲串输出指令,而且在脉冲发送过程中不能停止,也不能修改参数。为解决以上问题,可以设置脉冲计数值等于10(或更小),并能使脉冲发送指令PLS处于激活状态。这样,就可以在任一脉冲串发送完之后修改脉冲周期。
& 图2为高速脉冲输出方式位置控制流程图。控制思路为:通过PTO模式输出,可以控制脉冲的周期和个数;通过启用高速计数器HSC,对输出脉冲进行实时计数和定位控制,以控制伺服电机的运动过程。
图2 位置控制流程图
3. EM253位置控制模块
& EM253位置控制模块是西门子S7-200的特殊功能位置控制模块,它能够产生脉冲串用于步进电机与伺服电机的速度和位置的开环控制。
3.1 硬件构成
& 如图3所示为EM253位置控制原理图,定义伺服驱动器工作在脉冲+方向模式下。P0口发送脉冲,P1口发送方向,DIS端硬件使能放大器,并同时清除放大器错误。LIM-、LIM+、REF分别为电机左限位、右限位以及参考点。
图3 EM253位置控制原理图
3.2 程序设计
& EM253位置控制模块可以通过Step 7-Micro/WIN进行向导配置,配置完成后系统将自动生成子程序,编程简单、可轻松实现手动、自动、轨迹运行模式。由于EM253属于开环控制,不能很好地反馈电机实际运动情况。因此,利用伺服驱动器本身的差分输出信号,通过伺服驱动器软件设置,反馈给PLC,实现闭环位置控制。但由于直线伺服电动缸与PLE可允许发送接收信号存在一定差别,因此,需要对输入到PLC的信号进行电平的转化以及降低伺服驱动器发送的反馈脉冲频率。PLC对输入脉冲进行累加,从而得到电机的实际运转位置与运转速度,其脉冲计数程序如下。
①计数器初始化程序
LD&&&&& SMO. 1//首次扫描时
MOVB&&& 16#FC, SMB47
& //SMB47 =16#F4,SMB47为高速计数器1的控制字节
HDEF&& 1,9
&&&&&&&&&&&&&&&&&&&&& //将HSC1配置为正交模式
MOVD&& 0, SMD48
&&&&&&&&&&&&&&&&&&& //设置HSCI的新初始值为0
MOVD&& 20000,SMD52
&&&&&&&&&&&&&&& //设置HSCI的新预设值为20 000
HSC&&& I//激活高速计数器I
②脉冲计数程序
LD&&&& SMO. 0
MOVD&&& HC1,VD600
&&&&&&& //将高速计数器1所记数值存储在VD600中
DTR&&&& VD600, VD610
&&&&&&& // VD601〕中的整数转化为实数,存人VD6100
/R&&&&& SOOO,VD610
&&&&&&&&&&&&&&&&& // VD610除以5000存入VD610 ,
&&&&&&&&&&& 5001〕为电机旋转一周编码器发送脉冲数
*R&&&&& 2.54, VD610
&&&&&&&&&&&&&&&&& //VD610乘以2.54存人VD610 ,
&&&&&&&&&&&&&&& 2.54为电机旋转一周移动的距离
4& RS-232串口通信方式
4.1硬件构成
& 西门子CPU22
& 当S7-200系列PLC工作在自由口通信模式下时,一般通过CPU模块的集成接口进行通信。CPU集成接口采用了PPI硬件规范,其接口为RS-485串口,因此,当S7-200系列PLC的CPU与带有RS-232标准接口的计算机或伺服驱动器连接时,需要配套选用S7-200 PLC的PC/PPI转换电缆或一个RS-232/RS-485转换器。
4.2& PLC与伺服系统通信
4.2.1 报文构成
& S-200 PLC在无协议通信方式工作时,不需要任何通信协议,通信参数需要根据与其进行通信的伺服驱动器的通信格式进行设定。本伺服系统选用的Xe-nus伺服驱动器可通过RS-232与PLC利用ASCII码进行通信,其ASCII码消息命令格式如下:
& &命令代码&&命令具体参数&
& 其中:&命令代码&为一个单字母代码;&命令具体参数&表示电机所要执行的任务;为一个回车返回字符,表示命令结束。如:s r0x2A 21表示设置伺服控制器工作在可编程控制模式。
4.2.2 程序设计
& 程序设计时,将伺服驱动器工作定义在可编程位置模式。该模式支持实时更改伺服电机的运动速度、位置,通过RS-232接收来自PLC的ASCII码命令,执行运动。部分程序如下:
①初始化程序
LD&&&&& SMO. 1&&&&&&&&&&&&&&&&& //首次扫描
MOVB&&& 9, SMB30
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //设置自由端口0
&&&&&&&&&&& 通信方式SMB30=9、8位数据位、9600、PPI
MOVB&&& 188, SMB87
&&&&& //设置自由端口。接收信息控制5MB87 =188
MOVB&&& 13,SMB89&&&&&&&&&&&&&&&&&&&&&& //设置自由端口0
&&&&&&&&&&&&& 结束字符SMB89=13,即结束字符=
MOVW& 0, SMW90&&&&&&&&&&&&&&&&&&&&&&&&& //设置自由端口0
&&&&&&&&&&&& 空闲超时SMB90=0,信息接收始终处于有效
MOVW200, SMW92
&&&&&&&&&&&& //设置自由端口0信息超时SMB92 =200 ms
MOVB&& 255, SMB94
&&&&&&&&&&& //设置自由端口0接收字符最大数SMB94=255
ATCH&&& INT_0,9&&&&&&&&&&& //发送完成触发中断事件0
ENI&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //允许中断
②发送信息程序
LDN&&&& VD3501.1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // V D3501.1为接收延迟,
&&&&&&&&&&&&&&&&&&&&&&&&&& 自由端口0没有处于接收延迟时
A&&&&&&&&&&&&&&&&& SM4. 5
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //自由端口0处于空闲状态,SM4.5 =1
AB=&&&&&&& VB18, 7
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //命令字节VB18 =7,即要求设置运动目标位置
SCPY&&&&&& &s& r0xca',VB3100
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //&s& r0xca',复制到VB3100,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &s& r0xca'为设置运动目标位置命令
SCAT&&& VB3600, VB3100
// VB360()内的目标位置值连接到设置目标位置命令后
SCAT&&& VB3190, VB3100
&&&&&&&&&&&&&&&&& //VB3190内的结束字节连接到VB3100后;
XMT&&&& VB3100, 0
&&&&&&&&&&&&&&&&& //通过自由端口0发送命令至伺服驱动器
③发送完成中断程序(接收信息)
LD&&&&& SM0.0&&&&&&&&&&&&&& //SM0.0总是为1
S&&&&&& SM87.7, 1
&&&&&&& //置SM87. 7=1,SM87.7为允许接收信息位
RCV&&&& VB3200, 0
&&&&&&&&&&&&& //通过自由端口0接收信息至VB3200
5 三种控制方式的分析比较
& 上文分别从硬件结构与软件编程等方面,详细介绍了三种伺服电机位置控制方式。为了更好地理解这三种方式的差异,我们从软件与控制结果的角度作如下分析比较。
①软件编程
& 脉冲串输出方式可以轻松实现一些简单的位置与速度控制,具有硬件要求简单、可取代EM253并节省系统硬件配置等功能。但在编写较为复杂的运动程序时(如绝对运动需要确定电机运动的原点位置),由于步骤繁琐,故不能采用该方法加以实现。
②控制精度
& 高速脉冲输出方式和EM253位置控制方式均属于开环位置控制,它们只负责发送脉冲,但当伺服电机或伺服驱动器出现故障时,PLC或EM253都没得到相应的反馈信息,仍然在不断向外发送脉冲;而采用通信控制方式则是在每次发送命令结束时,伺服驱动器均会对发送的命令做出应答。
③位置控制结果
& 伺服电机的速度等于PLC或EM253的输出脉冲频匆电机每转一圈发送的脉冲数,或直接通过RS-232串口发送ASCII码控制。由于S7-200系列PLC(除CPU224XP)高速脉冲输出口的最高频率为20 kHz,EM253的最高输出频率为200 kHz,RS-232串口通信控制方式则是发送ASCII码设定运动速度。因此,对于要求高速运动,或高控制精度的伺服驱动器系统,RS-232串口通信控制方式最优,而高速脉冲输出方式则不能满足要求。
& 采用高速脉冲输出控制和EM253位置控制方式时,伺服驱动器工作在脉冲+方向模式下,而处于通信控制方式时,伺服驱动器工作在可编程位置控制模式下。高速脉冲输出方式不能根据实际状况实时更改伺服电机运动速度与目标位置,EM253位置控制方式只能在手动模式下实时更改速度,采用通信控制方式时,当伺服驱动器设置电机在可编程位置控制模式下运动时,可通过RS-232串口发送ASCII码命令,实时更改速度和目标位置。
& 高速脉冲输出方式主要应用于对速度及位置控制精度要求均不高的简单位置控制中,从而节省硬件资源。EM253位置控制方式编程简单,它支持高速脉冲输出、支持线性的加减速功能、提供可组态的测量系统,可以使用工程单位如毫米,支持绝对、相对和手动的位控方式,提供连续操作。RS-232串口通信方式在三种位置控制方式中最具优势,它支持闭环控制,可实时调节速度、位置等;但由于伺服驱动器型号的不同,所以并不是所有的伺服驱动器都支持串口通信方式。
& 在实际应用中,将EM253位置控制方式应用于注塑机注气系统中,经过反复实验,可实现手动控制、半自动控制、全自动控制等三种控制方式,编程简单。触摸屏操作界面简洁、操作灵活、工作可靠稳定。
& 经过详细介绍与分析比较,三种位置控制方式各有优缺点,各有其自身所适合的应用场合,这为今后类似的位置控制提供了一定的参考价值。永宏PLC控制伺服电机视频(脉冲+方向)_土豆_高清视频在线观看

我要回帖

更多关于 西门子plc脉冲指令 的文章

 

随机推荐