各设备中断通知速度(数字量)

从PC-HELPER – 计算机测量控制的数字量输入输出产品中选择采用各种总线设备的代表性产品,使用由康泰克的 Windows及Linux用驱动程序提供的“中断通知功能”,测量进行中断通知所需时间来获取数据。此外,测量结果是在康泰克准备的环境中实际测得的数值,平均执行时间因组合的硬件和软件构成而异。

测量条件

要产生中断,必须使数字量输入信号发生变化。连接与测量对象设备的输出逻辑位0相对应的数字量输出端子和与产生中断的输入逻辑位0相对应的数字量输入端子。

  • *
    对于不存在数字量输出的设备,使用相同系列的数字量输出。
  • *
    未内置电源的绝缘型设备必须另外供电。

测量方法

当使用数字量输入功能的中断通知功能时,在输入信号从0变为1(上升沿)和从1变为0(下降沿)的任意一种情况下,均可产生中断,并通过应用程序接收通知。 设置上升沿产生中断通知,执行用于使数字量输入发生变化的数字量输出操作,产生中断通知,并测量直到应用程序接收通知所经过的处理时间。此时的处理时间会根据OS的任务调度而变动,因此执行10000次,计算1次的平均值。此外,对于绝缘型设备,设备的响应速度比软件执行速度慢,需要延迟至输出信号发生明确变化,因此增加了200µsec的等待时间。所以每次平均执行时间也包含这段时间在内。

  

处理流程

流程图

通知接收方法

 

接收中断通知有两种方法:在Windows中使用窗口消息和回调,而在Linux中获取回调的数据。

窗口消息 从驱动程序向应用程序的指定窗口发送消息。
* 仅在Windows中存在窗口的应用程序可使用该方法。
回调 从驱动程序调用应用程序的指定函数。
*可指定函数的格式是固定的。

关于测量结果

 

对于中断通知,使用回调的方法可能会比窗口消息的方法处理得更快。不仅是不同总线的产品,即使是相同总线的产品,快慢情况也可能因各系列而不同。平均执行时间因设备采用的总线和产品系列而异,选择产品时敬请参考。采用高速CPU的PC不一定在所有总线上都是高速。即使不换成搭载高规格CPU的PC,也可通过将PC换成其它不同设备来提高性能。关于用来使数字量输入输出发生变化函数的执行时间,请参阅各设备的输入输出响应性能测量。

关于测量结果

测量条件 ①

    
PC CPU AMD Ryzen Threadripper 3960X 24-Core Processor 3.79GHz
RAM 64GB
OS Windows Windows10 21H1 64bit
Linux Ubuntu 20.04.2 LTS 5.8.0-43-generic (x86_64)
驱动程序 Windows API-DIO(WDM) Ver.9.20
Linux API-DIO(LNX) Ver.7.71
测量用软件开发语言 Windows Microsoft Visual C++(MFC)
Linux gcc

测量条件 ②

    
PC CPU Intel Core i5-8500 (3.00GHz)
RAM 16GB
OS Windows Windows10 21H1 64bit
Linux Ubuntu 20.04.2 LTS 5.8.0-43-generic (x86_64)
驱动程序 Windows API-DIO(WDM) Ver.9.20
Linux API-DIO(LNX) Ver.7.80
测量用软件开发语言 Windows Microsoft Visual C++(MFC)
Linux gcc

Windows

                                                                                                                                                    
总线 产品 类型 测量条件 窗口消息回调
USB DIO-1616LN-USB 绝缘3.0[msec]2.0[msec]
1.3[msec]1.0[msec]
DIO-1616LX-USB 绝缘8.3[msec]4.3[msec]
7.6[msec]4.0[msec]
CC-USB271-CPSN4 + CPSN-DI-08L 绝缘15.6 [msec]15.6 [msec]
15.6 [msec]15.6 [msec]
PCI Experss DIO-1616L-PE 绝缘231.9[µsec]224.1[µsec]
338.7[µsec]315.3[µsec]
DIO-3232T-PE 非绝缘28.2[µsec]19.0[µsec]
62.9[µsec]39.1[µsec]

Linux

                                                                                                          
总线 产品 类型 测量条件 回调
USB DIO-1616LN-USB 绝缘3.0[msec]
2.0[msec]
DIO-1616LX-USB 绝缘5.0[msec]
4.7[msec]
PCI Experss DIO-1616L-PE 绝缘274.8[µsec]
617.6[µsec]
DIO-3232T-PE 非绝缘14.2[µsec]
218.6[µsec]

To PageTop