美文网首页
台达DVP15/50MC之FB_AxisBasicControl

台达DVP15/50MC之FB_AxisBasicControl

作者: TomatoTor | 来源:发表于2019-10-05 15:16 被阅读0次

    前言


    台达的DVP15/50MC作为配合台达下位驱动器的运动控制器,在近两年来有一定的市场使用率。今天笔者带来笔者常用到的一个自己搭建的功能块

    FB_AxisBasicControl(轴基本控制)

    正文 - FB_AxisBasicControl


    新建-功能块-FB_AxisBasicControl

    变量声明


    范围 名称 地址 数据类型 初始值 注释
    VAR uMC_Power MC_Power
    VAR uMC_Home MC_Home
    VAR uMC_Stop MC_Stop
    VAR uMC_Reset MC_Reset
    VAR uMC_MoveRelative MC_MoveRelative
    VAR uMC_MoveAbsolute MC_MoveAbsolute
    VAR uMC_ReadAxisError MC_ReadAxisError
    VAR uMC_ReadStatus MC_ReadStatus
    VAR uMC_SetOverride MC_SetOverride
    VAR uDMC_Jog DMC_Jog
    VAR uDMC_MoveVelocity DMC_MoveVelocity
    VAR_INPUT UsiAxisNumber USINT

    程序内容


    uMC_Power(EN:=TRUE ,Axis:= UsiAxisNumber,BufferMode:= mcAborting,);
    uMC_Home(EN:= TRUE,Axis:= UsiAxisNumber,BufferMode:= mcAborting);
    uMC_Stop(EN:= TRUE,Axis:= UsiAxisNumber);
    uMC_Reset(EN:= TRUE,Axis:= UsiAxisNumber);
    uMC_MoveRelative(EN:= TRUE,Axis:= UsiAxisNumber,BufferMode:= mcAborting);
    uMC_MoveAbsolute(EN:= TRUE,Axis:= UsiAxisNumber,BufferMode:= mcAborting);
    uMC_SetOverride(EN:= TRUE,Axis:= UsiAxisNumber);
    uMC_ReadAxisError(EN:= TRUE,Axis:= UsiAxisNumber,Enable:= TRUE);    
    uMC_ReadStatus(EN:= TRUE,Axis:= UsiAxisNumber,Enable:= TRUE );
    uMC_ReadActualPosition(EN:= TRUE ,Axis:= UsiAxisNumber,Enable:= TRUE);
    uDMC_Jog(Axis:= UsiAxisNumber);
    uDMC_MoveVelocity(Axis:= UsiAxisNumber,BufferMode:= mcAborting);
    

    复制上面的变量和程序到功能块就可以了。

    功能块的调用


    新建-程序-Pro_Main

    变量声明


    范围 名称 地址 数据类型 初始值 注释
    VAR ActionAxisBasicControl ARRAY[1..7] OF FB_AxisBasicControl
    VAR UsiAxisNumber USINT

    程序调用


    //给定轴编号
    ActAxisBasicControl[1].UsiAxisNumber            := 1 ;
    //调用功能块下的变量对应的引脚
    ActAxisBasicControl[1].uMC_Power.Enable         := bAxisEnable ;
    ActAxisBasicControl[1].uMC_Power.EnablePositive := bAxisEnable ;
    ActAxisBasicControl[1].uMC_Power.EnableNegative := bAxisEnable ;
    //调用功能块
    ActAxisBasicControl[1]();
    

    通过上面的程序就可以明白了当建立对应功能块之后的多重复用在程序搭建上的便利,尤其是在多轴的情况下。

    结尾


    本文作为抛砖作用,希望更多的使用台达的同行多多交流。(本文使用软件版本是Canopen Builder V6.04)
    Log:
    2019.10.05 发布本文

    相关文章

      网友评论

          本文标题:台达DVP15/50MC之FB_AxisBasicControl

          本文链接:https://www.haomeiwen.com/subject/hyrrpctx.html