[倍福] 倍福TWINCAT3 运动控制编程入门和DEMO程序介绍培训视频

[复制链接]
查看75553 | 回复0 | 2024-9-13 13:04:23 | 显示全部楼层 |阅读模式


TWINCAT3运动控制入门



DEMO程序介绍

BECKHOFF运动控制编程入门

1、运动控制功能块介绍

        倍福的编程遵循IEC61131-3的编程规范。运动控制编程倍福提供一个TcMc2库,这个库是基于PlcOpen规范进行开发的。市面上很多家控制器的运动控制库也是遵循这个规范,例如AB(rockwell)、西门子博图、施耐德、欧姆龙(NJ)台达和汇川的新款控制器等。所以编程指令的风格类似。



        运动控制相关的指令分为管理类指令和运动指令。

管理类指令包括:轴使能、复位、强制设定轴当前位置、读取轴状态等。

运动指令:绝对位置移动、相对位置只移动、回零、暂停、停止、轴电子齿轮耦合、凸轮耦合等。





  轴可以通过不同指令的触发,在不同状态之间进行切换。大部分指令都是上升沿触发的。有的指令触发之后需要保持,例如MC_POWER,MC_STOP.MC_STOP指令触发后,会让轴停止下来,如果保持触发信号为TRUE,这时轴就会禁止其他的运动控制指令。而同样是让轴停止,MC_HALT效果就不一样,MC_HALT也是通过上升沿触发轴停止,但即使保持触发信号为TRUE,别的指令触发后,也是可以重新执行新的指令的。详细的功能块说明,请安装倍福information离线帮助系统。提供全面和详细的倍福硬件和软件使用说明。





2、编程演示

    演示通过最基本的倍福运动功能块来实现轴的使能、点动、绝对定位、电子齿轮速度同步。

功能块实例化:

功能块用之前需要先实例化,为该功能块分配内存控件。函数是不需要实例化的。

        fbPowerOnA,fbPowerOnB:Tc2_MC2.MC_Power;

        fbJogA,fbJogB:Tc2_MC2.MC_Jog;

        fbMoveAbsA:Tc2_MC2.MC_MoveAbsolute;

        fbMoveAbsModule:Tc2_MC2.MC_MoveModulo;

        fbGearin:Tc2_MC2.MC_GearIn;

        fbgearout:Tc2_MC2.MC_GearOut;

        fbHalt:Tc2_MC2.MC_Halt;

实例化之后在编程区域调用:

Aaxis.ReadStatus();

Baxis.ReadStatus();

fbPowerOnA(

        Axis:=Aaxis ,

        Enable:=benable ,

        Enable_Positive:=TRUE ,

        Enable_Negative:=TRUE ,

        Override:=Override ,

        BufferMode:= ,

        Options:= ,

        Status=> ,

        Busy=> ,

        Active=> ,

        Error=> ,

        ErrorID=> );

fbPowerOnB(

        Axis:=Baxis ,

        Enable:=benable ,

        Enable_Positive:=TRUE ,

        Enable_Negative:=TRUE ,

        Override:=Override ,

        BufferMode:= ,

        Options:= ,

        Status=> ,

        Busy=> ,

        Active=> ,

        Error=> ,

        ErrorID=> );

fbJogA(

        Axis:=Aaxis ,

        JogForward:=bJogPlus ,

        JogBackwards:=bjogmin ,

        Mode:=Mode ,

        Position:=Position ,

        Velocity:= Velocity,

        Acceleration:= ,

        Deceleration:= ,

        Jerk:= ,

        Done=> ,

        Busy=> ,

        Active=> ,

        CommandAborted=> ,

        Error=> ,

        ErrorID=> );

fbMoveAbsA(

        Axis:=Aaxis ,

        Execute:=bgoAbs ,

        Position:=Position ,

        Velocity:=Velocity ,

        Acceleration:= ,

        Deceleration:= ,

        Jerk:= ,

        BufferMode:= ,

        Options:= ,

        Done=> ,

        Busy=> ,

        Active=> ,

        CommandAborted=> ,

        Error=> ,

        ErrorID=> );

fbGearin(

        Master:=Aaxis ,

        Slave:=Baxis ,

        Execute:=bgearin ,

        RatioNumerator:=1 ,

        RatioDenominator:=1 ,

        Acceleration:= ,

        Deceleration:= ,

        Jerk:= ,

        BufferMode:= ,

        Options:= ,

        InGear=> ,

        Busy=> ,

        Active=> ,

        CommandAborted=> ,

        Error=> ,

        ErrorID=> );

fbgearout(

        Slave:=Baxis ,

        Execute:= ,

        Options:= ,

        Done=> ,

        Busy=> ,

        Error=> ,

        ErrorID=> );

fbHalt(

        Axis:=Aaxis ,

        Execute:=bhalt ,

        Deceleration:= ,

        Jerk:= ,

        BufferMode:= ,

        Options:= ,

        Done=> ,

        Busy=> ,

        Active=> ,

        CommandAborted=> ,

        Error=> ,

        ErrorID=> );



   

样例程序功能介绍

培训的配套资料里面给客户提供了一个TEST例子程序,功能介绍如下:

1、获取系统信息及定时发生器

客户可以获取当前系统的一些信息,控制器的系统时间、task有没有运行超时、超时次数统计、Task周期等。



  2、数据文件保存

       这里主要介绍了把数据用TXT进行读写。分为两种方式,一种是写到TXT文件,并且离线可以打开看到数据,并可以修改后读取上来(TXT OFFLINE),也可以参考这个方式来写log信息到TXT文件。

        另一种方式是写到TXT文件,但数据是看不到的,打开文件是乱码。这种便于保密,同时操作比较简单,可以对结构体直接进行操作。

       另外就是倍福自带的persistent类型数据进行数据保存。此外倍福TC3还自带配方功能reciepe。

     



                     

3、轴基础功能和HMI的封装



4、通过电子齿轮功能块来实现两轴或多轴合成直线运行,在搬运场合非常适用。无需购买凸轮授权或NCI授权。



5、使用CASE和SFC两种方式来编写轴的两点之间正反运动,体验步序流程的编写。



6、凸轮运动

     采用函数来生成凸轮曲线,支持运动过程中在线修改凸轮曲线





通过代码生成的凸轮曲线,可以在凸轮编辑器中上载看到曲线



          ScopView监控的运行过程中修改凸轮曲线   

关注本公众号和个人微信CloudKuang,获取培训资料及例程。其他倍福产品使用问题或工控应用解决方案欢迎交流探讨。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则