# 一、入门
# 1.1下载Kinesis软件
第一步是下载并安装Thorlabs自动运动控制软件包“Kinesis”,该软件包可用于控制各种Thorlabs硬件
相较于APT软件,其为Thorlabs运动控制软件的较旧版本,由Kinesis取代,并与有一定的相似之处
# 1.2初识软件
官方软件示意图:
软件开发及使用架构:
安装后可以在C盘路径下(C:\Program Files\Thorlabs\Kinesis
)找到以下文件
- Thorlabs.MotionControl.Kinesis.exe - 只需单击此可执行文件运行
- Kinesis Simulator - 在运行的Kinesis软件时运行该软件以模拟链接的硬件
- Firmware Update utility - 使设备固件与最新版本的驱动程序保持同步
- .DLL (Assembly) files - 一组由.NET组成的动态链接库文件(.dll),是驱动程序应用程序中使用的功能构件
- Help files - 包含.Net API的帮助文档,其中包含函数和属性的完整列表以及相关的代码示范
# 1.3DLL文件
# 1.3.1概念
.dll文件,称为动态链接库,英文为DLL,全称是Dynamic Link Library。DLL是一个包含可由多个程序,同时使用的代码和数据的库
DLL文件是一种程序集。一个“DLL”文件(.dll)是一个包含代码块(存储在类中的函数和属性)的文件,同样的代码也被编译来创建Kinesis.exe
将这些程序集文件存储在项目文件夹中,可以在程序中直接进行访问
# 1.3.2针对设备的DLL文件
并非每个Kinesis开发软件都需要装配上所有的DLL文件
在.NET API帮助说明中可以找到驱动程序支持的设备以及每个设备与之交互的组件的完整列表
对于每个设备,都有三个特定于设备的程序集
以上范例中展示的是在API帮助文档中搜索到的BSC203相关设备的对应说明书,在右侧的Dependencies中显而易见的展示了三个重点依赖的DLL文件
这些DLL文件都可以在Kinesis文件夹中寻找到,如下所示
# 1.3.3Native C DLL与.Net程序集
范例 | DLL类型 | 文件用途 | 使用条件 |
---|---|---|---|
Thorlabs.MotionControl.Benchtop.StepperMotorUI.DLL | .NET dll | 为将 Kinesis 用户界面嵌入其代码提供访问权限 | 存储在项目文件夹中,且需要添加依赖 |
Thorlabs.MotionControl.Benchtop.StepperMotorCLI.DLL | .NET dll | 设备的核心功能代码 | 存储在项目文件夹中,且需要添加依赖 |
Thorlabs.MotionControl.Benchtop.StepperMotor.DLL | Nactive | 由CLI的dll文件构成的更低等级的代码 | 仅存储在项目文件夹中 |
# 1.3.4泛型DLL文件
泛型程序集是面向对象编程的一个重要支柱,即设备可以从存储在泛型类中的代码继承行为
软件开发在使用泛型DLL文件的情况下可以避免大量代码的复制行为,如:设备管理器,DeviceManagerCLI是一个包含Thorlabs的泛型程序集。DeviceManagerCLI类中包含BuildDeviceList()函数,该函数将与所有驱动程序兼容的设备类型进行交互。
设备使用的程序集(dll)的完整集合也称为设备依赖项
总之,要使用DLL文件需要以下三个步骤:
- 将DLL文件复制进项目文件夹中
- 在Visual Studio的项目管理器中通过Solution Explorer对.NET类型的dll文件进行依赖
- 通过在脚本中实现“Using”指令,允许调用函数和分配属性
# 二、调用
方法总结:
(一)将所需的DLL文件全部复制粘贴进项目中,路径:C:\Program Files\Thorlabs\Kinesis
(二)在项目中添加依赖
.NET应用编程接口保存了访问设备功能所需的依赖项(或组件程序)列表
(三)在主窗口类(MainWindow Class)中添加依赖
注意:“Using”指令允许从程序中的命名空间内访问类型,这样就不必在程序体中不断限定命名空间内类型的使用。
(四)指定设备序列号
分配与设备匹配的设备序列号字符串
序列号是一个唯一的字符串,用于标识制造的每个控制器单元,通常打印在设备硬件上
(五)构建项目