用C#实现雷赛运动控制卡IO控制基础运动
去雷赛官网下载雷赛运动控制卡对应版本的驱动和Motion软件,安装好对应驱动用官方Motion软件测试控制卡IO信号能否正常运行。
新建一个C#项目
去官网下载雷赛运动控制卡对应版本的函数库和头文件,以及对应的手册。
把dll文件复制到刚刚创建的C#项目bin文件夹下的debug文件夹里,把C#函数库复制进项目中,打开项目右键解决方案,重新生成解决方案
打开窗体设计,给窗体添加控件。我用的这台机器上下两层传送带和Z轴上的抓取气缸是用IO控制的,目前只测试了这两个。
导入雷赛函数库的命名空间
using csDmc1000;
给连接按钮绑定事件
private void connect_button_Click(object sender, EventArgs e)
{
res = Dmc1000.d1000_board_init(); //为控制卡分配系统资源,并初始化控制卡。返回值为控制卡卡数。0表示没有卡
if (res <= 0 || res > 12)
{
Console.WriteLine("连接板卡失败");
}
else
{
connect_button.Enable = false; //关闭连接按钮
disconnect_button.Enable = true; //打开断开按钮
}
}
传送带运动函数
private void conveyer_belt_move()
{
if(upper_level == true)
{
Dmc1000.d1000_out_bit(5,0); //上层传送带IO控制信号
}
if(lower_level == true)
{
Dmc1000.d1000_out_bit(13,0); //下层传送带IO控制信号
}
}
传送带停止函数
private void conveyer_belt_stop()
{
if(upper_level == true)
{
Dmc1000.d1000_out_bit(5,1); //上层传送带IO控制信号
}
if(lower_level == true)
{
Dmc1000.d1000_out_bit(13,1); //下层传送带IO控制信号
}
}
传送带按钮绑定函数
private void cb_move_button_Click(object sender, EventArgs e)
{
conveyer_belt_move();
}
private void cb_stop_button_Click(object sender, EventArgs e)
{
conveyer_belt_stop();
}
抓取气缸函数
private void grab_start()
{
Dmc1000.d1000_out_bit(7,0)
Dmc1000.d1000_out_bit(8,0)
}
private void grab_stop()
{
Dmc1000.d1000_out_bit(7,1)
Dmc1000.d1000_out_bit(7,1)
}
抓取按钮绑定
private void grabStart_button_Click(object sender, EventArgs e)
{
grab_start();
}
private void grabStop_button_Click(object sender, EventArgs e)
{
grab_stop();
}
大学毕业跨专业就业,记录一下学习日记。写的不好别骂,欢迎大佬来指正我的问题,虚心请教。