1、S7200脉冲概述S7-200提供了三种方式的开环运动控制: 脉宽调制PWM-置于S7-200,用于速度、位置或占空比控制。 脉冲串输出PTO-置于S7-200,用于速度和位置控制。 EM253位控模块-用于速度和位置控制的附加模块。S7当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。置PTO功能仅提供了脉冲串输出。您的应用程序必须通过PLC置I/O或扩展模块提供方向和限位控制。PTO按照给定的脉冲个数和周期输出一串方波占空比50,如图1。PTO可以产生单段脉冲串或者多段脉冲串使用脉冲包络。可以指定脉冲数和周期以微秒或毫秒为增加量: 脉冲个
2、数: 1到4,294,967,295 周期: 10s(100K)到65535s或者2ms到65535ms。图1200系列的PLC的最大脉冲输出频率除 CPU224XP 以外均为20kHz。CPU224XP可达100kHz。如表1所示:表12 MAP库的应用2.1 MAP库的根本描述现在,200系列 PLC 本体 PTO 提供了应用库MAP SERV Q0.0 和 MAP SERV Q0.1,分别用于 Q0.0 和 Q0.1 的脉冲串输出。如图2所示:图2注: 这两个库可同时应用于同一项目。各个块的功能如表2所示:块功能Q0_x_CTRL参数定义和控制Q0_x_MoveRelative执行一次相
3、对位移运动Q0_x_MoveAbsolute执行一次绝对位移运动Q0_x_MoveVelocity按预设的速度运动Q0_x_Home寻找参考点位置Q0_x_Stop停止运动Q0_x_LoadPos重新装载当前位置Scale_EU_Pulse将距离值转化为脉冲数Scale_Pulse_EU将脉冲数转化为距离值表2总体描述该功能块可驱动线性轴。为了很好的应用该库,需要在运动轨迹上添加三个限位开关,如图3: 一个参考点接近开关home,用于定义绝对位置 C_Pos 的零点。 两个边界限位开关,一个是正向限位开关(Fwd_Limit),一个是反向限位开关(Rev_Limit)。 绝对位置 如果一个限位
4、开关被运动物件触碰,那么该运动物件会减速停止,因此,限位开关的安置位置应当留出足够的裕量 Smin 以防止物件滑出轨道尽头。图32.2 输入输出点定义应用MAP库时,一些输入输出点的功能被预先定义,如表3所示:名称MAP SERV Q0.0MAP SERV Q0.1脉冲输出Q0.0Q0.1方向输出Q0.2Q0.3参考点输入I0.0I0.1所用的高速计数器HC0HC3高速计数器预置值SMD 42SMD 142手动速度SMD 172SMD 182表32.3 MAP库的背景数据块为了可以使用该库,必须为该库分配 68 BYTE每个库的全局变量,如图4所示:图4下表是使用该库时所用到的最重要的一些变量
5、以相对地址表示,如表4:符号名相对地址注释Disable_Auto_Stop+V0.0默认值=0意味着当运动物件已经到达预设地点时,即使尚未减速到Velocity_SS,依然停止运动;=1时那么减速至Velocity_SS时才停止Dir_Active_Low+V0.1方向定义,默认值0 =方向输出为1时表示正向。Final_Dir+V0.2寻找参考点过程中的最前方向Tune_Factor+VD1调整因子默认值=0Ramp_Time+VD5Ramp time = accel_dec_time加减速时间Max_Speed_DI+VD9最大输出频率= Velocity_MaxSS_Speed_DI+
6、VD13最小输出频率= Velocity_SSHoming_State+VB18寻找参考点过程的状态Homing_Slow_Spd+VD19寻找参考点时的低速(默认值= Velocity_SS)Homing_Fast_Spd+VD23寻找参考点时的高速(默认值= Velocity_Max/2)Fwd_Limit+V27.1正向限位开关Rev_Limit+V27.2反向限位开关Homing_Active+V27.3寻找参考点激活C_Dir+V27.4当前方向Homing_Limit_Chk+V27.5限位开关标志Dec_Stop_Flag+V27.6开场减速PTO0_LDPOS_Error+VB
7、28使用Q0_x_LoadPos时的故障信息(16#00 =无故障, 16#FF =故障)Target_Location+VD29目标位置Deceleration_factor+VD33减速因子=(Velocity_SS Velocity_Max) /accel_dec_time (格式: REAL)SS_Speed_real+VD37最小速度= Velocity_SS (格式: REAL)Est_Stopping_Dist+VD41计算出的减速距离(格式: DINT)表42.4 功能块介绍下面逐一介绍该库中所应用到的程序块。这些程序块全部基于PLC-200 的置PTO输出,完成运动控制的功能
8、。此外,脉冲数将通过指定的高速计数器 HSC 计量。通过 HSC 中断计算并触发减速的起始点。图5参数类型格式单位意义Velocity_SSINDINTPulse/sec.启动/停止频率,必须是大于零的数Velocity_MaxINDINTPulse/sec.最大频率accel_dec_timeINREALsec.最大加减速时间Fwd_LimitINBOOL正向限位开关Rev_LimitINBOOL反向限位开关C_PosOUTDINTPulse当前绝对位置表5Velocity_SS 是最小脉冲频率,是加速过程的起点和减速过程的终点。Velocity_Max 是最大小脉冲频率,受限于电机最大频率
9、和PLC的最大输出频率。在程序中假设输入超出Velocity_SS,Velocity_Max围的脉冲频率,将会被Velocity_SS 或 Velocity_Max 所取代。accel_dec_time 是由 Velocity_SS 加速到 Velocity_Max 所用的时间或由Velocity_Max 减速到 Velocity_SS 所用的时间,两者相等,围被规定为 0.02 32.0 秒,但最好不要小于0.5秒。警告:超出 accel_dec_time 围的值还是可以被写入块中,但是会导致定位过程出错!图6参数类型格式单位意义InputINREALmm or mm/s欲转换的位移或速度P
10、ulsesINDINTPulse /revol.电机转一圈所需要的脉冲数E_UnitsINREALmm /revol.电机转一圈所产生的位移OutputOUTDINTPulse or pulse/s转换后的脉冲数或脉冲频率表6下面是该功能块的计算公式:图7参数类型格式单位意义InputINREALPulse or pulse/s欲转换的脉冲数或脉冲频率PulsesINDINTPulse /revol.电机转一圈所需要的脉冲数E_UnitsINREALmm /revol.电机转一圈所产生的位移OutputOUTDINTmm or mm/s转换后的位移或速度表7下面是该功能块的计算公式:图8参数类
11、型格式单位意义EXECUTEINBOOL寻找参考点的执行位PositionINDINTPulse参考点的绝对位移Start_DirINBOOL寻找参考点的起始方向0=反向,1=正向DoneOUTBOOL完成位1=完成ErrorOUTBOOL故障位1=故障表8该功能块用于寻找参考点,在寻找过程的起始,电机首先以 Start_Dir 的方向,Homing_Fast_Spd 的速度开场寻找;在碰到limit switch (“Fwd_Limit or “Rev_Limit)后,减速至停止,然后开场相反方向的寻找;当碰到参考点开关(input I0.0; withQ0_1_Home: I0.1)的上升
12、沿时,开场减速到 “Homing_Slow_Spd。如果此时的方向与 “Final_Dir 一样,那么在碰到参考点开关下降沿时停止运动,并且将计数器HC0的计数值设为 “Position 中所定义的值。如果当前方向与 “Final_Dir 不同,那么必然要改变运动方向,这样就可以保证参考点始终在参考点开关的同一侧具体是那一侧取决于 “Final_Dir。寻找参考点的状态可以通过全局变量 “Homing_State 来监测,如表9:Homing_State的值意义0参考点已找到2开场寻找4在相反方向,以速度Homing_Fast_Spd继续寻找过程在碰到限位开关或参考点开关之后6发现参考点,开场
13、减速过程7在方向Final_Dir,以速度Homing_Slow_Spd继续寻找过程在参考点已经在Homing_Fast_Spd的速度下被发现之后10故障在两个限位开关之间并未发现参考点表9图9参数类型格式单位意义EXECUTEINBOOL相对位移运动的执行位Num_PulsesINDINTPulse相对位移必须1VelocityINDINTPulse/sec.预置频率(Velocity_SS = Velocity =Velocity_Max)DirectionINBOOL预置方向0=反向,1=正向DoneOUTBOOL完成位1=完成表10图10参数类型格式单位意义EXECUTEINBOOL绝
14、对位移运动的执行位PositionINDINTPulse绝对位移VelocityINDINTPulse/sec.预置频率(Velocity_SS = Velocity =Velocity_Max)DoneOUTBOOL完成位1=完成表11图11参数类型格式单位意义EXECUTEINBOOL执行位VelocityINDINTPulse/sec.预置频率(Velocity_SS = Velocity =Velocity_Max)DirectionINBOOL预置方向0=反向,1=正向ErrorOUTBYTE故障标识0=无故障,1=立即停止,3=执行错误C_PosOUTDINTPulse当前绝对位置
15、表12注意:Q0_x_MoveVelocity 功能块只能通过 Q0_x_Stop block 功能块来停止轴的运动。如图12:图12图13参数类型格式单位意义EXECUTEINBOOL执行位DoneOUTBOOL完成位1=完成表13图14参数类型格式单位意义EXECUTEINBOOL设置绝对位置的执行位New_PosINDINTPulse预置绝对位置DoneOUTBOOL完成位1=完成ErrorOUTBYTE故障位0=无故障C_PosOUTDINTPulse当前绝对位置表14注意:使用该块将使得原参考点失效,为了清晰地定义绝对位置,必须重新寻找参考点。2.5 校准该块所使用的算法将计算出减速
16、过程从减速起始点到速度最终到达Velocity_SS所需要的脉冲数。但时在减速过程中所形成的斜坡有可能会导致计算出的减速斜坡与实际的包络不完全一致。此时就需要对 “Tune_Factor 进展校正。校正因子 “Tune_Factor“Tune_Factor 的最优值取决于最大、最小和目标脉冲频率以及最大减速时间。如图15:图15如下图,运动的目标位置是B,算法会自动计算出减速起始点,当计算与实际不符时,当轴已经运动到B点时,尚未到达最低速度,此时假设位 Disable_Auto_Stop = 0,那么轴运动到B点即停止运动,假设位 Disable_Auto_Stop = 1,那么轴会继续运动直
17、至到达最低速度。图中所示的情况为计算的减速起始点出现的太晚了。确定调整因子注意:一次新的校准过程并不需要将伺服驱动器连接到CPU。步骤如下:1. 置位 Disable_Auto_Stop,即令 Disable_Auto_Stop = 1。2. 设置 “Tune_Factor = 1。3. 使用 Q0_x_LoadPos 功能将当前位置的绝对位置设为0。4. 使用 Q0_x_MoveRelative,以指定的速度完成一次相对位置运动留出足够的空间以使得该运动得以顺利完成。5. 运动完成后,查看实际位置 HC0。Tune_Factor 的调整值应由 HC0,目标相对位移 Num_Pulses,预估
18、减速距离 Est_Stopping_Dist 所决定。Est_Stopping_Dist 由下面的公式计算得出:Tune_Factor由下面的公式计算得出:6. 在调用 Q0_x_CTRL 的网络之后插入一条网络,将调整后的 Tune_Factor 传递给全局变量 +VD1,如图16。图167. 复位 Disable_Auto_Stop,即令 Disable_Auto_Stop = 0。2.6 寻找参考点的假设干种情况在寻找参考点的过程中由于起始位置、起始方向和终止方向的不同会出现很多种情况。一个总的原那么就是:从起始位置以起始方向 Start_Dir 开场寻找,碰到参考点之前假设碰到限位开关
19、,那么立即调头开场反向寻找,找到参考点开关的上升沿即刚遇到参考点开关即减速到寻找低速 Homing_Slow_Spd,假设在检测到参考点开关的下降沿即刚离开遇到参考点开关之前已经减速到 Homing_Slow_Spd,那么比拟当前方向与终止方向 Final_Dir 是否一致,假设一致,那么完成参考点寻找过程;假设否,那么调头找寻另一端的下降沿。假设在检测到参考点开关的下降沿即刚离开遇到参考点开关之前尚未减速到 Homing_Slow_Spd,那么在减速到 Homing_Slow_Spd 后调头加速,直至遇到参考点开关上升沿,重新减速到 Homing_Slow_Spd,最后判断当前方向与终止方向 Final_Dir 是否一致,假设一致,那么完成参考点寻找过程;假设否,那么调头找寻另一端的下降沿。Final_Dir 决定寻找参考点过程完毕后,轴停在参考点开关的哪一侧下面的图形会反响不同情形下寻找参考点的过程。Start_Dir=0, Final_Dir=0,如图17:图17Start_Dir=0, Final_Dir=1,如图18:图18Start_Dir=1, Final_Dir=0,如图19:图19Start_Dir=1, Final_Dir=1,如图20:图20
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1