脉冲指令库帮助
- 格式:doc
- 大小:441.00 KB
- 文档页数:15
S7-200 PLC 脉冲输出MAP 库文件的使用Application of S7-200 PTO MAP LibGetting Start Edition (2011年3月)摘要该文档提供了S7-200 PLC脉冲输出指令库MAP的使用说明。
该库基于S7-200 PLC本体脉冲输出指令,用于帮助用户实现较复杂的定位功能,控制伺服驱动或步进电机。
关键词S7-200 PLC;脉冲输出;MAPKey WordsS7-200 PLC;PTO;MAP目录1 概述2 MAP库的应用2.1 MAP库的基本描述2.2 输入输出点定义2.3 MAP库的背景数据块2.4 功能块介绍2.4.1 Q0_x_CTRL2.4.2 Scale_EU_Pulse2.4.3 Scale_ Pulse_EU2.4.4 Q0_x_Home2.4.5 Q0_x_MoveRelative2.4.6 Q0_x_MoveAbsolute2.4.7 Q0_x_MoveVelocity2.4.8 Q0_x_Stop2.4.9 Q0_x_LoadPos2.5 校准2.6 寻找参考点的若干种情况1 概述S7--200提供了三种方式的开环运动控制:∙脉宽调制(PWM)--内置于S7--200,用于速度、位置或占空比控制。
∙脉冲串输出(PTO)--内置于S7--200,用于速度和位置控制。
∙EM253位控模块--用于速度和位置控制的附加模块。
S7—200的内置脉冲串输出提供了两个数字输出通道(Q0.0和Q0.1),该数字输出可以通过位控向导组态为PWM或PTO的输出。
当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。
内置PTO功能仅提供了脉冲串输出。
您的应用程序必须通过PLC内置I/O或扩展模块提供方向和限位控制。
PTO按照给定的脉冲个数和周期输出一串方波(占空比50%),如图1。
PTO可以产生单段脉冲串或者多段脉冲串(使用脉冲包络)。
基恩士plc编程脉冲指令【原创实用版】目录1.基恩士 PLC 概述2.脉冲指令的作用3.基恩士 PLC 与伺服电机的接线方式4.编程实例:基恩士 PLC 脉冲定位控制台达伺服5.总结正文一、基恩士 PLC 概述基恩士(KEYENCE)PLC 是一款广泛应用于工业自动化领域的可编程控制器。
它能够对各种工业过程进行控制,如机械手臂、传送带、自动化生产线等。
基恩士 PLC 具有丰富的指令集,可以满足各种复杂的控制需求。
二、脉冲指令的作用在基恩士 PLC 中,脉冲指令(Pulse 指令)是一种常用的控制指令,用于控制伺服电机的运动。
通过发送脉冲信号,可以精确地控制伺服电机的转速、位置和运动方向。
脉冲指令在自动化控制系统中具有重要的作用,可以实现高精度、高速度的运动控制。
三、基恩士 PLC 与伺服电机的接线方式基恩士 PLC 与伺服电机的接线方式主要包括以下几部分:1.驱动器的 IO 点与 PLC 相应的高速输出点相连接。
2.伺服电机驱动三不可或缺的要素:启动、速度、方向。
不同型号和品牌的伺服驱动器接法和所需接入的分压电阻可能有所不同,具体接线方式需参照伺服驱动器说明书进行操作。
3.端子 r502 内有 1.6k 欧姆的限流电阻,用来连接电机驱动器用。
只有晶体管输出型 PLC 才能接 DC24 以下电压。
L、N 为供电电源接点220v,24v-0v 为 PLC 输出 24v 电源。
四、编程实例:基恩士 PLC 脉冲定位控制台达伺服为了实现基恩士 PLC 对台达伺服的脉冲定位控制,需要编写相应的程序并设置相应的参数。
程序编写过程包括硬件接线、台达伺服接线、基恩士 PLC 与台达伺服之间的连接、基恩士 PLC 与电脑的连接等。
通过编写程序并下载到 PLC 中,可以实现对台达伺服的精确控制。
五、总结基恩士 PLC 作为一种广泛应用于工业自动化领域的可编程控制器,可以通过脉冲指令实现对伺服电机的高精度、高速度控制。
欧姆龙高速脉冲指令
摘要:
1.欧姆龙CPH 型PLC 简介
2.高速脉冲输出指令的作用
3.高速脉冲输出指令的应用实例
4.总结
正文:
一、欧姆龙CPH 型PLC 简介
欧姆龙CPH 型PLC 是日本欧姆龙公司推出的一款可编程逻辑控制器,广泛应用于各种工业自动化控制场合。
其具有高速、高性能、多功能、易编程等特点,能够满足不同场合的控制需求。
二、高速脉冲输出指令的作用
高速脉冲输出指令是欧姆龙CPH 型PLC 中的一种指令,主要用于控制步进电机或伺服电机等高速脉冲驱动设备。
通过高速脉冲输出指令,可以实现对驱动设备的精确控制和调速,从而满足各种工业自动化控制场合的要求。
三、高速脉冲输出指令的应用实例
1.控制步进电机
步进电机是一种将电脉冲转换为角位移的电机,其工作原理是通过接收脉冲信号,驱动电机转动一定的角度。
欧姆龙CPH 型PLC 通过高速脉冲输出指令,可以精确控制步进电机的转速、位置和转向,实现对步进电机的精确控制。
2.控制伺服电机
伺服电机是一种通过接收脉冲信号实现角位移控制的电机。
与步进电机不同,伺服电机具有更高的控制精度和更低的转速波动。
欧姆龙CPH 型PLC 通过高速脉冲输出指令,可以实现对伺服电机的精确控制和调速,提高控制精度和运动平稳性。
四、总结
欧姆龙CPH 型PLC 的高速脉冲输出指令在工业自动化控制领域具有广泛的应用,可以实现对步进电机和伺服电机等高速脉冲驱动设备的精确控制和调速。
脉冲输出指令库⽤法1 概述S7--200提供了三种⽅式的开环运动控制:脉宽调制(PWM)--内置于S7--200,⽤于速度、位置或占空⽐控制。
脉冲串输出(PTO)--内置于S7--200,⽤于速度和位置控制。
EM253位控模块--⽤于速度和位置控制的附加模块。
S7—200的内置脉冲串输出提供了两个数字输出通道(Q0.0和Q0.1),该数字输出可以通过位控向导组态为PWM或PTO的输出。
当组态⼀个输出为PTO操作时,⽣成⼀个50%占空⽐脉冲串⽤于步进电机或伺服电机的速度和位置的开环控制。
内置PTO功能仅提供了脉冲串输出。
您的应⽤程序必须通过PLC内置I/O或扩展模块提供⽅向和限位控制。
PTO按照给定的脉冲个数和周期输出⼀串⽅波(占空⽐50%),如图1。
PTO可以产⽣单段脉冲串或者多段脉冲串(使⽤脉冲包络)。
可以指定脉冲数和周期(以微秒或毫秒为增加量):脉冲个数:1到4,294,967,295周期:10µs(100K)到65535µs或者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所⽰:表2总体描述该功能块可驱动线性轴。
为了很好的应⽤该库,需要在运动轨迹上添加三个限位开关,如图3:⼀个参考点接近开关(home),⽤于定义绝对位置C_Pos 的零点。
两个边界限位开关,⼀个是正向限位开关(Fwd_Limit),⼀个是反向限位开关(Rev_Limit)。
绝对位置 C_Pos 的计数值格式为DINT ,所以其计数范围为(-2.147.483.648 to +2.147.483.647).如果⼀个限位开关被运动物件触碰,则该运动物件会减速停⽌,因此,限位开关的安置位置应当留出⾜够的裕量 ΔSmin 以避免物件滑出轨道尽头。
oc脉冲指令OC脉冲指令是一种用于控制和操作计算机系统的指令集。
它是Objective-C编程语言中的一种指令,用于处理和管理对象以及对象之间的消息传递。
OC脉冲指令的设计目的是提供一种简洁、灵活和高效的编程方式,以满足开发人员的需求。
在OC脉冲指令中,最常用的指令之一是"alloc"指令。
这个指令用于创建一个新的对象,并返回对该对象的引用。
通过使用"alloc"指令,开发人员可以在运行时动态地分配内存空间,以存储对象的属性和方法。
除了"alloc"指令之外,OC脉冲指令还包括"init"指令。
这个指令用于初始化对象的属性和方法,并返回对该对象的引用。
通过使用"init"指令,开发人员可以在创建对象之后对其进行必要的设置和配置。
另一个常用的OC脉冲指令是"release"指令。
这个指令用于释放对象所占用的内存空间,并将对该对象的引用置为nil。
通过使用"release"指令,开发人员可以在对象不再被使用时,手动释放其内存空间,以避免内存泄漏的问题。
除了上述指令之外,OC脉冲指令还包括"retain"指令和"copy"指令。
这两个指令用于管理对象的内存管理。
"retain"指令用于增加对对象的引用计数,而"copy"指令用于复制对象并增加对其的引用计数。
在使用OC脉冲指令时,开发人员还需要注意一些细节。
首先,当使用"alloc"指令创建对象时,需要在不再使用该对象时使用"release"指令释放其内存空间。
其次,当使用"retain"指令增加对象的引用计数时,需要在不再需要该对象时使用"release"指令减少其引用计数。
位置控制向导(PTO/PWM配置)注释:本向导仅限用于第二代CPU。
在您选择从屏幕一配置机载PTO/ PWM操作后,向导会向您询问以下信息:步骤1指定一个脉冲发生器2编辑现有PTO或PWM配置3选择PTO或PWM,并选择时基4指定电机速度5设置加速和减速时间6配置位置轮廓7启动轮廓数据的V内存地址8生成项目代码步骤 1 指定一个脉冲发生器返回顶端S7-200 PLC有两个脉冲发生器:•一个指定给数字输出点Q0.0•一个指定给数字输出点Q0.1指定您希望配置的发生器。
步骤 2 编辑现有PTO或PWM配置返回顶端如果项目中已有一个配置,您可以从项目中删除该配置,或者将现有配置移至另一个脉冲发生器。
如果项目中没有配置,则继续执行步骤3。
步骤 3 选择PTO或PWM,并选择时间基准返回顶端•选择为脉冲串输出(PTO)或脉冲宽度调制(PWM)配置脉冲发生器。
•就PTO模式而言,您可以启用高速计数器,计算输出脉冲数目。
•就PWM模式而言,请为周期时间和脉冲宽度选择一个时间基准(微秒或毫秒)。
第4步指定电机速度返回顶端为您的应用指定最高速度(MAX_SPEED)和开始/停止速度(SS_SPEED)。
•MAX_SPEED:在电机扭矩能力范围内输入您的应用的最佳工作速度。
驱动负载所需的转矩由摩擦力、惯性和加速/减速时间决定。
位置控制向导会计算和显示由位控模块为指定的MAX_SPEED所能够控制的最低速度。
•SS_SPEED:在电机的能力范围内输入一个数值,以低速驱动负载。
如果SS_SPEED数值过低,电机和负载可能会在运动开始和结束时颤动或跳动。
如果SS_SPEED数值过高,电机可能在启动时丧失脉冲,并且在尝试停止时负载可能过度驱动电机。
注释:MIN_SPEED值由计算得出。
您不能在此域中输入其他数值。
电机数据单有指定电机和给定负载开始/停止(或拉入/拉出)速度的不同方法。
通常,有用的SS_SPEED数值是MAX_SPEED数值的5%至15%。
这五个指令虽然都是脉冲输出型,但可以分为两大类:一、脉冲输出指令(包括PLSY,PLSR和PLSR):可以应用高速点和普通点1、PLSY指令使用中可以设置单个输出点以一定的频率发出目标值个脉冲,在指令中可以设置脉冲频率、脉冲总数、和发出脉冲的输出点;但只能控制脉冲,如果是脉冲加方向的脉冲模式,那方向点要另选一个普通开关点另外控制。
2、PLSR为设置匀加减速指令,在指令中可以设置脉冲的最大频率、脉冲总数、加减速时间和脉冲输出点。
通过设置加减速时间来实现匀加速。
如果脉冲加方向的脉冲模式也需要另外控制方向点。
3、PLSV指令,为任意时间可变速指令,可以实时改变脉冲频率的指令,在指令中可以设置脉冲的实时频率、发出脉冲的输出点,和方向点。
但是不能设置发出脉冲的总数,也就是不能通过指令定位,如果需要不是很精准的定位可以在使用高速点的时候用脉冲计数器和目标值做一个比较,但是会在PLC的每个扫描周期比较一次,所以会超出一些脉冲。
二、定位指令:(包括DRVA和DRVI)他们都是为定位指令服务的,因此只能应用于高速点。
他们的指令表现形式基本一致,因此不做单一说明;在他们指令中可以设置脉冲总数、脉冲频率、脉冲的发出点和方向点。
高速脉冲点的特点就是他们有自己的脉冲计数寄存器,也就是不管通过上述几个指令发出脉冲,高速点会有以个特定的寄存器记录所发出的脉冲数,包括正向的和反向的,可作为运动控制中每个轴的坐标。
以上两个指令不同之处就是:DRVA是绝对记录脉冲式的,他的脉冲总数实际是他要到达的目标值,也就是和各高速点的计数寄存器相匹配,例如,当你输入脉冲目标值为20000,而你高速点的计数寄存器中是30000,这是他回朝着反向发出10000个脉冲;而DRVI指令却不同,他不管高速点计数器中的脉冲坐标值,他会向正方向运行20000个脉冲,因而成为相对脉冲指令。
以上说明比较混乱,语言组织不是很好,如果你哪个细节不明白再问我2:。
概述S7--200提供了三种方式的开环运动控制:• 脉宽调制(PWM)--内置于S7--200,用于速度、位置或占空比控制。
• 脉冲串输出(PTO)--内置于S7--200,用于速度和位置控制。
• EM253位控模块--用于速度和位置控制的附加模块。
S7—200的内置脉冲串输出提供了两个数字输出通道(Q0.0和Q0.1),该数字输出可以通过位控向导组态为PWM或PTO的输出。
当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。
内置PTO功能仅提供了脉冲串输出。
您的应用程序必须通过PLC内置I/O或扩展模块提供方向和限位控制。
PTO按照给定的脉冲个数和周期输出一串方波(占空比50%),如图1。
PTO可以产生单段脉冲串或者多段脉冲串(使用脉冲包络)。
可以指定脉冲数和周期(以微秒或毫秒为增加量):• 脉冲个数:1到4,294,967,295• 周期:10μs(100K)到65535μs或者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执行一次相对位移运动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)。
C_Pos 的计数值格式为DINT ,所以其计数范围为(-2.147.483.648 to +2.147.483.647). • 绝对位置Δ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下表是使用该库时所用到的最重要的一些变量(以相对地址表示),如表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调整因子(默认值=0)Ramp_Time +VD5Ramp time = accel_dec_time(加减速时间)Max_Speed_DI+VD9最大输出频率= Velocity_MaxSS_Speed_DI+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+VB28使用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输出,完成运动控制的功能。
此外,脉冲数将通过指定的高速计数器HSC 计量。
通过HSC 中断计算并触发减速的起始点。
2.4.1 Q0_x_CTRL该块用于传递全局参数,每个扫描周期都需要被调用。
功能块如图5,功能描述见表5。
图5参数类型格式单位意义Velocity_SS IN DINT Pulse/sec.启动/停止频率,必须是大于零的数Velocity_Max IN DINT Pulse/sec.最大频率accel_dec_time IN REAL sec.最大加减速时间Fwd_Limit IN BOOL正向限位开关Rev_Limit IN BOOL反向限位开关C_Pos OUT DINT Pulse当前绝对位置表5Velocity_SS 是最小脉冲频率,是加速过程的起点和减速过程的终点。
Velocity_Max 是最大脉冲频率,受限于电机最大频率和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 范围的值还是可以被写入块中,但是会导致定位过程出错!2.4.2 Scale_EU_Pulse该块用于将一个位置量转化为一个脉冲量,因此它可用于将一段位移转化为脉冲数,或将一个速度转化为脉冲频率。
功能块如图6,功能描述见表6。
图6参数类型格式单位意义Input IN REAL mm or mm/s欲转换的位移或速度Pulses IN DINT Pulse /revol.电机转一圈所需要的脉冲数E_Units IN REAL mm /revol.电机转一圈所产生的位移Output OUT DINT Pulse or pulse/s转换后的脉冲数或脉冲频率表6下面是该功能块的计算公式:2.4.3 Scale_ Pulse_EU该块用于将一个脉冲量转化为一个位置量,因此它可用于将一段脉冲数转化为位移,或将一个脉冲频率转化为速度。
功能块如图7,功能描述见表7。
图7参数类型格式单位意义Input IN REAL Pulse or pulse/s欲转换的脉冲数或脉冲频率Pulses IN DINT Pulse /revol.电机转一圈所需要的脉冲数E_Units IN REAL mm /revol.电机转一圈所产生的位移Output OUT DINT mm or mm/s转换后的位移或速度表7下面是该功能块的计算公式:2.4.4 Q0_x_Home功能块如图8,功能描述见表8。
图8参数类型格式单位意义EXECUTE IN BOOL寻找参考点的执行位Position IN DINT Pulse参考点的绝对位移Start_Dir IN BOOL 寻找参考点的起始方向(0=反向,1=正向)Done OUT BOOL完成位(1=完成)Error OUT BOOL故障位(1=故障)表8该功能块用于寻找参考点,在寻找过程的起始,电机首先以Start_Dir 的方向,Homing_Fast_Spd 的速度开始寻找;在碰到limit switch (“Fwd_Limit” or “Rev_Limit”)后,减速至停止,然后开始相反方向的寻找;当碰到参考点开关(input I0.0; withQ0_1_Home: I0.1)的上升沿时,开始减速到“Homing_Slow_Spd”。
如果此时的方向与“Final_Dir” 相同,则在碰到参考点开关下降沿时停止运动,并且将计数器HC0的计数值设为“Position” 中所定义的值。
如果当前方向与“Final_Dir” 不同,则必然要改变运动方向,这样就可以保证参考点始终在参考点开关的同一侧(具体是那一侧取决于“Final_Dir”)。
寻找参考点的状态可以通过全局变量“Homing_State” 来监测,如表9:Homing_State的值意义0参考点已找到2开始寻找4在相反方向,以速度Homing_Fast_Spd继续寻找过程(在碰到限位开关或参考点开关之后)6发现参考点,开始减速过程7在方向Final_Dir,以速度Homing_Slow_Spd继续寻找过程(在参考点已经在Homing_Fast_Spd的速度下被发现之后)10故障(在两个限位开关之间并未发现参考点)表92.4.5 Q0_x_MoveRelative该功能块用于让轴按照指定的方向,以指定的速度,运动指定的相对位移。
功能块如图9,功能描述见表10。
图9参数 类型 格式单位 意义EXECUTE IN BOOL相对位移运动的执行位 Num_Pulses IN DINT Pulse 相对位移(必须>1) VelocityINDINTPulse/sec.预置频率(Velocity_SS <= Velocity <= Velocity_Max) Direction IN BOOL 预置方向(0=反向,1=正向) DoneOUTBOOL完成位(1=完成)表102.4.6 Q0_x_MoveAbsolute该功能块用于让轴以指定的速度,运动到指定的绝对位置。