C#零基础入门运动控制学习教程(2) 您所在的位置:网站首页 雷赛运动控制卡用什么编程 C#零基础入门运动控制学习教程(2)

C#零基础入门运动控制学习教程(2)

2024-07-13 11:37| 来源: 网络整理| 查看: 265

C#零基础入门运动控制学习教程(2)–运动控制卡回原点运动实验

文章目录 C#零基础入门运动控制学习教程(2)--运动控制卡回原点运动实验一、实验目的:1.续接高低速连续运动,进一步了解运动控制卡搜索原点功能。 二、实验内容:1.利用C#控制丝杆上的滑块先运动到负极限位置,然后再运动到原点位置。 三、实验步骤:1.打开Visual Studio 2013,新建窗体应用程序项目。2.与高低速实验相同,在窗体中放入控件,组成如图1所示的界面。其中下方两个均为timer计时器控件。3.配置好板卡的dll文件后双击“连接板卡”按钮进入程序编写界面。在最顶端using命名空间区域写入命名空间:4.在“连接板卡”按钮点击事件前定义一个int形变量w,在点击事件内写入一个定义一个int形变量x并写入一个if判断:5.轴初始化,运动方向选择按钮内程序与高低速运动相同。6.写入一个uint型全局变量Dir并赋值为0用于设定运动方向。在正方向按钮内写入程序,当点击正方向按钮时,将正方向按钮设置为偏红色,负方向设置为偏灰色,同时将变量Dir置0。7.步骤5、6代码如图4。8.定义两个uint型全局变量V0和Vt用于设定初速度和运行速度。在轴输出按钮内将对应控件内设定好的值分别赋给V0和Vt。9.在轴停止按钮中调用停止一个运动轴函数,同时也要停止回原点计时器。代码如图6。10.在计时器timer1前,定义一个全局变量a。且同样的,和高低速运动一样,在计时器内,定义四个变量。11写入读取运动逻辑位置与状态函数Read_Position_2XE。将函数对应的各项参数设定为步骤10对应的变量。12.将滑块当前逻辑位置值显示在对应的textbox控件内。13.查阅使用手册,判断运动状态变量RunState的值,并将对应状态的指示按钮更改为绿色。14.步骤10~13代码如图7、8。15.再写入一轮if判断,判断变量IOState的值。IOState对应值代表的含义可以查阅运动控制卡使用手册。当到达极限位置时,对应的极限位置指示灯亮起。16.在回原点计时器中写入一个if判断,当a=1时,调用搜索原点函数,同时将a重新置0。这样就实现了每次搜索原点,滑块会先运行到负极限,然后再正向搜索原点的功能。代码如图10。17.程序编写完成,连接板卡,进行轴初始化,选择运动模式回原点,点击轴输出即可实现滑块的回原点运动控制。 四、实验结果:成功使用C#控制丝杆上滑块的回原点运动。 五、注意事项:寻找原点过程中,电机尽量使用较低速度运行。

一、实验目的: 1.续接高低速连续运动,进一步了解运动控制卡搜索原点功能。 二、实验内容: 1.利用C#控制丝杆上的滑块先运动到负极限位置,然后再运动到原点位置。 三、实验步骤: 1.打开Visual Studio 2013,新建窗体应用程序项目。 2.与高低速实验相同,在窗体中放入控件,组成如图1所示的界面。其中下方两个均为timer计时器控件。

在这里插入图片描述

3.配置好板卡的dll文件后双击“连接板卡”按钮进入程序编写界面。在最顶端using命名空间区域写入命名空间:

using System.Runtime.InteropServices; 同时导入本次实验要用到的函数,如图2。 在这里插入图片描述 本次要用到的函数有: OpenUSB_2XE:打开设备函数 CloseUSB_2XE:关闭设备函数 Set_Axs_2XE:设置一个运动轴函数 AxsStop_2XE:停止一个运动轴函数 FL_ContinueMov_2XE:以初始速度低速连续运行函数 FH_ContinueMov_2XE:以运行速度快速连续运行函数 MovToOrg_2XE:搜索原点函数 Read_Position_2XE:读取运动逻辑位置与状态函数

4.在“连接板卡”按钮点击事件前定义一个int形变量w,在点击事件内写入一个定义一个int形变量x并写入一个if判断:

当w值为0:用函数OpenUSB_2XE打开开发板并将其函数值赋值给变量x,并再写入一个if判断:当x值等于0,用MessageBox显示“连接成功”,将按钮的Text属性设置为“关闭板卡”,将w赋值为1。反之,用MessageBox显示“连接失败”。 当w值不为0时:将w重新赋值为0,停止timer1和回原点两个计时器,并关闭开发板,将按钮的Text属性设置回“连接板卡”。代码如图3。 在这里插入图片描述

5.轴初始化,运动方向选择按钮内程序与高低速运动相同。

在轴初始化按钮内写入两个设置一个运动轴函数,在该函数的第三项参数中,也就是使能位,先设置为0,后设置为1,以达到每点击一次按钮就初始化一次逻辑位置的目的。同时启动计时器timer1。

6.写入一个uint型全局变量Dir并赋值为0用于设定运动方向。在正方向按钮内写入程序,当点击正方向按钮时,将正方向按钮设置为偏红色,负方向设置为偏灰色,同时将变量Dir置0。

负方向按钮内同理,最后将变量Dir置1。

7.步骤5、6代码如图4。

在这里插入图片描述

8.定义两个uint型全局变量V0和Vt用于设定初速度和运行速度。在轴输出按钮内将对应控件内设定好的值分别赋给V0和Vt。

当运动模式选择框设定为“回原点”时,调用以初始速度低速连续运行函数,此处是固定向负方向的低速连续运动。同时打开回原点计时器。回原点运动将在回原点计时器中实现。 当运动模式选择框设定为“低速连续运动”时,调用以初始速度低速连续运行函数。同时停止回原点计时器。 当运动模式选择框设定为“高速连续运动”时,调用以运行速度快速连续运行函数。同时停止回原点计时器。 代码如图5 在这里插入图片描述

9.在轴停止按钮中调用停止一个运动轴函数,同时也要停止回原点计时器。代码如图6。

在这里插入图片描述

10.在计时器timer1前,定义一个全局变量a。且同样的,和高低速运动一样,在计时器内,定义四个变量。

Pos:用于显示当前逻辑位置 RunState:用于显示当前运动状态 IOState:用于显示当前极限位置状态 CEMG:用于显示公共急停输入CEMG状态

11写入读取运动逻辑位置与状态函数Read_Position_2XE。将函数对应的各项参数设定为步骤10对应的变量。 12.将滑块当前逻辑位置值显示在对应的textbox控件内。 13.查阅使用手册,判断运动状态变量RunState的值,并将对应状态的指示按钮更改为绿色。 14.步骤10~13代码如图7、8。

在这里插入图片描述 在这里插入图片描述

15.再写入一轮if判断,判断变量IOState的值。IOState对应值代表的含义可以查阅运动控制卡使用手册。当到达极限位置时,对应的极限位置指示灯亮起。

同时,当运动到负极限位置时,将变量a的值置1。变量a用于判断滑块何时开始进行回原点运动。代码如图9。 在这里插入图片描述

16.在回原点计时器中写入一个if判断,当a=1时,调用搜索原点函数,同时将a重新置0。这样就实现了每次搜索原点,滑块会先运行到负极限,然后再正向搜索原点的功能。代码如图10。

在这里插入图片描述

17.程序编写完成,连接板卡,进行轴初始化,选择运动模式回原点,点击轴输出即可实现滑块的回原点运动控制。

实验所用恒凯USB接口2轴运动控制卡HK_USB_AMC2XE及 单杠丝滑台

四、实验结果: 成功使用C#控制丝杆上滑块的回原点运动。 五、注意事项: 寻找原点过程中,电机尽量使用较低速度运行。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有