第三节:C#工业控制编程基础--避障模块实验

第三节:C#工业控制编程基础–避障模块实验

文章目录

一、实验目的:

了解避障模块的使用。

二、实验内容:

用C#显示避障模块状态。

三、实验步骤:

1.打开Visual Studio 2013,新建窗体应用程序项目,配置好dll文件。
2.在窗体中放入一个Timer控件,两个Button控件,两个Label控件,一个TextBox控件以及一个PictureBox控件。并修改他们的Name属性和Text属性。

如图1:
图1

3.双击“退出”按钮进入编程界面,在public partial class Form1 : Form内引入本次要用的函数:OpenUsbV12()、CloseUsbV12()、DiReadV12()。并在最上方using列写入using System.Runtime.InteropServices;

代码如图2:
图2

4.在“退出”按钮点击事件内写入开发板关闭函数和程序退出函数,代码如图3。

![图3](https://img-blog.csdnimg.cn/20210414092702203.png ‘图3")

5.双击“开始采集”按钮,在该按钮点击事件前定义一个整形变量w,在点击事件内写入一个定义一个整形变量x并写入一个if判断:

当w值为0:将w赋值为1,用函数OpenUsbV12()打开开发板并将其函数值赋值给变量x,同时将Timer控件的Enabled属性设置为true。将按钮的Text属性设置为“暂停”,并再写入一个if判断:当x值等于0,用MessageBox显示“启动成功”,反之“启动失败”。
当w值不为0时:将w重新赋值为0,将timer1的Enabled属性设置为false,关闭开发板,将按钮的Text属性设置为“继续”。代码如图4。
图4

6.将避障模块插入采集卡中如图5所示位置。

图5

7.在Timer控件事件下定义一个int变量y,两个byte变量i,a。其中,将a赋值为8。写入单向开关量输入函数DiReadV12()。(函数具体用法可参考开发板说明书),将读取到的开关量值存入变量i中。接着将变量i和a进行按位与运算,并将结果赋值给变量y。

由于在计算机中,数值是以二进制进行运算,所以a的值8转化为八位二进制即是00001000,当避障模块感应到有障碍物,函数DiReadV12()会输出11110000的8位无符号整形数值,平时则是11111000,将a和i进行按位与运算,当结果为0,则表示有障碍阻挡。
当位与运算后y值为0时,设置PictureBox控件显示警示图片,并在TextBox控件上显示“危险”。
当位与运算后y值为0时,清空PictureBox控件显示,并在TextBox控件上显示“安全”。
代码如图6。
图6

8.将开发板连接电脑,运行程序,用手遮挡避障模块,效果如图7。

图8

9.最后关闭电源,断开开发板。

四、实验结果:

成功实现避障模块状态显示。

点击此处下载:第三节:基于C#使用开发板避障模块实验配套资料

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值