zoukankan      html  css  js  c++  java
  • NiDaq 测振动加速度

    如果出现这个错误,插拔一下usb口

     1mV=100 mm/s2 ,NiDAQ的震动测试仪有一个毫伏和震动加速度的对应值 约等于10, 但每个仪器都会校准

    Public Function GetVibrationData(ByRef Wave, ByRef msg As String, Optional ByVal Slot As Integer = 0) As Integer
    '测试振动数据
     On Error GoTo ErrorHandler
                Dim taskHandle As Long
                Dim sampsPerChanRead As Long
                Dim numchannels As Long
                Dim fillMode As DAQmxFillMode
                Dim numSampsPerChannel As Long
                Dim numSampsFreq As Long
                Dim arraySizeInSamps As Long
                Dim StrChance As String
                Dim AdjustValue As Single
                Dim taskIsRunning As Boolean
                
                Dim nGain As Double
                Dim Data() As Double
    
                'If scanOrderOption.value = True Then
                    fillMode = DAQmx_Val_GroupByScanNumber
                'Else
                '   fillMode = DAQmx_Val_GroupByChannel
                'End If
                
                 
                        numSampsFreq = 51200
                        numSampsPerChannel = 51200 / 3
    
                
    '            numSampsFreq = 51200 '8192  ' 8192 ' 8000 '8192  '8192  '4096 '50000 '2048 '10240 '4096
    '            numSampsPerChannel = 12800 ' 8192 ' 51200  '34200 ' 32768  '16384 ' 32768 ' 8192 ' 8000 ' 20000 ' 8000 ' 2048 '' 10240 '4096 '10240  '8000 'CLng(samplesPerChannelTextBox.Text)
    '
    
                'StrChance = "cDAQ1Mod1/ai0:3"
                StrChance = "cDAQ1Mod1/ai" & CStr(Slot)
                
                taskHandle = OpenMyCard(StrChance)
                taskIsRunning = True
             
                DAQmxErrChk DAQmxCfgSampClkTiming(taskHandle, "OnboardClock", CLng(numSampsFreq), DAQmx_Val_Rising, _
                                DAQmx_Val_AcquisitionType_FiniteSamps, CLng(numSampsPerChannel))
                
                DAQmxErrChk DAQmxGetTaskNumChans(taskHandle, numchannels)
                arraySizeInSamps = numSampsPerChannel * numchannels
                ReDim Data(arraySizeInSamps - 1)
    
                 DoEvents
                 Dim nSamptimes As Double
                 nSamptimes = timeGetTime
                 DAQmxErrChk DAQmxReadAnalogF64(taskHandle, numSampsPerChannel, 10#, _
                                fillMode, Data(0), arraySizeInSamps, sampsPerChanRead, ByVal 0&)
                 
    
                 Do While sampsPerChanRead < numSampsPerChannel - 1
                    
                    DoEvents
                    If timeGetTime - nSamptimes > 3000 Then
                        Exit Do
                    End If
                 
                 Loop
                
                Dim fMax, fMin As Variant
                Dim nMaxIndex  As Variant, nMinIndex As Variant
                Dim nMaxValueFre As Single, sngAccelerationValue As Single
    
                
                DAQmxErrChk DAQmxStopTask(taskHandle)
                DAQmxErrChk DAQmxClearTask(taskHandle)
                taskIsRunning = False
                
                Wave = Data
                Exit Function
    ErrorHandler:
                Dim nData(0) As Integer
                Wave = nData
                msg = "Error: " & Err.Number & " " & Err.Description
    End Function
    Public Sub DAQmxErrChk(errorCode As Long)
    '
    '   Utility function to handle errors by recording the DAQmx error code
    '   and message.
    '
    
        Dim errorString As String
        Dim bufferSize As Long
        Dim Status As Long
        If (errorCode < 0) Then
            ' Find out the error message length.
            bufferSize = DAQmxGetErrorString(errorCode, 0, 0)
            ' Allocate enough space in the string.
            errorString = String$(bufferSize, 0)
            ' Get the actual error message.
            Status = DAQmxGetErrorString(errorCode, errorString, bufferSize)
            ' Trim it to the actual length, and display the message
            errorString = Left(errorString, InStr(errorString, Chr$(0)))
            Err.Raise errorCode, , errorString
        End If
    
    End Sub
  • 相关阅读:
    list接口如何使用
    分页导航jsp
    jstl遍历list的jsp
    sql分页查询
    sql计算总页数
    类和对象,类定义了对象的特征和行为。属性,方法。
    编写一个带有main函数的类,调用上面的汽车类,实例化奔驰、大众、丰田等不同品牌和型号,模拟开车过程:启动、加速、转弯、刹车、息火,实时显示速度。
    java编写一个汽车类,有属性:品牌、型号、排量、速度,有方法:启动、加速、转弯、刹车、息火
    jenkins 集成 pytest + allure
    jenkins环境安装(windows)
  • 原文地址:https://www.cnblogs.com/zitjubiz/p/13031453.html
Copyright © 2011-2022 走看看