pto 包络1,包络2,包络3怎么运行

<> 接触西门子LC一个月了关于控制步进电机方面问点问题。麻烦各位大师帮忙分析一下
<> 问题1、我通过向导做了一个TO的子程序。在数据块里有一个步进TO0DATA包络表这里有很多參数,我能在触摸屏上改动已经设置好的包络里面的参数吗比如下面的包络表我已经设置好,频率范围为1K-8K加减速为300MS,只有一个包络0呮有一步 &nbs;步0的是 &nbs;以6K的速度运行3.5W个脉冲。向导地址设置好了为 VB2240-VB2309 . <> 若我想改频率的上下限值或者加减速时间或者是修改包络0步0里的运行速度和总脈冲数怎么设置麻烦大神门举一个例子就好。 <> 还有两个关于程序方面的问题:上程序先 <>
<> 如上图网络1 ,启用Q0.0网络2,手动网络3,自动運行包络程序网络4,当自动运行包络程序后V10.6 &nbs;为1,则接通一个输出 Q0.3(为控制一个切割气缸的电磁阀)同时接通T38,在1秒后又给TO RUN一个运行信号步进电机继续运行 包络0,这样循环下去 <> 上面是我设置程序的本意,但是调试后发现两个问题 <> 二、当按下 V10.0或者V10.1时 T38不清零,依然在計数且 V10.6 为1、 &nbs;一直没看懂。 求解 麻烦各位大神了
<> 基本指令和顺序控制指令是LC最常鼡的指令为了适应现代工业自动控制需要,LC制造商开始逐步为LC增加很多功能指令功能指令使LC具有强大的数据运算和特殊处理功能,从洏大大扩展了LC的使用范围 <> S7-200 LC内部有两个高速脉冲发生器,通过设置可让它们产生占空比为50%、周期可调的方波脉冲(即TO脉冲)或者产生占涳比及周期均可调节的脉宽调制脉冲(即WM脉冲)。占空比是指高电平时间与周期时间的比值TO脉冲和WM脉冲如图1所示。 <> 在使用脉冲发生器功能时其产生的脉冲从Q0.0和Q0.1端子输出,当指定一个发生器输出端为Q0.0时另一个发生器的输出端自动为Q0.1,若不使用脉冲发生器这两个端子恢複普通端子功能。要使用高速脉冲发生器功能LC应选择晶体管输出型,以满足高速输出要求 <> 高速脉冲输出指令说明如下: <>
<> 二、高速脉冲輸出的控制字节、参数设置和状态位 <> 要让高速脉冲发生器产生合符要求的脉冲,须对其进行有关控制及参数设置另外,通过读取其工作狀态可触发需要的操作 <> 高速脉冲发生器的控制采用一个SM控制字节(8位),用来设置脉冲输出类型(TO或WM)、脉冲时间单位等内容高速脉沖发生器的控制字节说明见表5-14,例如当SM67.6=0时让Q0.0端子输出TO脉冲;当SM77.3=1时,让Q0.1端子输出时间单位为ms的脉冲 <> 表1 速脉冲发生器的控制字节 <> 高速脈冲发生器采用SM存储器来设置脉冲的有关参数。脉冲参数设置存储器说明见表2例如SM67.3=1,SMW68=25则将脉冲周期设为25ms。 <> 表2 脉冲参数设置存储器 <> 高速脉冲发生器的状态采用SM位来显示通过读取状态位信息可触发需要的操作。高速脉冲发生器的状态位说明见表3例如SM66.7=1表示Q0.0端子脉冲輸出完成。 <> 高速脉冲发生器的状态位

<> 三、TO脉冲的产生与使用
<> TO脉冲是一种占空比为50%、周期可调节的方波脉冲TO脉冲的周期范围为10μs~65535μs或2 ms~65535 ms,为16位无符号数;TO脉冲数范围为1~为32位无符号数。 <> 在设置脉冲个数时若将脉冲个数设为0,系统会默认为个数为1;在设置脉冲周期时洳果周期小于两个时间单位,系统会默认周期值为两个时间单位如时间单位为ms,周期设为1.3ms系统会默认周期为2ms,另外如果将周期值设為奇数值(如75ms),产生的脉冲波形会失真 <> TO脉冲可分为单段脉冲串和多段脉冲串,多段脉冲串由多个单段脉冲串组成 <> 要让Q0.0或Q0.1端子输出单段脉冲串,须先对相关的控制字节和参数进行设置再执行高速脉冲输出LS指令。 <> 图2是一段用来产生单段脉冲串的程序在LC首次扫描时,SM0.1触點闭合一个扫描周期复位指令将Q0.0输出映像寄存器(即Q0.0线圈)置0,以便将Q0.0端子用作高速脉冲输出;当I0.1触点闭合时上升沿触点接通一个扫描周期,MOV_B、MOV_W和MOV_DW依次执行对高速脉冲发生器的控制字节和参数进行设置,然后执行高速脉冲输出LS指令让高速脉冲发生器按设置产生单段TO脈冲串并从Q0.0端子输出。在TO脉冲串输出期间如果I0.2触点闭合,MOV_B、MOV_DW依次执行将控制字节设为禁止脉冲输出、脉冲个数设为0,然后执行LS指令高速脉冲发生器马上按新的设置工作,即停止从Q0.0端子输出脉冲单段TO脉冲串输出完成后,状态位SM66.7会置1表示TO脉冲输出结束。 <> 若网络2中不使鼡边沿触点那么在单段TO脉冲串输出完成后如果I0.1触点仍处于闭合,则会在前一段脉冲串后面继续输出相同的下一段脉冲串 <> 图2 一段产生单段脉冲串的程序 <> 2. 多段脉冲串的产生 <> 多段脉冲串有两种类型:单段管道脉冲串和多段管道脉冲串。 <> 单段管道脉冲串是由多个单段脉冲串组成每个单段脉冲串的参数可以不同,但单段脉冲串中的每个脉冲参数要相同 <> 由于控制单元参数只能对单段脉冲串产生作用,因此在输出單段管道脉冲串时要求执行LS指令产生首段脉冲串后,马上按第二段脉冲串要求刷新控制参数单元并再次执行LS指令,这样首段脉冲串输絀完成后会接着按新的控制参数输出第二段脉冲串。单段管道脉冲串的每个脉冲串可采用不同参数这样易出现脉冲串之间连接不平稳,在输出多个参数不同的脉冲串时编程也很复杂。 <> 多段管道脉冲串也由多个单段脉冲串组成每个单段脉冲串的参数可以不同,单段脉沖串中的每个脉冲参数也可以不同 <> 1)参数设置包络表。由于多段管道脉冲串的各个脉冲串允许有较复杂的变化无法用产生单段管道脉沖串的方法来输出多段管道脉冲串,S7-200 LC采用在变量存储区建立一个包络表由该表来设置多段管道脉冲串中的各个脉冲串的参数。多段管道脈冲串的参数设置包络表见表4从包络表可以看出,每段脉冲串的参数占用8个字节其中2字节为16位初始周期值,2字节为16位周期增量值4字節为32位脉冲数值,可以通过编程的方式使脉冲的周期自动增减在周期增量处输入一个正值会增加周期,输入一个负值会减少周期输入0將不改变周期。 <>
表4 多段管道脉冲串的参数设置包络表 <> 在多段管道模式下系统仍使用特殊存储器区的相应控制字节和状态位,每个脉冲串嘚参数则从包络表的变量存储器区读出在多段管道编程时,必须将包络表的变量存储器起始地址(即包络表中的n值)装入SMW168或SMW178中在包络表中的所有周期值必须使用同一个时间单位,而且在运行时不能改变包络表中的内容执行LS指令来启动多段管道操作。 <> 2)多段管道脉冲串嘚应用举例多段管道脉冲串常用于步进电机的控制。图3是一个步进电机的控制包络线包络线分3段:第1段(AB段)为加速运行,电机的起始频率为2kHz(周期为500μs)终止频率为10kHz(周期为100μs),要求运行脉冲数目为200个;第2段(BC段)为恒速运行电机的起始和终止频率均为10kHz(周期為100μs),要求运行脉冲数目为3600个;第3段(CD段)为减速运行电机的起始频率为10kHz(周期为100μs),终止频率为2kHz(500μs)要求运行脉冲数目为200个。 <> 列包络表除了要知道段脉冲的起始周期和脉冲数目外还须知道每个脉冲的周期增量,周期增量可用下面公式计算获得: <> 周期增量值=(段终止脉冲周期值-段起始脉冲周期值)/该段脉冲数 <> 图3 一个步进电机的控制包络线 <> 根据步进电机的控制包络线可列出相应的包络表包络表见表5。 <> 根据步进电机的控制包络线列出的包络表 <> 根据包络表可编写出步进电机的控制程序程序如图4所示,该程序由主程序、SBR_0子程序和INT_0Φ断程序组成 <> 在主程序中,LC首次扫描时SM0.1触点闭合一个扫描周期先将Q0.0端子输出映像寄存器置0,以便将该端子用作高速脉冲输出然后执荇子程序调用指令转入SBR_0子程序。在SBR_0子程序中网络1用于设置多段管道脉冲串的参数包络表(段数、第1段参数、第2段参数和第3段参数),网絡2先设置脉冲输出的控制字节并将包络表起始单元地址号送入SMW168单元,然后用中断连接指令将INT_0中断程序与中断事件19(TO 0脉冲串输出完成产生Φ断)连接起来再用ENI指令允许所有的中断,最后执行LS指令让高速脉冲发生器按设定的控制方式和参数(由包络表设置)工作,即从Q0.0端子输絀多段管道脉冲串去驱动步进电机按加速、恒速和减速顺序运行。当Q0.0端子的多管道TO脉冲输出完成后马上会向系统发出中断请求,系统則执行INT_0中断程序Q1.0线圈得电。 <>
图4 步进电机控制程序 <> 四、WM脉冲的产生与使用 <> WM脉冲是一种占空比和周期都可调节的脉冲WM脉冲的周期范围为10μs~65535μs或2 ms~65535 ms,为16位无符号数在设置脉冲周期时,如果周期小于两个时间单位系统会默认周期值为两个时间单位;WM脉宽时间为0μs~65535μs或0ms~65535 ms,为16位无符号数若设定的脉宽等于周期(即占空比为100%),输出一直接通设定脉宽等于0 (即占空比为0%),输出断开 <> WM脉冲的波形改变方式有两种:同步更新和异步更新。 <> 如果不需改变时间基准则可以使用同步更新方式,利用同步更新信号波形特性的变化发生在周期边沿,使波形能平滑转换 <> 如果需要改变WM发生器的时间基准,就要使用异步更新异步更新会使WM功能被瞬时禁止, WM信号波形过渡不平滑这会引起被控设备的振动。 <> 由于异步更新生成的WM脉冲有较大的缺陷一般情况下尽量使用脉宽变化、周期不变的WM脉冲,这样可使用同步更新 <> 2. 产生WM脉沖的编程方法 <> 要让高速脉冲发生器产生WM脉冲,可按以下步骤编程: <> 1)根据需要设置控制字节SMB67或SMB68 <> 2)根据需要设置脉冲的周期值和脉宽值。周期值在SMW68或SMW78中设置脉宽值在SMW70或SMW80中设置。 <> 3)执行高速脉冲输出LS指令系统则会让高速脉冲发生器按设置从Q0.0或Q0.1端子输出WM脉冲。 <> 3.产生WM脉冲的编程实例 <> 图5是一个产生WM脉冲的程序其实现的功能是:让LC从Q0.0端子输出WM脉冲,要求WM脉冲的周期固定为5s初始脉宽为0.5s,每周期脉宽递增0.5s当脉宽達到4.5s后开始递减,每周期递减0.5s直到脉宽为0。以后重复上述过程 <> 该程序由主程序、SBR_0子程序和INT_0、INT_1两个中断程序组成,SBR_0子程序为WM初始化程序用来设置脉冲控制字节和初始脉冲参数,INT_0中断程序用于实现脉宽递增INT_1中断程序用于实现脉宽递减。由于程序采用中断事件0(I0.0上升沿中斷)产生中断因此要将脉冲输出端子Q0.0与I0.0端子连接,这样在Q0.0端子输出脉冲上升沿时I0.0端子会输入脉冲上升沿,从而触发中断程序实现脉沖递增或递减。 <> 程序工作过程说明如下: <> 在主程序中LC上电首次扫描时SM0.1触点接通一个扫描周期,子程序调用指令执行转入执行SBR_0子程序。茬子程序中先将M0.0线圈置1,然后设置脉冲的控制字节和初始参数再允许所有的中断,最后执行高速脉冲输出LS指令让高速脉冲发生器按設定的控制字节和参数产生并从Q0.0端子输出WM脉冲,同时从子程序返回到主程序网络2由于网络2、3指令条件不满足,程序执行网络4M0.0常开触点閉合(在子程序中M0.0线圈被置1),中断连接ATCH指令执行将INT_0中断程序与中断事件0(I0.0上升沿中断)连接起来。当Q0.0端子输出脉冲上升沿时I0.0端子输叺脉冲上升沿,中断事件0马上发出中断请求系统响应该中断而执行INT_0中断程序。 <> 在INT_0中断程序中ADD_I指令将脉冲宽度值增加0.5s,再执行LS指令让Q0.0端子输出完前一个WM脉冲后按新设置的宽度输出下一个脉冲,接着执行中断分离DTCH指令将中断事件0与INT_0中断程序分离,然后从中断程序返回主程序在主程序中,又执行中断连接ATCH指令又将INT_0中断程序与中断事件0连接起来,在Q0.0端子输出第二个WM脉冲上升沿时又会产生中断而再次执荇INT_0中断程序,将脉冲宽度值再增加0.5s然后执行LS指令让Q0.0端子输出的第三个脉冲宽度增加0.5s。以后INT_0中断程序会重复执行直到SMW70单元中的数值增加箌4500。 <> 当SMW70单元中的数值增加到4500时主程序中的“SMW70|>=I|4500”触点闭合,将M0.0线圈复位网络4中的M0.0常开触点断开,中断连接ATCH指令无法执行INT_0中断程序吔无法执行,网络5中的M0.0常闭触点闭合中断连接ATCH指令执行,将INT_1中断程序与中断事件0连接起来当Q0.0端子输出脉冲上升沿(I0.0端子输入脉冲上升沿)时,中断事件0马上发出中断请求系统响应该中断而执行INT_1中断程序。 <> 在INT_1中断程序中将脉冲宽度值减0.5s,再执行LS指令让Q0.0端子输出WM脉冲寬度减0.5s,接着执行中断分离DTCH指令分离中断,然后从中断程序返回主程序在主程序中,又执行网络5中的中断连接ATCH指令又将INT_1中断程序与Φ断事件0连接起来,在Q0.0端子输出WM脉冲上升沿时又会产生中断而再次执行INT_1中断程序,将脉冲宽度值再减0.5s以后INT_1中断程序会重复执行,直到SMW70單元中的数值减少到0 <> 当SMW70单元中的数值减少到0时,主程序中的“SMW70|==I|0”触点闭合子程序调用指令执行,转入执行SBR_0子程序又进行WM初始化操作。 <> 以后程序重复上述工作过程从而使Q0.0端子输出先递增0.5s、后递减0.5s、周期为5s连续的WM脉冲。 <>
图5 产生WM脉冲的程序 <> 选自《学LC技术超简单》蔡杏屾 主编 <> 想了解更多请关注微信“机械工业出版社E视界”
<> S7-200 有两个 置TO/WM 发生器用以建立高速脈冲串(TO)或脉宽调节(WM) 信号波形。 <> 当组态一个输出为TO 操作时生成一个50%占空比脉冲串用于步进电机或伺服电 <> 机的速度和位置的开环控淛。 置TO 功能提供了脉冲串输出脉冲周期和数量可由用户控制。但应用程序必须通过LC内置I/O 提供方向和限位控制 <> 为了简化用户应用程序中位控功能的使用,STE7--Micro/WIN 提供的位控向导可以帮助您在几分钟内全部完成WMTO 或位控模块的组态。向导可以生成位置指令用户可以用这些指令在其应用程序中为速度和位置提供动态控制。 <> 2、开环位控用于步进电机或伺服电机的基本信息 <> 借助位控向导组态TO 输出时需要用户提供一些基本信息,逐项介绍如下: <> 图1是这2 个概念的示意图 <> MAX_SEED 是允许的操作速度的最大值,它应在电机力矩能力的范围 驱动负载所需的力矩由摩擦力、惯性以及加速/减速时间决定。 <> 图1&nbs; 最大速度和启动/停止速度示意 <> SS_SEED:该数值应满足电机在低速时驱动负载的能力如果SS_SEED 的数值过 低,电機和负载在运动的开始和结束时可能会摇摆或颤动如果SS_SEED 的数值过高,电机会在启动时丢失脉冲并且负载在试图停止时会使电机超速。通常SS_SEED 值是MAX_SEED 值的5%至15%。 <> 加速时间和减速时间的缺省设置都是1000 毫秒通常,电机可在小于1000 毫秒的时间工作参见图2。这2 个值设定时要以毫秒为單位 <> 注意:电机的加速和失速时间要 过测试来确定。开始时您应输入一个较大的值。逐渐减少这个时间值直至电机开始失速从而优囮您应用中的这些设置。 <> 一个包络是一个预先定义的移动描述它包括一个或多个速度,影响着从起点到终点的移动一个包络由多段组荿,每段包含一个达到目标速度的加速/减速过程和以目标速度匀速运行的一串固定数量的脉冲 位控向导提供移动包络定义界面,在这里您可以为您的应用程序定义每一个移动包络。TO 支持最大100 个包络 <> 定义一个包络,包括如下几点:①选择操作模式;②为包络的各步定义指标③为包络定义一个符号名。 <> ⑴选择包络的操作模式:TO 支持相对位置和单一速度的 续转动如图3所示,相对位置模式指的是运动的终點位置是从起点侧开始计算的脉冲数量单速续转动则不需要提供终点位置,TO 一直持续输出脉冲直至有其他命令发出,例如到达原点要求停发脉冲 <> 一个步是工件运动的一个固定距离,包括加速和减速时间 的距离TO 每一包络最大允许29 个步。 <> 每一步包括目标速度和结束位置戓脉冲数目等几个指标图4 所示为一步、两步、三步和四步包络。注意一步包络只有一个常速段两步包络有两个常速段,依次类推步嘚数目与包络中常速段的数目一致。 <> STE7 V4.0 软件的位控向导能自动处理TO 脉冲的单段管线和多段管线、脉宽调 <> 制、SM 位置配置和创建包络表 <> 本节将給出一个在YL-335A 上实现的简单工作任务例子,阐述使用位控向导编程的方法和步骤表1 是YL-335A 上实现步进电机运行所需的运动包络。 <> 1、使用位控向導编程的步骤如下: <> 在STE7 V4.0软件命令菜单中选择 工具→位置控制向导并选择配置S7-200LC内 <> 置TO/WM操作如图5所示。 <> 图5 位控向导启动界面 <> 2)单击“下一步”選择“QO.0”再单击“下一步”选择“线性脉冲输出 TO)”。 <> 3)单击“下一步”后在对应的编辑框中输入MAX_SEED 和SS_SEED 速度值。输入最高电机速度90000把电机启动/停止速度设定为600。这时如果单击MIN_SEED值对应的灰色框,可以发现MIN_SEED值改为600,注意:MIN_SEED值由计算得出用户不能在此域中输入其他数值。

我要回帖

更多关于 pto 的文章

 

随机推荐