• MES编程之 编程实现读取Thorlabs公司的能量测试仪PM100D的能量值


    公司客户有一款产品需要测试能量,并要求把测试值记录到MES系统中, 能量测试设备采用的是Thorlabs公司的能量测试仪PM100D。

    我以前没有搞过类似的开发,以为是通过USB协议与设备交互之类的。先尝试做了USB协议的DEMO,运行之后发现根据驱动程序的GUID连接到设备后,就不知道接下来应该如何操作了。

    然后回过头去Thorlabs公司官网,把PM100D的相关文档下载下来,发现有一个c#例子,那个例子很简单。但是没有说明如何配置运行环境,于是把官网上提供的驱动程序,编程相关软件全部下载安装,最后发现除了驱动程序,然后就是用Optical Power Meter Utility捕获一个设备ID,用于配置到自己的模块中用于访问设备。

    最终的实现的确简单,

    1. 连接设备,就是直接new一个实例PM100D即可,如果设备没有开启,则系统会抛出异常

    PM100D pmDev = new PM100D(devId, false, false);

    2. 连接到设备后,最好设置一个读取设备数据的超时,也即在多少毫秒内设备应该返回数据,如果超时时间到了,设备还没返回数据,那么就抛出异常。如果我们编程没有采用在另开线程读取设备,那么主界面会在读取设备时被阻塞(程序不会响应其他任何操作,为了避免这种情况,我们设置一个超时,超时过后让系统能响应其他操作(例如关闭操作界面))

    pmDev.setTimeOut((uint)timeout);

    3. 最后就是读取能量值

    pmDev.measEnergy(out energyVal);

    总结,运行环境:

    1. PM100D驱动程序

        安装文件名为: ThorlabsPowerMeter_1.0.2.zip

    2. 安装OpticalPowerMonitor

        安装文件名为: Thorlabs.OpticalPowerMonitor.4.0.4101.645_NSIS.zip

    3. 设备ID需要运行OpticalPowerMonitor来查看

    4. Thorlabs官网 Thorlabs, Inc. - 您优质的光电实验工具箱

  • 相关阅读:
    Golang仿ps获取Linux进程信息
    替换printf中的标志
    【全面速懂】C#使用WSDL服务
    artifactory配置docker本地存储库
    ROS的TF变换理解
    递增/递减运算符和指针
    C#sharp数据库连接字符串
    网络是怎样链接的--向DNS服务器查询Web服务器的IP地址
    SpringBoot 集成Mybatis
    Redis支持的数据类型
  • 原文地址:https://blog.csdn.net/menliwxj/article/details/127752433