API函数的执行速度(数字量输入输出基本函数)

从PC-HELPER – 计算机测量控制的数字量输入输出产品中选择代表性产品,测量康泰克Windows及Linux用驱动程序所提供的基本输入输出函数平均执行时间*的数据。此外,测量结果是在康泰克准备的环境中实际测得的数值,执行时间因组合的硬件和软件构成而异。Windows驱动程序API-DIO(WDM)提供的部分函数可用驱动程序附带的实用程序(执行时间测量工具)进行测量。

  • *
    在平均执行时间的测量中,函数的执行时间会根据OS的任务调度而变动,因此执行10000次,计算1次的平均值。

测量条件

测量条件 (1):x86_64 / Windows

PC 型号 VPC-3100
CPU Intel Core i5-8500 (3.00GHz)
RAM 16GB
OS Windows 10 21H1 64bit
测量用软件开发语言 Microsoft Visual C++(MFC)
 

测量条件 (2):x86_64 / Linux

PC 型号 VPC-3100
CPU Intel Core i5-8500 (3.00GHz)
RAM 16GB
OS Ubuntu 20.04.2 LTS (64bit) 5.8.0-43-generic
测量用软件开发语言 gcc
 

测量条件 (3):Raspberry Pi 4 / Linux

PC 型号 Raspberry Pi 4 Model B
CPU ARM Cortex-A72 4core (1.5GHz)
RAM 4GB
OS Raspberry Pi OS March 2021(32bit) 5.10.17-v7l+
测量用软件开发语言 gcc
 

测量条件 (4):Jetson Nano 边缘AI计算机 / Linux

PC 型号 DX-U1100P1-2E0211
CPU ARM Cortex-A57 4Core (1.43GHz)
RAM 4GB
OS Ubuntu 18.04.4 LTS(64bit) 4.9.140-tegra
测量用软件开发语言 gcc

测量结果

使用函数 [1byte 单位 数字量输入]

OS 驱动程序 API
Windows API-DIO(WDM) DioInpByte別ウィンドウが開きます
Linux API-DIO(LNX) DioInpByte別ウィンドウが開きます
                                                                                                                            
总线 产品 测量条件(1) 测量条件(2) 测量条件(3)测量条件(4)
USB DIO-1616LN-USB 125.0[µsec]97.2[µsec]108.0[µsec]141.3[µsec]
DIO-0808LY-USB 165.7[µsec]151.9[µsec]197.6[µsec]226.7[µsec]
PCI Experss DIO-1616L-PE 3.1[µsec]3.5[µsec]-4.2[µsec]
Ethernet DIO-1616LN-ETH 1.5[msec]1.5[msec]1.5[msec]2.2[msec]
CPSN-MCB271-S1-041 + CPSN-DI-08L 3.6[msec]3.9[msec]3.6[msec]5.6[msec]
无线 I/O GW1-ETH-WQ + DIO-0404LY-WQ 2.3[msec]1.7[msec]2.2[msec]2.7[msec]

使用函数 [1byte 单位 数字量输入]

OS 驱动程序 API
Windows API-DIO(WDM) DioOutByte別ウィンドウが開きます
Linux API-DIO(LNX) DioOutByte別ウィンドウが開きます
                                                                                                                           
总线 产品 测量条件(1) 测量条件(2) 测量条件(3)测量条件(4)
USB DIO-1616LN-USB 125.0[µsec]115.8[µsec]112.8[µsec]147.5[µsec]
DIO-0808LY-USB 165.6[µsec]127.6[µsec]187.5[µsec]209.9[µsec]
PCI Experss DIO-1616L-PE 3.1[µsec]3.5[µsec]-4.6[µsec]
Ethernet DIO-1616LN-ETH 2.5[msec]2.4[msec]2.2[msec]3.3[msec]
CPSN-MCB271-S1-041 + CPSN-DI-08L 3.8[msec]4.1[msec]3.9[msec]5.6[msec]
无线 I/O GW1-ETH-WQ + DIO-0404LY-WQ 250.6[msec]248.3[msec]246.9[msec]246.4[msec]

*在设备中设置要输出的数据后,输出的函数即处理完成。因此,在采用了光电耦合器隔离等的响应速度较慢的设备中,在设备的输出状态发生变化前会完成函数的处理,如果连续调用,可能会覆盖输出的状态,导致外部信号达不到预期状态。

使用函数 [1byte 单位 数字量输出:参照从机输入数据]

OS 驱动程序 API
Windows API-DIO(WDM) DioInpByte別ウィンドウが開きます
Linux API-DIO(LNX) DioInpByte別ウィンドウが開きます
                        
关于子机输入数据  

无线I/O产品进行数字量输入有2种方法。    
(1) 获取主机从子机处定期取得并保存的输入数据。    
(2) 获取来自子机的最新输入数据。  
该数据通过(2)的方法获取,虽然相比(1)时间更长,但能够获取实时数据。此外,在[1byte单位 数字量输入]中为通过(1)的方法获取的数据。

总线 产品 测量条件(1) 测量条件(2) 测量条件(3)测量条件(4)
无线 I/O GW1-ETH-WQ + DIO-0404LY-WQ 120.9[msec]119.5[msec]121.1[msec]121.6[msec]

To PageTop