倍福TwinCATKL2541配置实例

上传人:新** 文档编号:479829034 上传时间:2023-02-02 格式:DOCX 页数:14 大小:14.98KB
返回 下载 相关 举报
倍福TwinCATKL2541配置实例_第1页
第1页 / 共14页
倍福TwinCATKL2541配置实例_第2页
第2页 / 共14页
倍福TwinCATKL2541配置实例_第3页
第3页 / 共14页
倍福TwinCATKL2541配置实例_第4页
第4页 / 共14页
倍福TwinCATKL2541配置实例_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《倍福TwinCATKL2541配置实例》由会员分享,可在线阅读,更多相关《倍福TwinCATKL2541配置实例(14页珍藏版)》请在金锄头文库上搜索。

1、倍福TwinCATKL2541配置实例本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程倍福TwinCAT KL2541配置实例本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程,具体概念、参数 和调试方法没有详细说明,大家可参阅百度文库中的文章 TwinCAT_NC_PTP_运动控制详解V14,其中有详尽的讲解。本例中,硬件配置如下,无编码器反馈,KL2022年输出信号 以控制抱闸。一、添加硬件打开system manager,转换到配置模式,在I/O Devices上 右键选择Scan

2、devices,选择对应的网络接口本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程系统找到倍福模块并添加到列表中二、配置 KL2541配置KL2541参数,可使用KS2022年软件,这里使用Systemmanager更改KL2451内部寄存器的值,实现配置。本例中运动控制没有使用编码器,KL2541默认配置为使用 编码器反馈,所以一定要配置KL2541。使用内部计数器反馈当 前位置,不使用编码器。1、切换到Free Run配置模式切换到配置模式,弹出如下对话框,选择“是”Free Run模式下,KL2541的Channel中的变量,Ctrl

3、用于输 入指令,Velocity用于写入数值,Position用于读取数值本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程选择Online页的Write按钮,弹出对话框可输入数值。具体寄存器意义和数值定义可参考倍福的KL2541的帮助文 件2、打开写保护在寄存器31中写入数值0x1235。先在变量Velocity中写入数值0x1235,然后再在Ctrl变量 中写入0xDF,将数值写入到寄存器。3、验证写保护打开在Ctrl变量中写入0x9F,查看Position变量的数值,如果值 是0x1235表示写入成功。4、设置为内部计数器反馈(不使用编

4、码器)在寄存器32中写入0x0800(第11位为1)写入:Velocity0x0800,Ctrl 0xE0 验证:Ctrl 0xA0 5、设置细分数为 1/8本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程在寄存器 46 中写入 0x0003 写入:Velocity 0x0003, Ctrl 0xEE,验证:Ctrl 0xAE三、配置NC和PLC1、添加NC运动控制,输入名称2、添加Axis,输入名称,选择轴类型,这里选择默认的连 续轴本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程3、

5、设置NC轴在Axis1的Settings页面上指定轴类型为KL2541,并Link To到指定的硬件。本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程4、编码器(Axis_1_Enc)设置Global 页面,修改 Scaling Factor为实际值,其它可使用默认值。本例中,电机每转脉冲数200, 减速比100:1,细分数8,丝杠导程2mm。那么每毫米对应的脉 冲数为 200*100*8/2=_。所以 Scaling Factor=1/_=0._-_。Incremental页面,设置寻参(回零)方向,和寻参的位置设 定值。本文给出一个倍福

6、TwinCAT配置KL2541步进电机模块的实际例子,包括硬件配置到vc软件的全过程5、驱动器(Axis_1_Drive)设置Analog页面,设置参考速度。参考速度设置的不准确,可能 导致电机运动异常。比如参考速度值太小,运动结束后,电机会反转以补 偿位置值。6、控制设置(Axis_1_Ctrl)Global页面,Position Lag Monitoring在调试时可设置为 FLASE,因为运动过程中此选项超差,电机会停止运动。本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程7、轴(Axis_1)参数设置Global页面,指定最大速度,

7、手动速度,寻参(正向和反向) 速度,加速度,减速度和加速度变化率。以上设置没有提到的选项,都可以使用默认值,不需要设置。 在运行模式下,参数修改后,点Download可使参数生效。8、 添加PLC程序本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程选择已编译的PLC项目,加载到System manager中9、连接NC和PLC程序本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程10、其它变量的连接连接KL2022年的输出量到PLC程序的输出变量,实现PLC 程序对输出信号的控制。连接限位

8、开关的信号到PLC输入变量本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程11、完成配置激活系统配置,修改配置后不要忘记。切换到运行模式设置system manager自动运行,输入当前操作系统的用户 名和密码本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程四、PLC程序实例1、创建PLC项目本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程2、添加库文件,选择TcMC.lib引用的库本文给出一个倍福TwinCAT配置KL2541步进电

9、机模块的 实际例子,包括硬件配置到vc软件的全过程3、电机控制结构体定义VC程序中使用相同的结构体,用于PLC和vc程序之间的通讯。TYPE AxisCtrlStatus : STRUCT (* 状态 大)stat1:SINT;(大预留 大)本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程limitStat:SINT;(大限位开关状态大)moveStat:BOOL;(大运动状态 大) errorStat:BOOL; (* 错误状态 大) errorId:UDINT; (* 错误编号大) curPositon:LREAL;(大当前位置*) (

10、大输入参数*)positoin:LREAL;(大设置相对运动量或目标位置或当前位置*) velocity:LREAL;(大设置速度大) (大操作控制指令*)powerEnable:BOOL; (* 上电 *) stopExe:BOOL; (* 停止 *) moveRelExe:BOOL;(大相对运动 大) moveAbsExe:BOOL; (* 绝对运动 *) homeExe:BOOL; (* 回零大) positoinExe:BOOL; (*设置当前位置*) reset:BOOL; (* 复 位 *) exe1:BOOL; (* 预留 *) END_STRUCT END_TYPE4、全局输入

11、输出变量,定义变量VAR_GLOBALaAxis_In AT%I* : UCT; aAxis_Out AT%Q* : UCT;KL_Status AT%I* : UINT; KB_Status AT%Q* : BOOL; END_VAR本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程5、全局变量配置,配置变量为实际地址VAR_CONFIG.aAxis_In AT %IB0 : UCT; .aAxis_Out AT %QB0 :UCT; .KL_Status AT %IB128 : UINT;.KB_Status AT%QB128 : BOO

12、L; END_VAR6、主程序本文给出一个倍福TwinCAT配置KL2541步进电机模块的实际例子,包括硬件配置到vc软件的全过程主程序变量声明_ MAIN VAR NPM_Power : MC_Power;NPM_ResetMC_Reset; NPM_ReadActualPositionMC_ReadActualPosition;(* 读取当前位置 *)NPM_SetActualPosition:MC_SetActualPosition;(* 设置当前位置 *) NPM_MoveVelocity : MC_MoveVelocity;(* 匀速运动 *) NPM_MoveAbsolute :

13、MC_MoveAbsolute; NPM_MoveRelative : MC_MoveRelative; NPM_Stop : MC_Stop;NPM_Home : MC_Home;(*reference position 0*)(大用M定义控制结构,用于与VC程序通讯,在VC中使用 地址 0x4020 访问*) AxisCtrl AT %MB0 : AxisCtrlStatus;END_VAR主程序内容(*KB_Status输出变量用于控制抱闸,在此保持与电机上下 电同步*) KB_Status:=AxisCtrl.powerEnable;(大转换限位开关的状 态 *) IF KL_Stat

14、us=2 THEN AxisCtrl.limitStat: = -1; ELSIF KL_Status=1 THEN AxisCtrl.limitStat: = 1; ELSEAxisCtrl.limitStat: = 100; END_IF(*复位,同时将程序的错误状态,运动指令等都清零*)NPM_Reset (Execute :=AxisCtrl.reset,Axis :=aAxis_In , Done = , Error = , ErrorID = IF AxisCtrl.reset THEN (*IF NPM_Reset.Done THEN*) AxisCtrl.reset := FA

15、LSE ;AxisCtrl.errorld:=0; AxisCtrl.moveStat:=FALSE ; AxisCtrl.homeExe:=FALSE ;本文给出一个倍福TwinCAT配置KL2541步进电机模块的 实际例子,包括硬件配置到vc软件的全过程AxisCtrl.moveAbsExe := FALSE ; AxisCtrl.moveRelExe := FALSE ; (*END_IF*) END_IF(大停止,停止完成后清除运动状态和操作指令*) NPM_Stop (Execute :=AxisCtrl.stopExe , Deceleration :=3.0 ,(* 设置电机停止 时的减速度大)Jerk:=300.0 , Axis := aAxis_In , Done = , Error = , ErrorID =IF AxisCtrl.stopExeTHEN IF NPM_Stop.Done THEN AxisCtrl.stopExe:=FALSE ; AxisCtrl.moveStat: = FALSE ;AxisCtrl.homeExe:= FALSE ; AxisCtrl.moveAbsExe := FALSE ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号