我是靠谱客的博主 精明电灯胆,最近开发中收集的这篇文章主要介绍C#零基础入门运动控制学习教程(2)--运动控制卡回原点运动实验C#零基础入门运动控制学习教程(2)–运动控制卡回原点运动实验,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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#控制丝杆上滑块的回原点运动。

五、注意事项:

寻找原点过程中,电机尽量使用较低速度运行。

最后

以上就是精明电灯胆为你收集整理的C#零基础入门运动控制学习教程(2)--运动控制卡回原点运动实验C#零基础入门运动控制学习教程(2)–运动控制卡回原点运动实验的全部内容,希望文章能够帮你解决C#零基础入门运动控制学习教程(2)--运动控制卡回原点运动实验C#零基础入门运动控制学习教程(2)–运动控制卡回原点运动实验所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部