您当前的位置: 首页 > 

光怪陆离的节日

暂无认证

  • 0浏览

    0关注

    1003博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

基于面向对象的思想实现NC轴控制

光怪陆离的节日 发布时间:2021-09-02 13:49:29 ,浏览量:0

简单的轴控制是,直接实例化MC功能块,然后绑定变量实现轴的NC控制,但是轴变量多起来就不好管理。本文介绍一个通过建立结构体和功能块规范化NC控制的案例。

目 录

  1. 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制软件 3
  2. 准备工作 3 2.1. 网络接线 3 2.2. 设置PC和PLC的IP地址 3 2.3. 硬件扫描和NC轴创建 3
  3. 操作步骤 4 3.1. 导入库文件 4 3.2. 创建轴控的结构体 4 3.2.1. ST_TcAxisItf结构体 4 3.2.2. ST_TcAxisItfCfg结构体 5 3.2.3. ST_TcAxisItfCmd结构体 5 3.2.4. ST_TcAxisItfState结构体 5 3.3. 创建轴控制功能块FB_AxisPTPItf 6 3.3.1. 变量声明 6 3.3.2. 程序实现 7 3.4. 全局变量的添加 9 3.5. 轴参数赋值 9 3.5.1. 变量绑定 9 3.5.2. NC操作实现 9 3.6. NC参数和PLC链接 10

  1. 软硬件版本 1.1. 倍福Beckhoff 1.1.1. 控制器硬件 TwinCAT控制制器,PC或者EPC,包括: 嵌入式控制器:CX5020-0125(IMG版本:CX1800-0411-0007 v3.92) 工控机:C6xxx、CP2xxx、CP6xxx等

1.1.2. 控制软件 笔记本和控制器都是基于TwinCAT 2版本 2. 准备工作 2.1. 网络接线 通过路由器进行局域网连接,控制器网线连在路由器,调试PC也接入局域网,实现PC和控制器之间的通信。 2.2. 设置控制器和PC的地址 设置原则是,将倍福控制器(PLC)的IP地址和编程笔记本设置到同一网段,例如:控制器ip地址为:192.168.1.18,本地调试PC的IP地址为:192.168.1.30 2.3. 硬件扫描和NC轴创建 在TwinCAT System Manager中,扫描硬件,并创建NC轴。如下所示 在这里插入图片描述

  1. 操作步骤 3.1. 导入库文件 需要导入库文件TCMC2.lib,如下所示 在这里插入图片描述

3.2. 创建轴控的结构体 3.2.1. ST_TcAxisltf结构体 ST_TcAxisltf结构体,用于定义轴的AxisName,配置参数Cfg,动作指令Cmd,轴的状态State的集合体,实现如下 在这里插入图片描述

3.2.2. ST_TcAxisltfCfg结构体 定义了轴的相关参数变量,如轴号、位置、速度等,结构体实现如下 在这里插入图片描述

3.2.3. ST_TcAxisltfCmd结构体 该结构体,定义了轴相关操作的变量,如使能、点动、定位启动等,如下所示。 在这里插入图片描述

3.2.4. ST_TcAxisltfState结构体 该结构体定义了轴的一些状态变量,如限位、轴报错、轴运动状态等,具体结构体实现如下所示。 在这里插入图片描述

3.3. 创建轴控制功能块FB_AxisPTPItf 设计的思想是,创建一个关于MC控制操作的功能块,然后具体实现是通过实例化该功能块进行赋值操作。 3.3.1. 变量声明 轴相关的输入,输出变量通过结构体ST_TcAxisItf定义,然后再定义相关状态的输出变量,如下所示。 在这里插入图片描述

3.3.2. 程序实现 通过引用结构体变量,能够统一变量的命名规范,也使得逻辑更加清晰,如轴使能的编写如下 在这里插入图片描述

同理可以写jog和定位启动的功能块,如下 在这里插入图片描述

其好处就是代码书写的简洁直观,能够重复调用,拓展性强。 3.4. 全局变量的添加 在创建完FB_AxisPTPItf功能块后,还需要实例化调用才能进行轴的控制,因为在多个ST文件中都可能调用轴控制,因此,将其定义为全局变量,同时为每个轴定义一个ST_TcAxisltf结构体变量,如下所示: 在这里插入图片描述

此外,还可以对不同的轴起一个常量,这样在调用时候就不用数字,而用变量名称,更加清晰明了,如下所示 在这里插入图片描述

3.5. 轴参数的赋值 3.5.1. 变量绑定 在定义完全局变量后,即产生了一个MC功能的数组,为了把FB_AxisPTPItf,ST_TcAxisltf和特定的轴联系起来,需要进行赋值操作,如下所示 在这里插入图片描述

由全局变量可知ISX=1,ISF=2,因此相当于实例了两个轴的参数,后面有关轴的操作都可以用fbAxisPTPItf[ISX]进行操作。 3.5.2. NC操作实现 在变量绑定完成后,即可进行一系列NC轴控制了,其优点是,不需要额外管理输入输出变量,所有的轴的变量命名一致,调用只是某个轴号做改动,如下所示,为ISX轴和ISF轴的JOG操作 在这里插入图片描述

相应的,走定位控制也是通过多级调用实现,如下所示 在这里插入图片描述

3.6. NC参数和PLC链接 在写好PLC侧的程序后,还需要将NC轴和PLC变量进行连接,从而实现PLC的相关操作能在NC体现,链接如下: 在这里插入图片描述

关注
打赏
1665731445
查看更多评论
立即登录/注册

微信扫码登录

0.0415s