栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

第一节:C#工业控制编程基础--点亮LED灯实验

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第一节:C#工业控制编程基础--点亮LED灯实验

第一节:C#工业控制编程基础–点亮LED灯实验

文章目录
  • 第一节:C#工业控制编程基础--点亮LED灯实验
    • 一、实验目的:
        • C#入门基础学习。
    • 二、实验内容:
        • 用C#控制LED的亮灭。
    • 三、实验步骤:
        • 1.打开Visual Studio 2013,点击新建项目,如图1。
        • 2.点击新建项目后,选择模板中的Visual C#→Windows 窗体应用程序,然后可以根据喜欢修改名称以及存放位置,最后确定,等待项目创建,如图2。
        • 3.项目建立成功界面如图3。
        • 4.点击左侧边栏的工具箱,选择Button控件,如图6。
        • 5.单击Button控件,来到界面右下角属性设置,可根据喜好修改控件的Name属性以及Text属性,如图8、9。
        • 6.分别双击我们设定好的开始和退出按钮,即可进入编程界面。界面如图11。
        • 7.在最上方的一排using引用中添加一行:
        • 8.在主函数的 public partial class Form1 : Form内写入三行:[DllImport("USBDAQ_DLL_V12.dll")]并在每一行后面用“static extern + 函数名称”的形式分别写入这次实验要用到的三个数据采集卡函数:
        • 9.在开始按钮控件的函数前定义一个整形变量w,赋值为0。在函数内写入一个if判断。
        • 10.在退出按钮控件的函数内写入关闭采集卡函数和退出程序指令this.Close();如图15。
        • 11.连接电路,将数据采集卡的端口OUT1与功能板上的LED模块的②相连,GND与③相连,如图16。
        • 12.运行程序,点击上方启动按钮。如图17。
        • 13.最后关闭板卡,断开电源。
    • 四、实验结果及思考:
        • 成功完成LED灯的点亮。
        • 思考:如何实现每个按键控制每盏灯?
    • 五、注意事项:
        • 初次C#编程,注意检查程序避免死机。

一、实验目的: C#入门基础学习。 二、实验内容: 用C#控制LED的亮灭。 三、实验步骤: 1.打开Visual Studio 2013,点击新建项目,如图1。

2.点击新建项目后,选择模板中的Visual C#→Windows 窗体应用程序,然后可以根据喜欢修改名称以及存放位置,最后确定,等待项目创建,如图2。

3.项目建立成功界面如图3。


右键右侧资源管理器一栏中的解决方案,选择“在文件资源管理器中打开文件夹”。如图4。

找到.exe文件所在文件夹,将二次开发库内后缀名为dll的文件复制到与.exe同一文件夹内。如图5,这样即可在编程时调用开发板库函数。

4.点击左侧边栏的工具箱,选择Button控件,如图6。


放入两个Button控件,并调整为合适大小,如图7。

5.单击Button控件,来到界面右下角属性设置,可根据喜好修改控件的Name属性以及Text属性,如图8、9。


修改完成后Button控件效果如图10。

6.分别双击我们设定好的开始和退出按钮,即可进入编程界面。界面如图11。

7.在最上方的一排using引用中添加一行:

using System.Runtime.InteropServices;
这样程序才能引用我们在步骤3中放入的dll库。如图12。

8.在主函数的 public partial class Form1 : Form内写入三行:[DllImport(“USBDAQ_DLL_V12.dll”)]并在每一行后面用“static extern + 函数名称”的形式分别写入这次实验要用到的三个数据采集卡函数:

打开设备OpenUsbV12();
关闭设备CloseUsbV12();
单向开关量输出DoSetV12(unsigned char chan,unsigned char state);
注:此处DoSetV12()中的函数值写法要将其中的unsigned char更改为此处要填入的数据类型,此处两个皆为整形int。
注:由于该板卡函数提供的库为C库,所以要进行转换,C#数据类型与C语言数据类型对应关系如表1和表2。

C#调用DLL文件时参数对应表
 表格1:

Wtypes.h 中的
非托管类型
非托管 C 语言类型托管类名说明
HANDLEvoid*System.IntPtr32 位
BYTEunsignedcharSystem.Byte8 位
SHORTshortSystem.Int1616 位
WORDunsigned shortSystem.UInt1616 位
INTintSystem.Int3232 位
UINTunsigned intSystem.UInt3232 位
LONGlongSystem.Int3232 位
BOOLlongSystem.Int3232 位
DWORDunsigned longSystem.UInt3232 位
ULONGunsigned longSystem.UInt3232 位
CHARcharSystem.Char用 ANSI 修饰
LPSTRchar*System.String 或 System.StringBuilder用 ANSI 修饰
LPCSTRConst char*System.String 或 System.StringBuilder用 ANSI修饰
LPWSTRwchar_t*System.String 或 System.StringBuilder用 Unicode 修饰
LPCWSTRConst wchar_t*System.String 或 System.StringBuilder用 Unicode 修饰
FLOATFloatSystem.Single32 位
DOUBLEDoubleSystem.Double64 位

 表格2:

类别类名说明Visual Basic 数据类型C# 数据类型C++ 托管扩展数据类型JScript 数据类型
整 数Byte8 位的无符号整数BytebytecharByte
SByte8 位的有符号整数不符合 CLSSByte无内置类型sbytesigned charSByte
Int1616 位的有符号整数Shortshortshortshort
Int3232 位的有符号整数Integerintint- 或 -longint
Int6464 位的有符号整数Longlong__int64long
UInt1616 位的无符号整数不符合 CLSUInt16无内置类型ushortunsigned shortUInt16
UInt3232 位的无符号整数不符合 CLSUInt32无内置类型uintunsigned int- 或 -unsigned longUInt32
UInt6464 位的无符号整数不符合 CLSUInt64无内置类型ulongunsigned __int64
浮点Single单精度(32 位)浮点数字Singlefloatfloatfloat
Double双精度(64 位)浮点数字Doubledoubledoubledouble
逻辑Boolean布尔值(真或假)Booleanboolboolbool
其他CharUnicode(16 位)字符Charcharwchar_tchar
Decimal96 位十进制值DecimaldecimalDecimalDecimal
IntPtr大小取决于基础平台(32 位平台上为 32 位值,64 位平台上为 64 位值)的有符号整数。IntPtr无内置类型IntPtr无内置类型IntPtr无内置类型IntPtr
UIntPtr大小取决于基础平台的无符号整数(32 位平台上为 32 位值,64 位平台上为 64 位值)。
不符合 CLS
UIntPtr无内置类型。UIntPtr无内置类型。UIntPtr无内置类型。UIntPtr
类对象Object对象层次结构的根。ObjectobjectObject*Object
StringUnicode 字符的不变的定长串。

代码如图13

9.在开始按钮控件的函数前定义一个整形变量w,赋值为0。在函数内写入一个if判断。

当w值等于0时,将w重新赋值为1,用OpenUsbV12()启动数据采集卡,然后用DoSetV12()将端口OUT1设置输出5V电压并将控件的Text属性设置为“暂停”。
当w值不等于0时,将w重新赋值为0,将端口OUT1设置为输出0V,用CloseUsbV12()关闭数据采集卡,并将控件的Text属性设置为“继续”。代码如图14。

10.在退出按钮控件的函数内写入关闭采集卡函数和退出程序指令this.Close();如图15。

11.连接电路,将数据采集卡的端口OUT1与功能板上的LED模块的②相连,GND与③相连,如图16。

12.运行程序,点击上方启动按钮。如图17。


开始按钮可以正常运行并变为继续和暂停,且LED可以正常点亮。如图18、19。

13.最后关闭板卡,断开电源。 四、实验结果及思考: 成功完成LED灯的点亮。 思考:如何实现每个按键控制每盏灯? 五、注意事项: 初次C#编程,注意检查程序避免死机。

点击此处下载:第一节:基于C#使用开发板点亮LED灯实验配套资料

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984392.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号