C#零基础运动控制教程--运动控制卡低速高速运动实验

第一节:运动控制卡低速、高速运动实验

文章目录

一、实验目的:

1.了解运动控制卡的基本使用。

二、实验内容:

1.利用C#控制丝杆进行低速连续运动或高速连续运动。

三、实验步骤:

1.打开Visual Studio 2013,新建窗体应用程序项目。如图1、2。

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

2.如图3所示,点击界面左侧工具箱,选择并在窗体中放入控件,组成如图4所示的界面。

在这里插入图片描述
在这里插入图片描述
注:由于C#中没有指示灯控件,这里用Button控件颜色的改变来替代指示灯功能,当前运动状态与极限位置状态的方形指示灯均为Button控件。

3.点击右上方“解决方案资源管理器”,右键点击相关项目,选择“在文件资源管理器中打开文件夹”,如图5。

在这里插入图片描述
打开文件夹后,找到“bin→Debug→项目名.exe文件”,将运动控制卡附带的资料中的“二次开发库→Usb_AMC2XE_Dll.dll”这一项dll文件复制到和“项目名.exe”这一文件同一目录。如图6。
在这里插入图片描述

4.双击“连接板卡”按钮即可进入启动界面。如图7,在最顶端using命名空间区域写入命名空间using System.Runtime.InteropServices;在这里插入图片描述

在public partial class Form1 : Form内引入本次要用的函数:
OpenUSB_2XE:打开设备函数
CloseUSB_2XE:关闭设备函数
Set_Axs_2XE:设置一个运动轴函数
AxsStop_2XE:停止一个运动轴函数
FL_ContinueMov_2XE:以初始速度低速连续运行函数
FH_ContinueMov_2XE:以运行速度快速连续运行函数
FH_ContinueAdjustSpeed_2XE:以运行速度快速连续运行模式下调整运行速度函数
Read_Position_2XE:读取运动逻辑位置与状态函数
以上函数均可在两轴运动控制卡使用手册中查阅使用方法。
如图8:
在这里插入图片描述
注:每导入一条函数都要在其前面加上一句[DllImport(“Usb_AMC2XE_Dll.dll”)]语句,DllImport后的括号内为刚才导入dll文件的文件名。
对于包含指针参数的函数,要在其之前加入unsafe语句,因为在C#中指针会被判断为不安全语句,同时记得要在属性→生成中设置允许不安全代码通过。

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

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

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

在这里插入图片描述

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

负方向按钮内同理,最后将变量Dir置1,这样就达到了利用按钮调整Dir值进而选择运动方向的目的了。
代码如图11。
在这里插入图片描述

8.定义两个uint型全局变量V0和Vt用于设定初速度和运行速度。在轴输出按钮内将对应控件内设定好的值分别赋给V0和Vt。然后写入以初始速度低速连续运行函数以及以运行速度快速连续运行函数。

当运动模式选择框设定为“低速连续运动”时,调用以初始速度低速连续运行函数。
当运动模式选择框设定为“高速连续运动”时,调用以运行速度快速连续运行函数。同时将调整速度选择框和高速运动调整速度按钮启用。因为调整速度功能只有在高速连续运动时才生效。
代码如图12。
在这里插入图片描述

9.在轴停止按钮中调用停止一个运动轴函数,并将高速调速按钮和调速数值选择设为禁止使用。代码如图13

在这里插入图片描述

10.在高速运动调整速度按钮内,调用以运行速度快速连续运行模式下调整速度函数。需要调整的运行速度值可以赋给一个uint型变量Vt2。代码如图14。

在这里插入图片描述

11.在计时器事件内,定义四个变量。

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

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

在这里插入图片描述

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

在这里插入图片描述

17.将丝杆与板卡按使用手册中的电路图进行连接。
18.启动程序,点击连接板卡,连接成功后点击轴初始化。选择低速或高速连续运行。

低速连续运行:电机缓慢运行,速度不高,一般用于寻找极限位置。
高速连续运行:电机高速运行,在一般的运动控制中使用。

19.程序主界面会显示当前丝杆上滑块所在位置以及当前运动状态,如图17。

在这里插入图片描述

20.最后关闭板卡,退出程序界面。

四、实验结果:

1.成功使用C#控制丝杆的运动并显示运动状态与极限位置状态。

五、注意事项:

1.电机与板卡以及电源的接线在启动前要仔细检查,不能出错。
  • 10
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
设计思路可以按照以下步骤进行: 1. 打开Visual Studio 2013,创建一个新的窗体应用程序项目。 2. 导入运动控制卡的相关库文件,例如zmcaux。 3. 在窗体应用程序中添加一个按钮或其他控件,用于触发运动控制。 4. 在按钮的点击事件中,编写代码以控制丝杆进行低速连续运动高速连续运动。 5. 使用zmcaux库中的函数,例如ZAux_Direct_SetStopAngle和ZAux_Direct_SetDecelAngle,来设置停止角度和减速角度。 6. 在代码中使用C#语言的相关语法和函数,将用户输入的角度转换为弧度,并传递给运动控制卡。 7. 根据具体需求,可以添加其他功能,例如设置加速度、设置运动速度等。 总之,设计思路是通过C#编程语言控制运动控制卡,利用相关库函数设置运动参数,实现丝杆的低速连续运动高速连续运动。 #### 引用[.reference_title] - *1* [C#零基础运动控制教程--运动控制卡低速高速运动实验](https://blog.csdn.net/weixin_49237052/article/details/118404745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [正运动技术 运动控制卡应用开发教程C#](https://blog.csdn.net/AGONIiii/article/details/109765001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值